easycode-ai 1.1.84 → 1.1.85
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/bundle/build-info.json +5 -5
- package/bundle/easycode-tui.js +73 -73
- package/bundle/easycode.js +5 -5
- package/bundle/package.json +1 -1
- package/package.json +1 -1
package/bundle/easycode-tui.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var rn=(e,t,n)=>()=>{if(e)try{t=e(e=0)}catch(r){n=[r]}if(n)throw n[0];return t};function
|
|
2
|
+
var rn=(e,t,n)=>()=>{if(e)try{t=e(e=0)}catch(r){n=[r]}if(n)throw n[0];return t};function pt(e){if(e instanceof Error)return e.message;try{return String(e)}catch{return"Failed to get error details"}}function Fm(e){return!!e&&typeof e==="object"&&e.isCustomModelError===!0}var Ps=()=>{};import*as si from"fs";import*as ct from"path";function Rv(){if(typeof globalThis.__dirname==="string")return globalThis.__dirname;return""}var Zr,_v,Pv,sn;var Us=rn(()=>{Zr=Rv(),_v={titleI18nKey:"auth.feishu.success.title",documentTitle:"Feishu Authentication Successful",heading:"Feishu Login Successful",displayName:"Feishu"},Pv={titleI18nKey:"auth.deepvlab.success.title",documentTitle:"DeepVlab Authentication Successful",heading:"DeepVlab Login Successful",displayName:"DeepVlab"};sn=class sn{static cache=new Map;static customBasePath=null;static setBasePath(e){this.customBasePath=e,console.log(`\uD83D\uDCC1 [AuthTemplates] Custom base path set: ${e}`)}static getAuthSelectPage(){return this.loadTemplate("authSelectPage.html")}static getFeishuSuccessPage(){return this.generateSuccessTemplate(_v)}static getDeepvlabSuccessPage(){return this.generateSuccessTemplate(Pv)}static getErrorPage(e){return this.generateErrorTemplate(e)}static loadTemplate(e){if(this.cache.has(e))return this.cache.get(e);try{let t=[];if(this.customBasePath)t.push(ct.join(this.customBasePath,"dist","bundled","auth","login","templates",e)),t.push(ct.join(this.customBasePath,"bundled","auth","login","templates",e)),t.push(ct.join(this.customBasePath,"auth","login","templates",e));if(Zr)t.push(ct.join(Zr,e));if(Zr){let o=Zr;for(let i=0;i<10;i++)t.push(ct.join(o,"bundled","auth","login","templates",e)),t.push(ct.join(o,"bundled",e)),t.push(ct.join(o,"bundle","login","templates",e)),t.push(ct.join(o,"auth","login","templates",e)),o=ct.dirname(o)}if(typeof process<"u"&&process.cwd)try{let o=process.cwd();t.push(ct.join(o,"bundle","login","templates",e)),t.push(ct.join(o,"dist","bundled","auth","login","templates",e)),t.push(ct.join(o,"bundled","auth","login","templates",e)),t.push(ct.join(o,"auth","login","templates",e))}catch{}let n=null;for(let o of t)try{if(si.existsSync(o)){n=o,console.error(`\u2705 [AuthTemplates] Template loaded: ${e} from ${o}`);break}}catch{continue}if(!n){if(console.warn(`\u26A0\uFE0F [AuthTemplates] Template ${e} not found in any location.`),console.warn(` Tried ${t.length} paths. First 5:`),t.slice(0,5).forEach((o,i)=>console.warn(` ${i+1}. ${o}`)),console.warn(` Current dirname: ${Zr||"(unavailable - cross-platform build)"}`),console.warn(` Custom base path: ${this.customBasePath||"(not set)"}`),typeof process<"u"&&process.cwd)try{console.warn(` Process cwd: ${process.cwd()}`)}catch{console.warn(" Process cwd: unavailable")}return console.log(`\u2139\uFE0F [AuthTemplates] Using fallback template for ${e}`),this.generateBasicAuthSelectTemplate()}let r=si.readFileSync(n,"utf-8");return this.cache.set(e,r),r}catch(t){return console.error(`\u274C [AuthTemplates] Failed to load template ${e}:`,t),this.generateBasicAuthSelectTemplate()}}static generateBasicAuthSelectTemplate(){return`
|
|
3
3
|
<!DOCTYPE html>
|
|
4
4
|
<html>
|
|
5
5
|
<head>
|
|
@@ -640,57 +640,57 @@ var rn=(e,t,n)=>()=>{if(e)try{t=e(e=0)}catch(r){n=[r]}if(n)throw n[0];return t};
|
|
|
640
640
|
initI18n();
|
|
641
641
|
});
|
|
642
642
|
</script>
|
|
643
|
-
`}static clearCache(){this.cache.clear()}}});function Tv(){return[{url:process.env.DEEPX_SERVER_URL||"https://api-code.deepvlab.ai",name:"Primary Development Server",region:"default",status:"active"}]}function js(){let t=Tv().find((n)=>n.status==="active");if(!t)throw Error("No active proxy server available. Please contact support.");return t.url}var qP;var Vm=rn(()=>{qP={serverUrl:js(),timeout:200000,retryAttempts:3,retryDelay:1000}});import{randomUUID as Bv}from"crypto";function si(){if(!Ws)Ws=Bv();return Ws}var Ws,tM;var qm=rn(()=>{tM=si()});function rt(e){let t=e??process.env.CLI_VERSION??"unknown",n=process.platform,r=process.arch,o=process.env.EASYCODE_UA_CLIENT;if(o)return`EasyCode/${o}/${t} (${n}; ${r})`;if(t.startsWith("VSCode-"))return`EasyCode/VSCode/${t.slice(7)||"unknown"} (${n}; ${r})`;if(t.startsWith("Desktop-"))return`EasyCode/Desktop/${t.slice(8)||"unknown"} (${n}; ${r})`;return`EasyCode/CLI/${t} (${n}; ${r})`}import*as be from"fs";import*as Et from"path";import*as Cn from"os";class bt{static instance=null;config;userInfo=null;jwtTokenData=null;usageStats={totalCreditsConsumed:0,lastUpdated:new Date().toISOString()};userInfoFilePath;jwtTokenFilePath;usageStatsFilePath;refreshPromise=null;cliVersion="unknown";periodicStatusCheckIntervalId=null;onLoginSuccessCallbacks=[];getCliVersion(){return this.cliVersion}getUserAgent(){return rt(this.cliVersion)}formatTimeRemaining(e){if(e<=0)return"\u5DF2\u8FC7\u671F";let t=Math.floor(e/1000),n=Math.floor(t/86400),r=Math.floor(t%86400/3600),o=Math.floor(t%3600/60),i=t%60;if(n>0)return`${n}\u5929${r}\u5C0F\u65F6${o}\u5206\u949F`;else if(r>0)return`${r}\u5C0F\u65F6${o}\u5206\u949F${i}\u79D2`;else if(o>0)return`${o}\u5206\u949F${i}\u79D2`;else return`${i}\u79D2`}formatAbsoluteTime(e){return new Date(e).toLocaleString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}constructor(){if(process.env.DEEPX_SERVER_URL?.includes("localhost"))this.userInfoFilePath=Et.join(Cn.homedir(),".easycode-user","user-info-dev.json"),this.jwtTokenFilePath=Et.join(Cn.homedir(),".easycode-user","jwt-token-dev.json"),this.usageStatsFilePath=Et.join(Cn.homedir(),".easycode-user","usage-stats-dev.json");else this.userInfoFilePath=Et.join(Cn.homedir(),".easycode-user","user-info.json"),this.jwtTokenFilePath=Et.join(Cn.homedir(),".easycode-user","jwt-token.json"),this.usageStatsFilePath=Et.join(Cn.homedir(),".easycode-user","usage-stats.json");this.cliVersion=process.env.CLI_VERSION||"unknown",this.config={proxyServerUrl:js()},this.loadUserInfo(),this.loadJwtToken(),this.loadUsageStats(),this.startPeriodicStatusCheck()}startPeriodicStatusCheck(){if(this.periodicStatusCheckIntervalId!==null)return;this.periodicStatusCheckIntervalId=setInterval(()=>{this.runPeriodicTokenCheck()},600000)}async runPeriodicTokenCheck(){if(!this.userInfo&&!this.jwtTokenData)return;if(!this.jwtTokenData||this.isTokenExpired())this.reloadFromDisk();let e=!!this.jwtTokenData&&!this.isTokenExpired();if(this.userInfo&&!e){if(this.jwtTokenData?.refreshToken)try{await this.refreshAccessToken(),console.log("[Login Check] \u2705 Periodic status check - expired access credential renewed via refresh credential");return}catch(t){if(this.jwtTokenData?.refreshToken){console.warn("[Login Check] \u26A0\uFE0F Periodic status check - credential refresh failed transiently, keeping session and retrying next cycle:",t instanceof Error?t.message:String(t));return}}console.log("[Login Check] \u26A0\uFE0F Periodic status check - Credential expired and cannot be renewed, signing out to return to login"),this.clear(),this.triggerLoginSuccessCallbacks();return}}static getInstance(){if(!bt.instance)bt.instance=new bt;return bt.instance}chmodOwnerOnly(e){if(process.platform==="win32")return;try{be.chmodSync(e,384)}catch(t){console.warn("[Login Check] Failed to chmod credential file:",t)}}loadUserInfo(){try{if(be.existsSync(this.userInfoFilePath)){this.chmodOwnerOnly(this.userInfoFilePath);let e=be.readFileSync(this.userInfoFilePath,"utf8");this.userInfo=JSON.parse(e)}else this.userInfo=null}catch(e){console.warn("[Login Check] Failed to load user info from local file:",e),this.userInfo=null}}saveUserInfo(){try{let e=Et.dirname(this.userInfoFilePath);if(!be.existsSync(e))be.mkdirSync(e,{recursive:!0,mode:448});be.writeFileSync(this.userInfoFilePath,JSON.stringify(this.userInfo,null,2)),this.chmodOwnerOnly(this.userInfoFilePath),console.log("[Login Check] User info saved to local file")}catch(e){console.error("[Login Check] Failed to save user info:",e)}}loadJwtToken(){try{if(be.existsSync(this.jwtTokenFilePath)){this.chmodOwnerOnly(this.jwtTokenFilePath);let e=be.readFileSync(this.jwtTokenFilePath,"utf8");if(this.jwtTokenData=JSON.parse(e),this.isTokenExpired()){if(!this.jwtTokenData?.refreshToken)this.jwtTokenData=null}else if(this.isTokenNearExpiry(300))console.log("\u26A0\uFE0F Access credential expiring soon, auto-renewal in progress")}else console.log("[Login Check] No stored access credential found, authentication required"),this.jwtTokenData=null}catch(e){console.warn("[Login Check] Failed to load access credential from local file:",e),this.jwtTokenData=null}}saveJwtToken(){try{if(!this.jwtTokenData)return;let e=Et.dirname(this.jwtTokenFilePath);if(!be.existsSync(e))be.mkdirSync(e,{recursive:!0,mode:448});be.writeFileSync(this.jwtTokenFilePath,JSON.stringify(this.jwtTokenData,null,2)),this.chmodOwnerOnly(this.jwtTokenFilePath),console.log("[Login Check] Access credential data saved to local file")}catch(e){console.error("[Login Check] Failed to save access credential:",e)}}loadUsageStats(){try{if(be.existsSync(this.usageStatsFilePath)){let e=be.readFileSync(this.usageStatsFilePath,"utf8");this.usageStats=JSON.parse(e)}}catch(e){console.warn("[Login Check] Failed to load usage stats from local file:",e),this.usageStats={totalCreditsConsumed:0,lastUpdated:new Date().toISOString()}}}saveUsageStats(){try{let e=Et.dirname(this.usageStatsFilePath);if(!be.existsSync(e))be.mkdirSync(e,{recursive:!0,mode:448});be.writeFileSync(this.usageStatsFilePath,JSON.stringify(this.usageStats,null,2)),this.chmodOwnerOnly(this.usageStatsFilePath),console.log("[Login Check] Usage stats saved to local file")}catch(e){console.error("[Login Check] Failed to save usage stats:",e)}}updateUsageStats(e){if(e<=0)return;this.usageStats.totalCreditsConsumed+=e,this.usageStats.lastUpdated=new Date().toISOString(),this.saveUsageStats(),console.log(`[Usage Stats] Updated total credits consumed: ${this.usageStats.totalCreditsConsumed} (+${e})`)}getUsageStats(){return{...this.usageStats}}checkStartupTokenStatus(){if(!this.jwtTokenData)return{hasToken:!1,isExpired:!0,expiresAt:null,hasRefreshToken:!1};return{hasToken:!0,isExpired:Date.now()>=this.jwtTokenData.expiresAt,expiresAt:this.jwtTokenData.expiresAt,hasRefreshToken:!!this.jwtTokenData.refreshToken}}configure(e){if(this.config={...this.config,...e},e.userInfo)this.userInfo=e.userInfo,this.saveUserInfo(),console.log(`[Login Check] User info configured: ${e.userInfo.name}`);if(e.proxyServerUrl)console.log(`[Login Check] Proxy server URL: ${e.proxyServerUrl}`);if(e.cliVersion)this.cliVersion=e.cliVersion,console.log(`[Login Check] CLI version set: ${e.cliVersion}`)}setUserInfo(e){this.userInfo=e,this.saveUserInfo(),console.log(`[Login Check] User info updated: ${e.name} (${e.email||e.openId||"N/A"})`),this.startPeriodicStatusCheck(),this.triggerLoginSuccessCallbacks()}onLoginSuccess(e){this.onLoginSuccessCallbacks.push(e)}triggerLoginSuccessCallbacks(){this.onLoginSuccessCallbacks.forEach((e)=>{try{e()}catch(t){console.error("[ProxyAuthManager] Error in login success callback:",t)}})}setCliVersion(e){this.cliVersion=e,console.log(`[Login Check] CLI version updated: ${e}`)}setJwtToken(e){let t=Date.now();this.jwtTokenData={accessToken:e,expiresIn:900,expiresAt:t+900000,savedAt:new Date().toISOString()},this.saveJwtToken(),console.log("[Login Check] Access credential updated")}setJwtTokenData(e){let n=Date.now()+e.expiresIn*1000;this.jwtTokenData={accessToken:e.accessToken,refreshToken:e.refreshToken,expiresIn:e.expiresIn,expiresAt:n,savedAt:new Date().toISOString()},this.saveJwtToken();let r=this.formatTimeRemaining(e.expiresIn*1000),o=this.formatAbsoluteTime(n),i=this.formatAbsoluteTime(n-Ks*1000),s=e.refreshToken?", will auto-renew":", manual login required";console.log(`[Login Check] Access credential updated - valid for: ${r} (until ${o}), next renewal: ${i}${s}`)}reloadFromDisk(){this.loadUserInfo(),this.loadJwtToken()}async getAccessToken(){if(!this.jwtTokenData)this.reloadFromDisk();if(!this.jwtTokenData)return console.log("[Login Check] No access credential available, authentication required"),null;let e=Date.now(),t=this.jwtTokenData.expiresAt-e,n=this.formatTimeRemaining(t);if(this.isTokenNearExpiry()){console.log(`[Login Check] Access credential expiring soon (remaining: ${n}), starting auto-renewal...`);try{return await this.refreshAccessToken()}catch(r){return console.error("[Login Check] Credential renewal failed:",r),null}}return this.jwtTokenData.accessToken}isTokenExpired(){if(!this.jwtTokenData)return!0;return Date.now()>=this.jwtTokenData.expiresAt}isTokenNearExpiry(e=Ks){if(!this.jwtTokenData)return!0;let t=this.jwtTokenData.expiresAt-Date.now(),n=t<=e*1000;if(n){let r=this.formatTimeRemaining(t);console.log(`[Login Check] Credential expiry check: ${r} remaining <= ${e}s threshold, renewal needed: ${n}`)}return n}async refreshAccessToken(){if(this.refreshPromise)return await this.refreshPromise;this.refreshPromise=this.performTokenRefresh();try{return await this.refreshPromise}finally{this.refreshPromise=null}}async performTokenRefresh(){if(!this.jwtTokenData?.refreshToken)throw Error("No refresh token available");try{console.log("[Login Check] Refreshing access credential...");let e=await fetch(`${this.config.proxyServerUrl}/auth/jwt/refresh`,{method:"POST",headers:{"Content-Type":"application/json","User-Agent":this.getUserAgent()},body:JSON.stringify({refreshToken:this.jwtTokenData.refreshToken})});if(!e.ok){if(e.status===401)throw this.clearTokens(),Error("Refresh credential expired or invalid - authentication required");let s=await e.text();throw Error(`Credential refresh failed (${e.status}): ${s}`)}let t=await e.json();if(!t.success||!t.data?.accessToken)throw Error("Invalid refresh response from server");let n=Date.now(),r=!!t.data.refreshToken;this.jwtTokenData={accessToken:t.data.accessToken,refreshToken:t.data.refreshToken||this.jwtTokenData.refreshToken,expiresIn:t.data.expiresIn||900,expiresAt:n+(t.data.expiresIn||900)*1000,savedAt:new Date().toISOString()},this.saveJwtToken();let o=this.formatTimeRemaining((t.data.expiresIn||900)*1000),i=this.formatAbsoluteTime(this.jwtTokenData.expiresAt),a=this.formatAbsoluteTime(this.jwtTokenData.expiresAt-Ks*1000);return console.log(`[Login Check] \u2705 Credential renewed successfully - valid for: ${o} (until ${i}), next renewal: ${a}${r?" (refresh credential updated)":" (reusing existing refresh credential)"}`),this.jwtTokenData.accessToken}catch(e){throw console.error("[Login Check] Credential refresh error:",e),e}}clearTokens(){this.jwtTokenData=null;try{if(be.existsSync(this.jwtTokenFilePath))be.unlinkSync(this.jwtTokenFilePath)}catch(e){console.warn("[Login Check] Failed to delete access credential file:",e)}}getProxyServerUrl(){return this.config.proxyServerUrl}async getUserHeaders(e){let t=await this.getAccessToken(),n=this.getCliVersion(),r=this.getUserAgent(),o={"Content-Type":"application/json","X-Client-Version":n,"User-Agent":r,"X-Session-ID":si()};if(t)o.Authorization=`Bearer ${t}`;if(e)o["X-DVCode-Scene"]=e;return o}getUserHeadersSync(){let e=this.getCliVersion(),t=this.getUserAgent(),n={"Content-Type":"application/json","X-Client-Version":e,"User-Agent":t,"X-Session-ID":si()};if(this.jwtTokenData?.accessToken)n.Authorization=`Bearer ${this.jwtTokenData.accessToken}`;return n}getUserInfo(){return this.userInfo}getCachedJwtTokenData(){return this.jwtTokenData}isConfigured(){return!!this.userInfo}getStatus(){return{configured:this.isConfigured(),proxyServerUrl:this.config.proxyServerUrl,hasUserInfo:!!this.userInfo,userInfo:this.userInfo}}stopPeriodicStatusCheck(){if(this.periodicStatusCheckIntervalId!==null)clearInterval(this.periodicStatusCheckIntervalId),this.periodicStatusCheckIntervalId=null}clear(){this.userInfo=null,this.jwtTokenData=null,this.stopPeriodicStatusCheck();try{if(be.existsSync(this.userInfoFilePath))be.unlinkSync(this.userInfoFilePath)}catch(e){console.warn("[Login Check] Failed to delete user info file:",e)}try{if(be.existsSync(this.jwtTokenFilePath))be.unlinkSync(this.jwtTokenFilePath)}catch(e){console.warn("[Login Check] Failed to delete access credential file:",e)}console.log("[Login Check] Authentication cleared")}}var Ks=259200,sM;var Qs=rn(()=>{Vm();qm();sM=bt.getInstance()});class Xm{config;constructor(e){this.config=e}buildAuthUrl(){let e=`${this.config.authUrl}?redirect_to=${encodeURIComponent(this.config.redirectUri)}&redirect_mode=same_window`;return console.log("\uD83D\uDD17 DeepVlab\u8BA4\u8BC1URL:",e),e}handleCallback(e){console.log("\uD83D\uDD04 [DeepVlab Auth] \u5904\u7406DeepVlab\u8BA4\u8BC1\u56DE\u8C03"),console.log("\uD83D\uDD04 [DeepVlab Auth] \u56DE\u8C03URL:",e.toString());let t=Object.fromEntries(e.searchParams.entries());console.log("\uD83D\uDD04 [DeepVlab Auth] \u56DE\u8C03\u53C2\u6570:",t);let n=e.searchParams.get("token"),r=e.searchParams.get("user_id"),o=e.searchParams.get("error");if(o)return console.error("\u274C [DeepVlab Auth] \u8BA4\u8BC1\u9519\u8BEF:",o),{success:!1,error:`DeepVlab\u8BA4\u8BC1\u5931\u8D25: ${o}`};if(!n)return console.error("\u274C [DeepVlab Auth] \u7F3A\u5C11token\u53C2\u6570"),{success:!1,error:"DeepVlab\u8BA4\u8BC1\u56DE\u8C03\u4E2D\u7F3A\u5C11token\u53C2\u6570"};if(!r)return console.error("\u274C [DeepVlab Auth] \u7F3A\u5C11user_id\u53C2\u6570"),{success:!1,error:"DeepVlab\u8BA4\u8BC1\u56DE\u8C03\u4E2D\u7F3A\u5C11user_id\u53C2\u6570"};return console.log("\uD83C\uDF89 [DeepVlab Auth] \u83B7\u53D6\u5230JWT Token:",n),console.log("\uD83C\uDF89 [DeepVlab Auth] \u83B7\u53D6\u5230User ID:",r),console.log("\u2705 [DeepVlab Auth] DeepVlab\u8BA4\u8BC1\u6210\u529F"),{success:!0,token:n,user_id:r}}}function Ys(e){let n={authUrl:"https://accounts.deepvlab.ai/login",redirectUri:`http://localhost:${e||7863}/callback?plat=deepvlab`};return new Xm(n)}class vn{static instance;cachedConfig=null;cacheExpiry=null;getServerBaseUrl(){return process.env.DEEPX_SERVER_URL||"https://api-code.deepvlab.ai"}constructor(){}static getInstance(){if(!vn.instance)vn.instance=new vn;return vn.instance}async getConfig(){let e=new Date;if(this.cachedConfig&&this.cacheExpiry&&this.cacheExpiry>e)return console.log("\uD83D\uDD04 \u4F7F\u7528\u7F13\u5B58\u7684\u670D\u52A1\u7AEF\u914D\u7F6E"),this.cachedConfig;try{let t=await fetch(`${this.getServerBaseUrl()}/api/config/client`,{method:"GET",headers:{"Content-Type":"application/json","User-Agent":rt()},signal:AbortSignal.timeout(1e4)});if(!t.ok)throw Error(`\u670D\u52A1\u7AEF\u914D\u7F6E\u83B7\u53D6\u5931\u8D25: ${t.status} ${t.statusText}`);let n=await t.json();if(!n.success||!n.data)throw Error(`\u670D\u52A1\u7AEF\u914D\u7F6E\u683C\u5F0F\u9519\u8BEF: ${n.error||"Unknown error"}`);return this.cachedConfig=n.data,this.cacheExpiry=new Date(e.getTime()+300000),n.data}catch(t){let n=t instanceof Error?t.message:String(t);if(console.error("\u274C \u83B7\u53D6\u670D\u52A1\u7AEF\u914D\u7F6E\u5931\u8D25:",n),this.cachedConfig)return console.warn("\u26A0\uFE0F \u4F7F\u7528\u8FC7\u671F\u7684\u7F13\u5B58\u914D\u7F6E\u4F5C\u4E3A\u5907\u4EFD"),this.cachedConfig;throw Error(`\u65E0\u6CD5\u83B7\u53D6\u670D\u52A1\u7AEF\u914D\u7F6E: ${n}`)}}async getFeishuConfig(){return{appId:(await this.getConfig()).feishu.appId}}async getFeishuTenants(){let e=await this.getConfig();return e.feishuTenants||[{appId:e.feishu.appId,label:"\u98DE\u4E66\u767B\u5F55",tenantKey:"main"}]}clearCache(){this.cachedConfig=null,this.cacheExpiry=null,console.log("\uD83D\uDD04 \u914D\u7F6E\u7F13\u5B58\u5DF2\u6E05\u9664")}async testConnection(){try{return(await fetch(`${this.getServerBaseUrl()}/api/config/feishu/health`,{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(5000)})).ok}catch(e){return console.error("\u274C \u670D\u52A1\u7AEF\u8FDE\u63A5\u6D4B\u8BD5\u5931\u8D25:",e),!1}}}async function eh(){return vn.getInstance().getFeishuConfig()}async function th(){return vn.getInstance().getFeishuTenants()}var nh=()=>{};var Tt=".easycode-user",rh=".easycode";var li=()=>{};import*as Zr from"http";import{URL as ci}from"url";import*as oh from"crypto";class ih{selectServer;callbackServer;BASE_SELECT_PORT=7862;BASE_CALLBACK_PORT=7863;actualSelectPort=7862;actualCallbackPort=7863;async start(){await this.startSelectServer(),await this.startCallbackServer()}getActualSelectPort(){return this.actualSelectPort}getActualCallbackPort(){return this.actualCallbackPort}async startSelectServer(){return new Promise((e,t)=>{this.selectServer=Zr.createServer(async(r,o)=>{if(o.setHeader("Access-Control-Allow-Origin","*"),o.setHeader("Access-Control-Allow-Methods","GET, POST, OPTIONS"),o.setHeader("Access-Control-Allow-Headers","Content-Type, Authorization"),r.method==="OPTIONS"){o.writeHead(200),o.end();return}if(!r.url){this.sendErrorResponse(o,"Invalid request");return}let i=new ci(r.url,`http://localhost:${this.actualSelectPort}`);if(i.pathname==="/"||i.pathname==="/auth-select")await this.sendAuthSelectPage(o);else if(i.pathname==="/start-feishu-auth"&&r.method==="POST"){let a="";r.on("data",(s)=>{a+=s.toString()}),r.on("end",async()=>{try{let s=a?JSON.parse(a):{};await this.handleStartFeishuAuth(o,s)}catch{await this.handleStartFeishuAuth(o)}})}else if(i.pathname==="/start-deepvlab-auth"&&r.method==="POST")await this.handleStartDeepvlabAuth(o);else if(i.pathname==="/start-cheetah-auth"&&r.method==="POST")await this.handleStartCheetahAuth(r,o);else if(i.pathname==="/start-vipcard-auth"&&r.method==="POST")await this.handleStartVipCardAuth(r,o);else if(i.pathname==="/api/backend/feishu-allowed"&&r.method==="GET")await this.handleFeishuAllowedCheck(o);else if(i.pathname==="/api/backend/feishu-tenants"&&r.method==="GET")await this.handleFeishuTenants(o);else this.sendErrorResponse(o,"Not found")});let n=(r)=>{if(r>this.BASE_SELECT_PORT)this.selectServer=Zr.createServer(async(o,i)=>{if(i.setHeader("Access-Control-Allow-Origin","*"),i.setHeader("Access-Control-Allow-Methods","GET, POST, OPTIONS"),i.setHeader("Access-Control-Allow-Headers","Content-Type, Authorization"),o.method==="OPTIONS"){i.writeHead(200),i.end();return}if(!o.url){this.sendErrorResponse(i,"Invalid request");return}let a=new ci(o.url,`http://localhost:${this.actualSelectPort}`);if(a.pathname==="/"||a.pathname==="/auth-select")await this.sendAuthSelectPage(i);else if(a.pathname==="/start-feishu-auth"&&o.method==="POST"){let s="";o.on("data",(l)=>{s+=l.toString()}),o.on("end",async()=>{try{let l=s?JSON.parse(s):{};await this.handleStartFeishuAuth(i,l)}catch{await this.handleStartFeishuAuth(i)}})}else if(a.pathname==="/start-deepvlab-auth"&&o.method==="POST")await this.handleStartDeepvlabAuth(i);else if(a.pathname==="/start-cheetah-auth"&&o.method==="POST")await this.handleStartCheetahAuth(o,i);else if(a.pathname==="/start-vipcard-auth"&&o.method==="POST")await this.handleStartVipCardAuth(o,i);else if(a.pathname==="/api/backend/feishu-allowed"&&o.method==="GET")await this.handleFeishuAllowedCheck(i);else if(a.pathname==="/api/backend/feishu-tenants"&&o.method==="GET")await this.handleFeishuTenants(i);else this.sendErrorResponse(i,"Not found")});this.selectServer.listen(r,()=>{this.actualSelectPort=r,console.log(`\uD83C\uDF10 \u8BA4\u8BC1\u9009\u62E9\u670D\u52A1\u5668\u542F\u52A8\u5728\u7AEF\u53E3 ${r}`),console.log(`\uD83D\uDD17 \u8BA4\u8BC1\u9009\u62E9\u9875\u9762: http://localhost:${r}`),e()}),this.selectServer.on("error",(o)=>{if(o.code==="EADDRINUSE")if(console.log(`\u26A0\uFE0F \u7AEF\u53E3 ${r} \u88AB\u5360\u7528\uFF0C\u5C1D\u8BD5\u7AEF\u53E3 ${r+1}`),r<this.BASE_SELECT_PORT+10)this.selectServer.removeAllListeners(),n(r+1);else t(Error(`\u65E0\u6CD5\u627E\u5230\u53EF\u7528\u7AEF\u53E3 (${this.BASE_SELECT_PORT}-${this.BASE_SELECT_PORT+10})`));else t(o)})};n(this.BASE_SELECT_PORT)})}async startCallbackServer(){return new Promise((e,t)=>{this.callbackServer=Zr.createServer(async(r,o)=>{if(!r.url){this.sendErrorResponse(o,"Invalid request");return}let i=new ci(r.url,`http://localhost:${this.actualCallbackPort}`);if(i.pathname==="/callback")await this.handleCallback(i,o);else this.sendErrorResponse(o,"Not found")});let n=(r)=>{if(r>this.BASE_CALLBACK_PORT)this.callbackServer=Zr.createServer(async(o,i)=>{if(!o.url){this.sendErrorResponse(i,"Invalid request");return}let a=new ci(o.url,`http://localhost:${this.actualCallbackPort}`);if(a.pathname==="/callback")await this.handleCallback(a,i);else this.sendErrorResponse(i,"Not found")});this.callbackServer.listen(r,()=>{this.actualCallbackPort=r,console.log(`\uD83C\uDF10 \u8BA4\u8BC1\u56DE\u8C03\u670D\u52A1\u5668\u542F\u52A8\u5728\u7AEF\u53E3 ${r}`),console.log(`\uD83D\uDD17 \u8BA4\u8BC1\u56DE\u8C03\u5730\u5740: http://localhost:${r}/callback`),e()}),this.callbackServer.on("error",(o)=>{if(o.code==="EADDRINUSE")if(console.log(`\u26A0\uFE0F \u7AEF\u53E3 ${r} \u88AB\u5360\u7528\uFF0C\u5C1D\u8BD5\u7AEF\u53E3 ${r+1}`),r<this.BASE_CALLBACK_PORT+10)this.callbackServer.removeAllListeners(),n(r+1);else t(Error(`\u65E0\u6CD5\u627E\u5230\u53EF\u7528\u7AEF\u53E3 (${this.BASE_CALLBACK_PORT}-${this.BASE_CALLBACK_PORT+10})`));else t(o)})};n(this.BASE_CALLBACK_PORT)})}async sendAuthSelectPage(e){e.setHeader("Access-Control-Allow-Origin","*"),e.setHeader("Access-Control-Allow-Methods","GET, POST, OPTIONS"),e.setHeader("Access-Control-Allow-Headers","Content-Type, Authorization");let t=sn.getAuthSelectPage();e.writeHead(200,{"Content-Type":"text/html; charset=utf-8","Access-Control-Allow-Origin":"*"}),e.end(t)}async handleFeishuAllowedCheck(e){try{console.log("\uD83D\uDD0D [Auth Server] \u5904\u7406\u98DE\u4E66\u5141\u8BB8\u68C0\u67E5\u8BF7\u6C42");let n=`${process.env.DEEPX_SERVER_URL||"https://api-code.deepvlab.ai"}/api/client/feishu-allowed`;console.log("\uD83D\uDD0D [Auth Server] \u8C03\u7528\u540E\u53F0\u63A5\u53E3:",n);let r;try{r=await fetch(n,{method:"GET",headers:{"Content-Type":"application/json","User-Agent":rt()}})}catch(a){throw console.error("\u274C [Auth Server] \u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25:",ht(a)),Error(this.formatNetworkError(a,"Checking Feishu login permission"))}if(!r.ok)throw console.error("\u274C [Auth Server] \u540E\u53F0\u63A5\u53E3\u8C03\u7528\u5931\u8D25:",r.status,r.statusText),Error(`\u540E\u53F0\u63A5\u53E3\u8C03\u7528\u5931\u8D25: ${r.status}`);let o;try{o=await r.json()}catch(a){throw console.error("\u274C [Auth Server] \u54CD\u5E94\u89E3\u6790\u5931\u8D25:",ht(a)),Error("Server returned an invalid response format. Please try again later.")}console.log("\uD83D\uDCCB [Auth Server] \u540E\u53F0\u63A5\u53E3\u8FD4\u56DE:",o);let i={ip:o.ip||"unknown",feishuLoginAllowed:Boolean(o.feishuLoginAllowed),isPrivateNetwork:Boolean(o.isPrivateNetwork),isInWhitelist:Boolean(o.isInWhitelist),isChina:Boolean(o.isChina),messages:Array.isArray(o.messages)?o.messages:[],country:o.country||"unknown",timestamp:o.timestamp||new Date().toISOString()};console.log("\u2705 [Auth Server] \u98DE\u4E66\u767B\u5F55\u6743\u9650\u68C0\u67E5\u7ED3\u679C:",i),e.writeHead(200,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),e.end(JSON.stringify(i))}catch(t){console.error("\u274C [Auth Server] \u98DE\u4E66\u5141\u8BB8\u68C0\u67E5\u5931\u8D25:",t);let n={ip:"unknown",feishuLoginAllowed:!1,isPrivateNetwork:!1,isInWhitelist:!1,isChina:!1,messages:[],country:"unknown",error:t instanceof Error?t.message:"\u68C0\u67E5\u5931\u8D25",timestamp:new Date().toISOString()};e.writeHead(500,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),e.end(JSON.stringify(n))}}async handleFeishuTenants(e){try{let t=await th();e.writeHead(200,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),e.end(JSON.stringify(t))}catch(t){console.error("\u274C [Auth Server] \u83B7\u53D6\u98DE\u4E66\u79DF\u6237\u5217\u8868\u5931\u8D25:",t),e.writeHead(200,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),e.end(JSON.stringify([]))}}async handleStartFeishuAuth(e,t){try{console.log("\uD83D\uDE80 [Auth Server] \u542F\u52A8\u98DE\u4E66\u8BA4\u8BC1\u6D41\u7A0B");let n=t?.appId,r;if(n)r=n;else r=(await eh()).appId;let i={success:!0,authUrl:this.buildFeishuAuthUrl(r)};e.writeHead(200,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),e.end(JSON.stringify(i))}catch(n){console.error("\u274C [Auth Server] \u98DE\u4E66\u8BA4\u8BC1\u542F\u52A8\u5931\u8D25:",n);let r={success:!1,error:n instanceof Error?n.message:"\u98DE\u4E66\u8BA4\u8BC1\u542F\u52A8\u5931\u8D25"};e.writeHead(500,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),e.end(JSON.stringify(r))}}buildFeishuAuthUrl(e){let t=`${this.generateState()}_${e}`,r=`https://open.feishu.cn/open-apis/authen/v1/authorize?${new URLSearchParams({app_id:e,redirect_uri:`http://localhost:${this.actualCallbackPort}/callback`,response_type:"code",scope:"contact:user.employee_id:readonly",state:t}).toString()}`;return console.log("\uD83D\uDD17 [Auth Server] \u98DE\u4E66\u8BA4\u8BC1URL:",r),r}generateState(){return oh.randomBytes(16).toString("hex")}async handleStartDeepvlabAuth(e){try{console.log("\uD83D\uDE80 [Auth Server] \u542F\u52A8DeepVlab\u8BA4\u8BC1\u6D41\u7A0B");let r={success:!0,authUrl:Ys(this.actualCallbackPort).buildAuthUrl()};e.writeHead(200,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),e.end(JSON.stringify(r))}catch(t){console.error("\u274C [Auth Server] DeepVlab\u8BA4\u8BC1\u542F\u52A8\u5931\u8D25:",t);let n={success:!1,error:t instanceof Error?t.message:"DeepVlab\u8BA4\u8BC1\u542F\u52A8\u5931\u8D25"};e.writeHead(500,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),e.end(JSON.stringify(n))}}async handleStartCheetahAuth(e,t){try{console.log("\uD83D\uDE80 [Auth Server] \u542F\u52A8\u730E\u8C79OA\u8BA4\u8BC1\u6D41\u7A0B");let n="";e.on("data",(r)=>{n+=r.toString()}),e.on("end",async()=>{try{let{email:r,password:o}=JSON.parse(n);if(!r||!o){let m={success:!1,message:"\u90AE\u7BB1\u548C\u5BC6\u7801\u4E0D\u80FD\u4E3A\u7A7A"};t.writeHead(400,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),t.end(JSON.stringify(m));return}console.log("\uD83D\uDD04 [Auth Server] \u9A8C\u8BC1\u730E\u8C79OA\u51ED\u636E:",r);let i=process.env.DEEPX_SERVER_URL||"https://api-code.deepvlab.ai",a;try{a=await fetch(`${i}/auth/jwt/cheetah-login`,{method:"POST",headers:{"Content-Type":"application/json","User-Agent":rt()},body:JSON.stringify({email:r,password:o,clientInfo:{platform:process.platform,version:process.version,timestamp:Date.now(),userAgent:rt()}})})}catch(m){console.error("\u274C [Auth Server] \u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25:",ht(m));let g={success:!1,message:this.formatNetworkError(m,"Connecting to authentication server")};t.writeHead(200,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),t.end(JSON.stringify(g));return}if(!a.ok){let m=await a.text();console.error("\u274C [Auth Server] \u730E\u8C79OA\u9A8C\u8BC1\u5931\u8D25:",a.status,m);let g={success:!1,message:"Login failed. Please check your credentials."};t.writeHead(200,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),t.end(JSON.stringify(g));return}let s;try{s=await a.json()}catch(m){console.error("\u274C [Auth Server] \u54CD\u5E94\u89E3\u6790\u5931\u8D25:",ht(m));let g={success:!1,message:"Server returned an invalid response format. Please try again later."};t.writeHead(200,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),t.end(JSON.stringify(g));return}console.log("\u2705 [Auth Server] \u730E\u8C79OA\u9A8C\u8BC1\u6210\u529F");let l=bt.getInstance();if(s.accessToken)l.setJwtTokenData({accessToken:s.accessToken,refreshToken:s.refreshToken,expiresIn:s.expiresIn||900}),console.log(`\u2705 [Auth Server] JWT\u8BBF\u95EE\u4EE4\u724C\u548C\u5237\u65B0\u4EE4\u724C\u5DF2\u4FDD\u5B58\u5230~/${Tt}/`);if(s.user){let m={openId:s.user.openId||s.user.userId,userId:s.user.userId,name:s.user.name,enName:s.user.name,email:s.user.email,avatar:s.user.avatar};l.setUserInfo(m),console.log(`\u2705 [Auth Server] \u7528\u6237\u4FE1\u606F\u5DF2\u4FDD\u5B58\u5230~/${Tt}/: ${m.name} (${m.email||m.openId||"N/A"})`)}let u={success:!0,message:"\u767B\u5F55\u6210\u529F"};t.writeHead(200,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),t.end(JSON.stringify(u)),setTimeout(()=>{this.restoreVSCodeTerminalState()},100)}catch(r){console.error("\u274C [Auth Server] \u89E3\u6790\u8BF7\u6C42\u4F53\u5931\u8D25:",r);let o={success:!1,message:"\u8BF7\u6C42\u683C\u5F0F\u9519\u8BEF"};t.writeHead(400,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),t.end(JSON.stringify(o))}})}catch(n){console.error("\u274C [Auth Server] \u730E\u8C79OA\u8BA4\u8BC1\u542F\u52A8\u5931\u8D25:",n);let r={success:!1,message:n instanceof Error?n.message:"\u730E\u8C79OA\u8BA4\u8BC1\u542F\u52A8\u5931\u8D25"};t.writeHead(500,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),t.end(JSON.stringify(r))}}async handleStartVipCardAuth(e,t){try{console.log("\uD83D\uDE80 [Auth Server] \u542F\u52A8VIP\u5361\u8BA4\u8BC1\u6D41\u7A0B");let n="";e.on("data",(r)=>{n+=r.toString()}),e.on("end",async()=>{try{let{code:r}=JSON.parse(n);if(!r||!r.trim()){let s={success:!1,message:"\u5151\u6362\u7801\u4E0D\u80FD\u4E3A\u7A7A"};t.writeHead(400,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),t.end(JSON.stringify(s));return}let o=r.trim().toUpperCase();console.log("\uD83D\uDD04 [Auth Server] VIP\u5361\u5151\u6362\u7801:",o);let i=process.env.DEEPX_SERVER_URL||"https://api-code.deepvlab.ai";console.log("\uD83D\uDD04 [Auth Server] \u5C1D\u8BD5VIP\u5361\u767B\u5F55...");let a=await this.tryVipCardLogin(i,o);if(a.success){console.log("\u2705 [Auth Server] VIP\u5361\u767B\u5F55\u6210\u529F"),await this.handleVipCardSuccess(t,a.data,o);return}if(a.error==="\u5151\u6362\u7801\u65E0\u6548\u6216\u5C1A\u672A\u6FC0\u6D3B"){console.log("\uD83D\uDD04 [Auth Server] VIP\u5361\u672A\u6FC0\u6D3B\uFF0C\u5C1D\u8BD5\u5FEB\u901F\u6CE8\u518C...");let s=await this.tryVipCardRegister(i,o);if(!s.success){console.error("\u274C [Auth Server] VIP\u5361\u6CE8\u518C\u5931\u8D25:",s.error);let l={success:!1,message:s.error||"\u5151\u6362\u7801\u65E0\u6548\u6216\u5DF2\u8FC7\u671F"};t.writeHead(200,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),t.end(JSON.stringify(l));return}if(console.log("\u2705 [Auth Server] VIP\u5361\u6CE8\u518C\u6210\u529F\uFF0C\u81EA\u52A8\u767B\u5F55..."),a=await this.tryVipCardLogin(i,o),!a.success){console.error("\u274C [Auth Server] VIP\u5361\u6CE8\u518C\u540E\u767B\u5F55\u5931\u8D25:",a.error);let l={success:!1,message:a.error||"\u767B\u5F55\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5"};t.writeHead(200,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),t.end(JSON.stringify(l));return}console.log("\u2705 [Auth Server] VIP\u5361\u6FC0\u6D3B\u5E76\u767B\u5F55\u6210\u529F"),await this.handleVipCardSuccess(t,a.data,o)}else{console.error("\u274C [Auth Server] VIP\u5361\u767B\u5F55\u5931\u8D25:",a.error);let s={success:!1,message:a.error||"\u767B\u5F55\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u5151\u6362\u7801"};t.writeHead(200,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),t.end(JSON.stringify(s))}}catch(r){console.error("\u274C [Auth Server] \u89E3\u6790\u8BF7\u6C42\u4F53\u5931\u8D25:",r);let o={success:!1,message:"\u8BF7\u6C42\u683C\u5F0F\u9519\u8BEF"};t.writeHead(400,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),t.end(JSON.stringify(o))}})}catch(n){console.error("\u274C [Auth Server] VIP\u5361\u8BA4\u8BC1\u542F\u52A8\u5931\u8D25:",n);let r={success:!1,message:n instanceof Error?n.message:"VIP\u5361\u8BA4\u8BC1\u542F\u52A8\u5931\u8D25"};t.writeHead(500,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),t.end(JSON.stringify(r))}}async tryVipCardLogin(e,t){try{let r=await(await fetch(`${e}/web-api/code/vip-login`,{method:"POST",headers:{"Content-Type":"application/json","User-Agent":rt()},body:JSON.stringify({code:t})})).json();if(r.success)return{success:!0,data:r.data};else return{success:!1,error:r.error||"\u767B\u5F55\u5931\u8D25"}}catch(n){return console.error("\u274C [Auth Server] VIP\u5361\u767B\u5F55\u8BF7\u6C42\u5931\u8D25:",ht(n)),{success:!1,error:this.formatNetworkError(n,"VIP\u5361\u767B\u5F55")}}}async tryVipCardRegister(e,t){try{let r=await(await fetch(`${e}/web-api/code/quick-register`,{method:"POST",headers:{"Content-Type":"application/json","User-Agent":rt()},body:JSON.stringify({code:t})})).json();if(r.success)return{success:!0,data:r.data};else return{success:!1,error:r.error||"\u6CE8\u518C\u5931\u8D25"}}catch(n){return console.error("\u274C [Auth Server] VIP\u5361\u6CE8\u518C\u8BF7\u6C42\u5931\u8D25:",ht(n)),{success:!1,error:this.formatNetworkError(n,"VIP\u5361\u6CE8\u518C")}}}async handleVipCardSuccess(e,t,n){if(!t){console.error("\u274C [Auth Server] VIP\u5361\u767B\u5F55\u6210\u529F\u4F46\u54CD\u5E94\u7F3A\u5C11 data \u5B57\u6BB5"),e.writeHead(200,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),e.end(JSON.stringify({success:!1,message:"\u767B\u5F55\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5"}));return}let r=bt.getInstance();if(t.accessToken)r.setJwtTokenData({accessToken:t.accessToken,refreshToken:t.refreshToken,expiresIn:t.expiresIn||604800}),console.log(`\u2705 [Auth Server] VIP\u5361JWT\u8BBF\u95EE\u4EE4\u724C\u548C\u5237\u65B0\u4EE4\u724C\u5DF2\u4FDD\u5B58\u5230~/${Tt}/`);let o={openId:t.user?.email||n,userId:t.user?.email||n,name:t.user?.name||n,enName:t.user?.name||n,email:t.user?.email||"",avatar:t.user?.avatar||""};r.setUserInfo(o),console.log(`\u2705 [Auth Server] VIP\u5361\u7528\u6237\u4FE1\u606F\u5DF2\u4FDD\u5B58\u5230~/${Tt}/: ${o.name} (${o.email||n})`);let i={success:!0,message:"\u6FC0\u6D3B\u5E76\u767B\u5F55\u6210\u529F",data:{email:t.user?.email,quota_name:t.user?.quota_name,expires_at:t.user?.expires_at}};e.writeHead(200,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),e.end(JSON.stringify(i)),setTimeout(()=>{this.restoreVSCodeTerminalState()},100)}async handleCallback(e,t){let n=e.searchParams.get("plat");if(console.log("\uD83D\uDD04 [Auth Server] \u6536\u5230\u8BA4\u8BC1\u56DE\u8C03"),console.log("\uD83D\uDD04 [Auth Server] \u56DE\u8C03URL:",e.toString()),console.log("\uD83D\uDD04 [Auth Server] \u5E73\u53F0\u53C2\u6570:",n),n==="deepvlab")await this.handleDeepvlabCallback(e,t);else console.log("\uD83D\uDD04 [Auth Server] \u5904\u7406\u98DE\u4E66\u8BA4\u8BC1\u56DE\u8C03"),await this.handleFeishuCallback(e,t)}verifyJwtFormat(e){try{let t=e.split(".");if(t.length!==3)return{valid:!1,error:"JWT\u683C\u5F0F\u9519\u8BEF\uFF1A\u5E94\u8BE5\u5305\u542B3\u4E2A\u90E8\u5206"};let[n,r]=t,o;try{o=JSON.parse(Buffer.from(n,"base64url").toString())}catch{return{valid:!1,error:"JWT header\u89E3\u7801\u5931\u8D25"}}let i;try{i=JSON.parse(Buffer.from(r,"base64url").toString())}catch{return{valid:!1,error:"JWT payload\u89E3\u7801\u5931\u8D25"}}if(!i.exp)return{valid:!1,error:"JWT\u7F3A\u5C11\u8FC7\u671F\u65F6\u95F4(exp)\u5B57\u6BB5"};if(!i.iat)return{valid:!1,error:"JWT\u7F3A\u5C11\u7B7E\u53D1\u65F6\u95F4(iat)\u5B57\u6BB5"};let a=Math.floor(Date.now()/1000);if(i.exp<a)return{valid:!1,error:"JWT\u5DF2\u8FC7\u671F"};return console.log("\u2705 [Auth Server] JWT\u683C\u5F0F\u9A8C\u8BC1\u901A\u8FC7:",{header:o,exp:new Date(i.exp*1000).toISOString(),iat:new Date(i.iat*1000).toISOString()}),{valid:!0,payload:i}}catch(t){return{valid:!1,error:`JWT\u9A8C\u8BC1\u5931\u8D25: ${t instanceof Error?t.message:"\u672A\u77E5\u9519\u8BEF"}`}}}async handleDeepvlabCallback(e,t){try{console.log("\uD83D\uDD04 [Auth Server] \u5904\u7406DeepVlab\u8BA4\u8BC1\u56DE\u8C03");let r=Ys(this.actualCallbackPort).handleCallback(e);if(!r.success){console.error("\u274C [Auth Server] DeepVlab\u8BA4\u8BC1\u5931\u8D25:",r.error),this.sendErrorResponse(t,r.error||"DeepVlab authentication failed");return}if(!r.token||!r.user_id){console.error("\u274C [Auth Server] DeepVlab\u8BA4\u8BC1\u56DE\u8C03\u7F3A\u5C11\u5FC5\u8981\u53C2\u6570"),this.sendErrorResponse(t,"Missing token or user_id in DeepVlab authentication callback");return}console.log("\uFFFD [Auth Server] \u5F00\u59CB\u9A8C\u8BC1JWT token\u683C\u5F0F");let o=this.verifyJwtFormat(r.token);if(!o.valid){console.error("\u274C [Auth Server] JWT\u683C\u5F0F\u9A8C\u8BC1\u5931\u8D25:",o.error),this.sendErrorResponse(t,`JWT\u683C\u5F0F\u9A8C\u8BC1\u5931\u8D25: ${o.error}`);return}console.log("\u2705 [Auth Server] JWT\u683C\u5F0F\u9A8C\u8BC1\u901A\u8FC7\uFF0C\u5F00\u59CB\u4EA4\u6362JWT\u4EE4\u724C");let i=process.env.DEEPX_SERVER_URL||"https://api-code.deepvlab.ai";console.log("deepvlab\u4EA4\u6362JWT\uFF0CproxyServerUrl:",`${i}/auth/jwt/deepvlab-login`);let a;try{a=await fetch(`${i}/auth/jwt/deepvlab-login`,{method:"POST",headers:{"Content-Type":"application/json","User-Agent":rt()},body:JSON.stringify({plat:"deepvlab",token:r.token,user_id:r.user_id,clientInfo:{platform:process.platform,version:process.version,timestamp:Date.now(),userAgent:rt()}})})}catch(u){console.error("\u274C [Auth Server] \u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25:",ht(u)),this.sendErrorResponse(t,this.formatNetworkError(u,"Connecting to authentication server"));return}if(!a.ok){let u=await a.text();console.error("\u274C [Auth Server] JWT\u4EA4\u6362\u5931\u8D25:",a.status,u),this.sendErrorResponse(t,`Authentication failed (HTTP ${a.status}). Please try again later.`);return}let s;try{s=await a.json()}catch(u){console.error("\u274C [Auth Server] JWT\u54CD\u5E94\u89E3\u6790\u5931\u8D25:",ht(u)),this.sendErrorResponse(t,"Server returned an invalid response format. Please try again later.");return}console.log("\uD83D\uDCCB [Auth Server] JWT\u4EA4\u6362\u54CD\u5E94\u6570\u636E:",s),console.log("\u2705 [Auth Server] JWT\u4EA4\u6362\u6210\u529F:",{user:s.user?.name,email:s.user?.email,expiresIn:s.expiresIn});let l=bt.getInstance();if(s.accessToken)l.setJwtTokenData({accessToken:s.accessToken,refreshToken:s.refreshToken,expiresIn:s.expiresIn||900}),console.log(`\u2705 [Auth Server] JWT\u8BBF\u95EE\u4EE4\u724C\u548C\u5237\u65B0\u4EE4\u724C\u5DF2\u4FDD\u5B58\u5230~/${Tt}/`);if(s.user){let u={openId:s.user.openId||s.user.userId,userId:s.user.userId,name:s.user.name,enName:s.user.name,email:s.user.email,avatar:s.user.avatar};l.setUserInfo(u),console.log(`\u2705 [Auth Server] \u7528\u6237\u4FE1\u606F\u5DF2\u4FDD\u5B58\u5230~/${Tt}/: ${u.name} (${u.email||u.openId||"N/A"})`)}this.sendDeepvlabSuccessResponse(t)}catch(n){console.error("\u274C [Auth Server] DeepVlab\u8BA4\u8BC1\u5904\u7406\u5931\u8D25:",n);let r=n instanceof Error?n.message:"DeepVlab\u8BA4\u8BC1\u5904\u7406\u5931\u8D25";this.sendErrorResponse(t,r)}}async handleFeishuCallback(e,t){try{let n=e.searchParams.get("code"),r=e.searchParams.get("state"),o=e.searchParams.get("error");if(o){console.error("\u274C [Auth Server] \u98DE\u4E66\u8BA4\u8BC1\u9519\u8BEF:",o),this.sendErrorResponse(t,`Feishu authentication failed: ${o}`);return}if(!n){console.error("\u274C [Auth Server] \u7F3A\u5C11\u6388\u6743\u7801"),this.sendErrorResponse(t,"Missing authorization code in Feishu authentication callback");return}console.log("\uD83D\uDD04 [Auth Server] \u5F00\u59CB\u5904\u7406\u98DE\u4E66\u8BA4\u8BC1\u56DE\u8C03"),console.log("\uD83D\uDD04 [Auth Server] \u6388\u6743\u7801\u5DF2\u83B7\u53D6\uFF0C\u5F00\u59CB\u4EA4\u6362\u8BBF\u95EE\u4EE4\u724C"),console.log("\uD83D\uDD04 [Auth Server] \u8C03\u7528\u670D\u52A1\u7AEFexchange\u63A5\u53E3\u4EA4\u6362\u98DE\u4E66token");let i=r&&r.includes("_")?r.split("_").slice(1).join("_"):void 0,a=process.env.DEEPX_SERVER_URL||"https://api-code.deepvlab.ai";console.log("\u98DE\u4E66token\u4EA4\u6362\uFF0CproxyServerUrl:",`${a}/api/auth/feishu/exchange`);let s;try{s=await fetch(`${a}/api/auth/feishu/exchange`,{method:"POST",headers:{"Content-Type":"application/json","User-Agent":rt()},body:JSON.stringify({code:n,redirect_uri:`http://localhost:${this.actualCallbackPort}/callback`,app_id:i})})}catch(y){throw console.error("\u274C [Auth Server] \u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25:",ht(y)),Error(this.formatNetworkError(y,"Connecting to authentication server"))}if(!s.ok)throw Error(`Feishu token exchange failed (HTTP ${s.status}). Please try again later.`);let l;try{l=await s.json()}catch(y){throw console.error("\u274C [Auth Server] \u54CD\u5E94\u89E3\u6790\u5931\u8D25:",ht(y)),Error("Server returned an invalid response format. Please try again later.")}if(!l.success)throw Error(`\u98DE\u4E66token\u4EA4\u6362\u5931\u8D25: ${l.error||"\u672A\u77E5\u9519\u8BEF"}`);let u=l.data.accessToken;console.log("\u2705 [Auth Server] \u98DE\u4E66\u8BBF\u95EE\u4EE4\u724C\u83B7\u53D6\u6210\u529F"),console.log("\uD83D\uDD04 [Auth Server] \u5F00\u59CB\u4EA4\u6362JWT\u4EE4\u724C"),console.log("\u98DE\u4E66\u4EA4\u6362JWT\uFF0CproxyServerUrl:",`${a}/auth/jwt/feishu-login`);let m;try{m=await fetch(`${a}/auth/jwt/feishu-login`,{method:"POST",headers:{"Content-Type":"application/json","User-Agent":rt()},body:JSON.stringify({feishuAccessToken:u,clientInfo:{platform:process.platform,version:process.version,timestamp:Date.now(),userAgent:rt()}})})}catch(y){console.error("\u274C [Auth Server] \u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25:",ht(y)),this.sendErrorResponse(t,this.formatNetworkError(y,"Connecting to authentication server"));return}if(!m.ok){let y=await m.text();console.error("\u274C [Auth Server] JWT\u4EA4\u6362\u5931\u8D25:",m.status,y),this.sendErrorResponse(t,`Authentication failed (HTTP ${m.status}). Please try again later.`);return}let g;try{g=await m.json()}catch(y){console.error("\u274C [Auth Server] JWT\u54CD\u5E94\u89E3\u6790\u5931\u8D25:",ht(y)),this.sendErrorResponse(t,"Server returned an invalid response format. Please try again later.");return}console.log("\uD83D\uDCCB [Auth Server] JWT\u4EA4\u6362\u54CD\u5E94\u6570\u636E:",g),console.log("\u2705 [Auth Server] JWT\u4EA4\u6362\u6210\u529F33:",{user:g.user?.name,email:g.user?.email,expiresIn:g.expiresIn});let k=bt.getInstance();if(g.accessToken)k.setJwtTokenData({accessToken:g.accessToken,refreshToken:g.refreshToken,expiresIn:g.expiresIn||900}),console.log(`\u2705 [Auth Server] JWT\u8BBF\u95EE\u4EE4\u724C\u548C\u5237\u65B0\u4EE4\u724C\u5DF2\u4FDD\u5B58\u5230~/${Tt}/`);if(g.user){let y={openId:g.user.openId||g.user.userId,userId:g.user.userId,name:g.user.name,enName:g.user.name,email:g.user.email,avatar:g.user.avatar};k.setUserInfo(y),console.log(`\u2705 [Auth Server] \u7528\u6237\u4FE1\u606F\u5DF2\u4FDD\u5B58\u5230~/${Tt}/: ${y.name} (${y.email||y.openId||"N/A"})`)}this.sendFeishuSuccessResponse(t)}catch(n){console.error("\u274C [Auth Server] \u98DE\u4E66\u8BA4\u8BC1\u5904\u7406\u5931\u8D25:",n);let r=n instanceof Error?n.message:"\u98DE\u4E66\u8BA4\u8BC1\u5904\u7406\u5931\u8D25";this.sendErrorResponse(t,r)}}sendDeepvlabSuccessResponse(e){let t=sn.getDeepvlabSuccessPage();e.writeHead(200,{"Content-Type":"text/html; charset=utf-8","Access-Control-Allow-Origin":"*"}),e.end(t),setTimeout(()=>{this.restoreVSCodeTerminalState()},100)}sendFeishuSuccessResponse(e){let t=sn.getFeishuSuccessPage();e.writeHead(200,{"Content-Type":"text/html; charset=utf-8","Access-Control-Allow-Origin":"*"}),e.end(t),setTimeout(()=>{this.restoreVSCodeTerminalState()},100)}sendErrorResponse(e,t){e.setHeader("Access-Control-Allow-Origin","*"),e.setHeader("Access-Control-Allow-Methods","GET, POST, OPTIONS"),e.setHeader("Access-Control-Allow-Headers","Content-Type, Authorization");let n=sn.getErrorPage(t);e.writeHead(400,{"Content-Type":"text/html; charset=utf-8","Access-Control-Allow-Origin":"*"}),e.end(n)}stop(){if(this.selectServer)this.selectServer.close(),console.log("\uD83D\uDED1 \u8BA4\u8BC1\u9009\u62E9\u670D\u52A1\u5668\u5DF2\u505C\u6B62");if(this.callbackServer)this.callbackServer.close(),console.log("\uD83D\uDED1 \u8BA4\u8BC1\u56DE\u8C03\u670D\u52A1\u5668\u5DF2\u505C\u6B62");this.restoreVSCodeTerminalState()}formatNetworkError(e,t){if(e instanceof TypeError&&e.message.includes("Invalid URL"))return`\u670D\u52A1\u5668\u914D\u7F6E\u9519\u8BEF\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458 (\u9519\u8BEF: ${e.message})`;if(e instanceof TypeError&&e.message.includes("Only HTTP(S)"))return"\u670D\u52A1\u5668\u5730\u5740\u914D\u7F6E\u9519\u8BEF\uFF0C\u8BF7\u68C0\u67E5\u73AF\u5883\u53D8\u91CF DEEPX_SERVER_URL";let n=e,r=n.code||n.errno;if(r==="ENOTFOUND")return"\u65E0\u6CD5\u8FDE\u63A5\u5230\u670D\u52A1\u5668 (DNS\u89E3\u6790\u5931\u8D25)\uFF0C\u8BF7\u68C0\u67E5\u7F51\u7EDC\u8FDE\u63A5";if(r==="ECONNREFUSED")return"\u670D\u52A1\u5668\u6682\u65F6\u4E0D\u53EF\u7528\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5";if(r==="ETIMEDOUT")return`${t}\u8D85\u65F6\uFF0C\u8BF7\u68C0\u67E5\u7F51\u7EDC\u8FDE\u63A5`;if(r==="ECONNRESET")return"\u7F51\u7EDC\u8FDE\u63A5\u4E2D\u65AD\uFF0C\u8BF7\u91CD\u8BD5";if(n.name==="AbortError")return`${t}\u8D85\u65F6\uFF0C\u8BF7\u68C0\u67E5\u7F51\u7EDC\u8FDE\u63A5`;return`${t}\u5931\u8D25: ${n.message||"\u672A\u77E5\u9519\u8BEF"}\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5`}restoreVSCodeTerminalState(){if(!(process.env.VSCODE_PID||process.env.TERM_PROGRAM==="vscode"))return;console.log("\uD83D\uDD27 \u68C0\u6D4B\u5230VSCode\u7EC8\u7AEF\u73AF\u5883\uFF0C\u6B63\u5728\u6062\u590D\u7EC8\u7AEF\u72B6\u6001...");try{if(process.stdout.isTTY){if(process.stdout.write("\x1B[0m"),process.stdout.write("\x1B[?25h"),process.stdout.columns)process.stdout.emit("resize")}process.stdout.write("\r"),console.log("\u2705 VSCode\u7EC8\u7AEF\u72B6\u6001\u6062\u590D\u5B8C\u6210")}catch(t){console.warn("\u26A0\uFE0F VSCode\u7EC8\u7AEF\u72B6\u6001\u6062\u590D\u65F6\u51FA\u73B0\u8B66\u544A:",t)}}}var ah=rn(()=>{nh();Qs();Us();Ps();li()});import{CliRenderer as dy,createCliRenderer as uy,engine as fy}from"@opentui/core";import{createTestRenderer as NB}from"@opentui/core/testing";import{ASCIIFontRenderable as gy,BoxRenderable as my,CodeRenderable as hy,DiffRenderable as py,ImageRenderable as Ay,InputRenderable as ky,LineNumberRenderable as xy,MarkdownRenderable as by,ScrollBoxRenderable as yy,SelectRenderable as wy,TabSelectRenderable as Sy,TextareaRenderable as Cy,TextAttributes as _a,TextNodeRenderable as vy,TextRenderable as Iy}from"@opentui/core";import{engine as LB,Timeline as $B}from"@opentui/core";var Je={context:void 0,registry:void 0,effects:void 0,done:!1,getContextId(){return cd(this.context.count)},getNextContextId(){return cd(this.context.count++)}};function cd(e){let t=String(e),n=t.length-1;return Je.context.id+(n?String.fromCharCode(96+n):"")+t}function ba(e){Je.context=e}function $0(){return{...Je.context,id:Je.getNextContextId(),count:0}}var G0=!1,z0=(e,t)=>e===t,ya=Symbol("solid-proxy"),H0=typeof Proxy==="function",md=Symbol("solid-track"),kB=Symbol("solid-dev-component"),vo={equals:z0},dd=null,hd=xd,kt=1,Er=2,pd={owned:null,cleanups:null,context:null,owner:null};var Ae=null,Y=null,Br=null,Qn=null,Se=null,$e=null,et=null,To=0;function kn(e,t){let n=Se,r=Ae,o=e.length===0,i=t===void 0?r:t,a=o?pd:{owned:null,cleanups:null,context:i?i.context:null,owner:i},s=o?e:()=>e(()=>at(()=>on(a)));Ae=a,Se=null;try{return Lt(s,!0)}finally{Se=n,Ae=r}}function j(e,t){t=t?Object.assign({},vo,t):vo;let n={value:e,observers:null,observerSlots:null,comparator:t.equals||void 0},r=(o)=>{if(typeof o==="function")if(Y&&Y.running&&Y.sources.has(n))o=o(n.tValue);else o=o(n.value);return kd(n,o)};return[Ad.bind(n),r]}function $t(e,t,n){let r=Ia(e,t,!1,kt);if(Br&&Y&&Y.running)$e.push(r);else Rr(r)}function st(e,t,n){hd=K0;let r=Ia(e,t,!1,kt),o=wa&&xn(wa);if(o)r.suspense=o;if(!n||!n.render)r.user=!0;et?et.push(r):Rr(r)}function ye(e,t,n){n=n?Object.assign({},vo,n):vo;let r=Ia(e,t,!0,0);if(r.observers=null,r.observerSlots=null,r.comparator=n.equals||void 0,Br&&Y&&Y.running)r.tState=kt,$e.push(r);else Rr(r);return Ad.bind(r)}function Bo(e){return Lt(e,!1)}function at(e){if(!Qn&&Se===null)return e();let t=Se;Se=null;try{if(Qn)return Qn.untrack(e);return e()}finally{Se=t}}function va(e,t,n){let r=Array.isArray(e),o,i=n&&n.defer;return(a)=>{let s;if(r){s=Array(e.length);for(let u=0;u<e.length;u++)s[u]=e[u]()}else s=e();if(i)return i=!1,a;let l=at(()=>t(s,o,a));return o=s,l}}function Gt(e){st(()=>at(e))}function Me(e){if(Ae===null);else if(Ae.cleanups===null)Ae.cleanups=[e];else Ae.cleanups.push(e);return e}function U0(e){if(Y&&Y.running)return e(),Y.done;let t=Se,n=Ae;return Promise.resolve().then(()=>{Se=t,Ae=n;let r;if(Br||wa)r=Y||(Y={sources:new Set,effects:[],promises:new Set,disposed:new Set,queue:new Set,running:!0}),r.done||(r.done=new Promise((o)=>r.resolve=o)),r.running=!0;return Lt(e,!1),Se=Ae=null,r?r.done:void 0})}var[xB,ud]=j(!1);function Ro(e,t){let n=Symbol("context");return{id:n,Provider:Y0(n),defaultValue:e}}function xn(e){let t;return Ae&&Ae.context&&(t=Ae.context[e.id])!==void 0?t:e.defaultValue}function j0(e){let t=ye(e),n=ye(()=>Sa(t()));return n.toArray=()=>{let r=n();return Array.isArray(r)?r:r!=null?[r]:[]},n}var wa;function Ad(){let e=Y&&Y.running;if(this.sources&&(e?this.tState:this.state))if((e?this.tState:this.state)===kt)Rr(this);else{let t=$e;$e=null,Lt(()=>Io(this),!1),$e=t}if(Se){let t=this.observers?this.observers.length:0;if(!Se.sources)Se.sources=[this],Se.sourceSlots=[t];else Se.sources.push(this),Se.sourceSlots.push(t);if(!this.observers)this.observers=[Se],this.observerSlots=[Se.sources.length-1];else this.observers.push(Se),this.observerSlots.push(Se.sources.length-1)}if(e&&Y.sources.has(this))return this.tValue;return this.value}function kd(e,t,n){let r=Y&&Y.running&&Y.sources.has(e)?e.tValue:e.value;if(!e.comparator||!e.comparator(r,t)){if(Y){let o=Y.running;if(o||!n&&Y.sources.has(e))Y.sources.add(e),e.tValue=t;if(!o)e.value=t}else e.value=t;if(e.observers&&e.observers.length)Lt(()=>{for(let o=0;o<e.observers.length;o+=1){let i=e.observers[o],a=Y&&Y.running;if(a&&Y.disposed.has(i))continue;if(a?!i.tState:!i.state){if(i.pure)$e.push(i);else et.push(i);if(i.observers)bd(i)}if(!a)i.state=kt;else i.tState=kt}if($e.length>1e6)throw $e=[],Error()},!1)}return t}function Rr(e){if(!e.fn)return;on(e);let t=To;if(fd(e,Y&&Y.running&&Y.sources.has(e)?e.tValue:e.value,t),Y&&!Y.running&&Y.sources.has(e))queueMicrotask(()=>{Lt(()=>{Y&&(Y.running=!0),Se=Ae=e,fd(e,e.tValue,t),Se=Ae=null},!1)})}function fd(e,t,n){let r,o=Ae,i=Se;Se=Ae=e;try{r=e.fn(t)}catch(a){if(e.pure)if(Y&&Y.running)e.tState=kt,e.tOwned&&e.tOwned.forEach(on),e.tOwned=void 0;else e.state=kt,e.owned&&e.owned.forEach(on),e.owned=null;return e.updatedAt=n+1,Ea(a)}finally{Se=i,Ae=o}if(!e.updatedAt||e.updatedAt<=n){if(e.updatedAt!=null&&"observers"in e)kd(e,r,!0);else if(Y&&Y.running&&e.pure){if(!Y.sources.has(e))e.value=r;Y.sources.add(e),e.tValue=r}else e.value=r;e.updatedAt=n}}function Ia(e,t,n,r=kt,o){let i={fn:e,state:r,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:t,owner:Ae,context:Ae?Ae.context:null,pure:n};if(Y&&Y.running)i.state=0,i.tState=r;if(Ae===null);else if(Ae!==pd)if(Y&&Y.running&&Ae.pure)if(!Ae.tOwned)Ae.tOwned=[i];else Ae.tOwned.push(i);else if(!Ae.owned)Ae.owned=[i];else Ae.owned.push(i);if(Qn&&i.fn){let a=i.fn,[s,l]=j(void 0,{equals:!1}),u=Qn.factory(a,l);Me(()=>u.dispose());let m,g=()=>U0(l).then(()=>{if(m)m.dispose(),m=void 0});i.fn=(k)=>{if(s(),Y&&Y.running){if(!m)m=Qn.factory(a,g);return m.track(k)}return u.track(k)}}return i}function Tr(e){let t=Y&&Y.running;if((t?e.tState:e.state)===0)return;if((t?e.tState:e.state)===Er)return Io(e);if(e.suspense&&at(e.suspense.inFallback))return e.suspense.effects.push(e);let n=[e];while((e=e.owner)&&(!e.updatedAt||e.updatedAt<To)){if(t&&Y.disposed.has(e))return;if(t?e.tState:e.state)n.push(e)}for(let r=n.length-1;r>=0;r--){if(e=n[r],t){let o=e,i=n[r+1];while((o=o.owner)&&o!==i)if(Y.disposed.has(o))return}if((t?e.tState:e.state)===kt)Rr(e);else if((t?e.tState:e.state)===Er){let o=$e;$e=null,Lt(()=>Io(e,n[0]),!1),$e=o}}}function Lt(e,t){if($e)return e();let n=!1;if(!t)$e=[];if(et)n=!0;else et=[];To++;try{let r=e();return W0(n),r}catch(r){if(!n)et=null;$e=null,Ea(r)}}function W0(e){if($e){if(Br&&Y&&Y.running)Z0($e);else xd($e);$e=null}if(e)return;let t;if(Y){if(!Y.promises.size&&!Y.queue.size){let r=Y.sources,o=Y.disposed;et.push.apply(et,Y.effects),t=Y.resolve;for(let i of et)"tState"in i&&(i.state=i.tState),delete i.tState;Y=null,Lt(()=>{for(let i of o)on(i);for(let i of r){if(i.value=i.tValue,i.owned)for(let a=0,s=i.owned.length;a<s;a++)on(i.owned[a]);if(i.tOwned)i.owned=i.tOwned;delete i.tValue,delete i.tOwned,i.tState=0}ud(!1)},!1)}else if(Y.running){Y.running=!1,Y.effects.push.apply(Y.effects,et),et=null,ud(!0);return}}let n=et;if(et=null,n.length)Lt(()=>hd(n),!1);if(t)t()}function xd(e){for(let t=0;t<e.length;t++)Tr(e[t])}function Z0(e){for(let t=0;t<e.length;t++){let n=e[t],r=Y.queue;if(!r.has(n))r.add(n),Br(()=>{r.delete(n),Lt(()=>{Y.running=!0,Tr(n)},!1),Y&&(Y.running=!1)})}}function K0(e){let t,n=0;for(t=0;t<e.length;t++){let r=e[t];if(!r.user)Tr(r);else e[n++]=r}if(Je.context){if(Je.count){Je.effects||(Je.effects=[]),Je.effects.push(...e.slice(0,n));return}ba()}if(Je.effects&&(Je.done||!Je.count))e=[...Je.effects,...e],n+=Je.effects.length,delete Je.effects;for(t=0;t<n;t++)Tr(e[t])}function Io(e,t){let n=Y&&Y.running;if(n)e.tState=0;else e.state=0;for(let r=0;r<e.sources.length;r+=1){let o=e.sources[r];if(o.sources){let i=n?o.tState:o.state;if(i===kt){if(o!==t&&(!o.updatedAt||o.updatedAt<To))Tr(o)}else if(i===Er)Io(o,t)}}}function bd(e){let t=Y&&Y.running;for(let n=0;n<e.observers.length;n+=1){let r=e.observers[n];if(t?!r.tState:!r.state){if(t)r.tState=Er;else r.state=Er;if(r.pure)$e.push(r);else et.push(r);r.observers&&bd(r)}}}function on(e){let t;if(e.sources)while(e.sources.length){let n=e.sources.pop(),r=e.sourceSlots.pop(),o=n.observers;if(o&&o.length){let i=o.pop(),a=n.observerSlots.pop();if(r<o.length)i.sourceSlots[a]=r,o[r]=i,n.observerSlots[r]=a}}if(e.tOwned){for(t=e.tOwned.length-1;t>=0;t--)on(e.tOwned[t]);delete e.tOwned}if(Y&&Y.running&&e.pure)yd(e,!0);else if(e.owned){for(t=e.owned.length-1;t>=0;t--)on(e.owned[t]);e.owned=null}if(e.cleanups){for(t=e.cleanups.length-1;t>=0;t--)e.cleanups[t]();e.cleanups=null}if(Y&&Y.running)e.tState=0;else e.state=0}function yd(e,t){if(!t)e.tState=0,Y.disposed.add(e);if(e.owned)for(let n=0;n<e.owned.length;n++)yd(e.owned[n])}function Q0(e){if(e instanceof Error)return e;return Error(typeof e==="string"?e:"Unknown error",{cause:e})}function gd(e,t,n){try{for(let r of t)r(e)}catch(r){Ea(r,n&&n.owner||null)}}function Ea(e,t=Ae){let n=dd&&t&&t.context&&t.context[dd],r=Q0(e);if(!n)throw r;if(et)et.push({fn(){gd(r,n,t)},state:kt});else gd(r,n,t)}function Sa(e){if(typeof e==="function"&&!e.length)return Sa(e());if(Array.isArray(e)){let t=[];for(let n=0;n<e.length;n++){let r=Sa(e[n]);Array.isArray(r)?t.push.apply(t,r):t.push(r)}return t}return e}function Y0(e,t){return function(r){let o;return $t(()=>o=at(()=>(Ae.context={...Ae.context,[e]:r.value},j0(()=>r.children))),void 0),o}}var Ca=Symbol("fallback");function Eo(e){for(let t=0;t<e.length;t++)e[t]()}function J0(e,t,n={}){let r=[],o=[],i=[],a=0,s=t.length>1?[]:null;return Me(()=>Eo(i)),()=>{let l=e()||[],u=l.length,m,g;return l[md],at(()=>{let y,_,U,D,N,S,z,w,b;if(u===0){if(a!==0)Eo(i),i=[],r=[],o=[],a=0,s&&(s=[]);if(n.fallback)r=[Ca],o[0]=kn((v)=>(i[0]=v,n.fallback())),a=1}else if(a===0){o=Array(u);for(g=0;g<u;g++)r[g]=l[g],o[g]=kn(k);a=u}else{U=Array(u),D=Array(u),s&&(N=Array(u));for(S=0,z=Math.min(a,u);S<z&&r[S]===l[S];S++);for(z=a-1,w=u-1;z>=S&&w>=S&&r[z]===l[w];z--,w--)U[w]=o[z],D[w]=i[z],s&&(N[w]=s[z]);y=new Map,_=Array(w+1);for(g=w;g>=S;g--)b=l[g],m=y.get(b),_[g]=m===void 0?-1:m,y.set(b,g);for(m=S;m<=z;m++)if(b=r[m],g=y.get(b),g!==void 0&&g!==-1)U[g]=o[m],D[g]=i[m],s&&(N[g]=s[m]),g=_[g],y.set(b,g);else i[m]();for(g=S;g<u;g++)if(g in U){if(o[g]=U[g],i[g]=D[g],s)s[g]=N[g],s[g](g)}else o[g]=kn(k);o=o.slice(0,a=u),r=l.slice(0)}return o});function k(y){if(i[g]=y,s){let[_,U]=j(g);return s[g]=U,t(l[g],_)}return t(l[g])}}}function V0(e,t,n={}){let r=[],o=[],i=[],a=[],s=0,l;return Me(()=>Eo(i)),()=>{let u=e()||[],m=u.length;return u[md],at(()=>{if(m===0){if(s!==0)Eo(i),i=[],r=[],o=[],s=0,a=[];if(n.fallback)r=[Ca],o[0]=kn((k)=>(i[0]=k,n.fallback())),s=1;return o}if(r[0]===Ca)i[0](),i=[],r=[],o=[],s=0;for(l=0;l<m;l++)if(l<r.length&&r[l]!==u[l])a[l](()=>u[l]);else if(l>=r.length)o[l]=kn(g);for(;l<r.length;l++)i[l]();return s=a.length=i.length=m,r=u.slice(0),o=o.slice(0,s)});function g(k){i[l]=k;let[y,_]=j(u[l]);return a[l]=_,t(y,l)}}}var q0=!1;function wd(e,t){if(q0){if(Je.context){let n=Je.context;ba($0());let r=at(()=>e(t||{}));return ba(n),r}}return at(()=>e(t||{}))}function Co(){return!0}var X0={get(e,t,n){if(t===ya)return n;return e.get(t)},has(e,t){if(t===ya)return!0;return e.has(t)},set:Co,deleteProperty:Co,getOwnPropertyDescriptor(e,t){return{configurable:!0,enumerable:!0,get(){return e.get(t)},set:Co,deleteProperty:Co}},ownKeys(e){return e.keys()}};function xa(e){return!(e=typeof e==="function"?e():e)?{}:e}function ey(){for(let e=0,t=this.length;e<t;++e){let n=this[e]();if(n!==void 0)return n}}function _o(...e){let t=!1;for(let a=0;a<e.length;a++){let s=e[a];t=t||!!s&&ya in s,e[a]=typeof s==="function"?(t=!0,ye(s)):s}if(H0&&t)return new Proxy({get(a){for(let s=e.length-1;s>=0;s--){let l=xa(e[s])[a];if(l!==void 0)return l}},has(a){for(let s=e.length-1;s>=0;s--)if(a in xa(e[s]))return!0;return!1},keys(){let a=[];for(let s=0;s<e.length;s++)a.push(...Object.keys(xa(e[s])));return[...new Set(a)]}},X0);let n={},r=Object.create(null);for(let a=e.length-1;a>=0;a--){let s=e[a];if(!s)continue;let l=Object.getOwnPropertyNames(s);for(let u=l.length-1;u>=0;u--){let m=l[u];if(m==="__proto__"||m==="constructor")continue;let g=Object.getOwnPropertyDescriptor(s,m);if(!r[m])r[m]=g.get?{enumerable:!0,configurable:!0,get:ey.bind(n[m]=[g.get.bind(s)])}:g.value!==void 0?g:void 0;else{let k=n[m];if(k){if(g.get)k.push(g.get.bind(s));else if(g.value!==void 0)k.push(()=>g.value)}}}}let o={},i=Object.keys(r);for(let a=i.length-1;a>=0;a--){let s=i[a],l=r[s];if(l&&l.get)Object.defineProperty(o,s,l);else o[s]=l?l.value:void 0}return o}var ty=(e)=>`Stale read from <${e}>.`;function ce(e){let t="fallback"in e&&{fallback:()=>e.fallback};return ye(J0(()=>e.each,e.children,t||void 0))}function Sd(e){let t="fallback"in e&&{fallback:()=>e.fallback};return ye(V0(()=>e.each,e.children,t||void 0))}function P(e){let t=e.keyed,n=ye(()=>e.when,void 0,void 0),r=t?n:ye(n,void 0,{equals:(o,i)=>!o===!i});return ye(()=>{let o=r();if(o){let i=e.children;return typeof i==="function"&&i.length>0?at(()=>i(t?o:()=>{if(!at(r))throw ty("Show");return n()})):i}return e.fallback},void 0,void 0)}import{BaseRenderable as Wd,createTextAttributes as _y,ImageRenderable as Pd,InputRenderable as Pa,InputRenderableEvents as Pr,isTextNodeRenderable as Oa,isEditBufferRenderable as Py,parseColor as Md,Renderable as My,RootTextNodeRenderable as Fy,ScrollBoxRenderable as Ny,SelectRenderable as Fd,SelectRenderableEvents as Ma,TabSelectRenderable as Nd,TabSelectRenderableEvents as Fa,TextNodeRenderable as Dy,TextRenderable as Zd}from"@opentui/core";var Ta,ny=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),Cd=(Ta=String.fromCodePoint)!==null&&Ta!==void 0?Ta:(e)=>{let t="";if(e>65535)e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|e&1023;return t+=String.fromCharCode(e),t};function vd(e){var t;if(e>=55296&&e<=57343||e>1114111)return 65533;return(t=ny.get(e))!==null&&t!==void 0?t:e}function Id(e){let t=typeof atob==="function"?atob(e):typeof Buffer.from==="function"?Buffer.from(e,"base64").toString("binary"):new Buffer(e,"base64").toString("binary"),n=t.length&-2,r=new Uint16Array(n/2);for(let o=0,i=0;o<n;o+=2){let a=t.charCodeAt(o),s=t.charCodeAt(o+1);r[i++]=a|s<<8}return r}var Ed=Id("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IA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YwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWlsN2E6ZHIAAOA12CjdciJlZW4AOGFjAHkARWRjAHkAXGRwAGYAAOA12FzdYwByAADgNdjA3IALQUJFSGFiY2RlZmdoamxtbm9wcnN0dXYAXhxtHHEcdRx5HN8cBx0dHTwd3B3tHfEdAR4EHh0eLB5FHrwewx7hHgkfPR9LH4ABYXJ0AGQcZxxpHHIA8gBvB/IAxQLhIWlsAKAbKeEhcnIAoA4pZ6BmIgCgiyphAHIAAKBiKWMJjRwAAJAcAACVHAAAAAAAAAAAAACZHJwcAACmHKgcrRwAANIc9SF0ZTph7SJwdHl2AKC0KXIAYQDuAFoG4iFkYbtjZwAAoegnZGyhHKMcAKCRKeUAiwYAoIUqdQBvADuAqwCrQHIAgKOQIWJmaGxwc3QAuhy/HMIcxBzHHMoczhxmoOQhcwAAoB8pcwAAoB0p6wCyGnAAAKCrIWwAAKA5KWkAbQAAoHMpbAAAoKIhAKGrKmFl1hzaHGkAbAAAoBkpc6CtKgDgrSoA/oABYWJyAOUc6RztHHIAcgAAoAwpcgBrAACgcicAAWFr8Rz4HGMAAAFla/Yc9xx7YFtgAAFlc/wc/hwAoIspbAAAAWR1Ax0FHQCgjykAoI0pAAJhZXV5Dh0RHRodHB3yIW9uPmEAAWRpFR0YHWkAbAA8YewAowbiAPccO2QAAmNxcnMkHScdLB05HWEAAKA2KXUAbwDyoBwgqhEAAWR1MB00HeghYXIAoGcpcyJoYXIAAKBLKWgAAKCyIQCiZCJmZ3FzRB1FB5Qdnh10AIACYWhscnQATh1WHWUdbB2NHXIicm93AHSgkCFhAOkAzxxhI3Jwb29uAAABZHVeHWId7yF3bgCgvSFwAACgvCHlJGZ0YXJyb3dzAKDHIWkiZ2h0AIABYWhzAHUdex2DHXIicm93APOglCGdBmEAcgBwAG8AbwBuAPMAzgtxAHUAaQBnAGEAcgByAG8A9wBlGugkcmVldGltZXMAoMsi8aFkIk0HAACaHWwAYQBuAPQAXgcAon0qY2Rnc6YdqR2xHbcdYwAAoKgqbwB0AG+gfypyoIEqAKCDKmXg2iIA/nMAAKCTKoACYWRlZ3MAwB3GHcod1h3ZHXAAcAByAG8A+ACmHG8AdAAAoNYicQAAAWdxzx3SHXQA8gBGB2cAdADyAHQcdADyAFMHaQDtAGMHgAFpbHIA4h3mHeod8yFodACgfClvAG8A8gDKBgDgNdgp3UWgdiIAoJEqYQH1Hf4dcgAAAWR1YB35HWygvCEAoGopbABrAACghCVjAHkAWWQAomoiYWNodAweDx4VHhkecgDyAGsdbwByAG4AZQDyAGAW4SFyZACgaylyAGkAAKD6JQABaW8hHiQe5CFvdEBh9SFzdGGgsCPjIWhlAKCwIwACRWFlczMeNR48HkEeAKBoInAAcKCJKvIhb3gAoIkqcaCHKvGghyo0HmkAbQAAoOYiAARhYm5vcHR3elIeXB5fHoUelh6mHqsetB4AAW5yVh5ZHmcAAKDsJ3IAAKD9IXIA6wCwBmcAgAFsbXIAZh52Hnse5SFmdAABYXKIB2weaQBnAGgAdABhAHIAcgBvAPcAkwfhInBzdG8AoPwnaQBnAGgAdABhAHIAcgBvAPcAmgdwI2Fycm93AAABbHKNHpEeZQBmAPQAxhxpImdodAAAoKwhgAFhZmwAnB6fHqIecgAAoIUpAOA12F3ddQBzAACgLSppIm1lcwAAoDQqYQGvHrMecwB0AACgFyLhAIoOZaHKJbkeRhLuIWdlAKDKJWEAcgBsoCgAdAAAoJMpgAJhY2htdADMHs8e1R7bHt0ecgDyAJ0GbwByAG4AZQDyANYWYQByAGSgyyEAoG0pAKAOIHIAaQAAoL8iAANhY2hpcXTrHu8e1QfzHv0eBh/xIXVvAKA5IHIAAOA12MHcbQDloXIi+h4AAPweAKCNKgCgjyoAAWJ19xwBH28AcqAYIACgGiDyIW9rQmEAhDwAO2NkaGlscXJCBhcfxh0gHyQfKB8sHzEfAAFjaRsfHR8AoKYqcgAAoHkqcgBlAOUAkx3tIWVzAKDJIuEhcnIAoHYpdSJlc3QAAKB7KgABUGk1HzkfYQByAACglillocMlAgdfEnIAAAFkdUIfRx9zImhhcgAAoEop6CFhcgCgZikAAWVuTx9WH3IjdG5lcXEAAOBoIgD+xQBUHwAHRGFjZGVmaGlsbm9wc3VuH3Ifoh+rH68ftx+7H74f5h/uH/MfBwj/HwsgxCFvdACgOiIAAmNscHJ5H30fiR+eH3IAO4CvAK9AAAFldIEfgx8AoEImZaAgJ3MAZQAAoCAnc6CmIXQAbwCAoaYhZGx1AJQfmB+cH28AdwDuAHkDZQBmAPQA6gbwAOkO6yFlcgCgriUAAW95ph+qH+0hbWEAoCkqPGThIXNoAKAUIOElc3VyZWRhbmdsZQCgISJyAADgNdgq3W8AAKAnIYABY2RuAMQfyR/bH3IAbwA7gLUAtUBhoiMi0B8AANMf1x9zAPQAKxFpAHIAAKDwKm8AdAA7gLcAt0B1AHMA4qESIh4TAADjH3WgOCIAoCoqYwHqH+0fcAAAoNsq8gB+GnAAbAB1APMACAgAAWRw9x/7H+UhbHMAoKciZgAA4DXYXt0AAWN0AyAHIHIAAOA12MLc8CFvcwCgPiJsobwDECAVIPQiaW1hcACguCJhAPAAEyAADEdMUlZhYmNkZWZnaGlqbG1vcHJzdHV2dzwgRyBmIG0geSCqILgg2iDeIBEhFSEyIUMhTSFQIZwhnyHSIQAiIyKLIrEivyIUIwABZ3RAIEMgAODZIjgD9uBrItIgBwmAAWVsdABNIF8gYiBmAHQAAAFhclMgWCByInJvdwAAoM0h6SRnaHRhcnJvdwCgziEA4NgiOAP24Goi0iBfCekkZ2h0YXJyb3cAoM8hAAFEZHEgdSDhIXNoAKCvIuEhc2gAoK4igAJiY25wdACCIIYgiSCNIKIgbABhAACgByL1IXRlRGFnAADgICLSIACiSSJFaW9wlSCYIJwgniAA4HAqOANkAADgSyI4A3MASWFyAG8A+AAyCnUAcgBhoG4mbADzoG4mmwjzAa8gAACzIHAAO4CgAKBAbQBwAOXgTiI4AyoJgAJhZW91eQDBIMogzSDWINkg8AHGIAAAyCAAoEMqbwBuAEhh5CFpbEZhbgBnAGSgRyJvAHQAAOBtKjgDcAAAoEIqPWThIXNoAKATIACjYCJBYWRxc3jpIO0g+SD+IAIhDCFyAHIAAKDXIXIAAAFocvIg9SBrAACgJClvoJch9wAGD28AdAAA4FAiOAN1AGkA9gC7CAABZWkGIQohYQByAACgKCntAN8I6SFzdPOgBCLlCHIAAOA12CvdAAJFZXN0/wgcISshLiHxoXEiIiEAABMJ8aFxIgAJAAAnIWwAYQBuAPQAEwlpAO0AGQlyoG8iAKBvIoABQWFwADghOyE/IXIA8gBeIHIAcgAAoK4hYQByAACg8ipzogsiSiEAAAAAxwtkoPwiAKD6ImMAeQBaZIADQUVhZGVzdABcIV8hYiFmIWkhkyGWIXIA8gBXIADgZiI4A3IAcgAAoJohcgAAoCUggKFwImZxcwBwIYQhjiF0AAABYXJ1IXohcgByAG8A9wBlIWkAZwBoAHQAYQByAHIAbwD3AD4h8aFwImAhAACKIWwAYQBuAPQAZwlz4H0qOAMAoG4iaQDtAG0JcqBuImkA5aDqIkUJaQDkADoKAAFwdKMhpyFmAADgNdhf3YCBrAA7aW4AriGvIcchrEBuAIChCSJFZHYAtyG6Ib8hAOD5IjgDbwB0AADg9SI4A+EB1gjEIcYhAKD3IgCg9iJpAHagDCLhAagJzyHRIQCg/iIAoP0igAFhb3IA2CHsIfEhcgCAoSYiYXN0AOAh5SHpIWwAbABlAOwAywhsAADg/SrlIADgAiI4A2wiaW50AACgFCrjoYAi9yEAAPohdQDlAJsJY+CvKjgDZaCAIvEAkwkAAkFhaXQHIgoiFyIeInIA8gBsIHIAcgAAoZshY3cRIhQiAOAzKTgDAOCdITgDZyRodGFycm93AACgmyFyAGkA5aDrIr4JgANjaGltcHF1AC8iPCJHIpwhTSJQIloigKGBImNlcgA2Iv0JOSJ1AOUABgoA4DXYw9zvIXJ0bQKdIQAAAABEImEAcgDhAOEhbQBloEEi8aBEIiYKYQDyAMsIcwB1AAABYnBWIlgi5QDUCeUA3wmAAWJjcABgInMieCKAoYQiRWVzAGci7glqIgDgxSo4A2UAdABl4IIi0iBxAPGgiCJoImMAZaCBIvEA/gmAoYUiRWVzAH8iFgqCIgDgxio4A2UAdABl4IMi0iBxAPGgiSKAIgACZ2lscpIilCKaIpwi7AAMCWwAZABlADuA8QDxQOcAWwlpI2FuZ2xlAAABbHKkIqoi5SFmdGWg6iLxAEUJaSJnaHQAZaDrIvEAvgltoL0DAKEjAGVzuCK8InIAbwAAoBYhcAAAoAcggARESGFkZ2lscnMAziLSItYi2iLeIugi7SICIw8j4SFzaACgrSLhIXJyAKAEKXAAAOBNItIg4SFzaACgrCIAAWV04iLlIgDgZSLSIADgPgDSIG4iZmluAACg3imAAUFldADzIvci+iJyAHIAAKACKQDgZCLSIHLgPADSIGkAZQAA4LQi0iAAAUF0BiMKI3IAcgAAoAMp8iFpZQDgtSLSIGkAbQAA4Dwi0iCAAUFhbgAaIx4jKiNyAHIAAKDWIXIAAAFociMjJiNrAACgIylvoJYh9wD/DuUhYXIAoCcpUxJqFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVCMAAF4jaSN/I4IjjSOeI8AUAAAAAKYjwCMAANoj3yMAAO8jHiQvJD8kRCQAAWNzVyNsFHUAdABlADuA8wDzQAABaXlhI2cjcgBjoJoiO4D0APRAPmSAAmFiaW9zAHEjdCN3I3EBeiNzAOgAdhTsIWFjUWF2AACgOCrvIWxkAKC8KewhaWdTYQABY3KFI4kjaQByAACgvykA4DXYLN1vA5QjAAAAAJYjAACcI24A22JhAHYAZQA7gPIA8kAAoMEpAAFibaEjjAphAHIAAKC1KQACYWNpdKwjryO6I70jcgDyAFkUAAFpcrMjtiNyAACgvinvIXNzAKC7KW4A5QDZCgCgwCmAAWFlaQDFI8gjyyNjAHIATWFnAGEAyWOAAWNkbgDRI9Qj1iPyIW9uv2MAoLYpdQDzAHgBcABmAADgNdhg3YABYWVsAOQj5yPrI3IAAKC3KXIAcAAAoLkpdQDzAHwBAKMoImFkaW9zdvkj/CMPJBMkFiQbJHIA8gBeFIChXSplZm0AAyQJJAwkcgBvoDQhZgAAoDQhO4CqAKpAO4C6ALpA5yFvZgCgtiJyAACgVipsIm9wZQAAoFcqAKBbKoABY2xvACMkJSQrJPIACCRhAHMAaAA7gPgA+EBsAACgmCJpAGwBMyQ4JGQAZQA7gPUA9UBlAHMAYaCXInMAAKA2Km0AbAA7gPYA9kDiIWFyAKA9I+EKXiQAAHokAAB8JJQkAACYJKkkAAAAALUkEQsAAPAkAAAAAAQleiUAAIMlcgCAoSUiYXN0AGUkbyQBCwCBtgA7bGokayS2QGwAZQDsABgDaQJ1JAAAAAB4JG0AAKDzKgCg/Sp5AD9kcgCAAmNpbXB0AIUkiCSLJJkSjyRuAHQAJWBvAGQALmBpAGwAAKAwIOUhbmsAoDEgcgAA4DXYLd2AAWltbwCdJKAkpCR2oMYD1WNtAGEA9AD+B24AZQAAoA4m9KHAA64kAAC0JGMjaGZvcmsAAKDUItZjAAFhdbgkxCRuAAABY2u9JMIkawBooA8hAKAOIfYAaRpzAACkKwBhYmNkZW1zdNMkIRPXJNsk4STjJOck6yTjIWlyAKAjKmkAcgAAoCIqAAFvdYsW3yQAoCUqAKByKm4AO4CxALFAaQBtAACgJip3AG8AAKAnKoABaXB1APUk+iT+JO4idGludACgFSpmAADgNdhh3W4AZAA7gKMAo0CApHoiRWFjZWlub3N1ABMlFSUYJRslTCVRJVklSSV1JQCgsypwAACgtyp1AOUAPwtjoK8qgKJ6ImFjZW5zACclLSU0JTYlSSVwAHAAcgBvAPgAFyV1AHIAbAB5AGUA8QA/C/EAOAuAAWFlcwA8JUElRSXwInByb3gAoLkqcQBxAACgtSppAG0AAKDoImkA7QBEC20AZQDzoDIgIguAAUVhcwBDJVclRSXwAEAlgAFkZnAATwtfJXElgAFhbHMAZSVpJW0l7CFhcgCgLiPpIW5lAKASI/UhcmYAoBMjdKAdIu8AWQvyIWVsAKCwIgABY2l9JYElcgAA4DXYxdzIY24iY3NwAACgCCAAA2Zpb3BzdZElKxuVJZolnyWkJXIAAOA12C7dcABmAADgNdhi3XIiaW1lAACgVyBjAHIAAOA12MbcgAFhZW8AqiW6JcAldAAAAWVpryW2JXIAbgBpAG8AbgDzABkFbgB0AACgFipzAHQAZaA/APEACRj0AG0LgApBQkhhYmNkZWZoaWxtbm9wcnN0dXgA4yXyJfYl+iVpJpAmpia9JtUm5ib4JlonaCdxJ3UnnietJ7EnyCfiJ+cngAFhcnQA6SXsJe4lcgDyAJkM8gD6AuEhaWwAoBwpYQByAPIA3BVhAHIAAKBkKYADY2RlbnFydAAGJhAmEyYYJiYmKyZaJgABZXUKJg0mAOA9IjEDdABlAFVhaQDjACAN7SJwdHl2AKCzKWcAgKHpJ2RlbAAgJiImJCYAoJIpAKClKeUA9wt1AG8AO4C7ALtAcgAApZIhYWJjZmhscHN0dz0mQCZFJkcmSiZMJk4mUSZVJlgmcAAAoHUpZqDlIXMAAKAgKQCgMylzAACgHinrALka8ACVHmwAAKBFKWkAbQAAoHQpbAAAoKMhAKCdIQABYWleJmImaQBsAACgGilvAG6gNiJhAGwA8wB2C4ABYWJyAG8mciZ2JnIA8gAvEnIAawAAoHMnAAFha3omgSZjAAABZWt/JoAmfWBdYAABZXOFJocmAKCMKWwAAAFkdYwmjiYAoI4pAKCQKQACYWV1eZcmmiajJqUm8iFvbllhAAFkaZ4moSZpAGwAV2HsAA8M4gCAJkBkAAJjbHFzrSawJrUmuiZhAACgNylkImhhcgAAoGkpdQBvAPKgHSCjAWgAAKCzIYABYWNnAMMm0iaUC2wAgKEcIWlwcwDLJs4migxuAOUAoAxhAHIA9ADaC3QAAKCtJYABaWxyANsm3ybjJvMhaHQAoH0pbwBvAPIANgwA4DXYL90AAWFv6ib1JnIAAAFkde8m8SYAoMEhbKDAIQCgbCl2oMED8WOAAWducwD+Jk4nUCdoAHQAAANhaGxyc3QKJxInISc1Jz0nRydyInJvdwB0oJIhYQDpAFYmYSNycG9vbgAAAWR1GiceJ28AdwDuAPAmcAAAoMAh5SFmdAABYWgnJy0ncgByAG8AdwDzAAkMYQByAHAAbwBvAG4A8wATBGklZ2h0YXJyb3dzAACgySFxAHUAaQBnAGEAcgByAG8A9wBZJugkcmVldGltZXMAoMwiZwDaYmkAbgBnAGQAbwB0AHMAZQDxABwYgAFhaG0AYCdjJ2YncgDyAAkMYQDyABMEAKAPIG8idXN0AGGgsSPjIWhlAKCxI+0haWQAoO4qAAJhYnB0fCeGJ4knmScAAW5ygCeDJ2cAAKDtJ3IAAKD+IXIA6wAcDIABYWZsAI8nkieVJ3IAAKCGKQDgNdhj3XUAcwAAoC4qaSJtZXMAAKA1KgABYXCiJ6gncgBnoCkAdAAAoJQp7yJsaW50AKASKmEAcgDyADwnAAJhY2hxuCe8J6EMwCfxIXVvAKA6IHIAAOA12MfcAAFidYAmxCdvAPKgGSCoAYABaGlyAM4n0ifWJ3IAZQDlAE0n7SFlcwCgyiJpAIChuSVlZmwAXAxjEt4n9CFyaQCgzinsInVoYXIAoGgpAKAeIWENBSgJKA0oSyhVKIYoAACLKLAoAAAAAOMo5ygAABApJCkxKW0pcSmHKaYpAACYKgAAAACxKmMidXRlAFthcQB1AO8ABR+ApHsiRWFjZWlucHN5ABwoHignKCooLygyKEEoRihJKACgtCrwASMoAAAlKACguCpvAG4AYWF1AOUAgw1koLAqaQBsAF9hcgBjAF1hgAFFYXMAOCg6KD0oAKC2KnAAAKC6KmkAbQAAoOki7yJsaW50AKATKmkA7QCIDUFkbwB0AGKixSKRFgAAAABTKACgZiqAA0FhY21zdHgAYChkKG8ocyh1KHkogihyAHIAAKDYIXIAAAFocmkoayjrAJAab6CYIfcAzAd0ADuApwCnQGkAO2D3IWFyAKApKW0AAAFpbn4ozQBuAHUA8wDOAHQAAKA2J3IA7+A12DDdIxkAAmFjb3mRKJUonSisKHIAcAAAoG8mAAFoeZkonChjAHkASWRIZHIAdABtAqUoAAAAAKgoaQDkAFsPYQByAGEA7ABsJDuArQCtQAABZ22zKLsobQBhAAChwwNmdroouijCY4CjPCJkZWdsbnByAMgozCjPKNMo1yjaKN4obwB0AACgairxoEMiCw5FoJ4qAKCgKkWgnSoAoJ8qZQAAoEYi7CF1cwCgJCrhIXJyAKByKWEAcgDyAPwMAAJhZWl07Sj8KAEpCCkAAWxz8Sj4KGwAcwBlAHQAbQDpAH8oaABwAACgMyrwImFyc2wAoOQpAAFkbFoPBSllAACgIyNloKoqc6CsKgDgrCoA/oABZmxwABUpGCkfKfQhY3lMZGKgLwBhoMQpcgAAoD8jZgAA4DXYZN1hAAABZHIoKRcDZQBzAHWgYCZpAHQAAKBgJoABY3N1ADYpRilhKQABYXU6KUApcABzoJMiAOCTIgD+cABzoJQiAOCUIgD+dQAAAWJwSylWKQChjyJlcz4NUCllAHQAZaCPIvEAPw0AoZAiZXNIDVspZQB0AGWgkCLxAEkNAKGhJWFmZilbBHIAZQFrKVwEAKChJWEAcgDyAAMNAAJjZW10dyl7KX8pgilyAADgNdjI3HQAbQDuAM4AaQDsAAYpYQByAOYAVw0AAWFyiimOKXIA5qAGJhESAAFhbpIpoylpImdodAAAAWVwmSmgKXAAcwBpAGwAbwDuANkXaADpAKAkcwCvYIACYmNtbnAArin8KY4NJSooKgCkgiJFZGVtbnByc7wpvinCKcgpzCnUKdgp3CkAoMUqbwB0AACgvSpkoIYibwB0AACgwyr1IWx0AKDBKgABRWXQKdIpAKDLKgCgiiLsIXVzAKC/KuEhcnIAoHkpgAFlaXUA4inxKfQpdAAAoYIiZW7oKewpcQDxoIYivSllAHEA8aCKItEpbQAAoMcqAAFicPgp+ikAoNUqAKDTKmMAgKJ7ImFjZW5zAAcqDSoUKhYqRihwAHAAcgBvAPgAIyh1AHIAbAB5AGUA8QCDDfEAfA2AAWFlcwAcKiIqPShwAHAAcgBvAPgAPChxAPEAOShnAACgaiYApoMiMTIzRWRlaGxtbnBzPCo/KkIqRSpHKlIqWCpjKmcqaypzKncqO4C5ALlAO4CyALJAO4CzALNAAKDGKgABb3NLKk4qdAAAoL4qdQBiAACg2CpkoIcibwB0AACgxCpzAAABb3VdKmAqbAAAoMknYgAAoNcq4SFycgCgeyn1IWx0AKDCKgABRWVvKnEqAKDMKgCgiyLsIXVzAKDAKoABZWl1AH0qjCqPKnQAAKGDImVugyqHKnEA8aCHIkYqZQBxAPGgiyJwKm0AAKDIKgABYnCTKpUqAKDUKgCg1iqAAUFhbgCdKqEqrCpyAHIAAKDZIXIAAAFocqYqqCrrAJUab6CZIfcAxQf3IWFyAKAqKWwAaQBnADuA3wDfQOELzyrZKtwq6SrsKvEqAAD1KjQrAAAAAAAAAAAAAEwrbCsAAHErvSsAAAAAAADRK3IC1CoAAAAA2CrnIWV0AKAWI8RjcgDrAOUKgAFhZXkA4SrkKucq8iFvbmVh5CFpbGNhQmRvAPQAIg5sInJlYwAAoBUjcgAA4DXYMd0AAmVpa2/7KhIrKCsuK/IBACsAAAkrZQAAATRm6g0EK28AcgDlAOsNYQBzorgDECsAAAAAEit5AG0A0WMAAWNuFislK2sAAAFhcxsrIStwAHAAcgBvAPgAFw5pAG0AAKA8InMA8AD9DQABYXMsKyEr8AAXDnIAbgA7gP4A/kDsATgrOyswG2QA5QBnAmUAcwCAgdcAO2JkAEMrRCtJK9dAYaCgInIAAKAxKgCgMCqAAWVwcwBRK1MraSvhAAkh4qKkIlsrXysAAAAAYytvAHQAAKA2I2kAcgAAoPEqb+A12GXdcgBrAACg2irhAHgociJpbWUAAKA0IIABYWlwAHYreSu3K2QA5QC+DYADYWRlbXBzdACFK6MrmiunK6wrsCuzK24iZ2xlAACitSVkbHFykCuUK5ornCvvIXduAKC/JeUhZnRloMMl8QACBwCgXCJpImdodABloLkl8QBdDG8AdAAAoOwlaSJudXMAAKA6KuwhdXMAoDkqYgAAoM0p6SFtZQCgOyrlInppdW0AoOIjgAFjaHQAwivKK80rAAFyecYrySsA4DXYydxGZGMAeQBbZPIhb2tnYQABaW/UK9creAD0ANERaCJlYWQAAAFsct4r5ytlAGYAdABhAHIAcgBvAPcAXQbpJGdodGFycm93AKCgIQAJQUhhYmNkZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg");var tt;(function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.FLAG13=8192]="FLAG13",e[e.BRANCH_LENGTH=8064]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"})(tt||(tt={}));var Re;(function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.EQUALS=61]="EQUALS",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.LOWER_Z=122]="LOWER_Z",e[e.UPPER_A=65]="UPPER_A",e[e.UPPER_F=70]="UPPER_F",e[e.UPPER_Z=90]="UPPER_Z"})(Re||(Re={}));var Td=32;function Ba(e){return e>=Re.ZERO&&e<=Re.NINE}function ry(e){return e>=Re.UPPER_A&&e<=Re.UPPER_F||e>=Re.LOWER_A&&e<=Re.LOWER_F}function oy(e){return e>=Re.UPPER_A&&e<=Re.UPPER_Z||e>=Re.LOWER_A&&e<=Re.LOWER_Z||Ba(e)}function iy(e){return e===Re.EQUALS||oy(e)}var Ze;(function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"})(Ze||(Ze={}));var Kt;(function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"})(Kt||(Kt={}));class Ra{constructor(e,t,n){this.decodeTree=e,this.emitCodePoint=t,this.errors=n,this.state=Ze.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=Kt.Strict,this.runConsumed=0}startEntity(e){this.decodeMode=e,this.state=Ze.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1,this.runConsumed=0}write(e,t){switch(this.state){case Ze.EntityStart:{if(e.charCodeAt(t)===Re.NUM)return this.state=Ze.NumericStart,this.consumed+=1,this.stateNumericStart(e,t+1);return this.state=Ze.NamedEntity,this.stateNamedEntity(e,t)}case Ze.NumericStart:return this.stateNumericStart(e,t);case Ze.NumericDecimal:return this.stateNumericDecimal(e,t);case Ze.NumericHex:return this.stateNumericHex(e,t);case Ze.NamedEntity:return this.stateNamedEntity(e,t)}}stateNumericStart(e,t){if(t>=e.length)return-1;if((e.charCodeAt(t)|Td)===Re.LOWER_X)return this.state=Ze.NumericHex,this.consumed+=1,this.stateNumericHex(e,t+1);return this.state=Ze.NumericDecimal,this.stateNumericDecimal(e,t)}stateNumericHex(e,t){while(t<e.length){let n=e.charCodeAt(t);if(Ba(n)||ry(n)){let r=n<=Re.NINE?n-Re.ZERO:(n|Td)-Re.LOWER_A+10;this.result=this.result*16+r,this.consumed++,t++}else return this.emitNumericEntity(n,3)}return-1}stateNumericDecimal(e,t){while(t<e.length){let n=e.charCodeAt(t);if(Ba(n))this.result=this.result*10+(n-Re.ZERO),this.consumed++,t++;else return this.emitNumericEntity(n,2)}return-1}emitNumericEntity(e,t){var n;if(this.consumed<=t)return(n=this.errors)===null||n===void 0||n.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(e===Re.SEMI)this.consumed+=1;else if(this.decodeMode===Kt.Strict)return 0;if(this.emitCodePoint(vd(this.result),this.consumed),this.errors){if(e!==Re.SEMI)this.errors.missingSemicolonAfterCharacterReference();this.errors.validateNumericCharacterReference(this.result)}return this.consumed}stateNamedEntity(e,t){let{decodeTree:n}=this,r=n[this.treeIndex],o=(r&tt.VALUE_LENGTH)>>14;while(t<e.length){if(o===0&&(r&tt.FLAG13)!==0){let a=(r&tt.BRANCH_LENGTH)>>7;if(this.runConsumed===0){let s=r&tt.JUMP_TABLE;if(e.charCodeAt(t)!==s)return this.result===0?0:this.emitNotTerminatedNamedEntity();t++,this.excess++,this.runConsumed++}while(this.runConsumed<a){if(t>=e.length)return-1;let s=this.runConsumed-1,l=n[this.treeIndex+1+(s>>1)],u=s%2===0?l&255:l>>8&255;if(e.charCodeAt(t)!==u)return this.runConsumed=0,this.result===0?0:this.emitNotTerminatedNamedEntity();t++,this.excess++,this.runConsumed++}this.runConsumed=0,this.treeIndex+=1+(a>>1),r=n[this.treeIndex],o=(r&tt.VALUE_LENGTH)>>14}if(t>=e.length)break;let i=e.charCodeAt(t);if(i===Re.SEMI&&o!==0&&(r&tt.FLAG13)!==0)return this.emitNamedEntityData(this.treeIndex,o,this.consumed+this.excess);if(this.treeIndex=sy(n,r,this.treeIndex+Math.max(1,o),i),this.treeIndex<0)return this.result===0||this.decodeMode===Kt.Attribute&&(o===0||iy(i))?0:this.emitNotTerminatedNamedEntity();if(r=n[this.treeIndex],o=(r&tt.VALUE_LENGTH)>>14,o!==0){if(i===Re.SEMI)return this.emitNamedEntityData(this.treeIndex,o,this.consumed+this.excess);if(this.decodeMode!==Kt.Strict&&(r&tt.FLAG13)===0)this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0}t++,this.excess++}return-1}emitNotTerminatedNamedEntity(){var e;let{result:t,decodeTree:n}=this,r=(n[t]&tt.VALUE_LENGTH)>>14;return this.emitNamedEntityData(t,r,this.consumed),(e=this.errors)===null||e===void 0||e.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(e,t,n){let{decodeTree:r}=this;if(this.emitCodePoint(t===1?r[e]&~(tt.VALUE_LENGTH|tt.FLAG13):r[e+1],n),t===3)this.emitCodePoint(r[e+2],n);return n}end(){var e;switch(this.state){case Ze.NamedEntity:return this.result!==0&&(this.decodeMode!==Kt.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case Ze.NumericDecimal:return this.emitNumericEntity(0,2);case Ze.NumericHex:return this.emitNumericEntity(0,3);case Ze.NumericStart:return(e=this.errors)===null||e===void 0||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case Ze.EntityStart:return 0}}}function ay(e){let t="",n=new Ra(e,(r)=>t+=Cd(r));return function(o,i){let a=0,s=0;while((s=o.indexOf("&",s))>=0){t+=o.slice(a,s),n.startEntity(i);let u=n.write(o,s+1);if(u<0){a=s+n.end();break}a=s+u,s=u===0?a+1:a}let l=t+o.slice(a);return t="",l}}function sy(e,t,n,r){let o=(t&tt.BRANCH_LENGTH)>>7,i=t&tt.JUMP_TABLE;if(o===0)return i!==0&&r===i?n:-1;if(i){let u=r-i;return u<0||u>=o?-1:e[n+u]-1}let a=o+1>>1,s=0,l=o-1;while(s<=l){let u=s+l>>>1,m=u>>1,k=e[n+m]>>(u&1)*8&255;if(k<r)s=u+1;else if(k>r)l=u-1;else return e[n+a+u]}return-1}var ly=ay(Ed);function _r(e){return ly(e,Kt.Strict)}var Bd;(function(e){e[e.XML=0]="XML",e[e.HTML=1]="HTML"})(Bd||(Bd={}));var Rd;(function(e){e[e.UTF8=0]="UTF8",e[e.ASCII=1]="ASCII",e[e.Extensive=2]="Extensive",e[e.Attribute=3]="Attribute",e[e.Text=4]="Text"})(Rd||(Rd={}));import{BaseRenderable as jy,isTextNodeRenderable as Wy,TextNodeRenderable as Zy,TextRenderable as Ky,Yoga as Kd}from"@opentui/core";import{BoxRenderable as JB,RootRenderable as VB}from"@opentui/core";import{TimeToFirstDrawRenderable as Yy}from"@opentui/core";import{createSlotRegistry as eR}from"@opentui/core";class Mr extends vy{_ctx;constructor(e,t){super(t);this._ctx=e}}class Mo extends Mr{constructor(e,t){super(null,e);if(t==="b"||t==="strong")this.attributes=(this.attributes||0)|_a.BOLD;else if(t==="i"||t==="em")this.attributes=(this.attributes||0)|_a.ITALIC;else if(t==="u")this.attributes=(this.attributes||0)|_a.UNDERLINE}}class Na extends Mo{constructor(e){super(e,"b")}}class Da extends Mo{constructor(e){super(e,"i")}}class $d extends Mo{constructor(e){super(e,"u")}}class Gd extends Mr{constructor(e,t){super(null,t);this.add()}add(){return super.add(`
|
|
644
|
-
`)}}class zd extends Mr{constructor(e,t){let n={...t,link:{url:t.href}};super(null,n)}}var Ey={box:my,text:Iy,input:ky,select:wy,textarea:Cy,ascii_font:gy,tab_select:Sy,scrollbox:yy,code:hy,diff:py,line_number:xy,markdown:by,image:Ay,span:Mr,strong:Na,b:Na,em:Da,i:Da,u:$d,br:Gd,a:zd},Hd={...Ey};function Ty(e){Object.assign(Hd,e)}function By(){return Hd}var za=Ro(),Vn=()=>{let e=xn(za);if(!e)throw Error("No renderer found");return e},Ry=(e)=>{let t=Vn();Gt(()=>{t.on("resize",e)}),Me(()=>{t.off("resize",e)})},vt=()=>{let e=Vn(),[t,n]=j({width:e.width,height:e.height});return Ry((o,i)=>{n({width:o,height:i})}),t},Ud=(e,t)=>{let r=Vn().keyInput;Gt(()=>{if(r.on("keypress",e),t?.release)r.on("keyrelease",e)}),Me(()=>{if(r.off("keypress",e),t?.release)r.off("keyrelease",e)})},jd=(e)=>{let n=Vn().keyInput;Gt(()=>{n.on("paste",e)}),Me(()=>{n.off("paste",e)})};var Oy=(e)=>ye(()=>e());function Ly({createElement:e,createTextNode:t,createDynamicTextNode:n,createSlotNode:r,isTextNode:o,replaceText:i,insertNode:a,removeNode:s,setProperty:l,getParentNode:u,getFirstChild:m,getNextSibling:g}){function k(w,b,v,F){if(v!==void 0&&!F)F=[];if(typeof b!=="function")return y(w,b,F,v);$t((L)=>y(w,b(),L,v),F)}function y(w,b,v,F,L){while(typeof v==="function")v=v();if(b===v)return v;let J=typeof b,V=F!==void 0;if(J==="string"||J==="number"){if(J==="number")b=b.toString();if(V){let q=v[0];if(q&&o(q))i(q,b);else q=n(b);v=D(w,v,F,q)}else if(v!==""&&typeof v==="string")i(m(w),v=b);else D(w,v,F,n(b)),v=b}else if(b==null||J==="boolean")v=D(w,v,F);else if(J==="function")return $t(()=>{let q=b();while(typeof q==="function")q=q();v=y(w,q,v,F)}),()=>v;else if(Array.isArray(b)){let q=[];if(_(q,b,L))return $t(()=>v=y(w,q,v,F,!0)),()=>v;if(q.length===0){let X=D(w,v,F);if(V)return v=X}else if(Array.isArray(v))if(v.length===0)N(w,q,F);else U(w,v,q);else if(v==null||v==="")N(w,q);else U(w,V&&v||[m(w)],q);v=q}else{if(Array.isArray(v)){if(V)return v=D(w,v,F,b);D(w,v,null,b)}else if(v==null||v===""||!m(w))a(w,b);else S(w,b,m(w));v=b}return v}function _(w,b,v){let F=!1;for(let L=0,J=b.length;L<J;L++){let V=b[L],q;if(V==null||V===!0||V===!1);else if(Array.isArray(V))F=_(w,V)||F;else if((q=typeof V)==="string"||q==="number")w.push(n(V));else if(q==="function")if(v){while(typeof V==="function")V=V();F=_(w,Array.isArray(V)?V:[V])||F}else w.push(V),F=!0;else w.push(V)}return F}function U(w,b,v){let F=v.length,L=b.length,J=F,V=0,q=0,X=g(b[L-1]),ae=null;while(V<L||q<J){if(b[V]===v[q]){V++,q++;continue}while(b[L-1]===v[J-1])L--,J--;if(L===V){let Q=J<F?q?g(v[q-1]):v[J-q]:X;while(q<J)a(w,v[q++],Q)}else if(J===q)while(V<L){if(!ae||!ae.has(b[V]))s(w,b[V]);V++}else if(b[V]===v[J-1]&&v[q]===b[L-1]){let Q=g(b[--L]);a(w,v[q++],g(b[V++])),a(w,v[--J],Q),b[L]=v[J]}else{if(!ae){ae=new Map;let oe=q;while(oe<J)ae.set(v[oe],oe++)}let Q=ae.get(b[V]);if(Q!=null)if(q<Q&&Q<J){let oe=V,le=1,je;while(++oe<L&&oe<J){if((je=ae.get(b[oe]))==null||je!==Q+le)break;le++}if(le>Q-q){let St=b[V];while(q<Q)a(w,v[q++],St)}else S(w,v[q++],b[V++])}else V++;else s(w,b[V++])}}}function D(w,b,v,F){if(v===void 0){let J;while(J=m(w))s(w,J);return F&&a(w,F),F??""}let L=F||r();if(b.length){let J=!1;for(let V=b.length-1;V>=0;V--){let q=b[V];if(L!==q){let X=u(q)===w;if(!J&&!V)X?S(w,L,q):a(w,L,v);else X&&s(w,q)}else J=!0}}else a(w,L,v);return[L]}function N(w,b,v){for(let F=0,L=b.length;F<L;F++)a(w,b[F],v)}function S(w,b,v){a(w,b,v),s(w,v)}function z(w,b,v={},F){if(b||(b={}),!F)$t(()=>v.children=y(w,b.children,v.children));return $t(()=>b.ref&&b.ref(w)),$t(()=>{for(let L in b){if(L==="children"||L==="ref")continue;let J=b[L];if(J===v[L])continue;l(w,L,J,v[L]),v[L]=J}}),v}return{render(w,b){let v;return kn((F)=>{v=F,k(b,w())}),v},insert:k,spread(w,b,v){if(typeof b==="function")$t((F)=>z(w,b(),F,v));else z(w,b,void 0,v)},createElement:e,createTextNode:t,insertNode:a,setProp(w,b,v,F){return l(w,b,v,F),v},mergeProps:_o,effect:$t,memo:Oy,createComponent:wd,use(w,b,v){return at(()=>w(b,v))}}}function $y(e){let t=Ly(e);return t.mergeProps=_o,t}var Po=new Map;function Ha(e){if(!Po.has(e))Po.set(e,0);let t=Po.get(e)+1;return Po.set(e,t),`${e}-${t}`}var Ke=(...e)=>{if(process.env.DEBUG)console.log("[Reconciler]",...e)};class Yn extends Dy{static fromString(e,t={}){let n=new Yn(t);return n.add(e),n}}var Ge=(e)=>{if(!e)return;return e.id},La=(e)=>{let t;if(e instanceof Zd)t=e.getTextChildren();else t=e.getChildren();return t};function Gy(e,t,n){if(Ke("Inserting node:",Ge(t),"into parent:",Ge(e),"with anchor:",Ge(n),t instanceof Yn),t instanceof Jn)t.parent=e,t=t.getSlotChild(e);if(n&&n instanceof Jn)n=n.getSlotChild(e);if(Oa(t)){if(!(e instanceof Zd)&&!Oa(e))throw Error(`Orphan text error: "${t.toChunks().map((i)=>i.text).join("")}" must have a <text> as a parent: ${e.id} above ${t.id}`)}if(!(e instanceof Wd))throw console.error("[INSERT]","Tried to mount a non base renderable"),Error("Tried to mount a non base renderable");if(!n){e.add(t);return}let r=La(e),o=r.indexOf(n);if(o===-1)Ke("[INSERT]","Could not find anchor",Ge(e),Ge(n),"[children]",...r.map((i)=>i.id));e.add(t,o)}function zy(e,t){Ke("Removing node:",Ge(t),"from parent:",Ge(e));let n;if(t instanceof Jn){n=t;let r=n.getSlotChildForRemoval(e);if(!r){if(n.parent===e)n.parent=null;return}t=r}e.remove(t),n?.didRemoveSlotChild(e,t),process.nextTick(()=>{if(t instanceof Wd&&!t.parent){t.destroyRecursively();return}})}function Dd(e,t){Ke("Creating text node:",e);let n=Ha("text-node");if(typeof e==="number")e=e.toString();return Yn.fromString(t?_r(e):e,{id:n})}function Hy(){let e=Ha("slot-node");return Ke("Creating slot node",e),new Jn(e)}function Od(e){Ke("Getting parent of node:",Ge(e));let t=e.parent??void 0;if(t instanceof Fy)t=t.textParent??void 0;let n=t?.parent?.parent?.parent;if(n instanceof Ny&&n.content===t)t=n;return t}var{render:Uy,effect:E,memo:de,createComponent:h,createElement:A,createTextNode:ze,insertNode:R,insert:p,spread:ZB,setProp:d,mergeProps:KB,use:Fo}=$y({createElement(e){Ke("Creating element:",e);let t=Ha(e),n=xn(za);if(!n)throw Error("No renderer found");let r=By();if(!r[e])throw Error(`[Reconciler] Unknown component type: ${e}`);let o=new r[e](n,{id:t});if(o instanceof Pd)Me(()=>{o.source=void 0});return Ke("Element created with id:",t),o},createTextNode:(e)=>Dd(e,!0),createDynamicTextNode:(e)=>Dd(e,!1),createSlotNode:Hy,replaceText(e,t){if(Ke("Replacing text:",t,"in node:",Ge(e)),!(e instanceof Yn))return;e.replace(t,0)},setProperty(e,t,n,r){if(t.startsWith("on:")){let o=t.slice(3);if(n)e.on(o,n);if(r)e.off(o,r);return}if(Oa(e)){if(t==="href"){e.link={url:n};return}if(t==="style"){e.attributes|=_y(n),e.fg=n.fg?Md(n.fg):e.fg,e.bg=n.bg?Md(n.bg):e.bg;return}return}switch(t){case"id":Ke("Id mapped",e.id,"=",n),e[t]=n;break;case"focused":if(!(e instanceof My))return;if(n)e.focus();else e.blur();break;case"onChange":let o=void 0;if(e instanceof Fd)o=Ma.SELECTION_CHANGED;else if(e instanceof Nd)o=Fa.SELECTION_CHANGED;else if(e instanceof Pa)o=Pr.CHANGE;if(!o)break;if(n)e.on(o,n);if(r)e.off(o,r);break;case"onInput":if(e instanceof Pa){if(n)e.on(Pr.INPUT,n);if(r)e.off(Pr.INPUT,r)}break;case"onSubmit":if(e instanceof Pa){if(n)e.on(Pr.ENTER,n);if(r)e.off(Pr.ENTER,r)}else e[t]=n;break;case"onSelect":if(e instanceof Fd){if(n)e.on(Ma.ITEM_SELECTED,n);if(r)e.off(Ma.ITEM_SELECTED,r)}else if(e instanceof Nd){if(n)e.on(Fa.ITEM_SELECTED,n);if(r)e.off(Fa.ITEM_SELECTED,r)}break;case"style":let i=n??{},a=r??{};if(Py(e)&&a.selectionOccupancy&&!i.selectionOccupancy)e.selectionOccupancy=void 0;if(e instanceof Pd)for(let s in a){if(Object.prototype.hasOwnProperty.call(i,s))continue;if(s!=="fit"&&s!=="protocol")continue;e[s]=void 0}for(let s in i){let l=i[s];if(l===a[s])continue;e[s]=l}break;case"text":case"content":{let s=typeof n==="string"?n:Array.isArray(n)?n.join(""):`${n}`;e[t]=s;break}default:e[t]=n}},isTextNode(e){return e instanceof Yn},insertNode:Gy,removeNode:zy,getParentNode:Od,getFirstChild(e){Ke("Getting first child of node:",Ge(e));let t=La(e)[0];if(!t){Ke("No first child found for node:",Ge(e));return}return Ke("First child found:",Ge(t),"for node:",Ge(e)),t},getNextSibling(e){Ke("Getting next sibling of node:",Ge(e));let t=Od(e);if(!t){Ke("No parent found for node:",Ge(e));return}if(e instanceof Jn){let i=e.getSlotChildForRemoval(t);if(i)e=i}let n=La(t),r=n.indexOf(e);if(r===-1||r===n.length-1){Ke("No next sibling found for node:",Ge(e));return}let o=n[r+1];if(!o){Ke("Next sibling is null for node:",Ge(e));return}return Ke("Next sibling found:",Ge(o),"for node:",Ge(e)),o}});function Ld(e){return e?.getLayoutNode?.()?.constructor}function Qy(e){return e?.create?.()??Kd.default.Node.create()}class Ua extends jy{constructor(e){super({id:e})}add(e,t){throw Error("Can't add children on an Slot renderable")}getChildren(){return[]}remove(e){}insertBefore(e,t){throw Error("Can't add children on an Slot renderable")}getRenderable(e){return}getChildrenCount(){return 0}requestRender(){}findDescendantById(e){return}}class $a extends Zy{slotParent;destroyed=!1;constructor(e,t){super({id:e});this._visible=!1,this.slotParent=t}detachFromSlot(){this.slotParent=void 0}disposeWithoutSlotCascade(){if(this.destroyed)return;this.destroyed=!0,this.detachFromSlot()}destroy(){if(this.destroyed)return;this.destroyed=!0;let e=this.slotParent;this.slotParent=void 0,e?.destroy(),super.destroy()}}class Ga extends Ua{yogaNode;slotParent;destroyed=!1;yogaNodeConstructor;yogaNodeFreed=!1;constructor(e,t,n){super(e);this._visible=!1,this.slotParent=t,this.yogaNodeConstructor=Ld(n),this.yogaNode=Qy(this.yogaNodeConstructor),this.yogaNode.setDisplay(Kd.Display.None)}getLayoutNode(){return this.yogaNode}updateFromLayout(){}updateLayout(){}onRemove(){}isCompatibleWith(e){return this.yogaNodeConstructor===Ld(e)}detachFromSlot(){this.slotParent=void 0}freeYogaNode(){if(this.yogaNodeFreed)return;this.yogaNodeFreed=!0;try{this.yogaNode.free()}catch{}}disposeWithoutSlotCascade(){if(this.destroyed)return;this.destroyed=!0,this.detachFromSlot(),this.freeYogaNode()}destroy(){if(this.destroyed)return;this.destroyed=!0;let e=this.slotParent;this.slotParent=void 0,this.freeYogaNode(),e?.destroy()}}class Jn extends Ua{destroyed=!1;layoutNodesByParent=new Map;textNodesByParent=new Map;layoutNodeCount=0;textNodeCount=0;constructor(e){super(e);this._visible=!1}get layoutNode(){return this.getCurrentSlotChild(this.layoutNodesByParent)}get textNode(){return this.getCurrentSlotChild(this.textNodesByParent)}isTextSlotParent(e){return Wy(e)||e instanceof Ky}getCurrentSlotChild(e){for(let t of e.values())if(t.parent)return t;return e.values().next().value}getTextNodeForParent(e){let t=this.textNodesByParent.get(e);if(t)return t;for(let[n,r]of this.textNodesByParent){if(r.parent!==e)continue;return this.textNodesByParent.delete(n),this.textNodesByParent.set(e,r),r}}getLayoutNodeForParent(e){let t=this.layoutNodesByParent.get(e);if(t)return t;for(let[n,r]of this.layoutNodesByParent){if(r.parent!==e)continue;return this.layoutNodesByParent.delete(n),this.layoutNodesByParent.set(e,r),r}}takeReusableTextNode(e){for(let[t,n]of this.textNodesByParent){if(n.parent)continue;return this.textNodesByParent.delete(t),this.textNodesByParent.set(e,n),n}}takeReusableLayoutNode(e){for(let[t,n]of this.layoutNodesByParent){if(n.parent)continue;if(!n.isCompatibleWith(e))continue;return this.layoutNodesByParent.delete(t),this.layoutNodesByParent.set(e,n),n}}disposeDetachedTextNodes(){for(let[e,t]of this.textNodesByParent){if(t.parent)continue;this.textNodesByParent.delete(e),t.disposeWithoutSlotCascade()}}disposeDetachedIncompatibleLayoutNodes(e){for(let[t,n]of this.layoutNodesByParent){if(n.parent||n.isCompatibleWith(e))continue;this.layoutNodesByParent.delete(t),n.disposeWithoutSlotCascade()}}getAttachedSlotParent(e){for(let t of this.textNodesByParent.values())if(t!==e&&t.parent)return t.parent;for(let t of this.layoutNodesByParent.values())if(t!==e&&t.parent)return t.parent;return null}hasOtherAttachedSlotChildren(e){return this.getAttachedSlotParent(e)!==null}getSlotChild(e){if(this.isTextSlotParent(e)){let o=this.getTextNodeForParent(e);if(o)return o;let i=this.takeReusableTextNode(e);if(i)return i;this.disposeDetachedIncompatibleLayoutNodes(e);let a=new $a(`slot-text-${this.id}-${++this.textNodeCount}`,this);return this.textNodesByParent.set(e,a),a}let t=this.getLayoutNodeForParent(e);if(t)return t;let n=this.takeReusableLayoutNode(e);if(n)return n;this.disposeDetachedTextNodes(),this.disposeDetachedIncompatibleLayoutNodes(e);let r=new Ga(`slot-layout-${this.id}-${++this.layoutNodeCount}`,this,e);return this.layoutNodesByParent.set(e,r),r}getSlotChildForRemoval(e){if(this.isTextSlotParent(e))return this.getTextNodeForParent(e);return this.getLayoutNodeForParent(e)}didRemoveSlotChild(e,t){let n=this.hasOtherAttachedSlotChildren(t);if(n&&t instanceof $a&&this.getTextNodeForParent(e)===t)this.textNodesByParent.delete(e),t.disposeWithoutSlotCascade();if(n&&t instanceof Ga&&this.getLayoutNodeForParent(e)===t)this.layoutNodesByParent.delete(e),t.disposeWithoutSlotCascade();if(this.parent===e)this.parent=this.getAttachedSlotParent(t)}destroy(){if(this.destroyed)return;this.destroyed=!0;let e=new Set(this.layoutNodesByParent.values());this.layoutNodesByParent.clear();for(let n of e)n.destroy();let t=new Set(this.textNodesByParent.values());this.textNodesByParent.clear();for(let n of t)n.destroy()}}Ty({time_to_first_draw:Yy});var Jy=(e,t)=>{let n,r=!1,o=!1,i=!0,a=!1,s=e.destroy.bind(e),l=()=>{if(o)return;if(!n){r=!0;return}o=!0,n()};e.once("destroy",l),e.destroy=()=>{if(i){a=!0;return}s()};try{n=Uy(()=>h(za.Provider,{get value(){return e},get children(){return h(t,{})}}),e.root)}finally{i=!1,e.destroy=s}if(r)l();if(a)s()},Qd=async(e,t={})=>{let n=t instanceof dy?t:await uy({...t,onDestroy:()=>{t.onDestroy?.()}});fy.attach(n),Jy(n,e)};import dB from"fs";import uB from"os";import pc from"path";import Xe from"process";import{createCliRenderer as fB}from"@opentui/core";var qn;(function(e){e.assertEqual=(o)=>{};function t(o){}e.assertIs=t;function n(o){throw Error()}e.assertNever=n,e.arrayToEnum=(o)=>{let i={};for(let a of o)i[a]=a;return i},e.getValidEnumValues=(o)=>{let i=e.objectKeys(o).filter((s)=>typeof o[o[s]]!=="number"),a={};for(let s of i)a[s]=o[s];return e.objectValues(a)},e.objectValues=(o)=>e.objectKeys(o).map(function(i){return o[i]}),e.objectKeys=typeof Object.keys==="function"?(o)=>Object.keys(o):(o)=>{let i=[];for(let a in o)if(Object.prototype.hasOwnProperty.call(o,a))i.push(a);return i},e.find=(o,i)=>{for(let a of o)if(i(a))return a;return},e.isInteger=typeof Number.isInteger==="function"?(o)=>Number.isInteger(o):(o)=>typeof o==="number"&&Number.isFinite(o)&&Math.floor(o)===o;function r(o,i=" | "){return o.map((a)=>typeof a==="string"?`'${a}'`:a).join(i)}e.joinValues=r,e.jsonStringifyReplacer=(o,i)=>{if(typeof i==="bigint")return i.toString();return i}})(qn||(qn={}));var Yd;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(Yd||(Yd={}));var nR=qn.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]);var iR=qn.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class Xn extends Error{get errors(){return this.issues}constructor(e){super();this.issues=[],this.addIssue=(n)=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let t=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,t);else this.__proto__=t;this.name="ZodError",this.issues=e}format(e){let t=e||function(o){return o.message},n={_errors:[]},r=(o)=>{for(let i of o.issues)if(i.code==="invalid_union")i.unionErrors.map(r);else if(i.code==="invalid_return_type")r(i.returnTypeError);else if(i.code==="invalid_arguments")r(i.argumentsError);else if(i.path.length===0)n._errors.push(t(i));else{let a=n,s=0;while(s<i.path.length){let l=i.path[s];if(s!==i.path.length-1)a[l]=a[l]||{_errors:[]};else a[l]=a[l]||{_errors:[]},a[l]._errors.push(t(i));a=a[l],s++}}};return r(this),n}static assert(e){if(!(e instanceof Xn))throw Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,qn.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=(t)=>t.message){let t={},n=[];for(let r of this.issues)if(r.path.length>0){let o=r.path[0];t[o]=t[o]||[],t[o].push(e(r))}else n.push(e(r));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}}Xn.create=(e)=>new Xn(e);var ft={authenticate:"authenticate",initialize:"initialize",session_cancel:"session/cancel",session_close:"session/close",session_fork:"session/fork",session_list:"session/list",session_load:"session/load",session_new:"session/new",session_prompt:"session/prompt",session_resume:"session/resume",session_set_config_option:"session/set_config_option",session_set_mode:"session/set_mode",session_set_model:"session/set_model"},zt={fs_read_text_file:"fs/read_text_file",fs_write_text_file:"fs/write_text_file",session_request_permission:"session/request_permission",session_update:"session/update",terminal_create:"terminal/create",terminal_kill:"terminal/kill",terminal_output:"terminal/output",terminal_release:"terminal/release",terminal_wait_for_exit:"terminal/wait_for_exit"},Jd=1;var cR=Object.freeze({status:"aborted"});function M(e,t,n){function r(s,l){var u;Object.defineProperty(s,"_zod",{value:s._zod??{},enumerable:!1}),(u=s._zod).traits??(u.traits=new Set),s._zod.traits.add(e),t(s,l);for(let m in a.prototype)if(!(m in s))Object.defineProperty(s,m,{value:a.prototype[m].bind(s)});s._zod.constr=a,s._zod.def=l}let o=n?.Parent??Object;class i extends o{}Object.defineProperty(i,"name",{value:e});function a(s){var l;let u=n?.Parent?new i:this;r(u,s),(l=u._zod).deferred??(l.deferred=[]);for(let m of u._zod.deferred)m();return u}return Object.defineProperty(a,"init",{value:r}),Object.defineProperty(a,Symbol.hasInstance,{value:(s)=>{if(n?.Parent&&s instanceof n.Parent)return!0;return s?._zod?.traits?.has(e)}}),Object.defineProperty(a,"name",{value:e}),a}var dR=Symbol("zod_brand");class an extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}var No={};function Ht(e){if(e)Object.assign(No,e);return No}function Vd(e){let t=Object.values(e).filter((r)=>typeof r==="number");return Object.entries(e).filter(([r,o])=>t.indexOf(+r)===-1).map(([r,o])=>o)}function qd(e,t){if(typeof t==="bigint")return t.toString();return t}function Wa(e){return{get value(){{let n=e();return Object.defineProperty(this,"value",{value:n}),n}throw Error("cached value already set")}}}function Lo(e){return e===null||e===void 0}function $o(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function Xd(e,t){let n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,o=n>r?n:r,i=Number.parseInt(e.toFixed(o).replace(".","")),a=Number.parseInt(t.toFixed(o).replace(".",""));return i%a/10**o}function Ce(e,t,n){Object.defineProperty(e,t,{get(){{let o=n();return e[t]=o,o}throw Error("cached value already set")},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function Za(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function er(e){return JSON.stringify(e)}var Ka=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};function Oo(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}var eu=Wa(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});function Fr(e){if(Oo(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;let n=t.prototype;if(Oo(n)===!1)return!1;if(Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)return!1;return!0}var tu=new Set(["string","number","symbol"]);function bn(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Qt(e,t,n){let r=new e._zod.constr(t??e._zod.def);if(!t||n?.parent)r._zod.parent=e;return r}function ie(e){let t=e;if(!t)return{};if(typeof t==="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}if(delete t.message,typeof t.error==="string")return{...t,error:()=>t.error};return t}function nu(e){return Object.keys(e).filter((t)=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var ru={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Xy(e,t){let n={},r=e._zod.def;for(let o in t){if(!(o in r.shape))throw Error(`Unrecognized key: "${o}"`);if(!t[o])continue;n[o]=r.shape[o]}return Qt(e,{...e._zod.def,shape:n,checks:[]})}function ew(e,t){let n={...e._zod.def.shape},r=e._zod.def;for(let o in t){if(!(o in r.shape))throw Error(`Unrecognized key: "${o}"`);if(!t[o])continue;delete n[o]}return Qt(e,{...e._zod.def,shape:n,checks:[]})}function tw(e,t){if(!Fr(t))throw Error("Invalid input to extend: expected a plain object");let n={...e._zod.def,get shape(){let r={...e._zod.def.shape,...t};return Za(this,"shape",r),r},checks:[]};return Qt(e,n)}function nw(e,t){return Qt(e,{...e._zod.def,get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return Za(this,"shape",n),n},catchall:t._zod.def.catchall,checks:[]})}function rw(e,t,n){let r=t._zod.def.shape,o={...r};if(n)for(let i in n){if(!(i in r))throw Error(`Unrecognized key: "${i}"`);if(!n[i])continue;o[i]=e?new e({type:"optional",innerType:r[i]}):r[i]}else for(let i in r)o[i]=e?new e({type:"optional",innerType:r[i]}):r[i];return Qt(t,{...t._zod.def,shape:o,checks:[]})}function ow(e,t,n){let r=t._zod.def.shape,o={...r};if(n)for(let i in n){if(!(i in o))throw Error(`Unrecognized key: "${i}"`);if(!n[i])continue;o[i]=new e({type:"nonoptional",innerType:r[i]})}else for(let i in r)o[i]=new e({type:"nonoptional",innerType:r[i]});return Qt(t,{...t._zod.def,shape:o,checks:[]})}function tr(e,t=0){for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function Yt(e,t){return t.map((n)=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function Do(e){return typeof e==="string"?e:e?.message}function Ut(e,t,n){let r={...e,path:e.path??[]};if(!e.message){let o=Do(e.inst?._zod.def?.error?.(e))??Do(t?.error?.(e))??Do(n.customError?.(e))??Do(n.localeError?.(e))??"Invalid input";r.message=o}if(delete r.inst,delete r.continue,!t?.reportInput)delete r.input;return r}function Go(e){if(Array.isArray(e))return"array";if(typeof e==="string")return"string";return"unknown"}function nr(...e){let[t,n,r]=e;if(typeof t==="string")return{message:t,code:"custom",input:n,inst:r};return{...t}}var ou=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),Object.defineProperty(e,"message",{get(){return JSON.stringify(t,qd,2)},enumerable:!0}),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},zo=M("$ZodError",ou),Qa=M("$ZodError",ou,{Parent:Error});function iu(e,t=(n)=>n.message){let n={},r=[];for(let o of e.issues)if(o.path.length>0)n[o.path[0]]=n[o.path[0]]||[],n[o.path[0]].push(t(o));else r.push(t(o));return{formErrors:r,fieldErrors:n}}function au(e,t){let n=t||function(i){return i.message},r={_errors:[]},o=(i)=>{for(let a of i.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map((s)=>o({issues:s}));else if(a.code==="invalid_key")o({issues:a.issues});else if(a.code==="invalid_element")o({issues:a.issues});else if(a.path.length===0)r._errors.push(n(a));else{let s=r,l=0;while(l<a.path.length){let u=a.path[l];if(l!==a.path.length-1)s[u]=s[u]||{_errors:[]};else s[u]=s[u]||{_errors:[]},s[u]._errors.push(n(a));s=s[u],l++}}};return o(e),r}var su=(e)=>(t,n,r,o)=>{let i=r?Object.assign(r,{async:!1}):{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new an;if(a.issues.length){let s=new(o?.Err??e)(a.issues.map((l)=>Ut(l,i,Ht())));throw Ka(s,o?.callee),s}return a.value};var lu=(e)=>async(t,n,r,o)=>{let i=r?Object.assign(r,{async:!0}):{async:!0},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)a=await a;if(a.issues.length){let s=new(o?.Err??e)(a.issues.map((l)=>Ut(l,i,Ht())));throw Ka(s,o?.callee),s}return a.value};var Ya=(e)=>(t,n,r)=>{let o=r?{...r,async:!1}:{async:!1},i=t._zod.run({value:n,issues:[]},o);if(i instanceof Promise)throw new an;return i.issues.length?{success:!1,error:new(e??zo)(i.issues.map((a)=>Ut(a,o,Ht())))}:{success:!0,data:i.value}},cu=Ya(Qa),Ja=(e)=>async(t,n,r)=>{let o=r?Object.assign(r,{async:!0}):{async:!0},i=t._zod.run({value:n,issues:[]},o);if(i instanceof Promise)i=await i;return i.issues.length?{success:!1,error:new e(i.issues.map((a)=>Ut(a,o,Ht())))}:{success:!0,data:i.value}},du=Ja(Qa);var uu=/^[cC][^\s-]{8,}$/,fu=/^[0-9a-z]+$/,gu=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,mu=/^[0-9a-vA-V]{20}$/,hu=/^[A-Za-z0-9]{27}$/,pu=/^[a-zA-Z0-9_-]{21}$/,Au=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var ku=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Va=(e)=>{if(!e)return/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)};var xu=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;function bu(){return new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")}var yu=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,wu=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/,Su=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Cu=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,vu=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,qa=/^[A-Za-z0-9_-]*$/,Iu=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var Eu=/^\+(?:[0-9]){6,14}[0-9]$/,Tu="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",Bu=new RegExp(`^${Tu}$`);function Ru(e){return typeof e.precision==="number"?e.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":e.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${e.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function _u(e){return new RegExp(`^${Ru(e)}$`)}function Pu(e){let t=Ru({precision:e.precision}),n=["Z"];if(e.local)n.push("");if(e.offset)n.push("([+-]\\d{2}:\\d{2})");let r=`${t}(?:${n.join("|")})`;return new RegExp(`^${Tu}T(?:${r})$`)}var Mu=(e)=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)};var Fu=/^\d+$/,Nu=/^-?\d+(?:\.\d+)?/i,Du=/true|false/i;var Ou=/^[^A-Z]*$/,Lu=/^[^a-z]*$/;var nt=M("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),$u={number:"number",bigint:"bigint",object:"date"},es=M("$ZodCheckLessThan",(e,t)=>{nt.init(e,t);let n=$u[typeof t.value];e._zod.onattach.push((r)=>{let o=r._zod.bag,i=(t.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(t.value<i)if(t.inclusive)o.maximum=t.value;else o.exclusiveMaximum=t.value}),e._zod.check=(r)=>{if(t.inclusive?r.value<=t.value:r.value<t.value)return;r.issues.push({origin:n,code:"too_big",maximum:t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),ts=M("$ZodCheckGreaterThan",(e,t)=>{nt.init(e,t);let n=$u[typeof t.value];e._zod.onattach.push((r)=>{let o=r._zod.bag,i=(t.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(t.value>i)if(t.inclusive)o.minimum=t.value;else o.exclusiveMinimum=t.value}),e._zod.check=(r)=>{if(t.inclusive?r.value>=t.value:r.value>t.value)return;r.issues.push({origin:n,code:"too_small",minimum:t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Gu=M("$ZodCheckMultipleOf",(e,t)=>{nt.init(e,t),e._zod.onattach.push((n)=>{var r;(r=n._zod.bag).multipleOf??(r.multipleOf=t.value)}),e._zod.check=(n)=>{if(typeof n.value!==typeof t.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof n.value==="bigint"?n.value%t.value===BigInt(0):Xd(n.value,t.value)===0)return;n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),zu=M("$ZodCheckNumberFormat",(e,t)=>{nt.init(e,t),t.format=t.format||"float64";let n=t.format?.includes("int"),r=n?"int":"number",[o,i]=ru[t.format];e._zod.onattach.push((a)=>{let s=a._zod.bag;if(s.format=t.format,s.minimum=o,s.maximum=i,n)s.pattern=Fu}),e._zod.check=(a)=>{let s=a.value;if(n){if(!Number.isInteger(s)){a.issues.push({expected:r,format:t.format,code:"invalid_type",input:s,inst:e});return}if(!Number.isSafeInteger(s)){if(s>0)a.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,continue:!t.abort});else a.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,continue:!t.abort});return}}if(s<o)a.issues.push({origin:"number",input:s,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort});if(s>i)a.issues.push({origin:"number",input:s,code:"too_big",maximum:i,inst:e})}});var Hu=M("$ZodCheckMaxLength",(e,t)=>{var n;nt.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!Lo(o)&&o.length!==void 0}),e._zod.onattach.push((r)=>{let o=r._zod.bag.maximum??Number.POSITIVE_INFINITY;if(t.maximum<o)r._zod.bag.maximum=t.maximum}),e._zod.check=(r)=>{let o=r.value;if(o.length<=t.maximum)return;let a=Go(o);r.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Uu=M("$ZodCheckMinLength",(e,t)=>{var n;nt.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!Lo(o)&&o.length!==void 0}),e._zod.onattach.push((r)=>{let o=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(t.minimum>o)r._zod.bag.minimum=t.minimum}),e._zod.check=(r)=>{let o=r.value;if(o.length>=t.minimum)return;let a=Go(o);r.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),ju=M("$ZodCheckLengthEquals",(e,t)=>{var n;nt.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!Lo(o)&&o.length!==void 0}),e._zod.onattach.push((r)=>{let o=r._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=(r)=>{let o=r.value,i=o.length;if(i===t.length)return;let a=Go(o),s=i>t.length;r.issues.push({origin:a,...s?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!t.abort})}}),Nr=M("$ZodCheckStringFormat",(e,t)=>{var n,r;if(nt.init(e,t),e._zod.onattach.push((o)=>{let i=o._zod.bag;if(i.format=t.format,t.pattern)i.patterns??(i.patterns=new Set),i.patterns.add(t.pattern)}),t.pattern)(n=e._zod).check??(n.check=(o)=>{if(t.pattern.lastIndex=0,t.pattern.test(o.value))return;o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})});else(r=e._zod).check??(r.check=()=>{})}),Wu=M("$ZodCheckRegex",(e,t)=>{Nr.init(e,t),e._zod.check=(n)=>{if(t.pattern.lastIndex=0,t.pattern.test(n.value))return;n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Zu=M("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Ou),Nr.init(e,t)}),Ku=M("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Lu),Nr.init(e,t)}),Qu=M("$ZodCheckIncludes",(e,t)=>{nt.init(e,t);let n=bn(t.includes),r=new RegExp(typeof t.position==="number"?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push((o)=>{let i=o._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),e._zod.check=(o)=>{if(o.value.includes(t.includes,t.position))return;o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),Yu=M("$ZodCheckStartsWith",(e,t)=>{nt.init(e,t);let n=new RegExp(`^${bn(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push((r)=>{let o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=(r)=>{if(r.value.startsWith(t.prefix))return;r.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:r.value,inst:e,continue:!t.abort})}}),Ju=M("$ZodCheckEndsWith",(e,t)=>{nt.init(e,t);let n=new RegExp(`.*${bn(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push((r)=>{let o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=(r)=>{if(r.value.endsWith(t.suffix))return;r.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:r.value,inst:e,continue:!t.abort})}});var Vu=M("$ZodCheckOverwrite",(e,t)=>{nt.init(e,t),e._zod.check=(n)=>{n.value=t.tx(n.value)}});class ns{constructor(e=[]){if(this.content=[],this.indent=0,this)this.args=e}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e==="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let n=e.split(`
|
|
643
|
+
`}static clearCache(){this.cache.clear()}}});function Mv(){return[{url:process.env.DEEPX_SERVER_URL||"https://api-code.deepvlab.ai",name:"Primary Development Server",region:"default",status:"active"}]}function js(){let t=Mv().find((n)=>n.status==="active");if(!t)throw Error("No active proxy server available. Please contact support.");return t.url}var aM;var qm=rn(()=>{aM={serverUrl:js(),timeout:200000,retryAttempts:3,retryDelay:1000}});import{randomUUID as Fv}from"crypto";function li(){if(!Ws)Ws=Fv();return Ws}var Ws,cM;var Xm=rn(()=>{cM=li()});function rt(e){let t=e??process.env.CLI_VERSION??"unknown",n=process.platform,r=process.arch,o=process.env.EASYCODE_UA_CLIENT;if(o)return`EasyCode/${o}/${t} (${n}; ${r})`;if(t.startsWith("VSCode-"))return`EasyCode/VSCode/${t.slice(7)||"unknown"} (${n}; ${r})`;if(t.startsWith("Desktop-"))return`EasyCode/Desktop/${t.slice(8)||"unknown"} (${n}; ${r})`;return`EasyCode/CLI/${t} (${n}; ${r})`}import*as be from"fs";import*as Et from"path";import*as vn from"os";class yt{static instance=null;config;userInfo=null;jwtTokenData=null;usageStats={totalCreditsConsumed:0,lastUpdated:new Date().toISOString()};userInfoFilePath;jwtTokenFilePath;usageStatsFilePath;refreshPromise=null;cliVersion="unknown";periodicStatusCheckIntervalId=null;onLoginSuccessCallbacks=[];getCliVersion(){return this.cliVersion}getUserAgent(){return rt(this.cliVersion)}formatTimeRemaining(e){if(e<=0)return"\u5DF2\u8FC7\u671F";let t=Math.floor(e/1000),n=Math.floor(t/86400),r=Math.floor(t%86400/3600),o=Math.floor(t%3600/60),i=t%60;if(n>0)return`${n}\u5929${r}\u5C0F\u65F6${o}\u5206\u949F`;else if(r>0)return`${r}\u5C0F\u65F6${o}\u5206\u949F${i}\u79D2`;else if(o>0)return`${o}\u5206\u949F${i}\u79D2`;else return`${i}\u79D2`}formatAbsoluteTime(e){return new Date(e).toLocaleString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}constructor(){if(process.env.DEEPX_SERVER_URL?.includes("localhost"))this.userInfoFilePath=Et.join(vn.homedir(),".easycode-user","user-info-dev.json"),this.jwtTokenFilePath=Et.join(vn.homedir(),".easycode-user","jwt-token-dev.json"),this.usageStatsFilePath=Et.join(vn.homedir(),".easycode-user","usage-stats-dev.json");else this.userInfoFilePath=Et.join(vn.homedir(),".easycode-user","user-info.json"),this.jwtTokenFilePath=Et.join(vn.homedir(),".easycode-user","jwt-token.json"),this.usageStatsFilePath=Et.join(vn.homedir(),".easycode-user","usage-stats.json");this.cliVersion=process.env.CLI_VERSION||"unknown",this.config={proxyServerUrl:js()},this.loadUserInfo(),this.loadJwtToken(),this.loadUsageStats(),this.startPeriodicStatusCheck()}startPeriodicStatusCheck(){if(this.periodicStatusCheckIntervalId!==null)return;this.periodicStatusCheckIntervalId=setInterval(()=>{this.runPeriodicTokenCheck()},600000)}async runPeriodicTokenCheck(){if(!this.userInfo&&!this.jwtTokenData)return;if(!this.jwtTokenData||this.isTokenExpired())this.reloadFromDisk();let e=!!this.jwtTokenData&&!this.isTokenExpired();if(this.userInfo&&!e){if(this.jwtTokenData?.refreshToken)try{await this.refreshAccessToken(),console.log("[Login Check] \u2705 Periodic status check - expired access credential renewed via refresh credential");return}catch(t){if(this.jwtTokenData?.refreshToken){console.warn("[Login Check] \u26A0\uFE0F Periodic status check - credential refresh failed transiently, keeping session and retrying next cycle:",t instanceof Error?t.message:String(t));return}}console.log("[Login Check] \u26A0\uFE0F Periodic status check - Credential expired and cannot be renewed, signing out to return to login"),this.clear(),this.triggerLoginSuccessCallbacks();return}}static getInstance(){if(!yt.instance)yt.instance=new yt;return yt.instance}chmodOwnerOnly(e){if(process.platform==="win32")return;try{be.chmodSync(e,384)}catch(t){console.warn("[Login Check] Failed to chmod credential file:",t)}}loadUserInfo(){try{if(be.existsSync(this.userInfoFilePath)){this.chmodOwnerOnly(this.userInfoFilePath);let e=be.readFileSync(this.userInfoFilePath,"utf8");this.userInfo=JSON.parse(e)}else this.userInfo=null}catch(e){console.warn("[Login Check] Failed to load user info from local file:",e),this.userInfo=null}}saveUserInfo(){try{let e=Et.dirname(this.userInfoFilePath);if(!be.existsSync(e))be.mkdirSync(e,{recursive:!0,mode:448});be.writeFileSync(this.userInfoFilePath,JSON.stringify(this.userInfo,null,2)),this.chmodOwnerOnly(this.userInfoFilePath),console.log("[Login Check] User info saved to local file")}catch(e){console.error("[Login Check] Failed to save user info:",e)}}loadJwtToken(){try{if(be.existsSync(this.jwtTokenFilePath)){this.chmodOwnerOnly(this.jwtTokenFilePath);let e=be.readFileSync(this.jwtTokenFilePath,"utf8");if(this.jwtTokenData=JSON.parse(e),this.isTokenExpired()){if(!this.jwtTokenData?.refreshToken)this.jwtTokenData=null}else if(this.isTokenNearExpiry(300))console.log("\u26A0\uFE0F Access credential expiring soon, auto-renewal in progress")}else console.log("[Login Check] No stored access credential found, authentication required"),this.jwtTokenData=null}catch(e){console.warn("[Login Check] Failed to load access credential from local file:",e),this.jwtTokenData=null}}saveJwtToken(){try{if(!this.jwtTokenData)return;let e=Et.dirname(this.jwtTokenFilePath);if(!be.existsSync(e))be.mkdirSync(e,{recursive:!0,mode:448});be.writeFileSync(this.jwtTokenFilePath,JSON.stringify(this.jwtTokenData,null,2)),this.chmodOwnerOnly(this.jwtTokenFilePath),console.log("[Login Check] Access credential data saved to local file")}catch(e){console.error("[Login Check] Failed to save access credential:",e)}}loadUsageStats(){try{if(be.existsSync(this.usageStatsFilePath)){let e=be.readFileSync(this.usageStatsFilePath,"utf8");this.usageStats=JSON.parse(e)}}catch(e){console.warn("[Login Check] Failed to load usage stats from local file:",e),this.usageStats={totalCreditsConsumed:0,lastUpdated:new Date().toISOString()}}}saveUsageStats(){try{let e=Et.dirname(this.usageStatsFilePath);if(!be.existsSync(e))be.mkdirSync(e,{recursive:!0,mode:448});be.writeFileSync(this.usageStatsFilePath,JSON.stringify(this.usageStats,null,2)),this.chmodOwnerOnly(this.usageStatsFilePath),console.log("[Login Check] Usage stats saved to local file")}catch(e){console.error("[Login Check] Failed to save usage stats:",e)}}updateUsageStats(e){if(e<=0)return;this.usageStats.totalCreditsConsumed+=e,this.usageStats.lastUpdated=new Date().toISOString(),this.saveUsageStats(),console.log(`[Usage Stats] Updated total credits consumed: ${this.usageStats.totalCreditsConsumed} (+${e})`)}getUsageStats(){return{...this.usageStats}}checkStartupTokenStatus(){if(!this.jwtTokenData)return{hasToken:!1,isExpired:!0,expiresAt:null,hasRefreshToken:!1};return{hasToken:!0,isExpired:Date.now()>=this.jwtTokenData.expiresAt,expiresAt:this.jwtTokenData.expiresAt,hasRefreshToken:!!this.jwtTokenData.refreshToken}}configure(e){if(this.config={...this.config,...e},e.userInfo)this.userInfo=e.userInfo,this.saveUserInfo(),console.log(`[Login Check] User info configured: ${e.userInfo.name}`);if(e.proxyServerUrl)console.log(`[Login Check] Proxy server URL: ${e.proxyServerUrl}`);if(e.cliVersion)this.cliVersion=e.cliVersion,console.log(`[Login Check] CLI version set: ${e.cliVersion}`)}setUserInfo(e){this.userInfo=e,this.saveUserInfo(),console.log(`[Login Check] User info updated: ${e.name} (${e.email||e.openId||"N/A"})`),this.startPeriodicStatusCheck(),this.triggerLoginSuccessCallbacks()}onLoginSuccess(e){this.onLoginSuccessCallbacks.push(e)}triggerLoginSuccessCallbacks(){this.onLoginSuccessCallbacks.forEach((e)=>{try{e()}catch(t){console.error("[ProxyAuthManager] Error in login success callback:",t)}})}setCliVersion(e){this.cliVersion=e,console.log(`[Login Check] CLI version updated: ${e}`)}setJwtToken(e){let t=Date.now();this.jwtTokenData={accessToken:e,expiresIn:900,expiresAt:t+900000,savedAt:new Date().toISOString()},this.saveJwtToken(),console.log("[Login Check] Access credential updated")}setJwtTokenData(e){let n=Date.now()+e.expiresIn*1000;this.jwtTokenData={accessToken:e.accessToken,refreshToken:e.refreshToken,expiresIn:e.expiresIn,expiresAt:n,savedAt:new Date().toISOString()},this.saveJwtToken();let r=this.formatTimeRemaining(e.expiresIn*1000),o=this.formatAbsoluteTime(n),i=this.formatAbsoluteTime(n-Ks*1000),s=e.refreshToken?", will auto-renew":", manual login required";console.log(`[Login Check] Access credential updated - valid for: ${r} (until ${o}), next renewal: ${i}${s}`)}reloadFromDisk(){this.loadUserInfo(),this.loadJwtToken()}async getAccessToken(){if(!this.jwtTokenData)this.reloadFromDisk();if(!this.jwtTokenData)return console.log("[Login Check] No access credential available, authentication required"),null;let e=Date.now(),t=this.jwtTokenData.expiresAt-e,n=this.formatTimeRemaining(t);if(this.isTokenNearExpiry()){console.log(`[Login Check] Access credential expiring soon (remaining: ${n}), starting auto-renewal...`);try{return await this.refreshAccessToken()}catch(r){return console.error("[Login Check] Credential renewal failed:",r),null}}return this.jwtTokenData.accessToken}isTokenExpired(){if(!this.jwtTokenData)return!0;return Date.now()>=this.jwtTokenData.expiresAt}isTokenNearExpiry(e=Ks){if(!this.jwtTokenData)return!0;let t=this.jwtTokenData.expiresAt-Date.now(),n=t<=e*1000;if(n){let r=this.formatTimeRemaining(t);console.log(`[Login Check] Credential expiry check: ${r} remaining <= ${e}s threshold, renewal needed: ${n}`)}return n}async refreshAccessToken(){if(this.refreshPromise)return await this.refreshPromise;this.refreshPromise=this.performTokenRefresh();try{return await this.refreshPromise}finally{this.refreshPromise=null}}async performTokenRefresh(){if(!this.jwtTokenData?.refreshToken)throw Error("No refresh token available");try{console.log("[Login Check] Refreshing access credential...");let e=await fetch(`${this.config.proxyServerUrl}/auth/jwt/refresh`,{method:"POST",headers:{"Content-Type":"application/json","User-Agent":this.getUserAgent()},body:JSON.stringify({refreshToken:this.jwtTokenData.refreshToken})});if(!e.ok){if(e.status===401)throw this.clearTokens(),Error("Refresh credential expired or invalid - authentication required");let s=await e.text();throw Error(`Credential refresh failed (${e.status}): ${s}`)}let t=await e.json();if(!t.success||!t.data?.accessToken)throw Error("Invalid refresh response from server");let n=Date.now(),r=!!t.data.refreshToken;this.jwtTokenData={accessToken:t.data.accessToken,refreshToken:t.data.refreshToken||this.jwtTokenData.refreshToken,expiresIn:t.data.expiresIn||900,expiresAt:n+(t.data.expiresIn||900)*1000,savedAt:new Date().toISOString()},this.saveJwtToken();let o=this.formatTimeRemaining((t.data.expiresIn||900)*1000),i=this.formatAbsoluteTime(this.jwtTokenData.expiresAt),a=this.formatAbsoluteTime(this.jwtTokenData.expiresAt-Ks*1000);return console.log(`[Login Check] \u2705 Credential renewed successfully - valid for: ${o} (until ${i}), next renewal: ${a}${r?" (refresh credential updated)":" (reusing existing refresh credential)"}`),this.jwtTokenData.accessToken}catch(e){throw console.error("[Login Check] Credential refresh error:",e),e}}clearTokens(){this.jwtTokenData=null;try{if(be.existsSync(this.jwtTokenFilePath))be.unlinkSync(this.jwtTokenFilePath)}catch(e){console.warn("[Login Check] Failed to delete access credential file:",e)}}getProxyServerUrl(){return this.config.proxyServerUrl}async getUserHeaders(e){let t=await this.getAccessToken(),n=this.getCliVersion(),r=this.getUserAgent(),o={"Content-Type":"application/json","X-Client-Version":n,"User-Agent":r,"X-Session-ID":li()};if(t)o.Authorization=`Bearer ${t}`;if(e)o["X-DVCode-Scene"]=e;return o}getUserHeadersSync(){let e=this.getCliVersion(),t=this.getUserAgent(),n={"Content-Type":"application/json","X-Client-Version":e,"User-Agent":t,"X-Session-ID":li()};if(this.jwtTokenData?.accessToken)n.Authorization=`Bearer ${this.jwtTokenData.accessToken}`;return n}getUserInfo(){return this.userInfo}getCachedJwtTokenData(){return this.jwtTokenData}isConfigured(){return!!this.userInfo}getStatus(){return{configured:this.isConfigured(),proxyServerUrl:this.config.proxyServerUrl,hasUserInfo:!!this.userInfo,userInfo:this.userInfo}}stopPeriodicStatusCheck(){if(this.periodicStatusCheckIntervalId!==null)clearInterval(this.periodicStatusCheckIntervalId),this.periodicStatusCheckIntervalId=null}clear(){this.userInfo=null,this.jwtTokenData=null,this.stopPeriodicStatusCheck();try{if(be.existsSync(this.userInfoFilePath))be.unlinkSync(this.userInfoFilePath)}catch(e){console.warn("[Login Check] Failed to delete user info file:",e)}try{if(be.existsSync(this.jwtTokenFilePath))be.unlinkSync(this.jwtTokenFilePath)}catch(e){console.warn("[Login Check] Failed to delete access credential file:",e)}console.log("[Login Check] Authentication cleared")}}var Ks=259200,hM;var Qs=rn(()=>{qm();Xm();hM=yt.getInstance()});class eh{config;constructor(e){this.config=e}buildAuthUrl(){let e=`${this.config.authUrl}?redirect_to=${encodeURIComponent(this.config.redirectUri)}&redirect_mode=same_window`;return console.log("\uD83D\uDD17 DeepVlab\u8BA4\u8BC1URL:",e),e}handleCallback(e){console.log("\uD83D\uDD04 [DeepVlab Auth] \u5904\u7406DeepVlab\u8BA4\u8BC1\u56DE\u8C03"),console.log("\uD83D\uDD04 [DeepVlab Auth] \u56DE\u8C03URL:",e.toString());let t=Object.fromEntries(e.searchParams.entries());console.log("\uD83D\uDD04 [DeepVlab Auth] \u56DE\u8C03\u53C2\u6570:",t);let n=e.searchParams.get("token"),r=e.searchParams.get("user_id"),o=e.searchParams.get("error");if(o)return console.error("\u274C [DeepVlab Auth] \u8BA4\u8BC1\u9519\u8BEF:",o),{success:!1,error:`DeepVlab\u8BA4\u8BC1\u5931\u8D25: ${o}`};if(!n)return console.error("\u274C [DeepVlab Auth] \u7F3A\u5C11token\u53C2\u6570"),{success:!1,error:"DeepVlab\u8BA4\u8BC1\u56DE\u8C03\u4E2D\u7F3A\u5C11token\u53C2\u6570"};if(!r)return console.error("\u274C [DeepVlab Auth] \u7F3A\u5C11user_id\u53C2\u6570"),{success:!1,error:"DeepVlab\u8BA4\u8BC1\u56DE\u8C03\u4E2D\u7F3A\u5C11user_id\u53C2\u6570"};return console.log("\uD83C\uDF89 [DeepVlab Auth] \u83B7\u53D6\u5230JWT Token:",n),console.log("\uD83C\uDF89 [DeepVlab Auth] \u83B7\u53D6\u5230User ID:",r),console.log("\u2705 [DeepVlab Auth] DeepVlab\u8BA4\u8BC1\u6210\u529F"),{success:!0,token:n,user_id:r}}}function Ys(e){let n={authUrl:"https://accounts.deepvlab.ai/login",redirectUri:`http://localhost:${e||7863}/callback?plat=deepvlab`};return new eh(n)}class In{static instance;cachedConfig=null;cacheExpiry=null;getServerBaseUrl(){return process.env.DEEPX_SERVER_URL||"https://api-code.deepvlab.ai"}constructor(){}static getInstance(){if(!In.instance)In.instance=new In;return In.instance}async getConfig(){let e=new Date;if(this.cachedConfig&&this.cacheExpiry&&this.cacheExpiry>e)return console.log("\uD83D\uDD04 \u4F7F\u7528\u7F13\u5B58\u7684\u670D\u52A1\u7AEF\u914D\u7F6E"),this.cachedConfig;try{let t=await fetch(`${this.getServerBaseUrl()}/api/config/client`,{method:"GET",headers:{"Content-Type":"application/json","User-Agent":rt()},signal:AbortSignal.timeout(1e4)});if(!t.ok)throw Error(`\u670D\u52A1\u7AEF\u914D\u7F6E\u83B7\u53D6\u5931\u8D25: ${t.status} ${t.statusText}`);let n=await t.json();if(!n.success||!n.data)throw Error(`\u670D\u52A1\u7AEF\u914D\u7F6E\u683C\u5F0F\u9519\u8BEF: ${n.error||"Unknown error"}`);return this.cachedConfig=n.data,this.cacheExpiry=new Date(e.getTime()+300000),n.data}catch(t){let n=t instanceof Error?t.message:String(t);if(console.error("\u274C \u83B7\u53D6\u670D\u52A1\u7AEF\u914D\u7F6E\u5931\u8D25:",n),this.cachedConfig)return console.warn("\u26A0\uFE0F \u4F7F\u7528\u8FC7\u671F\u7684\u7F13\u5B58\u914D\u7F6E\u4F5C\u4E3A\u5907\u4EFD"),this.cachedConfig;throw Error(`\u65E0\u6CD5\u83B7\u53D6\u670D\u52A1\u7AEF\u914D\u7F6E: ${n}`)}}async getFeishuConfig(){return{appId:(await this.getConfig()).feishu.appId}}async getFeishuTenants(){let e=await this.getConfig();return e.feishuTenants||[{appId:e.feishu.appId,label:"\u98DE\u4E66\u767B\u5F55",tenantKey:"main"}]}clearCache(){this.cachedConfig=null,this.cacheExpiry=null,console.log("\uD83D\uDD04 \u914D\u7F6E\u7F13\u5B58\u5DF2\u6E05\u9664")}async testConnection(){try{return(await fetch(`${this.getServerBaseUrl()}/api/config/feishu/health`,{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(5000)})).ok}catch(e){return console.error("\u274C \u670D\u52A1\u7AEF\u8FDE\u63A5\u6D4B\u8BD5\u5931\u8D25:",e),!1}}}async function th(){return In.getInstance().getFeishuConfig()}async function nh(){return In.getInstance().getFeishuTenants()}var rh=()=>{};var Tt=".easycode-user",oh=".easycode";var ci=()=>{};import*as Kr from"http";import{URL as di}from"url";import*as ih from"crypto";class ah{selectServer;callbackServer;BASE_SELECT_PORT=7862;BASE_CALLBACK_PORT=7863;actualSelectPort=7862;actualCallbackPort=7863;async start(){await this.startSelectServer(),await this.startCallbackServer()}getActualSelectPort(){return this.actualSelectPort}getActualCallbackPort(){return this.actualCallbackPort}async startSelectServer(){return new Promise((e,t)=>{this.selectServer=Kr.createServer(async(r,o)=>{if(o.setHeader("Access-Control-Allow-Origin","*"),o.setHeader("Access-Control-Allow-Methods","GET, POST, OPTIONS"),o.setHeader("Access-Control-Allow-Headers","Content-Type, Authorization"),r.method==="OPTIONS"){o.writeHead(200),o.end();return}if(!r.url){this.sendErrorResponse(o,"Invalid request");return}let i=new di(r.url,`http://localhost:${this.actualSelectPort}`);if(i.pathname==="/"||i.pathname==="/auth-select")await this.sendAuthSelectPage(o);else if(i.pathname==="/start-feishu-auth"&&r.method==="POST"){let a="";r.on("data",(s)=>{a+=s.toString()}),r.on("end",async()=>{try{let s=a?JSON.parse(a):{};await this.handleStartFeishuAuth(o,s)}catch{await this.handleStartFeishuAuth(o)}})}else if(i.pathname==="/start-deepvlab-auth"&&r.method==="POST")await this.handleStartDeepvlabAuth(o);else if(i.pathname==="/start-cheetah-auth"&&r.method==="POST")await this.handleStartCheetahAuth(r,o);else if(i.pathname==="/start-vipcard-auth"&&r.method==="POST")await this.handleStartVipCardAuth(r,o);else if(i.pathname==="/api/backend/feishu-allowed"&&r.method==="GET")await this.handleFeishuAllowedCheck(o);else if(i.pathname==="/api/backend/feishu-tenants"&&r.method==="GET")await this.handleFeishuTenants(o);else this.sendErrorResponse(o,"Not found")});let n=(r)=>{if(r>this.BASE_SELECT_PORT)this.selectServer=Kr.createServer(async(o,i)=>{if(i.setHeader("Access-Control-Allow-Origin","*"),i.setHeader("Access-Control-Allow-Methods","GET, POST, OPTIONS"),i.setHeader("Access-Control-Allow-Headers","Content-Type, Authorization"),o.method==="OPTIONS"){i.writeHead(200),i.end();return}if(!o.url){this.sendErrorResponse(i,"Invalid request");return}let a=new di(o.url,`http://localhost:${this.actualSelectPort}`);if(a.pathname==="/"||a.pathname==="/auth-select")await this.sendAuthSelectPage(i);else if(a.pathname==="/start-feishu-auth"&&o.method==="POST"){let s="";o.on("data",(l)=>{s+=l.toString()}),o.on("end",async()=>{try{let l=s?JSON.parse(s):{};await this.handleStartFeishuAuth(i,l)}catch{await this.handleStartFeishuAuth(i)}})}else if(a.pathname==="/start-deepvlab-auth"&&o.method==="POST")await this.handleStartDeepvlabAuth(i);else if(a.pathname==="/start-cheetah-auth"&&o.method==="POST")await this.handleStartCheetahAuth(o,i);else if(a.pathname==="/start-vipcard-auth"&&o.method==="POST")await this.handleStartVipCardAuth(o,i);else if(a.pathname==="/api/backend/feishu-allowed"&&o.method==="GET")await this.handleFeishuAllowedCheck(i);else if(a.pathname==="/api/backend/feishu-tenants"&&o.method==="GET")await this.handleFeishuTenants(i);else this.sendErrorResponse(i,"Not found")});this.selectServer.listen(r,()=>{this.actualSelectPort=r,console.log(`\uD83C\uDF10 \u8BA4\u8BC1\u9009\u62E9\u670D\u52A1\u5668\u542F\u52A8\u5728\u7AEF\u53E3 ${r}`),console.log(`\uD83D\uDD17 \u8BA4\u8BC1\u9009\u62E9\u9875\u9762: http://localhost:${r}`),e()}),this.selectServer.on("error",(o)=>{if(o.code==="EADDRINUSE")if(console.log(`\u26A0\uFE0F \u7AEF\u53E3 ${r} \u88AB\u5360\u7528\uFF0C\u5C1D\u8BD5\u7AEF\u53E3 ${r+1}`),r<this.BASE_SELECT_PORT+10)this.selectServer.removeAllListeners(),n(r+1);else t(Error(`\u65E0\u6CD5\u627E\u5230\u53EF\u7528\u7AEF\u53E3 (${this.BASE_SELECT_PORT}-${this.BASE_SELECT_PORT+10})`));else t(o)})};n(this.BASE_SELECT_PORT)})}async startCallbackServer(){return new Promise((e,t)=>{this.callbackServer=Kr.createServer(async(r,o)=>{if(!r.url){this.sendErrorResponse(o,"Invalid request");return}let i=new di(r.url,`http://localhost:${this.actualCallbackPort}`);if(i.pathname==="/callback")await this.handleCallback(i,o);else this.sendErrorResponse(o,"Not found")});let n=(r)=>{if(r>this.BASE_CALLBACK_PORT)this.callbackServer=Kr.createServer(async(o,i)=>{if(!o.url){this.sendErrorResponse(i,"Invalid request");return}let a=new di(o.url,`http://localhost:${this.actualCallbackPort}`);if(a.pathname==="/callback")await this.handleCallback(a,i);else this.sendErrorResponse(i,"Not found")});this.callbackServer.listen(r,()=>{this.actualCallbackPort=r,console.log(`\uD83C\uDF10 \u8BA4\u8BC1\u56DE\u8C03\u670D\u52A1\u5668\u542F\u52A8\u5728\u7AEF\u53E3 ${r}`),console.log(`\uD83D\uDD17 \u8BA4\u8BC1\u56DE\u8C03\u5730\u5740: http://localhost:${r}/callback`),e()}),this.callbackServer.on("error",(o)=>{if(o.code==="EADDRINUSE")if(console.log(`\u26A0\uFE0F \u7AEF\u53E3 ${r} \u88AB\u5360\u7528\uFF0C\u5C1D\u8BD5\u7AEF\u53E3 ${r+1}`),r<this.BASE_CALLBACK_PORT+10)this.callbackServer.removeAllListeners(),n(r+1);else t(Error(`\u65E0\u6CD5\u627E\u5230\u53EF\u7528\u7AEF\u53E3 (${this.BASE_CALLBACK_PORT}-${this.BASE_CALLBACK_PORT+10})`));else t(o)})};n(this.BASE_CALLBACK_PORT)})}async sendAuthSelectPage(e){e.setHeader("Access-Control-Allow-Origin","*"),e.setHeader("Access-Control-Allow-Methods","GET, POST, OPTIONS"),e.setHeader("Access-Control-Allow-Headers","Content-Type, Authorization");let t=sn.getAuthSelectPage();e.writeHead(200,{"Content-Type":"text/html; charset=utf-8","Access-Control-Allow-Origin":"*"}),e.end(t)}async handleFeishuAllowedCheck(e){try{console.log("\uD83D\uDD0D [Auth Server] \u5904\u7406\u98DE\u4E66\u5141\u8BB8\u68C0\u67E5\u8BF7\u6C42");let n=`${process.env.DEEPX_SERVER_URL||"https://api-code.deepvlab.ai"}/api/client/feishu-allowed`;console.log("\uD83D\uDD0D [Auth Server] \u8C03\u7528\u540E\u53F0\u63A5\u53E3:",n);let r;try{r=await fetch(n,{method:"GET",headers:{"Content-Type":"application/json","User-Agent":rt()}})}catch(a){throw console.error("\u274C [Auth Server] \u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25:",pt(a)),Error(this.formatNetworkError(a,"Checking Feishu login permission"))}if(!r.ok)throw console.error("\u274C [Auth Server] \u540E\u53F0\u63A5\u53E3\u8C03\u7528\u5931\u8D25:",r.status,r.statusText),Error(`\u540E\u53F0\u63A5\u53E3\u8C03\u7528\u5931\u8D25: ${r.status}`);let o;try{o=await r.json()}catch(a){throw console.error("\u274C [Auth Server] \u54CD\u5E94\u89E3\u6790\u5931\u8D25:",pt(a)),Error("Server returned an invalid response format. Please try again later.")}console.log("\uD83D\uDCCB [Auth Server] \u540E\u53F0\u63A5\u53E3\u8FD4\u56DE:",o);let i={ip:o.ip||"unknown",feishuLoginAllowed:Boolean(o.feishuLoginAllowed),isPrivateNetwork:Boolean(o.isPrivateNetwork),isInWhitelist:Boolean(o.isInWhitelist),isChina:Boolean(o.isChina),messages:Array.isArray(o.messages)?o.messages:[],country:o.country||"unknown",timestamp:o.timestamp||new Date().toISOString()};console.log("\u2705 [Auth Server] \u98DE\u4E66\u767B\u5F55\u6743\u9650\u68C0\u67E5\u7ED3\u679C:",i),e.writeHead(200,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),e.end(JSON.stringify(i))}catch(t){console.error("\u274C [Auth Server] \u98DE\u4E66\u5141\u8BB8\u68C0\u67E5\u5931\u8D25:",t);let n={ip:"unknown",feishuLoginAllowed:!1,isPrivateNetwork:!1,isInWhitelist:!1,isChina:!1,messages:[],country:"unknown",error:t instanceof Error?t.message:"\u68C0\u67E5\u5931\u8D25",timestamp:new Date().toISOString()};e.writeHead(500,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),e.end(JSON.stringify(n))}}async handleFeishuTenants(e){try{let t=await nh();e.writeHead(200,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),e.end(JSON.stringify(t))}catch(t){console.error("\u274C [Auth Server] \u83B7\u53D6\u98DE\u4E66\u79DF\u6237\u5217\u8868\u5931\u8D25:",t),e.writeHead(200,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),e.end(JSON.stringify([]))}}async handleStartFeishuAuth(e,t){try{console.log("\uD83D\uDE80 [Auth Server] \u542F\u52A8\u98DE\u4E66\u8BA4\u8BC1\u6D41\u7A0B");let n=t?.appId,r;if(n)r=n;else r=(await th()).appId;let i={success:!0,authUrl:this.buildFeishuAuthUrl(r)};e.writeHead(200,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),e.end(JSON.stringify(i))}catch(n){console.error("\u274C [Auth Server] \u98DE\u4E66\u8BA4\u8BC1\u542F\u52A8\u5931\u8D25:",n);let r={success:!1,error:n instanceof Error?n.message:"\u98DE\u4E66\u8BA4\u8BC1\u542F\u52A8\u5931\u8D25"};e.writeHead(500,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),e.end(JSON.stringify(r))}}buildFeishuAuthUrl(e){let t=`${this.generateState()}_${e}`,r=`https://open.feishu.cn/open-apis/authen/v1/authorize?${new URLSearchParams({app_id:e,redirect_uri:`http://localhost:${this.actualCallbackPort}/callback`,response_type:"code",scope:"contact:user.employee_id:readonly",state:t}).toString()}`;return console.log("\uD83D\uDD17 [Auth Server] \u98DE\u4E66\u8BA4\u8BC1URL:",r),r}generateState(){return ih.randomBytes(16).toString("hex")}async handleStartDeepvlabAuth(e){try{console.log("\uD83D\uDE80 [Auth Server] \u542F\u52A8DeepVlab\u8BA4\u8BC1\u6D41\u7A0B");let r={success:!0,authUrl:Ys(this.actualCallbackPort).buildAuthUrl()};e.writeHead(200,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),e.end(JSON.stringify(r))}catch(t){console.error("\u274C [Auth Server] DeepVlab\u8BA4\u8BC1\u542F\u52A8\u5931\u8D25:",t);let n={success:!1,error:t instanceof Error?t.message:"DeepVlab\u8BA4\u8BC1\u542F\u52A8\u5931\u8D25"};e.writeHead(500,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),e.end(JSON.stringify(n))}}async handleStartCheetahAuth(e,t){try{console.log("\uD83D\uDE80 [Auth Server] \u542F\u52A8\u730E\u8C79OA\u8BA4\u8BC1\u6D41\u7A0B");let n="";e.on("data",(r)=>{n+=r.toString()}),e.on("end",async()=>{try{let{email:r,password:o}=JSON.parse(n);if(!r||!o){let g={success:!1,message:"\u90AE\u7BB1\u548C\u5BC6\u7801\u4E0D\u80FD\u4E3A\u7A7A"};t.writeHead(400,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),t.end(JSON.stringify(g));return}console.log("\uD83D\uDD04 [Auth Server] \u9A8C\u8BC1\u730E\u8C79OA\u51ED\u636E:",r);let i=process.env.DEEPX_SERVER_URL||"https://api-code.deepvlab.ai",a;try{a=await fetch(`${i}/auth/jwt/cheetah-login`,{method:"POST",headers:{"Content-Type":"application/json","User-Agent":rt()},body:JSON.stringify({email:r,password:o,clientInfo:{platform:process.platform,version:process.version,timestamp:Date.now(),userAgent:rt()}})})}catch(g){console.error("\u274C [Auth Server] \u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25:",pt(g));let m={success:!1,message:this.formatNetworkError(g,"Connecting to authentication server")};t.writeHead(200,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),t.end(JSON.stringify(m));return}if(!a.ok){let g=await a.text();console.error("\u274C [Auth Server] \u730E\u8C79OA\u9A8C\u8BC1\u5931\u8D25:",a.status,g);let m={success:!1,message:"Login failed. Please check your credentials."};t.writeHead(200,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),t.end(JSON.stringify(m));return}let s;try{s=await a.json()}catch(g){console.error("\u274C [Auth Server] \u54CD\u5E94\u89E3\u6790\u5931\u8D25:",pt(g));let m={success:!1,message:"Server returned an invalid response format. Please try again later."};t.writeHead(200,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),t.end(JSON.stringify(m));return}console.log("\u2705 [Auth Server] \u730E\u8C79OA\u9A8C\u8BC1\u6210\u529F");let l=yt.getInstance();if(s.accessToken)l.setJwtTokenData({accessToken:s.accessToken,refreshToken:s.refreshToken,expiresIn:s.expiresIn||900}),console.log(`\u2705 [Auth Server] JWT\u8BBF\u95EE\u4EE4\u724C\u548C\u5237\u65B0\u4EE4\u724C\u5DF2\u4FDD\u5B58\u5230~/${Tt}/`);if(s.user){let g={openId:s.user.openId||s.user.userId,userId:s.user.userId,name:s.user.name,enName:s.user.name,email:s.user.email,avatar:s.user.avatar};l.setUserInfo(g),console.log(`\u2705 [Auth Server] \u7528\u6237\u4FE1\u606F\u5DF2\u4FDD\u5B58\u5230~/${Tt}/: ${g.name} (${g.email||g.openId||"N/A"})`)}let u={success:!0,message:"\u767B\u5F55\u6210\u529F"};t.writeHead(200,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),t.end(JSON.stringify(u)),setTimeout(()=>{this.restoreVSCodeTerminalState()},100)}catch(r){console.error("\u274C [Auth Server] \u89E3\u6790\u8BF7\u6C42\u4F53\u5931\u8D25:",r);let o={success:!1,message:"\u8BF7\u6C42\u683C\u5F0F\u9519\u8BEF"};t.writeHead(400,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),t.end(JSON.stringify(o))}})}catch(n){console.error("\u274C [Auth Server] \u730E\u8C79OA\u8BA4\u8BC1\u542F\u52A8\u5931\u8D25:",n);let r={success:!1,message:n instanceof Error?n.message:"\u730E\u8C79OA\u8BA4\u8BC1\u542F\u52A8\u5931\u8D25"};t.writeHead(500,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),t.end(JSON.stringify(r))}}async handleStartVipCardAuth(e,t){try{console.log("\uD83D\uDE80 [Auth Server] \u542F\u52A8VIP\u5361\u8BA4\u8BC1\u6D41\u7A0B");let n="";e.on("data",(r)=>{n+=r.toString()}),e.on("end",async()=>{try{let{code:r}=JSON.parse(n);if(!r||!r.trim()){let s={success:!1,message:"\u5151\u6362\u7801\u4E0D\u80FD\u4E3A\u7A7A"};t.writeHead(400,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),t.end(JSON.stringify(s));return}let o=r.trim().toUpperCase();console.log("\uD83D\uDD04 [Auth Server] VIP\u5361\u5151\u6362\u7801:",o);let i=process.env.DEEPX_SERVER_URL||"https://api-code.deepvlab.ai";console.log("\uD83D\uDD04 [Auth Server] \u5C1D\u8BD5VIP\u5361\u767B\u5F55...");let a=await this.tryVipCardLogin(i,o);if(a.success){console.log("\u2705 [Auth Server] VIP\u5361\u767B\u5F55\u6210\u529F"),await this.handleVipCardSuccess(t,a.data,o);return}if(a.error==="\u5151\u6362\u7801\u65E0\u6548\u6216\u5C1A\u672A\u6FC0\u6D3B"){console.log("\uD83D\uDD04 [Auth Server] VIP\u5361\u672A\u6FC0\u6D3B\uFF0C\u5C1D\u8BD5\u5FEB\u901F\u6CE8\u518C...");let s=await this.tryVipCardRegister(i,o);if(!s.success){console.error("\u274C [Auth Server] VIP\u5361\u6CE8\u518C\u5931\u8D25:",s.error);let l={success:!1,message:s.error||"\u5151\u6362\u7801\u65E0\u6548\u6216\u5DF2\u8FC7\u671F"};t.writeHead(200,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),t.end(JSON.stringify(l));return}if(console.log("\u2705 [Auth Server] VIP\u5361\u6CE8\u518C\u6210\u529F\uFF0C\u81EA\u52A8\u767B\u5F55..."),a=await this.tryVipCardLogin(i,o),!a.success){console.error("\u274C [Auth Server] VIP\u5361\u6CE8\u518C\u540E\u767B\u5F55\u5931\u8D25:",a.error);let l={success:!1,message:a.error||"\u767B\u5F55\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5"};t.writeHead(200,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),t.end(JSON.stringify(l));return}console.log("\u2705 [Auth Server] VIP\u5361\u6FC0\u6D3B\u5E76\u767B\u5F55\u6210\u529F"),await this.handleVipCardSuccess(t,a.data,o)}else{console.error("\u274C [Auth Server] VIP\u5361\u767B\u5F55\u5931\u8D25:",a.error);let s={success:!1,message:a.error||"\u767B\u5F55\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u5151\u6362\u7801"};t.writeHead(200,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),t.end(JSON.stringify(s))}}catch(r){console.error("\u274C [Auth Server] \u89E3\u6790\u8BF7\u6C42\u4F53\u5931\u8D25:",r);let o={success:!1,message:"\u8BF7\u6C42\u683C\u5F0F\u9519\u8BEF"};t.writeHead(400,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),t.end(JSON.stringify(o))}})}catch(n){console.error("\u274C [Auth Server] VIP\u5361\u8BA4\u8BC1\u542F\u52A8\u5931\u8D25:",n);let r={success:!1,message:n instanceof Error?n.message:"VIP\u5361\u8BA4\u8BC1\u542F\u52A8\u5931\u8D25"};t.writeHead(500,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),t.end(JSON.stringify(r))}}async tryVipCardLogin(e,t){try{let r=await(await fetch(`${e}/web-api/code/vip-login`,{method:"POST",headers:{"Content-Type":"application/json","User-Agent":rt()},body:JSON.stringify({code:t})})).json();if(r.success)return{success:!0,data:r.data};else return{success:!1,error:r.error||"\u767B\u5F55\u5931\u8D25"}}catch(n){return console.error("\u274C [Auth Server] VIP\u5361\u767B\u5F55\u8BF7\u6C42\u5931\u8D25:",pt(n)),{success:!1,error:this.formatNetworkError(n,"VIP\u5361\u767B\u5F55")}}}async tryVipCardRegister(e,t){try{let r=await(await fetch(`${e}/web-api/code/quick-register`,{method:"POST",headers:{"Content-Type":"application/json","User-Agent":rt()},body:JSON.stringify({code:t})})).json();if(r.success)return{success:!0,data:r.data};else return{success:!1,error:r.error||"\u6CE8\u518C\u5931\u8D25"}}catch(n){return console.error("\u274C [Auth Server] VIP\u5361\u6CE8\u518C\u8BF7\u6C42\u5931\u8D25:",pt(n)),{success:!1,error:this.formatNetworkError(n,"VIP\u5361\u6CE8\u518C")}}}async handleVipCardSuccess(e,t,n){if(!t){console.error("\u274C [Auth Server] VIP\u5361\u767B\u5F55\u6210\u529F\u4F46\u54CD\u5E94\u7F3A\u5C11 data \u5B57\u6BB5"),e.writeHead(200,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),e.end(JSON.stringify({success:!1,message:"\u767B\u5F55\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5"}));return}let r=yt.getInstance();if(t.accessToken)r.setJwtTokenData({accessToken:t.accessToken,refreshToken:t.refreshToken,expiresIn:t.expiresIn||604800}),console.log(`\u2705 [Auth Server] VIP\u5361JWT\u8BBF\u95EE\u4EE4\u724C\u548C\u5237\u65B0\u4EE4\u724C\u5DF2\u4FDD\u5B58\u5230~/${Tt}/`);let o={openId:t.user?.email||n,userId:t.user?.email||n,name:t.user?.name||n,enName:t.user?.name||n,email:t.user?.email||"",avatar:t.user?.avatar||""};r.setUserInfo(o),console.log(`\u2705 [Auth Server] VIP\u5361\u7528\u6237\u4FE1\u606F\u5DF2\u4FDD\u5B58\u5230~/${Tt}/: ${o.name} (${o.email||n})`);let i={success:!0,message:"\u6FC0\u6D3B\u5E76\u767B\u5F55\u6210\u529F",data:{email:t.user?.email,quota_name:t.user?.quota_name,expires_at:t.user?.expires_at}};e.writeHead(200,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),e.end(JSON.stringify(i)),setTimeout(()=>{this.restoreVSCodeTerminalState()},100)}async handleCallback(e,t){let n=e.searchParams.get("plat");if(console.log("\uD83D\uDD04 [Auth Server] \u6536\u5230\u8BA4\u8BC1\u56DE\u8C03"),console.log("\uD83D\uDD04 [Auth Server] \u56DE\u8C03URL:",e.toString()),console.log("\uD83D\uDD04 [Auth Server] \u5E73\u53F0\u53C2\u6570:",n),n==="deepvlab")await this.handleDeepvlabCallback(e,t);else console.log("\uD83D\uDD04 [Auth Server] \u5904\u7406\u98DE\u4E66\u8BA4\u8BC1\u56DE\u8C03"),await this.handleFeishuCallback(e,t)}verifyJwtFormat(e){try{let t=e.split(".");if(t.length!==3)return{valid:!1,error:"JWT\u683C\u5F0F\u9519\u8BEF\uFF1A\u5E94\u8BE5\u5305\u542B3\u4E2A\u90E8\u5206"};let[n,r]=t,o;try{o=JSON.parse(Buffer.from(n,"base64url").toString())}catch{return{valid:!1,error:"JWT header\u89E3\u7801\u5931\u8D25"}}let i;try{i=JSON.parse(Buffer.from(r,"base64url").toString())}catch{return{valid:!1,error:"JWT payload\u89E3\u7801\u5931\u8D25"}}if(!i.exp)return{valid:!1,error:"JWT\u7F3A\u5C11\u8FC7\u671F\u65F6\u95F4(exp)\u5B57\u6BB5"};if(!i.iat)return{valid:!1,error:"JWT\u7F3A\u5C11\u7B7E\u53D1\u65F6\u95F4(iat)\u5B57\u6BB5"};let a=Math.floor(Date.now()/1000);if(i.exp<a)return{valid:!1,error:"JWT\u5DF2\u8FC7\u671F"};return console.log("\u2705 [Auth Server] JWT\u683C\u5F0F\u9A8C\u8BC1\u901A\u8FC7:",{header:o,exp:new Date(i.exp*1000).toISOString(),iat:new Date(i.iat*1000).toISOString()}),{valid:!0,payload:i}}catch(t){return{valid:!1,error:`JWT\u9A8C\u8BC1\u5931\u8D25: ${t instanceof Error?t.message:"\u672A\u77E5\u9519\u8BEF"}`}}}async handleDeepvlabCallback(e,t){try{console.log("\uD83D\uDD04 [Auth Server] \u5904\u7406DeepVlab\u8BA4\u8BC1\u56DE\u8C03");let r=Ys(this.actualCallbackPort).handleCallback(e);if(!r.success){console.error("\u274C [Auth Server] DeepVlab\u8BA4\u8BC1\u5931\u8D25:",r.error),this.sendErrorResponse(t,r.error||"DeepVlab authentication failed");return}if(!r.token||!r.user_id){console.error("\u274C [Auth Server] DeepVlab\u8BA4\u8BC1\u56DE\u8C03\u7F3A\u5C11\u5FC5\u8981\u53C2\u6570"),this.sendErrorResponse(t,"Missing token or user_id in DeepVlab authentication callback");return}console.log("\uFFFD [Auth Server] \u5F00\u59CB\u9A8C\u8BC1JWT token\u683C\u5F0F");let o=this.verifyJwtFormat(r.token);if(!o.valid){console.error("\u274C [Auth Server] JWT\u683C\u5F0F\u9A8C\u8BC1\u5931\u8D25:",o.error),this.sendErrorResponse(t,`JWT\u683C\u5F0F\u9A8C\u8BC1\u5931\u8D25: ${o.error}`);return}console.log("\u2705 [Auth Server] JWT\u683C\u5F0F\u9A8C\u8BC1\u901A\u8FC7\uFF0C\u5F00\u59CB\u4EA4\u6362JWT\u4EE4\u724C");let i=process.env.DEEPX_SERVER_URL||"https://api-code.deepvlab.ai";console.log("deepvlab\u4EA4\u6362JWT\uFF0CproxyServerUrl:",`${i}/auth/jwt/deepvlab-login`);let a;try{a=await fetch(`${i}/auth/jwt/deepvlab-login`,{method:"POST",headers:{"Content-Type":"application/json","User-Agent":rt()},body:JSON.stringify({plat:"deepvlab",token:r.token,user_id:r.user_id,clientInfo:{platform:process.platform,version:process.version,timestamp:Date.now(),userAgent:rt()}})})}catch(u){console.error("\u274C [Auth Server] \u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25:",pt(u)),this.sendErrorResponse(t,this.formatNetworkError(u,"Connecting to authentication server"));return}if(!a.ok){let u=await a.text();console.error("\u274C [Auth Server] JWT\u4EA4\u6362\u5931\u8D25:",a.status,u),this.sendErrorResponse(t,`Authentication failed (HTTP ${a.status}). Please try again later.`);return}let s;try{s=await a.json()}catch(u){console.error("\u274C [Auth Server] JWT\u54CD\u5E94\u89E3\u6790\u5931\u8D25:",pt(u)),this.sendErrorResponse(t,"Server returned an invalid response format. Please try again later.");return}console.log("\uD83D\uDCCB [Auth Server] JWT\u4EA4\u6362\u54CD\u5E94\u6570\u636E:",s),console.log("\u2705 [Auth Server] JWT\u4EA4\u6362\u6210\u529F:",{user:s.user?.name,email:s.user?.email,expiresIn:s.expiresIn});let l=yt.getInstance();if(s.accessToken)l.setJwtTokenData({accessToken:s.accessToken,refreshToken:s.refreshToken,expiresIn:s.expiresIn||900}),console.log(`\u2705 [Auth Server] JWT\u8BBF\u95EE\u4EE4\u724C\u548C\u5237\u65B0\u4EE4\u724C\u5DF2\u4FDD\u5B58\u5230~/${Tt}/`);if(s.user){let u={openId:s.user.openId||s.user.userId,userId:s.user.userId,name:s.user.name,enName:s.user.name,email:s.user.email,avatar:s.user.avatar};l.setUserInfo(u),console.log(`\u2705 [Auth Server] \u7528\u6237\u4FE1\u606F\u5DF2\u4FDD\u5B58\u5230~/${Tt}/: ${u.name} (${u.email||u.openId||"N/A"})`)}this.sendDeepvlabSuccessResponse(t)}catch(n){console.error("\u274C [Auth Server] DeepVlab\u8BA4\u8BC1\u5904\u7406\u5931\u8D25:",n);let r=n instanceof Error?n.message:"DeepVlab\u8BA4\u8BC1\u5904\u7406\u5931\u8D25";this.sendErrorResponse(t,r)}}async handleFeishuCallback(e,t){try{let n=e.searchParams.get("code"),r=e.searchParams.get("state"),o=e.searchParams.get("error");if(o){console.error("\u274C [Auth Server] \u98DE\u4E66\u8BA4\u8BC1\u9519\u8BEF:",o),this.sendErrorResponse(t,`Feishu authentication failed: ${o}`);return}if(!n){console.error("\u274C [Auth Server] \u7F3A\u5C11\u6388\u6743\u7801"),this.sendErrorResponse(t,"Missing authorization code in Feishu authentication callback");return}console.log("\uD83D\uDD04 [Auth Server] \u5F00\u59CB\u5904\u7406\u98DE\u4E66\u8BA4\u8BC1\u56DE\u8C03"),console.log("\uD83D\uDD04 [Auth Server] \u6388\u6743\u7801\u5DF2\u83B7\u53D6\uFF0C\u5F00\u59CB\u4EA4\u6362\u8BBF\u95EE\u4EE4\u724C"),console.log("\uD83D\uDD04 [Auth Server] \u8C03\u7528\u670D\u52A1\u7AEFexchange\u63A5\u53E3\u4EA4\u6362\u98DE\u4E66token");let i=r&&r.includes("_")?r.split("_").slice(1).join("_"):void 0,a=process.env.DEEPX_SERVER_URL||"https://api-code.deepvlab.ai";console.log("\u98DE\u4E66token\u4EA4\u6362\uFF0CproxyServerUrl:",`${a}/api/auth/feishu/exchange`);let s;try{s=await fetch(`${a}/api/auth/feishu/exchange`,{method:"POST",headers:{"Content-Type":"application/json","User-Agent":rt()},body:JSON.stringify({code:n,redirect_uri:`http://localhost:${this.actualCallbackPort}/callback`,app_id:i})})}catch(y){throw console.error("\u274C [Auth Server] \u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25:",pt(y)),Error(this.formatNetworkError(y,"Connecting to authentication server"))}if(!s.ok)throw Error(`Feishu token exchange failed (HTTP ${s.status}). Please try again later.`);let l;try{l=await s.json()}catch(y){throw console.error("\u274C [Auth Server] \u54CD\u5E94\u89E3\u6790\u5931\u8D25:",pt(y)),Error("Server returned an invalid response format. Please try again later.")}if(!l.success)throw Error(`\u98DE\u4E66token\u4EA4\u6362\u5931\u8D25: ${l.error||"\u672A\u77E5\u9519\u8BEF"}`);let u=l.data.accessToken;console.log("\u2705 [Auth Server] \u98DE\u4E66\u8BBF\u95EE\u4EE4\u724C\u83B7\u53D6\u6210\u529F"),console.log("\uD83D\uDD04 [Auth Server] \u5F00\u59CB\u4EA4\u6362JWT\u4EE4\u724C"),console.log("\u98DE\u4E66\u4EA4\u6362JWT\uFF0CproxyServerUrl:",`${a}/auth/jwt/feishu-login`);let g;try{g=await fetch(`${a}/auth/jwt/feishu-login`,{method:"POST",headers:{"Content-Type":"application/json","User-Agent":rt()},body:JSON.stringify({feishuAccessToken:u,clientInfo:{platform:process.platform,version:process.version,timestamp:Date.now(),userAgent:rt()}})})}catch(y){console.error("\u274C [Auth Server] \u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25:",pt(y)),this.sendErrorResponse(t,this.formatNetworkError(y,"Connecting to authentication server"));return}if(!g.ok){let y=await g.text();console.error("\u274C [Auth Server] JWT\u4EA4\u6362\u5931\u8D25:",g.status,y),this.sendErrorResponse(t,`Authentication failed (HTTP ${g.status}). Please try again later.`);return}let m;try{m=await g.json()}catch(y){console.error("\u274C [Auth Server] JWT\u54CD\u5E94\u89E3\u6790\u5931\u8D25:",pt(y)),this.sendErrorResponse(t,"Server returned an invalid response format. Please try again later.");return}console.log("\uD83D\uDCCB [Auth Server] JWT\u4EA4\u6362\u54CD\u5E94\u6570\u636E:",m),console.log("\u2705 [Auth Server] JWT\u4EA4\u6362\u6210\u529F33:",{user:m.user?.name,email:m.user?.email,expiresIn:m.expiresIn});let k=yt.getInstance();if(m.accessToken)k.setJwtTokenData({accessToken:m.accessToken,refreshToken:m.refreshToken,expiresIn:m.expiresIn||900}),console.log(`\u2705 [Auth Server] JWT\u8BBF\u95EE\u4EE4\u724C\u548C\u5237\u65B0\u4EE4\u724C\u5DF2\u4FDD\u5B58\u5230~/${Tt}/`);if(m.user){let y={openId:m.user.openId||m.user.userId,userId:m.user.userId,name:m.user.name,enName:m.user.name,email:m.user.email,avatar:m.user.avatar};k.setUserInfo(y),console.log(`\u2705 [Auth Server] \u7528\u6237\u4FE1\u606F\u5DF2\u4FDD\u5B58\u5230~/${Tt}/: ${y.name} (${y.email||y.openId||"N/A"})`)}this.sendFeishuSuccessResponse(t)}catch(n){console.error("\u274C [Auth Server] \u98DE\u4E66\u8BA4\u8BC1\u5904\u7406\u5931\u8D25:",n);let r=n instanceof Error?n.message:"\u98DE\u4E66\u8BA4\u8BC1\u5904\u7406\u5931\u8D25";this.sendErrorResponse(t,r)}}sendDeepvlabSuccessResponse(e){let t=sn.getDeepvlabSuccessPage();e.writeHead(200,{"Content-Type":"text/html; charset=utf-8","Access-Control-Allow-Origin":"*"}),e.end(t),setTimeout(()=>{this.restoreVSCodeTerminalState()},100)}sendFeishuSuccessResponse(e){let t=sn.getFeishuSuccessPage();e.writeHead(200,{"Content-Type":"text/html; charset=utf-8","Access-Control-Allow-Origin":"*"}),e.end(t),setTimeout(()=>{this.restoreVSCodeTerminalState()},100)}sendErrorResponse(e,t){e.setHeader("Access-Control-Allow-Origin","*"),e.setHeader("Access-Control-Allow-Methods","GET, POST, OPTIONS"),e.setHeader("Access-Control-Allow-Headers","Content-Type, Authorization");let n=sn.getErrorPage(t);e.writeHead(400,{"Content-Type":"text/html; charset=utf-8","Access-Control-Allow-Origin":"*"}),e.end(n)}stop(){if(this.selectServer)this.selectServer.close(),console.log("\uD83D\uDED1 \u8BA4\u8BC1\u9009\u62E9\u670D\u52A1\u5668\u5DF2\u505C\u6B62");if(this.callbackServer)this.callbackServer.close(),console.log("\uD83D\uDED1 \u8BA4\u8BC1\u56DE\u8C03\u670D\u52A1\u5668\u5DF2\u505C\u6B62");this.restoreVSCodeTerminalState()}formatNetworkError(e,t){if(e instanceof TypeError&&e.message.includes("Invalid URL"))return`\u670D\u52A1\u5668\u914D\u7F6E\u9519\u8BEF\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458 (\u9519\u8BEF: ${e.message})`;if(e instanceof TypeError&&e.message.includes("Only HTTP(S)"))return"\u670D\u52A1\u5668\u5730\u5740\u914D\u7F6E\u9519\u8BEF\uFF0C\u8BF7\u68C0\u67E5\u73AF\u5883\u53D8\u91CF DEEPX_SERVER_URL";let n=e,r=n.code||n.errno;if(r==="ENOTFOUND")return"\u65E0\u6CD5\u8FDE\u63A5\u5230\u670D\u52A1\u5668 (DNS\u89E3\u6790\u5931\u8D25)\uFF0C\u8BF7\u68C0\u67E5\u7F51\u7EDC\u8FDE\u63A5";if(r==="ECONNREFUSED")return"\u670D\u52A1\u5668\u6682\u65F6\u4E0D\u53EF\u7528\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5";if(r==="ETIMEDOUT")return`${t}\u8D85\u65F6\uFF0C\u8BF7\u68C0\u67E5\u7F51\u7EDC\u8FDE\u63A5`;if(r==="ECONNRESET")return"\u7F51\u7EDC\u8FDE\u63A5\u4E2D\u65AD\uFF0C\u8BF7\u91CD\u8BD5";if(n.name==="AbortError")return`${t}\u8D85\u65F6\uFF0C\u8BF7\u68C0\u67E5\u7F51\u7EDC\u8FDE\u63A5`;return`${t}\u5931\u8D25: ${n.message||"\u672A\u77E5\u9519\u8BEF"}\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5`}restoreVSCodeTerminalState(){if(!(process.env.VSCODE_PID||process.env.TERM_PROGRAM==="vscode"))return;console.log("\uD83D\uDD27 \u68C0\u6D4B\u5230VSCode\u7EC8\u7AEF\u73AF\u5883\uFF0C\u6B63\u5728\u6062\u590D\u7EC8\u7AEF\u72B6\u6001...");try{if(process.stdout.isTTY){if(process.stdout.write("\x1B[0m"),process.stdout.write("\x1B[?25h"),process.stdout.columns)process.stdout.emit("resize")}process.stdout.write("\r"),console.log("\u2705 VSCode\u7EC8\u7AEF\u72B6\u6001\u6062\u590D\u5B8C\u6210")}catch(t){console.warn("\u26A0\uFE0F VSCode\u7EC8\u7AEF\u72B6\u6001\u6062\u590D\u65F6\u51FA\u73B0\u8B66\u544A:",t)}}}var sh=rn(()=>{rh();Qs();Us();Ps();ci()});import{CliRenderer as hy,createCliRenderer as py,engine as Ay}from"@opentui/core";import{createTestRenderer as UB}from"@opentui/core/testing";import{ASCIIFontRenderable as ky,BoxRenderable as xy,CodeRenderable as by,DiffRenderable as yy,ImageRenderable as wy,InputRenderable as Sy,LineNumberRenderable as Cy,MarkdownRenderable as vy,ScrollBoxRenderable as Iy,SelectRenderable as Ey,TabSelectRenderable as Ty,TextareaRenderable as By,TextAttributes as _a,TextNodeRenderable as Ry,TextRenderable as _y}from"@opentui/core";import{engine as ZB,Timeline as KB}from"@opentui/core";var Je={context:void 0,registry:void 0,effects:void 0,done:!1,getContextId(){return dd(this.context.count)},getNextContextId(){return dd(this.context.count++)}};function dd(e){let t=String(e),n=t.length-1;return Je.context.id+(n?String.fromCharCode(96+n):"")+t}function ba(e){Je.context=e}function j0(){return{...Je.context,id:Je.getNextContextId(),count:0}}var W0=!1,Z0=(e,t)=>e===t,ya=Symbol("solid-proxy"),K0=typeof Proxy==="function",hd=Symbol("solid-track"),IB=Symbol("solid-dev-component"),Io={equals:Z0},ud=null,pd=bd,xt=1,Tr=2,Ad={owned:null,cleanups:null,context:null,owner:null};var Ae=null,Y=null,Rr=null,Yn=null,Se=null,$e=null,et=null,Bo=0;function xn(e,t){let n=Se,r=Ae,o=e.length===0,i=t===void 0?r:t,a=o?Ad:{owned:null,cleanups:null,context:i?i.context:null,owner:i},s=o?e:()=>e(()=>at(()=>on(a)));Ae=a,Se=null;try{return Lt(s,!0)}finally{Se=n,Ae=r}}function j(e,t){t=t?Object.assign({},Io,t):Io;let n={value:e,observers:null,observerSlots:null,comparator:t.equals||void 0},r=(o)=>{if(typeof o==="function")if(Y&&Y.running&&Y.sources.has(n))o=o(n.tValue);else o=o(n.value);return xd(n,o)};return[kd.bind(n),r]}function $t(e,t,n){let r=Ia(e,t,!1,xt);if(Rr&&Y&&Y.running)$e.push(r);else _r(r)}function st(e,t,n){pd=q0;let r=Ia(e,t,!1,xt),o=wa&&bn(wa);if(o)r.suspense=o;if(!n||!n.render)r.user=!0;et?et.push(r):_r(r)}function ye(e,t,n){n=n?Object.assign({},Io,n):Io;let r=Ia(e,t,!0,0);if(r.observers=null,r.observerSlots=null,r.comparator=n.equals||void 0,Rr&&Y&&Y.running)r.tState=xt,$e.push(r);else _r(r);return kd.bind(r)}function Ro(e){return Lt(e,!1)}function at(e){if(!Yn&&Se===null)return e();let t=Se;Se=null;try{if(Yn)return Yn.untrack(e);return e()}finally{Se=t}}function va(e,t,n){let r=Array.isArray(e),o,i=n&&n.defer;return(a)=>{let s;if(r){s=Array(e.length);for(let u=0;u<e.length;u++)s[u]=e[u]()}else s=e();if(i)return i=!1,a;let l=at(()=>t(s,o,a));return o=s,l}}function Gt(e){st(()=>at(e))}function Me(e){if(Ae===null);else if(Ae.cleanups===null)Ae.cleanups=[e];else Ae.cleanups.push(e);return e}function Q0(e){if(Y&&Y.running)return e(),Y.done;let t=Se,n=Ae;return Promise.resolve().then(()=>{Se=t,Ae=n;let r;if(Rr||wa)r=Y||(Y={sources:new Set,effects:[],promises:new Set,disposed:new Set,queue:new Set,running:!0}),r.done||(r.done=new Promise((o)=>r.resolve=o)),r.running=!0;return Lt(e,!1),Se=Ae=null,r?r.done:void 0})}var[EB,fd]=j(!1);function _o(e,t){let n=Symbol("context");return{id:n,Provider:ey(n),defaultValue:e}}function bn(e){let t;return Ae&&Ae.context&&(t=Ae.context[e.id])!==void 0?t:e.defaultValue}function Y0(e){let t=ye(e),n=ye(()=>Sa(t()));return n.toArray=()=>{let r=n();return Array.isArray(r)?r:r!=null?[r]:[]},n}var wa;function kd(){let e=Y&&Y.running;if(this.sources&&(e?this.tState:this.state))if((e?this.tState:this.state)===xt)_r(this);else{let t=$e;$e=null,Lt(()=>Eo(this),!1),$e=t}if(Se){let t=this.observers?this.observers.length:0;if(!Se.sources)Se.sources=[this],Se.sourceSlots=[t];else Se.sources.push(this),Se.sourceSlots.push(t);if(!this.observers)this.observers=[Se],this.observerSlots=[Se.sources.length-1];else this.observers.push(Se),this.observerSlots.push(Se.sources.length-1)}if(e&&Y.sources.has(this))return this.tValue;return this.value}function xd(e,t,n){let r=Y&&Y.running&&Y.sources.has(e)?e.tValue:e.value;if(!e.comparator||!e.comparator(r,t)){if(Y){let o=Y.running;if(o||!n&&Y.sources.has(e))Y.sources.add(e),e.tValue=t;if(!o)e.value=t}else e.value=t;if(e.observers&&e.observers.length)Lt(()=>{for(let o=0;o<e.observers.length;o+=1){let i=e.observers[o],a=Y&&Y.running;if(a&&Y.disposed.has(i))continue;if(a?!i.tState:!i.state){if(i.pure)$e.push(i);else et.push(i);if(i.observers)yd(i)}if(!a)i.state=xt;else i.tState=xt}if($e.length>1e6)throw $e=[],Error()},!1)}return t}function _r(e){if(!e.fn)return;on(e);let t=Bo;if(gd(e,Y&&Y.running&&Y.sources.has(e)?e.tValue:e.value,t),Y&&!Y.running&&Y.sources.has(e))queueMicrotask(()=>{Lt(()=>{Y&&(Y.running=!0),Se=Ae=e,gd(e,e.tValue,t),Se=Ae=null},!1)})}function gd(e,t,n){let r,o=Ae,i=Se;Se=Ae=e;try{r=e.fn(t)}catch(a){if(e.pure)if(Y&&Y.running)e.tState=xt,e.tOwned&&e.tOwned.forEach(on),e.tOwned=void 0;else e.state=xt,e.owned&&e.owned.forEach(on),e.owned=null;return e.updatedAt=n+1,Ea(a)}finally{Se=i,Ae=o}if(!e.updatedAt||e.updatedAt<=n){if(e.updatedAt!=null&&"observers"in e)xd(e,r,!0);else if(Y&&Y.running&&e.pure){if(!Y.sources.has(e))e.value=r;Y.sources.add(e),e.tValue=r}else e.value=r;e.updatedAt=n}}function Ia(e,t,n,r=xt,o){let i={fn:e,state:r,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:t,owner:Ae,context:Ae?Ae.context:null,pure:n};if(Y&&Y.running)i.state=0,i.tState=r;if(Ae===null);else if(Ae!==Ad)if(Y&&Y.running&&Ae.pure)if(!Ae.tOwned)Ae.tOwned=[i];else Ae.tOwned.push(i);else if(!Ae.owned)Ae.owned=[i];else Ae.owned.push(i);if(Yn&&i.fn){let a=i.fn,[s,l]=j(void 0,{equals:!1}),u=Yn.factory(a,l);Me(()=>u.dispose());let g,m=()=>Q0(l).then(()=>{if(g)g.dispose(),g=void 0});i.fn=(k)=>{if(s(),Y&&Y.running){if(!g)g=Yn.factory(a,m);return g.track(k)}return u.track(k)}}return i}function Br(e){let t=Y&&Y.running;if((t?e.tState:e.state)===0)return;if((t?e.tState:e.state)===Tr)return Eo(e);if(e.suspense&&at(e.suspense.inFallback))return e.suspense.effects.push(e);let n=[e];while((e=e.owner)&&(!e.updatedAt||e.updatedAt<Bo)){if(t&&Y.disposed.has(e))return;if(t?e.tState:e.state)n.push(e)}for(let r=n.length-1;r>=0;r--){if(e=n[r],t){let o=e,i=n[r+1];while((o=o.owner)&&o!==i)if(Y.disposed.has(o))return}if((t?e.tState:e.state)===xt)_r(e);else if((t?e.tState:e.state)===Tr){let o=$e;$e=null,Lt(()=>Eo(e,n[0]),!1),$e=o}}}function Lt(e,t){if($e)return e();let n=!1;if(!t)$e=[];if(et)n=!0;else et=[];Bo++;try{let r=e();return J0(n),r}catch(r){if(!n)et=null;$e=null,Ea(r)}}function J0(e){if($e){if(Rr&&Y&&Y.running)V0($e);else bd($e);$e=null}if(e)return;let t;if(Y){if(!Y.promises.size&&!Y.queue.size){let r=Y.sources,o=Y.disposed;et.push.apply(et,Y.effects),t=Y.resolve;for(let i of et)"tState"in i&&(i.state=i.tState),delete i.tState;Y=null,Lt(()=>{for(let i of o)on(i);for(let i of r){if(i.value=i.tValue,i.owned)for(let a=0,s=i.owned.length;a<s;a++)on(i.owned[a]);if(i.tOwned)i.owned=i.tOwned;delete i.tValue,delete i.tOwned,i.tState=0}fd(!1)},!1)}else if(Y.running){Y.running=!1,Y.effects.push.apply(Y.effects,et),et=null,fd(!0);return}}let n=et;if(et=null,n.length)Lt(()=>pd(n),!1);if(t)t()}function bd(e){for(let t=0;t<e.length;t++)Br(e[t])}function V0(e){for(let t=0;t<e.length;t++){let n=e[t],r=Y.queue;if(!r.has(n))r.add(n),Rr(()=>{r.delete(n),Lt(()=>{Y.running=!0,Br(n)},!1),Y&&(Y.running=!1)})}}function q0(e){let t,n=0;for(t=0;t<e.length;t++){let r=e[t];if(!r.user)Br(r);else e[n++]=r}if(Je.context){if(Je.count){Je.effects||(Je.effects=[]),Je.effects.push(...e.slice(0,n));return}ba()}if(Je.effects&&(Je.done||!Je.count))e=[...Je.effects,...e],n+=Je.effects.length,delete Je.effects;for(t=0;t<n;t++)Br(e[t])}function Eo(e,t){let n=Y&&Y.running;if(n)e.tState=0;else e.state=0;for(let r=0;r<e.sources.length;r+=1){let o=e.sources[r];if(o.sources){let i=n?o.tState:o.state;if(i===xt){if(o!==t&&(!o.updatedAt||o.updatedAt<Bo))Br(o)}else if(i===Tr)Eo(o,t)}}}function yd(e){let t=Y&&Y.running;for(let n=0;n<e.observers.length;n+=1){let r=e.observers[n];if(t?!r.tState:!r.state){if(t)r.tState=Tr;else r.state=Tr;if(r.pure)$e.push(r);else et.push(r);r.observers&&yd(r)}}}function on(e){let t;if(e.sources)while(e.sources.length){let n=e.sources.pop(),r=e.sourceSlots.pop(),o=n.observers;if(o&&o.length){let i=o.pop(),a=n.observerSlots.pop();if(r<o.length)i.sourceSlots[a]=r,o[r]=i,n.observerSlots[r]=a}}if(e.tOwned){for(t=e.tOwned.length-1;t>=0;t--)on(e.tOwned[t]);delete e.tOwned}if(Y&&Y.running&&e.pure)wd(e,!0);else if(e.owned){for(t=e.owned.length-1;t>=0;t--)on(e.owned[t]);e.owned=null}if(e.cleanups){for(t=e.cleanups.length-1;t>=0;t--)e.cleanups[t]();e.cleanups=null}if(Y&&Y.running)e.tState=0;else e.state=0}function wd(e,t){if(!t)e.tState=0,Y.disposed.add(e);if(e.owned)for(let n=0;n<e.owned.length;n++)wd(e.owned[n])}function X0(e){if(e instanceof Error)return e;return Error(typeof e==="string"?e:"Unknown error",{cause:e})}function md(e,t,n){try{for(let r of t)r(e)}catch(r){Ea(r,n&&n.owner||null)}}function Ea(e,t=Ae){let n=ud&&t&&t.context&&t.context[ud],r=X0(e);if(!n)throw r;if(et)et.push({fn(){md(r,n,t)},state:xt});else md(r,n,t)}function Sa(e){if(typeof e==="function"&&!e.length)return Sa(e());if(Array.isArray(e)){let t=[];for(let n=0;n<e.length;n++){let r=Sa(e[n]);Array.isArray(r)?t.push.apply(t,r):t.push(r)}return t}return e}function ey(e,t){return function(r){let o;return $t(()=>o=at(()=>(Ae.context={...Ae.context,[e]:r.value},Y0(()=>r.children))),void 0),o}}var Ca=Symbol("fallback");function To(e){for(let t=0;t<e.length;t++)e[t]()}function ty(e,t,n={}){let r=[],o=[],i=[],a=0,s=t.length>1?[]:null;return Me(()=>To(i)),()=>{let l=e()||[],u=l.length,g,m;return l[hd],at(()=>{let y,R,N,M,P,w,L,S,b;if(u===0){if(a!==0)To(i),i=[],r=[],o=[],a=0,s&&(s=[]);if(n.fallback)r=[Ca],o[0]=xn((C)=>(i[0]=C,n.fallback())),a=1}else if(a===0){o=Array(u);for(m=0;m<u;m++)r[m]=l[m],o[m]=xn(k);a=u}else{N=Array(u),M=Array(u),s&&(P=Array(u));for(w=0,L=Math.min(a,u);w<L&&r[w]===l[w];w++);for(L=a-1,S=u-1;L>=w&&S>=w&&r[L]===l[S];L--,S--)N[S]=o[L],M[S]=i[L],s&&(P[S]=s[L]);y=new Map,R=Array(S+1);for(m=S;m>=w;m--)b=l[m],g=y.get(b),R[m]=g===void 0?-1:g,y.set(b,m);for(g=w;g<=L;g++)if(b=r[g],m=y.get(b),m!==void 0&&m!==-1)N[m]=o[g],M[m]=i[g],s&&(P[m]=s[g]),m=R[m],y.set(b,m);else i[g]();for(m=w;m<u;m++)if(m in N){if(o[m]=N[m],i[m]=M[m],s)s[m]=P[m],s[m](m)}else o[m]=xn(k);o=o.slice(0,a=u),r=l.slice(0)}return o});function k(y){if(i[m]=y,s){let[R,N]=j(m);return s[m]=N,t(l[m],R)}return t(l[m])}}}function ny(e,t,n={}){let r=[],o=[],i=[],a=[],s=0,l;return Me(()=>To(i)),()=>{let u=e()||[],g=u.length;return u[hd],at(()=>{if(g===0){if(s!==0)To(i),i=[],r=[],o=[],s=0,a=[];if(n.fallback)r=[Ca],o[0]=xn((k)=>(i[0]=k,n.fallback())),s=1;return o}if(r[0]===Ca)i[0](),i=[],r=[],o=[],s=0;for(l=0;l<g;l++)if(l<r.length&&r[l]!==u[l])a[l](()=>u[l]);else if(l>=r.length)o[l]=xn(m);for(;l<r.length;l++)i[l]();return s=a.length=i.length=g,r=u.slice(0),o=o.slice(0,s)});function m(k){i[l]=k;let[y,R]=j(u[l]);return a[l]=R,t(y,l)}}}var ry=!1;function Sd(e,t){if(ry){if(Je.context){let n=Je.context;ba(j0());let r=at(()=>e(t||{}));return ba(n),r}}return at(()=>e(t||{}))}function vo(){return!0}var oy={get(e,t,n){if(t===ya)return n;return e.get(t)},has(e,t){if(t===ya)return!0;return e.has(t)},set:vo,deleteProperty:vo,getOwnPropertyDescriptor(e,t){return{configurable:!0,enumerable:!0,get(){return e.get(t)},set:vo,deleteProperty:vo}},ownKeys(e){return e.keys()}};function xa(e){return!(e=typeof e==="function"?e():e)?{}:e}function iy(){for(let e=0,t=this.length;e<t;++e){let n=this[e]();if(n!==void 0)return n}}function Po(...e){let t=!1;for(let a=0;a<e.length;a++){let s=e[a];t=t||!!s&&ya in s,e[a]=typeof s==="function"?(t=!0,ye(s)):s}if(K0&&t)return new Proxy({get(a){for(let s=e.length-1;s>=0;s--){let l=xa(e[s])[a];if(l!==void 0)return l}},has(a){for(let s=e.length-1;s>=0;s--)if(a in xa(e[s]))return!0;return!1},keys(){let a=[];for(let s=0;s<e.length;s++)a.push(...Object.keys(xa(e[s])));return[...new Set(a)]}},oy);let n={},r=Object.create(null);for(let a=e.length-1;a>=0;a--){let s=e[a];if(!s)continue;let l=Object.getOwnPropertyNames(s);for(let u=l.length-1;u>=0;u--){let g=l[u];if(g==="__proto__"||g==="constructor")continue;let m=Object.getOwnPropertyDescriptor(s,g);if(!r[g])r[g]=m.get?{enumerable:!0,configurable:!0,get:iy.bind(n[g]=[m.get.bind(s)])}:m.value!==void 0?m:void 0;else{let k=n[g];if(k){if(m.get)k.push(m.get.bind(s));else if(m.value!==void 0)k.push(()=>m.value)}}}}let o={},i=Object.keys(r);for(let a=i.length-1;a>=0;a--){let s=i[a],l=r[s];if(l&&l.get)Object.defineProperty(o,s,l);else o[s]=l?l.value:void 0}return o}var ay=(e)=>`Stale read from <${e}>.`;function ce(e){let t="fallback"in e&&{fallback:()=>e.fallback};return ye(ty(()=>e.each,e.children,t||void 0))}function Cd(e){let t="fallback"in e&&{fallback:()=>e.fallback};return ye(ny(()=>e.each,e.children,t||void 0))}function F(e){let t=e.keyed,n=ye(()=>e.when,void 0,void 0),r=t?n:ye(n,void 0,{equals:(o,i)=>!o===!i});return ye(()=>{let o=r();if(o){let i=e.children;return typeof i==="function"&&i.length>0?at(()=>i(t?o:()=>{if(!at(r))throw ay("Show");return n()})):i}return e.fallback},void 0,void 0)}import{BaseRenderable as Zd,createTextAttributes as Dy,ImageRenderable as Md,InputRenderable as Pa,InputRenderableEvents as Mr,isTextNodeRenderable as Oa,isEditBufferRenderable as Oy,parseColor as Fd,Renderable as Ly,RootTextNodeRenderable as $y,ScrollBoxRenderable as Gy,SelectRenderable as Nd,SelectRenderableEvents as Ma,TabSelectRenderable as Dd,TabSelectRenderableEvents as Fa,TextNodeRenderable as zy,TextRenderable as Kd}from"@opentui/core";var Ta,sy=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),vd=(Ta=String.fromCodePoint)!==null&&Ta!==void 0?Ta:(e)=>{let t="";if(e>65535)e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|e&1023;return t+=String.fromCharCode(e),t};function Id(e){var t;if(e>=55296&&e<=57343||e>1114111)return 65533;return(t=sy.get(e))!==null&&t!==void 0?t:e}function Ed(e){let t=typeof atob==="function"?atob(e):typeof Buffer.from==="function"?Buffer.from(e,"base64").toString("binary"):new Buffer(e,"base64").toString("binary"),n=t.length&-2,r=new Uint16Array(n/2);for(let o=0,i=0;o<n;o+=2){let a=t.charCodeAt(o),s=t.charCodeAt(o+1);r[i++]=a|s<<8}return r}var Td=Ed("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IA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YwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWls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ZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg");var tt;(function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.FLAG13=8192]="FLAG13",e[e.BRANCH_LENGTH=8064]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"})(tt||(tt={}));var Re;(function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.EQUALS=61]="EQUALS",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.LOWER_Z=122]="LOWER_Z",e[e.UPPER_A=65]="UPPER_A",e[e.UPPER_F=70]="UPPER_F",e[e.UPPER_Z=90]="UPPER_Z"})(Re||(Re={}));var Bd=32;function Ba(e){return e>=Re.ZERO&&e<=Re.NINE}function ly(e){return e>=Re.UPPER_A&&e<=Re.UPPER_F||e>=Re.LOWER_A&&e<=Re.LOWER_F}function cy(e){return e>=Re.UPPER_A&&e<=Re.UPPER_Z||e>=Re.LOWER_A&&e<=Re.LOWER_Z||Ba(e)}function dy(e){return e===Re.EQUALS||cy(e)}var Ze;(function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"})(Ze||(Ze={}));var Kt;(function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"})(Kt||(Kt={}));class Ra{constructor(e,t,n){this.decodeTree=e,this.emitCodePoint=t,this.errors=n,this.state=Ze.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=Kt.Strict,this.runConsumed=0}startEntity(e){this.decodeMode=e,this.state=Ze.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1,this.runConsumed=0}write(e,t){switch(this.state){case Ze.EntityStart:{if(e.charCodeAt(t)===Re.NUM)return this.state=Ze.NumericStart,this.consumed+=1,this.stateNumericStart(e,t+1);return this.state=Ze.NamedEntity,this.stateNamedEntity(e,t)}case Ze.NumericStart:return this.stateNumericStart(e,t);case Ze.NumericDecimal:return this.stateNumericDecimal(e,t);case Ze.NumericHex:return this.stateNumericHex(e,t);case Ze.NamedEntity:return this.stateNamedEntity(e,t)}}stateNumericStart(e,t){if(t>=e.length)return-1;if((e.charCodeAt(t)|Bd)===Re.LOWER_X)return this.state=Ze.NumericHex,this.consumed+=1,this.stateNumericHex(e,t+1);return this.state=Ze.NumericDecimal,this.stateNumericDecimal(e,t)}stateNumericHex(e,t){while(t<e.length){let n=e.charCodeAt(t);if(Ba(n)||ly(n)){let r=n<=Re.NINE?n-Re.ZERO:(n|Bd)-Re.LOWER_A+10;this.result=this.result*16+r,this.consumed++,t++}else return this.emitNumericEntity(n,3)}return-1}stateNumericDecimal(e,t){while(t<e.length){let n=e.charCodeAt(t);if(Ba(n))this.result=this.result*10+(n-Re.ZERO),this.consumed++,t++;else return this.emitNumericEntity(n,2)}return-1}emitNumericEntity(e,t){var n;if(this.consumed<=t)return(n=this.errors)===null||n===void 0||n.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(e===Re.SEMI)this.consumed+=1;else if(this.decodeMode===Kt.Strict)return 0;if(this.emitCodePoint(Id(this.result),this.consumed),this.errors){if(e!==Re.SEMI)this.errors.missingSemicolonAfterCharacterReference();this.errors.validateNumericCharacterReference(this.result)}return this.consumed}stateNamedEntity(e,t){let{decodeTree:n}=this,r=n[this.treeIndex],o=(r&tt.VALUE_LENGTH)>>14;while(t<e.length){if(o===0&&(r&tt.FLAG13)!==0){let a=(r&tt.BRANCH_LENGTH)>>7;if(this.runConsumed===0){let s=r&tt.JUMP_TABLE;if(e.charCodeAt(t)!==s)return this.result===0?0:this.emitNotTerminatedNamedEntity();t++,this.excess++,this.runConsumed++}while(this.runConsumed<a){if(t>=e.length)return-1;let s=this.runConsumed-1,l=n[this.treeIndex+1+(s>>1)],u=s%2===0?l&255:l>>8&255;if(e.charCodeAt(t)!==u)return this.runConsumed=0,this.result===0?0:this.emitNotTerminatedNamedEntity();t++,this.excess++,this.runConsumed++}this.runConsumed=0,this.treeIndex+=1+(a>>1),r=n[this.treeIndex],o=(r&tt.VALUE_LENGTH)>>14}if(t>=e.length)break;let i=e.charCodeAt(t);if(i===Re.SEMI&&o!==0&&(r&tt.FLAG13)!==0)return this.emitNamedEntityData(this.treeIndex,o,this.consumed+this.excess);if(this.treeIndex=fy(n,r,this.treeIndex+Math.max(1,o),i),this.treeIndex<0)return this.result===0||this.decodeMode===Kt.Attribute&&(o===0||dy(i))?0:this.emitNotTerminatedNamedEntity();if(r=n[this.treeIndex],o=(r&tt.VALUE_LENGTH)>>14,o!==0){if(i===Re.SEMI)return this.emitNamedEntityData(this.treeIndex,o,this.consumed+this.excess);if(this.decodeMode!==Kt.Strict&&(r&tt.FLAG13)===0)this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0}t++,this.excess++}return-1}emitNotTerminatedNamedEntity(){var e;let{result:t,decodeTree:n}=this,r=(n[t]&tt.VALUE_LENGTH)>>14;return this.emitNamedEntityData(t,r,this.consumed),(e=this.errors)===null||e===void 0||e.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(e,t,n){let{decodeTree:r}=this;if(this.emitCodePoint(t===1?r[e]&~(tt.VALUE_LENGTH|tt.FLAG13):r[e+1],n),t===3)this.emitCodePoint(r[e+2],n);return n}end(){var e;switch(this.state){case Ze.NamedEntity:return this.result!==0&&(this.decodeMode!==Kt.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case Ze.NumericDecimal:return this.emitNumericEntity(0,2);case Ze.NumericHex:return this.emitNumericEntity(0,3);case Ze.NumericStart:return(e=this.errors)===null||e===void 0||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case Ze.EntityStart:return 0}}}function uy(e){let t="",n=new Ra(e,(r)=>t+=vd(r));return function(o,i){let a=0,s=0;while((s=o.indexOf("&",s))>=0){t+=o.slice(a,s),n.startEntity(i);let u=n.write(o,s+1);if(u<0){a=s+n.end();break}a=s+u,s=u===0?a+1:a}let l=t+o.slice(a);return t="",l}}function fy(e,t,n,r){let o=(t&tt.BRANCH_LENGTH)>>7,i=t&tt.JUMP_TABLE;if(o===0)return i!==0&&r===i?n:-1;if(i){let u=r-i;return u<0||u>=o?-1:e[n+u]-1}let a=o+1>>1,s=0,l=o-1;while(s<=l){let u=s+l>>>1,g=u>>1,k=e[n+g]>>(u&1)*8&255;if(k<r)s=u+1;else if(k>r)l=u-1;else return e[n+a+u]}return-1}var gy=uy(Td);function Pr(e){return gy(e,Kt.Strict)}var Rd;(function(e){e[e.XML=0]="XML",e[e.HTML=1]="HTML"})(Rd||(Rd={}));var _d;(function(e){e[e.UTF8=0]="UTF8",e[e.ASCII=1]="ASCII",e[e.Extensive=2]="Extensive",e[e.Attribute=3]="Attribute",e[e.Text=4]="Text"})(_d||(_d={}));import{BaseRenderable as Yy,isTextNodeRenderable as Jy,TextNodeRenderable as Vy,TextRenderable as qy,Yoga as Qd}from"@opentui/core";import{BoxRenderable as oR,RootRenderable as iR}from"@opentui/core";import{TimeToFirstDrawRenderable as ew}from"@opentui/core";import{createSlotRegistry as lR}from"@opentui/core";class Fr extends Ry{_ctx;constructor(e,t){super(t);this._ctx=e}}class Fo extends Fr{constructor(e,t){super(null,e);if(t==="b"||t==="strong")this.attributes=(this.attributes||0)|_a.BOLD;else if(t==="i"||t==="em")this.attributes=(this.attributes||0)|_a.ITALIC;else if(t==="u")this.attributes=(this.attributes||0)|_a.UNDERLINE}}class Na extends Fo{constructor(e){super(e,"b")}}class Da extends Fo{constructor(e){super(e,"i")}}class Gd extends Fo{constructor(e){super(e,"u")}}class zd extends Fr{constructor(e,t){super(null,t);this.add()}add(){return super.add(`
|
|
644
|
+
`)}}class Hd extends Fr{constructor(e,t){let n={...t,link:{url:t.href}};super(null,n)}}var Py={box:xy,text:_y,input:Sy,select:Ey,textarea:By,ascii_font:ky,tab_select:Ty,scrollbox:Iy,code:by,diff:yy,line_number:Cy,markdown:vy,image:wy,span:Fr,strong:Na,b:Na,em:Da,i:Da,u:Gd,br:zd,a:Hd},Ud={...Py};function My(e){Object.assign(Ud,e)}function Fy(){return Ud}var za=_o(),qn=()=>{let e=bn(za);if(!e)throw Error("No renderer found");return e},Ny=(e)=>{let t=qn();Gt(()=>{t.on("resize",e)}),Me(()=>{t.off("resize",e)})},ht=()=>{let e=qn(),[t,n]=j({width:e.width,height:e.height});return Ny((o,i)=>{n({width:o,height:i})}),t},jd=(e,t)=>{let r=qn().keyInput;Gt(()=>{if(r.on("keypress",e),t?.release)r.on("keyrelease",e)}),Me(()=>{if(r.off("keypress",e),t?.release)r.off("keyrelease",e)})},Wd=(e)=>{let n=qn().keyInput;Gt(()=>{n.on("paste",e)}),Me(()=>{n.off("paste",e)})};var Hy=(e)=>ye(()=>e());function Uy({createElement:e,createTextNode:t,createDynamicTextNode:n,createSlotNode:r,isTextNode:o,replaceText:i,insertNode:a,removeNode:s,setProperty:l,getParentNode:u,getFirstChild:g,getNextSibling:m}){function k(S,b,C,O){if(C!==void 0&&!O)O=[];if(typeof b!=="function")return y(S,b,O,C);$t((z)=>y(S,b(),z,C),O)}function y(S,b,C,O,z){while(typeof C==="function")C=C();if(b===C)return C;let J=typeof b,V=O!==void 0;if(J==="string"||J==="number"){if(J==="number")b=b.toString();if(V){let q=C[0];if(q&&o(q))i(q,b);else q=n(b);C=M(S,C,O,q)}else if(C!==""&&typeof C==="string")i(g(S),C=b);else M(S,C,O,n(b)),C=b}else if(b==null||J==="boolean")C=M(S,C,O);else if(J==="function")return $t(()=>{let q=b();while(typeof q==="function")q=q();C=y(S,q,C,O)}),()=>C;else if(Array.isArray(b)){let q=[];if(R(q,b,z))return $t(()=>C=y(S,q,C,O,!0)),()=>C;if(q.length===0){let X=M(S,C,O);if(V)return C=X}else if(Array.isArray(C))if(C.length===0)P(S,q,O);else N(S,C,q);else if(C==null||C==="")P(S,q);else N(S,V&&C||[g(S)],q);C=q}else{if(Array.isArray(C)){if(V)return C=M(S,C,O,b);M(S,C,null,b)}else if(C==null||C===""||!g(S))a(S,b);else w(S,b,g(S));C=b}return C}function R(S,b,C){let O=!1;for(let z=0,J=b.length;z<J;z++){let V=b[z],q;if(V==null||V===!0||V===!1);else if(Array.isArray(V))O=R(S,V)||O;else if((q=typeof V)==="string"||q==="number")S.push(n(V));else if(q==="function")if(C){while(typeof V==="function")V=V();O=R(S,Array.isArray(V)?V:[V])||O}else S.push(V),O=!0;else S.push(V)}return O}function N(S,b,C){let O=C.length,z=b.length,J=O,V=0,q=0,X=m(b[z-1]),ae=null;while(V<z||q<J){if(b[V]===C[q]){V++,q++;continue}while(b[z-1]===C[J-1])z--,J--;if(z===V){let Q=J<O?q?m(C[q-1]):C[J-q]:X;while(q<J)a(S,C[q++],Q)}else if(J===q)while(V<z){if(!ae||!ae.has(b[V]))s(S,b[V]);V++}else if(b[V]===C[J-1]&&C[q]===b[z-1]){let Q=m(b[--z]);a(S,C[q++],m(b[V++])),a(S,C[--J],Q),b[z]=C[J]}else{if(!ae){ae=new Map;let oe=q;while(oe<J)ae.set(C[oe],oe++)}let Q=ae.get(b[V]);if(Q!=null)if(q<Q&&Q<J){let oe=V,le=1,je;while(++oe<z&&oe<J){if((je=ae.get(b[oe]))==null||je!==Q+le)break;le++}if(le>Q-q){let Ct=b[V];while(q<Q)a(S,C[q++],Ct)}else w(S,C[q++],b[V++])}else V++;else s(S,b[V++])}}}function M(S,b,C,O){if(C===void 0){let J;while(J=g(S))s(S,J);return O&&a(S,O),O??""}let z=O||r();if(b.length){let J=!1;for(let V=b.length-1;V>=0;V--){let q=b[V];if(z!==q){let X=u(q)===S;if(!J&&!V)X?w(S,z,q):a(S,z,C);else X&&s(S,q)}else J=!0}}else a(S,z,C);return[z]}function P(S,b,C){for(let O=0,z=b.length;O<z;O++)a(S,b[O],C)}function w(S,b,C){a(S,b,C),s(S,C)}function L(S,b,C={},O){if(b||(b={}),!O)$t(()=>C.children=y(S,b.children,C.children));return $t(()=>b.ref&&b.ref(S)),$t(()=>{for(let z in b){if(z==="children"||z==="ref")continue;let J=b[z];if(J===C[z])continue;l(S,z,J,C[z]),C[z]=J}}),C}return{render(S,b){let C;return xn((O)=>{C=O,k(b,S())}),C},insert:k,spread(S,b,C){if(typeof b==="function")$t((O)=>L(S,b(),O,C));else L(S,b,void 0,C)},createElement:e,createTextNode:t,insertNode:a,setProp(S,b,C,O){return l(S,b,C,O),C},mergeProps:Po,effect:$t,memo:Hy,createComponent:Sd,use(S,b,C){return at(()=>S(b,C))}}}function jy(e){let t=Uy(e);return t.mergeProps=Po,t}var Mo=new Map;function Ha(e){if(!Mo.has(e))Mo.set(e,0);let t=Mo.get(e)+1;return Mo.set(e,t),`${e}-${t}`}var Ke=(...e)=>{if(process.env.DEBUG)console.log("[Reconciler]",...e)};class Jn extends zy{static fromString(e,t={}){let n=new Jn(t);return n.add(e),n}}var Ge=(e)=>{if(!e)return;return e.id},La=(e)=>{let t;if(e instanceof Kd)t=e.getTextChildren();else t=e.getChildren();return t};function Wy(e,t,n){if(Ke("Inserting node:",Ge(t),"into parent:",Ge(e),"with anchor:",Ge(n),t instanceof Jn),t instanceof Vn)t.parent=e,t=t.getSlotChild(e);if(n&&n instanceof Vn)n=n.getSlotChild(e);if(Oa(t)){if(!(e instanceof Kd)&&!Oa(e))throw Error(`Orphan text error: "${t.toChunks().map((i)=>i.text).join("")}" must have a <text> as a parent: ${e.id} above ${t.id}`)}if(!(e instanceof Zd))throw console.error("[INSERT]","Tried to mount a non base renderable"),Error("Tried to mount a non base renderable");if(!n){e.add(t);return}let r=La(e),o=r.indexOf(n);if(o===-1)Ke("[INSERT]","Could not find anchor",Ge(e),Ge(n),"[children]",...r.map((i)=>i.id));e.add(t,o)}function Zy(e,t){Ke("Removing node:",Ge(t),"from parent:",Ge(e));let n;if(t instanceof Vn){n=t;let r=n.getSlotChildForRemoval(e);if(!r){if(n.parent===e)n.parent=null;return}t=r}e.remove(t),n?.didRemoveSlotChild(e,t),process.nextTick(()=>{if(t instanceof Zd&&!t.parent){t.destroyRecursively();return}})}function Od(e,t){Ke("Creating text node:",e);let n=Ha("text-node");if(typeof e==="number")e=e.toString();return Jn.fromString(t?Pr(e):e,{id:n})}function Ky(){let e=Ha("slot-node");return Ke("Creating slot node",e),new Vn(e)}function Ld(e){Ke("Getting parent of node:",Ge(e));let t=e.parent??void 0;if(t instanceof $y)t=t.textParent??void 0;let n=t?.parent?.parent?.parent;if(n instanceof Gy&&n.content===t)t=n;return t}var{render:Qy,effect:I,memo:ue,createComponent:h,createElement:A,createTextNode:ze,insertNode:_,insert:p,spread:eR,setProp:d,mergeProps:tR,use:No}=jy({createElement(e){Ke("Creating element:",e);let t=Ha(e),n=bn(za);if(!n)throw Error("No renderer found");let r=Fy();if(!r[e])throw Error(`[Reconciler] Unknown component type: ${e}`);let o=new r[e](n,{id:t});if(o instanceof Md)Me(()=>{o.source=void 0});return Ke("Element created with id:",t),o},createTextNode:(e)=>Od(e,!0),createDynamicTextNode:(e)=>Od(e,!1),createSlotNode:Ky,replaceText(e,t){if(Ke("Replacing text:",t,"in node:",Ge(e)),!(e instanceof Jn))return;e.replace(t,0)},setProperty(e,t,n,r){if(t.startsWith("on:")){let o=t.slice(3);if(n)e.on(o,n);if(r)e.off(o,r);return}if(Oa(e)){if(t==="href"){e.link={url:n};return}if(t==="style"){e.attributes|=Dy(n),e.fg=n.fg?Fd(n.fg):e.fg,e.bg=n.bg?Fd(n.bg):e.bg;return}return}switch(t){case"id":Ke("Id mapped",e.id,"=",n),e[t]=n;break;case"focused":if(!(e instanceof Ly))return;if(n)e.focus();else e.blur();break;case"onChange":let o=void 0;if(e instanceof Nd)o=Ma.SELECTION_CHANGED;else if(e instanceof Dd)o=Fa.SELECTION_CHANGED;else if(e instanceof Pa)o=Mr.CHANGE;if(!o)break;if(n)e.on(o,n);if(r)e.off(o,r);break;case"onInput":if(e instanceof Pa){if(n)e.on(Mr.INPUT,n);if(r)e.off(Mr.INPUT,r)}break;case"onSubmit":if(e instanceof Pa){if(n)e.on(Mr.ENTER,n);if(r)e.off(Mr.ENTER,r)}else e[t]=n;break;case"onSelect":if(e instanceof Nd){if(n)e.on(Ma.ITEM_SELECTED,n);if(r)e.off(Ma.ITEM_SELECTED,r)}else if(e instanceof Dd){if(n)e.on(Fa.ITEM_SELECTED,n);if(r)e.off(Fa.ITEM_SELECTED,r)}break;case"style":let i=n??{},a=r??{};if(Oy(e)&&a.selectionOccupancy&&!i.selectionOccupancy)e.selectionOccupancy=void 0;if(e instanceof Md)for(let s in a){if(Object.prototype.hasOwnProperty.call(i,s))continue;if(s!=="fit"&&s!=="protocol")continue;e[s]=void 0}for(let s in i){let l=i[s];if(l===a[s])continue;e[s]=l}break;case"text":case"content":{let s=typeof n==="string"?n:Array.isArray(n)?n.join(""):`${n}`;e[t]=s;break}default:e[t]=n}},isTextNode(e){return e instanceof Jn},insertNode:Wy,removeNode:Zy,getParentNode:Ld,getFirstChild(e){Ke("Getting first child of node:",Ge(e));let t=La(e)[0];if(!t){Ke("No first child found for node:",Ge(e));return}return Ke("First child found:",Ge(t),"for node:",Ge(e)),t},getNextSibling(e){Ke("Getting next sibling of node:",Ge(e));let t=Ld(e);if(!t){Ke("No parent found for node:",Ge(e));return}if(e instanceof Vn){let i=e.getSlotChildForRemoval(t);if(i)e=i}let n=La(t),r=n.indexOf(e);if(r===-1||r===n.length-1){Ke("No next sibling found for node:",Ge(e));return}let o=n[r+1];if(!o){Ke("Next sibling is null for node:",Ge(e));return}return Ke("Next sibling found:",Ge(o),"for node:",Ge(e)),o}});function $d(e){return e?.getLayoutNode?.()?.constructor}function Xy(e){return e?.create?.()??Qd.default.Node.create()}class Ua extends Yy{constructor(e){super({id:e})}add(e,t){throw Error("Can't add children on an Slot renderable")}getChildren(){return[]}remove(e){}insertBefore(e,t){throw Error("Can't add children on an Slot renderable")}getRenderable(e){return}getChildrenCount(){return 0}requestRender(){}findDescendantById(e){return}}class $a extends Vy{slotParent;destroyed=!1;constructor(e,t){super({id:e});this._visible=!1,this.slotParent=t}detachFromSlot(){this.slotParent=void 0}disposeWithoutSlotCascade(){if(this.destroyed)return;this.destroyed=!0,this.detachFromSlot()}destroy(){if(this.destroyed)return;this.destroyed=!0;let e=this.slotParent;this.slotParent=void 0,e?.destroy(),super.destroy()}}class Ga extends Ua{yogaNode;slotParent;destroyed=!1;yogaNodeConstructor;yogaNodeFreed=!1;constructor(e,t,n){super(e);this._visible=!1,this.slotParent=t,this.yogaNodeConstructor=$d(n),this.yogaNode=Xy(this.yogaNodeConstructor),this.yogaNode.setDisplay(Qd.Display.None)}getLayoutNode(){return this.yogaNode}updateFromLayout(){}updateLayout(){}onRemove(){}isCompatibleWith(e){return this.yogaNodeConstructor===$d(e)}detachFromSlot(){this.slotParent=void 0}freeYogaNode(){if(this.yogaNodeFreed)return;this.yogaNodeFreed=!0;try{this.yogaNode.free()}catch{}}disposeWithoutSlotCascade(){if(this.destroyed)return;this.destroyed=!0,this.detachFromSlot(),this.freeYogaNode()}destroy(){if(this.destroyed)return;this.destroyed=!0;let e=this.slotParent;this.slotParent=void 0,this.freeYogaNode(),e?.destroy()}}class Vn extends Ua{destroyed=!1;layoutNodesByParent=new Map;textNodesByParent=new Map;layoutNodeCount=0;textNodeCount=0;constructor(e){super(e);this._visible=!1}get layoutNode(){return this.getCurrentSlotChild(this.layoutNodesByParent)}get textNode(){return this.getCurrentSlotChild(this.textNodesByParent)}isTextSlotParent(e){return Jy(e)||e instanceof qy}getCurrentSlotChild(e){for(let t of e.values())if(t.parent)return t;return e.values().next().value}getTextNodeForParent(e){let t=this.textNodesByParent.get(e);if(t)return t;for(let[n,r]of this.textNodesByParent){if(r.parent!==e)continue;return this.textNodesByParent.delete(n),this.textNodesByParent.set(e,r),r}}getLayoutNodeForParent(e){let t=this.layoutNodesByParent.get(e);if(t)return t;for(let[n,r]of this.layoutNodesByParent){if(r.parent!==e)continue;return this.layoutNodesByParent.delete(n),this.layoutNodesByParent.set(e,r),r}}takeReusableTextNode(e){for(let[t,n]of this.textNodesByParent){if(n.parent)continue;return this.textNodesByParent.delete(t),this.textNodesByParent.set(e,n),n}}takeReusableLayoutNode(e){for(let[t,n]of this.layoutNodesByParent){if(n.parent)continue;if(!n.isCompatibleWith(e))continue;return this.layoutNodesByParent.delete(t),this.layoutNodesByParent.set(e,n),n}}disposeDetachedTextNodes(){for(let[e,t]of this.textNodesByParent){if(t.parent)continue;this.textNodesByParent.delete(e),t.disposeWithoutSlotCascade()}}disposeDetachedIncompatibleLayoutNodes(e){for(let[t,n]of this.layoutNodesByParent){if(n.parent||n.isCompatibleWith(e))continue;this.layoutNodesByParent.delete(t),n.disposeWithoutSlotCascade()}}getAttachedSlotParent(e){for(let t of this.textNodesByParent.values())if(t!==e&&t.parent)return t.parent;for(let t of this.layoutNodesByParent.values())if(t!==e&&t.parent)return t.parent;return null}hasOtherAttachedSlotChildren(e){return this.getAttachedSlotParent(e)!==null}getSlotChild(e){if(this.isTextSlotParent(e)){let o=this.getTextNodeForParent(e);if(o)return o;let i=this.takeReusableTextNode(e);if(i)return i;this.disposeDetachedIncompatibleLayoutNodes(e);let a=new $a(`slot-text-${this.id}-${++this.textNodeCount}`,this);return this.textNodesByParent.set(e,a),a}let t=this.getLayoutNodeForParent(e);if(t)return t;let n=this.takeReusableLayoutNode(e);if(n)return n;this.disposeDetachedTextNodes(),this.disposeDetachedIncompatibleLayoutNodes(e);let r=new Ga(`slot-layout-${this.id}-${++this.layoutNodeCount}`,this,e);return this.layoutNodesByParent.set(e,r),r}getSlotChildForRemoval(e){if(this.isTextSlotParent(e))return this.getTextNodeForParent(e);return this.getLayoutNodeForParent(e)}didRemoveSlotChild(e,t){let n=this.hasOtherAttachedSlotChildren(t);if(n&&t instanceof $a&&this.getTextNodeForParent(e)===t)this.textNodesByParent.delete(e),t.disposeWithoutSlotCascade();if(n&&t instanceof Ga&&this.getLayoutNodeForParent(e)===t)this.layoutNodesByParent.delete(e),t.disposeWithoutSlotCascade();if(this.parent===e)this.parent=this.getAttachedSlotParent(t)}destroy(){if(this.destroyed)return;this.destroyed=!0;let e=new Set(this.layoutNodesByParent.values());this.layoutNodesByParent.clear();for(let n of e)n.destroy();let t=new Set(this.textNodesByParent.values());this.textNodesByParent.clear();for(let n of t)n.destroy()}}My({time_to_first_draw:ew});var tw=(e,t)=>{let n,r=!1,o=!1,i=!0,a=!1,s=e.destroy.bind(e),l=()=>{if(o)return;if(!n){r=!0;return}o=!0,n()};e.once("destroy",l),e.destroy=()=>{if(i){a=!0;return}s()};try{n=Qy(()=>h(za.Provider,{get value(){return e},get children(){return h(t,{})}}),e.root)}finally{i=!1,e.destroy=s}if(r)l();if(a)s()},Yd=async(e,t={})=>{let n=t instanceof hy?t:await py({...t,onDestroy:()=>{t.onDestroy?.()}});Ay.attach(n),tw(n,e)};import kB from"fs";import xB from"os";import Ac from"path";import Xe from"process";import{createCliRenderer as bB}from"@opentui/core";var Xn;(function(e){e.assertEqual=(o)=>{};function t(o){}e.assertIs=t;function n(o){throw Error()}e.assertNever=n,e.arrayToEnum=(o)=>{let i={};for(let a of o)i[a]=a;return i},e.getValidEnumValues=(o)=>{let i=e.objectKeys(o).filter((s)=>typeof o[o[s]]!=="number"),a={};for(let s of i)a[s]=o[s];return e.objectValues(a)},e.objectValues=(o)=>e.objectKeys(o).map(function(i){return o[i]}),e.objectKeys=typeof Object.keys==="function"?(o)=>Object.keys(o):(o)=>{let i=[];for(let a in o)if(Object.prototype.hasOwnProperty.call(o,a))i.push(a);return i},e.find=(o,i)=>{for(let a of o)if(i(a))return a;return},e.isInteger=typeof Number.isInteger==="function"?(o)=>Number.isInteger(o):(o)=>typeof o==="number"&&Number.isFinite(o)&&Math.floor(o)===o;function r(o,i=" | "){return o.map((a)=>typeof a==="string"?`'${a}'`:a).join(i)}e.joinValues=r,e.jsonStringifyReplacer=(o,i)=>{if(typeof i==="bigint")return i.toString();return i}})(Xn||(Xn={}));var Jd;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(Jd||(Jd={}));var dR=Xn.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]);var gR=Xn.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class er extends Error{get errors(){return this.issues}constructor(e){super();this.issues=[],this.addIssue=(n)=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let t=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,t);else this.__proto__=t;this.name="ZodError",this.issues=e}format(e){let t=e||function(o){return o.message},n={_errors:[]},r=(o)=>{for(let i of o.issues)if(i.code==="invalid_union")i.unionErrors.map(r);else if(i.code==="invalid_return_type")r(i.returnTypeError);else if(i.code==="invalid_arguments")r(i.argumentsError);else if(i.path.length===0)n._errors.push(t(i));else{let a=n,s=0;while(s<i.path.length){let l=i.path[s];if(s!==i.path.length-1)a[l]=a[l]||{_errors:[]};else a[l]=a[l]||{_errors:[]},a[l]._errors.push(t(i));a=a[l],s++}}};return r(this),n}static assert(e){if(!(e instanceof er))throw Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,Xn.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=(t)=>t.message){let t={},n=[];for(let r of this.issues)if(r.path.length>0){let o=r.path[0];t[o]=t[o]||[],t[o].push(e(r))}else n.push(e(r));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}}er.create=(e)=>new er(e);var ft={authenticate:"authenticate",initialize:"initialize",session_cancel:"session/cancel",session_close:"session/close",session_fork:"session/fork",session_list:"session/list",session_load:"session/load",session_new:"session/new",session_prompt:"session/prompt",session_resume:"session/resume",session_set_config_option:"session/set_config_option",session_set_mode:"session/set_mode",session_set_model:"session/set_model"},zt={fs_read_text_file:"fs/read_text_file",fs_write_text_file:"fs/write_text_file",session_request_permission:"session/request_permission",session_update:"session/update",terminal_create:"terminal/create",terminal_kill:"terminal/kill",terminal_output:"terminal/output",terminal_release:"terminal/release",terminal_wait_for_exit:"terminal/wait_for_exit"},Vd=1;var AR=Object.freeze({status:"aborted"});function D(e,t,n){function r(s,l){var u;Object.defineProperty(s,"_zod",{value:s._zod??{},enumerable:!1}),(u=s._zod).traits??(u.traits=new Set),s._zod.traits.add(e),t(s,l);for(let g in a.prototype)if(!(g in s))Object.defineProperty(s,g,{value:a.prototype[g].bind(s)});s._zod.constr=a,s._zod.def=l}let o=n?.Parent??Object;class i extends o{}Object.defineProperty(i,"name",{value:e});function a(s){var l;let u=n?.Parent?new i:this;r(u,s),(l=u._zod).deferred??(l.deferred=[]);for(let g of u._zod.deferred)g();return u}return Object.defineProperty(a,"init",{value:r}),Object.defineProperty(a,Symbol.hasInstance,{value:(s)=>{if(n?.Parent&&s instanceof n.Parent)return!0;return s?._zod?.traits?.has(e)}}),Object.defineProperty(a,"name",{value:e}),a}var kR=Symbol("zod_brand");class an extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}var Do={};function Ht(e){if(e)Object.assign(Do,e);return Do}function qd(e){let t=Object.values(e).filter((r)=>typeof r==="number");return Object.entries(e).filter(([r,o])=>t.indexOf(+r)===-1).map(([r,o])=>o)}function Xd(e,t){if(typeof t==="bigint")return t.toString();return t}function Wa(e){return{get value(){{let n=e();return Object.defineProperty(this,"value",{value:n}),n}throw Error("cached value already set")}}}function $o(e){return e===null||e===void 0}function Go(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function eu(e,t){let n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,o=n>r?n:r,i=Number.parseInt(e.toFixed(o).replace(".","")),a=Number.parseInt(t.toFixed(o).replace(".",""));return i%a/10**o}function Ce(e,t,n){Object.defineProperty(e,t,{get(){{let o=n();return e[t]=o,o}throw Error("cached value already set")},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function Za(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function tr(e){return JSON.stringify(e)}var Ka=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};function Lo(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}var tu=Wa(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});function Nr(e){if(Lo(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;let n=t.prototype;if(Lo(n)===!1)return!1;if(Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)return!1;return!0}var nu=new Set(["string","number","symbol"]);function yn(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Qt(e,t,n){let r=new e._zod.constr(t??e._zod.def);if(!t||n?.parent)r._zod.parent=e;return r}function ie(e){let t=e;if(!t)return{};if(typeof t==="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}if(delete t.message,typeof t.error==="string")return{...t,error:()=>t.error};return t}function ru(e){return Object.keys(e).filter((t)=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var ou={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function ow(e,t){let n={},r=e._zod.def;for(let o in t){if(!(o in r.shape))throw Error(`Unrecognized key: "${o}"`);if(!t[o])continue;n[o]=r.shape[o]}return Qt(e,{...e._zod.def,shape:n,checks:[]})}function iw(e,t){let n={...e._zod.def.shape},r=e._zod.def;for(let o in t){if(!(o in r.shape))throw Error(`Unrecognized key: "${o}"`);if(!t[o])continue;delete n[o]}return Qt(e,{...e._zod.def,shape:n,checks:[]})}function aw(e,t){if(!Nr(t))throw Error("Invalid input to extend: expected a plain object");let n={...e._zod.def,get shape(){let r={...e._zod.def.shape,...t};return Za(this,"shape",r),r},checks:[]};return Qt(e,n)}function sw(e,t){return Qt(e,{...e._zod.def,get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return Za(this,"shape",n),n},catchall:t._zod.def.catchall,checks:[]})}function lw(e,t,n){let r=t._zod.def.shape,o={...r};if(n)for(let i in n){if(!(i in r))throw Error(`Unrecognized key: "${i}"`);if(!n[i])continue;o[i]=e?new e({type:"optional",innerType:r[i]}):r[i]}else for(let i in r)o[i]=e?new e({type:"optional",innerType:r[i]}):r[i];return Qt(t,{...t._zod.def,shape:o,checks:[]})}function cw(e,t,n){let r=t._zod.def.shape,o={...r};if(n)for(let i in n){if(!(i in o))throw Error(`Unrecognized key: "${i}"`);if(!n[i])continue;o[i]=new e({type:"nonoptional",innerType:r[i]})}else for(let i in r)o[i]=new e({type:"nonoptional",innerType:r[i]});return Qt(t,{...t._zod.def,shape:o,checks:[]})}function nr(e,t=0){for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function Yt(e,t){return t.map((n)=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function Oo(e){return typeof e==="string"?e:e?.message}function Ut(e,t,n){let r={...e,path:e.path??[]};if(!e.message){let o=Oo(e.inst?._zod.def?.error?.(e))??Oo(t?.error?.(e))??Oo(n.customError?.(e))??Oo(n.localeError?.(e))??"Invalid input";r.message=o}if(delete r.inst,delete r.continue,!t?.reportInput)delete r.input;return r}function zo(e){if(Array.isArray(e))return"array";if(typeof e==="string")return"string";return"unknown"}function rr(...e){let[t,n,r]=e;if(typeof t==="string")return{message:t,code:"custom",input:n,inst:r};return{...t}}var iu=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),Object.defineProperty(e,"message",{get(){return JSON.stringify(t,Xd,2)},enumerable:!0}),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Ho=D("$ZodError",iu),Qa=D("$ZodError",iu,{Parent:Error});function au(e,t=(n)=>n.message){let n={},r=[];for(let o of e.issues)if(o.path.length>0)n[o.path[0]]=n[o.path[0]]||[],n[o.path[0]].push(t(o));else r.push(t(o));return{formErrors:r,fieldErrors:n}}function su(e,t){let n=t||function(i){return i.message},r={_errors:[]},o=(i)=>{for(let a of i.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map((s)=>o({issues:s}));else if(a.code==="invalid_key")o({issues:a.issues});else if(a.code==="invalid_element")o({issues:a.issues});else if(a.path.length===0)r._errors.push(n(a));else{let s=r,l=0;while(l<a.path.length){let u=a.path[l];if(l!==a.path.length-1)s[u]=s[u]||{_errors:[]};else s[u]=s[u]||{_errors:[]},s[u]._errors.push(n(a));s=s[u],l++}}};return o(e),r}var lu=(e)=>(t,n,r,o)=>{let i=r?Object.assign(r,{async:!1}):{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new an;if(a.issues.length){let s=new(o?.Err??e)(a.issues.map((l)=>Ut(l,i,Ht())));throw Ka(s,o?.callee),s}return a.value};var cu=(e)=>async(t,n,r,o)=>{let i=r?Object.assign(r,{async:!0}):{async:!0},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)a=await a;if(a.issues.length){let s=new(o?.Err??e)(a.issues.map((l)=>Ut(l,i,Ht())));throw Ka(s,o?.callee),s}return a.value};var Ya=(e)=>(t,n,r)=>{let o=r?{...r,async:!1}:{async:!1},i=t._zod.run({value:n,issues:[]},o);if(i instanceof Promise)throw new an;return i.issues.length?{success:!1,error:new(e??Ho)(i.issues.map((a)=>Ut(a,o,Ht())))}:{success:!0,data:i.value}},du=Ya(Qa),Ja=(e)=>async(t,n,r)=>{let o=r?Object.assign(r,{async:!0}):{async:!0},i=t._zod.run({value:n,issues:[]},o);if(i instanceof Promise)i=await i;return i.issues.length?{success:!1,error:new e(i.issues.map((a)=>Ut(a,o,Ht())))}:{success:!0,data:i.value}},uu=Ja(Qa);var fu=/^[cC][^\s-]{8,}$/,gu=/^[0-9a-z]+$/,mu=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,hu=/^[0-9a-vA-V]{20}$/,pu=/^[A-Za-z0-9]{27}$/,Au=/^[a-zA-Z0-9_-]{21}$/,ku=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var xu=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Va=(e)=>{if(!e)return/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)};var bu=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;function yu(){return new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")}var wu=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Su=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/,Cu=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,vu=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Iu=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,qa=/^[A-Za-z0-9_-]*$/,Eu=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var Tu=/^\+(?:[0-9]){6,14}[0-9]$/,Bu="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",Ru=new RegExp(`^${Bu}$`);function _u(e){return typeof e.precision==="number"?e.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":e.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${e.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function Pu(e){return new RegExp(`^${_u(e)}$`)}function Mu(e){let t=_u({precision:e.precision}),n=["Z"];if(e.local)n.push("");if(e.offset)n.push("([+-]\\d{2}:\\d{2})");let r=`${t}(?:${n.join("|")})`;return new RegExp(`^${Bu}T(?:${r})$`)}var Fu=(e)=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)};var Nu=/^\d+$/,Du=/^-?\d+(?:\.\d+)?/i,Ou=/true|false/i;var Lu=/^[^A-Z]*$/,$u=/^[^a-z]*$/;var nt=D("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Gu={number:"number",bigint:"bigint",object:"date"},es=D("$ZodCheckLessThan",(e,t)=>{nt.init(e,t);let n=Gu[typeof t.value];e._zod.onattach.push((r)=>{let o=r._zod.bag,i=(t.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(t.value<i)if(t.inclusive)o.maximum=t.value;else o.exclusiveMaximum=t.value}),e._zod.check=(r)=>{if(t.inclusive?r.value<=t.value:r.value<t.value)return;r.issues.push({origin:n,code:"too_big",maximum:t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),ts=D("$ZodCheckGreaterThan",(e,t)=>{nt.init(e,t);let n=Gu[typeof t.value];e._zod.onattach.push((r)=>{let o=r._zod.bag,i=(t.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(t.value>i)if(t.inclusive)o.minimum=t.value;else o.exclusiveMinimum=t.value}),e._zod.check=(r)=>{if(t.inclusive?r.value>=t.value:r.value>t.value)return;r.issues.push({origin:n,code:"too_small",minimum:t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),zu=D("$ZodCheckMultipleOf",(e,t)=>{nt.init(e,t),e._zod.onattach.push((n)=>{var r;(r=n._zod.bag).multipleOf??(r.multipleOf=t.value)}),e._zod.check=(n)=>{if(typeof n.value!==typeof t.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof n.value==="bigint"?n.value%t.value===BigInt(0):eu(n.value,t.value)===0)return;n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),Hu=D("$ZodCheckNumberFormat",(e,t)=>{nt.init(e,t),t.format=t.format||"float64";let n=t.format?.includes("int"),r=n?"int":"number",[o,i]=ou[t.format];e._zod.onattach.push((a)=>{let s=a._zod.bag;if(s.format=t.format,s.minimum=o,s.maximum=i,n)s.pattern=Nu}),e._zod.check=(a)=>{let s=a.value;if(n){if(!Number.isInteger(s)){a.issues.push({expected:r,format:t.format,code:"invalid_type",input:s,inst:e});return}if(!Number.isSafeInteger(s)){if(s>0)a.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,continue:!t.abort});else a.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,continue:!t.abort});return}}if(s<o)a.issues.push({origin:"number",input:s,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort});if(s>i)a.issues.push({origin:"number",input:s,code:"too_big",maximum:i,inst:e})}});var Uu=D("$ZodCheckMaxLength",(e,t)=>{var n;nt.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!$o(o)&&o.length!==void 0}),e._zod.onattach.push((r)=>{let o=r._zod.bag.maximum??Number.POSITIVE_INFINITY;if(t.maximum<o)r._zod.bag.maximum=t.maximum}),e._zod.check=(r)=>{let o=r.value;if(o.length<=t.maximum)return;let a=zo(o);r.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),ju=D("$ZodCheckMinLength",(e,t)=>{var n;nt.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!$o(o)&&o.length!==void 0}),e._zod.onattach.push((r)=>{let o=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(t.minimum>o)r._zod.bag.minimum=t.minimum}),e._zod.check=(r)=>{let o=r.value;if(o.length>=t.minimum)return;let a=zo(o);r.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Wu=D("$ZodCheckLengthEquals",(e,t)=>{var n;nt.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!$o(o)&&o.length!==void 0}),e._zod.onattach.push((r)=>{let o=r._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=(r)=>{let o=r.value,i=o.length;if(i===t.length)return;let a=zo(o),s=i>t.length;r.issues.push({origin:a,...s?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!t.abort})}}),Dr=D("$ZodCheckStringFormat",(e,t)=>{var n,r;if(nt.init(e,t),e._zod.onattach.push((o)=>{let i=o._zod.bag;if(i.format=t.format,t.pattern)i.patterns??(i.patterns=new Set),i.patterns.add(t.pattern)}),t.pattern)(n=e._zod).check??(n.check=(o)=>{if(t.pattern.lastIndex=0,t.pattern.test(o.value))return;o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})});else(r=e._zod).check??(r.check=()=>{})}),Zu=D("$ZodCheckRegex",(e,t)=>{Dr.init(e,t),e._zod.check=(n)=>{if(t.pattern.lastIndex=0,t.pattern.test(n.value))return;n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Ku=D("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Lu),Dr.init(e,t)}),Qu=D("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=$u),Dr.init(e,t)}),Yu=D("$ZodCheckIncludes",(e,t)=>{nt.init(e,t);let n=yn(t.includes),r=new RegExp(typeof t.position==="number"?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push((o)=>{let i=o._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),e._zod.check=(o)=>{if(o.value.includes(t.includes,t.position))return;o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),Ju=D("$ZodCheckStartsWith",(e,t)=>{nt.init(e,t);let n=new RegExp(`^${yn(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push((r)=>{let o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=(r)=>{if(r.value.startsWith(t.prefix))return;r.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:r.value,inst:e,continue:!t.abort})}}),Vu=D("$ZodCheckEndsWith",(e,t)=>{nt.init(e,t);let n=new RegExp(`.*${yn(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push((r)=>{let o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=(r)=>{if(r.value.endsWith(t.suffix))return;r.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:r.value,inst:e,continue:!t.abort})}});var qu=D("$ZodCheckOverwrite",(e,t)=>{nt.init(e,t),e._zod.check=(n)=>{n.value=t.tx(n.value)}});class ns{constructor(e=[]){if(this.content=[],this.indent=0,this)this.args=e}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e==="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let n=e.split(`
|
|
645
645
|
`).filter((i)=>i),r=Math.min(...n.map((i)=>i.length-i.trimStart().length)),o=n.map((i)=>i.slice(r)).map((i)=>" ".repeat(this.indent*2)+i);for(let i of o)this.content.push(i)}compile(){let e=Function,t=this?.args,r=[...(this?.content??[""]).map((o)=>` ${o}`)];return new e(...t,r.join(`
|
|
646
|
-
`))}}var
|
|
647
|
-
if (${
|
|
648
|
-
if (input[${
|
|
649
|
-
if (${
|
|
650
|
-
newResult[${
|
|
646
|
+
`))}}var ef={major:4,minor:0,patch:0};var ve=D("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=ef;let r=[...e._zod.def.checks??[]];if(e._zod.traits.has("$ZodCheck"))r.unshift(e);for(let o of r)for(let i of o._zod.onattach)i(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let o=(i,a,s)=>{let l=nr(i),u;for(let g of a){if(g._zod.def.when){if(!g._zod.def.when(i))continue}else if(l)continue;let m=i.issues.length,k=g._zod.check(i);if(k instanceof Promise&&s?.async===!1)throw new an;if(u||k instanceof Promise)u=(u??Promise.resolve()).then(async()=>{if(await k,i.issues.length===m)return;if(!l)l=nr(i,m)});else{if(i.issues.length===m)continue;if(!l)l=nr(i,m)}}if(u)return u.then(()=>i);return i};e._zod.run=(i,a)=>{let s=e._zod.parse(i,a);if(s instanceof Promise){if(a.async===!1)throw new an;return s.then((l)=>o(l,r,a))}return o(s,r,a)}}e["~standard"]={validate:(o)=>{try{let i=du(e,o);return i.success?{value:i.data}:{issues:i.error?.issues}}catch(i){return uu(e,o).then((a)=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}}),jo=D("$ZodString",(e,t)=>{ve.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Fu(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch(o){}if(typeof n.value==="string")return n;return n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),Ie=D("$ZodStringFormat",(e,t)=>{Dr.init(e,t),jo.init(e,t)}),uf=D("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=xu),Ie.init(e,t)}),ff=D("$ZodUUID",(e,t)=>{if(t.version){let r={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(r===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=Va(r))}else t.pattern??(t.pattern=Va());Ie.init(e,t)}),gf=D("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=bu),Ie.init(e,t)}),mf=D("$ZodURL",(e,t)=>{Ie.init(e,t),e._zod.check=(n)=>{try{let r=n.value,o=new URL(r),i=o.href;if(t.hostname){if(t.hostname.lastIndex=0,!t.hostname.test(o.hostname))n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:Eu.source,input:n.value,inst:e,continue:!t.abort})}if(t.protocol){if(t.protocol.lastIndex=0,!t.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol))n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})}if(!r.endsWith("/")&&i.endsWith("/"))n.value=i.slice(0,-1);else n.value=i;return}catch(r){n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),hf=D("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=yu()),Ie.init(e,t)}),pf=D("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=Au),Ie.init(e,t)}),Af=D("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=fu),Ie.init(e,t)}),kf=D("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=gu),Ie.init(e,t)}),xf=D("$ZodULID",(e,t)=>{t.pattern??(t.pattern=mu),Ie.init(e,t)}),bf=D("$ZodXID",(e,t)=>{t.pattern??(t.pattern=hu),Ie.init(e,t)}),yf=D("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=pu),Ie.init(e,t)}),wf=D("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=Mu(t)),Ie.init(e,t)}),Sf=D("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Ru),Ie.init(e,t)}),Cf=D("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=Pu(t)),Ie.init(e,t)}),vf=D("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=ku),Ie.init(e,t)}),If=D("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=wu),Ie.init(e,t),e._zod.onattach.push((n)=>{let r=n._zod.bag;r.format="ipv4"})}),Ef=D("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Su),Ie.init(e,t),e._zod.onattach.push((n)=>{let r=n._zod.bag;r.format="ipv6"}),e._zod.check=(n)=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}}),Tf=D("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=Cu),Ie.init(e,t)}),Bf=D("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=vu),Ie.init(e,t),e._zod.check=(n)=>{let[r,o]=n.value.split("/");try{if(!o)throw Error();let i=Number(o);if(`${i}`!==o)throw Error();if(i<0||i>128)throw Error();new URL(`http://[${r}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});function Rf(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var _f=D("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=Iu),Ie.init(e,t),e._zod.onattach.push((n)=>{n._zod.bag.contentEncoding="base64"}),e._zod.check=(n)=>{if(Rf(n.value))return;n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});function uw(e){if(!qa.test(e))return!1;let t=e.replace(/[-_]/g,(r)=>r==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return Rf(n)}var Pf=D("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=qa),Ie.init(e,t),e._zod.onattach.push((n)=>{n._zod.bag.contentEncoding="base64url"}),e._zod.check=(n)=>{if(uw(n.value))return;n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),Mf=D("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Tu),Ie.init(e,t)});function fw(e,t=null){try{let n=e.split(".");if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let o=JSON.parse(atob(r));if("typ"in o&&o?.typ!=="JWT")return!1;if(!o.alg)return!1;if(t&&(!("alg"in o)||o.alg!==t))return!1;return!0}catch{return!1}}var Ff=D("$ZodJWT",(e,t)=>{Ie.init(e,t),e._zod.check=(n)=>{if(fw(n.value,t.alg))return;n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}});var os=D("$ZodNumber",(e,t)=>{ve.init(e,t),e._zod.pattern=e._zod.bag.pattern??Du,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch(a){}let o=n.value;if(typeof o==="number"&&!Number.isNaN(o)&&Number.isFinite(o))return n;let i=typeof o==="number"?Number.isNaN(o)?"NaN":!Number.isFinite(o)?"Infinity":void 0:void 0;return n.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...i?{received:i}:{}}),n}}),Nf=D("$ZodNumber",(e,t)=>{Hu.init(e,t),os.init(e,t)}),Df=D("$ZodBoolean",(e,t)=>{ve.init(e,t),e._zod.pattern=Ou,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Boolean(n.value)}catch(i){}let o=n.value;if(typeof o==="boolean")return n;return n.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),n}});var Of=D("$ZodUnknown",(e,t)=>{ve.init(e,t),e._zod.parse=(n)=>n}),Lf=D("$ZodNever",(e,t)=>{ve.init(e,t),e._zod.parse=(n,r)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)});function tf(e,t,n){if(e.issues.length)t.issues.push(...Yt(n,e.issues));t.value[n]=e.value}var $f=D("$ZodArray",(e,t)=>{ve.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(!Array.isArray(o))return n.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),n;n.value=Array(o.length);let i=[];for(let a=0;a<o.length;a++){let s=o[a],l=t.element._zod.run({value:s,issues:[]},r);if(l instanceof Promise)i.push(l.then((u)=>tf(u,n,a)));else tf(l,n,a)}if(i.length)return Promise.all(i).then(()=>n);return n}});function Uo(e,t,n){if(e.issues.length)t.issues.push(...Yt(n,e.issues));t.value[n]=e.value}function nf(e,t,n,r){if(e.issues.length)if(r[n]===void 0)if(n in r)t.value[n]=void 0;else t.value[n]=e.value;else t.issues.push(...Yt(n,e.issues));else if(e.value===void 0){if(n in r)t.value[n]=void 0}else t.value[n]=e.value}var Gf=D("$ZodObject",(e,t)=>{ve.init(e,t);let n=Wa(()=>{let m=Object.keys(t.shape);for(let y of m)if(!(t.shape[y]instanceof ve))throw Error(`Invalid element at key "${y}": expected a Zod schema`);let k=ru(t.shape);return{shape:t.shape,keys:m,keySet:new Set(m),numKeys:m.length,optionalKeys:new Set(k)}});Ce(e._zod,"propValues",()=>{let m=t.shape,k={};for(let y in m){let R=m[y]._zod;if(R.values){k[y]??(k[y]=new Set);for(let N of R.values)k[y].add(N)}}return k});let r=(m)=>{let k=new ns(["shape","payload","ctx"]),y=n.value,R=(w)=>{let L=tr(w);return`shape[${L}]._zod.run({ value: input[${L}], issues: [] }, ctx)`};k.write("const input = payload.value;");let N=Object.create(null),M=0;for(let w of y.keys)N[w]=`key_${M++}`;k.write("const newResult = {}");for(let w of y.keys)if(y.optionalKeys.has(w)){let L=N[w];k.write(`const ${L} = ${R(w)};`);let S=tr(w);k.write(`
|
|
647
|
+
if (${L}.issues.length) {
|
|
648
|
+
if (input[${S}] === undefined) {
|
|
649
|
+
if (${S} in input) {
|
|
650
|
+
newResult[${S}] = undefined;
|
|
651
651
|
}
|
|
652
652
|
} else {
|
|
653
653
|
payload.issues = payload.issues.concat(
|
|
654
|
-
${
|
|
654
|
+
${L}.issues.map((iss) => ({
|
|
655
655
|
...iss,
|
|
656
|
-
path: iss.path ? [${
|
|
656
|
+
path: iss.path ? [${S}, ...iss.path] : [${S}],
|
|
657
657
|
}))
|
|
658
658
|
);
|
|
659
659
|
}
|
|
660
|
-
} else if (${
|
|
661
|
-
if (${
|
|
660
|
+
} else if (${L}.value === undefined) {
|
|
661
|
+
if (${S} in input) newResult[${S}] = undefined;
|
|
662
662
|
} else {
|
|
663
|
-
newResult[${
|
|
663
|
+
newResult[${S}] = ${L}.value;
|
|
664
664
|
}
|
|
665
|
-
`)}else{let
|
|
666
|
-
if (${
|
|
665
|
+
`)}else{let L=N[w];k.write(`const ${L} = ${R(w)};`),k.write(`
|
|
666
|
+
if (${L}.issues.length) payload.issues = payload.issues.concat(${L}.issues.map(iss => ({
|
|
667
667
|
...iss,
|
|
668
|
-
path: iss.path ? [${
|
|
669
|
-
})));`),k.write(`newResult[${er(S)}] = ${z}.value`)}k.write("payload.value = newResult;"),k.write("return payload;");let N=k.compile();return(S,z)=>N(g,S,z)},o,i=Oo,a=!No.jitless,l=a&&eu.value,u=t.catchall,m;e._zod.parse=(g,k)=>{m??(m=n.value);let y=g.value;if(!i(y))return g.issues.push({expected:"object",code:"invalid_type",input:y,inst:e}),g;let _=[];if(a&&l&&k?.async===!1&&k.jitless!==!0){if(!o)o=r(t.shape);g=o(g,k)}else{g.value={};let z=m.shape;for(let w of m.keys){let b=z[w],v=b._zod.run({value:y[w],issues:[]},k),F=b._zod.optin==="optional"&&b._zod.optout==="optional";if(v instanceof Promise)_.push(v.then((L)=>F?tf(L,g,w,y):Ho(L,g,w)));else if(F)tf(v,g,w,y);else Ho(v,g,w)}}if(!u)return _.length?Promise.all(_).then(()=>g):g;let U=[],D=m.keySet,N=u._zod,S=N.def.type;for(let z of Object.keys(y)){if(D.has(z))continue;if(S==="never"){U.push(z);continue}let w=N.run({value:y[z],issues:[]},k);if(w instanceof Promise)_.push(w.then((b)=>Ho(b,g,z)));else Ho(w,g,z)}if(U.length)g.issues.push({code:"unrecognized_keys",keys:U,input:y,inst:e});if(!_.length)return g;return Promise.all(_).then(()=>g)}});function nf(e,t,n,r){for(let o of e)if(o.issues.length===0)return t.value=o.value,t;return t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map((o)=>o.issues.map((i)=>Ut(i,r,Ht())))}),t}var Gf=M("$ZodUnion",(e,t)=>{ve.init(e,t),Ce(e._zod,"optin",()=>t.options.some((n)=>n._zod.optin==="optional")?"optional":void 0),Ce(e._zod,"optout",()=>t.options.some((n)=>n._zod.optout==="optional")?"optional":void 0),Ce(e._zod,"values",()=>{if(t.options.every((n)=>n._zod.values))return new Set(t.options.flatMap((n)=>Array.from(n._zod.values)));return}),Ce(e._zod,"pattern",()=>{if(t.options.every((n)=>n._zod.pattern)){let n=t.options.map((r)=>r._zod.pattern);return new RegExp(`^(${n.map((r)=>$o(r.source)).join("|")})$`)}return}),e._zod.parse=(n,r)=>{let o=!1,i=[];for(let a of t.options){let s=a._zod.run({value:n.value,issues:[]},r);if(s instanceof Promise)i.push(s),o=!0;else{if(s.issues.length===0)return s;i.push(s)}}if(!o)return nf(i,n,e,r);return Promise.all(i).then((a)=>nf(a,n,e,r))}});var zf=M("$ZodIntersection",(e,t)=>{ve.init(e,t),e._zod.parse=(n,r)=>{let o=n.value,i=t.left._zod.run({value:o,issues:[]},r),a=t.right._zod.run({value:o,issues:[]},r);if(i instanceof Promise||a instanceof Promise)return Promise.all([i,a]).then(([l,u])=>rf(n,l,u));return rf(n,i,a)}});function rs(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e===+t)return{valid:!0,data:e};if(Fr(e)&&Fr(t)){let n=Object.keys(t),r=Object.keys(e).filter((i)=>n.indexOf(i)!==-1),o={...e,...t};for(let i of r){let a=rs(e[i],t[i]);if(!a.valid)return{valid:!1,mergeErrorPath:[i,...a.mergeErrorPath]};o[i]=a.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let o=e[r],i=t[r],a=rs(o,i);if(!a.valid)return{valid:!1,mergeErrorPath:[r,...a.mergeErrorPath]};n.push(a.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function rf(e,t,n){if(t.issues.length)e.issues.push(...t.issues);if(n.issues.length)e.issues.push(...n.issues);if(tr(e))return e;let r=rs(t.value,n.value);if(!r.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(r.mergeErrorPath)}`);return e.value=r.data,e}var Hf=M("$ZodRecord",(e,t)=>{ve.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(!Fr(o))return n.issues.push({expected:"record",code:"invalid_type",input:o,inst:e}),n;let i=[];if(t.keyType._zod.values){let a=t.keyType._zod.values;n.value={};for(let l of a)if(typeof l==="string"||typeof l==="number"||typeof l==="symbol"){let u=t.valueType._zod.run({value:o[l],issues:[]},r);if(u instanceof Promise)i.push(u.then((m)=>{if(m.issues.length)n.issues.push(...Yt(l,m.issues));n.value[l]=m.value}));else{if(u.issues.length)n.issues.push(...Yt(l,u.issues));n.value[l]=u.value}}let s;for(let l in o)if(!a.has(l))s=s??[],s.push(l);if(s&&s.length>0)n.issues.push({code:"unrecognized_keys",input:o,inst:e,keys:s})}else{n.value={};for(let a of Reflect.ownKeys(o)){if(a==="__proto__")continue;let s=t.keyType._zod.run({value:a,issues:[]},r);if(s instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(s.issues.length){n.issues.push({origin:"record",code:"invalid_key",issues:s.issues.map((u)=>Ut(u,r,Ht())),input:a,path:[a],inst:e}),n.value[s.value]=s.value;continue}let l=t.valueType._zod.run({value:o[a],issues:[]},r);if(l instanceof Promise)i.push(l.then((u)=>{if(u.issues.length)n.issues.push(...Yt(a,u.issues));n.value[s.value]=u.value}));else{if(l.issues.length)n.issues.push(...Yt(a,l.issues));n.value[s.value]=l.value}}}if(i.length)return Promise.all(i).then(()=>n);return n}});var Uf=M("$ZodEnum",(e,t)=>{ve.init(e,t);let n=Vd(t.entries);e._zod.values=new Set(n),e._zod.pattern=new RegExp(`^(${n.filter((r)=>tu.has(typeof r)).map((r)=>typeof r==="string"?bn(r):r.toString()).join("|")})$`),e._zod.parse=(r,o)=>{let i=r.value;if(e._zod.values.has(i))return r;return r.issues.push({code:"invalid_value",values:n,input:i,inst:e}),r}}),jf=M("$ZodLiteral",(e,t)=>{ve.init(e,t),e._zod.values=new Set(t.values),e._zod.pattern=new RegExp(`^(${t.values.map((n)=>typeof n==="string"?bn(n):n?n.toString():String(n)).join("|")})$`),e._zod.parse=(n,r)=>{let o=n.value;if(e._zod.values.has(o))return n;return n.issues.push({code:"invalid_value",values:t.values,input:o,inst:e}),n}});var Wf=M("$ZodTransform",(e,t)=>{ve.init(e,t),e._zod.parse=(n,r)=>{let o=t.transform(n.value,n);if(r.async)return(o instanceof Promise?o:Promise.resolve(o)).then((a)=>(n.value=a,n));if(o instanceof Promise)throw new an;return n.value=o,n}}),Zf=M("$ZodOptional",(e,t)=>{ve.init(e,t),e._zod.optin="optional",e._zod.optout="optional",Ce(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),Ce(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${$o(n.source)})?$`):void 0}),e._zod.parse=(n,r)=>{if(t.innerType._zod.optin==="optional")return t.innerType._zod.run(n,r);if(n.value===void 0)return n;return t.innerType._zod.run(n,r)}}),Kf=M("$ZodNullable",(e,t)=>{ve.init(e,t),Ce(e._zod,"optin",()=>t.innerType._zod.optin),Ce(e._zod,"optout",()=>t.innerType._zod.optout),Ce(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${$o(n.source)}|null)$`):void 0}),Ce(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(n,r)=>{if(n.value===null)return n;return t.innerType._zod.run(n,r)}}),Qf=M("$ZodDefault",(e,t)=>{ve.init(e,t),e._zod.optin="optional",Ce(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(n.value===void 0)return n.value=t.defaultValue,n;let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then((i)=>of(i,t));return of(o,t)}});function of(e,t){if(e.value===void 0)e.value=t.defaultValue;return e}var Yf=M("$ZodPrefault",(e,t)=>{ve.init(e,t),e._zod.optin="optional",Ce(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(n.value===void 0)n.value=t.defaultValue;return t.innerType._zod.run(n,r)}}),Jf=M("$ZodNonOptional",(e,t)=>{ve.init(e,t),Ce(e._zod,"values",()=>{let n=t.innerType._zod.values;return n?new Set([...n].filter((r)=>r!==void 0)):void 0}),e._zod.parse=(n,r)=>{let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then((i)=>af(i,e));return af(o,e)}});function af(e,t){if(!e.issues.length&&e.value===void 0)e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t});return e}var Vf=M("$ZodCatch",(e,t)=>{ve.init(e,t),e._zod.optin="optional",Ce(e._zod,"optout",()=>t.innerType._zod.optout),Ce(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then((i)=>{if(n.value=i.value,i.issues.length)n.value=t.catchValue({...n,error:{issues:i.issues.map((a)=>Ut(a,r,Ht()))},input:n.value}),n.issues=[];return n});if(n.value=o.value,o.issues.length)n.value=t.catchValue({...n,error:{issues:o.issues.map((i)=>Ut(i,r,Ht()))},input:n.value}),n.issues=[];return n}});var qf=M("$ZodPipe",(e,t)=>{ve.init(e,t),Ce(e._zod,"values",()=>t.in._zod.values),Ce(e._zod,"optin",()=>t.in._zod.optin),Ce(e._zod,"optout",()=>t.out._zod.optout),e._zod.parse=(n,r)=>{let o=t.in._zod.run(n,r);if(o instanceof Promise)return o.then((i)=>sf(i,t,r));return sf(o,t,r)}});function sf(e,t,n){if(tr(e))return e;return t.out._zod.run({value:e.value,issues:e.issues},n)}var Xf=M("$ZodReadonly",(e,t)=>{ve.init(e,t),Ce(e._zod,"propValues",()=>t.innerType._zod.propValues),Ce(e._zod,"values",()=>t.innerType._zod.values),Ce(e._zod,"optin",()=>t.innerType._zod.optin),Ce(e._zod,"optout",()=>t.innerType._zod.optout),e._zod.parse=(n,r)=>{let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then(lf);return lf(o)}});function lf(e){return e.value=Object.freeze(e.value),e}var eg=M("$ZodCustom",(e,t)=>{nt.init(e,t),ve.init(e,t),e._zod.parse=(n,r)=>n,e._zod.check=(n)=>{let r=n.value,o=t.fn(r);if(o instanceof Promise)return o.then((i)=>cf(i,n,r,e));cf(o,n,r,e);return}});function cf(e,t,n,r){if(!e){let o={code:"custom",input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};if(r._zod.def.params)o.params=r._zod.def.params;t.issues.push(nr(o))}}var ER=Symbol("ZodOutput"),TR=Symbol("ZodInput");class tg{constructor(){this._map=new Map,this._idmap=new Map}add(e,...t){let n=t[0];if(this._map.set(e,n),n&&typeof n==="object"&&"id"in n){if(this._idmap.has(n.id))throw Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,e)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(e){let t=this._map.get(e);if(t&&typeof t==="object"&&"id"in t)this._idmap.delete(t.id);return this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};return delete n.id,{...n,...this._map.get(e)}}return this._map.get(e)}has(e){return this._map.has(e)}}function lw(){return new tg}var Dr=lw();function ng(e,t){return new e({type:"string",...ie(t)})}function rg(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...ie(t)})}function is(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...ie(t)})}function og(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...ie(t)})}function ig(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...ie(t)})}function ag(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...ie(t)})}function sg(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...ie(t)})}function lg(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...ie(t)})}function cg(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...ie(t)})}function dg(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...ie(t)})}function ug(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...ie(t)})}function fg(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...ie(t)})}function gg(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...ie(t)})}function mg(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...ie(t)})}function hg(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...ie(t)})}function pg(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...ie(t)})}function Ag(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...ie(t)})}function kg(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...ie(t)})}function xg(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...ie(t)})}function bg(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...ie(t)})}function yg(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...ie(t)})}function wg(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...ie(t)})}function Sg(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...ie(t)})}function Cg(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...ie(t)})}function vg(e,t){return new e({type:"string",format:"date",check:"string_format",...ie(t)})}function Ig(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...ie(t)})}function Eg(e,t){return new e({type:"string",format:"duration",check:"string_format",...ie(t)})}function Tg(e,t){return new e({type:"number",checks:[],...ie(t)})}function Bg(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...ie(t)})}function Rg(e,t){return new e({type:"boolean",...ie(t)})}function _g(e){return new e({type:"unknown"})}function Pg(e,t){return new e({type:"never",...ie(t)})}function jo(e,t){return new es({check:"less_than",...ie(t),value:e,inclusive:!1})}function Or(e,t){return new es({check:"less_than",...ie(t),value:e,inclusive:!0})}function Wo(e,t){return new ts({check:"greater_than",...ie(t),value:e,inclusive:!1})}function Lr(e,t){return new ts({check:"greater_than",...ie(t),value:e,inclusive:!0})}function Zo(e,t){return new Gu({check:"multiple_of",...ie(t),value:e})}function Ko(e,t){return new Hu({check:"max_length",...ie(t),maximum:e})}function rr(e,t){return new Uu({check:"min_length",...ie(t),minimum:e})}function Qo(e,t){return new ju({check:"length_equals",...ie(t),length:e})}function as(e,t){return new Wu({check:"string_format",format:"regex",...ie(t),pattern:e})}function ss(e){return new Zu({check:"string_format",format:"lowercase",...ie(e)})}function ls(e){return new Ku({check:"string_format",format:"uppercase",...ie(e)})}function cs(e,t){return new Qu({check:"string_format",format:"includes",...ie(t),includes:e})}function ds(e,t){return new Yu({check:"string_format",format:"starts_with",...ie(t),prefix:e})}function us(e,t){return new Ju({check:"string_format",format:"ends_with",...ie(t),suffix:e})}function wn(e){return new Vu({check:"overwrite",tx:e})}function fs(e){return wn((t)=>t.normalize(e))}function gs(){return wn((e)=>e.trim())}function ms(){return wn((e)=>e.toLowerCase())}function hs(){return wn((e)=>e.toUpperCase())}function Mg(e,t,n){return new e({type:"array",element:t,...ie(n)})}function Fg(e,t,n){return new e({type:"custom",check:"custom",fn:t,...ie(n)})}var mw=M("ZodISODateTime",(e,t)=>{yf.init(e,t),Te.init(e,t)});function Ng(e){return Cg(mw,e)}var hw=M("ZodISODate",(e,t)=>{wf.init(e,t),Te.init(e,t)});function Dg(e){return vg(hw,e)}var pw=M("ZodISOTime",(e,t)=>{Sf.init(e,t),Te.init(e,t)});function Og(e){return Ig(pw,e)}var Aw=M("ZodISODuration",(e,t)=>{Cf.init(e,t),Te.init(e,t)});function Lg(e){return Eg(Aw,e)}var $g=(e,t)=>{zo.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:(n)=>au(e,n)},flatten:{value:(n)=>iu(e,n)},addIssue:{value:(n)=>e.issues.push(n)},addIssues:{value:(n)=>e.issues.push(...n)},isEmpty:{get(){return e.issues.length===0}}})},n_=M("ZodError",$g),$r=M("ZodError",$g,{Parent:Error});var Gg=su($r),zg=lu($r),Hg=Ya($r),Ug=Ja($r);var _e=M("ZodType",(e,t)=>(ve.init(e,t),e.def=t,Object.defineProperty(e,"_def",{value:t}),e.check=(...n)=>e.clone({...t,checks:[...t.checks??[],...n.map((r)=>typeof r==="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),e.clone=(n,r)=>Qt(e,n,r),e.brand=()=>e,e.register=(n,r)=>(n.add(e,r),e),e.parse=(n,r)=>Gg(e,n,r,{callee:e.parse}),e.safeParse=(n,r)=>Hg(e,n,r),e.parseAsync=async(n,r)=>zg(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>Ug(e,n,r),e.spa=e.safeParseAsync,e.refine=(n,r)=>e.check(uS(n,r)),e.superRefine=(n)=>e.check(fS(n)),e.overwrite=(n)=>e.check(wn(n)),e.optional=()=>Zg(e),e.nullable=()=>Kg(e),e.nullish=()=>Zg(Kg(e)),e.nonoptional=(n)=>rS(e,n),e.array=()=>me(e),e.or=(n)=>xe([e,n]),e.and=(n)=>As(e,n),e.transform=(n)=>Qg(e,Vw(n)),e.default=(n)=>eS(e,n),e.prefault=(n)=>nS(e,n),e.catch=(n)=>iS(e,n),e.pipe=(n)=>Qg(e,n),e.readonly=()=>lS(e),e.describe=(n)=>{let r=e.clone();return Dr.add(r,{description:n}),r},Object.defineProperty(e,"description",{get(){return Dr.get(e)?.description},configurable:!0}),e.meta=(...n)=>{if(n.length===0)return Dr.get(e);let r=e.clone();return Dr.add(r,n[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),Yg=M("_ZodString",(e,t)=>{Uo.init(e,t),_e.init(e,t);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...r)=>e.check(as(...r)),e.includes=(...r)=>e.check(cs(...r)),e.startsWith=(...r)=>e.check(ds(...r)),e.endsWith=(...r)=>e.check(us(...r)),e.min=(...r)=>e.check(rr(...r)),e.max=(...r)=>e.check(Ko(...r)),e.length=(...r)=>e.check(Qo(...r)),e.nonempty=(...r)=>e.check(rr(1,...r)),e.lowercase=(r)=>e.check(ss(r)),e.uppercase=(r)=>e.check(ls(r)),e.trim=()=>e.check(gs()),e.normalize=(...r)=>e.check(fs(...r)),e.toLowerCase=()=>e.check(ms()),e.toUpperCase=()=>e.check(hs())}),yw=M("ZodString",(e,t)=>{Uo.init(e,t),Yg.init(e,t),e.email=(n)=>e.check(rg(ww,n)),e.url=(n)=>e.check(lg(Sw,n)),e.jwt=(n)=>e.check(Sg(Lw,n)),e.emoji=(n)=>e.check(cg(Cw,n)),e.guid=(n)=>e.check(is(jg,n)),e.uuid=(n)=>e.check(og(Jo,n)),e.uuidv4=(n)=>e.check(ig(Jo,n)),e.uuidv6=(n)=>e.check(ag(Jo,n)),e.uuidv7=(n)=>e.check(sg(Jo,n)),e.nanoid=(n)=>e.check(dg(vw,n)),e.guid=(n)=>e.check(is(jg,n)),e.cuid=(n)=>e.check(ug(Iw,n)),e.cuid2=(n)=>e.check(fg(Ew,n)),e.ulid=(n)=>e.check(gg(Tw,n)),e.base64=(n)=>e.check(bg(Nw,n)),e.base64url=(n)=>e.check(yg(Dw,n)),e.xid=(n)=>e.check(mg(Bw,n)),e.ksuid=(n)=>e.check(hg(Rw,n)),e.ipv4=(n)=>e.check(pg(_w,n)),e.ipv6=(n)=>e.check(Ag(Pw,n)),e.cidrv4=(n)=>e.check(kg(Mw,n)),e.cidrv6=(n)=>e.check(xg(Fw,n)),e.e164=(n)=>e.check(wg(Ow,n)),e.datetime=(n)=>e.check(Ng(n)),e.date=(n)=>e.check(Dg(n)),e.time=(n)=>e.check(Og(n)),e.duration=(n)=>e.check(Lg(n))});function x(e){return ng(yw,e)}var Te=M("ZodStringFormat",(e,t)=>{Ie.init(e,t),Yg.init(e,t)}),ww=M("ZodEmail",(e,t)=>{ff.init(e,t),Te.init(e,t)});var jg=M("ZodGUID",(e,t)=>{df.init(e,t),Te.init(e,t)});var Jo=M("ZodUUID",(e,t)=>{uf.init(e,t),Te.init(e,t)});var Sw=M("ZodURL",(e,t)=>{gf.init(e,t),Te.init(e,t)});var Cw=M("ZodEmoji",(e,t)=>{mf.init(e,t),Te.init(e,t)});var vw=M("ZodNanoID",(e,t)=>{hf.init(e,t),Te.init(e,t)});var Iw=M("ZodCUID",(e,t)=>{pf.init(e,t),Te.init(e,t)});var Ew=M("ZodCUID2",(e,t)=>{Af.init(e,t),Te.init(e,t)});var Tw=M("ZodULID",(e,t)=>{kf.init(e,t),Te.init(e,t)});var Bw=M("ZodXID",(e,t)=>{xf.init(e,t),Te.init(e,t)});var Rw=M("ZodKSUID",(e,t)=>{bf.init(e,t),Te.init(e,t)});var _w=M("ZodIPv4",(e,t)=>{vf.init(e,t),Te.init(e,t)});var Pw=M("ZodIPv6",(e,t)=>{If.init(e,t),Te.init(e,t)});var Mw=M("ZodCIDRv4",(e,t)=>{Ef.init(e,t),Te.init(e,t)});var Fw=M("ZodCIDRv6",(e,t)=>{Tf.init(e,t),Te.init(e,t)});var Nw=M("ZodBase64",(e,t)=>{Rf.init(e,t),Te.init(e,t)});var Dw=M("ZodBase64URL",(e,t)=>{_f.init(e,t),Te.init(e,t)});var Ow=M("ZodE164",(e,t)=>{Pf.init(e,t),Te.init(e,t)});var Lw=M("ZodJWT",(e,t)=>{Mf.init(e,t),Te.init(e,t)});var Jg=M("ZodNumber",(e,t)=>{os.init(e,t),_e.init(e,t),e.gt=(r,o)=>e.check(Wo(r,o)),e.gte=(r,o)=>e.check(Lr(r,o)),e.min=(r,o)=>e.check(Lr(r,o)),e.lt=(r,o)=>e.check(jo(r,o)),e.lte=(r,o)=>e.check(Or(r,o)),e.max=(r,o)=>e.check(Or(r,o)),e.int=(r)=>e.check(Wg(r)),e.safe=(r)=>e.check(Wg(r)),e.positive=(r)=>e.check(Wo(0,r)),e.nonnegative=(r)=>e.check(Lr(0,r)),e.negative=(r)=>e.check(jo(0,r)),e.nonpositive=(r)=>e.check(Or(0,r)),e.multipleOf=(r,o)=>e.check(Zo(r,o)),e.step=(r,o)=>e.check(Zo(r,o)),e.finite=()=>e;let n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??0.5),e.isFinite=!0,e.format=n.format??null});function Fe(e){return Tg(Jg,e)}var $w=M("ZodNumberFormat",(e,t)=>{Ff.init(e,t),Jg.init(e,t)});function Wg(e){return Bg($w,e)}var Gw=M("ZodBoolean",(e,t)=>{Nf.init(e,t),_e.init(e,t)});function lt(e){return Rg(Gw,e)}var zw=M("ZodUnknown",(e,t)=>{Df.init(e,t),_e.init(e,t)});function G(){return _g(zw)}var Hw=M("ZodNever",(e,t)=>{Of.init(e,t),_e.init(e,t)});function Uw(e){return Pg(Hw,e)}var jw=M("ZodArray",(e,t)=>{Lf.init(e,t),_e.init(e,t),e.element=t.element,e.min=(n,r)=>e.check(rr(n,r)),e.nonempty=(n)=>e.check(rr(1,n)),e.max=(n,r)=>e.check(Ko(n,r)),e.length=(n,r)=>e.check(Qo(n,r)),e.unwrap=()=>e.element});function me(e,t){return Mg(jw,e,t)}var Ww=M("ZodObject",(e,t)=>{$f.init(e,t),_e.init(e,t),Ce(e,"shape",()=>t.shape),e.keyof=()=>Vg(Object.keys(e._zod.def.shape)),e.catchall=(n)=>e.clone({...e._zod.def,catchall:n}),e.passthrough=()=>e.clone({...e._zod.def,catchall:G()}),e.loose=()=>e.clone({...e._zod.def,catchall:G()}),e.strict=()=>e.clone({...e._zod.def,catchall:Uw()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=(n)=>tw(e,n),e.merge=(n)=>nw(e,n),e.pick=(n)=>Xy(e,n),e.omit=(n)=>ew(e,n),e.partial=(...n)=>rw(qg,e,n[0]),e.required=(...n)=>ow(Xg,e,n[0])});function T(e,t){let n={type:"object",get shape(){return Za(this,"shape",{...e}),this.shape},...ie(t)};return new Ww(n)}var Zw=M("ZodUnion",(e,t)=>{Gf.init(e,t),_e.init(e,t),e.options=t.options});function xe(e,t){return new Zw({type:"union",options:e,...ie(t)})}var Kw=M("ZodIntersection",(e,t)=>{zf.init(e,t),_e.init(e,t)});function As(e,t){return new Kw({type:"intersection",left:e,right:t})}var Qw=M("ZodRecord",(e,t)=>{Hf.init(e,t),_e.init(e,t),e.keyType=t.keyType,e.valueType=t.valueType});function H(e,t,n){return new Qw({type:"record",keyType:e,valueType:t,...ie(n)})}var ps=M("ZodEnum",(e,t)=>{Uf.init(e,t),_e.init(e,t),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(r,o)=>{let i={};for(let a of r)if(n.has(a))i[a]=t.entries[a];else throw Error(`Key ${a} not found in enum`);return new ps({...t,checks:[],...ie(o),entries:i})},e.exclude=(r,o)=>{let i={...t.entries};for(let a of r)if(n.has(a))delete i[a];else throw Error(`Key ${a} not found in enum`);return new ps({...t,checks:[],...ie(o),entries:i})}});function Vg(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map((r)=>[r,r])):e;return new ps({type:"enum",entries:n,...ie(t)})}var Yw=M("ZodLiteral",(e,t)=>{jf.init(e,t),_e.init(e,t),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function te(e,t){return new Yw({type:"literal",values:Array.isArray(e)?e:[e],...ie(t)})}var Jw=M("ZodTransform",(e,t)=>{Wf.init(e,t),_e.init(e,t),e._zod.parse=(n,r)=>{n.addIssue=(i)=>{if(typeof i==="string")n.issues.push(nr(i,n.value,t));else{let a=i;if(a.fatal)a.continue=!1;a.code??(a.code="custom"),a.input??(a.input=n.value),a.inst??(a.inst=e),a.continue??(a.continue=!0),n.issues.push(nr(a))}};let o=t.transform(n.value,n);if(o instanceof Promise)return o.then((i)=>(n.value=i,n));return n.value=o,n}});function Vw(e){return new Jw({type:"transform",transform:e})}var qg=M("ZodOptional",(e,t)=>{Zf.init(e,t),_e.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Zg(e){return new qg({type:"optional",innerType:e})}var qw=M("ZodNullable",(e,t)=>{Kf.init(e,t),_e.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Kg(e){return new qw({type:"nullable",innerType:e})}var Xw=M("ZodDefault",(e,t)=>{Qf.init(e,t),_e.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function eS(e,t){return new Xw({type:"default",innerType:e,get defaultValue(){return typeof t==="function"?t():t}})}var tS=M("ZodPrefault",(e,t)=>{Yf.init(e,t),_e.init(e,t),e.unwrap=()=>e._zod.def.innerType});function nS(e,t){return new tS({type:"prefault",innerType:e,get defaultValue(){return typeof t==="function"?t():t}})}var Xg=M("ZodNonOptional",(e,t)=>{Jf.init(e,t),_e.init(e,t),e.unwrap=()=>e._zod.def.innerType});function rS(e,t){return new Xg({type:"nonoptional",innerType:e,...ie(t)})}var oS=M("ZodCatch",(e,t)=>{Vf.init(e,t),_e.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function iS(e,t){return new oS({type:"catch",innerType:e,catchValue:typeof t==="function"?t:()=>t})}var aS=M("ZodPipe",(e,t)=>{qf.init(e,t),_e.init(e,t),e.in=t.in,e.out=t.out});function Qg(e,t){return new aS({type:"pipe",in:e,out:t})}var sS=M("ZodReadonly",(e,t)=>{Xf.init(e,t),_e.init(e,t)});function lS(e){return new sS({type:"readonly",innerType:e})}var cS=M("ZodCustom",(e,t)=>{eg.init(e,t),_e.init(e,t)});function dS(e){let t=new nt({check:"custom"});return t._zod.check=e,t}function uS(e,t={}){return Fg(cS,e,t)}function fS(e){let t=dS((n)=>(n.addIssue=(r)=>{if(typeof r==="string")n.issues.push(nr(r,n.value,t._zod.def));else{let o=r;if(o.fatal)o.continue=!1;o.code??(o.code="custom"),o.input??(o.input=n.value),o.inst??(o.inst=t),o.continue??(o.continue=!t._zod.def.abort),n.issues.push(nr(o))}},e(n.value,n)));return t}var mS=T({_meta:H(x(),G()).nullish(),terminal:lt().optional().default(!1)}),hS=T({_meta:H(x(),G()).nullish(),label:x().nullish(),name:x(),optional:lt().optional().default(!1),secret:lt().optional().default(!0)}),pS=T({_meta:H(x(),G()).nullish(),description:x().nullish(),id:x(),name:x()}),AS=T({_meta:H(x(),G()).nullish(),description:x().nullish(),id:x(),link:x().nullish(),name:x(),vars:me(hS)}),kS=T({_meta:H(x(),G()).nullish(),args:me(x()).optional(),description:x().nullish(),env:H(x(),x()).optional(),id:x(),name:x()}),xS=xe([AS.and(T({type:te("env_var")})),kS.and(T({type:te("terminal")})),pS]),em=T({_meta:H(x(),G()).nullish(),methodId:x()}),bS=T({_meta:H(x(),G()).nullish()}),yS=T({_meta:H(x(),G()).nullish(),blob:x(),mimeType:x().nullish(),uri:x()}),wS=T({_meta:H(x(),G()).nullish()}),SS=T({amount:Fe(),currency:x()}),CS=T({_meta:H(x(),G()).nullish(),terminalId:x()}),vS=T({_meta:H(x(),G()).nullish(),newText:x(),oldText:x().nullish(),path:x()}),tm=T({_meta:H(x(),G()).nullish(),name:x(),value:x()}),IS=xe([te(-32700),te(-32600),te(-32601),te(-32602),te(-32603),te(-32800),te(-32000),te(-32002),Fe().int().min(-2147483648,{message:"Invalid value: Expected int32 to be >= -2147483648"}).max(2147483647,{message:"Invalid value: Expected int32 to be <= 2147483647"})]),nm=T({code:IS,data:G().optional(),message:x()}),rm=G(),om=G(),im=G(),ES=T({_meta:H(x(),G()).nullish(),readTextFile:lt().optional().default(!1),writeTextFile:lt().optional().default(!1)}),TS=T({_meta:H(x(),G()).nullish(),auth:mS.optional().default({terminal:!1}),fs:ES.optional().default({readTextFile:!1,writeTextFile:!1}),terminal:lt().optional().default(!1)}),am=T({_meta:H(x(),G()).nullish(),name:x(),value:x()}),sm=T({_meta:H(x(),G()).nullish(),name:x(),title:x().nullish(),version:x()}),BS=T({_meta:H(x(),G()).nullish()}),lm=T({_meta:H(x(),G()).nullish(),cursor:x().nullish(),cwd:x().nullish()}),RS=T({_meta:H(x(),G()).nullish(),http:lt().optional().default(!1),sse:lt().optional().default(!1)}),_S=T({_meta:H(x(),G()).nullish(),headers:me(am),name:x(),url:x()}),PS=T({_meta:H(x(),G()).nullish(),headers:me(am),name:x(),url:x()}),MS=T({_meta:H(x(),G()).nullish(),args:me(x()),command:x(),env:me(tm),name:x()}),Vo=xe([_S.and(T({type:te("http")})),PS.and(T({type:te("sse")})),MS]),xs=x(),FS=T({_meta:H(x(),G()).nullish(),description:x().nullish(),modelId:xs,name:x()}),cm=T({_meta:H(x(),G()).nullish(),cwd:x(),mcpServers:me(Vo)}),dm=x(),NS=xe([te("allow_once"),te("allow_always"),te("reject_once"),te("reject_always")]),DS=T({_meta:H(x(),G()).nullish(),kind:NS,name:x(),optionId:dm}),OS=xe([te("high"),te("medium"),te("low")]),LS=xe([te("pending"),te("in_progress"),te("completed")]),$S=T({_meta:H(x(),G()).nullish(),content:x(),priority:OS,status:LS}),GS=T({_meta:H(x(),G()).nullish(),entries:me($S)}),zS=T({_meta:H(x(),G()).nullish(),audio:lt().optional().default(!1),embeddedContext:lt().optional().default(!1),image:lt().optional().default(!1)}),um=Fe().int().gte(0).lte(65535),fm=T({_meta:H(x(),G()).nullish(),clientCapabilities:TS.optional().default({auth:{terminal:!1},fs:{readTextFile:!1,writeTextFile:!1},terminal:!1}),clientInfo:sm.nullish(),protocolVersion:um}),HS=T({_meta:H(x(),G()).nullish(),content:x()}),US=T({_meta:H(x(),G()).nullish()}),Sn=xe([Fe(),x()]).nullable(),Z_=T({_meta:H(x(),G()).nullish(),requestId:Sn}),jS=Vg(["assistant","user"]),Gr=T({_meta:H(x(),G()).nullish(),audience:me(jS).nullish(),lastModified:x().nullish(),priority:Fe().nullish()}),WS=T({_meta:H(x(),G()).nullish(),annotations:Gr.nullish(),data:x(),mimeType:x()}),ZS=T({_meta:H(x(),G()).nullish(),annotations:Gr.nullish(),data:x(),mimeType:x(),uri:x().nullish()}),KS=T({_meta:H(x(),G()).nullish(),annotations:Gr.nullish(),description:x().nullish(),mimeType:x().nullish(),name:x(),size:Fe().nullish(),title:x().nullish(),uri:x()}),QS=T({_meta:H(x(),G()).nullish(),optionId:dm}),YS=xe([T({outcome:te("cancelled")}),QS.and(T({outcome:te("selected")}))]),JS=T({_meta:H(x(),G()).nullish(),outcome:YS}),VS=T({_meta:H(x(),G()).nullish()}),qS=T({currentValue:lt()}),XS=x(),gm=x(),eC=xe([te("mode"),te("model"),te("thought_level"),x()]),bs=x(),mm=T({_meta:H(x(),G()).nullish(),description:x().nullish(),name:x(),value:bs}),tC=T({_meta:H(x(),G()).nullish(),group:XS,name:x(),options:me(mm)}),nC=xe([me(mm),me(tC)]),rC=T({currentValue:bs,options:nC}),or=As(xe([rC.and(T({type:te("select")})),qS.and(T({type:te("boolean")}))]),T({_meta:H(x(),G()).nullish(),category:eC.nullish(),description:x().nullish(),id:gm,name:x()})),oC=T({_meta:H(x(),G()).nullish(),configOptions:me(or)}),iC=T({_meta:H(x(),G()).nullish()}),Pe=x(),hm=T({_meta:H(x(),G()).nullish(),sessionId:Pe}),K_=T({method:x(),params:xe([hm,rm]).nullish()}),pm=T({_meta:H(x(),G()).nullish(),sessionId:Pe}),ys=T({_meta:H(x(),G()).nullish(),args:me(x()).optional(),command:x(),cwd:x().nullish(),env:me(tm).optional(),outputByteLimit:Fe().nullish(),sessionId:Pe}),Am=T({_meta:H(x(),G()).nullish(),cwd:x(),mcpServers:me(Vo).optional(),sessionId:Pe}),ws=T({_meta:H(x(),G()).nullish(),sessionId:Pe,terminalId:x()}),km=T({_meta:H(x(),G()).nullish(),cwd:x(),mcpServers:me(Vo),sessionId:Pe}),Ss=T({_meta:H(x(),G()).nullish(),limit:Fe().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),line:Fe().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),path:x(),sessionId:Pe}),Cs=T({_meta:H(x(),G()).nullish(),sessionId:Pe,terminalId:x()}),xm=T({_meta:H(x(),G()).nullish(),cwd:x(),mcpServers:me(Vo).optional(),sessionId:Pe}),aC=T({_meta:H(x(),G()).nullish(),cwd:x(),sessionId:Pe,title:x().nullish(),updatedAt:x().nullish()}),sC=T({_meta:H(x(),G()).nullish(),nextCursor:x().nullish(),sessions:me(aC)}),lC=T({_meta:H(x(),G()).nullish(),title:x().nullish(),updatedAt:x().nullish()}),cC=T({_meta:H(x(),G()).nullish()}),qo=x(),dC=T({_meta:H(x(),G()).nullish(),currentModeId:qo}),uC=T({_meta:H(x(),G()).nullish(),description:x().nullish(),id:qo,name:x()}),Xo=T({_meta:H(x(),G()).nullish(),availableModes:me(uC),currentModeId:qo}),ei=T({_meta:H(x(),G()).nullish(),availableModels:me(FS),currentModelId:xs}),fC=T({_meta:H(x(),G()).nullish(),configOptions:me(or).nullish(),models:ei.nullish(),modes:Xo.nullish(),sessionId:Pe}),gC=T({_meta:H(x(),G()).nullish(),configOptions:me(or).nullish(),models:ei.nullish(),modes:Xo.nullish()}),mC=T({_meta:H(x(),G()).nullish(),configOptions:me(or).nullish(),models:ei.nullish(),modes:Xo.nullish(),sessionId:Pe}),hC=T({_meta:H(x(),G()).nullish(),configOptions:me(or).nullish(),models:ei.nullish(),modes:Xo.nullish()}),pC=T({_meta:H(x(),G()).nullish()}),AC=T({_meta:H(x(),G()).nullish(),close:VS.nullish(),fork:iC.nullish(),list:cC.nullish(),resume:pC.nullish()}),kC=T({_meta:H(x(),G()).nullish(),loadSession:lt().optional().default(!1),mcpCapabilities:RS.optional().default({http:!1,sse:!1}),promptCapabilities:zS.optional().default({audio:!1,embeddedContext:!1,image:!1}),sessionCapabilities:AC.optional().default({})}),xC=T({_meta:H(x(),G()).nullish(),agentCapabilities:kC.optional().default({loadSession:!1,mcpCapabilities:{http:!1,sse:!1},promptCapabilities:{audio:!1,embeddedContext:!1,image:!1},sessionCapabilities:{}}),agentInfo:sm.nullish(),authMethods:me(xS).optional().default([]),protocolVersion:um}),bm=As(xe([T({type:te("boolean"),value:lt()}),T({value:bs})]),T({_meta:H(x(),G()).nullish(),configId:gm,sessionId:Pe})),bC=T({_meta:H(x(),G()).nullish(),configOptions:me(or)}),ym=T({_meta:H(x(),G()).nullish(),modeId:qo,sessionId:Pe}),yC=T({_meta:H(x(),G()).nullish()}),wm=T({_meta:H(x(),G()).nullish(),modelId:xs,sessionId:Pe}),wC=T({_meta:H(x(),G()).nullish()}),SC=xe([te("end_turn"),te("max_tokens"),te("max_turn_requests"),te("refusal"),te("cancelled")]),CC=T({_meta:H(x(),G()).nullish(),terminalId:x()}),vC=T({_meta:H(x(),G()).nullish(),exitCode:Fe().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),signal:x().nullish()}),vs=T({_meta:H(x(),G()).nullish(),sessionId:Pe,terminalId:x()}),IC=T({_meta:H(x(),G()).nullish(),exitStatus:vC.nullish(),output:x(),truncated:lt()}),EC=T({_meta:H(x(),G()).nullish(),annotations:Gr.nullish(),text:x()}),TC=T({_meta:H(x(),G()).nullish(),mimeType:x().nullish(),text:x(),uri:x()}),BC=xe([TC,yS]),RC=T({_meta:H(x(),G()).nullish(),annotations:Gr.nullish(),resource:BC}),Is=xe([EC.and(T({type:te("text")})),ZS.and(T({type:te("image")})),WS.and(T({type:te("audio")})),KS.and(T({type:te("resource_link")})),RC.and(T({type:te("resource")}))]),_C=T({_meta:H(x(),G()).nullish(),content:Is}),ks=T({_meta:H(x(),G()).nullish(),content:Is,messageId:x().nullish()}),Sm=T({_meta:H(x(),G()).nullish(),messageId:x().nullish(),prompt:me(Is),sessionId:Pe}),Q_=T({id:Sn,method:x(),params:xe([fm,em,cm,km,lm,Am,xm,pm,ym,bm,Sm,wm,om]).nullish()}),Cm=xe([_C.and(T({type:te("content")})),vS.and(T({type:te("diff")})),CC.and(T({type:te("terminal")}))]),vm=x(),Im=T({_meta:H(x(),G()).nullish(),line:Fe().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),path:x()}),Em=xe([te("pending"),te("in_progress"),te("completed"),te("failed")]),Tm=xe([te("read"),te("edit"),te("delete"),te("move"),te("search"),te("execute"),te("think"),te("fetch"),te("switch_mode"),te("other")]),PC=T({_meta:H(x(),G()).nullish(),content:me(Cm).optional(),kind:Tm.optional(),locations:me(Im).optional(),rawInput:G().optional(),rawOutput:G().optional(),status:Em.optional(),title:x(),toolCallId:vm}),Bm=T({_meta:H(x(),G()).nullish(),content:me(Cm).nullish(),kind:Tm.nullish(),locations:me(Im).nullish(),rawInput:G().optional(),rawOutput:G().optional(),status:Em.nullish(),title:x().nullish(),toolCallId:vm}),Es=T({_meta:H(x(),G()).nullish(),options:me(DS),sessionId:Pe,toolCall:Bm}),MC=T({_meta:H(x(),G()).nullish(),hint:x()}),FC=MC,NC=T({_meta:H(x(),G()).nullish(),description:x(),input:FC.nullish(),name:x()}),DC=T({_meta:H(x(),G()).nullish(),availableCommands:me(NC)}),OC=T({cachedReadTokens:Fe().nullish(),cachedWriteTokens:Fe().nullish(),inputTokens:Fe(),outputTokens:Fe(),thoughtTokens:Fe().nullish(),totalTokens:Fe()}),LC=T({_meta:H(x(),G()).nullish(),stopReason:SC,usage:OC.nullish(),userMessageId:x().nullish()}),Y_=xe([T({id:Sn,result:xe([xC,bS,mC,gC,sC,fC,hC,wS,yC,bC,LC,wC,im])}),T({error:nm,id:Sn})]),$C=T({_meta:H(x(),G()).nullish(),cost:SS.nullish(),size:Fe(),used:Fe()}),GC=xe([ks.and(T({sessionUpdate:te("user_message_chunk")})),ks.and(T({sessionUpdate:te("agent_message_chunk")})),ks.and(T({sessionUpdate:te("agent_thought_chunk")})),PC.and(T({sessionUpdate:te("tool_call")})),Bm.and(T({sessionUpdate:te("tool_call_update")})),GS.and(T({sessionUpdate:te("plan")})),DC.and(T({sessionUpdate:te("available_commands_update")})),dC.and(T({sessionUpdate:te("current_mode_update")})),oC.and(T({sessionUpdate:te("config_option_update")})),lC.and(T({sessionUpdate:te("session_info_update")})),$C.and(T({sessionUpdate:te("usage_update")}))]),Ts=T({_meta:H(x(),G()).nullish(),sessionId:Pe,update:GC}),J_=T({method:x(),params:xe([Ts,rm]).nullish()}),Bs=T({_meta:H(x(),G()).nullish(),sessionId:Pe,terminalId:x()}),zC=T({_meta:H(x(),G()).nullish(),exitCode:Fe().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),signal:x().nullish()}),Rs=T({_meta:H(x(),G()).nullish(),content:x(),path:x(),sessionId:Pe}),V_=T({id:Sn,method:x(),params:xe([Rs,Ss,Es,ys,vs,Cs,Bs,ws,om]).nullish()}),HC=T({_meta:H(x(),G()).nullish()}),q_=xe([T({id:Sn,result:xe([HC,HS,JS,CS,IC,US,zC,BS,im])}),T({error:nm,id:Sn})]);function Rm(e,t){let n=new TextEncoder,r=new TextDecoder,o=new ReadableStream({async start(a){let s="",l=t.getReader();try{while(!0){let{value:u,done:m}=await l.read();if(m)break;if(!u)continue;s+=r.decode(u,{stream:!0});let g=s.split(`
|
|
670
|
-
`);s=
|
|
671
|
-
`,l=e.getWriter();try{await l.write(n.encode(s))}finally{l.releaseLock()}}});return{readable:o,writable:i}}class _s{#e;constructor(e,t){let n=e(this),r=async(i,a)=>{switch(i){case zt.fs_write_text_file:{let s=Rs.parse(a);return n.writeTextFile?.(s)}case zt.fs_read_text_file:{let s=Ss.parse(a);return n.readTextFile?.(s)}case zt.session_request_permission:{let s=Es.parse(a);return n.requestPermission(s)}case zt.terminal_create:{let s=ys.parse(a);return n.createTerminal?.(s)}case zt.terminal_output:{let s=vs.parse(a);return n.terminalOutput?.(s)}case zt.terminal_release:{let s=Cs.parse(a);return await n.releaseTerminal?.(s)??{}}case zt.terminal_wait_for_exit:{let s=Bs.parse(a);return n.waitForTerminalExit?.(s)}case zt.terminal_kill:{let s=ws.parse(a);return await n.killTerminal?.(s)??{}}default:if(n.extMethod)return n.extMethod(i,a);throw Ne.methodNotFound(i)}},o=async(i,a)=>{switch(i){case zt.session_update:{let s=Ts.parse(a);return n.sessionUpdate(s)}default:if(n.extNotification)return n.extNotification(i,a);throw Ne.methodNotFound(i)}};this.#e=new _m(r,o,t)}async initialize(e){return await this.#e.sendRequest(ft.initialize,e)}async newSession(e){return await this.#e.sendRequest(ft.session_new,e)}async loadSession(e){return await this.#e.sendRequest(ft.session_load,e)??{}}async unstable_forkSession(e){return await this.#e.sendRequest(ft.session_fork,e)}async listSessions(e){return await this.#e.sendRequest(ft.session_list,e)}async unstable_resumeSession(e){return await this.#e.sendRequest(ft.session_resume,e)}async unstable_closeSession(e){return await this.#e.sendRequest(ft.session_close,e)}async setSessionMode(e){return await this.#e.sendRequest(ft.session_set_mode,e)??{}}async unstable_setSessionModel(e){return await this.#e.sendRequest(ft.session_set_model,e)??{}}async setSessionConfigOption(e){return await this.#e.sendRequest(ft.session_set_config_option,e)}async authenticate(e){return await this.#e.sendRequest(ft.authenticate,e)??{}}async prompt(e){return await this.#e.sendRequest(ft.session_prompt,e)}async cancel(e){return await this.#e.sendNotification(ft.session_cancel,e)}async extMethod(e,t){return await this.#e.sendRequest(e,t)}async extNotification(e,t){return await this.#e.sendNotification(e,t)}get signal(){return this.#e.signal}get closed(){return this.#e.closed}}class _m{#e=new Map;#l=0;#i;#a;#n;#r=Promise.resolve();#o=new AbortController;#s;constructor(e,t,n){this.#i=e,this.#a=t,this.#n=n,this.#s=new Promise((r)=>{this.#o.signal.addEventListener("abort",()=>r())}),this.#c()}get signal(){return this.#o.signal}get closed(){return this.#s}async#c(){let e=this.#n.readable.getReader();try{while(!0){let{value:t,done:n}=await e.read();if(n)break;if(!t)continue;try{this.#d(t)}catch(r){if(console.error("Unexpected error during message processing:",t,r),"id"in t&&t.id!==void 0)this.#t({jsonrpc:"2.0",id:t.id,error:{code:-32700,message:"Parse error"}})}}}finally{e.releaseLock(),this.#o.abort()}}async#d(e){if("method"in e&&"id"in e){let t=await this.#u(e.method,e.params);if("error"in t)console.error("Error handling request",e,t.error);await this.#t({jsonrpc:"2.0",id:e.id,...t})}else if("method"in e){let t=await this.#f(e.method,e.params);if("error"in t)console.error("Error handling notification",e,t.error)}else if("id"in e)this.#g(e);else console.error("Invalid message",{message:e})}async#u(e,t){try{return{result:await this.#i(e,t)??null}}catch(n){if(n instanceof Ne)return n.toResult();if(n instanceof Xn)return Ne.invalidParams(n.format()).toResult();let r;if(n instanceof Error)r=n.message;else if(typeof n==="object"&&n!=null&&"message"in n&&typeof n.message==="string")r=n.message;try{return Ne.internalError(r?JSON.parse(r):{}).toResult()}catch{return Ne.internalError({details:r}).toResult()}}}async#f(e,t){try{return await this.#a(e,t),{result:null}}catch(n){if(n instanceof Ne)return n.toResult();if(n instanceof Xn)return Ne.invalidParams(n.format()).toResult();let r;if(n instanceof Error)r=n.message;else if(typeof n==="object"&&n!=null&&"message"in n&&typeof n.message==="string")r=n.message;try{return Ne.internalError(r?JSON.parse(r):{}).toResult()}catch{return Ne.internalError({details:r}).toResult()}}}#g(e){let t=this.#e.get(e.id);if(t){if("result"in e)t.resolve(e.result);else if("error"in e)t.reject(e.error);this.#e.delete(e.id)}else console.error("Got response to unknown request",e.id)}async sendRequest(e,t){let n=this.#l++,r=new Promise((o,i)=>{this.#e.set(n,{resolve:o,reject:i})});return await this.#t({jsonrpc:"2.0",id:n,method:e,params:t}),r}async sendNotification(e,t){await this.#t({jsonrpc:"2.0",method:e,params:t})}async#t(e){return this.#r=this.#r.then(async()=>{let t=this.#n.writable.getWriter();try{await t.write(e)}finally{t.releaseLock()}}).catch((t)=>{console.error("ACP write error:",t)}),this.#r}}class Ne extends Error{code;data;constructor(e,t,n){super(t);this.code=e,this.name="RequestError",this.data=n}static parseError(e,t){return new Ne(-32700,`Parse error${t?`: ${t}`:""}`,e)}static invalidRequest(e,t){return new Ne(-32600,`Invalid request${t?`: ${t}`:""}`,e)}static methodNotFound(e){return new Ne(-32601,`"Method not found": ${e}`,{method:e})}static invalidParams(e,t){return new Ne(-32602,`Invalid params${t?`: ${t}`:""}`,e)}static internalError(e,t){return new Ne(-32603,`Internal error${t?`: ${t}`:""}`,e)}static authRequired(e,t){return new Ne(-32000,`Authentication required${t?`: ${t}`:""}`,e)}static resourceNotFound(e){return new Ne(-32002,`Resource not found${e?`: ${e}`:""}`,e&&{uri:e})}toResult(){return{error:{code:this.code,message:this.message,data:this.data}}}toErrorResponse(){return{code:this.code,message:this.message,data:this.data}}}import{spawn as Ym}from"child_process";import{Readable as fv,Writable as gv}from"stream";import mv from"os";import hv from"path";import pv from"process";import{pathToFileURL as Av}from"url";Ps();var jC=["authentication required","please re-authenticate","token expired","token has expired","invalid token"];function WC(e){if(typeof e==="string")return e;if(e instanceof Error)return e.message??"";if(e&&typeof e==="object"){let t=e.message;if(typeof t==="string")return t}return""}function ZC(e){if(!e||typeof e!=="object")return;let t=e;for(let n of["status","statusCode","code"]){let r=t[n];if(typeof r==="number"&&r>=100&&r<600)return r}return}function Ms(e){if(e==null)return!1;if(Mm(e))return!1;if(e instanceof Error&&e.name==="UnauthorizedError")return!0;if(ZC(e)===401)return!0;let t=WC(e).toLowerCase();if(!t)return!1;return jC.some((n)=>t.includes(n))}var KC={terminal:{zh:"\u767B\u5F55\u72B6\u6001\u5DF2\u5931\u6548 \u2014\u2014 \u8F93\u5165 /login \u91CD\u65B0\u767B\u5F55\uFF0C\u7136\u540E\u518D\u53D1\u4E00\u6B21\u521A\u624D\u90A3\u6761\u6D88\u606F\u3002",en:"Your session has expired \u2014 run /login to sign in again, then resend that message."},desktop:{zh:"\u767B\u5F55\u72B6\u6001\u5DF2\u5931\u6548 \u2014\u2014 \u70B9\u5DE6\u4E0B\u89D2\u5934\u50CF\u9000\u51FA\u767B\u5F55\uFF0C\u91CD\u65B0\u767B\u5F55\u540E\u518D\u53D1\u4E00\u6B21\u521A\u624D\u90A3\u6761\u6D88\u606F\u3002",en:"Your session has expired \u2014 sign out from the avatar at the bottom left, sign in again, then resend that message."}};function Fm(e,t){if(!Ms(e))return;return KC[t.client][t.locale??"zh"]}import{existsSync as ar}from"fs";import ir from"path";import It from"process";import{spawnSync as XC}from"child_process";function Dm(e){let t=e.toLowerCase();return t.includes("zh")||t.includes("chinese")}function QC(e=process.env){try{let t=e.LC_ALL||e.LC_CTYPE||e.LANG||"";return Dm(t)?"zh":"en"}catch{return"en"}}var[Om,YC]=j(QC()),zr=Om;async function JC(){if(process.platform!=="win32")return;try{let{exec:e}=await import("child_process"),{promisify:t}=await import("util"),n=t(e),{stdout:r}=await n('powershell -Command "Get-Culture | Select-Object -ExpandProperty Name"',{timeout:5000});return Dm(r)?"zh":void 0}catch{return}}var Nm=!1;function VC(e=1000){if(Nm)return;if(Om()==="zh")return;if(process.platform!=="win32")return;Nm=!0,setTimeout(()=>{JC().then((n)=>{if(n)YC(n)})},e).unref?.()}function Fs(){VC()}var ti={"status.phase.tools":"running tools","status.phase.thinking":"thinking","status.phase.writing":"writing","status.phase.working":"working","status.error":"error","status.exited":"backend exited","status.restoring":"restoring session","status.starting":"starting backend","status.waiting":"waiting for you","status.compacting":"compacting context","status.ready":"ready","mode.ask":"ask","mode.autoEdit":"auto-edit","mode.fullAccess":"Full access","mode.plan":"plan","sidebar.group.sessions":"Sessions","sidebar.group.project":"Project","sidebar.group.mr":"Merge request","sidebar.group.pr":"Pull request","sidebar.group.model":"Model","sidebar.group.tasks":"Tasks","sidebar.group.background":"Background tasks","sidebar.group.credits":"Credits","sidebar.newSession":"+ new session","sidebar.usage.none":"no usage reported yet","sidebar.tokens.none":"no tokens counted yet","sidebar.cache.none":"no cache reported yet","sidebar.quota.left":"{percent} left","sidebar.quota.none":"no ceiling","sidebar.credits.turn":"turn","sidebar.credits.total":"total","sidebar.model.none":"no model yet","sidebar.label.model":"model","sidebar.label.cache":"cache","sidebar.label.daily":"today","sidebar.label.weekly":"week","sidebar.label.weekly.bj":"bj week","sidebar.label.mode":"mode","sidebar.label.branch":"branch","sidebar.label.dir":"dir","sidebar.update.updating":"Updating to {version}\u2026","sidebar.update.alongside":"keep working, this runs alongside","sidebar.update.done":"Updated to {version}","sidebar.update.restart":"Restart to use it","sidebar.update.failed":"Update failed","sidebar.update.available":"Update available \xB7 {version}","sidebar.update.now":"Update now","sidebar.account.center":"Account","sidebar.account.logout":"Sign out","sidebar.account.login":"Sign in","mr.state.open":"open","mr.state.merged":"merged","mr.state.closed":"closed","mr.ci.running":"CI running","mr.ci.success":"CI passed","mr.ci.failed":"CI failed","mr.ci.none":"no CI","mr.unavailable.glab":"needs glab","mr.unavailable.gh":"needs gh","mr.unavailable.error":"status unavailable","mr.openFailed":"Could not open a browser \u2014 the request is at {url}","session.untitled":"New session","home.welcome":"Welcome back!","home.welcomeNamed":"Welcome back, {name}!","key.choose":"choose","key.confirm":"confirm","key.submit":"submit","key.clear":"clear","key.dismiss":"dismiss","key.back":"back","key.move":"move","key.select":"select","key.close":"close","key.pick":"pick","key.toggle":"toggle","key.nextQuestion":"next question","key.start":"start","key.next":"next","key.cancel":"cancel","key.reject":"reject","auth.title":"Sign in","auth.choice.browser":"Sign in with a browser","auth.choice.browser.hint":"opens the login page","auth.choice.apikey":"Paste an API key","auth.choice.apikey.hint":"input is masked","auth.noCredentials":"No credentials found. The CLI and the desktop app share this login.","auth.status.checking":"checking sign-in","auth.status.signedOut":"signed out","auth.status.signedIn":"signed in","auth.error.emptyKey":"API key is empty.","auth.error.unknown":"Unknown error","auth.error.noCredentials":"No valid credentials \u2014 log in first.","picker.empty":"Nothing to choose from yet.","dialog.question.title":"Question","subagent.status.starting":"Starting","subagent.status.running":"Running","subagent.status.completed":"Completed","subagent.status.failed":"Failed","subagent.status.cancelled":"Cancelled","subagent.toolCalls":"Tool calls","tool.status.pending":"Pending","tool.status.running":"Running","tool.status.done":"Done","tool.status.failed":"Failed","tool.verb.read.running":"Reading","tool.verb.read.done":"Read","tool.verb.edit.running":"Editing","tool.verb.edit.done":"Edited","tool.verb.delete.running":"Deleting","tool.verb.delete.done":"Deleted","tool.verb.move.running":"Moving","tool.verb.move.done":"Moved","tool.verb.search.running":"Searching","tool.verb.search.done":"Searched","tool.verb.execute.running":"Running","tool.verb.execute.done":"Ran","tool.verb.think.running":"Thinking","tool.verb.think.done":"Thought","tool.verb.fetch.running":"Fetching","tool.verb.fetch.done":"Fetched","tool.verb.switchMode.running":"Switching mode","tool.verb.switchMode.done":"Switched mode","tool.noMatches":"No matches","tool.call":"Tool call","tool.runInBackground":" ctrl+b to run in background","thought.header":" Model Thinking","prompt.placeholder":"Ask anything, or / for commands \xB7 shift+enter for a new line \xB7 ctrl+v to paste","prompt.editHint":"ctrl+\u2191 to edit","prompt.suggestionHint":" \xB7 tab to accept","prompt.browseCommands":"/ - browse commands","menu.restore":"Restore point","menu.restore.hint":"Also rolls back file changes","menu.copy":"Copy message","menu.confirm.restore":"Yes, restore","menu.confirm.title":"Are you sure?","menu.confirm.subject":"This message","menu.confirm.warning":"This rewrites the conversation and rolls back file changes. It cannot be undone.","notice.copied":"Copied the message","notice.checkpointGone":"That checkpoint is no longer there","notice.restored":"Restored \u2014 the conversation and file changes were rolled back","notice.queueEmpty":"The queue is already empty","notice.background":"Moving to the background\u2026","notice.goalCancelled":"Goal cancelled.","notice.pastingImage":"Pasting image from clipboard\u2026","notice.fullAccessEnabled":" (full access was enabled for it)","notice.unknownError":"unknown error","notice.clipboardUnavailable":"No clipboard mechanism is available on this system.","command.new":"Start a new session","command.login":"Sign in with a browser or an API key","command.logout":"Clear the stored credentials","command.account":"Open your account page in a browser","command.theme":"Switch the color palette","command.clear":"Clear the transcript on screen","command.queue":"Show or clear the queued messages","command.feishu":"Connect this machine to Feishu as a bot","command.feishu.setup":"Set up the Feishu app (QR code or credentials)","command.feishu.start":"Start the gateway","command.feishu.stop":"Stop the gateway","command.feishu.status":"Show gateway status and permissions","command.feishu.restart":"Restart the gateway","command.feishu.logout":"Delete the stored credentials","command.model.description":"Switch the model for this session","command.model.none":"The backend has not reported any models yet.","command.model.credits":"{credits}x credits","model.action.add":"\uFF0B Add a custom model\u2026","model.action.addHint":"Protocol, endpoint, key, model id \u2014 asked one at a time","model.action.manage":"Manage custom models\u2026","model.action.manageHint":"Edit or remove one you added","model.step.provider":"Which protocol does it speak?","model.step.displayName":"A name for this model","model.step.baseUrl":"Base URL (https://\u2026)","model.step.apiKey":"API key","model.step.modelId":"Model id at the provider","model.wizard.hint.type":"Type the value below and press Enter.","model.wizard.step":"Step {step} of {total}","model.wizard.hint.keep":"Type the value and press Enter \u2014 an empty line keeps what is there.","model.wizard.hint.key":"A literal key stays in this terminal scrollback; ${ENV_VAR} is read when it is used.","model.wizard.needValue":"This step needs a value \u2014 press Esc to leave the wizard.","model.wizard.aborted":"Left the custom model wizard.","model.invalid.baseUrl":"The base URL has to start with http:// or https://.","model.invalid.taken":'A model called "{name}" is already configured.',"model.invalid.rejected":"The backend would refuse this model:","model.confirm.title":"Add this model?","model.confirm.save":"Save","model.confirm.cancel":"Cancel","model.saved":'Saved "{name}" \u2014 it is in the model list now.',"model.saveFailed":"Could not save it: {error}","model.deleted":'Deleted "{name}".',"model.notCustom":'"{name}" is not a custom model.',"model.manage.title":"Custom models","model.manage.empty":"No custom models yet \u2014 add one from /model.","model.manage.edit":"Edit","model.manage.delete":"Delete","status.tasksRunning":"{count} running task{plural}","queue.editing":"editing queue #{index}/{total} \xB7 enter save \xB7 esc cancel \xB7 ctrl+\u2191 next","notice.ctrlCAgain":"Press Ctrl+C again to exit","command.plan.already":"Plan mode is already {state}.","command.cli.saveFailed":"Could not save the setting, so the CLI will start again next time: {error}","command.quit.description":"Exit","command.tasks.stopping":"Stopping {label}.","command.tasks.stopFailed":"Could not stop it: {error}","command.tasks.noOutput":"No output available: {error}","command.tasks.output":`Output of {label}:
|
|
668
|
+
path: iss.path ? [${tr(w)}, ...iss.path] : [${tr(w)}]
|
|
669
|
+
})));`),k.write(`newResult[${tr(w)}] = ${L}.value`)}k.write("payload.value = newResult;"),k.write("return payload;");let P=k.compile();return(w,L)=>P(m,w,L)},o,i=Lo,a=!Do.jitless,l=a&&tu.value,u=t.catchall,g;e._zod.parse=(m,k)=>{g??(g=n.value);let y=m.value;if(!i(y))return m.issues.push({expected:"object",code:"invalid_type",input:y,inst:e}),m;let R=[];if(a&&l&&k?.async===!1&&k.jitless!==!0){if(!o)o=r(t.shape);m=o(m,k)}else{m.value={};let L=g.shape;for(let S of g.keys){let b=L[S],C=b._zod.run({value:y[S],issues:[]},k),O=b._zod.optin==="optional"&&b._zod.optout==="optional";if(C instanceof Promise)R.push(C.then((z)=>O?nf(z,m,S,y):Uo(z,m,S)));else if(O)nf(C,m,S,y);else Uo(C,m,S)}}if(!u)return R.length?Promise.all(R).then(()=>m):m;let N=[],M=g.keySet,P=u._zod,w=P.def.type;for(let L of Object.keys(y)){if(M.has(L))continue;if(w==="never"){N.push(L);continue}let S=P.run({value:y[L],issues:[]},k);if(S instanceof Promise)R.push(S.then((b)=>Uo(b,m,L)));else Uo(S,m,L)}if(N.length)m.issues.push({code:"unrecognized_keys",keys:N,input:y,inst:e});if(!R.length)return m;return Promise.all(R).then(()=>m)}});function rf(e,t,n,r){for(let o of e)if(o.issues.length===0)return t.value=o.value,t;return t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map((o)=>o.issues.map((i)=>Ut(i,r,Ht())))}),t}var zf=D("$ZodUnion",(e,t)=>{ve.init(e,t),Ce(e._zod,"optin",()=>t.options.some((n)=>n._zod.optin==="optional")?"optional":void 0),Ce(e._zod,"optout",()=>t.options.some((n)=>n._zod.optout==="optional")?"optional":void 0),Ce(e._zod,"values",()=>{if(t.options.every((n)=>n._zod.values))return new Set(t.options.flatMap((n)=>Array.from(n._zod.values)));return}),Ce(e._zod,"pattern",()=>{if(t.options.every((n)=>n._zod.pattern)){let n=t.options.map((r)=>r._zod.pattern);return new RegExp(`^(${n.map((r)=>Go(r.source)).join("|")})$`)}return}),e._zod.parse=(n,r)=>{let o=!1,i=[];for(let a of t.options){let s=a._zod.run({value:n.value,issues:[]},r);if(s instanceof Promise)i.push(s),o=!0;else{if(s.issues.length===0)return s;i.push(s)}}if(!o)return rf(i,n,e,r);return Promise.all(i).then((a)=>rf(a,n,e,r))}});var Hf=D("$ZodIntersection",(e,t)=>{ve.init(e,t),e._zod.parse=(n,r)=>{let o=n.value,i=t.left._zod.run({value:o,issues:[]},r),a=t.right._zod.run({value:o,issues:[]},r);if(i instanceof Promise||a instanceof Promise)return Promise.all([i,a]).then(([l,u])=>of(n,l,u));return of(n,i,a)}});function rs(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e===+t)return{valid:!0,data:e};if(Nr(e)&&Nr(t)){let n=Object.keys(t),r=Object.keys(e).filter((i)=>n.indexOf(i)!==-1),o={...e,...t};for(let i of r){let a=rs(e[i],t[i]);if(!a.valid)return{valid:!1,mergeErrorPath:[i,...a.mergeErrorPath]};o[i]=a.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let o=e[r],i=t[r],a=rs(o,i);if(!a.valid)return{valid:!1,mergeErrorPath:[r,...a.mergeErrorPath]};n.push(a.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function of(e,t,n){if(t.issues.length)e.issues.push(...t.issues);if(n.issues.length)e.issues.push(...n.issues);if(nr(e))return e;let r=rs(t.value,n.value);if(!r.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(r.mergeErrorPath)}`);return e.value=r.data,e}var Uf=D("$ZodRecord",(e,t)=>{ve.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(!Nr(o))return n.issues.push({expected:"record",code:"invalid_type",input:o,inst:e}),n;let i=[];if(t.keyType._zod.values){let a=t.keyType._zod.values;n.value={};for(let l of a)if(typeof l==="string"||typeof l==="number"||typeof l==="symbol"){let u=t.valueType._zod.run({value:o[l],issues:[]},r);if(u instanceof Promise)i.push(u.then((g)=>{if(g.issues.length)n.issues.push(...Yt(l,g.issues));n.value[l]=g.value}));else{if(u.issues.length)n.issues.push(...Yt(l,u.issues));n.value[l]=u.value}}let s;for(let l in o)if(!a.has(l))s=s??[],s.push(l);if(s&&s.length>0)n.issues.push({code:"unrecognized_keys",input:o,inst:e,keys:s})}else{n.value={};for(let a of Reflect.ownKeys(o)){if(a==="__proto__")continue;let s=t.keyType._zod.run({value:a,issues:[]},r);if(s instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(s.issues.length){n.issues.push({origin:"record",code:"invalid_key",issues:s.issues.map((u)=>Ut(u,r,Ht())),input:a,path:[a],inst:e}),n.value[s.value]=s.value;continue}let l=t.valueType._zod.run({value:o[a],issues:[]},r);if(l instanceof Promise)i.push(l.then((u)=>{if(u.issues.length)n.issues.push(...Yt(a,u.issues));n.value[s.value]=u.value}));else{if(l.issues.length)n.issues.push(...Yt(a,l.issues));n.value[s.value]=l.value}}}if(i.length)return Promise.all(i).then(()=>n);return n}});var jf=D("$ZodEnum",(e,t)=>{ve.init(e,t);let n=qd(t.entries);e._zod.values=new Set(n),e._zod.pattern=new RegExp(`^(${n.filter((r)=>nu.has(typeof r)).map((r)=>typeof r==="string"?yn(r):r.toString()).join("|")})$`),e._zod.parse=(r,o)=>{let i=r.value;if(e._zod.values.has(i))return r;return r.issues.push({code:"invalid_value",values:n,input:i,inst:e}),r}}),Wf=D("$ZodLiteral",(e,t)=>{ve.init(e,t),e._zod.values=new Set(t.values),e._zod.pattern=new RegExp(`^(${t.values.map((n)=>typeof n==="string"?yn(n):n?n.toString():String(n)).join("|")})$`),e._zod.parse=(n,r)=>{let o=n.value;if(e._zod.values.has(o))return n;return n.issues.push({code:"invalid_value",values:t.values,input:o,inst:e}),n}});var Zf=D("$ZodTransform",(e,t)=>{ve.init(e,t),e._zod.parse=(n,r)=>{let o=t.transform(n.value,n);if(r.async)return(o instanceof Promise?o:Promise.resolve(o)).then((a)=>(n.value=a,n));if(o instanceof Promise)throw new an;return n.value=o,n}}),Kf=D("$ZodOptional",(e,t)=>{ve.init(e,t),e._zod.optin="optional",e._zod.optout="optional",Ce(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),Ce(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${Go(n.source)})?$`):void 0}),e._zod.parse=(n,r)=>{if(t.innerType._zod.optin==="optional")return t.innerType._zod.run(n,r);if(n.value===void 0)return n;return t.innerType._zod.run(n,r)}}),Qf=D("$ZodNullable",(e,t)=>{ve.init(e,t),Ce(e._zod,"optin",()=>t.innerType._zod.optin),Ce(e._zod,"optout",()=>t.innerType._zod.optout),Ce(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${Go(n.source)}|null)$`):void 0}),Ce(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(n,r)=>{if(n.value===null)return n;return t.innerType._zod.run(n,r)}}),Yf=D("$ZodDefault",(e,t)=>{ve.init(e,t),e._zod.optin="optional",Ce(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(n.value===void 0)return n.value=t.defaultValue,n;let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then((i)=>af(i,t));return af(o,t)}});function af(e,t){if(e.value===void 0)e.value=t.defaultValue;return e}var Jf=D("$ZodPrefault",(e,t)=>{ve.init(e,t),e._zod.optin="optional",Ce(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(n.value===void 0)n.value=t.defaultValue;return t.innerType._zod.run(n,r)}}),Vf=D("$ZodNonOptional",(e,t)=>{ve.init(e,t),Ce(e._zod,"values",()=>{let n=t.innerType._zod.values;return n?new Set([...n].filter((r)=>r!==void 0)):void 0}),e._zod.parse=(n,r)=>{let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then((i)=>sf(i,e));return sf(o,e)}});function sf(e,t){if(!e.issues.length&&e.value===void 0)e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t});return e}var qf=D("$ZodCatch",(e,t)=>{ve.init(e,t),e._zod.optin="optional",Ce(e._zod,"optout",()=>t.innerType._zod.optout),Ce(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then((i)=>{if(n.value=i.value,i.issues.length)n.value=t.catchValue({...n,error:{issues:i.issues.map((a)=>Ut(a,r,Ht()))},input:n.value}),n.issues=[];return n});if(n.value=o.value,o.issues.length)n.value=t.catchValue({...n,error:{issues:o.issues.map((i)=>Ut(i,r,Ht()))},input:n.value}),n.issues=[];return n}});var Xf=D("$ZodPipe",(e,t)=>{ve.init(e,t),Ce(e._zod,"values",()=>t.in._zod.values),Ce(e._zod,"optin",()=>t.in._zod.optin),Ce(e._zod,"optout",()=>t.out._zod.optout),e._zod.parse=(n,r)=>{let o=t.in._zod.run(n,r);if(o instanceof Promise)return o.then((i)=>lf(i,t,r));return lf(o,t,r)}});function lf(e,t,n){if(nr(e))return e;return t.out._zod.run({value:e.value,issues:e.issues},n)}var eg=D("$ZodReadonly",(e,t)=>{ve.init(e,t),Ce(e._zod,"propValues",()=>t.innerType._zod.propValues),Ce(e._zod,"values",()=>t.innerType._zod.values),Ce(e._zod,"optin",()=>t.innerType._zod.optin),Ce(e._zod,"optout",()=>t.innerType._zod.optout),e._zod.parse=(n,r)=>{let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then(cf);return cf(o)}});function cf(e){return e.value=Object.freeze(e.value),e}var tg=D("$ZodCustom",(e,t)=>{nt.init(e,t),ve.init(e,t),e._zod.parse=(n,r)=>n,e._zod.check=(n)=>{let r=n.value,o=t.fn(r);if(o instanceof Promise)return o.then((i)=>df(i,n,r,e));df(o,n,r,e);return}});function df(e,t,n,r){if(!e){let o={code:"custom",input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};if(r._zod.def.params)o.params=r._zod.def.params;t.issues.push(rr(o))}}var NR=Symbol("ZodOutput"),DR=Symbol("ZodInput");class ng{constructor(){this._map=new Map,this._idmap=new Map}add(e,...t){let n=t[0];if(this._map.set(e,n),n&&typeof n==="object"&&"id"in n){if(this._idmap.has(n.id))throw Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,e)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(e){let t=this._map.get(e);if(t&&typeof t==="object"&&"id"in t)this._idmap.delete(t.id);return this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};return delete n.id,{...n,...this._map.get(e)}}return this._map.get(e)}has(e){return this._map.has(e)}}function gw(){return new ng}var Or=gw();function rg(e,t){return new e({type:"string",...ie(t)})}function og(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...ie(t)})}function is(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...ie(t)})}function ig(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...ie(t)})}function ag(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...ie(t)})}function sg(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...ie(t)})}function lg(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...ie(t)})}function cg(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...ie(t)})}function dg(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...ie(t)})}function ug(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...ie(t)})}function fg(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...ie(t)})}function gg(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...ie(t)})}function mg(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...ie(t)})}function hg(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...ie(t)})}function pg(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...ie(t)})}function Ag(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...ie(t)})}function kg(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...ie(t)})}function xg(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...ie(t)})}function bg(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...ie(t)})}function yg(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...ie(t)})}function wg(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...ie(t)})}function Sg(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...ie(t)})}function Cg(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...ie(t)})}function vg(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...ie(t)})}function Ig(e,t){return new e({type:"string",format:"date",check:"string_format",...ie(t)})}function Eg(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...ie(t)})}function Tg(e,t){return new e({type:"string",format:"duration",check:"string_format",...ie(t)})}function Bg(e,t){return new e({type:"number",checks:[],...ie(t)})}function Rg(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...ie(t)})}function _g(e,t){return new e({type:"boolean",...ie(t)})}function Pg(e){return new e({type:"unknown"})}function Mg(e,t){return new e({type:"never",...ie(t)})}function Wo(e,t){return new es({check:"less_than",...ie(t),value:e,inclusive:!1})}function Lr(e,t){return new es({check:"less_than",...ie(t),value:e,inclusive:!0})}function Zo(e,t){return new ts({check:"greater_than",...ie(t),value:e,inclusive:!1})}function $r(e,t){return new ts({check:"greater_than",...ie(t),value:e,inclusive:!0})}function Ko(e,t){return new zu({check:"multiple_of",...ie(t),value:e})}function Qo(e,t){return new Uu({check:"max_length",...ie(t),maximum:e})}function or(e,t){return new ju({check:"min_length",...ie(t),minimum:e})}function Yo(e,t){return new Wu({check:"length_equals",...ie(t),length:e})}function as(e,t){return new Zu({check:"string_format",format:"regex",...ie(t),pattern:e})}function ss(e){return new Ku({check:"string_format",format:"lowercase",...ie(e)})}function ls(e){return new Qu({check:"string_format",format:"uppercase",...ie(e)})}function cs(e,t){return new Yu({check:"string_format",format:"includes",...ie(t),includes:e})}function ds(e,t){return new Ju({check:"string_format",format:"starts_with",...ie(t),prefix:e})}function us(e,t){return new Vu({check:"string_format",format:"ends_with",...ie(t),suffix:e})}function Sn(e){return new qu({check:"overwrite",tx:e})}function fs(e){return Sn((t)=>t.normalize(e))}function gs(){return Sn((e)=>e.trim())}function ms(){return Sn((e)=>e.toLowerCase())}function hs(){return Sn((e)=>e.toUpperCase())}function Fg(e,t,n){return new e({type:"array",element:t,...ie(n)})}function Ng(e,t,n){return new e({type:"custom",check:"custom",fn:t,...ie(n)})}var xw=D("ZodISODateTime",(e,t)=>{wf.init(e,t),Te.init(e,t)});function Dg(e){return vg(xw,e)}var bw=D("ZodISODate",(e,t)=>{Sf.init(e,t),Te.init(e,t)});function Og(e){return Ig(bw,e)}var yw=D("ZodISOTime",(e,t)=>{Cf.init(e,t),Te.init(e,t)});function Lg(e){return Eg(yw,e)}var ww=D("ZodISODuration",(e,t)=>{vf.init(e,t),Te.init(e,t)});function $g(e){return Tg(ww,e)}var Gg=(e,t)=>{Ho.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:(n)=>su(e,n)},flatten:{value:(n)=>au(e,n)},addIssue:{value:(n)=>e.issues.push(n)},addIssues:{value:(n)=>e.issues.push(...n)},isEmpty:{get(){return e.issues.length===0}}})},d_=D("ZodError",Gg),Gr=D("ZodError",Gg,{Parent:Error});var zg=lu(Gr),Hg=cu(Gr),Ug=Ya(Gr),jg=Ja(Gr);var _e=D("ZodType",(e,t)=>(ve.init(e,t),e.def=t,Object.defineProperty(e,"_def",{value:t}),e.check=(...n)=>e.clone({...t,checks:[...t.checks??[],...n.map((r)=>typeof r==="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),e.clone=(n,r)=>Qt(e,n,r),e.brand=()=>e,e.register=(n,r)=>(n.add(e,r),e),e.parse=(n,r)=>zg(e,n,r,{callee:e.parse}),e.safeParse=(n,r)=>Ug(e,n,r),e.parseAsync=async(n,r)=>Hg(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>jg(e,n,r),e.spa=e.safeParseAsync,e.refine=(n,r)=>e.check(pS(n,r)),e.superRefine=(n)=>e.check(AS(n)),e.overwrite=(n)=>e.check(Sn(n)),e.optional=()=>Kg(e),e.nullable=()=>Qg(e),e.nullish=()=>Kg(Qg(e)),e.nonoptional=(n)=>lS(e,n),e.array=()=>he(e),e.or=(n)=>xe([e,n]),e.and=(n)=>As(e,n),e.transform=(n)=>Yg(e,nS(n)),e.default=(n)=>iS(e,n),e.prefault=(n)=>sS(e,n),e.catch=(n)=>dS(e,n),e.pipe=(n)=>Yg(e,n),e.readonly=()=>gS(e),e.describe=(n)=>{let r=e.clone();return Or.add(r,{description:n}),r},Object.defineProperty(e,"description",{get(){return Or.get(e)?.description},configurable:!0}),e.meta=(...n)=>{if(n.length===0)return Or.get(e);let r=e.clone();return Or.add(r,n[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),Jg=D("_ZodString",(e,t)=>{jo.init(e,t),_e.init(e,t);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...r)=>e.check(as(...r)),e.includes=(...r)=>e.check(cs(...r)),e.startsWith=(...r)=>e.check(ds(...r)),e.endsWith=(...r)=>e.check(us(...r)),e.min=(...r)=>e.check(or(...r)),e.max=(...r)=>e.check(Qo(...r)),e.length=(...r)=>e.check(Yo(...r)),e.nonempty=(...r)=>e.check(or(1,...r)),e.lowercase=(r)=>e.check(ss(r)),e.uppercase=(r)=>e.check(ls(r)),e.trim=()=>e.check(gs()),e.normalize=(...r)=>e.check(fs(...r)),e.toLowerCase=()=>e.check(ms()),e.toUpperCase=()=>e.check(hs())}),Iw=D("ZodString",(e,t)=>{jo.init(e,t),Jg.init(e,t),e.email=(n)=>e.check(og(Ew,n)),e.url=(n)=>e.check(cg(Tw,n)),e.jwt=(n)=>e.check(Cg(Uw,n)),e.emoji=(n)=>e.check(dg(Bw,n)),e.guid=(n)=>e.check(is(Wg,n)),e.uuid=(n)=>e.check(ig(Vo,n)),e.uuidv4=(n)=>e.check(ag(Vo,n)),e.uuidv6=(n)=>e.check(sg(Vo,n)),e.uuidv7=(n)=>e.check(lg(Vo,n)),e.nanoid=(n)=>e.check(ug(Rw,n)),e.guid=(n)=>e.check(is(Wg,n)),e.cuid=(n)=>e.check(fg(_w,n)),e.cuid2=(n)=>e.check(gg(Pw,n)),e.ulid=(n)=>e.check(mg(Mw,n)),e.base64=(n)=>e.check(yg(Gw,n)),e.base64url=(n)=>e.check(wg(zw,n)),e.xid=(n)=>e.check(hg(Fw,n)),e.ksuid=(n)=>e.check(pg(Nw,n)),e.ipv4=(n)=>e.check(Ag(Dw,n)),e.ipv6=(n)=>e.check(kg(Ow,n)),e.cidrv4=(n)=>e.check(xg(Lw,n)),e.cidrv6=(n)=>e.check(bg($w,n)),e.e164=(n)=>e.check(Sg(Hw,n)),e.datetime=(n)=>e.check(Dg(n)),e.date=(n)=>e.check(Og(n)),e.time=(n)=>e.check(Lg(n)),e.duration=(n)=>e.check($g(n))});function x(e){return rg(Iw,e)}var Te=D("ZodStringFormat",(e,t)=>{Ie.init(e,t),Jg.init(e,t)}),Ew=D("ZodEmail",(e,t)=>{gf.init(e,t),Te.init(e,t)});var Wg=D("ZodGUID",(e,t)=>{uf.init(e,t),Te.init(e,t)});var Vo=D("ZodUUID",(e,t)=>{ff.init(e,t),Te.init(e,t)});var Tw=D("ZodURL",(e,t)=>{mf.init(e,t),Te.init(e,t)});var Bw=D("ZodEmoji",(e,t)=>{hf.init(e,t),Te.init(e,t)});var Rw=D("ZodNanoID",(e,t)=>{pf.init(e,t),Te.init(e,t)});var _w=D("ZodCUID",(e,t)=>{Af.init(e,t),Te.init(e,t)});var Pw=D("ZodCUID2",(e,t)=>{kf.init(e,t),Te.init(e,t)});var Mw=D("ZodULID",(e,t)=>{xf.init(e,t),Te.init(e,t)});var Fw=D("ZodXID",(e,t)=>{bf.init(e,t),Te.init(e,t)});var Nw=D("ZodKSUID",(e,t)=>{yf.init(e,t),Te.init(e,t)});var Dw=D("ZodIPv4",(e,t)=>{If.init(e,t),Te.init(e,t)});var Ow=D("ZodIPv6",(e,t)=>{Ef.init(e,t),Te.init(e,t)});var Lw=D("ZodCIDRv4",(e,t)=>{Tf.init(e,t),Te.init(e,t)});var $w=D("ZodCIDRv6",(e,t)=>{Bf.init(e,t),Te.init(e,t)});var Gw=D("ZodBase64",(e,t)=>{_f.init(e,t),Te.init(e,t)});var zw=D("ZodBase64URL",(e,t)=>{Pf.init(e,t),Te.init(e,t)});var Hw=D("ZodE164",(e,t)=>{Mf.init(e,t),Te.init(e,t)});var Uw=D("ZodJWT",(e,t)=>{Ff.init(e,t),Te.init(e,t)});var Vg=D("ZodNumber",(e,t)=>{os.init(e,t),_e.init(e,t),e.gt=(r,o)=>e.check(Zo(r,o)),e.gte=(r,o)=>e.check($r(r,o)),e.min=(r,o)=>e.check($r(r,o)),e.lt=(r,o)=>e.check(Wo(r,o)),e.lte=(r,o)=>e.check(Lr(r,o)),e.max=(r,o)=>e.check(Lr(r,o)),e.int=(r)=>e.check(Zg(r)),e.safe=(r)=>e.check(Zg(r)),e.positive=(r)=>e.check(Zo(0,r)),e.nonnegative=(r)=>e.check($r(0,r)),e.negative=(r)=>e.check(Wo(0,r)),e.nonpositive=(r)=>e.check(Lr(0,r)),e.multipleOf=(r,o)=>e.check(Ko(r,o)),e.step=(r,o)=>e.check(Ko(r,o)),e.finite=()=>e;let n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??0.5),e.isFinite=!0,e.format=n.format??null});function Fe(e){return Bg(Vg,e)}var jw=D("ZodNumberFormat",(e,t)=>{Nf.init(e,t),Vg.init(e,t)});function Zg(e){return Rg(jw,e)}var Ww=D("ZodBoolean",(e,t)=>{Df.init(e,t),_e.init(e,t)});function lt(e){return _g(Ww,e)}var Zw=D("ZodUnknown",(e,t)=>{Of.init(e,t),_e.init(e,t)});function H(){return Pg(Zw)}var Kw=D("ZodNever",(e,t)=>{Lf.init(e,t),_e.init(e,t)});function Qw(e){return Mg(Kw,e)}var Yw=D("ZodArray",(e,t)=>{$f.init(e,t),_e.init(e,t),e.element=t.element,e.min=(n,r)=>e.check(or(n,r)),e.nonempty=(n)=>e.check(or(1,n)),e.max=(n,r)=>e.check(Qo(n,r)),e.length=(n,r)=>e.check(Yo(n,r)),e.unwrap=()=>e.element});function he(e,t){return Fg(Yw,e,t)}var Jw=D("ZodObject",(e,t)=>{Gf.init(e,t),_e.init(e,t),Ce(e,"shape",()=>t.shape),e.keyof=()=>qg(Object.keys(e._zod.def.shape)),e.catchall=(n)=>e.clone({...e._zod.def,catchall:n}),e.passthrough=()=>e.clone({...e._zod.def,catchall:H()}),e.loose=()=>e.clone({...e._zod.def,catchall:H()}),e.strict=()=>e.clone({...e._zod.def,catchall:Qw()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=(n)=>aw(e,n),e.merge=(n)=>sw(e,n),e.pick=(n)=>ow(e,n),e.omit=(n)=>iw(e,n),e.partial=(...n)=>lw(Xg,e,n[0]),e.required=(...n)=>cw(em,e,n[0])});function T(e,t){let n={type:"object",get shape(){return Za(this,"shape",{...e}),this.shape},...ie(t)};return new Jw(n)}var Vw=D("ZodUnion",(e,t)=>{zf.init(e,t),_e.init(e,t),e.options=t.options});function xe(e,t){return new Vw({type:"union",options:e,...ie(t)})}var qw=D("ZodIntersection",(e,t)=>{Hf.init(e,t),_e.init(e,t)});function As(e,t){return new qw({type:"intersection",left:e,right:t})}var Xw=D("ZodRecord",(e,t)=>{Uf.init(e,t),_e.init(e,t),e.keyType=t.keyType,e.valueType=t.valueType});function U(e,t,n){return new Xw({type:"record",keyType:e,valueType:t,...ie(n)})}var ps=D("ZodEnum",(e,t)=>{jf.init(e,t),_e.init(e,t),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(r,o)=>{let i={};for(let a of r)if(n.has(a))i[a]=t.entries[a];else throw Error(`Key ${a} not found in enum`);return new ps({...t,checks:[],...ie(o),entries:i})},e.exclude=(r,o)=>{let i={...t.entries};for(let a of r)if(n.has(a))delete i[a];else throw Error(`Key ${a} not found in enum`);return new ps({...t,checks:[],...ie(o),entries:i})}});function qg(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map((r)=>[r,r])):e;return new ps({type:"enum",entries:n,...ie(t)})}var eS=D("ZodLiteral",(e,t)=>{Wf.init(e,t),_e.init(e,t),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function te(e,t){return new eS({type:"literal",values:Array.isArray(e)?e:[e],...ie(t)})}var tS=D("ZodTransform",(e,t)=>{Zf.init(e,t),_e.init(e,t),e._zod.parse=(n,r)=>{n.addIssue=(i)=>{if(typeof i==="string")n.issues.push(rr(i,n.value,t));else{let a=i;if(a.fatal)a.continue=!1;a.code??(a.code="custom"),a.input??(a.input=n.value),a.inst??(a.inst=e),a.continue??(a.continue=!0),n.issues.push(rr(a))}};let o=t.transform(n.value,n);if(o instanceof Promise)return o.then((i)=>(n.value=i,n));return n.value=o,n}});function nS(e){return new tS({type:"transform",transform:e})}var Xg=D("ZodOptional",(e,t)=>{Kf.init(e,t),_e.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Kg(e){return new Xg({type:"optional",innerType:e})}var rS=D("ZodNullable",(e,t)=>{Qf.init(e,t),_e.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Qg(e){return new rS({type:"nullable",innerType:e})}var oS=D("ZodDefault",(e,t)=>{Yf.init(e,t),_e.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function iS(e,t){return new oS({type:"default",innerType:e,get defaultValue(){return typeof t==="function"?t():t}})}var aS=D("ZodPrefault",(e,t)=>{Jf.init(e,t),_e.init(e,t),e.unwrap=()=>e._zod.def.innerType});function sS(e,t){return new aS({type:"prefault",innerType:e,get defaultValue(){return typeof t==="function"?t():t}})}var em=D("ZodNonOptional",(e,t)=>{Vf.init(e,t),_e.init(e,t),e.unwrap=()=>e._zod.def.innerType});function lS(e,t){return new em({type:"nonoptional",innerType:e,...ie(t)})}var cS=D("ZodCatch",(e,t)=>{qf.init(e,t),_e.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function dS(e,t){return new cS({type:"catch",innerType:e,catchValue:typeof t==="function"?t:()=>t})}var uS=D("ZodPipe",(e,t)=>{Xf.init(e,t),_e.init(e,t),e.in=t.in,e.out=t.out});function Yg(e,t){return new uS({type:"pipe",in:e,out:t})}var fS=D("ZodReadonly",(e,t)=>{eg.init(e,t),_e.init(e,t)});function gS(e){return new fS({type:"readonly",innerType:e})}var mS=D("ZodCustom",(e,t)=>{tg.init(e,t),_e.init(e,t)});function hS(e){let t=new nt({check:"custom"});return t._zod.check=e,t}function pS(e,t={}){return Ng(mS,e,t)}function AS(e){let t=hS((n)=>(n.addIssue=(r)=>{if(typeof r==="string")n.issues.push(rr(r,n.value,t._zod.def));else{let o=r;if(o.fatal)o.continue=!1;o.code??(o.code="custom"),o.input??(o.input=n.value),o.inst??(o.inst=t),o.continue??(o.continue=!t._zod.def.abort),n.issues.push(rr(o))}},e(n.value,n)));return t}var xS=T({_meta:U(x(),H()).nullish(),terminal:lt().optional().default(!1)}),bS=T({_meta:U(x(),H()).nullish(),label:x().nullish(),name:x(),optional:lt().optional().default(!1),secret:lt().optional().default(!0)}),yS=T({_meta:U(x(),H()).nullish(),description:x().nullish(),id:x(),name:x()}),wS=T({_meta:U(x(),H()).nullish(),description:x().nullish(),id:x(),link:x().nullish(),name:x(),vars:he(bS)}),SS=T({_meta:U(x(),H()).nullish(),args:he(x()).optional(),description:x().nullish(),env:U(x(),x()).optional(),id:x(),name:x()}),CS=xe([wS.and(T({type:te("env_var")})),SS.and(T({type:te("terminal")})),yS]),tm=T({_meta:U(x(),H()).nullish(),methodId:x()}),vS=T({_meta:U(x(),H()).nullish()}),IS=T({_meta:U(x(),H()).nullish(),blob:x(),mimeType:x().nullish(),uri:x()}),ES=T({_meta:U(x(),H()).nullish()}),TS=T({amount:Fe(),currency:x()}),BS=T({_meta:U(x(),H()).nullish(),terminalId:x()}),RS=T({_meta:U(x(),H()).nullish(),newText:x(),oldText:x().nullish(),path:x()}),nm=T({_meta:U(x(),H()).nullish(),name:x(),value:x()}),_S=xe([te(-32700),te(-32600),te(-32601),te(-32602),te(-32603),te(-32800),te(-32000),te(-32002),Fe().int().min(-2147483648,{message:"Invalid value: Expected int32 to be >= -2147483648"}).max(2147483647,{message:"Invalid value: Expected int32 to be <= 2147483647"})]),rm=T({code:_S,data:H().optional(),message:x()}),om=H(),im=H(),am=H(),PS=T({_meta:U(x(),H()).nullish(),readTextFile:lt().optional().default(!1),writeTextFile:lt().optional().default(!1)}),MS=T({_meta:U(x(),H()).nullish(),auth:xS.optional().default({terminal:!1}),fs:PS.optional().default({readTextFile:!1,writeTextFile:!1}),terminal:lt().optional().default(!1)}),sm=T({_meta:U(x(),H()).nullish(),name:x(),value:x()}),lm=T({_meta:U(x(),H()).nullish(),name:x(),title:x().nullish(),version:x()}),FS=T({_meta:U(x(),H()).nullish()}),cm=T({_meta:U(x(),H()).nullish(),cursor:x().nullish(),cwd:x().nullish()}),NS=T({_meta:U(x(),H()).nullish(),http:lt().optional().default(!1),sse:lt().optional().default(!1)}),DS=T({_meta:U(x(),H()).nullish(),headers:he(sm),name:x(),url:x()}),OS=T({_meta:U(x(),H()).nullish(),headers:he(sm),name:x(),url:x()}),LS=T({_meta:U(x(),H()).nullish(),args:he(x()),command:x(),env:he(nm),name:x()}),qo=xe([DS.and(T({type:te("http")})),OS.and(T({type:te("sse")})),LS]),xs=x(),$S=T({_meta:U(x(),H()).nullish(),description:x().nullish(),modelId:xs,name:x()}),dm=T({_meta:U(x(),H()).nullish(),cwd:x(),mcpServers:he(qo)}),um=x(),GS=xe([te("allow_once"),te("allow_always"),te("reject_once"),te("reject_always")]),zS=T({_meta:U(x(),H()).nullish(),kind:GS,name:x(),optionId:um}),HS=xe([te("high"),te("medium"),te("low")]),US=xe([te("pending"),te("in_progress"),te("completed")]),jS=T({_meta:U(x(),H()).nullish(),content:x(),priority:HS,status:US}),WS=T({_meta:U(x(),H()).nullish(),entries:he(jS)}),ZS=T({_meta:U(x(),H()).nullish(),audio:lt().optional().default(!1),embeddedContext:lt().optional().default(!1),image:lt().optional().default(!1)}),fm=Fe().int().gte(0).lte(65535),gm=T({_meta:U(x(),H()).nullish(),clientCapabilities:MS.optional().default({auth:{terminal:!1},fs:{readTextFile:!1,writeTextFile:!1},terminal:!1}),clientInfo:lm.nullish(),protocolVersion:fm}),KS=T({_meta:U(x(),H()).nullish(),content:x()}),QS=T({_meta:U(x(),H()).nullish()}),Cn=xe([Fe(),x()]).nullable(),eP=T({_meta:U(x(),H()).nullish(),requestId:Cn}),YS=qg(["assistant","user"]),zr=T({_meta:U(x(),H()).nullish(),audience:he(YS).nullish(),lastModified:x().nullish(),priority:Fe().nullish()}),JS=T({_meta:U(x(),H()).nullish(),annotations:zr.nullish(),data:x(),mimeType:x()}),VS=T({_meta:U(x(),H()).nullish(),annotations:zr.nullish(),data:x(),mimeType:x(),uri:x().nullish()}),qS=T({_meta:U(x(),H()).nullish(),annotations:zr.nullish(),description:x().nullish(),mimeType:x().nullish(),name:x(),size:Fe().nullish(),title:x().nullish(),uri:x()}),XS=T({_meta:U(x(),H()).nullish(),optionId:um}),eC=xe([T({outcome:te("cancelled")}),XS.and(T({outcome:te("selected")}))]),tC=T({_meta:U(x(),H()).nullish(),outcome:eC}),nC=T({_meta:U(x(),H()).nullish()}),rC=T({currentValue:lt()}),oC=x(),mm=x(),iC=xe([te("mode"),te("model"),te("thought_level"),x()]),bs=x(),hm=T({_meta:U(x(),H()).nullish(),description:x().nullish(),name:x(),value:bs}),aC=T({_meta:U(x(),H()).nullish(),group:oC,name:x(),options:he(hm)}),sC=xe([he(hm),he(aC)]),lC=T({currentValue:bs,options:sC}),ir=As(xe([lC.and(T({type:te("select")})),rC.and(T({type:te("boolean")}))]),T({_meta:U(x(),H()).nullish(),category:iC.nullish(),description:x().nullish(),id:mm,name:x()})),cC=T({_meta:U(x(),H()).nullish(),configOptions:he(ir)}),dC=T({_meta:U(x(),H()).nullish()}),Pe=x(),pm=T({_meta:U(x(),H()).nullish(),sessionId:Pe}),tP=T({method:x(),params:xe([pm,om]).nullish()}),Am=T({_meta:U(x(),H()).nullish(),sessionId:Pe}),ys=T({_meta:U(x(),H()).nullish(),args:he(x()).optional(),command:x(),cwd:x().nullish(),env:he(nm).optional(),outputByteLimit:Fe().nullish(),sessionId:Pe}),km=T({_meta:U(x(),H()).nullish(),cwd:x(),mcpServers:he(qo).optional(),sessionId:Pe}),ws=T({_meta:U(x(),H()).nullish(),sessionId:Pe,terminalId:x()}),xm=T({_meta:U(x(),H()).nullish(),cwd:x(),mcpServers:he(qo),sessionId:Pe}),Ss=T({_meta:U(x(),H()).nullish(),limit:Fe().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),line:Fe().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),path:x(),sessionId:Pe}),Cs=T({_meta:U(x(),H()).nullish(),sessionId:Pe,terminalId:x()}),bm=T({_meta:U(x(),H()).nullish(),cwd:x(),mcpServers:he(qo).optional(),sessionId:Pe}),uC=T({_meta:U(x(),H()).nullish(),cwd:x(),sessionId:Pe,title:x().nullish(),updatedAt:x().nullish()}),fC=T({_meta:U(x(),H()).nullish(),nextCursor:x().nullish(),sessions:he(uC)}),gC=T({_meta:U(x(),H()).nullish(),title:x().nullish(),updatedAt:x().nullish()}),mC=T({_meta:U(x(),H()).nullish()}),Xo=x(),hC=T({_meta:U(x(),H()).nullish(),currentModeId:Xo}),pC=T({_meta:U(x(),H()).nullish(),description:x().nullish(),id:Xo,name:x()}),ei=T({_meta:U(x(),H()).nullish(),availableModes:he(pC),currentModeId:Xo}),ti=T({_meta:U(x(),H()).nullish(),availableModels:he($S),currentModelId:xs}),AC=T({_meta:U(x(),H()).nullish(),configOptions:he(ir).nullish(),models:ti.nullish(),modes:ei.nullish(),sessionId:Pe}),kC=T({_meta:U(x(),H()).nullish(),configOptions:he(ir).nullish(),models:ti.nullish(),modes:ei.nullish()}),xC=T({_meta:U(x(),H()).nullish(),configOptions:he(ir).nullish(),models:ti.nullish(),modes:ei.nullish(),sessionId:Pe}),bC=T({_meta:U(x(),H()).nullish(),configOptions:he(ir).nullish(),models:ti.nullish(),modes:ei.nullish()}),yC=T({_meta:U(x(),H()).nullish()}),wC=T({_meta:U(x(),H()).nullish(),close:nC.nullish(),fork:dC.nullish(),list:mC.nullish(),resume:yC.nullish()}),SC=T({_meta:U(x(),H()).nullish(),loadSession:lt().optional().default(!1),mcpCapabilities:NS.optional().default({http:!1,sse:!1}),promptCapabilities:ZS.optional().default({audio:!1,embeddedContext:!1,image:!1}),sessionCapabilities:wC.optional().default({})}),CC=T({_meta:U(x(),H()).nullish(),agentCapabilities:SC.optional().default({loadSession:!1,mcpCapabilities:{http:!1,sse:!1},promptCapabilities:{audio:!1,embeddedContext:!1,image:!1},sessionCapabilities:{}}),agentInfo:lm.nullish(),authMethods:he(CS).optional().default([]),protocolVersion:fm}),ym=As(xe([T({type:te("boolean"),value:lt()}),T({value:bs})]),T({_meta:U(x(),H()).nullish(),configId:mm,sessionId:Pe})),vC=T({_meta:U(x(),H()).nullish(),configOptions:he(ir)}),wm=T({_meta:U(x(),H()).nullish(),modeId:Xo,sessionId:Pe}),IC=T({_meta:U(x(),H()).nullish()}),Sm=T({_meta:U(x(),H()).nullish(),modelId:xs,sessionId:Pe}),EC=T({_meta:U(x(),H()).nullish()}),TC=xe([te("end_turn"),te("max_tokens"),te("max_turn_requests"),te("refusal"),te("cancelled")]),BC=T({_meta:U(x(),H()).nullish(),terminalId:x()}),RC=T({_meta:U(x(),H()).nullish(),exitCode:Fe().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),signal:x().nullish()}),vs=T({_meta:U(x(),H()).nullish(),sessionId:Pe,terminalId:x()}),_C=T({_meta:U(x(),H()).nullish(),exitStatus:RC.nullish(),output:x(),truncated:lt()}),PC=T({_meta:U(x(),H()).nullish(),annotations:zr.nullish(),text:x()}),MC=T({_meta:U(x(),H()).nullish(),mimeType:x().nullish(),text:x(),uri:x()}),FC=xe([MC,IS]),NC=T({_meta:U(x(),H()).nullish(),annotations:zr.nullish(),resource:FC}),Is=xe([PC.and(T({type:te("text")})),VS.and(T({type:te("image")})),JS.and(T({type:te("audio")})),qS.and(T({type:te("resource_link")})),NC.and(T({type:te("resource")}))]),DC=T({_meta:U(x(),H()).nullish(),content:Is}),ks=T({_meta:U(x(),H()).nullish(),content:Is,messageId:x().nullish()}),Cm=T({_meta:U(x(),H()).nullish(),messageId:x().nullish(),prompt:he(Is),sessionId:Pe}),nP=T({id:Cn,method:x(),params:xe([gm,tm,dm,xm,cm,km,bm,Am,wm,ym,Cm,Sm,im]).nullish()}),vm=xe([DC.and(T({type:te("content")})),RS.and(T({type:te("diff")})),BC.and(T({type:te("terminal")}))]),Im=x(),Em=T({_meta:U(x(),H()).nullish(),line:Fe().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),path:x()}),Tm=xe([te("pending"),te("in_progress"),te("completed"),te("failed")]),Bm=xe([te("read"),te("edit"),te("delete"),te("move"),te("search"),te("execute"),te("think"),te("fetch"),te("switch_mode"),te("other")]),OC=T({_meta:U(x(),H()).nullish(),content:he(vm).optional(),kind:Bm.optional(),locations:he(Em).optional(),rawInput:H().optional(),rawOutput:H().optional(),status:Tm.optional(),title:x(),toolCallId:Im}),Rm=T({_meta:U(x(),H()).nullish(),content:he(vm).nullish(),kind:Bm.nullish(),locations:he(Em).nullish(),rawInput:H().optional(),rawOutput:H().optional(),status:Tm.nullish(),title:x().nullish(),toolCallId:Im}),Es=T({_meta:U(x(),H()).nullish(),options:he(zS),sessionId:Pe,toolCall:Rm}),LC=T({_meta:U(x(),H()).nullish(),hint:x()}),$C=LC,GC=T({_meta:U(x(),H()).nullish(),description:x(),input:$C.nullish(),name:x()}),zC=T({_meta:U(x(),H()).nullish(),availableCommands:he(GC)}),HC=T({cachedReadTokens:Fe().nullish(),cachedWriteTokens:Fe().nullish(),inputTokens:Fe(),outputTokens:Fe(),thoughtTokens:Fe().nullish(),totalTokens:Fe()}),UC=T({_meta:U(x(),H()).nullish(),stopReason:TC,usage:HC.nullish(),userMessageId:x().nullish()}),rP=xe([T({id:Cn,result:xe([CC,vS,xC,kC,fC,AC,bC,ES,IC,vC,UC,EC,am])}),T({error:rm,id:Cn})]),jC=T({_meta:U(x(),H()).nullish(),cost:TS.nullish(),size:Fe(),used:Fe()}),WC=xe([ks.and(T({sessionUpdate:te("user_message_chunk")})),ks.and(T({sessionUpdate:te("agent_message_chunk")})),ks.and(T({sessionUpdate:te("agent_thought_chunk")})),OC.and(T({sessionUpdate:te("tool_call")})),Rm.and(T({sessionUpdate:te("tool_call_update")})),WS.and(T({sessionUpdate:te("plan")})),zC.and(T({sessionUpdate:te("available_commands_update")})),hC.and(T({sessionUpdate:te("current_mode_update")})),cC.and(T({sessionUpdate:te("config_option_update")})),gC.and(T({sessionUpdate:te("session_info_update")})),jC.and(T({sessionUpdate:te("usage_update")}))]),Ts=T({_meta:U(x(),H()).nullish(),sessionId:Pe,update:WC}),oP=T({method:x(),params:xe([Ts,om]).nullish()}),Bs=T({_meta:U(x(),H()).nullish(),sessionId:Pe,terminalId:x()}),ZC=T({_meta:U(x(),H()).nullish(),exitCode:Fe().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),signal:x().nullish()}),Rs=T({_meta:U(x(),H()).nullish(),content:x(),path:x(),sessionId:Pe}),iP=T({id:Cn,method:x(),params:xe([Rs,Ss,Es,ys,vs,Cs,Bs,ws,im]).nullish()}),KC=T({_meta:U(x(),H()).nullish()}),aP=xe([T({id:Cn,result:xe([KC,KS,tC,BS,_C,QS,ZC,FS,am])}),T({error:rm,id:Cn})]);function _m(e,t){let n=new TextEncoder,r=new TextDecoder,o=new ReadableStream({async start(a){let s="",l=t.getReader();try{while(!0){let{value:u,done:g}=await l.read();if(g)break;if(!u)continue;s+=r.decode(u,{stream:!0});let m=s.split(`
|
|
670
|
+
`);s=m.pop()||"";for(let k of m){let y=k.trim();if(y)try{let R=JSON.parse(y);a.enqueue(R)}catch(R){console.error("Failed to parse JSON message:",y,R)}}}}finally{l.releaseLock(),a.close()}}}),i=new WritableStream({async write(a){let s=JSON.stringify(a)+`
|
|
671
|
+
`,l=e.getWriter();try{await l.write(n.encode(s))}finally{l.releaseLock()}}});return{readable:o,writable:i}}class _s{#e;constructor(e,t){let n=e(this),r=async(i,a)=>{switch(i){case zt.fs_write_text_file:{let s=Rs.parse(a);return n.writeTextFile?.(s)}case zt.fs_read_text_file:{let s=Ss.parse(a);return n.readTextFile?.(s)}case zt.session_request_permission:{let s=Es.parse(a);return n.requestPermission(s)}case zt.terminal_create:{let s=ys.parse(a);return n.createTerminal?.(s)}case zt.terminal_output:{let s=vs.parse(a);return n.terminalOutput?.(s)}case zt.terminal_release:{let s=Cs.parse(a);return await n.releaseTerminal?.(s)??{}}case zt.terminal_wait_for_exit:{let s=Bs.parse(a);return n.waitForTerminalExit?.(s)}case zt.terminal_kill:{let s=ws.parse(a);return await n.killTerminal?.(s)??{}}default:if(n.extMethod)return n.extMethod(i,a);throw Ne.methodNotFound(i)}},o=async(i,a)=>{switch(i){case zt.session_update:{let s=Ts.parse(a);return n.sessionUpdate(s)}default:if(n.extNotification)return n.extNotification(i,a);throw Ne.methodNotFound(i)}};this.#e=new Pm(r,o,t)}async initialize(e){return await this.#e.sendRequest(ft.initialize,e)}async newSession(e){return await this.#e.sendRequest(ft.session_new,e)}async loadSession(e){return await this.#e.sendRequest(ft.session_load,e)??{}}async unstable_forkSession(e){return await this.#e.sendRequest(ft.session_fork,e)}async listSessions(e){return await this.#e.sendRequest(ft.session_list,e)}async unstable_resumeSession(e){return await this.#e.sendRequest(ft.session_resume,e)}async unstable_closeSession(e){return await this.#e.sendRequest(ft.session_close,e)}async setSessionMode(e){return await this.#e.sendRequest(ft.session_set_mode,e)??{}}async unstable_setSessionModel(e){return await this.#e.sendRequest(ft.session_set_model,e)??{}}async setSessionConfigOption(e){return await this.#e.sendRequest(ft.session_set_config_option,e)}async authenticate(e){return await this.#e.sendRequest(ft.authenticate,e)??{}}async prompt(e){return await this.#e.sendRequest(ft.session_prompt,e)}async cancel(e){return await this.#e.sendNotification(ft.session_cancel,e)}async extMethod(e,t){return await this.#e.sendRequest(e,t)}async extNotification(e,t){return await this.#e.sendNotification(e,t)}get signal(){return this.#e.signal}get closed(){return this.#e.closed}}class Pm{#e=new Map;#l=0;#i;#a;#n;#r=Promise.resolve();#o=new AbortController;#s;constructor(e,t,n){this.#i=e,this.#a=t,this.#n=n,this.#s=new Promise((r)=>{this.#o.signal.addEventListener("abort",()=>r())}),this.#c()}get signal(){return this.#o.signal}get closed(){return this.#s}async#c(){let e=this.#n.readable.getReader();try{while(!0){let{value:t,done:n}=await e.read();if(n)break;if(!t)continue;try{this.#d(t)}catch(r){if(console.error("Unexpected error during message processing:",t,r),"id"in t&&t.id!==void 0)this.#t({jsonrpc:"2.0",id:t.id,error:{code:-32700,message:"Parse error"}})}}}finally{e.releaseLock(),this.#o.abort()}}async#d(e){if("method"in e&&"id"in e){let t=await this.#u(e.method,e.params);if("error"in t)console.error("Error handling request",e,t.error);await this.#t({jsonrpc:"2.0",id:e.id,...t})}else if("method"in e){let t=await this.#f(e.method,e.params);if("error"in t)console.error("Error handling notification",e,t.error)}else if("id"in e)this.#g(e);else console.error("Invalid message",{message:e})}async#u(e,t){try{return{result:await this.#i(e,t)??null}}catch(n){if(n instanceof Ne)return n.toResult();if(n instanceof er)return Ne.invalidParams(n.format()).toResult();let r;if(n instanceof Error)r=n.message;else if(typeof n==="object"&&n!=null&&"message"in n&&typeof n.message==="string")r=n.message;try{return Ne.internalError(r?JSON.parse(r):{}).toResult()}catch{return Ne.internalError({details:r}).toResult()}}}async#f(e,t){try{return await this.#a(e,t),{result:null}}catch(n){if(n instanceof Ne)return n.toResult();if(n instanceof er)return Ne.invalidParams(n.format()).toResult();let r;if(n instanceof Error)r=n.message;else if(typeof n==="object"&&n!=null&&"message"in n&&typeof n.message==="string")r=n.message;try{return Ne.internalError(r?JSON.parse(r):{}).toResult()}catch{return Ne.internalError({details:r}).toResult()}}}#g(e){let t=this.#e.get(e.id);if(t){if("result"in e)t.resolve(e.result);else if("error"in e)t.reject(e.error);this.#e.delete(e.id)}else console.error("Got response to unknown request",e.id)}async sendRequest(e,t){let n=this.#l++,r=new Promise((o,i)=>{this.#e.set(n,{resolve:o,reject:i})});return await this.#t({jsonrpc:"2.0",id:n,method:e,params:t}),r}async sendNotification(e,t){await this.#t({jsonrpc:"2.0",method:e,params:t})}async#t(e){return this.#r=this.#r.then(async()=>{let t=this.#n.writable.getWriter();try{await t.write(e)}finally{t.releaseLock()}}).catch((t)=>{console.error("ACP write error:",t)}),this.#r}}class Ne extends Error{code;data;constructor(e,t,n){super(t);this.code=e,this.name="RequestError",this.data=n}static parseError(e,t){return new Ne(-32700,`Parse error${t?`: ${t}`:""}`,e)}static invalidRequest(e,t){return new Ne(-32600,`Invalid request${t?`: ${t}`:""}`,e)}static methodNotFound(e){return new Ne(-32601,`"Method not found": ${e}`,{method:e})}static invalidParams(e,t){return new Ne(-32602,`Invalid params${t?`: ${t}`:""}`,e)}static internalError(e,t){return new Ne(-32603,`Internal error${t?`: ${t}`:""}`,e)}static authRequired(e,t){return new Ne(-32000,`Authentication required${t?`: ${t}`:""}`,e)}static resourceNotFound(e){return new Ne(-32002,`Resource not found${e?`: ${e}`:""}`,e&&{uri:e})}toResult(){return{error:{code:this.code,message:this.message,data:this.data}}}toErrorResponse(){return{code:this.code,message:this.message,data:this.data}}}import{spawn as Jm}from"child_process";import{Readable as Av,Writable as kv}from"stream";import xv from"os";import bv from"path";import yv from"process";import{pathToFileURL as wv}from"url";Ps();var YC=["authentication required","please re-authenticate","token expired","token has expired","invalid token"];function JC(e){if(typeof e==="string")return e;if(e instanceof Error)return e.message??"";if(e&&typeof e==="object"){let t=e.message;if(typeof t==="string")return t}return""}function VC(e){if(!e||typeof e!=="object")return;let t=e;for(let n of["status","statusCode","code"]){let r=t[n];if(typeof r==="number"&&r>=100&&r<600)return r}return}function Ms(e){if(e==null)return!1;if(Fm(e))return!1;if(e instanceof Error&&e.name==="UnauthorizedError")return!0;if(VC(e)===401)return!0;let t=JC(e).toLowerCase();if(!t)return!1;return YC.some((n)=>t.includes(n))}var qC={terminal:{zh:"\u767B\u5F55\u72B6\u6001\u5DF2\u5931\u6548 \u2014\u2014 \u8F93\u5165 /login \u91CD\u65B0\u767B\u5F55\uFF0C\u7136\u540E\u518D\u53D1\u4E00\u6B21\u521A\u624D\u90A3\u6761\u6D88\u606F\u3002",en:"Your session has expired \u2014 run /login to sign in again, then resend that message."},desktop:{zh:"\u767B\u5F55\u72B6\u6001\u5DF2\u5931\u6548 \u2014\u2014 \u70B9\u5DE6\u4E0B\u89D2\u5934\u50CF\u9000\u51FA\u767B\u5F55\uFF0C\u91CD\u65B0\u767B\u5F55\u540E\u518D\u53D1\u4E00\u6B21\u521A\u624D\u90A3\u6761\u6D88\u606F\u3002",en:"Your session has expired \u2014 sign out from the avatar at the bottom left, sign in again, then resend that message."}};function Nm(e,t){if(!Ms(e))return;return qC[t.client][t.locale??"zh"]}import{existsSync as sr}from"fs";import ar from"path";import It from"process";import{spawnSync as ov}from"child_process";function Om(e){let t=e.toLowerCase();return t.includes("zh")||t.includes("chinese")}function XC(e=process.env){try{let t=e.LC_ALL||e.LC_CTYPE||e.LANG||"";return Om(t)?"zh":"en"}catch{return"en"}}var[Lm,ev]=j(XC()),Hr=Lm;async function tv(){if(process.platform!=="win32")return;try{let{exec:e}=await import("child_process"),{promisify:t}=await import("util"),n=t(e),{stdout:r}=await n('powershell -Command "Get-Culture | Select-Object -ExpandProperty Name"',{timeout:5000});return Om(r)?"zh":void 0}catch{return}}var Dm=!1;function nv(e=1000){if(Dm)return;if(Lm()==="zh")return;if(process.platform!=="win32")return;Dm=!0,setTimeout(()=>{tv().then((n)=>{if(n)ev(n)})},e).unref?.()}function Fs(){nv()}var ni={"status.phase.tools":"running tools","status.phase.thinking":"thinking","status.phase.writing":"writing","status.phase.working":"working","status.error":"error","status.exited":"backend exited","status.restoring":"restoring session","status.starting":"starting backend","status.waiting":"waiting for you","status.compacting":"compacting context","status.ready":"ready","mode.ask":"ask","mode.autoEdit":"auto-edit","mode.fullAccess":"Full access","mode.plan":"plan","sidebar.group.sessions":"Sessions","sidebar.group.project":"Project","sidebar.group.mr":"Merge request","sidebar.group.pr":"Pull request","sidebar.group.model":"Model","sidebar.group.tasks":"Tasks","sidebar.group.background":"Background tasks","sidebar.group.credits":"Credits","sidebar.newSession":"+ new session","sidebar.usage.none":"no usage reported yet","sidebar.tokens.none":"no tokens counted yet","sidebar.cache.none":"no cache reported yet","sidebar.quota.left":"{percent} left","sidebar.quota.none":"no ceiling","sidebar.credits.turn":"turn","sidebar.credits.total":"total","sidebar.model.none":"no model yet","sidebar.label.model":"model","sidebar.label.cache":"cache","sidebar.label.daily":"today","sidebar.label.weekly":"week","sidebar.label.weekly.bj":"bj week","sidebar.label.mode":"mode","sidebar.label.branch":"branch","sidebar.label.dir":"dir","sidebar.update.updating":"Updating to {version}\u2026","sidebar.update.alongside":"keep working, this runs alongside","sidebar.update.done":"Updated to {version}","sidebar.update.restart":"Restart to use it","sidebar.update.failed":"Update failed","sidebar.update.available":"Update available \xB7 {version}","sidebar.update.now":"Update now","sidebar.account.center":"Account","sidebar.account.logout":"Sign out","sidebar.account.login":"Sign in","mr.state.open":"open","mr.state.merged":"merged","mr.state.closed":"closed","mr.ci.running":"CI running","mr.ci.success":"CI passed","mr.ci.failed":"CI failed","mr.ci.none":"no CI","mr.unavailable.glab":"needs glab","mr.unavailable.gh":"needs gh","mr.unavailable.error":"status unavailable","mr.openFailed":"Could not open a browser \u2014 the request is at {url}","session.untitled":"New session","home.welcome":"Welcome back!","home.welcomeNamed":"Welcome back, {name}!","key.choose":"choose","key.confirm":"confirm","key.submit":"submit","key.clear":"clear","key.dismiss":"dismiss","key.back":"back","key.move":"move","key.select":"select","key.close":"close","key.pick":"pick","key.toggle":"toggle","key.nextQuestion":"next question","key.start":"start","key.next":"next","key.cancel":"cancel","key.reject":"reject","auth.title":"Sign in","auth.choice.browser":"Sign in with a browser","auth.choice.browser.hint":"opens the login page","auth.choice.apikey":"Paste an API key","auth.choice.apikey.hint":"input is masked","auth.noCredentials":"No credentials found. The CLI and the desktop app share this login.","auth.status.checking":"checking sign-in","auth.status.signedOut":"signed out","auth.status.signedIn":"signed in","auth.error.emptyKey":"API key is empty.","auth.error.unknown":"Unknown error","auth.error.noCredentials":"No valid credentials \u2014 log in first.","picker.empty":"Nothing to choose from yet.","dialog.question.title":"Question","subagent.status.starting":"Starting","subagent.status.running":"Running","subagent.status.completed":"Completed","subagent.status.failed":"Failed","subagent.status.cancelled":"Cancelled","subagent.toolCalls":"Tool calls","tool.status.pending":"Pending","tool.status.running":"Running","tool.status.done":"Done","tool.status.failed":"Failed","tool.verb.read.running":"Reading","tool.verb.read.done":"Read","tool.verb.edit.running":"Editing","tool.verb.edit.done":"Edited","tool.verb.delete.running":"Deleting","tool.verb.delete.done":"Deleted","tool.verb.move.running":"Moving","tool.verb.move.done":"Moved","tool.verb.search.running":"Searching","tool.verb.search.done":"Searched","tool.verb.execute.running":"Running","tool.verb.execute.done":"Ran","tool.verb.think.running":"Thinking","tool.verb.think.done":"Thought","tool.verb.fetch.running":"Fetching","tool.verb.fetch.done":"Fetched","tool.verb.switchMode.running":"Switching mode","tool.verb.switchMode.done":"Switched mode","tool.noMatches":"No matches","tool.call":"Tool call","tool.runInBackground":" ctrl+b to run in background","thought.header":" Model Thinking","prompt.placeholder":"Ask anything, or / for commands \xB7 shift+enter for a new line \xB7 ctrl+v to paste","prompt.editHint":"ctrl+\u2191 to edit","prompt.suggestionHint":" \xB7 tab to accept","prompt.browseCommands":"/ - browse commands","menu.restore":"Restore point","menu.restore.hint":"Also rolls back file changes","menu.copy":"Copy message","menu.confirm.restore":"Yes, restore","menu.confirm.title":"Are you sure?","menu.confirm.subject":"This message","menu.confirm.warning":"This rewrites the conversation and rolls back file changes. It cannot be undone.","notice.copied":"Copied the message","notice.checkpointGone":"That checkpoint is no longer there","notice.restored":"Restored \u2014 the conversation and file changes were rolled back","notice.queueEmpty":"The queue is already empty","notice.background":"Moving to the background\u2026","notice.goalCancelled":"Goal cancelled.","notice.pastingImage":"Pasting image from clipboard\u2026","notice.fullAccessEnabled":" (full access was enabled for it)","notice.unknownError":"unknown error","notice.clipboardUnavailable":"No clipboard mechanism is available on this system.","command.new":"Start a new session","command.login":"Sign in with a browser or an API key","command.logout":"Clear the stored credentials","command.account":"Open your account page in a browser","command.theme":"Switch the color palette","command.clear":"Clear the transcript on screen","command.queue":"Show or clear the queued messages","command.feishu":"Connect this machine to Feishu as a bot","command.feishu.setup":"Set up the Feishu app (QR code or credentials)","command.feishu.start":"Start the gateway","command.feishu.stop":"Stop the gateway","command.feishu.status":"Show gateway status and permissions","command.feishu.restart":"Restart the gateway","command.feishu.logout":"Delete the stored credentials","command.model.description":"Switch the model for this session","command.model.none":"The backend has not reported any models yet.","command.model.credits":"{credits}x credits","model.action.add":"\uFF0B Add a custom model\u2026","model.action.addHint":"Protocol, endpoint, key, model id \u2014 asked one at a time","model.action.manage":"Manage custom models\u2026","model.action.manageHint":"Edit or remove one you added","model.step.provider":"Which protocol does it speak?","model.step.displayName":"A name for this model","model.step.baseUrl":"Base URL (https://\u2026)","model.step.apiKey":"API key","model.step.modelId":"Model id at the provider","model.wizard.hint.type":"Type the value below and press Enter.","model.wizard.step":"Step {step} of {total}","model.wizard.hint.keep":"Type the value and press Enter \u2014 an empty line keeps what is there.","model.wizard.hint.key":"A literal key stays in this terminal scrollback; ${ENV_VAR} is read when it is used.","model.wizard.needValue":"This step needs a value \u2014 press Esc to leave the wizard.","model.wizard.aborted":"Left the custom model wizard.","model.invalid.baseUrl":"The base URL has to start with http:// or https://.","model.invalid.taken":'A model called "{name}" is already configured.',"model.invalid.rejected":"The backend would refuse this model:","model.confirm.title":"Add this model?","model.confirm.save":"Save","model.confirm.cancel":"Cancel","model.saved":'Saved "{name}" \u2014 it is in the model list now.',"model.saveFailed":"Could not save it: {error}","model.deleted":'Deleted "{name}".',"model.notCustom":'"{name}" is not a custom model.',"model.manage.title":"Custom models","model.manage.empty":"No custom models yet \u2014 add one from /model.","model.manage.edit":"Edit","model.manage.delete":"Delete","status.tasksRunning":"{count} running task{plural}","queue.editing":"editing queue #{index}/{total} \xB7 enter save \xB7 esc cancel \xB7 ctrl+\u2191 next","notice.ctrlCAgain":"Press Ctrl+C again to exit","command.plan.already":"Plan mode is already {state}.","command.cli.saveFailed":"Could not save the setting, so the CLI will start again next time: {error}","command.quit.description":"Exit","command.tasks.stopping":"Stopping {label}.","command.tasks.stopFailed":"Could not stop it: {error}","command.tasks.noOutput":"No output available: {error}","command.tasks.output":`Output of {label}:
|
|
672
672
|
{text}`,"command.tasks.emptyOutput":"{label} produced no output.","permission.noOptions":"The backend sent no options \u2014 press esc to reject.","auth.browserFailed":"Could not open a browser ({error}) \u2014 visit the URL above.","tool.exitCode":"Exit code {code}","clipboard.copied":"Copied {count} character{plural} to the clipboard","clipboard.copyFailed":"Copy failed: {error}","command.checkpoint.restored":"Restored checkpoint: kept {kept} message(s), dropped {dropped}.","dialog.question.step":"question {index}/{total} \xB7 {answered} answered","dialog.question.multi":"(select all that apply)","dialog.question.other":"Other \u2014 type your own answer","dialog.question.otherHint":"(type here)","dialog.question.submit":"Submit","dialog.question.previewMore":"\u2026 {count} more lines","key.erase":"erase","skills.command":"Browse and install skills from the store (/skills <keyword> searches)","skills.title":"Skills","skills.store":"Skill store","skills.storeHint":"Browse and install","skills.installed":"Installed","skills.installedHint":"Uninstall, enable or disable","skills.sections":"Sections","skills.all":"All","skills.allHint":"Everything on this page","skills.nextPage":"Next page \u2192","skills.more":"{count} more","skills.noResults":"No skills matched.","skills.install":"Install","skills.reinstall":"Install again","skills.back":"Back","skills.installing":"Installing {name}\u2026","skills.installedOk":"Installed {name}. It is available right away.","skills.installFailed":"Could not install {name}: {error}","skills.noneInstalled":"No skills installed yet.","skills.disabledLabel":"{name} (disabled)","skills.enable":"Enable","skills.disable":"Disable","skills.toggleHint":"Kept on disk either way","skills.enabledOk":"Enabled {name}.","skills.disabledOk":"Disabled {name}.","skills.toggleFailed":"Could not change {name}: {error}","skills.uninstall":"Uninstall","skills.uninstallHint":"Removes it from disk","skills.uninstallConfirm":"Really uninstall {name}?","skills.uninstalledOk":"Uninstalled {name}.","skills.uninstallFailed":"Could not uninstall {name}: {error}","skills.failed":"Skill store failed: {error}","config.status.sandbox.provision.failed":"Failed to enable sandbox: could not set up the sandbox users. Please retry","config.status.sandbox.provision.cancelled":"Failed to enable sandbox: authorization was cancelled (UAC)","config.sandbox.uninstall":"Uninstall sandbox accounts (remove users/group & restore permissions)","config.status.sandbox.uninstall.done":"Sandbox accounts uninstalled; sandbox disabled","config.status.sandbox.uninstall.cancelled":"Uninstall cancelled (UAC)","config.status.sandbox.uninstall.failed":"Sandbox uninstall failed; current sandbox level kept","diff.title":"Code changes","diff.subtitle":"{files} file(s) \xB7 +{added} -{removed}","diff.closeButton":"\u2715 close","diff.filesHeader":"Changed files","diff.patchHeader":"Patch","diff.empty":"No patch to show for this file.","diff.chooseFile":"choose file","diff.scroll":"scroll patch","diff.close":"close","model.provider.easyrouter":"EasyRouter (recommended)","model.provider.easyrouterHint":"One key, then pick from the live model list \u2014 endpoint and protocol are worked out for you. https://ezr.sh/","model.provider.openaiHint":"OpenAI API, Azure, LM Studio, Ollama, Groq, Together\u2026","model.easyrouter.fetching":"Fetching the model list\u2026","model.easyrouter.fetchFailed":"Could not fetch the list: {error}","model.easyrouter.pick":"Pick the models to import \u2014 Enter toggles","model.easyrouter.done":"\u2713 Done ({count} selected)","model.easyrouter.all":"Select all ({count})","model.easyrouter.clear":"Clear the selection","model.easyrouter.none":"Nothing is selected yet.","model.easyrouter.confirm":"This will add {added}, remove {removed}, refresh {updated}.","model.easyrouter.confirmTitle":"Sync these models?","model.easyrouter.saved":"Added {added}, removed {removed}, refreshed {updated}.","command.think.none":"answer without reasoning","command.think.auto":"let the model decide per turn","command.think.brief":"brief reasoning","command.think.thorough":"very thorough","command.think.max":"spend as much as it takes","command.think.description":"How much reasoning the model spends per turn","command.mode.ask":"Confirm before edits and shell commands","command.mode.autoEdit":"Apply file edits silently, still confirm commands","command.mode.fullAccess.label":"full access","command.mode.fullAccess.hint":"Run everything without asking","command.mode.title":"Approval mode","command.mode.description":"How much the agent may do without asking","command.yolo.title":"Full access","command.yolo.description":"Turn full access on or off (alias of /mode)","command.yolo.on":"Full access is on \u2014 nothing will be confirmed.","command.yolo.off":"Back to asking before edits and commands.","command.config.title":"Settings","command.config.description":"Settings the agent reads \u2014 written to the shared config","config.setting.language":"Language preference","config.setting.compression":"Compression model","config.setting.codeExpert":"Code Expert sub-agent","config.setting.verification":"Verification sub-agent","config.setting.imageReader":"Image reader model","config.setting.projectMemory":"Project memory","config.setting.sandbox":"Sandbox","config.value.default":"default","config.value.inherit":"use the core default","config.value.modelDecides":"let the model decide","config.language.manual":"Type it yourself\u2026","config.language.manualHint":"any name \u2014 it is quoted into the prompt as-is","config.memory.all":"DEEPV.md + AGENTS.md (default)","config.memory.deepvOnly":"DEEPV.md only","config.memory.none":"don't load","config.sandbox.off":"off","config.sandbox.workspace":"workspace only, no network","config.sandbox.workspaceNet":"workspace only, with network","config.saved":"{setting} set to {value} \u2014 takes effect in a new session.","command.checkpoint.justNow":"just now","command.checkpoint.title":"Restore checkpoint","command.checkpoint.description":"Roll the session back to a pre-edit snapshot","command.checkpoint.noPrompt":"(no prompt recorded)","command.checkpoint.none":"No checkpoints yet \u2014 one is captured before the first edit of a turn.","command.checkpoint.busy":"A turn is running \u2014 stop it before restoring a checkpoint.","command.plan.title":"Plan mode","command.plan.description":"Discuss before editing \u2014 turn on or off (/plan on|off)","command.plan.usage":"Usage: /plan, /plan on, or /plan off.","command.goal.description":"Start a goal contract (bare /goal opens the form), or /goal clear to end it","command.goal.cleared":"Goal cleared.","command.goal.none":"There is no goal running.","command.btw.title":"Side question","command.btw.description":"Ask something without interrupting the running turn","command.btw.usage":"Usage: /btw <question> \u2014 it is answered alongside the main turn.","command.btw.failed":"The side question did not go through.","btw.asking":"thinking, in a fork of its own\u2026","btw.empty":"It came back empty.","btw.truncated":"\u2026 (the rest is longer than the panel)","btw.hint":"esc to close","command.copy.description":"Copy the last answer to the system clipboard","command.copy.none":"There is no answer to copy yet.","command.cli.title":"Switch to the CLI","command.cli.description":"Leave the TUI \u2014 the next easycode starts the CLI again","command.cli.done":"Switched back to the CLI. Close this window, or press Ctrl+C twice to exit.","command.help.description":"Everything you can type here, and what each one does","command.help.none":"No commands have been advertised yet.","command.tasks.title":"Background tasks","command.tasks.description":"See what is running in the background, stop one, or read its output","command.tasks.none":"No background tasks have run in this session.","command.tasks.cleared":"Cleared the finished background tasks.","goal.dialog.title":"Goal \u2014 {title}","goal.dialog.subtitle":"step {step}/{total} \xB7 {hint}","goal.dialog.fullAccess":"full access is enabled while the goal runs","goal.intensity.steady":"steady \u2014 check in at natural boundaries","goal.intensity.standard":"standard \u2014 keep going, report at the end","goal.intensity.intense":"intense \u2014 do not stop for anything short of a blocker","goal.usage":"Give the goal a task, or run /goal with no arguments.","goal.step.task.title":"What should be achieved?","goal.step.task.hint":"One sentence. This is the contract the agent is held to.","goal.step.forbidden.title":"Anything it must NOT do?","goal.step.forbidden.hint":'Optional \u2014 e.g. "do not touch the schema". Enter to skip.',"goal.step.done.title":"How will you know it is done?","goal.step.done.hint":'Optional \u2014 e.g. "tests green, MR opened". Enter to skip.',"goal.step.hours.title":"How long should it keep going?","goal.step.intensity.title":"How hard should it push?","goal.step.intensity.hint":"\u2191/\u2193 to choose, Enter to accept.","goal.step.confirm.title":"Start this goal?","goal.step.confirm.hint":"Enter to start \xB7 esc to cancel \xB7 \u2190/backspace to go back.","goal.error.needTask":"The task is the one thing a contract cannot do without.","goal.error.badHours":"Give a positive number of hours, or leave it blank.","error.network":"Could not reach the model service. Check your network or proxy, then send again.","error.forbidden":"Access denied (403). The account or key may be suspended, lack permission for this model, or be blocked in this region. Try /auth, or check the account.","error.rateLimited":"Rate limited (429) \u2014 the server is busy. This is temporary, not a spent allowance: send again in a moment.","error.region":'Easy Code is not available from your current region (451). If it worked a moment ago, send "continue" to carry on.',"error.quota":"Not enough credits for this request. Top up in the account centre (/account), or ask your admin for a quota.","backend.notStarted":"Session not started.","backend.notRunning":"Session is not running.","backend.notRunningFork":"Session is not running; resume it before forking.","backend.notRunningGoal":"Session is not running; resume it before starting goal mode.","backend.notConnectedModel":"Cannot set model: the backend session is not connected.","backend.notRunningRestore":"The backend session is not running.","backend.forkNoId":"Backend fork did not return a session id.","backend.goalNoPrompt":"Backend goal/start did not return a prompt.","backend.pipesFailed":"Failed to open stdio pipes for the backend.","backend.authUnavailable":"Auth is unavailable in this build.","backend.notFound":"Could not locate the Easy Code agent backend. Build it with `npm run bundle` at the repo root, or set EASYCODE_BACKEND_JS to the absolute path of easycode.js.","backend.noSystemNode":" (no system node found \u2014 running the bundle under Bun)","update.forced.title":"\uD83D\uDEA8 Forced update required","update.version.line":"Current: {current} \u2192 Latest: {latest}","update.command.line":"\uD83D\uDCCB Command: {command}","update.auto.exec.start":"\uD83D\uDE80 Running automatic update...","update.success.restart":"\uD83C\uDF89 Update complete! Please rerun easycode","update.manual.then.rerun":"\uD83D\uDCA1 Please run the update command manually, then rerun easycode","update.noCommand":"No update command was given.","command.model.title":"Model","command.think.title":"Thinking","command.think.medium":"balanced","command.think.high":"thorough","command.goal.title":"Goal","command.copy.title":"Copy","command.help.title":"Commands","command.plan.on":"on \u2014 the agent will discuss before editing","command.plan.off":"off","command.plan.set":"Plan mode {state}.","command.checkpoint.restoreFailed":"Restore failed: {error}","task.status.running":"running","task.status.done":"done","task.status.failed":"failed","task.status.cancelled":"cancelled","time.minutesAgo":"{count} minute{plural} ago","time.hoursAgo":"{count} hour{plural} ago","time.daysAgo":"{count} day{plural} ago","menu.cancel":"Cancel","notice.attached":"Attached {file}","notice.copyFailed":"Could not copy: {error}","notice.restoreFailed":"Could not restore: {error}","notice.goalStarted":"Goal started{extra}.","notice.goalFailed":"Could not start the goal: {error}","notice.queueUsage":"Usage: /queue clear \u2014 {count} waiting","notice.queueCleared":"Cleared {count} queued {noun}","notice.queueCleared.one":"message","notice.queueCleared.many":"messages","notice.modeFailed":"Could not switch mode: {error}","notice.newSession":"New session \xB7 {id}","notice.backgroundFailed":"Could not move it: {error}","notice.unknown":"unknown","transcript.folded":" \u22EF {count} earlier blocks folded away (only the last {limit} are rendered; the model\u2019s context is untouched)","feishu.running":"\u25CF feishu gateway running","feishu.runningNamed":"\u25CF feishu \xB7 {bot}","backend.restartRequested":"backend requested a restart; bringing it back up","backend.restarted":"backend restarted","cleanup.title":"Large checkpoint history","cleanup.warning":"Checkpoint history is {size}.","cleanup.question":"Clean it up now to free the space?","cleanup.location":"History lives in {path}","cleanup.key.clean":"clean","cleanup.key.skip":"keep","archive.action":"archive","archive.title":"Archive this session","archive.question":"Archive the current session?","archive.effect":"It gets closed and dropped from the list on the left; the screen returns home. The chat history is not deleted.","archive.key.confirm":"archive","archive.key.cancel":"cancel","cleanup.freed":"Cleaned up checkpoint history \xB7 freed {size}","cleanup.failed":"Could not clean it up: {error}"};var Ns={"status.phase.tools":"\u6267\u884C\u5DE5\u5177\u4E2D","status.phase.thinking":"\u601D\u8003\u4E2D","status.phase.writing":"\u751F\u6210\u4E2D","status.phase.working":"\u5904\u7406\u4E2D","status.error":"\u51FA\u9519","status.exited":"\u540E\u7AEF\u5DF2\u9000\u51FA","status.restoring":"\u6B63\u5728\u6062\u590D\u4F1A\u8BDD","status.starting":"\u6B63\u5728\u542F\u52A8\u540E\u7AEF","status.waiting":"\u7B49\u5F85\u4F60\u786E\u8BA4","status.compacting":"\u6B63\u5728\u538B\u7F29\u4E0A\u4E0B\u6587","status.ready":"\u5C31\u7EEA","mode.ask":"\u8BE2\u95EE","mode.autoEdit":"\u81EA\u52A8\u7F16\u8F91","mode.fullAccess":"\u5B8C\u5168\u8BBF\u95EE","mode.plan":"\u8BA1\u5212","sidebar.group.sessions":"\u4F1A\u8BDD","sidebar.group.project":"\u9879\u76EE\u4FE1\u606F","sidebar.group.mr":"\u5408\u5E76\u8BF7\u6C42","sidebar.group.pr":"\u62C9\u53D6\u8BF7\u6C42","sidebar.group.model":"\u6A21\u578B\u4FE1\u606F","sidebar.group.tasks":"\u4EFB\u52A1","sidebar.group.background":"\u540E\u53F0\u4EFB\u52A1","sidebar.group.credits":"\u79EF\u5206","sidebar.newSession":"+ \u65B0\u5EFA\u4F1A\u8BDD","sidebar.usage.none":"\u6682\u65E0\u7528\u91CF\u6570\u636E","sidebar.tokens.none":"\u6682\u672A\u7EDF\u8BA1 token","sidebar.cache.none":"\u6682\u65E0\u7F13\u5B58\u6570\u636E","sidebar.quota.left":"\u5269 {percent}","sidebar.quota.none":"\u65E0\u4E0A\u9650","sidebar.credits.turn":"\u672C\u8F6E","sidebar.credits.total":"\u7D2F\u8BA1","sidebar.model.none":"\u6682\u672A\u9009\u62E9\u6A21\u578B","sidebar.label.model":"\u6A21\u578B","sidebar.label.cache":"\u7F13\u5B58","sidebar.label.daily":"\u4ECA\u65E5","sidebar.label.weekly":"\u672C\u5468","sidebar.label.weekly.bj":"\u5317\u4EAC\u5468","sidebar.label.mode":"\u6A21\u5F0F","sidebar.label.branch":"\u5206\u652F","sidebar.label.dir":"\u76EE\u5F55","sidebar.update.updating":"\u6B63\u5728\u66F4\u65B0\u5230 {version}\u2026","sidebar.update.alongside":"\u66F4\u65B0\u5728\u540E\u53F0\u8FDB\u884C\uFF0C\u4E0D\u5F71\u54CD\u7EE7\u7EED\u4F7F\u7528","sidebar.update.done":"\u5DF2\u66F4\u65B0\u5230 {version}","sidebar.update.restart":"\u91CD\u542F\u540E\u751F\u6548","sidebar.update.failed":"\u66F4\u65B0\u5931\u8D25","sidebar.update.available":"\u6709\u65B0\u7248\u672C \xB7 {version}","sidebar.update.now":"\u7ACB\u5373\u66F4\u65B0","sidebar.account.center":"\u4E2A\u4EBA\u4E2D\u5FC3","sidebar.account.logout":"\u9000\u51FA\u767B\u5F55","sidebar.account.login":"\u767B\u5F55","mr.state.open":"\u5F85\u5408\u5E76","mr.state.merged":"\u5DF2\u5408\u5E76","mr.state.closed":"\u5DF2\u5173\u95ED","mr.ci.running":"\u6D41\u6C34\u7EBF\u8FD0\u884C\u4E2D","mr.ci.success":"\u6D41\u6C34\u7EBF\u901A\u8FC7","mr.ci.failed":"\u6D41\u6C34\u7EBF\u5931\u8D25","mr.ci.none":"\u65E0\u6D41\u6C34\u7EBF","mr.unavailable.glab":"\u9700 glab","mr.unavailable.gh":"\u9700 gh","mr.unavailable.error":"\u72B6\u6001\u53D6\u4E0D\u5230","mr.openFailed":"\u6253\u4E0D\u5F00\u6D4F\u89C8\u5668 \u2014\u2014 \u5730\u5740\u662F {url}","session.untitled":"\u65B0\u4F1A\u8BDD","home.welcome":"\u6B22\u8FCE\u56DE\u6765\uFF01","home.welcomeNamed":"\u6B22\u8FCE\u56DE\u6765\uFF0C{name}\uFF01","key.choose":"\u9009\u62E9","key.confirm":"\u786E\u8BA4","key.submit":"\u63D0\u4EA4","key.clear":"\u6E05\u7A7A","key.dismiss":"\u5173\u95ED","key.back":"\u8FD4\u56DE","key.move":"\u79FB\u52A8","key.select":"\u9009\u4E2D","key.close":"\u5173\u95ED","key.pick":"\u9009\u53D6","key.toggle":"\u5207\u6362","key.nextQuestion":"\u4E0B\u4E00\u9898","key.start":"\u5F00\u59CB","key.next":"\u4E0B\u4E00\u6B65","key.cancel":"\u53D6\u6D88","key.reject":"\u62D2\u7EDD","auth.title":"\u767B\u5F55","auth.choice.browser":"\u7528\u6D4F\u89C8\u5668\u767B\u5F55","auth.choice.browser.hint":"\u4F1A\u6253\u5F00\u767B\u5F55\u9875\u9762","auth.choice.apikey":"\u7C98\u8D34 API Key","auth.choice.apikey.hint":"\u8F93\u5165\u5185\u5BB9\u4F1A\u88AB\u906E\u853D","auth.noCredentials":"\u672A\u627E\u5230\u767B\u5F55\u51ED\u636E\u3002\u547D\u4EE4\u884C\u4E0E\u684C\u9762\u7AEF\u5171\u7528\u540C\u4E00\u4EFD\u767B\u5F55\u4FE1\u606F\u3002","auth.status.checking":"\u6B63\u5728\u68C0\u67E5\u767B\u5F55\u72B6\u6001","auth.status.signedOut":"\u672A\u767B\u5F55","auth.status.signedIn":"\u5DF2\u767B\u5F55","auth.error.emptyKey":"API Key \u4E3A\u7A7A\u3002","auth.error.unknown":"\u672A\u77E5\u9519\u8BEF","auth.error.noCredentials":"\u6CA1\u6709\u53EF\u7528\u7684\u767B\u5F55\u51ED\u636E \u2014\u2014 \u8BF7\u5148\u767B\u5F55\u3002","picker.empty":"\u6682\u65F6\u6CA1\u6709\u53EF\u9009\u9879\u3002","dialog.question.title":"\u63D0\u95EE","subagent.status.starting":"\u542F\u52A8\u4E2D","subagent.status.running":"\u8FD0\u884C\u4E2D","subagent.status.completed":"\u5DF2\u5B8C\u6210","subagent.status.failed":"\u5DF2\u5931\u8D25","subagent.status.cancelled":"\u5DF2\u53D6\u6D88","subagent.toolCalls":"\u5DE5\u5177\u8C03\u7528","tool.status.pending":"\u7B49\u5F85\u4E2D","tool.status.running":"\u8FD0\u884C\u4E2D","tool.status.done":"\u5B8C\u6210","tool.status.failed":"\u5931\u8D25","tool.verb.read.running":"\u6B63\u5728\u8BFB\u53D6","tool.verb.read.done":"\u5DF2\u8BFB\u53D6","tool.verb.edit.running":"\u6B63\u5728\u7F16\u8F91","tool.verb.edit.done":"\u5DF2\u7F16\u8F91","tool.verb.delete.running":"\u6B63\u5728\u5220\u9664","tool.verb.delete.done":"\u5DF2\u5220\u9664","tool.verb.move.running":"\u6B63\u5728\u79FB\u52A8","tool.verb.move.done":"\u5DF2\u79FB\u52A8","tool.verb.search.running":"\u6B63\u5728\u641C\u7D22","tool.verb.search.done":"\u5DF2\u641C\u7D22","tool.verb.execute.running":"\u6B63\u5728\u6267\u884C","tool.verb.execute.done":"\u5DF2\u6267\u884C","tool.verb.think.running":"\u6B63\u5728\u601D\u8003","tool.verb.think.done":"\u5DF2\u601D\u8003","tool.verb.fetch.running":"\u6B63\u5728\u83B7\u53D6","tool.verb.fetch.done":"\u5DF2\u83B7\u53D6","tool.verb.switchMode.running":"\u6B63\u5728\u5207\u6362\u6A21\u5F0F","tool.verb.switchMode.done":"\u5DF2\u5207\u6362\u6A21\u5F0F","tool.noMatches":"\u65E0\u5339\u914D\u7ED3\u679C","tool.call":"\u5DE5\u5177\u8C03\u7528","tool.runInBackground":" ctrl+b \u8F6C\u5165\u540E\u53F0\u8FD0\u884C","thought.header":" \u6A21\u578B\u601D\u8003\u4E2D","prompt.placeholder":"\u968F\u4FBF\u95EE\u70B9\u4EC0\u4E48\uFF0C\u6216\u6309 / \u67E5\u770B\u547D\u4EE4 \xB7 shift+enter \u6362\u884C \xB7 ctrl+v \u7C98\u8D34","prompt.editHint":"ctrl+\u2191 \u7F16\u8F91","prompt.suggestionHint":" \xB7 tab \u91C7\u7528","prompt.browseCommands":"/ - \u6D4F\u89C8\u547D\u4EE4","menu.restore":"\u53EF\u56DE\u6EDA","menu.restore.hint":"\u8FDE\u540C\u6587\u4EF6\u6539\u52A8\u4E00\u8D77\u56DE\u6EDA","menu.copy":"\u590D\u5236\u8FD9\u6761\u6D88\u606F","menu.confirm.restore":"\u786E\u8BA4\u56DE\u6EDA","menu.confirm.title":"\u786E\u5B9A\u5417\uFF1F","menu.confirm.subject":"\u8FD9\u6761\u6D88\u606F","menu.confirm.warning":"\u8FD9\u4F1A\u6539\u5199\u5BF9\u8BDD\u5E76\u56DE\u6EDA\u6587\u4EF6\u6539\u52A8\uFF0C\u4E14\u65E0\u6CD5\u64A4\u9500\u3002","notice.copied":"\u5DF2\u590D\u5236\u8FD9\u6761\u6D88\u606F","notice.checkpointGone":"\u8BE5\u68C0\u67E5\u70B9\u5DF2\u4E0D\u5B58\u5728","notice.restored":"\u5DF2\u56DE\u6EDA\uFF1A\u5BF9\u8BDD\u4E0E\u6587\u4EF6\u6539\u52A8\u5DF2\u64A4\u9500","notice.queueEmpty":"\u961F\u5217\u672C\u6765\u5C31\u662F\u7A7A\u7684","notice.background":"\u8F6C\u5165\u540E\u53F0\u8FD0\u884C\u2026","notice.goalCancelled":"\u5DF2\u53D6\u6D88\u76EE\u6807\u3002","notice.pastingImage":"\u6B63\u5728\u4ECE\u526A\u8D34\u677F\u7C98\u8D34\u56FE\u7247\u2026","notice.fullAccessEnabled":"\uFF08\u5DF2\u4E3A\u5176\u5F00\u542F\u5B8C\u5168\u8BBF\u95EE\uFF09","notice.unknownError":"\u672A\u77E5\u9519\u8BEF","notice.clipboardUnavailable":"\u672C\u673A\u6CA1\u6709\u53EF\u7528\u7684\u526A\u8D34\u677F\u5DE5\u5177\u3002","command.new":"\u5F00\u59CB\u4E00\u4E2A\u65B0\u4F1A\u8BDD","command.login":"\u7528\u6D4F\u89C8\u5668\u6216 API Key \u767B\u5F55","command.logout":"\u6E05\u9664\u5DF2\u4FDD\u5B58\u7684\u767B\u5F55\u51ED\u636E","command.account":"\u5728\u6D4F\u89C8\u5668\u4E2D\u6253\u5F00\u4F60\u7684\u8D26\u53F7\u9875","command.theme":"\u5207\u6362\u914D\u8272","command.clear":"\u6E05\u7A7A\u5C4F\u5E55\u4E0A\u7684\u5BF9\u8BDD","command.queue":"\u67E5\u770B\u6216\u6E05\u7A7A\u6392\u961F\u4E2D\u7684\u6D88\u606F","command.feishu":"\u628A\u8FD9\u53F0\u673A\u5668\u4F5C\u4E3A\u98DE\u4E66\u673A\u5668\u4EBA\u63A5\u8FDB\u6765","command.feishu.setup":"\u914D\u7F6E\u98DE\u4E66\u5E94\u7528\uFF08\u626B\u7801\u6216\u624B\u586B\u51ED\u636E\uFF09","command.feishu.start":"\u542F\u52A8\u7F51\u5173","command.feishu.stop":"\u5173\u95ED\u7F51\u5173","command.feishu.status":"\u67E5\u770B\u7F51\u5173\u72B6\u6001\u4E0E\u6743\u9650","command.feishu.restart":"\u91CD\u542F\u7F51\u5173","command.feishu.logout":"\u6E05\u7406\u5DF2\u5B58\u7684\u51ED\u636E","command.model.description":"\u5207\u6362\u672C\u6B21\u4F1A\u8BDD\u4F7F\u7528\u7684\u6A21\u578B","command.model.none":"\u540E\u7AEF\u8FD8\u6CA1\u6709\u62A5\u544A\u4EFB\u4F55\u53EF\u7528\u6A21\u578B\u3002","command.model.credits":"{credits}x \u79EF\u5206","model.action.add":"\uFF0B \u65B0\u589E\u81EA\u5B9A\u4E49\u6A21\u578B\u2026","model.action.addHint":"\u534F\u8BAE\u3001\u5730\u5740\u3001\u5BC6\u94A5\u3001\u6A21\u578B id\uFF0C\u4E00\u6B65\u4E00\u6B65\u95EE","model.action.manage":"\u7BA1\u7406\u81EA\u5B9A\u4E49\u6A21\u578B\u2026","model.action.manageHint":"\u4FEE\u6539\u6216\u5220\u9664\u81EA\u5DF1\u52A0\u7684\u90A3\u4E9B","model.step.provider":"\u5B83\u7528\u54EA\u79CD\u534F\u8BAE\uFF1F","model.step.displayName":"\u7ED9\u8FD9\u4E2A\u6A21\u578B\u8D77\u4E2A\u540D\u5B57","model.step.baseUrl":"\u63A5\u53E3\u5730\u5740\uFF08https://\u2026\uFF09","model.step.apiKey":"API \u5BC6\u94A5","model.step.modelId":"\u670D\u52A1\u65B9\u7684\u6A21\u578B id","model.wizard.hint.type":"\u5728\u4E0B\u9762\u7684\u8F93\u5165\u6846\u91CC\u8F93\u5165\uFF0C\u7136\u540E\u56DE\u8F66\u3002","model.wizard.step":"\u7B2C {step}/{total} \u6B65","model.wizard.hint.keep":"\u6253\u5B8C\u56DE\u8F66\u5373\u53EF \u2014\u2014 \u76F4\u63A5\u7A7A\u884C\u56DE\u8F66\u5219\u4FDD\u6301\u539F\u503C\u3002","model.wizard.hint.key":"\u76F4\u63A5\u7C98\u8D34\u660E\u6587\u5BC6\u94A5\u4F1A\u7559\u5728\u7EC8\u7AEF\u56DE\u6EDA\u7F13\u51B2\u91CC\uFF1B\u5199 ${ENV_VAR} \u5219\u5728\u7528\u5230\u65F6\u624D\u8BFB\u73AF\u5883\u53D8\u91CF\u3002","model.wizard.needValue":"\u8FD9\u4E00\u6B65\u8981\u586B\u4E00\u4E2A\u503C \u2014\u2014 \u60F3\u653E\u5F03\u6574\u4E2A\u5411\u5BFC\u8BF7\u6309 Esc\u3002","model.wizard.aborted":"\u5DF2\u9000\u51FA\u81EA\u5B9A\u4E49\u6A21\u578B\u5411\u5BFC\u3002","model.invalid.baseUrl":"\u63A5\u53E3\u5730\u5740\u8981\u4EE5 http:// \u6216 https:// \u5F00\u5934\u3002","model.invalid.taken":"\u5DF2\u7ECF\u6709\u4E00\u4E2A\u53EB\u300C{name}\u300D\u7684\u6A21\u578B\u4E86\u3002","model.invalid.rejected":"\u540E\u7AEF\u4E0D\u63A5\u53D7\u8FD9\u4E2A\u6A21\u578B\u914D\u7F6E\uFF1A","model.confirm.title":"\u4FDD\u5B58\u8FD9\u4E2A\u6A21\u578B\uFF1F","model.confirm.save":"\u4FDD\u5B58","model.confirm.cancel":"\u53D6\u6D88","model.saved":"\u5DF2\u4FDD\u5B58\u300C{name}\u300D\uFF0C\u5B83\u73B0\u5728\u5C31\u5728\u6A21\u578B\u5217\u8868\u91CC\u3002","model.saveFailed":"\u4FDD\u5B58\u5931\u8D25\uFF1A{error}","model.deleted":"\u5DF2\u5220\u9664\u300C{name}\u300D\u3002","model.notCustom":"\u300C{name}\u300D\u4E0D\u662F\u81EA\u5B9A\u4E49\u6A21\u578B\u3002","model.manage.title":"\u81EA\u5B9A\u4E49\u6A21\u578B","model.manage.empty":"\u8FD8\u6CA1\u6709\u81EA\u5B9A\u4E49\u6A21\u578B \u2014\u2014 \u5728 /model \u91CC\u65B0\u589E\u4E00\u4E2A\u3002","model.manage.edit":"\u4FEE\u6539","model.manage.delete":"\u5220\u9664","status.tasksRunning":"{count} \u4E2A\u4EFB\u52A1\u5728\u8DD1","queue.editing":"\u7F16\u8F91\u961F\u5217 #{index}/{total} \xB7 \u56DE\u8F66\u4FDD\u5B58 \xB7 esc \u53D6\u6D88 \xB7 ctrl+\u2191 \u4E0B\u4E00\u6761","notice.ctrlCAgain":"\u518D\u6309\u4E00\u6B21 Ctrl+C \u9000\u51FA","command.plan.already":"\u8BA1\u5212\u6A21\u5F0F\u5DF2\u7ECF\u662F{state}\u4E86\u3002","command.cli.saveFailed":"\u8BBE\u7F6E\u6CA1\u4FDD\u5B58\u6210\u529F\uFF0C\u4E0B\u6B21\u542F\u52A8\u4ECD\u4F1A\u8FDB\u5165\u65B0\u7EC8\u7AEF\u754C\u9762\uFF1A{error}","command.quit.description":"\u9000\u51FA","command.tasks.stopping":"\u6B63\u5728\u505C\u6389 {label}\u3002","command.tasks.stopFailed":"\u505C\u4E0D\u6389\uFF1A{error}","command.tasks.noOutput":"\u53D6\u4E0D\u5230\u8F93\u51FA\uFF1A{error}","command.tasks.output":`{label} \u7684\u8F93\u51FA\uFF1A
|
|
673
|
-
{text}`,"command.tasks.emptyOutput":"{label} \u6CA1\u6709\u4EA7\u751F\u8F93\u51FA\u3002","permission.noOptions":"\u540E\u7AEF\u6CA1\u6709\u7ED9\u51FA\u53EF\u9009\u9879 \u2014\u2014 \u6309 esc \u8868\u793A\u62D2\u7EDD\u3002","auth.browserFailed":"\u6253\u4E0D\u5F00\u6D4F\u89C8\u5668\uFF08{error}\uFF09\u2014\u2014 \u8BF7\u624B\u52A8\u6253\u5F00\u4E0A\u9762\u90A3\u4E2A\u5730\u5740\u3002","tool.exitCode":"\u9000\u51FA\u7801 {code}","clipboard.copied":"\u5DF2\u590D\u5236 {count} \u4E2A\u5B57\u7B26\u5230\u526A\u8D34\u677F","clipboard.copyFailed":"\u590D\u5236\u5931\u8D25\uFF1A{error}","command.checkpoint.restored":"\u5DF2\u6062\u590D\u68C0\u67E5\u70B9\uFF1A\u4FDD\u7559 {kept} \u6761\u6D88\u606F\uFF0C\u4E22\u5F03 {dropped} \u6761\u3002","dialog.question.step":"\u7B2C {index}/{total} \u9898 \xB7 \u5DF2\u7B54 {answered} \u9898","dialog.question.multi":"\uFF08\u53EF\u591A\u9009\uFF09","dialog.question.other":"\u81EA\u5DF1\u5199\u4E00\u4E2A\u7B54\u6848\u2026","dialog.question.otherHint":"\uFF08\u5728\u8FD9\u91CC\u6253\u5B57\uFF09","dialog.question.submit":"\u63D0\u4EA4","dialog.question.previewMore":"\u2026 \u8FD8\u6709 {count} \u884C","key.erase":"\u5220\u9664","skills.command":"\u6D4F\u89C8\u5E76\u5B89\u88C5\u6280\u80FD\u5546\u5E97\u91CC\u7684\u6280\u80FD\uFF08/skills <\u5173\u952E\u8BCD> \u53EF\u76F4\u63A5\u641C\uFF09","skills.title":"\u6280\u80FD","skills.store":"\u6280\u80FD\u5546\u5E97","skills.storeHint":"\u6D4F\u89C8\u5E76\u5B89\u88C5","skills.installed":"\u5DF2\u5B89\u88C5","skills.installedHint":"\u5378\u8F7D\u3001\u542F\u7528\u6216\u505C\u7528","skills.sections":"\u5206\u533A","skills.all":"\u5168\u90E8","skills.allHint":"\u8FD9\u4E00\u9875\u91CC\u7684\u5168\u90E8\u6280\u80FD","skills.nextPage":"\u4E0B\u4E00\u9875 \u2192","skills.more":"\u8FD8\u6709 {count} \u4E2A","skills.noResults":"\u6CA1\u6709\u5339\u914D\u7684\u6280\u80FD\u3002","skills.install":"\u5B89\u88C5","skills.reinstall":"\u91CD\u65B0\u5B89\u88C5","skills.back":"\u8FD4\u56DE","skills.installing":"\u6B63\u5728\u5B89\u88C5 {name}\u2026","skills.installedOk":"{name} \u5DF2\u5B89\u88C5\uFF0C\u9A6C\u4E0A\u5C31\u80FD\u7528\u3002","skills.installFailed":"{name} \u88C5\u4E0D\u4E0A\uFF1A{error}","skills.noneInstalled":"\u8FD8\u6CA1\u6709\u5B89\u88C5\u4EFB\u4F55\u6280\u80FD\u3002","skills.disabledLabel":"{name}\uFF08\u5DF2\u505C\u7528\uFF09","skills.enable":"\u542F\u7528","skills.disable":"\u505C\u7528","skills.toggleHint":"\u6587\u4EF6\u90FD\u7559\u5728\u78C1\u76D8\u4E0A","skills.enabledOk":"{name} \u5DF2\u542F\u7528\u3002","skills.disabledOk":"{name} \u5DF2\u505C\u7528\u3002","skills.toggleFailed":"{name} \u6539\u4E0D\u52A8\uFF1A{error}","skills.uninstall":"\u5378\u8F7D","skills.uninstallHint":"\u4F1A\u4ECE\u78C1\u76D8\u4E0A\u5220\u6389","skills.uninstallConfirm":"\u786E\u5B9E\u8981\u5378\u8F7D {name} \u5417\uFF1F","skills.uninstalledOk":"{name} \u5DF2\u5378\u8F7D\u3002","skills.uninstallFailed":"{name} \u5378\u4E0D\u6389\uFF1A{error}","skills.failed":"\u6280\u80FD\u5546\u5E97\u51FA\u9519\uFF1A{error}","config.status.sandbox.provision.failed":"\u6C99\u7BB1\u5F00\u542F\u5931\u8D25\uFF1A\u65E0\u6CD5\u521B\u5EFA\u6C99\u7BB1\u4E13\u7528\u7528\u6237\uFF0C\u8BF7\u91CD\u8BD5","config.status.sandbox.provision.cancelled":"\u6C99\u7BB1\u5F00\u542F\u5931\u8D25\uFF1A\u4F60\u53D6\u6D88\u4E86\u6388\u6743\uFF08UAC\uFF09\uFF0C\u672A\u521B\u5EFA\u6C99\u7BB1\u4E13\u7528\u7528\u6237","config.sandbox.uninstall":"\u5378\u8F7D\u6C99\u7BB1\u8D26\u6237\uFF08\u5220\u9664\u7528\u6237/\u7EC4\u5E76\u8FD8\u539F\u6388\u6743\uFF09","config.status.sandbox.uninstall.done":"\u6C99\u7BB1\u8D26\u6237\u5DF2\u5378\u8F7D\uFF0C\u6C99\u7BB1\u5DF2\u7981\u7528","config.status.sandbox.uninstall.cancelled":"\u5378\u8F7D\u5DF2\u53D6\u6D88\uFF08UAC\uFF09","config.status.sandbox.uninstall.failed":"\u6C99\u7BB1\u5378\u8F7D\u5931\u8D25\uFF0C\u5F53\u524D\u6863\u4F4D\u4FDD\u6301\u4E0D\u53D8","diff.title":"\u4EE3\u7801\u53D8\u66F4","diff.subtitle":"{files} \u4E2A\u6587\u4EF6 \xB7 +{added} -{removed}","diff.closeButton":"\u2715 \u5173\u95ED","diff.filesHeader":"\u53D8\u66F4\u6587\u4EF6","diff.patchHeader":"\u8865\u4E01\u6B63\u6587","diff.empty":"\u8FD9\u4E2A\u6587\u4EF6\u6CA1\u6709\u53EF\u663E\u793A\u7684\u8865\u4E01\u3002","diff.chooseFile":"\u9009\u6587\u4EF6","diff.scroll":"\u6EDA\u8865\u4E01","diff.close":"\u5173\u95ED","model.provider.easyrouter":"EasyRouter\uFF08\u63A8\u8350\uFF09","model.provider.easyrouterHint":"\u53EA\u586B\u4E00\u4E2A\u5BC6\u94A5\uFF0C\u518D\u4ECE\u5B9E\u65F6\u6A21\u578B\u8868\u91CC\u52FE\u9009 \u2014\u2014 \u5730\u5740\u4E0E\u534F\u8BAE\u81EA\u52A8\u8BC6\u522B\u3002https://ezr.sh/","model.provider.openaiHint":"OpenAI API\u3001Azure\u3001LM Studio\u3001Ollama\u3001Groq \u7B49\u517C\u5BB9\u63A5\u53E3","model.easyrouter.fetching":"\u6B63\u5728\u62C9\u53D6\u6A21\u578B\u5217\u8868\u2026","model.easyrouter.fetchFailed":"\u62C9\u53D6\u5217\u8868\u5931\u8D25\uFF1A{error}","model.easyrouter.pick":"\u52FE\u9009\u8981\u5BFC\u5165\u7684\u6A21\u578B \u2014\u2014 \u56DE\u8F66\u5373\u5207\u6362","model.easyrouter.done":"\u2713 \u5B8C\u6210\uFF08\u5DF2\u9009 {count} \u4E2A\uFF09","model.easyrouter.all":"\u5168\u9009\uFF08{count} \u4E2A\uFF09","model.easyrouter.clear":"\u6E05\u7A7A\u52FE\u9009","model.easyrouter.none":"\u8FD8\u4E00\u4E2A\u90FD\u6CA1\u52FE\u3002","model.easyrouter.confirm":"\u8FD9\u6B21\u4F1A\u65B0\u589E {added} \u4E2A\u3001\u79FB\u9664 {removed} \u4E2A\u3001\u5237\u65B0 {updated} \u4E2A\u3002","model.easyrouter.confirmTitle":"\u540C\u6B65\u8FD9\u4E9B\u6A21\u578B\uFF1F","model.easyrouter.saved":"\u65B0\u589E {added} \u4E2A\u3001\u79FB\u9664 {removed} \u4E2A\u3001\u5237\u65B0 {updated} \u4E2A\u3002","command.think.none":"\u4E0D\u505A\u63A8\u7406\uFF0C\u76F4\u63A5\u56DE\u7B54","command.think.auto":"\u7531\u6A21\u578B\u6BCF\u8F6E\u81EA\u884C\u51B3\u5B9A","command.think.brief":"\u7B80\u77ED\u63A8\u7406","command.think.thorough":"\u975E\u5E38\u5145\u5206","command.think.max":"\u4E0D\u8BA1\u4EE3\u4EF7\u5730\u60F3","command.think.description":"\u6A21\u578B\u6BCF\u8F6E\u82B1\u591A\u5C11\u5FC3\u601D\u63A8\u7406","command.mode.ask":"\u7F16\u8F91\u6587\u4EF6\u548C\u6267\u884C\u547D\u4EE4\u524D\u90FD\u5148\u786E\u8BA4","command.mode.autoEdit":"\u76F4\u63A5\u6539\u6587\u4EF6\uFF0C\u6267\u884C\u547D\u4EE4\u4ECD\u9700\u786E\u8BA4","command.mode.fullAccess.label":"\u5B8C\u5168\u8BBF\u95EE","command.mode.fullAccess.hint":"\u5168\u90E8\u76F4\u63A5\u6267\u884C\uFF0C\u4E0D\u518D\u8BE2\u95EE","command.mode.title":"\u5BA1\u6279\u6A21\u5F0F","command.mode.description":"\u54EA\u4E9B\u4E8B\u60C5\u53EF\u4EE5\u4E0D\u95EE\u4F60\u5C31\u505A","command.yolo.title":"\u5B8C\u5168\u8BBF\u95EE","command.yolo.description":"\u5F00\u5173\u5B8C\u5168\u8BBF\u95EE\uFF08\u7B49\u540C\u4E8E /mode\uFF09","command.yolo.on":"\u5B8C\u5168\u8BBF\u95EE\u5DF2\u5F00\u542F \u2014\u2014 \u4EFB\u4F55\u64CD\u4F5C\u90FD\u4E0D\u518D\u786E\u8BA4\u3002","command.yolo.off":"\u5DF2\u6062\u590D\u4E3A\u7F16\u8F91\u548C\u6267\u884C\u524D\u5148\u8BE2\u95EE\u3002","command.config.title":"\u8BBE\u7F6E","command.config.description":"\u5F71\u54CD agent \u884C\u4E3A\u7684\u8BBE\u7F6E\u2014\u2014\u5199\u5165\u5171\u4EAB\u914D\u7F6E\u6587\u4EF6","config.setting.language":"\u8BED\u8A00\u504F\u597D","config.setting.compression":"\u538B\u7F29\u6A21\u578B","config.setting.codeExpert":"Code Expert \u5B50\u4EE3\u7406","config.setting.verification":"Verification \u5B50\u4EE3\u7406","config.setting.imageReader":"\u56FE\u7247\u8BFB\u53D6\u6A21\u578B","config.setting.projectMemory":"\u9879\u76EE\u8BB0\u5FC6","config.setting.sandbox":"\u6C99\u7BB1","config.value.default":"\u9ED8\u8BA4","config.value.inherit":"\u8DDF\u968F\u6838\u5FC3\u9ED8\u8BA4","config.value.modelDecides":"\u7531\u6A21\u578B\u81EA\u884C\u51B3\u5B9A","config.language.manual":"\u624B\u52A8\u8F93\u5165\u2026","config.language.manualHint":"\u5199\u4EC0\u4E48\u90FD\u884C\uFF0C\u5B83\u4F1A\u88AB\u539F\u6837\u5199\u8FDB\u63D0\u793A\u8BCD","config.memory.all":"DEEPV.md + AGENTS.md\uFF08\u9ED8\u8BA4\uFF09","config.memory.deepvOnly":"\u4EC5 DEEPV.md","config.memory.none":"\u4E0D\u52A0\u8F7D","config.sandbox.off":"\u7981\u7528","config.sandbox.workspace":"\u4EC5\u5DE5\u4F5C\u533A\uFF0C\u65E0\u7F51\u7EDC","config.sandbox.workspaceNet":"\u4EC5\u5DE5\u4F5C\u533A\uFF0C\u5E26\u7F51\u7EDC","config.saved":"{setting} \u5DF2\u8BBE\u4E3A {value}\uFF0C\u65B0\u5F00\u7684\u4F1A\u8BDD\u751F\u6548\u3002","command.checkpoint.justNow":"\u521A\u521A","command.checkpoint.title":"\u6062\u590D\u68C0\u67E5\u70B9","command.checkpoint.description":"\u628A\u4F1A\u8BDD\u56DE\u6EDA\u5230\u67D0\u6B21\u7F16\u8F91\u524D\u7684\u5FEB\u7167","command.checkpoint.noPrompt":"\uFF08\u6CA1\u6709\u8BB0\u5F55\u63D0\u95EE\u5185\u5BB9\uFF09","command.checkpoint.none":"\u8FD8\u6CA1\u6709\u68C0\u67E5\u70B9 \u2014\u2014 \u6BCF\u8F6E\u9996\u6B21\u7F16\u8F91\u524D\u4F1A\u81EA\u52A8\u8BB0\u4E00\u4E2A\u3002","command.checkpoint.busy":"\u5F53\u524D\u6709\u56DE\u5408\u5728\u8FD0\u884C \u2014\u2014 \u5148\u505C\u4E0B\u5B83\u518D\u6062\u590D\u68C0\u67E5\u70B9\u3002","command.plan.title":"\u8BA1\u5212\u6A21\u5F0F","command.plan.description":"\u5148\u8BA8\u8BBA\u518D\u52A8\u624B \u2014\u2014 \u5F00\u542F\u6216\u5173\u95ED\uFF08/plan on|off\uFF09","command.plan.usage":"\u7528\u6CD5\uFF1A/plan\u3001/plan on \u6216 /plan off\u3002","command.goal.description":"\u542F\u52A8\u4E00\u4E2A\u76EE\u6807\u5951\u7EA6\uFF08\u76F4\u63A5 /goal \u6253\u5F00\u8868\u5355\uFF09\uFF0C\u6216 /goal clear \u7ED3\u675F\u5B83","command.goal.cleared":"\u5DF2\u6E05\u9664\u76EE\u6807\u3002","command.goal.none":"\u5F53\u524D\u6CA1\u6709\u6B63\u5728\u8FDB\u884C\u7684\u76EE\u6807\u3002","command.btw.title":"\u63D2\u95EE","command.btw.description":"\u4E0D\u6253\u65AD\u5F53\u524D\u56DE\u5408\uFF0C\u987A\u5E26\u95EE\u4E00\u53E5","command.btw.usage":"\u7528\u6CD5\uFF1A/btw <\u95EE\u9898> \u2014\u2014 \u5B83\u4F1A\u4E0E\u4E3B\u56DE\u5408\u5E76\u884C\u56DE\u7B54\u3002","command.btw.failed":"\u63D2\u95EE\u6CA1\u6709\u9001\u8FBE\u3002","btw.asking":"\u6B63\u5728\u5B83\u81EA\u5DF1\u7684\u5206\u53C9\u91CC\u601D\u8003\u2026","btw.empty":"\u56DE\u7B54\u662F\u7A7A\u7684\u3002","btw.truncated":"\u2026\uFF08\u5269\u4E0B\u7684\u6BD4\u9762\u677F\u957F\uFF09","btw.hint":"esc \u5173\u95ED","command.copy.description":"\u628A\u4E0A\u4E00\u6761\u56DE\u7B54\u590D\u5236\u5230\u7CFB\u7EDF\u526A\u8D34\u677F","command.copy.none":"\u8FD8\u6CA1\u6709\u53EF\u590D\u5236\u7684\u56DE\u7B54\u3002","command.cli.title":"\u5207\u56DE\u547D\u4EE4\u884C\u754C\u9762","command.cli.description":"\u79BB\u5F00 TUI \u2014\u2014 \u4E0B\u6B21\u8FD0\u884C easycode \u4F1A\u56DE\u5230\u547D\u4EE4\u884C","command.cli.done":"\u5DF2\u5207\u56DE\u547D\u4EE4\u884C\u754C\u9762\u3002\u5173\u6389\u8FD9\u4E2A\u7A97\u53E3\uFF0C\u6216\u8FDE\u6309\u4E24\u6B21 Ctrl+C \u9000\u51FA\u3002","command.help.description":"\u8FD9\u91CC\u80FD\u6572\u7684\u6240\u6709\u547D\u4EE4\uFF0C\u4EE5\u53CA\u5B83\u4EEC\u5404\u81EA\u505A\u4EC0\u4E48","command.help.none":"\u540E\u7AEF\u8FD8\u6CA1\u6709\u516C\u5E03\u4EFB\u4F55\u547D\u4EE4\u3002","command.tasks.title":"\u540E\u53F0\u4EFB\u52A1","command.tasks.description":"\u67E5\u770B\u540E\u53F0\u5728\u8DD1\u4EC0\u4E48\u3001\u505C\u6389\u67D0\u4E2A\uFF0C\u6216\u8BFB\u5B83\u7684\u8F93\u51FA","command.tasks.none":"\u672C\u6B21\u4F1A\u8BDD\u8FD8\u6CA1\u6709\u8DD1\u8FC7\u540E\u53F0\u4EFB\u52A1\u3002","command.tasks.cleared":"\u5DF2\u6E05\u7406\u7ED3\u675F\u7684\u540E\u53F0\u4EFB\u52A1\u3002","goal.dialog.title":"\u76EE\u6807 \u2014\u2014 {title}","goal.dialog.subtitle":"\u7B2C {step}/{total} \u6B65 \xB7 {hint}","goal.dialog.fullAccess":"\u76EE\u6807\u8FD0\u884C\u671F\u95F4\u4F1A\u5F00\u542F\u5B8C\u5168\u8BBF\u95EE","goal.intensity.steady":"\u7A33\u5065 \u2014\u2014 \u5728\u81EA\u7136\u7684\u8282\u70B9\u505C\u4E0B\u6765\u6C47\u62A5","goal.intensity.standard":"\u6807\u51C6 \u2014\u2014 \u4E00\u76F4\u505A\u4E0B\u53BB\uFF0C\u6700\u540E\u6C47\u62A5","goal.intensity.intense":"\u6FC0\u8FDB \u2014\u2014 \u9664\u975E\u5361\u6B7B\uFF0C\u5426\u5219\u4E0D\u505C","goal.usage":"\u7ED9\u76EE\u6807\u4E00\u4E2A\u4EFB\u52A1\uFF0C\u6216\u76F4\u63A5\u8FD0\u884C /goal \u4E0D\u5E26\u53C2\u6570\u3002","goal.step.task.title":"\u8981\u8FBE\u6210\u4EC0\u4E48\uFF1F","goal.step.task.hint":"\u4E00\u53E5\u8BDD\u3002\u8FD9\u662F\u5BF9 agent \u7684\u5951\u7EA6\u3002","goal.step.forbidden.title":"\u6709\u4EC0\u4E48\u662F\u7EDD\u5BF9\u4E0D\u80FD\u505A\u7684\uFF1F","goal.step.forbidden.hint":"\u53EF\u9009 \u2014\u2014 \u4F8B\u5982\u300C\u4E0D\u8981\u52A8\u6570\u636E\u5E93\u7ED3\u6784\u300D\u3002\u56DE\u8F66\u8DF3\u8FC7\u3002","goal.step.done.title":"\u600E\u6837\u7B97\u505A\u5B8C\u4E86\uFF1F","goal.step.done.hint":"\u53EF\u9009 \u2014\u2014 \u4F8B\u5982\u300C\u6D4B\u8BD5\u5168\u7EFF\u3001MR \u5DF2\u5F00\u300D\u3002\u56DE\u8F66\u8DF3\u8FC7\u3002","goal.step.hours.title":"\u8981\u6301\u7EED\u591A\u4E45\uFF1F","goal.step.intensity.title":"\u8981\u63A8\u8FDB\u5230\u591A\u731B\uFF1F","goal.step.intensity.hint":"\u2191/\u2193 \u9009\u62E9\uFF0C\u56DE\u8F66\u786E\u8BA4\u3002","goal.step.confirm.title":"\u5F00\u59CB\u8FD9\u4E2A\u76EE\u6807\uFF1F","goal.step.confirm.hint":"\u56DE\u8F66\u5F00\u59CB \xB7 esc \u53D6\u6D88 \xB7 \u2190/\u9000\u683C \u8FD4\u56DE\u4E0A\u4E00\u6B65\u3002","goal.error.needTask":"\u4EFB\u52A1\u662F\u5951\u7EA6\u91CC\u552F\u4E00\u4E0D\u80FD\u7F3A\u7684\u4E1C\u897F\u3002","goal.error.badHours":"\u8BF7\u7ED9\u4E00\u4E2A\u6B63\u6570\u5C0F\u65F6\uFF0C\u6216\u8005\u7559\u7A7A\u3002","error.network":"\u8FDE\u4E0D\u4E0A\u6A21\u578B\u670D\u52A1\u3002\u68C0\u67E5\u7F51\u7EDC\u6216\u4EE3\u7406\u540E\u91CD\u65B0\u53D1\u9001\u3002","error.forbidden":"\u8BBF\u95EE\u88AB\u62D2\u7EDD\uFF08403\uFF09\u3002\u8D26\u53F7\u6216\u5BC6\u94A5\u53EF\u80FD\u5DF2\u505C\u7528\u3001\u6CA1\u6709\u8FD9\u4E2A\u6A21\u578B\u7684\u6743\u9650\uFF0C\u6216\u6240\u5728\u5730\u533A\u4E0D\u652F\u6301\u3002\u53EF\u8BD5 /auth\uFF0C\u6216\u68C0\u67E5\u8D26\u53F7\u72B6\u6001\u3002","error.rateLimited":"\u88AB\u9650\u6D41\u4E86\uFF08429\uFF09\u2014\u2014 \u670D\u52A1\u7AEF\u7E41\u5FD9\u3002\u8FD9\u662F\u4E34\u65F6\u9650\u6D41\uFF0C\u4E0D\u662F\u989D\u5EA6\u7528\u5C3D\uFF0C\u7A0D\u540E\u91CD\u65B0\u53D1\u9001\u5373\u53EF\u3002","error.region":"\u5F53\u524D\u5730\u533A\u6682\u4E0D\u652F\u6301 Easy Code\uFF08451\uFF09\u3002\u82E5\u521A\u624D\u8FD8\u6B63\u5E38\uFF0C\u8F93\u5165\u300C\u7EE7\u7EED\u300D\u5373\u53EF\u3002","error.quota":"\u79EF\u5206\u4F59\u989D\u4E0D\u8DB3\uFF0C\u8FD9\u6B21\u8BF7\u6C42\u65E0\u6CD5\u5B8C\u6210\u3002\u53EF\u5728\u4E2A\u4EBA\u4E2D\u5FC3\uFF08/account\uFF09\u5145\u503C\uFF0C\u6216\u627E\u7BA1\u7406\u5458\u7533\u8BF7\u914D\u989D\u3002","backend.notStarted":"\u4F1A\u8BDD\u5C1A\u672A\u542F\u52A8\u3002","backend.notRunning":"\u4F1A\u8BDD\u672A\u5728\u8FD0\u884C\u3002","backend.notRunningFork":"\u4F1A\u8BDD\u672A\u5728\u8FD0\u884C\uFF1B\u8BF7\u5148\u6062\u590D\u5B83\u518D\u5206\u53C9\u3002","backend.notRunningGoal":"\u4F1A\u8BDD\u672A\u5728\u8FD0\u884C\uFF1B\u8BF7\u5148\u6062\u590D\u5B83\u518D\u542F\u52A8\u76EE\u6807\u6A21\u5F0F\u3002","backend.notConnectedModel":"\u65E0\u6CD5\u5207\u6362\u6A21\u578B\uFF1A\u540E\u7AEF\u4F1A\u8BDD\u672A\u8FDE\u63A5\u3002","backend.notRunningRestore":"\u540E\u7AEF\u4F1A\u8BDD\u672A\u5728\u8FD0\u884C\u3002","backend.forkNoId":"\u540E\u7AEF\u5206\u53C9\u6CA1\u6709\u8FD4\u56DE\u4F1A\u8BDD id\u3002","backend.goalNoPrompt":"\u540E\u7AEF goal/start \u6CA1\u6709\u8FD4\u56DE\u63D0\u793A\u8BCD\u3002","backend.pipesFailed":"\u65E0\u6CD5\u4E3A\u540E\u7AEF\u6253\u5F00 stdio \u7BA1\u9053\u3002","backend.authUnavailable":"\u5F53\u524D\u6784\u5EFA\u4E0D\u652F\u6301\u767B\u5F55\u529F\u80FD\u3002","backend.notFound":"\u627E\u4E0D\u5230 Easy Code \u7684 agent \u540E\u7AEF\u3002\u8BF7\u5728\u4ED3\u5E93\u6839\u76EE\u5F55\u6267\u884C `npm run bundle` \u6784\u5EFA\u5B83\uFF0C\u6216\u628A EASYCODE_BACKEND_JS \u8BBE\u4E3A easycode.js \u7684\u7EDD\u5BF9\u8DEF\u5F84\u3002","backend.noSystemNode":"\uFF08\u672A\u627E\u5230\u7CFB\u7EDF node \u2014\u2014 \u6539\u7528 Bun \u8FD0\u884C bundle\uFF09","update.forced.title":"\uD83D\uDEA8 \u68C0\u6D4B\u5230\u5F3A\u5236\u66F4\u65B0","update.version.line":"\u5F53\u524D\u7248\u672C\uFF1A{current} \u2192 \u6700\u65B0\u7248\u672C\uFF1A{latest}","update.command.line":"\uD83D\uDCCB \u6267\u884C\u547D\u4EE4\uFF1A{command}","update.auto.exec.start":"\uD83D\uDE80 \u6B63\u5728\u81EA\u52A8\u6267\u884C\u66F4\u65B0...","update.success.restart":"\uD83C\uDF89 \u66F4\u65B0\u5B8C\u6210\uFF01\u8BF7\u91CD\u65B0\u8FD0\u884C easycode","update.manual.then.rerun":"\uD83D\uDCA1 \u8BF7\u624B\u52A8\u6267\u884C\u66F4\u65B0\u547D\u4EE4\uFF0C\u7136\u540E\u91CD\u65B0\u8FD0\u884C easycode","update.noCommand":"\u6CA1\u6709\u7ED9\u51FA\u66F4\u65B0\u547D\u4EE4\u3002","command.model.title":"\u6A21\u578B","command.think.title":"\u63A8\u7406\u5F3A\u5EA6","command.think.medium":"\u9002\u4E2D","command.think.high":"\u5145\u5206","command.goal.title":"\u76EE\u6807","command.copy.title":"\u590D\u5236","command.help.title":"\u547D\u4EE4","command.plan.on":"\u5DF2\u5F00\u542F \u2014\u2014 agent \u4F1A\u5148\u8BA8\u8BBA\u518D\u52A8\u624B","command.plan.off":"\u5DF2\u5173\u95ED","command.plan.set":"\u8BA1\u5212\u6A21\u5F0F{state}\u3002","command.checkpoint.restoreFailed":"\u6062\u590D\u5931\u8D25\uFF1A{error}","task.status.running":"\u8FD0\u884C\u4E2D","task.status.done":"\u5DF2\u5B8C\u6210","task.status.failed":"\u5931\u8D25","task.status.cancelled":"\u5DF2\u53D6\u6D88","time.minutesAgo":"{count} \u5206\u949F\u524D","time.hoursAgo":"{count} \u5C0F\u65F6\u524D","time.daysAgo":"{count} \u5929\u524D","menu.cancel":"\u53D6\u6D88","notice.attached":"\u5DF2\u9644\u52A0 {file}","notice.copyFailed":"\u590D\u5236\u5931\u8D25\uFF1A{error}","notice.restoreFailed":"\u6062\u590D\u5931\u8D25\uFF1A{error}","notice.goalStarted":"\u76EE\u6807\u5DF2\u542F\u52A8{extra}\u3002","notice.goalFailed":"\u542F\u52A8\u76EE\u6807\u5931\u8D25\uFF1A{error}","notice.queueUsage":"\u7528\u6CD5\uFF1A/queue clear \u2014\u2014 \u5F53\u524D\u6709 {count} \u6761\u5728\u6392\u961F","notice.queueCleared":"\u5DF2\u6E05\u7A7A {count} {noun}\u6392\u961F\u6D88\u606F","notice.queueCleared.one":"\u6761","notice.queueCleared.many":"\u6761","notice.modeFailed":"\u5207\u6362\u6A21\u5F0F\u5931\u8D25\uFF1A{error}","notice.newSession":"\u65B0\u4F1A\u8BDD \xB7 {id}","notice.backgroundFailed":"\u8F6C\u5165\u540E\u53F0\u5931\u8D25\uFF1A{error}","notice.unknown":"\u672A\u77E5","transcript.folded":" \u22EF \u66F4\u65E9\u7684 {count} \u6761\u5DF2\u6298\u53E0\uFF08\u53EA\u6E32\u67D3\u6700\u8FD1 {limit} \u6761\uFF0C\u4E0D\u5F71\u54CD\u6A21\u578B\u4E0A\u4E0B\u6587\uFF09","feishu.running":"\u25CF feishu \u7F51\u5173\u8FD0\u884C\u4E2D","feishu.runningNamed":"\u25CF feishu \xB7 {bot}","backend.restartRequested":"\u540E\u7AEF\u8BF7\u6C42\u91CD\u542F\uFF0C\u6B63\u5728\u62C9\u8D77\u6765","backend.restarted":"\u540E\u7AEF\u5DF2\u91CD\u542F","cleanup.title":"\u68C0\u67E5\u70B9\u5386\u53F2\u8F83\u5927","cleanup.warning":"\u68C0\u67E5\u70B9\u5386\u53F2\u8BB0\u5F55\u8F83\u5927\uFF08{size}\uFF09\u3002","cleanup.question":"\u662F\u5426\u73B0\u5728\u6E05\u7406\u4EE5\u91CA\u653E\u7A7A\u95F4\uFF1F","cleanup.location":"\u5386\u53F2\u6587\u4EF6\u4F4D\u4E8E {path}","cleanup.key.clean":"\u6E05\u7406","cleanup.key.skip":"\u4FDD\u7559","archive.action":"\u5F52\u6863","archive.title":"\u5F52\u6863\u8FD9\u6761\u4F1A\u8BDD","archive.question":"\u628A\u5F53\u524D\u4F1A\u8BDD\u5F52\u6863\u6389\uFF1F","archive.effect":"\u4F1A\u5173\u6389\u5B83\u3001\u4ECE\u5DE6\u4FA7\u5217\u8868\u91CC\u62FF\u6389\uFF0C\u753B\u9762\u56DE\u5230 home\u3002\u804A\u5929\u8BB0\u5F55\u4E0D\u4F1A\u88AB\u5220\u3002","archive.key.confirm":"\u5F52\u6863","archive.key.cancel":"\u7B97\u4E86","cleanup.freed":"\u5DF2\u6E05\u7406\u68C0\u67E5\u70B9\u5386\u53F2 \xB7 \u91CA\u653E {size}","cleanup.failed":"\u6E05\u7406\u5931\u8D25\uFF1A{error}"};var qC={en:ti,zh:Ns};function c(e,t){let r=qC[zr()][e]??ti[e]??e;if(t)for(let[o,i]of Object.entries(t))r=r.split(`{${o}}`).join(String(i));return r}function ev(e,t=8){let n=e;for(let r=0;r<t;r++){let o=ir.join(n,"bundle","easycode.js");if(ar(o))return o;let i=ir.join(n,"packages","cli","dist","index.js");if(ar(i))return i;let a=ir.dirname(n);if(a===n)break;n=a}return}function tv(e){let t=It.env.EASYCODE_BACKEND_JS;if(t&&ar(t))return t;let n=ir.join(e,"backend","easycode.js");if(ar(n))return n;let r=ev(e);if(r)return r;throw Error(c("backend.notFound"))}function nv(){return typeof It.versions.bun==="string"}function rv(){let e=It.env.EASYCODE_SHELL_NODE;if(e&&ar(e))return{command:e,viaFallback:!1};if(!nv())return{command:It.execPath,viaFallback:!1};let t=It.platform==="win32"?"where":"which";try{let n=XC(t,["node"],{encoding:"utf8",timeout:5000}),r=(n.stdout||"").split(/\r?\n/).find((o)=>o.trim());if(n.status===0&&r&&ar(r.trim()))return{command:r.trim(),viaFallback:!1}}catch{}return{command:It.execPath,viaFallback:!0}}function Lm(e,t){let n=tv(e),r=rv(),o=t?.trim();return{command:r.command,args:[n,"--acp",...o?["--model",o]:[]],env:{CLI_VERSION:`Shell-${It.env.EASYCODE_SHELL_VERSION??"dev"}`,EASYCODE_SHELL_MANAGED:"1",...It.env.DEEPX_SERVER_URL?{DEEPX_SERVER_URL:It.env.DEEPX_SERVER_URL}:{},...It.env.DEEPX_WEB_URL?{DEEPX_WEB_URL:It.env.DEEPX_WEB_URL}:{}},description:`${ir.basename(r.command)} ${ir.basename(n)} --acp`+(r.viaFallback?c("backend.noSystemNode"):"")}}function xt(e){return typeof e==="string"&&e.length>0?e:void 0}function Hr(e){return typeof e==="number"&&Number.isFinite(e)?e:void 0}function $m(e){let t=e??{},n=Array.isArray(t.skills)?t.skills:[],r=Array.isArray(t.sections)?t.sections:[];return{skills:n.map((o)=>{let i=o??{};return{id:Hr(i.id)??0,name:xt(i.name)??"",displayName:xt(i.displayName),description:xt(i.description),version:xt(i.version),category:xt(i.category),installed:i.installed===!0,sectionId:Hr(i.sectionId)??null}}).filter((o)=>o.id>0&&o.name.length>0),total:Hr(t.total)??n.length,page:Hr(t.page)??1,sections:r.map((o)=>{let i=o??{};return{id:Hr(i.id)??0,name:xt(i.name)??""}}).filter((o)=>o.name.length>0)}}function Gm(e){let t=e??{};return(Array.isArray(t.skills)?t.skills:[]).map((r)=>{let o=r??{};return{pluginId:xt(o.pluginId)??"",name:xt(o.name)??"",description:xt(o.description),fromMarketplace:o.fromMarketplace===!0,enabled:o.enabled!==!1}}).filter((r)=>r.name.length>0)}function ni(e){let t=e??{};return{ok:t.ok===!0,error:xt(t.error),name:xt(t.name),version:xt(t.version)}}import*as oi from"fs/promises";function Ur(e){if(e&&typeof e==="object"&&"type"in e){let t=e;if(t.type==="text"&&typeof t.text==="string")return t.text}return""}function ri(e){if(!Array.isArray(e)||e.length===0)return;let t=[];for(let n of e)if(n.type==="content"){let r=Ur(n.content);if(r)t.push({text:r})}else if(n.type==="diff")t.push({diff:{path:String(n.path??""),oldText:n.oldText??null,newText:String(n.newText??"")}});return t.length?t:void 0}var zm="[MODE_UPDATE]",Hm="[Model switched",Ds="[TITLE_UPDATE]",Os="[COMPRESSION_STATUS]",Ls="[INPUT_SUGGESTION]";function Um(e,t){let n=e;if(!n||typeof n!=="object")return{};let r=typeof n.terminal_output?.data==="string"?n.terminal_output.data:"",o=r?iv(r):t,i=av(r,t),a=ov(i.text),s=n.terminal_exit?.exit_code;if(!a)return{text:typeof s==="number"?`[exit code: ${s}]`:void 0,snapshot:o};return{text:typeof s==="number"?`${a}
|
|
674
|
-
[exit code: ${s}]`:a,mode:i.mode,snapshot:o}}function
|
|
675
|
-
`+e.slice(-120000)}function
|
|
673
|
+
{text}`,"command.tasks.emptyOutput":"{label} \u6CA1\u6709\u4EA7\u751F\u8F93\u51FA\u3002","permission.noOptions":"\u540E\u7AEF\u6CA1\u6709\u7ED9\u51FA\u53EF\u9009\u9879 \u2014\u2014 \u6309 esc \u8868\u793A\u62D2\u7EDD\u3002","auth.browserFailed":"\u6253\u4E0D\u5F00\u6D4F\u89C8\u5668\uFF08{error}\uFF09\u2014\u2014 \u8BF7\u624B\u52A8\u6253\u5F00\u4E0A\u9762\u90A3\u4E2A\u5730\u5740\u3002","tool.exitCode":"\u9000\u51FA\u7801 {code}","clipboard.copied":"\u5DF2\u590D\u5236 {count} \u4E2A\u5B57\u7B26\u5230\u526A\u8D34\u677F","clipboard.copyFailed":"\u590D\u5236\u5931\u8D25\uFF1A{error}","command.checkpoint.restored":"\u5DF2\u6062\u590D\u68C0\u67E5\u70B9\uFF1A\u4FDD\u7559 {kept} \u6761\u6D88\u606F\uFF0C\u4E22\u5F03 {dropped} \u6761\u3002","dialog.question.step":"\u7B2C {index}/{total} \u9898 \xB7 \u5DF2\u7B54 {answered} \u9898","dialog.question.multi":"\uFF08\u53EF\u591A\u9009\uFF09","dialog.question.other":"\u81EA\u5DF1\u5199\u4E00\u4E2A\u7B54\u6848\u2026","dialog.question.otherHint":"\uFF08\u5728\u8FD9\u91CC\u6253\u5B57\uFF09","dialog.question.submit":"\u63D0\u4EA4","dialog.question.previewMore":"\u2026 \u8FD8\u6709 {count} \u884C","key.erase":"\u5220\u9664","skills.command":"\u6D4F\u89C8\u5E76\u5B89\u88C5\u6280\u80FD\u5546\u5E97\u91CC\u7684\u6280\u80FD\uFF08/skills <\u5173\u952E\u8BCD> \u53EF\u76F4\u63A5\u641C\uFF09","skills.title":"\u6280\u80FD","skills.store":"\u6280\u80FD\u5546\u5E97","skills.storeHint":"\u6D4F\u89C8\u5E76\u5B89\u88C5","skills.installed":"\u5DF2\u5B89\u88C5","skills.installedHint":"\u5378\u8F7D\u3001\u542F\u7528\u6216\u505C\u7528","skills.sections":"\u5206\u533A","skills.all":"\u5168\u90E8","skills.allHint":"\u8FD9\u4E00\u9875\u91CC\u7684\u5168\u90E8\u6280\u80FD","skills.nextPage":"\u4E0B\u4E00\u9875 \u2192","skills.more":"\u8FD8\u6709 {count} \u4E2A","skills.noResults":"\u6CA1\u6709\u5339\u914D\u7684\u6280\u80FD\u3002","skills.install":"\u5B89\u88C5","skills.reinstall":"\u91CD\u65B0\u5B89\u88C5","skills.back":"\u8FD4\u56DE","skills.installing":"\u6B63\u5728\u5B89\u88C5 {name}\u2026","skills.installedOk":"{name} \u5DF2\u5B89\u88C5\uFF0C\u9A6C\u4E0A\u5C31\u80FD\u7528\u3002","skills.installFailed":"{name} \u88C5\u4E0D\u4E0A\uFF1A{error}","skills.noneInstalled":"\u8FD8\u6CA1\u6709\u5B89\u88C5\u4EFB\u4F55\u6280\u80FD\u3002","skills.disabledLabel":"{name}\uFF08\u5DF2\u505C\u7528\uFF09","skills.enable":"\u542F\u7528","skills.disable":"\u505C\u7528","skills.toggleHint":"\u6587\u4EF6\u90FD\u7559\u5728\u78C1\u76D8\u4E0A","skills.enabledOk":"{name} \u5DF2\u542F\u7528\u3002","skills.disabledOk":"{name} \u5DF2\u505C\u7528\u3002","skills.toggleFailed":"{name} \u6539\u4E0D\u52A8\uFF1A{error}","skills.uninstall":"\u5378\u8F7D","skills.uninstallHint":"\u4F1A\u4ECE\u78C1\u76D8\u4E0A\u5220\u6389","skills.uninstallConfirm":"\u786E\u5B9E\u8981\u5378\u8F7D {name} \u5417\uFF1F","skills.uninstalledOk":"{name} \u5DF2\u5378\u8F7D\u3002","skills.uninstallFailed":"{name} \u5378\u4E0D\u6389\uFF1A{error}","skills.failed":"\u6280\u80FD\u5546\u5E97\u51FA\u9519\uFF1A{error}","config.status.sandbox.provision.failed":"\u6C99\u7BB1\u5F00\u542F\u5931\u8D25\uFF1A\u65E0\u6CD5\u521B\u5EFA\u6C99\u7BB1\u4E13\u7528\u7528\u6237\uFF0C\u8BF7\u91CD\u8BD5","config.status.sandbox.provision.cancelled":"\u6C99\u7BB1\u5F00\u542F\u5931\u8D25\uFF1A\u4F60\u53D6\u6D88\u4E86\u6388\u6743\uFF08UAC\uFF09\uFF0C\u672A\u521B\u5EFA\u6C99\u7BB1\u4E13\u7528\u7528\u6237","config.sandbox.uninstall":"\u5378\u8F7D\u6C99\u7BB1\u8D26\u6237\uFF08\u5220\u9664\u7528\u6237/\u7EC4\u5E76\u8FD8\u539F\u6388\u6743\uFF09","config.status.sandbox.uninstall.done":"\u6C99\u7BB1\u8D26\u6237\u5DF2\u5378\u8F7D\uFF0C\u6C99\u7BB1\u5DF2\u7981\u7528","config.status.sandbox.uninstall.cancelled":"\u5378\u8F7D\u5DF2\u53D6\u6D88\uFF08UAC\uFF09","config.status.sandbox.uninstall.failed":"\u6C99\u7BB1\u5378\u8F7D\u5931\u8D25\uFF0C\u5F53\u524D\u6863\u4F4D\u4FDD\u6301\u4E0D\u53D8","diff.title":"\u4EE3\u7801\u53D8\u66F4","diff.subtitle":"{files} \u4E2A\u6587\u4EF6 \xB7 +{added} -{removed}","diff.closeButton":"\u2715 \u5173\u95ED","diff.filesHeader":"\u53D8\u66F4\u6587\u4EF6","diff.patchHeader":"\u8865\u4E01\u6B63\u6587","diff.empty":"\u8FD9\u4E2A\u6587\u4EF6\u6CA1\u6709\u53EF\u663E\u793A\u7684\u8865\u4E01\u3002","diff.chooseFile":"\u9009\u6587\u4EF6","diff.scroll":"\u6EDA\u8865\u4E01","diff.close":"\u5173\u95ED","model.provider.easyrouter":"EasyRouter\uFF08\u63A8\u8350\uFF09","model.provider.easyrouterHint":"\u53EA\u586B\u4E00\u4E2A\u5BC6\u94A5\uFF0C\u518D\u4ECE\u5B9E\u65F6\u6A21\u578B\u8868\u91CC\u52FE\u9009 \u2014\u2014 \u5730\u5740\u4E0E\u534F\u8BAE\u81EA\u52A8\u8BC6\u522B\u3002https://ezr.sh/","model.provider.openaiHint":"OpenAI API\u3001Azure\u3001LM Studio\u3001Ollama\u3001Groq \u7B49\u517C\u5BB9\u63A5\u53E3","model.easyrouter.fetching":"\u6B63\u5728\u62C9\u53D6\u6A21\u578B\u5217\u8868\u2026","model.easyrouter.fetchFailed":"\u62C9\u53D6\u5217\u8868\u5931\u8D25\uFF1A{error}","model.easyrouter.pick":"\u52FE\u9009\u8981\u5BFC\u5165\u7684\u6A21\u578B \u2014\u2014 \u56DE\u8F66\u5373\u5207\u6362","model.easyrouter.done":"\u2713 \u5B8C\u6210\uFF08\u5DF2\u9009 {count} \u4E2A\uFF09","model.easyrouter.all":"\u5168\u9009\uFF08{count} \u4E2A\uFF09","model.easyrouter.clear":"\u6E05\u7A7A\u52FE\u9009","model.easyrouter.none":"\u8FD8\u4E00\u4E2A\u90FD\u6CA1\u52FE\u3002","model.easyrouter.confirm":"\u8FD9\u6B21\u4F1A\u65B0\u589E {added} \u4E2A\u3001\u79FB\u9664 {removed} \u4E2A\u3001\u5237\u65B0 {updated} \u4E2A\u3002","model.easyrouter.confirmTitle":"\u540C\u6B65\u8FD9\u4E9B\u6A21\u578B\uFF1F","model.easyrouter.saved":"\u65B0\u589E {added} \u4E2A\u3001\u79FB\u9664 {removed} \u4E2A\u3001\u5237\u65B0 {updated} \u4E2A\u3002","command.think.none":"\u4E0D\u505A\u63A8\u7406\uFF0C\u76F4\u63A5\u56DE\u7B54","command.think.auto":"\u7531\u6A21\u578B\u6BCF\u8F6E\u81EA\u884C\u51B3\u5B9A","command.think.brief":"\u7B80\u77ED\u63A8\u7406","command.think.thorough":"\u975E\u5E38\u5145\u5206","command.think.max":"\u4E0D\u8BA1\u4EE3\u4EF7\u5730\u60F3","command.think.description":"\u6A21\u578B\u6BCF\u8F6E\u82B1\u591A\u5C11\u5FC3\u601D\u63A8\u7406","command.mode.ask":"\u7F16\u8F91\u6587\u4EF6\u548C\u6267\u884C\u547D\u4EE4\u524D\u90FD\u5148\u786E\u8BA4","command.mode.autoEdit":"\u76F4\u63A5\u6539\u6587\u4EF6\uFF0C\u6267\u884C\u547D\u4EE4\u4ECD\u9700\u786E\u8BA4","command.mode.fullAccess.label":"\u5B8C\u5168\u8BBF\u95EE","command.mode.fullAccess.hint":"\u5168\u90E8\u76F4\u63A5\u6267\u884C\uFF0C\u4E0D\u518D\u8BE2\u95EE","command.mode.title":"\u5BA1\u6279\u6A21\u5F0F","command.mode.description":"\u54EA\u4E9B\u4E8B\u60C5\u53EF\u4EE5\u4E0D\u95EE\u4F60\u5C31\u505A","command.yolo.title":"\u5B8C\u5168\u8BBF\u95EE","command.yolo.description":"\u5F00\u5173\u5B8C\u5168\u8BBF\u95EE\uFF08\u7B49\u540C\u4E8E /mode\uFF09","command.yolo.on":"\u5B8C\u5168\u8BBF\u95EE\u5DF2\u5F00\u542F \u2014\u2014 \u4EFB\u4F55\u64CD\u4F5C\u90FD\u4E0D\u518D\u786E\u8BA4\u3002","command.yolo.off":"\u5DF2\u6062\u590D\u4E3A\u7F16\u8F91\u548C\u6267\u884C\u524D\u5148\u8BE2\u95EE\u3002","command.config.title":"\u8BBE\u7F6E","command.config.description":"\u5F71\u54CD agent \u884C\u4E3A\u7684\u8BBE\u7F6E\u2014\u2014\u5199\u5165\u5171\u4EAB\u914D\u7F6E\u6587\u4EF6","config.setting.language":"\u8BED\u8A00\u504F\u597D","config.setting.compression":"\u538B\u7F29\u6A21\u578B","config.setting.codeExpert":"Code Expert \u5B50\u4EE3\u7406","config.setting.verification":"Verification \u5B50\u4EE3\u7406","config.setting.imageReader":"\u56FE\u7247\u8BFB\u53D6\u6A21\u578B","config.setting.projectMemory":"\u9879\u76EE\u8BB0\u5FC6","config.setting.sandbox":"\u6C99\u7BB1","config.value.default":"\u9ED8\u8BA4","config.value.inherit":"\u8DDF\u968F\u6838\u5FC3\u9ED8\u8BA4","config.value.modelDecides":"\u7531\u6A21\u578B\u81EA\u884C\u51B3\u5B9A","config.language.manual":"\u624B\u52A8\u8F93\u5165\u2026","config.language.manualHint":"\u5199\u4EC0\u4E48\u90FD\u884C\uFF0C\u5B83\u4F1A\u88AB\u539F\u6837\u5199\u8FDB\u63D0\u793A\u8BCD","config.memory.all":"DEEPV.md + AGENTS.md\uFF08\u9ED8\u8BA4\uFF09","config.memory.deepvOnly":"\u4EC5 DEEPV.md","config.memory.none":"\u4E0D\u52A0\u8F7D","config.sandbox.off":"\u7981\u7528","config.sandbox.workspace":"\u4EC5\u5DE5\u4F5C\u533A\uFF0C\u65E0\u7F51\u7EDC","config.sandbox.workspaceNet":"\u4EC5\u5DE5\u4F5C\u533A\uFF0C\u5E26\u7F51\u7EDC","config.saved":"{setting} \u5DF2\u8BBE\u4E3A {value}\uFF0C\u65B0\u5F00\u7684\u4F1A\u8BDD\u751F\u6548\u3002","command.checkpoint.justNow":"\u521A\u521A","command.checkpoint.title":"\u6062\u590D\u68C0\u67E5\u70B9","command.checkpoint.description":"\u628A\u4F1A\u8BDD\u56DE\u6EDA\u5230\u67D0\u6B21\u7F16\u8F91\u524D\u7684\u5FEB\u7167","command.checkpoint.noPrompt":"\uFF08\u6CA1\u6709\u8BB0\u5F55\u63D0\u95EE\u5185\u5BB9\uFF09","command.checkpoint.none":"\u8FD8\u6CA1\u6709\u68C0\u67E5\u70B9 \u2014\u2014 \u6BCF\u8F6E\u9996\u6B21\u7F16\u8F91\u524D\u4F1A\u81EA\u52A8\u8BB0\u4E00\u4E2A\u3002","command.checkpoint.busy":"\u5F53\u524D\u6709\u56DE\u5408\u5728\u8FD0\u884C \u2014\u2014 \u5148\u505C\u4E0B\u5B83\u518D\u6062\u590D\u68C0\u67E5\u70B9\u3002","command.plan.title":"\u8BA1\u5212\u6A21\u5F0F","command.plan.description":"\u5148\u8BA8\u8BBA\u518D\u52A8\u624B \u2014\u2014 \u5F00\u542F\u6216\u5173\u95ED\uFF08/plan on|off\uFF09","command.plan.usage":"\u7528\u6CD5\uFF1A/plan\u3001/plan on \u6216 /plan off\u3002","command.goal.description":"\u542F\u52A8\u4E00\u4E2A\u76EE\u6807\u5951\u7EA6\uFF08\u76F4\u63A5 /goal \u6253\u5F00\u8868\u5355\uFF09\uFF0C\u6216 /goal clear \u7ED3\u675F\u5B83","command.goal.cleared":"\u5DF2\u6E05\u9664\u76EE\u6807\u3002","command.goal.none":"\u5F53\u524D\u6CA1\u6709\u6B63\u5728\u8FDB\u884C\u7684\u76EE\u6807\u3002","command.btw.title":"\u63D2\u95EE","command.btw.description":"\u4E0D\u6253\u65AD\u5F53\u524D\u56DE\u5408\uFF0C\u987A\u5E26\u95EE\u4E00\u53E5","command.btw.usage":"\u7528\u6CD5\uFF1A/btw <\u95EE\u9898> \u2014\u2014 \u5B83\u4F1A\u4E0E\u4E3B\u56DE\u5408\u5E76\u884C\u56DE\u7B54\u3002","command.btw.failed":"\u63D2\u95EE\u6CA1\u6709\u9001\u8FBE\u3002","btw.asking":"\u6B63\u5728\u5B83\u81EA\u5DF1\u7684\u5206\u53C9\u91CC\u601D\u8003\u2026","btw.empty":"\u56DE\u7B54\u662F\u7A7A\u7684\u3002","btw.truncated":"\u2026\uFF08\u5269\u4E0B\u7684\u6BD4\u9762\u677F\u957F\uFF09","btw.hint":"esc \u5173\u95ED","command.copy.description":"\u628A\u4E0A\u4E00\u6761\u56DE\u7B54\u590D\u5236\u5230\u7CFB\u7EDF\u526A\u8D34\u677F","command.copy.none":"\u8FD8\u6CA1\u6709\u53EF\u590D\u5236\u7684\u56DE\u7B54\u3002","command.cli.title":"\u5207\u56DE\u547D\u4EE4\u884C\u754C\u9762","command.cli.description":"\u79BB\u5F00 TUI \u2014\u2014 \u4E0B\u6B21\u8FD0\u884C easycode \u4F1A\u56DE\u5230\u547D\u4EE4\u884C","command.cli.done":"\u5DF2\u5207\u56DE\u547D\u4EE4\u884C\u754C\u9762\u3002\u5173\u6389\u8FD9\u4E2A\u7A97\u53E3\uFF0C\u6216\u8FDE\u6309\u4E24\u6B21 Ctrl+C \u9000\u51FA\u3002","command.help.description":"\u8FD9\u91CC\u80FD\u6572\u7684\u6240\u6709\u547D\u4EE4\uFF0C\u4EE5\u53CA\u5B83\u4EEC\u5404\u81EA\u505A\u4EC0\u4E48","command.help.none":"\u540E\u7AEF\u8FD8\u6CA1\u6709\u516C\u5E03\u4EFB\u4F55\u547D\u4EE4\u3002","command.tasks.title":"\u540E\u53F0\u4EFB\u52A1","command.tasks.description":"\u67E5\u770B\u540E\u53F0\u5728\u8DD1\u4EC0\u4E48\u3001\u505C\u6389\u67D0\u4E2A\uFF0C\u6216\u8BFB\u5B83\u7684\u8F93\u51FA","command.tasks.none":"\u672C\u6B21\u4F1A\u8BDD\u8FD8\u6CA1\u6709\u8DD1\u8FC7\u540E\u53F0\u4EFB\u52A1\u3002","command.tasks.cleared":"\u5DF2\u6E05\u7406\u7ED3\u675F\u7684\u540E\u53F0\u4EFB\u52A1\u3002","goal.dialog.title":"\u76EE\u6807 \u2014\u2014 {title}","goal.dialog.subtitle":"\u7B2C {step}/{total} \u6B65 \xB7 {hint}","goal.dialog.fullAccess":"\u76EE\u6807\u8FD0\u884C\u671F\u95F4\u4F1A\u5F00\u542F\u5B8C\u5168\u8BBF\u95EE","goal.intensity.steady":"\u7A33\u5065 \u2014\u2014 \u5728\u81EA\u7136\u7684\u8282\u70B9\u505C\u4E0B\u6765\u6C47\u62A5","goal.intensity.standard":"\u6807\u51C6 \u2014\u2014 \u4E00\u76F4\u505A\u4E0B\u53BB\uFF0C\u6700\u540E\u6C47\u62A5","goal.intensity.intense":"\u6FC0\u8FDB \u2014\u2014 \u9664\u975E\u5361\u6B7B\uFF0C\u5426\u5219\u4E0D\u505C","goal.usage":"\u7ED9\u76EE\u6807\u4E00\u4E2A\u4EFB\u52A1\uFF0C\u6216\u76F4\u63A5\u8FD0\u884C /goal \u4E0D\u5E26\u53C2\u6570\u3002","goal.step.task.title":"\u8981\u8FBE\u6210\u4EC0\u4E48\uFF1F","goal.step.task.hint":"\u4E00\u53E5\u8BDD\u3002\u8FD9\u662F\u5BF9 agent \u7684\u5951\u7EA6\u3002","goal.step.forbidden.title":"\u6709\u4EC0\u4E48\u662F\u7EDD\u5BF9\u4E0D\u80FD\u505A\u7684\uFF1F","goal.step.forbidden.hint":"\u53EF\u9009 \u2014\u2014 \u4F8B\u5982\u300C\u4E0D\u8981\u52A8\u6570\u636E\u5E93\u7ED3\u6784\u300D\u3002\u56DE\u8F66\u8DF3\u8FC7\u3002","goal.step.done.title":"\u600E\u6837\u7B97\u505A\u5B8C\u4E86\uFF1F","goal.step.done.hint":"\u53EF\u9009 \u2014\u2014 \u4F8B\u5982\u300C\u6D4B\u8BD5\u5168\u7EFF\u3001MR \u5DF2\u5F00\u300D\u3002\u56DE\u8F66\u8DF3\u8FC7\u3002","goal.step.hours.title":"\u8981\u6301\u7EED\u591A\u4E45\uFF1F","goal.step.intensity.title":"\u8981\u63A8\u8FDB\u5230\u591A\u731B\uFF1F","goal.step.intensity.hint":"\u2191/\u2193 \u9009\u62E9\uFF0C\u56DE\u8F66\u786E\u8BA4\u3002","goal.step.confirm.title":"\u5F00\u59CB\u8FD9\u4E2A\u76EE\u6807\uFF1F","goal.step.confirm.hint":"\u56DE\u8F66\u5F00\u59CB \xB7 esc \u53D6\u6D88 \xB7 \u2190/\u9000\u683C \u8FD4\u56DE\u4E0A\u4E00\u6B65\u3002","goal.error.needTask":"\u4EFB\u52A1\u662F\u5951\u7EA6\u91CC\u552F\u4E00\u4E0D\u80FD\u7F3A\u7684\u4E1C\u897F\u3002","goal.error.badHours":"\u8BF7\u7ED9\u4E00\u4E2A\u6B63\u6570\u5C0F\u65F6\uFF0C\u6216\u8005\u7559\u7A7A\u3002","error.network":"\u8FDE\u4E0D\u4E0A\u6A21\u578B\u670D\u52A1\u3002\u68C0\u67E5\u7F51\u7EDC\u6216\u4EE3\u7406\u540E\u91CD\u65B0\u53D1\u9001\u3002","error.forbidden":"\u8BBF\u95EE\u88AB\u62D2\u7EDD\uFF08403\uFF09\u3002\u8D26\u53F7\u6216\u5BC6\u94A5\u53EF\u80FD\u5DF2\u505C\u7528\u3001\u6CA1\u6709\u8FD9\u4E2A\u6A21\u578B\u7684\u6743\u9650\uFF0C\u6216\u6240\u5728\u5730\u533A\u4E0D\u652F\u6301\u3002\u53EF\u8BD5 /auth\uFF0C\u6216\u68C0\u67E5\u8D26\u53F7\u72B6\u6001\u3002","error.rateLimited":"\u88AB\u9650\u6D41\u4E86\uFF08429\uFF09\u2014\u2014 \u670D\u52A1\u7AEF\u7E41\u5FD9\u3002\u8FD9\u662F\u4E34\u65F6\u9650\u6D41\uFF0C\u4E0D\u662F\u989D\u5EA6\u7528\u5C3D\uFF0C\u7A0D\u540E\u91CD\u65B0\u53D1\u9001\u5373\u53EF\u3002","error.region":"\u5F53\u524D\u5730\u533A\u6682\u4E0D\u652F\u6301 Easy Code\uFF08451\uFF09\u3002\u82E5\u521A\u624D\u8FD8\u6B63\u5E38\uFF0C\u8F93\u5165\u300C\u7EE7\u7EED\u300D\u5373\u53EF\u3002","error.quota":"\u79EF\u5206\u4F59\u989D\u4E0D\u8DB3\uFF0C\u8FD9\u6B21\u8BF7\u6C42\u65E0\u6CD5\u5B8C\u6210\u3002\u53EF\u5728\u4E2A\u4EBA\u4E2D\u5FC3\uFF08/account\uFF09\u5145\u503C\uFF0C\u6216\u627E\u7BA1\u7406\u5458\u7533\u8BF7\u914D\u989D\u3002","backend.notStarted":"\u4F1A\u8BDD\u5C1A\u672A\u542F\u52A8\u3002","backend.notRunning":"\u4F1A\u8BDD\u672A\u5728\u8FD0\u884C\u3002","backend.notRunningFork":"\u4F1A\u8BDD\u672A\u5728\u8FD0\u884C\uFF1B\u8BF7\u5148\u6062\u590D\u5B83\u518D\u5206\u53C9\u3002","backend.notRunningGoal":"\u4F1A\u8BDD\u672A\u5728\u8FD0\u884C\uFF1B\u8BF7\u5148\u6062\u590D\u5B83\u518D\u542F\u52A8\u76EE\u6807\u6A21\u5F0F\u3002","backend.notConnectedModel":"\u65E0\u6CD5\u5207\u6362\u6A21\u578B\uFF1A\u540E\u7AEF\u4F1A\u8BDD\u672A\u8FDE\u63A5\u3002","backend.notRunningRestore":"\u540E\u7AEF\u4F1A\u8BDD\u672A\u5728\u8FD0\u884C\u3002","backend.forkNoId":"\u540E\u7AEF\u5206\u53C9\u6CA1\u6709\u8FD4\u56DE\u4F1A\u8BDD id\u3002","backend.goalNoPrompt":"\u540E\u7AEF goal/start \u6CA1\u6709\u8FD4\u56DE\u63D0\u793A\u8BCD\u3002","backend.pipesFailed":"\u65E0\u6CD5\u4E3A\u540E\u7AEF\u6253\u5F00 stdio \u7BA1\u9053\u3002","backend.authUnavailable":"\u5F53\u524D\u6784\u5EFA\u4E0D\u652F\u6301\u767B\u5F55\u529F\u80FD\u3002","backend.notFound":"\u627E\u4E0D\u5230 Easy Code \u7684 agent \u540E\u7AEF\u3002\u8BF7\u5728\u4ED3\u5E93\u6839\u76EE\u5F55\u6267\u884C `npm run bundle` \u6784\u5EFA\u5B83\uFF0C\u6216\u628A EASYCODE_BACKEND_JS \u8BBE\u4E3A easycode.js \u7684\u7EDD\u5BF9\u8DEF\u5F84\u3002","backend.noSystemNode":"\uFF08\u672A\u627E\u5230\u7CFB\u7EDF node \u2014\u2014 \u6539\u7528 Bun \u8FD0\u884C bundle\uFF09","update.forced.title":"\uD83D\uDEA8 \u68C0\u6D4B\u5230\u5F3A\u5236\u66F4\u65B0","update.version.line":"\u5F53\u524D\u7248\u672C\uFF1A{current} \u2192 \u6700\u65B0\u7248\u672C\uFF1A{latest}","update.command.line":"\uD83D\uDCCB \u6267\u884C\u547D\u4EE4\uFF1A{command}","update.auto.exec.start":"\uD83D\uDE80 \u6B63\u5728\u81EA\u52A8\u6267\u884C\u66F4\u65B0...","update.success.restart":"\uD83C\uDF89 \u66F4\u65B0\u5B8C\u6210\uFF01\u8BF7\u91CD\u65B0\u8FD0\u884C easycode","update.manual.then.rerun":"\uD83D\uDCA1 \u8BF7\u624B\u52A8\u6267\u884C\u66F4\u65B0\u547D\u4EE4\uFF0C\u7136\u540E\u91CD\u65B0\u8FD0\u884C easycode","update.noCommand":"\u6CA1\u6709\u7ED9\u51FA\u66F4\u65B0\u547D\u4EE4\u3002","command.model.title":"\u6A21\u578B","command.think.title":"\u63A8\u7406\u5F3A\u5EA6","command.think.medium":"\u9002\u4E2D","command.think.high":"\u5145\u5206","command.goal.title":"\u76EE\u6807","command.copy.title":"\u590D\u5236","command.help.title":"\u547D\u4EE4","command.plan.on":"\u5DF2\u5F00\u542F \u2014\u2014 agent \u4F1A\u5148\u8BA8\u8BBA\u518D\u52A8\u624B","command.plan.off":"\u5DF2\u5173\u95ED","command.plan.set":"\u8BA1\u5212\u6A21\u5F0F{state}\u3002","command.checkpoint.restoreFailed":"\u6062\u590D\u5931\u8D25\uFF1A{error}","task.status.running":"\u8FD0\u884C\u4E2D","task.status.done":"\u5DF2\u5B8C\u6210","task.status.failed":"\u5931\u8D25","task.status.cancelled":"\u5DF2\u53D6\u6D88","time.minutesAgo":"{count} \u5206\u949F\u524D","time.hoursAgo":"{count} \u5C0F\u65F6\u524D","time.daysAgo":"{count} \u5929\u524D","menu.cancel":"\u53D6\u6D88","notice.attached":"\u5DF2\u9644\u52A0 {file}","notice.copyFailed":"\u590D\u5236\u5931\u8D25\uFF1A{error}","notice.restoreFailed":"\u6062\u590D\u5931\u8D25\uFF1A{error}","notice.goalStarted":"\u76EE\u6807\u5DF2\u542F\u52A8{extra}\u3002","notice.goalFailed":"\u542F\u52A8\u76EE\u6807\u5931\u8D25\uFF1A{error}","notice.queueUsage":"\u7528\u6CD5\uFF1A/queue clear \u2014\u2014 \u5F53\u524D\u6709 {count} \u6761\u5728\u6392\u961F","notice.queueCleared":"\u5DF2\u6E05\u7A7A {count} {noun}\u6392\u961F\u6D88\u606F","notice.queueCleared.one":"\u6761","notice.queueCleared.many":"\u6761","notice.modeFailed":"\u5207\u6362\u6A21\u5F0F\u5931\u8D25\uFF1A{error}","notice.newSession":"\u65B0\u4F1A\u8BDD \xB7 {id}","notice.backgroundFailed":"\u8F6C\u5165\u540E\u53F0\u5931\u8D25\uFF1A{error}","notice.unknown":"\u672A\u77E5","transcript.folded":" \u22EF \u66F4\u65E9\u7684 {count} \u6761\u5DF2\u6298\u53E0\uFF08\u53EA\u6E32\u67D3\u6700\u8FD1 {limit} \u6761\uFF0C\u4E0D\u5F71\u54CD\u6A21\u578B\u4E0A\u4E0B\u6587\uFF09","feishu.running":"\u25CF feishu \u7F51\u5173\u8FD0\u884C\u4E2D","feishu.runningNamed":"\u25CF feishu \xB7 {bot}","backend.restartRequested":"\u540E\u7AEF\u8BF7\u6C42\u91CD\u542F\uFF0C\u6B63\u5728\u62C9\u8D77\u6765","backend.restarted":"\u540E\u7AEF\u5DF2\u91CD\u542F","cleanup.title":"\u68C0\u67E5\u70B9\u5386\u53F2\u8F83\u5927","cleanup.warning":"\u68C0\u67E5\u70B9\u5386\u53F2\u8BB0\u5F55\u8F83\u5927\uFF08{size}\uFF09\u3002","cleanup.question":"\u662F\u5426\u73B0\u5728\u6E05\u7406\u4EE5\u91CA\u653E\u7A7A\u95F4\uFF1F","cleanup.location":"\u5386\u53F2\u6587\u4EF6\u4F4D\u4E8E {path}","cleanup.key.clean":"\u6E05\u7406","cleanup.key.skip":"\u4FDD\u7559","archive.action":"\u5F52\u6863","archive.title":"\u5F52\u6863\u8FD9\u6761\u4F1A\u8BDD","archive.question":"\u628A\u5F53\u524D\u4F1A\u8BDD\u5F52\u6863\u6389\uFF1F","archive.effect":"\u4F1A\u5173\u6389\u5B83\u3001\u4ECE\u5DE6\u4FA7\u5217\u8868\u91CC\u62FF\u6389\uFF0C\u753B\u9762\u56DE\u5230 home\u3002\u804A\u5929\u8BB0\u5F55\u4E0D\u4F1A\u88AB\u5220\u3002","archive.key.confirm":"\u5F52\u6863","archive.key.cancel":"\u7B97\u4E86","cleanup.freed":"\u5DF2\u6E05\u7406\u68C0\u67E5\u70B9\u5386\u53F2 \xB7 \u91CA\u653E {size}","cleanup.failed":"\u6E05\u7406\u5931\u8D25\uFF1A{error}"};var rv={en:ni,zh:Ns};function c(e,t){let r=rv[Hr()][e]??ni[e]??e;if(t)for(let[o,i]of Object.entries(t))r=r.split(`{${o}}`).join(String(i));return r}function iv(e,t=8){let n=e;for(let r=0;r<t;r++){let o=ar.join(n,"bundle","easycode.js");if(sr(o))return o;let i=ar.join(n,"packages","cli","dist","index.js");if(sr(i))return i;let a=ar.dirname(n);if(a===n)break;n=a}return}function av(e){let t=It.env.EASYCODE_BACKEND_JS;if(t&&sr(t))return t;let n=ar.join(e,"backend","easycode.js");if(sr(n))return n;let r=iv(e);if(r)return r;throw Error(c("backend.notFound"))}function sv(){return typeof It.versions.bun==="string"}function lv(){let e=It.env.EASYCODE_SHELL_NODE;if(e&&sr(e))return{command:e,viaFallback:!1};if(!sv())return{command:It.execPath,viaFallback:!1};let t=It.platform==="win32"?"where":"which";try{let n=ov(t,["node"],{encoding:"utf8",timeout:5000}),r=(n.stdout||"").split(/\r?\n/).find((o)=>o.trim());if(n.status===0&&r&&sr(r.trim()))return{command:r.trim(),viaFallback:!1}}catch{}return{command:It.execPath,viaFallback:!0}}function $m(e,t){let n=av(e),r=lv(),o=t?.trim();return{command:r.command,args:[n,"--acp",...o?["--model",o]:[]],env:{CLI_VERSION:`Shell-${It.env.EASYCODE_SHELL_VERSION??"dev"}`,EASYCODE_SHELL_MANAGED:"1",...It.env.DEEPX_SERVER_URL?{DEEPX_SERVER_URL:It.env.DEEPX_SERVER_URL}:{},...It.env.DEEPX_WEB_URL?{DEEPX_WEB_URL:It.env.DEEPX_WEB_URL}:{}},description:`${ar.basename(r.command)} ${ar.basename(n)} --acp`+(r.viaFallback?c("backend.noSystemNode"):"")}}function bt(e){return typeof e==="string"&&e.length>0?e:void 0}function Ur(e){return typeof e==="number"&&Number.isFinite(e)?e:void 0}function Gm(e){let t=e??{},n=Array.isArray(t.skills)?t.skills:[],r=Array.isArray(t.sections)?t.sections:[];return{skills:n.map((o)=>{let i=o??{};return{id:Ur(i.id)??0,name:bt(i.name)??"",displayName:bt(i.displayName),description:bt(i.description),version:bt(i.version),category:bt(i.category),installed:i.installed===!0,sectionId:Ur(i.sectionId)??null}}).filter((o)=>o.id>0&&o.name.length>0),total:Ur(t.total)??n.length,page:Ur(t.page)??1,sections:r.map((o)=>{let i=o??{};return{id:Ur(i.id)??0,name:bt(i.name)??""}}).filter((o)=>o.name.length>0)}}function zm(e){let t=e??{};return(Array.isArray(t.skills)?t.skills:[]).map((r)=>{let o=r??{};return{pluginId:bt(o.pluginId)??"",name:bt(o.name)??"",description:bt(o.description),fromMarketplace:o.fromMarketplace===!0,enabled:o.enabled!==!1}}).filter((r)=>r.name.length>0)}function ri(e){let t=e??{};return{ok:t.ok===!0,error:bt(t.error),name:bt(t.name),version:bt(t.version)}}import*as ii from"fs/promises";function jr(e){if(e&&typeof e==="object"&&"type"in e){let t=e;if(t.type==="text"&&typeof t.text==="string")return t.text}return""}function oi(e){if(!Array.isArray(e)||e.length===0)return;let t=[];for(let n of e)if(n.type==="content"){let r=jr(n.content);if(r)t.push({text:r})}else if(n.type==="diff")t.push({diff:{path:String(n.path??""),oldText:n.oldText??null,newText:String(n.newText??"")}});return t.length?t:void 0}var Hm="[MODE_UPDATE]",Um="[Model switched",Ds="[TITLE_UPDATE]",Os="[COMPRESSION_STATUS]",Ls="[INPUT_SUGGESTION]";function jm(e,t){let n=e;if(!n||typeof n!=="object")return{};let r=typeof n.terminal_output?.data==="string"?n.terminal_output.data:"",o=r?dv(r):t,i=uv(r,t),a=cv(i.text),s=n.terminal_exit?.exit_code;if(!a)return{text:typeof s==="number"?`[exit code: ${s}]`:void 0,snapshot:o};return{text:typeof s==="number"?`${a}
|
|
674
|
+
[exit code: ${s}]`:a,mode:i.mode,snapshot:o}}function cv(e){if(e.length<=120000)return e;return`[Earlier terminal output truncated before sending to renderer]
|
|
675
|
+
`+e.slice(-120000)}function dv(e){return{length:e.length,tail:e.slice(-4096)}}function uv(e,t){if(!e)return{text:"",mode:"append"};if(!t)return{text:e,mode:"append"};if(e.length<t.length)return{text:e,mode:"replace"};let n=Math.max(0,t.length-t.tail.length);if(e.slice(n,t.length)!==t.tail)return{text:e,mode:"replace"};return{text:e.slice(t.length),mode:"append"}}function Wm(e){let n=e?._meta?.dvcode?.askUserQuestion?.questions;if(!Array.isArray(n)||n.length===0)return;let r=[];for(let o of n){if(!o||typeof o.question!=="string")continue;let i=Array.isArray(o.options)?o.options:[];r.push({question:o.question,header:typeof o.header==="string"?o.header:"Question",multiSelect:o.multiSelect===!0,options:i.filter((a)=>a&&typeof a.label==="string").map((a)=>({label:a.label,description:typeof a.description==="string"?a.description:void 0,preview:typeof a.preview==="string"?a.preview:void 0}))})}return r.length?r:void 0}function Zm(e,t,n=[]){let r={},o={};return e.forEach((i,a)=>{let s=[...t[a]??new Set].sort((m,k)=>m-k),l=s.map((m)=>i.options[m]?.label).filter((m)=>!!m),u=n[a]?.trim();if(u)l.push(u);if(!l.length)return;r[i.question]=l.join(", ");let g=s.length===1?i.options[s[0]]?.preview:void 0;if(g||u)o[i.question]={...g?{preview:g}:{},...u?{notes:u}:{}}}),{answers:r,...Object.keys(o).length?{annotations:o}:{}}}var fv=["shell","claude-code","codex","subagent"],gv=["running","completed","failed","cancelled"];function mv(e){if(!e||typeof e!=="object")return null;let t=e;if(typeof t.id!=="string"||!t.id)return null;if(!fv.includes(t.kind))return null;if(!gv.includes(t.status))return null;let n=Number(t.startedAt);if(!Number.isFinite(n))return null;let r={id:t.id,kind:t.kind,label:typeof t.label==="string"?t.label:"",status:t.status,startedAt:n};if(typeof t.endedAt==="number"&&Number.isFinite(t.endedAt))r.endedAt=t.endedAt;if(typeof t.exitCode==="number"&&Number.isFinite(t.exitCode))r.exitCode=t.exitCode;return r}function Wr(e){if(!Array.isArray(e))return[];let t=[];for(let n of e){let r=mv(n);if(r)t.push(r)}return t}function $s(e){if(!e||typeof e!=="object")return null;let t=e;if(typeof t.id!=="string"||!t.id)return null;let n=Number(t.timestamp),r=Number(t.userMessageIndex);if(!Number.isFinite(n)||!Number.isFinite(r))return null;return{id:t.id,timestamp:n,commitHash:typeof t.commitHash==="string"?t.commitHash:"",userMessageIndex:r,lastUserMessage:typeof t.lastUserMessage==="string"?t.lastUserMessage:"",sessionId:typeof t.sessionId==="string"?t.sessionId:""}}function Km(e){if(!Array.isArray(e))return[];let t=[];for(let n of e){let r=$s(n);if(r)t.push(r)}return t}var hv=200,pv=new Set(["agent_message_chunk","agent_thought_chunk","user_message_chunk"]);class Gs{cb;currentMode;terminalSnapshots=new Map;sinceYield=0;pendingText=null;flushTimer=null;constructor(e,t){this.cb=e;this.currentMode=t}flushPendingText(){if(this.flushTimer)clearTimeout(this.flushTimer),this.flushTimer=null;let e=this.pendingText;if(!e)return;this.pendingText=null,this.cb.emit(e)}queueText(e,t){if(this.pendingText&&this.pendingText.kind===e){this.pendingText.text+=t;return}this.flushPendingText(),this.pendingText={kind:e,text:t},this.flushTimer=setTimeout(()=>{this.flushTimer=null,this.flushPendingText()},0)}async breathe(){if(this.sinceYield+=1,this.sinceYield<hv)return;this.sinceYield=0,this.flushPendingText(),await new Promise((e)=>setTimeout(e,0))}async requestPermission(e){let t=e.options??[],n=e.toolCall,r=Wm(n);this.cb.setStatus("needs_approval");let o=await this.cb.requestPermission({toolCallId:String(n?.toolCallId??""),title:String(n?.title??c("tool.call")),toolKind:n?.kind??"other",content:oi(n?.content),options:t.map((i)=>({optionId:i.optionId,name:i.name,kind:String(i.kind)})),...r?{questions:r}:{}});if(this.cb.setStatus("thinking"),o.outcome==="cancelled")return{outcome:{outcome:"cancelled"}};return{outcome:{outcome:"selected",optionId:o.optionId},...o.answers?{_meta:{dvcode:o.answers}}:{}}}async sessionUpdate(e){await this.breathe();let t=e.update;if(!pv.has(t.sessionUpdate))this.flushPendingText();switch(t.sessionUpdate){case"agent_message_chunk":{let n=jr(t.content);if(!n)break;if(n.startsWith(Hm)||n.startsWith(Um))this.flushPendingText(),this.cb.emit({kind:"mode_marker",mode:n});else if(n.startsWith(Ds)){let r=n.slice(Ds.length).trim();if(r)this.flushPendingText(),this.cb.emit({kind:"title",title:r})}else if(n.startsWith(Os)){let r=n.slice(Os.length).trim();this.flushPendingText(),this.cb.emit({kind:"compression",active:r==="start"})}else if(n.startsWith(Ls)){let[r,...o]=n.slice(Ls.length).trim().split("\t"),i=o.join("\t").trim();if(i)this.flushPendingText(),this.cb.emit({kind:"suggestion",suggestionKind:r.trim(),text:i})}else this.queueText("message_chunk",n);break}case"agent_thought_chunk":{let n=jr(t.content);if(n)this.queueText("thought_chunk",n);break}case"user_message_chunk":{let n=jr(t.content);if(n)this.queueText("user_chunk",n);break}case"tool_call":{this.cb.emit({kind:"tool_call",toolCallId:String(t.toolCallId??""),title:String(t.title??""),toolKind:t.kind??"other",status:"pending",locations:Array.isArray(t.locations)?t.locations.map((n)=>({path:n.path,line:n.line})):void 0,content:oi(t.content),rawInput:t.rawInput&&typeof t.rawInput==="object"&&!Array.isArray(t.rawInput)?t.rawInput:void 0});break}case"tool_call_update":{let n=String(t.toolCallId??""),r=t.status==="pending"||t.status==="in_progress"||t.status==="completed"||t.status==="failed"?t.status:void 0,o=jm(t._meta,this.terminalSnapshots.get(n));if(o.snapshot)this.terminalSnapshots.set(n,o.snapshot);if(r==="completed"||r==="failed")this.terminalSnapshots.delete(n);this.cb.emit({kind:"tool_update",toolCallId:n,status:r,title:typeof t.title==="string"?t.title:void 0,content:oi(t.content),terminalOutput:o.text,terminalOutputMode:o.mode});break}case"plan":{let n=Array.isArray(t.entries)?t.entries.map((r)=>({content:r.content,status:r.status==="completed"||r.status==="in_progress"?r.status:"pending"})):[];this.cb.emit({kind:"plan",entries:n});break}case"usage_update":{this.cb.emit({kind:"usage",used:Number(t.used??0),size:Number(t.size??0)});break}case"available_commands_update":{let n=Array.isArray(t.availableCommands)?t.availableCommands.map((r)=>({name:r.name,description:r.description??""})):[];this.cb.emit({kind:"commands",commands:n});break}default:break}}async readTextFile(e){let t=await ii.readFile(e.path,"utf8");if(e.line!=null&&e.line>1||e.limit!=null&&e.limit>=0){let n=t.split(`
|
|
676
676
|
`),r=e.line!=null?Math.max(0,e.line-1):0,o=e.limit!=null?r+e.limit:n.length;t=n.slice(r,o).join(`
|
|
677
|
-
`)}return{content:t}}async writeTextFile(e){return await
|
|
677
|
+
`)}return{content:t}}async writeTextFile(e){return await ii.writeFile(e.path,e.content,"utf8"),{}}async extMethod(e,t){switch(e){case"_dvcode/host/turnToken":{let n=Number(t.inputTokens),r=Number(t.outputTokens),o=Number(t.cacheReadTokens),i=Number(t.cacheCreationTokens),a=Number(t.credits),s=(l)=>Number.isFinite(l)?Math.max(0,l):0;return this.cb.emit({kind:"turn_token",inputTokens:s(n),outputTokens:s(r),cacheReadTokens:s(o),cacheCreationTokens:s(i),credits:s(a)}),{ok:!0}}case"_dvcode/host/backgroundTasksChanged":return this.cb.emit({kind:"tasks",tasks:Wr(t.tasks)}),{ok:!0};case"_dvcode/host/backgroundTaskCompleted":{let n=typeof t.taskId==="string"?t.taskId:"",r=typeof t.notificationText==="string"?t.notificationText:"";if(n&&r)this.cb.backgroundTaskCompleted?.(n,r);return{ok:!0}}case"_dvcode/host/checkpointCreated":{let n=$s(t.checkpoint);if(n)this.cb.emit({kind:"checkpoint",checkpoint:n});return{ok:!0}}case"_dvcode/host/browser":return{ok:!1,error:"The built-in browser is only available in Easy Code Desktop."};case"_dvcode/host/spawnWorktreeSession":return{ok:!1,error:"Worktree sessions are only available in Easy Code Desktop."};default:throw Ne.methodNotFound(e)}}}function Qm(e){if(e.disposed||!e.hasConnection||e.connectionClosed)return"skip";if(!e.hasSessionId)return"defer";return"send"}async function Ym(e,t,n,r=1e4){if(e.signal.aborted)throw Error(`${t}: connection is already closed`);let o,i,a=new Promise((s,l)=>{o=setTimeout(()=>l(Error(`${t} timed out after ${r}ms`)),r),i=()=>l(Error(`${t}: connection closed`)),e.signal.addEventListener("abort",i,{once:!0})});try{return await Promise.race([e.extMethod(t,n),a])}finally{if(o)clearTimeout(o);if(i)e.signal.removeEventListener("abort",i)}}function lr(e){return e==="thinking"||e==="starting"||e==="needs_approval"}var ai=["off","auto","low","medium","high","xhigh","max"];function Sv(e){return e}function Cv(e){return e==="yolo"||e==="autoEdit"?e:"default"}function Ve(e){if(e instanceof Error)return e.message;if(e&&typeof e==="object"){let t=e,n=t.data?.details;if(typeof n==="string"&&n)return n;if(typeof t.message==="string"&&t.message)return t.message}return String(e)}function vv(e){if(!e||typeof e!=="object")return;let t=e.code;return typeof t==="number"?t:void 0}function Iv(e){let t=Ve(e);return{message:t,authExpired:vv(e)===401||Ms(t)}}function zs(e){if(!e||typeof e!=="object")return null;let t=e,n=(r)=>typeof r==="number"&&Number.isFinite(r)?Math.max(0,r):0;return{limit:n(t.limit),used:n(t.used),remaining:n(t.remaining)}}function Vm(e){let t=e.models;if(t&&Array.isArray(t.availableModels)){let r=[];for(let o of t.availableModels)if(typeof o.modelId==="string")r.push({modelId:o.modelId,name:typeof o.name==="string"?o.name:o.modelId,description:typeof o.description==="string"?o.description:void 0,...typeof o.creditsPerRequest==="number"&&o.creditsPerRequest>0?{creditsPerRequest:o.creditsPerRequest}:{}});if(r.length)return{available:r,current:typeof t.currentModelId==="string"?t.currentModelId:void 0,source:"models"}}let n=e.configOptions;if(Array.isArray(n)){let r=n.find((o)=>o&&typeof o==="object"&&o.id==="model");if(r&&Array.isArray(r.options)){let o=[];for(let i of r.options)if(typeof i.value==="string")o.push({modelId:i.value,name:typeof i.name==="string"?i.name:i.value});if(o.length)return{available:o,current:typeof r.currentValue==="string"?r.currentValue:void 0,source:"configOptions"}}}return{available:[],current:void 0,source:"models"}}function Ev(e){let t=e.modes,n=[];if(t&&Array.isArray(t.availableModes)){for(let r of t.availableModes)if(typeof r.id==="string")n.push({id:r.id,name:typeof r.name==="string"?r.name:r.id,description:typeof r.description==="string"?r.description:void 0})}return{available:n,current:typeof t?.currentModeId==="string"?t.currentModeId:void 0}}function Tv(e){let t=e.configOptions;if(!Array.isArray(t))return;let r=t.find((o)=>o&&typeof o==="object"&&o.id==="thinking")?.currentValue;return typeof r==="string"&&ai.includes(r)?r:void 0}var Bv=97;class Hs{cwd;cb;child;connection;acpSessionId;pendingPromptAbort;disposed=!1;currentMode="default";modelSource="models";pendingSkillsReload=!1;constructor(e,t){this.cwd=e;this.cb=t}get sessionId(){return this.acpSessionId}get mode(){return this.currentMode}async start(e,t){this.cb.setStatus("starting");let n=$m(this.cwd,t);this.cb.log(`spawn: ${n.description}`);let r=Jm(n.command,n.args,{cwd:this.cwd,stdio:["pipe","pipe","pipe"],env:{...yv.env,...n.env}});this.child=r;let o="",i=!1,a,s=new Promise((y,R)=>{a=R});if(s.catch(()=>{return}),r.on("error",(y)=>{if(this.disposed)return;this.cb.setStatus("error"),a?.(y)}),r.stderr?.on("data",(y)=>{let R=y.toString("utf8");o=(o+R).slice(-2000),this.cb.log(R)}),r.stdin?.on("error",()=>{return}),r.on("exit",(y)=>{if(this.disposed)return;if(this.cb.log(`backend exited (code ${y??"null"})`),y===Bv&&i){this.cb.log(c("backend.restartRequested")),this.restartBackend();return}if(this.cb.setStatus("exited"),!i){let R=o.trim();a?.(Error(`The Easy Code backend exited before initializing (code ${y??"null"}).`+(R?`
|
|
678
678
|
Backend output:
|
|
679
|
-
${_}`:"")))}}),!r.stdin||!r.stdout)throw Error(c("backend.pipesFailed"));let l=Rm(gv.toWeb(r.stdin),fv.toWeb(r.stdout)),u=new Gs(this.cb,()=>this.currentMode),m=new _s(()=>u,l);this.connection=m;let g=async()=>(await m.initialize({protocolVersion:Jd,clientCapabilities:{fs:{readTextFile:!0,writeTextFile:!0},terminal:!1,_meta:{terminal_output:!0,terminal_client:!0}}}),this.openSession(e));if(e)this.cb.emit({kind:"restoring",active:!0});let k;try{k=await Promise.race([g(),s])}finally{this.cb.emit({kind:"restoring",active:!1})}return i=!0,this.afterSession(k)}async newSession(){if(!this.connection)throw Error(c("backend.notStarted"));this.acpSessionId=void 0;let e=await this.openSession();return this.afterSession(e)}async openSession(e){let t=this.connection;if(e)try{let r=await t.loadSession({sessionId:e,cwd:this.cwd,mcpServers:[]});return this.acpSessionId=e,r}catch(r){this.cb.log(`loadSession failed, starting fresh: ${String(r)}`)}let n=await t.newSession({cwd:this.cwd,mcpServers:[]});return this.acpSessionId=n.sessionId,n}afterSession(e){let{available:t,current:n,source:r}=Jm(e),o=wv(e);if(this.modelSource=r,this.currentMode=xv(o.current),this.cb.setStatus("idle"),this.pendingSkillsReload)this.reloadSkills().catch((i)=>this.cb.log(`deferred skills/reload failed: ${Ve(i)}`));return{acpSessionId:this.acpSessionId,availableModels:t,availableModes:o.available,model:n,mode:this.currentMode,thinking:Sv(e)}}async refreshModels(){if(!this.connection)throw Error(c("backend.notStarted"));let e=await this.connection.extMethod("_dvcode/models/refresh",{sessionId:this.acpSessionId}),{available:t,current:n}=Jm(e);return{available:t,current:n}}async browseSkillStore(e={},t=!1){if(!this.connection)throw Error(c("backend.notStarted"));let n=await this.connection.extMethod("_dvcode/skills/browse",{sessionId:this.acpSessionId,...e,withSections:t});return $m(n)}async installSkillFromStore(e){if(!this.connection)throw Error(c("backend.notStarted"));let t=await this.connection.extMethod("_dvcode/skills/install",{sessionId:this.acpSessionId,id:e,clientId:"tui"});return ni(t)}async listInstalledSkills(){if(!this.connection)throw Error(c("backend.notStarted"));let e=await this.connection.extMethod("_dvcode/skills/installed",{sessionId:this.acpSessionId});return Gm(e)}async uninstallSkill(e){if(!this.connection)throw Error(c("backend.notStarted"));let t=await this.connection.extMethod("_dvcode/skills/uninstall",{sessionId:this.acpSessionId,identifier:e});return ni(t)}async setInstalledSkillEnabled(e,t){if(!this.connection)throw Error(c("backend.notStarted"));let n=await this.connection.extMethod("_dvcode/skills/setEnabled",{sessionId:this.acpSessionId,identifier:e,enabled:t});return ni(n)}async prompt(e,t=[]){if(!this.connection||!this.acpSessionId)throw Error(c("backend.notStarted"));this.pendingPromptAbort?.abort();let n=new AbortController;this.pendingPromptAbort=n;let r=[{type:"text",text:e}];for(let o of t)r.push({type:"resource_link",uri:Av(o).href,name:hv.basename(o)});this.cb.setStatus("thinking"),this.cb.emit({kind:"turn_start",at:Date.now()});try{let o=await this.connection.prompt({sessionId:this.acpSessionId,prompt:r});this.cb.emit({kind:"turn_end",stopReason:o.stopReason}),this.cb.setStatus("idle")}catch(o){if(n.signal.aborted){this.cb.emit({kind:"turn_end",stopReason:"cancelled"}),this.cb.setStatus("idle");return}this.cb.emit({kind:"error",...yv(o)}),this.cb.setStatus("error")}finally{if(this.pendingPromptAbort===n)this.pendingPromptAbort=void 0}}async cancel(){if(this.pendingPromptAbort?.abort(),this.connection&&this.acpSessionId)await this.connection.cancel({sessionId:this.acpSessionId}).catch(()=>{return})}async setModel(e){if(!this.connection||!this.acpSessionId)throw Error(c("backend.notConnectedModel"));if(this.modelSource==="configOptions")return await this.connection.setSessionConfigOption({sessionId:this.acpSessionId,configId:"model",value:e}),e;let n=(await this.connection.unstable_setSessionModel({sessionId:this.acpSessionId,modelId:e}))?._meta?.dvcode?.currentModelId;return typeof n==="string"&&n?n:e}async setMode(e){if(!this.connection||!this.acpSessionId)return{ok:!1,error:c("backend.notRunning")};try{return await this.connection.setSessionMode({sessionId:this.acpSessionId,modeId:kv(e)}),this.currentMode=e,{ok:!0}}catch(t){let n=Ve(t);return this.cb.log(`setSessionMode failed: ${n}`),{ok:!1,error:n}}}async setThinking(e){if(!this.connection||!this.acpSessionId)return;await this.connection.setSessionConfigOption({sessionId:this.acpSessionId,configId:"thinking",value:e}).catch((t)=>this.cb.log(`setThinking failed: ${Ve(t)}`))}async listCheckpoints(){if(!this.connection||!this.acpSessionId)return[];try{let e=await this.connection.extMethod("_dvcode/session/listCheckpoints",{sessionId:this.acpSessionId});return Zm(e.checkpoints)}catch(e){return this.cb.log(`listCheckpoints failed: ${Ve(e)}`),[]}}async restoreCheckpoint(e){if(!this.connection||!this.acpSessionId)return{ok:!1,error:c("backend.notRunningRestore")};try{return await this.connection.extMethod("_dvcode/session/restoreCheckpoint",{sessionId:this.acpSessionId,checkpointId:e})}catch(t){return{ok:!1,error:Ve(t)}}}async fork(e){if(!this.connection||!this.acpSessionId)throw Error(c("backend.notRunningFork"));let t=await this.connection.extMethod("_dvcode/session/fork",{sessionId:this.acpSessionId,beforeUserMessageIndex:e});if(!t.sessionId)throw Error(c("backend.forkNoId"));return{acpSessionId:t.sessionId}}async injectText(e){if(!this.connection||!this.acpSessionId)return;await this.connection.extMethod("_dvcode/session/injectText",{sessionId:this.acpSessionId,text:e})}async feishuStatus(){if(!this.connection||!this.acpSessionId)return{running:!1};try{let e=await this.connection.extMethod("_dvcode/feishu/status",{sessionId:this.acpSessionId});return e.running===!0?{running:!0,...typeof e.botName==="string"?{botName:e.botName}:{}}:{running:!1}}catch{return{running:!1}}}async creditsSummary(){if(!this.connection||!this.acpSessionId)return{available:!1};try{let e=await this.connection.extMethod("_dvcode/credits/summary",{sessionId:this.acpSessionId});if(e.available!==!0)return{available:!1};let t=(n)=>typeof n==="number"&&Number.isFinite(n)?n:0;return{available:!0,total:t(e.total),used:t(e.used),remaining:t(e.remaining),usagePercentage:t(e.usagePercentage)}}catch(e){return this.cb.log(`credits/summary failed: ${Ve(e)}`),{available:!1}}}async quotaStatus(){if(!this.connection||!this.acpSessionId)return{available:!1};try{let e=await this.connection.extMethod("_dvcode/quota/status",{sessionId:this.acpSessionId});if(e.available!==!0)return{available:!1};return{available:!0,daily:zs(e.daily),zhWeekly:zs(e.zhWeekly),bjWeekly:zs(e.bjWeekly)}}catch(e){return this.cb.log(`quota/status failed: ${Ve(e)}`),{available:!1}}}async modeStatus(){if(!this.connection||!this.acpSessionId)return{planModeActive:!1,goal:null};try{let e=await this.connection.extMethod("_dvcode/session/status",{sessionId:this.acpSessionId});return{planModeActive:!!e.planModeActive,goal:e.goal&&typeof e.goal.startedAt==="number"?e.goal:null}}catch(e){return this.cb.log(`session/status failed: ${Ve(e)}`),{planModeActive:!1,goal:null}}}async planSet(e){if(!this.connection||!this.acpSessionId)return{planModeActive:!1};return{planModeActive:!!(await this.connection.extMethod("_dvcode/plan/set",{sessionId:this.acpSessionId,active:e})).planModeActive}}async goalStart(e){if(!this.connection||!this.acpSessionId)throw Error(c("backend.notRunningGoal"));let t=await this.connection.extMethod("_dvcode/goal/start",{sessionId:this.acpSessionId,...e});if(!t.prompt)throw Error(c("backend.goalNoPrompt"));return{prompt:t.prompt,yoloWasEnabled:!!t.yoloWasEnabled}}async goalClear(){if(!this.connection||!this.acpSessionId)return{wasActive:!1,injected:!1};let e=await this.connection.extMethod("_dvcode/goal/clear",{sessionId:this.acpSessionId});return{wasActive:!!e.wasActive,injected:!!e.injected,clearMessage:typeof e.clearMessage==="string"?e.clearMessage:void 0}}async btwAsk(e){if(!this.connection||!this.acpSessionId)return{text:"",status:"failed",error:c("backend.notRunning")};try{let t=await this.connection.extMethod("_dvcode/btw/ask",{sessionId:this.acpSessionId,question:e}),n=t.status==="success"||t.status==="cancelled"?t.status:"failed";return{text:typeof t.text==="string"?t.text:"",status:n,error:typeof t.error==="string"?t.error:void 0}}catch(t){return{text:"",status:"failed",error:Ve(t)}}}async reloadSkills(){let e=this.connection,t=Km({disposed:this.disposed,hasConnection:!!e,connectionClosed:!!e&&e.signal.aborted,hasSessionId:!!this.acpSessionId});if(t==="skip"){this.pendingSkillsReload=!1;return}if(t==="defer"){this.pendingSkillsReload=!0;return}this.pendingSkillsReload=!1;let n=await Qm(e,"_dvcode/skills/reload",{sessionId:this.acpSessionId});if(n&&n.ok===!1)this.cb.log(`skills/reload backend error: ${String(n.error??"unknown")}`)}async reloadAuth(){let e=this.connection;if(!e||e.signal.aborted||!this.acpSessionId)return;try{let t=await e.extMethod("_dvcode/auth/reload",{sessionId:this.acpSessionId});if(t&&t.ok===!1)this.cb.log(`auth/reload backend error: ${String(t.error??"unknown")}`)}catch(t){this.cb.log(`auth/reload failed: ${Ve(t)}`)}}async tasksList(){if(!this.connection||!this.acpSessionId)return[];try{let e=await this.connection.extMethod("_dvcode/tasks/list",{sessionId:this.acpSessionId});return jr(e.tasks)}catch(e){return this.cb.log(`tasks/list failed: ${Ve(e)}`),[]}}async tasksStop(e){if(!this.connection||!this.acpSessionId)return{ok:!1,error:c("backend.notRunning")};try{let t=await this.connection.extMethod("_dvcode/tasks/stop",{sessionId:this.acpSessionId,taskId:e});return{ok:!!t.ok,error:typeof t.error==="string"?t.error:void 0}}catch(t){return{ok:!1,error:Ve(t)}}}async tasksOutput(e){if(!this.connection||!this.acpSessionId)return{ok:!1,error:c("backend.notRunning")};try{let t=await this.connection.extMethod("_dvcode/tasks/output",{sessionId:this.acpSessionId,taskId:e});return{ok:!!t.ok,output:typeof t.output==="string"?t.output:void 0,stderr:typeof t.stderr==="string"?t.stderr:void 0,status:t.status==="running"||t.status==="completed"||t.status==="failed"||t.status==="cancelled"?t.status:void 0,error:typeof t.error==="string"?t.error:void 0}}catch(t){return{ok:!1,error:Ve(t)}}}async requestBackground(){if(!this.connection||!this.acpSessionId)return{ok:!1,error:c("backend.notRunning")};try{let e=await this.connection.extMethod("_dvcode/tasks/background",{sessionId:this.acpSessionId});return{ok:!!e.ok,error:typeof e.error==="string"?e.error:void 0}}catch(e){return{ok:!1,error:Ve(e)}}}async tasksClear(){if(!this.connection||!this.acpSessionId)return{ok:!1,cleared:0,tasks:[]};try{let e=await this.connection.extMethod("_dvcode/tasks/clear",{sessionId:this.acpSessionId});return{ok:!!e.ok,cleared:typeof e.cleared==="number"?e.cleared:0,tasks:jr(e.tasks)}}catch(e){return this.cb.log(`tasks/clear failed: ${Ve(e)}`),{ok:!1,cleared:0,tasks:[]}}}async restartBackend(){let e=this.acpSessionId;this.connection=void 0,this.child=void 0,this.acpSessionId=void 0;try{let t=await this.start(e);this.cb.log(c("backend.restarted")),this.cb.restarted?.(t)}catch(t){if(this.disposed)return;this.cb.log(`backend restart failed: ${Ve(t)}`),this.cb.setStatus("exited")}}async dispose(){this.disposed=!0,this.pendingPromptAbort?.abort();try{if(this.child&&!this.child.killed)if(mv.platform()==="win32"&&this.child.pid)Ym("taskkill",["/pid",String(this.child.pid),"/f","/t"]);else this.child.kill("SIGTERM")}catch{}this.child=void 0,this.connection=void 0}}import{spawn as Rv}from"child_process";import{createRequire as _v}from"module";import sh from"path";import Js from"process";function Kr(){return Js.env.DEEPX_SERVER_URL||"https://api-code.deepvlab.ai"}function Pv(){return Js.env.DEEPX_WEB_URL||"https://easycode.bot"}async function Mv(){try{await Promise.resolve().then(() => Us());let n=_v(import.meta.url).resolve("easycode-core/dist/src/auth/login/authServer.js");sn.setBasePath(sh.join(sh.dirname(n),"..",".."))}catch{}}var lh;function lr(){return lh??=(async()=>{await Mv();let e=await Promise.resolve().then(() => (Qs(),{})),t=await Promise.resolve().then(() => (ah(),{})),n=await Promise.resolve().then(() => ({}));return{manager:bt.getInstance(),createAuthServer:()=>new ih,userAgent:()=>{try{return rt()}catch{return"EasyCode-Tui/1.0"}}}})(),lh}function Fv(e){if(!e)return;let t=e.userId||e.openId||"";if(!t)return;return{userId:t,name:e.name||"",email:e.email,avatar:e.avatar}}async function Nv(e){let{manager:t}=e??await lr();return{loggedIn:t.isConfigured(),user:Fv(t.getUserInfo()),serverUrl:Kr()}}async function Dv(e,t){let n=e.trim();if(!n)return{ok:!1,error:c("auth.error.emptyKey")};let r=t??await lr();try{let o=await fetch(`${Kr()}/auth/jwt/apikey-login`,{method:"POST",headers:{Authorization:`Bearer ${n}`,"Content-Type":"application/json","User-Agent":r.userAgent()}});if(!o.ok){let a=await o.text().catch(()=>"");return{ok:!1,error:`Login failed (HTTP ${o.status})${a?`: ${a}`:""}`}}let i=await o.json();if(!i.success||!i.accessToken)return{ok:!1,error:i.message||i.error||c("auth.error.unknown")};if(r.manager.setJwtTokenData({accessToken:i.accessToken,refreshToken:i.refreshToken,expiresIn:i.expiresIn||900}),i.user)r.manager.setUserInfo({openId:i.user.openId||i.user.userId||"",userId:i.user.userId||i.user.openId||"",name:i.user.name||"",enName:i.user.name,email:i.user.email,avatar:i.user.avatar});return{ok:!0}}catch(o){return{ok:!1,error:o instanceof Error?o.message:String(o)}}}async function di(e,t={}){let n;try{n=new URL(e)}catch{return{ok:!1,error:`Not a URL: ${e}`}}if(n.protocol!=="http:"&&n.protocol!=="https:")return{ok:!1,error:`Refusing to open a non-web URL: ${n.protocol}`};let{command:r,args:o}=Ov(t.platform??Js.platform,n.href),i=t.launch??$v;try{return await i(r,o)}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}function Ov(e,t){if(e==="win32")return{command:"cmd",args:["/c","start","",t]};if(e==="darwin")return{command:"open",args:[t]};return{command:"xdg-open",args:[t]}}var Lv=250;function $v(e,t){return new Promise((n)=>{let r=!1,o=(s)=>{if(r)return;r=!0,n(s)},i=(s)=>{try{s.unref()}catch{}},a;try{a=Rv(e,t,{detached:!0,stdio:"ignore"})}catch(s){o({ok:!1,error:s instanceof Error?s.message:String(s)});return}a.on("error",(s)=>o({ok:!1,error:s.message})),a.on("spawn",()=>{i(a),o({ok:!0})}),setTimeout(()=>{i(a),o({ok:!0})},Lv)})}class ch{server;async start(e,t,n=di){try{this.stop();let r=t??await lr(),o=r.createAuthServer();await o.start(),this.server=o,r.manager.onLoginSuccess(()=>{try{e()}finally{this.stop()}});let i=`http://localhost:${o.getActualSelectPort()}`,a=await n(i);return{ok:!0,url:i,...a.ok?{}:{error:a.error}}}catch(r){return this.stop(),{ok:!1,error:r instanceof Error?r.message:String(r)}}}stop(){try{this.server?.stop()}catch{}this.server=void 0}}async function Gv(e,t=di){let n=e??await lr();try{let r=null;try{r=await n.manager.getAccessToken()}catch{}if(!r)return{ok:!1,error:c("auth.error.noCredentials")};let o=await fetch(`${Kr()}/auth/temp-code/generate`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${r}`,"User-Agent":n.userAgent()},body:JSON.stringify({expiresIn:600})});if(!o.ok){let a=await o.text().catch(()=>"");return{ok:!1,error:`Could not generate a temp login code (HTTP ${o.status})${a?`: ${a}`:""}`}}let i=await o.json();if(!i.success||!i.code)return{ok:!1,error:`Could not generate a temp login code: ${i.error||"unknown"}`};return await t(`${Pv()}/token-login?code=${encodeURIComponent(i.code)}&redirect=/userinfo&method=dvcode`)}catch(r){return{ok:!1,error:r instanceof Error?r.message:String(r)}}}async function zv(e){let t=e??await lr();try{t.manager.clear()}catch{}}function dh(){let e=new ch,t=()=>lr();return{async getStatus(){return Nv(await t())},async loginWithApiKey(n){return Dv(n,await t())},async startBrowserLogin(n){return e.start(n,await t())},cancelBrowserLogin(){e.stop()},async logout(){return zv(await t())},async openAccountPage(){return Gv(await t())}}}import{spawnSync as jv}from"child_process";import{existsSync as Wv,readFileSync as mh,statSync as Zv}from"fs";import*as qs from"path";class ui{diff(e,t,n={}){let r;if(typeof n==="function")r=n,n={};else if("callback"in n)r=n.callback;let o=this.castInput(e,n),i=this.castInput(t,n),a=this.removeEmpty(this.tokenize(o,n)),s=this.removeEmpty(this.tokenize(i,n));return this.diffWithOptionsObj(a,s,n,r)}diffWithOptionsObj(e,t,n,r){var o;let i=(N)=>{if(N=this.postProcess(N,n),r){setTimeout(function(){r(N)},0);return}else return N},a=t.length,s=e.length,l=1,u=a+s;if(n.maxEditLength!=null)u=Math.min(u,n.maxEditLength);let m=(o=n.timeout)!==null&&o!==void 0?o:1/0,g=Date.now()+m,k=[{oldPos:-1,lastComponent:void 0}],y=this.extractCommon(k[0],t,e,0,n);if(k[0].oldPos+1>=s&&y+1>=a)return i(this.buildValues(k[0].lastComponent,t,e));let _=-1/0,U=1/0,D=()=>{for(let N=Math.max(_,-l);N<=Math.min(U,l);N+=2){let S,z=k[N-1],w=k[N+1];if(z)k[N-1]=void 0;let b=!1;if(w){let F=w.oldPos-N;b=w&&0<=F&&F<a}let v=z&&z.oldPos+1<s;if(!b&&!v){k[N]=void 0;continue}if(!v||b&&z.oldPos<w.oldPos)S=this.addToPath(w,!0,!1,0,n);else S=this.addToPath(z,!1,!0,1,n);if(y=this.extractCommon(S,t,e,N,n),S.oldPos+1>=s&&y+1>=a)return i(this.buildValues(S.lastComponent,t,e))||!0;else{if(k[N]=S,S.oldPos+1>=s)U=Math.min(U,N-1);if(y+1>=a)_=Math.max(_,N+1)}}l++};if(r)(function N(){setTimeout(function(){if(l>u||Date.now()>g)return r(void 0);if(!D())N()},0)})();else while(l<=u&&Date.now()<=g){let N=D();if(N)return N}}addToPath(e,t,n,r,o){let i=e.lastComponent;if(i&&!o.oneChangePerToken&&i.added===t&&i.removed===n)return{oldPos:e.oldPos+r,lastComponent:{count:i.count+1,added:t,removed:n,previousComponent:i.previousComponent}};else return{oldPos:e.oldPos+r,lastComponent:{count:1,added:t,removed:n,previousComponent:i}}}extractCommon(e,t,n,r,o){let i=t.length,a=n.length,s=e.oldPos,l=s-r,u=0;while(l+1<i&&s+1<a&&this.equals(n[s+1],t[l+1],o))if(l++,s++,u++,o.oneChangePerToken)e.lastComponent={count:1,previousComponent:e.lastComponent,added:!1,removed:!1};if(u&&!o.oneChangePerToken)e.lastComponent={count:u,previousComponent:e.lastComponent,added:!1,removed:!1};return e.oldPos=s,l}equals(e,t,n){if(n.comparator)return n.comparator(e,t);else return e===t||!!n.ignoreCase&&e.toLowerCase()===t.toLowerCase()}removeEmpty(e){let t=[];for(let n=0;n<e.length;n++)if(e[n])t.push(e[n]);return t}castInput(e,t){return e}tokenize(e,t){return Array.from(e)}join(e){return e.join("")}postProcess(e,t){return e}get useLongestToken(){return!1}buildValues(e,t,n){let r=[],o;while(e)r.push(e),o=e.previousComponent,delete e.previousComponent,e=o;r.reverse();let i=r.length,a=0,s=0,l=0;for(;a<i;a++){let u=r[a];if(!u.removed){if(!u.added&&this.useLongestToken){let m=t.slice(s,s+u.count);m=m.map(function(g,k){let y=n[l+k];return y.length>g.length?y:g}),u.value=this.join(m)}else u.value=this.join(t.slice(s,s+u.count));if(s+=u.count,!u.added)l+=u.count}else u.value=this.join(n.slice(l,l+u.count)),l+=u.count}return r}}class uh extends ui{constructor(){super(...arguments);this.tokenize=Hv}equals(e,t,n){if(n.ignoreWhitespace){if(!n.newlineIsToken||!e.includes(`
|
|
679
|
+
${R}`:"")))}}),!r.stdin||!r.stdout)throw Error(c("backend.pipesFailed"));let l=_m(kv.toWeb(r.stdin),Av.toWeb(r.stdout)),u=new Gs(this.cb,()=>this.currentMode),g=new _s(()=>u,l);this.connection=g;let m=async()=>(await g.initialize({protocolVersion:Vd,clientCapabilities:{fs:{readTextFile:!0,writeTextFile:!0},terminal:!1,_meta:{terminal_output:!0,terminal_client:!0}}}),this.openSession(e));if(e)this.cb.emit({kind:"restoring",active:!0});let k;try{k=await Promise.race([m(),s])}finally{this.cb.emit({kind:"restoring",active:!1})}return i=!0,this.afterSession(k)}async newSession(){if(!this.connection)throw Error(c("backend.notStarted"));this.acpSessionId=void 0;let e=await this.openSession();return this.afterSession(e)}async openSession(e){let t=this.connection;if(e)try{let r=await t.loadSession({sessionId:e,cwd:this.cwd,mcpServers:[]});return this.acpSessionId=e,r}catch(r){this.cb.log(`loadSession failed, starting fresh: ${String(r)}`)}let n=await t.newSession({cwd:this.cwd,mcpServers:[]});return this.acpSessionId=n.sessionId,n}afterSession(e){let{available:t,current:n,source:r}=Vm(e),o=Ev(e);if(this.modelSource=r,this.currentMode=Cv(o.current),this.cb.setStatus("idle"),this.pendingSkillsReload)this.reloadSkills().catch((i)=>this.cb.log(`deferred skills/reload failed: ${Ve(i)}`));return{acpSessionId:this.acpSessionId,availableModels:t,availableModes:o.available,model:n,mode:this.currentMode,thinking:Tv(e)}}async refreshModels(){if(!this.connection)throw Error(c("backend.notStarted"));let e=await this.connection.extMethod("_dvcode/models/refresh",{sessionId:this.acpSessionId}),{available:t,current:n}=Vm(e);return{available:t,current:n}}async browseSkillStore(e={},t=!1){if(!this.connection)throw Error(c("backend.notStarted"));let n=await this.connection.extMethod("_dvcode/skills/browse",{sessionId:this.acpSessionId,...e,withSections:t});return Gm(n)}async installSkillFromStore(e){if(!this.connection)throw Error(c("backend.notStarted"));let t=await this.connection.extMethod("_dvcode/skills/install",{sessionId:this.acpSessionId,id:e,clientId:"tui"});return ri(t)}async listInstalledSkills(){if(!this.connection)throw Error(c("backend.notStarted"));let e=await this.connection.extMethod("_dvcode/skills/installed",{sessionId:this.acpSessionId});return zm(e)}async uninstallSkill(e){if(!this.connection)throw Error(c("backend.notStarted"));let t=await this.connection.extMethod("_dvcode/skills/uninstall",{sessionId:this.acpSessionId,identifier:e});return ri(t)}async setInstalledSkillEnabled(e,t){if(!this.connection)throw Error(c("backend.notStarted"));let n=await this.connection.extMethod("_dvcode/skills/setEnabled",{sessionId:this.acpSessionId,identifier:e,enabled:t});return ri(n)}async prompt(e,t=[]){if(!this.connection||!this.acpSessionId)throw Error(c("backend.notStarted"));this.pendingPromptAbort?.abort();let n=new AbortController;this.pendingPromptAbort=n;let r=[{type:"text",text:e}];for(let o of t)r.push({type:"resource_link",uri:wv(o).href,name:bv.basename(o)});this.cb.setStatus("thinking"),this.cb.emit({kind:"turn_start",at:Date.now()});try{let o=await this.connection.prompt({sessionId:this.acpSessionId,prompt:r});this.cb.emit({kind:"turn_end",stopReason:o.stopReason}),this.cb.setStatus("idle")}catch(o){if(n.signal.aborted){this.cb.emit({kind:"turn_end",stopReason:"cancelled"}),this.cb.setStatus("idle");return}this.cb.emit({kind:"error",...Iv(o)}),this.cb.setStatus("error")}finally{if(this.pendingPromptAbort===n)this.pendingPromptAbort=void 0}}async cancel(){if(this.pendingPromptAbort?.abort(),this.connection&&this.acpSessionId)await this.connection.cancel({sessionId:this.acpSessionId}).catch(()=>{return})}async setModel(e){if(!this.connection||!this.acpSessionId)throw Error(c("backend.notConnectedModel"));if(this.modelSource==="configOptions")return await this.connection.setSessionConfigOption({sessionId:this.acpSessionId,configId:"model",value:e}),e;let n=(await this.connection.unstable_setSessionModel({sessionId:this.acpSessionId,modelId:e}))?._meta?.dvcode?.currentModelId;return typeof n==="string"&&n?n:e}async setMode(e){if(!this.connection||!this.acpSessionId)return{ok:!1,error:c("backend.notRunning")};try{return await this.connection.setSessionMode({sessionId:this.acpSessionId,modeId:Sv(e)}),this.currentMode=e,{ok:!0}}catch(t){let n=Ve(t);return this.cb.log(`setSessionMode failed: ${n}`),{ok:!1,error:n}}}async setThinking(e){if(!this.connection||!this.acpSessionId)return;await this.connection.setSessionConfigOption({sessionId:this.acpSessionId,configId:"thinking",value:e}).catch((t)=>this.cb.log(`setThinking failed: ${Ve(t)}`))}async listCheckpoints(){if(!this.connection||!this.acpSessionId)return[];try{let e=await this.connection.extMethod("_dvcode/session/listCheckpoints",{sessionId:this.acpSessionId});return Km(e.checkpoints)}catch(e){return this.cb.log(`listCheckpoints failed: ${Ve(e)}`),[]}}async restoreCheckpoint(e){if(!this.connection||!this.acpSessionId)return{ok:!1,error:c("backend.notRunningRestore")};try{return await this.connection.extMethod("_dvcode/session/restoreCheckpoint",{sessionId:this.acpSessionId,checkpointId:e})}catch(t){return{ok:!1,error:Ve(t)}}}async fork(e){if(!this.connection||!this.acpSessionId)throw Error(c("backend.notRunningFork"));let t=await this.connection.extMethod("_dvcode/session/fork",{sessionId:this.acpSessionId,beforeUserMessageIndex:e});if(!t.sessionId)throw Error(c("backend.forkNoId"));return{acpSessionId:t.sessionId}}async injectText(e){if(!this.connection||!this.acpSessionId)return;await this.connection.extMethod("_dvcode/session/injectText",{sessionId:this.acpSessionId,text:e})}async feishuStatus(){if(!this.connection||!this.acpSessionId)return{running:!1};try{let e=await this.connection.extMethod("_dvcode/feishu/status",{sessionId:this.acpSessionId});return e.running===!0?{running:!0,...typeof e.botName==="string"?{botName:e.botName}:{}}:{running:!1}}catch{return{running:!1}}}async creditsSummary(){if(!this.connection||!this.acpSessionId)return{available:!1};try{let e=await this.connection.extMethod("_dvcode/credits/summary",{sessionId:this.acpSessionId});if(e.available!==!0)return{available:!1};let t=(n)=>typeof n==="number"&&Number.isFinite(n)?n:0;return{available:!0,total:t(e.total),used:t(e.used),remaining:t(e.remaining),usagePercentage:t(e.usagePercentage)}}catch(e){return this.cb.log(`credits/summary failed: ${Ve(e)}`),{available:!1}}}async quotaStatus(){if(!this.connection||!this.acpSessionId)return{available:!1};try{let e=await this.connection.extMethod("_dvcode/quota/status",{sessionId:this.acpSessionId});if(e.available!==!0)return{available:!1};return{available:!0,daily:zs(e.daily),zhWeekly:zs(e.zhWeekly),bjWeekly:zs(e.bjWeekly)}}catch(e){return this.cb.log(`quota/status failed: ${Ve(e)}`),{available:!1}}}async modeStatus(){if(!this.connection||!this.acpSessionId)return{planModeActive:!1,goal:null};try{let e=await this.connection.extMethod("_dvcode/session/status",{sessionId:this.acpSessionId});return{planModeActive:!!e.planModeActive,goal:e.goal&&typeof e.goal.startedAt==="number"?e.goal:null}}catch(e){return this.cb.log(`session/status failed: ${Ve(e)}`),{planModeActive:!1,goal:null}}}async planSet(e){if(!this.connection||!this.acpSessionId)return{planModeActive:!1};return{planModeActive:!!(await this.connection.extMethod("_dvcode/plan/set",{sessionId:this.acpSessionId,active:e})).planModeActive}}async goalStart(e){if(!this.connection||!this.acpSessionId)throw Error(c("backend.notRunningGoal"));let t=await this.connection.extMethod("_dvcode/goal/start",{sessionId:this.acpSessionId,...e});if(!t.prompt)throw Error(c("backend.goalNoPrompt"));return{prompt:t.prompt,yoloWasEnabled:!!t.yoloWasEnabled}}async goalClear(){if(!this.connection||!this.acpSessionId)return{wasActive:!1,injected:!1};let e=await this.connection.extMethod("_dvcode/goal/clear",{sessionId:this.acpSessionId});return{wasActive:!!e.wasActive,injected:!!e.injected,clearMessage:typeof e.clearMessage==="string"?e.clearMessage:void 0}}async btwAsk(e){if(!this.connection||!this.acpSessionId)return{text:"",status:"failed",error:c("backend.notRunning")};try{let t=await this.connection.extMethod("_dvcode/btw/ask",{sessionId:this.acpSessionId,question:e}),n=t.status==="success"||t.status==="cancelled"?t.status:"failed";return{text:typeof t.text==="string"?t.text:"",status:n,error:typeof t.error==="string"?t.error:void 0}}catch(t){return{text:"",status:"failed",error:Ve(t)}}}async reloadSkills(){let e=this.connection,t=Qm({disposed:this.disposed,hasConnection:!!e,connectionClosed:!!e&&e.signal.aborted,hasSessionId:!!this.acpSessionId});if(t==="skip"){this.pendingSkillsReload=!1;return}if(t==="defer"){this.pendingSkillsReload=!0;return}this.pendingSkillsReload=!1;let n=await Ym(e,"_dvcode/skills/reload",{sessionId:this.acpSessionId});if(n&&n.ok===!1)this.cb.log(`skills/reload backend error: ${String(n.error??"unknown")}`)}async reloadAuth(){let e=this.connection;if(!e||e.signal.aborted||!this.acpSessionId)return;try{let t=await e.extMethod("_dvcode/auth/reload",{sessionId:this.acpSessionId});if(t&&t.ok===!1)this.cb.log(`auth/reload backend error: ${String(t.error??"unknown")}`)}catch(t){this.cb.log(`auth/reload failed: ${Ve(t)}`)}}async tasksList(){if(!this.connection||!this.acpSessionId)return[];try{let e=await this.connection.extMethod("_dvcode/tasks/list",{sessionId:this.acpSessionId});return Wr(e.tasks)}catch(e){return this.cb.log(`tasks/list failed: ${Ve(e)}`),[]}}async tasksStop(e){if(!this.connection||!this.acpSessionId)return{ok:!1,error:c("backend.notRunning")};try{let t=await this.connection.extMethod("_dvcode/tasks/stop",{sessionId:this.acpSessionId,taskId:e});return{ok:!!t.ok,error:typeof t.error==="string"?t.error:void 0}}catch(t){return{ok:!1,error:Ve(t)}}}async tasksOutput(e){if(!this.connection||!this.acpSessionId)return{ok:!1,error:c("backend.notRunning")};try{let t=await this.connection.extMethod("_dvcode/tasks/output",{sessionId:this.acpSessionId,taskId:e});return{ok:!!t.ok,output:typeof t.output==="string"?t.output:void 0,stderr:typeof t.stderr==="string"?t.stderr:void 0,status:t.status==="running"||t.status==="completed"||t.status==="failed"||t.status==="cancelled"?t.status:void 0,error:typeof t.error==="string"?t.error:void 0}}catch(t){return{ok:!1,error:Ve(t)}}}async requestBackground(){if(!this.connection||!this.acpSessionId)return{ok:!1,error:c("backend.notRunning")};try{let e=await this.connection.extMethod("_dvcode/tasks/background",{sessionId:this.acpSessionId});return{ok:!!e.ok,error:typeof e.error==="string"?e.error:void 0}}catch(e){return{ok:!1,error:Ve(e)}}}async tasksClear(){if(!this.connection||!this.acpSessionId)return{ok:!1,cleared:0,tasks:[]};try{let e=await this.connection.extMethod("_dvcode/tasks/clear",{sessionId:this.acpSessionId});return{ok:!!e.ok,cleared:typeof e.cleared==="number"?e.cleared:0,tasks:Wr(e.tasks)}}catch(e){return this.cb.log(`tasks/clear failed: ${Ve(e)}`),{ok:!1,cleared:0,tasks:[]}}}async restartBackend(){let e=this.acpSessionId;this.connection=void 0,this.child=void 0,this.acpSessionId=void 0;try{let t=await this.start(e);this.cb.log(c("backend.restarted")),this.cb.restarted?.(t)}catch(t){if(this.disposed)return;this.cb.log(`backend restart failed: ${Ve(t)}`),this.cb.setStatus("exited")}}async dispose(){this.disposed=!0,this.pendingPromptAbort?.abort();try{if(this.child&&!this.child.killed)if(xv.platform()==="win32"&&this.child.pid)Jm("taskkill",["/pid",String(this.child.pid),"/f","/t"]);else this.child.kill("SIGTERM")}catch{}this.child=void 0,this.connection=void 0}}import{spawn as Nv}from"child_process";import{createRequire as Dv}from"module";import lh from"path";import Js from"process";function Qr(){return Js.env.DEEPX_SERVER_URL||"https://api-code.deepvlab.ai"}function Ov(){return Js.env.DEEPX_WEB_URL||"https://easycode.bot"}async function Lv(){try{await Promise.resolve().then(() => Us());let n=Dv(import.meta.url).resolve("easycode-core/dist/src/auth/login/authServer.js");sn.setBasePath(lh.join(lh.dirname(n),"..",".."))}catch{}}var ch;function cr(){return ch??=(async()=>{await Lv();let e=await Promise.resolve().then(() => (Qs(),{})),t=await Promise.resolve().then(() => (sh(),{})),n=await Promise.resolve().then(() => ({}));return{manager:yt.getInstance(),createAuthServer:()=>new ah,userAgent:()=>{try{return rt()}catch{return"EasyCode-Tui/1.0"}}}})(),ch}function $v(e){if(!e)return;let t=e.userId||e.openId||"";if(!t)return;return{userId:t,name:e.name||"",email:e.email,avatar:e.avatar}}async function Gv(e){let{manager:t}=e??await cr();return{loggedIn:t.isConfigured(),user:$v(t.getUserInfo()),serverUrl:Qr()}}async function zv(e,t){let n=e.trim();if(!n)return{ok:!1,error:c("auth.error.emptyKey")};let r=t??await cr();try{let o=await fetch(`${Qr()}/auth/jwt/apikey-login`,{method:"POST",headers:{Authorization:`Bearer ${n}`,"Content-Type":"application/json","User-Agent":r.userAgent()}});if(!o.ok){let a=await o.text().catch(()=>"");return{ok:!1,error:`Login failed (HTTP ${o.status})${a?`: ${a}`:""}`}}let i=await o.json();if(!i.success||!i.accessToken)return{ok:!1,error:i.message||i.error||c("auth.error.unknown")};if(r.manager.setJwtTokenData({accessToken:i.accessToken,refreshToken:i.refreshToken,expiresIn:i.expiresIn||900}),i.user)r.manager.setUserInfo({openId:i.user.openId||i.user.userId||"",userId:i.user.userId||i.user.openId||"",name:i.user.name||"",enName:i.user.name,email:i.user.email,avatar:i.user.avatar});return{ok:!0}}catch(o){return{ok:!1,error:o instanceof Error?o.message:String(o)}}}async function ui(e,t={}){let n;try{n=new URL(e)}catch{return{ok:!1,error:`Not a URL: ${e}`}}if(n.protocol!=="http:"&&n.protocol!=="https:")return{ok:!1,error:`Refusing to open a non-web URL: ${n.protocol}`};let{command:r,args:o}=Hv(t.platform??Js.platform,n.href),i=t.launch??jv;try{return await i(r,o)}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}function Hv(e,t){if(e==="win32")return{command:"cmd",args:["/c","start","",t]};if(e==="darwin")return{command:"open",args:[t]};return{command:"xdg-open",args:[t]}}var Uv=250;function jv(e,t){return new Promise((n)=>{let r=!1,o=(s)=>{if(r)return;r=!0,n(s)},i=(s)=>{try{s.unref()}catch{}},a;try{a=Nv(e,t,{detached:!0,stdio:"ignore"})}catch(s){o({ok:!1,error:s instanceof Error?s.message:String(s)});return}a.on("error",(s)=>o({ok:!1,error:s.message})),a.on("spawn",()=>{i(a),o({ok:!0})}),setTimeout(()=>{i(a),o({ok:!0})},Uv)})}class dh{server;async start(e,t,n=ui){try{this.stop();let r=t??await cr(),o=r.createAuthServer();await o.start(),this.server=o,r.manager.onLoginSuccess(()=>{try{e()}finally{this.stop()}});let i=`http://localhost:${o.getActualSelectPort()}`,a=await n(i);return{ok:!0,url:i,...a.ok?{}:{error:a.error}}}catch(r){return this.stop(),{ok:!1,error:r instanceof Error?r.message:String(r)}}}stop(){try{this.server?.stop()}catch{}this.server=void 0}}async function Wv(e,t=ui){let n=e??await cr();try{let r=null;try{r=await n.manager.getAccessToken()}catch{}if(!r)return{ok:!1,error:c("auth.error.noCredentials")};let o=await fetch(`${Qr()}/auth/temp-code/generate`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${r}`,"User-Agent":n.userAgent()},body:JSON.stringify({expiresIn:600})});if(!o.ok){let a=await o.text().catch(()=>"");return{ok:!1,error:`Could not generate a temp login code (HTTP ${o.status})${a?`: ${a}`:""}`}}let i=await o.json();if(!i.success||!i.code)return{ok:!1,error:`Could not generate a temp login code: ${i.error||"unknown"}`};return await t(`${Ov()}/token-login?code=${encodeURIComponent(i.code)}&redirect=/userinfo&method=dvcode`)}catch(r){return{ok:!1,error:r instanceof Error?r.message:String(r)}}}async function Zv(e){let t=e??await cr();try{t.manager.clear()}catch{}}function uh(){let e=new dh,t=()=>cr();return{async getStatus(){return Gv(await t())},async loginWithApiKey(n){return zv(n,await t())},async startBrowserLogin(n){return e.start(n,await t())},cancelBrowserLogin(){e.stop()},async logout(){return Zv(await t())},async openAccountPage(){return Wv(await t())}}}import{spawnSync as Yv}from"child_process";import{existsSync as Jv,readFileSync as hh,statSync as Vv}from"fs";import*as qs from"path";class fi{diff(e,t,n={}){let r;if(typeof n==="function")r=n,n={};else if("callback"in n)r=n.callback;let o=this.castInput(e,n),i=this.castInput(t,n),a=this.removeEmpty(this.tokenize(o,n)),s=this.removeEmpty(this.tokenize(i,n));return this.diffWithOptionsObj(a,s,n,r)}diffWithOptionsObj(e,t,n,r){var o;let i=(P)=>{if(P=this.postProcess(P,n),r){setTimeout(function(){r(P)},0);return}else return P},a=t.length,s=e.length,l=1,u=a+s;if(n.maxEditLength!=null)u=Math.min(u,n.maxEditLength);let g=(o=n.timeout)!==null&&o!==void 0?o:1/0,m=Date.now()+g,k=[{oldPos:-1,lastComponent:void 0}],y=this.extractCommon(k[0],t,e,0,n);if(k[0].oldPos+1>=s&&y+1>=a)return i(this.buildValues(k[0].lastComponent,t,e));let R=-1/0,N=1/0,M=()=>{for(let P=Math.max(R,-l);P<=Math.min(N,l);P+=2){let w,L=k[P-1],S=k[P+1];if(L)k[P-1]=void 0;let b=!1;if(S){let O=S.oldPos-P;b=S&&0<=O&&O<a}let C=L&&L.oldPos+1<s;if(!b&&!C){k[P]=void 0;continue}if(!C||b&&L.oldPos<S.oldPos)w=this.addToPath(S,!0,!1,0,n);else w=this.addToPath(L,!1,!0,1,n);if(y=this.extractCommon(w,t,e,P,n),w.oldPos+1>=s&&y+1>=a)return i(this.buildValues(w.lastComponent,t,e))||!0;else{if(k[P]=w,w.oldPos+1>=s)N=Math.min(N,P-1);if(y+1>=a)R=Math.max(R,P+1)}}l++};if(r)(function P(){setTimeout(function(){if(l>u||Date.now()>m)return r(void 0);if(!M())P()},0)})();else while(l<=u&&Date.now()<=m){let P=M();if(P)return P}}addToPath(e,t,n,r,o){let i=e.lastComponent;if(i&&!o.oneChangePerToken&&i.added===t&&i.removed===n)return{oldPos:e.oldPos+r,lastComponent:{count:i.count+1,added:t,removed:n,previousComponent:i.previousComponent}};else return{oldPos:e.oldPos+r,lastComponent:{count:1,added:t,removed:n,previousComponent:i}}}extractCommon(e,t,n,r,o){let i=t.length,a=n.length,s=e.oldPos,l=s-r,u=0;while(l+1<i&&s+1<a&&this.equals(n[s+1],t[l+1],o))if(l++,s++,u++,o.oneChangePerToken)e.lastComponent={count:1,previousComponent:e.lastComponent,added:!1,removed:!1};if(u&&!o.oneChangePerToken)e.lastComponent={count:u,previousComponent:e.lastComponent,added:!1,removed:!1};return e.oldPos=s,l}equals(e,t,n){if(n.comparator)return n.comparator(e,t);else return e===t||!!n.ignoreCase&&e.toLowerCase()===t.toLowerCase()}removeEmpty(e){let t=[];for(let n=0;n<e.length;n++)if(e[n])t.push(e[n]);return t}castInput(e,t){return e}tokenize(e,t){return Array.from(e)}join(e){return e.join("")}postProcess(e,t){return e}get useLongestToken(){return!1}buildValues(e,t,n){let r=[],o;while(e)r.push(e),o=e.previousComponent,delete e.previousComponent,e=o;r.reverse();let i=r.length,a=0,s=0,l=0;for(;a<i;a++){let u=r[a];if(!u.removed){if(!u.added&&this.useLongestToken){let g=t.slice(s,s+u.count);g=g.map(function(m,k){let y=n[l+k];return y.length>m.length?y:m}),u.value=this.join(g)}else u.value=this.join(t.slice(s,s+u.count));if(s+=u.count,!u.added)l+=u.count}else u.value=this.join(n.slice(l,l+u.count)),l+=u.count}return r}}class fh extends fi{constructor(){super(...arguments);this.tokenize=Kv}equals(e,t,n){if(n.ignoreWhitespace){if(!n.newlineIsToken||!e.includes(`
|
|
680
680
|
`))e=e.trim();if(!n.newlineIsToken||!t.includes(`
|
|
681
681
|
`))t=t.trim()}else if(n.ignoreNewlineAtEof&&!n.newlineIsToken){if(e.endsWith(`
|
|
682
682
|
`))e=e.slice(0,-1);if(t.endsWith(`
|
|
683
|
-
`))t=t.slice(0,-1)}return super.equals(e,t,n)}}var
|
|
684
|
-
`);let n=[],r=e.split(/(\n|\r\n)/);if(!r[r.length-1])r.pop();for(let o=0;o<r.length;o++){let i=r[o];if(o%2&&!t.newlineIsToken)n[n.length-1]+=i;else n.push(i)}return n}var
|
|
685
|
-
`))
|
|
683
|
+
`))t=t.slice(0,-1)}return super.equals(e,t,n)}}var gh=new fh;function dr(e,t,n){return gh.diff(e,t,n)}function Kv(e,t){if(t.stripTrailingCr)e=e.replace(/\r\n/g,`
|
|
684
|
+
`);let n=[],r=e.split(/(\n|\r\n)/);if(!r[r.length-1])r.pop();for(let o=0;o<r.length;o++){let i=r[o];if(o%2&&!t.newlineIsToken)n[n.length-1]+=i;else n.push(i)}return n}var mh={includeIndex:!0,includeUnderline:!0,includeFileHeaders:!0};function Vs(e,t,n,r,o,i,a){let s;if(!a)s={};else if(typeof a==="function")s={callback:a};else s=a;if(typeof s.context>"u")s.context=4;let l=s.context;if(s.newlineIsToken)throw Error("newlineIsToken may not be used with patch-generation functions, only with diffing functions");if(!s.callback)return u(dr(n,r,s));else{let{callback:g}=s;dr(n,r,Object.assign(Object.assign({},s),{callback:(m)=>{let k=u(m);g(k)}}))}function u(g){if(!g)return;g.push({value:"",lines:[]});function m(w){return w.map(function(L){return" "+L})}let k=[],y=0,R=0,N=[],M=1,P=1;for(let w=0;w<g.length;w++){let L=g[w],S=L.lines||Qv(L.value);if(L.lines=S,L.added||L.removed){if(!y){let b=g[w-1];if(y=M,R=P,b)N=l>0?m(b.lines.slice(-l)):[],y-=N.length,R-=N.length}for(let b of S)N.push((L.added?"+":"-")+b);if(L.added)P+=S.length;else M+=S.length}else{if(y)if(S.length<=l*2&&w<g.length-2)for(let b of m(S))N.push(b);else{let b=Math.min(S.length,l);for(let O of m(S.slice(0,b)))N.push(O);let C={oldStart:y,oldLines:M-y+b,newStart:R,newLines:P-R+b,lines:N};k.push(C),y=0,R=0,N=[]}M+=S.length,P+=S.length}}for(let w of k)for(let L=0;L<w.lines.length;L++)if(w.lines[L].endsWith(`
|
|
685
|
+
`))w.lines[L]=w.lines[L].slice(0,-1);else w.lines.splice(L+1,0,"\"),L++;return{oldFileName:e,newFileName:t,oldHeader:o,newHeader:i,hunks:k}}}function gi(e,t){if(!t)t=mh;if(Array.isArray(e)){if(e.length>1&&!t.includeFileHeaders)throw Error("Cannot omit file headers on a multi-file patch. (The result would be unparseable; how would a tool trying to apply the patch know which changes are to which file?)");return e.map((r)=>gi(r,t)).join(`
|
|
686
686
|
`)}let n=[];if(t.includeIndex&&e.oldFileName==e.newFileName)n.push("Index: "+e.oldFileName);if(t.includeUnderline)n.push("===================================================================");if(t.includeFileHeaders)n.push("--- "+e.oldFileName+(typeof e.oldHeader>"u"?"":"\t"+e.oldHeader)),n.push("+++ "+e.newFileName+(typeof e.newHeader>"u"?"":"\t"+e.newHeader));for(let r=0;r<e.hunks.length;r++){let o=e.hunks[r];if(o.oldLines===0)o.oldStart-=1;if(o.newLines===0)o.newStart-=1;n.push("@@ -"+o.oldStart+","+o.oldLines+" +"+o.newStart+","+o.newLines+" @@");for(let i of o.lines)n.push(i)}return n.join(`
|
|
687
687
|
`)+`
|
|
688
|
-
`}function
|
|
688
|
+
`}function Yr(e,t,n,r,o,i,a){if(typeof a==="function")a={callback:a};if(!(a===null||a===void 0?void 0:a.callback)){let s=Vs(e,t,n,r,o,i,a);if(!s)return;return gi(s,a===null||a===void 0?void 0:a.headerOptions)}else{let{callback:s}=a;Vs(e,t,n,r,o,i,Object.assign(Object.assign({},a),{callback:(l)=>{if(!l)s(void 0);else s(gi(l,a.headerOptions))}}))}}function Qv(e){let t=e.endsWith(`
|
|
689
689
|
`),n=e.split(`
|
|
690
690
|
`).map((r)=>r+`
|
|
691
|
-
`);if(t)n.pop();else n.push(n.pop().slice(0,-1));return n}function
|
|
692
|
-
`)){if(!s.trim())continue;let[l,u,...
|
|
693
|
-
`)){if(!s.trim())continue;let l=o.length+1>
|
|
691
|
+
`);if(t)n.pop();else n.push(n.pop().slice(0,-1));return n}function mi(e,t){let n=Yv("git",e,{cwd:t,encoding:"utf8",timeout:2000});return{status:n.status,stdout:n.stdout??""}}function hi(e,t=mi){try{let n=t(["rev-parse","--abbrev-ref","HEAD"],e);if(n.status!==0)return;let r=n.stdout.trim();return r&&r!=="HEAD"?r:void 0}catch{return}}var qv=300,Xv=524288;function ph(e){try{let t=Vv(e);if(!t.isFile()||t.size>Xv)return 0;let n=hh(e);if(n.subarray(0,8000).includes(0))return 0;if(n.length===0)return 0;let r=1;for(let o=0;o<n.length;o++)if(n[o]===10)r++;return r}catch{return 0}}function Xs(e,t=mi,n=ph){try{let r=t(["rev-parse","--is-inside-work-tree"],e);if(r.status!==0||r.stdout.trim()!=="true")return;let o=[],i=t(["diff","HEAD","--numstat"],e);if(i.status!==0)return;for(let s of i.stdout.split(`
|
|
692
|
+
`)){if(!s.trim())continue;let[l,u,...g]=s.split("\t"),m=g.join("\t");if(!m)continue;o.push({path:m,added:Number(l)||0,removed:Number(u)||0,untracked:!1})}let a=t(["ls-files","--others","--exclude-standard"],e);if(a.status===0)for(let s of a.stdout.split(`
|
|
693
|
+
`)){if(!s.trim())continue;let l=o.length+1>qv?0:n(qs.join(e,s));o.push({path:s,added:l,removed:0,untracked:!0})}return o}catch{return}}function Ah(e,t,n=mi){try{if(t.untracked){let o=qs.join(e,t.path);if(!Jv(o))return"";return Yr(t.path,t.path,"",hh(o,"utf8"))}let r=n(["diff","HEAD","--",t.path],e);return r.status===0?r.stdout:""}catch{return""}}function kh(e,t=mi,n=ph){let r=Xs(e,t,n);if(!r)return;return r.reduce((o,i)=>({added:o.added+i.added,removed:o.removed+i.removed,files:o.files+1}),{added:0,removed:0,files:0})}function e1(e){return e.replace(/@"[^"]*"/g,"").replace(/\[Image \d+\]/g,"").trim()}function xh(e){let t=e1(e).replace(/\s+/g," ").trim();if(!t)return"";if(t.length<=30)return t;return`${[...t].slice(0,30).join("")}\u2026`}function Jr(e){return/^\/[a-zA-Z][\w-]*(\s|$)/.test(e.trim())}function pi(){return{blocks:[],tokens:{input:0,output:0},cache:{read:0,creation:0,hitRate:0},credits:{turn:0,session:0},turnBase:0,commands:[],running:!1,compressing:!1,restoring:!1}}function el(e,t,n){let r=e[e.length-1];if(r&&r.type===t){let o={...r,text:r.text+n};return[...e.slice(0,-1),o]}return[...e,{type:t,text:n}]}function bh(e,t,n){let r=e.findIndex((i)=>i.type==="tool"&&i.toolCallId===t);if(r<0)return;let o=e.slice();return o[r]=n(e[r]),o}function yh(e,t){let n=0;for(let r=0;r<e.length;r++)if(e[r].type==="user"){if(n===t)return e.slice(0,r);n++}return e}function wh(e,t){let n=e.seeded&&t1.has(t.kind)?{...e,blocks:[],seeded:!1}:e;return n1(n,t)}var t1=new Set(["user_chunk","message_chunk","thought_chunk","tool_call"]);function n1(e,t){switch(t.kind){case"turn_start":return{...e,running:!0,stopReason:void 0,suggestion:void 0,turnBase:e.usage?.used??0,turnStartedAt:t.at,tokens:{input:0,output:0},credits:{turn:0,session:e.credits.session}};case"turn_end":return{...e,running:!1,stopReason:t.stopReason};case"user_chunk":return{...e,blocks:el(e.blocks,"user",t.text)};case"message_chunk":return{...e,blocks:el(e.blocks,"assistant",t.text)};case"thought_chunk":return{...e,blocks:el(e.blocks,"thought",t.text)};case"title":return{...e,title:t.title};case"compression":return{...e,compressing:t.active};case"suggestion":return{...e,suggestion:t.text};case"restoring":return{...e,restoring:t.active};case"mode_marker":return{...e,blocks:[...e.blocks,{type:"notice",text:t.mode}]};case"notice":return{...e,blocks:[...e.blocks,{type:"notice",text:t.text}]};case"tool_call":{let n={type:"tool",toolCallId:t.toolCallId,title:t.title,toolKind:t.toolKind,status:t.status,locations:t.locations,content:t.content,rawInput:t.rawInput},r=bh(e.blocks,t.toolCallId,(o)=>({...o,...n}));return{...e,blocks:r??[...e.blocks,n]}}case"tool_update":{let n=bh(e.blocks,t.toolCallId,(r)=>{let o=t.terminalOutput==null?r.terminalOutput:t.terminalOutputMode==="replace"?t.terminalOutput:(r.terminalOutput??"")+t.terminalOutput;return{...r,status:t.status??r.status,title:t.title??r.title,content:t.content??r.content,terminalOutput:o}});return n?{...e,blocks:n}:e}case"plan":{let n=e.blocks.findIndex((o)=>o.type==="plan");if(n<0)return{...e,blocks:[...e.blocks,{type:"plan",entries:t.entries}]};let r=e.blocks.slice();return r[n]={type:"plan",entries:t.entries},{...e,blocks:r}}case"usage":return{...e,usage:{used:t.used,size:t.size}};case"turn_token":{let n=Math.max(0,t.inputTokens),r=Math.max(0,t.cacheReadTokens);return{...e,tokens:{input:Math.max(0,n-e.turnBase),output:t.outputTokens},cache:{read:r,creation:Math.max(0,t.cacheCreationTokens),hitRate:n>0?r/n*100:0},credits:{turn:e.credits.turn+t.credits,session:e.credits.session+t.credits}}}case"commands":return{...e,commands:t.commands};case"error":return{...e,running:!1,blocks:[...e.blocks,{type:"error",message:t.message}]};default:return e}}function Vr(e,t){let n=[...e.blocks,{type:"user",text:t}];if(e.title)return{...e,blocks:n};let r=Jr(t)?"":xh(t);return r?{...e,blocks:n,title:r}:{...e,blocks:n}}function Sh(e,t){let n=t.trim();return n?[...e,n]:[...e]}function Ch(e,t){if(t)return[];return[...e]}function vh(e,t){return t===0?0:(e+1)%t}function Ih(e,t,n){if(t<0||t>=e.length)return{queue:[...e],outcome:"unchanged"};let r=n.trim();if(r==="")return{queue:e.filter((o,i)=>i!==t),outcome:"deleted"};if(r===e[t])return{queue:[...e],outcome:"unchanged"};return{queue:e.map((o,i)=>i===t?r:o),outcome:"updated"}}function Eh(e,t=60){return e.map((n,r)=>({text:n.length>t?`${n.slice(0,t)}\u2026`:n,next:r===0}))}function ur(e){return typeof e==="object"&&e!==null&&"error"in e&&typeof e.error==="object"&&"message"in e.error}function Ai(e){return typeof e==="object"&&e!==null&&"message"in e&&typeof e.message==="string"}function ki(e){let t=(o,i)=>{if(!o||typeof o!=="object")return null;let a=o.error;if(!a||typeof a!=="object")return null;let s=a,l=typeof s.code==="string"&&s.code.includes("quota_limit_exceeded"),u=s.type==="rate_limit_error"&&i===400;if((l||u)&&typeof s.message==="string"&&s.message.trim())return s.message;return null};if(e&&typeof e==="object"&&"response"in e){let o=e.response;if(o){let i=t(o.data,o.status);if(i)return i}}let n=e instanceof Error?e.message:e&&typeof e==="object"&&typeof e.message==="string"?e.message:typeof e==="string"?e:"",r=n.match(/\((\d{3})\):/);if(r&&(n.includes("rate_limit_error")||n.includes("quota_limit_exceeded"))){let o=n.match(/\{[\s\S]*\}$/);if(o)try{let i=t(JSON.parse(o[0]),Number(r[1]));if(i)return i}catch{}}return t(e)}function xi(e){if(ki(e))return!0;if(e&&typeof e==="object"&&"response"in e){let t=e;if(t.response?.status===402&&t.response.data){let n=t.response.data;if(n&&typeof n.error==="string"&&(n.error==="Quota limit exceeded"||n.error==="No quota configuration")&&typeof n.message==="string")return!0}if(t.response?.status===500&&t.response.data){let n=t.response.data;if(n&&typeof n.message==="string"&&n.message.includes("quota exceeded"))return!0}}if(e instanceof Error&&e.message){if(e.message.includes("API request failed (402):")&&(e.message.includes('"error":"Quota limit exceeded"')||e.message.includes('"error":"No quota configuration"')))return!0;if(e.message.includes("API request failed (500):")&&e.message.includes("quota exceeded"))return!0;if(e.message.includes("Stream API error (500):")&&e.message.includes("quota exceeded"))return!0}if(typeof e==="object"&&e!==null){let t=e;if(t.message&&typeof t.message==="string"){if(t.message.includes("API request failed (402):")&&(t.message.includes('"error":"Quota limit exceeded"')||t.message.includes('"error":"No quota configuration"')))return!0;if(t.message.includes("API error (402):")&&(t.message.includes('"error":"Quota limit exceeded"')||t.message.includes('"error":"No quota configuration"')))return!0;if((t.message.includes("API request failed (500):")||t.message.includes("Stream API error (500):"))&&t.message.includes("quota exceeded"))return!0}if((t.error==="Quota limit exceeded"||t.error==="No quota configuration")&&typeof t.message==="string")return!0;if(t.status===500&&typeof t.message==="string"&&t.message.includes("quota exceeded"))return!0}if(typeof e==="string")return e.includes("Quota limit exceeded")||e.includes("No quota configuration")||e.includes("Daily token limit would be exceeded")||e.includes("Daily request limit exceeded")||e.includes("Daily cost limit would be exceeded")||e.includes("500")&&e.includes("quota exceeded");return!1}function Th(e){let t=ki(e);if(t)return t;let n=null;if(e&&typeof e==="object"&&"response"in e){let r=e;if(r.response?.status===402&&r.response.data)n=r.response.data;else if(r.response?.status===500&&r.response.data){let o=r.response.data;if(o&&typeof o.message==="string"&&o.message.includes("quota exceeded"))n=o}}else if(typeof e==="object"&&e!==null){let r=e;if(r.message&&typeof r.message==="string"){if((r.message.includes("API request failed (402):")||r.message.includes("API request failed (500):")||r.message.includes("Stream API error (500):"))&&(r.message.includes('"error":"Quota limit exceeded"')||r.message.includes('"error":"No quota configuration"')||r.message.includes("quota exceeded")))try{let o=r.message.match(/\{.*\}$/);if(o)n=JSON.parse(o[0])}catch{}}if(!n)n=e}if(!n&&e instanceof Error&&e.message){if((e.message.includes("API request failed (402):")||e.message.includes("API request failed (500):")||e.message.includes("Stream API error (500):"))&&(e.message.includes('"error":"Quota limit exceeded"')||e.message.includes('"error":"No quota configuration"')||e.message.includes("quota exceeded")))try{let r=e.message.match(/\{.*\}$/);if(r)n=JSON.parse(r[0])}catch{}}if(!n)return null;if(n.message&&n.message.includes("quota exceeded"))return r1(n);return o1(n)}function r1(e){let n=(()=>{try{let k=process.env,y=k.LC_ALL||k.LC_CTYPE||k.LANG||"";return y.toLowerCase().includes("zh")||y.toLowerCase().includes("chinese")}catch{return!1}})(),r="",o="",i="",a="",s=e.message||"",l=s.match(/Role:\s*([^,]+)/);if(l)r=l[1].trim();let u=s.match(/Limit:\s*([^,]+)/);if(u)o=u[1].trim();let g=s.match(/Used:\s*([^,]+)/);if(g)i=g[1].trim();let m=s.match(/Cycle:\s*([^,]+)/);if(m)a=m[1].trim();if(n){let k=`\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
|
|
694
694
|
`;if(k+=`\uD83D\uDEAB \u5F53\u524D\u6A21\u578B\u7684\u5FAA\u73AF\u914D\u989D\u5DF2\u7528\u5C3D (Cycle Quota Exceeded)
|
|
695
695
|
`,r)k+=`\uD83D\uDC64 \u89D2\u8272\u4FE1\u606F: ${r}
|
|
696
696
|
`;if(o)k+=`\uD83D\uDCCA \u989D\u5EA6\u4E0A\u9650: ${o}
|
|
@@ -708,7 +708,7 @@ ${_}`:"")))}}),!r.stdin||!r.stdout)throw Error(c("backend.pipesFailed"));let l=R
|
|
|
708
708
|
`;return k+=`
|
|
709
709
|
\uD83D\uDCA1 Please switch to another model or wait for the cycle to reset.
|
|
710
710
|
`,k+=`\uD83D\uDD17 More info: https://easycode.bot/
|
|
711
|
-
`,k+="\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500",k}}function
|
|
711
|
+
`,k+="\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500",k}}function o1(e){let n=(()=>{try{let r=process.env,o=r.LC_ALL||r.LC_CTYPE||r.LANG||"";return o.toLowerCase().includes("zh")||o.toLowerCase().includes("chinese")}catch{return!1}})();if(e.error==="No quota configuration")return n?`\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
|
|
712
712
|
\uD83D\uDEAB \u5F53\u524D\u8D26\u6237\u53EF\u7528\u7684 Credit\uFF08\u79EF\u5206\uFF09\u4E0D\u8DB3\u4EE5\u7EE7\u7EED\u4F7F\u7528\u672C\u670D\u52A1
|
|
713
713
|
\uD83D\uDCA1 \u8BF7\u8003\u8651\u8BA2\u9605\u66F4\u591A\u989D\u5EA6\u7684\u5957\u9910\u3002\u8BE6\u60C5\u8BF7\u8BBF\u95EE\u5B98\u7F51\uFF1Ahttps://easycode.bot/
|
|
714
714
|
|
|
@@ -724,27 +724,27 @@ ${_}`:"")))}}),!r.stdin||!r.stdout)throw Error(c("backend.pipesFailed"));let l=R
|
|
|
724
724
|
\uD83D\uDCA1 \u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u68C0\u67E5\u8D26\u6237\u914D\u7F6E
|
|
725
725
|
\uD83D\uDD17 \u5347\u7EA7\u5957\u9910\uFF1Ahttps://easycode.bot/`:`\uD83D\uDEAB Service unavailable
|
|
726
726
|
\uD83D\uDCA1 Please contact administrator to check account configuration
|
|
727
|
-
\uD83D\uDD17 Upgrade: https://easycode.bot/`}var
|
|
728
|
-
`)}function tl(e){let t=
|
|
727
|
+
\uD83D\uDD17 Upgrade: https://easycode.bot/`}var Bh="https://easycode.bot/",Rh="https://applink.feishu.cn/T981u6WkPNNZ",i1=["cmcm.com","orionstar.com"];function a1(e){if(!e)return!1;let t=e.trim().toLowerCase(),n=t.lastIndexOf("@");if(n<=0)return!1;let r=t.slice(n+1);return i1.includes(r)}function s1(e){if(typeof e==="string")return e;if(e instanceof Error)return e.message;if(e&&typeof e==="object"){let t=e;if(typeof t.message==="string")return t.message;try{return JSON.stringify(t.response?.data??t)}catch{return String(e)}}return String(e)}function l1(e){let t=s1(e).match(/available[\s:]*([0-9]+(?:\.[0-9]+)?)/i);return t?t[1]:null}function c1(e){return xi(e)}function _h(e,t={}){if(!c1(e))return null;let n=ki(e);if(n)return n;let r=t.locale??"zh",o=l1(e),i=a1(t.email);if(r==="en"){let l=o!==null?`Your credit balance is insufficient (current balance: ${o}).`:"Your credit balance is insufficient.",u=i?`As a Cheetah employee, request an "Easy Code quota" via the Feishu approval form: ${Rh}`:`Use /account to open your account center and top up, or sign in at ${Bh} to recharge.`;return`${l} ${u}`}let a=o!==null?`\u60A8\u7684\u53EF\u7528\u79EF\u5206\u4F59\u989D\u4E0D\u8DB3,\u5F53\u524D\u4F59\u989D:${o}\u3002`:"\u60A8\u7684\u53EF\u7528\u79EF\u5206\u4F59\u989D\u4E0D\u8DB3\u3002",s=i?`\u60A8\u662F\u730E\u8C79\u5458\u5DE5,\u8BF7\u524D\u5F80\u98DE\u4E66\u5BA1\u6279(${Rh})\u7533\u8BF7"Easy Code \u914D\u989D"\u3002`:`\u8BF7\u4F7F\u7528 /account \u8BBF\u95EE\u4E2A\u4EBA\u4E2D\u5FC3\u5145\u503C,\u6216\u624B\u52A8\u767B\u5F55\u5230 ${Bh} \u5145\u503C\u3002`;return`${a}${s}`}var d1=/reasoning_text|reasoning_content|redacted_thinking|must be passed back/i,u1=/\b(?:thinking|reasoning|thought)\b[^]{0,80}\b(?:signature|passed back|must match|mismatch|invalid)\b/i,f1=/\(400\)|"code"\s*:\s*400|HTTP\s+400|status\s*[=:]\s*400/i;function g1(e){let t=[],n=(r,o)=>{if(o>6||r===null||r===void 0)return;if(typeof r==="string"){t.push(r);return}if(r instanceof Error){t.push(r.message);return}if(typeof r==="object"){let i=r;if(typeof i.message==="string")t.push(i.message);let a=i.response?.data??i.error;if(n(a,o+1),a!==i)n(i.message,o+1)}};return n(e,0),t.join(`
|
|
728
|
+
`)}function tl(e){let t=g1(e);if(!t)return!1;if(!f1.test(t))return!1;return d1.test(t)||u1.test(t)}function Ph(e,t={}){if(!tl(e))return null;if((t.locale??"zh")==="en")return["\u26A0\uFE0F This request failed (HTTP 400): the reasoning content in this conversation's history does not satisfy the current model's protocol.","","Models differ in how reasoning/thinking content must be carried back between turns. If any past turn is missing that content \u2014 or carries it in a shape the current model rejects \u2014 the request is refused. Switching models mid-session, or a long tool loop where some turns carried no reasoning, can both lead to this.","","To recover:","1. Send /compress to compact the session \u2014 the history is rewritten as a summary, which clears the stale reasoning along with it.","2. If it still fails, start a new session."].join(`
|
|
729
729
|
`);return["\u26A0\uFE0F \u672C\u6B21\u8BF7\u6C42\u5931\u8D25\uFF08HTTP 400\uFF09\uFF1A\u4F1A\u8BDD\u5386\u53F2\u91CC\u7684\u601D\u8003\u5185\u5BB9\u4E0D\u7B26\u5408\u5F53\u524D\u6A21\u578B\u7684\u534F\u8BAE\u8981\u6C42\u3002","","\u4E0D\u540C\u6A21\u578B\u5BF9\u300C\u601D\u8003/\u63A8\u7406\uFF08reasoning/thinking\uFF09\u5185\u5BB9\u5982\u4F55\u5728\u591A\u8F6E\u4E4B\u95F4\u56DE\u4F20\u300D\u7684\u8981\u6C42\u4E0D\u4E00\u6837\u3002\u5386\u53F2\u91CC\u53EA\u8981\u6709\u56DE\u5408\u7684\u601D\u8003\u5185\u5BB9\u7F3A\u5931\u3001\u6216\u5F62\u72B6\u4E0E\u5F53\u524D\u6A21\u578B\u5BF9\u4E0D\u4E0A\uFF0C\u8BF7\u6C42\u5C31\u4F1A\u88AB\u62D2\u7EDD\u2014\u2014\u540C\u4E00\u4F1A\u8BDD\u91CC\u6362\u8FC7\u6A21\u578B\u3001\u6216\u957F\u5DE5\u5177\u94FE\u4E2D\u90E8\u5206\u56DE\u5408\u6CA1\u6709\u643A\u5E26\u601D\u8003\u5185\u5BB9\uFF0C\u90FD\u53EF\u80FD\u9020\u6210\u8FD9\u79CD\u60C5\u51B5\u3002","","\u53EF\u4EE5\u8FD9\u6837\u6062\u590D\uFF1A","1. \u53D1\u9001 /compress \u538B\u7F29\u4F1A\u8BDD\u2014\u2014\u5386\u53F2\u88AB\u91CD\u5199\u4E3A\u6458\u8981\uFF0C\u6B8B\u7559\u7684\u601D\u8003\u5185\u5BB9\u968F\u4E4B\u6E05\u6389\uFF1B","2. \u4ECD\u7136\u5931\u8D25\u5219\u65B0\u5F00\u4E00\u4E2A\u4F1A\u8BDD\u7EE7\u7EED\u3002"].join(`
|
|
730
|
-
`)}function
|
|
730
|
+
`)}function En(e){if(e===null||e===void 0)return;if(typeof e==="object"){let r=e;if(typeof r.status==="number")return r.status;if(typeof r.statusCode==="number")return r.statusCode;let o=r.response;if(o&&typeof o.status==="number")return o.status}if(ur(e)&&typeof e.error.code==="number")return e.error.code;let t=typeof e==="string"?e:typeof e==="object"&&e!==null&&("message"in e)?String(e.message??""):"",n=[/API request failed \((\d{3})\)/,/Stream API error \((\d{3})\)/,/\(Status:\s*(\d{3})\)/i,/\bHTTP\s+(\d{3})\b/i,/\bstatus[\s:=]+(\d{3})\b/i];for(let r of n){let o=t.match(r);if(o){let i=parseInt(o[1],10);if(i>=100&&i<600)return i}}return}function Tn(e){if(e===null||e===void 0)return"";if(typeof e==="string")return nl(e)??e;if(ur(e))return e.error.message||"";if(Ai(e))return nl(e.message)??e.message;if(e instanceof Error)return nl(e.message)??e.message;try{return String(e)}catch{return""}}function nl(e){if(!e)return;let t=e.indexOf("{");if(t===-1)return;let n=e.substring(t);try{let r=JSON.parse(n);if(r&&typeof r==="object"){let o=r;if(o.error&&typeof o.error==="object"&&typeof o.error.message==="string"){let i=o.error.message;if(i.trim())return`${e.substring(0,t).trim()} ${i}`.trim()}if(typeof o.message==="string"&&o.message.trim()){let i=e.substring(0,t).trim();return i?`${i} ${o.message}`:o.message}if(typeof o.error==="string"&&o.error.trim()){let i=e.substring(0,t).trim();return i?`${i} ${o.error}`:o.error}}}catch{}return}function Mh(e){let t=En(e),n=Tn(e).trim();if(t===void 0)return;if(n)return`[HTTP ${t}] ${n}`;return`[HTTP ${t}]`}function rl(e){return!!e&&e.startsWith("custom:")}function Fh(e,t={}){let n=Hr();if(tl(e)){let o=Ph(e,{locale:n});if(o)return o}if(rl(t.model))return`[Custom Model Error] ${Tn(e)||String(e)}`;let r=Nm(e,{client:"terminal",locale:n});if(r)return r;if(m1(e))return c("error.network");if(h1(e))return p1(e);if(A1(e))return c("error.forbidden");if(xi(e)||k1(e))return _h(e,{email:t.email,locale:n})??Th(e)??c("error.quota");if(x1(e))return c("error.rateLimited");if(En(e)===451)return Tn(e);return Mh(e)??Tn(e)??String(e)}function m1(e){let t=qr(e).toLowerCase();return t.includes("fetch failed")||t.includes("econnrefused")||t.includes("enotfound")||t.includes("network error")||t.includes("network request failed")||t.includes("socket hang up")}function h1(e){let t=qr(e);return t.includes("REGION_BLOCKED")||En(e)===451&&!t.includes("{")}function p1(e){let t=Tn(e).trim();return t&&!t.includes("REGION_BLOCKED")&&t.length<300?t:c("error.region")}function A1(e){if(En(e)===403)return!0;if(ur(e))return e.error.status==="PERMISSION_DENIED";let t=qr(e).toLowerCase();return t.includes("403")&&t.includes("forbidden")}function k1(e){let t=qr(e).toLowerCase();if(t.includes("no quota configuration"))return!0;let n=En(e);return(t.includes("insufficient credits")||t.includes("insufficient balance")||t.includes("quota limit exceeded"))&&(n===402||n===429||n===void 0)}function x1(e){if(En(e)===429)return!0;return qr(e).toLowerCase().includes("rate limit")}function qr(e){if(typeof e==="string")return e;if(ur(e))return e.error.message??"";if(Ai(e))return e.message;if(e instanceof Error)return e.message;return Tn(e)}var Nh=500;function Dh(e={}){let[t,n]=j(pi()),[r,o]=j("draft"),[i,a]=j(void 0),[s,l]=j([]),[u,g]=j("default"),[m,k]=j([]),[y,R]=j(void 0),[N,M]=j(),[P,w]=j([]),[L,S]=j({running:!1}),[b,C]=j({available:!1}),[O,z]=j({available:!1}),[J,V]=j([]),[q,X]=j({planModeActive:!1,goal:null}),[ae,Q]=j([]),[oe,le]=j(void 0),[je,Ct]=j(0),[Ln,Ft]=j(void 0),[Nt,Dt]=j([]),[pn,$n]=j(!1),ee,Gn=0,zn=!1,Vt=()=>zn?void 0:e.ensureStarted?.(),Ot=(B)=>V((W)=>[B,...W.filter((fe)=>fe.id!==B.id)]),br=[],An=(B)=>{ee?.prompt(B).catch((W)=>{Qe.emit({kind:"error",message:W instanceof Error?W.message:String(W)})})},yr=()=>{if(!ee||r()!=="idle")return;let B=br.shift();if(B){An(B);return}if(pn())return;let W=Nt(),fe=W[0];if(fe===void 0)return;Dt(W.slice(1)),n((we)=>Vr(we,fe)),An(fe)},jt=()=>{let B=Ch(Nt(),pn());if(!ee||B.length===0)return;Dt([]);for(let W of B)n((fe)=>Vr(fe,W));ee.injectText(B.join(`
|
|
731
731
|
|
|
732
|
-
`)).catch((W)=>{Qe.emit({kind:"error",message:W instanceof Error?W.message:String(W)})})},ut=[],
|
|
733
|
-
`).filter((we)=>we.trim())];return
|
|
734
|
-
`,"utf8")}catch{}}function
|
|
732
|
+
`)).catch((W)=>{Qe.emit({kind:"error",message:W instanceof Error?W.message:String(W)})})},ut=[],Hn=!1,qt=(B)=>{if(B.kind==="tasks"){w(B.tasks);return}if(B.kind==="checkpoint"){Ot(B.checkpoint);return}if(n((W)=>wh(W,B)),(B.kind==="tool_call"||B.kind==="tool_update")&&B.status==="completed")jt()},Un=()=>{Hn=!1;let B=ut;ut=[],Ro(()=>{for(let W of B)qt(W)})},Qe={emit(B){if(B.kind==="error"&&B.authExpired&&!rl(i()))Ct((fe)=>fe+1);let W=B.kind==="error"?{...B,message:Fh(B.message,{model:i(),email:oe()?.user?.email})}:B;if(B.kind==="restoring"&&!B.active){Un(),qt(W);return}if(!t().restoring){qt(W);return}if(ut.push(W),Hn)return;Hn=!0,setTimeout(Un,0)},setStatus(B){if(o(B),B==="idle")yr()},requestPermission(B){return new Promise((W)=>{let fe={...B,requestId:`perm-${++Gn}`};M({request:fe,resolve:(we)=>{M((Oe)=>Oe?.request.requestId===fe.requestId?void 0:Oe),W(we)}})})},log(B){Q((W)=>{let fe=[...W,...B.split(`
|
|
733
|
+
`).filter((we)=>we.trim())];return fe.length>Nh?fe.slice(-Nh):fe})},backgroundTaskCompleted(B,W){Qe.log(`background task ${B} finished; waking the session`),it.submit(W,{silent:!0})}},it={transcript:t,status:r,model:i,models:s,mode:u,modes:m,thinking:y,pendingPermission:N,tasks:P,checkpoints:J,modeStatus:q,feishuStatus:L,credits:b,quota:O,logs:ae,auth:oe,authExpiredCount:je,pendingBrowserLogin:Ln,queued:Nt,queuePaused:pn,callbacks:Qe,attach(B){ee=B},setHandshake(B){zn=!0,l(B.models),k(B.modes),a(B.model),g(B.mode),R(B.thinking),yr()},submit(B,W){let fe=B.trim();if(!fe||!ee)return;if(Vt(),r()==="starting"||r()==="draft"){if(!W?.silent)n((we)=>Vr(we,fe));br.push(fe);return}if(lr(r())){if(W?.silent){ee.injectText(fe).catch(()=>{return});return}Dt((we)=>Sh(we,fe));return}if(!W?.silent)n((we)=>Vr(we,fe));An(fe)},interrupt(){ee?.cancel()},setQueuePaused(B){$n(B)},updateQueueItem(B,W){let fe=Ih(Nt(),B,W);return Dt(fe.queue),fe.outcome},clearQueue(){let B=Nt().length;return Dt([]),B},clearTranscript(){n((B)=>({...pi(),commands:B.commands}))},seedTranscript(B){if(B.length===0)return;n((W)=>({...W,blocks:B,restoring:!0,seeded:!0}))},seedUsage(B){if(!Number.isFinite(B)||B<=0)return;n((W)=>W.usage?W:{...W,usage:{used:B,size:0}})},async newSession(){if(!ee)throw Error(c("backend.notRunning"));await Vt();let B=await ee.newSession();l(B.availableModels),k(B.availableModes),a(B.model),g(B.mode),R(B.thinking),n((Oe)=>({...pi(),commands:Oe.commands}));let[W,fe,we]=await Promise.all([ee.modeStatus(),ee.tasksList(),ee.listCheckpoints()]);return X(W),w(fe),V(we),{acpSessionId:B.acpSessionId}},answerPermission(B){N()?.resolve(B)},selectModel(B){if(!ee)return;ee.setModel(B).then((W)=>a(W)).catch((W)=>Qe.log(`set model failed: ${String(W)}`))},async refreshModels(){if(await Vt(),!ee)return;try{let{available:B,current:W}=await ee.refreshModels();if(B.length>0)l(B);if(W)a(W)}catch(B){Qe.log(`refresh models failed: ${String(B)}`)}},async browseSkillStore(B,W=!1){if(!ee)throw Error(c("backend.notRunning"));return ee.browseSkillStore(B,W)},async installSkillFromStore(B){if(!ee)return{ok:!1,error:c("backend.notRunning")};return ee.installSkillFromStore(B)},async listInstalledSkills(){if(!ee)return[];return ee.listInstalledSkills()},async uninstallSkill(B){if(!ee)return{ok:!1,error:c("backend.notRunning")};return ee.uninstallSkill(B)},async setInstalledSkillEnabled(B,W){if(!ee)return{ok:!1,error:c("backend.notRunning")};return ee.setInstalledSkillEnabled(B,W)},async selectMode(B){if(!ee)return{ok:!1,error:c("backend.notRunning")};let W=u();g(B);let fe;try{fe=await ee.setMode(B)}catch(we){fe={ok:!1,error:we instanceof Error?we.message:String(we)}}if(!fe.ok&&u()===B)g(W);return fe},selectThinking(B){if(!ee)return;R(B),ee.setThinking(B)},async setPlanMode(B){if(!ee)return;let W=await ee.planSet(B);X((fe)=>({...fe,planModeActive:W.planModeActive}))},async refreshModeStatus(){if(!ee)return;X(await ee.modeStatus())},async refreshFeishuStatus(){if(!ee)return;S(await ee.feishuStatus())},async refreshCredits(){if(!ee)return;C(await ee.creditsSummary())},async refreshQuota(){if(!ee)return;z(await ee.quotaStatus())},async startGoal(B){if(!ee)throw Error(c("backend.notRunning"));let W=await ee.goalStart(B);if(W.yoloWasEnabled)g("yolo");return it.submit(W.prompt,{silent:!0}),await it.refreshModeStatus(),W},async clearGoal(){if(!ee)return{wasActive:!1,injected:!1};let B=await ee.goalClear();if(B.clearMessage)it.submit(B.clearMessage,{silent:!0});return await it.refreshModeStatus(),B},async askBtw(B){if(!ee)return{text:"",status:"failed",error:c("backend.notRunning")};return ee.btwAsk(B)},async refreshTasks(){if(!ee)return;w(await ee.tasksList())},async stopTask(B){if(!ee)return{ok:!1,error:c("backend.notRunning")};let W=await ee.tasksStop(B);return await it.refreshTasks(),W},async taskOutput(B){if(!ee)return{ok:!1,error:c("backend.notRunning")};return ee.tasksOutput(B)},async clearFinishedTasks(){if(!ee)return;let B=await ee.tasksClear();w(B.tasks)},async refreshCheckpoints(){if(!ee)return;V(await ee.listCheckpoints())},async restoreCheckpoint(B){if(!ee)return{ok:!1,error:c("backend.notRunning")};let W=await ee.restoreCheckpoint(B);if(!W.ok)return W;if(W.checkpoint){let fe=W.checkpoint.userMessageIndex;n((we)=>({...we,blocks:yh(we.blocks,fe)}))}return await it.refreshCheckpoints(),W},async fork(B){if(!ee)throw Error(c("backend.notRunningFork"));return ee.fork(B)},async injectText(B){await ee?.injectText(B)},async requestBackground(){try{return await ee?.requestBackground()??{ok:!1,error:c("backend.notRunning")}}catch(B){return{ok:!1,error:B instanceof Error?B.message:String(B)}}},async reloadSkills(){await ee?.reloadSkills()},async reloadAuth(){await ee?.reloadAuth()},async refreshAuth(){if(!e.auth)return;try{let B=await e.auth.getStatus();return le(B),B}catch(B){let W=B instanceof Error?B.message:String(B);Qe.log(`auth status failed: ${W}`),Qe.emit({kind:"error",message:`Could not read the sign-in state: ${W}`});return}},async loginWithApiKey(B){if(!e.auth)return{ok:!1,error:c("backend.authUnavailable")};let W=await e.auth.loginWithApiKey(B);if(W.ok)await Wt();return W},async startBrowserLogin(){if(!e.auth)return{ok:!1,error:c("backend.authUnavailable")};let B=await e.auth.startBrowserLogin(()=>{Ft(void 0),Wt()});return Ft(B.ok?B:void 0),B},cancelBrowserLogin(){e.auth?.cancelBrowserLogin(),Ft(void 0)},async logout(){if(!e.auth)return;await e.auth.logout(),await Wt()},async openAccountPage(){if(!e.auth)return{ok:!1,error:c("backend.authUnavailable")};return e.auth.openAccountPage()}};async function Wt(){await it.refreshAuth(),await it.reloadAuth()}return it.refreshAuth(),it}import ol from"fs/promises";import{homedir as w1}from"os";import{dirname as S1,join as C1}from"path";var b1=/^feishu[-_]/;function Oh(e){return typeof e==="string"&&b1.test(e)}var y1="kb_";function Lh(e){return typeof e==="string"&&e.startsWith(y1)}var bi=50;function $h(e=w1()){return C1(e,".easycode-user","tui-sessions.json")}function il(e,t,n){return e.filter((r)=>r.cwd===t).sort((r,o)=>o.lastActiveAt-r.lastActiveAt).slice(0,n)}function Gh(e,t,n=bi){let r=e.filter((o)=>o.id!==t.id);return[t,...r].sort((o,i)=>i.lastActiveAt-o.lastActiveAt).slice(0,n)}function zh(e,t){return e.filter((n)=>n.id!==t)}function v1(e){if(typeof e!=="object"||e===null)return!1;let t=e;return typeof t.id==="string"&&t.id.length>0&&typeof t.title==="string"&&typeof t.cwd==="string"&&typeof t.lastActiveAt==="number"}async function Hh(e=$h()){try{let t=await ol.readFile(e,"utf8"),n=JSON.parse(t);if(!Array.isArray(n))return[];return n.filter(v1).filter((r)=>!Oh(r.id)).filter((r)=>!Lh(r.id))}catch{return[]}}async function Uh(e,t=$h()){try{await ol.mkdir(S1(t),{recursive:!0}),await ol.writeFile(t,`${JSON.stringify(e,null,2)}
|
|
734
|
+
`,"utf8")}catch{}}function I1(e){switch(e){case"thinking":return"running";case"needs_approval":return"waiting";case"error":case"exited":return"exited";default:return"idle"}}function jh(e){let[t,n]=j([]),[r,o]=j([]),[i,a]=j(0),s=()=>t()[i()].session,l=(u)=>{let m={...e.open(u)};return n([...t(),m]),a(t().length-1),m};return e.load().then((u)=>{o(u.filter((g)=>!Jr(g.title)))}),{active:s,rows:()=>{let u=r(),g=t()[i()],m=[],k=new Set,y=new Map(il(u,e.cwd,bi).map((R)=>[R.id,R.title]));for(let[R,N]of t().entries()){let M=N.id();if(M)k.add(M);let P=N.session.transcript().title;if(!P&&!(M&&y.has(M)))continue;m.push({id:M,title:P||(M?y.get(M):void 0)||c("session.untitled"),active:N===g,tone:I1(N.session.status()),entryIndex:R})}for(let R of il(u,e.cwd,bi)){if(k.has(R.id))continue;m.push({id:R.id,title:R.title,active:!1,tone:"idle"})}return m},create:()=>{l()},resume:(u)=>{l(u)},activate:(u)=>{if(u.entryIndex!==void 0){a(u.entryIndex);return}if(u.id)l(u.id)},remember:(u)=>{let g=t()[i()],m=g?.id();if(!m||g.savedTitle===u)return;if(Jr(u))return;g.savedTitle=u,o(Gh(r(),{id:m,title:u||c("session.untitled"),cwd:e.cwd,lastActiveAt:Date.now()})),e.save(r())},archiveActive:()=>{let u=t(),g=i(),m=u[g];if(!m)return;let k=m.id();if(m.close(),k){let N=zh(r(),k);if(N.length!==r().length)o(N),e.save(N)}let y=u.filter((N,M)=>M!==g),R=y.length>0?y:[{...e.open()}];Ro(()=>{n(R),a(y.length>0?Math.min(g,y.length-1):0)})},dispose:()=>Promise.all(t().map((u)=>u.close())).then(()=>{return})}}import{createHash as _1}from"crypto";import Zh from"fs/promises";import{homedir as yi}from"os";import{join as ll,resolve as P1}from"path";var E1=/<system[\s-]?reminder>[\s\S]*?<\/system[\s-]?reminder>/gi,T1=/\[Easy Code - USER MID-TURN MESSAGE\] The user sent the following instruction while you were executing tools\. Factor it in for the remainder of this turn\.\s*/gi,B1=/\[Easy Code - USER MID-TURN MESSAGES\] The user sent \d+ additional instructions while you were executing tools\. Factor them in for the remainder of this turn\.\s*/gi,R1=/\[Conversation\s+continues\]\s*/gi;function al(e){if(!e)return e;return e.replace(E1,"").replace(T1,"").replace(B1,"").replace(R1,"").replace(/\n{3,}/g,`
|
|
735
735
|
|
|
736
|
-
`).trim()}function sl(e){let t=e.trim();return t.startsWith("[Conversation continues]")||t.startsWith("[Easy Code - SYSTEM NOTIFICATION]")||t.startsWith("[Post-compression context restoration]")}function
|
|
737
|
-
Timed out.`})},t.timeoutMs??H1);_.stdout?.on("data",g),_.stderr?.on("data",g),_.on("error",(D)=>{clearTimeout(U),y({ok:!1,output:D.message})}),_.on("close",(D)=>{clearTimeout(U),y({ok:D===0,output:m.trim()})})}catch(_){y({ok:!1,output:_ instanceof Error?_.message:String(_)})}})}import*as Ob from"path";import{MouseButton as nB,SyntaxStyle as rB}from"@opentui/core";import{RGBA as $p}from"@opentui/core";function ur(e){return Math.max(64,Math.floor(e*0.6))}import{RGBA as Bt}from"@opentui/core";var ep={$schema:"https://opencode.ai/theme.json",defs:{darkBg:"#0f0f0f",darkBgPanel:"#15141b",darkBorder:"#2d2d2d",darkFgMuted:"#6d6d6d",darkFg:"#edecee",purple:"#a277ff",pink:"#f694ff",blue:"#82e2ff",red:"#ff6767",orange:"#ffca85",cyan:"#61ffca",green:"#9dff65",darkBgElement:"#26242e"},theme:{primary:"purple",secondary:"pink",accent:"purple",error:"red",warning:"orange",success:"cyan",info:"purple",text:"darkFg",textMuted:"darkFgMuted",background:"darkBg",backgroundPanel:"darkBgPanel",backgroundElement:"darkBgElement",border:"darkBorder",borderActive:"darkFgMuted",borderSubtle:"darkBorder",diffAdded:"cyan",diffRemoved:"red",diffContext:"darkFgMuted",diffHunkHeader:"darkFgMuted",diffHighlightAdded:"cyan",diffHighlightRemoved:"red",diffAddedBg:"#354933",diffRemovedBg:"#3f191a",diffContextBg:"darkBgPanel",diffLineNumber:"#898989",diffAddedLineNumberBg:"#162620",diffRemovedLineNumberBg:"#26161a",markdownText:"darkFg",markdownHeading:"purple",markdownLink:"pink",markdownLinkText:"purple",markdownCode:"cyan",markdownBlockQuote:"darkFgMuted",markdownEmph:"orange",markdownStrong:"purple",markdownHorizontalRule:"darkFgMuted",markdownListItem:"purple",markdownListEnumeration:"purple",markdownImage:"pink",markdownImageText:"purple",markdownCodeBlock:"darkFg",syntaxComment:"darkFgMuted",syntaxKeyword:"pink",syntaxFunction:"purple",syntaxVariable:"purple",syntaxString:"cyan",syntaxNumber:"green",syntaxType:"purple",syntaxOperator:"pink",syntaxPunctuation:"darkFg"}};var tp={$schema:"https://opencode.ai/theme.json",defs:{darkBg:"#0B0E14",darkBgAlt:"#0D1017",darkLine:"#11151C",darkPanel:"#0F131A",darkFg:"#BFBDB6",darkFgMuted:"#565B66",darkGutter:"#6C7380",darkTag:"#39BAE6",darkFunc:"#FFB454",darkEntity:"#59C2FF",darkString:"#AAD94C",darkRegexp:"#95E6CB",darkMarkup:"#F07178",darkKeyword:"#FF8F40",darkSpecial:"#E6B673",darkComment:"#ACB6BF",darkConstant:"#D2A6FF",darkOperator:"#F29668",darkAdded:"#7FD962",darkRemoved:"#F26D78",darkAccent:"#E6B450",darkError:"#D95757",darkIndentActive:"#6C7380"},theme:{primary:"darkEntity",secondary:"darkConstant",accent:"darkAccent",error:"darkError",warning:"darkSpecial",success:"darkAdded",info:"darkTag",text:"darkFg",textMuted:"darkFgMuted",background:"darkBg",backgroundPanel:"darkPanel",backgroundElement:"darkBgAlt",border:"darkGutter",borderActive:"darkIndentActive",borderSubtle:"darkLine",diffAdded:"darkAdded",diffRemoved:"darkRemoved",diffContext:"darkComment",diffHunkHeader:"darkComment",diffHighlightAdded:"darkString",diffHighlightRemoved:"darkMarkup",diffAddedBg:"#20303b",diffRemovedBg:"#37222c",diffContextBg:"darkPanel",diffLineNumber:"diffContext",diffAddedLineNumberBg:"#1b2b34",diffRemovedLineNumberBg:"#2d1f26",markdownText:"darkFg",markdownHeading:"darkConstant",markdownLink:"darkEntity",markdownLinkText:"darkTag",markdownCode:"darkString",markdownBlockQuote:"darkSpecial",markdownEmph:"darkSpecial",markdownStrong:"darkFunc",markdownHorizontalRule:"darkFgMuted",markdownListItem:"darkEntity",markdownListEnumeration:"darkTag",markdownImage:"darkEntity",markdownImageText:"darkTag",markdownCodeBlock:"darkFg",syntaxComment:"darkComment",syntaxKeyword:"darkKeyword",syntaxFunction:"darkFunc",syntaxVariable:"darkEntity",syntaxString:"darkString",syntaxNumber:"darkConstant",syntaxType:"darkSpecial",syntaxOperator:"darkOperator",syntaxPunctuation:"darkFg"}};var np={$schema:"https://opencode.ai/theme.json",defs:{bg0:"#0d0d0d",bg1:"#161616",bg1a:"#1a1a1a",bg2:"#1e1e1e",bg3:"#262626",bg4:"#303030",fg0:"#ffffff",fg1:"#f2f4f8",fg2:"#a9afbc",fg3:"#7d848f",lbg0:"#ffffff",lbg1:"#f4f4f4",lbg2:"#e8e8e8",lbg3:"#dcdcdc",lfg0:"#000000",lfg1:"#161616",lfg2:"#525252",lfg3:"#6f6f6f",red:"#ee5396",green:"#25be6a",yellow:"#08bdba",blue:"#78a9ff",magenta:"#be95ff",cyan:"#33b1ff",white:"#dfdfe0",orange:"#3ddbd9",pink:"#ff7eb6",blueBright:"#8cb6ff",cyanBright:"#52c7ff",greenBright:"#46c880",redLight:"#9f1853",greenLight:"#198038",yellowLight:"#007d79",blueLight:"#0043ce",magentaLight:"#6929c4",cyanLight:"#0072c3",warning:"#f1c21b",diffGreen:"#50fa7b",diffRed:"#ff6b6b",diffGreenBg:"#0f2418",diffRedBg:"#2a1216"},theme:{primary:{dark:"cyan",light:"blueLight"},secondary:{dark:"blue",light:"blueLight"},accent:{dark:"pink",light:"redLight"},error:{dark:"red",light:"redLight"},warning:{dark:"warning",light:"yellowLight"},success:{dark:"green",light:"greenLight"},info:{dark:"blue",light:"blueLight"},text:{dark:"fg1",light:"lfg1"},textMuted:{dark:"fg3",light:"lfg3"},background:{dark:"bg1",light:"lbg0"},backgroundPanel:{dark:"bg1a",light:"lbg1"},backgroundElement:{dark:"bg2",light:"lbg2"},border:{dark:"bg4",light:"lbg3"},borderActive:{dark:"cyan",light:"blueLight"},borderSubtle:{dark:"bg3",light:"lbg2"},diffAdded:{dark:"diffGreen",light:"greenLight"},diffRemoved:{dark:"diffRed",light:"redLight"},diffContext:{dark:"fg3",light:"lfg3"},diffHunkHeader:{dark:"blue",light:"blueLight"},diffHighlightAdded:{dark:"#7dffaa",light:"greenLight"},diffHighlightRemoved:{dark:"#ff9999",light:"redLight"},diffAddedBg:{dark:"diffGreenBg",light:"#defbe6"},diffRemovedBg:{dark:"diffRedBg",light:"#fff1f1"},diffContextBg:{dark:"bg1",light:"lbg1"},diffLineNumber:{dark:"#808792",light:"textMuted"},diffAddedLineNumberBg:{dark:"diffGreenBg",light:"#defbe6"},diffRemovedLineNumberBg:{dark:"diffRedBg",light:"#fff1f1"},markdownText:{dark:"fg1",light:"lfg1"},markdownHeading:{dark:"blueBright",light:"blueLight"},markdownLink:{dark:"blue",light:"blueLight"},markdownLinkText:{dark:"cyan",light:"cyanLight"},markdownCode:{dark:"green",light:"greenLight"},markdownBlockQuote:{dark:"fg3",light:"lfg3"},markdownEmph:{dark:"magenta",light:"magentaLight"},markdownStrong:{dark:"fg0",light:"lfg0"},markdownHorizontalRule:{dark:"bg4",light:"lbg3"},markdownListItem:{dark:"cyan",light:"cyanLight"},markdownListEnumeration:{dark:"cyan",light:"cyanLight"},markdownImage:{dark:"blue",light:"blueLight"},markdownImageText:{dark:"cyan",light:"cyanLight"},markdownCodeBlock:{dark:"fg2",light:"lfg2"},syntaxComment:{dark:"fg3",light:"lfg3"},syntaxKeyword:{dark:"magenta",light:"magentaLight"},syntaxFunction:{dark:"blueBright",light:"blueLight"},syntaxVariable:{dark:"white",light:"lfg1"},syntaxString:{dark:"green",light:"greenLight"},syntaxNumber:{dark:"orange",light:"yellowLight"},syntaxType:{dark:"yellow",light:"yellowLight"},syntaxOperator:{dark:"fg2",light:"lfg2"},syntaxPunctuation:{dark:"fg2",light:"lfg1"}}};var rp={$schema:"https://opencode.ai/theme.json",defs:{lightRosewater:"#dc8a78",lightFlamingo:"#dd7878",lightPink:"#ea76cb",lightMauve:"#8839ef",lightRed:"#d20f39",lightMaroon:"#e64553",lightPeach:"#fe640b",lightYellow:"#df8e1d",lightGreen:"#40a02b",lightTeal:"#179299",lightSky:"#04a5e5",lightSapphire:"#209fb5",lightBlue:"#1e66f5",lightLavender:"#7287fd",lightText:"#4c4f69",lightSubtext1:"#5c5f77",lightSubtext0:"#6c6f85",lightOverlay2:"#7c7f93",lightOverlay1:"#8c8fa1",lightOverlay0:"#9ca0b0",lightSurface2:"#acb0be",lightSurface1:"#bcc0cc",lightSurface0:"#ccd0da",lightBase:"#eff1f5",lightMantle:"#e6e9ef",lightCrust:"#dce0e8",darkRosewater:"#f5e0dc",darkFlamingo:"#f2cdcd",darkPink:"#f5c2e7",darkMauve:"#cba6f7",darkRed:"#f38ba8",darkMaroon:"#eba0ac",darkPeach:"#fab387",darkYellow:"#f9e2af",darkGreen:"#a6e3a1",darkTeal:"#94e2d5",darkSky:"#89dceb",darkSapphire:"#74c7ec",darkBlue:"#89b4fa",darkLavender:"#b4befe",darkText:"#cdd6f4",darkSubtext1:"#bac2de",darkSubtext0:"#a6adc8",darkOverlay2:"#9399b2",darkOverlay1:"#7f849c",darkOverlay0:"#6c7086",darkSurface2:"#585b70",darkSurface1:"#45475a",darkSurface0:"#313244",darkBase:"#1e1e2e",darkMantle:"#181825",darkCrust:"#11111b"},theme:{primary:{dark:"darkBlue",light:"lightBlue"},secondary:{dark:"darkMauve",light:"lightMauve"},accent:{dark:"darkPink",light:"lightPink"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkYellow",light:"lightYellow"},success:{dark:"darkGreen",light:"lightGreen"},info:{dark:"darkTeal",light:"lightTeal"},text:{dark:"darkText",light:"lightText"},textMuted:{dark:"darkOverlay2",light:"lightOverlay2"},background:{dark:"darkBase",light:"lightBase"},backgroundPanel:{dark:"darkMantle",light:"lightMantle"},backgroundElement:{dark:"darkCrust",light:"lightCrust"},border:{dark:"darkSurface0",light:"lightSurface0"},borderActive:{dark:"darkSurface1",light:"lightSurface1"},borderSubtle:{dark:"darkSurface2",light:"lightSurface2"},diffAdded:{dark:"darkGreen",light:"lightGreen"},diffRemoved:{dark:"darkRed",light:"lightRed"},diffContext:{dark:"darkOverlay2",light:"lightOverlay2"},diffHunkHeader:{dark:"darkPeach",light:"lightPeach"},diffHighlightAdded:{dark:"darkGreen",light:"lightGreen"},diffHighlightRemoved:{dark:"darkRed",light:"lightRed"},diffAddedBg:{dark:"#24312b",light:"#d6f0d9"},diffRemovedBg:{dark:"#3c2a32",light:"#f6dfe2"},diffContextBg:{dark:"darkMantle",light:"lightMantle"},diffLineNumber:{dark:"textMuted",light:"#5b5d63"},diffAddedLineNumberBg:{dark:"#1e2a25",light:"#c9e3cb"},diffRemovedLineNumberBg:{dark:"#32232a",light:"#e9d3d6"},markdownText:{dark:"darkText",light:"lightText"},markdownHeading:{dark:"darkMauve",light:"lightMauve"},markdownLink:{dark:"darkBlue",light:"lightBlue"},markdownLinkText:{dark:"darkSky",light:"lightSky"},markdownCode:{dark:"darkGreen",light:"lightGreen"},markdownBlockQuote:{dark:"darkYellow",light:"lightYellow"},markdownEmph:{dark:"darkYellow",light:"lightYellow"},markdownStrong:{dark:"darkPeach",light:"lightPeach"},markdownHorizontalRule:{dark:"darkSubtext0",light:"lightSubtext0"},markdownListItem:{dark:"darkBlue",light:"lightBlue"},markdownListEnumeration:{dark:"darkSky",light:"lightSky"},markdownImage:{dark:"darkBlue",light:"lightBlue"},markdownImageText:{dark:"darkSky",light:"lightSky"},markdownCodeBlock:{dark:"darkText",light:"lightText"},syntaxComment:{dark:"darkOverlay2",light:"lightOverlay2"},syntaxKeyword:{dark:"darkMauve",light:"lightMauve"},syntaxFunction:{dark:"darkBlue",light:"lightBlue"},syntaxVariable:{dark:"darkRed",light:"lightRed"},syntaxString:{dark:"darkGreen",light:"lightGreen"},syntaxNumber:{dark:"darkPeach",light:"lightPeach"},syntaxType:{dark:"darkYellow",light:"lightYellow"},syntaxOperator:{dark:"darkSky",light:"lightSky"},syntaxPunctuation:{dark:"darkText",light:"lightText"}}};var op={$schema:"https://opencode.ai/theme.json",defs:{frappeRosewater:"#f2d5cf",frappeFlamingo:"#eebebe",frappePink:"#f4b8e4",frappeMauve:"#ca9ee6",frappeRed:"#e78284",frappeMaroon:"#ea999c",frappePeach:"#ef9f76",frappeYellow:"#e5c890",frappeGreen:"#a6d189",frappeTeal:"#81c8be",frappeSky:"#99d1db",frappeSapphire:"#85c1dc",frappeBlue:"#8da4e2",frappeLavender:"#babbf1",frappeText:"#c6d0f5",frappeSubtext1:"#b5bfe2",frappeSubtext0:"#a5adce",frappeOverlay2:"#949cb8",frappeOverlay1:"#838ba7",frappeOverlay0:"#737994",frappeSurface2:"#626880",frappeSurface1:"#51576d",frappeSurface0:"#414559",frappeBase:"#303446",frappeMantle:"#292c3c",frappeCrust:"#232634"},theme:{primary:{dark:"frappeBlue",light:"frappeBlue"},secondary:{dark:"frappeMauve",light:"frappeMauve"},accent:{dark:"frappePink",light:"frappePink"},error:{dark:"frappeRed",light:"frappeRed"},warning:{dark:"frappeYellow",light:"frappeYellow"},success:{dark:"frappeGreen",light:"frappeGreen"},info:{dark:"frappeTeal",light:"frappeTeal"},text:{dark:"frappeText",light:"frappeText"},textMuted:{dark:"frappeOverlay2",light:"frappeOverlay2"},background:{dark:"frappeBase",light:"frappeBase"},backgroundPanel:{dark:"frappeMantle",light:"frappeMantle"},backgroundElement:{dark:"frappeCrust",light:"frappeCrust"},border:{dark:"frappeSurface0",light:"frappeSurface0"},borderActive:{dark:"frappeSurface1",light:"frappeSurface1"},borderSubtle:{dark:"frappeSurface2",light:"frappeSurface2"},diffAdded:{dark:"frappeGreen",light:"frappeGreen"},diffRemoved:{dark:"frappeRed",light:"frappeRed"},diffContext:{dark:"frappeOverlay2",light:"frappeOverlay2"},diffHunkHeader:{dark:"frappePeach",light:"frappePeach"},diffHighlightAdded:{dark:"frappeGreen",light:"frappeGreen"},diffHighlightRemoved:{dark:"frappeRed",light:"frappeRed"},diffAddedBg:{dark:"#29342b",light:"#29342b"},diffRemovedBg:{dark:"#3a2a31",light:"#3a2a31"},diffContextBg:{dark:"frappeMantle",light:"frappeMantle"},diffLineNumber:"textMuted",diffAddedLineNumberBg:{dark:"#223025",light:"#223025"},diffRemovedLineNumberBg:{dark:"#2f242b",light:"#2f242b"},markdownText:{dark:"frappeText",light:"frappeText"},markdownHeading:{dark:"frappeMauve",light:"frappeMauve"},markdownLink:{dark:"frappeBlue",light:"frappeBlue"},markdownLinkText:{dark:"frappeSky",light:"frappeSky"},markdownCode:{dark:"frappeGreen",light:"frappeGreen"},markdownBlockQuote:{dark:"frappeYellow",light:"frappeYellow"},markdownEmph:{dark:"frappeYellow",light:"frappeYellow"},markdownStrong:{dark:"frappePeach",light:"frappePeach"},markdownHorizontalRule:{dark:"frappeSubtext0",light:"frappeSubtext0"},markdownListItem:{dark:"frappeBlue",light:"frappeBlue"},markdownListEnumeration:{dark:"frappeSky",light:"frappeSky"},markdownImage:{dark:"frappeBlue",light:"frappeBlue"},markdownImageText:{dark:"frappeSky",light:"frappeSky"},markdownCodeBlock:{dark:"frappeText",light:"frappeText"},syntaxComment:{dark:"frappeOverlay2",light:"frappeOverlay2"},syntaxKeyword:{dark:"frappeMauve",light:"frappeMauve"},syntaxFunction:{dark:"frappeBlue",light:"frappeBlue"},syntaxVariable:{dark:"frappeRed",light:"frappeRed"},syntaxString:{dark:"frappeGreen",light:"frappeGreen"},syntaxNumber:{dark:"frappePeach",light:"frappePeach"},syntaxType:{dark:"frappeYellow",light:"frappeYellow"},syntaxOperator:{dark:"frappeSky",light:"frappeSky"},syntaxPunctuation:{dark:"frappeText",light:"frappeText"}}};var ip={$schema:"https://opencode.ai/theme.json",defs:{macRosewater:"#f4dbd6",macFlamingo:"#f0c6c6",macPink:"#f5bde6",macMauve:"#c6a0f6",macRed:"#ed8796",macMaroon:"#ee99a0",macPeach:"#f5a97f",macYellow:"#eed49f",macGreen:"#a6da95",macTeal:"#8bd5ca",macSky:"#91d7e3",macSapphire:"#7dc4e4",macBlue:"#8aadf4",macLavender:"#b7bdf8",macText:"#cad3f5",macSubtext1:"#b8c0e0",macSubtext0:"#a5adcb",macOverlay2:"#939ab7",macOverlay1:"#8087a2",macOverlay0:"#6e738d",macSurface2:"#5b6078",macSurface1:"#494d64",macSurface0:"#363a4f",macBase:"#24273a",macMantle:"#1e2030",macCrust:"#181926"},theme:{primary:{dark:"macBlue",light:"macBlue"},secondary:{dark:"macMauve",light:"macMauve"},accent:{dark:"macPink",light:"macPink"},error:{dark:"macRed",light:"macRed"},warning:{dark:"macYellow",light:"macYellow"},success:{dark:"macGreen",light:"macGreen"},info:{dark:"macTeal",light:"macTeal"},text:{dark:"macText",light:"macText"},textMuted:{dark:"macOverlay2",light:"macOverlay2"},background:{dark:"macBase",light:"macBase"},backgroundPanel:{dark:"macMantle",light:"macMantle"},backgroundElement:{dark:"macCrust",light:"macCrust"},border:{dark:"macSurface0",light:"macSurface0"},borderActive:{dark:"macSurface1",light:"macSurface1"},borderSubtle:{dark:"macSurface2",light:"macSurface2"},diffAdded:{dark:"macGreen",light:"macGreen"},diffRemoved:{dark:"macRed",light:"macRed"},diffContext:{dark:"macOverlay2",light:"macOverlay2"},diffHunkHeader:{dark:"macPeach",light:"macPeach"},diffHighlightAdded:{dark:"macGreen",light:"macGreen"},diffHighlightRemoved:{dark:"macRed",light:"macRed"},diffAddedBg:{dark:"#29342b",light:"#29342b"},diffRemovedBg:{dark:"#3a2a31",light:"#3a2a31"},diffContextBg:{dark:"macMantle",light:"macMantle"},diffLineNumber:"textMuted",diffAddedLineNumberBg:{dark:"#223025",light:"#223025"},diffRemovedLineNumberBg:{dark:"#2f242b",light:"#2f242b"},markdownText:{dark:"macText",light:"macText"},markdownHeading:{dark:"macMauve",light:"macMauve"},markdownLink:{dark:"macBlue",light:"macBlue"},markdownLinkText:{dark:"macSky",light:"macSky"},markdownCode:{dark:"macGreen",light:"macGreen"},markdownBlockQuote:{dark:"macYellow",light:"macYellow"},markdownEmph:{dark:"macYellow",light:"macYellow"},markdownStrong:{dark:"macPeach",light:"macPeach"},markdownHorizontalRule:{dark:"macSubtext0",light:"macSubtext0"},markdownListItem:{dark:"macBlue",light:"macBlue"},markdownListEnumeration:{dark:"macSky",light:"macSky"},markdownImage:{dark:"macBlue",light:"macBlue"},markdownImageText:{dark:"macSky",light:"macSky"},markdownCodeBlock:{dark:"macText",light:"macText"},syntaxComment:{dark:"macOverlay2",light:"macOverlay2"},syntaxKeyword:{dark:"macMauve",light:"macMauve"},syntaxFunction:{dark:"macBlue",light:"macBlue"},syntaxVariable:{dark:"macRed",light:"macRed"},syntaxString:{dark:"macGreen",light:"macGreen"},syntaxNumber:{dark:"macPeach",light:"macPeach"},syntaxType:{dark:"macYellow",light:"macYellow"},syntaxOperator:{dark:"macSky",light:"macSky"},syntaxPunctuation:{dark:"macText",light:"macText"}}};var ap={$schema:"https://opencode.ai/theme.json",defs:{background:"#193549",backgroundAlt:"#122738",backgroundPanel:"#1f4662",foreground:"#ffffff",foregroundMuted:"#adb7c9",yellow:"#ffc600",yellowBright:"#ffe14c",orange:"#ff9d00",orangeBright:"#ffb454",mint:"#2affdf",mintBright:"#7efff5",blue:"#0088ff",blueBright:"#5cb7ff",pink:"#ff628c",pinkBright:"#ff86a5",green:"#9eff80",greenBright:"#b9ff9f",purple:"#9a5feb",purpleBright:"#b88cfd",red:"#ff0088",redBright:"#ff5fb3"},theme:{primary:{dark:"blue",light:"#0066cc"},secondary:{dark:"purple",light:"#7c4dff"},accent:{dark:"mint",light:"#00acc1"},error:{dark:"red",light:"#e91e63"},warning:{dark:"yellow",light:"#ff9800"},success:{dark:"green",light:"#4caf50"},info:{dark:"orange",light:"#ff5722"},text:{dark:"foreground",light:"#193549"},textMuted:{dark:"foregroundMuted",light:"#5c6b7d"},background:{dark:"#193549",light:"#ffffff"},backgroundPanel:{dark:"#122738",light:"#f5f7fa"},backgroundElement:{dark:"#1f4662",light:"#e8ecf1"},border:{dark:"#1f4662",light:"#d3dae3"},borderActive:{dark:"blue",light:"#0066cc"},borderSubtle:{dark:"#0e1e2e",light:"#e8ecf1"},diffAdded:{dark:"green",light:"#4caf50"},diffRemoved:{dark:"red",light:"#e91e63"},diffContext:{dark:"foregroundMuted",light:"#5c6b7d"},diffHunkHeader:{dark:"mint",light:"#00acc1"},diffHighlightAdded:{dark:"greenBright",light:"#4caf50"},diffHighlightRemoved:{dark:"redBright",light:"#e91e63"},diffAddedBg:{dark:"#1a3a2a",light:"#e8f5e9"},diffRemovedBg:{dark:"#3a1a2a",light:"#ffebee"},diffContextBg:{dark:"#122738",light:"#f5f7fa"},diffLineNumber:"textMuted",diffAddedLineNumberBg:{dark:"#1a3a2a",light:"#e8f5e9"},diffRemovedLineNumberBg:{dark:"#3a1a2a",light:"#ffebee"},markdownText:{dark:"foreground",light:"#193549"},markdownHeading:{dark:"yellow",light:"#ff9800"},markdownLink:{dark:"blue",light:"#0066cc"},markdownLinkText:{dark:"mint",light:"#00acc1"},markdownCode:{dark:"green",light:"#4caf50"},markdownBlockQuote:{dark:"foregroundMuted",light:"#5c6b7d"},markdownEmph:{dark:"orange",light:"#ff5722"},markdownStrong:{dark:"pink",light:"#e91e63"},markdownHorizontalRule:{dark:"#2d5a7b",light:"#d3dae3"},markdownListItem:{dark:"blue",light:"#0066cc"},markdownListEnumeration:{dark:"mint",light:"#00acc1"},markdownImage:{dark:"blue",light:"#0066cc"},markdownImageText:{dark:"mint",light:"#00acc1"},markdownCodeBlock:{dark:"foreground",light:"#193549"},syntaxComment:{dark:"#0088ff",light:"#5c6b7d"},syntaxKeyword:{dark:"orange",light:"#ff5722"},syntaxFunction:{dark:"yellow",light:"#ff9800"},syntaxVariable:{dark:"foreground",light:"#193549"},syntaxString:{dark:"green",light:"#4caf50"},syntaxNumber:{dark:"pink",light:"#e91e63"},syntaxType:{dark:"mint",light:"#00acc1"},syntaxOperator:{dark:"orange",light:"#ff5722"},syntaxPunctuation:{dark:"foreground",light:"#193549"}}};var sp={$schema:"https://opencode.ai/theme.json",defs:{darkBg:"#181818",darkPanel:"#141414",darkElement:"#262626",darkFg:"#e4e4e4",darkMuted:"#e4e4e45e",darkBorder:"#e4e4e413",darkBorderActive:"#e4e4e426",darkCyan:"#88c0d0",darkBlue:"#81a1c1",darkGreen:"#3fa266",darkGreenBright:"#70b489",darkRed:"#e34671",darkRedBright:"#fc6b83",darkYellow:"#f1b467",darkOrange:"#d2943e",darkPink:"#E394DC",darkPurple:"#AAA0FA",darkTeal:"#82D2CE",darkSyntaxYellow:"#F8C762",darkSyntaxOrange:"#EFB080",darkSyntaxGreen:"#A8CC7C",darkSyntaxBlue:"#87C3FF",lightBg:"#fcfcfc",lightPanel:"#f3f3f3",lightElement:"#ededed",lightFg:"#141414",lightMuted:"#141414ad",lightBorder:"#14141413",lightBorderActive:"#14141426",lightTeal:"#6f9ba6",lightBlue:"#3c7cab",lightBlueDark:"#206595",lightGreen:"#1f8a65",lightGreenBright:"#55a583",lightRed:"#cf2d56",lightRedBright:"#e75e78",lightOrange:"#db704b",lightYellow:"#c08532",lightPurple:"#9e94d5",lightPurpleDark:"#6049b3",lightPink:"#b8448b",lightMagenta:"#b3003f"},theme:{primary:{dark:"darkCyan",light:"lightTeal"},secondary:{dark:"darkBlue",light:"lightBlue"},accent:{dark:"darkCyan",light:"lightTeal"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkYellow",light:"lightOrange"},success:{dark:"darkGreen",light:"lightGreen"},info:{dark:"darkBlue",light:"lightBlue"},text:{dark:"darkFg",light:"lightFg"},textMuted:{dark:"darkMuted",light:"lightMuted"},background:{dark:"darkBg",light:"lightBg"},backgroundPanel:{dark:"darkPanel",light:"lightPanel"},backgroundElement:{dark:"darkElement",light:"lightElement"},border:{dark:"darkBorder",light:"lightBorder"},borderActive:{dark:"darkCyan",light:"lightTeal"},borderSubtle:{dark:"#0f0f0f",light:"#e0e0e0"},diffAdded:{dark:"darkGreen",light:"lightGreen"},diffRemoved:{dark:"darkRed",light:"lightRed"},diffContext:{dark:"darkMuted",light:"lightMuted"},diffHunkHeader:{dark:"darkMuted",light:"lightMuted"},diffHighlightAdded:{dark:"darkGreenBright",light:"lightGreenBright"},diffHighlightRemoved:{dark:"darkRedBright",light:"lightRedBright"},diffAddedBg:{dark:"#3fa26633",light:"#1f8a651f"},diffRemovedBg:{dark:"#b8004933",light:"#cf2d5614"},diffContextBg:{dark:"darkPanel",light:"lightPanel"},diffLineNumber:{dark:"#eeeeee87",light:"textMuted"},diffAddedLineNumberBg:{dark:"#3fa26633",light:"#1f8a651f"},diffRemovedLineNumberBg:{dark:"#b8004933",light:"#cf2d5614"},markdownText:{dark:"darkFg",light:"lightFg"},markdownHeading:{dark:"darkPurple",light:"lightBlueDark"},markdownLink:{dark:"darkTeal",light:"lightBlueDark"},markdownLinkText:{dark:"darkBlue",light:"lightMuted"},markdownCode:{dark:"darkPink",light:"lightGreen"},markdownBlockQuote:{dark:"darkMuted",light:"lightMuted"},markdownEmph:{dark:"darkTeal",light:"lightFg"},markdownStrong:{dark:"darkSyntaxYellow",light:"lightFg"},markdownHorizontalRule:{dark:"darkMuted",light:"lightMuted"},markdownListItem:{dark:"darkFg",light:"lightFg"},markdownListEnumeration:{dark:"darkCyan",light:"lightMuted"},markdownImage:{dark:"darkCyan",light:"lightBlueDark"},markdownImageText:{dark:"darkBlue",light:"lightMuted"},markdownCodeBlock:{dark:"darkFg",light:"lightFg"},syntaxComment:{dark:"darkMuted",light:"lightMuted"},syntaxKeyword:{dark:"darkTeal",light:"lightMagenta"},syntaxFunction:{dark:"darkSyntaxOrange",light:"lightOrange"},syntaxVariable:{dark:"darkFg",light:"lightFg"},syntaxString:{dark:"darkPink",light:"lightPurple"},syntaxNumber:{dark:"darkSyntaxYellow",light:"lightPink"},syntaxType:{dark:"darkSyntaxOrange",light:"lightBlueDark"},syntaxOperator:{dark:"darkFg",light:"lightFg"},syntaxPunctuation:{dark:"darkFg",light:"lightFg"}}};var lp={$schema:"https://opencode.ai/theme.json",defs:{background:"#282a36",currentLine:"#44475a",selection:"#44475a",foreground:"#f8f8f2",comment:"#6272a4",cyan:"#8be9fd",green:"#50fa7b",orange:"#ffb86c",pink:"#ff79c6",purple:"#bd93f9",red:"#ff5555",yellow:"#f1fa8c"},theme:{primary:{dark:"purple",light:"purple"},secondary:{dark:"pink",light:"pink"},accent:{dark:"cyan",light:"cyan"},error:{dark:"red",light:"red"},warning:{dark:"yellow",light:"yellow"},success:{dark:"green",light:"green"},info:{dark:"orange",light:"orange"},text:{dark:"foreground",light:"#282a36"},textMuted:{dark:"comment",light:"#6272a4"},background:{dark:"#282a36",light:"#f8f8f2"},backgroundPanel:{dark:"#21222c",light:"#e8e8e2"},backgroundElement:{dark:"currentLine",light:"#d8d8d2"},border:{dark:"currentLine",light:"#c8c8c2"},borderActive:{dark:"purple",light:"purple"},borderSubtle:{dark:"#191a21",light:"#e0e0e0"},diffAdded:{dark:"green",light:"green"},diffRemoved:{dark:"red",light:"red"},diffContext:{dark:"comment",light:"#6272a4"},diffHunkHeader:{dark:"comment",light:"#6272a4"},diffHighlightAdded:{dark:"green",light:"green"},diffHighlightRemoved:{dark:"red",light:"red"},diffAddedBg:{dark:"#1a3a1a",light:"#e0ffe0"},diffRemovedBg:{dark:"#3a1a1a",light:"#ffe0e0"},diffContextBg:{dark:"#21222c",light:"#e8e8e2"},diffLineNumber:{dark:"#989aa4",light:"#686865"},diffAddedLineNumberBg:{dark:"#1a3a1a",light:"#e0ffe0"},diffRemovedLineNumberBg:{dark:"#3a1a1a",light:"#ffe0e0"},markdownText:{dark:"foreground",light:"#282a36"},markdownHeading:{dark:"purple",light:"purple"},markdownLink:{dark:"cyan",light:"cyan"},markdownLinkText:{dark:"pink",light:"pink"},markdownCode:{dark:"green",light:"green"},markdownBlockQuote:{dark:"comment",light:"#6272a4"},markdownEmph:{dark:"yellow",light:"yellow"},markdownStrong:{dark:"orange",light:"orange"},markdownHorizontalRule:{dark:"comment",light:"#6272a4"},markdownListItem:{dark:"purple",light:"purple"},markdownListEnumeration:{dark:"cyan",light:"cyan"},markdownImage:{dark:"cyan",light:"cyan"},markdownImageText:{dark:"pink",light:"pink"},markdownCodeBlock:{dark:"foreground",light:"#282a36"},syntaxComment:{dark:"comment",light:"#6272a4"},syntaxKeyword:{dark:"pink",light:"pink"},syntaxFunction:{dark:"green",light:"green"},syntaxVariable:{dark:"foreground",light:"#282a36"},syntaxString:{dark:"yellow",light:"yellow"},syntaxNumber:{dark:"purple",light:"purple"},syntaxType:{dark:"cyan",light:"cyan"},syntaxOperator:{dark:"pink",light:"pink"},syntaxPunctuation:{dark:"foreground",light:"#282a36"}}};var cp={$schema:"https://opencode.ai/theme.json",defs:{darkStep1:"#2d353b",darkStep2:"#333c43",darkStep3:"#343f44",darkStep4:"#3d484d",darkStep5:"#475258",darkStep6:"#7a8478",darkStep7:"#859289",darkStep8:"#9da9a0",darkStep9:"#a7c080",darkStep10:"#83c092",darkStep11:"#7a8478",darkStep12:"#d3c6aa",darkRed:"#e67e80",darkOrange:"#e69875",darkGreen:"#a7c080",darkCyan:"#83c092",darkYellow:"#dbbc7f",lightStep1:"#fdf6e3",lightStep2:"#efebd4",lightStep3:"#f4f0d9",lightStep4:"#efebd4",lightStep5:"#e6e2cc",lightStep6:"#a6b0a0",lightStep7:"#939f91",lightStep8:"#829181",lightStep9:"#8da101",lightStep10:"#35a77c",lightStep11:"#a6b0a0",lightStep12:"#5c6a72",lightRed:"#f85552",lightOrange:"#f57d26",lightGreen:"#8da101",lightCyan:"#35a77c",lightYellow:"#dfa000"},theme:{primary:{dark:"darkStep9",light:"lightStep9"},secondary:{dark:"#7fbbb3",light:"#3a94c5"},accent:{dark:"#d699b6",light:"#df69ba"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkOrange",light:"lightOrange"},success:{dark:"darkGreen",light:"lightGreen"},info:{dark:"darkCyan",light:"lightCyan"},text:{dark:"darkStep12",light:"lightStep12"},textMuted:{dark:"darkStep11",light:"lightStep11"},background:{dark:"darkStep1",light:"lightStep1"},backgroundPanel:{dark:"darkStep2",light:"lightStep2"},backgroundElement:{dark:"darkStep3",light:"lightStep3"},border:{dark:"darkStep7",light:"lightStep7"},borderActive:{dark:"darkStep8",light:"lightStep8"},borderSubtle:{dark:"darkStep6",light:"lightStep6"},diffAdded:{dark:"#4fd6be",light:"#1e725c"},diffRemoved:{dark:"#c53b53",light:"#c53b53"},diffContext:{dark:"#828bb8",light:"#7086b5"},diffHunkHeader:{dark:"#828bb8",light:"#7086b5"},diffHighlightAdded:{dark:"#b8db87",light:"#4db380"},diffHighlightRemoved:{dark:"#e26a75",light:"#f52a65"},diffAddedBg:{dark:"#20303b",light:"#d5e5d5"},diffRemovedBg:{dark:"#37222c",light:"#f7d8db"},diffContextBg:{dark:"darkStep2",light:"lightStep2"},diffLineNumber:{dark:"#a0a5a7",light:"#5b5951"},diffAddedLineNumberBg:{dark:"#1b2b34",light:"#c5d5c5"},diffRemovedLineNumberBg:{dark:"#2d1f26",light:"#e7c8cb"},markdownText:{dark:"darkStep12",light:"lightStep12"},markdownHeading:{dark:"#d699b6",light:"#df69ba"},markdownLink:{dark:"darkStep9",light:"lightStep9"},markdownLinkText:{dark:"darkCyan",light:"lightCyan"},markdownCode:{dark:"darkGreen",light:"lightGreen"},markdownBlockQuote:{dark:"darkYellow",light:"lightYellow"},markdownEmph:{dark:"darkYellow",light:"lightYellow"},markdownStrong:{dark:"darkOrange",light:"lightOrange"},markdownHorizontalRule:{dark:"darkStep11",light:"lightStep11"},markdownListItem:{dark:"darkStep9",light:"lightStep9"},markdownListEnumeration:{dark:"darkCyan",light:"lightCyan"},markdownImage:{dark:"darkStep9",light:"lightStep9"},markdownImageText:{dark:"darkCyan",light:"lightCyan"},markdownCodeBlock:{dark:"darkStep12",light:"lightStep12"},syntaxComment:{dark:"darkStep11",light:"lightStep11"},syntaxKeyword:{dark:"#d699b6",light:"#df69ba"},syntaxFunction:{dark:"darkStep9",light:"lightStep9"},syntaxVariable:{dark:"darkRed",light:"lightRed"},syntaxString:{dark:"darkGreen",light:"lightGreen"},syntaxNumber:{dark:"darkOrange",light:"lightOrange"},syntaxType:{dark:"darkYellow",light:"lightYellow"},syntaxOperator:{dark:"darkCyan",light:"lightCyan"},syntaxPunctuation:{dark:"darkStep12",light:"lightStep12"}}};var dp={$schema:"https://opencode.ai/theme.json",defs:{black:"#100F0F",base950:"#1C1B1A",base900:"#282726",base850:"#343331",base800:"#403E3C",base700:"#575653",base600:"#6F6E69",base500:"#878580",base300:"#B7B5AC",base200:"#CECDC3",base150:"#DAD8CE",base100:"#E6E4D9",base50:"#F2F0E5",paper:"#FFFCF0",red400:"#D14D41",red600:"#AF3029",orange400:"#DA702C",orange600:"#BC5215",yellow400:"#D0A215",yellow600:"#AD8301",green400:"#879A39",green600:"#66800B",cyan400:"#3AA99F",cyan600:"#24837B",blue400:"#4385BE",blue600:"#205EA6",purple400:"#8B7EC8",purple600:"#5E409D",magenta400:"#CE5D97",magenta600:"#A02F6F"},theme:{primary:{dark:"orange400",light:"blue600"},secondary:{dark:"blue400",light:"purple600"},accent:{dark:"purple400",light:"orange600"},error:{dark:"red400",light:"red600"},warning:{dark:"orange400",light:"orange600"},success:{dark:"green400",light:"green600"},info:{dark:"cyan400",light:"cyan600"},text:{dark:"base200",light:"black"},textMuted:{dark:"base600",light:"base600"},background:{dark:"black",light:"paper"},backgroundPanel:{dark:"base950",light:"base50"},backgroundElement:{dark:"base900",light:"base100"},border:{dark:"base700",light:"base300"},borderActive:{dark:"base600",light:"base500"},borderSubtle:{dark:"base800",light:"base200"},diffAdded:{dark:"green400",light:"green600"},diffRemoved:{dark:"red400",light:"red600"},diffContext:{dark:"base600",light:"base600"},diffHunkHeader:{dark:"blue400",light:"blue600"},diffHighlightAdded:{dark:"green400",light:"green600"},diffHighlightRemoved:{dark:"red400",light:"red600"},diffAddedBg:{dark:"#1A2D1A",light:"#D5E5D5"},diffRemovedBg:{dark:"#2D1A1A",light:"#F7D8DB"},diffContextBg:{dark:"base950",light:"base50"},diffLineNumber:{dark:"#888883",light:"#5a5955"},diffAddedLineNumberBg:{dark:"#152515",light:"#C5D5C5"},diffRemovedLineNumberBg:{dark:"#251515",light:"#E7C8CB"},markdownText:{dark:"base200",light:"black"},markdownHeading:{dark:"purple400",light:"purple600"},markdownLink:{dark:"blue400",light:"blue600"},markdownLinkText:{dark:"cyan400",light:"cyan600"},markdownCode:{dark:"cyan400",light:"cyan600"},markdownBlockQuote:{dark:"yellow400",light:"yellow600"},markdownEmph:{dark:"yellow400",light:"yellow600"},markdownStrong:{dark:"orange400",light:"orange600"},markdownHorizontalRule:{dark:"base600",light:"base600"},markdownListItem:{dark:"orange400",light:"orange600"},markdownListEnumeration:{dark:"cyan400",light:"cyan600"},markdownImage:{dark:"magenta400",light:"magenta600"},markdownImageText:{dark:"cyan400",light:"cyan600"},markdownCodeBlock:{dark:"base200",light:"black"},syntaxComment:{dark:"base600",light:"base600"},syntaxKeyword:{dark:"green400",light:"green600"},syntaxFunction:{dark:"orange400",light:"orange600"},syntaxVariable:{dark:"blue400",light:"blue600"},syntaxString:{dark:"cyan400",light:"cyan600"},syntaxNumber:{dark:"purple400",light:"purple600"},syntaxType:{dark:"yellow400",light:"yellow600"},syntaxOperator:{dark:"base300",light:"base600"},syntaxPunctuation:{dark:"base300",light:"base600"}}};var up={$schema:"https://opencode.ai/theme.json",defs:{darkBg:"#0d1117",darkBgAlt:"#010409",darkBgPanel:"#161b22",darkFg:"#c9d1d9",darkFgMuted:"#8b949e",darkBlue:"#58a6ff",darkGreen:"#3fb950",darkRed:"#f85149",darkOrange:"#d29922",darkPurple:"#bc8cff",darkPink:"#ff7b72",darkYellow:"#e3b341",darkCyan:"#39c5cf",lightBg:"#ffffff",lightBgAlt:"#f6f8fa",lightBgPanel:"#f0f3f6",lightFg:"#24292f",lightFgMuted:"#57606a",lightBlue:"#0969da",lightGreen:"#1a7f37",lightRed:"#cf222e",lightOrange:"#bc4c00",lightPurple:"#8250df",lightPink:"#bf3989",lightYellow:"#9a6700",lightCyan:"#1b7c83"},theme:{primary:{dark:"darkBlue",light:"lightBlue"},secondary:{dark:"darkPurple",light:"lightPurple"},accent:{dark:"darkCyan",light:"lightCyan"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkYellow",light:"lightYellow"},success:{dark:"darkGreen",light:"lightGreen"},info:{dark:"darkOrange",light:"lightOrange"},text:{dark:"darkFg",light:"lightFg"},textMuted:{dark:"darkFgMuted",light:"lightFgMuted"},background:{dark:"darkBg",light:"lightBg"},backgroundPanel:{dark:"darkBgAlt",light:"lightBgAlt"},backgroundElement:{dark:"darkBgPanel",light:"lightBgPanel"},border:{dark:"#30363d",light:"#d0d7de"},borderActive:{dark:"darkBlue",light:"lightBlue"},borderSubtle:{dark:"#21262d",light:"#d8dee4"},diffAdded:{dark:"darkGreen",light:"lightGreen"},diffRemoved:{dark:"darkRed",light:"lightRed"},diffContext:{dark:"darkFgMuted",light:"lightFgMuted"},diffHunkHeader:{dark:"darkBlue",light:"lightBlue"},diffHighlightAdded:{dark:"#3fb950",light:"#1a7f37"},diffHighlightRemoved:{dark:"#f85149",light:"#cf222e"},diffAddedBg:{dark:"#033a16",light:"#dafbe1"},diffRemovedBg:{dark:"#67060c",light:"#ffebe9"},diffContextBg:{dark:"darkBgAlt",light:"lightBgAlt"},diffLineNumber:{dark:"#95999e",light:"textMuted"},diffAddedLineNumberBg:{dark:"#033a16",light:"#dafbe1"},diffRemovedLineNumberBg:{dark:"#67060c",light:"#ffebe9"},markdownText:{dark:"darkFg",light:"lightFg"},markdownHeading:{dark:"darkBlue",light:"lightBlue"},markdownLink:{dark:"darkBlue",light:"lightBlue"},markdownLinkText:{dark:"darkCyan",light:"lightCyan"},markdownCode:{dark:"darkPink",light:"lightPink"},markdownBlockQuote:{dark:"darkFgMuted",light:"lightFgMuted"},markdownEmph:{dark:"darkYellow",light:"lightYellow"},markdownStrong:{dark:"darkOrange",light:"lightOrange"},markdownHorizontalRule:{dark:"#30363d",light:"#d0d7de"},markdownListItem:{dark:"darkBlue",light:"lightBlue"},markdownListEnumeration:{dark:"darkCyan",light:"lightCyan"},markdownImage:{dark:"darkBlue",light:"lightBlue"},markdownImageText:{dark:"darkCyan",light:"lightCyan"},markdownCodeBlock:{dark:"darkFg",light:"lightFg"},syntaxComment:{dark:"darkFgMuted",light:"lightFgMuted"},syntaxKeyword:{dark:"darkPink",light:"lightRed"},syntaxFunction:{dark:"darkPurple",light:"lightPurple"},syntaxVariable:{dark:"darkOrange",light:"lightOrange"},syntaxString:{dark:"darkCyan",light:"lightBlue"},syntaxNumber:{dark:"darkBlue",light:"lightCyan"},syntaxType:{dark:"darkOrange",light:"lightOrange"},syntaxOperator:{dark:"darkPink",light:"lightRed"},syntaxPunctuation:{dark:"darkFg",light:"lightFg"}}};var fp={$schema:"https://opencode.ai/theme.json",defs:{darkBg0:"#282828",darkBg1:"#3c3836",darkBg2:"#504945",darkBg3:"#665c54",darkFg0:"#fbf1c7",darkFg1:"#ebdbb2",darkGray:"#928374",darkRed:"#cc241d",darkGreen:"#98971a",darkYellow:"#d79921",darkBlue:"#458588",darkPurple:"#b16286",darkAqua:"#689d6a",darkOrange:"#d65d0e",darkRedBright:"#fb4934",darkGreenBright:"#b8bb26",darkYellowBright:"#fabd2f",darkBlueBright:"#83a598",darkPurpleBright:"#d3869b",darkAquaBright:"#8ec07c",darkOrangeBright:"#fe8019",lightBg0:"#fbf1c7",lightBg1:"#ebdbb2",lightBg2:"#d5c4a1",lightBg3:"#bdae93",lightFg0:"#282828",lightFg1:"#3c3836",lightGray:"#7c6f64",lightRed:"#9d0006",lightGreen:"#79740e",lightYellow:"#b57614",lightBlue:"#076678",lightPurple:"#8f3f71",lightAqua:"#427b58",lightOrange:"#af3a03"},theme:{primary:{dark:"darkBlueBright",light:"lightBlue"},secondary:{dark:"darkPurpleBright",light:"lightPurple"},accent:{dark:"darkAquaBright",light:"lightAqua"},error:{dark:"darkRedBright",light:"lightRed"},warning:{dark:"darkOrangeBright",light:"lightOrange"},success:{dark:"darkGreenBright",light:"lightGreen"},info:{dark:"darkYellowBright",light:"lightYellow"},text:{dark:"darkFg1",light:"lightFg1"},textMuted:{dark:"darkGray",light:"lightGray"},background:{dark:"darkBg0",light:"lightBg0"},backgroundPanel:{dark:"darkBg1",light:"lightBg1"},backgroundElement:{dark:"darkBg2",light:"lightBg2"},border:{dark:"darkBg3",light:"lightBg3"},borderActive:{dark:"darkFg1",light:"lightFg1"},borderSubtle:{dark:"darkBg2",light:"lightBg2"},diffAdded:{dark:"darkGreen",light:"lightGreen"},diffRemoved:{dark:"darkRed",light:"lightRed"},diffContext:{dark:"darkGray",light:"lightGray"},diffHunkHeader:{dark:"darkAqua",light:"lightAqua"},diffHighlightAdded:{dark:"darkGreenBright",light:"lightGreen"},diffHighlightRemoved:{dark:"darkRedBright",light:"lightRed"},diffAddedBg:{dark:"#32302f",light:"#dcd8a4"},diffRemovedBg:{dark:"#322929",light:"#e2c7c3"},diffContextBg:{dark:"darkBg1",light:"lightBg1"},diffLineNumber:{dark:"#a8a29e",light:"#564f43"},diffAddedLineNumberBg:{dark:"#2a2827",light:"#cec99e"},diffRemovedLineNumberBg:{dark:"#2a2222",light:"#d3bdb9"},markdownText:{dark:"darkFg1",light:"lightFg1"},markdownHeading:{dark:"darkBlueBright",light:"lightBlue"},markdownLink:{dark:"darkAquaBright",light:"lightAqua"},markdownLinkText:{dark:"darkGreenBright",light:"lightGreen"},markdownCode:{dark:"darkYellowBright",light:"lightYellow"},markdownBlockQuote:{dark:"darkGray",light:"lightGray"},markdownEmph:{dark:"darkPurpleBright",light:"lightPurple"},markdownStrong:{dark:"darkOrangeBright",light:"lightOrange"},markdownHorizontalRule:{dark:"darkGray",light:"lightGray"},markdownListItem:{dark:"darkBlueBright",light:"lightBlue"},markdownListEnumeration:{dark:"darkAquaBright",light:"lightAqua"},markdownImage:{dark:"darkAquaBright",light:"lightAqua"},markdownImageText:{dark:"darkGreenBright",light:"lightGreen"},markdownCodeBlock:{dark:"darkFg1",light:"lightFg1"},syntaxComment:{dark:"darkGray",light:"lightGray"},syntaxKeyword:{dark:"darkRedBright",light:"lightRed"},syntaxFunction:{dark:"darkGreenBright",light:"lightGreen"},syntaxVariable:{dark:"darkBlueBright",light:"lightBlue"},syntaxString:{dark:"darkYellowBright",light:"lightYellow"},syntaxNumber:{dark:"darkPurpleBright",light:"lightPurple"},syntaxType:{dark:"darkAquaBright",light:"lightAqua"},syntaxOperator:{dark:"darkOrangeBright",light:"lightOrange"},syntaxPunctuation:{dark:"darkFg1",light:"lightFg1"}}};var gp={$schema:"https://opencode.ai/theme.json",defs:{sumiInk0:"#1F1F28",sumiInk1:"#2A2A37",sumiInk2:"#363646",sumiInk3:"#54546D",fujiWhite:"#DCD7BA",oldWhite:"#C8C093",fujiGray:"#727169",oniViolet:"#957FB8",crystalBlue:"#7E9CD8",carpYellow:"#C38D9D",sakuraPink:"#D27E99",waveAqua:"#76946A",roninYellow:"#D7A657",dragonRed:"#E82424",lotusGreen:"#98BB6C",waveBlue:"#2D4F67",lightBg:"#F2E9DE",lightPaper:"#EAE4D7",lightText:"#54433A",lightGray:"#9E9389"},theme:{primary:{dark:"crystalBlue",light:"waveBlue"},secondary:{dark:"oniViolet",light:"oniViolet"},accent:{dark:"sakuraPink",light:"sakuraPink"},error:{dark:"dragonRed",light:"dragonRed"},warning:{dark:"roninYellow",light:"roninYellow"},success:{dark:"lotusGreen",light:"lotusGreen"},info:{dark:"waveAqua",light:"waveAqua"},text:{dark:"fujiWhite",light:"lightText"},textMuted:{dark:"fujiGray",light:"lightGray"},background:{dark:"sumiInk0",light:"lightBg"},backgroundPanel:{dark:"sumiInk1",light:"lightPaper"},backgroundElement:{dark:"sumiInk2",light:"#E3DCD2"},border:{dark:"sumiInk3",light:"#D4CBBF"},borderActive:{dark:"carpYellow",light:"carpYellow"},borderSubtle:{dark:"sumiInk2",light:"#DCD4C9"},diffAdded:{dark:"lotusGreen",light:"lotusGreen"},diffRemoved:{dark:"dragonRed",light:"dragonRed"},diffContext:{dark:"fujiGray",light:"lightGray"},diffHunkHeader:{dark:"waveBlue",light:"waveBlue"},diffHighlightAdded:{dark:"#A9D977",light:"#89AF5B"},diffHighlightRemoved:{dark:"#F24A4A",light:"#D61F1F"},diffAddedBg:{dark:"#252E25",light:"#EAF3E4"},diffRemovedBg:{dark:"#362020",light:"#FBE6E6"},diffContextBg:{dark:"sumiInk1",light:"lightPaper"},diffLineNumber:{dark:"#9090a0",light:"#65615c"},diffAddedLineNumberBg:{dark:"#202820",light:"#DDE8D6"},diffRemovedLineNumberBg:{dark:"#2D1C1C",light:"#F2DADA"},markdownText:{dark:"fujiWhite",light:"lightText"},markdownHeading:{dark:"oniViolet",light:"oniViolet"},markdownLink:{dark:"crystalBlue",light:"waveBlue"},markdownLinkText:{dark:"waveAqua",light:"waveAqua"},markdownCode:{dark:"lotusGreen",light:"lotusGreen"},markdownBlockQuote:{dark:"fujiGray",light:"lightGray"},markdownEmph:{dark:"carpYellow",light:"carpYellow"},markdownStrong:{dark:"roninYellow",light:"roninYellow"},markdownHorizontalRule:{dark:"fujiGray",light:"lightGray"},markdownListItem:{dark:"crystalBlue",light:"waveBlue"},markdownListEnumeration:{dark:"waveAqua",light:"waveAqua"},markdownImage:{dark:"crystalBlue",light:"waveBlue"},markdownImageText:{dark:"waveAqua",light:"waveAqua"},markdownCodeBlock:{dark:"fujiWhite",light:"lightText"},syntaxComment:{dark:"fujiGray",light:"lightGray"},syntaxKeyword:{dark:"oniViolet",light:"oniViolet"},syntaxFunction:{dark:"crystalBlue",light:"waveBlue"},syntaxVariable:{dark:"fujiWhite",light:"lightText"},syntaxString:{dark:"lotusGreen",light:"lotusGreen"},syntaxNumber:{dark:"roninYellow",light:"roninYellow"},syntaxType:{dark:"carpYellow",light:"carpYellow"},syntaxOperator:{dark:"sakuraPink",light:"sakuraPink"},syntaxPunctuation:{dark:"fujiWhite",light:"lightText"}}};var mp={$schema:"https://opencode.ai/theme.json",defs:{darkStep6:"#3c3c3c",darkStep11:"#808080",darkStep12:"#eeeeee",darkSecondary:"#EE7948",darkAccent:"#FFF7F1",darkRed:"#e06c75",darkOrange:"#EC5B2B",darkBlue:"#6ba1e6",darkCyan:"#56b6c2",darkYellow:"#e5c07b",darkPanelBg:"#2a1a1599",lightStep6:"#d4d4d4",lightStep11:"#8a8a8a",lightStep12:"#1a1a1a",lightSecondary:"#EE7948",lightAccent:"#c94d24",lightRed:"#d1383d",lightOrange:"#EC5B2B",lightBlue:"#0062d1",lightCyan:"#318795",lightYellow:"#b0851f",lightPanelBg:"#fff5f099"},theme:{primary:{dark:"darkOrange",light:"lightOrange"},secondary:{dark:"darkSecondary",light:"lightSecondary"},accent:{dark:"darkAccent",light:"lightAccent"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkOrange",light:"lightOrange"},success:{dark:"darkBlue",light:"lightBlue"},info:{dark:"darkCyan",light:"lightCyan"},text:{dark:"darkStep12",light:"lightStep12"},textMuted:{dark:"darkStep11",light:"lightStep11"},selectedListItemText:{dark:"#0a0a0a",light:"#ffffff"},background:{dark:"transparent",light:"transparent"},backgroundPanel:{dark:"transparent",light:"transparent"},backgroundElement:{dark:"darkPanelBg",light:"lightPanelBg"},backgroundMenu:{dark:"darkPanelBg",light:"lightPanelBg"},border:{dark:"darkOrange",light:"lightOrange"},borderActive:{dark:"darkSecondary",light:"lightAccent"},borderSubtle:{dark:"darkStep6",light:"lightStep6"},diffAdded:{dark:"darkBlue",light:"lightBlue"},diffRemoved:{dark:"#c53b53",light:"#c53b53"},diffContext:{dark:"#828bb8",light:"#7086b5"},diffHunkHeader:{dark:"#828bb8",light:"#7086b5"},diffHighlightAdded:{dark:"darkBlue",light:"lightBlue"},diffHighlightRemoved:{dark:"#e26a75",light:"#f52a65"},diffAddedBg:{dark:"transparent",light:"transparent"},diffRemovedBg:{dark:"transparent",light:"transparent"},diffContextBg:{dark:"transparent",light:"transparent"},diffLineNumber:"textMuted",diffAddedLineNumberBg:{dark:"transparent",light:"transparent"},diffRemovedLineNumberBg:{dark:"transparent",light:"transparent"},markdownText:{dark:"darkStep12",light:"lightStep12"},markdownHeading:{dark:"darkOrange",light:"lightOrange"},markdownLink:{dark:"darkOrange",light:"lightOrange"},markdownLinkText:{dark:"darkCyan",light:"lightCyan"},markdownCode:{dark:"darkBlue",light:"lightBlue"},markdownBlockQuote:{dark:"darkAccent",light:"lightYellow"},markdownEmph:{dark:"darkYellow",light:"lightYellow"},markdownStrong:{dark:"darkSecondary",light:"lightOrange"},markdownHorizontalRule:{dark:"darkStep11",light:"lightStep11"},markdownListItem:{dark:"darkOrange",light:"lightOrange"},markdownListEnumeration:{dark:"darkCyan",light:"lightCyan"},markdownImage:{dark:"darkOrange",light:"lightOrange"},markdownImageText:{dark:"darkCyan",light:"lightCyan"},markdownCodeBlock:{dark:"darkStep12",light:"lightStep12"},syntaxComment:{dark:"darkStep11",light:"lightStep11"},syntaxKeyword:{dark:"darkOrange",light:"lightOrange"},syntaxFunction:{dark:"darkSecondary",light:"lightAccent"},syntaxVariable:{dark:"darkRed",light:"lightRed"},syntaxString:{dark:"darkBlue",light:"lightBlue"},syntaxNumber:{dark:"darkAccent",light:"lightOrange"},syntaxType:{dark:"darkYellow",light:"lightYellow"},syntaxOperator:{dark:"darkCyan",light:"lightCyan"},syntaxPunctuation:{dark:"darkStep12",light:"lightStep12"}}};var hp={$schema:"https://opencode.ai/theme.json",defs:{darkBg:"#263238",darkBgAlt:"#1e272c",darkBgPanel:"#37474f",darkFg:"#eeffff",darkFgMuted:"#546e7a",darkRed:"#f07178",darkPink:"#f78c6c",darkOrange:"#ffcb6b",darkYellow:"#ffcb6b",darkGreen:"#c3e88d",darkCyan:"#89ddff",darkBlue:"#82aaff",darkPurple:"#c792ea",darkViolet:"#bb80b3",lightBg:"#fafafa",lightBgAlt:"#f5f5f5",lightBgPanel:"#e7e7e8",lightFg:"#263238",lightFgMuted:"#90a4ae",lightRed:"#e53935",lightPink:"#ec407a",lightOrange:"#f4511e",lightYellow:"#ffb300",lightGreen:"#91b859",lightCyan:"#39adb5",lightBlue:"#6182b8",lightPurple:"#7c4dff",lightViolet:"#945eb8"},theme:{primary:{dark:"darkBlue",light:"lightBlue"},secondary:{dark:"darkPurple",light:"lightPurple"},accent:{dark:"darkCyan",light:"lightCyan"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkYellow",light:"lightYellow"},success:{dark:"darkGreen",light:"lightGreen"},info:{dark:"darkOrange",light:"lightOrange"},text:{dark:"darkFg",light:"lightFg"},textMuted:{dark:"darkFgMuted",light:"lightFgMuted"},background:{dark:"darkBg",light:"lightBg"},backgroundPanel:{dark:"darkBgAlt",light:"lightBgAlt"},backgroundElement:{dark:"darkBgPanel",light:"lightBgPanel"},border:{dark:"#37474f",light:"#e0e0e0"},borderActive:{dark:"darkBlue",light:"lightBlue"},borderSubtle:{dark:"#1e272c",light:"#eeeeee"},diffAdded:{dark:"darkGreen",light:"lightGreen"},diffRemoved:{dark:"darkRed",light:"lightRed"},diffContext:{dark:"darkFgMuted",light:"lightFgMuted"},diffHunkHeader:{dark:"darkCyan",light:"lightCyan"},diffHighlightAdded:{dark:"darkGreen",light:"lightGreen"},diffHighlightRemoved:{dark:"darkRed",light:"lightRed"},diffAddedBg:{dark:"#2e3c2b",light:"#e8f5e9"},diffRemovedBg:{dark:"#3c2b2b",light:"#ffebee"},diffContextBg:{dark:"darkBgAlt",light:"lightBgAlt"},diffLineNumber:{dark:"#9aa2a6",light:"#6a6e70"},diffAddedLineNumberBg:{dark:"#2e3c2b",light:"#e8f5e9"},diffRemovedLineNumberBg:{dark:"#3c2b2b",light:"#ffebee"},markdownText:{dark:"darkFg",light:"lightFg"},markdownHeading:{dark:"darkBlue",light:"lightBlue"},markdownLink:{dark:"darkCyan",light:"lightCyan"},markdownLinkText:{dark:"darkPurple",light:"lightPurple"},markdownCode:{dark:"darkGreen",light:"lightGreen"},markdownBlockQuote:{dark:"darkFgMuted",light:"lightFgMuted"},markdownEmph:{dark:"darkYellow",light:"lightYellow"},markdownStrong:{dark:"darkOrange",light:"lightOrange"},markdownHorizontalRule:{dark:"#37474f",light:"#e0e0e0"},markdownListItem:{dark:"darkBlue",light:"lightBlue"},markdownListEnumeration:{dark:"darkCyan",light:"lightCyan"},markdownImage:{dark:"darkCyan",light:"lightCyan"},markdownImageText:{dark:"darkPurple",light:"lightPurple"},markdownCodeBlock:{dark:"darkFg",light:"lightFg"},syntaxComment:{dark:"darkFgMuted",light:"lightFgMuted"},syntaxKeyword:{dark:"darkPurple",light:"lightPurple"},syntaxFunction:{dark:"darkBlue",light:"lightBlue"},syntaxVariable:{dark:"darkFg",light:"lightFg"},syntaxString:{dark:"darkGreen",light:"lightGreen"},syntaxNumber:{dark:"darkOrange",light:"lightOrange"},syntaxType:{dark:"darkYellow",light:"lightYellow"},syntaxOperator:{dark:"darkCyan",light:"lightCyan"},syntaxPunctuation:{dark:"darkFg",light:"lightFg"}}};var pp={$schema:"https://opencode.ai/theme.json",defs:{matrixInk0:"#0a0e0a",matrixInk1:"#0e130d",matrixInk2:"#141c12",matrixInk3:"#1e2a1b",rainGreen:"#2eff6a",rainGreenDim:"#1cc24b",rainGreenHi:"#62ff94",rainCyan:"#00efff",rainTeal:"#24f6d9",rainPurple:"#c770ff",rainOrange:"#ffa83d",alertRed:"#ff4b4b",alertYellow:"#e6ff57",alertBlue:"#30b3ff",rainGray:"#8ca391",lightBg:"#eef3ea",lightPaper:"#e4ebe1",lightInk1:"#dae1d7",lightText:"#203022",lightGray:"#748476"},theme:{primary:{dark:"rainGreen",light:"rainGreenDim"},secondary:{dark:"rainCyan",light:"rainTeal"},accent:{dark:"rainPurple",light:"rainPurple"},error:{dark:"alertRed",light:"alertRed"},warning:{dark:"alertYellow",light:"alertYellow"},success:{dark:"rainGreenHi",light:"rainGreenDim"},info:{dark:"alertBlue",light:"alertBlue"},text:{dark:"rainGreenHi",light:"lightText"},textMuted:{dark:"rainGray",light:"lightGray"},background:{dark:"matrixInk0",light:"lightBg"},backgroundPanel:{dark:"matrixInk1",light:"lightPaper"},backgroundElement:{dark:"matrixInk2",light:"lightInk1"},border:{dark:"matrixInk3",light:"lightGray"},borderActive:{dark:"rainGreen",light:"rainGreenDim"},borderSubtle:{dark:"matrixInk2",light:"lightInk1"},diffAdded:{dark:"rainGreenDim",light:"rainGreenDim"},diffRemoved:{dark:"alertRed",light:"alertRed"},diffContext:{dark:"rainGray",light:"lightGray"},diffHunkHeader:{dark:"alertBlue",light:"alertBlue"},diffHighlightAdded:{dark:"#77ffaf",light:"#5dac7e"},diffHighlightRemoved:{dark:"#ff7171",light:"#d53a3a"},diffAddedBg:{dark:"#132616",light:"#e0efde"},diffRemovedBg:{dark:"#261212",light:"#f9e5e5"},diffContextBg:{dark:"matrixInk1",light:"lightPaper"},diffLineNumber:{dark:"textMuted",light:"#556156"},diffAddedLineNumberBg:{dark:"#0f1b11",light:"#d6e7d2"},diffRemovedLineNumberBg:{dark:"#1b1414",light:"#f2d2d2"},markdownText:{dark:"rainGreenHi",light:"lightText"},markdownHeading:{dark:"rainCyan",light:"rainTeal"},markdownLink:{dark:"alertBlue",light:"alertBlue"},markdownLinkText:{dark:"rainTeal",light:"rainTeal"},markdownCode:{dark:"rainGreenDim",light:"rainGreenDim"},markdownBlockQuote:{dark:"rainGray",light:"lightGray"},markdownEmph:{dark:"rainOrange",light:"rainOrange"},markdownStrong:{dark:"alertYellow",light:"alertYellow"},markdownHorizontalRule:{dark:"rainGray",light:"lightGray"},markdownListItem:{dark:"alertBlue",light:"alertBlue"},markdownListEnumeration:{dark:"rainTeal",light:"rainTeal"},markdownImage:{dark:"alertBlue",light:"alertBlue"},markdownImageText:{dark:"rainTeal",light:"rainTeal"},markdownCodeBlock:{dark:"rainGreenHi",light:"lightText"},syntaxComment:{dark:"rainGray",light:"lightGray"},syntaxKeyword:{dark:"rainPurple",light:"rainPurple"},syntaxFunction:{dark:"alertBlue",light:"alertBlue"},syntaxVariable:{dark:"rainGreenHi",light:"lightText"},syntaxString:{dark:"rainGreenDim",light:"rainGreenDim"},syntaxNumber:{dark:"rainOrange",light:"rainOrange"},syntaxType:{dark:"alertYellow",light:"alertYellow"},syntaxOperator:{dark:"rainTeal",light:"rainTeal"},syntaxPunctuation:{dark:"rainGreenHi",light:"lightText"}}};var Ap={$schema:"https://opencode.ai/theme.json",defs:{"purple-800":"#3442a6","purple-700":"#465bd1","purple-600":"#5266eb","purple-400":"#8da4f5","purple-300":"#a7b6f8","red-700":"#b0175f","red-600":"#d03275","red-400":"#fc92b4","green-700":"#036e43","green-600":"#188554","green-400":"#77c599","orange-700":"#a44200","orange-600":"#c45000","orange-400":"#fc9b6f","blue-600":"#007f95","blue-400":"#77becf","neutral-1000":"#10101a","neutral-950":"#171721","neutral-900":"#1e1e2a","neutral-800":"#272735","neutral-700":"#363644","neutral-600":"#535461","neutral-500":"#70707d","neutral-400":"#9d9da8","neutral-300":"#c3c3cc","neutral-200":"#dddde5","neutral-100":"#f4f5f9","neutral-050":"#fbfcfd","neutral-000":"#ffffff","neutral-150":"#ededf3","border-light":"#7073931a","border-light-subtle":"#7073930f","border-dark":"#b4b7c81f","border-dark-subtle":"#b4b7c814","diff-added-light":"#1885541a","diff-removed-light":"#d032751a","diff-added-dark":"#77c59933","diff-removed-dark":"#fc92b433"},theme:{primary:{light:"purple-600",dark:"purple-400"},secondary:{light:"purple-700",dark:"purple-300"},accent:{light:"purple-400",dark:"purple-400"},error:{light:"red-700",dark:"red-400"},warning:{light:"orange-700",dark:"orange-400"},success:{light:"green-700",dark:"green-400"},info:{light:"blue-600",dark:"blue-400"},text:{light:"neutral-700",dark:"neutral-200"},textMuted:{light:"neutral-500",dark:"neutral-400"},background:{light:"neutral-000",dark:"neutral-950"},backgroundPanel:{light:"neutral-050",dark:"neutral-1000"},backgroundElement:{light:"neutral-100",dark:"neutral-800"},border:{light:"border-light",dark:"border-dark"},borderActive:{light:"purple-600",dark:"purple-400"},borderSubtle:{light:"border-light-subtle",dark:"border-dark-subtle"},diffAdded:{light:"green-700",dark:"green-400"},diffRemoved:{light:"red-700",dark:"red-400"},diffContext:{light:"neutral-500",dark:"neutral-400"},diffHunkHeader:{light:"neutral-500",dark:"neutral-400"},diffHighlightAdded:{light:"green-700",dark:"green-400"},diffHighlightRemoved:{light:"red-700",dark:"red-400"},diffAddedBg:{light:"diff-added-light",dark:"diff-added-dark"},diffRemovedBg:{light:"diff-removed-light",dark:"diff-removed-dark"},diffContextBg:{light:"neutral-050",dark:"neutral-900"},diffLineNumber:{light:"neutral-600",dark:"neutral-300"},diffAddedLineNumberBg:{light:"diff-added-light",dark:"diff-added-dark"},diffRemovedLineNumberBg:{light:"diff-removed-light",dark:"diff-removed-dark"},markdownText:{light:"neutral-700",dark:"neutral-200"},markdownHeading:{light:"neutral-900",dark:"neutral-000"},markdownLink:{light:"purple-700",dark:"purple-400"},markdownLinkText:{light:"purple-600",dark:"purple-300"},markdownCode:{light:"green-700",dark:"green-400"},markdownBlockQuote:{light:"neutral-500",dark:"neutral-400"},markdownEmph:{light:"orange-700",dark:"orange-400"},markdownStrong:{light:"neutral-900",dark:"neutral-100"},markdownHorizontalRule:{light:"border-light",dark:"border-dark"},markdownListItem:{light:"neutral-900",dark:"neutral-000"},markdownListEnumeration:{light:"purple-600",dark:"purple-400"},markdownImage:{light:"purple-700",dark:"purple-400"},markdownImageText:{light:"purple-600",dark:"purple-300"},markdownCodeBlock:{light:"neutral-700",dark:"neutral-200"},syntaxComment:{light:"neutral-500",dark:"neutral-400"},syntaxKeyword:{light:"purple-700",dark:"purple-400"},syntaxFunction:{light:"purple-600",dark:"purple-400"},syntaxVariable:{light:"blue-600",dark:"blue-400"},syntaxString:{light:"green-700",dark:"green-400"},syntaxNumber:{light:"orange-700",dark:"orange-400"},syntaxType:{light:"blue-600",dark:"blue-400"},syntaxOperator:{light:"purple-700",dark:"purple-400"},syntaxPunctuation:{light:"neutral-700",dark:"neutral-200"}}};var kp={$schema:"https://opencode.ai/theme.json",defs:{background:"#272822",backgroundAlt:"#1e1f1c",backgroundPanel:"#3e3d32",foreground:"#f8f8f2",comment:"#75715e",red:"#f92672",orange:"#fd971f",lightOrange:"#e69f66",yellow:"#e6db74",green:"#a6e22e",cyan:"#66d9ef",blue:"#66d9ef",purple:"#ae81ff",pink:"#f92672"},theme:{primary:{dark:"cyan",light:"blue"},secondary:{dark:"purple",light:"purple"},accent:{dark:"green",light:"green"},error:{dark:"red",light:"red"},warning:{dark:"yellow",light:"orange"},success:{dark:"green",light:"green"},info:{dark:"orange",light:"orange"},text:{dark:"foreground",light:"#272822"},textMuted:{dark:"comment",light:"#75715e"},background:{dark:"#272822",light:"#fafafa"},backgroundPanel:{dark:"#1e1f1c",light:"#f0f0f0"},backgroundElement:{dark:"#3e3d32",light:"#e0e0e0"},border:{dark:"#3e3d32",light:"#d0d0d0"},borderActive:{dark:"cyan",light:"blue"},borderSubtle:{dark:"#1e1f1c",light:"#e8e8e8"},diffAdded:{dark:"green",light:"green"},diffRemoved:{dark:"red",light:"red"},diffContext:{dark:"comment",light:"#75715e"},diffHunkHeader:{dark:"comment",light:"#75715e"},diffHighlightAdded:{dark:"green",light:"green"},diffHighlightRemoved:{dark:"red",light:"red"},diffAddedBg:{dark:"#1a3a1a",light:"#e0ffe0"},diffRemovedBg:{dark:"#3a1a1a",light:"#ffe0e0"},diffContextBg:{dark:"#1e1f1c",light:"#f0f0f0"},diffLineNumber:{dark:"#9b9b95",light:"#686868"},diffAddedLineNumberBg:{dark:"#1a3a1a",light:"#e0ffe0"},diffRemovedLineNumberBg:{dark:"#3a1a1a",light:"#ffe0e0"},markdownText:{dark:"foreground",light:"#272822"},markdownHeading:{dark:"pink",light:"pink"},markdownLink:{dark:"cyan",light:"blue"},markdownLinkText:{dark:"purple",light:"purple"},markdownCode:{dark:"green",light:"green"},markdownBlockQuote:{dark:"comment",light:"#75715e"},markdownEmph:{dark:"yellow",light:"orange"},markdownStrong:{dark:"orange",light:"orange"},markdownHorizontalRule:{dark:"comment",light:"#75715e"},markdownListItem:{dark:"cyan",light:"blue"},markdownListEnumeration:{dark:"purple",light:"purple"},markdownImage:{dark:"cyan",light:"blue"},markdownImageText:{dark:"purple",light:"purple"},markdownCodeBlock:{dark:"foreground",light:"#272822"},syntaxComment:{dark:"comment",light:"#75715e"},syntaxKeyword:{dark:"pink",light:"pink"},syntaxFunction:{dark:"green",light:"green"},syntaxVariable:{dark:"foreground",light:"#272822"},syntaxString:{dark:"yellow",light:"orange"},syntaxNumber:{dark:"purple",light:"purple"},syntaxType:{dark:"cyan",light:"blue"},syntaxOperator:{dark:"pink",light:"pink"},syntaxPunctuation:{dark:"foreground",light:"#272822"}}};var xp={$schema:"https://opencode.ai/theme.json",defs:{nightOwlBg:"#011627",nightOwlFg:"#d6deeb",nightOwlBlue:"#82AAFF",nightOwlCyan:"#7fdbca",nightOwlGreen:"#c5e478",nightOwlYellow:"#ecc48d",nightOwlOrange:"#F78C6C",nightOwlRed:"#EF5350",nightOwlPink:"#ff5874",nightOwlPurple:"#c792ea",nightOwlMuted:"#5f7e97",nightOwlGray:"#637777",nightOwlLightGray:"#89a4bb",nightOwlPanel:"#0b253a",nightOwlElement:"#14334b"},theme:{primary:{dark:"nightOwlBlue",light:"nightOwlBlue"},secondary:{dark:"nightOwlCyan",light:"nightOwlCyan"},accent:{dark:"nightOwlPurple",light:"nightOwlPurple"},error:{dark:"nightOwlRed",light:"nightOwlRed"},warning:{dark:"nightOwlYellow",light:"nightOwlYellow"},success:{dark:"nightOwlGreen",light:"nightOwlGreen"},info:{dark:"nightOwlBlue",light:"nightOwlBlue"},text:{dark:"nightOwlFg",light:"nightOwlFg"},textMuted:{dark:"nightOwlMuted",light:"nightOwlMuted"},background:{dark:"nightOwlBg",light:"nightOwlBg"},backgroundPanel:{dark:"nightOwlPanel",light:"nightOwlPanel"},backgroundElement:{dark:"nightOwlElement",light:"nightOwlElement"},border:{dark:"nightOwlMuted",light:"nightOwlMuted"},borderActive:{dark:"nightOwlBlue",light:"nightOwlBlue"},borderSubtle:{dark:"nightOwlMuted",light:"nightOwlMuted"},diffAdded:{dark:"nightOwlGreen",light:"nightOwlGreen"},diffRemoved:{dark:"nightOwlRed",light:"nightOwlRed"},diffContext:{dark:"nightOwlMuted",light:"nightOwlMuted"},diffHunkHeader:{dark:"nightOwlMuted",light:"nightOwlMuted"},diffHighlightAdded:{dark:"nightOwlGreen",light:"nightOwlGreen"},diffHighlightRemoved:{dark:"nightOwlRed",light:"nightOwlRed"},diffAddedBg:{dark:"#0a2e1a",light:"#0a2e1a"},diffRemovedBg:{dark:"#2d1b1b",light:"#2d1b1b"},diffContextBg:{dark:"nightOwlPanel",light:"nightOwlPanel"},diffLineNumber:{dark:"#7791a6",light:"#7791a6"},diffAddedLineNumberBg:{dark:"#0a2e1a",light:"#0a2e1a"},diffRemovedLineNumberBg:{dark:"#2d1b1b",light:"#2d1b1b"},markdownText:{dark:"nightOwlFg",light:"nightOwlFg"},markdownHeading:{dark:"nightOwlBlue",light:"nightOwlBlue"},markdownLink:{dark:"nightOwlCyan",light:"nightOwlCyan"},markdownLinkText:{dark:"nightOwlBlue",light:"nightOwlBlue"},markdownCode:{dark:"nightOwlGreen",light:"nightOwlGreen"},markdownBlockQuote:{dark:"nightOwlMuted",light:"nightOwlMuted"},markdownEmph:{dark:"nightOwlPurple",light:"nightOwlPurple"},markdownStrong:{dark:"nightOwlYellow",light:"nightOwlYellow"},markdownHorizontalRule:{dark:"nightOwlMuted",light:"nightOwlMuted"},markdownListItem:{dark:"nightOwlBlue",light:"nightOwlBlue"},markdownListEnumeration:{dark:"nightOwlCyan",light:"nightOwlCyan"},markdownImage:{dark:"nightOwlCyan",light:"nightOwlCyan"},markdownImageText:{dark:"nightOwlBlue",light:"nightOwlBlue"},markdownCodeBlock:{dark:"nightOwlFg",light:"nightOwlFg"},syntaxComment:{dark:"nightOwlGray",light:"nightOwlGray"},syntaxKeyword:{dark:"nightOwlPurple",light:"nightOwlPurple"},syntaxFunction:{dark:"nightOwlBlue",light:"nightOwlBlue"},syntaxVariable:{dark:"nightOwlFg",light:"nightOwlFg"},syntaxString:{dark:"nightOwlYellow",light:"nightOwlYellow"},syntaxNumber:{dark:"nightOwlOrange",light:"nightOwlOrange"},syntaxType:{dark:"nightOwlGreen",light:"nightOwlGreen"},syntaxOperator:{dark:"nightOwlCyan",light:"nightOwlCyan"},syntaxPunctuation:{dark:"nightOwlFg",light:"nightOwlFg"}}};var bp={$schema:"https://opencode.ai/theme.json",defs:{nord0:"#2E3440",nord1:"#3B4252",nord2:"#434C5E",nord3:"#4C566A",nord4:"#D8DEE9",nord5:"#E5E9F0",nord6:"#ECEFF4",nord7:"#8FBCBB",nord8:"#88C0D0",nord9:"#81A1C1",nord10:"#5E81AC",nord11:"#BF616A",nord12:"#D08770",nord13:"#EBCB8B",nord14:"#A3BE8C",nord15:"#B48EAD"},theme:{primary:{dark:"nord8",light:"nord10"},secondary:{dark:"nord9",light:"nord9"},accent:{dark:"nord7",light:"nord7"},error:{dark:"nord11",light:"nord11"},warning:{dark:"nord12",light:"nord12"},success:{dark:"nord14",light:"nord14"},info:{dark:"nord8",light:"nord10"},text:{dark:"nord6",light:"nord0"},textMuted:{dark:"#8B95A7",light:"nord1"},background:{dark:"nord0",light:"nord6"},backgroundPanel:{dark:"nord1",light:"nord5"},backgroundElement:{dark:"nord2",light:"nord4"},border:{dark:"nord2",light:"nord3"},borderActive:{dark:"nord3",light:"nord2"},borderSubtle:{dark:"nord2",light:"nord3"},diffAdded:{dark:"nord14",light:"nord14"},diffRemoved:{dark:"nord11",light:"nord11"},diffContext:{dark:"#8B95A7",light:"nord3"},diffHunkHeader:{dark:"#8B95A7",light:"nord3"},diffHighlightAdded:{dark:"nord14",light:"nord14"},diffHighlightRemoved:{dark:"nord11",light:"nord11"},diffAddedBg:{dark:"#3B4252",light:"#E5E9F0"},diffRemovedBg:{dark:"#3B4252",light:"#E5E9F0"},diffContextBg:{dark:"nord1",light:"nord5"},diffLineNumber:{dark:"#a9aeb6",light:"textMuted"},diffAddedLineNumberBg:{dark:"#3B4252",light:"#E5E9F0"},diffRemovedLineNumberBg:{dark:"#3B4252",light:"#E5E9F0"},markdownText:{dark:"nord4",light:"nord0"},markdownHeading:{dark:"nord8",light:"nord10"},markdownLink:{dark:"nord9",light:"nord9"},markdownLinkText:{dark:"nord7",light:"nord7"},markdownCode:{dark:"nord14",light:"nord14"},markdownBlockQuote:{dark:"#8B95A7",light:"nord3"},markdownEmph:{dark:"nord12",light:"nord12"},markdownStrong:{dark:"nord13",light:"nord13"},markdownHorizontalRule:{dark:"#8B95A7",light:"nord3"},markdownListItem:{dark:"nord8",light:"nord10"},markdownListEnumeration:{dark:"nord7",light:"nord7"},markdownImage:{dark:"nord9",light:"nord9"},markdownImageText:{dark:"nord7",light:"nord7"},markdownCodeBlock:{dark:"nord4",light:"nord0"},syntaxComment:{dark:"#8B95A7",light:"nord3"},syntaxKeyword:{dark:"nord9",light:"nord9"},syntaxFunction:{dark:"nord8",light:"nord8"},syntaxVariable:{dark:"nord7",light:"nord7"},syntaxString:{dark:"nord14",light:"nord14"},syntaxNumber:{dark:"nord15",light:"nord15"},syntaxType:{dark:"nord7",light:"nord7"},syntaxOperator:{dark:"nord9",light:"nord9"},syntaxPunctuation:{dark:"nord4",light:"nord0"}}};var yp={$schema:"https://opencode.ai/theme.json",defs:{darkBg:"#282c34",darkBgAlt:"#21252b",darkBgPanel:"#353b45",darkFg:"#abb2bf",darkFgMuted:"#5c6370",darkPurple:"#c678dd",darkBlue:"#61afef",darkRed:"#e06c75",darkGreen:"#98c379",darkYellow:"#e5c07b",darkOrange:"#d19a66",darkCyan:"#56b6c2",lightBg:"#fafafa",lightBgAlt:"#f0f0f1",lightBgPanel:"#eaeaeb",lightFg:"#383a42",lightFgMuted:"#a0a1a7",lightPurple:"#a626a4",lightBlue:"#4078f2",lightRed:"#e45649",lightGreen:"#50a14f",lightYellow:"#c18401",lightOrange:"#986801",lightCyan:"#0184bc"},theme:{primary:{dark:"darkBlue",light:"lightBlue"},secondary:{dark:"darkPurple",light:"lightPurple"},accent:{dark:"darkCyan",light:"lightCyan"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkYellow",light:"lightYellow"},success:{dark:"darkGreen",light:"lightGreen"},info:{dark:"darkOrange",light:"lightOrange"},text:{dark:"darkFg",light:"lightFg"},textMuted:{dark:"darkFgMuted",light:"lightFgMuted"},background:{dark:"darkBg",light:"lightBg"},backgroundPanel:{dark:"darkBgAlt",light:"lightBgAlt"},backgroundElement:{dark:"darkBgPanel",light:"lightBgPanel"},border:{dark:"#393f4a",light:"#d1d1d2"},borderActive:{dark:"darkBlue",light:"lightBlue"},borderSubtle:{dark:"#2c313a",light:"#e0e0e1"},diffAdded:{dark:"darkGreen",light:"lightGreen"},diffRemoved:{dark:"darkRed",light:"lightRed"},diffContext:{dark:"darkFgMuted",light:"lightFgMuted"},diffHunkHeader:{dark:"darkCyan",light:"lightCyan"},diffHighlightAdded:{dark:"#aad482",light:"#489447"},diffHighlightRemoved:{dark:"#e8828b",light:"#d65145"},diffAddedBg:{dark:"#2c382b",light:"#eafbe9"},diffRemovedBg:{dark:"#3a2d2f",light:"#fce9e8"},diffContextBg:{dark:"darkBgAlt",light:"lightBgAlt"},diffLineNumber:{dark:"#9398a2",light:"#666666"},diffAddedLineNumberBg:{dark:"#283427",light:"#e1f3df"},diffRemovedLineNumberBg:{dark:"#36292b",light:"#f5e2e1"},markdownText:{dark:"darkFg",light:"lightFg"},markdownHeading:{dark:"darkPurple",light:"lightPurple"},markdownLink:{dark:"darkBlue",light:"lightBlue"},markdownLinkText:{dark:"darkCyan",light:"lightCyan"},markdownCode:{dark:"darkGreen",light:"lightGreen"},markdownBlockQuote:{dark:"darkFgMuted",light:"lightFgMuted"},markdownEmph:{dark:"darkYellow",light:"lightYellow"},markdownStrong:{dark:"darkOrange",light:"lightOrange"},markdownHorizontalRule:{dark:"darkFgMuted",light:"lightFgMuted"},markdownListItem:{dark:"darkBlue",light:"lightBlue"},markdownListEnumeration:{dark:"darkCyan",light:"lightCyan"},markdownImage:{dark:"darkBlue",light:"lightBlue"},markdownImageText:{dark:"darkCyan",light:"lightCyan"},markdownCodeBlock:{dark:"darkFg",light:"lightFg"},syntaxComment:{dark:"darkFgMuted",light:"lightFgMuted"},syntaxKeyword:{dark:"darkPurple",light:"lightPurple"},syntaxFunction:{dark:"darkBlue",light:"lightBlue"},syntaxVariable:{dark:"darkRed",light:"lightRed"},syntaxString:{dark:"darkGreen",light:"lightGreen"},syntaxNumber:{dark:"darkOrange",light:"lightOrange"},syntaxType:{dark:"darkYellow",light:"lightYellow"},syntaxOperator:{dark:"darkCyan",light:"lightCyan"},syntaxPunctuation:{dark:"darkFg",light:"lightFg"}}};var wp={$schema:"https://opencode.ai/theme.json",defs:{darkStep1:"#0a0a0a",darkStep2:"#141414",darkStep3:"#1e1e1e",darkStep4:"#282828",darkStep5:"#323232",darkStep6:"#3c3c3c",darkStep7:"#484848",darkStep8:"#606060",darkStep9:"#fab283",darkStep10:"#ffc09f",darkStep11:"#808080",darkStep12:"#eeeeee",darkSecondary:"#5c9cf5",darkAccent:"#9d7cd8",darkRed:"#e06c75",darkOrange:"#f5a742",darkGreen:"#7fd88f",darkCyan:"#56b6c2",darkYellow:"#e5c07b",lightStep1:"#ffffff",lightStep2:"#fafafa",lightStep3:"#f5f5f5",lightStep4:"#ebebeb",lightStep5:"#e1e1e1",lightStep6:"#d4d4d4",lightStep7:"#b8b8b8",lightStep8:"#a0a0a0",lightStep9:"#3b7dd8",lightStep10:"#2968c3",lightStep11:"#8a8a8a",lightStep12:"#1a1a1a",lightSecondary:"#7b5bb6",lightAccent:"#d68c27",lightRed:"#d1383d",lightOrange:"#d68c27",lightGreen:"#3d9a57",lightCyan:"#318795",lightYellow:"#b0851f"},theme:{primary:{dark:"darkStep9",light:"lightStep9"},secondary:{dark:"darkSecondary",light:"lightSecondary"},accent:{dark:"darkAccent",light:"lightAccent"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkOrange",light:"lightOrange"},success:{dark:"darkGreen",light:"lightGreen"},info:{dark:"darkCyan",light:"lightCyan"},text:{dark:"darkStep12",light:"lightStep12"},textMuted:{dark:"darkStep11",light:"lightStep11"},background:{dark:"darkStep1",light:"lightStep1"},backgroundPanel:{dark:"darkStep2",light:"lightStep2"},backgroundElement:{dark:"darkStep3",light:"lightStep3"},border:{dark:"darkStep7",light:"lightStep7"},borderActive:{dark:"darkStep8",light:"lightStep8"},borderSubtle:{dark:"darkStep6",light:"lightStep6"},diffAdded:{dark:"#4fd6be",light:"#1e725c"},diffRemoved:{dark:"#c53b53",light:"#c53b53"},diffContext:{dark:"#828bb8",light:"#7086b5"},diffHunkHeader:{dark:"#828bb8",light:"#7086b5"},diffHighlightAdded:{dark:"#b8db87",light:"#4db380"},diffHighlightRemoved:{dark:"#e26a75",light:"#f52a65"},diffAddedBg:{dark:"#20303b",light:"#d5e5d5"},diffRemovedBg:{dark:"#37222c",light:"#f7d8db"},diffContextBg:{dark:"darkStep2",light:"lightStep2"},diffLineNumber:{dark:"#8f8f8f",light:"#595959"},diffAddedLineNumberBg:{dark:"#1b2b34",light:"#c5d5c5"},diffRemovedLineNumberBg:{dark:"#2d1f26",light:"#e7c8cb"},markdownText:{dark:"darkStep12",light:"lightStep12"},markdownHeading:{dark:"darkAccent",light:"lightAccent"},markdownLink:{dark:"darkStep9",light:"lightStep9"},markdownLinkText:{dark:"darkCyan",light:"lightCyan"},markdownCode:{dark:"darkGreen",light:"lightGreen"},markdownBlockQuote:{dark:"darkYellow",light:"lightYellow"},markdownEmph:{dark:"darkYellow",light:"lightYellow"},markdownStrong:{dark:"darkOrange",light:"lightOrange"},markdownHorizontalRule:{dark:"darkStep11",light:"lightStep11"},markdownListItem:{dark:"darkStep9",light:"lightStep9"},markdownListEnumeration:{dark:"darkCyan",light:"lightCyan"},markdownImage:{dark:"darkStep9",light:"lightStep9"},markdownImageText:{dark:"darkCyan",light:"lightCyan"},markdownCodeBlock:{dark:"darkStep12",light:"lightStep12"},syntaxComment:{dark:"darkStep11",light:"lightStep11"},syntaxKeyword:{dark:"darkAccent",light:"lightAccent"},syntaxFunction:{dark:"darkStep9",light:"lightStep9"},syntaxVariable:{dark:"darkRed",light:"lightRed"},syntaxString:{dark:"darkGreen",light:"lightGreen"},syntaxNumber:{dark:"darkOrange",light:"lightOrange"},syntaxType:{dark:"darkYellow",light:"lightYellow"},syntaxOperator:{dark:"darkCyan",light:"lightCyan"},syntaxPunctuation:{dark:"darkStep12",light:"lightStep12"}}};var Sp={$schema:"https://opencode.ai/theme.json",defs:{darkStep1:"#0a0a0a",darkStep2:"#141414",darkStep3:"#1e1e1e",darkStep4:"#282828",darkStep5:"#323232",darkStep6:"#3c3c3c",darkStep7:"#484848",darkStep8:"#606060",darkStep9:"#EC5B2B",darkStep10:"#EE7948",darkStep11:"#808080",darkStep12:"#eeeeee",darkSecondary:"#EE7948",darkAccent:"#FFF7F1",darkRed:"#e06c75",darkOrange:"#EC5B2B",darkBlue:"#6ba1e6",darkCyan:"#56b6c2",darkYellow:"#e5c07b",lightStep1:"#ffffff",lightStep2:"#FFF7F1",lightStep3:"#f5f0eb",lightStep4:"#ebebeb",lightStep5:"#e1e1e1",lightStep6:"#d4d4d4",lightStep7:"#b8b8b8",lightStep8:"#a0a0a0",lightStep9:"#EC5B2B",lightStep10:"#c94d24",lightStep11:"#8a8a8a",lightStep12:"#1a1a1a",lightSecondary:"#EE7948",lightAccent:"#c94d24",lightRed:"#d1383d",lightOrange:"#EC5B2B",lightBlue:"#0062d1",lightCyan:"#318795",lightYellow:"#b0851f"},theme:{primary:{dark:"darkStep9",light:"lightStep9"},secondary:{dark:"darkSecondary",light:"lightSecondary"},accent:{dark:"darkAccent",light:"lightAccent"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkOrange",light:"lightOrange"},success:{dark:"darkBlue",light:"lightBlue"},info:{dark:"darkCyan",light:"lightCyan"},text:{dark:"darkStep12",light:"lightStep12"},textMuted:{dark:"darkStep11",light:"lightStep11"},selectedListItemText:{dark:"#0a0a0a",light:"#ffffff"},background:{dark:"darkStep1",light:"lightStep1"},backgroundPanel:{dark:"darkStep2",light:"lightStep2"},backgroundElement:{dark:"darkStep3",light:"lightStep3"},border:{dark:"#EC5B2B",light:"#EC5B2B"},borderActive:{dark:"#EE7948",light:"#c94d24"},borderSubtle:{dark:"darkStep6",light:"lightStep6"},diffAdded:{dark:"#6ba1e6",light:"#0062d1"},diffRemoved:{dark:"#c53b53",light:"#c53b53"},diffContext:{dark:"#828bb8",light:"#7086b5"},diffHunkHeader:{dark:"#828bb8",light:"#7086b5"},diffHighlightAdded:{dark:"#6ba1e6",light:"#0062d1"},diffHighlightRemoved:{dark:"#e26a75",light:"#f52a65"},diffAddedBg:{dark:"#1a2a3d",light:"#e0edfa"},diffRemovedBg:{dark:"#37222c",light:"#f7d8db"},diffContextBg:{dark:"darkStep2",light:"lightStep2"},diffLineNumber:{dark:"diffContext",light:"#595755"},diffAddedLineNumberBg:{dark:"#162535",light:"#d0e5f5"},diffRemovedLineNumberBg:{dark:"#2d1f26",light:"#e7c8cb"},markdownText:{dark:"darkStep12",light:"lightStep12"},markdownHeading:{dark:"#EC5B2B",light:"#EC5B2B"},markdownLink:{dark:"darkStep9",light:"lightStep9"},markdownLinkText:{dark:"darkCyan",light:"lightCyan"},markdownCode:{dark:"darkBlue",light:"lightBlue"},markdownBlockQuote:{dark:"#FFF7F1",light:"lightYellow"},markdownEmph:{dark:"darkYellow",light:"lightYellow"},markdownStrong:{dark:"#EE7948",light:"#EC5B2B"},markdownHorizontalRule:{dark:"darkStep11",light:"lightStep11"},markdownListItem:{dark:"darkStep9",light:"lightStep9"},markdownListEnumeration:{dark:"darkCyan",light:"lightCyan"},markdownImage:{dark:"darkStep9",light:"lightStep9"},markdownImageText:{dark:"darkCyan",light:"lightCyan"},markdownCodeBlock:{dark:"darkStep12",light:"lightStep12"},syntaxComment:{dark:"darkStep11",light:"lightStep11"},syntaxKeyword:{dark:"#EC5B2B",light:"#EC5B2B"},syntaxFunction:{dark:"#EE7948",light:"#c94d24"},syntaxVariable:{dark:"darkRed",light:"lightRed"},syntaxString:{dark:"darkBlue",light:"lightBlue"},syntaxNumber:{dark:"#FFF7F1",light:"#EC5B2B"},syntaxType:{dark:"darkYellow",light:"lightYellow"},syntaxOperator:{dark:"darkCyan",light:"lightCyan"},syntaxPunctuation:{dark:"darkStep12",light:"lightStep12"}}};var Cp={$schema:"https://opencode.ai/theme.json",defs:{darkBg0:"#111c18",darkBg1:"#1a2520",darkBg2:"#23372B",darkBg3:"#3d4a44",darkFg0:"#C1C497",darkFg1:"#9aa88a",darkGray:"#53685B",darkRed:"#FF5345",darkGreen:"#549e6a",darkYellow:"#459451",darkBlue:"#509475",darkMagenta:"#D2689C",darkCyan:"#2DD5B7",darkWhite:"#F6F5DD",darkRedBright:"#db9f9c",darkGreenBright:"#63b07a",darkYellowBright:"#E5C736",darkBlueBright:"#ACD4CF",darkMagentaBright:"#75bbb3",darkCyanBright:"#8CD3CB",lightBg0:"#F6F5DD",lightBg1:"#E8E7CC",lightBg2:"#D5D4B8",lightBg3:"#A8A78C",lightFg0:"#111c18",lightFg1:"#1a2520",lightGray:"#53685B",lightRed:"#c7392d",lightGreen:"#3d7a52",lightYellow:"#b5a020",lightBlue:"#3d7560",lightMagenta:"#a8527a",lightCyan:"#1faa90"},theme:{primary:{dark:"darkCyan",light:"lightCyan"},secondary:{dark:"darkMagenta",light:"lightMagenta"},accent:{dark:"darkGreen",light:"lightGreen"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkYellowBright",light:"lightYellow"},success:{dark:"darkGreen",light:"lightGreen"},info:{dark:"darkCyan",light:"lightCyan"},text:{dark:"darkFg0",light:"lightFg0"},textMuted:{dark:"darkGray",light:"lightGray"},background:{dark:"darkBg0",light:"lightBg0"},backgroundPanel:{dark:"darkBg1",light:"lightBg1"},backgroundElement:{dark:"darkBg2",light:"lightBg2"},border:{dark:"darkBg3",light:"lightBg3"},borderActive:{dark:"darkCyan",light:"lightCyan"},borderSubtle:{dark:"darkBg2",light:"lightBg2"},diffAdded:{dark:"darkGreen",light:"lightGreen"},diffRemoved:{dark:"darkRed",light:"lightRed"},diffContext:{dark:"darkGray",light:"lightGray"},diffHunkHeader:{dark:"darkCyan",light:"lightCyan"},diffHighlightAdded:{dark:"darkGreenBright",light:"lightGreen"},diffHighlightRemoved:{dark:"darkRedBright",light:"lightRed"},diffAddedBg:{dark:"#15241c",light:"#e0eee5"},diffRemovedBg:{dark:"#241515",light:"#eee0e0"},diffContextBg:{dark:"darkBg1",light:"lightBg1"},diffLineNumber:{dark:"#828b87",light:"#5f5e4f"},diffAddedLineNumberBg:{dark:"#121f18",light:"#d5e5da"},diffRemovedLineNumberBg:{dark:"#1f1212",light:"#e5d5d5"},markdownText:{dark:"darkFg0",light:"lightFg0"},markdownHeading:{dark:"darkCyan",light:"lightCyan"},markdownLink:{dark:"darkCyanBright",light:"lightCyan"},markdownLinkText:{dark:"darkGreen",light:"lightGreen"},markdownCode:{dark:"darkGreenBright",light:"lightGreen"},markdownBlockQuote:{dark:"darkGray",light:"lightGray"},markdownEmph:{dark:"darkMagenta",light:"lightMagenta"},markdownStrong:{dark:"darkFg0",light:"lightFg0"},markdownHorizontalRule:{dark:"darkGray",light:"lightGray"},markdownListItem:{dark:"darkCyan",light:"lightCyan"},markdownListEnumeration:{dark:"darkCyanBright",light:"lightCyan"},markdownImage:{dark:"darkCyanBright",light:"lightCyan"},markdownImageText:{dark:"darkGreen",light:"lightGreen"},markdownCodeBlock:{dark:"darkFg0",light:"lightFg0"},syntaxComment:{dark:"darkGray",light:"lightGray"},syntaxKeyword:{dark:"darkCyan",light:"lightCyan"},syntaxFunction:{dark:"darkBlue",light:"lightBlue"},syntaxVariable:{dark:"darkFg0",light:"lightFg0"},syntaxString:{dark:"darkGreenBright",light:"lightGreen"},syntaxNumber:{dark:"darkMagenta",light:"lightMagenta"},syntaxType:{dark:"darkGreen",light:"lightGreen"},syntaxOperator:{dark:"darkYellow",light:"lightYellow"},syntaxPunctuation:{dark:"darkFg0",light:"lightFg0"}}};var vp={$schema:"https://opencode.ai/theme.json",defs:{background:"#292d3e",backgroundAlt:"#1e2132",backgroundPanel:"#32364a",foreground:"#a6accd",foregroundBright:"#bfc7d5",comment:"#676e95",red:"#f07178",orange:"#f78c6c",yellow:"#ffcb6b",green:"#c3e88d",cyan:"#89ddff",blue:"#82aaff",purple:"#c792ea",magenta:"#ff5370",pink:"#f07178"},theme:{primary:{dark:"blue",light:"#4976eb"},secondary:{dark:"purple",light:"#a854f2"},accent:{dark:"cyan",light:"#00acc1"},error:{dark:"red",light:"#e53935"},warning:{dark:"yellow",light:"#ffb300"},success:{dark:"green",light:"#91b859"},info:{dark:"orange",light:"#f4511e"},text:{dark:"foreground",light:"#292d3e"},textMuted:{dark:"comment",light:"#8796b0"},background:{dark:"#292d3e",light:"#fafafa"},backgroundPanel:{dark:"#1e2132",light:"#f5f5f5"},backgroundElement:{dark:"#32364a",light:"#e7e7e8"},border:{dark:"#32364a",light:"#e0e0e0"},borderActive:{dark:"blue",light:"#4976eb"},borderSubtle:{dark:"#1e2132",light:"#eeeeee"},diffAdded:{dark:"green",light:"#91b859"},diffRemoved:{dark:"red",light:"#e53935"},diffContext:{dark:"comment",light:"#8796b0"},diffHunkHeader:{dark:"cyan",light:"#00acc1"},diffHighlightAdded:{dark:"green",light:"#91b859"},diffHighlightRemoved:{dark:"red",light:"#e53935"},diffAddedBg:{dark:"#2e3c2b",light:"#e8f5e9"},diffRemovedBg:{dark:"#3c2b2b",light:"#ffebee"},diffContextBg:{dark:"#1e2132",light:"#f5f5f5"},diffLineNumber:{dark:"#a0a2af",light:"#6a6e70"},diffAddedLineNumberBg:{dark:"#2e3c2b",light:"#e8f5e9"},diffRemovedLineNumberBg:{dark:"#3c2b2b",light:"#ffebee"},markdownText:{dark:"foreground",light:"#292d3e"},markdownHeading:{dark:"purple",light:"#a854f2"},markdownLink:{dark:"blue",light:"#4976eb"},markdownLinkText:{dark:"cyan",light:"#00acc1"},markdownCode:{dark:"green",light:"#91b859"},markdownBlockQuote:{dark:"comment",light:"#8796b0"},markdownEmph:{dark:"yellow",light:"#ffb300"},markdownStrong:{dark:"orange",light:"#f4511e"},markdownHorizontalRule:{dark:"comment",light:"#8796b0"},markdownListItem:{dark:"blue",light:"#4976eb"},markdownListEnumeration:{dark:"cyan",light:"#00acc1"},markdownImage:{dark:"blue",light:"#4976eb"},markdownImageText:{dark:"cyan",light:"#00acc1"},markdownCodeBlock:{dark:"foreground",light:"#292d3e"},syntaxComment:{dark:"comment",light:"#8796b0"},syntaxKeyword:{dark:"purple",light:"#a854f2"},syntaxFunction:{dark:"blue",light:"#4976eb"},syntaxVariable:{dark:"foreground",light:"#292d3e"},syntaxString:{dark:"green",light:"#91b859"},syntaxNumber:{dark:"orange",light:"#f4511e"},syntaxType:{dark:"yellow",light:"#ffb300"},syntaxOperator:{dark:"cyan",light:"#00acc1"},syntaxPunctuation:{dark:"foreground",light:"#292d3e"}}};var Ip={$schema:"https://opencode.ai/theme.json",defs:{base:"#191724",surface:"#1f1d2e",overlay:"#26233a",muted:"#6e6a86",subtle:"#908caa",text:"#e0def4",love:"#eb6f92",gold:"#f6c177",rose:"#ebbcba",pine:"#31748f",foam:"#9ccfd8",iris:"#c4a7e7",highlightLow:"#21202e",highlightMed:"#403d52",highlightHigh:"#524f67",moonBase:"#232136",moonSurface:"#2a273f",moonOverlay:"#393552",moonMuted:"#6e6a86",moonSubtle:"#908caa",moonText:"#e0def4",dawnBase:"#faf4ed",dawnSurface:"#fffaf3",dawnOverlay:"#f2e9e1",dawnMuted:"#9893a5",dawnSubtle:"#797593",dawnText:"#575279"},theme:{primary:{dark:"foam",light:"pine"},secondary:{dark:"iris",light:"#907aa9"},accent:{dark:"rose",light:"#d7827e"},error:{dark:"love",light:"#b4637a"},warning:{dark:"gold",light:"#ea9d34"},success:{dark:"pine",light:"#286983"},info:{dark:"foam",light:"#56949f"},text:{dark:"#e0def4",light:"#575279"},textMuted:{dark:"muted",light:"dawnMuted"},background:{dark:"base",light:"dawnBase"},backgroundPanel:{dark:"surface",light:"dawnSurface"},backgroundElement:{dark:"overlay",light:"dawnOverlay"},border:{dark:"highlightMed",light:"#dfdad9"},borderActive:{dark:"foam",light:"pine"},borderSubtle:{dark:"highlightLow",light:"#f4ede8"},diffAdded:{dark:"pine",light:"#286983"},diffRemoved:{dark:"love",light:"#b4637a"},diffContext:{dark:"muted",light:"dawnMuted"},diffHunkHeader:{dark:"iris",light:"#907aa9"},diffHighlightAdded:{dark:"pine",light:"#286983"},diffHighlightRemoved:{dark:"love",light:"#b4637a"},diffAddedBg:{dark:"#1f2d3a",light:"#e5f2f3"},diffRemovedBg:{dark:"#3a1f2d",light:"#fce5e8"},diffContextBg:{dark:"surface",light:"dawnSurface"},diffLineNumber:{dark:"#9491a6",light:"#6c6875"},diffAddedLineNumberBg:{dark:"#1f2d3a",light:"#e5f2f3"},diffRemovedLineNumberBg:{dark:"#3a1f2d",light:"#fce5e8"},markdownText:{dark:"#e0def4",light:"#575279"},markdownHeading:{dark:"iris",light:"#907aa9"},markdownLink:{dark:"foam",light:"pine"},markdownLinkText:{dark:"rose",light:"#d7827e"},markdownCode:{dark:"pine",light:"#286983"},markdownBlockQuote:{dark:"muted",light:"dawnMuted"},markdownEmph:{dark:"gold",light:"#ea9d34"},markdownStrong:{dark:"love",light:"#b4637a"},markdownHorizontalRule:{dark:"highlightMed",light:"#dfdad9"},markdownListItem:{dark:"foam",light:"pine"},markdownListEnumeration:{dark:"rose",light:"#d7827e"},markdownImage:{dark:"foam",light:"pine"},markdownImageText:{dark:"rose",light:"#d7827e"},markdownCodeBlock:{dark:"#e0def4",light:"#575279"},syntaxComment:{dark:"muted",light:"dawnMuted"},syntaxKeyword:{dark:"pine",light:"#286983"},syntaxFunction:{dark:"rose",light:"#d7827e"},syntaxVariable:{dark:"#e0def4",light:"#575279"},syntaxString:{dark:"gold",light:"#ea9d34"},syntaxNumber:{dark:"iris",light:"#907aa9"},syntaxType:{dark:"foam",light:"#56949f"},syntaxOperator:{dark:"subtle",light:"dawnSubtle"},syntaxPunctuation:{dark:"subtle",light:"dawnSubtle"}}};var Ep={$schema:"https://opencode.ai/theme.json",defs:{base03:"#002b36",base02:"#073642",base01:"#586e75",base00:"#657b83",base0:"#839496",base1:"#93a1a1",base2:"#eee8d5",base3:"#fdf6e3",yellow:"#b58900",orange:"#cb4b16",red:"#dc322f",magenta:"#d33682",violet:"#6c71c4",blue:"#268bd2",cyan:"#2aa198",green:"#859900"},theme:{primary:{dark:"blue",light:"blue"},secondary:{dark:"violet",light:"violet"},accent:{dark:"cyan",light:"cyan"},error:{dark:"red",light:"red"},warning:{dark:"yellow",light:"yellow"},success:{dark:"green",light:"green"},info:{dark:"orange",light:"orange"},text:{dark:"base0",light:"base00"},textMuted:{dark:"base01",light:"base1"},background:{dark:"base03",light:"base3"},backgroundPanel:{dark:"base02",light:"base2"},backgroundElement:{dark:"#0e4350",light:"#dbd5c2"},border:{dark:"base02",light:"base2"},borderActive:{dark:"base01",light:"base1"},borderSubtle:{dark:"#073642",light:"#eee8d5"},diffAdded:{dark:"green",light:"green"},diffRemoved:{dark:"red",light:"red"},diffContext:{dark:"base01",light:"base1"},diffHunkHeader:{dark:"base01",light:"base1"},diffHighlightAdded:{dark:"green",light:"green"},diffHighlightRemoved:{dark:"red",light:"red"},diffAddedBg:{dark:"#073642",light:"#eee8d5"},diffRemovedBg:{dark:"#073642",light:"#eee8d5"},diffContextBg:{dark:"base02",light:"base2"},diffLineNumber:{dark:"#8b9b9f",light:"#5f6969"},diffAddedLineNumberBg:{dark:"#073642",light:"#eee8d5"},diffRemovedLineNumberBg:{dark:"#073642",light:"#eee8d5"},markdownText:{dark:"base0",light:"base00"},markdownHeading:{dark:"blue",light:"blue"},markdownLink:{dark:"cyan",light:"cyan"},markdownLinkText:{dark:"violet",light:"violet"},markdownCode:{dark:"green",light:"green"},markdownBlockQuote:{dark:"base01",light:"base1"},markdownEmph:{dark:"yellow",light:"yellow"},markdownStrong:{dark:"orange",light:"orange"},markdownHorizontalRule:{dark:"base01",light:"base1"},markdownListItem:{dark:"blue",light:"blue"},markdownListEnumeration:{dark:"cyan",light:"cyan"},markdownImage:{dark:"cyan",light:"cyan"},markdownImageText:{dark:"violet",light:"violet"},markdownCodeBlock:{dark:"base0",light:"base00"},syntaxComment:{dark:"base01",light:"base1"},syntaxKeyword:{dark:"green",light:"green"},syntaxFunction:{dark:"blue",light:"blue"},syntaxVariable:{dark:"cyan",light:"cyan"},syntaxString:{dark:"cyan",light:"cyan"},syntaxNumber:{dark:"magenta",light:"magenta"},syntaxType:{dark:"yellow",light:"yellow"},syntaxOperator:{dark:"green",light:"green"},syntaxPunctuation:{dark:"base0",light:"base00"}}};var Tp={$schema:"https://opencode.ai/theme.json",defs:{background:"#262335",backgroundAlt:"#1e1a29",backgroundPanel:"#2a2139",foreground:"#ffffff",foregroundMuted:"#848bbd",pink:"#ff7edb",pinkBright:"#ff92df",cyan:"#36f9f6",cyanBright:"#72f1f8",yellow:"#fede5d",yellowBright:"#fff95d",orange:"#ff8b39",orangeBright:"#ff9f43",purple:"#b084eb",purpleBright:"#c792ea",red:"#fe4450",redBright:"#ff5e5b",green:"#72f1b8",greenBright:"#97f1d8"},theme:{primary:{dark:"cyan",light:"#00bcd4"},secondary:{dark:"pink",light:"#e91e63"},accent:{dark:"purple",light:"#9c27b0"},error:{dark:"red",light:"#f44336"},warning:{dark:"yellow",light:"#ff9800"},success:{dark:"green",light:"#4caf50"},info:{dark:"orange",light:"#ff5722"},text:{dark:"foreground",light:"#262335"},textMuted:{dark:"foregroundMuted",light:"#5c5c8a"},background:{dark:"#262335",light:"#fafafa"},backgroundPanel:{dark:"#1e1a29",light:"#f5f5f5"},backgroundElement:{dark:"#2a2139",light:"#eeeeee"},border:{dark:"#495495",light:"#e0e0e0"},borderActive:{dark:"cyan",light:"#00bcd4"},borderSubtle:{dark:"#241b2f",light:"#f0f0f0"},diffAdded:{dark:"green",light:"#4caf50"},diffRemoved:{dark:"red",light:"#f44336"},diffContext:{dark:"foregroundMuted",light:"#5c5c8a"},diffHunkHeader:{dark:"purple",light:"#9c27b0"},diffHighlightAdded:{dark:"greenBright",light:"#4caf50"},diffHighlightRemoved:{dark:"redBright",light:"#f44336"},diffAddedBg:{dark:"#1a3a2a",light:"#e8f5e9"},diffRemovedBg:{dark:"#3a1a2a",light:"#ffebee"},diffContextBg:{dark:"#1e1a29",light:"#f5f5f5"},diffLineNumber:{dark:"#959bc1",light:"textMuted"},diffAddedLineNumberBg:{dark:"#1a3a2a",light:"#e8f5e9"},diffRemovedLineNumberBg:{dark:"#3a1a2a",light:"#ffebee"},markdownText:{dark:"foreground",light:"#262335"},markdownHeading:{dark:"pink",light:"#e91e63"},markdownLink:{dark:"cyan",light:"#00bcd4"},markdownLinkText:{dark:"purple",light:"#9c27b0"},markdownCode:{dark:"green",light:"#4caf50"},markdownBlockQuote:{dark:"foregroundMuted",light:"#5c5c8a"},markdownEmph:{dark:"yellow",light:"#ff9800"},markdownStrong:{dark:"orange",light:"#ff5722"},markdownHorizontalRule:{dark:"#495495",light:"#e0e0e0"},markdownListItem:{dark:"cyan",light:"#00bcd4"},markdownListEnumeration:{dark:"purple",light:"#9c27b0"},markdownImage:{dark:"cyan",light:"#00bcd4"},markdownImageText:{dark:"purple",light:"#9c27b0"},markdownCodeBlock:{dark:"foreground",light:"#262335"},syntaxComment:{dark:"foregroundMuted",light:"#5c5c8a"},syntaxKeyword:{dark:"pink",light:"#e91e63"},syntaxFunction:{dark:"orange",light:"#ff5722"},syntaxVariable:{dark:"foreground",light:"#262335"},syntaxString:{dark:"yellow",light:"#ff9800"},syntaxNumber:{dark:"purple",light:"#9c27b0"},syntaxType:{dark:"cyan",light:"#00bcd4"},syntaxOperator:{dark:"pink",light:"#e91e63"},syntaxPunctuation:{dark:"foreground",light:"#262335"}}};var Bp={$schema:"https://opencode.ai/theme.json",defs:{darkStep1:"#1a1b26",darkStep2:"#1e2030",darkStep3:"#222436",darkStep4:"#292e42",darkStep5:"#3b4261",darkStep6:"#545c7e",darkStep7:"#737aa2",darkStep8:"#9099b2",darkStep9:"#82aaff",darkStep10:"#89b4fa",darkStep11:"#828bb8",darkStep12:"#c8d3f5",darkRed:"#ff757f",darkOrange:"#ff966c",darkYellow:"#ffc777",darkGreen:"#c3e88d",darkCyan:"#86e1fc",darkPurple:"#c099ff",lightStep1:"#e1e2e7",lightStep2:"#d5d6db",lightStep3:"#c8c9ce",lightStep4:"#b9bac1",lightStep5:"#a8aecb",lightStep6:"#9699a8",lightStep7:"#737a8c",lightStep8:"#5a607d",lightStep9:"#2e7de9",lightStep10:"#1a6ce7",lightStep11:"#8990a3",lightStep12:"#3760bf",lightRed:"#f52a65",lightOrange:"#b15c00",lightYellow:"#8c6c3e",lightGreen:"#587539",lightCyan:"#007197",lightPurple:"#9854f1"},theme:{primary:{dark:"darkStep9",light:"lightStep9"},secondary:{dark:"darkPurple",light:"lightPurple"},accent:{dark:"darkOrange",light:"lightOrange"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkOrange",light:"lightOrange"},success:{dark:"darkGreen",light:"lightGreen"},info:{dark:"darkStep9",light:"lightStep9"},text:{dark:"darkStep12",light:"lightStep12"},textMuted:{dark:"darkStep11",light:"lightStep11"},background:{dark:"darkStep1",light:"lightStep1"},backgroundPanel:{dark:"darkStep2",light:"lightStep2"},backgroundElement:{dark:"darkStep3",light:"lightStep3"},border:{dark:"darkStep7",light:"lightStep7"},borderActive:{dark:"darkStep8",light:"lightStep8"},borderSubtle:{dark:"darkStep6",light:"lightStep6"},diffAdded:{dark:"#4fd6be",light:"#1e725c"},diffRemoved:{dark:"#c53b53",light:"#c53b53"},diffContext:{dark:"#828bb8",light:"#7086b5"},diffHunkHeader:{dark:"#828bb8",light:"#7086b5"},diffHighlightAdded:{dark:"#b8db87",light:"#4db380"},diffHighlightRemoved:{dark:"#e26a75",light:"#f52a65"},diffAddedBg:{dark:"#20303b",light:"#d5e5d5"},diffRemovedBg:{dark:"#37222c",light:"#f7d8db"},diffContextBg:{dark:"darkStep2",light:"lightStep2"},diffLineNumber:{dark:"#8f909a",light:"#59595b"},diffAddedLineNumberBg:{dark:"#1b2b34",light:"#c5d5c5"},diffRemovedLineNumberBg:{dark:"#2d1f26",light:"#e7c8cb"},markdownText:{dark:"darkStep12",light:"lightStep12"},markdownHeading:{dark:"darkPurple",light:"lightPurple"},markdownLink:{dark:"darkStep9",light:"lightStep9"},markdownLinkText:{dark:"darkCyan",light:"lightCyan"},markdownCode:{dark:"darkGreen",light:"lightGreen"},markdownBlockQuote:{dark:"darkYellow",light:"lightYellow"},markdownEmph:{dark:"darkYellow",light:"lightYellow"},markdownStrong:{dark:"darkOrange",light:"lightOrange"},markdownHorizontalRule:{dark:"darkStep11",light:"lightStep11"},markdownListItem:{dark:"darkStep9",light:"lightStep9"},markdownListEnumeration:{dark:"darkCyan",light:"lightCyan"},markdownImage:{dark:"darkStep9",light:"lightStep9"},markdownImageText:{dark:"darkCyan",light:"lightCyan"},markdownCodeBlock:{dark:"darkStep12",light:"lightStep12"},syntaxComment:{dark:"darkStep11",light:"lightStep11"},syntaxKeyword:{dark:"darkPurple",light:"lightPurple"},syntaxFunction:{dark:"darkStep9",light:"lightStep9"},syntaxVariable:{dark:"darkRed",light:"lightRed"},syntaxString:{dark:"darkGreen",light:"lightGreen"},syntaxNumber:{dark:"darkOrange",light:"lightOrange"},syntaxType:{dark:"darkYellow",light:"lightYellow"},syntaxOperator:{dark:"darkCyan",light:"lightCyan"},syntaxPunctuation:{dark:"darkStep12",light:"lightStep12"}}};var Rp={$schema:"https://opencode.ai/theme.json",defs:{background100:"#0A0A0A",background200:"#000000",gray100:"#1A1A1A",gray200:"#1F1F1F",gray300:"#292929",gray400:"#2E2E2E",gray500:"#454545",gray600:"#878787",gray700:"#8F8F8F",gray900:"#A1A1A1",gray1000:"#EDEDED",blue600:"#0099FF",blue700:"#0070F3",blue900:"#52A8FF",blue1000:"#EBF8FF",red700:"#E5484D",red900:"#FF6166",red1000:"#FDECED",amber700:"#FFB224",amber900:"#F2A700",amber1000:"#FDF4DC",green700:"#46A758",green900:"#63C46D",green1000:"#E6F9E9",teal700:"#12A594",teal900:"#0AC7AC",purple700:"#8E4EC6",purple900:"#BF7AF0",pink700:"#E93D82",pink900:"#F75590",highlightPink:"#FF0080",highlightPurple:"#F81CE5",cyan:"#50E3C2",lightBackground:"#FFFFFF",lightGray100:"#FAFAFA",lightGray200:"#EAEAEA",lightGray600:"#666666",lightGray1000:"#171717"},theme:{primary:{dark:"blue700",light:"blue700"},secondary:{dark:"blue900",light:"#0062D1"},accent:{dark:"purple700",light:"purple700"},error:{dark:"red700",light:"#DC3545"},warning:{dark:"amber700",light:"#FF9500"},success:{dark:"green700",light:"#388E3C"},info:{dark:"blue900",light:"blue700"},text:{dark:"gray1000",light:"lightGray1000"},textMuted:{dark:"gray600",light:"lightGray600"},background:{dark:"background200",light:"lightBackground"},backgroundPanel:{dark:"gray100",light:"lightGray100"},backgroundElement:{dark:"gray300",light:"lightGray200"},border:{dark:"gray200",light:"lightGray200"},borderActive:{dark:"gray500",light:"#999999"},borderSubtle:{dark:"gray100",light:"#EAEAEA"},diffAdded:{dark:"green900",light:"green700"},diffRemoved:{dark:"red900",light:"red700"},diffContext:{dark:"gray600",light:"lightGray600"},diffHunkHeader:{dark:"gray600",light:"lightGray600"},diffHighlightAdded:{dark:"green900",light:"green700"},diffHighlightRemoved:{dark:"red900",light:"red700"},diffAddedBg:{dark:"#0B1D0F",light:"#E6F9E9"},diffRemovedBg:{dark:"#2A1314",light:"#FDECED"},diffContextBg:{dark:"background200",light:"lightBackground"},diffLineNumber:{dark:"#8a8a8a",light:"textMuted"},diffAddedLineNumberBg:{dark:"#0F2613",light:"#D6F5D6"},diffRemovedLineNumberBg:{dark:"#3C1618",light:"#FFE5E5"},markdownText:{dark:"gray1000",light:"lightGray1000"},markdownHeading:{dark:"purple900",light:"purple700"},markdownLink:{dark:"blue900",light:"blue700"},markdownLinkText:{dark:"teal900",light:"teal700"},markdownCode:{dark:"green900",light:"green700"},markdownBlockQuote:{dark:"gray600",light:"lightGray600"},markdownEmph:{dark:"amber900",light:"amber700"},markdownStrong:{dark:"pink900",light:"pink700"},markdownHorizontalRule:{dark:"gray500",light:"#999999"},markdownListItem:{dark:"gray1000",light:"lightGray1000"},markdownListEnumeration:{dark:"blue900",light:"blue700"},markdownImage:{dark:"teal900",light:"teal700"},markdownImageText:{dark:"cyan",light:"teal700"},markdownCodeBlock:{dark:"gray1000",light:"lightGray1000"},syntaxComment:{dark:"gray600",light:"#888888"},syntaxKeyword:{dark:"pink900",light:"pink700"},syntaxFunction:{dark:"purple900",light:"purple700"},syntaxVariable:{dark:"blue900",light:"blue700"},syntaxString:{dark:"green900",light:"green700"},syntaxNumber:{dark:"amber900",light:"amber700"},syntaxType:{dark:"teal900",light:"teal700"},syntaxOperator:{dark:"pink900",light:"pink700"},syntaxPunctuation:{dark:"gray1000",light:"lightGray1000"}}};var _p={$schema:"https://opencode.ai/theme.json",defs:{vesperBg:"#101010",vesperFg:"#FFF",vesperComment:"#8b8b8b",vesperKeyword:"#A0A0A0",vesperFunction:"#FFC799",vesperString:"#99FFE4",vesperNumber:"#FFC799",vesperError:"#FF8080",vesperWarning:"#FFC799",vesperSuccess:"#99FFE4",vesperMuted:"#A0A0A0",vesperElement:"#222222"},theme:{primary:{dark:"#FFC799",light:"#FFC799"},secondary:{dark:"#99FFE4",light:"#99FFE4"},accent:{dark:"#FFC799",light:"#FFC799"},error:{dark:"vesperError",light:"vesperError"},warning:{dark:"vesperWarning",light:"vesperWarning"},success:{dark:"vesperSuccess",light:"vesperSuccess"},info:{dark:"#FFC799",light:"#FFC799"},text:{dark:"vesperFg",light:"vesperBg"},textMuted:{dark:"vesperMuted",light:"vesperMuted"},background:{dark:"vesperBg",light:"#FFF"},backgroundPanel:{dark:"vesperBg",light:"#F0F0F0"},backgroundElement:{dark:"vesperElement",light:"#E0E0E0"},border:{dark:"#282828",light:"#D0D0D0"},borderActive:{dark:"#FFC799",light:"#FFC799"},borderSubtle:{dark:"#1C1C1C",light:"#E8E8E8"},diffAdded:{dark:"vesperSuccess",light:"vesperSuccess"},diffRemoved:{dark:"vesperError",light:"vesperError"},diffContext:{dark:"vesperMuted",light:"vesperMuted"},diffHunkHeader:{dark:"vesperMuted",light:"vesperMuted"},diffHighlightAdded:{dark:"vesperSuccess",light:"vesperSuccess"},diffHighlightRemoved:{dark:"vesperError",light:"vesperError"},diffAddedBg:{dark:"#0d2818",light:"#e8f5e8"},diffRemovedBg:{dark:"#281a1a",light:"#f5e8e8"},diffContextBg:{dark:"vesperBg",light:"#F8F8F8"},diffLineNumber:{dark:"textMuted",light:"#6a6a6a"},diffAddedLineNumberBg:{dark:"#0d2818",light:"#e8f5e8"},diffRemovedLineNumberBg:{dark:"#281a1a",light:"#f5e8e8"},markdownText:{dark:"vesperFg",light:"vesperBg"},markdownHeading:{dark:"#FFC799",light:"#FFC799"},markdownLink:{dark:"#FFC799",light:"#FFC799"},markdownLinkText:{dark:"vesperMuted",light:"vesperMuted"},markdownCode:{dark:"vesperMuted",light:"vesperMuted"},markdownBlockQuote:{dark:"vesperFg",light:"vesperBg"},markdownEmph:{dark:"vesperFg",light:"vesperBg"},markdownStrong:{dark:"vesperFg",light:"vesperBg"},markdownHorizontalRule:{dark:"#65737E",light:"#65737E"},markdownListItem:{dark:"vesperFg",light:"vesperBg"},markdownListEnumeration:{dark:"vesperFg",light:"vesperBg"},markdownImage:{dark:"#FFC799",light:"#FFC799"},markdownImageText:{dark:"vesperMuted",light:"vesperMuted"},markdownCodeBlock:{dark:"vesperFg",light:"vesperBg"},syntaxComment:{dark:"vesperComment",light:"vesperComment"},syntaxKeyword:{dark:"vesperKeyword",light:"vesperKeyword"},syntaxFunction:{dark:"vesperFunction",light:"vesperFunction"},syntaxVariable:{dark:"vesperFg",light:"vesperBg"},syntaxString:{dark:"vesperString",light:"vesperString"},syntaxNumber:{dark:"vesperNumber",light:"vesperNumber"},syntaxType:{dark:"vesperFunction",light:"vesperFunction"},syntaxOperator:{dark:"vesperKeyword",light:"vesperKeyword"},syntaxPunctuation:{dark:"vesperFg",light:"vesperBg"}}};var Pp={$schema:"https://opencode.ai/theme.json",defs:{bg:"#3f3f3f",bgAlt:"#4f4f4f",bgPanel:"#5f5f5f",fg:"#dcdccc",fgMuted:"#9f9f9f",red:"#cc9393",redBright:"#dca3a3",green:"#7f9f7f",greenBright:"#8fb28f",yellow:"#f0dfaf",yellowDim:"#e0cf9f",blue:"#8cd0d3",blueDim:"#7cb8bb",magenta:"#dc8cc3",cyan:"#93e0e3",orange:"#dfaf8f"},theme:{primary:{dark:"blue",light:"#5f7f8f"},secondary:{dark:"magenta",light:"#8f5f8f"},accent:{dark:"cyan",light:"#5f8f8f"},error:{dark:"red",light:"#8f5f5f"},warning:{dark:"yellow",light:"#8f8f5f"},success:{dark:"green",light:"#5f8f5f"},info:{dark:"orange",light:"#8f7f5f"},text:{dark:"fg",light:"#3f3f3f"},textMuted:{dark:"fgMuted",light:"#6f6f6f"},background:{dark:"bg",light:"#ffffef"},backgroundPanel:{dark:"bgAlt",light:"#f5f5e5"},backgroundElement:{dark:"bgPanel",light:"#ebebdb"},border:{dark:"#5f5f5f",light:"#d0d0c0"},borderActive:{dark:"blue",light:"#5f7f8f"},borderSubtle:{dark:"#4f4f4f",light:"#e0e0d0"},diffAdded:{dark:"green",light:"#5f8f5f"},diffRemoved:{dark:"red",light:"#8f5f5f"},diffContext:{dark:"fgMuted",light:"#6f6f6f"},diffHunkHeader:{dark:"cyan",light:"#5f8f8f"},diffHighlightAdded:{dark:"greenBright",light:"#5f8f5f"},diffHighlightRemoved:{dark:"redBright",light:"#8f5f5f"},diffAddedBg:{dark:"#4f5f4f",light:"#efffef"},diffRemovedBg:{dark:"#5f4f4f",light:"#ffefef"},diffContextBg:{dark:"bgAlt",light:"#f5f5e5"},diffLineNumber:{dark:"#d2d2d2",light:"textMuted"},diffAddedLineNumberBg:{dark:"#4f5f4f",light:"#efffef"},diffRemovedLineNumberBg:{dark:"#5f4f4f",light:"#ffefef"},markdownText:{dark:"fg",light:"#3f3f3f"},markdownHeading:{dark:"yellow",light:"#8f8f5f"},markdownLink:{dark:"blue",light:"#5f7f8f"},markdownLinkText:{dark:"cyan",light:"#5f8f8f"},markdownCode:{dark:"green",light:"#5f8f5f"},markdownBlockQuote:{dark:"fgMuted",light:"#6f6f6f"},markdownEmph:{dark:"yellowDim",light:"#8f8f5f"},markdownStrong:{dark:"orange",light:"#8f7f5f"},markdownHorizontalRule:{dark:"fgMuted",light:"#6f6f6f"},markdownListItem:{dark:"blue",light:"#5f7f8f"},markdownListEnumeration:{dark:"cyan",light:"#5f8f8f"},markdownImage:{dark:"blue",light:"#5f7f8f"},markdownImageText:{dark:"cyan",light:"#5f8f8f"},markdownCodeBlock:{dark:"fg",light:"#3f3f3f"},syntaxComment:{dark:"#7f9f7f",light:"#5f7f5f"},syntaxKeyword:{dark:"yellow",light:"#8f8f5f"},syntaxFunction:{dark:"blue",light:"#5f7f8f"},syntaxVariable:{dark:"fg",light:"#3f3f3f"},syntaxString:{dark:"red",light:"#8f5f5f"},syntaxNumber:{dark:"greenBright",light:"#5f8f5f"},syntaxType:{dark:"cyan",light:"#5f8f8f"},syntaxOperator:{dark:"yellow",light:"#8f8f5f"},syntaxPunctuation:{dark:"fg",light:"#3f3f3f"}}};var qr={aura:ep,ayu:tp,carbonfox:np,catppuccin:rp,["catppuccin-frappe"]:op,["catppuccin-macchiato"]:ip,cobalt2:ap,cursor:sp,dracula:lp,everforest:cp,flexoki:dp,github:up,gruvbox:fp,kanagawa:gp,["lucent-orng"]:mp,material:hp,matrix:pp,mercury:Ap,monokai:kp,nightowl:xp,nord:bp,["one-dark"]:yp,opencode:wp,orng:Sp,["osaka-jade"]:Cp,palenight:vp,rosepine:Ip,solarized:Ep,synthwave84:Tp,tokyonight:Bp,vercel:Rp,vesper:_p,zenburn:Pp},dl="tokyonight";function ul(e){return Object.hasOwn(qr,e)}function wI(e){if(e<16){let t=[[0,0,0],[205,49,49],[13,188,121],[229,229,16],[36,114,200],[188,63,188],[17,168,205],[229,229,229],[102,102,102],[241,76,76],[35,209,139],[245,245,67],[59,142,234],[214,112,214],[41,184,219],[255,255,255]][e];if(t)return Bt.fromInts(t[0],t[1],t[2]);return Bt.fromInts(0,0,0)}if(e<232){let t=e-16,n=t%6,r=Math.floor(t/6)%6,o=Math.floor(t/36),i=(a)=>a===0?0:a*40+55;return Bt.fromInts(i(o),i(r),i(n))}if(e<256){let t=(e-232)*10+8;return Bt.fromInts(t,t,t)}return Bt.fromInts(0,0,0)}function yt(e,t,n){let r=e.r+(t.r-e.r)*n,o=e.g+(t.g-e.g)*n,i=e.b+(t.b-e.b)*n;return Bt.fromInts(Math.round(r*255),Math.round(o*255),Math.round(i*255))}function Mp(e){let t=(n)=>n<=0.03928?n/12.92:((n+0.055)/1.055)**2.4;return 0.2126*t(e.r)+0.7152*t(e.g)+0.0722*t(e.b)}function fr(e,t){let n=Mp(e),r=Mp(t);return(Math.max(n,r)+0.05)/(Math.min(n,r)+0.05)}function Fp(e,t="dark"){let n=e.defs??{};function r(a,s=[]){if(a instanceof Bt)return a;if(typeof a==="string"){if(a==="transparent"||a==="none")return Bt.fromInts(0,0,0,0);if(a.startsWith("#"))return Bt.fromHex(a);if(s.includes(a))throw Error(`Circular color reference: ${[...s,a].join(" -> ")}`);let l=n[a]??e.theme[a];if(l===void 0)throw Error(`Color reference "${a}" not found in defs or theme`);return r(l,[...s,a])}if(typeof a==="number")return wI(a);return r(a[t],s)}let o=Object.fromEntries(Object.entries(e.theme).filter(([a])=>a!=="selectedListItemText"&&a!=="backgroundMenu"&&a!=="thinkingOpacity").map(([a,s])=>[a,r(s)])),i=e.theme.selectedListItemText!==void 0;return o.selectedListItemText=i?r(e.theme.selectedListItemText):o.background,o.backgroundMenu=e.theme.backgroundMenu!==void 0?r(e.theme.backgroundMenu):o.backgroundElement,{...o,_hasSelectedListItemText:i,thinkingOpacity:e.theme.thinkingOpacity??0.6}}function Tn(e,t){if(e._hasSelectedListItemText)return e.selectedListItemText;if(e.background.a===0){let n=t??e.primary;return 0.299*n.r+0.587*n.g+0.114*n.b>0.5?Bt.fromInts(0,0,0):Bt.fromInts(255,255,255)}return e.background}var Np={pending:"\u25CB",in_progress:"\u25D0",completed:"\u25CF",failed:"\u2717"},Dp={pending:"\u25CB",in_progress:"\u25D0",completed:"\u25CF"};var Op=Ro();function SI(e){return new Proxy({},{get(t,n){return e()[n]},has(t,n){return n in e()},ownKeys(){return Reflect.ownKeys(e())},getOwnPropertyDescriptor(t,n){return{enumerable:!0,configurable:!0,value:e()[n]}}})}function Lp(e){let[t,n]=j(e.initial&&ul(e.initial)?e.initial:dl),[r,o]=j("dark"),i=ye(()=>qr[t()]??qr[dl]),a=ye(()=>Fp(i(),r())),s=SI(()=>a()),u={get theme(){return s},get name(){return t()},setName:(m)=>{if(!ul(m))return;n(m),e.onNameChange?.(m)},get names(){return[...Object.keys(qr)].sort((m,g)=>m.localeCompare(g))},get mode(){return r()},setMode:o};return h(Op.Provider,{value:u,get children(){return e.children}})}function se(){let e=xn(Op);if(!e)throw Error("useTheme must be used within a ThemeProvider");return e}function Rt(e){let{theme:t}=se(),[n,r]=j(!1);return(()=>{var o=A("box");return d(o,"onMouseOver",()=>r(!0)),d(o,"onMouseOut",()=>r(!1)),d(o,"onMouseUp",()=>e.onActivate?.()),p(o,()=>e.children(n())),E((i)=>d(o,"style",{flexDirection:"row",flexShrink:0,backgroundColor:n()?t.primary:void 0},i)),o})()}function ot(e,t,n){return t?Tn(e,e.primary):n}var CI={topLeft:"",bottomLeft:"",vertical:"",topRight:"",bottomRight:"",horizontal:" ",bottomT:"",topT:"",cross:"",leftT:"",rightT:""},vI={border:["left"],customBorderChars:{...CI,vertical:"\u2503"}},II=$p.fromInts(0,0,0,150);function _t(e){let t=vt();return[(()=>{var n=A("box");return E((r)=>d(n,"style",{position:"absolute",left:0,top:0,width:t().width,height:t().height,zIndex:3900,backgroundColor:II},r)),n})(),(()=>{var n=A("box");return p(n,()=>e.children),E((r)=>d(n,"style",{position:"absolute",left:0,top:0,width:t().width,height:t().height,flexDirection:"column",alignItems:"center",justifyContent:"center",zIndex:4000},r)),n})()]}function De(e){let{theme:t}=se(),n=vt();return(()=>{var r=A("box"),o=A("box"),i=A("box"),a=A("box"),s=A("text"),l=A("text");return R(r,o),d(r,"style",{flexDirection:"column",alignItems:"center",flexShrink:0}),R(o,i),R(i,a),d(i,"style",{flexDirection:"column",gap:1,flexGrow:1,paddingTop:1,paddingBottom:1,paddingLeft:2,paddingRight:3}),R(a,s),R(a,l),d(a,"style",{flexDirection:"row",gap:1,flexShrink:0}),p(s,()=>e.icon??"\u25B3"),p(l,()=>e.title),p(a,h(P,{get when(){return e.hint},get children(){return[(()=>{var u=A("box");return d(u,"style",{flexGrow:1}),u})(),h(Rt,{get onActivate(){return e.onHint},children:(u)=>(()=>{var m=A("text");return d(m,"selectable",!1),p(m,()=>e.hint),E((g)=>d(m,"style",{fg:u?t.text:t.textMuted},g)),m})()})]}}),null),p(i,h(P,{get when(){return e.subtitle},get children(){var u=A("text");return p(u,()=>e.subtitle),E((m)=>d(u,"style",{fg:t.textMuted,paddingLeft:1},m)),u}}),null),p(i,()=>e.children,null),p(o,h(P,{get when(){return e.actions},get children(){var u=A("box");return d(u,"style",{flexDirection:"row",flexShrink:0,gap:2,justifyContent:"flex-end",alignItems:"center",paddingBottom:1,paddingRight:3}),p(u,()=>e.actions),u}}),null),p(o,h(P,{get when(){return e.footer},get children(){var u=A("box");return d(u,"style",{flexDirection:"row",flexShrink:0,gap:2,justifyContent:"flex-end",alignItems:"center",paddingBottom:1,paddingRight:3}),p(u,()=>e.footer),u}}),null),E((u)=>{var m={flexDirection:"column",flexShrink:0,width:e.width??"100%",maxWidth:e.maxWidth==="fill"?void 0:e.maxWidth??ur(n().width),backgroundColor:t.backgroundPanel,border:["left"],borderColor:t[e.tone],customBorderChars:vI.customBorderChars},g={fg:t[e.tone]},k={fg:t.text};return m!==u.e&&(u.e=d(o,"style",m,u.e)),g!==u.t&&(u.t=d(s,"style",g,u.t)),k!==u.a&&(u.a=d(l,"style",k,u.a)),u},{e:void 0,t:void 0,a:void 0}),r})()}function wt(e){let{theme:t}=se(),n=()=>e.fill??t.primary,r=()=>Tn(t,n()),o=()=>e.disabled?t.textMuted:e.current?t.primary:t.text;return(()=>{var i=A("box"),a=A("text"),s=A("text");return R(i,a),R(i,s),d(a,"selectable",!1),p(a,(()=>{var l=de(()=>!!e.active);return()=>l()?"\u276F ":e.current?"\u25CF ":" "})()),d(s,"wrapMode","none"),d(s,"selectable",!1),p(s,()=>e.title),p(i,h(P,{get when(){return e.description},get children(){var l=A("text");return d(l,"overflow","hidden"),d(l,"wrapMode","none"),d(l,"selectable",!1),p(l,()=>` ${e.description}`),E((u)=>d(l,"style",{fg:e.active?r():t.textMuted,flexGrow:1},u)),l}}),null),p(i,h(P,{get when(){return e.footer},get children(){var l=A("text");return d(l,"selectable",!1),p(l,()=>` ${e.footer}`),E((u)=>d(l,"style",{fg:e.active?r():t.textMuted,flexShrink:0},u)),l}}),null),E((l)=>{var u={flexDirection:"row",flexShrink:0,backgroundColor:e.active?n():$p.fromInts(0,0,0,0),paddingLeft:1,paddingRight:1},m=e.onMouseUp,g={fg:e.active?r():o(),flexShrink:0},k={fg:e.active?r():o(),flexShrink:0};return u!==l.e&&(l.e=d(i,"style",u,l.e)),m!==l.t&&(l.t=d(i,"onMouseUp",m,l.t)),g!==l.a&&(l.a=d(a,"style",g,l.a)),k!==l.o&&(l.o=d(s,"style",k,l.o)),l},{e:void 0,t:void 0,a:void 0,o:void 0}),i})()}function qe(e){let{theme:t}=se();return(()=>{var n=A("text"),r=A("span"),o=ze(" "),i=A("span");return R(n,r),R(n,i),d(n,"style",{flexShrink:0}),d(n,"selectable",!1),R(r,o),p(r,()=>e.keys,o),p(i,()=>e.label),E((a)=>{var s={fg:t.text},l={fg:t.textMuted};return s!==a.e&&(a.e=d(r,"style",s,a.e)),l!==a.t&&(a.t=d(i,"style",l,a.t)),a},{e:void 0,t:void 0}),n})()}function He(e){let{theme:t}=se();return h(Rt,{get onActivate(){return e.onActivate},children:(n)=>(()=>{var r=A("text"),o=A("span"),i=A("span");return R(r,o),R(r,i),d(r,"style",{flexShrink:0}),d(r,"selectable",!1),p(o,()=>`${e.keys} `),p(i,()=>` ${e.label} `),E((a)=>{var s={fg:ot(t,n,t.textMuted)},l=e.primary?{fg:Tn(t,t.primary),bg:t.primary}:{fg:ot(t,n,t.text)};return s!==a.e&&(a.e=d(o,"style",s,a.e)),l!==a.t&&(a.t=d(i,"style",l,a.t)),a},{e:void 0,t:void 0}),r})()})}function gr(e,t,n){let r=Math.max(1,n);if(e.length<=r)return e.map((a,s)=>({item:a,index:s}));let o=Math.floor(r/2),i=Math.max(0,Math.min(e.length-r,t-o));return e.slice(i,i+r).map((a,s)=>({item:a,index:i+s}))}function mr(e){return e[0]?.index??0}function hr(e,t){let n=e.at(-1)?.index??-1;return Math.max(0,t-1-n)}function ln(e){let t=e.scroll?.direction;if(t==="up")return-1;if(t==="down")return 1;return 0}function Bn(e,t,n){if(n<=0)return 0;return(e+t+n)%n}function Gp(e){return e.find((t)=>t.kind==="allow_once")?.optionId??e.find((t)=>!t.kind.startsWith("reject"))?.optionId??e[0]?.optionId}var fl=8;function EI(e){let t=e.split(`
|
|
736
|
+
`).trim()}function sl(e){let t=e.trim();return t.startsWith("[Conversation continues]")||t.startsWith("[Easy Code - SYSTEM NOTIFICATION]")||t.startsWith("[Post-compression context restoration]")}function Wh(e){let t=al(e);if(!t||sl(t))return;return t}function M1(e,t,n){if(!n)return e;let r=e[e.length-1];if(r&&r.type===t)return[...e.slice(0,-1),{...r,text:r.text+n}];return[...e,{type:t,text:n}]}function F1(e){let t=[];for(let n of e){if(!n||typeof n!=="object")continue;let r=n,o=Array.isArray(r.parts)?r.parts:[],i=r.role==="model";if(o.some((l)=>l.functionResponse))continue;let a="";for(let l of o){if(l.functionCall||l.functionResponse)continue;if(typeof l.text==="string")a+=l.text}let s=al(a);if(!s||sl(s))continue;t=M1(t,i?"assistant":"user",s)}return t}function N1(e,t,n=yi()){return ll(Kh(e,t,n),"history.json")}function Kh(e,t,n){let r=_1("sha256").update(P1(e)).digest("hex");return ll(n,".easycode-user","tmp",r,"sessions",t)}function D1(e,t,n=yi()){return ll(Kh(e,t,n),"metadata.json")}async function Qh(e,t,n=yi()){try{let r=await Zh.readFile(D1(t,e,n),"utf8"),o=JSON.parse(r);if(!o||typeof o!=="object")return;let i=o.lastPromptTokenCount;return typeof i==="number"&&Number.isFinite(i)&&i>0?i:void 0}catch{return}}async function Yh(e,t,n=yi()){try{let r=await Zh.readFile(N1(t,e,n),"utf8"),o=JSON.parse(r);return Array.isArray(o)?F1(o):[]}catch{return[]}}async function Jh(e){let t=await e.check();if(t?.forced)await e.applyForcedUpdate(t)}import{promises as cl}from"fs";import{homedir as qh}from"os";import{join as Xh}from"path";var O1=3600000,ep=3600000,L1=1e4;function $1(){return Xh(qh(),".easycode-user","update-check-tui.json")}function Vh(e){let t=e.trim().match(/^v?(\d+)(?:\.(\d+))?(?:\.(\d+))?/);if(!t)return null;return[Number(t[1]),Number(t[2]??0),Number(t[3]??0)]}function G1(e,t){if(!t)return!1;let n=Vh(e),r=Vh(t);if(!n||!r)return!0;for(let o=0;o<3;o++)if(r[o]!==n[o])return r[o]>n[o];return!1}function z1(e,t){if(!t||typeof t!=="object")return null;let n=t;if(n.success!==!0||n.hasUpdate!==!0)return null;let r=typeof n.latestVersion==="string"?n.latestVersion:"",o=typeof n.updateCommand==="string"?n.updateCommand:"";if(!r||!o)return null;if(!G1(e,r))return null;return{latestVersion:r,updateCommand:o,forced:n.forceUpdate===!0}}async function H1(e){try{let t=JSON.parse(await cl.readFile(e,"utf8"));if(typeof t?.checkedAt!=="number"||typeof t?.version!=="string")return null;return t}catch{return null}}async function U1(e,t){try{await cl.mkdir(Xh(qh(),".easycode-user"),{recursive:!0}),await cl.writeFile(e,JSON.stringify(t,null,2))}catch{}}async function j1(e,t){try{let n=`${Qr()}/api/update-check?version=${encodeURIComponent(e)}`,r=await t(n,{method:"GET",headers:{"User-Agent":`easycode-tui/${e}`},signal:AbortSignal.timeout(L1)});if(!r.ok)return;let o=await r.text(),i;try{i=JSON.parse(o)}catch{return}return z1(e,i)}catch{return}}async function wi(e){if(process.env.DEV==="true")return null;let t=e.now??Date.now,n=e.cacheFile??$1(),r=await H1(n);if(r&&r.version===e.currentVersion&&t()-r.checkedAt<O1)return r.info;let o=await j1(e.currentVersion,e.fetch??globalThis.fetch);if(o!==void 0)await U1(n,{checkedAt:t(),version:e.currentVersion,info:o});return o??null}import{spawn as W1}from"child_process";var Z1=400,K1=300000;async function Si(e,t={}){let n=e.trim().split(/\s+/).filter(Boolean);if(n.length===0)return{ok:!1,output:c("update.noCommand")};let r=t.spawn??W1,[o,...i]=n,a=process.platform==="win32",s=a?"cmd.exe":o,l=a?["/c",o,...i]:i;return new Promise((u)=>{let g="",m=(R)=>{g=(g+R.toString("utf8")).slice(-Z1)},k=!1,y=(R)=>{if(k)return;k=!0,u(R)};try{let R=r(s,l,t.stdio==="inherit"?{stdio:"inherit"}:{stdio:["ignore","pipe","pipe"]}),N=setTimeout(()=>{R.kill(),y({ok:!1,output:`${g.trim()}
|
|
737
|
+
Timed out.`})},t.timeoutMs??K1);R.stdout?.on("data",m),R.stderr?.on("data",m),R.on("error",(M)=>{clearTimeout(N),y({ok:!1,output:M.message})}),R.on("close",(M)=>{clearTimeout(N),y({ok:M===0,output:g.trim()})})}catch(R){y({ok:!1,output:R instanceof Error?R.message:String(R)})}})}import*as Hb from"path";import{MouseButton as dB,SyntaxStyle as uB}from"@opentui/core";import{RGBA as Gp}from"@opentui/core";function ln(e){return Math.max(64,Math.floor(e*0.6))}import{RGBA as Bt}from"@opentui/core";var tp={$schema:"https://opencode.ai/theme.json",defs:{darkBg:"#0f0f0f",darkBgPanel:"#15141b",darkBorder:"#2d2d2d",darkFgMuted:"#6d6d6d",darkFg:"#edecee",purple:"#a277ff",pink:"#f694ff",blue:"#82e2ff",red:"#ff6767",orange:"#ffca85",cyan:"#61ffca",green:"#9dff65",darkBgElement:"#26242e"},theme:{primary:"purple",secondary:"pink",accent:"purple",error:"red",warning:"orange",success:"cyan",info:"purple",text:"darkFg",textMuted:"darkFgMuted",background:"darkBg",backgroundPanel:"darkBgPanel",backgroundElement:"darkBgElement",border:"darkBorder",borderActive:"darkFgMuted",borderSubtle:"darkBorder",diffAdded:"cyan",diffRemoved:"red",diffContext:"darkFgMuted",diffHunkHeader:"darkFgMuted",diffHighlightAdded:"cyan",diffHighlightRemoved:"red",diffAddedBg:"#354933",diffRemovedBg:"#3f191a",diffContextBg:"darkBgPanel",diffLineNumber:"#898989",diffAddedLineNumberBg:"#162620",diffRemovedLineNumberBg:"#26161a",markdownText:"darkFg",markdownHeading:"purple",markdownLink:"pink",markdownLinkText:"purple",markdownCode:"cyan",markdownBlockQuote:"darkFgMuted",markdownEmph:"orange",markdownStrong:"purple",markdownHorizontalRule:"darkFgMuted",markdownListItem:"purple",markdownListEnumeration:"purple",markdownImage:"pink",markdownImageText:"purple",markdownCodeBlock:"darkFg",syntaxComment:"darkFgMuted",syntaxKeyword:"pink",syntaxFunction:"purple",syntaxVariable:"purple",syntaxString:"cyan",syntaxNumber:"green",syntaxType:"purple",syntaxOperator:"pink",syntaxPunctuation:"darkFg"}};var np={$schema:"https://opencode.ai/theme.json",defs:{darkBg:"#0B0E14",darkBgAlt:"#0D1017",darkLine:"#11151C",darkPanel:"#0F131A",darkFg:"#BFBDB6",darkFgMuted:"#565B66",darkGutter:"#6C7380",darkTag:"#39BAE6",darkFunc:"#FFB454",darkEntity:"#59C2FF",darkString:"#AAD94C",darkRegexp:"#95E6CB",darkMarkup:"#F07178",darkKeyword:"#FF8F40",darkSpecial:"#E6B673",darkComment:"#ACB6BF",darkConstant:"#D2A6FF",darkOperator:"#F29668",darkAdded:"#7FD962",darkRemoved:"#F26D78",darkAccent:"#E6B450",darkError:"#D95757",darkIndentActive:"#6C7380"},theme:{primary:"darkEntity",secondary:"darkConstant",accent:"darkAccent",error:"darkError",warning:"darkSpecial",success:"darkAdded",info:"darkTag",text:"darkFg",textMuted:"darkFgMuted",background:"darkBg",backgroundPanel:"darkPanel",backgroundElement:"darkBgAlt",border:"darkGutter",borderActive:"darkIndentActive",borderSubtle:"darkLine",diffAdded:"darkAdded",diffRemoved:"darkRemoved",diffContext:"darkComment",diffHunkHeader:"darkComment",diffHighlightAdded:"darkString",diffHighlightRemoved:"darkMarkup",diffAddedBg:"#20303b",diffRemovedBg:"#37222c",diffContextBg:"darkPanel",diffLineNumber:"diffContext",diffAddedLineNumberBg:"#1b2b34",diffRemovedLineNumberBg:"#2d1f26",markdownText:"darkFg",markdownHeading:"darkConstant",markdownLink:"darkEntity",markdownLinkText:"darkTag",markdownCode:"darkString",markdownBlockQuote:"darkSpecial",markdownEmph:"darkSpecial",markdownStrong:"darkFunc",markdownHorizontalRule:"darkFgMuted",markdownListItem:"darkEntity",markdownListEnumeration:"darkTag",markdownImage:"darkEntity",markdownImageText:"darkTag",markdownCodeBlock:"darkFg",syntaxComment:"darkComment",syntaxKeyword:"darkKeyword",syntaxFunction:"darkFunc",syntaxVariable:"darkEntity",syntaxString:"darkString",syntaxNumber:"darkConstant",syntaxType:"darkSpecial",syntaxOperator:"darkOperator",syntaxPunctuation:"darkFg"}};var rp={$schema:"https://opencode.ai/theme.json",defs:{bg0:"#0d0d0d",bg1:"#161616",bg1a:"#1a1a1a",bg2:"#1e1e1e",bg3:"#262626",bg4:"#303030",fg0:"#ffffff",fg1:"#f2f4f8",fg2:"#a9afbc",fg3:"#7d848f",lbg0:"#ffffff",lbg1:"#f4f4f4",lbg2:"#e8e8e8",lbg3:"#dcdcdc",lfg0:"#000000",lfg1:"#161616",lfg2:"#525252",lfg3:"#6f6f6f",red:"#ee5396",green:"#25be6a",yellow:"#08bdba",blue:"#78a9ff",magenta:"#be95ff",cyan:"#33b1ff",white:"#dfdfe0",orange:"#3ddbd9",pink:"#ff7eb6",blueBright:"#8cb6ff",cyanBright:"#52c7ff",greenBright:"#46c880",redLight:"#9f1853",greenLight:"#198038",yellowLight:"#007d79",blueLight:"#0043ce",magentaLight:"#6929c4",cyanLight:"#0072c3",warning:"#f1c21b",diffGreen:"#50fa7b",diffRed:"#ff6b6b",diffGreenBg:"#0f2418",diffRedBg:"#2a1216"},theme:{primary:{dark:"cyan",light:"blueLight"},secondary:{dark:"blue",light:"blueLight"},accent:{dark:"pink",light:"redLight"},error:{dark:"red",light:"redLight"},warning:{dark:"warning",light:"yellowLight"},success:{dark:"green",light:"greenLight"},info:{dark:"blue",light:"blueLight"},text:{dark:"fg1",light:"lfg1"},textMuted:{dark:"fg3",light:"lfg3"},background:{dark:"bg1",light:"lbg0"},backgroundPanel:{dark:"bg1a",light:"lbg1"},backgroundElement:{dark:"bg2",light:"lbg2"},border:{dark:"bg4",light:"lbg3"},borderActive:{dark:"cyan",light:"blueLight"},borderSubtle:{dark:"bg3",light:"lbg2"},diffAdded:{dark:"diffGreen",light:"greenLight"},diffRemoved:{dark:"diffRed",light:"redLight"},diffContext:{dark:"fg3",light:"lfg3"},diffHunkHeader:{dark:"blue",light:"blueLight"},diffHighlightAdded:{dark:"#7dffaa",light:"greenLight"},diffHighlightRemoved:{dark:"#ff9999",light:"redLight"},diffAddedBg:{dark:"diffGreenBg",light:"#defbe6"},diffRemovedBg:{dark:"diffRedBg",light:"#fff1f1"},diffContextBg:{dark:"bg1",light:"lbg1"},diffLineNumber:{dark:"#808792",light:"textMuted"},diffAddedLineNumberBg:{dark:"diffGreenBg",light:"#defbe6"},diffRemovedLineNumberBg:{dark:"diffRedBg",light:"#fff1f1"},markdownText:{dark:"fg1",light:"lfg1"},markdownHeading:{dark:"blueBright",light:"blueLight"},markdownLink:{dark:"blue",light:"blueLight"},markdownLinkText:{dark:"cyan",light:"cyanLight"},markdownCode:{dark:"green",light:"greenLight"},markdownBlockQuote:{dark:"fg3",light:"lfg3"},markdownEmph:{dark:"magenta",light:"magentaLight"},markdownStrong:{dark:"fg0",light:"lfg0"},markdownHorizontalRule:{dark:"bg4",light:"lbg3"},markdownListItem:{dark:"cyan",light:"cyanLight"},markdownListEnumeration:{dark:"cyan",light:"cyanLight"},markdownImage:{dark:"blue",light:"blueLight"},markdownImageText:{dark:"cyan",light:"cyanLight"},markdownCodeBlock:{dark:"fg2",light:"lfg2"},syntaxComment:{dark:"fg3",light:"lfg3"},syntaxKeyword:{dark:"magenta",light:"magentaLight"},syntaxFunction:{dark:"blueBright",light:"blueLight"},syntaxVariable:{dark:"white",light:"lfg1"},syntaxString:{dark:"green",light:"greenLight"},syntaxNumber:{dark:"orange",light:"yellowLight"},syntaxType:{dark:"yellow",light:"yellowLight"},syntaxOperator:{dark:"fg2",light:"lfg2"},syntaxPunctuation:{dark:"fg2",light:"lfg1"}}};var op={$schema:"https://opencode.ai/theme.json",defs:{lightRosewater:"#dc8a78",lightFlamingo:"#dd7878",lightPink:"#ea76cb",lightMauve:"#8839ef",lightRed:"#d20f39",lightMaroon:"#e64553",lightPeach:"#fe640b",lightYellow:"#df8e1d",lightGreen:"#40a02b",lightTeal:"#179299",lightSky:"#04a5e5",lightSapphire:"#209fb5",lightBlue:"#1e66f5",lightLavender:"#7287fd",lightText:"#4c4f69",lightSubtext1:"#5c5f77",lightSubtext0:"#6c6f85",lightOverlay2:"#7c7f93",lightOverlay1:"#8c8fa1",lightOverlay0:"#9ca0b0",lightSurface2:"#acb0be",lightSurface1:"#bcc0cc",lightSurface0:"#ccd0da",lightBase:"#eff1f5",lightMantle:"#e6e9ef",lightCrust:"#dce0e8",darkRosewater:"#f5e0dc",darkFlamingo:"#f2cdcd",darkPink:"#f5c2e7",darkMauve:"#cba6f7",darkRed:"#f38ba8",darkMaroon:"#eba0ac",darkPeach:"#fab387",darkYellow:"#f9e2af",darkGreen:"#a6e3a1",darkTeal:"#94e2d5",darkSky:"#89dceb",darkSapphire:"#74c7ec",darkBlue:"#89b4fa",darkLavender:"#b4befe",darkText:"#cdd6f4",darkSubtext1:"#bac2de",darkSubtext0:"#a6adc8",darkOverlay2:"#9399b2",darkOverlay1:"#7f849c",darkOverlay0:"#6c7086",darkSurface2:"#585b70",darkSurface1:"#45475a",darkSurface0:"#313244",darkBase:"#1e1e2e",darkMantle:"#181825",darkCrust:"#11111b"},theme:{primary:{dark:"darkBlue",light:"lightBlue"},secondary:{dark:"darkMauve",light:"lightMauve"},accent:{dark:"darkPink",light:"lightPink"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkYellow",light:"lightYellow"},success:{dark:"darkGreen",light:"lightGreen"},info:{dark:"darkTeal",light:"lightTeal"},text:{dark:"darkText",light:"lightText"},textMuted:{dark:"darkOverlay2",light:"lightOverlay2"},background:{dark:"darkBase",light:"lightBase"},backgroundPanel:{dark:"darkMantle",light:"lightMantle"},backgroundElement:{dark:"darkCrust",light:"lightCrust"},border:{dark:"darkSurface0",light:"lightSurface0"},borderActive:{dark:"darkSurface1",light:"lightSurface1"},borderSubtle:{dark:"darkSurface2",light:"lightSurface2"},diffAdded:{dark:"darkGreen",light:"lightGreen"},diffRemoved:{dark:"darkRed",light:"lightRed"},diffContext:{dark:"darkOverlay2",light:"lightOverlay2"},diffHunkHeader:{dark:"darkPeach",light:"lightPeach"},diffHighlightAdded:{dark:"darkGreen",light:"lightGreen"},diffHighlightRemoved:{dark:"darkRed",light:"lightRed"},diffAddedBg:{dark:"#24312b",light:"#d6f0d9"},diffRemovedBg:{dark:"#3c2a32",light:"#f6dfe2"},diffContextBg:{dark:"darkMantle",light:"lightMantle"},diffLineNumber:{dark:"textMuted",light:"#5b5d63"},diffAddedLineNumberBg:{dark:"#1e2a25",light:"#c9e3cb"},diffRemovedLineNumberBg:{dark:"#32232a",light:"#e9d3d6"},markdownText:{dark:"darkText",light:"lightText"},markdownHeading:{dark:"darkMauve",light:"lightMauve"},markdownLink:{dark:"darkBlue",light:"lightBlue"},markdownLinkText:{dark:"darkSky",light:"lightSky"},markdownCode:{dark:"darkGreen",light:"lightGreen"},markdownBlockQuote:{dark:"darkYellow",light:"lightYellow"},markdownEmph:{dark:"darkYellow",light:"lightYellow"},markdownStrong:{dark:"darkPeach",light:"lightPeach"},markdownHorizontalRule:{dark:"darkSubtext0",light:"lightSubtext0"},markdownListItem:{dark:"darkBlue",light:"lightBlue"},markdownListEnumeration:{dark:"darkSky",light:"lightSky"},markdownImage:{dark:"darkBlue",light:"lightBlue"},markdownImageText:{dark:"darkSky",light:"lightSky"},markdownCodeBlock:{dark:"darkText",light:"lightText"},syntaxComment:{dark:"darkOverlay2",light:"lightOverlay2"},syntaxKeyword:{dark:"darkMauve",light:"lightMauve"},syntaxFunction:{dark:"darkBlue",light:"lightBlue"},syntaxVariable:{dark:"darkRed",light:"lightRed"},syntaxString:{dark:"darkGreen",light:"lightGreen"},syntaxNumber:{dark:"darkPeach",light:"lightPeach"},syntaxType:{dark:"darkYellow",light:"lightYellow"},syntaxOperator:{dark:"darkSky",light:"lightSky"},syntaxPunctuation:{dark:"darkText",light:"lightText"}}};var ip={$schema:"https://opencode.ai/theme.json",defs:{frappeRosewater:"#f2d5cf",frappeFlamingo:"#eebebe",frappePink:"#f4b8e4",frappeMauve:"#ca9ee6",frappeRed:"#e78284",frappeMaroon:"#ea999c",frappePeach:"#ef9f76",frappeYellow:"#e5c890",frappeGreen:"#a6d189",frappeTeal:"#81c8be",frappeSky:"#99d1db",frappeSapphire:"#85c1dc",frappeBlue:"#8da4e2",frappeLavender:"#babbf1",frappeText:"#c6d0f5",frappeSubtext1:"#b5bfe2",frappeSubtext0:"#a5adce",frappeOverlay2:"#949cb8",frappeOverlay1:"#838ba7",frappeOverlay0:"#737994",frappeSurface2:"#626880",frappeSurface1:"#51576d",frappeSurface0:"#414559",frappeBase:"#303446",frappeMantle:"#292c3c",frappeCrust:"#232634"},theme:{primary:{dark:"frappeBlue",light:"frappeBlue"},secondary:{dark:"frappeMauve",light:"frappeMauve"},accent:{dark:"frappePink",light:"frappePink"},error:{dark:"frappeRed",light:"frappeRed"},warning:{dark:"frappeYellow",light:"frappeYellow"},success:{dark:"frappeGreen",light:"frappeGreen"},info:{dark:"frappeTeal",light:"frappeTeal"},text:{dark:"frappeText",light:"frappeText"},textMuted:{dark:"frappeOverlay2",light:"frappeOverlay2"},background:{dark:"frappeBase",light:"frappeBase"},backgroundPanel:{dark:"frappeMantle",light:"frappeMantle"},backgroundElement:{dark:"frappeCrust",light:"frappeCrust"},border:{dark:"frappeSurface0",light:"frappeSurface0"},borderActive:{dark:"frappeSurface1",light:"frappeSurface1"},borderSubtle:{dark:"frappeSurface2",light:"frappeSurface2"},diffAdded:{dark:"frappeGreen",light:"frappeGreen"},diffRemoved:{dark:"frappeRed",light:"frappeRed"},diffContext:{dark:"frappeOverlay2",light:"frappeOverlay2"},diffHunkHeader:{dark:"frappePeach",light:"frappePeach"},diffHighlightAdded:{dark:"frappeGreen",light:"frappeGreen"},diffHighlightRemoved:{dark:"frappeRed",light:"frappeRed"},diffAddedBg:{dark:"#29342b",light:"#29342b"},diffRemovedBg:{dark:"#3a2a31",light:"#3a2a31"},diffContextBg:{dark:"frappeMantle",light:"frappeMantle"},diffLineNumber:"textMuted",diffAddedLineNumberBg:{dark:"#223025",light:"#223025"},diffRemovedLineNumberBg:{dark:"#2f242b",light:"#2f242b"},markdownText:{dark:"frappeText",light:"frappeText"},markdownHeading:{dark:"frappeMauve",light:"frappeMauve"},markdownLink:{dark:"frappeBlue",light:"frappeBlue"},markdownLinkText:{dark:"frappeSky",light:"frappeSky"},markdownCode:{dark:"frappeGreen",light:"frappeGreen"},markdownBlockQuote:{dark:"frappeYellow",light:"frappeYellow"},markdownEmph:{dark:"frappeYellow",light:"frappeYellow"},markdownStrong:{dark:"frappePeach",light:"frappePeach"},markdownHorizontalRule:{dark:"frappeSubtext0",light:"frappeSubtext0"},markdownListItem:{dark:"frappeBlue",light:"frappeBlue"},markdownListEnumeration:{dark:"frappeSky",light:"frappeSky"},markdownImage:{dark:"frappeBlue",light:"frappeBlue"},markdownImageText:{dark:"frappeSky",light:"frappeSky"},markdownCodeBlock:{dark:"frappeText",light:"frappeText"},syntaxComment:{dark:"frappeOverlay2",light:"frappeOverlay2"},syntaxKeyword:{dark:"frappeMauve",light:"frappeMauve"},syntaxFunction:{dark:"frappeBlue",light:"frappeBlue"},syntaxVariable:{dark:"frappeRed",light:"frappeRed"},syntaxString:{dark:"frappeGreen",light:"frappeGreen"},syntaxNumber:{dark:"frappePeach",light:"frappePeach"},syntaxType:{dark:"frappeYellow",light:"frappeYellow"},syntaxOperator:{dark:"frappeSky",light:"frappeSky"},syntaxPunctuation:{dark:"frappeText",light:"frappeText"}}};var ap={$schema:"https://opencode.ai/theme.json",defs:{macRosewater:"#f4dbd6",macFlamingo:"#f0c6c6",macPink:"#f5bde6",macMauve:"#c6a0f6",macRed:"#ed8796",macMaroon:"#ee99a0",macPeach:"#f5a97f",macYellow:"#eed49f",macGreen:"#a6da95",macTeal:"#8bd5ca",macSky:"#91d7e3",macSapphire:"#7dc4e4",macBlue:"#8aadf4",macLavender:"#b7bdf8",macText:"#cad3f5",macSubtext1:"#b8c0e0",macSubtext0:"#a5adcb",macOverlay2:"#939ab7",macOverlay1:"#8087a2",macOverlay0:"#6e738d",macSurface2:"#5b6078",macSurface1:"#494d64",macSurface0:"#363a4f",macBase:"#24273a",macMantle:"#1e2030",macCrust:"#181926"},theme:{primary:{dark:"macBlue",light:"macBlue"},secondary:{dark:"macMauve",light:"macMauve"},accent:{dark:"macPink",light:"macPink"},error:{dark:"macRed",light:"macRed"},warning:{dark:"macYellow",light:"macYellow"},success:{dark:"macGreen",light:"macGreen"},info:{dark:"macTeal",light:"macTeal"},text:{dark:"macText",light:"macText"},textMuted:{dark:"macOverlay2",light:"macOverlay2"},background:{dark:"macBase",light:"macBase"},backgroundPanel:{dark:"macMantle",light:"macMantle"},backgroundElement:{dark:"macCrust",light:"macCrust"},border:{dark:"macSurface0",light:"macSurface0"},borderActive:{dark:"macSurface1",light:"macSurface1"},borderSubtle:{dark:"macSurface2",light:"macSurface2"},diffAdded:{dark:"macGreen",light:"macGreen"},diffRemoved:{dark:"macRed",light:"macRed"},diffContext:{dark:"macOverlay2",light:"macOverlay2"},diffHunkHeader:{dark:"macPeach",light:"macPeach"},diffHighlightAdded:{dark:"macGreen",light:"macGreen"},diffHighlightRemoved:{dark:"macRed",light:"macRed"},diffAddedBg:{dark:"#29342b",light:"#29342b"},diffRemovedBg:{dark:"#3a2a31",light:"#3a2a31"},diffContextBg:{dark:"macMantle",light:"macMantle"},diffLineNumber:"textMuted",diffAddedLineNumberBg:{dark:"#223025",light:"#223025"},diffRemovedLineNumberBg:{dark:"#2f242b",light:"#2f242b"},markdownText:{dark:"macText",light:"macText"},markdownHeading:{dark:"macMauve",light:"macMauve"},markdownLink:{dark:"macBlue",light:"macBlue"},markdownLinkText:{dark:"macSky",light:"macSky"},markdownCode:{dark:"macGreen",light:"macGreen"},markdownBlockQuote:{dark:"macYellow",light:"macYellow"},markdownEmph:{dark:"macYellow",light:"macYellow"},markdownStrong:{dark:"macPeach",light:"macPeach"},markdownHorizontalRule:{dark:"macSubtext0",light:"macSubtext0"},markdownListItem:{dark:"macBlue",light:"macBlue"},markdownListEnumeration:{dark:"macSky",light:"macSky"},markdownImage:{dark:"macBlue",light:"macBlue"},markdownImageText:{dark:"macSky",light:"macSky"},markdownCodeBlock:{dark:"macText",light:"macText"},syntaxComment:{dark:"macOverlay2",light:"macOverlay2"},syntaxKeyword:{dark:"macMauve",light:"macMauve"},syntaxFunction:{dark:"macBlue",light:"macBlue"},syntaxVariable:{dark:"macRed",light:"macRed"},syntaxString:{dark:"macGreen",light:"macGreen"},syntaxNumber:{dark:"macPeach",light:"macPeach"},syntaxType:{dark:"macYellow",light:"macYellow"},syntaxOperator:{dark:"macSky",light:"macSky"},syntaxPunctuation:{dark:"macText",light:"macText"}}};var sp={$schema:"https://opencode.ai/theme.json",defs:{background:"#193549",backgroundAlt:"#122738",backgroundPanel:"#1f4662",foreground:"#ffffff",foregroundMuted:"#adb7c9",yellow:"#ffc600",yellowBright:"#ffe14c",orange:"#ff9d00",orangeBright:"#ffb454",mint:"#2affdf",mintBright:"#7efff5",blue:"#0088ff",blueBright:"#5cb7ff",pink:"#ff628c",pinkBright:"#ff86a5",green:"#9eff80",greenBright:"#b9ff9f",purple:"#9a5feb",purpleBright:"#b88cfd",red:"#ff0088",redBright:"#ff5fb3"},theme:{primary:{dark:"blue",light:"#0066cc"},secondary:{dark:"purple",light:"#7c4dff"},accent:{dark:"mint",light:"#00acc1"},error:{dark:"red",light:"#e91e63"},warning:{dark:"yellow",light:"#ff9800"},success:{dark:"green",light:"#4caf50"},info:{dark:"orange",light:"#ff5722"},text:{dark:"foreground",light:"#193549"},textMuted:{dark:"foregroundMuted",light:"#5c6b7d"},background:{dark:"#193549",light:"#ffffff"},backgroundPanel:{dark:"#122738",light:"#f5f7fa"},backgroundElement:{dark:"#1f4662",light:"#e8ecf1"},border:{dark:"#1f4662",light:"#d3dae3"},borderActive:{dark:"blue",light:"#0066cc"},borderSubtle:{dark:"#0e1e2e",light:"#e8ecf1"},diffAdded:{dark:"green",light:"#4caf50"},diffRemoved:{dark:"red",light:"#e91e63"},diffContext:{dark:"foregroundMuted",light:"#5c6b7d"},diffHunkHeader:{dark:"mint",light:"#00acc1"},diffHighlightAdded:{dark:"greenBright",light:"#4caf50"},diffHighlightRemoved:{dark:"redBright",light:"#e91e63"},diffAddedBg:{dark:"#1a3a2a",light:"#e8f5e9"},diffRemovedBg:{dark:"#3a1a2a",light:"#ffebee"},diffContextBg:{dark:"#122738",light:"#f5f7fa"},diffLineNumber:"textMuted",diffAddedLineNumberBg:{dark:"#1a3a2a",light:"#e8f5e9"},diffRemovedLineNumberBg:{dark:"#3a1a2a",light:"#ffebee"},markdownText:{dark:"foreground",light:"#193549"},markdownHeading:{dark:"yellow",light:"#ff9800"},markdownLink:{dark:"blue",light:"#0066cc"},markdownLinkText:{dark:"mint",light:"#00acc1"},markdownCode:{dark:"green",light:"#4caf50"},markdownBlockQuote:{dark:"foregroundMuted",light:"#5c6b7d"},markdownEmph:{dark:"orange",light:"#ff5722"},markdownStrong:{dark:"pink",light:"#e91e63"},markdownHorizontalRule:{dark:"#2d5a7b",light:"#d3dae3"},markdownListItem:{dark:"blue",light:"#0066cc"},markdownListEnumeration:{dark:"mint",light:"#00acc1"},markdownImage:{dark:"blue",light:"#0066cc"},markdownImageText:{dark:"mint",light:"#00acc1"},markdownCodeBlock:{dark:"foreground",light:"#193549"},syntaxComment:{dark:"#0088ff",light:"#5c6b7d"},syntaxKeyword:{dark:"orange",light:"#ff5722"},syntaxFunction:{dark:"yellow",light:"#ff9800"},syntaxVariable:{dark:"foreground",light:"#193549"},syntaxString:{dark:"green",light:"#4caf50"},syntaxNumber:{dark:"pink",light:"#e91e63"},syntaxType:{dark:"mint",light:"#00acc1"},syntaxOperator:{dark:"orange",light:"#ff5722"},syntaxPunctuation:{dark:"foreground",light:"#193549"}}};var lp={$schema:"https://opencode.ai/theme.json",defs:{darkBg:"#181818",darkPanel:"#141414",darkElement:"#262626",darkFg:"#e4e4e4",darkMuted:"#e4e4e45e",darkBorder:"#e4e4e413",darkBorderActive:"#e4e4e426",darkCyan:"#88c0d0",darkBlue:"#81a1c1",darkGreen:"#3fa266",darkGreenBright:"#70b489",darkRed:"#e34671",darkRedBright:"#fc6b83",darkYellow:"#f1b467",darkOrange:"#d2943e",darkPink:"#E394DC",darkPurple:"#AAA0FA",darkTeal:"#82D2CE",darkSyntaxYellow:"#F8C762",darkSyntaxOrange:"#EFB080",darkSyntaxGreen:"#A8CC7C",darkSyntaxBlue:"#87C3FF",lightBg:"#fcfcfc",lightPanel:"#f3f3f3",lightElement:"#ededed",lightFg:"#141414",lightMuted:"#141414ad",lightBorder:"#14141413",lightBorderActive:"#14141426",lightTeal:"#6f9ba6",lightBlue:"#3c7cab",lightBlueDark:"#206595",lightGreen:"#1f8a65",lightGreenBright:"#55a583",lightRed:"#cf2d56",lightRedBright:"#e75e78",lightOrange:"#db704b",lightYellow:"#c08532",lightPurple:"#9e94d5",lightPurpleDark:"#6049b3",lightPink:"#b8448b",lightMagenta:"#b3003f"},theme:{primary:{dark:"darkCyan",light:"lightTeal"},secondary:{dark:"darkBlue",light:"lightBlue"},accent:{dark:"darkCyan",light:"lightTeal"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkYellow",light:"lightOrange"},success:{dark:"darkGreen",light:"lightGreen"},info:{dark:"darkBlue",light:"lightBlue"},text:{dark:"darkFg",light:"lightFg"},textMuted:{dark:"darkMuted",light:"lightMuted"},background:{dark:"darkBg",light:"lightBg"},backgroundPanel:{dark:"darkPanel",light:"lightPanel"},backgroundElement:{dark:"darkElement",light:"lightElement"},border:{dark:"darkBorder",light:"lightBorder"},borderActive:{dark:"darkCyan",light:"lightTeal"},borderSubtle:{dark:"#0f0f0f",light:"#e0e0e0"},diffAdded:{dark:"darkGreen",light:"lightGreen"},diffRemoved:{dark:"darkRed",light:"lightRed"},diffContext:{dark:"darkMuted",light:"lightMuted"},diffHunkHeader:{dark:"darkMuted",light:"lightMuted"},diffHighlightAdded:{dark:"darkGreenBright",light:"lightGreenBright"},diffHighlightRemoved:{dark:"darkRedBright",light:"lightRedBright"},diffAddedBg:{dark:"#3fa26633",light:"#1f8a651f"},diffRemovedBg:{dark:"#b8004933",light:"#cf2d5614"},diffContextBg:{dark:"darkPanel",light:"lightPanel"},diffLineNumber:{dark:"#eeeeee87",light:"textMuted"},diffAddedLineNumberBg:{dark:"#3fa26633",light:"#1f8a651f"},diffRemovedLineNumberBg:{dark:"#b8004933",light:"#cf2d5614"},markdownText:{dark:"darkFg",light:"lightFg"},markdownHeading:{dark:"darkPurple",light:"lightBlueDark"},markdownLink:{dark:"darkTeal",light:"lightBlueDark"},markdownLinkText:{dark:"darkBlue",light:"lightMuted"},markdownCode:{dark:"darkPink",light:"lightGreen"},markdownBlockQuote:{dark:"darkMuted",light:"lightMuted"},markdownEmph:{dark:"darkTeal",light:"lightFg"},markdownStrong:{dark:"darkSyntaxYellow",light:"lightFg"},markdownHorizontalRule:{dark:"darkMuted",light:"lightMuted"},markdownListItem:{dark:"darkFg",light:"lightFg"},markdownListEnumeration:{dark:"darkCyan",light:"lightMuted"},markdownImage:{dark:"darkCyan",light:"lightBlueDark"},markdownImageText:{dark:"darkBlue",light:"lightMuted"},markdownCodeBlock:{dark:"darkFg",light:"lightFg"},syntaxComment:{dark:"darkMuted",light:"lightMuted"},syntaxKeyword:{dark:"darkTeal",light:"lightMagenta"},syntaxFunction:{dark:"darkSyntaxOrange",light:"lightOrange"},syntaxVariable:{dark:"darkFg",light:"lightFg"},syntaxString:{dark:"darkPink",light:"lightPurple"},syntaxNumber:{dark:"darkSyntaxYellow",light:"lightPink"},syntaxType:{dark:"darkSyntaxOrange",light:"lightBlueDark"},syntaxOperator:{dark:"darkFg",light:"lightFg"},syntaxPunctuation:{dark:"darkFg",light:"lightFg"}}};var cp={$schema:"https://opencode.ai/theme.json",defs:{background:"#282a36",currentLine:"#44475a",selection:"#44475a",foreground:"#f8f8f2",comment:"#6272a4",cyan:"#8be9fd",green:"#50fa7b",orange:"#ffb86c",pink:"#ff79c6",purple:"#bd93f9",red:"#ff5555",yellow:"#f1fa8c"},theme:{primary:{dark:"purple",light:"purple"},secondary:{dark:"pink",light:"pink"},accent:{dark:"cyan",light:"cyan"},error:{dark:"red",light:"red"},warning:{dark:"yellow",light:"yellow"},success:{dark:"green",light:"green"},info:{dark:"orange",light:"orange"},text:{dark:"foreground",light:"#282a36"},textMuted:{dark:"comment",light:"#6272a4"},background:{dark:"#282a36",light:"#f8f8f2"},backgroundPanel:{dark:"#21222c",light:"#e8e8e2"},backgroundElement:{dark:"currentLine",light:"#d8d8d2"},border:{dark:"currentLine",light:"#c8c8c2"},borderActive:{dark:"purple",light:"purple"},borderSubtle:{dark:"#191a21",light:"#e0e0e0"},diffAdded:{dark:"green",light:"green"},diffRemoved:{dark:"red",light:"red"},diffContext:{dark:"comment",light:"#6272a4"},diffHunkHeader:{dark:"comment",light:"#6272a4"},diffHighlightAdded:{dark:"green",light:"green"},diffHighlightRemoved:{dark:"red",light:"red"},diffAddedBg:{dark:"#1a3a1a",light:"#e0ffe0"},diffRemovedBg:{dark:"#3a1a1a",light:"#ffe0e0"},diffContextBg:{dark:"#21222c",light:"#e8e8e2"},diffLineNumber:{dark:"#989aa4",light:"#686865"},diffAddedLineNumberBg:{dark:"#1a3a1a",light:"#e0ffe0"},diffRemovedLineNumberBg:{dark:"#3a1a1a",light:"#ffe0e0"},markdownText:{dark:"foreground",light:"#282a36"},markdownHeading:{dark:"purple",light:"purple"},markdownLink:{dark:"cyan",light:"cyan"},markdownLinkText:{dark:"pink",light:"pink"},markdownCode:{dark:"green",light:"green"},markdownBlockQuote:{dark:"comment",light:"#6272a4"},markdownEmph:{dark:"yellow",light:"yellow"},markdownStrong:{dark:"orange",light:"orange"},markdownHorizontalRule:{dark:"comment",light:"#6272a4"},markdownListItem:{dark:"purple",light:"purple"},markdownListEnumeration:{dark:"cyan",light:"cyan"},markdownImage:{dark:"cyan",light:"cyan"},markdownImageText:{dark:"pink",light:"pink"},markdownCodeBlock:{dark:"foreground",light:"#282a36"},syntaxComment:{dark:"comment",light:"#6272a4"},syntaxKeyword:{dark:"pink",light:"pink"},syntaxFunction:{dark:"green",light:"green"},syntaxVariable:{dark:"foreground",light:"#282a36"},syntaxString:{dark:"yellow",light:"yellow"},syntaxNumber:{dark:"purple",light:"purple"},syntaxType:{dark:"cyan",light:"cyan"},syntaxOperator:{dark:"pink",light:"pink"},syntaxPunctuation:{dark:"foreground",light:"#282a36"}}};var dp={$schema:"https://opencode.ai/theme.json",defs:{darkStep1:"#2d353b",darkStep2:"#333c43",darkStep3:"#343f44",darkStep4:"#3d484d",darkStep5:"#475258",darkStep6:"#7a8478",darkStep7:"#859289",darkStep8:"#9da9a0",darkStep9:"#a7c080",darkStep10:"#83c092",darkStep11:"#7a8478",darkStep12:"#d3c6aa",darkRed:"#e67e80",darkOrange:"#e69875",darkGreen:"#a7c080",darkCyan:"#83c092",darkYellow:"#dbbc7f",lightStep1:"#fdf6e3",lightStep2:"#efebd4",lightStep3:"#f4f0d9",lightStep4:"#efebd4",lightStep5:"#e6e2cc",lightStep6:"#a6b0a0",lightStep7:"#939f91",lightStep8:"#829181",lightStep9:"#8da101",lightStep10:"#35a77c",lightStep11:"#a6b0a0",lightStep12:"#5c6a72",lightRed:"#f85552",lightOrange:"#f57d26",lightGreen:"#8da101",lightCyan:"#35a77c",lightYellow:"#dfa000"},theme:{primary:{dark:"darkStep9",light:"lightStep9"},secondary:{dark:"#7fbbb3",light:"#3a94c5"},accent:{dark:"#d699b6",light:"#df69ba"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkOrange",light:"lightOrange"},success:{dark:"darkGreen",light:"lightGreen"},info:{dark:"darkCyan",light:"lightCyan"},text:{dark:"darkStep12",light:"lightStep12"},textMuted:{dark:"darkStep11",light:"lightStep11"},background:{dark:"darkStep1",light:"lightStep1"},backgroundPanel:{dark:"darkStep2",light:"lightStep2"},backgroundElement:{dark:"darkStep3",light:"lightStep3"},border:{dark:"darkStep7",light:"lightStep7"},borderActive:{dark:"darkStep8",light:"lightStep8"},borderSubtle:{dark:"darkStep6",light:"lightStep6"},diffAdded:{dark:"#4fd6be",light:"#1e725c"},diffRemoved:{dark:"#c53b53",light:"#c53b53"},diffContext:{dark:"#828bb8",light:"#7086b5"},diffHunkHeader:{dark:"#828bb8",light:"#7086b5"},diffHighlightAdded:{dark:"#b8db87",light:"#4db380"},diffHighlightRemoved:{dark:"#e26a75",light:"#f52a65"},diffAddedBg:{dark:"#20303b",light:"#d5e5d5"},diffRemovedBg:{dark:"#37222c",light:"#f7d8db"},diffContextBg:{dark:"darkStep2",light:"lightStep2"},diffLineNumber:{dark:"#a0a5a7",light:"#5b5951"},diffAddedLineNumberBg:{dark:"#1b2b34",light:"#c5d5c5"},diffRemovedLineNumberBg:{dark:"#2d1f26",light:"#e7c8cb"},markdownText:{dark:"darkStep12",light:"lightStep12"},markdownHeading:{dark:"#d699b6",light:"#df69ba"},markdownLink:{dark:"darkStep9",light:"lightStep9"},markdownLinkText:{dark:"darkCyan",light:"lightCyan"},markdownCode:{dark:"darkGreen",light:"lightGreen"},markdownBlockQuote:{dark:"darkYellow",light:"lightYellow"},markdownEmph:{dark:"darkYellow",light:"lightYellow"},markdownStrong:{dark:"darkOrange",light:"lightOrange"},markdownHorizontalRule:{dark:"darkStep11",light:"lightStep11"},markdownListItem:{dark:"darkStep9",light:"lightStep9"},markdownListEnumeration:{dark:"darkCyan",light:"lightCyan"},markdownImage:{dark:"darkStep9",light:"lightStep9"},markdownImageText:{dark:"darkCyan",light:"lightCyan"},markdownCodeBlock:{dark:"darkStep12",light:"lightStep12"},syntaxComment:{dark:"darkStep11",light:"lightStep11"},syntaxKeyword:{dark:"#d699b6",light:"#df69ba"},syntaxFunction:{dark:"darkStep9",light:"lightStep9"},syntaxVariable:{dark:"darkRed",light:"lightRed"},syntaxString:{dark:"darkGreen",light:"lightGreen"},syntaxNumber:{dark:"darkOrange",light:"lightOrange"},syntaxType:{dark:"darkYellow",light:"lightYellow"},syntaxOperator:{dark:"darkCyan",light:"lightCyan"},syntaxPunctuation:{dark:"darkStep12",light:"lightStep12"}}};var up={$schema:"https://opencode.ai/theme.json",defs:{black:"#100F0F",base950:"#1C1B1A",base900:"#282726",base850:"#343331",base800:"#403E3C",base700:"#575653",base600:"#6F6E69",base500:"#878580",base300:"#B7B5AC",base200:"#CECDC3",base150:"#DAD8CE",base100:"#E6E4D9",base50:"#F2F0E5",paper:"#FFFCF0",red400:"#D14D41",red600:"#AF3029",orange400:"#DA702C",orange600:"#BC5215",yellow400:"#D0A215",yellow600:"#AD8301",green400:"#879A39",green600:"#66800B",cyan400:"#3AA99F",cyan600:"#24837B",blue400:"#4385BE",blue600:"#205EA6",purple400:"#8B7EC8",purple600:"#5E409D",magenta400:"#CE5D97",magenta600:"#A02F6F"},theme:{primary:{dark:"orange400",light:"blue600"},secondary:{dark:"blue400",light:"purple600"},accent:{dark:"purple400",light:"orange600"},error:{dark:"red400",light:"red600"},warning:{dark:"orange400",light:"orange600"},success:{dark:"green400",light:"green600"},info:{dark:"cyan400",light:"cyan600"},text:{dark:"base200",light:"black"},textMuted:{dark:"base600",light:"base600"},background:{dark:"black",light:"paper"},backgroundPanel:{dark:"base950",light:"base50"},backgroundElement:{dark:"base900",light:"base100"},border:{dark:"base700",light:"base300"},borderActive:{dark:"base600",light:"base500"},borderSubtle:{dark:"base800",light:"base200"},diffAdded:{dark:"green400",light:"green600"},diffRemoved:{dark:"red400",light:"red600"},diffContext:{dark:"base600",light:"base600"},diffHunkHeader:{dark:"blue400",light:"blue600"},diffHighlightAdded:{dark:"green400",light:"green600"},diffHighlightRemoved:{dark:"red400",light:"red600"},diffAddedBg:{dark:"#1A2D1A",light:"#D5E5D5"},diffRemovedBg:{dark:"#2D1A1A",light:"#F7D8DB"},diffContextBg:{dark:"base950",light:"base50"},diffLineNumber:{dark:"#888883",light:"#5a5955"},diffAddedLineNumberBg:{dark:"#152515",light:"#C5D5C5"},diffRemovedLineNumberBg:{dark:"#251515",light:"#E7C8CB"},markdownText:{dark:"base200",light:"black"},markdownHeading:{dark:"purple400",light:"purple600"},markdownLink:{dark:"blue400",light:"blue600"},markdownLinkText:{dark:"cyan400",light:"cyan600"},markdownCode:{dark:"cyan400",light:"cyan600"},markdownBlockQuote:{dark:"yellow400",light:"yellow600"},markdownEmph:{dark:"yellow400",light:"yellow600"},markdownStrong:{dark:"orange400",light:"orange600"},markdownHorizontalRule:{dark:"base600",light:"base600"},markdownListItem:{dark:"orange400",light:"orange600"},markdownListEnumeration:{dark:"cyan400",light:"cyan600"},markdownImage:{dark:"magenta400",light:"magenta600"},markdownImageText:{dark:"cyan400",light:"cyan600"},markdownCodeBlock:{dark:"base200",light:"black"},syntaxComment:{dark:"base600",light:"base600"},syntaxKeyword:{dark:"green400",light:"green600"},syntaxFunction:{dark:"orange400",light:"orange600"},syntaxVariable:{dark:"blue400",light:"blue600"},syntaxString:{dark:"cyan400",light:"cyan600"},syntaxNumber:{dark:"purple400",light:"purple600"},syntaxType:{dark:"yellow400",light:"yellow600"},syntaxOperator:{dark:"base300",light:"base600"},syntaxPunctuation:{dark:"base300",light:"base600"}}};var fp={$schema:"https://opencode.ai/theme.json",defs:{darkBg:"#0d1117",darkBgAlt:"#010409",darkBgPanel:"#161b22",darkFg:"#c9d1d9",darkFgMuted:"#8b949e",darkBlue:"#58a6ff",darkGreen:"#3fb950",darkRed:"#f85149",darkOrange:"#d29922",darkPurple:"#bc8cff",darkPink:"#ff7b72",darkYellow:"#e3b341",darkCyan:"#39c5cf",lightBg:"#ffffff",lightBgAlt:"#f6f8fa",lightBgPanel:"#f0f3f6",lightFg:"#24292f",lightFgMuted:"#57606a",lightBlue:"#0969da",lightGreen:"#1a7f37",lightRed:"#cf222e",lightOrange:"#bc4c00",lightPurple:"#8250df",lightPink:"#bf3989",lightYellow:"#9a6700",lightCyan:"#1b7c83"},theme:{primary:{dark:"darkBlue",light:"lightBlue"},secondary:{dark:"darkPurple",light:"lightPurple"},accent:{dark:"darkCyan",light:"lightCyan"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkYellow",light:"lightYellow"},success:{dark:"darkGreen",light:"lightGreen"},info:{dark:"darkOrange",light:"lightOrange"},text:{dark:"darkFg",light:"lightFg"},textMuted:{dark:"darkFgMuted",light:"lightFgMuted"},background:{dark:"darkBg",light:"lightBg"},backgroundPanel:{dark:"darkBgAlt",light:"lightBgAlt"},backgroundElement:{dark:"darkBgPanel",light:"lightBgPanel"},border:{dark:"#30363d",light:"#d0d7de"},borderActive:{dark:"darkBlue",light:"lightBlue"},borderSubtle:{dark:"#21262d",light:"#d8dee4"},diffAdded:{dark:"darkGreen",light:"lightGreen"},diffRemoved:{dark:"darkRed",light:"lightRed"},diffContext:{dark:"darkFgMuted",light:"lightFgMuted"},diffHunkHeader:{dark:"darkBlue",light:"lightBlue"},diffHighlightAdded:{dark:"#3fb950",light:"#1a7f37"},diffHighlightRemoved:{dark:"#f85149",light:"#cf222e"},diffAddedBg:{dark:"#033a16",light:"#dafbe1"},diffRemovedBg:{dark:"#67060c",light:"#ffebe9"},diffContextBg:{dark:"darkBgAlt",light:"lightBgAlt"},diffLineNumber:{dark:"#95999e",light:"textMuted"},diffAddedLineNumberBg:{dark:"#033a16",light:"#dafbe1"},diffRemovedLineNumberBg:{dark:"#67060c",light:"#ffebe9"},markdownText:{dark:"darkFg",light:"lightFg"},markdownHeading:{dark:"darkBlue",light:"lightBlue"},markdownLink:{dark:"darkBlue",light:"lightBlue"},markdownLinkText:{dark:"darkCyan",light:"lightCyan"},markdownCode:{dark:"darkPink",light:"lightPink"},markdownBlockQuote:{dark:"darkFgMuted",light:"lightFgMuted"},markdownEmph:{dark:"darkYellow",light:"lightYellow"},markdownStrong:{dark:"darkOrange",light:"lightOrange"},markdownHorizontalRule:{dark:"#30363d",light:"#d0d7de"},markdownListItem:{dark:"darkBlue",light:"lightBlue"},markdownListEnumeration:{dark:"darkCyan",light:"lightCyan"},markdownImage:{dark:"darkBlue",light:"lightBlue"},markdownImageText:{dark:"darkCyan",light:"lightCyan"},markdownCodeBlock:{dark:"darkFg",light:"lightFg"},syntaxComment:{dark:"darkFgMuted",light:"lightFgMuted"},syntaxKeyword:{dark:"darkPink",light:"lightRed"},syntaxFunction:{dark:"darkPurple",light:"lightPurple"},syntaxVariable:{dark:"darkOrange",light:"lightOrange"},syntaxString:{dark:"darkCyan",light:"lightBlue"},syntaxNumber:{dark:"darkBlue",light:"lightCyan"},syntaxType:{dark:"darkOrange",light:"lightOrange"},syntaxOperator:{dark:"darkPink",light:"lightRed"},syntaxPunctuation:{dark:"darkFg",light:"lightFg"}}};var gp={$schema:"https://opencode.ai/theme.json",defs:{darkBg0:"#282828",darkBg1:"#3c3836",darkBg2:"#504945",darkBg3:"#665c54",darkFg0:"#fbf1c7",darkFg1:"#ebdbb2",darkGray:"#928374",darkRed:"#cc241d",darkGreen:"#98971a",darkYellow:"#d79921",darkBlue:"#458588",darkPurple:"#b16286",darkAqua:"#689d6a",darkOrange:"#d65d0e",darkRedBright:"#fb4934",darkGreenBright:"#b8bb26",darkYellowBright:"#fabd2f",darkBlueBright:"#83a598",darkPurpleBright:"#d3869b",darkAquaBright:"#8ec07c",darkOrangeBright:"#fe8019",lightBg0:"#fbf1c7",lightBg1:"#ebdbb2",lightBg2:"#d5c4a1",lightBg3:"#bdae93",lightFg0:"#282828",lightFg1:"#3c3836",lightGray:"#7c6f64",lightRed:"#9d0006",lightGreen:"#79740e",lightYellow:"#b57614",lightBlue:"#076678",lightPurple:"#8f3f71",lightAqua:"#427b58",lightOrange:"#af3a03"},theme:{primary:{dark:"darkBlueBright",light:"lightBlue"},secondary:{dark:"darkPurpleBright",light:"lightPurple"},accent:{dark:"darkAquaBright",light:"lightAqua"},error:{dark:"darkRedBright",light:"lightRed"},warning:{dark:"darkOrangeBright",light:"lightOrange"},success:{dark:"darkGreenBright",light:"lightGreen"},info:{dark:"darkYellowBright",light:"lightYellow"},text:{dark:"darkFg1",light:"lightFg1"},textMuted:{dark:"darkGray",light:"lightGray"},background:{dark:"darkBg0",light:"lightBg0"},backgroundPanel:{dark:"darkBg1",light:"lightBg1"},backgroundElement:{dark:"darkBg2",light:"lightBg2"},border:{dark:"darkBg3",light:"lightBg3"},borderActive:{dark:"darkFg1",light:"lightFg1"},borderSubtle:{dark:"darkBg2",light:"lightBg2"},diffAdded:{dark:"darkGreen",light:"lightGreen"},diffRemoved:{dark:"darkRed",light:"lightRed"},diffContext:{dark:"darkGray",light:"lightGray"},diffHunkHeader:{dark:"darkAqua",light:"lightAqua"},diffHighlightAdded:{dark:"darkGreenBright",light:"lightGreen"},diffHighlightRemoved:{dark:"darkRedBright",light:"lightRed"},diffAddedBg:{dark:"#32302f",light:"#dcd8a4"},diffRemovedBg:{dark:"#322929",light:"#e2c7c3"},diffContextBg:{dark:"darkBg1",light:"lightBg1"},diffLineNumber:{dark:"#a8a29e",light:"#564f43"},diffAddedLineNumberBg:{dark:"#2a2827",light:"#cec99e"},diffRemovedLineNumberBg:{dark:"#2a2222",light:"#d3bdb9"},markdownText:{dark:"darkFg1",light:"lightFg1"},markdownHeading:{dark:"darkBlueBright",light:"lightBlue"},markdownLink:{dark:"darkAquaBright",light:"lightAqua"},markdownLinkText:{dark:"darkGreenBright",light:"lightGreen"},markdownCode:{dark:"darkYellowBright",light:"lightYellow"},markdownBlockQuote:{dark:"darkGray",light:"lightGray"},markdownEmph:{dark:"darkPurpleBright",light:"lightPurple"},markdownStrong:{dark:"darkOrangeBright",light:"lightOrange"},markdownHorizontalRule:{dark:"darkGray",light:"lightGray"},markdownListItem:{dark:"darkBlueBright",light:"lightBlue"},markdownListEnumeration:{dark:"darkAquaBright",light:"lightAqua"},markdownImage:{dark:"darkAquaBright",light:"lightAqua"},markdownImageText:{dark:"darkGreenBright",light:"lightGreen"},markdownCodeBlock:{dark:"darkFg1",light:"lightFg1"},syntaxComment:{dark:"darkGray",light:"lightGray"},syntaxKeyword:{dark:"darkRedBright",light:"lightRed"},syntaxFunction:{dark:"darkGreenBright",light:"lightGreen"},syntaxVariable:{dark:"darkBlueBright",light:"lightBlue"},syntaxString:{dark:"darkYellowBright",light:"lightYellow"},syntaxNumber:{dark:"darkPurpleBright",light:"lightPurple"},syntaxType:{dark:"darkAquaBright",light:"lightAqua"},syntaxOperator:{dark:"darkOrangeBright",light:"lightOrange"},syntaxPunctuation:{dark:"darkFg1",light:"lightFg1"}}};var mp={$schema:"https://opencode.ai/theme.json",defs:{sumiInk0:"#1F1F28",sumiInk1:"#2A2A37",sumiInk2:"#363646",sumiInk3:"#54546D",fujiWhite:"#DCD7BA",oldWhite:"#C8C093",fujiGray:"#727169",oniViolet:"#957FB8",crystalBlue:"#7E9CD8",carpYellow:"#C38D9D",sakuraPink:"#D27E99",waveAqua:"#76946A",roninYellow:"#D7A657",dragonRed:"#E82424",lotusGreen:"#98BB6C",waveBlue:"#2D4F67",lightBg:"#F2E9DE",lightPaper:"#EAE4D7",lightText:"#54433A",lightGray:"#9E9389"},theme:{primary:{dark:"crystalBlue",light:"waveBlue"},secondary:{dark:"oniViolet",light:"oniViolet"},accent:{dark:"sakuraPink",light:"sakuraPink"},error:{dark:"dragonRed",light:"dragonRed"},warning:{dark:"roninYellow",light:"roninYellow"},success:{dark:"lotusGreen",light:"lotusGreen"},info:{dark:"waveAqua",light:"waveAqua"},text:{dark:"fujiWhite",light:"lightText"},textMuted:{dark:"fujiGray",light:"lightGray"},background:{dark:"sumiInk0",light:"lightBg"},backgroundPanel:{dark:"sumiInk1",light:"lightPaper"},backgroundElement:{dark:"sumiInk2",light:"#E3DCD2"},border:{dark:"sumiInk3",light:"#D4CBBF"},borderActive:{dark:"carpYellow",light:"carpYellow"},borderSubtle:{dark:"sumiInk2",light:"#DCD4C9"},diffAdded:{dark:"lotusGreen",light:"lotusGreen"},diffRemoved:{dark:"dragonRed",light:"dragonRed"},diffContext:{dark:"fujiGray",light:"lightGray"},diffHunkHeader:{dark:"waveBlue",light:"waveBlue"},diffHighlightAdded:{dark:"#A9D977",light:"#89AF5B"},diffHighlightRemoved:{dark:"#F24A4A",light:"#D61F1F"},diffAddedBg:{dark:"#252E25",light:"#EAF3E4"},diffRemovedBg:{dark:"#362020",light:"#FBE6E6"},diffContextBg:{dark:"sumiInk1",light:"lightPaper"},diffLineNumber:{dark:"#9090a0",light:"#65615c"},diffAddedLineNumberBg:{dark:"#202820",light:"#DDE8D6"},diffRemovedLineNumberBg:{dark:"#2D1C1C",light:"#F2DADA"},markdownText:{dark:"fujiWhite",light:"lightText"},markdownHeading:{dark:"oniViolet",light:"oniViolet"},markdownLink:{dark:"crystalBlue",light:"waveBlue"},markdownLinkText:{dark:"waveAqua",light:"waveAqua"},markdownCode:{dark:"lotusGreen",light:"lotusGreen"},markdownBlockQuote:{dark:"fujiGray",light:"lightGray"},markdownEmph:{dark:"carpYellow",light:"carpYellow"},markdownStrong:{dark:"roninYellow",light:"roninYellow"},markdownHorizontalRule:{dark:"fujiGray",light:"lightGray"},markdownListItem:{dark:"crystalBlue",light:"waveBlue"},markdownListEnumeration:{dark:"waveAqua",light:"waveAqua"},markdownImage:{dark:"crystalBlue",light:"waveBlue"},markdownImageText:{dark:"waveAqua",light:"waveAqua"},markdownCodeBlock:{dark:"fujiWhite",light:"lightText"},syntaxComment:{dark:"fujiGray",light:"lightGray"},syntaxKeyword:{dark:"oniViolet",light:"oniViolet"},syntaxFunction:{dark:"crystalBlue",light:"waveBlue"},syntaxVariable:{dark:"fujiWhite",light:"lightText"},syntaxString:{dark:"lotusGreen",light:"lotusGreen"},syntaxNumber:{dark:"roninYellow",light:"roninYellow"},syntaxType:{dark:"carpYellow",light:"carpYellow"},syntaxOperator:{dark:"sakuraPink",light:"sakuraPink"},syntaxPunctuation:{dark:"fujiWhite",light:"lightText"}}};var hp={$schema:"https://opencode.ai/theme.json",defs:{darkStep6:"#3c3c3c",darkStep11:"#808080",darkStep12:"#eeeeee",darkSecondary:"#EE7948",darkAccent:"#FFF7F1",darkRed:"#e06c75",darkOrange:"#EC5B2B",darkBlue:"#6ba1e6",darkCyan:"#56b6c2",darkYellow:"#e5c07b",darkPanelBg:"#2a1a1599",lightStep6:"#d4d4d4",lightStep11:"#8a8a8a",lightStep12:"#1a1a1a",lightSecondary:"#EE7948",lightAccent:"#c94d24",lightRed:"#d1383d",lightOrange:"#EC5B2B",lightBlue:"#0062d1",lightCyan:"#318795",lightYellow:"#b0851f",lightPanelBg:"#fff5f099"},theme:{primary:{dark:"darkOrange",light:"lightOrange"},secondary:{dark:"darkSecondary",light:"lightSecondary"},accent:{dark:"darkAccent",light:"lightAccent"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkOrange",light:"lightOrange"},success:{dark:"darkBlue",light:"lightBlue"},info:{dark:"darkCyan",light:"lightCyan"},text:{dark:"darkStep12",light:"lightStep12"},textMuted:{dark:"darkStep11",light:"lightStep11"},selectedListItemText:{dark:"#0a0a0a",light:"#ffffff"},background:{dark:"transparent",light:"transparent"},backgroundPanel:{dark:"transparent",light:"transparent"},backgroundElement:{dark:"darkPanelBg",light:"lightPanelBg"},backgroundMenu:{dark:"darkPanelBg",light:"lightPanelBg"},border:{dark:"darkOrange",light:"lightOrange"},borderActive:{dark:"darkSecondary",light:"lightAccent"},borderSubtle:{dark:"darkStep6",light:"lightStep6"},diffAdded:{dark:"darkBlue",light:"lightBlue"},diffRemoved:{dark:"#c53b53",light:"#c53b53"},diffContext:{dark:"#828bb8",light:"#7086b5"},diffHunkHeader:{dark:"#828bb8",light:"#7086b5"},diffHighlightAdded:{dark:"darkBlue",light:"lightBlue"},diffHighlightRemoved:{dark:"#e26a75",light:"#f52a65"},diffAddedBg:{dark:"transparent",light:"transparent"},diffRemovedBg:{dark:"transparent",light:"transparent"},diffContextBg:{dark:"transparent",light:"transparent"},diffLineNumber:"textMuted",diffAddedLineNumberBg:{dark:"transparent",light:"transparent"},diffRemovedLineNumberBg:{dark:"transparent",light:"transparent"},markdownText:{dark:"darkStep12",light:"lightStep12"},markdownHeading:{dark:"darkOrange",light:"lightOrange"},markdownLink:{dark:"darkOrange",light:"lightOrange"},markdownLinkText:{dark:"darkCyan",light:"lightCyan"},markdownCode:{dark:"darkBlue",light:"lightBlue"},markdownBlockQuote:{dark:"darkAccent",light:"lightYellow"},markdownEmph:{dark:"darkYellow",light:"lightYellow"},markdownStrong:{dark:"darkSecondary",light:"lightOrange"},markdownHorizontalRule:{dark:"darkStep11",light:"lightStep11"},markdownListItem:{dark:"darkOrange",light:"lightOrange"},markdownListEnumeration:{dark:"darkCyan",light:"lightCyan"},markdownImage:{dark:"darkOrange",light:"lightOrange"},markdownImageText:{dark:"darkCyan",light:"lightCyan"},markdownCodeBlock:{dark:"darkStep12",light:"lightStep12"},syntaxComment:{dark:"darkStep11",light:"lightStep11"},syntaxKeyword:{dark:"darkOrange",light:"lightOrange"},syntaxFunction:{dark:"darkSecondary",light:"lightAccent"},syntaxVariable:{dark:"darkRed",light:"lightRed"},syntaxString:{dark:"darkBlue",light:"lightBlue"},syntaxNumber:{dark:"darkAccent",light:"lightOrange"},syntaxType:{dark:"darkYellow",light:"lightYellow"},syntaxOperator:{dark:"darkCyan",light:"lightCyan"},syntaxPunctuation:{dark:"darkStep12",light:"lightStep12"}}};var pp={$schema:"https://opencode.ai/theme.json",defs:{darkBg:"#263238",darkBgAlt:"#1e272c",darkBgPanel:"#37474f",darkFg:"#eeffff",darkFgMuted:"#546e7a",darkRed:"#f07178",darkPink:"#f78c6c",darkOrange:"#ffcb6b",darkYellow:"#ffcb6b",darkGreen:"#c3e88d",darkCyan:"#89ddff",darkBlue:"#82aaff",darkPurple:"#c792ea",darkViolet:"#bb80b3",lightBg:"#fafafa",lightBgAlt:"#f5f5f5",lightBgPanel:"#e7e7e8",lightFg:"#263238",lightFgMuted:"#90a4ae",lightRed:"#e53935",lightPink:"#ec407a",lightOrange:"#f4511e",lightYellow:"#ffb300",lightGreen:"#91b859",lightCyan:"#39adb5",lightBlue:"#6182b8",lightPurple:"#7c4dff",lightViolet:"#945eb8"},theme:{primary:{dark:"darkBlue",light:"lightBlue"},secondary:{dark:"darkPurple",light:"lightPurple"},accent:{dark:"darkCyan",light:"lightCyan"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkYellow",light:"lightYellow"},success:{dark:"darkGreen",light:"lightGreen"},info:{dark:"darkOrange",light:"lightOrange"},text:{dark:"darkFg",light:"lightFg"},textMuted:{dark:"darkFgMuted",light:"lightFgMuted"},background:{dark:"darkBg",light:"lightBg"},backgroundPanel:{dark:"darkBgAlt",light:"lightBgAlt"},backgroundElement:{dark:"darkBgPanel",light:"lightBgPanel"},border:{dark:"#37474f",light:"#e0e0e0"},borderActive:{dark:"darkBlue",light:"lightBlue"},borderSubtle:{dark:"#1e272c",light:"#eeeeee"},diffAdded:{dark:"darkGreen",light:"lightGreen"},diffRemoved:{dark:"darkRed",light:"lightRed"},diffContext:{dark:"darkFgMuted",light:"lightFgMuted"},diffHunkHeader:{dark:"darkCyan",light:"lightCyan"},diffHighlightAdded:{dark:"darkGreen",light:"lightGreen"},diffHighlightRemoved:{dark:"darkRed",light:"lightRed"},diffAddedBg:{dark:"#2e3c2b",light:"#e8f5e9"},diffRemovedBg:{dark:"#3c2b2b",light:"#ffebee"},diffContextBg:{dark:"darkBgAlt",light:"lightBgAlt"},diffLineNumber:{dark:"#9aa2a6",light:"#6a6e70"},diffAddedLineNumberBg:{dark:"#2e3c2b",light:"#e8f5e9"},diffRemovedLineNumberBg:{dark:"#3c2b2b",light:"#ffebee"},markdownText:{dark:"darkFg",light:"lightFg"},markdownHeading:{dark:"darkBlue",light:"lightBlue"},markdownLink:{dark:"darkCyan",light:"lightCyan"},markdownLinkText:{dark:"darkPurple",light:"lightPurple"},markdownCode:{dark:"darkGreen",light:"lightGreen"},markdownBlockQuote:{dark:"darkFgMuted",light:"lightFgMuted"},markdownEmph:{dark:"darkYellow",light:"lightYellow"},markdownStrong:{dark:"darkOrange",light:"lightOrange"},markdownHorizontalRule:{dark:"#37474f",light:"#e0e0e0"},markdownListItem:{dark:"darkBlue",light:"lightBlue"},markdownListEnumeration:{dark:"darkCyan",light:"lightCyan"},markdownImage:{dark:"darkCyan",light:"lightCyan"},markdownImageText:{dark:"darkPurple",light:"lightPurple"},markdownCodeBlock:{dark:"darkFg",light:"lightFg"},syntaxComment:{dark:"darkFgMuted",light:"lightFgMuted"},syntaxKeyword:{dark:"darkPurple",light:"lightPurple"},syntaxFunction:{dark:"darkBlue",light:"lightBlue"},syntaxVariable:{dark:"darkFg",light:"lightFg"},syntaxString:{dark:"darkGreen",light:"lightGreen"},syntaxNumber:{dark:"darkOrange",light:"lightOrange"},syntaxType:{dark:"darkYellow",light:"lightYellow"},syntaxOperator:{dark:"darkCyan",light:"lightCyan"},syntaxPunctuation:{dark:"darkFg",light:"lightFg"}}};var Ap={$schema:"https://opencode.ai/theme.json",defs:{matrixInk0:"#0a0e0a",matrixInk1:"#0e130d",matrixInk2:"#141c12",matrixInk3:"#1e2a1b",rainGreen:"#2eff6a",rainGreenDim:"#1cc24b",rainGreenHi:"#62ff94",rainCyan:"#00efff",rainTeal:"#24f6d9",rainPurple:"#c770ff",rainOrange:"#ffa83d",alertRed:"#ff4b4b",alertYellow:"#e6ff57",alertBlue:"#30b3ff",rainGray:"#8ca391",lightBg:"#eef3ea",lightPaper:"#e4ebe1",lightInk1:"#dae1d7",lightText:"#203022",lightGray:"#748476"},theme:{primary:{dark:"rainGreen",light:"rainGreenDim"},secondary:{dark:"rainCyan",light:"rainTeal"},accent:{dark:"rainPurple",light:"rainPurple"},error:{dark:"alertRed",light:"alertRed"},warning:{dark:"alertYellow",light:"alertYellow"},success:{dark:"rainGreenHi",light:"rainGreenDim"},info:{dark:"alertBlue",light:"alertBlue"},text:{dark:"rainGreenHi",light:"lightText"},textMuted:{dark:"rainGray",light:"lightGray"},background:{dark:"matrixInk0",light:"lightBg"},backgroundPanel:{dark:"matrixInk1",light:"lightPaper"},backgroundElement:{dark:"matrixInk2",light:"lightInk1"},border:{dark:"matrixInk3",light:"lightGray"},borderActive:{dark:"rainGreen",light:"rainGreenDim"},borderSubtle:{dark:"matrixInk2",light:"lightInk1"},diffAdded:{dark:"rainGreenDim",light:"rainGreenDim"},diffRemoved:{dark:"alertRed",light:"alertRed"},diffContext:{dark:"rainGray",light:"lightGray"},diffHunkHeader:{dark:"alertBlue",light:"alertBlue"},diffHighlightAdded:{dark:"#77ffaf",light:"#5dac7e"},diffHighlightRemoved:{dark:"#ff7171",light:"#d53a3a"},diffAddedBg:{dark:"#132616",light:"#e0efde"},diffRemovedBg:{dark:"#261212",light:"#f9e5e5"},diffContextBg:{dark:"matrixInk1",light:"lightPaper"},diffLineNumber:{dark:"textMuted",light:"#556156"},diffAddedLineNumberBg:{dark:"#0f1b11",light:"#d6e7d2"},diffRemovedLineNumberBg:{dark:"#1b1414",light:"#f2d2d2"},markdownText:{dark:"rainGreenHi",light:"lightText"},markdownHeading:{dark:"rainCyan",light:"rainTeal"},markdownLink:{dark:"alertBlue",light:"alertBlue"},markdownLinkText:{dark:"rainTeal",light:"rainTeal"},markdownCode:{dark:"rainGreenDim",light:"rainGreenDim"},markdownBlockQuote:{dark:"rainGray",light:"lightGray"},markdownEmph:{dark:"rainOrange",light:"rainOrange"},markdownStrong:{dark:"alertYellow",light:"alertYellow"},markdownHorizontalRule:{dark:"rainGray",light:"lightGray"},markdownListItem:{dark:"alertBlue",light:"alertBlue"},markdownListEnumeration:{dark:"rainTeal",light:"rainTeal"},markdownImage:{dark:"alertBlue",light:"alertBlue"},markdownImageText:{dark:"rainTeal",light:"rainTeal"},markdownCodeBlock:{dark:"rainGreenHi",light:"lightText"},syntaxComment:{dark:"rainGray",light:"lightGray"},syntaxKeyword:{dark:"rainPurple",light:"rainPurple"},syntaxFunction:{dark:"alertBlue",light:"alertBlue"},syntaxVariable:{dark:"rainGreenHi",light:"lightText"},syntaxString:{dark:"rainGreenDim",light:"rainGreenDim"},syntaxNumber:{dark:"rainOrange",light:"rainOrange"},syntaxType:{dark:"alertYellow",light:"alertYellow"},syntaxOperator:{dark:"rainTeal",light:"rainTeal"},syntaxPunctuation:{dark:"rainGreenHi",light:"lightText"}}};var kp={$schema:"https://opencode.ai/theme.json",defs:{"purple-800":"#3442a6","purple-700":"#465bd1","purple-600":"#5266eb","purple-400":"#8da4f5","purple-300":"#a7b6f8","red-700":"#b0175f","red-600":"#d03275","red-400":"#fc92b4","green-700":"#036e43","green-600":"#188554","green-400":"#77c599","orange-700":"#a44200","orange-600":"#c45000","orange-400":"#fc9b6f","blue-600":"#007f95","blue-400":"#77becf","neutral-1000":"#10101a","neutral-950":"#171721","neutral-900":"#1e1e2a","neutral-800":"#272735","neutral-700":"#363644","neutral-600":"#535461","neutral-500":"#70707d","neutral-400":"#9d9da8","neutral-300":"#c3c3cc","neutral-200":"#dddde5","neutral-100":"#f4f5f9","neutral-050":"#fbfcfd","neutral-000":"#ffffff","neutral-150":"#ededf3","border-light":"#7073931a","border-light-subtle":"#7073930f","border-dark":"#b4b7c81f","border-dark-subtle":"#b4b7c814","diff-added-light":"#1885541a","diff-removed-light":"#d032751a","diff-added-dark":"#77c59933","diff-removed-dark":"#fc92b433"},theme:{primary:{light:"purple-600",dark:"purple-400"},secondary:{light:"purple-700",dark:"purple-300"},accent:{light:"purple-400",dark:"purple-400"},error:{light:"red-700",dark:"red-400"},warning:{light:"orange-700",dark:"orange-400"},success:{light:"green-700",dark:"green-400"},info:{light:"blue-600",dark:"blue-400"},text:{light:"neutral-700",dark:"neutral-200"},textMuted:{light:"neutral-500",dark:"neutral-400"},background:{light:"neutral-000",dark:"neutral-950"},backgroundPanel:{light:"neutral-050",dark:"neutral-1000"},backgroundElement:{light:"neutral-100",dark:"neutral-800"},border:{light:"border-light",dark:"border-dark"},borderActive:{light:"purple-600",dark:"purple-400"},borderSubtle:{light:"border-light-subtle",dark:"border-dark-subtle"},diffAdded:{light:"green-700",dark:"green-400"},diffRemoved:{light:"red-700",dark:"red-400"},diffContext:{light:"neutral-500",dark:"neutral-400"},diffHunkHeader:{light:"neutral-500",dark:"neutral-400"},diffHighlightAdded:{light:"green-700",dark:"green-400"},diffHighlightRemoved:{light:"red-700",dark:"red-400"},diffAddedBg:{light:"diff-added-light",dark:"diff-added-dark"},diffRemovedBg:{light:"diff-removed-light",dark:"diff-removed-dark"},diffContextBg:{light:"neutral-050",dark:"neutral-900"},diffLineNumber:{light:"neutral-600",dark:"neutral-300"},diffAddedLineNumberBg:{light:"diff-added-light",dark:"diff-added-dark"},diffRemovedLineNumberBg:{light:"diff-removed-light",dark:"diff-removed-dark"},markdownText:{light:"neutral-700",dark:"neutral-200"},markdownHeading:{light:"neutral-900",dark:"neutral-000"},markdownLink:{light:"purple-700",dark:"purple-400"},markdownLinkText:{light:"purple-600",dark:"purple-300"},markdownCode:{light:"green-700",dark:"green-400"},markdownBlockQuote:{light:"neutral-500",dark:"neutral-400"},markdownEmph:{light:"orange-700",dark:"orange-400"},markdownStrong:{light:"neutral-900",dark:"neutral-100"},markdownHorizontalRule:{light:"border-light",dark:"border-dark"},markdownListItem:{light:"neutral-900",dark:"neutral-000"},markdownListEnumeration:{light:"purple-600",dark:"purple-400"},markdownImage:{light:"purple-700",dark:"purple-400"},markdownImageText:{light:"purple-600",dark:"purple-300"},markdownCodeBlock:{light:"neutral-700",dark:"neutral-200"},syntaxComment:{light:"neutral-500",dark:"neutral-400"},syntaxKeyword:{light:"purple-700",dark:"purple-400"},syntaxFunction:{light:"purple-600",dark:"purple-400"},syntaxVariable:{light:"blue-600",dark:"blue-400"},syntaxString:{light:"green-700",dark:"green-400"},syntaxNumber:{light:"orange-700",dark:"orange-400"},syntaxType:{light:"blue-600",dark:"blue-400"},syntaxOperator:{light:"purple-700",dark:"purple-400"},syntaxPunctuation:{light:"neutral-700",dark:"neutral-200"}}};var xp={$schema:"https://opencode.ai/theme.json",defs:{background:"#272822",backgroundAlt:"#1e1f1c",backgroundPanel:"#3e3d32",foreground:"#f8f8f2",comment:"#75715e",red:"#f92672",orange:"#fd971f",lightOrange:"#e69f66",yellow:"#e6db74",green:"#a6e22e",cyan:"#66d9ef",blue:"#66d9ef",purple:"#ae81ff",pink:"#f92672"},theme:{primary:{dark:"cyan",light:"blue"},secondary:{dark:"purple",light:"purple"},accent:{dark:"green",light:"green"},error:{dark:"red",light:"red"},warning:{dark:"yellow",light:"orange"},success:{dark:"green",light:"green"},info:{dark:"orange",light:"orange"},text:{dark:"foreground",light:"#272822"},textMuted:{dark:"comment",light:"#75715e"},background:{dark:"#272822",light:"#fafafa"},backgroundPanel:{dark:"#1e1f1c",light:"#f0f0f0"},backgroundElement:{dark:"#3e3d32",light:"#e0e0e0"},border:{dark:"#3e3d32",light:"#d0d0d0"},borderActive:{dark:"cyan",light:"blue"},borderSubtle:{dark:"#1e1f1c",light:"#e8e8e8"},diffAdded:{dark:"green",light:"green"},diffRemoved:{dark:"red",light:"red"},diffContext:{dark:"comment",light:"#75715e"},diffHunkHeader:{dark:"comment",light:"#75715e"},diffHighlightAdded:{dark:"green",light:"green"},diffHighlightRemoved:{dark:"red",light:"red"},diffAddedBg:{dark:"#1a3a1a",light:"#e0ffe0"},diffRemovedBg:{dark:"#3a1a1a",light:"#ffe0e0"},diffContextBg:{dark:"#1e1f1c",light:"#f0f0f0"},diffLineNumber:{dark:"#9b9b95",light:"#686868"},diffAddedLineNumberBg:{dark:"#1a3a1a",light:"#e0ffe0"},diffRemovedLineNumberBg:{dark:"#3a1a1a",light:"#ffe0e0"},markdownText:{dark:"foreground",light:"#272822"},markdownHeading:{dark:"pink",light:"pink"},markdownLink:{dark:"cyan",light:"blue"},markdownLinkText:{dark:"purple",light:"purple"},markdownCode:{dark:"green",light:"green"},markdownBlockQuote:{dark:"comment",light:"#75715e"},markdownEmph:{dark:"yellow",light:"orange"},markdownStrong:{dark:"orange",light:"orange"},markdownHorizontalRule:{dark:"comment",light:"#75715e"},markdownListItem:{dark:"cyan",light:"blue"},markdownListEnumeration:{dark:"purple",light:"purple"},markdownImage:{dark:"cyan",light:"blue"},markdownImageText:{dark:"purple",light:"purple"},markdownCodeBlock:{dark:"foreground",light:"#272822"},syntaxComment:{dark:"comment",light:"#75715e"},syntaxKeyword:{dark:"pink",light:"pink"},syntaxFunction:{dark:"green",light:"green"},syntaxVariable:{dark:"foreground",light:"#272822"},syntaxString:{dark:"yellow",light:"orange"},syntaxNumber:{dark:"purple",light:"purple"},syntaxType:{dark:"cyan",light:"blue"},syntaxOperator:{dark:"pink",light:"pink"},syntaxPunctuation:{dark:"foreground",light:"#272822"}}};var bp={$schema:"https://opencode.ai/theme.json",defs:{nightOwlBg:"#011627",nightOwlFg:"#d6deeb",nightOwlBlue:"#82AAFF",nightOwlCyan:"#7fdbca",nightOwlGreen:"#c5e478",nightOwlYellow:"#ecc48d",nightOwlOrange:"#F78C6C",nightOwlRed:"#EF5350",nightOwlPink:"#ff5874",nightOwlPurple:"#c792ea",nightOwlMuted:"#5f7e97",nightOwlGray:"#637777",nightOwlLightGray:"#89a4bb",nightOwlPanel:"#0b253a",nightOwlElement:"#14334b"},theme:{primary:{dark:"nightOwlBlue",light:"nightOwlBlue"},secondary:{dark:"nightOwlCyan",light:"nightOwlCyan"},accent:{dark:"nightOwlPurple",light:"nightOwlPurple"},error:{dark:"nightOwlRed",light:"nightOwlRed"},warning:{dark:"nightOwlYellow",light:"nightOwlYellow"},success:{dark:"nightOwlGreen",light:"nightOwlGreen"},info:{dark:"nightOwlBlue",light:"nightOwlBlue"},text:{dark:"nightOwlFg",light:"nightOwlFg"},textMuted:{dark:"nightOwlMuted",light:"nightOwlMuted"},background:{dark:"nightOwlBg",light:"nightOwlBg"},backgroundPanel:{dark:"nightOwlPanel",light:"nightOwlPanel"},backgroundElement:{dark:"nightOwlElement",light:"nightOwlElement"},border:{dark:"nightOwlMuted",light:"nightOwlMuted"},borderActive:{dark:"nightOwlBlue",light:"nightOwlBlue"},borderSubtle:{dark:"nightOwlMuted",light:"nightOwlMuted"},diffAdded:{dark:"nightOwlGreen",light:"nightOwlGreen"},diffRemoved:{dark:"nightOwlRed",light:"nightOwlRed"},diffContext:{dark:"nightOwlMuted",light:"nightOwlMuted"},diffHunkHeader:{dark:"nightOwlMuted",light:"nightOwlMuted"},diffHighlightAdded:{dark:"nightOwlGreen",light:"nightOwlGreen"},diffHighlightRemoved:{dark:"nightOwlRed",light:"nightOwlRed"},diffAddedBg:{dark:"#0a2e1a",light:"#0a2e1a"},diffRemovedBg:{dark:"#2d1b1b",light:"#2d1b1b"},diffContextBg:{dark:"nightOwlPanel",light:"nightOwlPanel"},diffLineNumber:{dark:"#7791a6",light:"#7791a6"},diffAddedLineNumberBg:{dark:"#0a2e1a",light:"#0a2e1a"},diffRemovedLineNumberBg:{dark:"#2d1b1b",light:"#2d1b1b"},markdownText:{dark:"nightOwlFg",light:"nightOwlFg"},markdownHeading:{dark:"nightOwlBlue",light:"nightOwlBlue"},markdownLink:{dark:"nightOwlCyan",light:"nightOwlCyan"},markdownLinkText:{dark:"nightOwlBlue",light:"nightOwlBlue"},markdownCode:{dark:"nightOwlGreen",light:"nightOwlGreen"},markdownBlockQuote:{dark:"nightOwlMuted",light:"nightOwlMuted"},markdownEmph:{dark:"nightOwlPurple",light:"nightOwlPurple"},markdownStrong:{dark:"nightOwlYellow",light:"nightOwlYellow"},markdownHorizontalRule:{dark:"nightOwlMuted",light:"nightOwlMuted"},markdownListItem:{dark:"nightOwlBlue",light:"nightOwlBlue"},markdownListEnumeration:{dark:"nightOwlCyan",light:"nightOwlCyan"},markdownImage:{dark:"nightOwlCyan",light:"nightOwlCyan"},markdownImageText:{dark:"nightOwlBlue",light:"nightOwlBlue"},markdownCodeBlock:{dark:"nightOwlFg",light:"nightOwlFg"},syntaxComment:{dark:"nightOwlGray",light:"nightOwlGray"},syntaxKeyword:{dark:"nightOwlPurple",light:"nightOwlPurple"},syntaxFunction:{dark:"nightOwlBlue",light:"nightOwlBlue"},syntaxVariable:{dark:"nightOwlFg",light:"nightOwlFg"},syntaxString:{dark:"nightOwlYellow",light:"nightOwlYellow"},syntaxNumber:{dark:"nightOwlOrange",light:"nightOwlOrange"},syntaxType:{dark:"nightOwlGreen",light:"nightOwlGreen"},syntaxOperator:{dark:"nightOwlCyan",light:"nightOwlCyan"},syntaxPunctuation:{dark:"nightOwlFg",light:"nightOwlFg"}}};var yp={$schema:"https://opencode.ai/theme.json",defs:{nord0:"#2E3440",nord1:"#3B4252",nord2:"#434C5E",nord3:"#4C566A",nord4:"#D8DEE9",nord5:"#E5E9F0",nord6:"#ECEFF4",nord7:"#8FBCBB",nord8:"#88C0D0",nord9:"#81A1C1",nord10:"#5E81AC",nord11:"#BF616A",nord12:"#D08770",nord13:"#EBCB8B",nord14:"#A3BE8C",nord15:"#B48EAD"},theme:{primary:{dark:"nord8",light:"nord10"},secondary:{dark:"nord9",light:"nord9"},accent:{dark:"nord7",light:"nord7"},error:{dark:"nord11",light:"nord11"},warning:{dark:"nord12",light:"nord12"},success:{dark:"nord14",light:"nord14"},info:{dark:"nord8",light:"nord10"},text:{dark:"nord6",light:"nord0"},textMuted:{dark:"#8B95A7",light:"nord1"},background:{dark:"nord0",light:"nord6"},backgroundPanel:{dark:"nord1",light:"nord5"},backgroundElement:{dark:"nord2",light:"nord4"},border:{dark:"nord2",light:"nord3"},borderActive:{dark:"nord3",light:"nord2"},borderSubtle:{dark:"nord2",light:"nord3"},diffAdded:{dark:"nord14",light:"nord14"},diffRemoved:{dark:"nord11",light:"nord11"},diffContext:{dark:"#8B95A7",light:"nord3"},diffHunkHeader:{dark:"#8B95A7",light:"nord3"},diffHighlightAdded:{dark:"nord14",light:"nord14"},diffHighlightRemoved:{dark:"nord11",light:"nord11"},diffAddedBg:{dark:"#3B4252",light:"#E5E9F0"},diffRemovedBg:{dark:"#3B4252",light:"#E5E9F0"},diffContextBg:{dark:"nord1",light:"nord5"},diffLineNumber:{dark:"#a9aeb6",light:"textMuted"},diffAddedLineNumberBg:{dark:"#3B4252",light:"#E5E9F0"},diffRemovedLineNumberBg:{dark:"#3B4252",light:"#E5E9F0"},markdownText:{dark:"nord4",light:"nord0"},markdownHeading:{dark:"nord8",light:"nord10"},markdownLink:{dark:"nord9",light:"nord9"},markdownLinkText:{dark:"nord7",light:"nord7"},markdownCode:{dark:"nord14",light:"nord14"},markdownBlockQuote:{dark:"#8B95A7",light:"nord3"},markdownEmph:{dark:"nord12",light:"nord12"},markdownStrong:{dark:"nord13",light:"nord13"},markdownHorizontalRule:{dark:"#8B95A7",light:"nord3"},markdownListItem:{dark:"nord8",light:"nord10"},markdownListEnumeration:{dark:"nord7",light:"nord7"},markdownImage:{dark:"nord9",light:"nord9"},markdownImageText:{dark:"nord7",light:"nord7"},markdownCodeBlock:{dark:"nord4",light:"nord0"},syntaxComment:{dark:"#8B95A7",light:"nord3"},syntaxKeyword:{dark:"nord9",light:"nord9"},syntaxFunction:{dark:"nord8",light:"nord8"},syntaxVariable:{dark:"nord7",light:"nord7"},syntaxString:{dark:"nord14",light:"nord14"},syntaxNumber:{dark:"nord15",light:"nord15"},syntaxType:{dark:"nord7",light:"nord7"},syntaxOperator:{dark:"nord9",light:"nord9"},syntaxPunctuation:{dark:"nord4",light:"nord0"}}};var wp={$schema:"https://opencode.ai/theme.json",defs:{darkBg:"#282c34",darkBgAlt:"#21252b",darkBgPanel:"#353b45",darkFg:"#abb2bf",darkFgMuted:"#5c6370",darkPurple:"#c678dd",darkBlue:"#61afef",darkRed:"#e06c75",darkGreen:"#98c379",darkYellow:"#e5c07b",darkOrange:"#d19a66",darkCyan:"#56b6c2",lightBg:"#fafafa",lightBgAlt:"#f0f0f1",lightBgPanel:"#eaeaeb",lightFg:"#383a42",lightFgMuted:"#a0a1a7",lightPurple:"#a626a4",lightBlue:"#4078f2",lightRed:"#e45649",lightGreen:"#50a14f",lightYellow:"#c18401",lightOrange:"#986801",lightCyan:"#0184bc"},theme:{primary:{dark:"darkBlue",light:"lightBlue"},secondary:{dark:"darkPurple",light:"lightPurple"},accent:{dark:"darkCyan",light:"lightCyan"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkYellow",light:"lightYellow"},success:{dark:"darkGreen",light:"lightGreen"},info:{dark:"darkOrange",light:"lightOrange"},text:{dark:"darkFg",light:"lightFg"},textMuted:{dark:"darkFgMuted",light:"lightFgMuted"},background:{dark:"darkBg",light:"lightBg"},backgroundPanel:{dark:"darkBgAlt",light:"lightBgAlt"},backgroundElement:{dark:"darkBgPanel",light:"lightBgPanel"},border:{dark:"#393f4a",light:"#d1d1d2"},borderActive:{dark:"darkBlue",light:"lightBlue"},borderSubtle:{dark:"#2c313a",light:"#e0e0e1"},diffAdded:{dark:"darkGreen",light:"lightGreen"},diffRemoved:{dark:"darkRed",light:"lightRed"},diffContext:{dark:"darkFgMuted",light:"lightFgMuted"},diffHunkHeader:{dark:"darkCyan",light:"lightCyan"},diffHighlightAdded:{dark:"#aad482",light:"#489447"},diffHighlightRemoved:{dark:"#e8828b",light:"#d65145"},diffAddedBg:{dark:"#2c382b",light:"#eafbe9"},diffRemovedBg:{dark:"#3a2d2f",light:"#fce9e8"},diffContextBg:{dark:"darkBgAlt",light:"lightBgAlt"},diffLineNumber:{dark:"#9398a2",light:"#666666"},diffAddedLineNumberBg:{dark:"#283427",light:"#e1f3df"},diffRemovedLineNumberBg:{dark:"#36292b",light:"#f5e2e1"},markdownText:{dark:"darkFg",light:"lightFg"},markdownHeading:{dark:"darkPurple",light:"lightPurple"},markdownLink:{dark:"darkBlue",light:"lightBlue"},markdownLinkText:{dark:"darkCyan",light:"lightCyan"},markdownCode:{dark:"darkGreen",light:"lightGreen"},markdownBlockQuote:{dark:"darkFgMuted",light:"lightFgMuted"},markdownEmph:{dark:"darkYellow",light:"lightYellow"},markdownStrong:{dark:"darkOrange",light:"lightOrange"},markdownHorizontalRule:{dark:"darkFgMuted",light:"lightFgMuted"},markdownListItem:{dark:"darkBlue",light:"lightBlue"},markdownListEnumeration:{dark:"darkCyan",light:"lightCyan"},markdownImage:{dark:"darkBlue",light:"lightBlue"},markdownImageText:{dark:"darkCyan",light:"lightCyan"},markdownCodeBlock:{dark:"darkFg",light:"lightFg"},syntaxComment:{dark:"darkFgMuted",light:"lightFgMuted"},syntaxKeyword:{dark:"darkPurple",light:"lightPurple"},syntaxFunction:{dark:"darkBlue",light:"lightBlue"},syntaxVariable:{dark:"darkRed",light:"lightRed"},syntaxString:{dark:"darkGreen",light:"lightGreen"},syntaxNumber:{dark:"darkOrange",light:"lightOrange"},syntaxType:{dark:"darkYellow",light:"lightYellow"},syntaxOperator:{dark:"darkCyan",light:"lightCyan"},syntaxPunctuation:{dark:"darkFg",light:"lightFg"}}};var Sp={$schema:"https://opencode.ai/theme.json",defs:{darkStep1:"#0a0a0a",darkStep2:"#141414",darkStep3:"#1e1e1e",darkStep4:"#282828",darkStep5:"#323232",darkStep6:"#3c3c3c",darkStep7:"#484848",darkStep8:"#606060",darkStep9:"#fab283",darkStep10:"#ffc09f",darkStep11:"#808080",darkStep12:"#eeeeee",darkSecondary:"#5c9cf5",darkAccent:"#9d7cd8",darkRed:"#e06c75",darkOrange:"#f5a742",darkGreen:"#7fd88f",darkCyan:"#56b6c2",darkYellow:"#e5c07b",lightStep1:"#ffffff",lightStep2:"#fafafa",lightStep3:"#f5f5f5",lightStep4:"#ebebeb",lightStep5:"#e1e1e1",lightStep6:"#d4d4d4",lightStep7:"#b8b8b8",lightStep8:"#a0a0a0",lightStep9:"#3b7dd8",lightStep10:"#2968c3",lightStep11:"#8a8a8a",lightStep12:"#1a1a1a",lightSecondary:"#7b5bb6",lightAccent:"#d68c27",lightRed:"#d1383d",lightOrange:"#d68c27",lightGreen:"#3d9a57",lightCyan:"#318795",lightYellow:"#b0851f"},theme:{primary:{dark:"darkStep9",light:"lightStep9"},secondary:{dark:"darkSecondary",light:"lightSecondary"},accent:{dark:"darkAccent",light:"lightAccent"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkOrange",light:"lightOrange"},success:{dark:"darkGreen",light:"lightGreen"},info:{dark:"darkCyan",light:"lightCyan"},text:{dark:"darkStep12",light:"lightStep12"},textMuted:{dark:"darkStep11",light:"lightStep11"},background:{dark:"darkStep1",light:"lightStep1"},backgroundPanel:{dark:"darkStep2",light:"lightStep2"},backgroundElement:{dark:"darkStep3",light:"lightStep3"},border:{dark:"darkStep7",light:"lightStep7"},borderActive:{dark:"darkStep8",light:"lightStep8"},borderSubtle:{dark:"darkStep6",light:"lightStep6"},diffAdded:{dark:"#4fd6be",light:"#1e725c"},diffRemoved:{dark:"#c53b53",light:"#c53b53"},diffContext:{dark:"#828bb8",light:"#7086b5"},diffHunkHeader:{dark:"#828bb8",light:"#7086b5"},diffHighlightAdded:{dark:"#b8db87",light:"#4db380"},diffHighlightRemoved:{dark:"#e26a75",light:"#f52a65"},diffAddedBg:{dark:"#20303b",light:"#d5e5d5"},diffRemovedBg:{dark:"#37222c",light:"#f7d8db"},diffContextBg:{dark:"darkStep2",light:"lightStep2"},diffLineNumber:{dark:"#8f8f8f",light:"#595959"},diffAddedLineNumberBg:{dark:"#1b2b34",light:"#c5d5c5"},diffRemovedLineNumberBg:{dark:"#2d1f26",light:"#e7c8cb"},markdownText:{dark:"darkStep12",light:"lightStep12"},markdownHeading:{dark:"darkAccent",light:"lightAccent"},markdownLink:{dark:"darkStep9",light:"lightStep9"},markdownLinkText:{dark:"darkCyan",light:"lightCyan"},markdownCode:{dark:"darkGreen",light:"lightGreen"},markdownBlockQuote:{dark:"darkYellow",light:"lightYellow"},markdownEmph:{dark:"darkYellow",light:"lightYellow"},markdownStrong:{dark:"darkOrange",light:"lightOrange"},markdownHorizontalRule:{dark:"darkStep11",light:"lightStep11"},markdownListItem:{dark:"darkStep9",light:"lightStep9"},markdownListEnumeration:{dark:"darkCyan",light:"lightCyan"},markdownImage:{dark:"darkStep9",light:"lightStep9"},markdownImageText:{dark:"darkCyan",light:"lightCyan"},markdownCodeBlock:{dark:"darkStep12",light:"lightStep12"},syntaxComment:{dark:"darkStep11",light:"lightStep11"},syntaxKeyword:{dark:"darkAccent",light:"lightAccent"},syntaxFunction:{dark:"darkStep9",light:"lightStep9"},syntaxVariable:{dark:"darkRed",light:"lightRed"},syntaxString:{dark:"darkGreen",light:"lightGreen"},syntaxNumber:{dark:"darkOrange",light:"lightOrange"},syntaxType:{dark:"darkYellow",light:"lightYellow"},syntaxOperator:{dark:"darkCyan",light:"lightCyan"},syntaxPunctuation:{dark:"darkStep12",light:"lightStep12"}}};var Cp={$schema:"https://opencode.ai/theme.json",defs:{darkStep1:"#0a0a0a",darkStep2:"#141414",darkStep3:"#1e1e1e",darkStep4:"#282828",darkStep5:"#323232",darkStep6:"#3c3c3c",darkStep7:"#484848",darkStep8:"#606060",darkStep9:"#EC5B2B",darkStep10:"#EE7948",darkStep11:"#808080",darkStep12:"#eeeeee",darkSecondary:"#EE7948",darkAccent:"#FFF7F1",darkRed:"#e06c75",darkOrange:"#EC5B2B",darkBlue:"#6ba1e6",darkCyan:"#56b6c2",darkYellow:"#e5c07b",lightStep1:"#ffffff",lightStep2:"#FFF7F1",lightStep3:"#f5f0eb",lightStep4:"#ebebeb",lightStep5:"#e1e1e1",lightStep6:"#d4d4d4",lightStep7:"#b8b8b8",lightStep8:"#a0a0a0",lightStep9:"#EC5B2B",lightStep10:"#c94d24",lightStep11:"#8a8a8a",lightStep12:"#1a1a1a",lightSecondary:"#EE7948",lightAccent:"#c94d24",lightRed:"#d1383d",lightOrange:"#EC5B2B",lightBlue:"#0062d1",lightCyan:"#318795",lightYellow:"#b0851f"},theme:{primary:{dark:"darkStep9",light:"lightStep9"},secondary:{dark:"darkSecondary",light:"lightSecondary"},accent:{dark:"darkAccent",light:"lightAccent"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkOrange",light:"lightOrange"},success:{dark:"darkBlue",light:"lightBlue"},info:{dark:"darkCyan",light:"lightCyan"},text:{dark:"darkStep12",light:"lightStep12"},textMuted:{dark:"darkStep11",light:"lightStep11"},selectedListItemText:{dark:"#0a0a0a",light:"#ffffff"},background:{dark:"darkStep1",light:"lightStep1"},backgroundPanel:{dark:"darkStep2",light:"lightStep2"},backgroundElement:{dark:"darkStep3",light:"lightStep3"},border:{dark:"#EC5B2B",light:"#EC5B2B"},borderActive:{dark:"#EE7948",light:"#c94d24"},borderSubtle:{dark:"darkStep6",light:"lightStep6"},diffAdded:{dark:"#6ba1e6",light:"#0062d1"},diffRemoved:{dark:"#c53b53",light:"#c53b53"},diffContext:{dark:"#828bb8",light:"#7086b5"},diffHunkHeader:{dark:"#828bb8",light:"#7086b5"},diffHighlightAdded:{dark:"#6ba1e6",light:"#0062d1"},diffHighlightRemoved:{dark:"#e26a75",light:"#f52a65"},diffAddedBg:{dark:"#1a2a3d",light:"#e0edfa"},diffRemovedBg:{dark:"#37222c",light:"#f7d8db"},diffContextBg:{dark:"darkStep2",light:"lightStep2"},diffLineNumber:{dark:"diffContext",light:"#595755"},diffAddedLineNumberBg:{dark:"#162535",light:"#d0e5f5"},diffRemovedLineNumberBg:{dark:"#2d1f26",light:"#e7c8cb"},markdownText:{dark:"darkStep12",light:"lightStep12"},markdownHeading:{dark:"#EC5B2B",light:"#EC5B2B"},markdownLink:{dark:"darkStep9",light:"lightStep9"},markdownLinkText:{dark:"darkCyan",light:"lightCyan"},markdownCode:{dark:"darkBlue",light:"lightBlue"},markdownBlockQuote:{dark:"#FFF7F1",light:"lightYellow"},markdownEmph:{dark:"darkYellow",light:"lightYellow"},markdownStrong:{dark:"#EE7948",light:"#EC5B2B"},markdownHorizontalRule:{dark:"darkStep11",light:"lightStep11"},markdownListItem:{dark:"darkStep9",light:"lightStep9"},markdownListEnumeration:{dark:"darkCyan",light:"lightCyan"},markdownImage:{dark:"darkStep9",light:"lightStep9"},markdownImageText:{dark:"darkCyan",light:"lightCyan"},markdownCodeBlock:{dark:"darkStep12",light:"lightStep12"},syntaxComment:{dark:"darkStep11",light:"lightStep11"},syntaxKeyword:{dark:"#EC5B2B",light:"#EC5B2B"},syntaxFunction:{dark:"#EE7948",light:"#c94d24"},syntaxVariable:{dark:"darkRed",light:"lightRed"},syntaxString:{dark:"darkBlue",light:"lightBlue"},syntaxNumber:{dark:"#FFF7F1",light:"#EC5B2B"},syntaxType:{dark:"darkYellow",light:"lightYellow"},syntaxOperator:{dark:"darkCyan",light:"lightCyan"},syntaxPunctuation:{dark:"darkStep12",light:"lightStep12"}}};var vp={$schema:"https://opencode.ai/theme.json",defs:{darkBg0:"#111c18",darkBg1:"#1a2520",darkBg2:"#23372B",darkBg3:"#3d4a44",darkFg0:"#C1C497",darkFg1:"#9aa88a",darkGray:"#53685B",darkRed:"#FF5345",darkGreen:"#549e6a",darkYellow:"#459451",darkBlue:"#509475",darkMagenta:"#D2689C",darkCyan:"#2DD5B7",darkWhite:"#F6F5DD",darkRedBright:"#db9f9c",darkGreenBright:"#63b07a",darkYellowBright:"#E5C736",darkBlueBright:"#ACD4CF",darkMagentaBright:"#75bbb3",darkCyanBright:"#8CD3CB",lightBg0:"#F6F5DD",lightBg1:"#E8E7CC",lightBg2:"#D5D4B8",lightBg3:"#A8A78C",lightFg0:"#111c18",lightFg1:"#1a2520",lightGray:"#53685B",lightRed:"#c7392d",lightGreen:"#3d7a52",lightYellow:"#b5a020",lightBlue:"#3d7560",lightMagenta:"#a8527a",lightCyan:"#1faa90"},theme:{primary:{dark:"darkCyan",light:"lightCyan"},secondary:{dark:"darkMagenta",light:"lightMagenta"},accent:{dark:"darkGreen",light:"lightGreen"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkYellowBright",light:"lightYellow"},success:{dark:"darkGreen",light:"lightGreen"},info:{dark:"darkCyan",light:"lightCyan"},text:{dark:"darkFg0",light:"lightFg0"},textMuted:{dark:"darkGray",light:"lightGray"},background:{dark:"darkBg0",light:"lightBg0"},backgroundPanel:{dark:"darkBg1",light:"lightBg1"},backgroundElement:{dark:"darkBg2",light:"lightBg2"},border:{dark:"darkBg3",light:"lightBg3"},borderActive:{dark:"darkCyan",light:"lightCyan"},borderSubtle:{dark:"darkBg2",light:"lightBg2"},diffAdded:{dark:"darkGreen",light:"lightGreen"},diffRemoved:{dark:"darkRed",light:"lightRed"},diffContext:{dark:"darkGray",light:"lightGray"},diffHunkHeader:{dark:"darkCyan",light:"lightCyan"},diffHighlightAdded:{dark:"darkGreenBright",light:"lightGreen"},diffHighlightRemoved:{dark:"darkRedBright",light:"lightRed"},diffAddedBg:{dark:"#15241c",light:"#e0eee5"},diffRemovedBg:{dark:"#241515",light:"#eee0e0"},diffContextBg:{dark:"darkBg1",light:"lightBg1"},diffLineNumber:{dark:"#828b87",light:"#5f5e4f"},diffAddedLineNumberBg:{dark:"#121f18",light:"#d5e5da"},diffRemovedLineNumberBg:{dark:"#1f1212",light:"#e5d5d5"},markdownText:{dark:"darkFg0",light:"lightFg0"},markdownHeading:{dark:"darkCyan",light:"lightCyan"},markdownLink:{dark:"darkCyanBright",light:"lightCyan"},markdownLinkText:{dark:"darkGreen",light:"lightGreen"},markdownCode:{dark:"darkGreenBright",light:"lightGreen"},markdownBlockQuote:{dark:"darkGray",light:"lightGray"},markdownEmph:{dark:"darkMagenta",light:"lightMagenta"},markdownStrong:{dark:"darkFg0",light:"lightFg0"},markdownHorizontalRule:{dark:"darkGray",light:"lightGray"},markdownListItem:{dark:"darkCyan",light:"lightCyan"},markdownListEnumeration:{dark:"darkCyanBright",light:"lightCyan"},markdownImage:{dark:"darkCyanBright",light:"lightCyan"},markdownImageText:{dark:"darkGreen",light:"lightGreen"},markdownCodeBlock:{dark:"darkFg0",light:"lightFg0"},syntaxComment:{dark:"darkGray",light:"lightGray"},syntaxKeyword:{dark:"darkCyan",light:"lightCyan"},syntaxFunction:{dark:"darkBlue",light:"lightBlue"},syntaxVariable:{dark:"darkFg0",light:"lightFg0"},syntaxString:{dark:"darkGreenBright",light:"lightGreen"},syntaxNumber:{dark:"darkMagenta",light:"lightMagenta"},syntaxType:{dark:"darkGreen",light:"lightGreen"},syntaxOperator:{dark:"darkYellow",light:"lightYellow"},syntaxPunctuation:{dark:"darkFg0",light:"lightFg0"}}};var Ip={$schema:"https://opencode.ai/theme.json",defs:{background:"#292d3e",backgroundAlt:"#1e2132",backgroundPanel:"#32364a",foreground:"#a6accd",foregroundBright:"#bfc7d5",comment:"#676e95",red:"#f07178",orange:"#f78c6c",yellow:"#ffcb6b",green:"#c3e88d",cyan:"#89ddff",blue:"#82aaff",purple:"#c792ea",magenta:"#ff5370",pink:"#f07178"},theme:{primary:{dark:"blue",light:"#4976eb"},secondary:{dark:"purple",light:"#a854f2"},accent:{dark:"cyan",light:"#00acc1"},error:{dark:"red",light:"#e53935"},warning:{dark:"yellow",light:"#ffb300"},success:{dark:"green",light:"#91b859"},info:{dark:"orange",light:"#f4511e"},text:{dark:"foreground",light:"#292d3e"},textMuted:{dark:"comment",light:"#8796b0"},background:{dark:"#292d3e",light:"#fafafa"},backgroundPanel:{dark:"#1e2132",light:"#f5f5f5"},backgroundElement:{dark:"#32364a",light:"#e7e7e8"},border:{dark:"#32364a",light:"#e0e0e0"},borderActive:{dark:"blue",light:"#4976eb"},borderSubtle:{dark:"#1e2132",light:"#eeeeee"},diffAdded:{dark:"green",light:"#91b859"},diffRemoved:{dark:"red",light:"#e53935"},diffContext:{dark:"comment",light:"#8796b0"},diffHunkHeader:{dark:"cyan",light:"#00acc1"},diffHighlightAdded:{dark:"green",light:"#91b859"},diffHighlightRemoved:{dark:"red",light:"#e53935"},diffAddedBg:{dark:"#2e3c2b",light:"#e8f5e9"},diffRemovedBg:{dark:"#3c2b2b",light:"#ffebee"},diffContextBg:{dark:"#1e2132",light:"#f5f5f5"},diffLineNumber:{dark:"#a0a2af",light:"#6a6e70"},diffAddedLineNumberBg:{dark:"#2e3c2b",light:"#e8f5e9"},diffRemovedLineNumberBg:{dark:"#3c2b2b",light:"#ffebee"},markdownText:{dark:"foreground",light:"#292d3e"},markdownHeading:{dark:"purple",light:"#a854f2"},markdownLink:{dark:"blue",light:"#4976eb"},markdownLinkText:{dark:"cyan",light:"#00acc1"},markdownCode:{dark:"green",light:"#91b859"},markdownBlockQuote:{dark:"comment",light:"#8796b0"},markdownEmph:{dark:"yellow",light:"#ffb300"},markdownStrong:{dark:"orange",light:"#f4511e"},markdownHorizontalRule:{dark:"comment",light:"#8796b0"},markdownListItem:{dark:"blue",light:"#4976eb"},markdownListEnumeration:{dark:"cyan",light:"#00acc1"},markdownImage:{dark:"blue",light:"#4976eb"},markdownImageText:{dark:"cyan",light:"#00acc1"},markdownCodeBlock:{dark:"foreground",light:"#292d3e"},syntaxComment:{dark:"comment",light:"#8796b0"},syntaxKeyword:{dark:"purple",light:"#a854f2"},syntaxFunction:{dark:"blue",light:"#4976eb"},syntaxVariable:{dark:"foreground",light:"#292d3e"},syntaxString:{dark:"green",light:"#91b859"},syntaxNumber:{dark:"orange",light:"#f4511e"},syntaxType:{dark:"yellow",light:"#ffb300"},syntaxOperator:{dark:"cyan",light:"#00acc1"},syntaxPunctuation:{dark:"foreground",light:"#292d3e"}}};var Ep={$schema:"https://opencode.ai/theme.json",defs:{base:"#191724",surface:"#1f1d2e",overlay:"#26233a",muted:"#6e6a86",subtle:"#908caa",text:"#e0def4",love:"#eb6f92",gold:"#f6c177",rose:"#ebbcba",pine:"#31748f",foam:"#9ccfd8",iris:"#c4a7e7",highlightLow:"#21202e",highlightMed:"#403d52",highlightHigh:"#524f67",moonBase:"#232136",moonSurface:"#2a273f",moonOverlay:"#393552",moonMuted:"#6e6a86",moonSubtle:"#908caa",moonText:"#e0def4",dawnBase:"#faf4ed",dawnSurface:"#fffaf3",dawnOverlay:"#f2e9e1",dawnMuted:"#9893a5",dawnSubtle:"#797593",dawnText:"#575279"},theme:{primary:{dark:"foam",light:"pine"},secondary:{dark:"iris",light:"#907aa9"},accent:{dark:"rose",light:"#d7827e"},error:{dark:"love",light:"#b4637a"},warning:{dark:"gold",light:"#ea9d34"},success:{dark:"pine",light:"#286983"},info:{dark:"foam",light:"#56949f"},text:{dark:"#e0def4",light:"#575279"},textMuted:{dark:"muted",light:"dawnMuted"},background:{dark:"base",light:"dawnBase"},backgroundPanel:{dark:"surface",light:"dawnSurface"},backgroundElement:{dark:"overlay",light:"dawnOverlay"},border:{dark:"highlightMed",light:"#dfdad9"},borderActive:{dark:"foam",light:"pine"},borderSubtle:{dark:"highlightLow",light:"#f4ede8"},diffAdded:{dark:"pine",light:"#286983"},diffRemoved:{dark:"love",light:"#b4637a"},diffContext:{dark:"muted",light:"dawnMuted"},diffHunkHeader:{dark:"iris",light:"#907aa9"},diffHighlightAdded:{dark:"pine",light:"#286983"},diffHighlightRemoved:{dark:"love",light:"#b4637a"},diffAddedBg:{dark:"#1f2d3a",light:"#e5f2f3"},diffRemovedBg:{dark:"#3a1f2d",light:"#fce5e8"},diffContextBg:{dark:"surface",light:"dawnSurface"},diffLineNumber:{dark:"#9491a6",light:"#6c6875"},diffAddedLineNumberBg:{dark:"#1f2d3a",light:"#e5f2f3"},diffRemovedLineNumberBg:{dark:"#3a1f2d",light:"#fce5e8"},markdownText:{dark:"#e0def4",light:"#575279"},markdownHeading:{dark:"iris",light:"#907aa9"},markdownLink:{dark:"foam",light:"pine"},markdownLinkText:{dark:"rose",light:"#d7827e"},markdownCode:{dark:"pine",light:"#286983"},markdownBlockQuote:{dark:"muted",light:"dawnMuted"},markdownEmph:{dark:"gold",light:"#ea9d34"},markdownStrong:{dark:"love",light:"#b4637a"},markdownHorizontalRule:{dark:"highlightMed",light:"#dfdad9"},markdownListItem:{dark:"foam",light:"pine"},markdownListEnumeration:{dark:"rose",light:"#d7827e"},markdownImage:{dark:"foam",light:"pine"},markdownImageText:{dark:"rose",light:"#d7827e"},markdownCodeBlock:{dark:"#e0def4",light:"#575279"},syntaxComment:{dark:"muted",light:"dawnMuted"},syntaxKeyword:{dark:"pine",light:"#286983"},syntaxFunction:{dark:"rose",light:"#d7827e"},syntaxVariable:{dark:"#e0def4",light:"#575279"},syntaxString:{dark:"gold",light:"#ea9d34"},syntaxNumber:{dark:"iris",light:"#907aa9"},syntaxType:{dark:"foam",light:"#56949f"},syntaxOperator:{dark:"subtle",light:"dawnSubtle"},syntaxPunctuation:{dark:"subtle",light:"dawnSubtle"}}};var Tp={$schema:"https://opencode.ai/theme.json",defs:{base03:"#002b36",base02:"#073642",base01:"#586e75",base00:"#657b83",base0:"#839496",base1:"#93a1a1",base2:"#eee8d5",base3:"#fdf6e3",yellow:"#b58900",orange:"#cb4b16",red:"#dc322f",magenta:"#d33682",violet:"#6c71c4",blue:"#268bd2",cyan:"#2aa198",green:"#859900"},theme:{primary:{dark:"blue",light:"blue"},secondary:{dark:"violet",light:"violet"},accent:{dark:"cyan",light:"cyan"},error:{dark:"red",light:"red"},warning:{dark:"yellow",light:"yellow"},success:{dark:"green",light:"green"},info:{dark:"orange",light:"orange"},text:{dark:"base0",light:"base00"},textMuted:{dark:"base01",light:"base1"},background:{dark:"base03",light:"base3"},backgroundPanel:{dark:"base02",light:"base2"},backgroundElement:{dark:"#0e4350",light:"#dbd5c2"},border:{dark:"base02",light:"base2"},borderActive:{dark:"base01",light:"base1"},borderSubtle:{dark:"#073642",light:"#eee8d5"},diffAdded:{dark:"green",light:"green"},diffRemoved:{dark:"red",light:"red"},diffContext:{dark:"base01",light:"base1"},diffHunkHeader:{dark:"base01",light:"base1"},diffHighlightAdded:{dark:"green",light:"green"},diffHighlightRemoved:{dark:"red",light:"red"},diffAddedBg:{dark:"#073642",light:"#eee8d5"},diffRemovedBg:{dark:"#073642",light:"#eee8d5"},diffContextBg:{dark:"base02",light:"base2"},diffLineNumber:{dark:"#8b9b9f",light:"#5f6969"},diffAddedLineNumberBg:{dark:"#073642",light:"#eee8d5"},diffRemovedLineNumberBg:{dark:"#073642",light:"#eee8d5"},markdownText:{dark:"base0",light:"base00"},markdownHeading:{dark:"blue",light:"blue"},markdownLink:{dark:"cyan",light:"cyan"},markdownLinkText:{dark:"violet",light:"violet"},markdownCode:{dark:"green",light:"green"},markdownBlockQuote:{dark:"base01",light:"base1"},markdownEmph:{dark:"yellow",light:"yellow"},markdownStrong:{dark:"orange",light:"orange"},markdownHorizontalRule:{dark:"base01",light:"base1"},markdownListItem:{dark:"blue",light:"blue"},markdownListEnumeration:{dark:"cyan",light:"cyan"},markdownImage:{dark:"cyan",light:"cyan"},markdownImageText:{dark:"violet",light:"violet"},markdownCodeBlock:{dark:"base0",light:"base00"},syntaxComment:{dark:"base01",light:"base1"},syntaxKeyword:{dark:"green",light:"green"},syntaxFunction:{dark:"blue",light:"blue"},syntaxVariable:{dark:"cyan",light:"cyan"},syntaxString:{dark:"cyan",light:"cyan"},syntaxNumber:{dark:"magenta",light:"magenta"},syntaxType:{dark:"yellow",light:"yellow"},syntaxOperator:{dark:"green",light:"green"},syntaxPunctuation:{dark:"base0",light:"base00"}}};var Bp={$schema:"https://opencode.ai/theme.json",defs:{background:"#262335",backgroundAlt:"#1e1a29",backgroundPanel:"#2a2139",foreground:"#ffffff",foregroundMuted:"#848bbd",pink:"#ff7edb",pinkBright:"#ff92df",cyan:"#36f9f6",cyanBright:"#72f1f8",yellow:"#fede5d",yellowBright:"#fff95d",orange:"#ff8b39",orangeBright:"#ff9f43",purple:"#b084eb",purpleBright:"#c792ea",red:"#fe4450",redBright:"#ff5e5b",green:"#72f1b8",greenBright:"#97f1d8"},theme:{primary:{dark:"cyan",light:"#00bcd4"},secondary:{dark:"pink",light:"#e91e63"},accent:{dark:"purple",light:"#9c27b0"},error:{dark:"red",light:"#f44336"},warning:{dark:"yellow",light:"#ff9800"},success:{dark:"green",light:"#4caf50"},info:{dark:"orange",light:"#ff5722"},text:{dark:"foreground",light:"#262335"},textMuted:{dark:"foregroundMuted",light:"#5c5c8a"},background:{dark:"#262335",light:"#fafafa"},backgroundPanel:{dark:"#1e1a29",light:"#f5f5f5"},backgroundElement:{dark:"#2a2139",light:"#eeeeee"},border:{dark:"#495495",light:"#e0e0e0"},borderActive:{dark:"cyan",light:"#00bcd4"},borderSubtle:{dark:"#241b2f",light:"#f0f0f0"},diffAdded:{dark:"green",light:"#4caf50"},diffRemoved:{dark:"red",light:"#f44336"},diffContext:{dark:"foregroundMuted",light:"#5c5c8a"},diffHunkHeader:{dark:"purple",light:"#9c27b0"},diffHighlightAdded:{dark:"greenBright",light:"#4caf50"},diffHighlightRemoved:{dark:"redBright",light:"#f44336"},diffAddedBg:{dark:"#1a3a2a",light:"#e8f5e9"},diffRemovedBg:{dark:"#3a1a2a",light:"#ffebee"},diffContextBg:{dark:"#1e1a29",light:"#f5f5f5"},diffLineNumber:{dark:"#959bc1",light:"textMuted"},diffAddedLineNumberBg:{dark:"#1a3a2a",light:"#e8f5e9"},diffRemovedLineNumberBg:{dark:"#3a1a2a",light:"#ffebee"},markdownText:{dark:"foreground",light:"#262335"},markdownHeading:{dark:"pink",light:"#e91e63"},markdownLink:{dark:"cyan",light:"#00bcd4"},markdownLinkText:{dark:"purple",light:"#9c27b0"},markdownCode:{dark:"green",light:"#4caf50"},markdownBlockQuote:{dark:"foregroundMuted",light:"#5c5c8a"},markdownEmph:{dark:"yellow",light:"#ff9800"},markdownStrong:{dark:"orange",light:"#ff5722"},markdownHorizontalRule:{dark:"#495495",light:"#e0e0e0"},markdownListItem:{dark:"cyan",light:"#00bcd4"},markdownListEnumeration:{dark:"purple",light:"#9c27b0"},markdownImage:{dark:"cyan",light:"#00bcd4"},markdownImageText:{dark:"purple",light:"#9c27b0"},markdownCodeBlock:{dark:"foreground",light:"#262335"},syntaxComment:{dark:"foregroundMuted",light:"#5c5c8a"},syntaxKeyword:{dark:"pink",light:"#e91e63"},syntaxFunction:{dark:"orange",light:"#ff5722"},syntaxVariable:{dark:"foreground",light:"#262335"},syntaxString:{dark:"yellow",light:"#ff9800"},syntaxNumber:{dark:"purple",light:"#9c27b0"},syntaxType:{dark:"cyan",light:"#00bcd4"},syntaxOperator:{dark:"pink",light:"#e91e63"},syntaxPunctuation:{dark:"foreground",light:"#262335"}}};var Rp={$schema:"https://opencode.ai/theme.json",defs:{darkStep1:"#1a1b26",darkStep2:"#1e2030",darkStep3:"#222436",darkStep4:"#292e42",darkStep5:"#3b4261",darkStep6:"#545c7e",darkStep7:"#737aa2",darkStep8:"#9099b2",darkStep9:"#82aaff",darkStep10:"#89b4fa",darkStep11:"#828bb8",darkStep12:"#c8d3f5",darkRed:"#ff757f",darkOrange:"#ff966c",darkYellow:"#ffc777",darkGreen:"#c3e88d",darkCyan:"#86e1fc",darkPurple:"#c099ff",lightStep1:"#e1e2e7",lightStep2:"#d5d6db",lightStep3:"#c8c9ce",lightStep4:"#b9bac1",lightStep5:"#a8aecb",lightStep6:"#9699a8",lightStep7:"#737a8c",lightStep8:"#5a607d",lightStep9:"#2e7de9",lightStep10:"#1a6ce7",lightStep11:"#8990a3",lightStep12:"#3760bf",lightRed:"#f52a65",lightOrange:"#b15c00",lightYellow:"#8c6c3e",lightGreen:"#587539",lightCyan:"#007197",lightPurple:"#9854f1"},theme:{primary:{dark:"darkStep9",light:"lightStep9"},secondary:{dark:"darkPurple",light:"lightPurple"},accent:{dark:"darkOrange",light:"lightOrange"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkOrange",light:"lightOrange"},success:{dark:"darkGreen",light:"lightGreen"},info:{dark:"darkStep9",light:"lightStep9"},text:{dark:"darkStep12",light:"lightStep12"},textMuted:{dark:"darkStep11",light:"lightStep11"},background:{dark:"darkStep1",light:"lightStep1"},backgroundPanel:{dark:"darkStep2",light:"lightStep2"},backgroundElement:{dark:"darkStep3",light:"lightStep3"},border:{dark:"darkStep7",light:"lightStep7"},borderActive:{dark:"darkStep8",light:"lightStep8"},borderSubtle:{dark:"darkStep6",light:"lightStep6"},diffAdded:{dark:"#4fd6be",light:"#1e725c"},diffRemoved:{dark:"#c53b53",light:"#c53b53"},diffContext:{dark:"#828bb8",light:"#7086b5"},diffHunkHeader:{dark:"#828bb8",light:"#7086b5"},diffHighlightAdded:{dark:"#b8db87",light:"#4db380"},diffHighlightRemoved:{dark:"#e26a75",light:"#f52a65"},diffAddedBg:{dark:"#20303b",light:"#d5e5d5"},diffRemovedBg:{dark:"#37222c",light:"#f7d8db"},diffContextBg:{dark:"darkStep2",light:"lightStep2"},diffLineNumber:{dark:"#8f909a",light:"#59595b"},diffAddedLineNumberBg:{dark:"#1b2b34",light:"#c5d5c5"},diffRemovedLineNumberBg:{dark:"#2d1f26",light:"#e7c8cb"},markdownText:{dark:"darkStep12",light:"lightStep12"},markdownHeading:{dark:"darkPurple",light:"lightPurple"},markdownLink:{dark:"darkStep9",light:"lightStep9"},markdownLinkText:{dark:"darkCyan",light:"lightCyan"},markdownCode:{dark:"darkGreen",light:"lightGreen"},markdownBlockQuote:{dark:"darkYellow",light:"lightYellow"},markdownEmph:{dark:"darkYellow",light:"lightYellow"},markdownStrong:{dark:"darkOrange",light:"lightOrange"},markdownHorizontalRule:{dark:"darkStep11",light:"lightStep11"},markdownListItem:{dark:"darkStep9",light:"lightStep9"},markdownListEnumeration:{dark:"darkCyan",light:"lightCyan"},markdownImage:{dark:"darkStep9",light:"lightStep9"},markdownImageText:{dark:"darkCyan",light:"lightCyan"},markdownCodeBlock:{dark:"darkStep12",light:"lightStep12"},syntaxComment:{dark:"darkStep11",light:"lightStep11"},syntaxKeyword:{dark:"darkPurple",light:"lightPurple"},syntaxFunction:{dark:"darkStep9",light:"lightStep9"},syntaxVariable:{dark:"darkRed",light:"lightRed"},syntaxString:{dark:"darkGreen",light:"lightGreen"},syntaxNumber:{dark:"darkOrange",light:"lightOrange"},syntaxType:{dark:"darkYellow",light:"lightYellow"},syntaxOperator:{dark:"darkCyan",light:"lightCyan"},syntaxPunctuation:{dark:"darkStep12",light:"lightStep12"}}};var _p={$schema:"https://opencode.ai/theme.json",defs:{background100:"#0A0A0A",background200:"#000000",gray100:"#1A1A1A",gray200:"#1F1F1F",gray300:"#292929",gray400:"#2E2E2E",gray500:"#454545",gray600:"#878787",gray700:"#8F8F8F",gray900:"#A1A1A1",gray1000:"#EDEDED",blue600:"#0099FF",blue700:"#0070F3",blue900:"#52A8FF",blue1000:"#EBF8FF",red700:"#E5484D",red900:"#FF6166",red1000:"#FDECED",amber700:"#FFB224",amber900:"#F2A700",amber1000:"#FDF4DC",green700:"#46A758",green900:"#63C46D",green1000:"#E6F9E9",teal700:"#12A594",teal900:"#0AC7AC",purple700:"#8E4EC6",purple900:"#BF7AF0",pink700:"#E93D82",pink900:"#F75590",highlightPink:"#FF0080",highlightPurple:"#F81CE5",cyan:"#50E3C2",lightBackground:"#FFFFFF",lightGray100:"#FAFAFA",lightGray200:"#EAEAEA",lightGray600:"#666666",lightGray1000:"#171717"},theme:{primary:{dark:"blue700",light:"blue700"},secondary:{dark:"blue900",light:"#0062D1"},accent:{dark:"purple700",light:"purple700"},error:{dark:"red700",light:"#DC3545"},warning:{dark:"amber700",light:"#FF9500"},success:{dark:"green700",light:"#388E3C"},info:{dark:"blue900",light:"blue700"},text:{dark:"gray1000",light:"lightGray1000"},textMuted:{dark:"gray600",light:"lightGray600"},background:{dark:"background200",light:"lightBackground"},backgroundPanel:{dark:"gray100",light:"lightGray100"},backgroundElement:{dark:"gray300",light:"lightGray200"},border:{dark:"gray200",light:"lightGray200"},borderActive:{dark:"gray500",light:"#999999"},borderSubtle:{dark:"gray100",light:"#EAEAEA"},diffAdded:{dark:"green900",light:"green700"},diffRemoved:{dark:"red900",light:"red700"},diffContext:{dark:"gray600",light:"lightGray600"},diffHunkHeader:{dark:"gray600",light:"lightGray600"},diffHighlightAdded:{dark:"green900",light:"green700"},diffHighlightRemoved:{dark:"red900",light:"red700"},diffAddedBg:{dark:"#0B1D0F",light:"#E6F9E9"},diffRemovedBg:{dark:"#2A1314",light:"#FDECED"},diffContextBg:{dark:"background200",light:"lightBackground"},diffLineNumber:{dark:"#8a8a8a",light:"textMuted"},diffAddedLineNumberBg:{dark:"#0F2613",light:"#D6F5D6"},diffRemovedLineNumberBg:{dark:"#3C1618",light:"#FFE5E5"},markdownText:{dark:"gray1000",light:"lightGray1000"},markdownHeading:{dark:"purple900",light:"purple700"},markdownLink:{dark:"blue900",light:"blue700"},markdownLinkText:{dark:"teal900",light:"teal700"},markdownCode:{dark:"green900",light:"green700"},markdownBlockQuote:{dark:"gray600",light:"lightGray600"},markdownEmph:{dark:"amber900",light:"amber700"},markdownStrong:{dark:"pink900",light:"pink700"},markdownHorizontalRule:{dark:"gray500",light:"#999999"},markdownListItem:{dark:"gray1000",light:"lightGray1000"},markdownListEnumeration:{dark:"blue900",light:"blue700"},markdownImage:{dark:"teal900",light:"teal700"},markdownImageText:{dark:"cyan",light:"teal700"},markdownCodeBlock:{dark:"gray1000",light:"lightGray1000"},syntaxComment:{dark:"gray600",light:"#888888"},syntaxKeyword:{dark:"pink900",light:"pink700"},syntaxFunction:{dark:"purple900",light:"purple700"},syntaxVariable:{dark:"blue900",light:"blue700"},syntaxString:{dark:"green900",light:"green700"},syntaxNumber:{dark:"amber900",light:"amber700"},syntaxType:{dark:"teal900",light:"teal700"},syntaxOperator:{dark:"pink900",light:"pink700"},syntaxPunctuation:{dark:"gray1000",light:"lightGray1000"}}};var Pp={$schema:"https://opencode.ai/theme.json",defs:{vesperBg:"#101010",vesperFg:"#FFF",vesperComment:"#8b8b8b",vesperKeyword:"#A0A0A0",vesperFunction:"#FFC799",vesperString:"#99FFE4",vesperNumber:"#FFC799",vesperError:"#FF8080",vesperWarning:"#FFC799",vesperSuccess:"#99FFE4",vesperMuted:"#A0A0A0",vesperElement:"#222222"},theme:{primary:{dark:"#FFC799",light:"#FFC799"},secondary:{dark:"#99FFE4",light:"#99FFE4"},accent:{dark:"#FFC799",light:"#FFC799"},error:{dark:"vesperError",light:"vesperError"},warning:{dark:"vesperWarning",light:"vesperWarning"},success:{dark:"vesperSuccess",light:"vesperSuccess"},info:{dark:"#FFC799",light:"#FFC799"},text:{dark:"vesperFg",light:"vesperBg"},textMuted:{dark:"vesperMuted",light:"vesperMuted"},background:{dark:"vesperBg",light:"#FFF"},backgroundPanel:{dark:"vesperBg",light:"#F0F0F0"},backgroundElement:{dark:"vesperElement",light:"#E0E0E0"},border:{dark:"#282828",light:"#D0D0D0"},borderActive:{dark:"#FFC799",light:"#FFC799"},borderSubtle:{dark:"#1C1C1C",light:"#E8E8E8"},diffAdded:{dark:"vesperSuccess",light:"vesperSuccess"},diffRemoved:{dark:"vesperError",light:"vesperError"},diffContext:{dark:"vesperMuted",light:"vesperMuted"},diffHunkHeader:{dark:"vesperMuted",light:"vesperMuted"},diffHighlightAdded:{dark:"vesperSuccess",light:"vesperSuccess"},diffHighlightRemoved:{dark:"vesperError",light:"vesperError"},diffAddedBg:{dark:"#0d2818",light:"#e8f5e8"},diffRemovedBg:{dark:"#281a1a",light:"#f5e8e8"},diffContextBg:{dark:"vesperBg",light:"#F8F8F8"},diffLineNumber:{dark:"textMuted",light:"#6a6a6a"},diffAddedLineNumberBg:{dark:"#0d2818",light:"#e8f5e8"},diffRemovedLineNumberBg:{dark:"#281a1a",light:"#f5e8e8"},markdownText:{dark:"vesperFg",light:"vesperBg"},markdownHeading:{dark:"#FFC799",light:"#FFC799"},markdownLink:{dark:"#FFC799",light:"#FFC799"},markdownLinkText:{dark:"vesperMuted",light:"vesperMuted"},markdownCode:{dark:"vesperMuted",light:"vesperMuted"},markdownBlockQuote:{dark:"vesperFg",light:"vesperBg"},markdownEmph:{dark:"vesperFg",light:"vesperBg"},markdownStrong:{dark:"vesperFg",light:"vesperBg"},markdownHorizontalRule:{dark:"#65737E",light:"#65737E"},markdownListItem:{dark:"vesperFg",light:"vesperBg"},markdownListEnumeration:{dark:"vesperFg",light:"vesperBg"},markdownImage:{dark:"#FFC799",light:"#FFC799"},markdownImageText:{dark:"vesperMuted",light:"vesperMuted"},markdownCodeBlock:{dark:"vesperFg",light:"vesperBg"},syntaxComment:{dark:"vesperComment",light:"vesperComment"},syntaxKeyword:{dark:"vesperKeyword",light:"vesperKeyword"},syntaxFunction:{dark:"vesperFunction",light:"vesperFunction"},syntaxVariable:{dark:"vesperFg",light:"vesperBg"},syntaxString:{dark:"vesperString",light:"vesperString"},syntaxNumber:{dark:"vesperNumber",light:"vesperNumber"},syntaxType:{dark:"vesperFunction",light:"vesperFunction"},syntaxOperator:{dark:"vesperKeyword",light:"vesperKeyword"},syntaxPunctuation:{dark:"vesperFg",light:"vesperBg"}}};var Mp={$schema:"https://opencode.ai/theme.json",defs:{bg:"#3f3f3f",bgAlt:"#4f4f4f",bgPanel:"#5f5f5f",fg:"#dcdccc",fgMuted:"#9f9f9f",red:"#cc9393",redBright:"#dca3a3",green:"#7f9f7f",greenBright:"#8fb28f",yellow:"#f0dfaf",yellowDim:"#e0cf9f",blue:"#8cd0d3",blueDim:"#7cb8bb",magenta:"#dc8cc3",cyan:"#93e0e3",orange:"#dfaf8f"},theme:{primary:{dark:"blue",light:"#5f7f8f"},secondary:{dark:"magenta",light:"#8f5f8f"},accent:{dark:"cyan",light:"#5f8f8f"},error:{dark:"red",light:"#8f5f5f"},warning:{dark:"yellow",light:"#8f8f5f"},success:{dark:"green",light:"#5f8f5f"},info:{dark:"orange",light:"#8f7f5f"},text:{dark:"fg",light:"#3f3f3f"},textMuted:{dark:"fgMuted",light:"#6f6f6f"},background:{dark:"bg",light:"#ffffef"},backgroundPanel:{dark:"bgAlt",light:"#f5f5e5"},backgroundElement:{dark:"bgPanel",light:"#ebebdb"},border:{dark:"#5f5f5f",light:"#d0d0c0"},borderActive:{dark:"blue",light:"#5f7f8f"},borderSubtle:{dark:"#4f4f4f",light:"#e0e0d0"},diffAdded:{dark:"green",light:"#5f8f5f"},diffRemoved:{dark:"red",light:"#8f5f5f"},diffContext:{dark:"fgMuted",light:"#6f6f6f"},diffHunkHeader:{dark:"cyan",light:"#5f8f8f"},diffHighlightAdded:{dark:"greenBright",light:"#5f8f5f"},diffHighlightRemoved:{dark:"redBright",light:"#8f5f5f"},diffAddedBg:{dark:"#4f5f4f",light:"#efffef"},diffRemovedBg:{dark:"#5f4f4f",light:"#ffefef"},diffContextBg:{dark:"bgAlt",light:"#f5f5e5"},diffLineNumber:{dark:"#d2d2d2",light:"textMuted"},diffAddedLineNumberBg:{dark:"#4f5f4f",light:"#efffef"},diffRemovedLineNumberBg:{dark:"#5f4f4f",light:"#ffefef"},markdownText:{dark:"fg",light:"#3f3f3f"},markdownHeading:{dark:"yellow",light:"#8f8f5f"},markdownLink:{dark:"blue",light:"#5f7f8f"},markdownLinkText:{dark:"cyan",light:"#5f8f8f"},markdownCode:{dark:"green",light:"#5f8f5f"},markdownBlockQuote:{dark:"fgMuted",light:"#6f6f6f"},markdownEmph:{dark:"yellowDim",light:"#8f8f5f"},markdownStrong:{dark:"orange",light:"#8f7f5f"},markdownHorizontalRule:{dark:"fgMuted",light:"#6f6f6f"},markdownListItem:{dark:"blue",light:"#5f7f8f"},markdownListEnumeration:{dark:"cyan",light:"#5f8f8f"},markdownImage:{dark:"blue",light:"#5f7f8f"},markdownImageText:{dark:"cyan",light:"#5f8f8f"},markdownCodeBlock:{dark:"fg",light:"#3f3f3f"},syntaxComment:{dark:"#7f9f7f",light:"#5f7f5f"},syntaxKeyword:{dark:"yellow",light:"#8f8f5f"},syntaxFunction:{dark:"blue",light:"#5f7f8f"},syntaxVariable:{dark:"fg",light:"#3f3f3f"},syntaxString:{dark:"red",light:"#8f5f5f"},syntaxNumber:{dark:"greenBright",light:"#5f8f5f"},syntaxType:{dark:"cyan",light:"#5f8f8f"},syntaxOperator:{dark:"yellow",light:"#8f8f5f"},syntaxPunctuation:{dark:"fg",light:"#3f3f3f"}}};var Xr={aura:tp,ayu:np,carbonfox:rp,catppuccin:op,["catppuccin-frappe"]:ip,["catppuccin-macchiato"]:ap,cobalt2:sp,cursor:lp,dracula:cp,everforest:dp,flexoki:up,github:fp,gruvbox:gp,kanagawa:mp,["lucent-orng"]:hp,material:pp,matrix:Ap,mercury:kp,monokai:xp,nightowl:bp,nord:yp,["one-dark"]:wp,opencode:Sp,orng:Cp,["osaka-jade"]:vp,palenight:Ip,rosepine:Ep,solarized:Tp,synthwave84:Bp,tokyonight:Rp,vercel:_p,vesper:Pp,zenburn:Mp},dl="tokyonight";function ul(e){return Object.hasOwn(Xr,e)}function EI(e){if(e<16){let t=[[0,0,0],[205,49,49],[13,188,121],[229,229,16],[36,114,200],[188,63,188],[17,168,205],[229,229,229],[102,102,102],[241,76,76],[35,209,139],[245,245,67],[59,142,234],[214,112,214],[41,184,219],[255,255,255]][e];if(t)return Bt.fromInts(t[0],t[1],t[2]);return Bt.fromInts(0,0,0)}if(e<232){let t=e-16,n=t%6,r=Math.floor(t/6)%6,o=Math.floor(t/36),i=(a)=>a===0?0:a*40+55;return Bt.fromInts(i(o),i(r),i(n))}if(e<256){let t=(e-232)*10+8;return Bt.fromInts(t,t,t)}return Bt.fromInts(0,0,0)}function wt(e,t,n){let r=e.r+(t.r-e.r)*n,o=e.g+(t.g-e.g)*n,i=e.b+(t.b-e.b)*n;return Bt.fromInts(Math.round(r*255),Math.round(o*255),Math.round(i*255))}function Fp(e){let t=(n)=>n<=0.03928?n/12.92:((n+0.055)/1.055)**2.4;return 0.2126*t(e.r)+0.7152*t(e.g)+0.0722*t(e.b)}function fr(e,t){let n=Fp(e),r=Fp(t);return(Math.max(n,r)+0.05)/(Math.min(n,r)+0.05)}function Np(e,t="dark"){let n=e.defs??{};function r(a,s=[]){if(a instanceof Bt)return a;if(typeof a==="string"){if(a==="transparent"||a==="none")return Bt.fromInts(0,0,0,0);if(a.startsWith("#"))return Bt.fromHex(a);if(s.includes(a))throw Error(`Circular color reference: ${[...s,a].join(" -> ")}`);let l=n[a]??e.theme[a];if(l===void 0)throw Error(`Color reference "${a}" not found in defs or theme`);return r(l,[...s,a])}if(typeof a==="number")return EI(a);return r(a[t],s)}let o=Object.fromEntries(Object.entries(e.theme).filter(([a])=>a!=="selectedListItemText"&&a!=="backgroundMenu"&&a!=="thinkingOpacity").map(([a,s])=>[a,r(s)])),i=e.theme.selectedListItemText!==void 0;return o.selectedListItemText=i?r(e.theme.selectedListItemText):o.background,o.backgroundMenu=e.theme.backgroundMenu!==void 0?r(e.theme.backgroundMenu):o.backgroundElement,{...o,_hasSelectedListItemText:i,thinkingOpacity:e.theme.thinkingOpacity??0.6}}function Bn(e,t){if(e._hasSelectedListItemText)return e.selectedListItemText;if(e.background.a===0){let n=t??e.primary;return 0.299*n.r+0.587*n.g+0.114*n.b>0.5?Bt.fromInts(0,0,0):Bt.fromInts(255,255,255)}return e.background}var Dp={pending:"\u25CB",in_progress:"\u25D0",completed:"\u25CF",failed:"\u2717"},Op={pending:"\u25CB",in_progress:"\u25D0",completed:"\u25CF"};var Lp=_o();function TI(e){return new Proxy({},{get(t,n){return e()[n]},has(t,n){return n in e()},ownKeys(){return Reflect.ownKeys(e())},getOwnPropertyDescriptor(t,n){return{enumerable:!0,configurable:!0,value:e()[n]}}})}function $p(e){let[t,n]=j(e.initial&&ul(e.initial)?e.initial:dl),[r,o]=j("dark"),i=ye(()=>Xr[t()]??Xr[dl]),a=ye(()=>Np(i(),r())),s=TI(()=>a()),u={get theme(){return s},get name(){return t()},setName:(g)=>{if(!ul(g))return;n(g),e.onNameChange?.(g)},get names(){return[...Object.keys(Xr)].sort((g,m)=>g.localeCompare(m))},get mode(){return r()},setMode:o};return h(Lp.Provider,{value:u,get children(){return e.children}})}function se(){let e=bn(Lp);if(!e)throw Error("useTheme must be used within a ThemeProvider");return e}function Rt(e){let{theme:t}=se(),[n,r]=j(!1);return(()=>{var o=A("box");return d(o,"onMouseOver",()=>r(!0)),d(o,"onMouseOut",()=>r(!1)),d(o,"onMouseUp",()=>e.onActivate?.()),p(o,()=>e.children(n())),I((i)=>d(o,"style",{flexDirection:"row",flexShrink:0,backgroundColor:n()?t.primary:void 0},i)),o})()}function ot(e,t,n){return t?Bn(e,e.primary):n}var BI={topLeft:"",bottomLeft:"",vertical:"",topRight:"",bottomRight:"",horizontal:" ",bottomT:"",topT:"",cross:"",leftT:"",rightT:""},RI={border:["left"],customBorderChars:{...BI,vertical:"\u2503"}},_I=Gp.fromInts(0,0,0,150);function _t(e){let t=ht();return[(()=>{var n=A("box");return I((r)=>d(n,"style",{position:"absolute",left:0,top:0,width:t().width,height:t().height,zIndex:3900,backgroundColor:_I},r)),n})(),(()=>{var n=A("box");return p(n,()=>e.children),I((r)=>d(n,"style",{position:"absolute",left:0,top:0,width:t().width,height:t().height,flexDirection:"column",alignItems:"center",justifyContent:"center",zIndex:4000},r)),n})()]}function De(e){let{theme:t}=se(),n=ht();return(()=>{var r=A("box"),o=A("box"),i=A("box"),a=A("box"),s=A("text"),l=A("text");return _(r,o),d(r,"style",{flexDirection:"column",alignItems:"center",flexShrink:0}),_(o,i),_(i,a),d(i,"style",{flexDirection:"column",gap:1,flexGrow:1,paddingTop:1,paddingBottom:1,paddingLeft:2,paddingRight:3}),_(a,s),_(a,l),d(a,"style",{flexDirection:"row",gap:1,flexShrink:0}),p(s,()=>e.icon??"\u25B3"),p(l,()=>e.title),p(a,h(F,{get when(){return e.hint},get children(){return[(()=>{var u=A("box");return d(u,"style",{flexGrow:1}),u})(),h(Rt,{get onActivate(){return e.onHint},children:(u)=>(()=>{var g=A("text");return d(g,"selectable",!1),p(g,()=>e.hint),I((m)=>d(g,"style",{fg:u?t.text:t.textMuted},m)),g})()})]}}),null),p(i,h(F,{get when(){return e.subtitle},get children(){var u=A("text");return p(u,()=>e.subtitle),I((g)=>d(u,"style",{fg:t.textMuted,paddingLeft:1},g)),u}}),null),p(i,()=>e.children,null),p(o,h(F,{get when(){return e.actions},get children(){var u=A("box");return d(u,"style",{flexDirection:"row",flexShrink:0,gap:2,justifyContent:"flex-end",alignItems:"center",paddingBottom:1,paddingRight:3}),p(u,()=>e.actions),u}}),null),p(o,h(F,{get when(){return e.footer},get children(){var u=A("box");return d(u,"style",{flexDirection:"row",flexShrink:0,gap:2,justifyContent:"flex-end",alignItems:"center",paddingBottom:1,paddingRight:3}),p(u,()=>e.footer),u}}),null),I((u)=>{var g={flexDirection:"column",flexShrink:0,width:e.width??"100%",maxWidth:e.maxWidth==="fill"?void 0:e.maxWidth??ln(n().width),backgroundColor:t.backgroundPanel,border:["left"],borderColor:t[e.tone],customBorderChars:RI.customBorderChars},m={fg:t[e.tone]},k={fg:t.text};return g!==u.e&&(u.e=d(o,"style",g,u.e)),m!==u.t&&(u.t=d(s,"style",m,u.t)),k!==u.a&&(u.a=d(l,"style",k,u.a)),u},{e:void 0,t:void 0,a:void 0}),r})()}function St(e){let{theme:t}=se(),n=()=>e.fill??t.primary,r=()=>Bn(t,n()),o=()=>e.disabled?t.textMuted:e.current?t.primary:t.text;return(()=>{var i=A("box"),a=A("text"),s=A("text");return _(i,a),_(i,s),d(a,"selectable",!1),p(a,(()=>{var l=ue(()=>!!e.active);return()=>l()?"\u276F ":e.current?"\u25CF ":" "})()),d(s,"wrapMode","none"),d(s,"selectable",!1),p(s,()=>e.title),p(i,h(F,{get when(){return e.description},get children(){var l=A("text");return d(l,"overflow","hidden"),d(l,"wrapMode","none"),d(l,"selectable",!1),p(l,()=>` ${e.description}`),I((u)=>d(l,"style",{fg:e.active?r():t.textMuted,flexGrow:1},u)),l}}),null),p(i,h(F,{get when(){return e.footer},get children(){var l=A("text");return d(l,"selectable",!1),p(l,()=>` ${e.footer}`),I((u)=>d(l,"style",{fg:e.active?r():t.textMuted,flexShrink:0},u)),l}}),null),I((l)=>{var u={flexDirection:"row",flexShrink:0,backgroundColor:e.active?n():Gp.fromInts(0,0,0,0),paddingLeft:1,paddingRight:1},g=e.onMouseUp,m={fg:e.active?r():o(),flexShrink:0},k={fg:e.active?r():o(),flexShrink:0};return u!==l.e&&(l.e=d(i,"style",u,l.e)),g!==l.t&&(l.t=d(i,"onMouseUp",g,l.t)),m!==l.a&&(l.a=d(a,"style",m,l.a)),k!==l.o&&(l.o=d(s,"style",k,l.o)),l},{e:void 0,t:void 0,a:void 0,o:void 0}),i})()}function qe(e){let{theme:t}=se();return(()=>{var n=A("text"),r=A("span"),o=ze(" "),i=A("span");return _(n,r),_(n,i),d(n,"style",{flexShrink:0}),d(n,"selectable",!1),_(r,o),p(r,()=>e.keys,o),p(i,()=>e.label),I((a)=>{var s={fg:t.text},l={fg:t.textMuted};return s!==a.e&&(a.e=d(r,"style",s,a.e)),l!==a.t&&(a.t=d(i,"style",l,a.t)),a},{e:void 0,t:void 0}),n})()}function He(e){let{theme:t}=se();return h(Rt,{get onActivate(){return e.onActivate},children:(n)=>(()=>{var r=A("text"),o=A("span"),i=A("span");return _(r,o),_(r,i),d(r,"style",{flexShrink:0}),d(r,"selectable",!1),p(o,()=>`${e.keys} `),p(i,()=>` ${e.label} `),I((a)=>{var s={fg:ot(t,n,t.textMuted)},l=e.primary?{fg:Bn(t,t.primary),bg:t.primary}:{fg:ot(t,n,t.text)};return s!==a.e&&(a.e=d(o,"style",s,a.e)),l!==a.t&&(a.t=d(i,"style",l,a.t)),a},{e:void 0,t:void 0}),r})()})}function gr(e,t,n){let r=Math.max(1,n);if(e.length<=r)return e.map((a,s)=>({item:a,index:s}));let o=Math.floor(r/2),i=Math.max(0,Math.min(e.length-r,t-o));return e.slice(i,i+r).map((a,s)=>({item:a,index:i+s}))}function mr(e){return e[0]?.index??0}function hr(e,t){let n=e.at(-1)?.index??-1;return Math.max(0,t-1-n)}function cn(e){let t=e.scroll?.direction;if(t==="up")return-1;if(t==="down")return 1;return 0}function Rn(e,t,n){if(n<=0)return 0;return(e+t+n)%n}function zp(e){return e.find((t)=>t.kind==="allow_once")?.optionId??e.find((t)=>!t.kind.startsWith("reject"))?.optionId??e[0]?.optionId}var fl=8;function PI(e){let t=e.split(`
|
|
738
738
|
`);if(t.length<=fl)return e;return[...t.slice(0,fl),c("dialog.question.previewMore",{count:t.length-fl})].join(`
|
|
739
|
-
`)}function
|
|
740
|
-
`);if(t.length>1&&t[t.length-1]==="")t.pop();return t}function
|
|
741
|
-
`)){t+=gl(a),n=i+1;continue}}let o=e[n+1]==="("||e[n+1]==="[";if(e[n]==="\\"&&o){let i=e[n+1]==="("?"\\)":"\\]",a=e.indexOf(i,n+2);if(a>-1){t+=gl(e.slice(n+2,a)),n=a+2;continue}}t+=e[n],n+=1}return t}var FI=3,NI=["starting","running","completed","failed","cancelled"],nA={starting:"subagent.status.starting",running:"subagent.status.running",completed:"subagent.status.completed",failed:"subagent.status.failed",cancelled:"subagent.status.cancelled"},DI={Pending:"\u25E6",Executing:"~",SubAgentRunning:"\u2022",Success:"\u2713",Error:"\u2717",Canceled:"\u25A0",Confirming:"?"};function OI(e){return DI[e]??"?"}function LI(e){if(!e||typeof e!=="object")return null;let t=e;if(typeof t.status!=="string")return null;let n=NI.includes(t.status)?t.status:"running",r=Array.isArray(t.toolCalls)?t.toolCalls.filter((o)=>!!o&&typeof o==="object").map((o)=>({toolName:typeof o.toolName==="string"?o.toolName:"",description:typeof o.description==="string"?o.description:"",status:typeof o.status==="string"?o.status:"Pending",durationMs:typeof o.durationMs==="number"?o.durationMs:void 0})):[];return{status:n,taskDescription:typeof t.taskDescription==="string"?t.taskDescription:void 0,description:typeof t.description==="string"?t.description:void 0,currentTurn:typeof t.currentTurn==="number"?t.currentTurn:0,maxTurns:typeof t.maxTurns==="number"?t.maxTurns:0,toolCalls:r,summary:typeof t.summary==="string"?t.summary:void 0,error:typeof t.error==="string"?t.error:void 0,startTime:typeof t.startTime==="number"?t.startTime:void 0,endTime:typeof t.endTime==="number"?t.endTime:void 0,stats:t.stats&&typeof t.stats==="object"?t.stats:void 0}}function $I(e){let t=e.trim();if(!t)return null;try{let n=JSON.parse(t);if(n&&typeof n==="object"&&n.type==="subagent_update")return LI(n.data)}catch{}return null}function Al(e){return $I(e)}function rA(e){let t=Math.max(0,e);if(t<1000)return`${Math.round(t)}ms`;let n=t/1000;if(n<10)return`${n.toFixed(1)}s`;if(n<60)return`${Math.round(n)}s`;return`${Math.floor(n/60)}m${String(Math.floor(n%60)).padStart(2,"0")}s`}function GI(e){if(e<1000)return String(e);return`${(e/1000).toFixed(1)}k`}function zI(e){if(e==="Error")return"error";if(e==="Success")return"muted";return"text"}function oA(e,t={}){let n=t.maxTools??FI,r=[];if(e.status==="starting"||e.status==="running"){let o=Math.max(0,e.toolCalls.length-n),i=o>0?e.toolCalls.slice(-n):e.toolCalls;if(e.currentTurn>0)r.push({text:"Turn",note:`${e.currentTurn}/${e.maxTurns}`,tone:"muted"});if(o>0)r.push({text:`(${o} more tools)`,tone:"muted"});for(let a of i)r.push({glyph:OI(a.status),text:[a.toolName,a.description].filter(Boolean).join(" "),note:a.durationMs!=null?rA(a.durationMs):void 0,tone:zI(a.status)});if(r.length===0)r.push({text:c(nA[e.status]),tone:"muted"})}else{let o=e.stats,i=o?.totalToolCalls;if(typeof i==="number"&&i>0)r.push({text:c("subagent.toolCalls"),note:`${o?.successfulToolCalls??0}/${i}`,tone:"muted"});let a=e.startTime!=null&&e.endTime!=null?e.endTime-e.startTime:void 0;if(a!=null)r.push({text:"Duration",note:rA(a),tone:"muted"});let s=o?.tokenUsage?.totalTokens;if(typeof s==="number"&&s>0)r.push({text:"Tokens",note:GI(s),tone:"muted"});if(e.maxTurns>0)r.push({text:"Turns",note:`${e.currentTurn}/${e.maxTurns}`,tone:"muted"});if(e.error)r.push({text:e.error,tone:"error"});if(r.length===0)r.push({text:c(nA[e.status]),tone:"muted"})}return r.map((o,i)=>({...o,connector:i===r.length-1?"\u2514\u2500":"\u251C\u2500"}))}var HI=[[4352,4447],[8986,8987],[9001,9002],[9193,9196],[9200,9200],[9203,9203],[9725,9726],[9748,9749],[9776,9783],[9800,9811],[9855,9855],[9866,9871],[9875,9875],[9889,9889],[9898,9899],[9917,9918],[9924,9925],[9934,9934],[9940,9940],[9962,9962],[9970,9971],[9973,9973],[9978,9978],[9981,9981],[9989,9989],[9994,9995],[10024,10024],[10060,10060],[10062,10062],[10067,10069],[10071,10071],[10133,10135],[10160,10160],[10175,10175],[11035,11036],[11088,11088],[11093,11093],[11904,11929],[11931,12019],[12032,12245],[12272,12350],[12353,12438],[12441,12543],[12549,12591],[12593,12686],[12688,12773],[12783,12830],[12832,12871],[12880,42124],[42128,42182],[43360,43388],[44032,55203],[63744,64255],[65040,65049],[65072,65106],[65108,65126],[65128,65131],[65281,65376],[65504,65510],[94176,94180],[94192,94193],[94208,100343],[100352,101589],[101631,101640],[110576,110579],[110581,110587],[110589,110590],[110592,110882],[110898,110898],[110928,110930],[110933,110933],[110948,110951],[110960,111355],[119552,119638],[119648,119670],[126980,126980],[127183,127183],[127374,127374],[127377,127386],[127488,127490],[127504,127547],[127552,127560],[127568,127569],[127584,127589],[127744,127776],[127789,127797],[127799,127868],[127870,127891],[127904,127946],[127951,127955],[127968,127984],[127988,127988],[127992,128062],[128064,128064],[128066,128252],[128255,128317],[128331,128334],[128336,128359],[128378,128378],[128405,128406],[128420,128420],[128507,128591],[128640,128709],[128716,128716],[128720,128722],[128725,128727],[128732,128735],[128747,128748],[128756,128764],[128992,129003],[129008,129008],[129292,129338],[129340,129349],[129351,129535],[129648,129660],[129664,129673],[129679,129734],[129742,129756],[129759,129769],[129776,129784],[131072,196605],[196608,262141]],UI=[[161,161],[164,164],[167,168],[170,170],[173,174],[176,180],[182,186],[188,191],[198,198],[208,208],[215,216],[222,225],[230,230],[232,234],[236,237],[240,240],[242,243],[247,250],[252,252],[254,254],[257,257],[273,273],[275,275],[283,283],[294,295],[299,299],[305,307],[312,312],[319,322],[324,324],[328,331],[333,333],[338,339],[358,359],[363,363],[462,462],[464,464],[466,466],[468,468],[470,470],[472,472],[474,474],[476,476],[593,593],[609,609],[708,708],[711,711],[713,715],[717,717],[720,720],[728,731],[733,733],[735,735],[768,879],[913,929],[931,937],[945,961],[963,969],[1025,1025],[1040,1103],[1105,1105],[8208,8208],[8211,8214],[8216,8217],[8220,8221],[8224,8226],[8228,8231],[8240,8240],[8242,8243],[8245,8245],[8251,8251],[8254,8254],[8308,8308],[8319,8319],[8321,8324],[8364,8364],[8451,8451],[8453,8453],[8457,8457],[8467,8467],[8470,8470],[8481,8482],[8486,8486],[8491,8491],[8531,8532],[8539,8542],[8544,8555],[8560,8569],[8585,8585],[8592,8601],[8632,8633],[8658,8658],[8660,8660],[8679,8679],[8704,8704],[8706,8707],[8711,8712],[8715,8715],[8719,8719],[8721,8721],[8725,8725],[8730,8730],[8733,8736],[8739,8739],[8741,8741],[8743,8748],[8750,8750],[8756,8759],[8764,8765],[8776,8776],[8780,8780],[8786,8786],[8800,8801],[8804,8807],[8810,8811],[8814,8815],[8834,8835],[8838,8839],[8853,8853],[8857,8857],[8869,8869],[8895,8895],[8978,8978],[9312,9449],[9451,9547],[9552,9587],[9600,9615],[9618,9621],[9632,9633],[9635,9641],[9650,9651],[9654,9655],[9660,9661],[9664,9665],[9670,9672],[9675,9675],[9678,9681],[9698,9701],[9711,9711],[9733,9734],[9737,9737],[9742,9743],[9756,9756],[9758,9758],[9792,9792],[9794,9794],[9824,9825],[9827,9829],[9831,9834],[9836,9837],[9839,9839],[9886,9887],[9919,9919],[9926,9933],[9935,9939],[9941,9953],[9955,9955],[9960,9961],[9963,9969],[9972,9972],[9974,9977],[9979,9980],[9982,9983],[10045,10045],[10102,10111],[11094,11097],[12872,12879],[57344,63743],[65024,65039],[65533,65533],[127232,127242],[127248,127277],[127280,127337],[127344,127373],[127375,127376],[127387,127404],[917760,917999],[983040,1048573],[1048576,1114109]],jI=[[173,173],[768,879],[1155,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1541],[1552,1562],[1564,1564],[1611,1631],[1648,1648],[1750,1757],[1759,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2045,2045],[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2192,2193],[2199,2207],[2250,2306],[2362,2362],[2364,2364],[2369,2376],[2381,2381],[2385,2391],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2558,2558],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2641,2641],[2672,2673],[2677,2677],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2810,2815],[2817,2817],[2876,2876],[2879,2879],[2881,2884],[2893,2893],[2901,2902],[2914,2915],[2946,2946],[3008,3008],[3021,3021],[3072,3072],[3076,3076],[3132,3132],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3170,3171],[3201,3201],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3328,3329],[3387,3388],[3393,3396],[3405,3405],[3426,3427],[3457,3457],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3772],[3784,3790],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3981,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4151],[4153,4154],[4157,4158],[4184,4185],[4190,4192],[4209,4212],[4226,4226],[4229,4230],[4237,4237],[4253,4253],[4957,4959],[5906,5909],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6159],[6277,6278],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6683,6683],[6742,6742],[6744,6750],[6752,6752],[6754,6754],[6757,6764],[6771,6780],[6783,6783],[6832,6862],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[6980,6980],[7019,7027],[7040,7041],[7074,7077],[7080,7085],[7142,7142],[7144,7145],[7149,7149],[7151,7155],[7212,7219],[7222,7223],[7376,7378],[7380,7392],[7394,7400],[7405,7405],[7412,7412],[7416,7417],[7616,7679],[8203,8207],[8234,8238],[8288,8292],[8294,8303],[8400,8432],[11503,11505],[11647,11647],[11744,11775],[12330,12335],[12441,12442],[42607,42610],[42612,42621],[42654,42655],[42736,42737],[43010,43010],[43014,43014],[43019,43019],[43045,43046],[43052,43052],[43204,43205],[43232,43249],[43263,43263],[43302,43309],[43335,43345],[43347,43347],[43392,43394],[43443,43443],[43446,43449],[43452,43453],[43456,43456],[43493,43493],[43561,43566],[43569,43570],[43573,43574],[43587,43587],[43596,43596],[43644,43644],[43696,43696],[43698,43700],[43703,43704],[43710,43711],[43713,43713],[43756,43757],[43766,43766],[44005,44005],[44008,44008],[44013,44013],[64286,64286],[65024,65038],[65056,65071],[65279,65279],[65529,65531],[66045,66045],[66272,66272],[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[68325,68326],[68900,68903],[68969,68973],[69291,69292],[69372,69375],[69446,69456],[69506,69509],[69633,69633],[69688,69702],[69744,69744],[69747,69748],[69759,69761],[69811,69814],[69817,69818],[69821,69821],[69826,69826],[69837,69837],[69888,69890],[69927,69931],[69933,69940],[70003,70003],[70016,70017],[70070,70078],[70080,70080],[70089,70092],[70095,70095],[70191,70193],[70196,70199],[70206,70206],[70209,70209],[70367,70367],[70371,70378],[70400,70401],[70459,70460],[70464,70464],[70477,70477],[70502,70508],[70512,70516],[70587,70592],[70606,70608],[70610,70610],[70625,70626],[70712,70719],[70722,70724],[70726,70726],[70750,70750],[70835,70840],[70842,70842],[70847,70848],[70850,70851],[71090,71093],[71100,71101],[71103,71104],[71132,71133],[71219,71226],[71229,71229],[71231,71232],[71339,71339],[71341,71341],[71344,71351],[71453,71453],[71455,71455],[71458,71461],[71463,71467],[71727,71735],[71737,71738],[71995,71998],[72003,72003],[72148,72151],[72154,72155],[72160,72160],[72193,72202],[72243,72248],[72251,72254],[72263,72263],[72273,72278],[72281,72283],[72330,72342],[72344,72345],[72752,72758],[72760,72765],[72767,72767],[72850,72871],[72874,72880],[72882,72883],[72885,72886],[73009,73014],[73018,73018],[73020,73021],[73023,73029],[73031,73031],[73104,73105],[73109,73109],[73111,73111],[73459,73460],[73472,73473],[73526,73530],[73536,73538],[73562,73562],[78896,78912],[78919,78933],[90398,90409],[90413,90415],[92912,92916],[92976,92982],[94031,94031],[94095,94098],[94180,94180],[94192,94193],[113821,113822],[113824,113827],[118528,118573],[118576,118598],[119141,119145],[119149,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],[121461,121461],[121476,121476],[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],[123023,123023],[123184,123190],[123566,123566],[123628,123631],[124140,124143],[124398,124399],[125136,125142],[125252,125258],[917505,917505],[917536,917631],[917760,917999]];function kl(e,t){let n=0,r=t.length-1;while(n<=r){let o=n+r>>1,[i,a]=t[o];if(e<i)r=o-1;else if(e>a)n=o+1;else return!0}return!1}function Ii(e){if(e===0)return 0;if(e<32||e>=127&&e<160)return 0;if(e===65039)return 1;if(kl(e,jI))return 0;if(kl(e,HI))return 2;if(kl(e,UI))return 2;return 1}function he(e){let t=0;for(let n of e)t+=Ii(n.codePointAt(0)??0);return t}function Ei(e,t){let n=0,r=0;for(let o of e){if(r>=t)break;let i=o.codePointAt(0)??0;n+=i===10?1:Ii(i),r+=o.length}return n}var WI=48,bl=()=>c("thought.header"),xl="\u2026",ZI=he(xl),iA=["\u2022","\u25E6"],yl=["\u25D0","\u25D3","\u25D1","\u25D2"],aA=120;function sA(e,t=WI){if(!e)return"";let n=e.replace(/\s+/g," ").trim();if(!n||t<=0)return"";if(he(n)<=t)return n;let r=t-ZI;if(r<=0)return xl;let o=Array.from(n),i=0,a=o.length;while(a>0){let s=he(o[a-1]);if(i+s>r)break;i+=s,a-=1}return`${xl}${o.slice(a).join("")}`}var wl=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],KI={tools:"status.phase.tools",thinking:"status.phase.thinking",writing:"status.phase.writing",working:"status.phase.working"};function lA(e){if(e.blocks.some((r)=>r.type==="tool"&&(r.status==="pending"||r.status==="in_progress")))return"tools";let n=e.blocks[e.blocks.length-1];if(n?.type==="thought")return"thinking";if(n?.type==="assistant"&&n.text)return"writing";return"working"}function cA(e,t,n=!1,r){if(e==="error")return c("status.error");if(e==="exited")return c("status.exited");if(n)return c("status.restoring");switch(e){case"starting":return c("status.starting");case"thinking":return c(r?KI[r]:"status.phase.working");case"needs_approval":return c("status.waiting");default:return c(t?"status.compacting":"status.ready")}}function Sl(e,t,n=!1){if(e==="error"||e==="exited")return!1;if(n)return!0;if(e==="needs_approval")return!1;return e==="thinking"||e==="starting"||t}function Cl(e,t,n,r=!1){if(e==="error"||e==="exited")return"\u2717";if(Sl(e,t,r))return n;if(e==="needs_approval")return"\u25B3";return"\u2022"}function cn(e){if(e<1000)return String(e);if(e<1e6)return`${(e/1000).toFixed(1)}k`;return`${(e/1e6).toFixed(1)}M`}function dA(e,t,n){if(!sr(e))return;let r=t.turnStartedAt;if(r==null)return;return Math.max(0,Math.floor((n-r)/1000))}function vl(e){let t=Math.max(0,Math.floor(e));if(t<60)return`${t}s`;let n=Math.floor(t/60),r=t%60;if(n<60)return r>0?`${n}m ${r}s`:`${n}m`;let o=Math.floor(n/60),i=n%60;return i>0?`${o}h ${i}m`:`${o}h`}function Il(e){if(!e||e.used<=0)return;if(e.size<=0)return`${cn(e.used)} used`;let t=Math.round(e.used/e.size*100);return`${cn(e.used)}/${cn(e.size)} (${t}%)`}var El={default:"mode.ask",autoEdit:"mode.autoEdit",yolo:"mode.fullAccess"};function uA(e,t){return c(t?"mode.plan":El[e])}function QI(e){switch(e){case void 0:case"off":return;case"medium":return"med";case"xhigh":return"xhi";default:return e}}var fA=" \xB7 ";function YI(e,t){if(e.length===0)return[];let n=(i)=>i.reduce((a,s)=>a+s.text.length,0)+fA.length*(i.length-1)+2,r=e.slice(),o=e.map((i,a)=>({segment:i,index:a})).sort((i,a)=>i.segment.priority-a.segment.priority||a.index-i.index);for(let{segment:i}of o){if(n(r)<=t)break;if(r.length<=1)break;r=r.filter((a)=>a!==i)}return r}function JI(e){let t=e.theme,n=[];if(e.model){let s=QI(e.thinking);n.push({id:"model",text:s?`${e.model} (${s})`:e.model,color:t.textMuted,priority:80})}if(!e.authInPanel){let s=e.auth&&!e.auth.loggedIn;n.push({id:"auth",text:Ci(e.auth),color:s?t.warning:t.textMuted,priority:s?95:30})}let r=Il(e.transcript.usage);if(r)n.push({id:"usage",text:r,color:t.textMuted,priority:50});let{input:o,output:i}=e.transcript.tokens;if(o+i>0)n.push({id:"tokens",text:`\u2191${cn(o)} \u2193${cn(i)}`,color:t.textMuted,priority:40});let a=["status","model","mode","usage","tokens","auth"];return n.sort((s,l)=>a.indexOf(s.id)-a.indexOf(l.id))}function gA(e){let t=se(),n=()=>JI({transcript:e.transcript,model:e.model,thinking:e.thinking,auth:e.auth,authInPanel:e.authInPanel,theme:t.theme}),r=()=>YI(n(),e.width-(e.modeChip?.text.length??0)-2);return(()=>{var o=A("box"),i=A("text"),a=A("box");return R(o,i),R(o,a),d(o,"style",{flexDirection:"row",justifyContent:"space-between",flexShrink:0,height:1,paddingLeft:1,paddingRight:1}),d(i,"selectable",!1),p(i,()=>e.modeChip?.text??""),d(a,"style",{flexDirection:"row",flexShrink:0}),p(a,h(ce,{get each(){return r()},children:(s,l)=>(()=>{var u=A("text");return p(u,(()=>{var m=de(()=>l()===0);return()=>m()?s.text:`${fA}${s.text}`})()),E((m)=>d(u,"style",{fg:s.color,flexShrink:0},m)),u})()})),E((s)=>d(i,"style",{fg:e.modeChip?.color,flexShrink:0},s)),o})()}var VI=["pending","in_progress","completed"],Ti={completed:0,in_progress:1,pending:2},qI={completed:"\u2713",in_progress:"\u25A0",pending:"\u25A1"},XI={completed:"muted",in_progress:"accent",pending:"text"};function eE(e){if(!e||typeof e!=="object")return null;let t=e,n=typeof t.content==="string"?t.content.trim():"";if(!n)return null;return{id:typeof t.id==="string"?t.id:n,content:n,status:VI.includes(t.status)?t.status:"pending"}}function mA(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.type!=="tool")continue;let r=n.rawInput?.todos;if(!Array.isArray(r))continue;let o=r.map(eE).filter((i)=>i!==null);if(o.length===0)return[];return o.sort((i,a)=>Ti[i.status]-Ti[a.status])}return[]}function Tl(e,t={}){let n=Math.max(0,t.maxRows??5),r=e.filter((s)=>s.status==="completed").length,o={hidden:0,completedCount:r,total:e.length,isEmpty:e.length===0,allDone:e.length>0&&r===e.length};if(o.isEmpty||o.allDone)return{...o,rows:[]};if(t.expanded===!1)return{...o,rows:[]};let i=[...e].sort((s,l)=>Ti[s.status]-Ti[l.status]),a=i.slice(Math.max(0,i.length-n)).map((s)=>({glyph:qI[s.status],text:s.content,tone:XI[s.status]}));return{...o,rows:a,hidden:Math.max(0,i.length-n)}}function pA(e){return e==="github"?"#":"!"}function AA(e){return e==="github"?"sidebar.group.pr":"sidebar.group.mr"}function kA(e,t,n=new Set){if(e?.ref.url===t.url)return e;return n.has(t.url)?{ref:t,outcome:"ok",dismissed:!0}:{ref:t,outcome:"ok"}}function eo(e){return!!e&&!e.dismissed}function Bl(e,t){if(tE(e))return{kind:"unavailable",reason:t};return{kind:"error",message:e}}function tE(e){return e.includes("ENOENT")||/Executable not found/i.test(e)}var nE=/(https?):\/\/([^/\s]+)\/(\S+?)\/-\/merge_requests\/(\d+)(?!\d)/g,rE=/(https?):\/\/([^/\s]+)\/([^/\s]+)\/([^/\s]+)\/pull\/(\d+)(?!\d)/g;function hA(e,t){let n=null;e.lastIndex=0;for(let r=e.exec(t);r;r=e.exec(t))n=r;return n}function oE(e){if(!e)return null;let t=hA(nE,e),n=hA(rE,e);if(n&&(!t||n.index>t.index)){let[,l,u,m,g,k]=n;return{provider:"github",url:`${l}://${u}/${m}/${g}/pull/${k}`,host:u,projectPath:`${m}/${g}`,iid:Number(k)}}if(!t)return null;let[,o,i,a,s]=t;if(!a||a.startsWith("-/"))return null;return{provider:"gitlab",url:`${o}://${i}/${a}/-/merge_requests/${s}`,host:i,projectPath:a,iid:Number(s)}}function xA(e,t){let n=[];for(let r of e??[])if(r.text)n.push(r.text);if(t)n.push(t);return n.length?oE(n.join(`
|
|
742
|
-
`)):null}function bA(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(!n||n.type!=="tool")continue;if(n.status!=="completed"&&n.status!=="failed")continue;return n}return}function yA(e,t,n){if(n==="unavailable")return 0;if(n==="error")return 60000;if(!e)return 5000;if(e!=="opened")return 0;return t==="running"?1e4:30000}function wA(e){switch(e){case"running":return"busy";case"success":return"ok";case"failed":return"bad";default:return"idle"}}function SA(e){return e==="ok"}function CA(e){if(e==="merged")return"mr.state.merged";if(e==="closed")return"mr.state.closed";return"mr.state.open"}var pr=38,iE=pr+76;function Ri(e){return e>=iE}var aE=4;function vA(e,t={}){let n=t.maxTasks??aE,r=e.filter((i)=>i.status==="running").sort((i,a)=>i.startedAt-a.startedAt),o=r.slice(0,n);return{running:o,hidden:r.length-o.length}}var TA=20,sE=3,lE=6;var BA=2;function IA(e,t,n=0){let r=Math.max(0,t)*BA,o=Math.max(0,n);return Math.max(0,e-TA-r-o)}var Rl=3;function to(e){let{theme:t}=se();return h(Rt,{onActivate:()=>e.onRun?.(),children:(n)=>(()=>{var r=A("box"),o=A("text"),i=A("b");return R(r,o),R(o,i),d(o,"selectable",!1),p(i,()=>e.label),E((a)=>{var s={flexDirection:"row",border:["left","right"],borderColor:n?t.primary:t.border,backgroundColor:n?void 0:t.backgroundElement},l={fg:ot(t,n,t.primary)};return s!==a.e&&(a.e=d(r,"style",s,a.e)),l!==a.t&&(a.t=d(o,"style",l,a.t)),a},{e:void 0,t:void 0}),r})()})}function cE(e){let{theme:t}=se(),n=()=>e.auth?.loggedIn===!0,r=()=>e.auth!==void 0;return(()=>{var o=A("box"),i=A("text");return R(o,i),d(o,"style",{flexDirection:"row",flexShrink:0,gap:1}),d(i,"wrapMode","none"),d(i,"overflow","hidden"),d(i,"selectable",!1),p(i,()=>Ci(e.auth)),p(o,h(P,{get when(){return de(()=>!!r())()&&n()},get children(){return[h(to,{get label(){return c("sidebar.account.center")},onRun:()=>e.onAccount?.()}),h(to,{get label(){return c("sidebar.account.logout")},onRun:()=>e.onLogout?.()})]}}),null),p(o,h(P,{get when(){return de(()=>!!r())()&&!n()},get children(){return h(to,{get label(){return c("sidebar.account.login")},onRun:()=>e.onLogin?.()})}}),null),E((a)=>d(i,"style",{fg:n()?t.text:t.warning,flexGrow:1,flexShrink:1,minWidth:0},a)),o})()}function dE(e,t){let n=Math.max(0,t)*BA;return e-TA-n>=Rl}function uE(e,t,n){let r=Math.max(0,Math.min(t,e)),o=Math.max(0,Math.min(n,e-r));return{todo:r,tasks:o}}function _n(e){let{theme:t}=se();return(()=>{var n=A("box"),r=A("box"),o=A("text"),i=A("b"),a=A("box");return R(n,r),R(n,a),d(n,"style",{flexDirection:"column",flexShrink:0,marginTop:1}),R(r,o),R(o,i),d(o,"selectable",!1),p(i,()=>e.title),p(o,h(P,{get when(){return e.note},get children(){var s=A("span");return p(s,()=>` ${e.note}`),E((l)=>d(s,"style",{fg:t.textMuted},l)),s}}),null),p(r,h(P,{get when(){return e.action},children:(s)=>[(()=>{var l=A("box");return d(l,"style",{flexGrow:1}),l})(),h(Rt,{onActivate:()=>s().onRun?.(),children:(l)=>(()=>{var u=A("text");return d(u,"selectable",!1),p(u,()=>s().label),E((m)=>d(u,"style",{fg:ot(t,l,t.textMuted)},m)),u})()})]}),null),d(a,"style",{flexDirection:"column",flexShrink:0,paddingLeft:_A}),p(a,()=>e.children),E((s)=>{var l={flexDirection:"row",flexShrink:0,border:["left"],borderColor:t.primary,backgroundColor:t.backgroundElement,paddingLeft:1,paddingRight:e.action?1:0},u={fg:t.text,flexShrink:0};return l!==s.e&&(s.e=d(r,"style",l,s.e)),u!==s.t&&(s.t=d(o,"style",u,s.t)),s},{e:void 0,t:void 0}),n})()}function Pt(e){let{theme:t}=se(),n=()=>e.tone==="warning"?t.warning:e.tone==="success"?t.success:t.textMuted;return(()=>{var r=A("text");return d(r,"wrapMode","none"),d(r,"overflow","hidden"),d(r,"selectable",!1),p(r,h(P,{get when(){return e.label},get children(){var o=A("span");return p(o,()=>e.label+" ".repeat(Math.max(1,RA-he(e.label)))),E((i)=>d(o,"style",{fg:t.textMuted},i)),o}}),null),p(r,()=>e.text,null),E((o)=>d(r,"style",{fg:n(),flexShrink:0},o)),r})()}var RA=7,_A=2,Pl=pr-4-_A,PA=Pl-RA,MA=Pl-2;function _l(e,t=MA){return e.length<=t?e:`${e.slice(0,t-1)}\u2026`}var EA=3,fE=he("\u25CF ");function gE(e){let t=`${pA(e.ref.provider)}${e.ref.iid}`,n=e.status?.sourceBranch;if(!n)return t;let r=Pl-fE-he(t)-1;if(r<2)return t;return`${t} ${_l(n,r-1)}`}function mE(e){if(e.outcome==="unavailable")return c(e.ref.provider==="github"?"mr.unavailable.gh":"mr.unavailable.glab");if(e.outcome==="error")return c("mr.unavailable.error");return e.status?c(CA(e.status.state)):void 0}function hE(e){if(!SA(e.outcome))return;let t=e.status?.pipeline;if(!t)return;let n=wA(t);return n==="idle"?void 0:n}function Ml(e,t=PA){if(he(e)<=t)return e;let n=e.includes("\\")?"\\":"/",r=e.split(/[\\/]/);for(let l=r.length-1;l>=1;l--){let u=`\u2026${n}${r.slice(-l).join(n)}`;if(he(u)<=t)return u}let o=t-he("\u2026"),i=Array.from(e),a=0,s=i.length;while(s>0){let l=he(i[s-1]);if(a+l>o)break;a+=l,s-=1}return`\u2026${i.slice(s).join("")}`}function pE(e){if(e.read===0&&e.creation===0)return;return`${e.hitRate.toFixed(1)}%`}function Bi(e){if(!Number.isFinite(e)||e<0)return"0";if(e>=1e6)return`${(e/1e6).toFixed(2)}M`;if(e>=1000)return`${(e/1000).toFixed(2)}k`;return Math.floor(e).toString()}function AE(e){return`${Bi(e.used)}/${Bi(e.total)} (${e.usagePercentage.toFixed(1)}%)`}function kE(e){if(!e?.available)return[];let t=[],n=(r,o)=>{if(!o)return;t.push({label:r,text:o.limit>0?c("sidebar.quota.left",{percent:`${Math.round(o.remaining/o.limit*100)}%`}):c("sidebar.quota.none")})};return n(c("sidebar.label.daily"),e.daily),n(c("sidebar.label.weekly"),e.zhWeekly),n(c("sidebar.label.weekly.bj"),e.bjWeekly),t}function xE(e){return`${c("sidebar.credits.turn")} ${Bi(e.turn)} \xB7 ${c("sidebar.credits.total")} ${Bi(e.session)}`}function FA(e){let{theme:t}=se(),n=()=>Tl(e.todos),r=()=>vA(e.tasks),o=()=>n().total>0&&!n().allDone,i=()=>e.todosExpanded===!1?0:n().rows.length,a=()=>(o()?1:0)+(r().running.length>0?1:0),s=()=>!!e.update&&dE(e.terminalHeight,a()),l=()=>(s()?Rl:0)+(e.mr?EA:0),u=()=>e.updatePhase??{phase:"idle"},m=()=>uE(IA(e.terminalHeight,a(),l()),i(),r().running.length),g=()=>vA(e.tasks,{maxTasks:m().tasks}),k=()=>Tl(e.todos,{maxRows:m().todo,expanded:e.todosExpanded}),y=(b)=>{if(b==="accent")return t.accent;return b==="muted"?t.textMuted:t.text},_=(b)=>{if(b==="running")return t.accent;if(b==="waiting")return t.warning;if(b==="exited")return t.error;return t.textMuted},U=(b)=>b==="ok"?t.success:b==="bad"?t.error:t.accent,D=()=>Math.min(lE,Math.max(sE,IA(e.terminalHeight,2,(e.update&&e.updatePhase?Rl:0)+(e.mr?EA:0)))),N=()=>Il(e.usage)??c("sidebar.usage.none"),S=()=>{let{input:b,output:v}=e.tokens;if(b+v===0)return c("sidebar.tokens.none");return`\u2191${cn(b)} \u2193${cn(v)}`},z=()=>pE(e.cache)??c("sidebar.cache.none"),w=()=>e.allowance?.available?e.allowance:void 0;return(()=>{var b=A("box"),v=A("text"),F=A("b"),L=A("box"),J=A("text"),V=A("span"),q=ze(" Easy Code ");return R(b,v),R(b,L),R(b,J),R(v,F),d(v,"wrapMode","none"),d(v,"selectable",!1),p(F,()=>e.title??c("session.untitled")),p(b,h(P,{get when(){return e.feishu?.running},get children(){var X=A("text");return d(X,"wrapMode","none"),d(X,"selectable",!1),p(X,(()=>{var ae=de(()=>!!e.feishu?.botName);return()=>ae()?c("feishu.runningNamed",{bot:e.feishu.botName}):c("feishu.running")})()),E((ae)=>d(X,"style",{fg:t.success,flexShrink:0},ae)),X}}),L),p(b,h(P,{get when(){return e.sessions},get children(){return h(_n,{get title(){return c("sidebar.group.sessions")},get children(){return[h(P,{get when(){return e.sessions.length>0},get children(){var X=A("scrollbox");return p(X,h(ce,{get each(){return e.sessions??[]},children:(ae)=>h(Rt,{onActivate:()=>e.onActivateSession?.(ae),children:(Q)=>[(()=>{var oe=A("text");return d(oe,"selectable",!1),p(oe,()=>ae.tone==="idle"?"\u25CB":"\u25CF"),E((le)=>d(oe,"style",{fg:ot(t,Q,_(ae.tone)),flexShrink:0},le)),oe})(),(()=>{var oe=A("text");return d(oe,"wrapMode","none"),d(oe,"overflow","hidden"),d(oe,"selectable",!1),p(oe,()=>` ${_l(ae.title,MA)}`),E((le)=>d(oe,"style",{fg:ot(t,Q,ae.active?t.text:t.textMuted),flexShrink:0},le)),oe})()]})})),E((ae)=>d(X,"style",{height:D(),flexShrink:0},ae)),X}}),h(to,{get label(){return c("sidebar.newSession")},onRun:()=>e.onNewSession?.()})]}})}}),L),p(b,h(_n,{get title(){return c("sidebar.group.project")},get children(){return[h(P,{get when(){return e.branch},get children(){return h(Pt,{get label(){return c("sidebar.label.branch")},get text(){return _l(e.branch,PA-1)}})}}),h(Pt,{get label(){return c("sidebar.label.dir")},get text(){return Ml(e.cwd)}})]}}),L),p(b,h(P,{get when(){return e.mr},children:(X)=>h(P,{get when(){return eo(X())},get children(){return h(_n,{get title(){return c(AA(X().ref.provider))},get note(){return mE(X())},action:{label:"\u2715",onRun:()=>e.onDismissMr?.()},get children(){return h(Rt,{onActivate:()=>e.onOpenMr?.(X().ref.url),children:(ae)=>[h(P,{get when(){return hE(X())},children:(Q)=>(()=>{var oe=A("text");return R(oe,ze("\u25CF ")),d(oe,"selectable",!1),E((le)=>d(oe,"style",{fg:ot(t,ae,U(Q())),flexShrink:0},le)),oe})()}),(()=>{var Q=A("text");return d(Q,"wrapMode","none"),d(Q,"overflow","hidden"),d(Q,"selectable",!1),p(Q,()=>gE(X())),E((oe)=>d(Q,"style",{fg:ot(t,ae,t.textMuted),flexShrink:0},oe)),Q})()]})}})}})}),L),p(b,h(_n,{get title(){return c("sidebar.group.model")},get children(){return[h(Pt,{get label(){return c("sidebar.label.model")},get text(){return e.model??c("sidebar.model.none")}}),h(Pt,{get label(){return c("sidebar.label.cache")},get text(){return z()}}),h(Pt,{get text(){return N()}}),h(Pt,{get text(){return S()}}),h(Pt,{get label(){return c("sidebar.label.mode")},get text(){return c(El[e.mode])},get tone(){return e.mode==="yolo"?"warning":"muted"}})]}}),L),p(b,h(P,{get when(){return w()},children:(X)=>h(_n,{get title(){return c("sidebar.group.credits")},get children(){return[h(Pt,{get text(){return AE(X())}}),h(Pt,{get text(){return xE(e.credits)}}),h(ce,{get each(){return kE(e.quota)},children:(ae)=>h(Pt,{get label(){return ae.label},get text(){return ae.text}})})]}})}),L),p(b,h(P,{get when(){return o()},get children(){return h(_n,{get title(){return c("sidebar.group.tasks")},get note(){return`${k().completedCount}/${k().total}${k().hidden>0?` +${k().hidden}`:""}`},get children(){return h(ce,{get each(){return k().rows},children:(X)=>(()=>{var ae=A("text");return d(ae,"wrapMode","none"),d(ae,"overflow","hidden"),d(ae,"selectable",!1),p(ae,()=>`${X.glyph} ${X.text}`),E((Q)=>d(ae,"style",{fg:y(X.tone),flexShrink:0},Q)),ae})()})}})}}),L),p(b,h(P,{get when(){return g().running.length>0},get children(){return h(_n,{get title(){return c("sidebar.group.background")},get note(){return de(()=>g().hidden>0)()?`+${g().hidden}`:void 0},get children(){return h(ce,{get each(){return g().running},children:(X)=>h(Pt,{get text(){return`\u2022 ${X.label}`}})})}})}}),L),d(L,"style",{flexGrow:1,minHeight:0}),p(b,h(cE,{get auth(){return e.auth},onAccount:()=>e.onAccount?.(),onLogout:()=>e.onLogout?.(),onLogin:()=>e.onLogin?.()}),J),p(b,h(P,{get when(){return de(()=>!!s())()?e.update:void 0},children:(X)=>(()=>{var ae=A("box");return d(ae,"style",{flexDirection:"column",flexShrink:0,marginTop:1}),p(ae,h(P,{get when(){return u().phase==="running"},get children(){return[(()=>{var Q=A("text");return d(Q,"selectable",!1),p(Q,()=>c("sidebar.update.updating",{version:u().version})),E((oe)=>d(Q,"style",{fg:t.accent,flexShrink:0},oe)),Q})(),(()=>{var Q=A("text");return d(Q,"selectable",!1),p(Q,()=>c("sidebar.update.alongside")),E((oe)=>d(Q,"style",{fg:t.textMuted,flexShrink:0},oe)),Q})()]}}),null),p(ae,h(P,{get when(){return u().phase==="done"},get children(){return[(()=>{var Q=A("text");return d(Q,"selectable",!1),p(Q,()=>c("sidebar.update.done",{version:u().version})),E((oe)=>d(Q,"style",{fg:t.success,flexShrink:0},oe)),Q})(),(()=>{var Q=A("text");return d(Q,"selectable",!1),p(Q,()=>c("sidebar.update.restart")),E((oe)=>d(Q,"style",{fg:t.textMuted,flexShrink:0},oe)),Q})()]}}),null),p(ae,h(P,{get when(){return u().phase==="failed"},get children(){return[(()=>{var Q=A("text");return d(Q,"selectable",!1),p(Q,()=>c("sidebar.update.failed")),E((oe)=>d(Q,"style",{fg:t.error,flexShrink:0},oe)),Q})(),(()=>{var Q=A("text");return d(Q,"wrapMode","none"),d(Q,"overflow","hidden"),d(Q,"selectable",!1),p(Q,()=>u().reason),E((oe)=>d(Q,"style",{fg:t.textMuted,flexShrink:0},oe)),Q})()]}}),null),p(ae,h(P,{get when(){return u().phase==="idle"},get children(){return[(()=>{var Q=A("text");return d(Q,"selectable",!1),p(Q,()=>c("sidebar.update.available",{version:X().latestVersion})),E((oe)=>d(Q,"style",{fg:t.accent,flexShrink:0},oe)),Q})(),h(to,{get label(){return c("sidebar.update.now")},onRun:()=>e.onRunUpdate?.()})]}}),null),ae})()}),J),R(J,V),R(J,q),d(J,"selectable",!1),R(V,ze("\u2022")),p(J,()=>e.version,null),E((X)=>{var ae={width:38,flexShrink:0,flexDirection:"column",backgroundColor:t.backgroundPanel,paddingTop:1,paddingBottom:1,paddingLeft:2,paddingRight:2},Q={fg:t.text,flexShrink:0},oe={fg:t.textMuted,flexShrink:0},le={fg:t.success};return ae!==X.e&&(X.e=d(b,"style",ae,X.e)),Q!==X.t&&(X.t=d(v,"style",Q,X.t)),oe!==X.a&&(X.a=d(J,"style",oe,X.a)),le!==X.o&&(X.o=d(V,"style",le,X.o)),X},{e:void 0,t:void 0,a:void 0,o:void 0}),b})()}var bE={read:"\u2261",edit:"\u270E",delete:"\u2298",move:"\u2194",search:"\u25CE",execute:"\u276F",think:"\u22EF",fetch:"\u21E3",switch_mode:"\u21C4",other:"\u2022"},yE={pending:"tool.status.pending",in_progress:"tool.status.running",completed:"tool.status.done",failed:"tool.status.failed"},wE={read:{running:"tool.verb.read.running",done:"tool.verb.read.done"},edit:{running:"tool.verb.edit.running",done:"tool.verb.edit.done"},delete:{running:"tool.verb.delete.running",done:"tool.verb.delete.done"},move:{running:"tool.verb.move.running",done:"tool.verb.move.done"},search:{running:"tool.verb.search.running",done:"tool.verb.search.done"},execute:{running:"tool.verb.execute.running",done:"tool.verb.execute.done"},think:{running:"tool.verb.think.running",done:"tool.verb.think.done"},fetch:{running:"tool.verb.fetch.running",done:"tool.verb.fetch.done"},switch_mode:{running:"tool.verb.switchMode.running",done:"tool.verb.switchMode.done"}};function LA(e){return bE[e]}function $A(e){return c(yE[e])}var Dl=" \u2014 ";function SE(e){let t=e.indexOf(Dl);return(t<0?e:e.slice(0,t)).trim()}function GA(e){let t=e.indexOf(Dl);return t<0?"":e.slice(t+Dl.length).trim()}function zA(e,t,n){let r=t==="pending"||t==="in_progress",o=wE[e]?.[r?"running":"done"]??(r?"tool.verb.execute.running":"tool.verb.execute.done"),i=c(o),a=SE(n);return a?`${i} ${a}`:i}var CE=/\s(?:\+\d+(?:\s-\d+)?|-\d+)$/;function HA(e){return CE.test(e.trim())}var Fl=20000;function UA(e){let{toolKind:t,status:n,title:r,rawInput:o,content:i,terminalOutput:a}=e;if(n!=="completed")return null;switch(t){case"read":case"search":{let s=OA(i,Fl,"head"),l=Nl(o,["file_path","absolute_path","path","filename"]),u=Ol(l||r),m=Nl(o,["pattern","regex","query"])??"",g=NA(r,u),k=m&&!NA(r,m)?` for "${m}"`:"",y=s.match(/\((\d+)\s+lines?\)/i);if(y){let z=_i(y[1],"line");return g?z:`Read ${u||"file"}, ${z}`}let _=s.match(/read\s+lines:\s*(\d+-\d+)/i);if(_)return g?`lines ${_[1]}`:`Read ${u||"file"}, lines ${_[1]}`;let U=s.match(/Found\s+(\d+)\s+matching\s+file/i)??s.match(/Found\s+(\d+)\s+files?\b/i);if(U)return`Found ${_i(U[1],"file")}${k}`;let D=s.match(/Found\s+(\d+)\s+match(?:es)?\b/i);if(D)return`Found ${_i(D[1],"match","matches")}${k}`;if(/No matches found|No files found/i.test(s))return k?`${c("tool.noMatches")}${k}`:c("tool.noMatches");let N=s.match(/Listed\s+(\d+)\s+item/i);if(N)return`Listed ${_i(N[1],"item")}`;let S=(s.match(/--- .*? ---/g)||[]).length;if(S>1)return`Read ${S} files`;if(m||g)return null;return u?`Read ${u}`:null}case"delete":{let s=Ol(Nl(o,["file_path","absolute_path","path"]));return s?`Deleted ${s}`:null}case"execute":{let l=`${OA(i,Fl,"tail")}
|
|
743
|
-
${
|
|
744
|
-
`).map((o)=>o.trim()).filter((o)=>o.length>0);if(n.length===0)return!0;if(n.length>
|
|
745
|
-
`);return n==="head"?r.slice(0,t):
|
|
739
|
+
`)}function Hp(e){let{theme:t}=se(),n=()=>e.questions.length,r=()=>e.questions[e.activeQuestion],o=()=>e.questions.filter((u,g)=>{let m=e.selections[g]?.size??0,k=e.others[g]?.trim();return m>0||!!k}).length,i=()=>e.cursors[e.activeQuestion]??0,a=()=>r()?.options.length??0,s=()=>e.others[e.activeQuestion],l=()=>{let u=r();if(!u||u.multiSelect)return;if(i()>=u.options.length)return;return u.options[i()]?.preview?.trim()||void 0};return h(De,{tone:"accent",icon:"?",get title(){return c("dialog.question.title")},hint:"esc",get onHint(){return e.onEscape},get subtitle(){return ue(()=>n()>1)()?c("dialog.question.step",{index:e.activeQuestion+1,total:n(),answered:o()}):void 0},get footer(){return[h(qe,{keys:"\u2191\u2193",get label(){return c("key.choose")}}),h(qe,{keys:"1-9",get label(){return c("key.pick")}}),h(F,{get when(){return s()!==void 0},get fallback(){return h(qe,{keys:"space",get label(){return c("key.toggle")}})},get children(){return h(qe,{keys:"\u232B",get label(){return c("key.erase")}})}}),h(F,{get when(){return n()>1},get children(){return h(qe,{keys:"\u2190\u2192",get label(){return c("key.nextQuestion")}})}}),h(qe,{keys:"enter",get label(){return c("key.submit")}})]},get children(){var u=A("box");return d(u,"style",{flexDirection:"column",gap:1}),d(u,"onMouseScroll",(g)=>{let m=cn(g);if(m)e.onStep?.(m)}),p(u,h(F,{get when(){return r()},children:(g)=>(()=>{var m=A("box"),k=A("box"),y=A("text"),R=A("text"),N=A("b"),M=A("box"),P=A("text"),w=A("box"),L=A("box"),S=A("text");return _(m,k),_(m,R),_(m,M),_(m,w),d(m,"style",{flexDirection:"column"}),_(k,y),d(k,"style",{flexDirection:"row",gap:1,paddingLeft:1}),p(y,()=>g().header),p(k,h(F,{get when(){return g().multiSelect},get children(){var b=A("text");return p(b,()=>c("dialog.question.multi")),I((C)=>d(b,"style",{fg:t.textMuted,flexShrink:0},C)),b}}),null),_(R,N),p(N,()=>g().question),p(m,h(ce,{get each(){return g().options},children:(b,C)=>{let O=()=>e.selections[e.activeQuestion]?.has(C())??!1,z=()=>i()===C(),J=()=>z()?wt(t.textMuted,t.secondary,0.6):t.textMuted,V=()=>{if(z())return t.secondary;return O()?t.success:t.text};return(()=>{var q=A("box"),X=A("box"),ae=A("text"),Q=A("text"),oe=A("text");return _(q,X),d(q,"onMouseUp",()=>e.onPick?.(e.activeQuestion,C())),_(X,ae),_(X,Q),_(X,oe),d(X,"style",{flexDirection:"row"}),d(ae,"selectable",!1),p(ae,()=>z()?"\u276F ":" "),d(Q,"selectable",!1),p(Q,()=>`${C()+1}. `),d(oe,"selectable",!1),p(oe,(()=>{var le=ue(()=>!!g().multiSelect);return()=>le()?`[${O()?"\u2713":" "}] ${b.label}`:b.label})()),p(X,h(F,{get when(){return ue(()=>!g().multiSelect)()&&O()},get children(){var le=A("text");return _(le,ze(" \u2713")),d(le,"selectable",!1),I((je)=>d(le,"style",{fg:t.success,flexShrink:0},je)),le}}),null),p(q,h(F,{get when(){return b.description},get children(){var le=A("box"),je=A("text");return _(le,je),d(le,"style",{paddingLeft:5,paddingRight:2}),d(je,"selectable",!1),p(je,()=>b.description),I((Ct)=>d(je,"style",{fg:t.textMuted},Ct)),le}}),null),I((le)=>{var je={flexDirection:"column",backgroundColor:z()?t.backgroundElement:void 0,paddingLeft:2,border:["bottom"],borderColor:t.border},Ct={fg:t.secondary,flexShrink:0},Ln={fg:J(),flexShrink:0},Ft={fg:V(),flexShrink:0};return je!==le.e&&(le.e=d(q,"style",je,le.e)),Ct!==le.t&&(le.t=d(ae,"style",Ct,le.t)),Ln!==le.a&&(le.a=d(Q,"style",Ln,le.a)),Ft!==le.o&&(le.o=d(oe,"style",Ft,le.o)),le},{e:void 0,t:void 0,a:void 0,o:void 0}),q})()}}),M),p(m,h(F,{get when(){return l()},children:(b)=>(()=>{var C=A("box"),O=A("text");return _(C,O),d(C,"style",{paddingLeft:2,paddingRight:2}),d(O,"selectable",!1),p(O,()=>PI(b())),I((z)=>d(O,"style",{fg:t.textMuted},z)),C})()}),M),_(M,P),d(M,"onMouseUp",()=>e.onOther?.(e.activeQuestion)),d(P,"selectable",!1),p(P,()=>i()===a()?"\u276F ":" "),p(M,h(F,{get when(){return g().multiSelect},get children(){var b=A("text");return d(b,"selectable",!1),p(b,()=>`[${s()!==void 0?"\u2713":" "}] `),I((C)=>d(b,"style",{fg:s()!==void 0?t.success:t.textMuted,flexShrink:0},C)),b}}),null),p(M,h(F,{get when(){return s()!==void 0},get fallback(){return(()=>{var b=A("text");return d(b,"selectable",!1),p(b,()=>c("dialog.question.other")),I((C)=>d(b,"style",{fg:t.textMuted},C)),b})()},get children(){var b=A("text");return d(b,"selectable",!1),p(b,()=>s()||c("dialog.question.otherHint"),null),p(b,()=>i()===a()?"\u258F":"",null),I((C)=>d(b,"style",{fg:s()?t.success:t.textMuted},C)),b}}),null),_(w,L),d(w,"style",{flexDirection:"row",paddingLeft:2,paddingTop:1}),_(L,S),d(L,"onMouseUp",()=>e.onSubmit?.()),d(S,"selectable",!1),p(S,()=>c("dialog.question.submit")),I((b)=>{var C={fg:t.accent,flexShrink:0},O={fg:t.text,paddingLeft:1,paddingBottom:1},z={flexDirection:"row",backgroundColor:i()===a()?t.backgroundElement:void 0,paddingLeft:2},J={fg:t.secondary,flexShrink:0},V={backgroundColor:t.backgroundElement,paddingLeft:2,paddingRight:2},q={fg:t.secondary};return C!==b.e&&(b.e=d(y,"style",C,b.e)),O!==b.t&&(b.t=d(R,"style",O,b.t)),z!==b.a&&(b.a=d(M,"style",z,b.a)),J!==b.o&&(b.o=d(P,"style",J,b.o)),V!==b.i&&(b.i=d(L,"style",V,b.i)),q!==b.n&&(b.n=d(S,"style",q,b.n)),b},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0}),m})()})),u}})}function Up(e){return`[Image ${e.length+1}]`}function jp(e,t){let n=e.length===0||/\s$/.test(e)?"":" ",r=e.length+n.length;return{text:`${e}${n}${t} `,start:r,end:r+t.length}}function Wp(e,t){return t.reduce((n,r)=>n.split(r.label).join(r.reference),e)}function Ci(e,t){if(t.ctrl||t.meta){if(t.ctrl&&t.name==="u")return{value:""};return{value:e}}if(t.name==="return")return{value:e,submit:!0};if(t.name==="escape")return{value:e,cancel:!0};if(t.name==="backspace")return{value:e.slice(0,-1)};if(t.name==="space")return{value:`${e} `};let n=t.sequence??"";if(n.length===1&&n>=" "&&n!=="\x7F")return{value:e+n};return{value:e}}function Zp(e,t){let n=new TextDecoder().decode(t).replace(/[\r\n]+/g,"");return e+n}function Kp(e,t=40){if(!e)return"";let n="\u2022".repeat(Math.min(e.length,t));return e.length>t?`${n}\u2026`:n}var _n=[{id:"browser",label:c("auth.choice.browser"),hint:c("auth.choice.browser.hint")},{id:"apikey",label:c("auth.choice.apikey"),hint:c("auth.choice.apikey.hint")}];function Qp(e){let{theme:t}=se();return h(De,{tone:"accent",icon:"\u26BF",get title(){return c("auth.title")},get subtitle(){return ue(()=>!!e.required)()?c("auth.noCredentials"):void 0},hint:"esc",get onHint(){return e.onEscape},get footer(){return[h(F,{get when(){return e.stage==="choose"},get children(){return[h(qe,{keys:"\u2191\u2193",get label(){return c("key.choose")}}),h(qe,{keys:"enter",get label(){return c("key.confirm")}})]}}),h(F,{get when(){return e.stage==="apikey"},get children(){return[h(qe,{keys:"enter",get label(){return c("key.submit")}}),h(qe,{keys:"ctrl+u",get label(){return c("key.clear")}})]}}),h(qe,{keys:"esc",get label(){return ue(()=>e.stage==="choose")()?c("key.dismiss"):c("key.back")}})]},get children(){return[h(F,{get when(){return e.stage==="choose"},get children(){var n=A("box");return d(n,"style",{flexDirection:"column",paddingLeft:1}),p(n,()=>_n.map((r,o)=>h(St,{get active(){return o===e.selected},get title(){return r.label},get description(){return r.hint},onMouseUp:()=>e.onChoose?.(o)}))),n}}),h(F,{get when(){return e.stage==="apikey"},get children(){var n=A("box"),r=A("text"),o=A("box"),i=A("text"),a=A("text");return _(n,r),_(n,o),d(n,"style",{flexDirection:"column",paddingLeft:1,gap:1}),_(r,ze("Paste your API key:")),_(o,i),_(o,a),_(i,ze("> ")),p(a,()=>Kp(e.secret)),I((s)=>{var l={fg:t.text},u={flexDirection:"row",backgroundColor:t.backgroundElement,paddingLeft:1,paddingRight:1},g={fg:t.primary},m={fg:t.text};return l!==s.e&&(s.e=d(r,"style",l,s.e)),u!==s.t&&(s.t=d(o,"style",u,s.t)),g!==s.a&&(s.a=d(i,"style",g,s.a)),m!==s.o&&(s.o=d(a,"style",m,s.o)),s},{e:void 0,t:void 0,a:void 0,o:void 0}),n}}),h(F,{get when(){return e.stage==="browser"},get children(){var n=A("box"),r=A("text");return _(n,r),d(n,"style",{flexDirection:"column",paddingLeft:1,gap:1}),_(r,ze("Finish signing in in your browser.")),p(n,h(F,{get when(){return e.browser?.url},children:(o)=>(()=>{var i=A("text");return p(i,()=>` ${o()}`),I((a)=>d(i,"style",{fg:t.primary},a)),i})()}),null),p(n,h(F,{get when(){return e.browser?.error},children:(o)=>(()=>{var i=A("text");return p(i,()=>c("auth.browserFailed",{error:o()})),I((a)=>d(i,"style",{fg:t.warning},a)),i})()}),null),I((o)=>d(r,"style",{fg:t.text},o)),n}}),h(F,{get when(){return e.busy},get children(){var n=A("text");return _(n,ze("Signing in\u2026")),I((r)=>d(n,"style",{fg:t.accent,paddingLeft:1},r)),n}}),h(F,{get when(){return e.error},children:(n)=>(()=>{var r=A("text");return p(r,n),I((o)=>d(r,"style",{fg:t.error,paddingLeft:1},o)),r})()})]}})}function vi(e){if(!e)return c("auth.status.checking");if(!e.loggedIn)return c("auth.status.signedOut");return e.user?.name||e.user?.email||c("auth.status.signedIn")}import{SyntaxStyle as PE}from"@opentui/core";function Yp(e){let t=e.split(`
|
|
740
|
+
`);if(t.length>1&&t[t.length-1]==="")t.pop();return t}function Ii(e,t,n={}){let r=n.context??3,o=n.maxLines??40;if(e==null){let s=Yp(t).map((l)=>({kind:"add",text:l}));return Jp(s,o)}let i=dr(e,t),a=[];for(let s of i){let l=s.added?"add":s.removed?"del":"context";for(let u of Yp(s.value))a.push({kind:l,text:u})}return Jp(MI(a,r),o)}function MI(e,t){let n=e.map((a)=>a.kind==="add"||a.kind==="del"),r=e.map((a,s)=>{for(let l=-t;l<=t;l++)if(n[s+l])return!0;return!1}),o=[],i=0;for(let a=0;a<e.length;a++)if(r[a]){if(i>0)o.push({kind:"gap",text:`\u2026 ${i} unchanged line${i===1?"":"s"}`}),i=0;o.push(e[a])}else i++;if(i>0)o.push({kind:"gap",text:`\u2026 ${i} unchanged line${i===1?"":"s"}`});return o}function Jp(e,t){if(e.length<=t)return e;let n=e.length-t;return[...e.slice(0,t),{kind:"gap",text:`\u2026 ${n} more line${n===1?"":"s"}`}]}function Vp(e){let t=0,n=0;for(let r of e)if(r.kind==="add")t++;else if(r.kind==="del")n++;return{added:t,removed:n}}function qp(e,t,n="file"){return Yr(n,n,e??"",t,"","",{context:3})}var ml={alpha:"\u03B1",beta:"\u03B2",gamma:"\u03B3",delta:"\u03B4",epsilon:"\u03B5",varepsilon:"\u03B5",zeta:"\u03B6",eta:"\u03B7",theta:"\u03B8",vartheta:"\u03D1",iota:"\u03B9",kappa:"\u03BA",lambda:"\u03BB",mu:"\u03BC",nu:"\u03BD",xi:"\u03BE",pi:"\u03C0",varpi:"\u03D6",rho:"\u03C1",sigma:"\u03C3",varsigma:"\u03C2",tau:"\u03C4",upsilon:"\u03C5",phi:"\u03C6",varphi:"\u03C6",chi:"\u03C7",psi:"\u03C8",omega:"\u03C9",Gamma:"\u0393",Delta:"\u0394",Theta:"\u0398",Lambda:"\u039B",Xi:"\u039E",Pi:"\u03A0",Sigma:"\u03A3",Upsilon:"\u03A5",Phi:"\u03A6",Psi:"\u03A8",Omega:"\u03A9",sum:"\u2211",prod:"\u220F",coprod:"\u2210",int:"\u222B",iint:"\u222C",iiint:"\u222D",oint:"\u222E",partial:"\u2202",nabla:"\u2207",infty:"\u221E",propto:"\u221D",therefore:"\u2234",because:"\u2235",pm:"\xB1",mp:"\u2213",times:"\xD7",div:"\xF7",cdot:"\xB7",ast:"\u2217",star:"\u22C6",circ:"\u2218",bullet:"\u2219",le:"\u2264",leq:"\u2264",ge:"\u2265",geq:"\u2265",ne:"\u2260",neq:"\u2260",equiv:"\u2261",approx:"\u2248",sim:"\u223C",simeq:"\u2243",cong:"\u2245",ll:"\u226A",gg:"\u226B",subset:"\u2282",subseteq:"\u2286",supset:"\u2283",supseteq:"\u2287",in:"\u2208",notin:"\u2209",ni:"\u220B",cup:"\u222A",cap:"\u2229",setminus:"\u2216",emptyset:"\u2205",varnothing:"\u2205",perp:"\u22A5",parallel:"\u2225",angle:"\u2220",triangle:"\u25B3",to:"\u2192",gets:"\u2190",rightarrow:"\u2192",leftarrow:"\u2190",leftrightarrow:"\u2194",Rightarrow:"\u21D2",Leftarrow:"\u21D0",Leftrightarrow:"\u21D4",mapsto:"\u21A6",uparrow:"\u2191",downarrow:"\u2193",implies:"\u27F9",iff:"\u27FA",forall:"\u2200",exists:"\u2203",nexists:"\u2204",neg:"\xAC",lnot:"\xAC",land:"\u2227",wedge:"\u2227",lor:"\u2228",vee:"\u2228",oplus:"\u2295",otimes:"\u2297",Re:"\u211C",Im:"\u2111",aleph:"\u2135",hbar:"\u210F",ell:"\u2113",wp:"\u2118",ldots:"\u2026",cdots:"\u22EF",vdots:"\u22EE",ddots:"\u22F1",dots:"\u2026",degree:"\xB0",prime:"\u2032",backslash:"\\"},FI=new Set(["text","textrm","textbf","textit","mathrm","mathbf","mathit","mathsf","mathtt","mathcal","mathbb","mathfrak","boldsymbol","operatorname"]),NI=new Set(["left","right","big","Big","bigg","Bigg","bigl","bigr","bigm","displaystyle","textstyle","scriptstyle","limits","nolimits"]),eA={"0":"\u2070","1":"\xB9","2":"\xB2","3":"\xB3","4":"\u2074","5":"\u2075","6":"\u2076","7":"\u2077","8":"\u2078","9":"\u2079","+":"\u207A","-":"\u207B","=":"\u207C","(":"\u207D",")":"\u207E",n:"\u207F",i:"\u2071"},DI={"0":"\u2080","1":"\u2081","2":"\u2082","3":"\u2083","4":"\u2084","5":"\u2085","6":"\u2086","7":"\u2087","8":"\u2088","9":"\u2089","+":"\u208A","-":"\u208B","=":"\u208C","(":"\u208D",")":"\u208E",a:"\u2090",e:"\u2091",h:"\u2095",i:"\u1D62",j:"\u2C7C",k:"\u2096",l:"\u2097",m:"\u2098",n:"\u2099",o:"\u2092",p:"\u209A",r:"\u1D63",s:"\u209B",t:"\u209C",u:"\u1D64",v:"\u1D65",x:"\u2093"};function gl(e){return hl(e,{i:0})}function hl(e,t){let n="";while(t.i<e.length){let r=e.at(t.i);if(r==="}")break;if(r==="{"){t.i+=1;continue}if(r==="^"||r==="_"){t.i+=1;let o=eo(e,t);n+=tA(o,r==="^"?eA:DI,r);continue}if(r==="\\"){n+=OI(e,t);continue}n+=r,t.i+=1}return n}function OI(e,t){let n=e.at(t.i+1);if(n&&!/[a-zA-Z]/.test(n)){if(t.i+=2,n==="\\")return" ";return ml[n]??n}let r=/^[a-zA-Z]+/.exec(e.slice(t.i+1))?.[0]??"";if(t.i+=1+r.length,r==="frac"){let i=eo(e,t),a=eo(e,t);return`${Xp(i)}/${Xp(a)}`}if(r==="sqrt"){let i="";if(e.at(t.i)==="["){let l=e.indexOf("]",t.i);if(l>-1)i=hl(e.slice(t.i+1,l),{i:0}),t.i=l+1}let a=eo(e,t);return`${`${i?tA(i,eA,"^"):""}\u221A`}${nA(a)?`(${a})`:a}`}if(FI.has(r))return eo(e,t);if(NI.has(r))return"";let o=ml[r];if(o!==void 0)return o;return`\\${r}${LI(e,t)}`}function LI(e,t){while(e.at(t.i)===" ")t.i+=1;if(e.at(t.i)==="{"){let r=t.i,o=0;while(t.i<e.length){let i=e.at(t.i);if(i==="{")o+=1;else if(i==="}"){if(o-=1,o===0){t.i+=1;break}}t.i+=1}return e.slice(r,t.i)}let n=e.at(t.i)??"";return t.i+=1,n}function eo(e,t){while(e.at(t.i)===" ")t.i+=1;let n=e.at(t.i);if(n==="{"){t.i+=1;let r=hl(e,t);if(e.at(t.i)==="}")t.i+=1;return r}if(n==="\\"){let r=/^[a-zA-Z]+/.exec(e.slice(t.i+1))?.[0]??"";return t.i+=1+r.length,ml[r]??`\\${r}`}return t.i+=1,n??""}function tA(e,t,n){let r=e.trim(),o=[...r].map((i)=>t[i]);if(o.length>0&&o.every((i)=>i!==void 0))return o.join("");return r?`${n}(${r})`:""}function nA(e){let t=e.trim();if(!t)return!1;return!/^[A-Za-z0-9\u0370-\u03ff\u2200-\u22ff]+$/.test(t)}function Xp(e){let t=e.trim();return nA(t)?`(${t})`:t}function pl(e){let t="",n=0;while(n<e.length){if(e[n]==="\\"&&(e[n+1]==="$"||e[n+1]==="%")){t+=e[n+1],n+=2;continue}let r=e.startsWith("$$",n)?e.indexOf("$$",n+2):-1;if(r>-1){t+=gl(e.slice(n+2,r)),n=r+2;continue}if(e[n]==="$"){let i=e.indexOf("$",n+1),a=i>-1?e.slice(n+1,i):"";if(i>-1&&a.length>0&&!/^\s|\s$/.test(a)&&!a.includes(`
|
|
741
|
+
`)){t+=gl(a),n=i+1;continue}}let o=e[n+1]==="("||e[n+1]==="[";if(e[n]==="\\"&&o){let i=e[n+1]==="("?"\\)":"\\]",a=e.indexOf(i,n+2);if(a>-1){t+=gl(e.slice(n+2,a)),n=a+2;continue}}t+=e[n],n+=1}return t}var $I=3,GI=["starting","running","completed","failed","cancelled"],rA={starting:"subagent.status.starting",running:"subagent.status.running",completed:"subagent.status.completed",failed:"subagent.status.failed",cancelled:"subagent.status.cancelled"},zI={Pending:"\u25E6",Executing:"~",SubAgentRunning:"\u2022",Success:"\u2713",Error:"\u2717",Canceled:"\u25A0",Confirming:"?"};function HI(e){return zI[e]??"?"}function UI(e){if(!e||typeof e!=="object")return null;let t=e;if(typeof t.status!=="string")return null;let n=GI.includes(t.status)?t.status:"running",r=Array.isArray(t.toolCalls)?t.toolCalls.filter((o)=>!!o&&typeof o==="object").map((o)=>({toolName:typeof o.toolName==="string"?o.toolName:"",description:typeof o.description==="string"?o.description:"",status:typeof o.status==="string"?o.status:"Pending",durationMs:typeof o.durationMs==="number"?o.durationMs:void 0})):[];return{status:n,taskDescription:typeof t.taskDescription==="string"?t.taskDescription:void 0,description:typeof t.description==="string"?t.description:void 0,currentTurn:typeof t.currentTurn==="number"?t.currentTurn:0,maxTurns:typeof t.maxTurns==="number"?t.maxTurns:0,toolCalls:r,summary:typeof t.summary==="string"?t.summary:void 0,error:typeof t.error==="string"?t.error:void 0,startTime:typeof t.startTime==="number"?t.startTime:void 0,endTime:typeof t.endTime==="number"?t.endTime:void 0,stats:t.stats&&typeof t.stats==="object"?t.stats:void 0}}function jI(e){let t=e.trim();if(!t)return null;try{let n=JSON.parse(t);if(n&&typeof n==="object"&&n.type==="subagent_update")return UI(n.data)}catch{}return null}function Al(e){return jI(e)}function oA(e){let t=Math.max(0,e);if(t<1000)return`${Math.round(t)}ms`;let n=t/1000;if(n<10)return`${n.toFixed(1)}s`;if(n<60)return`${Math.round(n)}s`;return`${Math.floor(n/60)}m${String(Math.floor(n%60)).padStart(2,"0")}s`}function WI(e){if(e<1000)return String(e);return`${(e/1000).toFixed(1)}k`}function ZI(e){if(e==="Error")return"error";if(e==="Success")return"muted";return"text"}function iA(e,t={}){let n=t.maxTools??$I,r=[];if(e.status==="starting"||e.status==="running"){let o=Math.max(0,e.toolCalls.length-n),i=o>0?e.toolCalls.slice(-n):e.toolCalls;if(e.currentTurn>0)r.push({text:"Turn",note:`${e.currentTurn}/${e.maxTurns}`,tone:"muted"});if(o>0)r.push({text:`(${o} more tools)`,tone:"muted"});for(let a of i)r.push({glyph:HI(a.status),text:[a.toolName,a.description].filter(Boolean).join(" "),note:a.durationMs!=null?oA(a.durationMs):void 0,tone:ZI(a.status)});if(r.length===0)r.push({text:c(rA[e.status]),tone:"muted"})}else{let o=e.stats,i=o?.totalToolCalls;if(typeof i==="number"&&i>0)r.push({text:c("subagent.toolCalls"),note:`${o?.successfulToolCalls??0}/${i}`,tone:"muted"});let a=e.startTime!=null&&e.endTime!=null?e.endTime-e.startTime:void 0;if(a!=null)r.push({text:"Duration",note:oA(a),tone:"muted"});let s=o?.tokenUsage?.totalTokens;if(typeof s==="number"&&s>0)r.push({text:"Tokens",note:WI(s),tone:"muted"});if(e.maxTurns>0)r.push({text:"Turns",note:`${e.currentTurn}/${e.maxTurns}`,tone:"muted"});if(e.error)r.push({text:e.error,tone:"error"});if(r.length===0)r.push({text:c(rA[e.status]),tone:"muted"})}return r.map((o,i)=>({...o,connector:i===r.length-1?"\u2514\u2500":"\u251C\u2500"}))}var KI=[[4352,4447],[8986,8987],[9001,9002],[9193,9196],[9200,9200],[9203,9203],[9725,9726],[9748,9749],[9776,9783],[9800,9811],[9855,9855],[9866,9871],[9875,9875],[9889,9889],[9898,9899],[9917,9918],[9924,9925],[9934,9934],[9940,9940],[9962,9962],[9970,9971],[9973,9973],[9978,9978],[9981,9981],[9989,9989],[9994,9995],[10024,10024],[10060,10060],[10062,10062],[10067,10069],[10071,10071],[10133,10135],[10160,10160],[10175,10175],[11035,11036],[11088,11088],[11093,11093],[11904,11929],[11931,12019],[12032,12245],[12272,12350],[12353,12438],[12441,12543],[12549,12591],[12593,12686],[12688,12773],[12783,12830],[12832,12871],[12880,42124],[42128,42182],[43360,43388],[44032,55203],[63744,64255],[65040,65049],[65072,65106],[65108,65126],[65128,65131],[65281,65376],[65504,65510],[94176,94180],[94192,94193],[94208,100343],[100352,101589],[101631,101640],[110576,110579],[110581,110587],[110589,110590],[110592,110882],[110898,110898],[110928,110930],[110933,110933],[110948,110951],[110960,111355],[119552,119638],[119648,119670],[126980,126980],[127183,127183],[127374,127374],[127377,127386],[127488,127490],[127504,127547],[127552,127560],[127568,127569],[127584,127589],[127744,127776],[127789,127797],[127799,127868],[127870,127891],[127904,127946],[127951,127955],[127968,127984],[127988,127988],[127992,128062],[128064,128064],[128066,128252],[128255,128317],[128331,128334],[128336,128359],[128378,128378],[128405,128406],[128420,128420],[128507,128591],[128640,128709],[128716,128716],[128720,128722],[128725,128727],[128732,128735],[128747,128748],[128756,128764],[128992,129003],[129008,129008],[129292,129338],[129340,129349],[129351,129535],[129648,129660],[129664,129673],[129679,129734],[129742,129756],[129759,129769],[129776,129784],[131072,196605],[196608,262141]],QI=[[161,161],[164,164],[167,168],[170,170],[173,174],[176,180],[182,186],[188,191],[198,198],[208,208],[215,216],[222,225],[230,230],[232,234],[236,237],[240,240],[242,243],[247,250],[252,252],[254,254],[257,257],[273,273],[275,275],[283,283],[294,295],[299,299],[305,307],[312,312],[319,322],[324,324],[328,331],[333,333],[338,339],[358,359],[363,363],[462,462],[464,464],[466,466],[468,468],[470,470],[472,472],[474,474],[476,476],[593,593],[609,609],[708,708],[711,711],[713,715],[717,717],[720,720],[728,731],[733,733],[735,735],[768,879],[913,929],[931,937],[945,961],[963,969],[1025,1025],[1040,1103],[1105,1105],[8208,8208],[8211,8214],[8216,8217],[8220,8221],[8224,8226],[8228,8231],[8240,8240],[8242,8243],[8245,8245],[8251,8251],[8254,8254],[8308,8308],[8319,8319],[8321,8324],[8364,8364],[8451,8451],[8453,8453],[8457,8457],[8467,8467],[8470,8470],[8481,8482],[8486,8486],[8491,8491],[8531,8532],[8539,8542],[8544,8555],[8560,8569],[8585,8585],[8592,8601],[8632,8633],[8658,8658],[8660,8660],[8679,8679],[8704,8704],[8706,8707],[8711,8712],[8715,8715],[8719,8719],[8721,8721],[8725,8725],[8730,8730],[8733,8736],[8739,8739],[8741,8741],[8743,8748],[8750,8750],[8756,8759],[8764,8765],[8776,8776],[8780,8780],[8786,8786],[8800,8801],[8804,8807],[8810,8811],[8814,8815],[8834,8835],[8838,8839],[8853,8853],[8857,8857],[8869,8869],[8895,8895],[8978,8978],[9312,9449],[9451,9547],[9552,9587],[9600,9615],[9618,9621],[9632,9633],[9635,9641],[9650,9651],[9654,9655],[9660,9661],[9664,9665],[9670,9672],[9675,9675],[9678,9681],[9698,9701],[9711,9711],[9733,9734],[9737,9737],[9742,9743],[9756,9756],[9758,9758],[9792,9792],[9794,9794],[9824,9825],[9827,9829],[9831,9834],[9836,9837],[9839,9839],[9886,9887],[9919,9919],[9926,9933],[9935,9939],[9941,9953],[9955,9955],[9960,9961],[9963,9969],[9972,9972],[9974,9977],[9979,9980],[9982,9983],[10045,10045],[10102,10111],[11094,11097],[12872,12879],[57344,63743],[65024,65039],[65533,65533],[127232,127242],[127248,127277],[127280,127337],[127344,127373],[127375,127376],[127387,127404],[917760,917999],[983040,1048573],[1048576,1114109]],YI=[[173,173],[768,879],[1155,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1541],[1552,1562],[1564,1564],[1611,1631],[1648,1648],[1750,1757],[1759,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2045,2045],[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2192,2193],[2199,2207],[2250,2306],[2362,2362],[2364,2364],[2369,2376],[2381,2381],[2385,2391],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2558,2558],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2641,2641],[2672,2673],[2677,2677],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2810,2815],[2817,2817],[2876,2876],[2879,2879],[2881,2884],[2893,2893],[2901,2902],[2914,2915],[2946,2946],[3008,3008],[3021,3021],[3072,3072],[3076,3076],[3132,3132],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3170,3171],[3201,3201],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3328,3329],[3387,3388],[3393,3396],[3405,3405],[3426,3427],[3457,3457],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3772],[3784,3790],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3981,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4151],[4153,4154],[4157,4158],[4184,4185],[4190,4192],[4209,4212],[4226,4226],[4229,4230],[4237,4237],[4253,4253],[4957,4959],[5906,5909],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6159],[6277,6278],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6683,6683],[6742,6742],[6744,6750],[6752,6752],[6754,6754],[6757,6764],[6771,6780],[6783,6783],[6832,6862],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[6980,6980],[7019,7027],[7040,7041],[7074,7077],[7080,7085],[7142,7142],[7144,7145],[7149,7149],[7151,7155],[7212,7219],[7222,7223],[7376,7378],[7380,7392],[7394,7400],[7405,7405],[7412,7412],[7416,7417],[7616,7679],[8203,8207],[8234,8238],[8288,8292],[8294,8303],[8400,8432],[11503,11505],[11647,11647],[11744,11775],[12330,12335],[12441,12442],[42607,42610],[42612,42621],[42654,42655],[42736,42737],[43010,43010],[43014,43014],[43019,43019],[43045,43046],[43052,43052],[43204,43205],[43232,43249],[43263,43263],[43302,43309],[43335,43345],[43347,43347],[43392,43394],[43443,43443],[43446,43449],[43452,43453],[43456,43456],[43493,43493],[43561,43566],[43569,43570],[43573,43574],[43587,43587],[43596,43596],[43644,43644],[43696,43696],[43698,43700],[43703,43704],[43710,43711],[43713,43713],[43756,43757],[43766,43766],[44005,44005],[44008,44008],[44013,44013],[64286,64286],[65024,65038],[65056,65071],[65279,65279],[65529,65531],[66045,66045],[66272,66272],[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[68325,68326],[68900,68903],[68969,68973],[69291,69292],[69372,69375],[69446,69456],[69506,69509],[69633,69633],[69688,69702],[69744,69744],[69747,69748],[69759,69761],[69811,69814],[69817,69818],[69821,69821],[69826,69826],[69837,69837],[69888,69890],[69927,69931],[69933,69940],[70003,70003],[70016,70017],[70070,70078],[70080,70080],[70089,70092],[70095,70095],[70191,70193],[70196,70199],[70206,70206],[70209,70209],[70367,70367],[70371,70378],[70400,70401],[70459,70460],[70464,70464],[70477,70477],[70502,70508],[70512,70516],[70587,70592],[70606,70608],[70610,70610],[70625,70626],[70712,70719],[70722,70724],[70726,70726],[70750,70750],[70835,70840],[70842,70842],[70847,70848],[70850,70851],[71090,71093],[71100,71101],[71103,71104],[71132,71133],[71219,71226],[71229,71229],[71231,71232],[71339,71339],[71341,71341],[71344,71351],[71453,71453],[71455,71455],[71458,71461],[71463,71467],[71727,71735],[71737,71738],[71995,71998],[72003,72003],[72148,72151],[72154,72155],[72160,72160],[72193,72202],[72243,72248],[72251,72254],[72263,72263],[72273,72278],[72281,72283],[72330,72342],[72344,72345],[72752,72758],[72760,72765],[72767,72767],[72850,72871],[72874,72880],[72882,72883],[72885,72886],[73009,73014],[73018,73018],[73020,73021],[73023,73029],[73031,73031],[73104,73105],[73109,73109],[73111,73111],[73459,73460],[73472,73473],[73526,73530],[73536,73538],[73562,73562],[78896,78912],[78919,78933],[90398,90409],[90413,90415],[92912,92916],[92976,92982],[94031,94031],[94095,94098],[94180,94180],[94192,94193],[113821,113822],[113824,113827],[118528,118573],[118576,118598],[119141,119145],[119149,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],[121461,121461],[121476,121476],[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],[123023,123023],[123184,123190],[123566,123566],[123628,123631],[124140,124143],[124398,124399],[125136,125142],[125252,125258],[917505,917505],[917536,917631],[917760,917999]];function kl(e,t){let n=0,r=t.length-1;while(n<=r){let o=n+r>>1,[i,a]=t[o];if(e<i)r=o-1;else if(e>a)n=o+1;else return!0}return!1}function pr(e){if(e===0)return 0;if(e<32||e>=127&&e<160)return 0;if(e===65039)return 1;if(kl(e,YI))return 0;if(kl(e,KI))return 2;if(kl(e,QI))return 2;return 1}function de(e){let t=0;for(let n of e)t+=pr(n.codePointAt(0)??0);return t}function Ei(e,t){let n=0,r=0;for(let o of e){if(r>=t)break;let i=o.codePointAt(0)??0;n+=i===10?1:pr(i),r+=o.length}return n}var JI=48,bl=()=>c("thought.header"),xl="\u2026",VI=de(xl),aA=["\u2022","\u25E6"],yl=["\u25D0","\u25D3","\u25D1","\u25D2"],sA=120;function lA(e,t=JI){if(!e)return"";let n=e.replace(/\s+/g," ").trim();if(!n||t<=0)return"";if(de(n)<=t)return n;let r=t-VI;if(r<=0)return xl;let o=Array.from(n),i=0,a=o.length;while(a>0){let s=de(o[a-1]);if(i+s>r)break;i+=s,a-=1}return`${xl}${o.slice(a).join("")}`}var wl=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],qI={tools:"status.phase.tools",thinking:"status.phase.thinking",writing:"status.phase.writing",working:"status.phase.working"};function cA(e){if(e.blocks.some((r)=>r.type==="tool"&&(r.status==="pending"||r.status==="in_progress")))return"tools";let n=e.blocks[e.blocks.length-1];if(n?.type==="thought")return"thinking";if(n?.type==="assistant"&&n.text)return"writing";return"working"}function dA(e,t,n=!1,r){if(e==="error")return c("status.error");if(e==="exited")return c("status.exited");if(n)return c("status.restoring");switch(e){case"starting":return c("status.starting");case"thinking":return c(r?qI[r]:"status.phase.working");case"needs_approval":return c("status.waiting");default:return c(t?"status.compacting":"status.ready")}}function Sl(e,t,n=!1){if(e==="error"||e==="exited")return!1;if(n)return!0;if(e==="needs_approval")return!1;return e==="thinking"||e==="starting"||t}function Cl(e,t,n,r=!1){if(e==="error"||e==="exited")return"\u2717";if(Sl(e,t,r))return n;if(e==="needs_approval")return"\u25B3";return"\u2022"}function dn(e){if(e<1000)return String(e);if(e<1e6)return`${(e/1000).toFixed(1)}k`;return`${(e/1e6).toFixed(1)}M`}function uA(e,t,n){if(!lr(e))return;let r=t.turnStartedAt;if(r==null)return;return Math.max(0,Math.floor((n-r)/1000))}function vl(e){let t=Math.max(0,Math.floor(e));if(t<60)return`${t}s`;let n=Math.floor(t/60),r=t%60;if(n<60)return r>0?`${n}m ${r}s`:`${n}m`;let o=Math.floor(n/60),i=n%60;return i>0?`${o}h ${i}m`:`${o}h`}function Il(e){if(!e||e.used<=0)return;if(e.size<=0)return`${dn(e.used)} used`;let t=Math.round(e.used/e.size*100);return`${dn(e.used)}/${dn(e.size)} (${t}%)`}var El={default:"mode.ask",autoEdit:"mode.autoEdit",yolo:"mode.fullAccess"};function fA(e,t){return c(t?"mode.plan":El[e])}function XI(e){switch(e){case void 0:case"off":return;case"medium":return"med";case"xhigh":return"xhi";default:return e}}var gA=" \xB7 ";function eE(e,t){if(e.length===0)return[];let n=(i)=>i.reduce((a,s)=>a+s.text.length,0)+gA.length*(i.length-1)+2,r=e.slice(),o=e.map((i,a)=>({segment:i,index:a})).sort((i,a)=>i.segment.priority-a.segment.priority||a.index-i.index);for(let{segment:i}of o){if(n(r)<=t)break;if(r.length<=1)break;r=r.filter((a)=>a!==i)}return r}function tE(e){let t=e.theme,n=[];if(e.model){let s=XI(e.thinking);n.push({id:"model",text:s?`${e.model} (${s})`:e.model,color:t.textMuted,priority:80})}if(!e.authInPanel){let s=e.auth&&!e.auth.loggedIn;n.push({id:"auth",text:vi(e.auth),color:s?t.warning:t.textMuted,priority:s?95:30})}let r=Il(e.transcript.usage);if(r)n.push({id:"usage",text:r,color:t.textMuted,priority:50});let{input:o,output:i}=e.transcript.tokens;if(o+i>0)n.push({id:"tokens",text:`\u2191${dn(o)} \u2193${dn(i)}`,color:t.textMuted,priority:40});let a=["status","model","mode","usage","tokens","auth"];return n.sort((s,l)=>a.indexOf(s.id)-a.indexOf(l.id))}function mA(e){let t=se(),n=()=>tE({transcript:e.transcript,model:e.model,thinking:e.thinking,auth:e.auth,authInPanel:e.authInPanel,theme:t.theme}),r=()=>eE(n(),e.width-(e.modeChip?.text.length??0)-2);return(()=>{var o=A("box"),i=A("text"),a=A("box");return _(o,i),_(o,a),d(o,"style",{flexDirection:"row",justifyContent:"space-between",flexShrink:0,height:1,paddingLeft:1,paddingRight:1}),d(i,"selectable",!1),p(i,()=>e.modeChip?.text??""),d(a,"style",{flexDirection:"row",flexShrink:0}),p(a,h(ce,{get each(){return r()},children:(s,l)=>(()=>{var u=A("text");return p(u,(()=>{var g=ue(()=>l()===0);return()=>g()?s.text:`${gA}${s.text}`})()),I((g)=>d(u,"style",{fg:s.color,flexShrink:0},g)),u})()})),I((s)=>d(i,"style",{fg:e.modeChip?.color,flexShrink:0},s)),o})()}var nE=["pending","in_progress","completed"],Ti={completed:0,in_progress:1,pending:2},rE={completed:"\u2713",in_progress:"\u25A0",pending:"\u25A1"},oE={completed:"muted",in_progress:"accent",pending:"text"};function iE(e){if(!e||typeof e!=="object")return null;let t=e,n=typeof t.content==="string"?t.content.trim():"";if(!n)return null;return{id:typeof t.id==="string"?t.id:n,content:n,status:nE.includes(t.status)?t.status:"pending"}}function hA(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.type!=="tool")continue;let r=n.rawInput?.todos;if(!Array.isArray(r))continue;let o=r.map(iE).filter((i)=>i!==null);if(o.length===0)return[];return o.sort((i,a)=>Ti[i.status]-Ti[a.status])}return[]}function Tl(e,t={}){let n=Math.max(0,t.maxRows??5),r=e.filter((s)=>s.status==="completed").length,o={hidden:0,completedCount:r,total:e.length,isEmpty:e.length===0,allDone:e.length>0&&r===e.length};if(o.isEmpty||o.allDone)return{...o,rows:[]};if(t.expanded===!1)return{...o,rows:[]};let i=[...e].sort((s,l)=>Ti[s.status]-Ti[l.status]),a=i.slice(Math.max(0,i.length-n)).map((s)=>({glyph:rE[s.status],text:s.content,tone:oE[s.status]}));return{...o,rows:a,hidden:Math.max(0,i.length-n)}}function AA(e){return e==="github"?"#":"!"}function kA(e){return e==="github"?"sidebar.group.pr":"sidebar.group.mr"}function xA(e,t,n=new Set){if(e?.ref.url===t.url)return e;return n.has(t.url)?{ref:t,outcome:"ok",dismissed:!0}:{ref:t,outcome:"ok"}}function to(e){return!!e&&!e.dismissed}function Bl(e,t){if(aE(e))return{kind:"unavailable",reason:t};return{kind:"error",message:e}}function aE(e){return e.includes("ENOENT")||/Executable not found/i.test(e)}var sE=/(https?):\/\/([^/\s]+)\/(\S+?)\/-\/merge_requests\/(\d+)(?!\d)/g,lE=/(https?):\/\/([^/\s]+)\/([^/\s]+)\/([^/\s]+)\/pull\/(\d+)(?!\d)/g;function pA(e,t){let n=null;e.lastIndex=0;for(let r=e.exec(t);r;r=e.exec(t))n=r;return n}function cE(e){if(!e)return null;let t=pA(sE,e),n=pA(lE,e);if(n&&(!t||n.index>t.index)){let[,l,u,g,m,k]=n;return{provider:"github",url:`${l}://${u}/${g}/${m}/pull/${k}`,host:u,projectPath:`${g}/${m}`,iid:Number(k)}}if(!t)return null;let[,o,i,a,s]=t;if(!a||a.startsWith("-/"))return null;return{provider:"gitlab",url:`${o}://${i}/${a}/-/merge_requests/${s}`,host:i,projectPath:a,iid:Number(s)}}function bA(e,t){let n=[];for(let r of e??[])if(r.text)n.push(r.text);if(t)n.push(t);return n.length?cE(n.join(`
|
|
742
|
+
`)):null}function yA(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(!n||n.type!=="tool")continue;if(n.status!=="completed"&&n.status!=="failed")continue;return n}return}function wA(e,t,n){if(n==="unavailable")return 0;if(n==="error")return 60000;if(!e)return 5000;if(e!=="opened")return 0;return t==="running"?1e4:30000}function SA(e){switch(e){case"running":return"busy";case"success":return"ok";case"failed":return"bad";default:return"idle"}}function CA(e){return e==="ok"}function vA(e){if(e==="merged")return"mr.state.merged";if(e==="closed")return"mr.state.closed";return"mr.state.open"}var Ar=38,dE=Ar+76;function Ri(e){return e>=dE}var uE=4;function IA(e,t={}){let n=t.maxTasks??uE,r=e.filter((i)=>i.status==="running").sort((i,a)=>i.startedAt-a.startedAt),o=r.slice(0,n);return{running:o,hidden:r.length-o.length}}var BA=20,fE=3,gE=6;var RA=2;function EA(e,t,n=0){let r=Math.max(0,t)*RA,o=Math.max(0,n);return Math.max(0,e-BA-r-o)}var Rl=3;function no(e){let{theme:t}=se();return h(Rt,{onActivate:()=>e.onRun?.(),children:(n)=>(()=>{var r=A("box"),o=A("text"),i=A("b");return _(r,o),_(o,i),d(o,"selectable",!1),p(i,()=>e.label),I((a)=>{var s={flexDirection:"row",border:["left","right"],borderColor:n?t.primary:t.border,backgroundColor:n?void 0:t.backgroundElement},l={fg:ot(t,n,t.primary)};return s!==a.e&&(a.e=d(r,"style",s,a.e)),l!==a.t&&(a.t=d(o,"style",l,a.t)),a},{e:void 0,t:void 0}),r})()})}function mE(e){let{theme:t}=se(),n=()=>e.auth?.loggedIn===!0,r=()=>e.auth!==void 0;return(()=>{var o=A("box"),i=A("text");return _(o,i),d(o,"style",{flexDirection:"row",flexShrink:0,gap:1}),d(i,"wrapMode","none"),d(i,"overflow","hidden"),d(i,"selectable",!1),p(i,()=>vi(e.auth)),p(o,h(F,{get when(){return ue(()=>!!r())()&&n()},get children(){return[h(no,{get label(){return c("sidebar.account.center")},onRun:()=>e.onAccount?.()}),h(no,{get label(){return c("sidebar.account.logout")},onRun:()=>e.onLogout?.()})]}}),null),p(o,h(F,{get when(){return ue(()=>!!r())()&&!n()},get children(){return h(no,{get label(){return c("sidebar.account.login")},onRun:()=>e.onLogin?.()})}}),null),I((a)=>d(i,"style",{fg:n()?t.text:t.warning,flexGrow:1,flexShrink:1,minWidth:0},a)),o})()}function hE(e,t){let n=Math.max(0,t)*RA;return e-BA-n>=Rl}function pE(e,t,n){let r=Math.max(0,Math.min(t,e)),o=Math.max(0,Math.min(n,e-r));return{todo:r,tasks:o}}function Pn(e){let{theme:t}=se();return(()=>{var n=A("box"),r=A("box"),o=A("text"),i=A("b"),a=A("box");return _(n,r),_(n,a),d(n,"style",{flexDirection:"column",flexShrink:0,marginTop:1}),_(r,o),_(o,i),d(o,"selectable",!1),p(i,()=>e.title),p(o,h(F,{get when(){return e.note},get children(){var s=A("span");return p(s,()=>` ${e.note}`),I((l)=>d(s,"style",{fg:t.textMuted},l)),s}}),null),p(r,h(F,{get when(){return e.action},children:(s)=>[(()=>{var l=A("box");return d(l,"style",{flexGrow:1}),l})(),h(Rt,{onActivate:()=>s().onRun?.(),children:(l)=>(()=>{var u=A("text");return d(u,"selectable",!1),p(u,()=>s().label),I((g)=>d(u,"style",{fg:ot(t,l,t.textMuted)},g)),u})()})]}),null),d(a,"style",{flexDirection:"column",flexShrink:0,paddingLeft:PA}),p(a,()=>e.children),I((s)=>{var l={flexDirection:"row",flexShrink:0,border:["left"],borderColor:t.primary,backgroundColor:t.backgroundElement,paddingLeft:1,paddingRight:e.action?1:0},u={fg:t.text,flexShrink:0};return l!==s.e&&(s.e=d(r,"style",l,s.e)),u!==s.t&&(s.t=d(o,"style",u,s.t)),s},{e:void 0,t:void 0}),n})()}function Pt(e){let{theme:t}=se(),n=()=>e.tone==="warning"?t.warning:e.tone==="success"?t.success:t.textMuted;return(()=>{var r=A("text");return d(r,"wrapMode","none"),d(r,"overflow","hidden"),d(r,"selectable",!1),p(r,h(F,{get when(){return e.label},get children(){var o=A("span");return p(o,()=>e.label+" ".repeat(Math.max(1,_A-de(e.label)))),I((i)=>d(o,"style",{fg:t.textMuted},i)),o}}),null),p(r,()=>e.text,null),I((o)=>d(r,"style",{fg:n(),flexShrink:0},o)),r})()}var _A=7,PA=2,Pl=Ar-4-PA,MA=Pl-_A,FA=Pl-2;function _l(e,t=FA){return e.length<=t?e:`${e.slice(0,t-1)}\u2026`}var TA=3,AE=de("\u25CF ");function kE(e){let t=`${AA(e.ref.provider)}${e.ref.iid}`,n=e.status?.sourceBranch;if(!n)return t;let r=Pl-AE-de(t)-1;if(r<2)return t;return`${t} ${_l(n,r-1)}`}function xE(e){if(e.outcome==="unavailable")return c(e.ref.provider==="github"?"mr.unavailable.gh":"mr.unavailable.glab");if(e.outcome==="error")return c("mr.unavailable.error");return e.status?c(vA(e.status.state)):void 0}function bE(e){if(!CA(e.outcome))return;let t=e.status?.pipeline;if(!t)return;let n=SA(t);return n==="idle"?void 0:n}function Ml(e,t=MA){if(de(e)<=t)return e;let n=e.includes("\\")?"\\":"/",r=e.split(/[\\/]/);for(let l=r.length-1;l>=1;l--){let u=`\u2026${n}${r.slice(-l).join(n)}`;if(de(u)<=t)return u}let o=t-de("\u2026"),i=Array.from(e),a=0,s=i.length;while(s>0){let l=de(i[s-1]);if(a+l>o)break;a+=l,s-=1}return`\u2026${i.slice(s).join("")}`}function yE(e){if(e.read===0&&e.creation===0)return;return`${e.hitRate.toFixed(1)}%`}function Bi(e){if(!Number.isFinite(e)||e<0)return"0";if(e>=1e6)return`${(e/1e6).toFixed(2)}M`;if(e>=1000)return`${(e/1000).toFixed(2)}k`;return Math.floor(e).toString()}function wE(e){return`${Bi(e.used)}/${Bi(e.total)} (${e.usagePercentage.toFixed(1)}%)`}function SE(e){if(!e?.available)return[];let t=[],n=(r,o)=>{if(!o)return;t.push({label:r,text:o.limit>0?c("sidebar.quota.left",{percent:`${Math.round(o.remaining/o.limit*100)}%`}):c("sidebar.quota.none")})};return n(c("sidebar.label.daily"),e.daily),n(c("sidebar.label.weekly"),e.zhWeekly),n(c("sidebar.label.weekly.bj"),e.bjWeekly),t}function CE(e){return`${c("sidebar.credits.turn")} ${Bi(e.turn)} \xB7 ${c("sidebar.credits.total")} ${Bi(e.session)}`}function NA(e){let{theme:t}=se(),n=()=>Tl(e.todos),r=()=>IA(e.tasks),o=()=>n().total>0&&!n().allDone,i=()=>e.todosExpanded===!1?0:n().rows.length,a=()=>(o()?1:0)+(r().running.length>0?1:0),s=()=>!!e.update&&hE(e.terminalHeight,a()),l=()=>(s()?Rl:0)+(e.mr?TA:0),u=()=>e.updatePhase??{phase:"idle"},g=()=>pE(EA(e.terminalHeight,a(),l()),i(),r().running.length),m=()=>IA(e.tasks,{maxTasks:g().tasks}),k=()=>Tl(e.todos,{maxRows:g().todo,expanded:e.todosExpanded}),y=(b)=>{if(b==="accent")return t.accent;return b==="muted"?t.textMuted:t.text},R=(b)=>{if(b==="running")return t.accent;if(b==="waiting")return t.warning;if(b==="exited")return t.error;return t.textMuted},N=(b)=>b==="ok"?t.success:b==="bad"?t.error:t.accent,M=()=>Math.min(gE,Math.max(fE,EA(e.terminalHeight,2,(e.update&&e.updatePhase?Rl:0)+(e.mr?TA:0)))),P=()=>Il(e.usage)??c("sidebar.usage.none"),w=()=>{let{input:b,output:C}=e.tokens;if(b+C===0)return c("sidebar.tokens.none");return`\u2191${dn(b)} \u2193${dn(C)}`},L=()=>yE(e.cache)??c("sidebar.cache.none"),S=()=>e.allowance?.available?e.allowance:void 0;return(()=>{var b=A("box"),C=A("text"),O=A("b"),z=A("box"),J=A("text"),V=A("span"),q=ze(" Easy Code ");return _(b,C),_(b,z),_(b,J),_(C,O),d(C,"wrapMode","none"),d(C,"selectable",!1),p(O,()=>e.title??c("session.untitled")),p(b,h(F,{get when(){return e.feishu?.running},get children(){var X=A("text");return d(X,"wrapMode","none"),d(X,"selectable",!1),p(X,(()=>{var ae=ue(()=>!!e.feishu?.botName);return()=>ae()?c("feishu.runningNamed",{bot:e.feishu.botName}):c("feishu.running")})()),I((ae)=>d(X,"style",{fg:t.success,flexShrink:0},ae)),X}}),z),p(b,h(F,{get when(){return e.sessions},get children(){return h(Pn,{get title(){return c("sidebar.group.sessions")},get children(){return[h(F,{get when(){return e.sessions.length>0},get children(){var X=A("scrollbox");return p(X,h(ce,{get each(){return e.sessions??[]},children:(ae)=>h(Rt,{onActivate:()=>e.onActivateSession?.(ae),children:(Q)=>[(()=>{var oe=A("text");return d(oe,"selectable",!1),p(oe,()=>ae.tone==="idle"?"\u25CB":"\u25CF"),I((le)=>d(oe,"style",{fg:ot(t,Q,R(ae.tone)),flexShrink:0},le)),oe})(),(()=>{var oe=A("text");return d(oe,"wrapMode","none"),d(oe,"overflow","hidden"),d(oe,"selectable",!1),p(oe,()=>` ${_l(ae.title,FA)}`),I((le)=>d(oe,"style",{fg:ot(t,Q,ae.active?t.text:t.textMuted),flexShrink:0},le)),oe})()]})})),I((ae)=>d(X,"style",{height:M(),flexShrink:0},ae)),X}}),h(no,{get label(){return c("sidebar.newSession")},onRun:()=>e.onNewSession?.()})]}})}}),z),p(b,h(Pn,{get title(){return c("sidebar.group.project")},get children(){return[h(F,{get when(){return e.branch},get children(){return h(Pt,{get label(){return c("sidebar.label.branch")},get text(){return _l(e.branch,MA-1)}})}}),h(Pt,{get label(){return c("sidebar.label.dir")},get text(){return Ml(e.cwd)}})]}}),z),p(b,h(F,{get when(){return e.mr},children:(X)=>h(F,{get when(){return to(X())},get children(){return h(Pn,{get title(){return c(kA(X().ref.provider))},get note(){return xE(X())},action:{label:"\u2715",onRun:()=>e.onDismissMr?.()},get children(){return h(Rt,{onActivate:()=>e.onOpenMr?.(X().ref.url),children:(ae)=>[h(F,{get when(){return bE(X())},children:(Q)=>(()=>{var oe=A("text");return _(oe,ze("\u25CF ")),d(oe,"selectable",!1),I((le)=>d(oe,"style",{fg:ot(t,ae,N(Q())),flexShrink:0},le)),oe})()}),(()=>{var Q=A("text");return d(Q,"wrapMode","none"),d(Q,"overflow","hidden"),d(Q,"selectable",!1),p(Q,()=>kE(X())),I((oe)=>d(Q,"style",{fg:ot(t,ae,t.textMuted),flexShrink:0},oe)),Q})()]})}})}})}),z),p(b,h(Pn,{get title(){return c("sidebar.group.model")},get children(){return[h(Pt,{get label(){return c("sidebar.label.model")},get text(){return e.model??c("sidebar.model.none")}}),h(Pt,{get label(){return c("sidebar.label.cache")},get text(){return L()}}),h(Pt,{get text(){return P()}}),h(Pt,{get text(){return w()}}),h(Pt,{get label(){return c("sidebar.label.mode")},get text(){return c(El[e.mode])},get tone(){return e.mode==="yolo"?"warning":"muted"}})]}}),z),p(b,h(F,{get when(){return S()},children:(X)=>h(Pn,{get title(){return c("sidebar.group.credits")},get children(){return[h(Pt,{get text(){return wE(X())}}),h(Pt,{get text(){return CE(e.credits)}}),h(ce,{get each(){return SE(e.quota)},children:(ae)=>h(Pt,{get label(){return ae.label},get text(){return ae.text}})})]}})}),z),p(b,h(F,{get when(){return o()},get children(){return h(Pn,{get title(){return c("sidebar.group.tasks")},get note(){return`${k().completedCount}/${k().total}${k().hidden>0?` +${k().hidden}`:""}`},get children(){return h(ce,{get each(){return k().rows},children:(X)=>(()=>{var ae=A("text");return d(ae,"wrapMode","none"),d(ae,"overflow","hidden"),d(ae,"selectable",!1),p(ae,()=>`${X.glyph} ${X.text}`),I((Q)=>d(ae,"style",{fg:y(X.tone),flexShrink:0},Q)),ae})()})}})}}),z),p(b,h(F,{get when(){return m().running.length>0},get children(){return h(Pn,{get title(){return c("sidebar.group.background")},get note(){return ue(()=>m().hidden>0)()?`+${m().hidden}`:void 0},get children(){return h(ce,{get each(){return m().running},children:(X)=>h(Pt,{get text(){return`\u2022 ${X.label}`}})})}})}}),z),d(z,"style",{flexGrow:1,minHeight:0}),p(b,h(mE,{get auth(){return e.auth},onAccount:()=>e.onAccount?.(),onLogout:()=>e.onLogout?.(),onLogin:()=>e.onLogin?.()}),J),p(b,h(F,{get when(){return ue(()=>!!s())()?e.update:void 0},children:(X)=>(()=>{var ae=A("box");return d(ae,"style",{flexDirection:"column",flexShrink:0,marginTop:1}),p(ae,h(F,{get when(){return u().phase==="running"},get children(){return[(()=>{var Q=A("text");return d(Q,"selectable",!1),p(Q,()=>c("sidebar.update.updating",{version:u().version})),I((oe)=>d(Q,"style",{fg:t.accent,flexShrink:0},oe)),Q})(),(()=>{var Q=A("text");return d(Q,"selectable",!1),p(Q,()=>c("sidebar.update.alongside")),I((oe)=>d(Q,"style",{fg:t.textMuted,flexShrink:0},oe)),Q})()]}}),null),p(ae,h(F,{get when(){return u().phase==="done"},get children(){return[(()=>{var Q=A("text");return d(Q,"selectable",!1),p(Q,()=>c("sidebar.update.done",{version:u().version})),I((oe)=>d(Q,"style",{fg:t.success,flexShrink:0},oe)),Q})(),(()=>{var Q=A("text");return d(Q,"selectable",!1),p(Q,()=>c("sidebar.update.restart")),I((oe)=>d(Q,"style",{fg:t.textMuted,flexShrink:0},oe)),Q})()]}}),null),p(ae,h(F,{get when(){return u().phase==="failed"},get children(){return[(()=>{var Q=A("text");return d(Q,"selectable",!1),p(Q,()=>c("sidebar.update.failed")),I((oe)=>d(Q,"style",{fg:t.error,flexShrink:0},oe)),Q})(),(()=>{var Q=A("text");return d(Q,"wrapMode","none"),d(Q,"overflow","hidden"),d(Q,"selectable",!1),p(Q,()=>u().reason),I((oe)=>d(Q,"style",{fg:t.textMuted,flexShrink:0},oe)),Q})()]}}),null),p(ae,h(F,{get when(){return u().phase==="idle"},get children(){return[(()=>{var Q=A("text");return d(Q,"selectable",!1),p(Q,()=>c("sidebar.update.available",{version:X().latestVersion})),I((oe)=>d(Q,"style",{fg:t.accent,flexShrink:0},oe)),Q})(),h(no,{get label(){return c("sidebar.update.now")},onRun:()=>e.onRunUpdate?.()})]}}),null),ae})()}),J),_(J,V),_(J,q),d(J,"selectable",!1),_(V,ze("\u2022")),p(J,()=>e.version,null),I((X)=>{var ae={width:38,flexShrink:0,flexDirection:"column",backgroundColor:t.backgroundPanel,paddingTop:1,paddingBottom:1,paddingLeft:2,paddingRight:2},Q={fg:t.text,flexShrink:0},oe={fg:t.textMuted,flexShrink:0},le={fg:t.success};return ae!==X.e&&(X.e=d(b,"style",ae,X.e)),Q!==X.t&&(X.t=d(C,"style",Q,X.t)),oe!==X.a&&(X.a=d(J,"style",oe,X.a)),le!==X.o&&(X.o=d(V,"style",le,X.o)),X},{e:void 0,t:void 0,a:void 0,o:void 0}),b})()}var vE={read:"\u2261",edit:"\u270E",delete:"\u2298",move:"\u2194",search:"\u25CE",execute:"\u276F",think:"\u22EF",fetch:"\u21E3",switch_mode:"\u21C4",other:"\u2022"},IE={pending:"tool.status.pending",in_progress:"tool.status.running",completed:"tool.status.done",failed:"tool.status.failed"},EE={read:{running:"tool.verb.read.running",done:"tool.verb.read.done"},edit:{running:"tool.verb.edit.running",done:"tool.verb.edit.done"},delete:{running:"tool.verb.delete.running",done:"tool.verb.delete.done"},move:{running:"tool.verb.move.running",done:"tool.verb.move.done"},search:{running:"tool.verb.search.running",done:"tool.verb.search.done"},execute:{running:"tool.verb.execute.running",done:"tool.verb.execute.done"},think:{running:"tool.verb.think.running",done:"tool.verb.think.done"},fetch:{running:"tool.verb.fetch.running",done:"tool.verb.fetch.done"},switch_mode:{running:"tool.verb.switchMode.running",done:"tool.verb.switchMode.done"}};function $A(e){return vE[e]}function GA(e){return c(IE[e])}var Dl=" \u2014 ";function TE(e){let t=e.indexOf(Dl);return(t<0?e:e.slice(0,t)).trim()}function zA(e){let t=e.indexOf(Dl);return t<0?"":e.slice(t+Dl.length).trim()}function HA(e,t,n){let r=t==="pending"||t==="in_progress",o=EE[e]?.[r?"running":"done"]??(r?"tool.verb.execute.running":"tool.verb.execute.done"),i=c(o),a=TE(n);return a?`${i} ${a}`:i}var BE=/\s(?:\+\d+(?:\s-\d+)?|-\d+)$/;function UA(e){return BE.test(e.trim())}var Fl=20000;function jA(e){let{toolKind:t,status:n,title:r,rawInput:o,content:i,terminalOutput:a}=e;if(n!=="completed")return null;switch(t){case"read":case"search":{let s=LA(i,Fl,"head"),l=Nl(o,["file_path","absolute_path","path","filename"]),u=Ol(l||r),g=Nl(o,["pattern","regex","query"])??"",m=DA(r,u),k=g&&!DA(r,g)?` for "${g}"`:"",y=s.match(/\((\d+)\s+lines?\)/i);if(y){let L=_i(y[1],"line");return m?L:`Read ${u||"file"}, ${L}`}let R=s.match(/read\s+lines:\s*(\d+-\d+)/i);if(R)return m?`lines ${R[1]}`:`Read ${u||"file"}, lines ${R[1]}`;let N=s.match(/Found\s+(\d+)\s+matching\s+file/i)??s.match(/Found\s+(\d+)\s+files?\b/i);if(N)return`Found ${_i(N[1],"file")}${k}`;let M=s.match(/Found\s+(\d+)\s+match(?:es)?\b/i);if(M)return`Found ${_i(M[1],"match","matches")}${k}`;if(/No matches found|No files found/i.test(s))return k?`${c("tool.noMatches")}${k}`:c("tool.noMatches");let P=s.match(/Listed\s+(\d+)\s+item/i);if(P)return`Listed ${_i(P[1],"item")}`;let w=(s.match(/--- .*? ---/g)||[]).length;if(w>1)return`Read ${w} files`;if(g||m)return null;return u?`Read ${u}`:null}case"delete":{let s=Ol(Nl(o,["file_path","absolute_path","path"]));return s?`Deleted ${s}`:null}case"execute":{let l=`${LA(i,Fl,"tail")}
|
|
743
|
+
${ZA(a??"",Fl)}`.match(/exit\s*code:?\s*(\d+)/i);return l?c("tool.exitCode",{code:l[1]}):null}default:return null}}function DA(e,t){if(!e||!t)return!1;return e.includes(t)||Ol(e)===t}function _i(e,t,n=`${t}s`){return`${e} ${e==="1"?t:n}`}function OA(e){return(e.toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[]).map(RE)}function RE(e){let t=e;while(t.length>2&&(t.endsWith("s")||t.endsWith("e")))t=t.slice(0,-1);return t}var _E=2;function WA(e,...t){let n=e.split(`
|
|
744
|
+
`).map((o)=>o.trim()).filter((o)=>o.length>0);if(n.length===0)return!0;if(n.length>_E)return!1;let r=new Set(OA(t.filter((o)=>!!o).join(" ")));return n.every((o)=>{let i=OA(o);return i.length>0&&i.every((a)=>r.has(a))})}function Ol(e){if(!e)return"";let t=e.split(/[/\\]/);return t[t.length-1]||e}function Nl(e,t){if(!e)return;for(let n of t){let r=e[n];if(typeof r==="string"&&r.length>0)return r}return}function LA(e,t,n){let r=(e??[]).map((o)=>o.text).filter((o)=>!!o).join(`
|
|
745
|
+
`);return n==="head"?r.slice(0,t):ZA(r,t)}function ZA(e,t){return e.length<=t?e:e.slice(-t)}var ME=3,FE=1,NE=0.8;function Jt(){let e=se();return new Proxy({},{get:(t,n)=>e.theme[n]})}function KA(e,t){let n=e.split(`
|
|
746
746
|
`);return n.length<=t?e:n.slice(-t).join(`
|
|
747
|
-
`)}function _E(e){let t={foreground:e.markdownHeading,bold:!0};return[{scope:["default"],style:{foreground:e.markdownText}},{scope:["markup.heading"],style:t},{scope:["markup.heading.1"],style:t},{scope:["markup.heading.2"],style:t},{scope:["markup.heading.3"],style:t},{scope:["markup.bold"],style:{foreground:e.markdownStrong,bold:!0}},{scope:["markup.italic"],style:{foreground:e.markdownEmph,italic:!0}},{scope:["markup.raw","markup.raw.inline"],style:{foreground:e.markdownCode}},{scope:["markup.raw.block"],style:{foreground:e.markdownCodeBlock}},{scope:["markup.link"],style:{foreground:e.markdownLink}},{scope:["markup.link.label"],style:{foreground:e.markdownLinkText}},{scope:["markup.quote"],style:{foreground:e.markdownBlockQuote}},{scope:["markup.list"],style:{foreground:e.markdownListItem}},{scope:["markup.list.enumeration"],style:{foreground:e.markdownListEnumeration}},{scope:["comment"],style:{foreground:e.syntaxComment,italic:!0}},{scope:["string"],style:{foreground:e.syntaxString}},{scope:["keyword"],style:{foreground:e.syntaxKeyword}},{scope:["function"],style:{foreground:e.syntaxFunction}},{scope:["variable"],style:{foreground:e.syntaxVariable}},{scope:["number"],style:{foreground:e.syntaxNumber}},{scope:["type"],style:{foreground:e.syntaxType}},{scope:["operator"],style:{foreground:e.syntaxOperator}},{scope:["punctuation"],style:{foreground:e.syntaxPunctuation}}]}var KA=new WeakMap;function no(e){let t=KA.get(e);if(!t)t=EE.fromTheme(_E(e)),KA.set(e,t);return t}function PE(e){let t=Jt();return(()=>{var n=A("box"),r=A("diff");return R(n,r),d(n,"style",{flexDirection:"column",width:"100%"}),d(r,"view","unified"),d(r,"showLineNumbers",!0),d(r,"width","100%"),d(r,"wrapMode","none"),E((o)=>{var i=Vp(e.oldText,e.newText,e.path),a=t.text,s=no(t),{diffAddedBg:l,diffRemovedBg:u,diffContextBg:m,diffHighlightAdded:g,diffHighlightRemoved:k,diffLineNumber:y,diffContextBg:_,diffAddedLineNumberBg:U,diffRemovedLineNumberBg:D}=t;return i!==o.e&&(o.e=d(r,"diff",i,o.e)),a!==o.t&&(o.t=d(r,"fg",a,o.t)),s!==o.a&&(o.a=d(r,"syntaxStyle",s,o.a)),l!==o.o&&(o.o=d(r,"addedBg",l,o.o)),u!==o.i&&(o.i=d(r,"removedBg",u,o.i)),m!==o.n&&(o.n=d(r,"contextBg",m,o.n)),g!==o.s&&(o.s=d(r,"addedSignColor",g,o.s)),k!==o.h&&(o.h=d(r,"removedSignColor",k,o.h)),y!==o.r&&(o.r=d(r,"lineNumberFg",y,o.r)),_!==o.d&&(o.d=d(r,"lineNumberBg",_,o.d)),U!==o.l&&(o.l=d(r,"addedLineNumberBg",U,o.l)),D!==o.u&&(o.u=d(r,"removedLineNumberBg",D,o.u)),o},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0,d:void 0,l:void 0,u:void 0}),n})()}function ME(e){let t=Jt(),[n,r]=j(!1),o=()=>jh(e.block.text);return h(P,{get when(){return o()},children:(i)=>(()=>{var a=A("box"),s=A("text");return R(a,s),d(a,"onMouseOver",()=>r(!0)),d(a,"onMouseOut",()=>r(!1)),d(a,"onMouseUp",()=>e.onMenu?.()),p(s,i),p(a,h(P,{get when(){return e.restorable},get children(){var l=A("text");return d(l,"selectable",!1),p(l,()=>`\u21BA ${c("menu.restore")}`),E((u)=>d(l,"style",{fg:t.primary},u)),l}}),null),E((l)=>{var u={flexDirection:"column",flexShrink:0,marginTop:1,border:["left"],borderColor:t.primary,backgroundColor:n()?t.backgroundElement:t.backgroundPanel,paddingTop:1,paddingBottom:1,paddingLeft:2,paddingRight:1},m={fg:t.text};return u!==l.e&&(l.e=d(a,"style",u,l.e)),m!==l.t&&(l.t=d(s,"style",m,l.t)),l},{e:void 0,t:void 0}),a})()})}function FE(e){let t=Jt();return(()=>{var n=A("box"),r=A("markdown");return R(n,r),d(n,"style",{paddingLeft:3,paddingRight:1,marginTop:1,flexShrink:0}),d(r,"streaming",!0),d(r,"conceal",!0),E((o)=>{var i=pl(e.block.text),a=no(t),{markdownText:s,background:l}=t;return i!==o.e&&(o.e=d(r,"content",i,o.e)),a!==o.t&&(o.t=d(r,"syntaxStyle",a,o.t)),s!==o.a&&(o.a=d(r,"fg",s,o.a)),l!==o.o&&(o.o=d(r,"bg",l,o.o)),o},{e:void 0,t:void 0,a:void 0,o:void 0}),n})()}function NE(e){let t=Jt(),n=vt(),[r,o]=j(!0),i=setInterval(()=>o((s)=>!s),1000);Me(()=>clearInterval(i));let a=()=>{let s=n().width,l=Ri(s)?pr:0,u=s-l-BE*2-TE-he(bl())-3;return Math.floor(u*RE)};return(()=>{var s=A("box"),l=A("text"),u=A("text");return R(s,l),R(s,u),d(s,"style",{flexDirection:"row",paddingLeft:3,marginTop:1,flexShrink:0}),p(l,()=>iA[r()?0:1]),p(u,bl),p(s,h(P,{get when(){return sA(pl(e.block.text),a())},children:(m)=>(()=>{var g=A("text");return p(g,()=>` ${m()}`),E((k)=>d(g,"style",{fg:t.textMuted,flexShrink:1},k)),g})()}),null),E((m)=>{var g={fg:t.textMuted,flexShrink:0},k={fg:t.accent,flexShrink:0};return g!==m.e&&(m.e=d(l,"style",g,m.e)),k!==m.t&&(m.t=d(u,"style",k,m.t)),m},{e:void 0,t:void 0}),s})()}function DE(e){let t=Jt();return(()=>{var n=A("box"),r=A("text");return R(n,r),d(n,"style",{paddingLeft:3,marginTop:1,flexShrink:0}),p(r,()=>e.block.text),E((o)=>d(r,"style",{fg:t.textMuted},o)),n})()}function OE(e){let t=Jt();return(()=>{var n=A("box"),r=A("text");return R(n,r),p(r,()=>`${Np.failed} ${e.block.message}`),E((o)=>{var i={flexDirection:"column",flexShrink:0,marginTop:1,border:["left"],borderColor:t.error,backgroundColor:t.backgroundPanel,paddingTop:1,paddingBottom:1,paddingLeft:2,paddingRight:1},a={fg:t.error};return i!==o.e&&(o.e=d(n,"style",i,o.e)),a!==o.t&&(o.t=d(r,"style",a,o.t)),o},{e:void 0,t:void 0}),n})()}function LE(e){let t=Jt(),n=(r)=>{if(r==="completed")return t.success;if(r==="in_progress")return t.accent;return t.textMuted};return(()=>{var r=A("box"),o=A("text");return R(r,o),d(r,"style",{flexDirection:"column",paddingLeft:3,marginTop:1,flexShrink:0}),R(o,ze("Plan")),p(r,h(ce,{get each(){return e.block.entries},children:(i)=>(()=>{var a=A("text");return p(a,()=>` ${Dp[i.status]} ${i.content}`),E((s)=>d(a,"style",{fg:n(i.status)},s)),a})()}),null),E((i)=>d(o,"style",{fg:t.textMuted},i)),r})()}function $E(e,t){if(t==="failed")return e.error;if(t==="completed")return e.textMuted;return e.text}var GE=0.3;function zE(e){return yt(e.textMuted,e.background,GE)}function HE(e){let t=Jt(),n=()=>oA(e.view),r=(o)=>{if(o.tone==="error")return t.error;return o.tone==="muted"?t.textMuted:t.text};return(()=>{var o=A("box");return d(o,"style",{flexDirection:"column",flexShrink:0}),p(o,h(ce,{get each(){return n()},children:(i)=>(()=>{var a=A("box"),s=A("text"),l=A("text");return R(a,s),R(a,l),d(a,"style",{flexDirection:"row"}),p(s,()=>` ${i.connector} `),p(a,h(P,{get when(){return i.glyph},children:(u)=>(()=>{var m=A("text");return p(m,()=>`${u()} `),E((g)=>d(m,"style",{fg:r(i),flexShrink:0},g)),m})()}),l),p(l,()=>i.text),p(a,h(P,{get when(){return i.note},children:(u)=>(()=>{var m=A("text");return p(m,()=>` ${u()}`),E((g)=>d(m,"style",{fg:t.textMuted,flexShrink:0},g)),m})()}),null),E((u)=>{var m={fg:t.textMuted,flexShrink:0},g={fg:r(i)};return m!==u.e&&(u.e=d(s,"style",m,u.e)),g!==u.t&&(u.t=d(l,"style",g,u.t)),u},{e:void 0,t:void 0}),a})()}),null),p(o,h(P,{get when(){return e.view.summary},children:(i)=>(()=>{var a=A("box"),s=A("markdown");return R(a,s),d(a,"style",{paddingLeft:5,marginTop:1}),d(s,"conceal",!0),E((l)=>{var u=i(),m=no(t),{markdownText:g,background:k}=t;return u!==l.e&&(l.e=d(s,"content",u,l.e)),m!==l.t&&(l.t=d(s,"syntaxStyle",m,l.t)),g!==l.a&&(l.a=d(s,"fg",g,l.a)),k!==l.o&&(l.o=d(s,"bg",k,l.o)),l},{e:void 0,t:void 0,a:void 0,o:void 0}),a})()}),null),o})()}function UE(e){let t=Jt(),[n,r]=j(0),o=()=>e.block.status==="pending"||e.block.status==="in_progress",i=setInterval(()=>{if(o())r((S)=>S+1)},aA);Me(()=>clearInterval(i));let a=()=>(e.block.content??[]).flatMap((S)=>S.diff?[S.diff]:[]),s=()=>{for(let S of e.block.content??[]){if(!S.text)continue;let z=Al(S.text);if(z)return z}return},l=()=>$E(t,e.block.status),u=()=>e.block.toolKind==="execute"&&(e.block.status==="pending"||e.block.status==="in_progress"),m=()=>zE(t),g=()=>zA(e.block.toolKind,e.block.status,e.block.title),k=()=>GA(e.block.title),y=()=>UA({toolKind:e.block.toolKind,status:e.block.status,title:e.block.title,rawInput:e.block.rawInput,content:e.block.content,terminalOutput:e.block.terminalOutput}),_=(S)=>e.block.toolKind==="execute"||!jA(S,g(),y()),U=()=>(e.block.content??[]).map((S)=>S.text).filter((S)=>!!S).filter((S)=>Al(S)===null).filter(_),D=()=>!HA(e.block.title),N=()=>e.block.status==="failed"?t.error:m();return(()=>{var S=A("box"),z=A("box"),w=A("text"),b=A("text"),v=A("text");return R(S,z),d(S,"style",{flexDirection:"column",paddingLeft:3,marginTop:1,flexShrink:0}),R(z,w),R(z,b),R(z,v),d(z,"style",{flexDirection:"row"}),p(w,()=>`${LA(e.block.toolKind)} `),p(b,g),p(z,h(P,{get when(){return k()},children:(F)=>(()=>{var L=A("text");return p(L,()=>` ${F()}`),E((J)=>d(L,"style",{fg:m(),flexShrink:1},J)),L})()}),v),p(z,h(P,{get when(){return y()},children:(F)=>(()=>{var L=A("text");return p(L,()=>` ${F()}`),E((J)=>d(L,"style",{fg:t.textMuted,flexShrink:1},J)),L})()}),v),p(z,h(P,{get when(){return D()},get children(){return h(ce,{get each(){return a()},children:(F)=>{let L=Jp(vi(F.oldText,F.newText,{maxLines:Number.MAX_SAFE_INTEGER}));return(()=>{var J=A("text");return p(J,()=>` +${L.added} -${L.removed}`),E((V)=>d(J,"style",{fg:t.textMuted},V)),J})()}})}}),v),p(z,h(P,{get when(){return o()},get children(){var F=A("text");return p(F,()=>` ${yl[n()%yl.length]}`),E((L)=>d(F,"style",{fg:l(),flexShrink:0},L)),F}}),v),p(v,()=>` ${$A(e.block.status)}`),p(S,h(P,{get when(){return u()},get children(){var F=A("text");return p(F,()=>c("tool.runInBackground")),E((L)=>d(F,"style",{fg:m()},L)),F}}),null),p(S,h(ce,{get each(){return a()},children:(F)=>h(PE,{get oldText(){return F.oldText},get newText(){return F.newText},get path(){return F.path}})}),null),p(S,h(P,{get when(){return s()},children:(F)=>h(HE,{get view(){return F()}})}),null),p(S,h(ce,{get each(){return U()},children:(F)=>(()=>{var L=A("text");return p(L,()=>ZA(F,12)),E((J)=>d(L,"style",{fg:m()},J)),L})()}),null),p(S,h(P,{get when(){return e.block.terminalOutput},children:(F)=>(()=>{var L=A("text");return p(L,()=>ZA(F(),12)),E((J)=>d(L,"style",{fg:m()},J)),L})()}),null),E((F)=>{var L={fg:l(),flexShrink:0},J={fg:l()},V={fg:N(),flexShrink:0};return L!==F.e&&(F.e=d(w,"style",L,F.e)),J!==F.t&&(F.t=d(b,"style",J,F.t)),V!==F.a&&(F.a=d(v,"style",V,F.a)),F},{e:void 0,t:void 0,a:void 0}),S})()}function QA(e){return[h(P,{get when(){return de(()=>e.block.type==="user")()&&e.block},children:(t)=>h(ME,{get block(){return t()},get restorable(){return e.restorable},get onMenu(){return e.userIndex===void 0||!e.onUserMenu?void 0:()=>e.onUserMenu(e.userIndex)}})}),h(P,{get when(){return de(()=>e.block.type==="assistant")()&&e.block},children:(t)=>h(FE,{get block(){return t()}})}),h(P,{get when(){return de(()=>e.block.type==="thought")()&&e.block},children:(t)=>h(NE,{get block(){return t()}})}),h(P,{get when(){return de(()=>e.block.type==="tool")()&&e.block},children:(t)=>h(UE,{get block(){return t()}})}),h(P,{get when(){return de(()=>e.block.type==="plan")()&&e.block},children:(t)=>h(LE,{get block(){return t()}})}),h(P,{get when(){return de(()=>e.block.type==="notice")()&&e.block},children:(t)=>h(DE,{get block(){return t()}})}),h(P,{get when(){return de(()=>e.block.type==="error")()&&e.block},children:(t)=>h(OE,{get block(){return t()}})})]}li();import*as Pi from"path";import{exec as jE}from"child_process";import{promisify as WE}from"util";import*as Ee from"fs/promises";import*as dt from"path";var YA="clipboard";var Ue=WE(jE);function JA(){return!!(process.env.WSL_DISTRO_NAME||process.env.WSL_INTEROP||process.env.WSLENV||process.platform==="linux"&&process.env.WSLENV)}async function VA(){let e={hasXclip:!1,hasXsel:!1,hasImageMagick:!1,hasBase64:!1};try{await Ue("which xclip"),e.hasXclip=!0}catch{}try{await Ue("which xsel"),e.hasXsel=!0}catch{}try{await Ue("which convert"),e.hasImageMagick=!0}catch{}try{await Ue("which base64"),e.hasBase64=!0}catch{}return e}function ZE(e){if(e.startsWith("/mnt/")){let t=e.match(/^\/mnt\/([a-z])\/(.*)$/);if(t){let n=t[1].toUpperCase(),r=t[2].replace(/\//g,"\\");return`${n}:\\${r}`}}return e.replace(/\//g,"\\")}async function qA(){try{if(process.platform==="darwin")return await KE();else if(process.platform==="win32")return await QE();else if(JA())return await YE();else if(process.platform==="linux")return await JE();return!1}catch(e){return console.error("\u526A\u8D34\u677F\u68C0\u6D4B\u5931\u8D25:",e),!1}}var ro=YA;async function KE(){try{let{stdout:e}=await Ue(`osascript -e 'clipboard info' 2>/dev/null | grep -qE "\xABclass PNGf\xBB|TIFF picture|JPEG picture|GIF picture|\xABclass JPEG\xBB|\xABclass TIFF\xBB" && echo "true" || echo "false"`,{shell:"/bin/bash"});return e.trim()==="true"}catch{return!1}}async function QE(){try{console.log("\uD83D\uDD0D [Windows\u526A\u8D34\u677F] \u5F00\u59CB\u68C0\u6D4B");let e=`Add-Type -AssemblyName System.Windows.Forms
|
|
747
|
+
`)}function DE(e){let t={foreground:e.markdownHeading,bold:!0};return[{scope:["default"],style:{foreground:e.markdownText}},{scope:["markup.heading"],style:t},{scope:["markup.heading.1"],style:t},{scope:["markup.heading.2"],style:t},{scope:["markup.heading.3"],style:t},{scope:["markup.bold"],style:{foreground:e.markdownStrong,bold:!0}},{scope:["markup.italic"],style:{foreground:e.markdownEmph,italic:!0}},{scope:["markup.raw","markup.raw.inline"],style:{foreground:e.markdownCode}},{scope:["markup.raw.block"],style:{foreground:e.markdownCodeBlock}},{scope:["markup.link"],style:{foreground:e.markdownLink}},{scope:["markup.link.label"],style:{foreground:e.markdownLinkText}},{scope:["markup.quote"],style:{foreground:e.markdownBlockQuote}},{scope:["markup.list"],style:{foreground:e.markdownListItem}},{scope:["markup.list.enumeration"],style:{foreground:e.markdownListEnumeration}},{scope:["comment"],style:{foreground:e.syntaxComment,italic:!0}},{scope:["string"],style:{foreground:e.syntaxString}},{scope:["keyword"],style:{foreground:e.syntaxKeyword}},{scope:["function"],style:{foreground:e.syntaxFunction}},{scope:["variable"],style:{foreground:e.syntaxVariable}},{scope:["number"],style:{foreground:e.syntaxNumber}},{scope:["type"],style:{foreground:e.syntaxType}},{scope:["operator"],style:{foreground:e.syntaxOperator}},{scope:["punctuation"],style:{foreground:e.syntaxPunctuation}}]}var QA=new WeakMap;function ro(e){let t=QA.get(e);if(!t)t=PE.fromTheme(DE(e)),QA.set(e,t);return t}function OE(e){let t=Jt();return(()=>{var n=A("box"),r=A("diff");return _(n,r),d(n,"style",{flexDirection:"column",width:"100%"}),d(r,"view","unified"),d(r,"showLineNumbers",!0),d(r,"width","100%"),d(r,"wrapMode","none"),I((o)=>{var i=qp(e.oldText,e.newText,e.path),a=t.text,s=ro(t),{diffAddedBg:l,diffRemovedBg:u,diffContextBg:g,diffHighlightAdded:m,diffHighlightRemoved:k,diffLineNumber:y,diffContextBg:R,diffAddedLineNumberBg:N,diffRemovedLineNumberBg:M}=t;return i!==o.e&&(o.e=d(r,"diff",i,o.e)),a!==o.t&&(o.t=d(r,"fg",a,o.t)),s!==o.a&&(o.a=d(r,"syntaxStyle",s,o.a)),l!==o.o&&(o.o=d(r,"addedBg",l,o.o)),u!==o.i&&(o.i=d(r,"removedBg",u,o.i)),g!==o.n&&(o.n=d(r,"contextBg",g,o.n)),m!==o.s&&(o.s=d(r,"addedSignColor",m,o.s)),k!==o.h&&(o.h=d(r,"removedSignColor",k,o.h)),y!==o.r&&(o.r=d(r,"lineNumberFg",y,o.r)),R!==o.d&&(o.d=d(r,"lineNumberBg",R,o.d)),N!==o.l&&(o.l=d(r,"addedLineNumberBg",N,o.l)),M!==o.u&&(o.u=d(r,"removedLineNumberBg",M,o.u)),o},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0,d:void 0,l:void 0,u:void 0}),n})()}function LE(e){let t=Jt(),[n,r]=j(!1),o=()=>Wh(e.block.text);return h(F,{get when(){return o()},children:(i)=>(()=>{var a=A("box"),s=A("text");return _(a,s),d(a,"onMouseOver",()=>r(!0)),d(a,"onMouseOut",()=>r(!1)),d(a,"onMouseUp",()=>e.onMenu?.()),p(s,i),p(a,h(F,{get when(){return e.restorable},get children(){var l=A("text");return d(l,"selectable",!1),p(l,()=>`\u21BA ${c("menu.restore")}`),I((u)=>d(l,"style",{fg:t.primary},u)),l}}),null),I((l)=>{var u={flexDirection:"column",flexShrink:0,marginTop:1,border:["left"],borderColor:t.primary,backgroundColor:n()?t.backgroundElement:t.backgroundPanel,paddingTop:1,paddingBottom:1,paddingLeft:2,paddingRight:1},g={fg:t.text};return u!==l.e&&(l.e=d(a,"style",u,l.e)),g!==l.t&&(l.t=d(s,"style",g,l.t)),l},{e:void 0,t:void 0}),a})()})}function $E(e){let t=Jt();return(()=>{var n=A("box"),r=A("markdown");return _(n,r),d(n,"style",{paddingLeft:3,paddingRight:1,marginTop:1,flexShrink:0}),d(r,"streaming",!0),d(r,"conceal",!0),I((o)=>{var i=pl(e.block.text),a=ro(t),{markdownText:s,background:l}=t;return i!==o.e&&(o.e=d(r,"content",i,o.e)),a!==o.t&&(o.t=d(r,"syntaxStyle",a,o.t)),s!==o.a&&(o.a=d(r,"fg",s,o.a)),l!==o.o&&(o.o=d(r,"bg",l,o.o)),o},{e:void 0,t:void 0,a:void 0,o:void 0}),n})()}function GE(e){let t=Jt(),n=ht(),[r,o]=j(!0),i=setInterval(()=>o((s)=>!s),1000);Me(()=>clearInterval(i));let a=()=>{let s=n().width,l=Ri(s)?Ar:0,u=s-l-FE*2-ME-de(bl())-3;return Math.floor(u*NE)};return(()=>{var s=A("box"),l=A("text"),u=A("text");return _(s,l),_(s,u),d(s,"style",{flexDirection:"row",paddingLeft:3,marginTop:1,flexShrink:0}),p(l,()=>aA[r()?0:1]),p(u,bl),p(s,h(F,{get when(){return lA(pl(e.block.text),a())},children:(g)=>(()=>{var m=A("text");return p(m,()=>` ${g()}`),I((k)=>d(m,"style",{fg:t.textMuted,flexShrink:1},k)),m})()}),null),I((g)=>{var m={fg:t.textMuted,flexShrink:0},k={fg:t.accent,flexShrink:0};return m!==g.e&&(g.e=d(l,"style",m,g.e)),k!==g.t&&(g.t=d(u,"style",k,g.t)),g},{e:void 0,t:void 0}),s})()}function zE(e){let t=Jt();return(()=>{var n=A("box"),r=A("text");return _(n,r),d(n,"style",{paddingLeft:3,marginTop:1,flexShrink:0}),p(r,()=>e.block.text),I((o)=>d(r,"style",{fg:t.textMuted},o)),n})()}function HE(e){let t=Jt();return(()=>{var n=A("box"),r=A("text");return _(n,r),p(r,()=>`${Dp.failed} ${e.block.message}`),I((o)=>{var i={flexDirection:"column",flexShrink:0,marginTop:1,border:["left"],borderColor:t.error,backgroundColor:t.backgroundPanel,paddingTop:1,paddingBottom:1,paddingLeft:2,paddingRight:1},a={fg:t.error};return i!==o.e&&(o.e=d(n,"style",i,o.e)),a!==o.t&&(o.t=d(r,"style",a,o.t)),o},{e:void 0,t:void 0}),n})()}function UE(e){let t=Jt(),n=(r)=>{if(r==="completed")return t.success;if(r==="in_progress")return t.accent;return t.textMuted};return(()=>{var r=A("box"),o=A("text");return _(r,o),d(r,"style",{flexDirection:"column",paddingLeft:3,marginTop:1,flexShrink:0}),_(o,ze("Plan")),p(r,h(ce,{get each(){return e.block.entries},children:(i)=>(()=>{var a=A("text");return p(a,()=>` ${Op[i.status]} ${i.content}`),I((s)=>d(a,"style",{fg:n(i.status)},s)),a})()}),null),I((i)=>d(o,"style",{fg:t.textMuted},i)),r})()}function jE(e,t){if(t==="failed")return e.error;if(t==="completed")return e.textMuted;return e.text}var WE=0.3;function ZE(e){return wt(e.textMuted,e.background,WE)}function KE(e){let t=Jt(),n=()=>iA(e.view),r=(o)=>{if(o.tone==="error")return t.error;return o.tone==="muted"?t.textMuted:t.text};return(()=>{var o=A("box");return d(o,"style",{flexDirection:"column",flexShrink:0}),p(o,h(ce,{get each(){return n()},children:(i)=>(()=>{var a=A("box"),s=A("text"),l=A("text");return _(a,s),_(a,l),d(a,"style",{flexDirection:"row"}),p(s,()=>` ${i.connector} `),p(a,h(F,{get when(){return i.glyph},children:(u)=>(()=>{var g=A("text");return p(g,()=>`${u()} `),I((m)=>d(g,"style",{fg:r(i),flexShrink:0},m)),g})()}),l),p(l,()=>i.text),p(a,h(F,{get when(){return i.note},children:(u)=>(()=>{var g=A("text");return p(g,()=>` ${u()}`),I((m)=>d(g,"style",{fg:t.textMuted,flexShrink:0},m)),g})()}),null),I((u)=>{var g={fg:t.textMuted,flexShrink:0},m={fg:r(i)};return g!==u.e&&(u.e=d(s,"style",g,u.e)),m!==u.t&&(u.t=d(l,"style",m,u.t)),u},{e:void 0,t:void 0}),a})()}),null),p(o,h(F,{get when(){return e.view.summary},children:(i)=>(()=>{var a=A("box"),s=A("markdown");return _(a,s),d(a,"style",{paddingLeft:5,marginTop:1}),d(s,"conceal",!0),I((l)=>{var u=i(),g=ro(t),{markdownText:m,background:k}=t;return u!==l.e&&(l.e=d(s,"content",u,l.e)),g!==l.t&&(l.t=d(s,"syntaxStyle",g,l.t)),m!==l.a&&(l.a=d(s,"fg",m,l.a)),k!==l.o&&(l.o=d(s,"bg",k,l.o)),l},{e:void 0,t:void 0,a:void 0,o:void 0}),a})()}),null),o})()}function QE(e){let t=Jt(),[n,r]=j(0),o=()=>e.block.status==="pending"||e.block.status==="in_progress",i=setInterval(()=>{if(o())r((w)=>w+1)},sA);Me(()=>clearInterval(i));let a=()=>(e.block.content??[]).flatMap((w)=>w.diff?[w.diff]:[]),s=()=>{for(let w of e.block.content??[]){if(!w.text)continue;let L=Al(w.text);if(L)return L}return},l=()=>jE(t,e.block.status),u=()=>e.block.toolKind==="execute"&&(e.block.status==="pending"||e.block.status==="in_progress"),g=()=>ZE(t),m=()=>HA(e.block.toolKind,e.block.status,e.block.title),k=()=>zA(e.block.title),y=()=>jA({toolKind:e.block.toolKind,status:e.block.status,title:e.block.title,rawInput:e.block.rawInput,content:e.block.content,terminalOutput:e.block.terminalOutput}),R=(w)=>e.block.toolKind==="execute"||!WA(w,m(),y()),N=()=>(e.block.content??[]).map((w)=>w.text).filter((w)=>!!w).filter((w)=>Al(w)===null).filter(R),M=()=>!UA(e.block.title),P=()=>e.block.status==="failed"?t.error:g();return(()=>{var w=A("box"),L=A("box"),S=A("text"),b=A("text"),C=A("text");return _(w,L),d(w,"style",{flexDirection:"column",paddingLeft:3,marginTop:1,flexShrink:0}),_(L,S),_(L,b),_(L,C),d(L,"style",{flexDirection:"row"}),p(S,()=>`${$A(e.block.toolKind)} `),p(b,m),p(L,h(F,{get when(){return k()},children:(O)=>(()=>{var z=A("text");return p(z,()=>` ${O()}`),I((J)=>d(z,"style",{fg:g(),flexShrink:1},J)),z})()}),C),p(L,h(F,{get when(){return y()},children:(O)=>(()=>{var z=A("text");return p(z,()=>` ${O()}`),I((J)=>d(z,"style",{fg:t.textMuted,flexShrink:1},J)),z})()}),C),p(L,h(F,{get when(){return M()},get children(){return h(ce,{get each(){return a()},children:(O)=>{let z=Vp(Ii(O.oldText,O.newText,{maxLines:Number.MAX_SAFE_INTEGER}));return(()=>{var J=A("text");return p(J,()=>` +${z.added} -${z.removed}`),I((V)=>d(J,"style",{fg:t.textMuted},V)),J})()}})}}),C),p(L,h(F,{get when(){return o()},get children(){var O=A("text");return p(O,()=>` ${yl[n()%yl.length]}`),I((z)=>d(O,"style",{fg:l(),flexShrink:0},z)),O}}),C),p(C,()=>` ${GA(e.block.status)}`),p(w,h(F,{get when(){return u()},get children(){var O=A("text");return p(O,()=>c("tool.runInBackground")),I((z)=>d(O,"style",{fg:g()},z)),O}}),null),p(w,h(ce,{get each(){return a()},children:(O)=>h(OE,{get oldText(){return O.oldText},get newText(){return O.newText},get path(){return O.path}})}),null),p(w,h(F,{get when(){return s()},children:(O)=>h(KE,{get view(){return O()}})}),null),p(w,h(ce,{get each(){return N()},children:(O)=>(()=>{var z=A("text");return p(z,()=>KA(O,12)),I((J)=>d(z,"style",{fg:g()},J)),z})()}),null),p(w,h(F,{get when(){return e.block.terminalOutput},children:(O)=>(()=>{var z=A("text");return p(z,()=>KA(O(),12)),I((J)=>d(z,"style",{fg:g()},J)),z})()}),null),I((O)=>{var z={fg:l(),flexShrink:0},J={fg:l()},V={fg:P(),flexShrink:0};return z!==O.e&&(O.e=d(S,"style",z,O.e)),J!==O.t&&(O.t=d(b,"style",J,O.t)),V!==O.a&&(O.a=d(C,"style",V,O.a)),O},{e:void 0,t:void 0,a:void 0}),w})()}function YA(e){return[h(F,{get when(){return ue(()=>e.block.type==="user")()&&e.block},children:(t)=>h(LE,{get block(){return t()},get restorable(){return e.restorable},get onMenu(){return e.userIndex===void 0||!e.onUserMenu?void 0:()=>e.onUserMenu(e.userIndex)}})}),h(F,{get when(){return ue(()=>e.block.type==="assistant")()&&e.block},children:(t)=>h($E,{get block(){return t()}})}),h(F,{get when(){return ue(()=>e.block.type==="thought")()&&e.block},children:(t)=>h(GE,{get block(){return t()}})}),h(F,{get when(){return ue(()=>e.block.type==="tool")()&&e.block},children:(t)=>h(QE,{get block(){return t()}})}),h(F,{get when(){return ue(()=>e.block.type==="plan")()&&e.block},children:(t)=>h(UE,{get block(){return t()}})}),h(F,{get when(){return ue(()=>e.block.type==="notice")()&&e.block},children:(t)=>h(zE,{get block(){return t()}})}),h(F,{get when(){return ue(()=>e.block.type==="error")()&&e.block},children:(t)=>h(HE,{get block(){return t()}})})]}ci();import*as Pi from"path";import{exec as YE}from"child_process";import{promisify as JE}from"util";import*as Ee from"fs/promises";import*as dt from"path";var JA="clipboard";var Ue=JE(YE);function VA(){return!!(process.env.WSL_DISTRO_NAME||process.env.WSL_INTEROP||process.env.WSLENV||process.platform==="linux"&&process.env.WSLENV)}async function qA(){let e={hasXclip:!1,hasXsel:!1,hasImageMagick:!1,hasBase64:!1};try{await Ue("which xclip"),e.hasXclip=!0}catch{}try{await Ue("which xsel"),e.hasXsel=!0}catch{}try{await Ue("which convert"),e.hasImageMagick=!0}catch{}try{await Ue("which base64"),e.hasBase64=!0}catch{}return e}function VE(e){if(e.startsWith("/mnt/")){let t=e.match(/^\/mnt\/([a-z])\/(.*)$/);if(t){let n=t[1].toUpperCase(),r=t[2].replace(/\//g,"\\");return`${n}:\\${r}`}}return e.replace(/\//g,"\\")}async function XA(){try{if(process.platform==="darwin")return await qE();else if(process.platform==="win32")return await XE();else if(VA())return await e2();else if(process.platform==="linux")return await t2();return!1}catch(e){return console.error("\u526A\u8D34\u677F\u68C0\u6D4B\u5931\u8D25:",e),!1}}var oo=JA;async function qE(){try{let{stdout:e}=await Ue(`osascript -e 'clipboard info' 2>/dev/null | grep -qE "\xABclass PNGf\xBB|TIFF picture|JPEG picture|GIF picture|\xABclass JPEG\xBB|\xABclass TIFF\xBB" && echo "true" || echo "false"`,{shell:"/bin/bash"});return e.trim()==="true"}catch{return!1}}async function XE(){try{console.log("\uD83D\uDD0D [Windows\u526A\u8D34\u677F] \u5F00\u59CB\u68C0\u6D4B");let e=`Add-Type -AssemblyName System.Windows.Forms
|
|
748
748
|
if ([Windows.Forms.Clipboard]::ContainsImage()) {
|
|
749
749
|
Write-Output "image"
|
|
750
750
|
} elseif ([Windows.Forms.Clipboard]::ContainsText()) {
|
|
@@ -758,7 +758,7 @@ if ([Windows.Forms.Clipboard]::ContainsImage()) {
|
|
|
758
758
|
}
|
|
759
759
|
} else {
|
|
760
760
|
Write-Output "none"
|
|
761
|
-
}`;console.log("\uD83D\uDD0D [Windows\u526A\u8D34\u677F] \u6267\u884CPowerShell\u811A\u672C");let t=Buffer.from(e,"utf16le").toString("base64"),{stdout:n}=await Ue(`powershell.exe -ExecutionPolicy Bypass -NoProfile -EncodedCommand ${t}`),r=n.trim();console.log("\uD83D\uDD0D [Windows\u526A\u8D34\u677F] PowerShell\u8FD4\u56DE:",r);let o=r==="image"||r==="base64"||r==="url";return console.log("\uD83D\uDD0D [Windows\u526A\u8D34\u677F] \u68C0\u6D4B\u7ED3\u679C:",o),o}catch{return!1}}async function
|
|
761
|
+
}`;console.log("\uD83D\uDD0D [Windows\u526A\u8D34\u677F] \u6267\u884CPowerShell\u811A\u672C");let t=Buffer.from(e,"utf16le").toString("base64"),{stdout:n}=await Ue(`powershell.exe -ExecutionPolicy Bypass -NoProfile -EncodedCommand ${t}`),r=n.trim();console.log("\uD83D\uDD0D [Windows\u526A\u8D34\u677F] PowerShell\u8FD4\u56DE:",r);let o=r==="image"||r==="base64"||r==="url";return console.log("\uD83D\uDD0D [Windows\u526A\u8D34\u677F] \u68C0\u6D4B\u7ED3\u679C:",o),o}catch{return!1}}async function e2(){try{let t=Buffer.from(`Add-Type -AssemblyName System.Windows.Forms
|
|
762
762
|
if ([Windows.Forms.Clipboard]::ContainsImage()) {
|
|
763
763
|
Write-Output "image"
|
|
764
764
|
} elseif ([Windows.Forms.Clipboard]::ContainsText()) {
|
|
@@ -772,9 +772,9 @@ if ([Windows.Forms.Clipboard]::ContainsImage()) {
|
|
|
772
772
|
}
|
|
773
773
|
} else {
|
|
774
774
|
Write-Output "none"
|
|
775
|
-
}`,"utf16le").toString("base64"),{stdout:n}=await Ue(`powershell.exe -ExecutionPolicy Bypass -NoProfile -EncodedCommand ${t}`),r=n.trim();return r==="image"||r==="base64"||r==="url"}catch(e){return console.error("WSL clipboard detection error:",e),!1}}async function
|
|
775
|
+
}`,"utf16le").toString("base64"),{stdout:n}=await Ue(`powershell.exe -ExecutionPolicy Bypass -NoProfile -EncodedCommand ${t}`),r=n.trim();return r==="image"||r==="base64"||r==="url"}catch(e){return console.error("WSL clipboard detection error:",e),!1}}async function t2(){try{let e=await qA();if(!e.hasXclip&&!e.hasXsel)return console.warn(`\u274C \u7F3A\u5C11\u526A\u5207\u677F\u5DE5\u5177: \u8BF7\u5B89\u88C5 xclip \u6216 xsel
|
|
776
776
|
Ubuntu: sudo apt install xclip
|
|
777
|
-
\u6216: sudo apt install xsel`),!1;let t=e.hasXclip?"xclip":"xsel",n=e.hasXclip?"-selection clipboard -t TARGETS -o":"--clipboard --output";try{let{stdout:r}=await Ue(`${t} ${n} 2>/dev/null || echo ""`),o=r.toLowerCase();if(/image\//.test(o)||/png/.test(o)||/jpeg/.test(o)||/gif/.test(o)||/bmp/.test(o)||/webp/.test(o)||/svg/.test(o))return!0;let a=e.hasXclip?"-selection clipboard -o":"--clipboard --output",{stdout:s}=await Ue(`${t} ${a} 2>/dev/null || echo ""`),l=s.trim();if(l){if(/^data:image\/[^;]+;base64,/.test(l))return!0;if(/\.(png|jpg|jpeg|gif|bmp|webp|svg)(\s*$|\?)/i.test(l))return!0}return!1}catch{return!1}}catch(e){return console.error("Linux clipboard detection error:",e),!1}}async function
|
|
777
|
+
\u6216: sudo apt install xsel`),!1;let t=e.hasXclip?"xclip":"xsel",n=e.hasXclip?"-selection clipboard -t TARGETS -o":"--clipboard --output";try{let{stdout:r}=await Ue(`${t} ${n} 2>/dev/null || echo ""`),o=r.toLowerCase();if(/image\//.test(o)||/png/.test(o)||/jpeg/.test(o)||/gif/.test(o)||/bmp/.test(o)||/webp/.test(o)||/svg/.test(o))return!0;let a=e.hasXclip?"-selection clipboard -o":"--clipboard --output",{stdout:s}=await Ue(`${t} ${a} 2>/dev/null || echo ""`),l=s.trim();if(l){if(/^data:image\/[^;]+;base64,/.test(l))return!0;if(/\.(png|jpg|jpeg|gif|bmp|webp|svg)(\s*$|\?)/i.test(l))return!0}return!1}catch{return!1}}catch(e){return console.error("Linux clipboard detection error:",e),!1}}async function ek(e){if(process.platform==="darwin")return n2(e);else if(process.platform==="win32")return r2(e);else if(VA())return o2(e);else if(process.platform==="linux")return i2(e);return null}async function n2(e){try{let t=e||process.cwd(),n=dt.join(t,oo);await Ee.mkdir(n,{recursive:!0});let r=new Date().getTime(),o=[{class:"PNGf",extension:"png"},{class:"JPEG",extension:"jpg"},{class:"TIFF",extension:"tiff"},{class:"GIFf",extension:"gif"}];for(let i of o){let a=dt.join(n,`clipboard-${r}.${i.extension}`),s=`
|
|
778
778
|
try
|
|
779
779
|
set imageData to the clipboard as \xABclass ${i.class}\xBB
|
|
780
780
|
set fileRef to open for access POSIX file "${a}" with write permission
|
|
@@ -787,7 +787,7 @@ if ([Windows.Forms.Clipboard]::ContainsImage()) {
|
|
|
787
787
|
end try
|
|
788
788
|
return "error"
|
|
789
789
|
end try
|
|
790
|
-
`,{stdout:l}=await Ue(`osascript -e '${s}'`);if(l.trim()==="success")try{if((await Ee.stat(a)).size>0)return a}catch{}try{await Ee.unlink(a)}catch{}}return null}catch(t){return console.error("Error saving clipboard image:",t),null}}async function
|
|
790
|
+
`,{stdout:l}=await Ue(`osascript -e '${s}'`);if(l.trim()==="success")try{if((await Ee.stat(a)).size>0)return a}catch{}try{await Ee.unlink(a)}catch{}}return null}catch(t){return console.error("Error saving clipboard image:",t),null}}async function r2(e){try{let t=e||process.cwd(),n=dt.join(t,oo);await Ee.mkdir(n,{recursive:!0});let r=new Date().getTime(),o=`Add-Type -AssemblyName System.Windows.Forms
|
|
791
791
|
if ([Windows.Forms.Clipboard]::ContainsImage()) {
|
|
792
792
|
Write-Output "image"
|
|
793
793
|
} elseif ([Windows.Forms.Clipboard]::ContainsText()) {
|
|
@@ -801,7 +801,7 @@ if ([Windows.Forms.Clipboard]::ContainsImage()) {
|
|
|
801
801
|
}
|
|
802
802
|
} else {
|
|
803
803
|
Write-Output "none"
|
|
804
|
-
}`,i=Buffer.from(o,"utf16le").toString("base64"),{stdout:a}=await Ue(`powershell.exe -ExecutionPolicy Bypass -NoProfile -EncodedCommand ${i}`),s=a.trim();if(s==="image"){let l=dt.join(n,`clipboard-${r}.png`),
|
|
804
|
+
}`,i=Buffer.from(o,"utf16le").toString("base64"),{stdout:a}=await Ue(`powershell.exe -ExecutionPolicy Bypass -NoProfile -EncodedCommand ${i}`),s=a.trim();if(s==="image"){let l=dt.join(n,`clipboard-${r}.png`),g=`Add-Type -AssemblyName System.Windows.Forms
|
|
805
805
|
Add-Type -AssemblyName System.Drawing
|
|
806
806
|
|
|
807
807
|
try {
|
|
@@ -811,8 +811,8 @@ try {
|
|
|
811
811
|
Write-Output "success"
|
|
812
812
|
} catch {
|
|
813
813
|
Write-Output "error"
|
|
814
|
-
}`,
|
|
815
|
-
Write-Output ([Windows.Forms.Clipboard]::GetText())`,"utf16le").toString("base64"),{stdout:
|
|
814
|
+
}`,m=Buffer.from(g,"utf16le").toString("base64"),{stdout:k}=await Ue(`powershell.exe -ExecutionPolicy Bypass -NoProfile -EncodedCommand ${m}`);if(k.trim()==="success")try{if((await Ee.stat(l)).size>0)return l}catch{}}else if(s==="base64"){let u=Buffer.from(`Add-Type -AssemblyName System.Windows.Forms
|
|
815
|
+
Write-Output ([Windows.Forms.Clipboard]::GetText())`,"utf16le").toString("base64"),{stdout:g}=await Ue(`powershell.exe -ExecutionPolicy Bypass -NoProfile -EncodedCommand ${u}`),k=g.trim().match(/^data:image\/([^;]+);base64,(.+)$/);if(k){let y=k[1]==="jpeg"?"jpg":k[1],R=k[2],N=dt.join(n,`clipboard-${r}.${y}`);try{if(await Ee.writeFile(N,Buffer.from(R,"base64")),(await Ee.stat(N)).size>0)return N}catch{}}}else if(s==="url")return null;return null}catch(t){return console.error("Error saving clipboard image:",t),null}}async function o2(e){try{let t=e||process.cwd(),n=dt.join(t,oo);await Ee.mkdir(n,{recursive:!0}),console.log("\uD83D\uDD0D [WSL\u526A\u8D34\u677F] \u57FA\u7840\u76EE\u5F55:",t),console.log("\uD83D\uDD0D [WSL\u526A\u8D34\u677F] \u4E34\u65F6\u76EE\u5F55:",n);let r=new Date().getTime(),o=`Add-Type -AssemblyName System.Windows.Forms
|
|
816
816
|
if ([Windows.Forms.Clipboard]::ContainsImage()) {
|
|
817
817
|
Write-Output "image"
|
|
818
818
|
} elseif ([Windows.Forms.Clipboard]::ContainsText()) {
|
|
@@ -826,7 +826,7 @@ if ([Windows.Forms.Clipboard]::ContainsImage()) {
|
|
|
826
826
|
}
|
|
827
827
|
} else {
|
|
828
828
|
Write-Output "none"
|
|
829
|
-
}`,i=Buffer.from(o,"utf16le").toString("base64"),{stdout:a}=await Ue(`powershell.exe -ExecutionPolicy Bypass -NoProfile -EncodedCommand ${i}`),s=a.trim();if(console.log("\uD83D\uDD0D [WSL\u526A\u8D34\u677F] \u5185\u5BB9\u7C7B\u578B:",s),s==="image"){let l=dt.join(n,`clipboard-${r}.png`),u=
|
|
829
|
+
}`,i=Buffer.from(o,"utf16le").toString("base64"),{stdout:a}=await Ue(`powershell.exe -ExecutionPolicy Bypass -NoProfile -EncodedCommand ${i}`),s=a.trim();if(console.log("\uD83D\uDD0D [WSL\u526A\u8D34\u677F] \u5185\u5BB9\u7C7B\u578B:",s),s==="image"){let l=dt.join(n,`clipboard-${r}.png`),u=VE(l);console.log("\uD83D\uDD0D [WSL\u526A\u8D34\u677F] Linux\u8DEF\u5F84:",l),console.log("\uD83D\uDD0D [WSL\u526A\u8D34\u677F] Windows\u8DEF\u5F84:",u);let g=`Add-Type -AssemblyName System.Windows.Forms
|
|
830
830
|
Add-Type -AssemblyName System.Drawing
|
|
831
831
|
|
|
832
832
|
try {
|
|
@@ -836,26 +836,26 @@ try {
|
|
|
836
836
|
Write-Output "success"
|
|
837
837
|
} catch {
|
|
838
838
|
Write-Output "error: $($_.Exception.Message)"
|
|
839
|
-
}`,
|
|
840
|
-
Write-Output ([Windows.Forms.Clipboard]::GetText())`,"utf16le").toString("base64"),{stdout:
|
|
839
|
+
}`,m=Buffer.from(g,"utf16le").toString("base64"),{stdout:k}=await Ue(`powershell.exe -ExecutionPolicy Bypass -NoProfile -EncodedCommand ${m}`);if(k.trim()==="success")try{if((await Ee.stat(l)).size>0)return l}catch{}else console.error("PowerShell save error:",k.trim())}else if(s==="base64"){let u=Buffer.from(`Add-Type -AssemblyName System.Windows.Forms
|
|
840
|
+
Write-Output ([Windows.Forms.Clipboard]::GetText())`,"utf16le").toString("base64"),{stdout:g}=await Ue(`powershell.exe -ExecutionPolicy Bypass -NoProfile -EncodedCommand ${u}`),k=g.trim().match(/^data:image\/([^;]+);base64,(.+)$/);if(k){let y=k[1]==="jpeg"?"jpg":k[1],R=k[2],N=dt.join(n,`clipboard-${r}.${y}`);try{if(await Ee.writeFile(N,Buffer.from(R,"base64")),(await Ee.stat(N)).size>0)return N}catch{}}}else if(s==="url")return null;return null}catch(t){return console.error("Error saving WSL clipboard image:",t),null}}async function i2(e){try{let t=await qA();if(!t.hasXclip&&!t.hasXsel)return console.warn(`\u274C \u7F3A\u5C11\u526A\u5207\u677F\u5DE5\u5177: \u8BF7\u5B89\u88C5 xclip \u6216 xsel
|
|
841
841
|
Ubuntu: sudo apt install xclip
|
|
842
|
-
\u6216: sudo apt install xsel`),null;let n=e||process.cwd(),r=dt.join(n,ro);await Ee.mkdir(r,{recursive:!0});let o=new Date().getTime(),i=t.hasXclip?"xclip":"xsel";console.log("\uD83D\uDD0D [Linux\u526A\u8D34\u677F] \u4F7F\u7528\u5DE5\u5177:",i),console.log("\uD83D\uDD0D [Linux\u526A\u8D34\u677F] \u4E34\u65F6\u76EE\u5F55:",r);let a=t.hasXclip?"-selection clipboard -t TARGETS -o":"--clipboard --output",{stdout:s}=await Ue(`${i} ${a} 2>/dev/null || echo ""`),l=s.toLowerCase();console.log("\uD83D\uDD0D [Linux\u526A\u8D34\u677F] \u53EF\u7528\u7C7B\u578B:",l);let u=[{mime:"image/png",ext:"png"},{mime:"image/jpeg",ext:"jpg"},{mime:"image/gif",ext:"gif"},{mime:"image/bmp",ext:"bmp"},{mime:"image/webp",ext:"webp"},{mime:"image/svg+xml",ext:"svg"}];for(let y of u)if(l.includes(y.mime)||l.includes(y.ext)){let _=dt.join(r,`clipboard-${o}.${y.ext}`);try{let U=t.hasXclip?`-selection clipboard -t ${y.mime} -o`:"--clipboard --output",D=t.hasXclip?`${i} ${U}`:`${i} ${U}`;if(await Ue(`${D} > "${_}" 2>/dev/null`),(await Ee.stat(_)).size>0)return console.log("\u2705 [Linux\u526A\u8D34\u677F] \u6210\u529F\u4FDD\u5B58\u56FE\u7247:",_),_;else await Ee.unlink(_)}catch(U){console.log(`\uD83D\uDD0D [Linux\u526A\u8D34\u677F] \u5C1D\u8BD5 ${y.mime} \u5931\u8D25:`,U instanceof Error?U.message:String(U));try{await Ee.unlink(_)}catch{}}}let m=t.hasXclip?"-selection clipboard -o":"--clipboard --output",{stdout:g}=await Ue(`${i} ${m} 2>/dev/null || echo ""`),k=g.trim();if(k){let y=k.match(/^data:image\/([^;]+);base64,(.+)$/);if(y){let _=y[1]==="jpeg"?"jpg":y[1],U=y[2],D=dt.join(r,`clipboard-${o}.${_}`);try{if(await Ee.writeFile(D,Buffer.from(U,"base64")),(await Ee.stat(D)).size>0)return console.log("\u2705 [Linux\u526A\u8D34\u677F] \u6210\u529F\u4FDD\u5B58Base64\u56FE\u7247:",D),D}catch(N){console.error("\u4FDD\u5B58Base64\u56FE\u7247\u5931\u8D25:",N)}}if(/\.(png|jpg|jpeg|gif|bmp|webp|svg)(\s*$|\?)/i.test(k))return console.log("\uD83D\uDD0D [Linux\u526A\u8D34\u677F] \u68C0\u6D4B\u5230\u56FE\u7247URL\uFF0C\u4F46\u6682\u4E0D\u652F\u6301\u4E0B\u8F7D"),null}return console.log("\u274C [Linux\u526A\u8D34\u677F] \u672A\u627E\u5230\u53EF\u7528\u7684\u56FE\u7247\u6570\u636E"),null}catch(t){return console.error("Linux clipboard save error:",t),null}}async function ek(e,t=3600000){try{let n=e||process.cwd(),r=dt.join(n,ro),o=await Ee.readdir(r),i=Date.now()-t,a=0;for(let s of o)if(/^clipboard-\d+\.(png|jpg|jpeg|tiff|gif|bmp|webp|svg)$/i.test(s)){let u=dt.join(r,s);try{if((await Ee.stat(u)).mtimeMs<i)await Ee.unlink(u),a++}catch{}}if(a>0)console.log(`\uD83E\uDDF9 \u6E05\u7406\u4E86 ${a} \u4E2A\u65E7\u7684\u526A\u5207\u677F\u56FE\u7247\u6587\u4EF6`)}catch{}}function t2(e){return Pi.join(e,rh)}function n2(e,t){return`@"${Pi.relative(e,t)}"`}function tk(e){return new TextDecoder().decode(e).trim()===""}async function nk(e){let t=e.hasImage??qA,n=e.save??XA,r=t2(e.cwd);try{if(!await t())return;let o=await n(r);if(!o)return;return(e.prune??ek)(r).catch(()=>{return}),{insert:n2(e.cwd,o),file:o}}catch{return}}function rk(e){if(!e.startsWith("/"))return;let t=e.slice(1);if(t.trim()==="")return{path:[],partial:""};let n=t.split(/\s+/).filter(Boolean),r=/\s$/.test(t)?"":n.pop()??"";return{path:n.map((o)=>o.toLowerCase()),partial:r.toLowerCase()}}function ok(e,t){let n=t.path.length,r=[];for(let i of e){let a=i.name.toLowerCase().split(/\s+/);if(n===0?a.length!==1:a.length<=n)continue;if(!t.path.every((s,l)=>a[l]===s))continue;r.push({command:i,word:a[n]})}let o=(i)=>i.startsWith(t.partial)?0:i.includes(t.partial)?1:2;return r.filter((i)=>o(i.word)<2).sort((i,a)=>o(i.word)-o(a.word)).map((i)=>i.command)}function ik(e){let{theme:t}=se(),n=()=>gr(e.commands,e.selected,e.maxRows??8),r=()=>mr(n()),o=()=>hr(n(),e.commands.length);return(()=>{var i=A("box");return d(i,"onMouseScroll",(a)=>{let s=ln(a);if(s)e.onStep?.(s)}),p(i,(()=>{var a=de(()=>r()>0);return()=>a()?(()=>{var s=A("text");return d(s,"selectable",!1),p(s,()=>`\u2191 ${r()} more`),E((l)=>d(s,"style",{fg:t.textMuted,paddingLeft:3},l)),s})():null})(),null),p(i,h(ce,{get each(){return n()},children:(a)=>h(wt,{get active(){return a.index===e.selected},get title(){return`/${a.item.name}`},get description(){return a.item.description},onMouseUp:()=>e.onSelect?.(a.index)})}),null),p(i,(()=>{var a=de(()=>o()>0);return()=>a()?(()=>{var s=A("text");return d(s,"selectable",!1),p(s,()=>`\u2193 ${o()} more`),E((l)=>d(s,"style",{fg:t.textMuted,paddingLeft:3},l)),s})():null})(),null),E((a)=>d(i,"style",{flexDirection:"column",flexShrink:0,backgroundColor:t.backgroundMenu},a)),i})()}var Ll=[" .-+*-"," :+oo*=."," :=ooo=:",":oo*: .+*:",":oo*: \u2726 :+*-."," :=ooo=. . :+*="," -+++=+*oo=."," =**+:"],r2=Ll.length+3;function ak(e,t=!1){return e>=r2+5+2+(t?12:0)}var o2=68,i2=2;function a2(){let{theme:e}=se();return(()=>{var t=A("box");return d(t,"style",{flexDirection:"column"}),p(t,h(ce,{each:Ll,children:(n)=>(()=>{var r=A("text");return d(r,"selectable",!1),p(r,n),E((o)=>d(r,"style",{fg:e.accent},o)),r})()})),t})()}function sk(e){let{theme:t}=se(),n=()=>e.userName?c("home.welcomeNamed",{name:e.userName}):c("home.welcome"),r=()=>`Easy Code v${e.version}`,o=()=>Math.max(0,o2-he(r())-i2);return(()=>{var i=A("box"),a=A("box"),s=A("box"),l=A("text"),u=A("b"),m=A("text");return R(i,a),d(i,"style",{flexDirection:"column",flexShrink:0,width:"100%",alignItems:"center",paddingLeft:1,paddingRight:1}),R(a,s),d(a,"style",{flexDirection:"column",flexShrink:0,width:"100%",maxWidth:68}),R(s,l),R(s,m),d(s,"style",{flexDirection:"row",justifyContent:"space-between",flexShrink:0,gap:2}),R(l,u),d(l,"selectable",!1),p(u,r),d(m,"wrapMode","none"),d(m,"selectable",!1),p(m,()=>Ml(e.cwd,o())),p(a,h(P,{get when(){return e.showBrand},get children(){var g=A("box"),k=A("box"),y=A("box"),_=A("box"),U=A("text"),D=A("b");return R(g,k),R(k,y),R(k,_),d(k,"style",{flexDirection:"row"}),d(y,"style",{flexDirection:"column",width:18,flexShrink:0,justifyContent:"center",alignItems:"center"}),p(y,h(a2,{})),R(_,U),d(_,"style",{flexDirection:"column",flexGrow:1,justifyContent:"center",alignItems:"flex-end",paddingLeft:1}),R(U,D),d(U,"selectable",!1),p(D,n),p(_,h(P,{get when(){return e.model},get children(){var N=A("text");return d(N,"selectable",!1),p(N,()=>e.model),E((S)=>d(N,"style",{fg:t.textMuted,flexShrink:0},S)),N}}),null),p(_,h(P,{get when(){return e.tip},get children(){var N=A("text");return d(N,"selectable",!1),p(N,()=>e.tip),E((S)=>d(N,"style",{fg:t.info,flexShrink:0},S)),N}}),null),E((N)=>{var S={flexDirection:"column",flexShrink:0,border:!0,borderStyle:"rounded",borderColor:t.border,paddingLeft:1,paddingRight:1},z={fg:t.accent,flexShrink:0};return S!==N.e&&(N.e=d(g,"style",S,N.e)),z!==N.t&&(N.t=d(U,"style",z,N.t)),N},{e:void 0,t:void 0}),g}}),null),E((g)=>{var k={fg:t.accent,flexShrink:0},y={fg:t.textMuted,flexShrink:0};return k!==g.e&&(g.e=d(l,"style",k,g.e)),y!==g.t&&(g.t=d(m,"style",y,g.t)),g},{e:void 0,t:void 0}),i})()}var lk=[{name:"new",description:c("command.new")},{name:"login",description:c("command.login")},{name:"logout",description:c("command.logout")},{name:"account",description:c("command.account")},{name:"theme",description:c("command.theme")},{name:"clear",description:c("command.clear")},{name:"queue",description:c("command.queue")},{name:"quit",description:c("command.quit.description")}],s2=new Set(lk.map((e)=>e.name));function ck(e){return s2.has(e)}function Mi(e,t=[]){let n=[...lk,...t],r=new Set(n.map((o)=>o.name));return[...n,...e.filter((o)=>!r.has(o.name))]}import*as Mt from"fs";import*as ao from"path";import{homedir as m2}from"os";var Fi=50000;function oo(e){let t=[];if(!e.displayName||typeof e.displayName!=="string")t.push("displayName is required and must be a string");if(!["openai","openai-responses","anthropic","gemini"].includes(e.provider))t.push("provider must be one of: openai, openai-responses, anthropic, gemini");if(!e.baseUrl||typeof e.baseUrl!=="string")t.push("baseUrl is required and must be a string");if(!e.apiKey||typeof e.apiKey!=="string")t.push("apiKey is required and must be a string");if(!e.modelId||typeof e.modelId!=="string")t.push("modelId is required and must be a string");if(e.maxTokens!==void 0&&(typeof e.maxTokens!=="number"||e.maxTokens<=0))t.push("maxTokens must be a positive number if specified");if(e.maxOutputTokens!==void 0&&(typeof e.maxOutputTokens!=="number"||!Number.isFinite(e.maxOutputTokens)||e.maxOutputTokens<=0))t.push("maxOutputTokens must be a positive number if specified");if(typeof e.maxOutputTokens==="number"&&e.maxOutputTokens>Fi)t.push(`maxOutputTokens must not exceed ${Fi}`);if(e.timeout!==void 0&&(typeof e.timeout!=="number"||e.timeout<=0))t.push("timeout must be a positive number if specified");return t}var Ni="https://llm-endpoint.net/v1",$l=900000,l2=["image","embed","video","seedance","seed","veo","tts"];function c2(e){if(!e||typeof e!=="string")return!0;let t=e.toLowerCase();return l2.some((n)=>t.includes(n))}function uk(e){let t=new Set,n=[];for(let r of e??[]){if(!r||typeof r!=="object")continue;let o=r.id;if(typeof o!=="string"||o.length===0)continue;if(c2(o))continue;if(t.has(o))continue;t.add(o),n.push(r)}return n.sort((r,o)=>r.id.localeCompare(o.id)),n}function Gl(e){let t=(e??"").trim().toLowerCase();if(t.startsWith("gemini"))return"gemini";if(t.startsWith("gpt"))return"openai-responses";if(t.startsWith("claude"))return"anthropic";return"openai"}function fk(e,t,n){let r=Gl(e),o=typeof n?.maxTokens==="number"&&n.maxTokens>0?n.maxTokens:void 0,i=typeof n?.metadata?.max_context_length==="number"&&n.metadata.max_context_length>0?n.metadata.max_context_length:void 0,a=o??i??$l;return{displayName:n?.displayName?.trim()||e,provider:r,baseUrl:Ni,apiKey:t,modelId:e,maxTokens:a,enabled:!0}}function dk(e){if(!e)return!1;let t=(n)=>n.replace(/\/+$/,"");return t(e.baseUrl??"")===t(Ni)}function Di(e,t){let n=Array.isArray(e)?e:[],r=Array.isArray(t)?t:[],o=new Map;for(let m of r)if(m&&typeof m.modelId==="string"&&m.modelId.length>0)o.set(m.modelId,m);let i=n.filter((m)=>m&&!dk(m)),a=new Set(n.filter((m)=>m&&dk(m)).map((m)=>m.modelId)),s=[],l=[];for(let m of o.keys())if(a.has(m))l.push(m);else s.push(m);let u=[...a].filter((m)=>!o.has(m));return{models:[...i,...o.values()],added:s,removed:u,updated:l}}import io from"fs";import d2 from"os";import gk from"path";var u2=".easycode-user",f2="settings.json",g2="EASYCODE_USER_SETTINGS_FILE";function pt(){return process.env[g2]??gk.join(d2.homedir(),u2,f2)}function zl(e){return e.replace(/\/\*[\s\S]*?\*\//g,"").replace(/(^|[^:])\/\/[^\n]*/g,"$1")}function dn(e){let t;try{if(!io.existsSync(e))return{};t=io.readFileSync(e,"utf-8")}catch{return{}}try{let n=JSON.parse(zl(t));if(!n||typeof n!=="object"||Array.isArray(n))return{};return n}catch{return{}}}function mk(e=pt()){return dn(e)}function Pn(e,t){let n=dn(t);for(let[o,i]of Object.entries(e))if(i===void 0)delete n[o];else n[o]=i;io.mkdirSync(gk.dirname(t),{recursive:!0});let r=t+".tmp";io.writeFileSync(r,JSON.stringify(n,null,2),"utf-8"),io.renameSync(r,t)}function hk(e,t=pt()){Pn(e,t)}var h2=".easycode-user",p2="custom-models.json",A2="EASYCODE_CUSTOM_MODELS_FILE";function pk(){return process.env[A2]??ao.join(m2(),h2,p2)}function Ak(e){if(!Mt.existsSync(e))Mt.mkdirSync(e,{recursive:!0})}function kk(e,t){Ak(ao.dirname(e));let n=e+".tmp";Mt.writeFileSync(n,JSON.stringify(t,null,2),"utf-8"),Mt.renameSync(n,e)}function k2(e){let t=e.maxOutputTokens;if(typeof t==="number"&&Number.isFinite(t)&&t>0&&t<=Fi||t===void 0)return!1;return delete e.maxOutputTokens,!0}function un(){let e=pk();try{if(!Mt.existsSync(e))return[];let t=Mt.readFileSync(e,"utf-8"),n=JSON.parse(zl(t));if(!Array.isArray(n.models))return console.warn("[CustomModels] Invalid format in custom-models.json, expected { models: [...] }"),[];let r=[],o=!1;for(let i of n.models){o=k2(i)||o;let a=oo(i);if(a.length===0)r.push(i);else console.warn(`[CustomModels] Skipping invalid model "${i.displayName}":`,a)}if(o)try{kk(e,{...n,models:n.models})}catch(i){console.warn("[CustomModels] Failed to persist the corrected token limit:",i)}return r}catch(t){return console.error("[CustomModels] Failed to load custom models:",t),[]}}function Hl(e){let t=pk(),n=ao.dirname(t);try{Ak(n);for(let o of e){let i=oo(o);if(i.length>0)throw Error(`Invalid model configuration for "${o.displayName}": ${i.join(", ")}`)}let r={models:e,_metadata:{version:"1.0",lastModified:new Date().toISOString()}};kk(t,r),console.log(`[CustomModels] Successfully saved ${e.length} custom model(s) to ${t}`)}catch(r){throw console.error("[CustomModels] Failed to save custom models:",r),r}}function xk(e){let t=un(),n=t.findIndex((r)=>r.displayName===e.displayName);if(n>=0)t[n]=e;else t.push(e);Hl(t)}function bk(e){let t=Di(un(),e);return Hl(t.models),t}function yk(e){let t=un(),n=e.replace("custom:",""),r=t.filter((o)=>o.displayName!==n);if(r.length===t.length)return!1;return Hl(r),!0}function wk(e){let t=un(),n=e.replace("custom:","");return t.find((r)=>r.displayName===n)}function Sk(e){let t=un(),n=e.replace("custom:","");return t.some((r)=>r.displayName===n)}var x2=15000;class Mn extends Error{status;cause;constructor(e,t,n){super(e);this.status=t,this.cause=n,this.name="EasyRouterFetchError"}}async function Ck(e,t={}){let n=(e??"").trim();if(!n)throw new Mn("API key is required");let o=`${(t.baseUrl??Ni).replace(/\/+$/,"")}/models`,i=t.timeoutMs??x2,a=new AbortController,s=setTimeout(()=>a.abort(Error(`Timed out after ${i}ms`)),i),l=[a.signal];if(t.signal)l.push(t.signal);let u=l.length===1?l[0]:AbortSignal.any?.(l)??l[0];try{let m;try{m=await fetch(o,{method:"GET",headers:{Authorization:`Bearer ${n}`,Accept:"application/json"},signal:u})}catch(k){if(a.signal.aborted)throw new Mn(`Request to ${o} timed out after ${i}ms`,void 0,k);let y=k instanceof Error?k.message:String(k);throw new Mn(`Network error contacting ${o}: ${y}`,void 0,k)}if(!m.ok){let k="";try{k=await m.text()}catch{}let y=k?k.length>200?k.slice(0,200)+"\u2026":k:m.statusText||"no body";throw new Mn(`EasyRouter /models returned HTTP ${m.status}: ${y}`,m.status)}let g;try{g=await m.json()}catch(k){throw new Mn("EasyRouter /models returned a body that is not valid JSON",m.status,k)}if(!g||!Array.isArray(g.data))throw new Mn('EasyRouter /models response is missing the expected "data" array',m.status);return uk(g.data)}finally{clearTimeout(s)}}var Fk="easy-router",vk=[{id:Fk,label:()=>c("model.provider.easyrouter"),description:()=>c("model.provider.easyrouterHint")},{id:"openai",label:()=>"openai",description:()=>c("model.provider.openaiHint")},{id:"openai-responses",label:()=>"openai-responses"},{id:"anthropic",label:()=>"anthropic"},{id:"gemini",label:()=>"gemini"}],Oi=["displayName","baseUrl","apiKey","modelId"],b2={displayName:"model.step.displayName",baseUrl:"model.step.baseUrl",apiKey:"model.step.apiKey",modelId:"model.step.modelId"},Ik="\x00add",Ek="\x00manage",Tk="\x00edit",Bk="\x00remove",Li="\x00save",Nk="\x00cancel",Rk="\x00done",_k="\x00all",ge;function Pk(){return un()}function Fn(e){let t=ge.step;e.syncModelWizard({title:c(b2[t]),hint:ge.editing?c("model.wizard.hint.keep"):c("model.wizard.hint.type"),extra:t==="apiKey"?c("model.wizard.hint.key"):void 0,step:Oi.indexOf(t)+1,total:Oi.length,editing:ge.editing}),e.setInput("")}function Dk(){return ge!==void 0}function Ul(){ge=void 0}function Ok(e){ge=void 0,e.syncModelWizard(void 0),e.notify(c("model.wizard.aborted"))}function y2(e){e.openPicker({title:c("model.step.provider"),rows:()=>vk.map((t)=>({id:t.id,label:t.label(),description:t.description?.(),current:t.id===ge?.provider&&ge?.mode==="manual"})),onPick:(t)=>{let n=vk.find((r)=>r.id===t);if(!n||!ge)return;if(n.id===Fk)ge.mode="easyrouter",ge.step="apiKey";else ge.mode="manual",ge.provider=n.id,ge.step="displayName";Fn(e)}})}function w2(e,t,n){if(n==="")return!1;if(t==="baseUrl"&&!/^https?:\/\//i.test(n))return e.notify(c("model.invalid.baseUrl")),Fn(e),!0;if(t==="displayName"&&!ge.editing&&Sk(n))return e.notify(c("model.invalid.taken",{name:n})),Fn(e),!0;return!1}function Lk(e,t){let n=ge.step,r=t.trim();if(r==="")if(ge.editing);else{e.notify(c("model.wizard.needValue")),Fn(e);return}else if(w2(e,n,r))return;else ge[n]=r;if(ge.mode==="easyrouter"){e.syncModelWizard(void 0),C2(e);return}let o=Oi[Oi.indexOf(n)+1];if(!o){S2(e);return}ge.step=o,Fn(e)}function Mk(e){return{displayName:e.displayName,provider:e.provider,baseUrl:e.baseUrl,apiKey:e.apiKey,modelId:e.modelId,maxTokens:$l}}function S2(e){let t=Mk(ge),n=oo(t);if(n.length>0){ge=void 0,e.syncModelWizard(void 0),e.notify(`${c("model.invalid.rejected")}
|
|
842
|
+
\u6216: sudo apt install xsel`),null;let n=e||process.cwd(),r=dt.join(n,oo);await Ee.mkdir(r,{recursive:!0});let o=new Date().getTime(),i=t.hasXclip?"xclip":"xsel";console.log("\uD83D\uDD0D [Linux\u526A\u8D34\u677F] \u4F7F\u7528\u5DE5\u5177:",i),console.log("\uD83D\uDD0D [Linux\u526A\u8D34\u677F] \u4E34\u65F6\u76EE\u5F55:",r);let a=t.hasXclip?"-selection clipboard -t TARGETS -o":"--clipboard --output",{stdout:s}=await Ue(`${i} ${a} 2>/dev/null || echo ""`),l=s.toLowerCase();console.log("\uD83D\uDD0D [Linux\u526A\u8D34\u677F] \u53EF\u7528\u7C7B\u578B:",l);let u=[{mime:"image/png",ext:"png"},{mime:"image/jpeg",ext:"jpg"},{mime:"image/gif",ext:"gif"},{mime:"image/bmp",ext:"bmp"},{mime:"image/webp",ext:"webp"},{mime:"image/svg+xml",ext:"svg"}];for(let y of u)if(l.includes(y.mime)||l.includes(y.ext)){let R=dt.join(r,`clipboard-${o}.${y.ext}`);try{let N=t.hasXclip?`-selection clipboard -t ${y.mime} -o`:"--clipboard --output",M=t.hasXclip?`${i} ${N}`:`${i} ${N}`;if(await Ue(`${M} > "${R}" 2>/dev/null`),(await Ee.stat(R)).size>0)return console.log("\u2705 [Linux\u526A\u8D34\u677F] \u6210\u529F\u4FDD\u5B58\u56FE\u7247:",R),R;else await Ee.unlink(R)}catch(N){console.log(`\uD83D\uDD0D [Linux\u526A\u8D34\u677F] \u5C1D\u8BD5 ${y.mime} \u5931\u8D25:`,N instanceof Error?N.message:String(N));try{await Ee.unlink(R)}catch{}}}let g=t.hasXclip?"-selection clipboard -o":"--clipboard --output",{stdout:m}=await Ue(`${i} ${g} 2>/dev/null || echo ""`),k=m.trim();if(k){let y=k.match(/^data:image\/([^;]+);base64,(.+)$/);if(y){let R=y[1]==="jpeg"?"jpg":y[1],N=y[2],M=dt.join(r,`clipboard-${o}.${R}`);try{if(await Ee.writeFile(M,Buffer.from(N,"base64")),(await Ee.stat(M)).size>0)return console.log("\u2705 [Linux\u526A\u8D34\u677F] \u6210\u529F\u4FDD\u5B58Base64\u56FE\u7247:",M),M}catch(P){console.error("\u4FDD\u5B58Base64\u56FE\u7247\u5931\u8D25:",P)}}if(/\.(png|jpg|jpeg|gif|bmp|webp|svg)(\s*$|\?)/i.test(k))return console.log("\uD83D\uDD0D [Linux\u526A\u8D34\u677F] \u68C0\u6D4B\u5230\u56FE\u7247URL\uFF0C\u4F46\u6682\u4E0D\u652F\u6301\u4E0B\u8F7D"),null}return console.log("\u274C [Linux\u526A\u8D34\u677F] \u672A\u627E\u5230\u53EF\u7528\u7684\u56FE\u7247\u6570\u636E"),null}catch(t){return console.error("Linux clipboard save error:",t),null}}async function tk(e,t=3600000){try{let n=e||process.cwd(),r=dt.join(n,oo),o=await Ee.readdir(r),i=Date.now()-t,a=0;for(let s of o)if(/^clipboard-\d+\.(png|jpg|jpeg|tiff|gif|bmp|webp|svg)$/i.test(s)){let u=dt.join(r,s);try{if((await Ee.stat(u)).mtimeMs<i)await Ee.unlink(u),a++}catch{}}if(a>0)console.log(`\uD83E\uDDF9 \u6E05\u7406\u4E86 ${a} \u4E2A\u65E7\u7684\u526A\u5207\u677F\u56FE\u7247\u6587\u4EF6`)}catch{}}function a2(e){return Pi.join(e,oh)}function s2(e,t){return`@"${Pi.relative(e,t)}"`}function nk(e){return new TextDecoder().decode(e).trim()===""}async function rk(e){let t=e.hasImage??XA,n=e.save??ek,r=a2(e.cwd);try{if(!await t())return;let o=await n(r);if(!o)return;return(e.prune??tk)(r).catch(()=>{return}),{insert:s2(e.cwd,o),file:o}}catch{return}}function ok(e){if(!e.startsWith("/"))return;let t=e.slice(1);if(t.trim()==="")return{path:[],partial:""};let n=t.split(/\s+/).filter(Boolean),r=/\s$/.test(t)?"":n.pop()??"";return{path:n.map((o)=>o.toLowerCase()),partial:r.toLowerCase()}}function ik(e,t){let n=t.path.length,r=[];for(let i of e){let a=i.name.toLowerCase().split(/\s+/);if(n===0?a.length!==1:a.length<=n)continue;if(!t.path.every((s,l)=>a[l]===s))continue;r.push({command:i,word:a[n]})}let o=(i)=>i.startsWith(t.partial)?0:i.includes(t.partial)?1:2;return r.filter((i)=>o(i.word)<2).sort((i,a)=>o(i.word)-o(a.word)).map((i)=>i.command)}function ak(e){let{theme:t}=se(),n=()=>gr(e.commands,e.selected,e.maxRows??8),r=()=>mr(n()),o=()=>hr(n(),e.commands.length);return(()=>{var i=A("box");return d(i,"onMouseScroll",(a)=>{let s=cn(a);if(s)e.onStep?.(s)}),p(i,(()=>{var a=ue(()=>r()>0);return()=>a()?(()=>{var s=A("text");return d(s,"selectable",!1),p(s,()=>`\u2191 ${r()} more`),I((l)=>d(s,"style",{fg:t.textMuted,paddingLeft:3},l)),s})():null})(),null),p(i,h(ce,{get each(){return n()},children:(a)=>h(St,{get active(){return a.index===e.selected},get title(){return`/${a.item.name}`},get description(){return a.item.description},onMouseUp:()=>e.onSelect?.(a.index)})}),null),p(i,(()=>{var a=ue(()=>o()>0);return()=>a()?(()=>{var s=A("text");return d(s,"selectable",!1),p(s,()=>`\u2193 ${o()} more`),I((l)=>d(s,"style",{fg:t.textMuted,paddingLeft:3},l)),s})():null})(),null),I((a)=>d(i,"style",{flexDirection:"column",flexShrink:0,backgroundColor:t.backgroundMenu},a)),i})()}var Ll=[" .-+*-"," :+oo*=."," :=ooo=:",":oo*: .+*:",":oo*: \u2726 :+*-."," :=ooo=. . :+*="," -+++=+*oo=."," =**+:"],l2=Ll.length+3;function sk(e,t=!1){return e>=l2+5+2+(t?12:0)}var c2=68,d2=2;function u2(){let{theme:e}=se();return(()=>{var t=A("box");return d(t,"style",{flexDirection:"column"}),p(t,h(ce,{each:Ll,children:(n)=>(()=>{var r=A("text");return d(r,"selectable",!1),p(r,n),I((o)=>d(r,"style",{fg:e.accent},o)),r})()})),t})()}function lk(e){let{theme:t}=se(),n=()=>e.userName?c("home.welcomeNamed",{name:e.userName}):c("home.welcome"),r=()=>`Easy Code v${e.version}`,o=()=>Math.max(0,c2-de(r())-d2);return(()=>{var i=A("box"),a=A("box"),s=A("box"),l=A("text"),u=A("b"),g=A("text");return _(i,a),d(i,"style",{flexDirection:"column",flexShrink:0,width:"100%",alignItems:"center",paddingLeft:1,paddingRight:1}),_(a,s),d(a,"style",{flexDirection:"column",flexShrink:0,width:"100%",maxWidth:68}),_(s,l),_(s,g),d(s,"style",{flexDirection:"row",justifyContent:"space-between",flexShrink:0,gap:2}),_(l,u),d(l,"selectable",!1),p(u,r),d(g,"wrapMode","none"),d(g,"selectable",!1),p(g,()=>Ml(e.cwd,o())),p(a,h(F,{get when(){return e.showBrand},get children(){var m=A("box"),k=A("box"),y=A("box"),R=A("box"),N=A("text"),M=A("b");return _(m,k),_(k,y),_(k,R),d(k,"style",{flexDirection:"row"}),d(y,"style",{flexDirection:"column",width:18,flexShrink:0,justifyContent:"center",alignItems:"center"}),p(y,h(u2,{})),_(R,N),d(R,"style",{flexDirection:"column",flexGrow:1,justifyContent:"center",alignItems:"flex-end",paddingLeft:1}),_(N,M),d(N,"selectable",!1),p(M,n),p(R,h(F,{get when(){return e.model},get children(){var P=A("text");return d(P,"selectable",!1),p(P,()=>e.model),I((w)=>d(P,"style",{fg:t.textMuted,flexShrink:0},w)),P}}),null),p(R,h(F,{get when(){return e.tip},get children(){var P=A("text");return d(P,"selectable",!1),p(P,()=>e.tip),I((w)=>d(P,"style",{fg:t.info,flexShrink:0},w)),P}}),null),I((P)=>{var w={flexDirection:"column",flexShrink:0,border:!0,borderStyle:"rounded",borderColor:t.border,paddingLeft:1,paddingRight:1},L={fg:t.accent,flexShrink:0};return w!==P.e&&(P.e=d(m,"style",w,P.e)),L!==P.t&&(P.t=d(N,"style",L,P.t)),P},{e:void 0,t:void 0}),m}}),null),I((m)=>{var k={fg:t.accent,flexShrink:0},y={fg:t.textMuted,flexShrink:0};return k!==m.e&&(m.e=d(l,"style",k,m.e)),y!==m.t&&(m.t=d(g,"style",y,m.t)),m},{e:void 0,t:void 0}),i})()}var ck=[{name:"new",description:c("command.new")},{name:"login",description:c("command.login")},{name:"logout",description:c("command.logout")},{name:"account",description:c("command.account")},{name:"theme",description:c("command.theme")},{name:"clear",description:c("command.clear")},{name:"queue",description:c("command.queue")},{name:"quit",description:c("command.quit.description")}],f2=new Set(ck.map((e)=>e.name));function dk(e){return f2.has(e)}function Mi(e,t=[]){let n=[...ck,...t],r=new Set(n.map((o)=>o.name));return[...n,...e.filter((o)=>!r.has(o.name))]}import*as Mt from"fs";import*as so from"path";import{homedir as x2}from"os";var Fi=50000;function io(e){let t=[];if(!e.displayName||typeof e.displayName!=="string")t.push("displayName is required and must be a string");if(!["openai","openai-responses","anthropic","gemini"].includes(e.provider))t.push("provider must be one of: openai, openai-responses, anthropic, gemini");if(!e.baseUrl||typeof e.baseUrl!=="string")t.push("baseUrl is required and must be a string");if(!e.apiKey||typeof e.apiKey!=="string")t.push("apiKey is required and must be a string");if(!e.modelId||typeof e.modelId!=="string")t.push("modelId is required and must be a string");if(e.maxTokens!==void 0&&(typeof e.maxTokens!=="number"||e.maxTokens<=0))t.push("maxTokens must be a positive number if specified");if(e.maxOutputTokens!==void 0&&(typeof e.maxOutputTokens!=="number"||!Number.isFinite(e.maxOutputTokens)||e.maxOutputTokens<=0))t.push("maxOutputTokens must be a positive number if specified");if(typeof e.maxOutputTokens==="number"&&e.maxOutputTokens>Fi)t.push(`maxOutputTokens must not exceed ${Fi}`);if(e.timeout!==void 0&&(typeof e.timeout!=="number"||e.timeout<=0))t.push("timeout must be a positive number if specified");return t}var Ni="https://llm-endpoint.net/v1",$l=900000,g2=["image","embed","video","seedance","seed","veo","tts"];function m2(e){if(!e||typeof e!=="string")return!0;let t=e.toLowerCase();return g2.some((n)=>t.includes(n))}function fk(e){let t=new Set,n=[];for(let r of e??[]){if(!r||typeof r!=="object")continue;let o=r.id;if(typeof o!=="string"||o.length===0)continue;if(m2(o))continue;if(t.has(o))continue;t.add(o),n.push(r)}return n.sort((r,o)=>r.id.localeCompare(o.id)),n}function Gl(e){let t=(e??"").trim().toLowerCase();if(t.startsWith("gemini"))return"gemini";if(t.startsWith("gpt"))return"openai-responses";if(t.startsWith("claude"))return"anthropic";return"openai"}function gk(e,t,n){let r=Gl(e),o=typeof n?.maxTokens==="number"&&n.maxTokens>0?n.maxTokens:void 0,i=typeof n?.metadata?.max_context_length==="number"&&n.metadata.max_context_length>0?n.metadata.max_context_length:void 0,a=o??i??$l;return{displayName:n?.displayName?.trim()||e,provider:r,baseUrl:Ni,apiKey:t,modelId:e,maxTokens:a,enabled:!0}}function uk(e){if(!e)return!1;let t=(n)=>n.replace(/\/+$/,"");return t(e.baseUrl??"")===t(Ni)}function Di(e,t){let n=Array.isArray(e)?e:[],r=Array.isArray(t)?t:[],o=new Map;for(let g of r)if(g&&typeof g.modelId==="string"&&g.modelId.length>0)o.set(g.modelId,g);let i=n.filter((g)=>g&&!uk(g)),a=new Set(n.filter((g)=>g&&uk(g)).map((g)=>g.modelId)),s=[],l=[];for(let g of o.keys())if(a.has(g))l.push(g);else s.push(g);let u=[...a].filter((g)=>!o.has(g));return{models:[...i,...o.values()],added:s,removed:u,updated:l}}import ao from"fs";import h2 from"os";import mk from"path";var p2=".easycode-user",A2="settings.json",k2="EASYCODE_USER_SETTINGS_FILE";function At(){return process.env[k2]??mk.join(h2.homedir(),p2,A2)}function zl(e){return e.replace(/\/\*[\s\S]*?\*\//g,"").replace(/(^|[^:])\/\/[^\n]*/g,"$1")}function un(e){let t;try{if(!ao.existsSync(e))return{};t=ao.readFileSync(e,"utf-8")}catch{return{}}try{let n=JSON.parse(zl(t));if(!n||typeof n!=="object"||Array.isArray(n))return{};return n}catch{return{}}}function hk(e=At()){return un(e)}function Mn(e,t){let n=un(t);for(let[o,i]of Object.entries(e))if(i===void 0)delete n[o];else n[o]=i;ao.mkdirSync(mk.dirname(t),{recursive:!0});let r=t+".tmp";ao.writeFileSync(r,JSON.stringify(n,null,2),"utf-8"),ao.renameSync(r,t)}function pk(e,t=At()){Mn(e,t)}var b2=".easycode-user",y2="custom-models.json",w2="EASYCODE_CUSTOM_MODELS_FILE";function Ak(){return process.env[w2]??so.join(x2(),b2,y2)}function kk(e){if(!Mt.existsSync(e))Mt.mkdirSync(e,{recursive:!0})}function xk(e,t){kk(so.dirname(e));let n=e+".tmp";Mt.writeFileSync(n,JSON.stringify(t,null,2),"utf-8"),Mt.renameSync(n,e)}function S2(e){let t=e.maxOutputTokens;if(typeof t==="number"&&Number.isFinite(t)&&t>0&&t<=Fi||t===void 0)return!1;return delete e.maxOutputTokens,!0}function fn(){let e=Ak();try{if(!Mt.existsSync(e))return[];let t=Mt.readFileSync(e,"utf-8"),n=JSON.parse(zl(t));if(!Array.isArray(n.models))return console.warn("[CustomModels] Invalid format in custom-models.json, expected { models: [...] }"),[];let r=[],o=!1;for(let i of n.models){o=S2(i)||o;let a=io(i);if(a.length===0)r.push(i);else console.warn(`[CustomModels] Skipping invalid model "${i.displayName}":`,a)}if(o)try{xk(e,{...n,models:n.models})}catch(i){console.warn("[CustomModels] Failed to persist the corrected token limit:",i)}return r}catch(t){return console.error("[CustomModels] Failed to load custom models:",t),[]}}function Hl(e){let t=Ak(),n=so.dirname(t);try{kk(n);for(let o of e){let i=io(o);if(i.length>0)throw Error(`Invalid model configuration for "${o.displayName}": ${i.join(", ")}`)}let r={models:e,_metadata:{version:"1.0",lastModified:new Date().toISOString()}};xk(t,r),console.log(`[CustomModels] Successfully saved ${e.length} custom model(s) to ${t}`)}catch(r){throw console.error("[CustomModels] Failed to save custom models:",r),r}}function bk(e){let t=fn(),n=t.findIndex((r)=>r.displayName===e.displayName);if(n>=0)t[n]=e;else t.push(e);Hl(t)}function yk(e){let t=Di(fn(),e);return Hl(t.models),t}function wk(e){let t=fn(),n=e.replace("custom:",""),r=t.filter((o)=>o.displayName!==n);if(r.length===t.length)return!1;return Hl(r),!0}function Sk(e){let t=fn(),n=e.replace("custom:","");return t.find((r)=>r.displayName===n)}function Ck(e){let t=fn(),n=e.replace("custom:","");return t.some((r)=>r.displayName===n)}var C2=15000;class Fn extends Error{status;cause;constructor(e,t,n){super(e);this.status=t,this.cause=n,this.name="EasyRouterFetchError"}}async function vk(e,t={}){let n=(e??"").trim();if(!n)throw new Fn("API key is required");let o=`${(t.baseUrl??Ni).replace(/\/+$/,"")}/models`,i=t.timeoutMs??C2,a=new AbortController,s=setTimeout(()=>a.abort(Error(`Timed out after ${i}ms`)),i),l=[a.signal];if(t.signal)l.push(t.signal);let u=l.length===1?l[0]:AbortSignal.any?.(l)??l[0];try{let g;try{g=await fetch(o,{method:"GET",headers:{Authorization:`Bearer ${n}`,Accept:"application/json"},signal:u})}catch(k){if(a.signal.aborted)throw new Fn(`Request to ${o} timed out after ${i}ms`,void 0,k);let y=k instanceof Error?k.message:String(k);throw new Fn(`Network error contacting ${o}: ${y}`,void 0,k)}if(!g.ok){let k="";try{k=await g.text()}catch{}let y=k?k.length>200?k.slice(0,200)+"\u2026":k:g.statusText||"no body";throw new Fn(`EasyRouter /models returned HTTP ${g.status}: ${y}`,g.status)}let m;try{m=await g.json()}catch(k){throw new Fn("EasyRouter /models returned a body that is not valid JSON",g.status,k)}if(!m||!Array.isArray(m.data))throw new Fn('EasyRouter /models response is missing the expected "data" array',g.status);return fk(m.data)}finally{clearTimeout(s)}}var Nk="easy-router",Ik=[{id:Nk,label:()=>c("model.provider.easyrouter"),description:()=>c("model.provider.easyrouterHint")},{id:"openai",label:()=>"openai",description:()=>c("model.provider.openaiHint")},{id:"openai-responses",label:()=>"openai-responses"},{id:"anthropic",label:()=>"anthropic"},{id:"gemini",label:()=>"gemini"}],Oi=["displayName","baseUrl","apiKey","modelId"],v2={displayName:"model.step.displayName",baseUrl:"model.step.baseUrl",apiKey:"model.step.apiKey",modelId:"model.step.modelId"},Ek="\x00add",Tk="\x00manage",Bk="\x00edit",Rk="\x00remove",Li="\x00save",Dk="\x00cancel",_k="\x00done",Pk="\x00all",me;function Mk(){return fn()}function Nn(e){let t=me.step;e.syncModelWizard({title:c(v2[t]),hint:me.editing?c("model.wizard.hint.keep"):c("model.wizard.hint.type"),extra:t==="apiKey"?c("model.wizard.hint.key"):void 0,step:Oi.indexOf(t)+1,total:Oi.length,editing:me.editing}),e.setInput("")}function Ok(){return me!==void 0}function Ul(){me=void 0}function Lk(e){me=void 0,e.syncModelWizard(void 0),e.notify(c("model.wizard.aborted"))}function I2(e){e.openPicker({title:c("model.step.provider"),rows:()=>Ik.map((t)=>({id:t.id,label:t.label(),description:t.description?.(),current:t.id===me?.provider&&me?.mode==="manual"})),onPick:(t)=>{let n=Ik.find((r)=>r.id===t);if(!n||!me)return;if(n.id===Nk)me.mode="easyrouter",me.step="apiKey";else me.mode="manual",me.provider=n.id,me.step="displayName";Nn(e)}})}function E2(e,t,n){if(n==="")return!1;if(t==="baseUrl"&&!/^https?:\/\//i.test(n))return e.notify(c("model.invalid.baseUrl")),Nn(e),!0;if(t==="displayName"&&!me.editing&&Ck(n))return e.notify(c("model.invalid.taken",{name:n})),Nn(e),!0;return!1}function $k(e,t){let n=me.step,r=t.trim();if(r==="")if(me.editing);else{e.notify(c("model.wizard.needValue")),Nn(e);return}else if(E2(e,n,r))return;else me[n]=r;if(me.mode==="easyrouter"){e.syncModelWizard(void 0),B2(e);return}let o=Oi[Oi.indexOf(n)+1];if(!o){T2(e);return}me.step=o,Nn(e)}function Fk(e){return{displayName:e.displayName,provider:e.provider,baseUrl:e.baseUrl,apiKey:e.apiKey,modelId:e.modelId,maxTokens:$l}}function T2(e){let t=Fk(me),n=io(t);if(n.length>0){me=void 0,e.syncModelWizard(void 0),e.notify(`${c("model.invalid.rejected")}
|
|
843
843
|
${n.join(`
|
|
844
844
|
`)}`);return}e.syncModelWizard(void 0),e.notify([c("model.confirm.title"),` ${t.displayName}`,` ${t.provider} \xB7 ${t.modelId}`,` ${t.baseUrl}`,` ${t.apiKey}`].join(`
|
|
845
|
-
`)),e.openPicker({title:c("model.confirm.title"),rows:()=>[{id:Li,label:c("model.confirm.save")},{id:Nk,label:c("model.confirm.cancel")}],onPick:(r)=>{if(r!==Li||!ge){Ok(e);return}let o=Mk(ge);ge=void 0,e.syncModelWizard(void 0);try{xk(o),e.notify(c("model.saved",{name:o.displayName})),e.session.refreshModels()}catch(i){e.notify(c("model.saveFailed",{error:i instanceof Error?i.message:String(i)}))}}})}async function C2(e){e.notify(c("model.easyrouter.fetching"));try{let t=await Ck(ge.apiKey);if(!ge)return;ge.entries=t,ge.selected=new Set,$i(e)}catch(t){let n=t instanceof Error?t.message:String(t);e.notify(c("model.easyrouter.fetchFailed",{error:n})),ge.step="apiKey",Fn(e)}}function $i(e,t=0){let n=ge,r=()=>n.selected.size===n.entries.length;e.openPicker({title:c("model.easyrouter.pick"),initialIndex:t,rows:()=>[{id:Rk,label:c("model.easyrouter.done",{count:n.selected.size})},{id:_k,label:r()?c("model.easyrouter.clear"):c("model.easyrouter.all",{count:n.entries.length})},...n.entries.map((o)=>({id:o.id,label:o.id,description:Gl(o.id),current:n.selected.has(o.id)}))],onPick:(o)=>{if(o===Rk){v2(e);return}if(o===_k){if(r())n.selected.clear();else n.entries.forEach((a)=>n.selected.add(a.id));$i(e,1);return}let i=n.entries.findIndex((a)=>a.id===o);if(i<0)return;if(n.selected.has(o))n.selected.delete(o);else n.selected.add(o);$i(e,i+2)}})}function v2(e){let t=ge;if(t.selected.size===0){e.notify(c("model.easyrouter.none")),$i(e);return}let n=t.entries.filter((i)=>t.selected.has(i.id)).map((i)=>fk(i.id,t.apiKey)),r=Di(un(),n),o=c("model.easyrouter.confirm",{added:r.added.length,removed:r.removed.length,updated:r.updated.length});e.notify(o),e.openPicker({title:c("model.easyrouter.confirmTitle"),rows:()=>[{id:Li,label:c("model.confirm.save")},{id:Nk,label:c("model.confirm.cancel")}],onPick:(i)=>{if(i!==Li){Ok(e);return}ge=void 0,e.syncModelWizard(void 0);try{let a=bk(n);e.notify(c("model.easyrouter.saved",{added:a.added.length,removed:a.removed.length,updated:a.updated.length})),e.session.refreshModels()}catch(a){e.notify(c("model.saveFailed",{error:a instanceof Error?a.message:String(a)}))}}})}function I2(e){ge={mode:"manual",editing:!1,provider:"openai",step:"displayName",displayName:"",baseUrl:"",apiKey:"",modelId:"",entries:[],selected:new Set},y2(e)}function E2(e,t){let n=wk(t);if(!n){e.notify(c("model.notCustom",{name:t}));return}ge={mode:"manual",editing:!0,provider:n.provider,step:"displayName",displayName:n.displayName,baseUrl:n.baseUrl,apiKey:n.apiKey,modelId:n.modelId,entries:[],selected:new Set},Fn(e)}function T2(e,t){let n=yk(t);if(e.notify(n?c("model.deleted",{name:t}):c("model.notCustom",{name:t})),n)e.session.refreshModels()}function B2(e){let t=Pk();e.openPicker({title:c("model.manage.title"),empty:c("model.manage.empty"),rows:()=>Pk().map((n)=>({id:n.displayName,label:n.displayName,description:`${n.provider} \xB7 ${n.modelId}`})),onPick:(n)=>{if(!t.some((r)=>r.displayName===n))return;e.openPicker({title:n,rows:()=>[{id:Tk,label:c("model.manage.edit")},{id:Bk,label:c("model.manage.delete")}],onPick:(r)=>{if(r===Tk)E2(e,n);else if(r===Bk)T2(e,n)}})}})}function R2(e){let t=e.session;t.refreshModels(),e.openPicker({title:c("command.model.title"),rows:()=>[...t.models().map((n)=>({id:n.modelId,label:n.name,description:n.description,...n.creditsPerRequest!==void 0?{hint:c("command.model.credits",{credits:n.creditsPerRequest})}:{},current:n.modelId===t.model()})),{id:Ik,label:c("model.action.add"),description:c("model.action.addHint")},{id:Ek,label:c("model.action.manage"),description:c("model.action.manageHint")}],onPick:(n)=>{if(n===Ik)I2(e);else if(n===Ek)B2(e);else t.selectModel(n)}})}var $k={title:c("command.model.title"),description:c("command.model.description"),run:(e,t,n)=>{if(ge){Lk(e,n);return}R2(e)}};function Gk(e,t){Lk(e,t)}function zk(e){let{theme:t}=se();return h(De,{tone:"accent",icon:"\u25CE",get title(){return e.view.title},get subtitle(){return c("model.wizard.step",{step:e.view.step,total:e.view.total})},hint:"esc",get onHint(){return e.onCancel},get actions(){return[h(He,{keys:"enter",get label(){return c("key.next")},primary:!0,get onActivate(){return e.onNext}}),h(He,{keys:"esc",get label(){return c("key.cancel")},get onActivate(){return e.onCancel}})]},get children(){var n=A("box"),r=A("text");return R(n,r),d(n,"style",{flexDirection:"column",gap:1,flexShrink:0}),p(r,()=>`> ${e.draft}\u258C`),p(n,h(P,{get when(){return e.view.hint},get children(){var o=A("text");return p(o,()=>e.view.hint),E((i)=>d(o,"style",{fg:t.textMuted},i)),o}}),null),p(n,h(P,{get when(){return e.view.extra},get children(){var o=A("text");return p(o,()=>e.view.extra),E((i)=>d(o,"style",{fg:t.textMuted},i)),o}}),null),E((o)=>d(r,"style",{fg:t.text},o)),n}})}function so(e){let t=(n)=>n==="allow_once"?0:n==="allow_always"?1:n==="reject_once"?2:3;return[...e].sort((n,r)=>t(n.kind)-t(r.kind))}function Hk(e){let{theme:t}=se(),n=()=>so(e.pending.request.options),r=()=>(e.pending.request.content??[]).filter((a)=>a.diff).map((a)=>vi(a.diff.oldText,a.diff.newText,{maxLines:16})),o=()=>(e.pending.request.content??[]).filter((a)=>a.text).map((a)=>a.text),i=(a)=>e.onAnswer({outcome:"selected",optionId:a});return h(De,{tone:"warning",get title(){return e.pending.request.title},get hint(){return`\u2191\u2193 ${c("key.choose")}`},get actions(){return[h(He,{keys:"enter",get label(){return c("key.confirm")},primary:!0,get onActivate(){return e.onConfirm}}),h(He,{keys:"esc",get label(){return c("key.reject")},get onActivate(){return e.onReject}})]},get children(){return[(()=>{var a=A("box");return d(a,"style",{flexDirection:"column",paddingLeft:1}),p(a,h(ce,{get each(){return o()},children:(s)=>(()=>{var l=A("text");return p(l,s),E((u)=>d(l,"style",{fg:t.textMuted},u)),l})()}),null),p(a,h(ce,{get each(){return r()},children:(s)=>(()=>{var l=A("box");return d(l,"style",{flexDirection:"column"}),p(l,h(ce,{each:s,children:(u)=>(()=>{var m=A("text");return d(m,"selectable",!1),p(m,(()=>{var g=de(()=>u.kind==="add");return()=>g()?"+ ":u.kind==="del"?"- ":" "})(),null),p(m,()=>u.text,null),E((g)=>{var k={fg:u.kind==="add"?t.diffAdded:u.kind==="del"?t.diffRemoved:t.textMuted},y=u.kind==="add"?t.diffAddedBg:u.kind==="del"?t.diffRemovedBg:void 0;return k!==g.e&&(g.e=d(m,"style",k,g.e)),y!==g.t&&(g.t=d(m,"bg",y,g.t)),g},{e:void 0,t:void 0}),m})()})),l})()}),null),a})(),(()=>{var a=A("box");return d(a,"style",{flexDirection:"column",paddingLeft:2,paddingRight:2}),p(a,h(ce,{get each(){return n()},children:(s,l)=>{let u=()=>s.kind.startsWith("reject");return h(wt,{get active(){return l()===e.selected},get title(){return s.name},get fill(){return de(()=>!!u())()?t.error:t.success},onMouseUp:()=>i(s.optionId)})}})),a})(),h(P,{get when(){return n().length===0},get children(){var a=A("text");return p(a,()=>c("permission.noOptions")),E((s)=>d(a,"style",{fg:t.textMuted,paddingLeft:1},s)),a}})]}})}var Uk=300;function jk(e,t){let n=e.length-1,r=e.filter((i,a)=>i.type!=="thought"||t.thinking&&a===n),o=t.limit??300;if(o<=0||r.length<=o)return{blocks:r,hidden:0};return{blocks:r.slice(-o),hidden:r.length-o}}import{RGBA as Qk}from"@opentui/core";var Gi=4,_2=6;function P2(e){return he(e)+2*Gi+_2}function Yk(e,t){if(!e)return[];let n=P2(e),o=(t%n+n)%n-Gi+0.5,i=[],a=0;for(let s of e){let l=he(s),u=Math.abs(a+l/2-o),m=u<Gi?0.5*(1+Math.cos(Math.PI*u/Gi)):0,g=i[i.length-1];if(g&&g.glow===m)g.text+=s;else i.push({text:s,glow:m});a+=l}return i}var M2=3,F2=0.5,Wk=1.5,N2=0.7,Zk=Qk.fromInts(255,255,255),Kk=Qk.fromInts(0,0,0);function Jk(e,t){let n=D2(F2,(a)=>fr(yt(e,t,a),t)>=M2),r=n>0?yt(e,t,n):e;if(fr(e,r)>=Wk)return{rest:r,peak:e};let o=fr(Zk,t)>=fr(Kk,t)?Zk:Kk,i=O2(N2,(a)=>fr(yt(e,o,a),r)>=Wk);return{rest:r,peak:yt(e,o,i)}}function Vk(e,t){if(t<=0)return e.rest;if(t>=1)return e.peak;return yt(e.rest,e.peak,t)}function D2(e,t){for(let n=Math.round(e*100);n>0;n--)if(t(n/100))return n/100;return 0}function O2(e,t){let n=Math.round(e*100);for(let r=0;r<=n;r++)if(t(r/100))return r/100;return e}var zi=6,L2=4;function Hi(e,t){let n=zi;for(let r of e.rows??[]){let o=he(r.label)+L2;if(r.description)o+=2+he(r.description);if(r.hint)o+=2+he(r.hint);n=Math.max(n,o+zi)}if(e.title!==void 0){let r=he(e.title)+(e.icon?he(e.icon)+1:0);if(e.hint)r+=2+he(e.hint);n=Math.max(n,r+zi)}if(e.subtitle)n=Math.max(n,he(e.subtitle)+1+zi);if(e.actions?.length){let r=0;for(let o of e.actions)r+=he(o.keys)+he(o.label)+3;r+=2*(e.actions.length-1),n=Math.max(n,r+1+3)}return Math.min(n,ur(t))}var $2=10,qk="keep";function Xk(e){let t=se(),{theme:n}=t,r=vt(),o=()=>gr(e.names,e.selected,$2),i=()=>mr(o()),a=()=>hr(o(),e.names.length);return h(De,{tone:"accent",icon:"\u25D0",title:"Theme",get subtitle(){return`${e.names.length} palettes \xB7 ${t.name}`},hint:"esc",get width(){return Hi({rows:e.names.map((s)=>({label:s})),icon:"\u25D0",title:"Theme",hint:"esc",subtitle:`${e.names.length} palettes \xB7 ${t.name}`,actions:[{keys:"enter",label:qk}]},r().width)},get onHint(){return e.onClose},get actions(){return h(He,{keys:"enter",label:qk,primary:!0,get onActivate(){return e.onClose}})},get children(){var s=A("box");return d(s,"style",{flexDirection:"column"}),d(s,"onMouseScroll",(l)=>{let u=ln(l);if(u)e.onStep?.(u)}),p(s,h(P,{get when(){return i()>0},get children(){var l=A("text");return p(l,()=>`\u2191 ${i()} more`),E((u)=>d(l,"style",{fg:n.textMuted,paddingLeft:1},u)),l}}),null),p(s,h(ce,{get each(){return o()},children:(l)=>h(wt,{get active(){return l.index===e.selected},get current(){return l.item===t.name},get title(){return l.item},onMouseUp:()=>e.onPick?.(l.index)})}),null),p(s,h(P,{get when(){return a()>0},get children(){var l=A("text");return p(l,()=>`\u2193 ${a()} more`),E((u)=>d(l,"style",{fg:n.textMuted,paddingLeft:1},u)),l}}),null),s}})}var G2=10;function jl(e){let{theme:t}=se(),n=vt(),r=()=>gr(e.rows,e.selected,G2),o=()=>mr(r()),i=()=>hr(r(),e.rows.length),a=()=>[{keys:"enter",label:c("key.select"),primary:!0,onActivate:()=>e.onPick?.(e.selected)},{keys:"esc",label:c("key.close"),primary:!1,onActivate:e.onClose}];return h(De,{tone:"accent",get icon(){return e.icon??"\u276F"},get title(){return e.title},get subtitle(){return e.subtitle},hint:"esc",get onHint(){return e.onClose},get width(){return Hi({rows:e.rows,icon:e.icon??"\u276F",title:e.title,hint:"esc",subtitle:e.subtitle,actions:e.footer?void 0:a()},n().width)},get actions(){return e.footer??h(ce,{get each(){return a()},children:(s)=>h(He,{get keys(){return s.keys},get label(){return s.label},get primary(){return s.primary},get onActivate(){return s.onActivate}})})},get children(){var s=A("box");return d(s,"style",{flexDirection:"column"}),d(s,"onMouseScroll",(l)=>{let u=ln(l);if(u)e.onStep?.(u)}),p(s,h(P,{get when(){return e.rows.length===0},get children(){var l=A("text");return d(l,"selectable",!1),p(l,()=>e.empty??c("picker.empty")),E((u)=>d(l,"style",{fg:t.textMuted,paddingLeft:1},u)),l}}),null),p(s,h(P,{get when(){return o()>0},get children(){var l=A("text");return d(l,"selectable",!1),p(l,()=>`\u2191 ${o()} more`),E((u)=>d(l,"style",{fg:t.textMuted,paddingLeft:1},u)),l}}),null),p(s,h(ce,{get each(){return r()},children:(l)=>h(wt,{get active(){return l.index===e.selected},get current(){return l.item.current},get title(){return l.item.label},get description(){return l.item.description},get footer(){return l.item.hint},onMouseUp:()=>e.onPick?.(l.index)})}),null),p(s,h(P,{get when(){return i()>0},get children(){var l=A("text");return d(l,"selectable",!1),p(l,()=>`\u2193 ${i()} more`),E((u)=>d(l,"style",{fg:t.textMuted,paddingLeft:1},u)),l}}),null),s}})}import{spawn as z2}from"child_process";import Wl from"process";function H2(e,t){let r=`\x1B]52;c;${Buffer.from(e,"utf8").toString("base64")}\x07`;return t?`\x1BPtmux;\x1B${r}\x1B\\`:r}function U2(e,t,n){return new Promise((r,o)=>{let i=z2(e,t,{stdio:["pipe","ignore","ignore"]});i.on("error",o),i.on("close",(a)=>{if(a===0)r();else o(Error(`${e} exited with code ${a}`))}),i.stdin?.end(n)})}function j2(e,t){if(e==="darwin")return{command:"pbcopy",args:[]};if(e==="win32")return{command:"powershell.exe",args:["-NonInteractive","-NoProfile","-Command","[Console]::InputEncoding = [System.Text.Encoding]::UTF8; Set-Clipboard -Value ([Console]::In.ReadToEnd())"]};if(t("wl-copy"))return{command:"wl-copy",args:[]};if(t("xclip"))return{command:"xclip",args:["-selection","clipboard"]};if(t("xsel"))return{command:"xsel",args:["--clipboard","--input"]};return}async function Ar(e,t={}){let n=t.platform??Wl.platform,r=t.stdout??Wl.stdout,o=t.run??U2,i=t.tmux??Boolean(Wl.env.TMUX),a=!1;try{if(r.isTTY!==!1)r.write(H2(e,i)),a=!0}catch{}let s=t.has??(()=>!0),l=j2(n,s);if(!l)return a?{ok:!0,via:"osc52"}:{ok:!1,error:c("notice.clipboardUnavailable")};try{return await o(l.command,l.args,e),{ok:!0,via:"command"}}catch(u){if(a)return{ok:!0,via:"osc52"};return{ok:!1,error:u instanceof Error?u.message:String(u)}}}var ex=[{name:"return",action:"submit"},{name:"kpenter",action:"submit"},{name:"return",shift:!0,action:"newline"},{name:"kpenter",shift:!0,action:"newline"}];function W2(e){return Math.max(1,Math.min(8,Math.floor(e/3)))}function tx(e,t,n){return Math.min(Math.max(1,Z2(e,t)),W2(n))}var nx=5;function Z2(e,t){let n=Math.floor(t);if(!Number.isFinite(n)||n<1)return 1;let r=0;for(let o of e.split(`
|
|
846
|
-
`))r+=
|
|
847
|
-
`)){let s=a.replace(/\s+$/,"");if(s===""){if(r.length===0)continue;if(!i(""))break;continue}while(s!==""){if(
|
|
848
|
-
${u}`:u}let i=r.join(" ").trim();if(!i)return{kind:"error",message:c("goal.usage")};return o.task=i,{kind:"start",fields:o}}var
|
|
845
|
+
`)),e.openPicker({title:c("model.confirm.title"),rows:()=>[{id:Li,label:c("model.confirm.save")},{id:Dk,label:c("model.confirm.cancel")}],onPick:(r)=>{if(r!==Li||!me){Lk(e);return}let o=Fk(me);me=void 0,e.syncModelWizard(void 0);try{bk(o),e.notify(c("model.saved",{name:o.displayName})),e.session.refreshModels()}catch(i){e.notify(c("model.saveFailed",{error:i instanceof Error?i.message:String(i)}))}}})}async function B2(e){e.notify(c("model.easyrouter.fetching"));try{let t=await vk(me.apiKey);if(!me)return;me.entries=t,me.selected=new Set,$i(e)}catch(t){let n=t instanceof Error?t.message:String(t);e.notify(c("model.easyrouter.fetchFailed",{error:n})),me.step="apiKey",Nn(e)}}function $i(e,t=0){let n=me,r=()=>n.selected.size===n.entries.length;e.openPicker({title:c("model.easyrouter.pick"),initialIndex:t,rows:()=>[{id:_k,label:c("model.easyrouter.done",{count:n.selected.size})},{id:Pk,label:r()?c("model.easyrouter.clear"):c("model.easyrouter.all",{count:n.entries.length})},...n.entries.map((o)=>({id:o.id,label:o.id,description:Gl(o.id),current:n.selected.has(o.id)}))],onPick:(o)=>{if(o===_k){R2(e);return}if(o===Pk){if(r())n.selected.clear();else n.entries.forEach((a)=>n.selected.add(a.id));$i(e,1);return}let i=n.entries.findIndex((a)=>a.id===o);if(i<0)return;if(n.selected.has(o))n.selected.delete(o);else n.selected.add(o);$i(e,i+2)}})}function R2(e){let t=me;if(t.selected.size===0){e.notify(c("model.easyrouter.none")),$i(e);return}let n=t.entries.filter((i)=>t.selected.has(i.id)).map((i)=>gk(i.id,t.apiKey)),r=Di(fn(),n),o=c("model.easyrouter.confirm",{added:r.added.length,removed:r.removed.length,updated:r.updated.length});e.notify(o),e.openPicker({title:c("model.easyrouter.confirmTitle"),rows:()=>[{id:Li,label:c("model.confirm.save")},{id:Dk,label:c("model.confirm.cancel")}],onPick:(i)=>{if(i!==Li){Lk(e);return}me=void 0,e.syncModelWizard(void 0);try{let a=yk(n);e.notify(c("model.easyrouter.saved",{added:a.added.length,removed:a.removed.length,updated:a.updated.length})),e.session.refreshModels()}catch(a){e.notify(c("model.saveFailed",{error:a instanceof Error?a.message:String(a)}))}}})}function _2(e){me={mode:"manual",editing:!1,provider:"openai",step:"displayName",displayName:"",baseUrl:"",apiKey:"",modelId:"",entries:[],selected:new Set},I2(e)}function P2(e,t){let n=Sk(t);if(!n){e.notify(c("model.notCustom",{name:t}));return}me={mode:"manual",editing:!0,provider:n.provider,step:"displayName",displayName:n.displayName,baseUrl:n.baseUrl,apiKey:n.apiKey,modelId:n.modelId,entries:[],selected:new Set},Nn(e)}function M2(e,t){let n=wk(t);if(e.notify(n?c("model.deleted",{name:t}):c("model.notCustom",{name:t})),n)e.session.refreshModels()}function F2(e){let t=Mk();e.openPicker({title:c("model.manage.title"),empty:c("model.manage.empty"),rows:()=>Mk().map((n)=>({id:n.displayName,label:n.displayName,description:`${n.provider} \xB7 ${n.modelId}`})),onPick:(n)=>{if(!t.some((r)=>r.displayName===n))return;e.openPicker({title:n,rows:()=>[{id:Bk,label:c("model.manage.edit")},{id:Rk,label:c("model.manage.delete")}],onPick:(r)=>{if(r===Bk)P2(e,n);else if(r===Rk)M2(e,n)}})}})}function N2(e){let t=e.session;t.refreshModels(),e.openPicker({title:c("command.model.title"),rows:()=>[...t.models().map((n)=>({id:n.modelId,label:n.name,description:n.description,...n.creditsPerRequest!==void 0?{hint:c("command.model.credits",{credits:n.creditsPerRequest})}:{},current:n.modelId===t.model()})),{id:Ek,label:c("model.action.add"),description:c("model.action.addHint")},{id:Tk,label:c("model.action.manage"),description:c("model.action.manageHint")}],onPick:(n)=>{if(n===Ek)_2(e);else if(n===Tk)F2(e);else t.selectModel(n)}})}var Gk={title:c("command.model.title"),description:c("command.model.description"),run:(e,t,n)=>{if(me){$k(e,n);return}N2(e)}};function zk(e,t){$k(e,t)}function Hk(e){let{theme:t}=se();return h(De,{tone:"accent",icon:"\u25CE",get title(){return e.view.title},get subtitle(){return c("model.wizard.step",{step:e.view.step,total:e.view.total})},hint:"esc",get onHint(){return e.onCancel},get actions(){return[h(He,{keys:"enter",get label(){return c("key.next")},primary:!0,get onActivate(){return e.onNext}}),h(He,{keys:"esc",get label(){return c("key.cancel")},get onActivate(){return e.onCancel}})]},get children(){var n=A("box"),r=A("text");return _(n,r),d(n,"style",{flexDirection:"column",gap:1,flexShrink:0}),p(r,()=>`> ${e.draft}\u258C`),p(n,h(F,{get when(){return e.view.hint},get children(){var o=A("text");return p(o,()=>e.view.hint),I((i)=>d(o,"style",{fg:t.textMuted},i)),o}}),null),p(n,h(F,{get when(){return e.view.extra},get children(){var o=A("text");return p(o,()=>e.view.extra),I((i)=>d(o,"style",{fg:t.textMuted},i)),o}}),null),I((o)=>d(r,"style",{fg:t.text},o)),n}})}var jl="\u2026",D2=3,O2=7,L2=2;function Uk(e,t){let n=Math.max(0,t-de(jl)),r=0,o="";for(let i of e){let a=pr(i.codePointAt(0)??0);if(r+a>n)break;r+=a,o+=i}return o.trimEnd()+jl}function jk(e,t){let n=e.split(/\r?\n/),r=n.findIndex((a)=>a.trim().length>0);if(r<0)return{text:"",truncated:!1};let o=n[r].trim(),i=n.slice(r+1).some((a)=>a.trim().length>0);if(de(o)>t)return{text:Uk(o,t),truncated:!0};if(i){let a=`${o} ${jl}`;return{text:de(a)<=t?a:Uk(o,t),truncated:!0}}return{text:o,truncated:!1}}function Wk(e,t){let n=Math.max(1,t);return e.reduce((r,o)=>r+Math.max(1,Math.ceil(de(o)/n)),0)}function Zk(e,t){let n=e-O2-L2-t;return Math.max(D2,n)}function lo(e){let t=(n)=>n==="allow_once"?0:n==="allow_always"?1:n==="reject_once"?2:3;return[...e].sort((n,r)=>t(n.kind)-t(r.kind))}function Kk(e){let{theme:t}=se(),n=ht(),r=`\u2191\u2193 ${c("key.choose")}`,o=()=>lo(e.pending.request.options),i=()=>(e.pending.request.content??[]).filter((N)=>N.diff).map((N)=>Ii(N.diff.oldText,N.diff.newText,{maxLines:16})),a=()=>(e.pending.request.content??[]).filter((N)=>N.text).map((N)=>N.text),s=()=>Math.min(n().width,ln(n().width)),l=()=>jk(e.pending.request.title,s()-6-1-3-de(r)),u=()=>s()-6-2,g=()=>l().truncated?e.pending.request.title.split(/\r?\n/):[],m=()=>a().flatMap((N)=>N.split(/\r?\n/)),k=()=>Math.min(Wk([...g(),...m(),...i().flatMap((N)=>N.map((M)=>`+ ${M.text}`))],u()),Zk(n().height,o().length)),y=()=>g().length+m().length+i().length>0,R=(N)=>e.onAnswer({outcome:"selected",optionId:N});return h(De,{tone:"warning",get title(){return l().text||e.pending.request.title},hint:r,get actions(){return[h(He,{keys:"enter",get label(){return c("key.confirm")},primary:!0,get onActivate(){return e.onConfirm}}),h(He,{keys:"esc",get label(){return c("key.reject")},get onActivate(){return e.onReject}})]},get children(){return[h(F,{get when(){return y()},get children(){var N=A("scrollbox");return p(N,h(ce,{get each(){return g()},children:(M)=>(()=>{var P=A("text");return d(P,"wrapMode","char"),p(P,M),I((w)=>d(P,"style",{fg:t.text},w)),P})()}),null),p(N,h(ce,{get each(){return m()},children:(M)=>(()=>{var P=A("text");return d(P,"wrapMode","char"),p(P,M),I((w)=>d(P,"style",{fg:t.textMuted},w)),P})()}),null),p(N,h(ce,{get each(){return i()},children:(M)=>(()=>{var P=A("box");return d(P,"style",{flexDirection:"column"}),p(P,h(ce,{each:M,children:(w)=>(()=>{var L=A("text");return d(L,"selectable",!1),p(L,(()=>{var S=ue(()=>w.kind==="add");return()=>S()?"+ ":w.kind==="del"?"- ":" "})(),null),p(L,()=>w.text,null),I((S)=>{var b={fg:w.kind==="add"?t.diffAdded:w.kind==="del"?t.diffRemoved:t.textMuted},C=w.kind==="add"?t.diffAddedBg:w.kind==="del"?t.diffRemovedBg:void 0;return b!==S.e&&(S.e=d(L,"style",b,S.e)),C!==S.t&&(S.t=d(L,"bg",C,S.t)),S},{e:void 0,t:void 0}),L})()})),P})()}),null),I((M)=>d(N,"style",{height:k(),flexShrink:0,paddingLeft:1},M)),N}}),(()=>{var N=A("box");return d(N,"style",{flexDirection:"column",paddingLeft:2,paddingRight:2,flexShrink:0}),p(N,h(ce,{get each(){return o()},children:(M,P)=>{let w=()=>M.kind.startsWith("reject");return h(St,{get active(){return P()===e.selected},get title(){return M.name},get fill(){return ue(()=>!!w())()?t.error:t.success},onMouseUp:()=>R(M.optionId)})}})),N})(),h(F,{get when(){return o().length===0},get children(){var N=A("text");return p(N,()=>c("permission.noOptions")),I((M)=>d(N,"style",{fg:t.textMuted,paddingLeft:1},M)),N}})]}})}var Qk=300;function Yk(e,t){let n=e.length-1,r=e.filter((i,a)=>i.type!=="thought"||t.thinking&&a===n),o=t.limit??300;if(o<=0||r.length<=o)return{blocks:r,hidden:0};return{blocks:r.slice(-o),hidden:r.length-o}}import{RGBA as Xk}from"@opentui/core";var Gi=4,$2=6;function G2(e){return de(e)+2*Gi+$2}function ex(e,t){if(!e)return[];let n=G2(e),o=(t%n+n)%n-Gi+0.5,i=[],a=0;for(let s of e){let l=de(s),u=Math.abs(a+l/2-o),g=u<Gi?0.5*(1+Math.cos(Math.PI*u/Gi)):0,m=i[i.length-1];if(m&&m.glow===g)m.text+=s;else i.push({text:s,glow:g});a+=l}return i}var z2=3,H2=0.5,Jk=1.5,U2=0.7,Vk=Xk.fromInts(255,255,255),qk=Xk.fromInts(0,0,0);function tx(e,t){let n=j2(H2,(a)=>fr(wt(e,t,a),t)>=z2),r=n>0?wt(e,t,n):e;if(fr(e,r)>=Jk)return{rest:r,peak:e};let o=fr(Vk,t)>=fr(qk,t)?Vk:qk,i=W2(U2,(a)=>fr(wt(e,o,a),r)>=Jk);return{rest:r,peak:wt(e,o,i)}}function nx(e,t){if(t<=0)return e.rest;if(t>=1)return e.peak;return wt(e.rest,e.peak,t)}function j2(e,t){for(let n=Math.round(e*100);n>0;n--)if(t(n/100))return n/100;return 0}function W2(e,t){let n=Math.round(e*100);for(let r=0;r<=n;r++)if(t(r/100))return r/100;return e}var zi=6,Z2=4;function Hi(e,t){let n=zi;for(let r of e.rows??[]){let o=de(r.label)+Z2;if(r.description)o+=2+de(r.description);if(r.hint)o+=2+de(r.hint);n=Math.max(n,o+zi)}if(e.title!==void 0){let r=de(e.title)+(e.icon?de(e.icon)+1:0);if(e.hint)r+=2+de(e.hint);n=Math.max(n,r+zi)}if(e.subtitle)n=Math.max(n,de(e.subtitle)+1+zi);if(e.actions?.length){let r=0;for(let o of e.actions)r+=de(o.keys)+de(o.label)+3;r+=2*(e.actions.length-1),n=Math.max(n,r+1+3)}return Math.min(n,ln(t))}var K2=10,rx="keep";function ox(e){let t=se(),{theme:n}=t,r=ht(),o=()=>gr(e.names,e.selected,K2),i=()=>mr(o()),a=()=>hr(o(),e.names.length);return h(De,{tone:"accent",icon:"\u25D0",title:"Theme",get subtitle(){return`${e.names.length} palettes \xB7 ${t.name}`},hint:"esc",get width(){return Hi({rows:e.names.map((s)=>({label:s})),icon:"\u25D0",title:"Theme",hint:"esc",subtitle:`${e.names.length} palettes \xB7 ${t.name}`,actions:[{keys:"enter",label:rx}]},r().width)},get onHint(){return e.onClose},get actions(){return h(He,{keys:"enter",label:rx,primary:!0,get onActivate(){return e.onClose}})},get children(){var s=A("box");return d(s,"style",{flexDirection:"column"}),d(s,"onMouseScroll",(l)=>{let u=cn(l);if(u)e.onStep?.(u)}),p(s,h(F,{get when(){return i()>0},get children(){var l=A("text");return p(l,()=>`\u2191 ${i()} more`),I((u)=>d(l,"style",{fg:n.textMuted,paddingLeft:1},u)),l}}),null),p(s,h(ce,{get each(){return o()},children:(l)=>h(St,{get active(){return l.index===e.selected},get current(){return l.item===t.name},get title(){return l.item},onMouseUp:()=>e.onPick?.(l.index)})}),null),p(s,h(F,{get when(){return a()>0},get children(){var l=A("text");return p(l,()=>`\u2193 ${a()} more`),I((u)=>d(l,"style",{fg:n.textMuted,paddingLeft:1},u)),l}}),null),s}})}var Q2=10;function Wl(e){let{theme:t}=se(),n=ht(),r=()=>gr(e.rows,e.selected,Q2),o=()=>mr(r()),i=()=>hr(r(),e.rows.length),a=()=>[{keys:"enter",label:c("key.select"),primary:!0,onActivate:()=>e.onPick?.(e.selected)},{keys:"esc",label:c("key.close"),primary:!1,onActivate:e.onClose}];return h(De,{tone:"accent",get icon(){return e.icon??"\u276F"},get title(){return e.title},get subtitle(){return e.subtitle},hint:"esc",get onHint(){return e.onClose},get width(){return Hi({rows:e.rows,icon:e.icon??"\u276F",title:e.title,hint:"esc",subtitle:e.subtitle,actions:e.footer?void 0:a()},n().width)},get actions(){return e.footer??h(ce,{get each(){return a()},children:(s)=>h(He,{get keys(){return s.keys},get label(){return s.label},get primary(){return s.primary},get onActivate(){return s.onActivate}})})},get children(){var s=A("box");return d(s,"style",{flexDirection:"column"}),d(s,"onMouseScroll",(l)=>{let u=cn(l);if(u)e.onStep?.(u)}),p(s,h(F,{get when(){return e.rows.length===0},get children(){var l=A("text");return d(l,"selectable",!1),p(l,()=>e.empty??c("picker.empty")),I((u)=>d(l,"style",{fg:t.textMuted,paddingLeft:1},u)),l}}),null),p(s,h(F,{get when(){return o()>0},get children(){var l=A("text");return d(l,"selectable",!1),p(l,()=>`\u2191 ${o()} more`),I((u)=>d(l,"style",{fg:t.textMuted,paddingLeft:1},u)),l}}),null),p(s,h(ce,{get each(){return r()},children:(l)=>h(St,{get active(){return l.index===e.selected},get current(){return l.item.current},get title(){return l.item.label},get description(){return l.item.description},get footer(){return l.item.hint},onMouseUp:()=>e.onPick?.(l.index)})}),null),p(s,h(F,{get when(){return i()>0},get children(){var l=A("text");return d(l,"selectable",!1),p(l,()=>`\u2193 ${i()} more`),I((u)=>d(l,"style",{fg:t.textMuted,paddingLeft:1},u)),l}}),null),s}})}import{spawn as Y2}from"child_process";import Zl from"process";function J2(e,t){let r=`\x1B]52;c;${Buffer.from(e,"utf8").toString("base64")}\x07`;return t?`\x1BPtmux;\x1B${r}\x1B\\`:r}function V2(e,t,n){return new Promise((r,o)=>{let i=Y2(e,t,{stdio:["pipe","ignore","ignore"]});i.on("error",o),i.on("close",(a)=>{if(a===0)r();else o(Error(`${e} exited with code ${a}`))}),i.stdin?.end(n)})}function q2(e,t){if(e==="darwin")return{command:"pbcopy",args:[]};if(e==="win32")return{command:"powershell.exe",args:["-NonInteractive","-NoProfile","-Command","[Console]::InputEncoding = [System.Text.Encoding]::UTF8; Set-Clipboard -Value ([Console]::In.ReadToEnd())"]};if(t("wl-copy"))return{command:"wl-copy",args:[]};if(t("xclip"))return{command:"xclip",args:["-selection","clipboard"]};if(t("xsel"))return{command:"xsel",args:["--clipboard","--input"]};return}async function kr(e,t={}){let n=t.platform??Zl.platform,r=t.stdout??Zl.stdout,o=t.run??V2,i=t.tmux??Boolean(Zl.env.TMUX),a=!1;try{if(r.isTTY!==!1)r.write(J2(e,i)),a=!0}catch{}let s=t.has??(()=>!0),l=q2(n,s);if(!l)return a?{ok:!0,via:"osc52"}:{ok:!1,error:c("notice.clipboardUnavailable")};try{return await o(l.command,l.args,e),{ok:!0,via:"command"}}catch(u){if(a)return{ok:!0,via:"osc52"};return{ok:!1,error:u instanceof Error?u.message:String(u)}}}var ix=[{name:"return",action:"submit"},{name:"kpenter",action:"submit"},{name:"return",shift:!0,action:"newline"},{name:"kpenter",shift:!0,action:"newline"}];function X2(e){return Math.max(1,Math.min(8,Math.floor(e/3)))}function ax(e,t,n){return Math.min(Math.max(1,eT(e,t)),X2(n))}var sx=5;function eT(e,t){let n=Math.floor(t);if(!Number.isFinite(n)||n<1)return 1;let r=0;for(let o of e.split(`
|
|
846
|
+
`))r+=tT(o,n);return Math.max(1,r)}function tT(e,t){if(!e)return 1;let n=1,r=0,o=0,i=()=>{if(o===0)return;if(r>0&&r+o>t)n+=1,r=0;if(o<=t)r+=o;else{n+=Math.ceil(o/t)-1;let a=o%t;r=a===0?t:a}o=0};for(let a of e){let s=pr(a.codePointAt(0)??0),l=a==="\t"?1:s;if(l===0)continue;if(a===" "||a==="\t"){if(i(),r>0&&r+l<=t)r+=l;continue}if(l>1){if(i(),r>0&&r+l>t)n+=1,r=0;r+=l;continue}o+=l}return i(),n}async function lx(e){let t=e.renderer.getSelection()?.getSelectedText();if(!t)return;e.renderer.clearSelection();let n=await(e.copy??kr)(t);return n.ok?c("clipboard.copied",{count:t.length,plural:t.length===1?"":"s"}):c("clipboard.copyFailed",{error:n.error??c("notice.unknownError")})}var Kl="\u2026";function cx(e,t,n){let r=[],o=!1,i=(a)=>{if(r.length>=n)return o=!0,!1;return r.push(a),!0};if(t<=0||n<=0)return{lines:r,truncated:e.trim()!==""};for(let a of e.split(`
|
|
847
|
+
`)){let s=a.replace(/\s+$/,"");if(s===""){if(r.length===0)continue;if(!i(""))break;continue}while(s!==""){if(de(s)<=t){i(s);break}let l=Array.from(s),u=0,g=0;while(g<l.length){let R=de(l[g]);if(u+R>t)break;u+=R,g+=1}if(g===0)break;let m=l.slice(0,g),k=m.lastIndexOf(" "),y=l[g]===" "?g:k>0?k:g;if(!i(m.slice(0,y).join("").replace(/\s+$/,"")))break;s=l.slice(y).join("").replace(/^\s+/,"")}if(o)break}return{lines:r,truncated:o}}function dx(e,t){let n=e.replace(/\s+/g," ").trim();if(de(n)<=t)return n;let r=t-de(Kl);if(r<=0)return Kl;let o=Array.from(n),i=0,a=0;while(a<o.length){let s=de(o[a]);if(i+s>r)break;i+=s,a+=1}return`${o.slice(0,a).join("")}${Kl}`}function ux(e){let{theme:t}=se(),n=()=>e.item.status==="asking",r=()=>e.item.status==="failed",o=()=>{if(r())return e.item.error?.trim()||c("command.btw.failed");if(n())return c("btw.asking");return e.item.answer.trim()||c("btw.empty")},i=()=>cx(o(),e.columns,e.maxRows),a=()=>dx(e.item.question,Math.max(1,e.columns-8));return(()=>{var s=A("box"),l=A("box"),u=A("text"),g=A("text");return _(s,l),_(l,u),_(l,g),d(l,"style",{flexDirection:"row",flexShrink:0}),_(u,ze("/btw ")),d(u,"selectable",!1),d(g,"wrapMode","none"),p(g,a),p(l,h(F,{get when(){return n()},get children(){var m=A("text");return p(m,()=>` ${e.spinner}`),I((k)=>d(m,"style",{fg:t.textMuted,flexShrink:0},k)),m}}),null),p(s,h(ce,{get each(){return i().lines},children:(m)=>(()=>{var k=A("text");return d(k,"wrapMode","none"),d(k,"selectable",!1),p(k,m),I((y)=>d(k,"style",{fg:r()?t.error:t.textMuted},y)),k})()}),null),p(s,h(F,{get when(){return i().truncated},get children(){var m=A("text");return d(m,"wrapMode","none"),d(m,"selectable",!1),p(m,()=>c("btw.truncated")),I((k)=>d(m,"style",{fg:t.textMuted},k)),m}}),null),p(s,h(F,{get when(){return!n()},get children(){var m=A("text");return d(m,"wrapMode","none"),d(m,"selectable",!1),p(m,()=>c("btw.hint")),I((k)=>d(m,"style",{fg:t.textMuted},k)),m}}),null),I((m)=>{var k={flexDirection:"column",backgroundColor:t.backgroundMenu,paddingLeft:2,paddingRight:2,flexShrink:0},y={fg:t.accent,flexShrink:0},R={fg:t.text,flexShrink:0};return k!==m.e&&(m.e=d(s,"style",k,m.e)),y!==m.t&&(m.t=d(u,"style",y,m.t)),R!==m.a&&(m.a=d(g,"style",R,m.a)),m},{e:void 0,t:void 0,a:void 0}),s})()}function fx(e){return{question:e,answer:"",status:"asking"}}function gx(e,t){if(!e)return;if(t.status==="failed")return{...e,status:"failed",error:t.error};return{...e,status:"done",answer:t.text}}function mx(e=3){return{tick:()=>e,reset:()=>{return}}}var hx=2500;function px(e){let{theme:t}=se();return h(F,{get when(){return e.message},get children(){var n=A("box"),r=A("box"),o=A("text");return _(n,r),d(n,"style",{position:"absolute",left:0,right:0,bottom:1,flexDirection:"row",justifyContent:"center",alignItems:"center",zIndex:5000}),_(r,o),d(o,"selectable",!1),p(o,()=>e.message),I((i)=>{var a={backgroundColor:t.backgroundPanel,paddingLeft:2,paddingRight:2},s={fg:t.accent};return a!==i.e&&(i.e=d(r,"style",a,i.e)),s!==i.t&&(i.t=d(o,"style",s,i.t)),i},{e:void 0,t:void 0}),n}})}var gn="1.1.85";var Dn=["steady","standard","intense"],kx={steady:c("goal.intensity.steady"),standard:c("goal.intensity.standard"),intense:c("goal.intensity.intense")},Ql={forbidden:"",criteria:"",hours:2,intensity:"standard"},co=24;function nT(e){let t=[],n="",r,o=!1;for(let i of e){if(r){if(i===r)r=void 0;else n+=i;continue}if(i==='"'||i==="'"){r=i,o=!0;continue}if(/\s/.test(i)){if(o)t.push(n);n="",o=!1;continue}n+=i,o=!0}if(o)t.push(n);return t}var Ax={"--hours":"hours","--intensity":"intensity","--no":"forbidden","--forbidden":"forbidden","--done":"criteria","--criteria":"criteria"};function xx(e){let t=e.trim();if(!t)return{kind:"wizard"};if(t==="clear")return{kind:"clear"};let n=nT(t),r=[],o={task:"",...Ql};for(let a=0;a<n.length;a++){let s=n[a],l=Object.hasOwn(Ax,s)?Ax[s]:void 0;if(!l){if(s.startsWith("--"))return{kind:"error",message:`Unknown option ${s}.`};r.push(s);continue}let u=n[++a];if(u===void 0)return{kind:"error",message:`${s} needs a value.`};if(l==="hours"){let m=Number(u);if(!Number.isFinite(m)||m<=0)return{kind:"error",message:`--hours needs a positive number, got "${u}".`};if(m>co)return{kind:"error",message:`--hours is capped at ${co}.`};o.hours=m;continue}if(l==="intensity"){if(!Dn.includes(u))return{kind:"error",message:`--intensity must be one of ${Dn.join(" / ")}, got "${u}".`};o.intensity=u;continue}let g=o[l];o[l]=g?`${g}
|
|
848
|
+
${u}`:u}let i=r.join(" ").trim();if(!i)return{kind:"error",message:c("goal.usage")};return o.task=i,{kind:"start",fields:o}}var mn=["task","forbidden","criteria","hours","intensity","confirm"];function bx(e){return{step:"task",fields:{task:"",...Ql,...e}}}var yx={task:{title:c("goal.step.task.title"),hint:c("goal.step.task.hint")},forbidden:{title:c("goal.step.forbidden.title"),hint:c("goal.step.forbidden.hint")},criteria:{title:c("goal.step.done.title"),hint:c("goal.step.done.hint")},hours:{title:c("goal.step.hours.title"),hint:`Hours, 1-${co}. Enter for ${Ql.hours}.`},intensity:{title:c("goal.step.intensity.title"),hint:c("goal.step.intensity.hint")},confirm:{title:c("goal.step.confirm.title"),hint:c("goal.step.confirm.hint")}};function Ui(e){return e==="task"||e==="forbidden"||e==="criteria"||e==="hours"}function wx(e,t){let n=t.trim(),r={...e.fields};switch(e.step){case"task":{if(!n)return{...e,error:c("goal.error.needTask")};r.task=n;break}case"forbidden":r.forbidden=n;break;case"criteria":r.criteria=n;break;case"hours":{if(n){let o=Number(n);if(!Number.isFinite(o)||o<=0)return{...e,error:c("goal.error.badHours")};if(o>co)return{...e,error:`${co} hours is the cap.`};r.hours=o}break}case"intensity":case"confirm":default:break}return{step:rT(e.step),fields:r}}function rT(e){let t=mn.indexOf(e);return mn[Math.min(t+1,mn.length-1)]}function Sx(e){let t=mn.indexOf(e);return t<=0?void 0:mn[t-1]}function Cx(e,t){let n=Dn.indexOf(e),r=Math.min(Dn.length-1,Math.max(0,n+t));return Dn[r]}function ji(e){switch(e.step){case"task":return e.fields.task;case"forbidden":return e.fields.forbidden;case"criteria":return e.fields.criteria;case"hours":return String(e.fields.hours);default:return""}}function vx(e){let t=[`task ${e.task}`];if(e.forbidden)t.push(`forbidden ${e.forbidden.split(`
|
|
849
849
|
`).join("; ")}`);if(e.criteria)t.push(`done when ${e.criteria.split(`
|
|
850
|
-
`).join("; ")}`);return t.push(`hours ${e.hours}`),t.push(`intensity ${e.intensity}`),t}var yx={title:c("command.plan.title"),description:c("command.plan.description"),run:async({session:e,notify:t},n,r)=>{let o=r.trim();if(o&&o!=="on"&&o!=="off"){t(c("command.plan.usage"));return}let i=e.modeStatus().planModeActive,a=o==="on"?!0:o==="off"?!1:!i;if(a===i){t(c("command.plan.already",{state:i?c("command.plan.on"):c("command.plan.off")}));return}await e.setPlanMode(a),t(c("command.plan.set",{state:a?c("command.plan.on"):c("command.plan.off")}))}},wx={title:c("command.goal.title"),description:c("command.goal.description"),run:async({session:e,notify:t,openGoalWizard:n},r,o)=>{let i=mx(o);if(i.kind==="error"){t(`${i.message} Usage: /goal <task> [--hours N] [--intensity steady|standard|intense] [--no "..."] [--done "..."]`);return}if(i.kind==="wizard"){n();return}if(i.kind==="clear"){let s=await e.clearGoal();t(s.wasActive?c("command.goal.cleared"):c("command.goal.none"));return}let a=await e.startGoal(i.fields);t(c("notice.goalStarted",{extra:a.yoloWasEnabled?c("notice.fullAccessEnabled"):""}))}},Sx={title:c("command.btw.title"),description:c("command.btw.description"),run:({notify:e,askSideQuestion:t},n,r)=>{let o=r.trim();if(!o){e(c("command.btw.usage"));return}t(o)}};function Cx(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n?.type==="assistant"&&n.text.trim())return n.text}return}var vx={title:c("command.copy.title"),description:c("command.copy.description"),run:async({session:e,notify:t})=>{let n=Cx(e.transcript().blocks);if(!n){t(c("command.copy.none"));return}let r=await Ar(n);t(r.ok?`Copied ${n.length} character${n.length===1?"":"s"} to the clipboard.`:c("clipboard.copyFailed",{error:r.error??c("notice.unknownError")}))}};li();import Wi from"fs";import J2 from"os";import Ix from"path";var V2="tui.json";function q2(){return process.env.EASYCODE_TUI_SWITCH_FILE??Ix.join(J2.homedir(),Tt,V2)}function Ex(e,t=q2()){if(!e){Wi.rmSync(t,{force:!0});return}Wi.mkdirSync(Ix.dirname(t),{recursive:!0});let n=t+".tmp";Wi.writeFileSync(n,JSON.stringify({enabled:!0},null,2),"utf-8"),Wi.renameSync(n,t)}var Tx={title:c("command.cli.title"),description:c("command.cli.description"),run:({notify:e})=>{try{Ex(!1)}catch(t){e(c("command.cli.saveFailed",{error:String(t)}));return}e(c("command.cli.done"))}};function Bx(e=pt()){let t=mk(e).sandbox;if(t==="workspace")return{enabled:!0,network:!1};if(t==="workspace-net")return{enabled:!0,network:!0};return}function Ql(e,t=pt()){hk({sandbox:e===void 0||e===!1?void 0:e},t)}import Yl from"fs";import Zi from"path";import Jl from"os";import{execFile as X2}from"child_process";import{promisify as eT}from"util";import{fileURLToPath as tT}from"url";var __dirname="/builds/easyaisuite/easycode/easycodeclient/packages/core/dist/src/sandbox/windows",Px=eT(X2);var nT="windows-sandbox-creds.json",rT=".easycode-user",Rx=null;function oT(){if(Rx)return Rx;return Zi.join(Jl.homedir(),rT,nT)}function iT(){let e=oT();try{if(Yl.existsSync(e))Yl.unlinkSync(e)}catch{}}var Ki="EasyCodeSandbox.exe",_x=typeof __dirname<"u"?__dirname:Zi.dirname(tT(import.meta.url));function Mx(){return[Zi.resolve(_x,Ki),Zi.resolve(_x,"..","windows",Ki)].find((t)=>Yl.existsSync(t))??null}async function Fx(){if(Jl.platform()!=="win32")return{ok:!1,reason:"unsupported",message:"Windows sandbox provisioning is only supported on win32"};let e=Mx();if(!e)return{ok:!1,reason:"error",message:`Windows sandbox helper (${Ki}) not found`};try{return await Px(e,["--provision-users"],{windowsHide:!0,timeout:120000,maxBuffer:1048576}),{ok:!0}}catch(t){if((t&&typeof t==="object"&&"code"in t?t.code:void 0)===2)return{ok:!1,reason:"cancelled",message:"User cancelled elevation (UAC)"};return{ok:!1,reason:"error",message:t instanceof Error?t.message:String(t)}}}async function Nx(){if(Jl.platform()!=="win32")return{ok:!1,reason:"unsupported",message:"Windows sandbox uninstall is only supported on win32"};let e=Mx();if(!e)return{ok:!1,reason:"error",message:`Windows sandbox helper (${Ki}) not found`};try{return await Px(e,["--remove-users"],{windowsHide:!0,timeout:300000,maxBuffer:1048576}),iT(),{ok:!0}}catch(t){if((t&&typeof t==="object"&&"code"in t?t.code:void 0)===2)return{ok:!1,reason:"cancelled",message:"User cancelled elevation (UAC)"};return{ok:!1,reason:"error",message:t instanceof Error?t.message:String(t)}}}var Xl=["compression","codeExpert","verification","imageReader"],Gx={compression:"config.setting.compression",codeExpert:"config.setting.codeExpert",verification:"config.setting.verification",imageReader:"config.setting.imageReader"},Vl=["all","deepv-only","none"],ql={all:"config.memory.all","deepv-only":"config.memory.deepvOnly",none:"config.memory.none"},Dx=["off","workspace","workspace-net"],ec={off:"config.sandbox.off",workspace:"config.sandbox.workspace","workspace-net":"config.sandbox.workspaceNet"},Ox="\x00sandbox-uninstall",aT=()=>process.platform==="win32",Lx=["\u4E2D\u6587","English"],$x="\x00manual";function tc(e){let t=dn(e).modelOverrides;if(!t||typeof t!=="object"||Array.isArray(t))return{};let n={};for(let r of Xl){let o=t[r];if(typeof o==="string"&&o)n[r]=o}return n}function sT(e,t,n){let r={...tc(n)};if(t)r[e]=t;else delete r[e];Pn({modelOverrides:Object.keys(r).length>0?r:void 0},n)}function zx(e){let t=dn(e).preferredLanguage;return typeof t==="string"&&t?t:void 0}function Hx(e){let t=dn(e).projectMemoryMode;return Vl.find((n)=>n===t)??"all"}function Ux(e){let t=Bx(e);if(!t?.enabled)return"off";return t.network?"workspace-net":"workspace"}function lT(e,t){return[{id:"",label:c("config.value.default"),description:c("config.value.inherit"),current:!t},...e.models().map((n)=>({id:n.modelId,label:n.name,description:n.description,...n.creditsPerRequest!==void 0?{hint:c("command.model.credits",{credits:n.creditsPerRequest})}:{},current:n.modelId===t}))]}function Qi(e,t,n){e.notify(c("config.saved",{setting:t,value:n}))}async function cT(e,t,n){if(t!=="off"){let r=await Fx();if(!r.ok&&r.reason!=="unsupported"){e.notify(r.reason==="cancelled"?c("config.status.sandbox.provision.cancelled"):c("config.status.sandbox.provision.failed"));return}}Ql(t==="off"?void 0:t,n),Qi(e,c("config.setting.sandbox"),c(ec[t]))}async function dT(e,t){let n=await Nx();if(!n.ok){e.notify(n.reason==="cancelled"?c("config.status.sandbox.uninstall.cancelled"):c("config.status.sandbox.uninstall.failed"));return}Ql(void 0,t),e.notify(c("config.status.sandbox.uninstall.done"))}function uT(e){let t=pt();e.openPicker({title:c("command.config.title"),rows:()=>{let n=tc(t);return[{id:"language",label:c("config.setting.language"),hint:zx(t)??c("config.value.default")},...Xl.map((r)=>({id:r,label:c(Gx[r]),hint:n[r]??c("config.value.default")})),{id:"project-memory",label:c("config.setting.projectMemory"),hint:c(ql[Hx(t)])},{id:"sandbox",label:c("config.setting.sandbox"),hint:c(ec[Ux(t)])}]},onPick:(n)=>Wx(e,n)})}function jx(e,t,n){if(t!=="language")return!1;let r=n===""||/^(default|none)$/i.test(n);return Pn({preferredLanguage:r?void 0:n},pt()),Qi(e,c("config.setting.language"),r?c("config.value.default"):n),!0}function Wx(e,t){let n=pt();if(t==="language"){let i=zx(n),a=i===void 0||Lx.includes(i);return e.openPicker({title:c("config.setting.language"),rows:()=>[{id:"",label:c("config.value.default"),description:c("config.value.modelDecides"),current:!i},...Lx.map((s)=>({id:s,label:s,current:s===i})),{id:$x,label:c("config.language.manual"),description:c("config.language.manualHint"),current:!a}],onPick:(s)=>{if(s===$x){e.setInput("/config language ");return}jx(e,"language",s)}}),!0}if(t==="project-memory"){let i=Hx(n);return e.openPicker({title:c("config.setting.projectMemory"),rows:()=>Vl.map((a)=>({id:a,label:c(ql[a]),current:a===i})),onPick:(a)=>{let s=Vl.find((l)=>l===a);if(!s)return;Pn({projectMemoryMode:s},n),Qi(e,c("config.setting.projectMemory"),c(ql[s]))}}),!0}if(t==="sandbox"){let i=Ux(n);return e.openPicker({title:c("config.setting.sandbox"),rows:()=>[...Dx.map((a)=>({id:a,label:c(ec[a]),current:a===i})),...aT()?[{id:Ox,label:c("config.sandbox.uninstall")}]:[]],onPick:(a)=>{if(a===Ox){dT(e,n);return}let s=Dx.find((l)=>l===a);if(!s)return;cT(e,s,n)}}),!0}let r=Xl.find((i)=>i===t);if(!r)return!1;let o=c(Gx[r]);return e.openPicker({title:o,rows:()=>lT(e.session,tc(n)[r]),onPick:(i)=>{sT(r,i||void 0,n),Qi(e,o,i||c("config.value.default"))}}),!0}var Zx={title:c("command.config.title"),description:c("command.config.description"),run:(e,t,n)=>{let[r,...o]=(t??n.trim()).split(/\s+/).filter(Boolean);if(r&&o.length>0&&jx(e,r,o.join(" ")))return;if(r&&Wx(e,r))return;uT(e)}};function Kx(e){return{title:c("command.help.title"),description:c("command.help.description"),rows:(t)=>Mi(t.transcript().commands,e()).map((n)=>({id:n.name,label:`/${n.name}`,description:n.description})),empty:c("command.help.none"),run:({setInput:t},n)=>{if(n)t(`/${n} `)}}}var fT={off:"command.think.none",auto:"command.think.auto",low:"command.think.brief",medium:"command.think.medium",high:"command.think.high",xhigh:"command.think.thorough",max:"command.think.max"},Qx={title:c("command.think.title"),description:c("command.think.description"),rows:(e)=>ii.map((t)=>({id:t,label:t,description:c(fT[t]),current:t===e.thinking()})),run:({session:e},t)=>{if(t)e.selectThinking(t)}},gT=[{id:"default",label:"mode.ask",description:"command.mode.ask"},{id:"autoEdit",label:"mode.autoEdit",description:"command.mode.autoEdit"},{id:"yolo",label:"command.mode.fullAccess.label",description:"command.mode.fullAccess.hint"}],Yx={title:c("command.mode.title"),description:c("command.mode.description"),rows:(e)=>gT.map((t)=>({id:t.id,label:c(t.label),description:c(t.description),current:t.id===e.mode()})),run:({session:e},t)=>{if(t)e.selectMode(t)}},nc={title:c("command.yolo.title"),description:c("command.yolo.description"),run:({session:e,notify:t})=>{let n=e.mode()==="yolo"?"default":"yolo";e.selectMode(n),t(n==="yolo"?c("command.yolo.on"):c("command.yolo.off"))}};function Yi(e,t=Date.now()){let n=Math.max(0,Math.round((t-e)/1000));if(n<60)return c("command.checkpoint.justNow");let r=Math.round(n/60);if(r<60)return c("time.minutesAgo",{count:r,plural:r===1?"":"s"});let o=Math.round(r/60);if(o<24)return c("time.hoursAgo",{count:o,plural:o===1?"":"s"});let i=Math.round(o/24);return c("time.daysAgo",{count:i,plural:i===1?"":"s"})}var Jx={title:c("command.checkpoint.title"),description:c("command.checkpoint.description"),load:(e)=>e.refreshCheckpoints(),rows:(e)=>e.checkpoints().map((t)=>({id:t.id,label:t.lastUserMessage||c("command.checkpoint.noPrompt"),description:`${Yi(t.timestamp)} \xB7 ${t.commitHash.slice(0,7)}`})),empty:c("command.checkpoint.none"),run:async({session:e,notify:t},n)=>{if(!n)return;let r=await e.restoreCheckpoint(n);if(!r.ok){t(r.busy?c("command.checkpoint.busy"):c("command.checkpoint.restoreFailed",{error:r.error??c("notice.unknownError")}));return}t(c("command.checkpoint.restored",{kept:r.keptUserMessageCount??0,dropped:r.droppedContentCount??0}))}};function Vx(e){let t=e.displayName?.trim();if(t&&t!==e.name)return`${t} (${e.name})`;return e.name}function mT(e){return e.enabled?e.name:c("skills.disabledLabel",{name:e.name})}function rc(e){let t=[e.description?.trim(),e.version?`v${e.version}`:void 0].filter((n)=>!!n);return t.length?t.join(" \xB7 "):void 0}async function mn(e,t){try{return await e()}catch(n){t.notify(c("skills.failed",{error:n instanceof Error?n.message:String(n)}));return}}function hT(e){e.openPicker({title:c("skills.title"),rows:()=>[{id:"store",label:c("skills.store"),description:c("skills.storeHint")},{id:"installed",label:c("skills.installed"),description:c("skills.installedHint")}],onPick:(t)=>{if(t==="store")pT(e);else Ji(e)}})}async function pT(e){let t=await mn(()=>e.session.browseSkillStore({},!0),e);if(!t)return;let n=t.sections;if(n.length===0){Dn(e,{},t.skills,t.total,1);return}e.openPicker({title:c("skills.sections"),rows:()=>[{id:"all",label:c("skills.all"),description:c("skills.allHint")},...n.map((r)=>({id:`section:${r.id}`,label:r.name}))],onPick:(r)=>{if(r==="all"){Dn(e,{},t.skills,t.total,1);return}let o=r.replace("section:",""),i=t.skills.filter((a)=>String(a.sectionId??"")===o);Dn(e,{},i,i.length,1)}})}function Dn(e,t,n,r,o){if(n.length===0){e.notify(c("skills.noResults"));return}let i=Math.max(0,r-o*n.length);e.openPicker({title:c("skills.store"),rows:()=>[...n.map((a)=>({id:`skill:${a.id}`,label:Vx(a),description:rc(a),current:a.installed===!0})),...i>0?[{id:"next",label:c("skills.nextPage"),description:c("skills.more",{count:i})}]:[]],onPick:(a)=>{if(a==="next"){AT(e,t,o+1);return}let s=n.find((l)=>`skill:${l.id}`===a);if(s)kT(e,s,t,n,r,o)}})}async function AT(e,t,n){let r=await mn(()=>e.session.browseSkillStore({...t,page:n}),e);if(!r)return;Dn(e,t,r.skills,r.total,n)}function kT(e,t,n,r,o,i){let a=t.installed===!0;e.openPicker({title:Vx(t),rows:()=>[{id:"install",label:a?c("skills.reinstall"):c("skills.install"),description:rc(t)},{id:"back",label:c("skills.back")}],onPick:(s)=>{if(s!=="install"){Dn(e,n,r,o,i);return}xT(e,t,n,i)}})}async function xT(e,t,n,r){e.notify(c("skills.installing",{name:t.name}));let o=await mn(()=>e.session.installSkillFromStore(t.id),e);if(!o)return;if(!o.ok){e.notify(c("skills.installFailed",{name:t.name,error:o.error??""}));return}e.notify(c("skills.installedOk",{name:o.name??t.name}));let i=await mn(()=>e.session.browseSkillStore({...n,page:r},!0),e);if(i)Dn(e,n,i.skills,i.total,r)}async function Ji(e){let t=await mn(()=>e.session.listInstalledSkills(),e);if(!t)return;if(t.length===0){e.notify(c("skills.noneInstalled"));return}e.openPicker({title:c("skills.installed"),rows:()=>t.map((n)=>({id:`name:${n.name}`,label:mT(n),description:rc(n),current:n.enabled})),onPick:(n)=>{let r=t.find((o)=>`name:${o.name}`===n);if(r)qx(e,r)}})}function qx(e,t){e.openPicker({title:t.name,rows:()=>[{id:"toggle",label:t.enabled?c("skills.disable"):c("skills.enable"),description:c("skills.toggleHint")},{id:"uninstall",label:c("skills.uninstall"),description:c("skills.uninstallHint")},{id:"back",label:c("skills.back")}],onPick:(n)=>{if(n==="toggle")bT(e,t);else if(n==="uninstall")yT(e,t);else Ji(e)}})}async function bT(e,t){let n=await mn(()=>e.session.setInstalledSkillEnabled(t.name,!t.enabled),e);if(!n)return;if(!n.ok){e.notify(c("skills.toggleFailed",{name:t.name,error:n.error??""}));return}e.notify(t.enabled?c("skills.disabledOk",{name:t.name}):c("skills.enabledOk",{name:t.name})),Ji(e)}function yT(e,t){e.openPicker({title:c("skills.uninstall"),rows:()=>[{id:"confirm",label:c("skills.uninstallConfirm",{name:t.name})},{id:"back",label:c("skills.back")}],onPick:(n)=>{if(n!=="confirm"){qx(e,t);return}wT(e,t)}})}async function wT(e,t){let n=await mn(()=>e.session.uninstallSkill(t.name),e);if(!n)return;if(!n.ok){e.notify(c("skills.uninstallFailed",{name:t.name,error:n.error??""}));return}e.notify(c("skills.uninstalledOk",{name:t.name})),Ji(e)}function Xx(){return{title:c("skills.title"),description:c("skills.command"),async run(e,t,n){let r=(n??"").trim();if(!r){hT(e);return}let o=await mn(()=>e.session.browseSkillStore({q:r},!0),e);if(!o)return;Dn(e,{q:r},o.skills,o.total,1)}}}var eb={running:"task.status.running",completed:"task.status.done",failed:"task.status.failed",cancelled:"task.status.cancelled"},tb={title:c("command.tasks.title"),description:c("command.tasks.description"),load:(e)=>e.refreshTasks(),rows:(e)=>e.tasks().map((t)=>({id:t.id,label:t.label,description:[eb[t.status]?c(eb[t.status]):t.status,t.exitCode!==void 0?`exit ${t.exitCode}`:void 0,Yi(t.startedAt)].filter(Boolean).join(" \xB7 ")})),empty:c("command.tasks.none"),run:async({session:e,notify:t},n,r)=>{if(r.trim()==="clear"){await e.clearFinishedTasks(),t(c("command.tasks.cleared"));return}if(!n)return;let o=e.tasks().find((s)=>s.id===n);if(!o)return;if(o.status==="running"){let s=await e.stopTask(n);t(s.ok?c("command.tasks.stopping",{label:o.label}):c("command.tasks.stopFailed",{error:s.error??c("notice.unknownError")}));return}let i=await e.taskOutput(n);if(!i.ok){t(c("command.tasks.noOutput",{error:i.error??c("notice.unknownError")}));return}let a=(i.output??"").trim();t(a?c("command.tasks.output",{label:o.label,text:a}):c("command.tasks.emptyOutput",{label:o.label}))}};var oc={cli:Tx,config:Zx,model:$k,thinking:Qx,mode:Yx,yolo:nc,auto:nc,restore:Jx,plan:yx,goal:wx,btw:Sx,copy:vx,tasks:tb,skills:Xx(),help:Kx(()=>ac)};function ic(e){return Object.hasOwn(oc,e)?oc[e]:void 0}var ST=Object.entries(oc).map(([e,t])=>({name:e,description:t.description})),CT=[{name:"feishu",description:c("command.feishu")},{name:"feishu setup",description:c("command.feishu.setup")},{name:"feishu start",description:c("command.feishu.start")},{name:"feishu stop",description:c("command.feishu.stop")},{name:"feishu status",description:c("command.feishu.status")},{name:"feishu restart",description:c("command.feishu.restart")},{name:"feishu logout",description:c("command.feishu.logout")}],ac=[...ST,...CT];import sc from"fs";import{homedir as vT}from"os";import{dirname as IT,join as ET}from"path";var TT="tui-preferences.json",BT="EASYCODE_TUI_PREFERENCES_FILE";function Vi(e=vT()){return process.env[BT]??ET(e,".easycode-user",TT)}function lc(e){try{let t=JSON.parse(sc.readFileSync(e,"utf8"));if(!t||typeof t!=="object"||Array.isArray(t))return{};return t}catch{return{}}}function nb(e=Vi()){let t=lc(e).theme;return typeof t==="string"&&t?t:void 0}function rb(e,t=Vi()){ab(t,{theme:e})}var ob="dismissedMrs",RT=50;function cc(e=Vi()){let t=lc(e)[ob];if(!Array.isArray(t))return[];return t.filter((n)=>typeof n==="string"&&n.length>0)}function ib(e,t=Vi()){if(!e)return;let n=cc(t).filter((r)=>r!==e);ab(t,{[ob]:[e,...n].slice(0,RT)})}function ab(e,t){try{let n={...lc(e),...t};sc.mkdirSync(IT(e),{recursive:!0}),sc.writeFileSync(e,`${JSON.stringify(n,null,2)}
|
|
851
|
-
`,"utf8")}catch{}}function sb(e,t,n){if(n<=0)return[];if(e.length<=n)return[...e];let r=Math.min(Math.max(0,t),e.length-1),o=Math.min(Math.max(0,r-Math.floor(n/2)),e.length-n);return e.slice(o,o+n)}var _T=0.34,PT=18,MT=10;function lb(e){let{theme:t}=se(),[n,r]=j(void 0),o=()=>e.files.reduce((s,l)=>({added:s.added+l.added,removed:s.removed+l.removed}),{added:0,removed:0}),i=()=>Math.max(PT,Math.floor(e.paneWidth*_T)),a=(s)=>s==="added"?t.success:t.error;return h(De,{tone:"accent",icon:"\xB1",get title(){return c("diff.title")},maxWidth:"fill",get subtitle(){return c("diff.subtitle",{files:e.files.length,added:o().added,removed:o().removed})},get footer(){return[h(qe,{keys:"\u2191\u2193",get label(){return c("diff.chooseFile")}}),h(qe,{keys:"\u21DE\u21DF",get label(){return c("diff.scroll")}}),h(qe,{keys:"esc",get label(){return c("diff.close")}})]},get children(){var s=A("box"),l=A("box"),u=A("box"),m=A("text"),g=A("box"),k=A("box"),y=A("text"),_=A("box"),U=A("text");return R(s,l),R(s,g),d(s,"style",{flexDirection:"column"}),R(l,u),d(l,"style",{flexDirection:"row",justifyContent:"flex-end",flexShrink:0}),R(u,m),d(u,"onMouseUp",()=>e.onClose()),d(m,"selectable",!1),p(m,()=>` ${c("diff.closeButton")} `),R(g,k),R(g,_),d(g,"style",{flexDirection:"row",gap:1}),R(k,y),d(y,"selectable",!1),p(y,()=>c("diff.filesHeader")),p(k,h(ce,{get each(){return sb(e.files,e.cursor,MT)},children:(D)=>{let N=()=>e.files[e.cursor]?.path===D.path,S=()=>e.files.indexOf(D),z=()=>n()===S();return(()=>{var w=A("box"),b=A("text"),v=A("text"),F=A("text");return R(w,b),R(w,v),R(w,F),d(w,"onMouseOver",()=>r(S())),d(w,"onMouseOut",()=>r((L)=>L===S()?void 0:L)),d(w,"onMouseUp",()=>e.onSelect(S())),d(b,"selectable",!1),p(b,()=>`+${D.added}`),d(v,"selectable",!1),p(v,()=>` -${D.removed} `),d(F,"selectable",!1),p(F,()=>D.path),E((L)=>{var J={flexDirection:"row",backgroundColor:z()?t.primary:N()?t.backgroundElement:void 0,flexShrink:0},V={fg:ot(t,z(),a("added")),flexShrink:0},q={fg:ot(t,z(),a("removed")),flexShrink:0},X={fg:ot(t,z(),N()?t.text:t.textMuted)};return J!==L.e&&(L.e=d(w,"style",J,L.e)),V!==L.t&&(L.t=d(b,"style",V,L.t)),q!==L.a&&(L.a=d(v,"style",q,L.a)),X!==L.o&&(L.o=d(F,"style",X,L.o)),L},{e:void 0,t:void 0,a:void 0,o:void 0}),w})()}}),null),R(_,U),d(_,"style",{flexDirection:"column",flexGrow:1,minWidth:0}),d(U,"selectable",!1),p(U,()=>c("diff.patchHeader")),p(_,h(P,{get when(){return e.patch.trim().length>0},get fallback(){return(()=>{var D=A("text");return d(D,"selectable",!1),p(D,()=>c("diff.empty")),E((N)=>d(D,"style",{fg:t.textMuted},N)),D})()},get children(){var D=A("scrollbox"),N=A("diff");return R(D,N),Fo((S)=>e.onScrollBox?.(S),D),d(N,"view","unified"),d(N,"showLineNumbers",!0),d(N,"width","100%"),d(N,"wrapMode","none"),E((S)=>{var z={height:e.bodyHeight,flexShrink:0,width:"100%"},w=e.patch,b=t.text,v=no(t),{diffAddedBg:F,diffRemovedBg:L,diffContextBg:J,diffHighlightAdded:V,diffHighlightRemoved:q,diffLineNumber:X,diffContextBg:ae,diffAddedLineNumberBg:Q,diffRemovedLineNumberBg:oe}=t;return z!==S.e&&(S.e=d(D,"style",z,S.e)),w!==S.t&&(S.t=d(N,"diff",w,S.t)),b!==S.a&&(S.a=d(N,"fg",b,S.a)),v!==S.o&&(S.o=d(N,"syntaxStyle",v,S.o)),F!==S.i&&(S.i=d(N,"addedBg",F,S.i)),L!==S.n&&(S.n=d(N,"removedBg",L,S.n)),J!==S.s&&(S.s=d(N,"contextBg",J,S.s)),V!==S.h&&(S.h=d(N,"addedSignColor",V,S.h)),q!==S.r&&(S.r=d(N,"removedSignColor",q,S.r)),X!==S.d&&(S.d=d(N,"lineNumberFg",X,S.d)),ae!==S.l&&(S.l=d(N,"lineNumberBg",ae,S.l)),Q!==S.u&&(S.u=d(N,"addedLineNumberBg",Q,S.u)),oe!==S.c&&(S.c=d(N,"removedLineNumberBg",oe,S.c)),S},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0,d:void 0,l:void 0,u:void 0,c:void 0}),D}}),null),E((D)=>{var N={fg:t.textMuted},S={flexDirection:"column",width:i(),flexShrink:0},z={fg:t.textMuted},w={fg:t.textMuted};return N!==D.e&&(D.e=d(m,"style",N,D.e)),S!==D.t&&(D.t=d(k,"style",S,D.t)),z!==D.a&&(D.a=d(y,"style",z,D.a)),w!==D.o&&(D.o=d(U,"style",w,D.o)),D},{e:void 0,t:void 0,a:void 0,o:void 0}),s}})}var dc=" ";function cb(e){let t=[];if(e.compressing)t.push({id:"compressing",text:`${e.spinner} ${c("status.compacting")}`,tone:"accent",priority:100});let n=e.tasks.filter((r)=>r.status==="running").length;if(n>0)t.push({id:"tasks",text:c("status.tasksRunning",{count:n,plural:n===1?"":"s"}),tone:"muted",priority:60});if(e.diff&&e.diff.files>0)t.push({id:"diff",text:`+${e.diff.added} -${e.diff.removed}`,tone:"added",parts:[{text:`+${e.diff.added}`,tone:"added"},{text:` -${e.diff.removed}`,tone:"removed"}],priority:80});return t}function db(e,t){if(e==="accent")return t.accent;if(e==="success"||e==="added")return t.success;if(e==="removed")return t.error;return t.textMuted}function ub(e,t){if(e.length===0)return[];let n=(i)=>i.reduce((a,s)=>a+s.text.length,0)+dc.length*(i.length-1),r=e.slice(),o=e.map((i,a)=>({pill:i,index:a})).sort((i,a)=>i.pill.priority-a.pill.priority||a.index-i.index);for(let{pill:i}of o){if(n(r)<=t)break;r=r.filter((a)=>a!==i)}return n(r)<=t?r:[]}function fb(e){return e?5000:30000}var gb=30000;function uc(e){return!!e&&e.trim().length>0}function mb(e){let{theme:t}=se(),n=()=>gn.indexOf(e.state.step)+1,r=()=>px[e.state.step];return h(De,{tone:"accent",icon:"\u25CE",get title(){return c("goal.dialog.title",{title:r().title})},get subtitle(){return c("goal.dialog.subtitle",{step:n(),total:gn.length,hint:r().hint})},hint:"esc",get onHint(){return e.onCancel},get actions(){return[h(He,{keys:"enter",get label(){return de(()=>e.state.step==="confirm")()?c("key.start"):c("key.next")},primary:!0,get onActivate(){return e.onNext}}),h(He,{keys:"esc",get label(){return c("key.cancel")},get onActivate(){return e.onCancel}})]},get children(){var o=A("box");return d(o,"style",{flexDirection:"column",gap:1,flexShrink:0}),p(o,h(P,{get when(){return Ui(e.state.step)},get children(){var i=A("text");return p(i,()=>`> ${e.draft}\u258C`),E((a)=>d(i,"style",{fg:t.text},a)),i}}),null),p(o,h(P,{get when(){return e.state.step==="intensity"},get children(){var i=A("box");return d(i,"style",{flexDirection:"column",flexShrink:0}),p(i,h(ce,{each:Nn,children:(a)=>h(wt,{get active(){return e.state.fields.intensity===a},get title(){return gx[a]}})})),i}}),null),p(o,h(P,{get when(){return e.state.step==="confirm"},get children(){var i=A("box"),a=A("text");return R(i,a),d(i,"style",{flexDirection:"column",flexShrink:0}),p(i,h(ce,{get each(){return bx(e.state.fields)},children:(s)=>(()=>{var l=A("text");return p(l,s),E((u)=>d(l,"style",{fg:t.textMuted},u)),l})()}),a),p(a,()=>c("goal.dialog.fullAccess")),E((s)=>d(a,"style",{fg:t.warning},s)),i}}),null),p(o,h(P,{get when(){return e.state.error},get children(){var i=A("text");return p(i,()=>e.state.error),E((a)=>d(i,"style",{fg:t.error},a)),i}}),null),o}})}import{promises as qi}from"fs";import{homedir as FT}from"os";import{join as hb}from"path";var NT=2147483648,DT=604800000,pb=2000,Ab="lastHistoryCleanupCheck";function kb(e=FT()){return hb(e,".easycode-user","history")}function xb(e){if(e===0)return"0 B";let t=["B","KB","MB","GB","TB"],n=1024,r=Math.floor(Math.log(e)/Math.log(n));return`${(e/Math.pow(n,r)).toFixed(2)} ${t[r]}`}async function bb(e){let t=0;try{let n=await qi.readdir(e,{withFileTypes:!0});for(let r of n){let o=hb(e,r.name);if(r.isDirectory())t+=await bb(o);else if(r.isFile())try{t+=(await qi.stat(o)).size}catch{}}}catch{}return t}function OT(e){let t=dn(e)[Ab];return typeof t==="number"&&Number.isFinite(t)?t:void 0}function yb(e,t){return e!==void 0&&t-e<DT}function LT(e){if(yb(e.lastCheck,e.now))return!1;return e.size>NT}function fc(e,t){try{Pn({[Ab]:t},e)}catch{}}async function wb(e){try{await qi.access(e)}catch{return}return bb(e)}async function Sb(e={}){let t=e.settingsFile??pt(),n=e.now??Date.now(),r=e.historyDir??kb(),o=await wb(r);if(o===void 0)return null;let i=OT(t);if(yb(i,n))return null;if(LT({lastCheck:i,now:n,size:o}))return{size:o,sizeFormatted:xb(o),dir:r};return fc(t,n),null}async function Cb(e={}){let t=e.historyDir??kb(),n=e.settingsFile??pt(),r=e.now??Date.now(),o=await wb(t);try{await qi.rm(t,{recursive:!0,force:!0})}catch(i){return{ok:!1,error:i instanceof Error?i.message:String(i)}}return fc(n,r),{ok:!0,freed:xb(o??0)}}function vb(e={}){fc(e.settingsFile??pt(),e.now??Date.now())}function Ib(e){let{theme:t}=se();return h(De,{tone:"warning",get title(){return c("cleanup.title")},hint:"esc",get onHint(){return e.onSkip},maxWidth:64,get actions(){return[h(He,{keys:"y",get label(){return c("cleanup.key.clean")},primary:!0,get onActivate(){return e.onClean}}),h(He,{keys:"n",get label(){return c("cleanup.key.skip")},get onActivate(){return e.onSkip}})]},get children(){var n=A("box"),r=A("text"),o=A("text"),i=A("text");return R(n,r),R(n,o),R(n,i),d(n,"style",{flexDirection:"column",paddingLeft:1}),p(r,()=>c("cleanup.warning",{size:e.offer.sizeFormatted})),p(o,()=>c("cleanup.question")),p(i,()=>c("cleanup.location",{path:e.offer.dir})),E((a)=>{var s={fg:t.text},l={fg:t.textMuted},u={fg:t.textMuted};return s!==a.e&&(a.e=d(r,"style",s,a.e)),l!==a.t&&(a.t=d(o,"style",l,a.t)),u!==a.a&&(a.a=d(i,"style",u,a.a)),a},{e:void 0,t:void 0,a:void 0}),n}})}function Eb(e){let{theme:t}=se();return h(De,{tone:"warning",get title(){return c("archive.title")},hint:"esc",get onHint(){return e.onCancel},maxWidth:64,get actions(){return[h(He,{keys:"y",get label(){return c("archive.key.confirm")},primary:!0,get onActivate(){return e.onConfirm}}),h(He,{keys:"n",get label(){return c("archive.key.cancel")},get onActivate(){return e.onCancel}})]},get children(){var n=A("box"),r=A("text"),o=A("text");return R(n,r),R(n,o),d(n,"style",{flexDirection:"column",paddingLeft:1}),p(r,()=>c("archive.question")),p(o,()=>c("archive.effect")),E((i)=>{var a={fg:t.text},s={fg:t.textMuted};return a!==i.e&&(i.e=d(r,"style",a,i.e)),s!==i.t&&(i.t=d(o,"style",s,i.t)),i},{e:void 0,t:void 0}),n}})}function Tb(e,t){if(t)return{mode:"yolo",plan:!1};switch(e){case"default":return{mode:"autoEdit"};case"autoEdit":return{plan:!0};case"yolo":return{mode:"default"};default:return{}}}function Bb(e,t){return e?.forced===!0&&t.phase==="idle"}function Rb(e,t){if(e.phase==="failed"||e.phase==="done")return e.version!==t.latestVersion;return!1}var gc={index:-1,draft:""};function _b(e,t,n,r){if(n.length===0)return null;if(t==="up"){let i=e.index===-1?0:e.index+1;if(i>=n.length)return null;return{state:{index:i,draft:e.index===-1?r:e.draft},text:n[n.length-1-i]}}if(e.index===-1)return null;let o=e.index-1;return{state:{index:o,draft:e.draft},text:o===-1?e.draft:n[n.length-1-o]}}import{spawn as UT}from"child_process";import*as Pb from"fs";import*as Mb from"os";import*as kr from"path";var $T=".COM;.EXE;.BAT;.CMD";function GT(e){let{platform:t,home:n,env:r}=e,o=t==="win32"?kr.win32:kr.posix;if(t==="win32"){let a=r.LOCALAPPDATA??o.join(n,"AppData","Local"),s=r.ProgramFiles??"C:\\Program Files",l=r.ProgramData??"C:\\ProgramData";return[o.join(a,"Microsoft","WinGet","Links"),o.join(n,"scoop","shims"),o.join(l,"chocolatey","bin"),o.join(s,"GitHub CLI"),o.join(s,"glab","bin"),o.join(a,"Programs","glab"),o.join(a,"Programs","GitHub CLI")]}let i=[o.join(n,".local","bin"),o.join(n,"bin"),o.join(n,"go","bin"),"/usr/local/bin","/usr/bin"];if(t==="darwin")return["/opt/homebrew/bin",...i];return[...i,"/snap/bin","/home/linuxbrew/.linuxbrew/bin",o.join(n,".linuxbrew","bin")]}function zT(e,t){let{platform:n,env:r}=t,o=n==="win32"?kr.win32:kr.posix,i=n==="win32"?";":":",a=n==="win32"?(r.PATHEXT??$T).split(";").map((m)=>m.trim()).filter(Boolean).map((m)=>`${e}${m.toLowerCase()}`):[e],s=[...(r.PATH??"").split(i).map((m)=>m.trim()).filter(Boolean),...GT(t)],l=[],u=new Set;for(let m of s)for(let g of a){let k=o.join(m,g),y=n==="win32"?k.toLowerCase():k;if(u.has(y))continue;u.add(y),l.push(k)}return l}function HT(){return{platform:process.platform,home:Mb.homedir(),env:process.env}}var mc=new Map;function hc(e,t=HT(),n=(r)=>Pb.existsSync(r)){let r=`${t.platform}:${e}`,o=mc.get(r);if(o)return o;for(let a of zT(e,t))try{if(n(a))return mc.set(r,a),a}catch{}let i=t.platform==="win32"?`${e}.exe`:e;return mc.set(r,i),i}var jT=1e4,WT="number,state,url,title,headRefName,statusCheckRollup";function Fb(e){switch(e){case"created":case"waiting_for_resource":case"preparing":case"pending":case"running":case"scheduled":return"running";case"success":return"success";case"failed":return"failed";default:return"none"}}function ZT(e){return e==="merged"||e==="closed"?e:"opened"}function KT(e){let t=e.head_pipeline;if(t&&typeof t.status==="string")return Fb(t.status);let n=e.pipeline;return Fb(n?.status)}function QT(e){if(!e||typeof e!=="object"||Array.isArray(e))return null;let t=e,{iid:n,web_url:r}=t;if(typeof n!=="number"||typeof r!=="string"||!r)return null;return{iid:n,url:r,state:ZT(t.state),pipeline:KT(t),title:typeof t.title==="string"?t.title:"",sourceBranch:typeof t.source_branch==="string"?t.source_branch:""}}function YT(e){return["api","--hostname",e.host,`projects/${encodeURIComponent(e.projectPath)}/merge_requests/${e.iid}`]}function JT(e){if(typeof e!=="string")return"opened";let t=e.toUpperCase();if(t==="MERGED")return"merged";if(t==="CLOSED")return"closed";return"opened"}function VT(e){if(!Array.isArray(e)||e.length===0)return"none";let t=!1,n=!1,r=!1;for(let o of e){if(!o||typeof o!=="object")continue;let i=o;if(typeof i.status==="string"){let s=i.status.toUpperCase();if(s==="QUEUED"||s==="IN_PROGRESS"||s==="PENDING"||s==="WAITING"){t=!0;continue}}switch(typeof i.conclusion==="string"?i.conclusion.toUpperCase():typeof i.state==="string"?i.state.toUpperCase():""){case"SUCCESS":r=!0;break;case"FAILURE":case"ERROR":case"TIMED_OUT":case"STARTUP_FAILURE":case"ACTION_REQUIRED":n=!0;break;case"PENDING":case"EXPECTED":t=!0;break;default:break}}if(t)return"running";if(n)return"failed";return r?"success":"none"}function qT(e){if(!e||typeof e!=="object"||Array.isArray(e))return null;let t=e,{number:n,url:r}=t;if(typeof n!=="number"||typeof r!=="string"||!r)return null;return{iid:n,url:r,state:JT(t.state),pipeline:VT(t.statusCheckRollup),title:typeof t.title==="string"?t.title:"",sourceBranch:typeof t.headRefName==="string"?t.headRefName:""}}function XT(e){let t=e.host==="github.com"?e.projectPath:`${e.host}/${e.projectPath}`;return["pr","view",String(e.iid),"--repo",t,"--json",WT]}function Nb(e,t){return new Promise((n,r)=>{let o=UT(e,t,{windowsHide:!0}),i="",a="",s=setTimeout(()=>{o.kill(),r(Error("timeout"))},jT);o.stdout.on("data",(l)=>i+=String(l)),o.stderr.on("data",(l)=>a+=String(l)),o.on("error",(l)=>{clearTimeout(s),r(l)}),o.on("close",(l)=>{clearTimeout(s),n({code:l??0,out:i,err:a})})})}async function eB(e){let t;try{t=await Nb(hc("glab"),YT(e))}catch(o){return Bl(o instanceof Error?o.message:String(o),"glab-not-found")}if(t.code!==0){let o=t.err.trim();if(/401|403|authenticat|not logged in|no token/i.test(o))return{kind:"unavailable",reason:"glab-unauthenticated"};return{kind:"error",message:o||`glab exited with ${t.code}`}}let n;try{n=JSON.parse(t.out)}catch{return{kind:"error",message:"glab returned non-JSON output"}}let r=QT(n);return r?{kind:"ok",status:r}:{kind:"error",message:"unexpected MR payload shape"}}async function tB(e){let t;try{t=await Nb(hc("gh"),XT(e))}catch(o){return Bl(o instanceof Error?o.message:String(o),"gh-not-found")}if(t.code!==0){let o=t.err.trim();if(/auth|401|403|not logged|gh auth login|HTTP 404/i.test(o))return{kind:"unavailable",reason:"gh-unauthenticated"};return{kind:"error",message:o||`gh exited with ${t.code}`}}let n;try{n=JSON.parse(t.out)}catch{return{kind:"error",message:"gh returned non-JSON output"}}let r=qT(n);return r?{kind:"ok",status:r}:{kind:"error",message:"unexpected PR payload shape"}}async function Db(e){return e.provider==="github"?tB(e):eB(e)}function oB(e){return e.split(`
|
|
852
|
-
`).find((t)=>t.trim().length>0)?.trim()??c("notice.unknownError")}var iB=()=>c("prompt.browseCommands"),aB=()=>c("notice.pastingImage");function Lb(e){return h(Lp,{get initial(){return nb()},onNameChange:rb,get children(){return h(sB,e)}})}function sB(e){let t=se(),{theme:n}=t,[r,o]=j(""),i,a=(f)=>{if(o(f),!i)return;i.editBuffer.setText(f),i.cursorOffset=Ei(f,f.length)},[s,l]=j([]),u=new Map,m=ye(()=>{let f=n.warning,C=`${f.r}/${f.g}/${f.b}`,I=u.get(C);if(I)return I;let K=rB.fromStyles({attachment:{fg:Tn(n,f),bg:f,bold:!0}});return u.set(C,K),K}),g=0,k=(f,C,I)=>{let K=i?.extmarks,ne;if(K){if(g===0)g=K.registerType("attachment");ne=K.create({start:Ei(C.text,C.start),end:Ei(C.text,C.end),virtual:!0,styleId:m().getStyleId("attachment")??0,typeId:g})}l((ke)=>[...ke,{label:f,reference:I,mark:ne}])},y=()=>{let f=i?.extmarks;for(let C of s())if(f&&C.mark!==void 0)f.delete(C.mark);l([])},_=()=>{y(),a("")},U=async()=>{let f=e.pasteClipboard??nk;At(aB());let C=await f({cwd:e.cwd});if(!C){Ft(void 0);return}let I=Hp(s()),K=Up(r(),I);a(K.text),k(I,K,C.insert),At(c("notice.attached",{file:Ob.basename(C.file)}))},[D,N]=j(0),[S,z]=j(!1),[w,b]=j(0),[v,F]=j(void 0),[L,J]=j(0),[V,q]=j(0),[X,ae]=j(0),[Q,oe]=j(void 0),[le,je]=j(!1),St=()=>{je(!0),setTimeout(()=>je(!1),2000)},[On,Ft]=j(void 0),[Nt,Dt]=j(0),[hn,Ln]=j([]),[ee,$n]=j([]),[Gn,Vt]=j([]),[Ot,xr]=j(!1),[pn,br]=j(!1),[jt,ut]=j("choose"),[zn,qt]=j(0),[Hn,Qe]=j(""),[it,Wt]=j(!1),[B,W]=j(void 0),[ue,we]=j(void 0),Oe=vt(),zb=ye(()=>tx(r(),Math.max(1,(i?.width??Oe().width)-nx),Oe().height)),Ac=Vn(),pe=()=>e.session.transcript(),Hb=ye(()=>mA(pe().blocks)),[kc,Ub]=j(),[xc,Xi]=j(),[bc,co]=j(!1),yc=()=>{co(!1),e.hub?.archiveActive()},wc=async()=>{Xi(void 0);let f=await(e.cleanHistory??(()=>Cb()))();At(f.ok?c("cleanup.freed",{size:f.freed??""}):c("cleanup.failed",{error:f.error??c("notice.unknownError")}))},Sc=()=>{Xi(void 0),vb()},[jb,Cc]=j(e.branch),vc=e.readBranch??mi,Wb=e.readDiffStat??Ah,[Zb,Kb]=j(void 0),[Ic,ea]=j(!1),[Ec,Qb]=j([]),[Tc,Yb]=j(0),[Jb,Vb]=j(""),ta,uo=()=>Kb(Wb(e.cwd)),Bc=()=>Math.max(4,Oe().height-12),na=(f)=>{let C=Ec();if(C.length===0)return;let I=Math.min(Math.max(0,f),C.length-1);Yb(I);let K=C[I];Vb(K?ph(e.cwd,K):""),ta?.scrollTo(0)},qb=()=>{let f=Xs(e.cwd)??[];if(f.length===0){uo();return}Qb(f),ea(!0),na(0)};st(va(()=>pe().running,(f,C)=>{if(C&&!f)Cc(vc(e.cwd)),uo(),e.session.refreshFeishuStatus(),e.session.refreshCredits(),e.session.refreshQuota()})),Gt(uo),Gt(()=>void e.session.refreshFeishuStatus()),Gt(()=>void e.session.refreshCredits()),Gt(()=>void e.session.refreshQuota()),st(()=>{if(!uc(e.cwd))return;let f=setInterval(uo,fb(Sr()));Me(()=>clearInterval(f))}),st(()=>{if(!uc(e.cwd))return;let f=setInterval(()=>Cc(vc(e.cwd)),gb);Me(()=>clearInterval(f))});let Xb=e.queryMrStatus??Db,[Rc,_c]=j(void 0),[Xt,fo]=j(void 0),[e0,t0]=j(new Set(cc())),Pc=async()=>{let f=Xt();if(!f||f.dismissed)return;let C=await Xb(f.ref);fo((I)=>{if(!I||I.ref.url!==f.ref.url)return I;return{...I,outcome:C.kind,status:C.kind==="ok"?C.status:I.status}})},n0=()=>{let f=Xt()?.ref.url;if(!f)return;ib(f),t0((C)=>new Set(C).add(f)),fo((C)=>C?{...C,dismissed:!0}:C)},r0=ye(()=>bA(pe().blocks));st(()=>{let f=r0();if(!f){_c(void 0);return}let C=xA(f.content,f.terminalOutput);if(!C)return;_c((I)=>I?.url===C.url?I:C)}),st(va(Rc,(f)=>{if(!f){fo(void 0);return}let C=kA(Xt(),f,e0());if(fo(C),eo(C))Pc()}));let o0=ye(()=>eo(Xt())),i0=ye(()=>Xt()?.status?.state),a0=ye(()=>Xt()?.status?.pipeline),s0=ye(()=>Xt()?.outcome??"ok");st(()=>{if(!Rc()||!o0())return;let f=yA(i0(),a0(),s0());if(f===0)return;let C=setInterval(()=>void Pc(),f);Me(()=>clearInterval(C))});let l0=async(f)=>{if(!(await(e.openUrl??di)(f)).ok)At(c("mr.openFailed",{url:f}))};st(()=>{let f=pe().title;if(f)e.hub?.remember(f)});let[go,ra]=j({phase:"idle"}),Mc=async()=>{let f=kc();if(!f||go().phase==="running")return;ra({phase:"running",version:f.latestVersion});let I=await(e.runUpdate??((K)=>wi(K)))(f.updateCommand);ra(I.ok?{phase:"done",version:f.latestVersion}:{phase:"failed",reason:oB(I.output),version:f.latestVersion})},Fc=(f)=>{if(!f)return;if(Ub(f),Rb(go(),f))ra({phase:"idle"});if(Bb(f,go()))Mc()};Gt(()=>{let f=e.checkUpdate??(()=>yi({currentVersion:fn}));f().then(Fc);let C=setInterval(()=>{f().then(Fc)},e.checkIntervalMs??Xh);Me(()=>clearInterval(C));let I=setTimeout(()=>{(e.checkCleanup??(()=>Sb()))().then((ne)=>{if(ne)Xi(ne)})},e.cleanupDelayMs??pb);Me(()=>clearTimeout(I))});let Un=()=>pe().blocks.length===0,oa=()=>Math.max(75,Math.floor(Oe().width*0.7)),ia=()=>Ri(Oe().width),c0=()=>Oe().width-(ia()?pr:0),d0=()=>ur(Oe().width),Nc=()=>Ot()||S()||Boolean(gt())||Boolean(v())||Boolean(e.session.pendingPermission()),u0=()=>pe().title??e.cwd,f0=()=>rk(r()),en=ye(()=>{let f=f0();return f===void 0?[]:ok(Mi(pe().commands,ac),f)}),gt=()=>e.session.pendingPermission()?.request.questions,aa=ye(()=>jk(pe().blocks,{thinking:e.session.status()==="thinking"})),g0=()=>aa().blocks,[mo,Dc]=j(void 0),[Oc,jn]=j(0),[An,yr]=j(void 0),Lc=ye(()=>{let f=new Map,C=0;for(let I of pe().blocks)if(I.type==="user")f.set(I,C++);return f}),sa=(f)=>e.session.checkpoints().find((C)=>C.userMessageIndex===f),m0=(f)=>{let C=Lc().get(f);return C!==void 0&&sa(C)!==void 0},h0=(f)=>{jn(0),yr(void 0),Dc(f),e.session.refreshCheckpoints()},wr=()=>{Dc(void 0),yr(void 0)},ho=()=>{let f=mo();if(f===void 0)return[];if(An()!==void 0)return[{id:"confirm",label:c("menu.confirm.restore")},{id:"cancel",label:c("menu.cancel")}];let C=[];if(sa(f))C.push({id:"restore",label:c("menu.restore"),description:c("menu.restore.hint")});return C.push({id:"copy",label:c("menu.copy")}),C},$c=async(f)=>{let C=mo();if(C===void 0)return;if(f==="cancel"){wr();return}let I=f==="confirm"?An()??"":f;if(I==="restore"&&An()===void 0){yr(I),jn(0);return}if(I==="copy"){let ke=p0(C);if(wr(),ke===void 0)return;let Le=await Ar(ke);At(Le.ok?c("notice.copied"):c("notice.copyFailed",{error:Le.error??c("notice.unknown")}));return}wr();let K=sa(C);if(!K){At(c("notice.checkpointGone"));return}let ne=await e.session.restoreCheckpoint(K.id);At(ne.ok?c("notice.restored"):c("notice.restoreFailed",{error:ne.error??c("notice.unknownError")}))},p0=(f)=>pe().blocks.filter((C)=>C.type==="user").map((C)=>C.text)[f],mt=()=>{if(Ot())return"auth";if(gt())return"ask";if(Ic())return"diff";if(e.session.pendingPermission())return"permission";if(S())return"theme";if(v())return"picker";if(Cr())return"goal";if(mo()!==void 0)return"menu";if(xc())return"cleanup";if(bc())return"archive";if(en().length>0)return"commands";return"prompt"};st(()=>{let f=e.session.auth();if(!f)return;at(()=>{if(f.loggedIn){let C=pn()||jt()==="browser";if(br(!1),C)Aa();return}if(!Ot()&&!pn())br(!0),pa()})}),st(()=>{en(),N(0)}),st(()=>{e.session.pendingPermission(),q(0)}),st(()=>{let f=gt();Dt(0),Ln(f?f.map(()=>0):[]),$n(f?f.map(()=>new Set):[]),Vt(f?f.map(()=>{return}):[])});let Sr=()=>sr(e.session.status())||pe().compressing,la=()=>Sr()||pe().restoring,A0=()=>Gc("execute"),Gc=(f)=>pe().blocks.some((C)=>C.type==="tool"&&(f===void 0||C.toolKind===f)&&(C.status==="pending"||C.status==="in_progress")),zc=()=>Sr()||Gc(),ca=()=>mt()==="prompt"||mt()==="commands",po=()=>pe().running?void 0:pe().suggestion,k0=()=>yt(n.borderActive,n.background,0.65),x0=()=>{if(!ca())return k0();if(ua())return n.success;return e.session.mode()==="yolo"?n.warning:n.borderActive},Ao=()=>wl[X()%wl.length],Hc=()=>cA(e.session.status(),pe().compressing,pe().restoring,lA(pe())),Uc=()=>{let f=dA(e.session.status(),pe(),Date.now());return f!=null?` ${vl(f)}`:""},da=()=>n.accent,b0=ye(()=>Jk(da(),n.background)),y0=()=>{let f=`${Hc()}${Uc()}`;if(!Sl(e.session.status(),pe().compressing,pe().restoring))return[{text:f,fg:da()}];let C=b0();return Yk(f,X()).map((I)=>({text:I.text,fg:Vk(C,I.glow)}))},ua=()=>e.session.modeStatus().planModeActive,[Cr,vr]=j(void 0),[jc,Ir]=j(""),[Wc,fa]=j(void 0),w0=(f)=>{let C=hx(f);vr(C),Ir(ji(C))},ko=()=>{vr(void 0),Ir("")},S0=async(f)=>{ko();try{let C=await e.session.startGoal(f);tn(c("notice.goalStarted",{extra:C.yoloWasEnabled?c("notice.fullAccessEnabled"):""}))}catch(C){tn(c("notice.goalFailed",{error:String(C)}))}},Zc=()=>{let f=Cr();if(!f)return;if(f.step==="confirm"){S0(f.fields);return}let C=Ax(f,jc());if(vr(C),C.step!==f.step)Ir(ji(C))},C0=()=>{let f=Cr();if(!f)return;let C=kx(f.step);if(!C){ko();return}let I={step:C,fields:f.fields};vr(I),Ir(ji(I))},v0=()=>{let f=e.session.modeStatus().goal;if(!f)return;return X(),{text:`\u25CE goal ${vl(Math.max(0,Math.floor((Date.now()-f.startedAt)/1000)))} / ${f.hours}h`,color:n.accent}},I0=()=>cb({compressing:pe().compressing,tasks:e.session.tasks(),diff:Zb(),spinner:Ao()}),Kc=()=>{let f=Sr()?Cl(e.session.status(),pe().compressing,Ao(),pe().restoring).length+1+Hc().length+Uc().length+2:0;return ub(I0(),Oe().width-f-4)},[xo,ga]=j(void 0),bo=()=>xo()!==void 0,Qc=()=>{let f=xo();if(f===void 0){let ne=e.session.queued();if(ne.length===0)return;ga(0),e.session.setQueuePaused(!0),a(ne[0]);return}let C=e.session.updateQueueItem(f,r()),I=e.session.queued();if(I.length===0){yo();return}let K=C==="deleted"?f%I.length:Ch(f,I.length);ga(K),a(I[K])},yo=()=>{ga(void 0),e.session.setQueuePaused(!1),a("")},E0=(f)=>{if(f!=="clear"){let I=e.session.queued().length;At(c("notice.queueUsage",{count:I}));return}if(bo())yo();let C=e.session.clearQueue();At(C===0?c("notice.queueEmpty"):c("notice.queueCleared",{count:C,noun:c(C===1?"notice.queueCleared.one":"notice.queueCleared.many")}))},[T0,Yc]=j(gc),B0=()=>pe().blocks.filter((f)=>f.type==="user").map((f)=>f.text),R0=async()=>{let f=Tb(e.session.mode(),e.session.modeStatus().planModeActive);if(f.plan!==void 0)await e.session.setPlanMode(f.plan);if(f.mode){let C=await e.session.selectMode(f.mode);if(!C.ok)At(c("notice.modeFailed",{error:C.error??c("notice.unknownError")}))}},Jc=()=>{let f=e.session.model();if(!f)return;return e.session.models().find((C)=>C.modelId===f)?.name??f};st(()=>{if(!la()&&Q()?.status!=="asking")return;let f=setInterval(()=>ae((C)=>C+1),80);Me(()=>clearInterval(f))});let tn=(f)=>e.session.callbacks.emit({kind:"notice",text:f}),ma,At=(f)=>{Ft(f),clearTimeout(ma),ma=setTimeout(()=>Ft(void 0),dx)};Me(()=>clearTimeout(ma));let _0=(f)=>{oe(sx(f)),e.session.askBtw(f).then((C)=>{oe((I)=>lx(I,C))})},Vc=(f)=>{J(f.initialIndex??0),F(f)},ha=()=>({session:e.session,setInput:a,notify:tn,openGoalWizard:w0,askSideQuestion:_0,openPicker:Vc,syncModelWizard:fa}),P0=(f)=>{if(!Ac.getSelection()?.getSelectedText())return;f.preventDefault(),f.stopPropagation(),rx({renderer:Ac}).then((C)=>{if(C)At(C)})},qc=(f,C)=>{let I=ic(f);if(!I)return;if(I.rows&&!C.trim()){if(I.load)I.load(e.session);Vc({title:I.title,empty:I.empty,rows:()=>I.rows?.(e.session)??[],onPick:(K)=>void I.run(ha(),K,"")});return}I.run(ha(),void 0,C.trim())},Xc=async()=>{if(e.session.status()!=="idle")e.session.interrupt();try{let{acpSessionId:f}=await e.session.newSession();tn(c("notice.newSession",{id:f}))}catch(f){e.session.callbacks.emit({kind:"error",message:f instanceof Error?f.message:String(f)})}},ed=(f)=>{let C=/^\/([a-zA-Z][\w-]*)(?:\s+([\s\S]*))?$/.exec(f.trim());if(!C)return!1;let I=C[1],K=C[2]??"";if(ic(I))return qc(I,K),!0;if(I==="session"&&K.trim()==="new")return Xc(),!0;if(ck(I))return So(I,K),!0;return!1},td=()=>{let f=jp(r(),s());if(y(),a(""),Yc(gc),Wc()){Gk(ha(),f);return}if(ed(f))return;e.session.submit(f)},M0=()=>td(),F0=()=>{Ul(),fa(void 0),a(""),tn(c("model.wizard.aborted"))},pa=()=>{ut("choose"),qt(0),Qe(""),W(void 0),we(void 0),xr(!0)},wo={session:void 0,count:0};st(()=>{let f=e.session,C=f.authExpiredCount();if(f!==wo.session){wo={session:f,count:C};return}if(C<=wo.count)return;if(wo={session:f,count:C},Nc())return;pa()});let Aa=()=>{e.session.cancelBrowserLogin(),xr(!1),Wt(!1),Qe(""),we(void 0)},ka=()=>{if(it())return;if(jt()==="browser"){e.session.cancelBrowserLogin(),we(void 0),ut("choose");return}if(jt()==="apikey"){Qe(""),ut("choose");return}Aa()},nd=()=>e.session.answerPermission({outcome:"cancelled"}),N0=()=>{W(void 0),ut("browser"),Wt(!0),e.session.startBrowserLogin().then((f)=>{if(we(f),!f.ok)W(f.error),ut("choose")}).catch((f)=>{W(String(f)),ut("choose")}).finally(()=>Wt(!1))},D0=()=>{let f=Hn();if(!f.trim())return;Wt(!0),W(void 0),e.session.loginWithApiKey(f).then((C)=>{if(Qe(""),C.ok)Aa();else W(C.error),ut("choose")}).catch((C)=>{Qe(""),W(String(C)),ut("choose")}).finally(()=>Wt(!1))},So=(f,C="")=>{switch(f){case"new":Xc();return;case"login":pa();return;case"logout":e.session.logout();return;case"account":e.session.openAccountPage().then((I)=>{if(!I.ok)W(I.error)});return;case"theme":b(Math.max(0,t.names.indexOf(t.name))),z(!0);return;case"clear":e.session.clearTranscript();return;case"queue":E0(C.trim());return;case"quit":e.onQuit();return;default:return f}},rd=()=>{let f=en()[D()];if(!f)return;if(a(""),ed(`/${f.name}`))return;e.session.submit(`/${f.name}`)},O0=()=>{let f=en()[D()];if(!f)return;a(`/${f.name} `)},od=(f)=>{let C=gt();if(!C)return;let I=Nt(),K=C[I]?.options??[];Ln((ne)=>{let ke=[...ne];return ke[I]=Math.min(K.length,Math.max(0,(ke[I]??0)+f)),ke})},id=(f)=>{let C=gt()?.length??0;if(C===0)return;Dt((I)=>(I+f+C)%C)},ad=(f,C)=>{let I=gt()?.[f];if(!I)return;$n((K)=>{let ne=K.map((Le)=>new Set(Le));while(ne.length<=f)ne.push(new Set);let ke=ne[f];if(!I.multiSelect)ke.clear(),ke.add(C);else if(ke.has(C))ke.delete(C);else ke.add(C);return ne})},L0=(f)=>{let C=gt()?.[f];if(!C)return;if(!C.multiSelect)$n((I)=>I.map((K,ne)=>ne===f?new Set:K));Vt((I)=>{let K=[...I];if(K[f]===void 0)K[f]="";else if(C.multiSelect)K[f]=void 0;return K})},sd=()=>{let f=gt(),C=e.session.pendingPermission();if(!f||!C)return;let I=Nt(),K=f[I],ne=ee().map((Le)=>new Set(Le));while(ne.length<f.length)ne.push(new Set);if(K&&!K.multiSelect&&(ne[I]?.size??0)===0)ne[I]=new Set([hn()[I]??0]);let ke=Gp(C.request.options);if(!ke)return;e.session.answerPermission({outcome:"selected",optionId:ke,answers:Wm(f,ne,Gn())})},ld=(f)=>{if(f?.id==="browser")N0();else if(f?.id==="apikey")ut("apikey"),W(void 0)};return Ud((f)=>{if(f.name==="escape"&&Dk()){f.preventDefault(),f.stopPropagation(),Ul(),fa(void 0),a(""),tn(c("model.wizard.aborted"));return}let C=mt();if(C!=="prompt"&&C!=="commands")f.preventDefault(),f.stopPropagation();if(f.ctrl&&f.name==="v"&&mt()==="prompt"){f.preventDefault(),f.stopPropagation(),U();return}if(f.ctrl&&f.name==="l"&&mt()==="prompt"){f.preventDefault(),f.stopPropagation(),qc("model","");return}if((f.name==="up"||f.name==="down")&&!f.ctrl&&mt()==="prompt"&&!r().includes(`
|
|
853
|
-
`)){let I=_b(T0(),f.name==="up"?"up":"down",B0(),r());if(I)f.preventDefault(),f.stopPropagation(),Yc(I.state),a(I.text);return}if(f.name==="tab"&&!f.shift&&ca()&&!r()&&po()){f.preventDefault(),f.stopPropagation(),a(po());return}if(f.shift&&f.name==="tab"&&ca()){f.preventDefault(),f.stopPropagation(),R0();return}if(f.ctrl&&f.name==="b"&&mt()==="prompt"&&A0()){f.preventDefault(),f.stopPropagation(),e.session.requestBackground().then((I)=>{At(I.ok?c("notice.background"):c("notice.backgroundFailed",{error:I.error??c("notice.unknownError")}))});return}if(f.ctrl&&f.name==="c"){if(le()){e.onQuit();return}if(r().length>0){_();return}if(zc()){e.session.interrupt(),St();return}St();return}if(le())je(!1);if(bo()){if(f.name==="return"){e.session.updateQueueItem(xo(),r()),yo();return}if(f.name==="escape"){yo();return}if(f.ctrl&&f.name==="up"){f.preventDefault(),f.stopPropagation(),Qc();return}}else if(f.ctrl&&f.name==="up"&&mt()==="prompt"){f.preventDefault(),f.stopPropagation(),Qc();return}switch(mt()){case"auth":{if(it())return;if(jt()==="apikey"){let ne=Si(Hn(),f);if(Qe(ne.value),ne.cancel)Qe(""),ut("choose");else if(ne.submit)D0();return}if(jt()==="browser"){if(f.name==="escape")ka();return}if(f.name==="escape"){ka();return}if(f.name==="up"){qt((ne)=>Math.max(0,ne-1));return}if(f.name==="down"){qt((ne)=>Math.min(Rn.length-1,ne+1));return}let I=Number.parseInt(f.name??"",10),K=f.name==="return"?Rn[zn()]:Number.isInteger(I)&&I>=1&&I<=Rn.length?Rn[I-1]:void 0;if(K)ld(K);return}case"goal":{let I=Cr();if(f.name==="escape"){ko(),tn(c("notice.goalCancelled"));return}if(f.ctrl&&f.name==="b"){C0();return}if(f.name==="return"){Zc();return}if(I.step==="intensity"&&(f.name==="up"||f.name==="down")){vr({...I,fields:{...I.fields,intensity:xx(I.fields.intensity,f.name==="up"?-1:1)}});return}if(Ui(I.step))Ir((K)=>Si(K,f).value);return}case"diff":{if(f.name==="escape"){ea(!1);return}if(f.name==="up"||f.name==="down"){na(Tc()+(f.name==="up"?-1:1));return}if(f.name==="pageup"||f.name==="pagedown"){let I=Math.max(1,Bc()-1);ta?.scrollBy(f.name==="pageup"?-I:I,"viewport");return}return}case"ask":{let I=gt(),K=Nt(),ke=I[K].options,Le=ke.length,Wn=()=>Gn()[K],O=()=>hn()[K]??0;if(f.name==="escape"){nd();return}if(f.name==="up"||f.name==="down"){od(f.name==="up"?-1:1);return}if(f.name==="left"||f.name==="right"){id(f.name==="left"?-1:1);return}if(f.name==="tab"){id(f.shift?-1:1);return}if(Wn()!==void 0){let re=Si(Wn()??"",f);if(!re.submit){if(re.value!==Wn())Vt((fe)=>{let Be=[...fe];return Be[K]=re.value,Be});return}}if(f.name==="space"){if(O()===Le)L0(K);else ad(K,O());return}if(f.name==="return"){sd();return}let Z=Number.parseInt(f.name??"",10);if(Number.isInteger(Z)&&Z>=1&&Z<=ke.length)Ln((re)=>{let fe=[...re];return fe[K]=Z-1,fe}),ad(K,Z-1);return}case"theme":{let I=t.names;if(f.name==="escape"||f.name==="return"){z(!1);return}if(f.name==="up"||f.name==="down"){let K=f.name==="up"?-1:1,ne=Bn(w(),K,I.length);b(ne),t.setName(I[ne]);return}return}case"menu":{let I=ho();if(f.name==="escape"){if(An()!==void 0){yr(void 0),jn(0);return}wr();return}if(f.name==="up"||f.name==="down"){let K=f.name==="up"?-1:1;jn((ne)=>Bn(ne,K,I.length));return}if(f.name==="return"){let K=I[Oc()];if(K)$c(K.id);return}return}case"picker":{let I=v();if(!I)return;let K=I.rows();if(f.name==="escape"){F(void 0);return}if(f.name==="up"||f.name==="down"){let ne=f.name==="up"?-1:1;J((ke)=>Bn(ke,ne,K.length));return}if(f.name==="return"){let ne=K[L()];if(F(void 0),ne)I.onPick(ne.id);return}return}case"permission":{let I=so(e.session.pendingPermission().request.options);if(f.name==="escape"){let ne=I.find((ke)=>ke.kind.startsWith("reject"));e.session.answerPermission(ne?{outcome:"selected",optionId:ne.optionId}:{outcome:"cancelled"});return}if(f.name==="up"){q((ne)=>Math.max(0,ne-1));return}if(f.name==="down"){q((ne)=>Math.min(I.length-1,ne+1));return}if(f.name==="return"){let ne=I[V()];if(ne)e.session.answerPermission({outcome:"selected",optionId:ne.optionId});return}let K=Number.parseInt(f.name??"",10);if(Number.isInteger(K)&&K>=1&&K<=I.length)e.session.answerPermission({outcome:"selected",optionId:I[K-1].optionId});return}case"cleanup":{let I=f.name?.toLowerCase();if(I==="y")wc();else if(I==="n"||f.name==="escape")Sc();return}case"archive":{let I=f.name?.toLowerCase();if(I==="y")yc();else if(I==="n"||f.name==="escape")co(!1);return}case"commands":{if(f.name==="escape"){a("");return}if(f.name==="up"){N((I)=>Math.max(0,I-1));return}if(f.name==="down"){N((I)=>Math.min(en().length-1,I+1));return}if(f.name==="return"){rd();return}if(f.name==="tab"){O0();return}return}default:{if(f.name==="escape"){if(zc())e.session.interrupt();else if(Q())oe(void 0)}return}}}),jd((f)=>{if(mt()==="auth"&&jt()==="apikey"){Qe((C)=>Wp(C,f.bytes));return}if(mt()==="prompt"&&tk(f.bytes))U()}),(()=>{var f=A("box"),C=A("box"),I=A("box"),K=A("box"),ne=A("box"),ke=A("box"),Le=A("textarea");R(f,C),d(f,"onMouseDown",(O)=>{if(O.button!==nB.RIGHT)return;P0(O)}),R(C,I),d(C,"style",{flexDirection:"row",flexGrow:1,minHeight:0}),R(I,K),d(I,"style",{flexDirection:"column",flexGrow:1,minWidth:0}),p(I,h(P,{get when(){return Un()},get children(){return[(()=>{var O=A("box");return d(O,"style",{flexGrow:1,flexShrink:0,minHeight:0}),O})(),h(sk,{version:fn,get cwd(){return e.cwd},get userName(){return e.session.auth()?.user?.name},get model(){return e.session.model()},get tip(){return iB()},get showBrand(){return ak(Oe().height,Nc())}})]}}),K),p(I,h(P,{get when(){return!Un()},get children(){return[(()=>{var O=A("box"),Z=A("text"),re=A("text"),fe=A("box");return R(O,Z),R(O,re),R(O,fe),d(O,"style",{flexDirection:"row",paddingLeft:1,paddingRight:1,flexShrink:0}),R(Z,ze("Easy Code")),p(re,()=>` ${u0()}`),d(fe,"style",{flexGrow:1}),p(O,h(Rt,{onActivate:()=>co(!0),children:(Be)=>(()=>{var We=A("text");return d(We,"selectable",!1),p(We,()=>`\xD7 ${c("archive.action")}`),E((Ye)=>d(We,"style",{fg:Be?n.accent:n.textMuted,flexShrink:0},Ye)),We})()}),null),E((Be)=>{var We={fg:n.accent},Ye={fg:n.textMuted};return We!==Be.e&&(Be.e=d(Z,"style",We,Be.e)),Ye!==Be.t&&(Be.t=d(re,"style",Ye,Be.t)),Be},{e:void 0,t:void 0}),O})(),(()=>{var O=A("scrollbox");return d(O,"style",{flexGrow:1,flexShrink:1,minHeight:1,paddingLeft:1,paddingRight:1}),d(O,"stickyScroll",!0),d(O,"stickyStart","bottom"),p(O,h(P,{get when(){return aa().hidden>0},get children(){var Z=A("text");return p(Z,()=>c("transcript.folded",{count:aa().hidden,limit:Uk})),E((re)=>d(Z,"style",{fg:n.textMuted},re)),Z}}),null),p(O,h(ce,{get each(){return g0()},children:(Z)=>h(QA,{block:Z,get userIndex(){return Lc().get(Z)},get restorable(){return m0(Z)},onUserMenu:h0})}),null),E((Z)=>d(O,"scrollAcceleration",cx(),Z)),O})()]}}),K),p(I,h(P,{get when(){return Ic()},get children(){return h(lb,{get files(){return Ec()},get cursor(){return Tc()},get patch(){return Jb()},get bodyHeight(){return Bc()},get paneWidth(){return c0()-5},onScrollBox:(O)=>ta=O,onSelect:na,onClose:()=>ea(!1)})}}),K),p(I,h(P,{get when(){return en().length>0},get children(){var O=A("box"),Z=A("box");return R(O,Z),d(O,"style",{flexDirection:"column",flexShrink:0,alignItems:"center"}),p(Z,h(ik,{get commands(){return en()},get selected(){return D()},get maxRows(){return Math.max(3,Math.floor(Oe().height/4))},onSelect:(re)=>{N(re),rd()},onStep:(re)=>N((fe)=>Math.min(Math.max(0,fe+re),Math.max(0,en().length-1)))})),E((re)=>d(Z,"style",{width:"100%",maxWidth:d0()},re)),O}}),K),p(I,h(P,{get when(){return Q()},children:(O)=>(()=>{var Z=A("box"),re=A("box");return R(Z,re),d(Z,"style",{flexDirection:"column",flexShrink:0,alignItems:"center"}),p(re,h(ax,{get item(){return O()},get columns(){return Math.max(20,(Un()?oa():Oe().width)-4)},get maxRows(){return Math.max(2,Math.floor(Oe().height/4))},get spinner(){return Ao()}})),E((fe)=>d(re,"style",{width:"100%",maxWidth:Un()?oa():void 0},fe)),Z})()}),K),R(K,ne),d(K,"style",{flexDirection:"column",flexShrink:0,alignItems:"center",paddingTop:1}),R(ne,ke),p(ne,h(P,{get when(){return la()||Kc().length>0},get children(){var O=A("box"),Z=A("box");return R(O,Z),d(O,"style",{flexDirection:"row",gap:2,flexShrink:0,paddingLeft:3,paddingRight:1}),p(O,h(P,{get when(){return la()},get children(){var re=A("text");return d(re,"selectable",!1),p(re,()=>`${Cl(e.session.status(),pe().compressing,Ao(),pe().restoring)} `,null),p(re,h(Sd,{get each(){return y0()},children:(fe)=>(()=>{var Be=A("span");return p(Be,()=>fe().text),E((We)=>d(Be,"style",{fg:fe().fg},We)),Be})()}),null),E((fe)=>d(re,"style",{fg:da(),flexShrink:0},fe)),re}}),Z),d(Z,"style",{flexDirection:"row",flexShrink:0}),p(Z,h(ce,{get each(){return Kc()},children:(re,fe)=>{let Be=()=>re.parts??[{text:re.text,tone:re.tone}],We=()=>fe()===0?"":dc,Ye=(Ct,Zn=!1)=>h(ce,{get each(){return Be()},children:(Zt)=>(()=>{var nn=A("text");return d(nn,"selectable",!1),p(nn,()=>Zn?(()=>{var Kn=A("b");return p(Kn,()=>Zt.text),Kn})():Zt.text),E((Kn)=>d(nn,"style",{fg:ot(n,Ct,db(Zt.tone,n)),flexShrink:0},Kn)),nn})()});return(()=>{var Ct=A("box"),Zn=A("text");return R(Ct,Zn),d(Ct,"style",{flexDirection:"row",flexShrink:0}),d(Zn,"selectable",!1),p(Zn,We),p(Ct,h(P,{get when(){return re.id==="diff"},get fallback(){return Ye(!1)},get children(){return h(Rt,{onActivate:qb,children:(Zt)=>(()=>{var nn=A("box");return p(nn,()=>Ye(Zt,!0)),E((Kn)=>d(nn,"style",{flexDirection:"row",border:["left","right"],borderColor:Zt?n.primary:n.border,backgroundColor:Zt?void 0:n.backgroundElement},Kn)),nn})()})}}),null),E((Zt)=>d(Zn,"style",{fg:n.textMuted},Zt)),Ct})()}})),O}}),ke),p(ne,h(P,{get when(){return e.session.queued().length>0},get children(){var O=A("box");return d(O,"style",{flexDirection:"column",flexShrink:0,paddingLeft:3,marginTop:1}),p(O,h(P,{get when(){return bo()},get children(){var Z=A("text");return d(Z,"selectable",!1),p(Z,()=>c("queue.editing",{index:xo()+1,total:e.session.queued().length})),E((re)=>d(Z,"style",{fg:n.accent},re)),Z}}),null),p(O,h(ce,{get each(){return Ih(e.session.queued())},children:(Z)=>(()=>{var re=A("text");return d(re,"selectable",!1),p(re,()=>`${Z.next?"\u2193":" "} ${Z.text}`),E((fe)=>d(re,"style",{fg:n.textMuted},fe)),re})()}),null),p(O,h(P,{get when(){return!bo()},get children(){var Z=A("text");return d(Z,"selectable",!1),p(Z,()=>c("prompt.editHint")),E((re)=>d(Z,"style",{fg:n.textMuted},re)),Z}}),null),O}}),ke),R(ke,Le);var Wn=i;return typeof Wn==="function"?Fo(Wn,Le):i=Le,d(Le,"style",{flexGrow:1}),d(Le,"onContentChange",()=>o(i?.plainText??"")),d(Le,"onSubmit",td),p(I,h(P,{get when(){return Un()},get children(){var O=A("box");return d(O,"style",{flexGrow:1,flexShrink:0,minHeight:0}),O}}),null),p(C,h(P,{get when(){return ia()},get children(){return h(FA,{get title(){return pe().title},get usage(){return pe().usage},get tokens(){return pe().tokens},get cache(){return pe().cache},get credits(){return pe().credits},get allowance(){return e.session.credits()},get quota(){return e.session.quota()},get model(){return Jc()},get mode(){return e.session.mode()},get cwd(){return e.cwd},get branch(){return jb()},get mr(){return Xt()},onOpenMr:(O)=>void l0(O),onDismissMr:n0,version:fn,get tasks(){return e.session.tasks()},get todos(){return Hb()},get todosExpanded(){return Sr()},get update(){return kc()},get updatePhase(){return go()},onRunUpdate:()=>void Mc(),get feishu(){return e.session.feishuStatus()},get sessions(){return e.hub?.rows()},onActivateSession:(O)=>e.hub?.activate(O),onNewSession:()=>e.hub?.create(),get terminalHeight(){return Oe().height},get auth(){return e.session.auth()},onAccount:()=>So("account"),onLogout:()=>So("logout"),onLogin:()=>So("login")})}}),null),p(f,h(P,{get when(){return le()},get children(){var O=A("text");return p(O,()=>c("notice.ctrlCAgain")),E((Z)=>d(O,"style",{fg:n.warning,paddingLeft:1,flexShrink:0},Z)),O}}),null),p(f,h(gA,{get transcript(){return pe()},get model(){return Jc()},get thinking(){return e.session.thinking()},get auth(){return e.session.auth()},get authInPanel(){return ia()},get width(){return Oe().width},get modeChip(){return v0()??{text:`${uA(e.session.mode(),ua())} (shift+tab)`,color:ua()?n.success:e.session.mode()==="yolo"?n.warning:n.textMuted}}}),null),p(f,h(P,{get when(){return Cr()},children:(O)=>h(_t,{get children(){return h(mb,{get state(){return O()},get draft(){return jc()},onNext:Zc,onCancel:()=>{ko(),tn(c("notice.goalCancelled"))}})}})}),null),p(f,h(P,{get when(){return Wc()},children:(O)=>h(_t,{get children(){return h(zk,{get view(){return O()},get draft(){return r()},onNext:M0,onCancel:F0})}})}),null),p(f,h(P,{get when(){return Ot()},get children(){return h(_t,{get children(){return h(Kp,{get stage(){return jt()},get selected(){return zn()},get secret(){return Hn()},get status(){return e.session.auth()},get browser(){return ue()},get busy(){return it()},get error(){return B()},get required(){return pn()},onChoose:(O)=>{qt(O),ld(Rn[O])},onEscape:ka})}})}}),null),p(f,h(P,{get when(){return de(()=>!Ot())()&>()},children:(O)=>h(_t,{get children(){return h(zp,{get questions(){return O()},get activeQuestion(){return Nt()},get cursors(){return hn()},get selections(){return ee()},get others(){return Gn()},onOther:(Z)=>{Dt(Z),Ln((re)=>{let fe=[...re];return fe[Z]=O()[Z]?.options.length??0,fe}),Vt((re)=>{let fe=[...re];if(fe[Z]===void 0)fe[Z]="";return fe})},onStep:(Z)=>od(Z),onSubmit:sd,onPick:(Z,re)=>{let fe=O()[Z];if(!fe)return;Dt(Z),$n((Be)=>{let We=Be.map((Ct)=>new Set(Ct)),Ye=We[Z]??new Set;if(!fe.multiSelect)Ye.clear(),Ye.add(re);else if(Ye.has(re))Ye.delete(re);else Ye.add(re);return We[Z]=Ye,We})},onEscape:nd})}})}),null),p(f,h(P,{get when(){return de(()=>!Ot()&&!gt())()&&e.session.pendingPermission()},children:(O)=>h(_t,{get children(){return h(Hk,{get pending(){return O()},get selected(){return V()},onAnswer:(Z)=>e.session.answerPermission(Z),onConfirm:()=>{let Z=so(O().request.options)[V()];if(Z)e.session.answerPermission({outcome:"selected",optionId:Z.optionId})},onReject:()=>{let re=so(O().request.options).find((fe)=>fe.kind.startsWith("reject"));e.session.answerPermission(re?{outcome:"selected",optionId:re.optionId}:{outcome:"cancelled"})}})}})}),null),p(f,h(P,{get when(){return mo()!==void 0},get children(){return h(_t,{get children(){return h(jl,{get title(){return de(()=>An()!==void 0)()?c("menu.confirm.title"):c("menu.confirm.subject")},get subtitle(){return de(()=>An()!==void 0)()?c("menu.confirm.warning"):void 0},get rows(){return ho()},get selected(){return Oc()},onStep:(O)=>jn((Z)=>Bn(Z,O,ho().length)),onPick:(O)=>{let Z=ho()[O];if(Z)$c(Z.id)},onClose:()=>{if(An()!==void 0){yr(void 0),jn(0);return}wr()}})}})}}),null),p(f,h(P,{get when(){return v()},children:(O)=>h(_t,{get children(){return h(jl,{get title(){return O().title},get icon(){return O().icon},get subtitle(){return O().subtitle},get rows(){return O().rows()},get selected(){return L()},get empty(){return O().empty},onStep:(Z)=>J((re)=>Bn(re,Z,O().rows().length)),onPick:(Z)=>{let re=O().rows()[Z],fe=O();if(F(void 0),re)fe.onPick(re.id)},onClose:()=>F(void 0)})}})}),null),p(f,h(P,{get when(){return S()},get children(){return h(_t,{get children(){return h(Xk,{get names(){return t.names},get selected(){return w()},onStep:(O)=>{let Z=Bn(w(),O,t.names.length);b(Z),t.setName(t.names[Z])},onPick:(O)=>{t.setName(t.names[O]),z(!1)},onClose:()=>z(!1)})}})}}),null),p(f,h(P,{get when(){return de(()=>!!(bc()&&!Ot()&&!gt()))()&&!e.session.pendingPermission()},get children(){return h(_t,{get children(){return h(Eb,{onConfirm:yc,onCancel:()=>co(!1)})}})}}),null),p(f,h(P,{get when(){return de(()=>!Ot()&&!gt()&&!e.session.pendingPermission())()&&xc()},children:(O)=>h(_t,{get children(){return h(Ib,{get offer(){return O()},onClean:()=>void wc(),onSkip:Sc})}})}),null),p(f,h(ux,{get message(){return On()}}),null),E((O)=>{var Z={flexDirection:"column",width:"100%",height:"100%",backgroundColor:n.background},re={flexDirection:"column",flexShrink:0,width:"100%",maxWidth:Un()?oa():void 0},fe={flexDirection:"row",flexShrink:0,width:"100%",height:zb()+2,border:["left"],borderColor:x0(),backgroundColor:n.backgroundElement,paddingLeft:2,paddingRight:2,paddingTop:1,paddingBottom:1},Be=mt()==="prompt"||mt()==="commands",We=po()?`${po()}${c("prompt.suggestionHint")}`:c("prompt.placeholder"),Ye=[...ex],Ct=m();return Z!==O.e&&(O.e=d(f,"style",Z,O.e)),re!==O.t&&(O.t=d(ne,"style",re,O.t)),fe!==O.a&&(O.a=d(ke,"style",fe,O.a)),Be!==O.o&&(O.o=d(Le,"focused",Be,O.o)),We!==O.i&&(O.i=d(Le,"placeholder",We,O.i)),Ye!==O.n&&(O.n=d(Le,"keyBindings",Ye,O.n)),Ct!==O.s&&(O.s=d(Le,"syntaxStyle",Ct,O.s)),O},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),f})()}function $b(e){let t=[`Easy Code v${e.version}`];if(e.title)t.push("",` ${"Session".padEnd(10," ")}${e.title}`);return t.join(`
|
|
854
|
-
`)}var
|
|
850
|
+
`).join("; ")}`);return t.push(`hours ${e.hours}`),t.push(`intensity ${e.intensity}`),t}var Ix={title:c("command.plan.title"),description:c("command.plan.description"),run:async({session:e,notify:t},n,r)=>{let o=r.trim();if(o&&o!=="on"&&o!=="off"){t(c("command.plan.usage"));return}let i=e.modeStatus().planModeActive,a=o==="on"?!0:o==="off"?!1:!i;if(a===i){t(c("command.plan.already",{state:i?c("command.plan.on"):c("command.plan.off")}));return}await e.setPlanMode(a),t(c("command.plan.set",{state:a?c("command.plan.on"):c("command.plan.off")}))}},Ex={title:c("command.goal.title"),description:c("command.goal.description"),run:async({session:e,notify:t,openGoalWizard:n},r,o)=>{let i=xx(o);if(i.kind==="error"){t(`${i.message} Usage: /goal <task> [--hours N] [--intensity steady|standard|intense] [--no "..."] [--done "..."]`);return}if(i.kind==="wizard"){n();return}if(i.kind==="clear"){let s=await e.clearGoal();t(s.wasActive?c("command.goal.cleared"):c("command.goal.none"));return}let a=await e.startGoal(i.fields);t(c("notice.goalStarted",{extra:a.yoloWasEnabled?c("notice.fullAccessEnabled"):""}))}},Tx={title:c("command.btw.title"),description:c("command.btw.description"),run:({notify:e,askSideQuestion:t},n,r)=>{let o=r.trim();if(!o){e(c("command.btw.usage"));return}t(o)}};function Bx(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n?.type==="assistant"&&n.text.trim())return n.text}return}var Rx={title:c("command.copy.title"),description:c("command.copy.description"),run:async({session:e,notify:t})=>{let n=Bx(e.transcript().blocks);if(!n){t(c("command.copy.none"));return}let r=await kr(n);t(r.ok?`Copied ${n.length} character${n.length===1?"":"s"} to the clipboard.`:c("clipboard.copyFailed",{error:r.error??c("notice.unknownError")}))}};ci();import Wi from"fs";import oT from"os";import _x from"path";var iT="tui.json";function aT(){return process.env.EASYCODE_TUI_SWITCH_FILE??_x.join(oT.homedir(),Tt,iT)}function Px(e,t=aT()){if(!e){Wi.rmSync(t,{force:!0});return}Wi.mkdirSync(_x.dirname(t),{recursive:!0});let n=t+".tmp";Wi.writeFileSync(n,JSON.stringify({enabled:!0},null,2),"utf-8"),Wi.renameSync(n,t)}var Mx={title:c("command.cli.title"),description:c("command.cli.description"),run:({notify:e})=>{try{Px(!1)}catch(t){e(c("command.cli.saveFailed",{error:String(t)}));return}e(c("command.cli.done"))}};function Fx(e=At()){let t=hk(e).sandbox;if(t==="workspace")return{enabled:!0,network:!1};if(t==="workspace-net")return{enabled:!0,network:!0};return}function Yl(e,t=At()){pk({sandbox:e===void 0||e===!1?void 0:e},t)}import Jl from"fs";import Zi from"path";import Vl from"os";import{execFile as sT}from"child_process";import{promisify as lT}from"util";import{fileURLToPath as cT}from"url";var __dirname="/builds/easyaisuite/easycode/easycodeclient/packages/core/dist/src/sandbox/windows",Ox=lT(sT);var dT="windows-sandbox-creds.json",uT=".easycode-user",Nx=null;function fT(){if(Nx)return Nx;return Zi.join(Vl.homedir(),uT,dT)}function gT(){let e=fT();try{if(Jl.existsSync(e))Jl.unlinkSync(e)}catch{}}var Ki="EasyCodeSandbox.exe",Dx=typeof __dirname<"u"?__dirname:Zi.dirname(cT(import.meta.url));function Lx(){return[Zi.resolve(Dx,Ki),Zi.resolve(Dx,"..","windows",Ki)].find((t)=>Jl.existsSync(t))??null}async function $x(){if(Vl.platform()!=="win32")return{ok:!1,reason:"unsupported",message:"Windows sandbox provisioning is only supported on win32"};let e=Lx();if(!e)return{ok:!1,reason:"error",message:`Windows sandbox helper (${Ki}) not found`};try{return await Ox(e,["--provision-users"],{windowsHide:!0,timeout:120000,maxBuffer:1048576}),{ok:!0}}catch(t){if((t&&typeof t==="object"&&"code"in t?t.code:void 0)===2)return{ok:!1,reason:"cancelled",message:"User cancelled elevation (UAC)"};return{ok:!1,reason:"error",message:t instanceof Error?t.message:String(t)}}}async function Gx(){if(Vl.platform()!=="win32")return{ok:!1,reason:"unsupported",message:"Windows sandbox uninstall is only supported on win32"};let e=Lx();if(!e)return{ok:!1,reason:"error",message:`Windows sandbox helper (${Ki}) not found`};try{return await Ox(e,["--remove-users"],{windowsHide:!0,timeout:300000,maxBuffer:1048576}),gT(),{ok:!0}}catch(t){if((t&&typeof t==="object"&&"code"in t?t.code:void 0)===2)return{ok:!1,reason:"cancelled",message:"User cancelled elevation (UAC)"};return{ok:!1,reason:"error",message:t instanceof Error?t.message:String(t)}}}var ec=["compression","codeExpert","verification","imageReader"],Wx={compression:"config.setting.compression",codeExpert:"config.setting.codeExpert",verification:"config.setting.verification",imageReader:"config.setting.imageReader"},ql=["all","deepv-only","none"],Xl={all:"config.memory.all","deepv-only":"config.memory.deepvOnly",none:"config.memory.none"},zx=["off","workspace","workspace-net"],tc={off:"config.sandbox.off",workspace:"config.sandbox.workspace","workspace-net":"config.sandbox.workspaceNet"},Hx="\x00sandbox-uninstall",mT=()=>process.platform==="win32",Ux=["\u4E2D\u6587","English"],jx="\x00manual";function nc(e){let t=un(e).modelOverrides;if(!t||typeof t!=="object"||Array.isArray(t))return{};let n={};for(let r of ec){let o=t[r];if(typeof o==="string"&&o)n[r]=o}return n}function hT(e,t,n){let r={...nc(n)};if(t)r[e]=t;else delete r[e];Mn({modelOverrides:Object.keys(r).length>0?r:void 0},n)}function Zx(e){let t=un(e).preferredLanguage;return typeof t==="string"&&t?t:void 0}function Kx(e){let t=un(e).projectMemoryMode;return ql.find((n)=>n===t)??"all"}function Qx(e){let t=Fx(e);if(!t?.enabled)return"off";return t.network?"workspace-net":"workspace"}function pT(e,t){return[{id:"",label:c("config.value.default"),description:c("config.value.inherit"),current:!t},...e.models().map((n)=>({id:n.modelId,label:n.name,description:n.description,...n.creditsPerRequest!==void 0?{hint:c("command.model.credits",{credits:n.creditsPerRequest})}:{},current:n.modelId===t}))]}function Qi(e,t,n){e.notify(c("config.saved",{setting:t,value:n}))}async function AT(e,t,n){if(t!=="off"){let r=await $x();if(!r.ok&&r.reason!=="unsupported"){e.notify(r.reason==="cancelled"?c("config.status.sandbox.provision.cancelled"):c("config.status.sandbox.provision.failed"));return}}Yl(t==="off"?void 0:t,n),Qi(e,c("config.setting.sandbox"),c(tc[t]))}async function kT(e,t){let n=await Gx();if(!n.ok){e.notify(n.reason==="cancelled"?c("config.status.sandbox.uninstall.cancelled"):c("config.status.sandbox.uninstall.failed"));return}Yl(void 0,t),e.notify(c("config.status.sandbox.uninstall.done"))}function xT(e){let t=At();e.openPicker({title:c("command.config.title"),rows:()=>{let n=nc(t);return[{id:"language",label:c("config.setting.language"),hint:Zx(t)??c("config.value.default")},...ec.map((r)=>({id:r,label:c(Wx[r]),hint:n[r]??c("config.value.default")})),{id:"project-memory",label:c("config.setting.projectMemory"),hint:c(Xl[Kx(t)])},{id:"sandbox",label:c("config.setting.sandbox"),hint:c(tc[Qx(t)])}]},onPick:(n)=>Jx(e,n)})}function Yx(e,t,n){if(t!=="language")return!1;let r=n===""||/^(default|none)$/i.test(n);return Mn({preferredLanguage:r?void 0:n},At()),Qi(e,c("config.setting.language"),r?c("config.value.default"):n),!0}function Jx(e,t){let n=At();if(t==="language"){let i=Zx(n),a=i===void 0||Ux.includes(i);return e.openPicker({title:c("config.setting.language"),rows:()=>[{id:"",label:c("config.value.default"),description:c("config.value.modelDecides"),current:!i},...Ux.map((s)=>({id:s,label:s,current:s===i})),{id:jx,label:c("config.language.manual"),description:c("config.language.manualHint"),current:!a}],onPick:(s)=>{if(s===jx){e.setInput("/config language ");return}Yx(e,"language",s)}}),!0}if(t==="project-memory"){let i=Kx(n);return e.openPicker({title:c("config.setting.projectMemory"),rows:()=>ql.map((a)=>({id:a,label:c(Xl[a]),current:a===i})),onPick:(a)=>{let s=ql.find((l)=>l===a);if(!s)return;Mn({projectMemoryMode:s},n),Qi(e,c("config.setting.projectMemory"),c(Xl[s]))}}),!0}if(t==="sandbox"){let i=Qx(n);return e.openPicker({title:c("config.setting.sandbox"),rows:()=>[...zx.map((a)=>({id:a,label:c(tc[a]),current:a===i})),...mT()?[{id:Hx,label:c("config.sandbox.uninstall")}]:[]],onPick:(a)=>{if(a===Hx){kT(e,n);return}let s=zx.find((l)=>l===a);if(!s)return;AT(e,s,n)}}),!0}let r=ec.find((i)=>i===t);if(!r)return!1;let o=c(Wx[r]);return e.openPicker({title:o,rows:()=>pT(e.session,nc(n)[r]),onPick:(i)=>{hT(r,i||void 0,n),Qi(e,o,i||c("config.value.default"))}}),!0}var Vx={title:c("command.config.title"),description:c("command.config.description"),run:(e,t,n)=>{let[r,...o]=(t??n.trim()).split(/\s+/).filter(Boolean);if(r&&o.length>0&&Yx(e,r,o.join(" ")))return;if(r&&Jx(e,r))return;xT(e)}};function qx(e){return{title:c("command.help.title"),description:c("command.help.description"),rows:(t)=>Mi(t.transcript().commands,e()).map((n)=>({id:n.name,label:`/${n.name}`,description:n.description})),empty:c("command.help.none"),run:({setInput:t},n)=>{if(n)t(`/${n} `)}}}var bT={off:"command.think.none",auto:"command.think.auto",low:"command.think.brief",medium:"command.think.medium",high:"command.think.high",xhigh:"command.think.thorough",max:"command.think.max"},Xx={title:c("command.think.title"),description:c("command.think.description"),rows:(e)=>ai.map((t)=>({id:t,label:t,description:c(bT[t]),current:t===e.thinking()})),run:({session:e},t)=>{if(t)e.selectThinking(t)}},yT=[{id:"default",label:"mode.ask",description:"command.mode.ask"},{id:"autoEdit",label:"mode.autoEdit",description:"command.mode.autoEdit"},{id:"yolo",label:"command.mode.fullAccess.label",description:"command.mode.fullAccess.hint"}],eb={title:c("command.mode.title"),description:c("command.mode.description"),rows:(e)=>yT.map((t)=>({id:t.id,label:c(t.label),description:c(t.description),current:t.id===e.mode()})),run:({session:e},t)=>{if(t)e.selectMode(t)}},rc={title:c("command.yolo.title"),description:c("command.yolo.description"),run:({session:e,notify:t})=>{let n=e.mode()==="yolo"?"default":"yolo";e.selectMode(n),t(n==="yolo"?c("command.yolo.on"):c("command.yolo.off"))}};function Yi(e,t=Date.now()){let n=Math.max(0,Math.round((t-e)/1000));if(n<60)return c("command.checkpoint.justNow");let r=Math.round(n/60);if(r<60)return c("time.minutesAgo",{count:r,plural:r===1?"":"s"});let o=Math.round(r/60);if(o<24)return c("time.hoursAgo",{count:o,plural:o===1?"":"s"});let i=Math.round(o/24);return c("time.daysAgo",{count:i,plural:i===1?"":"s"})}var tb={title:c("command.checkpoint.title"),description:c("command.checkpoint.description"),load:(e)=>e.refreshCheckpoints(),rows:(e)=>e.checkpoints().map((t)=>({id:t.id,label:t.lastUserMessage||c("command.checkpoint.noPrompt"),description:`${Yi(t.timestamp)} \xB7 ${t.commitHash.slice(0,7)}`})),empty:c("command.checkpoint.none"),run:async({session:e,notify:t},n)=>{if(!n)return;let r=await e.restoreCheckpoint(n);if(!r.ok){t(r.busy?c("command.checkpoint.busy"):c("command.checkpoint.restoreFailed",{error:r.error??c("notice.unknownError")}));return}t(c("command.checkpoint.restored",{kept:r.keptUserMessageCount??0,dropped:r.droppedContentCount??0}))}};function nb(e){let t=e.displayName?.trim();if(t&&t!==e.name)return`${t} (${e.name})`;return e.name}function wT(e){return e.enabled?e.name:c("skills.disabledLabel",{name:e.name})}function oc(e){let t=[e.description?.trim(),e.version?`v${e.version}`:void 0].filter((n)=>!!n);return t.length?t.join(" \xB7 "):void 0}async function hn(e,t){try{return await e()}catch(n){t.notify(c("skills.failed",{error:n instanceof Error?n.message:String(n)}));return}}function ST(e){e.openPicker({title:c("skills.title"),rows:()=>[{id:"store",label:c("skills.store"),description:c("skills.storeHint")},{id:"installed",label:c("skills.installed"),description:c("skills.installedHint")}],onPick:(t)=>{if(t==="store")CT(e);else Ji(e)}})}async function CT(e){let t=await hn(()=>e.session.browseSkillStore({},!0),e);if(!t)return;let n=t.sections;if(n.length===0){On(e,{},t.skills,t.total,1);return}e.openPicker({title:c("skills.sections"),rows:()=>[{id:"all",label:c("skills.all"),description:c("skills.allHint")},...n.map((r)=>({id:`section:${r.id}`,label:r.name}))],onPick:(r)=>{if(r==="all"){On(e,{},t.skills,t.total,1);return}let o=r.replace("section:",""),i=t.skills.filter((a)=>String(a.sectionId??"")===o);On(e,{},i,i.length,1)}})}function On(e,t,n,r,o){if(n.length===0){e.notify(c("skills.noResults"));return}let i=Math.max(0,r-o*n.length);e.openPicker({title:c("skills.store"),rows:()=>[...n.map((a)=>({id:`skill:${a.id}`,label:nb(a),description:oc(a),current:a.installed===!0})),...i>0?[{id:"next",label:c("skills.nextPage"),description:c("skills.more",{count:i})}]:[]],onPick:(a)=>{if(a==="next"){vT(e,t,o+1);return}let s=n.find((l)=>`skill:${l.id}`===a);if(s)IT(e,s,t,n,r,o)}})}async function vT(e,t,n){let r=await hn(()=>e.session.browseSkillStore({...t,page:n}),e);if(!r)return;On(e,t,r.skills,r.total,n)}function IT(e,t,n,r,o,i){let a=t.installed===!0;e.openPicker({title:nb(t),rows:()=>[{id:"install",label:a?c("skills.reinstall"):c("skills.install"),description:oc(t)},{id:"back",label:c("skills.back")}],onPick:(s)=>{if(s!=="install"){On(e,n,r,o,i);return}ET(e,t,n,i)}})}async function ET(e,t,n,r){e.notify(c("skills.installing",{name:t.name}));let o=await hn(()=>e.session.installSkillFromStore(t.id),e);if(!o)return;if(!o.ok){e.notify(c("skills.installFailed",{name:t.name,error:o.error??""}));return}e.notify(c("skills.installedOk",{name:o.name??t.name}));let i=await hn(()=>e.session.browseSkillStore({...n,page:r},!0),e);if(i)On(e,n,i.skills,i.total,r)}async function Ji(e){let t=await hn(()=>e.session.listInstalledSkills(),e);if(!t)return;if(t.length===0){e.notify(c("skills.noneInstalled"));return}e.openPicker({title:c("skills.installed"),rows:()=>t.map((n)=>({id:`name:${n.name}`,label:wT(n),description:oc(n),current:n.enabled})),onPick:(n)=>{let r=t.find((o)=>`name:${o.name}`===n);if(r)rb(e,r)}})}function rb(e,t){e.openPicker({title:t.name,rows:()=>[{id:"toggle",label:t.enabled?c("skills.disable"):c("skills.enable"),description:c("skills.toggleHint")},{id:"uninstall",label:c("skills.uninstall"),description:c("skills.uninstallHint")},{id:"back",label:c("skills.back")}],onPick:(n)=>{if(n==="toggle")TT(e,t);else if(n==="uninstall")BT(e,t);else Ji(e)}})}async function TT(e,t){let n=await hn(()=>e.session.setInstalledSkillEnabled(t.name,!t.enabled),e);if(!n)return;if(!n.ok){e.notify(c("skills.toggleFailed",{name:t.name,error:n.error??""}));return}e.notify(t.enabled?c("skills.disabledOk",{name:t.name}):c("skills.enabledOk",{name:t.name})),Ji(e)}function BT(e,t){e.openPicker({title:c("skills.uninstall"),rows:()=>[{id:"confirm",label:c("skills.uninstallConfirm",{name:t.name})},{id:"back",label:c("skills.back")}],onPick:(n)=>{if(n!=="confirm"){rb(e,t);return}RT(e,t)}})}async function RT(e,t){let n=await hn(()=>e.session.uninstallSkill(t.name),e);if(!n)return;if(!n.ok){e.notify(c("skills.uninstallFailed",{name:t.name,error:n.error??""}));return}e.notify(c("skills.uninstalledOk",{name:t.name})),Ji(e)}function ob(){return{title:c("skills.title"),description:c("skills.command"),async run(e,t,n){let r=(n??"").trim();if(!r){ST(e);return}let o=await hn(()=>e.session.browseSkillStore({q:r},!0),e);if(!o)return;On(e,{q:r},o.skills,o.total,1)}}}var ib={running:"task.status.running",completed:"task.status.done",failed:"task.status.failed",cancelled:"task.status.cancelled"},ab={title:c("command.tasks.title"),description:c("command.tasks.description"),load:(e)=>e.refreshTasks(),rows:(e)=>e.tasks().map((t)=>({id:t.id,label:t.label,description:[ib[t.status]?c(ib[t.status]):t.status,t.exitCode!==void 0?`exit ${t.exitCode}`:void 0,Yi(t.startedAt)].filter(Boolean).join(" \xB7 ")})),empty:c("command.tasks.none"),run:async({session:e,notify:t},n,r)=>{if(r.trim()==="clear"){await e.clearFinishedTasks(),t(c("command.tasks.cleared"));return}if(!n)return;let o=e.tasks().find((s)=>s.id===n);if(!o)return;if(o.status==="running"){let s=await e.stopTask(n);t(s.ok?c("command.tasks.stopping",{label:o.label}):c("command.tasks.stopFailed",{error:s.error??c("notice.unknownError")}));return}let i=await e.taskOutput(n);if(!i.ok){t(c("command.tasks.noOutput",{error:i.error??c("notice.unknownError")}));return}let a=(i.output??"").trim();t(a?c("command.tasks.output",{label:o.label,text:a}):c("command.tasks.emptyOutput",{label:o.label}))}};var ic={cli:Mx,config:Vx,model:Gk,thinking:Xx,mode:eb,yolo:rc,auto:rc,restore:tb,plan:Ix,goal:Ex,btw:Tx,copy:Rx,tasks:ab,skills:ob(),help:qx(()=>sc)};function ac(e){return Object.hasOwn(ic,e)?ic[e]:void 0}var _T=Object.entries(ic).map(([e,t])=>({name:e,description:t.description})),PT=[{name:"feishu",description:c("command.feishu")},{name:"feishu setup",description:c("command.feishu.setup")},{name:"feishu start",description:c("command.feishu.start")},{name:"feishu stop",description:c("command.feishu.stop")},{name:"feishu status",description:c("command.feishu.status")},{name:"feishu restart",description:c("command.feishu.restart")},{name:"feishu logout",description:c("command.feishu.logout")}],sc=[..._T,...PT];import lc from"fs";import{homedir as MT}from"os";import{dirname as FT,join as NT}from"path";var DT="tui-preferences.json",OT="EASYCODE_TUI_PREFERENCES_FILE";function Vi(e=MT()){return process.env[OT]??NT(e,".easycode-user",DT)}function cc(e){try{let t=JSON.parse(lc.readFileSync(e,"utf8"));if(!t||typeof t!=="object"||Array.isArray(t))return{};return t}catch{return{}}}function sb(e=Vi()){let t=cc(e).theme;return typeof t==="string"&&t?t:void 0}function lb(e,t=Vi()){ub(t,{theme:e})}var cb="dismissedMrs",LT=50;function dc(e=Vi()){let t=cc(e)[cb];if(!Array.isArray(t))return[];return t.filter((n)=>typeof n==="string"&&n.length>0)}function db(e,t=Vi()){if(!e)return;let n=dc(t).filter((r)=>r!==e);ub(t,{[cb]:[e,...n].slice(0,LT)})}function ub(e,t){try{let n={...cc(e),...t};lc.mkdirSync(FT(e),{recursive:!0}),lc.writeFileSync(e,`${JSON.stringify(n,null,2)}
|
|
851
|
+
`,"utf8")}catch{}}function fb(e,t,n){if(n<=0)return[];if(e.length<=n)return[...e];let r=Math.min(Math.max(0,t),e.length-1),o=Math.min(Math.max(0,r-Math.floor(n/2)),e.length-n);return e.slice(o,o+n)}var $T=0.34,GT=18,zT=10;function gb(e){let{theme:t}=se(),[n,r]=j(void 0),o=()=>e.files.reduce((s,l)=>({added:s.added+l.added,removed:s.removed+l.removed}),{added:0,removed:0}),i=()=>Math.max(GT,Math.floor(e.paneWidth*$T)),a=(s)=>s==="added"?t.success:t.error;return h(De,{tone:"accent",icon:"\xB1",get title(){return c("diff.title")},maxWidth:"fill",get subtitle(){return c("diff.subtitle",{files:e.files.length,added:o().added,removed:o().removed})},get footer(){return[h(qe,{keys:"\u2191\u2193",get label(){return c("diff.chooseFile")}}),h(qe,{keys:"\u21DE\u21DF",get label(){return c("diff.scroll")}}),h(qe,{keys:"esc",get label(){return c("diff.close")}})]},get children(){var s=A("box"),l=A("box"),u=A("box"),g=A("text"),m=A("box"),k=A("box"),y=A("text"),R=A("box"),N=A("text");return _(s,l),_(s,m),d(s,"style",{flexDirection:"column"}),_(l,u),d(l,"style",{flexDirection:"row",justifyContent:"flex-end",flexShrink:0}),_(u,g),d(u,"onMouseUp",()=>e.onClose()),d(g,"selectable",!1),p(g,()=>` ${c("diff.closeButton")} `),_(m,k),_(m,R),d(m,"style",{flexDirection:"row",gap:1}),_(k,y),d(y,"selectable",!1),p(y,()=>c("diff.filesHeader")),p(k,h(ce,{get each(){return fb(e.files,e.cursor,zT)},children:(M)=>{let P=()=>e.files[e.cursor]?.path===M.path,w=()=>e.files.indexOf(M),L=()=>n()===w();return(()=>{var S=A("box"),b=A("text"),C=A("text"),O=A("text");return _(S,b),_(S,C),_(S,O),d(S,"onMouseOver",()=>r(w())),d(S,"onMouseOut",()=>r((z)=>z===w()?void 0:z)),d(S,"onMouseUp",()=>e.onSelect(w())),d(b,"selectable",!1),p(b,()=>`+${M.added}`),d(C,"selectable",!1),p(C,()=>` -${M.removed} `),d(O,"selectable",!1),p(O,()=>M.path),I((z)=>{var J={flexDirection:"row",backgroundColor:L()?t.primary:P()?t.backgroundElement:void 0,flexShrink:0},V={fg:ot(t,L(),a("added")),flexShrink:0},q={fg:ot(t,L(),a("removed")),flexShrink:0},X={fg:ot(t,L(),P()?t.text:t.textMuted)};return J!==z.e&&(z.e=d(S,"style",J,z.e)),V!==z.t&&(z.t=d(b,"style",V,z.t)),q!==z.a&&(z.a=d(C,"style",q,z.a)),X!==z.o&&(z.o=d(O,"style",X,z.o)),z},{e:void 0,t:void 0,a:void 0,o:void 0}),S})()}}),null),_(R,N),d(R,"style",{flexDirection:"column",flexGrow:1,minWidth:0}),d(N,"selectable",!1),p(N,()=>c("diff.patchHeader")),p(R,h(F,{get when(){return e.patch.trim().length>0},get fallback(){return(()=>{var M=A("text");return d(M,"selectable",!1),p(M,()=>c("diff.empty")),I((P)=>d(M,"style",{fg:t.textMuted},P)),M})()},get children(){var M=A("scrollbox"),P=A("diff");return _(M,P),No((w)=>e.onScrollBox?.(w),M),d(P,"view","unified"),d(P,"showLineNumbers",!0),d(P,"width","100%"),d(P,"wrapMode","none"),I((w)=>{var L={height:e.bodyHeight,flexShrink:0,width:"100%"},S=e.patch,b=t.text,C=ro(t),{diffAddedBg:O,diffRemovedBg:z,diffContextBg:J,diffHighlightAdded:V,diffHighlightRemoved:q,diffLineNumber:X,diffContextBg:ae,diffAddedLineNumberBg:Q,diffRemovedLineNumberBg:oe}=t;return L!==w.e&&(w.e=d(M,"style",L,w.e)),S!==w.t&&(w.t=d(P,"diff",S,w.t)),b!==w.a&&(w.a=d(P,"fg",b,w.a)),C!==w.o&&(w.o=d(P,"syntaxStyle",C,w.o)),O!==w.i&&(w.i=d(P,"addedBg",O,w.i)),z!==w.n&&(w.n=d(P,"removedBg",z,w.n)),J!==w.s&&(w.s=d(P,"contextBg",J,w.s)),V!==w.h&&(w.h=d(P,"addedSignColor",V,w.h)),q!==w.r&&(w.r=d(P,"removedSignColor",q,w.r)),X!==w.d&&(w.d=d(P,"lineNumberFg",X,w.d)),ae!==w.l&&(w.l=d(P,"lineNumberBg",ae,w.l)),Q!==w.u&&(w.u=d(P,"addedLineNumberBg",Q,w.u)),oe!==w.c&&(w.c=d(P,"removedLineNumberBg",oe,w.c)),w},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0,d:void 0,l:void 0,u:void 0,c:void 0}),M}}),null),I((M)=>{var P={fg:t.textMuted},w={flexDirection:"column",width:i(),flexShrink:0},L={fg:t.textMuted},S={fg:t.textMuted};return P!==M.e&&(M.e=d(g,"style",P,M.e)),w!==M.t&&(M.t=d(k,"style",w,M.t)),L!==M.a&&(M.a=d(y,"style",L,M.a)),S!==M.o&&(M.o=d(N,"style",S,M.o)),M},{e:void 0,t:void 0,a:void 0,o:void 0}),s}})}var uc=" ";function mb(e){let t=[];if(e.compressing)t.push({id:"compressing",text:`${e.spinner} ${c("status.compacting")}`,tone:"accent",priority:100});let n=e.tasks.filter((r)=>r.status==="running").length;if(n>0)t.push({id:"tasks",text:c("status.tasksRunning",{count:n,plural:n===1?"":"s"}),tone:"muted",priority:60});if(e.diff&&e.diff.files>0)t.push({id:"diff",text:`+${e.diff.added} -${e.diff.removed}`,tone:"added",parts:[{text:`+${e.diff.added}`,tone:"added"},{text:` -${e.diff.removed}`,tone:"removed"}],priority:80});return t}function hb(e,t){if(e==="accent")return t.accent;if(e==="success"||e==="added")return t.success;if(e==="removed")return t.error;return t.textMuted}function pb(e,t){if(e.length===0)return[];let n=(i)=>i.reduce((a,s)=>a+s.text.length,0)+uc.length*(i.length-1),r=e.slice(),o=e.map((i,a)=>({pill:i,index:a})).sort((i,a)=>i.pill.priority-a.pill.priority||a.index-i.index);for(let{pill:i}of o){if(n(r)<=t)break;r=r.filter((a)=>a!==i)}return n(r)<=t?r:[]}function Ab(e){return e?5000:30000}var kb=30000;function fc(e){return!!e&&e.trim().length>0}function xb(e){let{theme:t}=se(),n=()=>mn.indexOf(e.state.step)+1,r=()=>yx[e.state.step];return h(De,{tone:"accent",icon:"\u25CE",get title(){return c("goal.dialog.title",{title:r().title})},get subtitle(){return c("goal.dialog.subtitle",{step:n(),total:mn.length,hint:r().hint})},hint:"esc",get onHint(){return e.onCancel},get actions(){return[h(He,{keys:"enter",get label(){return ue(()=>e.state.step==="confirm")()?c("key.start"):c("key.next")},primary:!0,get onActivate(){return e.onNext}}),h(He,{keys:"esc",get label(){return c("key.cancel")},get onActivate(){return e.onCancel}})]},get children(){var o=A("box");return d(o,"style",{flexDirection:"column",gap:1,flexShrink:0}),p(o,h(F,{get when(){return Ui(e.state.step)},get children(){var i=A("text");return p(i,()=>`> ${e.draft}\u258C`),I((a)=>d(i,"style",{fg:t.text},a)),i}}),null),p(o,h(F,{get when(){return e.state.step==="intensity"},get children(){var i=A("box");return d(i,"style",{flexDirection:"column",flexShrink:0}),p(i,h(ce,{each:Dn,children:(a)=>h(St,{get active(){return e.state.fields.intensity===a},get title(){return kx[a]}})})),i}}),null),p(o,h(F,{get when(){return e.state.step==="confirm"},get children(){var i=A("box"),a=A("text");return _(i,a),d(i,"style",{flexDirection:"column",flexShrink:0}),p(i,h(ce,{get each(){return vx(e.state.fields)},children:(s)=>(()=>{var l=A("text");return p(l,s),I((u)=>d(l,"style",{fg:t.textMuted},u)),l})()}),a),p(a,()=>c("goal.dialog.fullAccess")),I((s)=>d(a,"style",{fg:t.warning},s)),i}}),null),p(o,h(F,{get when(){return e.state.error},get children(){var i=A("text");return p(i,()=>e.state.error),I((a)=>d(i,"style",{fg:t.error},a)),i}}),null),o}})}import{promises as qi}from"fs";import{homedir as HT}from"os";import{join as bb}from"path";var UT=2147483648,jT=604800000,yb=2000,wb="lastHistoryCleanupCheck";function Sb(e=HT()){return bb(e,".easycode-user","history")}function Cb(e){if(e===0)return"0 B";let t=["B","KB","MB","GB","TB"],n=1024,r=Math.floor(Math.log(e)/Math.log(n));return`${(e/Math.pow(n,r)).toFixed(2)} ${t[r]}`}async function vb(e){let t=0;try{let n=await qi.readdir(e,{withFileTypes:!0});for(let r of n){let o=bb(e,r.name);if(r.isDirectory())t+=await vb(o);else if(r.isFile())try{t+=(await qi.stat(o)).size}catch{}}}catch{}return t}function WT(e){let t=un(e)[wb];return typeof t==="number"&&Number.isFinite(t)?t:void 0}function Ib(e,t){return e!==void 0&&t-e<jT}function ZT(e){if(Ib(e.lastCheck,e.now))return!1;return e.size>UT}function gc(e,t){try{Mn({[wb]:t},e)}catch{}}async function Eb(e){try{await qi.access(e)}catch{return}return vb(e)}async function Tb(e={}){let t=e.settingsFile??At(),n=e.now??Date.now(),r=e.historyDir??Sb(),o=await Eb(r);if(o===void 0)return null;let i=WT(t);if(Ib(i,n))return null;if(ZT({lastCheck:i,now:n,size:o}))return{size:o,sizeFormatted:Cb(o),dir:r};return gc(t,n),null}async function Bb(e={}){let t=e.historyDir??Sb(),n=e.settingsFile??At(),r=e.now??Date.now(),o=await Eb(t);try{await qi.rm(t,{recursive:!0,force:!0})}catch(i){return{ok:!1,error:i instanceof Error?i.message:String(i)}}return gc(n,r),{ok:!0,freed:Cb(o??0)}}function Rb(e={}){gc(e.settingsFile??At(),e.now??Date.now())}function _b(e){let{theme:t}=se();return h(De,{tone:"warning",get title(){return c("cleanup.title")},hint:"esc",get onHint(){return e.onSkip},maxWidth:64,get actions(){return[h(He,{keys:"y",get label(){return c("cleanup.key.clean")},primary:!0,get onActivate(){return e.onClean}}),h(He,{keys:"n",get label(){return c("cleanup.key.skip")},get onActivate(){return e.onSkip}})]},get children(){var n=A("box"),r=A("text"),o=A("text"),i=A("text");return _(n,r),_(n,o),_(n,i),d(n,"style",{flexDirection:"column",paddingLeft:1}),p(r,()=>c("cleanup.warning",{size:e.offer.sizeFormatted})),p(o,()=>c("cleanup.question")),p(i,()=>c("cleanup.location",{path:e.offer.dir})),I((a)=>{var s={fg:t.text},l={fg:t.textMuted},u={fg:t.textMuted};return s!==a.e&&(a.e=d(r,"style",s,a.e)),l!==a.t&&(a.t=d(o,"style",l,a.t)),u!==a.a&&(a.a=d(i,"style",u,a.a)),a},{e:void 0,t:void 0,a:void 0}),n}})}function Pb(e){let{theme:t}=se();return h(De,{tone:"warning",get title(){return c("archive.title")},hint:"esc",get onHint(){return e.onCancel},maxWidth:64,get actions(){return[h(He,{keys:"y",get label(){return c("archive.key.confirm")},primary:!0,get onActivate(){return e.onConfirm}}),h(He,{keys:"n",get label(){return c("archive.key.cancel")},get onActivate(){return e.onCancel}})]},get children(){var n=A("box"),r=A("text"),o=A("text");return _(n,r),_(n,o),d(n,"style",{flexDirection:"column",paddingLeft:1}),p(r,()=>c("archive.question")),p(o,()=>c("archive.effect")),I((i)=>{var a={fg:t.text},s={fg:t.textMuted};return a!==i.e&&(i.e=d(r,"style",a,i.e)),s!==i.t&&(i.t=d(o,"style",s,i.t)),i},{e:void 0,t:void 0}),n}})}function Mb(e,t){if(t)return{mode:"yolo",plan:!1};switch(e){case"default":return{mode:"autoEdit"};case"autoEdit":return{plan:!0};case"yolo":return{mode:"default"};default:return{}}}function Fb(e,t){return e?.forced===!0&&t.phase==="idle"}function Nb(e,t){if(e.phase==="failed"||e.phase==="done")return e.version!==t.latestVersion;return!1}var mc={index:-1,draft:""};function Db(e,t,n,r){if(n.length===0)return null;if(t==="up"){let i=e.index===-1?0:e.index+1;if(i>=n.length)return null;return{state:{index:i,draft:e.index===-1?r:e.draft},text:n[n.length-1-i]}}if(e.index===-1)return null;let o=e.index-1;return{state:{index:o,draft:e.draft},text:o===-1?e.draft:n[n.length-1-o]}}import{spawn as VT}from"child_process";import*as Ob from"fs";import*as Lb from"os";import*as xr from"path";var KT=".COM;.EXE;.BAT;.CMD";function QT(e){let{platform:t,home:n,env:r}=e,o=t==="win32"?xr.win32:xr.posix;if(t==="win32"){let a=r.LOCALAPPDATA??o.join(n,"AppData","Local"),s=r.ProgramFiles??"C:\\Program Files",l=r.ProgramData??"C:\\ProgramData";return[o.join(a,"Microsoft","WinGet","Links"),o.join(n,"scoop","shims"),o.join(l,"chocolatey","bin"),o.join(s,"GitHub CLI"),o.join(s,"glab","bin"),o.join(a,"Programs","glab"),o.join(a,"Programs","GitHub CLI")]}let i=[o.join(n,".local","bin"),o.join(n,"bin"),o.join(n,"go","bin"),"/usr/local/bin","/usr/bin"];if(t==="darwin")return["/opt/homebrew/bin",...i];return[...i,"/snap/bin","/home/linuxbrew/.linuxbrew/bin",o.join(n,".linuxbrew","bin")]}function YT(e,t){let{platform:n,env:r}=t,o=n==="win32"?xr.win32:xr.posix,i=n==="win32"?";":":",a=n==="win32"?(r.PATHEXT??KT).split(";").map((g)=>g.trim()).filter(Boolean).map((g)=>`${e}${g.toLowerCase()}`):[e],s=[...(r.PATH??"").split(i).map((g)=>g.trim()).filter(Boolean),...QT(t)],l=[],u=new Set;for(let g of s)for(let m of a){let k=o.join(g,m),y=n==="win32"?k.toLowerCase():k;if(u.has(y))continue;u.add(y),l.push(k)}return l}function JT(){return{platform:process.platform,home:Lb.homedir(),env:process.env}}var hc=new Map;function pc(e,t=JT(),n=(r)=>Ob.existsSync(r)){let r=`${t.platform}:${e}`,o=hc.get(r);if(o)return o;for(let a of YT(e,t))try{if(n(a))return hc.set(r,a),a}catch{}let i=t.platform==="win32"?`${e}.exe`:e;return hc.set(r,i),i}var qT=1e4,XT="number,state,url,title,headRefName,statusCheckRollup";function $b(e){switch(e){case"created":case"waiting_for_resource":case"preparing":case"pending":case"running":case"scheduled":return"running";case"success":return"success";case"failed":return"failed";default:return"none"}}function eB(e){return e==="merged"||e==="closed"?e:"opened"}function tB(e){let t=e.head_pipeline;if(t&&typeof t.status==="string")return $b(t.status);let n=e.pipeline;return $b(n?.status)}function nB(e){if(!e||typeof e!=="object"||Array.isArray(e))return null;let t=e,{iid:n,web_url:r}=t;if(typeof n!=="number"||typeof r!=="string"||!r)return null;return{iid:n,url:r,state:eB(t.state),pipeline:tB(t),title:typeof t.title==="string"?t.title:"",sourceBranch:typeof t.source_branch==="string"?t.source_branch:""}}function rB(e){return["api","--hostname",e.host,`projects/${encodeURIComponent(e.projectPath)}/merge_requests/${e.iid}`]}function oB(e){if(typeof e!=="string")return"opened";let t=e.toUpperCase();if(t==="MERGED")return"merged";if(t==="CLOSED")return"closed";return"opened"}function iB(e){if(!Array.isArray(e)||e.length===0)return"none";let t=!1,n=!1,r=!1;for(let o of e){if(!o||typeof o!=="object")continue;let i=o;if(typeof i.status==="string"){let s=i.status.toUpperCase();if(s==="QUEUED"||s==="IN_PROGRESS"||s==="PENDING"||s==="WAITING"){t=!0;continue}}switch(typeof i.conclusion==="string"?i.conclusion.toUpperCase():typeof i.state==="string"?i.state.toUpperCase():""){case"SUCCESS":r=!0;break;case"FAILURE":case"ERROR":case"TIMED_OUT":case"STARTUP_FAILURE":case"ACTION_REQUIRED":n=!0;break;case"PENDING":case"EXPECTED":t=!0;break;default:break}}if(t)return"running";if(n)return"failed";return r?"success":"none"}function aB(e){if(!e||typeof e!=="object"||Array.isArray(e))return null;let t=e,{number:n,url:r}=t;if(typeof n!=="number"||typeof r!=="string"||!r)return null;return{iid:n,url:r,state:oB(t.state),pipeline:iB(t.statusCheckRollup),title:typeof t.title==="string"?t.title:"",sourceBranch:typeof t.headRefName==="string"?t.headRefName:""}}function sB(e){let t=e.host==="github.com"?e.projectPath:`${e.host}/${e.projectPath}`;return["pr","view",String(e.iid),"--repo",t,"--json",XT]}function Gb(e,t){return new Promise((n,r)=>{let o=VT(e,t,{windowsHide:!0}),i="",a="",s=setTimeout(()=>{o.kill(),r(Error("timeout"))},qT);o.stdout.on("data",(l)=>i+=String(l)),o.stderr.on("data",(l)=>a+=String(l)),o.on("error",(l)=>{clearTimeout(s),r(l)}),o.on("close",(l)=>{clearTimeout(s),n({code:l??0,out:i,err:a})})})}async function lB(e){let t;try{t=await Gb(pc("glab"),rB(e))}catch(o){return Bl(o instanceof Error?o.message:String(o),"glab-not-found")}if(t.code!==0){let o=t.err.trim();if(/401|403|authenticat|not logged in|no token/i.test(o))return{kind:"unavailable",reason:"glab-unauthenticated"};return{kind:"error",message:o||`glab exited with ${t.code}`}}let n;try{n=JSON.parse(t.out)}catch{return{kind:"error",message:"glab returned non-JSON output"}}let r=nB(n);return r?{kind:"ok",status:r}:{kind:"error",message:"unexpected MR payload shape"}}async function cB(e){let t;try{t=await Gb(pc("gh"),sB(e))}catch(o){return Bl(o instanceof Error?o.message:String(o),"gh-not-found")}if(t.code!==0){let o=t.err.trim();if(/auth|401|403|not logged|gh auth login|HTTP 404/i.test(o))return{kind:"unavailable",reason:"gh-unauthenticated"};return{kind:"error",message:o||`gh exited with ${t.code}`}}let n;try{n=JSON.parse(t.out)}catch{return{kind:"error",message:"gh returned non-JSON output"}}let r=aB(n);return r?{kind:"ok",status:r}:{kind:"error",message:"unexpected PR payload shape"}}async function zb(e){return e.provider==="github"?cB(e):lB(e)}function fB(e){return e.split(`
|
|
852
|
+
`).find((t)=>t.trim().length>0)?.trim()??c("notice.unknownError")}var gB=()=>c("prompt.browseCommands"),mB=()=>c("notice.pastingImage");function Ub(e){return h($p,{get initial(){return sb()},onNameChange:lb,get children(){return h(hB,e)}})}function hB(e){let t=se(),{theme:n}=t,[r,o]=j(""),i,a=(f)=>{if(o(f),!i)return;i.editBuffer.setText(f),i.cursorOffset=Ei(f,f.length)},[s,l]=j([]),u=new Map,g=ye(()=>{let f=n.warning,v=`${f.r}/${f.g}/${f.b}`,E=u.get(v);if(E)return E;let K=uB.fromStyles({attachment:{fg:Bn(n,f),bg:f,bold:!0}});return u.set(v,K),K}),m=0,k=(f,v,E)=>{let K=i?.extmarks,ne;if(K){if(m===0)m=K.registerType("attachment");ne=K.create({start:Ei(v.text,v.start),end:Ei(v.text,v.end),virtual:!0,styleId:g().getStyleId("attachment")??0,typeId:m})}l((ke)=>[...ke,{label:f,reference:E,mark:ne}])},y=()=>{let f=i?.extmarks;for(let v of s())if(f&&v.mark!==void 0)f.delete(v.mark);l([])},R=()=>{y(),a("")},N=async()=>{let f=e.pasteClipboard??rk;kt(mB());let v=await f({cwd:e.cwd});if(!v){Ft(void 0);return}let E=Up(s()),K=jp(r(),E);a(K.text),k(E,K,v.insert),kt(c("notice.attached",{file:Hb.basename(v.file)}))},[M,P]=j(0),[w,L]=j(!1),[S,b]=j(0),[C,O]=j(void 0),[z,J]=j(0),[V,q]=j(0),[X,ae]=j(0),[Q,oe]=j(void 0),[le,je]=j(!1),Ct=()=>{je(!0),setTimeout(()=>je(!1),2000)},[Ln,Ft]=j(void 0),[Nt,Dt]=j(0),[pn,$n]=j([]),[ee,Gn]=j([]),[zn,Vt]=j([]),[Ot,br]=j(!1),[An,yr]=j(!1),[jt,ut]=j("choose"),[Hn,qt]=j(0),[Un,Qe]=j(""),[it,Wt]=j(!1),[B,W]=j(void 0),[fe,we]=j(void 0),Oe=ht(),Zb=ye(()=>ax(r(),Math.max(1,(i?.width??Oe().width)-sx),Oe().height)),kc=qn(),pe=()=>e.session.transcript(),Kb=ye(()=>hA(pe().blocks)),[xc,Qb]=j(),[bc,Xi]=j(),[yc,uo]=j(!1),wc=()=>{uo(!1),e.hub?.archiveActive()},Sc=async()=>{Xi(void 0);let f=await(e.cleanHistory??(()=>Bb()))();kt(f.ok?c("cleanup.freed",{size:f.freed??""}):c("cleanup.failed",{error:f.error??c("notice.unknownError")}))},Cc=()=>{Xi(void 0),Rb()},[Yb,vc]=j(e.branch),Ic=e.readBranch??hi,Jb=e.readDiffStat??kh,[Vb,qb]=j(void 0),[Ec,ea]=j(!1),[Tc,Xb]=j([]),[Bc,e0]=j(0),[t0,n0]=j(""),ta,fo=()=>qb(Jb(e.cwd)),Rc=()=>Math.max(4,Oe().height-12),na=(f)=>{let v=Tc();if(v.length===0)return;let E=Math.min(Math.max(0,f),v.length-1);e0(E);let K=v[E];n0(K?Ah(e.cwd,K):""),ta?.scrollTo(0)},r0=()=>{let f=Xs(e.cwd)??[];if(f.length===0){fo();return}Xb(f),ea(!0),na(0)};st(va(()=>pe().running,(f,v)=>{if(v&&!f)vc(Ic(e.cwd)),fo(),e.session.refreshFeishuStatus(),e.session.refreshCredits(),e.session.refreshQuota()})),Gt(fo),Gt(()=>void e.session.refreshFeishuStatus()),Gt(()=>void e.session.refreshCredits()),Gt(()=>void e.session.refreshQuota()),st(()=>{if(!fc(e.cwd))return;let f=setInterval(fo,Ab(Cr()));Me(()=>clearInterval(f))}),st(()=>{if(!fc(e.cwd))return;let f=setInterval(()=>vc(Ic(e.cwd)),kb);Me(()=>clearInterval(f))});let o0=e.queryMrStatus??zb,[_c,Pc]=j(void 0),[Xt,go]=j(void 0),[i0,a0]=j(new Set(dc())),Mc=async()=>{let f=Xt();if(!f||f.dismissed)return;let v=await o0(f.ref);go((E)=>{if(!E||E.ref.url!==f.ref.url)return E;return{...E,outcome:v.kind,status:v.kind==="ok"?v.status:E.status}})},s0=()=>{let f=Xt()?.ref.url;if(!f)return;db(f),a0((v)=>new Set(v).add(f)),go((v)=>v?{...v,dismissed:!0}:v)},l0=ye(()=>yA(pe().blocks));st(()=>{let f=l0();if(!f){Pc(void 0);return}let v=bA(f.content,f.terminalOutput);if(!v)return;Pc((E)=>E?.url===v.url?E:v)}),st(va(_c,(f)=>{if(!f){go(void 0);return}let v=xA(Xt(),f,i0());if(go(v),to(v))Mc()}));let c0=ye(()=>to(Xt())),d0=ye(()=>Xt()?.status?.state),u0=ye(()=>Xt()?.status?.pipeline),f0=ye(()=>Xt()?.outcome??"ok");st(()=>{if(!_c()||!c0())return;let f=wA(d0(),u0(),f0());if(f===0)return;let v=setInterval(()=>void Mc(),f);Me(()=>clearInterval(v))});let g0=async(f)=>{if(!(await(e.openUrl??ui)(f)).ok)kt(c("mr.openFailed",{url:f}))};st(()=>{let f=pe().title;if(f)e.hub?.remember(f)});let[mo,ra]=j({phase:"idle"}),Fc=async()=>{let f=xc();if(!f||mo().phase==="running")return;ra({phase:"running",version:f.latestVersion});let E=await(e.runUpdate??((K)=>Si(K)))(f.updateCommand);ra(E.ok?{phase:"done",version:f.latestVersion}:{phase:"failed",reason:fB(E.output),version:f.latestVersion})},Nc=(f)=>{if(!f)return;if(Qb(f),Nb(mo(),f))ra({phase:"idle"});if(Fb(f,mo()))Fc()};Gt(()=>{let f=e.checkUpdate??(()=>wi({currentVersion:gn}));f().then(Nc);let v=setInterval(()=>{f().then(Nc)},e.checkIntervalMs??ep);Me(()=>clearInterval(v));let E=setTimeout(()=>{(e.checkCleanup??(()=>Tb()))().then((ne)=>{if(ne)Xi(ne)})},e.cleanupDelayMs??yb);Me(()=>clearTimeout(E))});let jn=()=>pe().blocks.length===0,oa=()=>Math.max(75,Math.floor(Oe().width*0.7)),ia=()=>Ri(Oe().width),m0=()=>Oe().width-(ia()?Ar:0),h0=()=>ln(Oe().width),Dc=()=>Ot()||w()||Boolean(gt())||Boolean(C())||Boolean(e.session.pendingPermission()),p0=()=>pe().title??e.cwd,A0=()=>ok(r()),en=ye(()=>{let f=A0();return f===void 0?[]:ik(Mi(pe().commands,sc),f)}),gt=()=>e.session.pendingPermission()?.request.questions,aa=ye(()=>Yk(pe().blocks,{thinking:e.session.status()==="thinking"})),k0=()=>aa().blocks,[ho,Oc]=j(void 0),[Lc,Wn]=j(0),[kn,wr]=j(void 0),$c=ye(()=>{let f=new Map,v=0;for(let E of pe().blocks)if(E.type==="user")f.set(E,v++);return f}),sa=(f)=>e.session.checkpoints().find((v)=>v.userMessageIndex===f),x0=(f)=>{let v=$c().get(f);return v!==void 0&&sa(v)!==void 0},b0=(f)=>{Wn(0),wr(void 0),Oc(f),e.session.refreshCheckpoints()},Sr=()=>{Oc(void 0),wr(void 0)},po=()=>{let f=ho();if(f===void 0)return[];if(kn()!==void 0)return[{id:"confirm",label:c("menu.confirm.restore")},{id:"cancel",label:c("menu.cancel")}];let v=[];if(sa(f))v.push({id:"restore",label:c("menu.restore"),description:c("menu.restore.hint")});return v.push({id:"copy",label:c("menu.copy")}),v},Gc=async(f)=>{let v=ho();if(v===void 0)return;if(f==="cancel"){Sr();return}let E=f==="confirm"?kn()??"":f;if(E==="restore"&&kn()===void 0){wr(E),Wn(0);return}if(E==="copy"){let ke=y0(v);if(Sr(),ke===void 0)return;let Le=await kr(ke);kt(Le.ok?c("notice.copied"):c("notice.copyFailed",{error:Le.error??c("notice.unknown")}));return}Sr();let K=sa(v);if(!K){kt(c("notice.checkpointGone"));return}let ne=await e.session.restoreCheckpoint(K.id);kt(ne.ok?c("notice.restored"):c("notice.restoreFailed",{error:ne.error??c("notice.unknownError")}))},y0=(f)=>pe().blocks.filter((v)=>v.type==="user").map((v)=>v.text)[f],mt=()=>{if(Ot())return"auth";if(gt())return"ask";if(Ec())return"diff";if(e.session.pendingPermission())return"permission";if(w())return"theme";if(C())return"picker";if(vr())return"goal";if(ho()!==void 0)return"menu";if(bc())return"cleanup";if(yc())return"archive";if(en().length>0)return"commands";return"prompt"};st(()=>{let f=e.session.auth();if(!f)return;at(()=>{if(f.loggedIn){let v=An()||jt()==="browser";if(yr(!1),v)Aa();return}if(!Ot()&&!An())yr(!0),pa()})}),st(()=>{en(),P(0)}),st(()=>{e.session.pendingPermission(),q(0)}),st(()=>{let f=gt();Dt(0),$n(f?f.map(()=>0):[]),Gn(f?f.map(()=>new Set):[]),Vt(f?f.map(()=>{return}):[])});let Cr=()=>lr(e.session.status())||pe().compressing,la=()=>Cr()||pe().restoring,w0=()=>zc("execute"),zc=(f)=>pe().blocks.some((v)=>v.type==="tool"&&(f===void 0||v.toolKind===f)&&(v.status==="pending"||v.status==="in_progress")),Hc=()=>Cr()||zc(),ca=()=>mt()==="prompt"||mt()==="commands",Ao=()=>pe().running?void 0:pe().suggestion,S0=()=>wt(n.borderActive,n.background,0.65),C0=()=>{if(!ca())return S0();if(ua())return n.success;return e.session.mode()==="yolo"?n.warning:n.borderActive},ko=()=>wl[X()%wl.length],Uc=()=>dA(e.session.status(),pe().compressing,pe().restoring,cA(pe())),jc=()=>{let f=uA(e.session.status(),pe(),Date.now());return f!=null?` ${vl(f)}`:""},da=()=>n.accent,v0=ye(()=>tx(da(),n.background)),I0=()=>{let f=`${Uc()}${jc()}`;if(!Sl(e.session.status(),pe().compressing,pe().restoring))return[{text:f,fg:da()}];let v=v0();return ex(f,X()).map((E)=>({text:E.text,fg:nx(v,E.glow)}))},ua=()=>e.session.modeStatus().planModeActive,[vr,Ir]=j(void 0),[Wc,Er]=j(""),[Zc,fa]=j(void 0),E0=(f)=>{let v=bx(f);Ir(v),Er(ji(v))},xo=()=>{Ir(void 0),Er("")},T0=async(f)=>{xo();try{let v=await e.session.startGoal(f);tn(c("notice.goalStarted",{extra:v.yoloWasEnabled?c("notice.fullAccessEnabled"):""}))}catch(v){tn(c("notice.goalFailed",{error:String(v)}))}},Kc=()=>{let f=vr();if(!f)return;if(f.step==="confirm"){T0(f.fields);return}let v=wx(f,Wc());if(Ir(v),v.step!==f.step)Er(ji(v))},B0=()=>{let f=vr();if(!f)return;let v=Sx(f.step);if(!v){xo();return}let E={step:v,fields:f.fields};Ir(E),Er(ji(E))},R0=()=>{let f=e.session.modeStatus().goal;if(!f)return;return X(),{text:`\u25CE goal ${vl(Math.max(0,Math.floor((Date.now()-f.startedAt)/1000)))} / ${f.hours}h`,color:n.accent}},_0=()=>mb({compressing:pe().compressing,tasks:e.session.tasks(),diff:Vb(),spinner:ko()}),Qc=()=>{let f=Cr()?Cl(e.session.status(),pe().compressing,ko(),pe().restoring).length+1+Uc().length+jc().length+2:0;return pb(_0(),Oe().width-f-4)},[bo,ga]=j(void 0),yo=()=>bo()!==void 0,Yc=()=>{let f=bo();if(f===void 0){let ne=e.session.queued();if(ne.length===0)return;ga(0),e.session.setQueuePaused(!0),a(ne[0]);return}let v=e.session.updateQueueItem(f,r()),E=e.session.queued();if(E.length===0){wo();return}let K=v==="deleted"?f%E.length:vh(f,E.length);ga(K),a(E[K])},wo=()=>{ga(void 0),e.session.setQueuePaused(!1),a("")},P0=(f)=>{if(f!=="clear"){let E=e.session.queued().length;kt(c("notice.queueUsage",{count:E}));return}if(yo())wo();let v=e.session.clearQueue();kt(v===0?c("notice.queueEmpty"):c("notice.queueCleared",{count:v,noun:c(v===1?"notice.queueCleared.one":"notice.queueCleared.many")}))},[M0,Jc]=j(mc),F0=()=>pe().blocks.filter((f)=>f.type==="user").map((f)=>f.text),N0=async()=>{let f=Mb(e.session.mode(),e.session.modeStatus().planModeActive);if(f.plan!==void 0)await e.session.setPlanMode(f.plan);if(f.mode){let v=await e.session.selectMode(f.mode);if(!v.ok)kt(c("notice.modeFailed",{error:v.error??c("notice.unknownError")}))}},Vc=()=>{let f=e.session.model();if(!f)return;return e.session.models().find((v)=>v.modelId===f)?.name??f};st(()=>{if(!la()&&Q()?.status!=="asking")return;let f=setInterval(()=>ae((v)=>v+1),80);Me(()=>clearInterval(f))});let tn=(f)=>e.session.callbacks.emit({kind:"notice",text:f}),ma,kt=(f)=>{Ft(f),clearTimeout(ma),ma=setTimeout(()=>Ft(void 0),hx)};Me(()=>clearTimeout(ma));let D0=(f)=>{oe(fx(f)),e.session.askBtw(f).then((v)=>{oe((E)=>gx(E,v))})},qc=(f)=>{J(f.initialIndex??0),O(f)},ha=()=>({session:e.session,setInput:a,notify:tn,openGoalWizard:E0,askSideQuestion:D0,openPicker:qc,syncModelWizard:fa}),O0=(f)=>{if(!kc.getSelection()?.getSelectedText())return;f.preventDefault(),f.stopPropagation(),lx({renderer:kc}).then((v)=>{if(v)kt(v)})},Xc=(f,v)=>{let E=ac(f);if(!E)return;if(E.rows&&!v.trim()){if(E.load)E.load(e.session);qc({title:E.title,empty:E.empty,rows:()=>E.rows?.(e.session)??[],onPick:(K)=>void E.run(ha(),K,"")});return}E.run(ha(),void 0,v.trim())},ed=async()=>{if(e.session.status()!=="idle")e.session.interrupt();try{let{acpSessionId:f}=await e.session.newSession();tn(c("notice.newSession",{id:f}))}catch(f){e.session.callbacks.emit({kind:"error",message:f instanceof Error?f.message:String(f)})}},td=(f)=>{let v=/^\/([a-zA-Z][\w-]*)(?:\s+([\s\S]*))?$/.exec(f.trim());if(!v)return!1;let E=v[1],K=v[2]??"";if(ac(E))return Xc(E,K),!0;if(E==="session"&&K.trim()==="new")return ed(),!0;if(dk(E))return Co(E,K),!0;return!1},nd=()=>{let f=Wp(r(),s());if(y(),a(""),Jc(mc),Zc()){zk(ha(),f);return}if(td(f))return;e.session.submit(f)},L0=()=>nd(),$0=()=>{Ul(),fa(void 0),a(""),tn(c("model.wizard.aborted"))},pa=()=>{ut("choose"),qt(0),Qe(""),W(void 0),we(void 0),br(!0)},So={session:void 0,count:0};st(()=>{let f=e.session,v=f.authExpiredCount();if(f!==So.session){So={session:f,count:v};return}if(v<=So.count)return;if(So={session:f,count:v},Dc())return;pa()});let Aa=()=>{e.session.cancelBrowserLogin(),br(!1),Wt(!1),Qe(""),we(void 0)},ka=()=>{if(it())return;if(jt()==="browser"){e.session.cancelBrowserLogin(),we(void 0),ut("choose");return}if(jt()==="apikey"){Qe(""),ut("choose");return}Aa()},rd=()=>e.session.answerPermission({outcome:"cancelled"}),G0=()=>{W(void 0),ut("browser"),Wt(!0),e.session.startBrowserLogin().then((f)=>{if(we(f),!f.ok)W(f.error),ut("choose")}).catch((f)=>{W(String(f)),ut("choose")}).finally(()=>Wt(!1))},z0=()=>{let f=Un();if(!f.trim())return;Wt(!0),W(void 0),e.session.loginWithApiKey(f).then((v)=>{if(Qe(""),v.ok)Aa();else W(v.error),ut("choose")}).catch((v)=>{Qe(""),W(String(v)),ut("choose")}).finally(()=>Wt(!1))},Co=(f,v="")=>{switch(f){case"new":ed();return;case"login":pa();return;case"logout":e.session.logout();return;case"account":e.session.openAccountPage().then((E)=>{if(!E.ok)W(E.error)});return;case"theme":b(Math.max(0,t.names.indexOf(t.name))),L(!0);return;case"clear":e.session.clearTranscript();return;case"queue":P0(v.trim());return;case"quit":e.onQuit();return;default:return f}},od=()=>{let f=en()[M()];if(!f)return;if(a(""),td(`/${f.name}`))return;e.session.submit(`/${f.name}`)},H0=()=>{let f=en()[M()];if(!f)return;a(`/${f.name} `)},id=(f)=>{let v=gt();if(!v)return;let E=Nt(),K=v[E]?.options??[];$n((ne)=>{let ke=[...ne];return ke[E]=Math.min(K.length,Math.max(0,(ke[E]??0)+f)),ke})},ad=(f)=>{let v=gt()?.length??0;if(v===0)return;Dt((E)=>(E+f+v)%v)},sd=(f,v)=>{let E=gt()?.[f];if(!E)return;Gn((K)=>{let ne=K.map((Le)=>new Set(Le));while(ne.length<=f)ne.push(new Set);let ke=ne[f];if(!E.multiSelect)ke.clear(),ke.add(v);else if(ke.has(v))ke.delete(v);else ke.add(v);return ne})},U0=(f)=>{let v=gt()?.[f];if(!v)return;if(!v.multiSelect)Gn((E)=>E.map((K,ne)=>ne===f?new Set:K));Vt((E)=>{let K=[...E];if(K[f]===void 0)K[f]="";else if(v.multiSelect)K[f]=void 0;return K})},ld=()=>{let f=gt(),v=e.session.pendingPermission();if(!f||!v)return;let E=Nt(),K=f[E],ne=ee().map((Le)=>new Set(Le));while(ne.length<f.length)ne.push(new Set);if(K&&!K.multiSelect&&(ne[E]?.size??0)===0)ne[E]=new Set([pn()[E]??0]);let ke=zp(v.request.options);if(!ke)return;e.session.answerPermission({outcome:"selected",optionId:ke,answers:Zm(f,ne,zn())})},cd=(f)=>{if(f?.id==="browser")G0();else if(f?.id==="apikey")ut("apikey"),W(void 0)};return jd((f)=>{if(f.name==="escape"&&Ok()){f.preventDefault(),f.stopPropagation(),Ul(),fa(void 0),a(""),tn(c("model.wizard.aborted"));return}let v=mt();if(v!=="prompt"&&v!=="commands")f.preventDefault(),f.stopPropagation();if(f.ctrl&&f.name==="v"&&mt()==="prompt"){f.preventDefault(),f.stopPropagation(),N();return}if(f.ctrl&&f.name==="l"&&mt()==="prompt"){f.preventDefault(),f.stopPropagation(),Xc("model","");return}if((f.name==="up"||f.name==="down")&&!f.ctrl&&mt()==="prompt"&&!r().includes(`
|
|
853
|
+
`)){let E=Db(M0(),f.name==="up"?"up":"down",F0(),r());if(E)f.preventDefault(),f.stopPropagation(),Jc(E.state),a(E.text);return}if(f.name==="tab"&&!f.shift&&ca()&&!r()&&Ao()){f.preventDefault(),f.stopPropagation(),a(Ao());return}if(f.shift&&f.name==="tab"&&ca()){f.preventDefault(),f.stopPropagation(),N0();return}if(f.ctrl&&f.name==="b"&&mt()==="prompt"&&w0()){f.preventDefault(),f.stopPropagation(),e.session.requestBackground().then((E)=>{kt(E.ok?c("notice.background"):c("notice.backgroundFailed",{error:E.error??c("notice.unknownError")}))});return}if(f.ctrl&&f.name==="c"){if(le()){e.onQuit();return}if(r().length>0){R();return}if(Hc()){e.session.interrupt(),Ct();return}Ct();return}if(le())je(!1);if(yo()){if(f.name==="return"){e.session.updateQueueItem(bo(),r()),wo();return}if(f.name==="escape"){wo();return}if(f.ctrl&&f.name==="up"){f.preventDefault(),f.stopPropagation(),Yc();return}}else if(f.ctrl&&f.name==="up"&&mt()==="prompt"){f.preventDefault(),f.stopPropagation(),Yc();return}switch(mt()){case"auth":{if(it())return;if(jt()==="apikey"){let ne=Ci(Un(),f);if(Qe(ne.value),ne.cancel)Qe(""),ut("choose");else if(ne.submit)z0();return}if(jt()==="browser"){if(f.name==="escape")ka();return}if(f.name==="escape"){ka();return}if(f.name==="up"){qt((ne)=>Math.max(0,ne-1));return}if(f.name==="down"){qt((ne)=>Math.min(_n.length-1,ne+1));return}let E=Number.parseInt(f.name??"",10),K=f.name==="return"?_n[Hn()]:Number.isInteger(E)&&E>=1&&E<=_n.length?_n[E-1]:void 0;if(K)cd(K);return}case"goal":{let E=vr();if(f.name==="escape"){xo(),tn(c("notice.goalCancelled"));return}if(f.ctrl&&f.name==="b"){B0();return}if(f.name==="return"){Kc();return}if(E.step==="intensity"&&(f.name==="up"||f.name==="down")){Ir({...E,fields:{...E.fields,intensity:Cx(E.fields.intensity,f.name==="up"?-1:1)}});return}if(Ui(E.step))Er((K)=>Ci(K,f).value);return}case"diff":{if(f.name==="escape"){ea(!1);return}if(f.name==="up"||f.name==="down"){na(Bc()+(f.name==="up"?-1:1));return}if(f.name==="pageup"||f.name==="pagedown"){let E=Math.max(1,Rc()-1);ta?.scrollBy(f.name==="pageup"?-E:E,"viewport");return}return}case"ask":{let E=gt(),K=Nt(),ke=E[K].options,Le=ke.length,Zn=()=>zn()[K],G=()=>pn()[K]??0;if(f.name==="escape"){rd();return}if(f.name==="up"||f.name==="down"){id(f.name==="up"?-1:1);return}if(f.name==="left"||f.name==="right"){ad(f.name==="left"?-1:1);return}if(f.name==="tab"){ad(f.shift?-1:1);return}if(Zn()!==void 0){let re=Ci(Zn()??"",f);if(!re.submit){if(re.value!==Zn())Vt((ge)=>{let Be=[...ge];return Be[K]=re.value,Be});return}}if(f.name==="space"){if(G()===Le)U0(K);else sd(K,G());return}if(f.name==="return"){ld();return}let Z=Number.parseInt(f.name??"",10);if(Number.isInteger(Z)&&Z>=1&&Z<=ke.length)$n((re)=>{let ge=[...re];return ge[K]=Z-1,ge}),sd(K,Z-1);return}case"theme":{let E=t.names;if(f.name==="escape"||f.name==="return"){L(!1);return}if(f.name==="up"||f.name==="down"){let K=f.name==="up"?-1:1,ne=Rn(S(),K,E.length);b(ne),t.setName(E[ne]);return}return}case"menu":{let E=po();if(f.name==="escape"){if(kn()!==void 0){wr(void 0),Wn(0);return}Sr();return}if(f.name==="up"||f.name==="down"){let K=f.name==="up"?-1:1;Wn((ne)=>Rn(ne,K,E.length));return}if(f.name==="return"){let K=E[Lc()];if(K)Gc(K.id);return}return}case"picker":{let E=C();if(!E)return;let K=E.rows();if(f.name==="escape"){O(void 0);return}if(f.name==="up"||f.name==="down"){let ne=f.name==="up"?-1:1;J((ke)=>Rn(ke,ne,K.length));return}if(f.name==="return"){let ne=K[z()];if(O(void 0),ne)E.onPick(ne.id);return}return}case"permission":{let E=lo(e.session.pendingPermission().request.options);if(f.name==="escape"){let ne=E.find((ke)=>ke.kind.startsWith("reject"));e.session.answerPermission(ne?{outcome:"selected",optionId:ne.optionId}:{outcome:"cancelled"});return}if(f.name==="up"){q((ne)=>Math.max(0,ne-1));return}if(f.name==="down"){q((ne)=>Math.min(E.length-1,ne+1));return}if(f.name==="return"){let ne=E[V()];if(ne)e.session.answerPermission({outcome:"selected",optionId:ne.optionId});return}let K=Number.parseInt(f.name??"",10);if(Number.isInteger(K)&&K>=1&&K<=E.length)e.session.answerPermission({outcome:"selected",optionId:E[K-1].optionId});return}case"cleanup":{let E=f.name?.toLowerCase();if(E==="y")Sc();else if(E==="n"||f.name==="escape")Cc();return}case"archive":{let E=f.name?.toLowerCase();if(E==="y")wc();else if(E==="n"||f.name==="escape")uo(!1);return}case"commands":{if(f.name==="escape"){a("");return}if(f.name==="up"){P((E)=>Math.max(0,E-1));return}if(f.name==="down"){P((E)=>Math.min(en().length-1,E+1));return}if(f.name==="return"){od();return}if(f.name==="tab"){H0();return}return}default:{if(f.name==="escape"){if(Hc())e.session.interrupt();else if(Q())oe(void 0)}return}}}),Wd((f)=>{if(mt()==="auth"&&jt()==="apikey"){Qe((v)=>Zp(v,f.bytes));return}if(mt()==="prompt"&&nk(f.bytes))N()}),(()=>{var f=A("box"),v=A("box"),E=A("box"),K=A("box"),ne=A("box"),ke=A("box"),Le=A("textarea");_(f,v),d(f,"onMouseDown",(G)=>{if(G.button!==dB.RIGHT)return;O0(G)}),_(v,E),d(v,"style",{flexDirection:"row",flexGrow:1,minHeight:0}),_(E,K),d(E,"style",{flexDirection:"column",flexGrow:1,minWidth:0}),p(E,h(F,{get when(){return jn()},get children(){return[(()=>{var G=A("box");return d(G,"style",{flexGrow:1,flexShrink:0,minHeight:0}),G})(),h(lk,{version:gn,get cwd(){return e.cwd},get userName(){return e.session.auth()?.user?.name},get model(){return e.session.model()},get tip(){return gB()},get showBrand(){return sk(Oe().height,Dc())}})]}}),K),p(E,h(F,{get when(){return!jn()},get children(){return[(()=>{var G=A("box"),Z=A("text"),re=A("text"),ge=A("box");return _(G,Z),_(G,re),_(G,ge),d(G,"style",{flexDirection:"row",paddingLeft:1,paddingRight:1,flexShrink:0}),_(Z,ze("Easy Code")),p(re,()=>` ${p0()}`),d(ge,"style",{flexGrow:1}),p(G,h(Rt,{onActivate:()=>uo(!0),children:(Be)=>(()=>{var We=A("text");return d(We,"selectable",!1),p(We,()=>`\xD7 ${c("archive.action")}`),I((Ye)=>d(We,"style",{fg:Be?n.accent:n.textMuted,flexShrink:0},Ye)),We})()}),null),I((Be)=>{var We={fg:n.accent},Ye={fg:n.textMuted};return We!==Be.e&&(Be.e=d(Z,"style",We,Be.e)),Ye!==Be.t&&(Be.t=d(re,"style",Ye,Be.t)),Be},{e:void 0,t:void 0}),G})(),(()=>{var G=A("scrollbox");return d(G,"style",{flexGrow:1,flexShrink:1,minHeight:1,paddingLeft:1,paddingRight:1}),d(G,"stickyScroll",!0),d(G,"stickyStart","bottom"),p(G,h(F,{get when(){return aa().hidden>0},get children(){var Z=A("text");return p(Z,()=>c("transcript.folded",{count:aa().hidden,limit:Qk})),I((re)=>d(Z,"style",{fg:n.textMuted},re)),Z}}),null),p(G,h(ce,{get each(){return k0()},children:(Z)=>h(YA,{block:Z,get userIndex(){return $c().get(Z)},get restorable(){return x0(Z)},onUserMenu:b0})}),null),I((Z)=>d(G,"scrollAcceleration",mx(),Z)),G})()]}}),K),p(E,h(F,{get when(){return Ec()},get children(){return h(gb,{get files(){return Tc()},get cursor(){return Bc()},get patch(){return t0()},get bodyHeight(){return Rc()},get paneWidth(){return m0()-5},onScrollBox:(G)=>ta=G,onSelect:na,onClose:()=>ea(!1)})}}),K),p(E,h(F,{get when(){return en().length>0},get children(){var G=A("box"),Z=A("box");return _(G,Z),d(G,"style",{flexDirection:"column",flexShrink:0,alignItems:"center"}),p(Z,h(ak,{get commands(){return en()},get selected(){return M()},get maxRows(){return Math.max(3,Math.floor(Oe().height/4))},onSelect:(re)=>{P(re),od()},onStep:(re)=>P((ge)=>Math.min(Math.max(0,ge+re),Math.max(0,en().length-1)))})),I((re)=>d(Z,"style",{width:"100%",maxWidth:h0()},re)),G}}),K),p(E,h(F,{get when(){return Q()},children:(G)=>(()=>{var Z=A("box"),re=A("box");return _(Z,re),d(Z,"style",{flexDirection:"column",flexShrink:0,alignItems:"center"}),p(re,h(ux,{get item(){return G()},get columns(){return Math.max(20,(jn()?oa():Oe().width)-4)},get maxRows(){return Math.max(2,Math.floor(Oe().height/4))},get spinner(){return ko()}})),I((ge)=>d(re,"style",{width:"100%",maxWidth:jn()?oa():void 0},ge)),Z})()}),K),_(K,ne),d(K,"style",{flexDirection:"column",flexShrink:0,alignItems:"center",paddingTop:1}),_(ne,ke),p(ne,h(F,{get when(){return la()||Qc().length>0},get children(){var G=A("box"),Z=A("box");return _(G,Z),d(G,"style",{flexDirection:"row",gap:2,flexShrink:0,paddingLeft:3,paddingRight:1}),p(G,h(F,{get when(){return la()},get children(){var re=A("text");return d(re,"selectable",!1),p(re,()=>`${Cl(e.session.status(),pe().compressing,ko(),pe().restoring)} `,null),p(re,h(Cd,{get each(){return I0()},children:(ge)=>(()=>{var Be=A("span");return p(Be,()=>ge().text),I((We)=>d(Be,"style",{fg:ge().fg},We)),Be})()}),null),I((ge)=>d(re,"style",{fg:da(),flexShrink:0},ge)),re}}),Z),d(Z,"style",{flexDirection:"row",flexShrink:0}),p(Z,h(ce,{get each(){return Qc()},children:(re,ge)=>{let Be=()=>re.parts??[{text:re.text,tone:re.tone}],We=()=>ge()===0?"":uc,Ye=(vt,Kn=!1)=>h(ce,{get each(){return Be()},children:(Zt)=>(()=>{var nn=A("text");return d(nn,"selectable",!1),p(nn,()=>Kn?(()=>{var Qn=A("b");return p(Qn,()=>Zt.text),Qn})():Zt.text),I((Qn)=>d(nn,"style",{fg:ot(n,vt,hb(Zt.tone,n)),flexShrink:0},Qn)),nn})()});return(()=>{var vt=A("box"),Kn=A("text");return _(vt,Kn),d(vt,"style",{flexDirection:"row",flexShrink:0}),d(Kn,"selectable",!1),p(Kn,We),p(vt,h(F,{get when(){return re.id==="diff"},get fallback(){return Ye(!1)},get children(){return h(Rt,{onActivate:r0,children:(Zt)=>(()=>{var nn=A("box");return p(nn,()=>Ye(Zt,!0)),I((Qn)=>d(nn,"style",{flexDirection:"row",border:["left","right"],borderColor:Zt?n.primary:n.border,backgroundColor:Zt?void 0:n.backgroundElement},Qn)),nn})()})}}),null),I((Zt)=>d(Kn,"style",{fg:n.textMuted},Zt)),vt})()}})),G}}),ke),p(ne,h(F,{get when(){return e.session.queued().length>0},get children(){var G=A("box");return d(G,"style",{flexDirection:"column",flexShrink:0,paddingLeft:3,marginTop:1}),p(G,h(F,{get when(){return yo()},get children(){var Z=A("text");return d(Z,"selectable",!1),p(Z,()=>c("queue.editing",{index:bo()+1,total:e.session.queued().length})),I((re)=>d(Z,"style",{fg:n.accent},re)),Z}}),null),p(G,h(ce,{get each(){return Eh(e.session.queued())},children:(Z)=>(()=>{var re=A("text");return d(re,"selectable",!1),p(re,()=>`${Z.next?"\u2193":" "} ${Z.text}`),I((ge)=>d(re,"style",{fg:n.textMuted},ge)),re})()}),null),p(G,h(F,{get when(){return!yo()},get children(){var Z=A("text");return d(Z,"selectable",!1),p(Z,()=>c("prompt.editHint")),I((re)=>d(Z,"style",{fg:n.textMuted},re)),Z}}),null),G}}),ke),_(ke,Le);var Zn=i;return typeof Zn==="function"?No(Zn,Le):i=Le,d(Le,"style",{flexGrow:1}),d(Le,"onContentChange",()=>o(i?.plainText??"")),d(Le,"onSubmit",nd),p(E,h(F,{get when(){return jn()},get children(){var G=A("box");return d(G,"style",{flexGrow:1,flexShrink:0,minHeight:0}),G}}),null),p(v,h(F,{get when(){return ia()},get children(){return h(NA,{get title(){return pe().title},get usage(){return pe().usage},get tokens(){return pe().tokens},get cache(){return pe().cache},get credits(){return pe().credits},get allowance(){return e.session.credits()},get quota(){return e.session.quota()},get model(){return Vc()},get mode(){return e.session.mode()},get cwd(){return e.cwd},get branch(){return Yb()},get mr(){return Xt()},onOpenMr:(G)=>void g0(G),onDismissMr:s0,version:gn,get tasks(){return e.session.tasks()},get todos(){return Kb()},get todosExpanded(){return Cr()},get update(){return xc()},get updatePhase(){return mo()},onRunUpdate:()=>void Fc(),get feishu(){return e.session.feishuStatus()},get sessions(){return e.hub?.rows()},onActivateSession:(G)=>e.hub?.activate(G),onNewSession:()=>e.hub?.create(),get terminalHeight(){return Oe().height},get auth(){return e.session.auth()},onAccount:()=>Co("account"),onLogout:()=>Co("logout"),onLogin:()=>Co("login")})}}),null),p(f,h(F,{get when(){return le()},get children(){var G=A("text");return p(G,()=>c("notice.ctrlCAgain")),I((Z)=>d(G,"style",{fg:n.warning,paddingLeft:1,flexShrink:0},Z)),G}}),null),p(f,h(mA,{get transcript(){return pe()},get model(){return Vc()},get thinking(){return e.session.thinking()},get auth(){return e.session.auth()},get authInPanel(){return ia()},get width(){return Oe().width},get modeChip(){return R0()??{text:`${fA(e.session.mode(),ua())} (shift+tab)`,color:ua()?n.success:e.session.mode()==="yolo"?n.warning:n.textMuted}}}),null),p(f,h(F,{get when(){return vr()},children:(G)=>h(_t,{get children(){return h(xb,{get state(){return G()},get draft(){return Wc()},onNext:Kc,onCancel:()=>{xo(),tn(c("notice.goalCancelled"))}})}})}),null),p(f,h(F,{get when(){return Zc()},children:(G)=>h(_t,{get children(){return h(Hk,{get view(){return G()},get draft(){return r()},onNext:L0,onCancel:$0})}})}),null),p(f,h(F,{get when(){return Ot()},get children(){return h(_t,{get children(){return h(Qp,{get stage(){return jt()},get selected(){return Hn()},get secret(){return Un()},get status(){return e.session.auth()},get browser(){return fe()},get busy(){return it()},get error(){return B()},get required(){return An()},onChoose:(G)=>{qt(G),cd(_n[G])},onEscape:ka})}})}}),null),p(f,h(F,{get when(){return ue(()=>!Ot())()&>()},children:(G)=>h(_t,{get children(){return h(Hp,{get questions(){return G()},get activeQuestion(){return Nt()},get cursors(){return pn()},get selections(){return ee()},get others(){return zn()},onOther:(Z)=>{Dt(Z),$n((re)=>{let ge=[...re];return ge[Z]=G()[Z]?.options.length??0,ge}),Vt((re)=>{let ge=[...re];if(ge[Z]===void 0)ge[Z]="";return ge})},onStep:(Z)=>id(Z),onSubmit:ld,onPick:(Z,re)=>{let ge=G()[Z];if(!ge)return;Dt(Z),Gn((Be)=>{let We=Be.map((vt)=>new Set(vt)),Ye=We[Z]??new Set;if(!ge.multiSelect)Ye.clear(),Ye.add(re);else if(Ye.has(re))Ye.delete(re);else Ye.add(re);return We[Z]=Ye,We})},onEscape:rd})}})}),null),p(f,h(F,{get when(){return ue(()=>!Ot()&&!gt())()&&e.session.pendingPermission()},children:(G)=>h(_t,{get children(){return h(Kk,{get pending(){return G()},get selected(){return V()},onAnswer:(Z)=>e.session.answerPermission(Z),onConfirm:()=>{let Z=lo(G().request.options)[V()];if(Z)e.session.answerPermission({outcome:"selected",optionId:Z.optionId})},onReject:()=>{let re=lo(G().request.options).find((ge)=>ge.kind.startsWith("reject"));e.session.answerPermission(re?{outcome:"selected",optionId:re.optionId}:{outcome:"cancelled"})}})}})}),null),p(f,h(F,{get when(){return ho()!==void 0},get children(){return h(_t,{get children(){return h(Wl,{get title(){return ue(()=>kn()!==void 0)()?c("menu.confirm.title"):c("menu.confirm.subject")},get subtitle(){return ue(()=>kn()!==void 0)()?c("menu.confirm.warning"):void 0},get rows(){return po()},get selected(){return Lc()},onStep:(G)=>Wn((Z)=>Rn(Z,G,po().length)),onPick:(G)=>{let Z=po()[G];if(Z)Gc(Z.id)},onClose:()=>{if(kn()!==void 0){wr(void 0),Wn(0);return}Sr()}})}})}}),null),p(f,h(F,{get when(){return C()},children:(G)=>h(_t,{get children(){return h(Wl,{get title(){return G().title},get icon(){return G().icon},get subtitle(){return G().subtitle},get rows(){return G().rows()},get selected(){return z()},get empty(){return G().empty},onStep:(Z)=>J((re)=>Rn(re,Z,G().rows().length)),onPick:(Z)=>{let re=G().rows()[Z],ge=G();if(O(void 0),re)ge.onPick(re.id)},onClose:()=>O(void 0)})}})}),null),p(f,h(F,{get when(){return w()},get children(){return h(_t,{get children(){return h(ox,{get names(){return t.names},get selected(){return S()},onStep:(G)=>{let Z=Rn(S(),G,t.names.length);b(Z),t.setName(t.names[Z])},onPick:(G)=>{t.setName(t.names[G]),L(!1)},onClose:()=>L(!1)})}})}}),null),p(f,h(F,{get when(){return ue(()=>!!(yc()&&!Ot()&&!gt()))()&&!e.session.pendingPermission()},get children(){return h(_t,{get children(){return h(Pb,{onConfirm:wc,onCancel:()=>uo(!1)})}})}}),null),p(f,h(F,{get when(){return ue(()=>!Ot()&&!gt()&&!e.session.pendingPermission())()&&bc()},children:(G)=>h(_t,{get children(){return h(_b,{get offer(){return G()},onClean:()=>void Sc(),onSkip:Cc})}})}),null),p(f,h(px,{get message(){return Ln()}}),null),I((G)=>{var Z={flexDirection:"column",width:"100%",height:"100%",backgroundColor:n.background},re={flexDirection:"column",flexShrink:0,width:"100%",maxWidth:jn()?oa():void 0},ge={flexDirection:"row",flexShrink:0,width:"100%",height:Zb()+2,border:["left"],borderColor:C0(),backgroundColor:n.backgroundElement,paddingLeft:2,paddingRight:2,paddingTop:1,paddingBottom:1},Be=mt()==="prompt"||mt()==="commands",We=Ao()?`${Ao()}${c("prompt.suggestionHint")}`:c("prompt.placeholder"),Ye=[...ix],vt=g();return Z!==G.e&&(G.e=d(f,"style",Z,G.e)),re!==G.t&&(G.t=d(ne,"style",re,G.t)),ge!==G.a&&(G.a=d(ke,"style",ge,G.a)),Be!==G.o&&(G.o=d(Le,"focused",Be,G.o)),We!==G.i&&(G.i=d(Le,"placeholder",We,G.i)),Ye!==G.n&&(G.n=d(Le,"keyBindings",Ye,G.n)),vt!==G.s&&(G.s=d(Le,"syntaxStyle",vt,G.s)),G},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),f})()}function jb(e){let t=[`Easy Code v${e.version}`];if(e.title)t.push("",` ${"Session".padEnd(10," ")}${e.title}`);return t.join(`
|
|
854
|
+
`)}var pB=/[\u0000-\u001F\u007F]/g;function AB(e,t=process.env){return(t.CLI_TITLE||`\uD83D\uDE80 Easy Code - ${e}`).replace(pB,"")}function Wb(e,t,n,r=process.env){let o=e?`\uD83D\uDE80 ${e} - Easy Code - ${t}`:AB(t,r);return n(o),o}function yB(e,t){let n={cwd:t,debug:!1};for(let r=0;r<e.length;r++){let o=e[r];if(o==="--debug")n.debug=!0;else if(o==="--model"&&e[r+1])n.model=e[++r];else if(o==="--resume"&&e[r+1])n.resumeSessionId=e[++r];else if(o==="--cwd"&&e[r+1])n.cwd=Ac.resolve(e[++r])}return n}function wB(e,t){let n=kB.createWriteStream(t,{flags:"a"}),r=(o)=>n.write(`${new Date().toISOString()} ${o}
|
|
855
855
|
`);return r(`--- easycode-tui started (pid ${Xe.pid}) ---`),r(`[term] isTTY=${Xe.stdout.isTTY} size=${Xe.stdout.columns}x${Xe.stdout.rows} stdinTTY=${Xe.stdin.isTTY} TERM=${Xe.env.TERM??"-"} TERM_PROGRAM=${Xe.env.TERM_PROGRAM??"-"} WT_SESSION=${Xe.env.WT_SESSION?"yes":"no"} runtime=${Xe.versions.bun?`bun ${Xe.versions.bun}`:`node ${Xe.versions.node}`}`),{...e,log(o){e.log(o);for(let i of o.split(`
|
|
856
|
-
`))if(i.trim())r(i.trimEnd())},setStatus(o){e.setStatus(o),r(`[status] ${o}`)},emit(o){if(e.emit(o),o.kind==="error")r(`[error] ${o.message}`)}}}var
|
|
857
|
-
`+"=".repeat(60)),console.error(c("update.forced.title")),console.error("=".repeat(60)),console.error(c("update.version.line",{current:
|
|
858
|
-
${c("update.auto.exec.start")}`),(await
|
|
856
|
+
`))if(i.trim())r(i.trimEnd())},setStatus(o){e.setStatus(o),r(`[status] ${o}`)},emit(o){if(e.emit(o),o.kind==="error")r(`[error] ${o.message}`)}}}var SB=1e4;async function CB(e=Xe.argv.slice(2)){Fs();let t=yB(e,Xe.cwd());await Jh({check:()=>wi({currentVersion:gn}),applyForcedUpdate:async(y)=>{if(console.error(`
|
|
857
|
+
`+"=".repeat(60)),console.error(c("update.forced.title")),console.error("=".repeat(60)),console.error(c("update.version.line",{current:gn,latest:y.latestVersion})),console.error(c("update.command.line",{command:y.updateCommand})),console.error("=".repeat(60)),console.error(`
|
|
858
|
+
${c("update.auto.exec.start")}`),(await Si(y.updateCommand,{stdio:"inherit"})).ok)console.error(`
|
|
859
859
|
${c("update.success.restart")}`),Xe.exit(0);console.error(`
|
|
860
|
-
${c("update.manual.then.rerun")}`),Xe.exit(1)}});let n=
|
|
861
|
-
`),Xe.exit(0)})},l=
|
|
860
|
+
${c("update.manual.then.rerun")}`),Xe.exit(1)}});let n=Ac.join(xB.tmpdir(),"easycode-tui-debug.log"),r=(y)=>{let R=Dh({auth:uh(),ensureStarted:()=>L()}),N=t.debug?wB(R.callbacks,n):R.callbacks,M=new Hs(t.cwd,{...N,restarted:(S)=>R.setHandshake({models:S.availableModels,modes:S.availableModes,model:S.model,mode:S.mode,thinking:S.thinking})});if(R.attach(M),y)Yh(y,t.cwd).then((S)=>R.seedTranscript(S)),Qh(y,t.cwd).then((S)=>{if(S!==void 0)R.seedUsage(S)});let P=!1,w;function L(){if(P)return w??Promise.resolve();return P=!0,w=M.start(y,t.model).then((S)=>{R.setHandshake({models:S.availableModels,modes:S.availableModes,model:S.model,mode:S.mode,thinking:S.thinking})}).catch((S)=>{R.callbacks.emit({kind:"error",message:S instanceof Error?S.message:String(S)})}),w}if(y)L();return{session:R,bridge:M,id:()=>y??M.sessionId,close:()=>M.dispose()}},o=jh({cwd:t.cwd,open:r,load:()=>Hh(),save:(y)=>Uh(y)});if(t.resumeSessionId)o.resume(t.resumeSessionId);else o.create();let i=()=>o.active(),a=!1,s=()=>{if(a)return;a=!0,clearInterval(k),o.dispose().finally(()=>{if(u.setTerminalTitle(""),!u.isDestroyed)u.destroy();Xe.stdout.write(`${jb({version:gn,title:i().transcript().title})}
|
|
861
|
+
`),Xe.exit(0)})},l=hi(t.cwd),u=await bB({useMouse:!0,exitOnCtrlC:!1}),g=Ac.basename(t.cwd),m=()=>Wb(i().transcript().title,g,(y)=>u.setTerminalTitle(y));m();let k=setInterval(m,SB);await Yd(()=>h(Ub,{get session(){return i()},hub:o,get cwd(){return t.cwd},onQuit:s,branch:l}),u)}if(import.meta.main)CB();export{CB as main,yB as parseArgs};
|