easycode-ai 1.1.72 → 1.1.73
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 +4 -4
- package/bundle/easycode-tui.js +49 -49
- package/bundle/easycode.js +4 -4
- package/package.json +1 -1
package/bundle/easycode-tui.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var zt=(e,t,n)=>()=>{if(e)try{t=e(e=0)}catch(r){n=[r]}if(n)throw n[0];return t};import*as mo from"fs";import*as et from"path";function
|
|
2
|
+
var zt=(e,t,n)=>()=>{if(e)try{t=e(e=0)}catch(r){n=[r]}if(n)throw n[0];return t};import*as mo from"fs";import*as et from"path";function Lb(){if(typeof globalThis.__dirname==="string")return globalThis.__dirname;return""}var gr,Ob,$b,Zt;var ha=zt(()=>{gr=Lb(),Ob={titleI18nKey:"auth.feishu.success.title",documentTitle:"Feishu Authentication Successful",heading:"Feishu Login Successful",displayName:"Feishu"},$b={titleI18nKey:"auth.deepvlab.success.title",documentTitle:"DeepVlab Authentication Successful",heading:"DeepVlab Login Successful",displayName:"DeepVlab"};Zt=class Zt{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(Ob)}static getDeepvlabSuccessPage(){return this.generateSuccessTemplate($b)}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(et.join(this.customBasePath,"dist","bundled","auth","login","templates",e)),t.push(et.join(this.customBasePath,"bundled","auth","login","templates",e)),t.push(et.join(this.customBasePath,"auth","login","templates",e));if(gr)t.push(et.join(gr,e));if(gr){let o=gr;for(let i=0;i<10;i++)t.push(et.join(o,"bundled","auth","login","templates",e)),t.push(et.join(o,"bundled",e)),t.push(et.join(o,"bundle","login","templates",e)),t.push(et.join(o,"auth","login","templates",e)),o=et.dirname(o)}if(typeof process<"u"&&process.cwd)try{let o=process.cwd();t.push(et.join(o,"bundle","login","templates",e)),t.push(et.join(o,"dist","bundled","auth","login","templates",e)),t.push(et.join(o,"bundled","auth","login","templates",e)),t.push(et.join(o,"auth","login","templates",e))}catch{}let n=null;for(let o of t)try{if(mo.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: ${gr||"(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=mo.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,10 +640,10 @@ var zt=(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 zb(){return[{url:process.env.DEEPX_SERVER_URL||"https://api-code.deepvlab.ai",name:"Primary Development Server",region:"default",status:"active"}]}function pa(){let t=zb().find((n)=>n.status==="active");if(!t)throw Error("No active proxy server available. Please contact support.");return t.url}var m2;var Bg=zt(()=>{m2={serverUrl:pa(),timeout:200000,retryAttempts:3,retryDelay:1000}});import{randomUUID as Hb}from"crypto";function po(){if(!Aa)Aa=Hb();return Aa}var Aa,k2;var Tg=zt(()=>{k2=po()});function Ve(e){let t=e??process.env.CLI_VERSION??"unknown",n=process.platform,r=process.arch;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 he from"fs";import*as xt from"path";import*as rn from"os";class gt{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 Ve(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=xt.join(rn.homedir(),".easycode-user","user-info-dev.json"),this.jwtTokenFilePath=xt.join(rn.homedir(),".easycode-user","jwt-token-dev.json"),this.usageStatsFilePath=xt.join(rn.homedir(),".easycode-user","usage-stats-dev.json");else this.userInfoFilePath=xt.join(rn.homedir(),".easycode-user","user-info.json"),this.jwtTokenFilePath=xt.join(rn.homedir(),".easycode-user","jwt-token.json"),this.usageStatsFilePath=xt.join(rn.homedir(),".easycode-user","usage-stats.json");this.cliVersion=process.env.CLI_VERSION||"unknown",this.config={proxyServerUrl:pa()},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}if(this.jwtTokenData){let t=Date.now(),n=this.jwtTokenData.expiresAt-t,r=this.formatTimeRemaining(n),o=this.formatAbsoluteTime(this.jwtTokenData.expiresAt),i=this.formatAbsoluteTime(this.jwtTokenData.expiresAt-Ao*1000);console.log(`[Login Check] \uD83D\uDCCA Periodic status check - Credential remaining: ${r} (until ${o}), next renewal: ${i}`)}}static getInstance(){if(!gt.instance)gt.instance=new gt;return gt.instance}chmodOwnerOnly(e){if(process.platform==="win32")return;try{he.chmodSync(e,384)}catch(t){console.warn("[Login Check] Failed to chmod credential file:",t)}}loadUserInfo(){try{if(he.existsSync(this.userInfoFilePath)){this.chmodOwnerOnly(this.userInfoFilePath);let e=he.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=xt.dirname(this.userInfoFilePath);if(!he.existsSync(e))he.mkdirSync(e,{recursive:!0,mode:448});he.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(he.existsSync(this.jwtTokenFilePath)){this.chmodOwnerOnly(this.jwtTokenFilePath);let e=he.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=xt.dirname(this.jwtTokenFilePath);if(!he.existsSync(e))he.mkdirSync(e,{recursive:!0,mode:448});he.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(he.existsSync(this.usageStatsFilePath)){let e=he.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=xt.dirname(this.usageStatsFilePath);if(!he.existsSync(e))he.mkdirSync(e,{recursive:!0,mode:448});he.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-Ao*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=Ao){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-Ao*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(he.existsSync(this.jwtTokenFilePath))he.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":po()};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":po()};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(he.existsSync(this.userInfoFilePath))he.unlinkSync(this.userInfoFilePath)}catch(e){console.warn("[Login Check] Failed to delete user info file:",e)}try{if(he.existsSync(this.jwtTokenFilePath))he.unlinkSync(this.jwtTokenFilePath)}catch(e){console.warn("[Login Check] Failed to delete access credential file:",e)}console.log("[Login Check] Authentication cleared")}}var Ao=259200,C2;var xa=zt(()=>{Bg();Tg();C2=gt.getInstance()});class Eg{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 ba(e){let n={authUrl:"https://accounts.deepvlab.ai/login",redirectUri:`http://localhost:${e||7863}/callback?plat=deepvlab`};return new Eg(n)}class on{static instance;cachedConfig=null;cacheExpiry=null;getServerBaseUrl(){return process.env.DEEPX_SERVER_URL||"https://api-code.deepvlab.ai"}constructor(){}static getInstance(){if(!on.instance)on.instance=new on;return on.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":Ve()},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 _g(){return on.getInstance().getFeishuConfig()}async function Rg(){return on.getInstance().getFeishuTenants()}var Pg=()=>{};function ct(e){if(e instanceof Error)return e.message;try{return String(e)}catch{return"Failed to get error details"}}var Fg=()=>{};var bt=".easycode-user",Dg=".easycode";var ko=()=>{};import*as fr from"http";import{URL as xo}from"url";import*as Mg from"crypto";class Ng{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=fr.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 xo(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=fr.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 xo(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=fr.createServer(async(r,o)=>{if(!r.url){this.sendErrorResponse(o,"Invalid request");return}let i=new xo(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=fr.createServer(async(o,i)=>{if(!o.url){this.sendErrorResponse(i,"Invalid request");return}let a=new xo(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=Zt.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":Ve()}})}catch(a){throw console.error("\u274C [Auth Server] \u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25:",ct(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:",ct(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 Rg();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 _g()).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 Mg.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:ba(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 h={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(h));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":Ve()},body:JSON.stringify({email:r,password:o,clientInfo:{platform:process.platform,version:process.version,timestamp:Date.now(),userAgent:Ve()}})})}catch(h){console.error("\u274C [Auth Server] \u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25:",ct(h));let g={success:!1,message:this.formatNetworkError(h,"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 h=await a.text();console.error("\u274C [Auth Server] \u730E\u8C79OA\u9A8C\u8BC1\u5931\u8D25:",a.status,h);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(h){console.error("\u274C [Auth Server] \u54CD\u5E94\u89E3\u6790\u5931\u8D25:",ct(h));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=gt.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~/${bt}/`);if(s.user){let h={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(h),console.log(`\u2705 [Auth Server] \u7528\u6237\u4FE1\u606F\u5DF2\u4FDD\u5B58\u5230~/${bt}/: ${h.name} (${h.email||h.openId||"N/A"})`)}let d={success:!0,message:"\u767B\u5F55\u6210\u529F"};t.writeHead(200,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),t.end(JSON.stringify(d)),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":Ve()},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:",ct(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":Ve()},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:",ct(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=gt.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~/${bt}/`);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~/${bt}/: ${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=ba(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":Ve()},body:JSON.stringify({plat:"deepvlab",token:r.token,user_id:r.user_id,clientInfo:{platform:process.platform,version:process.version,timestamp:Date.now(),userAgent:Ve()}})})}catch(d){console.error("\u274C [Auth Server] \u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25:",ct(d)),this.sendErrorResponse(t,this.formatNetworkError(d,"Connecting to authentication server"));return}if(!a.ok){let d=await a.text();console.error("\u274C [Auth Server] JWT\u4EA4\u6362\u5931\u8D25:",a.status,d),this.sendErrorResponse(t,`Authentication failed (HTTP ${a.status}). Please try again later.`);return}let s;try{s=await a.json()}catch(d){console.error("\u274C [Auth Server] JWT\u54CD\u5E94\u89E3\u6790\u5931\u8D25:",ct(d)),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=gt.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~/${bt}/`);if(s.user){let d={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(d),console.log(`\u2705 [Auth Server] \u7528\u6237\u4FE1\u606F\u5DF2\u4FDD\u5B58\u5230~/${bt}/: ${d.name} (${d.email||d.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":Ve()},body:JSON.stringify({code:n,redirect_uri:`http://localhost:${this.actualCallbackPort}/callback`,app_id:i})})}catch(b){throw console.error("\u274C [Auth Server] \u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25:",ct(b)),Error(this.formatNetworkError(b,"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(b){throw console.error("\u274C [Auth Server] \u54CD\u5E94\u89E3\u6790\u5931\u8D25:",ct(b)),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 d=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 h;try{h=await fetch(`${a}/auth/jwt/feishu-login`,{method:"POST",headers:{"Content-Type":"application/json","User-Agent":Ve()},body:JSON.stringify({feishuAccessToken:d,clientInfo:{platform:process.platform,version:process.version,timestamp:Date.now(),userAgent:Ve()}})})}catch(b){console.error("\u274C [Auth Server] \u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25:",ct(b)),this.sendErrorResponse(t,this.formatNetworkError(b,"Connecting to authentication server"));return}if(!h.ok){let b=await h.text();console.error("\u274C [Auth Server] JWT\u4EA4\u6362\u5931\u8D25:",h.status,b),this.sendErrorResponse(t,`Authentication failed (HTTP ${h.status}). Please try again later.`);return}let g;try{g=await h.json()}catch(b){console.error("\u274C [Auth Server] JWT\u54CD\u5E94\u89E3\u6790\u5931\u8D25:",ct(b)),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 x=gt.getInstance();if(g.accessToken)x.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~/${bt}/`);if(g.user){let b={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};x.setUserInfo(b),console.log(`\u2705 [Auth Server] \u7528\u6237\u4FE1\u606F\u5DF2\u4FDD\u5B58\u5230~/${bt}/: ${b.name} (${b.email||b.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=Zt.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=Zt.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=Zt.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 Lg=zt(()=>{Pg();xa();ma();Fg();ko()});import{CliRenderer as EA,createCliRenderer as _A,engine as RA}from"@opentui/core";import{createTestRenderer as oC}from"@opentui/core/testing";import{ASCIIFontRenderable as PA,BoxRenderable as FA,CodeRenderable as DA,DiffRenderable as MA,ImageRenderable as NA,InputRenderable as LA,LineNumberRenderable as OA,MarkdownRenderable as $A,ScrollBoxRenderable as GA,SelectRenderable as zA,TabSelectRenderable as HA,TextareaRenderable as jA,TextAttributes as ai,TextNodeRenderable as ZA,TextRenderable as WA}from"@opentui/core";import{engine as sC,Timeline as lC}from"@opentui/core";var He={context:void 0,registry:void 0,effects:void 0,done:!1,getContextId(){return Hs(this.context.count)},getNextContextId(){return Hs(this.context.count++)}};function Hs(e){let t=String(e),n=t.length-1;return He.context.id+(n?String.fromCharCode(96+n):"")+t}function Vo(e){He.context=e}function rA(){return{...He.context,id:He.getNextContextId(),count:0}}var oA=!1,iA=(e,t)=>e===t,qo=Symbol("solid-proxy"),aA=typeof Proxy==="function",sA=Symbol("solid-track"),z1=Symbol("solid-dev-component"),Nr={equals:iA},js=null,Ks=el,ut=1,Yn=2,Ys={owned:null,cleanups:null,context:null,owner:null};var ue=null,j=null,Vn=null,hn=null,ke=null,De=null,Qe=null,Or=0;function Kn(e,t){let n=ke,r=ue,o=e.length===0,i=t===void 0?r:t,a=o?Ys:{owned:null,cleanups:null,context:i?i.context:null,owner:i},s=o?e:()=>e(()=>rt(()=>Ht(a)));ue=a,ke=null;try{return vt(s,!0)}finally{ke=n,ue=r}}function Z(e,t){t=t?Object.assign({},Nr,t):Nr;let n={value:e,observers:null,observerSlots:null,comparator:t.equals||void 0},r=(o)=>{if(typeof o==="function")if(j&&j.running&&j.sources.has(n))o=o(n.tValue);else o=o(n.value);return Xs(n,o)};return[qs.bind(n),r]}function It(e,t,n){let r=ti(e,t,!1,ut);if(Vn&&j&&j.running)De.push(r);else qn(r)}function At(e,t,n){Ks=gA;let r=ti(e,t,!1,ut),o=Xo&&qt(Xo);if(o)r.suspense=o;if(!n||!n.render)r.user=!0;Qe?Qe.push(r):qn(r)}function $e(e,t,n){n=n?Object.assign({},Nr,n):Nr;let r=ti(e,t,!0,0);if(r.observers=null,r.observerSlots=null,r.comparator=n.equals||void 0,Vn&&j&&j.running)r.tState=ut,De.push(r);else qn(r);return qs.bind(r)}function Js(e){return vt(e,!1)}function rt(e){if(!hn&&ke===null)return e();let t=ke;ke=null;try{if(hn)return hn.untrack(e);return e()}finally{ke=t}}function Vs(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 d=0;d<e.length;d++)s[d]=e[d]()}else s=e();if(i)return i=!1,a;let l=rt(()=>t(s,o,a));return o=s,l}}function Bt(e){At(()=>rt(e))}function Ke(e){if(ue===null);else if(ue.cleanups===null)ue.cleanups=[e];else ue.cleanups.push(e);return e}function lA(e){if(j&&j.running)return e(),j.done;let t=ke,n=ue;return Promise.resolve().then(()=>{ke=t,ue=n;let r;if(Vn||Xo)r=j||(j={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 vt(e,!1),ke=ue=null,r?r.done:void 0})}var[H1,Zs]=Z(!1);function $r(e,t){let n=Symbol("context");return{id:n,Provider:hA(n),defaultValue:e}}function qt(e){let t;return ue&&ue.context&&(t=ue.context[e.id])!==void 0?t:e.defaultValue}function cA(e){let t=$e(e),n=$e(()=>ei(t()));return n.toArray=()=>{let r=n();return Array.isArray(r)?r:r!=null?[r]:[]},n}var Xo;function qs(){let e=j&&j.running;if(this.sources&&(e?this.tState:this.state))if((e?this.tState:this.state)===ut)qn(this);else{let t=De;De=null,vt(()=>Lr(this),!1),De=t}if(ke){let t=this.observers?this.observers.length:0;if(!ke.sources)ke.sources=[this],ke.sourceSlots=[t];else ke.sources.push(this),ke.sourceSlots.push(t);if(!this.observers)this.observers=[ke],this.observerSlots=[ke.sources.length-1];else this.observers.push(ke),this.observerSlots.push(ke.sources.length-1)}if(e&&j.sources.has(this))return this.tValue;return this.value}function Xs(e,t,n){let r=j&&j.running&&j.sources.has(e)?e.tValue:e.value;if(!e.comparator||!e.comparator(r,t)){if(j){let o=j.running;if(o||!n&&j.sources.has(e))j.sources.add(e),e.tValue=t;if(!o)e.value=t}else e.value=t;if(e.observers&&e.observers.length)vt(()=>{for(let o=0;o<e.observers.length;o+=1){let i=e.observers[o],a=j&&j.running;if(a&&j.disposed.has(i))continue;if(a?!i.tState:!i.state){if(i.pure)De.push(i);else Qe.push(i);if(i.observers)tl(i)}if(!a)i.state=ut;else i.tState=ut}if(De.length>1e6)throw De=[],Error()},!1)}return t}function qn(e){if(!e.fn)return;Ht(e);let t=Or;if(Ws(e,j&&j.running&&j.sources.has(e)?e.tValue:e.value,t),j&&!j.running&&j.sources.has(e))queueMicrotask(()=>{vt(()=>{j&&(j.running=!0),ke=ue=e,Ws(e,e.tValue,t),ke=ue=null},!1)})}function Ws(e,t,n){let r,o=ue,i=ke;ke=ue=e;try{r=e.fn(t)}catch(a){if(e.pure)if(j&&j.running)e.tState=ut,e.tOwned&&e.tOwned.forEach(Ht),e.tOwned=void 0;else e.state=ut,e.owned&&e.owned.forEach(Ht),e.owned=null;return e.updatedAt=n+1,ni(a)}finally{ke=i,ue=o}if(!e.updatedAt||e.updatedAt<=n){if(e.updatedAt!=null&&"observers"in e)Xs(e,r,!0);else if(j&&j.running&&e.pure){if(!j.sources.has(e))e.value=r;j.sources.add(e),e.tValue=r}else e.value=r;e.updatedAt=n}}function ti(e,t,n,r=ut,o){let i={fn:e,state:r,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:t,owner:ue,context:ue?ue.context:null,pure:n};if(j&&j.running)i.state=0,i.tState=r;if(ue===null);else if(ue!==Ys)if(j&&j.running&&ue.pure)if(!ue.tOwned)ue.tOwned=[i];else ue.tOwned.push(i);else if(!ue.owned)ue.owned=[i];else ue.owned.push(i);if(hn&&i.fn){let a=i.fn,[s,l]=Z(void 0,{equals:!1}),d=hn.factory(a,l);Ke(()=>d.dispose());let h,g=()=>lA(l).then(()=>{if(h)h.dispose(),h=void 0});i.fn=(x)=>{if(s(),j&&j.running){if(!h)h=hn.factory(a,g);return h.track(x)}return d.track(x)}}return i}function Jn(e){let t=j&&j.running;if((t?e.tState:e.state)===0)return;if((t?e.tState:e.state)===Yn)return Lr(e);if(e.suspense&&rt(e.suspense.inFallback))return e.suspense.effects.push(e);let n=[e];while((e=e.owner)&&(!e.updatedAt||e.updatedAt<Or)){if(t&&j.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(j.disposed.has(o))return}if((t?e.tState:e.state)===ut)qn(e);else if((t?e.tState:e.state)===Yn){let o=De;De=null,vt(()=>Lr(e,n[0]),!1),De=o}}}function vt(e,t){if(De)return e();let n=!1;if(!t)De=[];if(Qe)n=!0;else Qe=[];Or++;try{let r=e();return dA(n),r}catch(r){if(!n)Qe=null;De=null,ni(r)}}function dA(e){if(De){if(Vn&&j&&j.running)uA(De);else el(De);De=null}if(e)return;let t;if(j){if(!j.promises.size&&!j.queue.size){let r=j.sources,o=j.disposed;Qe.push.apply(Qe,j.effects),t=j.resolve;for(let i of Qe)"tState"in i&&(i.state=i.tState),delete i.tState;j=null,vt(()=>{for(let i of o)Ht(i);for(let i of r){if(i.value=i.tValue,i.owned)for(let a=0,s=i.owned.length;a<s;a++)Ht(i.owned[a]);if(i.tOwned)i.owned=i.tOwned;delete i.tValue,delete i.tOwned,i.tState=0}Zs(!1)},!1)}else if(j.running){j.running=!1,j.effects.push.apply(j.effects,Qe),Qe=null,Zs(!0);return}}let n=Qe;if(Qe=null,n.length)vt(()=>Ks(n),!1);if(t)t()}function el(e){for(let t=0;t<e.length;t++)Jn(e[t])}function uA(e){for(let t=0;t<e.length;t++){let n=e[t],r=j.queue;if(!r.has(n))r.add(n),Vn(()=>{r.delete(n),vt(()=>{j.running=!0,Jn(n)},!1),j&&(j.running=!1)})}}function gA(e){let t,n=0;for(t=0;t<e.length;t++){let r=e[t];if(!r.user)Jn(r);else e[n++]=r}if(He.context){if(He.count){He.effects||(He.effects=[]),He.effects.push(...e.slice(0,n));return}Vo()}if(He.effects&&(He.done||!He.count))e=[...He.effects,...e],n+=He.effects.length,delete He.effects;for(t=0;t<n;t++)Jn(e[t])}function Lr(e,t){let n=j&&j.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===ut){if(o!==t&&(!o.updatedAt||o.updatedAt<Or))Jn(o)}else if(i===Yn)Lr(o,t)}}}function tl(e){let t=j&&j.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=Yn;else r.state=Yn;if(r.pure)De.push(r);else Qe.push(r);r.observers&&tl(r)}}}function Ht(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--)Ht(e.tOwned[t]);delete e.tOwned}if(j&&j.running&&e.pure)nl(e,!0);else if(e.owned){for(t=e.owned.length-1;t>=0;t--)Ht(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(j&&j.running)e.tState=0;else e.state=0}function nl(e,t){if(!t)e.tState=0,j.disposed.add(e);if(e.owned)for(let n=0;n<e.owned.length;n++)nl(e.owned[n])}function fA(e){if(e instanceof Error)return e;return Error(typeof e==="string"?e:"Unknown error",{cause:e})}function Us(e,t,n){try{for(let r of t)r(e)}catch(r){ni(r,n&&n.owner||null)}}function ni(e,t=ue){let n=js&&t&&t.context&&t.context[js],r=fA(e);if(!n)throw r;if(Qe)Qe.push({fn(){Us(r,n,t)},state:ut});else Us(r,n,t)}function ei(e){if(typeof e==="function"&&!e.length)return ei(e());if(Array.isArray(e)){let t=[];for(let n=0;n<e.length;n++){let r=ei(e[n]);Array.isArray(r)?t.push.apply(t,r):t.push(r)}return t}return e}function hA(e,t){return function(r){let o;return It(()=>o=rt(()=>(ue.context={...ue.context,[e]:r.value},cA(()=>r.children))),void 0),o}}var mA=Symbol("fallback");function Qs(e){for(let t=0;t<e.length;t++)e[t]()}function pA(e,t,n={}){let r=[],o=[],i=[],a=0,s=t.length>1?[]:null;return Ke(()=>Qs(i)),()=>{let l=e()||[],d=l.length,h,g;return l[sA],rt(()=>{let b,I,P,Y,U,T,H,C,E;if(d===0){if(a!==0)Qs(i),i=[],r=[],o=[],a=0,s&&(s=[]);if(n.fallback)r=[mA],o[0]=Kn((B)=>(i[0]=B,n.fallback())),a=1}else if(a===0){o=Array(d);for(g=0;g<d;g++)r[g]=l[g],o[g]=Kn(x);a=d}else{P=Array(d),Y=Array(d),s&&(U=Array(d));for(T=0,H=Math.min(a,d);T<H&&r[T]===l[T];T++);for(H=a-1,C=d-1;H>=T&&C>=T&&r[H]===l[C];H--,C--)P[C]=o[H],Y[C]=i[H],s&&(U[C]=s[H]);b=new Map,I=Array(C+1);for(g=C;g>=T;g--)E=l[g],h=b.get(E),I[g]=h===void 0?-1:h,b.set(E,g);for(h=T;h<=H;h++)if(E=r[h],g=b.get(E),g!==void 0&&g!==-1)P[g]=o[h],Y[g]=i[h],s&&(U[g]=s[h]),g=I[g],b.set(E,g);else i[h]();for(g=T;g<d;g++)if(g in P){if(o[g]=P[g],i[g]=Y[g],s)s[g]=U[g],s[g](g)}else o[g]=Kn(x);o=o.slice(0,a=d),r=l.slice(0)}return o});function x(b){if(i[g]=b,s){let[I,P]=Z(g);return s[g]=P,t(l[g],I)}return t(l[g])}}}var AA=!1;function rl(e,t){if(AA){if(He.context){let n=He.context;Vo(rA());let r=rt(()=>e(t||{}));return Vo(n),r}}return rt(()=>e(t||{}))}function Mr(){return!0}var kA={get(e,t,n){if(t===qo)return n;return e.get(t)},has(e,t){if(t===qo)return!0;return e.has(t)},set:Mr,deleteProperty:Mr,getOwnPropertyDescriptor(e,t){return{configurable:!0,enumerable:!0,get(){return e.get(t)},set:Mr,deleteProperty:Mr}},ownKeys(e){return e.keys()}};function Jo(e){return!(e=typeof e==="function"?e():e)?{}:e}function xA(){for(let e=0,t=this.length;e<t;++e){let n=this[e]();if(n!==void 0)return n}}function Gr(...e){let t=!1;for(let a=0;a<e.length;a++){let s=e[a];t=t||!!s&&qo in s,e[a]=typeof s==="function"?(t=!0,$e(s)):s}if(aA&&t)return new Proxy({get(a){for(let s=e.length-1;s>=0;s--){let l=Jo(e[s])[a];if(l!==void 0)return l}},has(a){for(let s=e.length-1;s>=0;s--)if(a in Jo(e[s]))return!0;return!1},keys(){let a=[];for(let s=0;s<e.length;s++)a.push(...Object.keys(Jo(e[s])));return[...new Set(a)]}},kA);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 d=l.length-1;d>=0;d--){let h=l[d];if(h==="__proto__"||h==="constructor")continue;let g=Object.getOwnPropertyDescriptor(s,h);if(!r[h])r[h]=g.get?{enumerable:!0,configurable:!0,get:xA.bind(n[h]=[g.get.bind(s)])}:g.value!==void 0?g:void 0;else{let x=n[h];if(x){if(g.get)x.push(g.get.bind(s));else if(g.value!==void 0)x.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 bA=(e)=>`Stale read from <${e}>.`;function ae(e){let t="fallback"in e&&{fallback:()=>e.fallback};return $e(pA(()=>e.each,e.children,t||void 0))}function L(e){let t=e.keyed,n=$e(()=>e.when,void 0,void 0),r=t?n:$e(n,void 0,{equals:(o,i)=>!o===!i});return $e(()=>{let o=r();if(o){let i=e.children;return typeof i==="function"&&i.length>0?rt(()=>i(t?o:()=>{if(!rt(r))throw bA("Show");return n()})):i}return e.fallback},void 0,void 0)}import{BaseRenderable as vl,createTextAttributes as JA,ImageRenderable as gl,InputRenderable as si,InputRenderableEvents as er,isTextNodeRenderable as gi,isEditBufferRenderable as VA,parseColor as fl,Renderable as qA,RootTextNodeRenderable as XA,ScrollBoxRenderable as ek,SelectRenderable as hl,SelectRenderableEvents as li,TabSelectRenderable as ml,TabSelectRenderableEvents as ci,TextNodeRenderable as tk,TextRenderable as Il}from"@opentui/core";var ri,yA=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]]),ol=(ri=String.fromCodePoint)!==null&&ri!==void 0?ri:(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 il(e){var t;if(e>=55296&&e<=57343||e>1114111)return 65533;return(t=yA.get(e))!==null&&t!==void 0?t:e}function al(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 sl=al("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 Ye;(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"})(Ye||(Ye={}));var ve;(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"})(ve||(ve={}));var ll=32;function oi(e){return e>=ve.ZERO&&e<=ve.NINE}function wA(e){return e>=ve.UPPER_A&&e<=ve.UPPER_F||e>=ve.LOWER_A&&e<=ve.LOWER_F}function SA(e){return e>=ve.UPPER_A&&e<=ve.UPPER_Z||e>=ve.LOWER_A&&e<=ve.LOWER_Z||oi(e)}function CA(e){return e===ve.EQUALS||SA(e)}var Ge;(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"})(Ge||(Ge={}));var Mt;(function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"})(Mt||(Mt={}));class ii{constructor(e,t,n){this.decodeTree=e,this.emitCodePoint=t,this.errors=n,this.state=Ge.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=Mt.Strict,this.runConsumed=0}startEntity(e){this.decodeMode=e,this.state=Ge.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1,this.runConsumed=0}write(e,t){switch(this.state){case Ge.EntityStart:{if(e.charCodeAt(t)===ve.NUM)return this.state=Ge.NumericStart,this.consumed+=1,this.stateNumericStart(e,t+1);return this.state=Ge.NamedEntity,this.stateNamedEntity(e,t)}case Ge.NumericStart:return this.stateNumericStart(e,t);case Ge.NumericDecimal:return this.stateNumericDecimal(e,t);case Ge.NumericHex:return this.stateNumericHex(e,t);case Ge.NamedEntity:return this.stateNamedEntity(e,t)}}stateNumericStart(e,t){if(t>=e.length)return-1;if((e.charCodeAt(t)|ll)===ve.LOWER_X)return this.state=Ge.NumericHex,this.consumed+=1,this.stateNumericHex(e,t+1);return this.state=Ge.NumericDecimal,this.stateNumericDecimal(e,t)}stateNumericHex(e,t){while(t<e.length){let n=e.charCodeAt(t);if(oi(n)||wA(n)){let r=n<=ve.NINE?n-ve.ZERO:(n|ll)-ve.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(oi(n))this.result=this.result*10+(n-ve.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===ve.SEMI)this.consumed+=1;else if(this.decodeMode===Mt.Strict)return 0;if(this.emitCodePoint(il(this.result),this.consumed),this.errors){if(e!==ve.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&Ye.VALUE_LENGTH)>>14;while(t<e.length){if(o===0&&(r&Ye.FLAG13)!==0){let a=(r&Ye.BRANCH_LENGTH)>>7;if(this.runConsumed===0){let s=r&Ye.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)],d=s%2===0?l&255:l>>8&255;if(e.charCodeAt(t)!==d)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&Ye.VALUE_LENGTH)>>14}if(t>=e.length)break;let i=e.charCodeAt(t);if(i===ve.SEMI&&o!==0&&(r&Ye.FLAG13)!==0)return this.emitNamedEntityData(this.treeIndex,o,this.consumed+this.excess);if(this.treeIndex=IA(n,r,this.treeIndex+Math.max(1,o),i),this.treeIndex<0)return this.result===0||this.decodeMode===Mt.Attribute&&(o===0||CA(i))?0:this.emitNotTerminatedNamedEntity();if(r=n[this.treeIndex],o=(r&Ye.VALUE_LENGTH)>>14,o!==0){if(i===ve.SEMI)return this.emitNamedEntityData(this.treeIndex,o,this.consumed+this.excess);if(this.decodeMode!==Mt.Strict&&(r&Ye.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]&Ye.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]&~(Ye.VALUE_LENGTH|Ye.FLAG13):r[e+1],n),t===3)this.emitCodePoint(r[e+2],n);return n}end(){var e;switch(this.state){case Ge.NamedEntity:return this.result!==0&&(this.decodeMode!==Mt.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case Ge.NumericDecimal:return this.emitNumericEntity(0,2);case Ge.NumericHex:return this.emitNumericEntity(0,3);case Ge.NumericStart:return(e=this.errors)===null||e===void 0||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case Ge.EntityStart:return 0}}}function vA(e){let t="",n=new ii(e,(r)=>t+=ol(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 d=n.write(o,s+1);if(d<0){a=s+n.end();break}a=s+d,s=d===0?a+1:a}let l=t+o.slice(a);return t="",l}}function IA(e,t,n,r){let o=(t&Ye.BRANCH_LENGTH)>>7,i=t&Ye.JUMP_TABLE;if(o===0)return i!==0&&r===i?n:-1;if(i){let d=r-i;return d<0||d>=o?-1:e[n+d]-1}let a=o+1>>1,s=0,l=o-1;while(s<=l){let d=s+l>>>1,h=d>>1,x=e[n+h]>>(d&1)*8&255;if(x<r)s=d+1;else if(x>r)l=d-1;else return e[n+a+d]}return-1}var BA=vA(sl);function Xn(e){return BA(e,Mt.Strict)}var cl;(function(e){e[e.XML=0]="XML",e[e.HTML=1]="HTML"})(cl||(cl={}));var dl;(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"})(dl||(dl={}));import{BaseRenderable as ck,isTextNodeRenderable as dk,TextNodeRenderable as uk,TextRenderable as gk,Yoga as Tl}from"@opentui/core";import{BoxRenderable as xC,RootRenderable as bC}from"@opentui/core";import{TimeToFirstDrawRenderable as hk}from"@opentui/core";import{createSlotRegistry as SC}from"@opentui/core";class tr extends ZA{_ctx;constructor(e,t){super(t);this._ctx=e}}class Hr extends tr{constructor(e,t){super(null,e);if(t==="b"||t==="strong")this.attributes=(this.attributes||0)|ai.BOLD;else if(t==="i"||t==="em")this.attributes=(this.attributes||0)|ai.ITALIC;else if(t==="u")this.attributes=(this.attributes||0)|ai.UNDERLINE}}class di extends Hr{constructor(e){super(e,"b")}}class ui extends Hr{constructor(e){super(e,"i")}}class xl extends Hr{constructor(e){super(e,"u")}}class bl extends tr{constructor(e,t){super(null,t);this.add()}add(){return super.add(`
|
|
644
|
-
`)}}class yl extends tr{constructor(e,t){let n={...t,link:{url:t.href}};super(null,n)}}var UA={box:FA,text:WA,input:LA,select:zA,textarea:jA,ascii_font:PA,tab_select:HA,scrollbox:GA,code:DA,diff:MA,line_number:OA,markdown:$A,image:NA,span:tr,strong:di,b:di,em:ui,i:ui,u:xl,br:bl,a:yl},wl={...UA};function QA(e){Object.assign(wl,e)}function KA(){return wl}var pi=$r(),An=()=>{let e=qt(pi);if(!e)throw Error("No renderer found");return e},YA=(e)=>{let t=An();Bt(()=>{t.on("resize",e)}),Ke(()=>{t.off("resize",e)})},jr=()=>{let e=An(),[t,n]=Z({width:e.width,height:e.height});return YA((o,i)=>{n({width:o,height:i})}),t},Sl=(e,t)=>{let r=An().keyInput;Bt(()=>{if(r.on("keypress",e),t?.release)r.on("keyrelease",e)}),Ke(()=>{if(r.off("keypress",e),t?.release)r.off("keyrelease",e)})},Cl=(e)=>{let n=An().keyInput;Bt(()=>{n.on("paste",e)}),Ke(()=>{n.off("paste",e)})};var nk=(e)=>$e(()=>e());function rk({createElement:e,createTextNode:t,createDynamicTextNode:n,createSlotNode:r,isTextNode:o,replaceText:i,insertNode:a,removeNode:s,setProperty:l,getParentNode:d,getFirstChild:h,getNextSibling:g}){function x(C,E,B,N){if(B!==void 0&&!N)N=[];if(typeof E!=="function")return b(C,E,N,B);It((F)=>b(C,E(),F,B),N)}function b(C,E,B,N,F){while(typeof B==="function")B=B();if(E===B)return B;let G=typeof E,V=N!==void 0;if(G==="string"||G==="number"){if(G==="number")E=E.toString();if(V){let q=B[0];if(q&&o(q))i(q,E);else q=n(E);B=Y(C,B,N,q)}else if(B!==""&&typeof B==="string")i(h(C),B=E);else Y(C,B,N,n(E)),B=E}else if(E==null||G==="boolean")B=Y(C,B,N);else if(G==="function")return It(()=>{let q=E();while(typeof q==="function")q=q();B=b(C,q,B,N)}),()=>B;else if(Array.isArray(E)){let q=[];if(I(q,E,F))return It(()=>B=b(C,q,B,N,!0)),()=>B;if(q.length===0){let Se=Y(C,B,N);if(V)return B=Se}else if(Array.isArray(B))if(B.length===0)U(C,q,N);else P(C,B,q);else if(B==null||B==="")U(C,q);else P(C,V&&B||[h(C)],q);B=q}else{if(Array.isArray(B)){if(V)return B=Y(C,B,N,E);Y(C,B,null,E)}else if(B==null||B===""||!h(C))a(C,E);else T(C,E,h(C));B=E}return B}function I(C,E,B){let N=!1;for(let F=0,G=E.length;F<G;F++){let V=E[F],q;if(V==null||V===!0||V===!1);else if(Array.isArray(V))N=I(C,V)||N;else if((q=typeof V)==="string"||q==="number")C.push(n(V));else if(q==="function")if(B){while(typeof V==="function")V=V();N=I(C,Array.isArray(V)?V:[V])||N}else C.push(V),N=!0;else C.push(V)}return N}function P(C,E,B){let N=B.length,F=E.length,G=N,V=0,q=0,Se=g(E[F-1]),Le=null;while(V<F||q<G){if(E[V]===B[q]){V++,q++;continue}while(E[F-1]===B[G-1])F--,G--;if(F===V){let Oe=G<N?q?g(B[q-1]):B[G-q]:Se;while(q<G)a(C,B[q++],Oe)}else if(G===q)while(V<F){if(!Le||!Le.has(E[V]))s(C,E[V]);V++}else if(E[V]===B[G-1]&&B[q]===E[F-1]){let Oe=g(E[--F]);a(C,B[q++],g(E[V++])),a(C,B[--G],Oe),E[F]=B[G]}else{if(!Le){Le=new Map;let re=q;while(re<G)Le.set(B[re],re++)}let Oe=Le.get(E[V]);if(Oe!=null)if(q<Oe&&Oe<G){let re=V,oe=1,ee;while(++re<F&&re<G){if((ee=Le.get(E[re]))==null||ee!==Oe+oe)break;oe++}if(oe>Oe-q){let ie=E[V];while(q<Oe)a(C,B[q++],ie)}else T(C,B[q++],E[V++])}else V++;else s(C,E[V++])}}}function Y(C,E,B,N){if(B===void 0){let G;while(G=h(C))s(C,G);return N&&a(C,N),N??""}let F=N||r();if(E.length){let G=!1;for(let V=E.length-1;V>=0;V--){let q=E[V];if(F!==q){let Se=d(q)===C;if(!G&&!V)Se?T(C,F,q):a(C,F,B);else Se&&s(C,q)}else G=!0}}else a(C,F,B);return[F]}function U(C,E,B){for(let N=0,F=E.length;N<F;N++)a(C,E[N],B)}function T(C,E,B){a(C,E,B),s(C,B)}function H(C,E,B={},N){if(E||(E={}),!N)It(()=>B.children=b(C,E.children,B.children));return It(()=>E.ref&&E.ref(C)),It(()=>{for(let F in E){if(F==="children"||F==="ref")continue;let G=E[F];if(G===B[F])continue;l(C,F,G,B[F]),B[F]=G}}),B}return{render(C,E){let B;return Kn((N)=>{B=N,x(E,C())}),B},insert:x,spread(C,E,B){if(typeof E==="function")It((N)=>H(C,E(),N,B));else H(C,E,void 0,B)},createElement:e,createTextNode:t,insertNode:a,setProp(C,E,B,N){return l(C,E,B,N),B},mergeProps:Gr,effect:It,memo:nk,createComponent:rl,use(C,E,B){return rt(()=>C(E,B))}}}function ok(e){let t=rk(e);return t.mergeProps=Gr,t}var zr=new Map;function Ai(e){if(!zr.has(e))zr.set(e,0);let t=zr.get(e)+1;return zr.set(e,t),`${e}-${t}`}var ze=(...e)=>{if(process.env.DEBUG)console.log("[Reconciler]",...e)};class mn extends tk{static fromString(e,t={}){let n=new mn(t);return n.add(e),n}}var Me=(e)=>{if(!e)return;return e.id},fi=(e)=>{let t;if(e instanceof Il)t=e.getTextChildren();else t=e.getChildren();return t};function ik(e,t,n){if(ze("Inserting node:",Me(t),"into parent:",Me(e),"with anchor:",Me(n),t instanceof mn),t instanceof pn)t.parent=e,t=t.getSlotChild(e);if(n&&n instanceof pn)n=n.getSlotChild(e);if(gi(t)){if(!(e instanceof Il)&&!gi(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 vl))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=fi(e),o=r.indexOf(n);if(o===-1)ze("[INSERT]","Could not find anchor",Me(e),Me(n),"[children]",...r.map((i)=>i.id));e.add(t,o)}function ak(e,t){ze("Removing node:",Me(t),"from parent:",Me(e));let n;if(t instanceof pn){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 vl&&!t.parent){t.destroyRecursively();return}})}function pl(e,t){ze("Creating text node:",e);let n=Ai("text-node");if(typeof e==="number")e=e.toString();return mn.fromString(t?Xn(e):e,{id:n})}function sk(){let e=Ai("slot-node");return ze("Creating slot node",e),new pn(e)}function Al(e){ze("Getting parent of node:",Me(e));let t=e.parent??void 0;if(t instanceof XA)t=t.textParent??void 0;let n=t?.parent?.parent?.parent;if(n instanceof ek&&n.content===t)t=n;return t}var{render:lk,effect:_,memo:se,createComponent:p,createElement:k,createTextNode:Be,insertNode:D,insert:m,spread:mC,setProp:c,mergeProps:pC,use:Bl}=ok({createElement(e){ze("Creating element:",e);let t=Ai(e),n=qt(pi);if(!n)throw Error("No renderer found");let r=KA();if(!r[e])throw Error(`[Reconciler] Unknown component type: ${e}`);let o=new r[e](n,{id:t});if(o instanceof gl)Ke(()=>{o.source=void 0});return ze("Element created with id:",t),o},createTextNode:(e)=>pl(e,!0),createDynamicTextNode:(e)=>pl(e,!1),createSlotNode:sk,replaceText(e,t){if(ze("Replacing text:",t,"in node:",Me(e)),!(e instanceof mn))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(gi(e)){if(t==="href"){e.link={url:n};return}if(t==="style"){e.attributes|=JA(n),e.fg=n.fg?fl(n.fg):e.fg,e.bg=n.bg?fl(n.bg):e.bg;return}return}switch(t){case"id":ze("Id mapped",e.id,"=",n),e[t]=n;break;case"focused":if(!(e instanceof qA))return;if(n)e.focus();else e.blur();break;case"onChange":let o=void 0;if(e instanceof hl)o=li.SELECTION_CHANGED;else if(e instanceof ml)o=ci.SELECTION_CHANGED;else if(e instanceof si)o=er.CHANGE;if(!o)break;if(n)e.on(o,n);if(r)e.off(o,r);break;case"onInput":if(e instanceof si){if(n)e.on(er.INPUT,n);if(r)e.off(er.INPUT,r)}break;case"onSubmit":if(e instanceof si){if(n)e.on(er.ENTER,n);if(r)e.off(er.ENTER,r)}else e[t]=n;break;case"onSelect":if(e instanceof hl){if(n)e.on(li.ITEM_SELECTED,n);if(r)e.off(li.ITEM_SELECTED,r)}else if(e instanceof ml){if(n)e.on(ci.ITEM_SELECTED,n);if(r)e.off(ci.ITEM_SELECTED,r)}break;case"style":let i=n??{},a=r??{};if(VA(e)&&a.selectionOccupancy&&!i.selectionOccupancy)e.selectionOccupancy=void 0;if(e instanceof gl)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 mn},insertNode:ik,removeNode:ak,getParentNode:Al,getFirstChild(e){ze("Getting first child of node:",Me(e));let t=fi(e)[0];if(!t){ze("No first child found for node:",Me(e));return}return ze("First child found:",Me(t),"for node:",Me(e)),t},getNextSibling(e){ze("Getting next sibling of node:",Me(e));let t=Al(e);if(!t){ze("No parent found for node:",Me(e));return}if(e instanceof pn){let i=e.getSlotChildForRemoval(t);if(i)e=i}let n=fi(t),r=n.indexOf(e);if(r===-1||r===n.length-1){ze("No next sibling found for node:",Me(e));return}let o=n[r+1];if(!o){ze("Next sibling is null for node:",Me(e));return}return ze("Next sibling found:",Me(o),"for node:",Me(e)),o}});function kl(e){return e?.getLayoutNode?.()?.constructor}function fk(e){return e?.create?.()??Tl.default.Node.create()}class ki extends ck{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 hi extends uk{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 mi extends ki{yogaNode;slotParent;destroyed=!1;yogaNodeConstructor;yogaNodeFreed=!1;constructor(e,t,n){super(e);this._visible=!1,this.slotParent=t,this.yogaNodeConstructor=kl(n),this.yogaNode=fk(this.yogaNodeConstructor),this.yogaNode.setDisplay(Tl.Display.None)}getLayoutNode(){return this.yogaNode}updateFromLayout(){}updateLayout(){}onRemove(){}isCompatibleWith(e){return this.yogaNodeConstructor===kl(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 pn extends ki{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 dk(e)||e instanceof gk}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 hi(`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 mi(`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 hi&&this.getTextNodeForParent(e)===t)this.textNodesByParent.delete(e),t.disposeWithoutSlotCascade();if(n&&t instanceof mi&&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()}}QA({time_to_first_draw:hk});var mk=(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=lk(()=>p(pi.Provider,{get value(){return e},get children(){return p(t,{})}}),e.root)}finally{i=!1,e.destroy=s}if(r)l();if(a)s()},El=async(e,t={})=>{let n=t instanceof EA?t:await _A({...t,onDestroy:()=>{t.onDestroy?.()}});RA.attach(n),mk(n,e)};import F1 from"fs";import D1 from"os";import hs from"path";import nt from"process";import{createCliRenderer as M1}from"@opentui/core";var kn;(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}})(kn||(kn={}));var _l;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(_l||(_l={}));var vC=kn.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]);var TC=kn.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,kn.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 ot={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"},Tt={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"},Rl=1;var PC=Object.freeze({status:"aborted"});function v(e,t,n){function r(s,l){var d;Object.defineProperty(s,"_zod",{value:s._zod??{},enumerable:!1}),(d=s._zod).traits??(d.traits=new Set),s._zod.traits.add(e),t(s,l);for(let h in a.prototype)if(!(h in s))Object.defineProperty(s,h,{value:a.prototype[h].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 d=n?.Parent?new i:this;r(d,s),(l=d._zod).deferred??(l.deferred=[]);for(let h of d._zod.deferred)h();return d}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 FC=Symbol("zod_brand");class jt extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}var Zr={};function Et(e){if(e)Object.assign(Zr,e);return Zr}function Pl(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 Fl(e,t){if(typeof t==="bigint")return t.toString();return t}function bi(e){return{get value(){{let n=e();return Object.defineProperty(this,"value",{value:n}),n}throw Error("cached value already set")}}}function Qr(e){return e===null||e===void 0}function Kr(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function Dl(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 xe(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 yi(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function bn(e){return JSON.stringify(e)}var wi=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};function Ur(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}var Ml=bi(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});function nr(e){if(Ur(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;let n=t.prototype;if(Ur(n)===!1)return!1;if(Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)return!1;return!0}var Nl=new Set(["string","number","symbol"]);function Xt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Nt(e,t,n){let r=new e._zod.constr(t??e._zod.def);if(!t||n?.parent)r._zod.parent=e;return r}function te(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 Ll(e){return Object.keys(e).filter((t)=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var Ol={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 kk(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 Nt(e,{...e._zod.def,shape:n,checks:[]})}function xk(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 Nt(e,{...e._zod.def,shape:n,checks:[]})}function bk(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 yi(this,"shape",r),r},checks:[]};return Nt(e,n)}function yk(e,t){return Nt(e,{...e._zod.def,get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return yi(this,"shape",n),n},catchall:t._zod.def.catchall,checks:[]})}function wk(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 Nt(t,{...t._zod.def,shape:o,checks:[]})}function Sk(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 Nt(t,{...t._zod.def,shape:o,checks:[]})}function yn(e,t=0){for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function Lt(e,t){return t.map((n)=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function Wr(e){return typeof e==="string"?e:e?.message}function _t(e,t,n){let r={...e,path:e.path??[]};if(!e.message){let o=Wr(e.inst?._zod.def?.error?.(e))??Wr(t?.error?.(e))??Wr(n.customError?.(e))??Wr(n.localeError?.(e))??"Invalid input";r.message=o}if(delete r.inst,delete r.continue,!t?.reportInput)delete r.input;return r}function Yr(e){if(Array.isArray(e))return"array";if(typeof e==="string")return"string";return"unknown"}function wn(...e){let[t,n,r]=e;if(typeof t==="string")return{message:t,code:"custom",input:n,inst:r};return{...t}}var $l=(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,Fl,2)},enumerable:!0}),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Jr=v("$ZodError",$l),Si=v("$ZodError",$l,{Parent:Error});function Gl(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 zl(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 d=a.path[l];if(l!==a.path.length-1)s[d]=s[d]||{_errors:[]};else s[d]=s[d]||{_errors:[]},s[d]._errors.push(n(a));s=s[d],l++}}};return o(e),r}var Hl=(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 jt;if(a.issues.length){let s=new(o?.Err??e)(a.issues.map((l)=>_t(l,i,Et())));throw wi(s,o?.callee),s}return a.value};var jl=(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)=>_t(l,i,Et())));throw wi(s,o?.callee),s}return a.value};var Ci=(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 jt;return i.issues.length?{success:!1,error:new(e??Jr)(i.issues.map((a)=>_t(a,o,Et())))}:{success:!0,data:i.value}},Zl=Ci(Si),vi=(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)=>_t(a,o,Et())))}:{success:!0,data:i.value}},Wl=vi(Si);var Ul=/^[cC][^\s-]{8,}$/,Ql=/^[0-9a-z]+$/,Kl=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Yl=/^[0-9a-vA-V]{20}$/,Jl=/^[A-Za-z0-9]{27}$/,Vl=/^[a-zA-Z0-9_-]{21}$/,ql=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var Xl=/^([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})$/,Ii=(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 ec=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;function tc(){return new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")}var nc=/^(?:(?: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])$/,rc=/^(([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})$/,oc=/^((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])$/,ic=/^(([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])$/,ac=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Bi=/^[A-Za-z0-9_-]*$/,sc=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var lc=/^\+(?:[0-9]){6,14}[0-9]$/,cc="(?:(?:\\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])))",dc=new RegExp(`^${cc}$`);function uc(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 gc(e){return new RegExp(`^${uc(e)}$`)}function fc(e){let t=uc({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(`^${cc}T(?:${r})$`)}var hc=(e)=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)};var mc=/^\d+$/,pc=/^-?\d+(?:\.\d+)?/i,Ac=/true|false/i;var kc=/^[^A-Z]*$/,xc=/^[^a-z]*$/;var Je=v("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),bc={number:"number",bigint:"bigint",object:"date"},Ei=v("$ZodCheckLessThan",(e,t)=>{Je.init(e,t);let n=bc[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})}}),_i=v("$ZodCheckGreaterThan",(e,t)=>{Je.init(e,t);let n=bc[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})}}),yc=v("$ZodCheckMultipleOf",(e,t)=>{Je.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):Dl(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})}}),wc=v("$ZodCheckNumberFormat",(e,t)=>{Je.init(e,t),t.format=t.format||"float64";let n=t.format?.includes("int"),r=n?"int":"number",[o,i]=Ol[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=mc}),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 Sc=v("$ZodCheckMaxLength",(e,t)=>{var n;Je.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!Qr(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=Yr(o);r.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Cc=v("$ZodCheckMinLength",(e,t)=>{var n;Je.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!Qr(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=Yr(o);r.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),vc=v("$ZodCheckLengthEquals",(e,t)=>{var n;Je.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!Qr(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=Yr(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})}}),rr=v("$ZodCheckStringFormat",(e,t)=>{var n,r;if(Je.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=()=>{})}),Ic=v("$ZodCheckRegex",(e,t)=>{rr.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})}}),Bc=v("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=kc),rr.init(e,t)}),Tc=v("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=xc),rr.init(e,t)}),Ec=v("$ZodCheckIncludes",(e,t)=>{Je.init(e,t);let n=Xt(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})}}),_c=v("$ZodCheckStartsWith",(e,t)=>{Je.init(e,t);let n=new RegExp(`^${Xt(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})}}),Rc=v("$ZodCheckEndsWith",(e,t)=>{Je.init(e,t);let n=new RegExp(`.*${Xt(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 Pc=v("$ZodCheckOverwrite",(e,t)=>{Je.init(e,t),e._zod.check=(n)=>{n.value=t.tx(n.value)}});class Ri{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 Gb(){return[{url:process.env.DEEPX_SERVER_URL||"https://api-code.deepvlab.ai",name:"Primary Development Server",region:"default",status:"active"}]}function ma(){let t=Gb().find((n)=>n.status==="active");if(!t)throw Error("No active proxy server available. Please contact support.");return t.url}var k2;var Ig=zt(()=>{k2={serverUrl:ma(),timeout:200000,retryAttempts:3,retryDelay:1000}});import{randomUUID as zb}from"crypto";function po(){if(!pa)pa=zb();return pa}var pa,y2;var Bg=zt(()=>{y2=po()});function Ve(e){let t=e??process.env.CLI_VERSION??"unknown",n=process.platform,r=process.arch;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 he from"fs";import*as xt from"path";import*as rn from"os";class gt{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 Ve(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=xt.join(rn.homedir(),".easycode-user","user-info-dev.json"),this.jwtTokenFilePath=xt.join(rn.homedir(),".easycode-user","jwt-token-dev.json"),this.usageStatsFilePath=xt.join(rn.homedir(),".easycode-user","usage-stats-dev.json");else this.userInfoFilePath=xt.join(rn.homedir(),".easycode-user","user-info.json"),this.jwtTokenFilePath=xt.join(rn.homedir(),".easycode-user","jwt-token.json"),this.usageStatsFilePath=xt.join(rn.homedir(),".easycode-user","usage-stats.json");this.cliVersion=process.env.CLI_VERSION||"unknown",this.config={proxyServerUrl:ma()},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}if(this.jwtTokenData){let t=Date.now(),n=this.jwtTokenData.expiresAt-t,r=this.formatTimeRemaining(n),o=this.formatAbsoluteTime(this.jwtTokenData.expiresAt),i=this.formatAbsoluteTime(this.jwtTokenData.expiresAt-Ao*1000);console.log(`[Login Check] \uD83D\uDCCA Periodic status check - Credential remaining: ${r} (until ${o}), next renewal: ${i}`)}}static getInstance(){if(!gt.instance)gt.instance=new gt;return gt.instance}chmodOwnerOnly(e){if(process.platform==="win32")return;try{he.chmodSync(e,384)}catch(t){console.warn("[Login Check] Failed to chmod credential file:",t)}}loadUserInfo(){try{if(he.existsSync(this.userInfoFilePath)){this.chmodOwnerOnly(this.userInfoFilePath);let e=he.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=xt.dirname(this.userInfoFilePath);if(!he.existsSync(e))he.mkdirSync(e,{recursive:!0,mode:448});he.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(he.existsSync(this.jwtTokenFilePath)){this.chmodOwnerOnly(this.jwtTokenFilePath);let e=he.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=xt.dirname(this.jwtTokenFilePath);if(!he.existsSync(e))he.mkdirSync(e,{recursive:!0,mode:448});he.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(he.existsSync(this.usageStatsFilePath)){let e=he.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=xt.dirname(this.usageStatsFilePath);if(!he.existsSync(e))he.mkdirSync(e,{recursive:!0,mode:448});he.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-Ao*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=Ao){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-Ao*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(he.existsSync(this.jwtTokenFilePath))he.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":po()};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":po()};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(he.existsSync(this.userInfoFilePath))he.unlinkSync(this.userInfoFilePath)}catch(e){console.warn("[Login Check] Failed to delete user info file:",e)}try{if(he.existsSync(this.jwtTokenFilePath))he.unlinkSync(this.jwtTokenFilePath)}catch(e){console.warn("[Login Check] Failed to delete access credential file:",e)}console.log("[Login Check] Authentication cleared")}}var Ao=259200,B2;var ka=zt(()=>{Ig();Bg();B2=gt.getInstance()});class Tg{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 xa(e){let n={authUrl:"https://accounts.deepvlab.ai/login",redirectUri:`http://localhost:${e||7863}/callback?plat=deepvlab`};return new Tg(n)}class on{static instance;cachedConfig=null;cacheExpiry=null;getServerBaseUrl(){return process.env.DEEPX_SERVER_URL||"https://api-code.deepvlab.ai"}constructor(){}static getInstance(){if(!on.instance)on.instance=new on;return on.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":Ve()},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 Eg(){return on.getInstance().getFeishuConfig()}async function _g(){return on.getInstance().getFeishuTenants()}var Rg=()=>{};function ct(e){if(e instanceof Error)return e.message;try{return String(e)}catch{return"Failed to get error details"}}var Pg=()=>{};var bt=".easycode-user",Fg=".easycode";var ko=()=>{};import*as fr from"http";import{URL as xo}from"url";import*as Dg from"crypto";class Mg{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=fr.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 xo(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=fr.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 xo(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=fr.createServer(async(r,o)=>{if(!r.url){this.sendErrorResponse(o,"Invalid request");return}let i=new xo(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=fr.createServer(async(o,i)=>{if(!o.url){this.sendErrorResponse(i,"Invalid request");return}let a=new xo(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=Zt.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":Ve()}})}catch(a){throw console.error("\u274C [Auth Server] \u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25:",ct(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:",ct(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 _g();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 Eg()).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 Dg.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:xa(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 h={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(h));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":Ve()},body:JSON.stringify({email:r,password:o,clientInfo:{platform:process.platform,version:process.version,timestamp:Date.now(),userAgent:Ve()}})})}catch(h){console.error("\u274C [Auth Server] \u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25:",ct(h));let g={success:!1,message:this.formatNetworkError(h,"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 h=await a.text();console.error("\u274C [Auth Server] \u730E\u8C79OA\u9A8C\u8BC1\u5931\u8D25:",a.status,h);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(h){console.error("\u274C [Auth Server] \u54CD\u5E94\u89E3\u6790\u5931\u8D25:",ct(h));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=gt.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~/${bt}/`);if(s.user){let h={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(h),console.log(`\u2705 [Auth Server] \u7528\u6237\u4FE1\u606F\u5DF2\u4FDD\u5B58\u5230~/${bt}/: ${h.name} (${h.email||h.openId||"N/A"})`)}let d={success:!0,message:"\u767B\u5F55\u6210\u529F"};t.writeHead(200,{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}),t.end(JSON.stringify(d)),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":Ve()},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:",ct(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":Ve()},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:",ct(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=gt.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~/${bt}/`);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~/${bt}/: ${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=xa(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":Ve()},body:JSON.stringify({plat:"deepvlab",token:r.token,user_id:r.user_id,clientInfo:{platform:process.platform,version:process.version,timestamp:Date.now(),userAgent:Ve()}})})}catch(d){console.error("\u274C [Auth Server] \u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25:",ct(d)),this.sendErrorResponse(t,this.formatNetworkError(d,"Connecting to authentication server"));return}if(!a.ok){let d=await a.text();console.error("\u274C [Auth Server] JWT\u4EA4\u6362\u5931\u8D25:",a.status,d),this.sendErrorResponse(t,`Authentication failed (HTTP ${a.status}). Please try again later.`);return}let s;try{s=await a.json()}catch(d){console.error("\u274C [Auth Server] JWT\u54CD\u5E94\u89E3\u6790\u5931\u8D25:",ct(d)),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=gt.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~/${bt}/`);if(s.user){let d={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(d),console.log(`\u2705 [Auth Server] \u7528\u6237\u4FE1\u606F\u5DF2\u4FDD\u5B58\u5230~/${bt}/: ${d.name} (${d.email||d.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":Ve()},body:JSON.stringify({code:n,redirect_uri:`http://localhost:${this.actualCallbackPort}/callback`,app_id:i})})}catch(b){throw console.error("\u274C [Auth Server] \u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25:",ct(b)),Error(this.formatNetworkError(b,"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(b){throw console.error("\u274C [Auth Server] \u54CD\u5E94\u89E3\u6790\u5931\u8D25:",ct(b)),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 d=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 h;try{h=await fetch(`${a}/auth/jwt/feishu-login`,{method:"POST",headers:{"Content-Type":"application/json","User-Agent":Ve()},body:JSON.stringify({feishuAccessToken:d,clientInfo:{platform:process.platform,version:process.version,timestamp:Date.now(),userAgent:Ve()}})})}catch(b){console.error("\u274C [Auth Server] \u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25:",ct(b)),this.sendErrorResponse(t,this.formatNetworkError(b,"Connecting to authentication server"));return}if(!h.ok){let b=await h.text();console.error("\u274C [Auth Server] JWT\u4EA4\u6362\u5931\u8D25:",h.status,b),this.sendErrorResponse(t,`Authentication failed (HTTP ${h.status}). Please try again later.`);return}let g;try{g=await h.json()}catch(b){console.error("\u274C [Auth Server] JWT\u54CD\u5E94\u89E3\u6790\u5931\u8D25:",ct(b)),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 x=gt.getInstance();if(g.accessToken)x.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~/${bt}/`);if(g.user){let b={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};x.setUserInfo(b),console.log(`\u2705 [Auth Server] \u7528\u6237\u4FE1\u606F\u5DF2\u4FDD\u5B58\u5230~/${bt}/: ${b.name} (${b.email||b.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=Zt.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=Zt.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=Zt.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 Ng=zt(()=>{Rg();ka();ha();Pg();ko()});import{CliRenderer as TA,createCliRenderer as EA,engine as _A}from"@opentui/core";import{createTestRenderer as sC}from"@opentui/core/testing";import{ASCIIFontRenderable as RA,BoxRenderable as PA,CodeRenderable as FA,DiffRenderable as DA,ImageRenderable as MA,InputRenderable as NA,LineNumberRenderable as LA,MarkdownRenderable as OA,ScrollBoxRenderable as $A,SelectRenderable as GA,TabSelectRenderable as zA,TextareaRenderable as HA,TextAttributes as ii,TextNodeRenderable as jA,TextRenderable as ZA}from"@opentui/core";import{engine as dC,Timeline as uC}from"@opentui/core";var He={context:void 0,registry:void 0,effects:void 0,done:!1,getContextId(){return zs(this.context.count)},getNextContextId(){return zs(this.context.count++)}};function zs(e){let t=String(e),n=t.length-1;return He.context.id+(n?String.fromCharCode(96+n):"")+t}function Jo(e){He.context=e}function nA(){return{...He.context,id:He.getNextContextId(),count:0}}var rA=!1,oA=(e,t)=>e===t,Vo=Symbol("solid-proxy"),iA=typeof Proxy==="function",aA=Symbol("solid-track"),Z1=Symbol("solid-dev-component"),Nr={equals:oA},Hs=null,Qs=Xs,ut=1,Yn=2,Ks={owned:null,cleanups:null,context:null,owner:null};var ue=null,j=null,Vn=null,hn=null,ke=null,De=null,Qe=null,Or=0;function Kn(e,t){let n=ke,r=ue,o=e.length===0,i=t===void 0?r:t,a=o?Ks:{owned:null,cleanups:null,context:i?i.context:null,owner:i},s=o?e:()=>e(()=>rt(()=>Ht(a)));ue=a,ke=null;try{return vt(s,!0)}finally{ke=n,ue=r}}function Z(e,t){t=t?Object.assign({},Nr,t):Nr;let n={value:e,observers:null,observerSlots:null,comparator:t.equals||void 0},r=(o)=>{if(typeof o==="function")if(j&&j.running&&j.sources.has(n))o=o(n.tValue);else o=o(n.value);return qs(n,o)};return[Vs.bind(n),r]}function It(e,t,n){let r=ei(e,t,!1,ut);if(Vn&&j&&j.running)De.push(r);else qn(r)}function At(e,t,n){Qs=uA;let r=ei(e,t,!1,ut),o=qo&&qt(qo);if(o)r.suspense=o;if(!n||!n.render)r.user=!0;Qe?Qe.push(r):qn(r)}function $e(e,t,n){n=n?Object.assign({},Nr,n):Nr;let r=ei(e,t,!0,0);if(r.observers=null,r.observerSlots=null,r.comparator=n.equals||void 0,Vn&&j&&j.running)r.tState=ut,De.push(r);else qn(r);return Vs.bind(r)}function Ys(e){return vt(e,!1)}function rt(e){if(!hn&&ke===null)return e();let t=ke;ke=null;try{if(hn)return hn.untrack(e);return e()}finally{ke=t}}function Js(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 d=0;d<e.length;d++)s[d]=e[d]()}else s=e();if(i)return i=!1,a;let l=rt(()=>t(s,o,a));return o=s,l}}function Bt(e){At(()=>rt(e))}function Ke(e){if(ue===null);else if(ue.cleanups===null)ue.cleanups=[e];else ue.cleanups.push(e);return e}function sA(e){if(j&&j.running)return e(),j.done;let t=ke,n=ue;return Promise.resolve().then(()=>{ke=t,ue=n;let r;if(Vn||qo)r=j||(j={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 vt(e,!1),ke=ue=null,r?r.done:void 0})}var[W1,js]=Z(!1);function $r(e,t){let n=Symbol("context");return{id:n,Provider:fA(n),defaultValue:e}}function qt(e){let t;return ue&&ue.context&&(t=ue.context[e.id])!==void 0?t:e.defaultValue}function lA(e){let t=$e(e),n=$e(()=>Xo(t()));return n.toArray=()=>{let r=n();return Array.isArray(r)?r:r!=null?[r]:[]},n}var qo;function Vs(){let e=j&&j.running;if(this.sources&&(e?this.tState:this.state))if((e?this.tState:this.state)===ut)qn(this);else{let t=De;De=null,vt(()=>Lr(this),!1),De=t}if(ke){let t=this.observers?this.observers.length:0;if(!ke.sources)ke.sources=[this],ke.sourceSlots=[t];else ke.sources.push(this),ke.sourceSlots.push(t);if(!this.observers)this.observers=[ke],this.observerSlots=[ke.sources.length-1];else this.observers.push(ke),this.observerSlots.push(ke.sources.length-1)}if(e&&j.sources.has(this))return this.tValue;return this.value}function qs(e,t,n){let r=j&&j.running&&j.sources.has(e)?e.tValue:e.value;if(!e.comparator||!e.comparator(r,t)){if(j){let o=j.running;if(o||!n&&j.sources.has(e))j.sources.add(e),e.tValue=t;if(!o)e.value=t}else e.value=t;if(e.observers&&e.observers.length)vt(()=>{for(let o=0;o<e.observers.length;o+=1){let i=e.observers[o],a=j&&j.running;if(a&&j.disposed.has(i))continue;if(a?!i.tState:!i.state){if(i.pure)De.push(i);else Qe.push(i);if(i.observers)el(i)}if(!a)i.state=ut;else i.tState=ut}if(De.length>1e6)throw De=[],Error()},!1)}return t}function qn(e){if(!e.fn)return;Ht(e);let t=Or;if(Zs(e,j&&j.running&&j.sources.has(e)?e.tValue:e.value,t),j&&!j.running&&j.sources.has(e))queueMicrotask(()=>{vt(()=>{j&&(j.running=!0),ke=ue=e,Zs(e,e.tValue,t),ke=ue=null},!1)})}function Zs(e,t,n){let r,o=ue,i=ke;ke=ue=e;try{r=e.fn(t)}catch(a){if(e.pure)if(j&&j.running)e.tState=ut,e.tOwned&&e.tOwned.forEach(Ht),e.tOwned=void 0;else e.state=ut,e.owned&&e.owned.forEach(Ht),e.owned=null;return e.updatedAt=n+1,ti(a)}finally{ke=i,ue=o}if(!e.updatedAt||e.updatedAt<=n){if(e.updatedAt!=null&&"observers"in e)qs(e,r,!0);else if(j&&j.running&&e.pure){if(!j.sources.has(e))e.value=r;j.sources.add(e),e.tValue=r}else e.value=r;e.updatedAt=n}}function ei(e,t,n,r=ut,o){let i={fn:e,state:r,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:t,owner:ue,context:ue?ue.context:null,pure:n};if(j&&j.running)i.state=0,i.tState=r;if(ue===null);else if(ue!==Ks)if(j&&j.running&&ue.pure)if(!ue.tOwned)ue.tOwned=[i];else ue.tOwned.push(i);else if(!ue.owned)ue.owned=[i];else ue.owned.push(i);if(hn&&i.fn){let a=i.fn,[s,l]=Z(void 0,{equals:!1}),d=hn.factory(a,l);Ke(()=>d.dispose());let h,g=()=>sA(l).then(()=>{if(h)h.dispose(),h=void 0});i.fn=(x)=>{if(s(),j&&j.running){if(!h)h=hn.factory(a,g);return h.track(x)}return d.track(x)}}return i}function Jn(e){let t=j&&j.running;if((t?e.tState:e.state)===0)return;if((t?e.tState:e.state)===Yn)return Lr(e);if(e.suspense&&rt(e.suspense.inFallback))return e.suspense.effects.push(e);let n=[e];while((e=e.owner)&&(!e.updatedAt||e.updatedAt<Or)){if(t&&j.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(j.disposed.has(o))return}if((t?e.tState:e.state)===ut)qn(e);else if((t?e.tState:e.state)===Yn){let o=De;De=null,vt(()=>Lr(e,n[0]),!1),De=o}}}function vt(e,t){if(De)return e();let n=!1;if(!t)De=[];if(Qe)n=!0;else Qe=[];Or++;try{let r=e();return cA(n),r}catch(r){if(!n)Qe=null;De=null,ti(r)}}function cA(e){if(De){if(Vn&&j&&j.running)dA(De);else Xs(De);De=null}if(e)return;let t;if(j){if(!j.promises.size&&!j.queue.size){let r=j.sources,o=j.disposed;Qe.push.apply(Qe,j.effects),t=j.resolve;for(let i of Qe)"tState"in i&&(i.state=i.tState),delete i.tState;j=null,vt(()=>{for(let i of o)Ht(i);for(let i of r){if(i.value=i.tValue,i.owned)for(let a=0,s=i.owned.length;a<s;a++)Ht(i.owned[a]);if(i.tOwned)i.owned=i.tOwned;delete i.tValue,delete i.tOwned,i.tState=0}js(!1)},!1)}else if(j.running){j.running=!1,j.effects.push.apply(j.effects,Qe),Qe=null,js(!0);return}}let n=Qe;if(Qe=null,n.length)vt(()=>Qs(n),!1);if(t)t()}function Xs(e){for(let t=0;t<e.length;t++)Jn(e[t])}function dA(e){for(let t=0;t<e.length;t++){let n=e[t],r=j.queue;if(!r.has(n))r.add(n),Vn(()=>{r.delete(n),vt(()=>{j.running=!0,Jn(n)},!1),j&&(j.running=!1)})}}function uA(e){let t,n=0;for(t=0;t<e.length;t++){let r=e[t];if(!r.user)Jn(r);else e[n++]=r}if(He.context){if(He.count){He.effects||(He.effects=[]),He.effects.push(...e.slice(0,n));return}Jo()}if(He.effects&&(He.done||!He.count))e=[...He.effects,...e],n+=He.effects.length,delete He.effects;for(t=0;t<n;t++)Jn(e[t])}function Lr(e,t){let n=j&&j.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===ut){if(o!==t&&(!o.updatedAt||o.updatedAt<Or))Jn(o)}else if(i===Yn)Lr(o,t)}}}function el(e){let t=j&&j.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=Yn;else r.state=Yn;if(r.pure)De.push(r);else Qe.push(r);r.observers&&el(r)}}}function Ht(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--)Ht(e.tOwned[t]);delete e.tOwned}if(j&&j.running&&e.pure)tl(e,!0);else if(e.owned){for(t=e.owned.length-1;t>=0;t--)Ht(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(j&&j.running)e.tState=0;else e.state=0}function tl(e,t){if(!t)e.tState=0,j.disposed.add(e);if(e.owned)for(let n=0;n<e.owned.length;n++)tl(e.owned[n])}function gA(e){if(e instanceof Error)return e;return Error(typeof e==="string"?e:"Unknown error",{cause:e})}function Ws(e,t,n){try{for(let r of t)r(e)}catch(r){ti(r,n&&n.owner||null)}}function ti(e,t=ue){let n=Hs&&t&&t.context&&t.context[Hs],r=gA(e);if(!n)throw r;if(Qe)Qe.push({fn(){Ws(r,n,t)},state:ut});else Ws(r,n,t)}function Xo(e){if(typeof e==="function"&&!e.length)return Xo(e());if(Array.isArray(e)){let t=[];for(let n=0;n<e.length;n++){let r=Xo(e[n]);Array.isArray(r)?t.push.apply(t,r):t.push(r)}return t}return e}function fA(e,t){return function(r){let o;return It(()=>o=rt(()=>(ue.context={...ue.context,[e]:r.value},lA(()=>r.children))),void 0),o}}var hA=Symbol("fallback");function Us(e){for(let t=0;t<e.length;t++)e[t]()}function mA(e,t,n={}){let r=[],o=[],i=[],a=0,s=t.length>1?[]:null;return Ke(()=>Us(i)),()=>{let l=e()||[],d=l.length,h,g;return l[aA],rt(()=>{let b,I,P,Y,U,T,H,C,E;if(d===0){if(a!==0)Us(i),i=[],r=[],o=[],a=0,s&&(s=[]);if(n.fallback)r=[hA],o[0]=Kn((B)=>(i[0]=B,n.fallback())),a=1}else if(a===0){o=Array(d);for(g=0;g<d;g++)r[g]=l[g],o[g]=Kn(x);a=d}else{P=Array(d),Y=Array(d),s&&(U=Array(d));for(T=0,H=Math.min(a,d);T<H&&r[T]===l[T];T++);for(H=a-1,C=d-1;H>=T&&C>=T&&r[H]===l[C];H--,C--)P[C]=o[H],Y[C]=i[H],s&&(U[C]=s[H]);b=new Map,I=Array(C+1);for(g=C;g>=T;g--)E=l[g],h=b.get(E),I[g]=h===void 0?-1:h,b.set(E,g);for(h=T;h<=H;h++)if(E=r[h],g=b.get(E),g!==void 0&&g!==-1)P[g]=o[h],Y[g]=i[h],s&&(U[g]=s[h]),g=I[g],b.set(E,g);else i[h]();for(g=T;g<d;g++)if(g in P){if(o[g]=P[g],i[g]=Y[g],s)s[g]=U[g],s[g](g)}else o[g]=Kn(x);o=o.slice(0,a=d),r=l.slice(0)}return o});function x(b){if(i[g]=b,s){let[I,P]=Z(g);return s[g]=P,t(l[g],I)}return t(l[g])}}}var pA=!1;function nl(e,t){if(pA){if(He.context){let n=He.context;Jo(nA());let r=rt(()=>e(t||{}));return Jo(n),r}}return rt(()=>e(t||{}))}function Mr(){return!0}var AA={get(e,t,n){if(t===Vo)return n;return e.get(t)},has(e,t){if(t===Vo)return!0;return e.has(t)},set:Mr,deleteProperty:Mr,getOwnPropertyDescriptor(e,t){return{configurable:!0,enumerable:!0,get(){return e.get(t)},set:Mr,deleteProperty:Mr}},ownKeys(e){return e.keys()}};function Yo(e){return!(e=typeof e==="function"?e():e)?{}:e}function kA(){for(let e=0,t=this.length;e<t;++e){let n=this[e]();if(n!==void 0)return n}}function Gr(...e){let t=!1;for(let a=0;a<e.length;a++){let s=e[a];t=t||!!s&&Vo in s,e[a]=typeof s==="function"?(t=!0,$e(s)):s}if(iA&&t)return new Proxy({get(a){for(let s=e.length-1;s>=0;s--){let l=Yo(e[s])[a];if(l!==void 0)return l}},has(a){for(let s=e.length-1;s>=0;s--)if(a in Yo(e[s]))return!0;return!1},keys(){let a=[];for(let s=0;s<e.length;s++)a.push(...Object.keys(Yo(e[s])));return[...new Set(a)]}},AA);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 d=l.length-1;d>=0;d--){let h=l[d];if(h==="__proto__"||h==="constructor")continue;let g=Object.getOwnPropertyDescriptor(s,h);if(!r[h])r[h]=g.get?{enumerable:!0,configurable:!0,get:kA.bind(n[h]=[g.get.bind(s)])}:g.value!==void 0?g:void 0;else{let x=n[h];if(x){if(g.get)x.push(g.get.bind(s));else if(g.value!==void 0)x.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 xA=(e)=>`Stale read from <${e}>.`;function ae(e){let t="fallback"in e&&{fallback:()=>e.fallback};return $e(mA(()=>e.each,e.children,t||void 0))}function L(e){let t=e.keyed,n=$e(()=>e.when,void 0,void 0),r=t?n:$e(n,void 0,{equals:(o,i)=>!o===!i});return $e(()=>{let o=r();if(o){let i=e.children;return typeof i==="function"&&i.length>0?rt(()=>i(t?o:()=>{if(!rt(r))throw xA("Show");return n()})):i}return e.fallback},void 0,void 0)}import{BaseRenderable as Cl,createTextAttributes as YA,ImageRenderable as ul,InputRenderable as ai,InputRenderableEvents as er,isTextNodeRenderable as ui,isEditBufferRenderable as JA,parseColor as gl,Renderable as VA,RootTextNodeRenderable as qA,ScrollBoxRenderable as XA,SelectRenderable as fl,SelectRenderableEvents as si,TabSelectRenderable as hl,TabSelectRenderableEvents as li,TextNodeRenderable as ek,TextRenderable as vl}from"@opentui/core";var ni,bA=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]]),rl=(ni=String.fromCodePoint)!==null&&ni!==void 0?ni:(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 ol(e){var t;if(e>=55296&&e<=57343||e>1114111)return 65533;return(t=bA.get(e))!==null&&t!==void 0?t:e}function il(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 al=il("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 Ye;(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"})(Ye||(Ye={}));var ve;(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"})(ve||(ve={}));var sl=32;function ri(e){return e>=ve.ZERO&&e<=ve.NINE}function yA(e){return e>=ve.UPPER_A&&e<=ve.UPPER_F||e>=ve.LOWER_A&&e<=ve.LOWER_F}function wA(e){return e>=ve.UPPER_A&&e<=ve.UPPER_Z||e>=ve.LOWER_A&&e<=ve.LOWER_Z||ri(e)}function SA(e){return e===ve.EQUALS||wA(e)}var Ge;(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"})(Ge||(Ge={}));var Mt;(function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"})(Mt||(Mt={}));class oi{constructor(e,t,n){this.decodeTree=e,this.emitCodePoint=t,this.errors=n,this.state=Ge.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=Mt.Strict,this.runConsumed=0}startEntity(e){this.decodeMode=e,this.state=Ge.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1,this.runConsumed=0}write(e,t){switch(this.state){case Ge.EntityStart:{if(e.charCodeAt(t)===ve.NUM)return this.state=Ge.NumericStart,this.consumed+=1,this.stateNumericStart(e,t+1);return this.state=Ge.NamedEntity,this.stateNamedEntity(e,t)}case Ge.NumericStart:return this.stateNumericStart(e,t);case Ge.NumericDecimal:return this.stateNumericDecimal(e,t);case Ge.NumericHex:return this.stateNumericHex(e,t);case Ge.NamedEntity:return this.stateNamedEntity(e,t)}}stateNumericStart(e,t){if(t>=e.length)return-1;if((e.charCodeAt(t)|sl)===ve.LOWER_X)return this.state=Ge.NumericHex,this.consumed+=1,this.stateNumericHex(e,t+1);return this.state=Ge.NumericDecimal,this.stateNumericDecimal(e,t)}stateNumericHex(e,t){while(t<e.length){let n=e.charCodeAt(t);if(ri(n)||yA(n)){let r=n<=ve.NINE?n-ve.ZERO:(n|sl)-ve.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(ri(n))this.result=this.result*10+(n-ve.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===ve.SEMI)this.consumed+=1;else if(this.decodeMode===Mt.Strict)return 0;if(this.emitCodePoint(ol(this.result),this.consumed),this.errors){if(e!==ve.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&Ye.VALUE_LENGTH)>>14;while(t<e.length){if(o===0&&(r&Ye.FLAG13)!==0){let a=(r&Ye.BRANCH_LENGTH)>>7;if(this.runConsumed===0){let s=r&Ye.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)],d=s%2===0?l&255:l>>8&255;if(e.charCodeAt(t)!==d)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&Ye.VALUE_LENGTH)>>14}if(t>=e.length)break;let i=e.charCodeAt(t);if(i===ve.SEMI&&o!==0&&(r&Ye.FLAG13)!==0)return this.emitNamedEntityData(this.treeIndex,o,this.consumed+this.excess);if(this.treeIndex=vA(n,r,this.treeIndex+Math.max(1,o),i),this.treeIndex<0)return this.result===0||this.decodeMode===Mt.Attribute&&(o===0||SA(i))?0:this.emitNotTerminatedNamedEntity();if(r=n[this.treeIndex],o=(r&Ye.VALUE_LENGTH)>>14,o!==0){if(i===ve.SEMI)return this.emitNamedEntityData(this.treeIndex,o,this.consumed+this.excess);if(this.decodeMode!==Mt.Strict&&(r&Ye.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]&Ye.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]&~(Ye.VALUE_LENGTH|Ye.FLAG13):r[e+1],n),t===3)this.emitCodePoint(r[e+2],n);return n}end(){var e;switch(this.state){case Ge.NamedEntity:return this.result!==0&&(this.decodeMode!==Mt.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case Ge.NumericDecimal:return this.emitNumericEntity(0,2);case Ge.NumericHex:return this.emitNumericEntity(0,3);case Ge.NumericStart:return(e=this.errors)===null||e===void 0||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case Ge.EntityStart:return 0}}}function CA(e){let t="",n=new oi(e,(r)=>t+=rl(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 d=n.write(o,s+1);if(d<0){a=s+n.end();break}a=s+d,s=d===0?a+1:a}let l=t+o.slice(a);return t="",l}}function vA(e,t,n,r){let o=(t&Ye.BRANCH_LENGTH)>>7,i=t&Ye.JUMP_TABLE;if(o===0)return i!==0&&r===i?n:-1;if(i){let d=r-i;return d<0||d>=o?-1:e[n+d]-1}let a=o+1>>1,s=0,l=o-1;while(s<=l){let d=s+l>>>1,h=d>>1,x=e[n+h]>>(d&1)*8&255;if(x<r)s=d+1;else if(x>r)l=d-1;else return e[n+a+d]}return-1}var IA=CA(al);function Xn(e){return IA(e,Mt.Strict)}var ll;(function(e){e[e.XML=0]="XML",e[e.HTML=1]="HTML"})(ll||(ll={}));var cl;(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"})(cl||(cl={}));import{BaseRenderable as lk,isTextNodeRenderable as ck,TextNodeRenderable as dk,TextRenderable as uk,Yoga as Bl}from"@opentui/core";import{BoxRenderable as wC,RootRenderable as SC}from"@opentui/core";import{TimeToFirstDrawRenderable as fk}from"@opentui/core";import{createSlotRegistry as IC}from"@opentui/core";class tr extends jA{_ctx;constructor(e,t){super(t);this._ctx=e}}class Hr extends tr{constructor(e,t){super(null,e);if(t==="b"||t==="strong")this.attributes=(this.attributes||0)|ii.BOLD;else if(t==="i"||t==="em")this.attributes=(this.attributes||0)|ii.ITALIC;else if(t==="u")this.attributes=(this.attributes||0)|ii.UNDERLINE}}class ci extends Hr{constructor(e){super(e,"b")}}class di extends Hr{constructor(e){super(e,"i")}}class kl extends Hr{constructor(e){super(e,"u")}}class xl extends tr{constructor(e,t){super(null,t);this.add()}add(){return super.add(`
|
|
644
|
+
`)}}class bl extends tr{constructor(e,t){let n={...t,link:{url:t.href}};super(null,n)}}var WA={box:PA,text:ZA,input:NA,select:GA,textarea:HA,ascii_font:RA,tab_select:zA,scrollbox:$A,code:FA,diff:DA,line_number:LA,markdown:OA,image:MA,span:tr,strong:ci,b:ci,em:di,i:di,u:kl,br:xl,a:bl},yl={...WA};function UA(e){Object.assign(yl,e)}function QA(){return yl}var mi=$r(),An=()=>{let e=qt(mi);if(!e)throw Error("No renderer found");return e},KA=(e)=>{let t=An();Bt(()=>{t.on("resize",e)}),Ke(()=>{t.off("resize",e)})},jr=()=>{let e=An(),[t,n]=Z({width:e.width,height:e.height});return KA((o,i)=>{n({width:o,height:i})}),t},wl=(e,t)=>{let r=An().keyInput;Bt(()=>{if(r.on("keypress",e),t?.release)r.on("keyrelease",e)}),Ke(()=>{if(r.off("keypress",e),t?.release)r.off("keyrelease",e)})},Sl=(e)=>{let n=An().keyInput;Bt(()=>{n.on("paste",e)}),Ke(()=>{n.off("paste",e)})};var tk=(e)=>$e(()=>e());function nk({createElement:e,createTextNode:t,createDynamicTextNode:n,createSlotNode:r,isTextNode:o,replaceText:i,insertNode:a,removeNode:s,setProperty:l,getParentNode:d,getFirstChild:h,getNextSibling:g}){function x(C,E,B,N){if(B!==void 0&&!N)N=[];if(typeof E!=="function")return b(C,E,N,B);It((F)=>b(C,E(),F,B),N)}function b(C,E,B,N,F){while(typeof B==="function")B=B();if(E===B)return B;let G=typeof E,V=N!==void 0;if(G==="string"||G==="number"){if(G==="number")E=E.toString();if(V){let q=B[0];if(q&&o(q))i(q,E);else q=n(E);B=Y(C,B,N,q)}else if(B!==""&&typeof B==="string")i(h(C),B=E);else Y(C,B,N,n(E)),B=E}else if(E==null||G==="boolean")B=Y(C,B,N);else if(G==="function")return It(()=>{let q=E();while(typeof q==="function")q=q();B=b(C,q,B,N)}),()=>B;else if(Array.isArray(E)){let q=[];if(I(q,E,F))return It(()=>B=b(C,q,B,N,!0)),()=>B;if(q.length===0){let Se=Y(C,B,N);if(V)return B=Se}else if(Array.isArray(B))if(B.length===0)U(C,q,N);else P(C,B,q);else if(B==null||B==="")U(C,q);else P(C,V&&B||[h(C)],q);B=q}else{if(Array.isArray(B)){if(V)return B=Y(C,B,N,E);Y(C,B,null,E)}else if(B==null||B===""||!h(C))a(C,E);else T(C,E,h(C));B=E}return B}function I(C,E,B){let N=!1;for(let F=0,G=E.length;F<G;F++){let V=E[F],q;if(V==null||V===!0||V===!1);else if(Array.isArray(V))N=I(C,V)||N;else if((q=typeof V)==="string"||q==="number")C.push(n(V));else if(q==="function")if(B){while(typeof V==="function")V=V();N=I(C,Array.isArray(V)?V:[V])||N}else C.push(V),N=!0;else C.push(V)}return N}function P(C,E,B){let N=B.length,F=E.length,G=N,V=0,q=0,Se=g(E[F-1]),Le=null;while(V<F||q<G){if(E[V]===B[q]){V++,q++;continue}while(E[F-1]===B[G-1])F--,G--;if(F===V){let Oe=G<N?q?g(B[q-1]):B[G-q]:Se;while(q<G)a(C,B[q++],Oe)}else if(G===q)while(V<F){if(!Le||!Le.has(E[V]))s(C,E[V]);V++}else if(E[V]===B[G-1]&&B[q]===E[F-1]){let Oe=g(E[--F]);a(C,B[q++],g(E[V++])),a(C,B[--G],Oe),E[F]=B[G]}else{if(!Le){Le=new Map;let re=q;while(re<G)Le.set(B[re],re++)}let Oe=Le.get(E[V]);if(Oe!=null)if(q<Oe&&Oe<G){let re=V,oe=1,ee;while(++re<F&&re<G){if((ee=Le.get(E[re]))==null||ee!==Oe+oe)break;oe++}if(oe>Oe-q){let ie=E[V];while(q<Oe)a(C,B[q++],ie)}else T(C,B[q++],E[V++])}else V++;else s(C,E[V++])}}}function Y(C,E,B,N){if(B===void 0){let G;while(G=h(C))s(C,G);return N&&a(C,N),N??""}let F=N||r();if(E.length){let G=!1;for(let V=E.length-1;V>=0;V--){let q=E[V];if(F!==q){let Se=d(q)===C;if(!G&&!V)Se?T(C,F,q):a(C,F,B);else Se&&s(C,q)}else G=!0}}else a(C,F,B);return[F]}function U(C,E,B){for(let N=0,F=E.length;N<F;N++)a(C,E[N],B)}function T(C,E,B){a(C,E,B),s(C,B)}function H(C,E,B={},N){if(E||(E={}),!N)It(()=>B.children=b(C,E.children,B.children));return It(()=>E.ref&&E.ref(C)),It(()=>{for(let F in E){if(F==="children"||F==="ref")continue;let G=E[F];if(G===B[F])continue;l(C,F,G,B[F]),B[F]=G}}),B}return{render(C,E){let B;return Kn((N)=>{B=N,x(E,C())}),B},insert:x,spread(C,E,B){if(typeof E==="function")It((N)=>H(C,E(),N,B));else H(C,E,void 0,B)},createElement:e,createTextNode:t,insertNode:a,setProp(C,E,B,N){return l(C,E,B,N),B},mergeProps:Gr,effect:It,memo:tk,createComponent:nl,use(C,E,B){return rt(()=>C(E,B))}}}function rk(e){let t=nk(e);return t.mergeProps=Gr,t}var zr=new Map;function pi(e){if(!zr.has(e))zr.set(e,0);let t=zr.get(e)+1;return zr.set(e,t),`${e}-${t}`}var ze=(...e)=>{if(process.env.DEBUG)console.log("[Reconciler]",...e)};class mn extends ek{static fromString(e,t={}){let n=new mn(t);return n.add(e),n}}var Me=(e)=>{if(!e)return;return e.id},gi=(e)=>{let t;if(e instanceof vl)t=e.getTextChildren();else t=e.getChildren();return t};function ok(e,t,n){if(ze("Inserting node:",Me(t),"into parent:",Me(e),"with anchor:",Me(n),t instanceof mn),t instanceof pn)t.parent=e,t=t.getSlotChild(e);if(n&&n instanceof pn)n=n.getSlotChild(e);if(ui(t)){if(!(e instanceof vl)&&!ui(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 Cl))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=gi(e),o=r.indexOf(n);if(o===-1)ze("[INSERT]","Could not find anchor",Me(e),Me(n),"[children]",...r.map((i)=>i.id));e.add(t,o)}function ik(e,t){ze("Removing node:",Me(t),"from parent:",Me(e));let n;if(t instanceof pn){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 Cl&&!t.parent){t.destroyRecursively();return}})}function ml(e,t){ze("Creating text node:",e);let n=pi("text-node");if(typeof e==="number")e=e.toString();return mn.fromString(t?Xn(e):e,{id:n})}function ak(){let e=pi("slot-node");return ze("Creating slot node",e),new pn(e)}function pl(e){ze("Getting parent of node:",Me(e));let t=e.parent??void 0;if(t instanceof qA)t=t.textParent??void 0;let n=t?.parent?.parent?.parent;if(n instanceof XA&&n.content===t)t=n;return t}var{render:sk,effect:_,memo:se,createComponent:p,createElement:k,createTextNode:Be,insertNode:D,insert:m,spread:kC,setProp:c,mergeProps:xC,use:Il}=rk({createElement(e){ze("Creating element:",e);let t=pi(e),n=qt(mi);if(!n)throw Error("No renderer found");let r=QA();if(!r[e])throw Error(`[Reconciler] Unknown component type: ${e}`);let o=new r[e](n,{id:t});if(o instanceof ul)Ke(()=>{o.source=void 0});return ze("Element created with id:",t),o},createTextNode:(e)=>ml(e,!0),createDynamicTextNode:(e)=>ml(e,!1),createSlotNode:ak,replaceText(e,t){if(ze("Replacing text:",t,"in node:",Me(e)),!(e instanceof mn))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(ui(e)){if(t==="href"){e.link={url:n};return}if(t==="style"){e.attributes|=YA(n),e.fg=n.fg?gl(n.fg):e.fg,e.bg=n.bg?gl(n.bg):e.bg;return}return}switch(t){case"id":ze("Id mapped",e.id,"=",n),e[t]=n;break;case"focused":if(!(e instanceof VA))return;if(n)e.focus();else e.blur();break;case"onChange":let o=void 0;if(e instanceof fl)o=si.SELECTION_CHANGED;else if(e instanceof hl)o=li.SELECTION_CHANGED;else if(e instanceof ai)o=er.CHANGE;if(!o)break;if(n)e.on(o,n);if(r)e.off(o,r);break;case"onInput":if(e instanceof ai){if(n)e.on(er.INPUT,n);if(r)e.off(er.INPUT,r)}break;case"onSubmit":if(e instanceof ai){if(n)e.on(er.ENTER,n);if(r)e.off(er.ENTER,r)}else e[t]=n;break;case"onSelect":if(e instanceof fl){if(n)e.on(si.ITEM_SELECTED,n);if(r)e.off(si.ITEM_SELECTED,r)}else if(e instanceof hl){if(n)e.on(li.ITEM_SELECTED,n);if(r)e.off(li.ITEM_SELECTED,r)}break;case"style":let i=n??{},a=r??{};if(JA(e)&&a.selectionOccupancy&&!i.selectionOccupancy)e.selectionOccupancy=void 0;if(e instanceof ul)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 mn},insertNode:ok,removeNode:ik,getParentNode:pl,getFirstChild(e){ze("Getting first child of node:",Me(e));let t=gi(e)[0];if(!t){ze("No first child found for node:",Me(e));return}return ze("First child found:",Me(t),"for node:",Me(e)),t},getNextSibling(e){ze("Getting next sibling of node:",Me(e));let t=pl(e);if(!t){ze("No parent found for node:",Me(e));return}if(e instanceof pn){let i=e.getSlotChildForRemoval(t);if(i)e=i}let n=gi(t),r=n.indexOf(e);if(r===-1||r===n.length-1){ze("No next sibling found for node:",Me(e));return}let o=n[r+1];if(!o){ze("Next sibling is null for node:",Me(e));return}return ze("Next sibling found:",Me(o),"for node:",Me(e)),o}});function Al(e){return e?.getLayoutNode?.()?.constructor}function gk(e){return e?.create?.()??Bl.default.Node.create()}class Ai extends lk{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 fi extends dk{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 hi extends Ai{yogaNode;slotParent;destroyed=!1;yogaNodeConstructor;yogaNodeFreed=!1;constructor(e,t,n){super(e);this._visible=!1,this.slotParent=t,this.yogaNodeConstructor=Al(n),this.yogaNode=gk(this.yogaNodeConstructor),this.yogaNode.setDisplay(Bl.Display.None)}getLayoutNode(){return this.yogaNode}updateFromLayout(){}updateLayout(){}onRemove(){}isCompatibleWith(e){return this.yogaNodeConstructor===Al(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 pn extends Ai{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 ck(e)||e instanceof uk}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 fi(`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 hi(`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 fi&&this.getTextNodeForParent(e)===t)this.textNodesByParent.delete(e),t.disposeWithoutSlotCascade();if(n&&t instanceof hi&&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()}}UA({time_to_first_draw:fk});var hk=(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=sk(()=>p(mi.Provider,{get value(){return e},get children(){return p(t,{})}}),e.root)}finally{i=!1,e.destroy=s}if(r)l();if(a)s()},Tl=async(e,t={})=>{let n=t instanceof TA?t:await EA({...t,onDestroy:()=>{t.onDestroy?.()}});_A.attach(n),hk(n,e)};import N1 from"fs";import L1 from"os";import fs from"path";import nt from"process";import{createCliRenderer as O1}from"@opentui/core";var kn;(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}})(kn||(kn={}));var El;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(El||(El={}));var TC=kn.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]);var RC=kn.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,kn.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 ot={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"},Tt={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"},_l=1;var MC=Object.freeze({status:"aborted"});function v(e,t,n){function r(s,l){var d;Object.defineProperty(s,"_zod",{value:s._zod??{},enumerable:!1}),(d=s._zod).traits??(d.traits=new Set),s._zod.traits.add(e),t(s,l);for(let h in a.prototype)if(!(h in s))Object.defineProperty(s,h,{value:a.prototype[h].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 d=n?.Parent?new i:this;r(d,s),(l=d._zod).deferred??(l.deferred=[]);for(let h of d._zod.deferred)h();return d}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 NC=Symbol("zod_brand");class jt extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}var Zr={};function Et(e){if(e)Object.assign(Zr,e);return Zr}function Rl(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 Pl(e,t){if(typeof t==="bigint")return t.toString();return t}function xi(e){return{get value(){{let n=e();return Object.defineProperty(this,"value",{value:n}),n}throw Error("cached value already set")}}}function Qr(e){return e===null||e===void 0}function Kr(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function Fl(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 xe(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 bi(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function bn(e){return JSON.stringify(e)}var yi=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};function Ur(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}var Dl=xi(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});function nr(e){if(Ur(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;let n=t.prototype;if(Ur(n)===!1)return!1;if(Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)return!1;return!0}var Ml=new Set(["string","number","symbol"]);function Xt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Nt(e,t,n){let r=new e._zod.constr(t??e._zod.def);if(!t||n?.parent)r._zod.parent=e;return r}function te(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 Nl(e){return Object.keys(e).filter((t)=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var Ll={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 Ak(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 Nt(e,{...e._zod.def,shape:n,checks:[]})}function kk(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 Nt(e,{...e._zod.def,shape:n,checks:[]})}function xk(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 bi(this,"shape",r),r},checks:[]};return Nt(e,n)}function bk(e,t){return Nt(e,{...e._zod.def,get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return bi(this,"shape",n),n},catchall:t._zod.def.catchall,checks:[]})}function yk(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 Nt(t,{...t._zod.def,shape:o,checks:[]})}function wk(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 Nt(t,{...t._zod.def,shape:o,checks:[]})}function yn(e,t=0){for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function Lt(e,t){return t.map((n)=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function Wr(e){return typeof e==="string"?e:e?.message}function _t(e,t,n){let r={...e,path:e.path??[]};if(!e.message){let o=Wr(e.inst?._zod.def?.error?.(e))??Wr(t?.error?.(e))??Wr(n.customError?.(e))??Wr(n.localeError?.(e))??"Invalid input";r.message=o}if(delete r.inst,delete r.continue,!t?.reportInput)delete r.input;return r}function Yr(e){if(Array.isArray(e))return"array";if(typeof e==="string")return"string";return"unknown"}function wn(...e){let[t,n,r]=e;if(typeof t==="string")return{message:t,code:"custom",input:n,inst:r};return{...t}}var Ol=(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,Pl,2)},enumerable:!0}),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Jr=v("$ZodError",Ol),wi=v("$ZodError",Ol,{Parent:Error});function $l(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 Gl(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 d=a.path[l];if(l!==a.path.length-1)s[d]=s[d]||{_errors:[]};else s[d]=s[d]||{_errors:[]},s[d]._errors.push(n(a));s=s[d],l++}}};return o(e),r}var zl=(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 jt;if(a.issues.length){let s=new(o?.Err??e)(a.issues.map((l)=>_t(l,i,Et())));throw yi(s,o?.callee),s}return a.value};var Hl=(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)=>_t(l,i,Et())));throw yi(s,o?.callee),s}return a.value};var Si=(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 jt;return i.issues.length?{success:!1,error:new(e??Jr)(i.issues.map((a)=>_t(a,o,Et())))}:{success:!0,data:i.value}},jl=Si(wi),Ci=(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)=>_t(a,o,Et())))}:{success:!0,data:i.value}},Zl=Ci(wi);var Wl=/^[cC][^\s-]{8,}$/,Ul=/^[0-9a-z]+$/,Ql=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Kl=/^[0-9a-vA-V]{20}$/,Yl=/^[A-Za-z0-9]{27}$/,Jl=/^[a-zA-Z0-9_-]{21}$/,Vl=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var ql=/^([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})$/,vi=(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 Xl=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;function ec(){return new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")}var tc=/^(?:(?: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])$/,nc=/^(([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})$/,rc=/^((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])$/,oc=/^(([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])$/,ic=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Ii=/^[A-Za-z0-9_-]*$/,ac=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var sc=/^\+(?:[0-9]){6,14}[0-9]$/,lc="(?:(?:\\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])))",cc=new RegExp(`^${lc}$`);function dc(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 uc(e){return new RegExp(`^${dc(e)}$`)}function gc(e){let t=dc({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(`^${lc}T(?:${r})$`)}var fc=(e)=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)};var hc=/^\d+$/,mc=/^-?\d+(?:\.\d+)?/i,pc=/true|false/i;var Ac=/^[^A-Z]*$/,kc=/^[^a-z]*$/;var Je=v("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),xc={number:"number",bigint:"bigint",object:"date"},Ti=v("$ZodCheckLessThan",(e,t)=>{Je.init(e,t);let n=xc[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})}}),Ei=v("$ZodCheckGreaterThan",(e,t)=>{Je.init(e,t);let n=xc[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})}}),bc=v("$ZodCheckMultipleOf",(e,t)=>{Je.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):Fl(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})}}),yc=v("$ZodCheckNumberFormat",(e,t)=>{Je.init(e,t),t.format=t.format||"float64";let n=t.format?.includes("int"),r=n?"int":"number",[o,i]=Ll[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=hc}),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 wc=v("$ZodCheckMaxLength",(e,t)=>{var n;Je.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!Qr(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=Yr(o);r.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Sc=v("$ZodCheckMinLength",(e,t)=>{var n;Je.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!Qr(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=Yr(o);r.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Cc=v("$ZodCheckLengthEquals",(e,t)=>{var n;Je.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!Qr(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=Yr(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})}}),rr=v("$ZodCheckStringFormat",(e,t)=>{var n,r;if(Je.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=()=>{})}),vc=v("$ZodCheckRegex",(e,t)=>{rr.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})}}),Ic=v("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Ac),rr.init(e,t)}),Bc=v("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=kc),rr.init(e,t)}),Tc=v("$ZodCheckIncludes",(e,t)=>{Je.init(e,t);let n=Xt(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})}}),Ec=v("$ZodCheckStartsWith",(e,t)=>{Je.init(e,t);let n=new RegExp(`^${Xt(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})}}),_c=v("$ZodCheckEndsWith",(e,t)=>{Je.init(e,t);let n=new RegExp(`.*${Xt(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 Rc=v("$ZodCheckOverwrite",(e,t)=>{Je.init(e,t),e._zod.check=(n)=>{n.value=t.tx(n.value)}});class _i{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
|
|
646
|
+
`))}}var Fc={major:4,minor:0,patch:0};var be=v("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Fc;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=yn(i),d;for(let h of a){if(h._zod.def.when){if(!h._zod.def.when(i))continue}else if(l)continue;let g=i.issues.length,x=h._zod.check(i);if(x instanceof Promise&&s?.async===!1)throw new jt;if(d||x instanceof Promise)d=(d??Promise.resolve()).then(async()=>{if(await x,i.issues.length===g)return;if(!l)l=yn(i,g)});else{if(i.issues.length===g)continue;if(!l)l=yn(i,g)}}if(d)return d.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 jt;return s.then((l)=>o(l,r,a))}return o(s,r,a)}}e["~standard"]={validate:(o)=>{try{let i=jl(e,o);return i.success?{value:i.data}:{issues:i.error?.issues}}catch(i){return Zl(e,o).then((a)=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}}),qr=v("$ZodString",(e,t)=>{be.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??fc(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}}),ye=v("$ZodStringFormat",(e,t)=>{rr.init(e,t),qr.init(e,t)}),jc=v("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=ql),ye.init(e,t)}),Zc=v("$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=vi(r))}else t.pattern??(t.pattern=vi());ye.init(e,t)}),Wc=v("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Xl),ye.init(e,t)}),Uc=v("$ZodURL",(e,t)=>{ye.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:ac.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})}}}),Qc=v("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=ec()),ye.init(e,t)}),Kc=v("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=Jl),ye.init(e,t)}),Yc=v("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=Wl),ye.init(e,t)}),Jc=v("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=Ul),ye.init(e,t)}),Vc=v("$ZodULID",(e,t)=>{t.pattern??(t.pattern=Ql),ye.init(e,t)}),qc=v("$ZodXID",(e,t)=>{t.pattern??(t.pattern=Kl),ye.init(e,t)}),Xc=v("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=Yl),ye.init(e,t)}),ed=v("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=gc(t)),ye.init(e,t)}),td=v("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=cc),ye.init(e,t)}),nd=v("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=uc(t)),ye.init(e,t)}),rd=v("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=Vl),ye.init(e,t)}),od=v("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=tc),ye.init(e,t),e._zod.onattach.push((n)=>{let r=n._zod.bag;r.format="ipv4"})}),id=v("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=nc),ye.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})}}}),ad=v("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=rc),ye.init(e,t)}),sd=v("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=oc),ye.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 ld(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var cd=v("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=ic),ye.init(e,t),e._zod.onattach.push((n)=>{n._zod.bag.contentEncoding="base64"}),e._zod.check=(n)=>{if(ld(n.value))return;n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});function Ck(e){if(!Ii.test(e))return!1;let t=e.replace(/[-_]/g,(r)=>r==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return ld(n)}var dd=v("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Ii),ye.init(e,t),e._zod.onattach.push((n)=>{n._zod.bag.contentEncoding="base64url"}),e._zod.check=(n)=>{if(Ck(n.value))return;n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),ud=v("$ZodE164",(e,t)=>{t.pattern??(t.pattern=sc),ye.init(e,t)});function vk(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 gd=v("$ZodJWT",(e,t)=>{ye.init(e,t),e._zod.check=(n)=>{if(vk(n.value,t.alg))return;n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}});var Pi=v("$ZodNumber",(e,t)=>{be.init(e,t),e._zod.pattern=e._zod.bag.pattern??mc,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}}),fd=v("$ZodNumber",(e,t)=>{yc.init(e,t),Pi.init(e,t)}),hd=v("$ZodBoolean",(e,t)=>{be.init(e,t),e._zod.pattern=pc,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 md=v("$ZodUnknown",(e,t)=>{be.init(e,t),e._zod.parse=(n)=>n}),pd=v("$ZodNever",(e,t)=>{be.init(e,t),e._zod.parse=(n,r)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)});function Dc(e,t,n){if(e.issues.length)t.issues.push(...Lt(n,e.issues));t.value[n]=e.value}var Ad=v("$ZodArray",(e,t)=>{be.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((d)=>Dc(d,n,a)));else Dc(l,n,a)}if(i.length)return Promise.all(i).then(()=>n);return n}});function Vr(e,t,n){if(e.issues.length)t.issues.push(...Lt(n,e.issues));t.value[n]=e.value}function Mc(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(...Lt(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 kd=v("$ZodObject",(e,t)=>{be.init(e,t);let n=xi(()=>{let g=Object.keys(t.shape);for(let b of g)if(!(t.shape[b]instanceof be))throw Error(`Invalid element at key "${b}": expected a Zod schema`);let x=Nl(t.shape);return{shape:t.shape,keys:g,keySet:new Set(g),numKeys:g.length,optionalKeys:new Set(x)}});xe(e._zod,"propValues",()=>{let g=t.shape,x={};for(let b in g){let I=g[b]._zod;if(I.values){x[b]??(x[b]=new Set);for(let P of I.values)x[b].add(P)}}return x});let r=(g)=>{let x=new _i(["shape","payload","ctx"]),b=n.value,I=(T)=>{let H=bn(T);return`shape[${H}]._zod.run({ value: input[${H}], issues: [] }, ctx)`};x.write("const input = payload.value;");let P=Object.create(null),Y=0;for(let T of b.keys)P[T]=`key_${Y++}`;x.write("const newResult = {}");for(let T of b.keys)if(b.optionalKeys.has(T)){let H=P[T];x.write(`const ${H} = ${I(T)};`);let C=bn(T);x.write(`
|
|
647
647
|
if (${H}.issues.length) {
|
|
648
648
|
if (input[${C}] === undefined) {
|
|
649
649
|
if (${C} in input) {
|
|
@@ -666,17 +666,17 @@ var zt=(e,t,n)=>()=>{if(e)try{t=e(e=0)}catch(r){n=[r]}if(n)throw n[0];return t};
|
|
|
666
666
|
if (${H}.issues.length) payload.issues = payload.issues.concat(${H}.issues.map(iss => ({
|
|
667
667
|
...iss,
|
|
668
668
|
path: iss.path ? [${bn(T)}, ...iss.path] : [${bn(T)}]
|
|
669
|
-
})));`),x.write(`newResult[${bn(T)}] = ${H}.value`)}x.write("payload.value = newResult;"),x.write("return payload;");let U=x.compile();return(T,H)=>U(g,T,H)},o,i=Ur,a=!Zr.jitless,l=a&&Ml.value,d=t.catchall,h;e._zod.parse=(g,x)=>{h??(h=n.value);let b=g.value;if(!i(b))return g.issues.push({expected:"object",code:"invalid_type",input:b,inst:e}),g;let I=[];if(a&&l&&x?.async===!1&&x.jitless!==!0){if(!o)o=r(t.shape);g=o(g,x)}else{g.value={};let H=h.shape;for(let C of h.keys){let E=H[C],B=E._zod.run({value:b[C],issues:[]},x),N=E._zod.optin==="optional"&&E._zod.optout==="optional";if(B instanceof Promise)I.push(B.then((F)=>N?Nc(F,g,C,b):Vr(F,g,C)));else if(N)Nc(B,g,C,b);else Vr(B,g,C)}}if(!d)return I.length?Promise.all(I).then(()=>g):g;let P=[],Y=h.keySet,U=d._zod,T=U.def.type;for(let H of Object.keys(b)){if(Y.has(H))continue;if(T==="never"){P.push(H);continue}let C=U.run({value:b[H],issues:[]},x);if(C instanceof Promise)I.push(C.then((E)=>Vr(E,g,H)));else Vr(C,g,H)}if(P.length)g.issues.push({code:"unrecognized_keys",keys:P,input:b,inst:e});if(!I.length)return g;return Promise.all(I).then(()=>g)}});function Lc(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)=>_t(i,r,Et())))}),t}var bd=v("$ZodUnion",(e,t)=>{be.init(e,t),xe(e._zod,"optin",()=>t.options.some((n)=>n._zod.optin==="optional")?"optional":void 0),xe(e._zod,"optout",()=>t.options.some((n)=>n._zod.optout==="optional")?"optional":void 0),xe(e._zod,"values",()=>{if(t.options.every((n)=>n._zod.values))return new Set(t.options.flatMap((n)=>Array.from(n._zod.values)));return}),xe(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)=>Kr(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 Lc(i,n,e,r);return Promise.all(i).then((a)=>Lc(a,n,e,r))}});var yd=v("$ZodIntersection",(e,t)=>{be.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,d])=>Oc(n,l,d));return Oc(n,i,a)}});function Pi(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=Pi(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=Pi(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 Oc(e,t,n){if(t.issues.length)e.issues.push(...t.issues);if(n.issues.length)e.issues.push(...n.issues);if(yn(e))return e;let r=Pi(t.value,n.value);if(!r.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(r.mergeErrorPath)}`);return e.value=r.data,e}var wd=v("$ZodRecord",(e,t)=>{be.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 d=t.valueType._zod.run({value:o[l],issues:[]},r);if(d instanceof Promise)i.push(d.then((h)=>{if(h.issues.length)n.issues.push(...Lt(l,h.issues));n.value[l]=h.value}));else{if(d.issues.length)n.issues.push(...Lt(l,d.issues));n.value[l]=d.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((d)=>_t(d,r,Et())),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((d)=>{if(d.issues.length)n.issues.push(...Lt(a,d.issues));n.value[s.value]=d.value}));else{if(l.issues.length)n.issues.push(...Lt(a,l.issues));n.value[s.value]=l.value}}}if(i.length)return Promise.all(i).then(()=>n);return n}});var Sd=v("$ZodEnum",(e,t)=>{be.init(e,t);let n=Pl(t.entries);e._zod.values=new Set(n),e._zod.pattern=new RegExp(`^(${n.filter((r)=>Nl.has(typeof r)).map((r)=>typeof r==="string"?Xt(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}}),Cd=v("$ZodLiteral",(e,t)=>{be.init(e,t),e._zod.values=new Set(t.values),e._zod.pattern=new RegExp(`^(${t.values.map((n)=>typeof n==="string"?Xt(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 vd=v("$ZodTransform",(e,t)=>{be.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 jt;return n.value=o,n}}),Id=v("$ZodOptional",(e,t)=>{be.init(e,t),e._zod.optin="optional",e._zod.optout="optional",xe(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),xe(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${Kr(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)}}),Bd=v("$ZodNullable",(e,t)=>{be.init(e,t),xe(e._zod,"optin",()=>t.innerType._zod.optin),xe(e._zod,"optout",()=>t.innerType._zod.optout),xe(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${Kr(n.source)}|null)$`):void 0}),xe(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)}}),Td=v("$ZodDefault",(e,t)=>{be.init(e,t),e._zod.optin="optional",xe(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)=>$c(i,t));return $c(o,t)}});function $c(e,t){if(e.value===void 0)e.value=t.defaultValue;return e}var Ed=v("$ZodPrefault",(e,t)=>{be.init(e,t),e._zod.optin="optional",xe(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)}}),_d=v("$ZodNonOptional",(e,t)=>{be.init(e,t),xe(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)=>Gc(i,e));return Gc(o,e)}});function Gc(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 Rd=v("$ZodCatch",(e,t)=>{be.init(e,t),e._zod.optin="optional",xe(e._zod,"optout",()=>t.innerType._zod.optout),xe(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)=>_t(a,r,Et()))},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)=>_t(i,r,Et()))},input:n.value}),n.issues=[];return n}});var Pd=v("$ZodPipe",(e,t)=>{be.init(e,t),xe(e._zod,"values",()=>t.in._zod.values),xe(e._zod,"optin",()=>t.in._zod.optin),xe(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)=>zc(i,t,r));return zc(o,t,r)}});function zc(e,t,n){if(yn(e))return e;return t.out._zod.run({value:e.value,issues:e.issues},n)}var Fd=v("$ZodReadonly",(e,t)=>{be.init(e,t),xe(e._zod,"propValues",()=>t.innerType._zod.propValues),xe(e._zod,"values",()=>t.innerType._zod.values),xe(e._zod,"optin",()=>t.innerType._zod.optin),xe(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(Hc);return Hc(o)}});function Hc(e){return e.value=Object.freeze(e.value),e}var Dd=v("$ZodCustom",(e,t)=>{Je.init(e,t),be.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)=>jc(i,n,r,e));jc(o,n,r,e);return}});function jc(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(wn(o))}}var JC=Symbol("ZodOutput"),VC=Symbol("ZodInput");class Md{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 Bk(){return new Md}var or=Bk();function Nd(e,t){return new e({type:"string",...te(t)})}function Ld(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...te(t)})}function Di(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...te(t)})}function Od(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...te(t)})}function $d(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...te(t)})}function Gd(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...te(t)})}function zd(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...te(t)})}function Hd(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...te(t)})}function jd(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...te(t)})}function Zd(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...te(t)})}function Wd(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...te(t)})}function Ud(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...te(t)})}function Qd(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...te(t)})}function Kd(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...te(t)})}function Yd(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...te(t)})}function Jd(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...te(t)})}function Vd(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...te(t)})}function qd(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...te(t)})}function Xd(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...te(t)})}function eu(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...te(t)})}function tu(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...te(t)})}function nu(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...te(t)})}function ru(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...te(t)})}function ou(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...te(t)})}function iu(e,t){return new e({type:"string",format:"date",check:"string_format",...te(t)})}function au(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...te(t)})}function su(e,t){return new e({type:"string",format:"duration",check:"string_format",...te(t)})}function lu(e,t){return new e({type:"number",checks:[],...te(t)})}function cu(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...te(t)})}function du(e,t){return new e({type:"boolean",...te(t)})}function uu(e){return new e({type:"unknown"})}function gu(e,t){return new e({type:"never",...te(t)})}function Xr(e,t){return new Ei({check:"less_than",...te(t),value:e,inclusive:!1})}function ir(e,t){return new Ei({check:"less_than",...te(t),value:e,inclusive:!0})}function eo(e,t){return new _i({check:"greater_than",...te(t),value:e,inclusive:!1})}function ar(e,t){return new _i({check:"greater_than",...te(t),value:e,inclusive:!0})}function to(e,t){return new yc({check:"multiple_of",...te(t),value:e})}function no(e,t){return new Sc({check:"max_length",...te(t),maximum:e})}function Sn(e,t){return new Cc({check:"min_length",...te(t),minimum:e})}function ro(e,t){return new vc({check:"length_equals",...te(t),length:e})}function Mi(e,t){return new Ic({check:"string_format",format:"regex",...te(t),pattern:e})}function Ni(e){return new Bc({check:"string_format",format:"lowercase",...te(e)})}function Li(e){return new Tc({check:"string_format",format:"uppercase",...te(e)})}function Oi(e,t){return new Ec({check:"string_format",format:"includes",...te(t),includes:e})}function $i(e,t){return new _c({check:"string_format",format:"starts_with",...te(t),prefix:e})}function Gi(e,t){return new Rc({check:"string_format",format:"ends_with",...te(t),suffix:e})}function tn(e){return new Pc({check:"overwrite",tx:e})}function zi(e){return tn((t)=>t.normalize(e))}function Hi(){return tn((e)=>e.trim())}function ji(){return tn((e)=>e.toLowerCase())}function Zi(){return tn((e)=>e.toUpperCase())}function fu(e,t,n){return new e({type:"array",element:t,...te(n)})}function hu(e,t,n){return new e({type:"custom",check:"custom",fn:t,...te(n)})}var Fk=v("ZodISODateTime",(e,t)=>{td.init(e,t),Ce.init(e,t)});function mu(e){return ou(Fk,e)}var Dk=v("ZodISODate",(e,t)=>{nd.init(e,t),Ce.init(e,t)});function pu(e){return iu(Dk,e)}var Mk=v("ZodISOTime",(e,t)=>{rd.init(e,t),Ce.init(e,t)});function Au(e){return au(Mk,e)}var Nk=v("ZodISODuration",(e,t)=>{od.init(e,t),Ce.init(e,t)});function ku(e){return su(Nk,e)}var xu=(e,t)=>{Jr.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:(n)=>zl(e,n)},flatten:{value:(n)=>Gl(e,n)},addIssue:{value:(n)=>e.issues.push(n)},addIssues:{value:(n)=>e.issues.push(...n)},isEmpty:{get(){return e.issues.length===0}}})},vv=v("ZodError",xu),sr=v("ZodError",xu,{Parent:Error});var bu=Hl(sr),yu=jl(sr),wu=Ci(sr),Su=vi(sr);var Te=v("ZodType",(e,t)=>(be.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)=>Nt(e,n,r),e.brand=()=>e,e.register=(n,r)=>(n.add(e,r),e),e.parse=(n,r)=>bu(e,n,r,{callee:e.parse}),e.safeParse=(n,r)=>wu(e,n,r),e.parseAsync=async(n,r)=>yu(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>Su(e,n,r),e.spa=e.safeParseAsync,e.refine=(n,r)=>e.check(_x(n,r)),e.superRefine=(n)=>e.check(Rx(n)),e.overwrite=(n)=>e.check(tn(n)),e.optional=()=>Iu(e),e.nullable=()=>Bu(e),e.nullish=()=>Iu(Bu(e)),e.nonoptional=(n)=>wx(e,n),e.array=()=>de(e),e.or=(n)=>fe([e,n]),e.and=(n)=>Ui(e,n),e.transform=(n)=>Tu(e,px(n)),e.default=(n)=>xx(e,n),e.prefault=(n)=>yx(e,n),e.catch=(n)=>Cx(e,n),e.pipe=(n)=>Tu(e,n),e.readonly=()=>Bx(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)),Eu=v("_ZodString",(e,t)=>{qr.init(e,t),Te.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(Mi(...r)),e.includes=(...r)=>e.check(Oi(...r)),e.startsWith=(...r)=>e.check($i(...r)),e.endsWith=(...r)=>e.check(Gi(...r)),e.min=(...r)=>e.check(Sn(...r)),e.max=(...r)=>e.check(no(...r)),e.length=(...r)=>e.check(ro(...r)),e.nonempty=(...r)=>e.check(Sn(1,...r)),e.lowercase=(r)=>e.check(Ni(r)),e.uppercase=(r)=>e.check(Li(r)),e.trim=()=>e.check(Hi()),e.normalize=(...r)=>e.check(zi(...r)),e.toLowerCase=()=>e.check(ji()),e.toUpperCase=()=>e.check(Zi())}),Gk=v("ZodString",(e,t)=>{qr.init(e,t),Eu.init(e,t),e.email=(n)=>e.check(Ld(zk,n)),e.url=(n)=>e.check(Hd(Hk,n)),e.jwt=(n)=>e.check(ru(rx,n)),e.emoji=(n)=>e.check(jd(jk,n)),e.guid=(n)=>e.check(Di(Cu,n)),e.uuid=(n)=>e.check(Od(io,n)),e.uuidv4=(n)=>e.check($d(io,n)),e.uuidv6=(n)=>e.check(Gd(io,n)),e.uuidv7=(n)=>e.check(zd(io,n)),e.nanoid=(n)=>e.check(Zd(Zk,n)),e.guid=(n)=>e.check(Di(Cu,n)),e.cuid=(n)=>e.check(Wd(Wk,n)),e.cuid2=(n)=>e.check(Ud(Uk,n)),e.ulid=(n)=>e.check(Qd(Qk,n)),e.base64=(n)=>e.check(eu(ex,n)),e.base64url=(n)=>e.check(tu(tx,n)),e.xid=(n)=>e.check(Kd(Kk,n)),e.ksuid=(n)=>e.check(Yd(Yk,n)),e.ipv4=(n)=>e.check(Jd(Jk,n)),e.ipv6=(n)=>e.check(Vd(Vk,n)),e.cidrv4=(n)=>e.check(qd(qk,n)),e.cidrv6=(n)=>e.check(Xd(Xk,n)),e.e164=(n)=>e.check(nu(nx,n)),e.datetime=(n)=>e.check(mu(n)),e.date=(n)=>e.check(pu(n)),e.time=(n)=>e.check(Au(n)),e.duration=(n)=>e.check(ku(n))});function A(e){return Nd(Gk,e)}var Ce=v("ZodStringFormat",(e,t)=>{ye.init(e,t),Eu.init(e,t)}),zk=v("ZodEmail",(e,t)=>{Uc.init(e,t),Ce.init(e,t)});var Cu=v("ZodGUID",(e,t)=>{Zc.init(e,t),Ce.init(e,t)});var io=v("ZodUUID",(e,t)=>{Wc.init(e,t),Ce.init(e,t)});var Hk=v("ZodURL",(e,t)=>{Qc.init(e,t),Ce.init(e,t)});var jk=v("ZodEmoji",(e,t)=>{Kc.init(e,t),Ce.init(e,t)});var Zk=v("ZodNanoID",(e,t)=>{Yc.init(e,t),Ce.init(e,t)});var Wk=v("ZodCUID",(e,t)=>{Jc.init(e,t),Ce.init(e,t)});var Uk=v("ZodCUID2",(e,t)=>{Vc.init(e,t),Ce.init(e,t)});var Qk=v("ZodULID",(e,t)=>{qc.init(e,t),Ce.init(e,t)});var Kk=v("ZodXID",(e,t)=>{Xc.init(e,t),Ce.init(e,t)});var Yk=v("ZodKSUID",(e,t)=>{ed.init(e,t),Ce.init(e,t)});var Jk=v("ZodIPv4",(e,t)=>{id.init(e,t),Ce.init(e,t)});var Vk=v("ZodIPv6",(e,t)=>{ad.init(e,t),Ce.init(e,t)});var qk=v("ZodCIDRv4",(e,t)=>{sd.init(e,t),Ce.init(e,t)});var Xk=v("ZodCIDRv6",(e,t)=>{ld.init(e,t),Ce.init(e,t)});var ex=v("ZodBase64",(e,t)=>{dd.init(e,t),Ce.init(e,t)});var tx=v("ZodBase64URL",(e,t)=>{ud.init(e,t),Ce.init(e,t)});var nx=v("ZodE164",(e,t)=>{gd.init(e,t),Ce.init(e,t)});var rx=v("ZodJWT",(e,t)=>{fd.init(e,t),Ce.init(e,t)});var _u=v("ZodNumber",(e,t)=>{Fi.init(e,t),Te.init(e,t),e.gt=(r,o)=>e.check(eo(r,o)),e.gte=(r,o)=>e.check(ar(r,o)),e.min=(r,o)=>e.check(ar(r,o)),e.lt=(r,o)=>e.check(Xr(r,o)),e.lte=(r,o)=>e.check(ir(r,o)),e.max=(r,o)=>e.check(ir(r,o)),e.int=(r)=>e.check(vu(r)),e.safe=(r)=>e.check(vu(r)),e.positive=(r)=>e.check(eo(0,r)),e.nonnegative=(r)=>e.check(ar(0,r)),e.negative=(r)=>e.check(Xr(0,r)),e.nonpositive=(r)=>e.check(ir(0,r)),e.multipleOf=(r,o)=>e.check(to(r,o)),e.step=(r,o)=>e.check(to(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 Re(e){return lu(_u,e)}var ox=v("ZodNumberFormat",(e,t)=>{hd.init(e,t),_u.init(e,t)});function vu(e){return cu(ox,e)}var ix=v("ZodBoolean",(e,t)=>{md.init(e,t),Te.init(e,t)});function Xe(e){return du(ix,e)}var ax=v("ZodUnknown",(e,t)=>{pd.init(e,t),Te.init(e,t)});function R(){return uu(ax)}var sx=v("ZodNever",(e,t)=>{Ad.init(e,t),Te.init(e,t)});function lx(e){return gu(sx,e)}var cx=v("ZodArray",(e,t)=>{kd.init(e,t),Te.init(e,t),e.element=t.element,e.min=(n,r)=>e.check(Sn(n,r)),e.nonempty=(n)=>e.check(Sn(1,n)),e.max=(n,r)=>e.check(no(n,r)),e.length=(n,r)=>e.check(ro(n,r)),e.unwrap=()=>e.element});function de(e,t){return fu(cx,e,t)}var dx=v("ZodObject",(e,t)=>{xd.init(e,t),Te.init(e,t),xe(e,"shape",()=>t.shape),e.keyof=()=>Ru(Object.keys(e._zod.def.shape)),e.catchall=(n)=>e.clone({...e._zod.def,catchall:n}),e.passthrough=()=>e.clone({...e._zod.def,catchall:R()}),e.loose=()=>e.clone({...e._zod.def,catchall:R()}),e.strict=()=>e.clone({...e._zod.def,catchall:lx()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=(n)=>bk(e,n),e.merge=(n)=>yk(e,n),e.pick=(n)=>kk(e,n),e.omit=(n)=>xk(e,n),e.partial=(...n)=>wk(Pu,e,n[0]),e.required=(...n)=>Sk(Fu,e,n[0])});function w(e,t){let n={type:"object",get shape(){return yi(this,"shape",{...e}),this.shape},...te(t)};return new dx(n)}var ux=v("ZodUnion",(e,t)=>{bd.init(e,t),Te.init(e,t),e.options=t.options});function fe(e,t){return new ux({type:"union",options:e,...te(t)})}var gx=v("ZodIntersection",(e,t)=>{yd.init(e,t),Te.init(e,t)});function Ui(e,t){return new gx({type:"intersection",left:e,right:t})}var fx=v("ZodRecord",(e,t)=>{wd.init(e,t),Te.init(e,t),e.keyType=t.keyType,e.valueType=t.valueType});function M(e,t,n){return new fx({type:"record",keyType:e,valueType:t,...te(n)})}var Wi=v("ZodEnum",(e,t)=>{Sd.init(e,t),Te.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 Wi({...t,checks:[],...te(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 Wi({...t,checks:[],...te(o),entries:i})}});function Ru(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map((r)=>[r,r])):e;return new Wi({type:"enum",entries:n,...te(t)})}var hx=v("ZodLiteral",(e,t)=>{Cd.init(e,t),Te.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 J(e,t){return new hx({type:"literal",values:Array.isArray(e)?e:[e],...te(t)})}var mx=v("ZodTransform",(e,t)=>{vd.init(e,t),Te.init(e,t),e._zod.parse=(n,r)=>{n.addIssue=(i)=>{if(typeof i==="string")n.issues.push(wn(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(wn(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 px(e){return new mx({type:"transform",transform:e})}var Pu=v("ZodOptional",(e,t)=>{Id.init(e,t),Te.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Iu(e){return new Pu({type:"optional",innerType:e})}var Ax=v("ZodNullable",(e,t)=>{Bd.init(e,t),Te.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Bu(e){return new Ax({type:"nullable",innerType:e})}var kx=v("ZodDefault",(e,t)=>{Td.init(e,t),Te.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function xx(e,t){return new kx({type:"default",innerType:e,get defaultValue(){return typeof t==="function"?t():t}})}var bx=v("ZodPrefault",(e,t)=>{Ed.init(e,t),Te.init(e,t),e.unwrap=()=>e._zod.def.innerType});function yx(e,t){return new bx({type:"prefault",innerType:e,get defaultValue(){return typeof t==="function"?t():t}})}var Fu=v("ZodNonOptional",(e,t)=>{_d.init(e,t),Te.init(e,t),e.unwrap=()=>e._zod.def.innerType});function wx(e,t){return new Fu({type:"nonoptional",innerType:e,...te(t)})}var Sx=v("ZodCatch",(e,t)=>{Rd.init(e,t),Te.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Cx(e,t){return new Sx({type:"catch",innerType:e,catchValue:typeof t==="function"?t:()=>t})}var vx=v("ZodPipe",(e,t)=>{Pd.init(e,t),Te.init(e,t),e.in=t.in,e.out=t.out});function Tu(e,t){return new vx({type:"pipe",in:e,out:t})}var Ix=v("ZodReadonly",(e,t)=>{Fd.init(e,t),Te.init(e,t)});function Bx(e){return new Ix({type:"readonly",innerType:e})}var Tx=v("ZodCustom",(e,t)=>{Dd.init(e,t),Te.init(e,t)});function Ex(e){let t=new Je({check:"custom"});return t._zod.check=e,t}function _x(e,t={}){return hu(Tx,e,t)}function Rx(e){let t=Ex((n)=>(n.addIssue=(r)=>{if(typeof r==="string")n.issues.push(wn(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(wn(o))}},e(n.value,n)));return t}var Fx=w({_meta:M(A(),R()).nullish(),terminal:Xe().optional().default(!1)}),Dx=w({_meta:M(A(),R()).nullish(),label:A().nullish(),name:A(),optional:Xe().optional().default(!1),secret:Xe().optional().default(!0)}),Mx=w({_meta:M(A(),R()).nullish(),description:A().nullish(),id:A(),name:A()}),Nx=w({_meta:M(A(),R()).nullish(),description:A().nullish(),id:A(),link:A().nullish(),name:A(),vars:de(Dx)}),Lx=w({_meta:M(A(),R()).nullish(),args:de(A()).optional(),description:A().nullish(),env:M(A(),A()).optional(),id:A(),name:A()}),Ox=fe([Nx.and(w({type:J("env_var")})),Lx.and(w({type:J("terminal")})),Mx]),Du=w({_meta:M(A(),R()).nullish(),methodId:A()}),$x=w({_meta:M(A(),R()).nullish()}),Gx=w({_meta:M(A(),R()).nullish(),blob:A(),mimeType:A().nullish(),uri:A()}),zx=w({_meta:M(A(),R()).nullish()}),Hx=w({amount:Re(),currency:A()}),jx=w({_meta:M(A(),R()).nullish(),terminalId:A()}),Zx=w({_meta:M(A(),R()).nullish(),newText:A(),oldText:A().nullish(),path:A()}),Mu=w({_meta:M(A(),R()).nullish(),name:A(),value:A()}),Wx=fe([J(-32700),J(-32600),J(-32601),J(-32602),J(-32603),J(-32800),J(-32000),J(-32002),Re().int().min(-2147483648,{message:"Invalid value: Expected int32 to be >= -2147483648"}).max(2147483647,{message:"Invalid value: Expected int32 to be <= 2147483647"})]),Nu=w({code:Wx,data:R().optional(),message:A()}),Lu=R(),Ou=R(),$u=R(),Ux=w({_meta:M(A(),R()).nullish(),readTextFile:Xe().optional().default(!1),writeTextFile:Xe().optional().default(!1)}),Qx=w({_meta:M(A(),R()).nullish(),auth:Fx.optional().default({terminal:!1}),fs:Ux.optional().default({readTextFile:!1,writeTextFile:!1}),terminal:Xe().optional().default(!1)}),Gu=w({_meta:M(A(),R()).nullish(),name:A(),value:A()}),zu=w({_meta:M(A(),R()).nullish(),name:A(),title:A().nullish(),version:A()}),Kx=w({_meta:M(A(),R()).nullish()}),Hu=w({_meta:M(A(),R()).nullish(),cursor:A().nullish(),cwd:A().nullish()}),Yx=w({_meta:M(A(),R()).nullish(),http:Xe().optional().default(!1),sse:Xe().optional().default(!1)}),Jx=w({_meta:M(A(),R()).nullish(),headers:de(Gu),name:A(),url:A()}),Vx=w({_meta:M(A(),R()).nullish(),headers:de(Gu),name:A(),url:A()}),qx=w({_meta:M(A(),R()).nullish(),args:de(A()),command:A(),env:de(Mu),name:A()}),ao=fe([Jx.and(w({type:J("http")})),Vx.and(w({type:J("sse")})),qx]),Ki=A(),Xx=w({_meta:M(A(),R()).nullish(),description:A().nullish(),modelId:Ki,name:A()}),ju=w({_meta:M(A(),R()).nullish(),cwd:A(),mcpServers:de(ao)}),Zu=A(),e0=fe([J("allow_once"),J("allow_always"),J("reject_once"),J("reject_always")]),t0=w({_meta:M(A(),R()).nullish(),kind:e0,name:A(),optionId:Zu}),n0=fe([J("high"),J("medium"),J("low")]),r0=fe([J("pending"),J("in_progress"),J("completed")]),o0=w({_meta:M(A(),R()).nullish(),content:A(),priority:n0,status:r0}),i0=w({_meta:M(A(),R()).nullish(),entries:de(o0)}),a0=w({_meta:M(A(),R()).nullish(),audio:Xe().optional().default(!1),embeddedContext:Xe().optional().default(!1),image:Xe().optional().default(!1)}),Wu=Re().int().gte(0).lte(65535),Uu=w({_meta:M(A(),R()).nullish(),clientCapabilities:Qx.optional().default({auth:{terminal:!1},fs:{readTextFile:!1,writeTextFile:!1},terminal:!1}),clientInfo:zu.nullish(),protocolVersion:Wu}),s0=w({_meta:M(A(),R()).nullish(),content:A()}),l0=w({_meta:M(A(),R()).nullish()}),nn=fe([Re(),A()]).nullable(),mI=w({_meta:M(A(),R()).nullish(),requestId:nn}),c0=Ru(["assistant","user"]),lr=w({_meta:M(A(),R()).nullish(),audience:de(c0).nullish(),lastModified:A().nullish(),priority:Re().nullish()}),d0=w({_meta:M(A(),R()).nullish(),annotations:lr.nullish(),data:A(),mimeType:A()}),u0=w({_meta:M(A(),R()).nullish(),annotations:lr.nullish(),data:A(),mimeType:A(),uri:A().nullish()}),g0=w({_meta:M(A(),R()).nullish(),annotations:lr.nullish(),description:A().nullish(),mimeType:A().nullish(),name:A(),size:Re().nullish(),title:A().nullish(),uri:A()}),f0=w({_meta:M(A(),R()).nullish(),optionId:Zu}),h0=fe([w({outcome:J("cancelled")}),f0.and(w({outcome:J("selected")}))]),m0=w({_meta:M(A(),R()).nullish(),outcome:h0}),p0=w({_meta:M(A(),R()).nullish()}),A0=w({currentValue:Xe()}),k0=A(),Qu=A(),x0=fe([J("mode"),J("model"),J("thought_level"),A()]),Yi=A(),Ku=w({_meta:M(A(),R()).nullish(),description:A().nullish(),name:A(),value:Yi}),b0=w({_meta:M(A(),R()).nullish(),group:k0,name:A(),options:de(Ku)}),y0=fe([de(Ku),de(b0)]),w0=w({currentValue:Yi,options:y0}),Cn=Ui(fe([w0.and(w({type:J("select")})),A0.and(w({type:J("boolean")}))]),w({_meta:M(A(),R()).nullish(),category:x0.nullish(),description:A().nullish(),id:Qu,name:A()})),S0=w({_meta:M(A(),R()).nullish(),configOptions:de(Cn)}),C0=w({_meta:M(A(),R()).nullish()}),Ee=A(),Yu=w({_meta:M(A(),R()).nullish(),sessionId:Ee}),pI=w({method:A(),params:fe([Yu,Lu]).nullish()}),Ju=w({_meta:M(A(),R()).nullish(),sessionId:Ee}),Ji=w({_meta:M(A(),R()).nullish(),args:de(A()).optional(),command:A(),cwd:A().nullish(),env:de(Mu).optional(),outputByteLimit:Re().nullish(),sessionId:Ee}),Vu=w({_meta:M(A(),R()).nullish(),cwd:A(),mcpServers:de(ao).optional(),sessionId:Ee}),Vi=w({_meta:M(A(),R()).nullish(),sessionId:Ee,terminalId:A()}),qu=w({_meta:M(A(),R()).nullish(),cwd:A(),mcpServers:de(ao),sessionId:Ee}),qi=w({_meta:M(A(),R()).nullish(),limit:Re().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),line:Re().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),path:A(),sessionId:Ee}),Xi=w({_meta:M(A(),R()).nullish(),sessionId:Ee,terminalId:A()}),Xu=w({_meta:M(A(),R()).nullish(),cwd:A(),mcpServers:de(ao).optional(),sessionId:Ee}),v0=w({_meta:M(A(),R()).nullish(),cwd:A(),sessionId:Ee,title:A().nullish(),updatedAt:A().nullish()}),I0=w({_meta:M(A(),R()).nullish(),nextCursor:A().nullish(),sessions:de(v0)}),B0=w({_meta:M(A(),R()).nullish(),title:A().nullish(),updatedAt:A().nullish()}),T0=w({_meta:M(A(),R()).nullish()}),so=A(),E0=w({_meta:M(A(),R()).nullish(),currentModeId:so}),_0=w({_meta:M(A(),R()).nullish(),description:A().nullish(),id:so,name:A()}),lo=w({_meta:M(A(),R()).nullish(),availableModes:de(_0),currentModeId:so}),co=w({_meta:M(A(),R()).nullish(),availableModels:de(Xx),currentModelId:Ki}),R0=w({_meta:M(A(),R()).nullish(),configOptions:de(Cn).nullish(),models:co.nullish(),modes:lo.nullish(),sessionId:Ee}),P0=w({_meta:M(A(),R()).nullish(),configOptions:de(Cn).nullish(),models:co.nullish(),modes:lo.nullish()}),F0=w({_meta:M(A(),R()).nullish(),configOptions:de(Cn).nullish(),models:co.nullish(),modes:lo.nullish(),sessionId:Ee}),D0=w({_meta:M(A(),R()).nullish(),configOptions:de(Cn).nullish(),models:co.nullish(),modes:lo.nullish()}),M0=w({_meta:M(A(),R()).nullish()}),N0=w({_meta:M(A(),R()).nullish(),close:p0.nullish(),fork:C0.nullish(),list:T0.nullish(),resume:M0.nullish()}),L0=w({_meta:M(A(),R()).nullish(),loadSession:Xe().optional().default(!1),mcpCapabilities:Yx.optional().default({http:!1,sse:!1}),promptCapabilities:a0.optional().default({audio:!1,embeddedContext:!1,image:!1}),sessionCapabilities:N0.optional().default({})}),O0=w({_meta:M(A(),R()).nullish(),agentCapabilities:L0.optional().default({loadSession:!1,mcpCapabilities:{http:!1,sse:!1},promptCapabilities:{audio:!1,embeddedContext:!1,image:!1},sessionCapabilities:{}}),agentInfo:zu.nullish(),authMethods:de(Ox).optional().default([]),protocolVersion:Wu}),eg=Ui(fe([w({type:J("boolean"),value:Xe()}),w({value:Yi})]),w({_meta:M(A(),R()).nullish(),configId:Qu,sessionId:Ee})),$0=w({_meta:M(A(),R()).nullish(),configOptions:de(Cn)}),tg=w({_meta:M(A(),R()).nullish(),modeId:so,sessionId:Ee}),G0=w({_meta:M(A(),R()).nullish()}),ng=w({_meta:M(A(),R()).nullish(),modelId:Ki,sessionId:Ee}),z0=w({_meta:M(A(),R()).nullish()}),H0=fe([J("end_turn"),J("max_tokens"),J("max_turn_requests"),J("refusal"),J("cancelled")]),j0=w({_meta:M(A(),R()).nullish(),terminalId:A()}),Z0=w({_meta:M(A(),R()).nullish(),exitCode:Re().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),signal:A().nullish()}),ea=w({_meta:M(A(),R()).nullish(),sessionId:Ee,terminalId:A()}),W0=w({_meta:M(A(),R()).nullish(),exitStatus:Z0.nullish(),output:A(),truncated:Xe()}),U0=w({_meta:M(A(),R()).nullish(),annotations:lr.nullish(),text:A()}),Q0=w({_meta:M(A(),R()).nullish(),mimeType:A().nullish(),text:A(),uri:A()}),K0=fe([Q0,Gx]),Y0=w({_meta:M(A(),R()).nullish(),annotations:lr.nullish(),resource:K0}),ta=fe([U0.and(w({type:J("text")})),u0.and(w({type:J("image")})),d0.and(w({type:J("audio")})),g0.and(w({type:J("resource_link")})),Y0.and(w({type:J("resource")}))]),J0=w({_meta:M(A(),R()).nullish(),content:ta}),Qi=w({_meta:M(A(),R()).nullish(),content:ta,messageId:A().nullish()}),rg=w({_meta:M(A(),R()).nullish(),messageId:A().nullish(),prompt:de(ta),sessionId:Ee}),AI=w({id:nn,method:A(),params:fe([Uu,Du,ju,qu,Hu,Vu,Xu,Ju,tg,eg,rg,ng,Ou]).nullish()}),og=fe([J0.and(w({type:J("content")})),Zx.and(w({type:J("diff")})),j0.and(w({type:J("terminal")}))]),ig=A(),ag=w({_meta:M(A(),R()).nullish(),line:Re().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),path:A()}),sg=fe([J("pending"),J("in_progress"),J("completed"),J("failed")]),lg=fe([J("read"),J("edit"),J("delete"),J("move"),J("search"),J("execute"),J("think"),J("fetch"),J("switch_mode"),J("other")]),V0=w({_meta:M(A(),R()).nullish(),content:de(og).optional(),kind:lg.optional(),locations:de(ag).optional(),rawInput:R().optional(),rawOutput:R().optional(),status:sg.optional(),title:A(),toolCallId:ig}),cg=w({_meta:M(A(),R()).nullish(),content:de(og).nullish(),kind:lg.nullish(),locations:de(ag).nullish(),rawInput:R().optional(),rawOutput:R().optional(),status:sg.nullish(),title:A().nullish(),toolCallId:ig}),na=w({_meta:M(A(),R()).nullish(),options:de(t0),sessionId:Ee,toolCall:cg}),q0=w({_meta:M(A(),R()).nullish(),hint:A()}),X0=q0,eb=w({_meta:M(A(),R()).nullish(),description:A(),input:X0.nullish(),name:A()}),tb=w({_meta:M(A(),R()).nullish(),availableCommands:de(eb)}),nb=w({cachedReadTokens:Re().nullish(),cachedWriteTokens:Re().nullish(),inputTokens:Re(),outputTokens:Re(),thoughtTokens:Re().nullish(),totalTokens:Re()}),rb=w({_meta:M(A(),R()).nullish(),stopReason:H0,usage:nb.nullish(),userMessageId:A().nullish()}),kI=fe([w({id:nn,result:fe([O0,$x,F0,P0,I0,R0,D0,zx,G0,$0,rb,z0,$u])}),w({error:Nu,id:nn})]),ob=w({_meta:M(A(),R()).nullish(),cost:Hx.nullish(),size:Re(),used:Re()}),ib=fe([Qi.and(w({sessionUpdate:J("user_message_chunk")})),Qi.and(w({sessionUpdate:J("agent_message_chunk")})),Qi.and(w({sessionUpdate:J("agent_thought_chunk")})),V0.and(w({sessionUpdate:J("tool_call")})),cg.and(w({sessionUpdate:J("tool_call_update")})),i0.and(w({sessionUpdate:J("plan")})),tb.and(w({sessionUpdate:J("available_commands_update")})),E0.and(w({sessionUpdate:J("current_mode_update")})),S0.and(w({sessionUpdate:J("config_option_update")})),B0.and(w({sessionUpdate:J("session_info_update")})),ob.and(w({sessionUpdate:J("usage_update")}))]),ra=w({_meta:M(A(),R()).nullish(),sessionId:Ee,update:ib}),xI=w({method:A(),params:fe([ra,Lu]).nullish()}),oa=w({_meta:M(A(),R()).nullish(),sessionId:Ee,terminalId:A()}),ab=w({_meta:M(A(),R()).nullish(),exitCode:Re().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),signal:A().nullish()}),ia=w({_meta:M(A(),R()).nullish(),content:A(),path:A(),sessionId:Ee}),bI=w({id:nn,method:A(),params:fe([ia,qi,na,Ji,ea,Xi,oa,Vi,Ou]).nullish()}),sb=w({_meta:M(A(),R()).nullish()}),yI=fe([w({id:nn,result:fe([sb,s0,m0,jx,W0,l0,ab,Kx,$u])}),w({error:Nu,id:nn})]);function dg(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:d,done:h}=await l.read();if(h)break;if(!d)continue;s+=r.decode(d,{stream:!0});let g=s.split(`
|
|
669
|
+
})));`),x.write(`newResult[${bn(T)}] = ${H}.value`)}x.write("payload.value = newResult;"),x.write("return payload;");let U=x.compile();return(T,H)=>U(g,T,H)},o,i=Ur,a=!Zr.jitless,l=a&&Dl.value,d=t.catchall,h;e._zod.parse=(g,x)=>{h??(h=n.value);let b=g.value;if(!i(b))return g.issues.push({expected:"object",code:"invalid_type",input:b,inst:e}),g;let I=[];if(a&&l&&x?.async===!1&&x.jitless!==!0){if(!o)o=r(t.shape);g=o(g,x)}else{g.value={};let H=h.shape;for(let C of h.keys){let E=H[C],B=E._zod.run({value:b[C],issues:[]},x),N=E._zod.optin==="optional"&&E._zod.optout==="optional";if(B instanceof Promise)I.push(B.then((F)=>N?Mc(F,g,C,b):Vr(F,g,C)));else if(N)Mc(B,g,C,b);else Vr(B,g,C)}}if(!d)return I.length?Promise.all(I).then(()=>g):g;let P=[],Y=h.keySet,U=d._zod,T=U.def.type;for(let H of Object.keys(b)){if(Y.has(H))continue;if(T==="never"){P.push(H);continue}let C=U.run({value:b[H],issues:[]},x);if(C instanceof Promise)I.push(C.then((E)=>Vr(E,g,H)));else Vr(C,g,H)}if(P.length)g.issues.push({code:"unrecognized_keys",keys:P,input:b,inst:e});if(!I.length)return g;return Promise.all(I).then(()=>g)}});function Nc(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)=>_t(i,r,Et())))}),t}var xd=v("$ZodUnion",(e,t)=>{be.init(e,t),xe(e._zod,"optin",()=>t.options.some((n)=>n._zod.optin==="optional")?"optional":void 0),xe(e._zod,"optout",()=>t.options.some((n)=>n._zod.optout==="optional")?"optional":void 0),xe(e._zod,"values",()=>{if(t.options.every((n)=>n._zod.values))return new Set(t.options.flatMap((n)=>Array.from(n._zod.values)));return}),xe(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)=>Kr(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 Nc(i,n,e,r);return Promise.all(i).then((a)=>Nc(a,n,e,r))}});var bd=v("$ZodIntersection",(e,t)=>{be.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,d])=>Lc(n,l,d));return Lc(n,i,a)}});function Ri(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=Ri(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=Ri(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 Lc(e,t,n){if(t.issues.length)e.issues.push(...t.issues);if(n.issues.length)e.issues.push(...n.issues);if(yn(e))return e;let r=Ri(t.value,n.value);if(!r.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(r.mergeErrorPath)}`);return e.value=r.data,e}var yd=v("$ZodRecord",(e,t)=>{be.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 d=t.valueType._zod.run({value:o[l],issues:[]},r);if(d instanceof Promise)i.push(d.then((h)=>{if(h.issues.length)n.issues.push(...Lt(l,h.issues));n.value[l]=h.value}));else{if(d.issues.length)n.issues.push(...Lt(l,d.issues));n.value[l]=d.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((d)=>_t(d,r,Et())),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((d)=>{if(d.issues.length)n.issues.push(...Lt(a,d.issues));n.value[s.value]=d.value}));else{if(l.issues.length)n.issues.push(...Lt(a,l.issues));n.value[s.value]=l.value}}}if(i.length)return Promise.all(i).then(()=>n);return n}});var wd=v("$ZodEnum",(e,t)=>{be.init(e,t);let n=Rl(t.entries);e._zod.values=new Set(n),e._zod.pattern=new RegExp(`^(${n.filter((r)=>Ml.has(typeof r)).map((r)=>typeof r==="string"?Xt(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}}),Sd=v("$ZodLiteral",(e,t)=>{be.init(e,t),e._zod.values=new Set(t.values),e._zod.pattern=new RegExp(`^(${t.values.map((n)=>typeof n==="string"?Xt(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 Cd=v("$ZodTransform",(e,t)=>{be.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 jt;return n.value=o,n}}),vd=v("$ZodOptional",(e,t)=>{be.init(e,t),e._zod.optin="optional",e._zod.optout="optional",xe(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),xe(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${Kr(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)}}),Id=v("$ZodNullable",(e,t)=>{be.init(e,t),xe(e._zod,"optin",()=>t.innerType._zod.optin),xe(e._zod,"optout",()=>t.innerType._zod.optout),xe(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${Kr(n.source)}|null)$`):void 0}),xe(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)}}),Bd=v("$ZodDefault",(e,t)=>{be.init(e,t),e._zod.optin="optional",xe(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)=>Oc(i,t));return Oc(o,t)}});function Oc(e,t){if(e.value===void 0)e.value=t.defaultValue;return e}var Td=v("$ZodPrefault",(e,t)=>{be.init(e,t),e._zod.optin="optional",xe(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)}}),Ed=v("$ZodNonOptional",(e,t)=>{be.init(e,t),xe(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)=>$c(i,e));return $c(o,e)}});function $c(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 _d=v("$ZodCatch",(e,t)=>{be.init(e,t),e._zod.optin="optional",xe(e._zod,"optout",()=>t.innerType._zod.optout),xe(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)=>_t(a,r,Et()))},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)=>_t(i,r,Et()))},input:n.value}),n.issues=[];return n}});var Rd=v("$ZodPipe",(e,t)=>{be.init(e,t),xe(e._zod,"values",()=>t.in._zod.values),xe(e._zod,"optin",()=>t.in._zod.optin),xe(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)=>Gc(i,t,r));return Gc(o,t,r)}});function Gc(e,t,n){if(yn(e))return e;return t.out._zod.run({value:e.value,issues:e.issues},n)}var Pd=v("$ZodReadonly",(e,t)=>{be.init(e,t),xe(e._zod,"propValues",()=>t.innerType._zod.propValues),xe(e._zod,"values",()=>t.innerType._zod.values),xe(e._zod,"optin",()=>t.innerType._zod.optin),xe(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(zc);return zc(o)}});function zc(e){return e.value=Object.freeze(e.value),e}var Fd=v("$ZodCustom",(e,t)=>{Je.init(e,t),be.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)=>Hc(i,n,r,e));Hc(o,n,r,e);return}});function Hc(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(wn(o))}}var XC=Symbol("ZodOutput"),ev=Symbol("ZodInput");class Dd{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 Ik(){return new Dd}var or=Ik();function Md(e,t){return new e({type:"string",...te(t)})}function Nd(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...te(t)})}function Fi(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...te(t)})}function Ld(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...te(t)})}function Od(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...te(t)})}function $d(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...te(t)})}function Gd(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...te(t)})}function zd(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...te(t)})}function Hd(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...te(t)})}function jd(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...te(t)})}function Zd(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...te(t)})}function Wd(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...te(t)})}function Ud(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...te(t)})}function Qd(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...te(t)})}function Kd(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...te(t)})}function Yd(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...te(t)})}function Jd(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...te(t)})}function Vd(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...te(t)})}function qd(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...te(t)})}function Xd(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...te(t)})}function eu(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...te(t)})}function tu(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...te(t)})}function nu(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...te(t)})}function ru(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...te(t)})}function ou(e,t){return new e({type:"string",format:"date",check:"string_format",...te(t)})}function iu(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...te(t)})}function au(e,t){return new e({type:"string",format:"duration",check:"string_format",...te(t)})}function su(e,t){return new e({type:"number",checks:[],...te(t)})}function lu(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...te(t)})}function cu(e,t){return new e({type:"boolean",...te(t)})}function du(e){return new e({type:"unknown"})}function uu(e,t){return new e({type:"never",...te(t)})}function Xr(e,t){return new Ti({check:"less_than",...te(t),value:e,inclusive:!1})}function ir(e,t){return new Ti({check:"less_than",...te(t),value:e,inclusive:!0})}function eo(e,t){return new Ei({check:"greater_than",...te(t),value:e,inclusive:!1})}function ar(e,t){return new Ei({check:"greater_than",...te(t),value:e,inclusive:!0})}function to(e,t){return new bc({check:"multiple_of",...te(t),value:e})}function no(e,t){return new wc({check:"max_length",...te(t),maximum:e})}function Sn(e,t){return new Sc({check:"min_length",...te(t),minimum:e})}function ro(e,t){return new Cc({check:"length_equals",...te(t),length:e})}function Di(e,t){return new vc({check:"string_format",format:"regex",...te(t),pattern:e})}function Mi(e){return new Ic({check:"string_format",format:"lowercase",...te(e)})}function Ni(e){return new Bc({check:"string_format",format:"uppercase",...te(e)})}function Li(e,t){return new Tc({check:"string_format",format:"includes",...te(t),includes:e})}function Oi(e,t){return new Ec({check:"string_format",format:"starts_with",...te(t),prefix:e})}function $i(e,t){return new _c({check:"string_format",format:"ends_with",...te(t),suffix:e})}function tn(e){return new Rc({check:"overwrite",tx:e})}function Gi(e){return tn((t)=>t.normalize(e))}function zi(){return tn((e)=>e.trim())}function Hi(){return tn((e)=>e.toLowerCase())}function ji(){return tn((e)=>e.toUpperCase())}function gu(e,t,n){return new e({type:"array",element:t,...te(n)})}function fu(e,t,n){return new e({type:"custom",check:"custom",fn:t,...te(n)})}var Pk=v("ZodISODateTime",(e,t)=>{ed.init(e,t),Ce.init(e,t)});function hu(e){return ru(Pk,e)}var Fk=v("ZodISODate",(e,t)=>{td.init(e,t),Ce.init(e,t)});function mu(e){return ou(Fk,e)}var Dk=v("ZodISOTime",(e,t)=>{nd.init(e,t),Ce.init(e,t)});function pu(e){return iu(Dk,e)}var Mk=v("ZodISODuration",(e,t)=>{rd.init(e,t),Ce.init(e,t)});function Au(e){return au(Mk,e)}var ku=(e,t)=>{Jr.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:(n)=>Gl(e,n)},flatten:{value:(n)=>$l(e,n)},addIssue:{value:(n)=>e.issues.push(n)},addIssues:{value:(n)=>e.issues.push(...n)},isEmpty:{get(){return e.issues.length===0}}})},Tv=v("ZodError",ku),sr=v("ZodError",ku,{Parent:Error});var xu=zl(sr),bu=Hl(sr),yu=Si(sr),wu=Ci(sr);var Te=v("ZodType",(e,t)=>(be.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)=>Nt(e,n,r),e.brand=()=>e,e.register=(n,r)=>(n.add(e,r),e),e.parse=(n,r)=>xu(e,n,r,{callee:e.parse}),e.safeParse=(n,r)=>yu(e,n,r),e.parseAsync=async(n,r)=>bu(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>wu(e,n,r),e.spa=e.safeParseAsync,e.refine=(n,r)=>e.check(Ex(n,r)),e.superRefine=(n)=>e.check(_x(n)),e.overwrite=(n)=>e.check(tn(n)),e.optional=()=>vu(e),e.nullable=()=>Iu(e),e.nullish=()=>vu(Iu(e)),e.nonoptional=(n)=>yx(e,n),e.array=()=>de(e),e.or=(n)=>fe([e,n]),e.and=(n)=>Wi(e,n),e.transform=(n)=>Bu(e,mx(n)),e.default=(n)=>kx(e,n),e.prefault=(n)=>bx(e,n),e.catch=(n)=>Sx(e,n),e.pipe=(n)=>Bu(e,n),e.readonly=()=>Ix(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)),Tu=v("_ZodString",(e,t)=>{qr.init(e,t),Te.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(Di(...r)),e.includes=(...r)=>e.check(Li(...r)),e.startsWith=(...r)=>e.check(Oi(...r)),e.endsWith=(...r)=>e.check($i(...r)),e.min=(...r)=>e.check(Sn(...r)),e.max=(...r)=>e.check(no(...r)),e.length=(...r)=>e.check(ro(...r)),e.nonempty=(...r)=>e.check(Sn(1,...r)),e.lowercase=(r)=>e.check(Mi(r)),e.uppercase=(r)=>e.check(Ni(r)),e.trim=()=>e.check(zi()),e.normalize=(...r)=>e.check(Gi(...r)),e.toLowerCase=()=>e.check(Hi()),e.toUpperCase=()=>e.check(ji())}),$k=v("ZodString",(e,t)=>{qr.init(e,t),Tu.init(e,t),e.email=(n)=>e.check(Nd(Gk,n)),e.url=(n)=>e.check(zd(zk,n)),e.jwt=(n)=>e.check(nu(nx,n)),e.emoji=(n)=>e.check(Hd(Hk,n)),e.guid=(n)=>e.check(Fi(Su,n)),e.uuid=(n)=>e.check(Ld(io,n)),e.uuidv4=(n)=>e.check(Od(io,n)),e.uuidv6=(n)=>e.check($d(io,n)),e.uuidv7=(n)=>e.check(Gd(io,n)),e.nanoid=(n)=>e.check(jd(jk,n)),e.guid=(n)=>e.check(Fi(Su,n)),e.cuid=(n)=>e.check(Zd(Zk,n)),e.cuid2=(n)=>e.check(Wd(Wk,n)),e.ulid=(n)=>e.check(Ud(Uk,n)),e.base64=(n)=>e.check(Xd(Xk,n)),e.base64url=(n)=>e.check(eu(ex,n)),e.xid=(n)=>e.check(Qd(Qk,n)),e.ksuid=(n)=>e.check(Kd(Kk,n)),e.ipv4=(n)=>e.check(Yd(Yk,n)),e.ipv6=(n)=>e.check(Jd(Jk,n)),e.cidrv4=(n)=>e.check(Vd(Vk,n)),e.cidrv6=(n)=>e.check(qd(qk,n)),e.e164=(n)=>e.check(tu(tx,n)),e.datetime=(n)=>e.check(hu(n)),e.date=(n)=>e.check(mu(n)),e.time=(n)=>e.check(pu(n)),e.duration=(n)=>e.check(Au(n))});function A(e){return Md($k,e)}var Ce=v("ZodStringFormat",(e,t)=>{ye.init(e,t),Tu.init(e,t)}),Gk=v("ZodEmail",(e,t)=>{Wc.init(e,t),Ce.init(e,t)});var Su=v("ZodGUID",(e,t)=>{jc.init(e,t),Ce.init(e,t)});var io=v("ZodUUID",(e,t)=>{Zc.init(e,t),Ce.init(e,t)});var zk=v("ZodURL",(e,t)=>{Uc.init(e,t),Ce.init(e,t)});var Hk=v("ZodEmoji",(e,t)=>{Qc.init(e,t),Ce.init(e,t)});var jk=v("ZodNanoID",(e,t)=>{Kc.init(e,t),Ce.init(e,t)});var Zk=v("ZodCUID",(e,t)=>{Yc.init(e,t),Ce.init(e,t)});var Wk=v("ZodCUID2",(e,t)=>{Jc.init(e,t),Ce.init(e,t)});var Uk=v("ZodULID",(e,t)=>{Vc.init(e,t),Ce.init(e,t)});var Qk=v("ZodXID",(e,t)=>{qc.init(e,t),Ce.init(e,t)});var Kk=v("ZodKSUID",(e,t)=>{Xc.init(e,t),Ce.init(e,t)});var Yk=v("ZodIPv4",(e,t)=>{od.init(e,t),Ce.init(e,t)});var Jk=v("ZodIPv6",(e,t)=>{id.init(e,t),Ce.init(e,t)});var Vk=v("ZodCIDRv4",(e,t)=>{ad.init(e,t),Ce.init(e,t)});var qk=v("ZodCIDRv6",(e,t)=>{sd.init(e,t),Ce.init(e,t)});var Xk=v("ZodBase64",(e,t)=>{cd.init(e,t),Ce.init(e,t)});var ex=v("ZodBase64URL",(e,t)=>{dd.init(e,t),Ce.init(e,t)});var tx=v("ZodE164",(e,t)=>{ud.init(e,t),Ce.init(e,t)});var nx=v("ZodJWT",(e,t)=>{gd.init(e,t),Ce.init(e,t)});var Eu=v("ZodNumber",(e,t)=>{Pi.init(e,t),Te.init(e,t),e.gt=(r,o)=>e.check(eo(r,o)),e.gte=(r,o)=>e.check(ar(r,o)),e.min=(r,o)=>e.check(ar(r,o)),e.lt=(r,o)=>e.check(Xr(r,o)),e.lte=(r,o)=>e.check(ir(r,o)),e.max=(r,o)=>e.check(ir(r,o)),e.int=(r)=>e.check(Cu(r)),e.safe=(r)=>e.check(Cu(r)),e.positive=(r)=>e.check(eo(0,r)),e.nonnegative=(r)=>e.check(ar(0,r)),e.negative=(r)=>e.check(Xr(0,r)),e.nonpositive=(r)=>e.check(ir(0,r)),e.multipleOf=(r,o)=>e.check(to(r,o)),e.step=(r,o)=>e.check(to(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 Re(e){return su(Eu,e)}var rx=v("ZodNumberFormat",(e,t)=>{fd.init(e,t),Eu.init(e,t)});function Cu(e){return lu(rx,e)}var ox=v("ZodBoolean",(e,t)=>{hd.init(e,t),Te.init(e,t)});function Xe(e){return cu(ox,e)}var ix=v("ZodUnknown",(e,t)=>{md.init(e,t),Te.init(e,t)});function R(){return du(ix)}var ax=v("ZodNever",(e,t)=>{pd.init(e,t),Te.init(e,t)});function sx(e){return uu(ax,e)}var lx=v("ZodArray",(e,t)=>{Ad.init(e,t),Te.init(e,t),e.element=t.element,e.min=(n,r)=>e.check(Sn(n,r)),e.nonempty=(n)=>e.check(Sn(1,n)),e.max=(n,r)=>e.check(no(n,r)),e.length=(n,r)=>e.check(ro(n,r)),e.unwrap=()=>e.element});function de(e,t){return gu(lx,e,t)}var cx=v("ZodObject",(e,t)=>{kd.init(e,t),Te.init(e,t),xe(e,"shape",()=>t.shape),e.keyof=()=>_u(Object.keys(e._zod.def.shape)),e.catchall=(n)=>e.clone({...e._zod.def,catchall:n}),e.passthrough=()=>e.clone({...e._zod.def,catchall:R()}),e.loose=()=>e.clone({...e._zod.def,catchall:R()}),e.strict=()=>e.clone({...e._zod.def,catchall:sx()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=(n)=>xk(e,n),e.merge=(n)=>bk(e,n),e.pick=(n)=>Ak(e,n),e.omit=(n)=>kk(e,n),e.partial=(...n)=>yk(Ru,e,n[0]),e.required=(...n)=>wk(Pu,e,n[0])});function w(e,t){let n={type:"object",get shape(){return bi(this,"shape",{...e}),this.shape},...te(t)};return new cx(n)}var dx=v("ZodUnion",(e,t)=>{xd.init(e,t),Te.init(e,t),e.options=t.options});function fe(e,t){return new dx({type:"union",options:e,...te(t)})}var ux=v("ZodIntersection",(e,t)=>{bd.init(e,t),Te.init(e,t)});function Wi(e,t){return new ux({type:"intersection",left:e,right:t})}var gx=v("ZodRecord",(e,t)=>{yd.init(e,t),Te.init(e,t),e.keyType=t.keyType,e.valueType=t.valueType});function M(e,t,n){return new gx({type:"record",keyType:e,valueType:t,...te(n)})}var Zi=v("ZodEnum",(e,t)=>{wd.init(e,t),Te.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 Zi({...t,checks:[],...te(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 Zi({...t,checks:[],...te(o),entries:i})}});function _u(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map((r)=>[r,r])):e;return new Zi({type:"enum",entries:n,...te(t)})}var fx=v("ZodLiteral",(e,t)=>{Sd.init(e,t),Te.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 J(e,t){return new fx({type:"literal",values:Array.isArray(e)?e:[e],...te(t)})}var hx=v("ZodTransform",(e,t)=>{Cd.init(e,t),Te.init(e,t),e._zod.parse=(n,r)=>{n.addIssue=(i)=>{if(typeof i==="string")n.issues.push(wn(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(wn(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 mx(e){return new hx({type:"transform",transform:e})}var Ru=v("ZodOptional",(e,t)=>{vd.init(e,t),Te.init(e,t),e.unwrap=()=>e._zod.def.innerType});function vu(e){return new Ru({type:"optional",innerType:e})}var px=v("ZodNullable",(e,t)=>{Id.init(e,t),Te.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Iu(e){return new px({type:"nullable",innerType:e})}var Ax=v("ZodDefault",(e,t)=>{Bd.init(e,t),Te.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function kx(e,t){return new Ax({type:"default",innerType:e,get defaultValue(){return typeof t==="function"?t():t}})}var xx=v("ZodPrefault",(e,t)=>{Td.init(e,t),Te.init(e,t),e.unwrap=()=>e._zod.def.innerType});function bx(e,t){return new xx({type:"prefault",innerType:e,get defaultValue(){return typeof t==="function"?t():t}})}var Pu=v("ZodNonOptional",(e,t)=>{Ed.init(e,t),Te.init(e,t),e.unwrap=()=>e._zod.def.innerType});function yx(e,t){return new Pu({type:"nonoptional",innerType:e,...te(t)})}var wx=v("ZodCatch",(e,t)=>{_d.init(e,t),Te.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Sx(e,t){return new wx({type:"catch",innerType:e,catchValue:typeof t==="function"?t:()=>t})}var Cx=v("ZodPipe",(e,t)=>{Rd.init(e,t),Te.init(e,t),e.in=t.in,e.out=t.out});function Bu(e,t){return new Cx({type:"pipe",in:e,out:t})}var vx=v("ZodReadonly",(e,t)=>{Pd.init(e,t),Te.init(e,t)});function Ix(e){return new vx({type:"readonly",innerType:e})}var Bx=v("ZodCustom",(e,t)=>{Fd.init(e,t),Te.init(e,t)});function Tx(e){let t=new Je({check:"custom"});return t._zod.check=e,t}function Ex(e,t={}){return fu(Bx,e,t)}function _x(e){let t=Tx((n)=>(n.addIssue=(r)=>{if(typeof r==="string")n.issues.push(wn(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(wn(o))}},e(n.value,n)));return t}var Px=w({_meta:M(A(),R()).nullish(),terminal:Xe().optional().default(!1)}),Fx=w({_meta:M(A(),R()).nullish(),label:A().nullish(),name:A(),optional:Xe().optional().default(!1),secret:Xe().optional().default(!0)}),Dx=w({_meta:M(A(),R()).nullish(),description:A().nullish(),id:A(),name:A()}),Mx=w({_meta:M(A(),R()).nullish(),description:A().nullish(),id:A(),link:A().nullish(),name:A(),vars:de(Fx)}),Nx=w({_meta:M(A(),R()).nullish(),args:de(A()).optional(),description:A().nullish(),env:M(A(),A()).optional(),id:A(),name:A()}),Lx=fe([Mx.and(w({type:J("env_var")})),Nx.and(w({type:J("terminal")})),Dx]),Fu=w({_meta:M(A(),R()).nullish(),methodId:A()}),Ox=w({_meta:M(A(),R()).nullish()}),$x=w({_meta:M(A(),R()).nullish(),blob:A(),mimeType:A().nullish(),uri:A()}),Gx=w({_meta:M(A(),R()).nullish()}),zx=w({amount:Re(),currency:A()}),Hx=w({_meta:M(A(),R()).nullish(),terminalId:A()}),jx=w({_meta:M(A(),R()).nullish(),newText:A(),oldText:A().nullish(),path:A()}),Du=w({_meta:M(A(),R()).nullish(),name:A(),value:A()}),Zx=fe([J(-32700),J(-32600),J(-32601),J(-32602),J(-32603),J(-32800),J(-32000),J(-32002),Re().int().min(-2147483648,{message:"Invalid value: Expected int32 to be >= -2147483648"}).max(2147483647,{message:"Invalid value: Expected int32 to be <= 2147483647"})]),Mu=w({code:Zx,data:R().optional(),message:A()}),Nu=R(),Lu=R(),Ou=R(),Wx=w({_meta:M(A(),R()).nullish(),readTextFile:Xe().optional().default(!1),writeTextFile:Xe().optional().default(!1)}),Ux=w({_meta:M(A(),R()).nullish(),auth:Px.optional().default({terminal:!1}),fs:Wx.optional().default({readTextFile:!1,writeTextFile:!1}),terminal:Xe().optional().default(!1)}),$u=w({_meta:M(A(),R()).nullish(),name:A(),value:A()}),Gu=w({_meta:M(A(),R()).nullish(),name:A(),title:A().nullish(),version:A()}),Qx=w({_meta:M(A(),R()).nullish()}),zu=w({_meta:M(A(),R()).nullish(),cursor:A().nullish(),cwd:A().nullish()}),Kx=w({_meta:M(A(),R()).nullish(),http:Xe().optional().default(!1),sse:Xe().optional().default(!1)}),Yx=w({_meta:M(A(),R()).nullish(),headers:de($u),name:A(),url:A()}),Jx=w({_meta:M(A(),R()).nullish(),headers:de($u),name:A(),url:A()}),Vx=w({_meta:M(A(),R()).nullish(),args:de(A()),command:A(),env:de(Du),name:A()}),ao=fe([Yx.and(w({type:J("http")})),Jx.and(w({type:J("sse")})),Vx]),Qi=A(),qx=w({_meta:M(A(),R()).nullish(),description:A().nullish(),modelId:Qi,name:A()}),Hu=w({_meta:M(A(),R()).nullish(),cwd:A(),mcpServers:de(ao)}),ju=A(),Xx=fe([J("allow_once"),J("allow_always"),J("reject_once"),J("reject_always")]),e0=w({_meta:M(A(),R()).nullish(),kind:Xx,name:A(),optionId:ju}),t0=fe([J("high"),J("medium"),J("low")]),n0=fe([J("pending"),J("in_progress"),J("completed")]),r0=w({_meta:M(A(),R()).nullish(),content:A(),priority:t0,status:n0}),o0=w({_meta:M(A(),R()).nullish(),entries:de(r0)}),i0=w({_meta:M(A(),R()).nullish(),audio:Xe().optional().default(!1),embeddedContext:Xe().optional().default(!1),image:Xe().optional().default(!1)}),Zu=Re().int().gte(0).lte(65535),Wu=w({_meta:M(A(),R()).nullish(),clientCapabilities:Ux.optional().default({auth:{terminal:!1},fs:{readTextFile:!1,writeTextFile:!1},terminal:!1}),clientInfo:Gu.nullish(),protocolVersion:Zu}),a0=w({_meta:M(A(),R()).nullish(),content:A()}),s0=w({_meta:M(A(),R()).nullish()}),nn=fe([Re(),A()]).nullable(),kI=w({_meta:M(A(),R()).nullish(),requestId:nn}),l0=_u(["assistant","user"]),lr=w({_meta:M(A(),R()).nullish(),audience:de(l0).nullish(),lastModified:A().nullish(),priority:Re().nullish()}),c0=w({_meta:M(A(),R()).nullish(),annotations:lr.nullish(),data:A(),mimeType:A()}),d0=w({_meta:M(A(),R()).nullish(),annotations:lr.nullish(),data:A(),mimeType:A(),uri:A().nullish()}),u0=w({_meta:M(A(),R()).nullish(),annotations:lr.nullish(),description:A().nullish(),mimeType:A().nullish(),name:A(),size:Re().nullish(),title:A().nullish(),uri:A()}),g0=w({_meta:M(A(),R()).nullish(),optionId:ju}),f0=fe([w({outcome:J("cancelled")}),g0.and(w({outcome:J("selected")}))]),h0=w({_meta:M(A(),R()).nullish(),outcome:f0}),m0=w({_meta:M(A(),R()).nullish()}),p0=w({currentValue:Xe()}),A0=A(),Uu=A(),k0=fe([J("mode"),J("model"),J("thought_level"),A()]),Ki=A(),Qu=w({_meta:M(A(),R()).nullish(),description:A().nullish(),name:A(),value:Ki}),x0=w({_meta:M(A(),R()).nullish(),group:A0,name:A(),options:de(Qu)}),b0=fe([de(Qu),de(x0)]),y0=w({currentValue:Ki,options:b0}),Cn=Wi(fe([y0.and(w({type:J("select")})),p0.and(w({type:J("boolean")}))]),w({_meta:M(A(),R()).nullish(),category:k0.nullish(),description:A().nullish(),id:Uu,name:A()})),w0=w({_meta:M(A(),R()).nullish(),configOptions:de(Cn)}),S0=w({_meta:M(A(),R()).nullish()}),Ee=A(),Ku=w({_meta:M(A(),R()).nullish(),sessionId:Ee}),xI=w({method:A(),params:fe([Ku,Nu]).nullish()}),Yu=w({_meta:M(A(),R()).nullish(),sessionId:Ee}),Yi=w({_meta:M(A(),R()).nullish(),args:de(A()).optional(),command:A(),cwd:A().nullish(),env:de(Du).optional(),outputByteLimit:Re().nullish(),sessionId:Ee}),Ju=w({_meta:M(A(),R()).nullish(),cwd:A(),mcpServers:de(ao).optional(),sessionId:Ee}),Ji=w({_meta:M(A(),R()).nullish(),sessionId:Ee,terminalId:A()}),Vu=w({_meta:M(A(),R()).nullish(),cwd:A(),mcpServers:de(ao),sessionId:Ee}),Vi=w({_meta:M(A(),R()).nullish(),limit:Re().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),line:Re().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),path:A(),sessionId:Ee}),qi=w({_meta:M(A(),R()).nullish(),sessionId:Ee,terminalId:A()}),qu=w({_meta:M(A(),R()).nullish(),cwd:A(),mcpServers:de(ao).optional(),sessionId:Ee}),C0=w({_meta:M(A(),R()).nullish(),cwd:A(),sessionId:Ee,title:A().nullish(),updatedAt:A().nullish()}),v0=w({_meta:M(A(),R()).nullish(),nextCursor:A().nullish(),sessions:de(C0)}),I0=w({_meta:M(A(),R()).nullish(),title:A().nullish(),updatedAt:A().nullish()}),B0=w({_meta:M(A(),R()).nullish()}),so=A(),T0=w({_meta:M(A(),R()).nullish(),currentModeId:so}),E0=w({_meta:M(A(),R()).nullish(),description:A().nullish(),id:so,name:A()}),lo=w({_meta:M(A(),R()).nullish(),availableModes:de(E0),currentModeId:so}),co=w({_meta:M(A(),R()).nullish(),availableModels:de(qx),currentModelId:Qi}),_0=w({_meta:M(A(),R()).nullish(),configOptions:de(Cn).nullish(),models:co.nullish(),modes:lo.nullish(),sessionId:Ee}),R0=w({_meta:M(A(),R()).nullish(),configOptions:de(Cn).nullish(),models:co.nullish(),modes:lo.nullish()}),P0=w({_meta:M(A(),R()).nullish(),configOptions:de(Cn).nullish(),models:co.nullish(),modes:lo.nullish(),sessionId:Ee}),F0=w({_meta:M(A(),R()).nullish(),configOptions:de(Cn).nullish(),models:co.nullish(),modes:lo.nullish()}),D0=w({_meta:M(A(),R()).nullish()}),M0=w({_meta:M(A(),R()).nullish(),close:m0.nullish(),fork:S0.nullish(),list:B0.nullish(),resume:D0.nullish()}),N0=w({_meta:M(A(),R()).nullish(),loadSession:Xe().optional().default(!1),mcpCapabilities:Kx.optional().default({http:!1,sse:!1}),promptCapabilities:i0.optional().default({audio:!1,embeddedContext:!1,image:!1}),sessionCapabilities:M0.optional().default({})}),L0=w({_meta:M(A(),R()).nullish(),agentCapabilities:N0.optional().default({loadSession:!1,mcpCapabilities:{http:!1,sse:!1},promptCapabilities:{audio:!1,embeddedContext:!1,image:!1},sessionCapabilities:{}}),agentInfo:Gu.nullish(),authMethods:de(Lx).optional().default([]),protocolVersion:Zu}),Xu=Wi(fe([w({type:J("boolean"),value:Xe()}),w({value:Ki})]),w({_meta:M(A(),R()).nullish(),configId:Uu,sessionId:Ee})),O0=w({_meta:M(A(),R()).nullish(),configOptions:de(Cn)}),eg=w({_meta:M(A(),R()).nullish(),modeId:so,sessionId:Ee}),$0=w({_meta:M(A(),R()).nullish()}),tg=w({_meta:M(A(),R()).nullish(),modelId:Qi,sessionId:Ee}),G0=w({_meta:M(A(),R()).nullish()}),z0=fe([J("end_turn"),J("max_tokens"),J("max_turn_requests"),J("refusal"),J("cancelled")]),H0=w({_meta:M(A(),R()).nullish(),terminalId:A()}),j0=w({_meta:M(A(),R()).nullish(),exitCode:Re().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),signal:A().nullish()}),Xi=w({_meta:M(A(),R()).nullish(),sessionId:Ee,terminalId:A()}),Z0=w({_meta:M(A(),R()).nullish(),exitStatus:j0.nullish(),output:A(),truncated:Xe()}),W0=w({_meta:M(A(),R()).nullish(),annotations:lr.nullish(),text:A()}),U0=w({_meta:M(A(),R()).nullish(),mimeType:A().nullish(),text:A(),uri:A()}),Q0=fe([U0,$x]),K0=w({_meta:M(A(),R()).nullish(),annotations:lr.nullish(),resource:Q0}),ea=fe([W0.and(w({type:J("text")})),d0.and(w({type:J("image")})),c0.and(w({type:J("audio")})),u0.and(w({type:J("resource_link")})),K0.and(w({type:J("resource")}))]),Y0=w({_meta:M(A(),R()).nullish(),content:ea}),Ui=w({_meta:M(A(),R()).nullish(),content:ea,messageId:A().nullish()}),ng=w({_meta:M(A(),R()).nullish(),messageId:A().nullish(),prompt:de(ea),sessionId:Ee}),bI=w({id:nn,method:A(),params:fe([Wu,Fu,Hu,Vu,zu,Ju,qu,Yu,eg,Xu,ng,tg,Lu]).nullish()}),rg=fe([Y0.and(w({type:J("content")})),jx.and(w({type:J("diff")})),H0.and(w({type:J("terminal")}))]),og=A(),ig=w({_meta:M(A(),R()).nullish(),line:Re().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),path:A()}),ag=fe([J("pending"),J("in_progress"),J("completed"),J("failed")]),sg=fe([J("read"),J("edit"),J("delete"),J("move"),J("search"),J("execute"),J("think"),J("fetch"),J("switch_mode"),J("other")]),J0=w({_meta:M(A(),R()).nullish(),content:de(rg).optional(),kind:sg.optional(),locations:de(ig).optional(),rawInput:R().optional(),rawOutput:R().optional(),status:ag.optional(),title:A(),toolCallId:og}),lg=w({_meta:M(A(),R()).nullish(),content:de(rg).nullish(),kind:sg.nullish(),locations:de(ig).nullish(),rawInput:R().optional(),rawOutput:R().optional(),status:ag.nullish(),title:A().nullish(),toolCallId:og}),ta=w({_meta:M(A(),R()).nullish(),options:de(e0),sessionId:Ee,toolCall:lg}),V0=w({_meta:M(A(),R()).nullish(),hint:A()}),q0=V0,X0=w({_meta:M(A(),R()).nullish(),description:A(),input:q0.nullish(),name:A()}),eb=w({_meta:M(A(),R()).nullish(),availableCommands:de(X0)}),tb=w({cachedReadTokens:Re().nullish(),cachedWriteTokens:Re().nullish(),inputTokens:Re(),outputTokens:Re(),thoughtTokens:Re().nullish(),totalTokens:Re()}),nb=w({_meta:M(A(),R()).nullish(),stopReason:z0,usage:tb.nullish(),userMessageId:A().nullish()}),yI=fe([w({id:nn,result:fe([L0,Ox,P0,R0,v0,_0,F0,Gx,$0,O0,nb,G0,Ou])}),w({error:Mu,id:nn})]),rb=w({_meta:M(A(),R()).nullish(),cost:zx.nullish(),size:Re(),used:Re()}),ob=fe([Ui.and(w({sessionUpdate:J("user_message_chunk")})),Ui.and(w({sessionUpdate:J("agent_message_chunk")})),Ui.and(w({sessionUpdate:J("agent_thought_chunk")})),J0.and(w({sessionUpdate:J("tool_call")})),lg.and(w({sessionUpdate:J("tool_call_update")})),o0.and(w({sessionUpdate:J("plan")})),eb.and(w({sessionUpdate:J("available_commands_update")})),T0.and(w({sessionUpdate:J("current_mode_update")})),w0.and(w({sessionUpdate:J("config_option_update")})),I0.and(w({sessionUpdate:J("session_info_update")})),rb.and(w({sessionUpdate:J("usage_update")}))]),na=w({_meta:M(A(),R()).nullish(),sessionId:Ee,update:ob}),wI=w({method:A(),params:fe([na,Nu]).nullish()}),ra=w({_meta:M(A(),R()).nullish(),sessionId:Ee,terminalId:A()}),ib=w({_meta:M(A(),R()).nullish(),exitCode:Re().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),signal:A().nullish()}),oa=w({_meta:M(A(),R()).nullish(),content:A(),path:A(),sessionId:Ee}),SI=w({id:nn,method:A(),params:fe([oa,Vi,ta,Yi,Xi,qi,ra,Ji,Lu]).nullish()}),ab=w({_meta:M(A(),R()).nullish()}),CI=fe([w({id:nn,result:fe([ab,a0,h0,Hx,Z0,s0,ib,Qx,Ou])}),w({error:Mu,id:nn})]);function cg(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:d,done:h}=await l.read();if(h)break;if(!d)continue;s+=r.decode(d,{stream:!0});let g=s.split(`
|
|
670
670
|
`);s=g.pop()||"";for(let x of g){let b=x.trim();if(b)try{let I=JSON.parse(b);a.enqueue(I)}catch(I){console.error("Failed to parse JSON message:",b,I)}}}}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 aa{#e;constructor(e,t){let n=e(this),r=async(i,a)=>{switch(i){case Tt.fs_write_text_file:{let s=ia.parse(a);return n.writeTextFile?.(s)}case Tt.fs_read_text_file:{let s=qi.parse(a);return n.readTextFile?.(s)}case Tt.session_request_permission:{let s=na.parse(a);return n.requestPermission(s)}case Tt.terminal_create:{let s=Ji.parse(a);return n.createTerminal?.(s)}case Tt.terminal_output:{let s=ea.parse(a);return n.terminalOutput?.(s)}case Tt.terminal_release:{let s=Xi.parse(a);return await n.releaseTerminal?.(s)??{}}case Tt.terminal_wait_for_exit:{let s=oa.parse(a);return n.waitForTerminalExit?.(s)}case Tt.terminal_kill:{let s=Vi.parse(a);return await n.killTerminal?.(s)??{}}default:if(n.extMethod)return n.extMethod(i,a);throw Pe.methodNotFound(i)}},o=async(i,a)=>{switch(i){case Tt.session_update:{let s=ra.parse(a);return n.sessionUpdate(s)}default:if(n.extNotification)return n.extNotification(i,a);throw Pe.methodNotFound(i)}};this.#e=new ug(r,o,t)}async initialize(e){return await this.#e.sendRequest(ot.initialize,e)}async newSession(e){return await this.#e.sendRequest(ot.session_new,e)}async loadSession(e){return await this.#e.sendRequest(ot.session_load,e)??{}}async unstable_forkSession(e){return await this.#e.sendRequest(ot.session_fork,e)}async listSessions(e){return await this.#e.sendRequest(ot.session_list,e)}async unstable_resumeSession(e){return await this.#e.sendRequest(ot.session_resume,e)}async unstable_closeSession(e){return await this.#e.sendRequest(ot.session_close,e)}async setSessionMode(e){return await this.#e.sendRequest(ot.session_set_mode,e)??{}}async unstable_setSessionModel(e){return await this.#e.sendRequest(ot.session_set_model,e)??{}}async setSessionConfigOption(e){return await this.#e.sendRequest(ot.session_set_config_option,e)}async authenticate(e){return await this.#e.sendRequest(ot.authenticate,e)??{}}async prompt(e){return await this.#e.sendRequest(ot.session_prompt,e)}async cancel(e){return await this.#e.sendNotification(ot.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 ug{#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.#g(e.method,e.params);if("error"in t)console.error("Error handling notification",e,t.error)}else if("id"in e)this.#f(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 Pe)return n.toResult();if(n instanceof xn)return Pe.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 Pe.internalError(r?JSON.parse(r):{}).toResult()}catch{return Pe.internalError({details:r}).toResult()}}}async#g(e,t){try{return await this.#a(e,t),{result:null}}catch(n){if(n instanceof Pe)return n.toResult();if(n instanceof xn)return Pe.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 Pe.internalError(r?JSON.parse(r):{}).toResult()}catch{return Pe.internalError({details:r}).toResult()}}}#f(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 Pe 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 Pe(-32700,`Parse error${t?`: ${t}`:""}`,e)}static invalidRequest(e,t){return new Pe(-32600,`Invalid request${t?`: ${t}`:""}`,e)}static methodNotFound(e){return new Pe(-32601,`"Method not found": ${e}`,{method:e})}static invalidParams(e,t){return new Pe(-32602,`Invalid params${t?`: ${t}`:""}`,e)}static internalError(e,t){return new Pe(-32603,`Internal error${t?`: ${t}`:""}`,e)}static authRequired(e,t){return new Pe(-32000,`Authentication required${t?`: ${t}`:""}`,e)}static resourceNotFound(e){return new Pe(-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 vg}from"child_process";import{Readable as Bb,Writable as Tb}from"stream";import Eb from"os";import _b from"path";import Rb from"process";import{pathToFileURL as Pb}from"url";import{existsSync as In}from"fs";import vn from"path";import kt from"process";import{spawnSync as hb}from"child_process";function hg(e){let t=e.toLowerCase();return t.includes("zh")||t.includes("chinese")}function cb(e=process.env){try{let t=e.LC_ALL||e.LC_CTYPE||e.LANG||"";return hg(t)?"zh":"en"}catch{return"en"}}var[mg,db]=Z(cb()),cr=mg;async function ub(){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 hg(r)?"zh":void 0}catch{return}}var fg=!1;function gb(e=1000){if(fg)return;if(mg()==="zh")return;if(process.platform!=="win32")return;fg=!0,setTimeout(()=>{ub().then((n)=>{if(n)db(n)})},e).unref?.()}function sa(){gb()}var uo={"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.context":"Context","sidebar.group.session":"Session","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","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","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.browseCommands":"/ - browse commands","menu.rewind":"Rewind conversation to here","menu.rewind.hint":"Drop this message and everything after it","menu.restore":"Restore files and conversation","menu.restore.hint":"Undo the files this turn changed, and the messages after it","menu.copy":"Copy message","menu.confirm.rewind":"Yes, rewind","menu.confirm.restore":"Yes, restore files and conversation","menu.confirm.title":"Are you sure?","menu.confirm.subject":"This message","menu.confirm.warning":"This rewrites the conversation and cannot be undone.","notice.copied":"Copied the message","notice.checkpointGone":"That checkpoint is no longer there","notice.restored":"Files and conversation restored","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.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","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.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.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.rewound":"Rewound: dropped {count} {noun}","notice.rewound.one":"item","notice.rewound.many":"items","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"};var la={"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.context":"\u4E0A\u4E0B\u6587","sidebar.group.session":"\u672C\u6B21\u4F1A\u8BDD","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","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","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.browseCommands":"/ - \u6D4F\u89C8\u547D\u4EE4","menu.rewind":"\u56DE\u9000\u5230\u8FD9\u6761\u4E4B\u524D","menu.rewind.hint":"\u4E22\u5F03\u8FD9\u6761\u6D88\u606F\u53CA\u5176\u4E4B\u540E\u7684\u5168\u90E8\u5185\u5BB9","menu.restore":"\u6062\u590D\u6587\u4EF6\u4E0E\u5BF9\u8BDD","menu.restore.hint":"\u64A4\u9500\u8FD9\u4E00\u8F6E\u6539\u8FC7\u7684\u6587\u4EF6\uFF0C\u5E76\u4E22\u5F03\u5176\u540E\u7684\u6D88\u606F","menu.copy":"\u590D\u5236\u8FD9\u6761\u6D88\u606F","menu.confirm.rewind":"\u786E\u8BA4\u56DE\u9000","menu.confirm.restore":"\u786E\u8BA4\u6062\u590D\u6587\u4EF6\u4E0E\u5BF9\u8BDD","menu.confirm.title":"\u786E\u5B9A\u5417\uFF1F","menu.confirm.subject":"\u8FD9\u6761\u6D88\u606F","menu.confirm.warning":"\u8FD9\u4F1A\u6539\u5199\u5BF9\u8BDD\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":"\u6587\u4EF6\u4E0E\u5BF9\u8BDD\u5DF2\u6062\u590D","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.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","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.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.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.rewound":"\u5DF2\u56DE\u9000\uFF1A\u4E22\u5F03\u4E86 {count} {noun}","notice.rewound.one":"\u6761","notice.rewound.many":"\u6761","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"};var fb={en:uo,zh:la};function u(e,t){let r=fb[cr()][e]??uo[e]??e;if(t)for(let[o,i]of Object.entries(t))r=r.split(`{${o}}`).join(String(i));return r}function mb(e,t=8){let n=e;for(let r=0;r<t;r++){let o=vn.join(n,"bundle","easycode.js");if(In(o))return o;let i=vn.join(n,"packages","cli","dist","index.js");if(In(i))return i;let a=vn.dirname(n);if(a===n)break;n=a}return}function pb(e){let t=kt.env.EASYCODE_BACKEND_JS;if(t&&In(t))return t;let n=vn.join(e,"backend","easycode.js");if(In(n))return n;let r=mb(e);if(r)return r;throw Error(u("backend.notFound"))}function Ab(){return typeof kt.versions.bun==="string"}function kb(){let e=kt.env.EASYCODE_SHELL_NODE;if(e&&In(e))return{command:e,viaFallback:!1};if(!Ab())return{command:kt.execPath,viaFallback:!1};let t=kt.platform==="win32"?"where":"which";try{let n=hb(t,["node"],{encoding:"utf8",timeout:5000}),r=(n.stdout||"").split(/\r?\n/).find((o)=>o.trim());if(n.status===0&&r&&In(r.trim()))return{command:r.trim(),viaFallback:!1}}catch{}return{command:kt.execPath,viaFallback:!0}}function pg(e,t){let n=pb(e),r=kb(),o=t?.trim();return{command:r.command,args:[n,"--acp",...o?["--model",o]:[]],env:{CLI_VERSION:`Shell-${kt.env.EASYCODE_SHELL_VERSION??"dev"}`,EASYCODE_SHELL_MANAGED:"1",...kt.env.DEEPX_SERVER_URL?{DEEPX_SERVER_URL:kt.env.DEEPX_SERVER_URL}:{},...kt.env.DEEPX_WEB_URL?{DEEPX_WEB_URL:kt.env.DEEPX_WEB_URL}:{}},description:`${vn.basename(r.command)} ${vn.basename(n)} --acp`+(r.viaFallback?u("backend.noSystemNode"):"")}}import*as fo from"fs/promises";function dr(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 go(e){if(!Array.isArray(e)||e.length===0)return;let t=[];for(let n of e)if(n.type==="content"){let r=dr(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 Ag="[MODE_UPDATE]",kg="[Model switched",ca="[TITLE_UPDATE]",da="[COMPRESSION_STATUS]";function xg(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?bb(r):t,i=yb(r,t),a=xb(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}
|
|
672
|
-
[exit code: ${s}]`:a,mode:i.mode,snapshot:o}}function
|
|
673
|
-
`+e.slice(-120000)}function
|
|
671
|
+
`,l=e.getWriter();try{await l.write(n.encode(s))}finally{l.releaseLock()}}});return{readable:o,writable:i}}class ia{#e;constructor(e,t){let n=e(this),r=async(i,a)=>{switch(i){case Tt.fs_write_text_file:{let s=oa.parse(a);return n.writeTextFile?.(s)}case Tt.fs_read_text_file:{let s=Vi.parse(a);return n.readTextFile?.(s)}case Tt.session_request_permission:{let s=ta.parse(a);return n.requestPermission(s)}case Tt.terminal_create:{let s=Yi.parse(a);return n.createTerminal?.(s)}case Tt.terminal_output:{let s=Xi.parse(a);return n.terminalOutput?.(s)}case Tt.terminal_release:{let s=qi.parse(a);return await n.releaseTerminal?.(s)??{}}case Tt.terminal_wait_for_exit:{let s=ra.parse(a);return n.waitForTerminalExit?.(s)}case Tt.terminal_kill:{let s=Ji.parse(a);return await n.killTerminal?.(s)??{}}default:if(n.extMethod)return n.extMethod(i,a);throw Pe.methodNotFound(i)}},o=async(i,a)=>{switch(i){case Tt.session_update:{let s=na.parse(a);return n.sessionUpdate(s)}default:if(n.extNotification)return n.extNotification(i,a);throw Pe.methodNotFound(i)}};this.#e=new dg(r,o,t)}async initialize(e){return await this.#e.sendRequest(ot.initialize,e)}async newSession(e){return await this.#e.sendRequest(ot.session_new,e)}async loadSession(e){return await this.#e.sendRequest(ot.session_load,e)??{}}async unstable_forkSession(e){return await this.#e.sendRequest(ot.session_fork,e)}async listSessions(e){return await this.#e.sendRequest(ot.session_list,e)}async unstable_resumeSession(e){return await this.#e.sendRequest(ot.session_resume,e)}async unstable_closeSession(e){return await this.#e.sendRequest(ot.session_close,e)}async setSessionMode(e){return await this.#e.sendRequest(ot.session_set_mode,e)??{}}async unstable_setSessionModel(e){return await this.#e.sendRequest(ot.session_set_model,e)??{}}async setSessionConfigOption(e){return await this.#e.sendRequest(ot.session_set_config_option,e)}async authenticate(e){return await this.#e.sendRequest(ot.authenticate,e)??{}}async prompt(e){return await this.#e.sendRequest(ot.session_prompt,e)}async cancel(e){return await this.#e.sendNotification(ot.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 dg{#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.#g(e.method,e.params);if("error"in t)console.error("Error handling notification",e,t.error)}else if("id"in e)this.#f(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 Pe)return n.toResult();if(n instanceof xn)return Pe.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 Pe.internalError(r?JSON.parse(r):{}).toResult()}catch{return Pe.internalError({details:r}).toResult()}}}async#g(e,t){try{return await this.#a(e,t),{result:null}}catch(n){if(n instanceof Pe)return n.toResult();if(n instanceof xn)return Pe.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 Pe.internalError(r?JSON.parse(r):{}).toResult()}catch{return Pe.internalError({details:r}).toResult()}}}#f(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 Pe 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 Pe(-32700,`Parse error${t?`: ${t}`:""}`,e)}static invalidRequest(e,t){return new Pe(-32600,`Invalid request${t?`: ${t}`:""}`,e)}static methodNotFound(e){return new Pe(-32601,`"Method not found": ${e}`,{method:e})}static invalidParams(e,t){return new Pe(-32602,`Invalid params${t?`: ${t}`:""}`,e)}static internalError(e,t){return new Pe(-32603,`Internal error${t?`: ${t}`:""}`,e)}static authRequired(e,t){return new Pe(-32000,`Authentication required${t?`: ${t}`:""}`,e)}static resourceNotFound(e){return new Pe(-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 Cg}from"child_process";import{Readable as Ib,Writable as Bb}from"stream";import Tb from"os";import Eb from"path";import _b from"process";import{pathToFileURL as Rb}from"url";import{existsSync as In}from"fs";import vn from"path";import kt from"process";import{spawnSync as fb}from"child_process";function fg(e){let t=e.toLowerCase();return t.includes("zh")||t.includes("chinese")}function lb(e=process.env){try{let t=e.LC_ALL||e.LC_CTYPE||e.LANG||"";return fg(t)?"zh":"en"}catch{return"en"}}var[hg,cb]=Z(lb()),cr=hg;async function db(){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 fg(r)?"zh":void 0}catch{return}}var gg=!1;function ub(e=1000){if(gg)return;if(hg()==="zh")return;if(process.platform!=="win32")return;gg=!0,setTimeout(()=>{db().then((n)=>{if(n)cb(n)})},e).unref?.()}function aa(){ub()}var uo={"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.context":"Context","sidebar.group.session":"Session","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","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","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.browseCommands":"/ - browse commands","menu.rewind":"Rewind conversation to here","menu.rewind.hint":"Drop this message and everything after it","menu.restore":"Restore files and conversation","menu.restore.hint":"Undo the files this turn changed, and the messages after it","menu.copy":"Copy message","menu.confirm.rewind":"Yes, rewind","menu.confirm.restore":"Yes, restore files and conversation","menu.confirm.title":"Are you sure?","menu.confirm.subject":"This message","menu.confirm.warning":"This rewrites the conversation and cannot be undone.","notice.copied":"Copied the message","notice.checkpointGone":"That checkpoint is no longer there","notice.restored":"Files and conversation restored","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.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","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.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.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.rewound":"Rewound: dropped {count} {noun}","notice.rewound.one":"item","notice.rewound.many":"items","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"};var sa={"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.context":"\u4E0A\u4E0B\u6587","sidebar.group.session":"\u672C\u6B21\u4F1A\u8BDD","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","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","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.browseCommands":"/ - \u6D4F\u89C8\u547D\u4EE4","menu.rewind":"\u56DE\u9000\u5230\u8FD9\u6761\u4E4B\u524D","menu.rewind.hint":"\u4E22\u5F03\u8FD9\u6761\u6D88\u606F\u53CA\u5176\u4E4B\u540E\u7684\u5168\u90E8\u5185\u5BB9","menu.restore":"\u6062\u590D\u6587\u4EF6\u4E0E\u5BF9\u8BDD","menu.restore.hint":"\u64A4\u9500\u8FD9\u4E00\u8F6E\u6539\u8FC7\u7684\u6587\u4EF6\uFF0C\u5E76\u4E22\u5F03\u5176\u540E\u7684\u6D88\u606F","menu.copy":"\u590D\u5236\u8FD9\u6761\u6D88\u606F","menu.confirm.rewind":"\u786E\u8BA4\u56DE\u9000","menu.confirm.restore":"\u786E\u8BA4\u6062\u590D\u6587\u4EF6\u4E0E\u5BF9\u8BDD","menu.confirm.title":"\u786E\u5B9A\u5417\uFF1F","menu.confirm.subject":"\u8FD9\u6761\u6D88\u606F","menu.confirm.warning":"\u8FD9\u4F1A\u6539\u5199\u5BF9\u8BDD\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":"\u6587\u4EF6\u4E0E\u5BF9\u8BDD\u5DF2\u6062\u590D","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.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","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.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.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.rewound":"\u5DF2\u56DE\u9000\uFF1A\u4E22\u5F03\u4E86 {count} {noun}","notice.rewound.one":"\u6761","notice.rewound.many":"\u6761","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"};var gb={en:uo,zh:sa};function u(e,t){let r=gb[cr()][e]??uo[e]??e;if(t)for(let[o,i]of Object.entries(t))r=r.split(`{${o}}`).join(String(i));return r}function hb(e,t=8){let n=e;for(let r=0;r<t;r++){let o=vn.join(n,"bundle","easycode.js");if(In(o))return o;let i=vn.join(n,"packages","cli","dist","index.js");if(In(i))return i;let a=vn.dirname(n);if(a===n)break;n=a}return}function mb(e){let t=kt.env.EASYCODE_BACKEND_JS;if(t&&In(t))return t;let n=vn.join(e,"backend","easycode.js");if(In(n))return n;let r=hb(e);if(r)return r;throw Error(u("backend.notFound"))}function pb(){return typeof kt.versions.bun==="string"}function Ab(){let e=kt.env.EASYCODE_SHELL_NODE;if(e&&In(e))return{command:e,viaFallback:!1};if(!pb())return{command:kt.execPath,viaFallback:!1};let t=kt.platform==="win32"?"where":"which";try{let n=fb(t,["node"],{encoding:"utf8",timeout:5000}),r=(n.stdout||"").split(/\r?\n/).find((o)=>o.trim());if(n.status===0&&r&&In(r.trim()))return{command:r.trim(),viaFallback:!1}}catch{}return{command:kt.execPath,viaFallback:!0}}function mg(e,t){let n=mb(e),r=Ab(),o=t?.trim();return{command:r.command,args:[n,"--acp",...o?["--model",o]:[]],env:{CLI_VERSION:`Shell-${kt.env.EASYCODE_SHELL_VERSION??"dev"}`,EASYCODE_SHELL_MANAGED:"1",...kt.env.DEEPX_SERVER_URL?{DEEPX_SERVER_URL:kt.env.DEEPX_SERVER_URL}:{},...kt.env.DEEPX_WEB_URL?{DEEPX_WEB_URL:kt.env.DEEPX_WEB_URL}:{}},description:`${vn.basename(r.command)} ${vn.basename(n)} --acp`+(r.viaFallback?u("backend.noSystemNode"):"")}}import*as fo from"fs/promises";function dr(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 go(e){if(!Array.isArray(e)||e.length===0)return;let t=[];for(let n of e)if(n.type==="content"){let r=dr(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 pg="[MODE_UPDATE]",Ag="[Model switched",la="[TITLE_UPDATE]",ca="[COMPRESSION_STATUS]";function kg(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?xb(r):t,i=bb(r,t),a=kb(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}
|
|
672
|
+
[exit code: ${s}]`:a,mode:i.mode,snapshot:o}}function kb(e){if(e.length<=120000)return e;return`[Earlier terminal output truncated before sending to renderer]
|
|
673
|
+
`+e.slice(-120000)}function xb(e){return{length:e.length,tail:e.slice(-4096)}}function bb(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 xg(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 bg(e,t){let n={},r={};return e.forEach((o,i)=>{let a=[...t[i]??new Set].sort((d,h)=>d-h),s=a.map((d)=>o.options[d]?.label).filter((d)=>!!d);if(!s.length)return;n[o.question]=s.join(", ");let l=a.length===1?o.options[a[0]]?.preview:void 0;if(l)r[o.question]={preview:l}}),{answers:n,...Object.keys(r).length?{annotations:r}:{}}}var yb=["shell","claude-code","codex","subagent"],wb=["running","completed","failed","cancelled"];function Sb(e){if(!e||typeof e!=="object")return null;let t=e;if(typeof t.id!=="string"||!t.id)return null;if(!yb.includes(t.kind))return null;if(!wb.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 ur(e){if(!Array.isArray(e))return[];let t=[];for(let n of e){let r=Sb(n);if(r)t.push(r)}return t}function da(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 yg(e){if(!Array.isArray(e))return[];let t=[];for(let n of e){let r=da(n);if(r)t.push(r)}return t}var Cb=200,vb=new Set(["agent_message_chunk","agent_thought_chunk","user_message_chunk"]);class ua{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<Cb)return;this.sinceYield=0,this.flushPendingText(),await new Promise((e)=>setTimeout(e,0))}async requestPermission(e){let t=e.options??[],n=e.toolCall,r=xg(n);this.cb.setStatus("needs_approval");let o=await this.cb.requestPermission({toolCallId:String(n?.toolCallId??""),title:String(n?.title??u("tool.call")),toolKind:n?.kind??"other",content:go(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(!vb.has(t.sessionUpdate))this.flushPendingText();switch(t.sessionUpdate){case"agent_message_chunk":{let n=dr(t.content);if(!n)break;if(n.startsWith(pg)||n.startsWith(Ag))this.flushPendingText(),this.cb.emit({kind:"mode_marker",mode:n});else if(n.startsWith(la)){let r=n.slice(la.length).trim();if(r)this.flushPendingText(),this.cb.emit({kind:"title",title:r})}else if(n.startsWith(ca)){let r=n.slice(ca.length).trim();this.flushPendingText(),this.cb.emit({kind:"compression",active:r==="start"})}else this.queueText("message_chunk",n);break}case"agent_thought_chunk":{let n=dr(t.content);if(n)this.queueText("thought_chunk",n);break}case"user_message_chunk":{let n=dr(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:go(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=kg(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:go(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 fo.readFile(e.path,"utf8");if(e.line!=null&&e.line>1||e.limit!=null&&e.limit>=0){let n=t.split(`
|
|
674
674
|
`),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(`
|
|
675
|
-
`)}return{content:t}}async writeTextFile(e){return await fo.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:ur(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=
|
|
675
|
+
`)}return{content:t}}async writeTextFile(e){return await fo.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:ur(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=da(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 Pe.methodNotFound(e)}}}function wg(e){if(e.disposed||!e.hasConnection||e.connectionClosed)return"skip";if(!e.hasSessionId)return"defer";return"send"}async function Sg(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 Bn(e){return e==="thinking"||e==="starting"||e==="needs_approval"}var ho=["off","auto","low","medium","high","xhigh","max"];function Pb(e){return e}function Fb(e){return e==="yolo"||e==="autoEdit"?e:"default"}function je(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 ga(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 vg(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 Db(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 Mb(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"&&ho.includes(r)?r:void 0}var Nb=97;class fa{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=mg(this.cwd,t);this.cb.log(`spawn: ${n.description}`);let r=Cg(n.command,n.args,{cwd:this.cwd,stdio:["pipe","pipe","pipe"],env:{..._b.env,...n.env}});this.child=r;let o="",i=!1,a,s=new Promise((b,I)=>{a=I});if(s.catch(()=>{return}),r.on("error",(b)=>{if(this.disposed)return;this.cb.setStatus("error"),a?.(b)}),r.stderr?.on("data",(b)=>{let I=b.toString("utf8");o=(o+I).slice(-2000),this.cb.log(I)}),r.stdin?.on("error",()=>{return}),r.on("exit",(b)=>{if(this.disposed)return;if(this.cb.log(`backend exited (code ${b??"null"})`),b===Nb&&i){this.cb.log(u("backend.restartRequested")),this.restartBackend();return}if(this.cb.setStatus("exited"),!i){let I=o.trim();a?.(Error(`The Easy Code backend exited before initializing (code ${b??"null"}).`+(I?`
|
|
676
676
|
Backend output:
|
|
677
|
-
${I}`:"")))}}),!r.stdin||!r.stdout)throw Error(u("backend.pipesFailed"));let l=dg(Tb.toWeb(r.stdin),Bb.toWeb(r.stdout)),d=new ga(this.cb,()=>this.currentMode),h=new aa(()=>d,l);this.connection=h;let g=async()=>(await h.initialize({protocolVersion:Rl,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 x;try{x=await Promise.race([g(),s])}finally{this.cb.emit({kind:"restoring",active:!1})}return i=!0,this.afterSession(x)}async newSession(){if(!this.connection)throw Error(u("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}=Ig(e),o=Mb(e);if(this.modelSource=r,this.currentMode=Db(o.current),this.cb.setStatus("idle"),this.pendingSkillsReload)this.reloadSkills().catch((i)=>this.cb.log(`deferred skills/reload failed: ${je(i)}`));return{acpSessionId:this.acpSessionId,availableModels:t,availableModes:o.available,model:n,mode:this.currentMode,thinking:Nb(e)}}async refreshModels(){if(!this.connection)throw Error(u("backend.notStarted"));let e=await this.connection.extMethod("_dvcode/models/refresh",{sessionId:this.acpSessionId}),{available:t,current:n}=Ig(e);return{available:t,current:n}}async prompt(e,t=[]){if(!this.connection||!this.acpSessionId)throw Error(u("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:Pb(o).href,name:_b.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",message:je(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(u("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:u("backend.notRunning")};try{return await this.connection.setSessionMode({sessionId:this.acpSessionId,modeId:Fb(e)}),this.currentMode=e,{ok:!0}}catch(t){let n=je(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: ${je(t)}`))}async rewind(e){if(!this.connection||!this.acpSessionId)return{keptUserMessageCount:0,droppedContentCount:0};let t=await this.connection.extMethod("_dvcode/session/rewind",{sessionId:this.acpSessionId,beforeUserMessageIndex:e});return{keptUserMessageCount:t.keptUserMessageCount??0,droppedContentCount:t.droppedContentCount??0}}async listCheckpoints(){if(!this.connection||!this.acpSessionId)return[];try{let e=await this.connection.extMethod("_dvcode/session/listCheckpoints",{sessionId:this.acpSessionId});return wg(e.checkpoints)}catch(e){return this.cb.log(`listCheckpoints failed: ${je(e)}`),[]}}async restoreCheckpoint(e){if(!this.connection||!this.acpSessionId)return{ok:!1,error:u("backend.notRunningRestore")};try{return await this.connection.extMethod("_dvcode/session/restoreCheckpoint",{sessionId:this.acpSessionId,checkpointId:e})}catch(t){return{ok:!1,error:je(t)}}}async fork(e){if(!this.connection||!this.acpSessionId)throw Error(u("backend.notRunningFork"));let t=await this.connection.extMethod("_dvcode/session/fork",{sessionId:this.acpSessionId,beforeUserMessageIndex:e});if(!t.sessionId)throw Error(u("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: ${je(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:fa(e.daily),zhWeekly:fa(e.zhWeekly),bjWeekly:fa(e.bjWeekly)}}catch(e){return this.cb.log(`quota/status failed: ${je(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: ${je(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(u("backend.notRunningGoal"));let t=await this.connection.extMethod("_dvcode/goal/start",{sessionId:this.acpSessionId,...e});if(!t.prompt)throw Error(u("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:u("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:je(t)}}}async reloadSkills(){let e=this.connection,t=Sg({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 Cg(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: ${je(t)}`)}}async tasksList(){if(!this.connection||!this.acpSessionId)return[];try{let e=await this.connection.extMethod("_dvcode/tasks/list",{sessionId:this.acpSessionId});return ur(e.tasks)}catch(e){return this.cb.log(`tasks/list failed: ${je(e)}`),[]}}async tasksStop(e){if(!this.connection||!this.acpSessionId)return{ok:!1,error:u("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:je(t)}}}async tasksOutput(e){if(!this.connection||!this.acpSessionId)return{ok:!1,error:u("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:je(t)}}}async requestBackground(){if(!this.connection||!this.acpSessionId)return{ok:!1,error:u("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:je(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:ur(e.tasks)}}catch(e){return this.cb.log(`tasks/clear failed: ${je(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(u("backend.restarted")),this.cb.restarted?.(t)}catch(t){if(this.disposed)return;this.cb.log(`backend restart failed: ${je(t)}`),this.cb.setStatus("exited")}}async dispose(){this.disposed=!0,this.pendingPromptAbort?.abort();try{if(this.child&&!this.child.killed)if(Eb.platform()==="win32"&&this.child.pid)vg("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 ya}from"child_process";import{createRequire as jb}from"module";import Og from"path";import bo from"process";function hr(){return bo.env.DEEPX_SERVER_URL||"https://api-code.deepvlab.ai"}function Zb(){return bo.env.DEEPX_WEB_URL||"https://easycode.bot"}async function Wb(){try{await Promise.resolve().then(() => ma());let n=jb(import.meta.url).resolve("easycode-core/dist/src/auth/login/authServer.js");Zt.setBasePath(Og.join(Og.dirname(n),"..",".."))}catch{}}var $g;function Tn(){return $g??=(async()=>{await Wb();let e=await Promise.resolve().then(() => (xa(),{})),t=await Promise.resolve().then(() => (Lg(),{})),n=await Promise.resolve().then(() => ({}));return{manager:gt.getInstance(),createAuthServer:()=>new Ng,userAgent:()=>{try{return Ve()}catch{return"EasyCode-Tui/1.0"}}}})(),$g}function Ub(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 Qb(e){let{manager:t}=e??await Tn();return{loggedIn:t.isConfigured(),user:Ub(t.getUserInfo()),serverUrl:hr()}}async function Kb(e,t){let n=e.trim();if(!n)return{ok:!1,error:u("auth.error.emptyKey")};let r=t??await Tn();try{let o=await fetch(`${hr()}/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||u("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)}}}function Gg(e){let t;try{t=new URL(e)}catch{return{ok:!1,error:`Not a URL: ${e}`}}if(t.protocol!=="http:"&&t.protocol!=="https:")return{ok:!1,error:`Refusing to open a non-web URL: ${t.protocol}`};try{if(bo.platform==="win32")ya("cmd",["/c","start","",t.href],{detached:!0,stdio:"ignore"}).unref();else if(bo.platform==="darwin")ya("open",[t.href],{detached:!0,stdio:"ignore"}).unref();else ya("xdg-open",[t.href],{detached:!0,stdio:"ignore"}).unref();return{ok:!0}}catch(n){return{ok:!1,error:n instanceof Error?n.message:String(n)}}}class zg{server;async start(e,t,n=Gg){try{this.stop();let r=t??await Tn(),o=r.createAuthServer();await o.start(),this.server=o,r.manager.onLoginSuccess(()=>{try{e()}finally{this.stop()}});let i=`http://localhost:${o.getActualSelectPort()}`,a=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 Yb(e,t=Gg){let n=e??await Tn();try{let r=null;try{r=await n.manager.getAccessToken()}catch{}if(!r)return{ok:!1,error:u("auth.error.noCredentials")};let o=await fetch(`${hr()}/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 t(`${Zb()}/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 Jb(e){let t=e??await Tn();try{t.manager.clear()}catch{}}function Hg(){let e=new zg,t=()=>Tn();return{async getStatus(){return Qb(await t())},async loginWithApiKey(n){return Kb(n,await t())},async startBrowserLogin(n){return e.start(n,await t())},cancelBrowserLogin(){e.stop()},async logout(){return Jb(await t())},async openAccountPage(){return Yb(await t())}}}import{spawnSync as Vb}from"child_process";import{readFileSync as qb,statSync as Xb}from"fs";import*as jg from"path";function Zg(e,t){let n=Vb("git",e,{cwd:t,encoding:"utf8",timeout:2000});return{status:n.status,stdout:n.stdout??""}}function yo(e,t=Zg){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 ey=300,ty=524288;function ny(e){try{let t=Xb(e);if(!t.isFile()||t.size>ty)return 0;let n=qb(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 Wg(e,t=Zg,n=ny){try{let r=t(["rev-parse","--is-inside-work-tree"],e);if(r.status!==0||r.stdout.trim()!=="true")return;let o=0,i=0,a=0,s=t(["diff","HEAD","--numstat"],e);if(s.status!==0)return;for(let d of s.stdout.split(`
|
|
677
|
+
${I}`:"")))}}),!r.stdin||!r.stdout)throw Error(u("backend.pipesFailed"));let l=cg(Bb.toWeb(r.stdin),Ib.toWeb(r.stdout)),d=new ua(this.cb,()=>this.currentMode),h=new ia(()=>d,l);this.connection=h;let g=async()=>(await h.initialize({protocolVersion:_l,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 x;try{x=await Promise.race([g(),s])}finally{this.cb.emit({kind:"restoring",active:!1})}return i=!0,this.afterSession(x)}async newSession(){if(!this.connection)throw Error(u("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}=vg(e),o=Db(e);if(this.modelSource=r,this.currentMode=Fb(o.current),this.cb.setStatus("idle"),this.pendingSkillsReload)this.reloadSkills().catch((i)=>this.cb.log(`deferred skills/reload failed: ${je(i)}`));return{acpSessionId:this.acpSessionId,availableModels:t,availableModes:o.available,model:n,mode:this.currentMode,thinking:Mb(e)}}async refreshModels(){if(!this.connection)throw Error(u("backend.notStarted"));let e=await this.connection.extMethod("_dvcode/models/refresh",{sessionId:this.acpSessionId}),{available:t,current:n}=vg(e);return{available:t,current:n}}async prompt(e,t=[]){if(!this.connection||!this.acpSessionId)throw Error(u("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:Rb(o).href,name:Eb.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",message:je(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(u("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:u("backend.notRunning")};try{return await this.connection.setSessionMode({sessionId:this.acpSessionId,modeId:Pb(e)}),this.currentMode=e,{ok:!0}}catch(t){let n=je(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: ${je(t)}`))}async rewind(e){if(!this.connection||!this.acpSessionId)return{keptUserMessageCount:0,droppedContentCount:0};let t=await this.connection.extMethod("_dvcode/session/rewind",{sessionId:this.acpSessionId,beforeUserMessageIndex:e});return{keptUserMessageCount:t.keptUserMessageCount??0,droppedContentCount:t.droppedContentCount??0}}async listCheckpoints(){if(!this.connection||!this.acpSessionId)return[];try{let e=await this.connection.extMethod("_dvcode/session/listCheckpoints",{sessionId:this.acpSessionId});return yg(e.checkpoints)}catch(e){return this.cb.log(`listCheckpoints failed: ${je(e)}`),[]}}async restoreCheckpoint(e){if(!this.connection||!this.acpSessionId)return{ok:!1,error:u("backend.notRunningRestore")};try{return await this.connection.extMethod("_dvcode/session/restoreCheckpoint",{sessionId:this.acpSessionId,checkpointId:e})}catch(t){return{ok:!1,error:je(t)}}}async fork(e){if(!this.connection||!this.acpSessionId)throw Error(u("backend.notRunningFork"));let t=await this.connection.extMethod("_dvcode/session/fork",{sessionId:this.acpSessionId,beforeUserMessageIndex:e});if(!t.sessionId)throw Error(u("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: ${je(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:ga(e.daily),zhWeekly:ga(e.zhWeekly),bjWeekly:ga(e.bjWeekly)}}catch(e){return this.cb.log(`quota/status failed: ${je(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: ${je(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(u("backend.notRunningGoal"));let t=await this.connection.extMethod("_dvcode/goal/start",{sessionId:this.acpSessionId,...e});if(!t.prompt)throw Error(u("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:u("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:je(t)}}}async reloadSkills(){let e=this.connection,t=wg({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 Sg(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: ${je(t)}`)}}async tasksList(){if(!this.connection||!this.acpSessionId)return[];try{let e=await this.connection.extMethod("_dvcode/tasks/list",{sessionId:this.acpSessionId});return ur(e.tasks)}catch(e){return this.cb.log(`tasks/list failed: ${je(e)}`),[]}}async tasksStop(e){if(!this.connection||!this.acpSessionId)return{ok:!1,error:u("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:je(t)}}}async tasksOutput(e){if(!this.connection||!this.acpSessionId)return{ok:!1,error:u("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:je(t)}}}async requestBackground(){if(!this.connection||!this.acpSessionId)return{ok:!1,error:u("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:je(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:ur(e.tasks)}}catch(e){return this.cb.log(`tasks/clear failed: ${je(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(u("backend.restarted")),this.cb.restarted?.(t)}catch(t){if(this.disposed)return;this.cb.log(`backend restart failed: ${je(t)}`),this.cb.setStatus("exited")}}async dispose(){this.disposed=!0,this.pendingPromptAbort?.abort();try{if(this.child&&!this.child.killed)if(Tb.platform()==="win32"&&this.child.pid)Cg("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 Hb}from"child_process";import{createRequire as jb}from"module";import Lg from"path";import ba from"process";function hr(){return ba.env.DEEPX_SERVER_URL||"https://api-code.deepvlab.ai"}function Zb(){return ba.env.DEEPX_WEB_URL||"https://easycode.bot"}async function Wb(){try{await Promise.resolve().then(() => ha());let n=jb(import.meta.url).resolve("easycode-core/dist/src/auth/login/authServer.js");Zt.setBasePath(Lg.join(Lg.dirname(n),"..",".."))}catch{}}var Og;function Tn(){return Og??=(async()=>{await Wb();let e=await Promise.resolve().then(() => (ka(),{})),t=await Promise.resolve().then(() => (Ng(),{})),n=await Promise.resolve().then(() => ({}));return{manager:gt.getInstance(),createAuthServer:()=>new Mg,userAgent:()=>{try{return Ve()}catch{return"EasyCode-Tui/1.0"}}}})(),Og}function Ub(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 Qb(e){let{manager:t}=e??await Tn();return{loggedIn:t.isConfigured(),user:Ub(t.getUserInfo()),serverUrl:hr()}}async function Kb(e,t){let n=e.trim();if(!n)return{ok:!1,error:u("auth.error.emptyKey")};let r=t??await Tn();try{let o=await fetch(`${hr()}/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||u("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 $g(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}=Yb(t.platform??ba.platform,n.href),i=t.launch??Vb;try{return await i(r,o)}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}function Yb(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 Jb=250;function Vb(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=Hb(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})},Jb)})}class Gg{server;async start(e,t,n=$g){try{this.stop();let r=t??await Tn(),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 qb(e,t=$g){let n=e??await Tn();try{let r=null;try{r=await n.manager.getAccessToken()}catch{}if(!r)return{ok:!1,error:u("auth.error.noCredentials")};let o=await fetch(`${hr()}/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(`${Zb()}/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 Xb(e){let t=e??await Tn();try{t.manager.clear()}catch{}}function zg(){let e=new Gg,t=()=>Tn();return{async getStatus(){return Qb(await t())},async loginWithApiKey(n){return Kb(n,await t())},async startBrowserLogin(n){return e.start(n,await t())},cancelBrowserLogin(){e.stop()},async logout(){return Xb(await t())},async openAccountPage(){return qb(await t())}}}import{spawnSync as ey}from"child_process";import{readFileSync as ty,statSync as ny}from"fs";import*as Hg from"path";function jg(e,t){let n=ey("git",e,{cwd:t,encoding:"utf8",timeout:2000});return{status:n.status,stdout:n.stdout??""}}function bo(e,t=jg){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 ry=300,oy=524288;function iy(e){try{let t=ny(e);if(!t.isFile()||t.size>oy)return 0;let n=ty(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 Zg(e,t=jg,n=iy){try{let r=t(["rev-parse","--is-inside-work-tree"],e);if(r.status!==0||r.stdout.trim()!=="true")return;let o=0,i=0,a=0,s=t(["diff","HEAD","--numstat"],e);if(s.status!==0)return;for(let d of s.stdout.split(`
|
|
678
678
|
`)){if(!d.trim())continue;let[h,g,...x]=d.split("\t");if(!x.join("\t"))continue;o+=Number(h)||0,i+=Number(g)||0,a++}let l=t(["ls-files","--others","--exclude-standard"],e);if(l.status===0)for(let d of l.stdout.split(`
|
|
679
|
-
`)){if(!d.trim())continue;if(a++,a>
|
|
679
|
+
`)){if(!d.trim())continue;if(a++,a>ry)continue;o+=n(Hg.join(e,d))}return{added:o,removed:i,files:a}}catch{return}}function ay(e){return e.replace(/@"[^"]*"/g,"").replace(/\[Image \d+\]/g,"").trim()}function Wg(e){let t=ay(e).replace(/\s+/g," ").trim();if(!t)return"";if(t.length<=30)return t;return`${[...t].slice(0,30).join("")}\u2026`}function yo(){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 ya(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 Ug(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 Qg(e,t){let n=e.seeded&&sy.has(t.kind)?{...e,blocks:[],seeded:!1}:e;return ly(n,t)}var sy=new Set(["user_chunk","message_chunk","thought_chunk","tool_call"]);function ly(e,t){switch(t.kind){case"turn_start":return{...e,running:!0,stopReason: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:ya(e.blocks,"user",t.text)};case"message_chunk":return{...e,blocks:ya(e.blocks,"assistant",t.text)};case"thought_chunk":return{...e,blocks:ya(e.blocks,"thought",t.text)};case"title":return{...e,title:t.title};case"compression":return{...e,compressing:t.active};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=Ug(e.blocks,t.toolCallId,(o)=>({...o,...n}));return{...e,blocks:r??[...e.blocks,n]}}case"tool_update":{let n=Ug(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 mr(e,t){let n=[...e.blocks,{type:"user",text:t}];if(e.title)return{...e,blocks:n};let r=Wg(t);return r?{...e,blocks:n,title:r}:{...e,blocks:n}}function Kg(e,t){let n=t.trim();return n?[...e,n]:[...e]}function Yg(e,t){if(t)return[];return[...e]}function Jg(e,t){return t===0?0:(e+1)%t}function Vg(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 qg(e,t=60){return e.map((n,r)=>({text:n.length>t?`${n.slice(0,t)}\u2026`:n,next:r===0}))}function En(e){return typeof e==="object"&&e!==null&&"error"in e&&typeof e.error==="object"&&"message"in e.error}function wo(e){return typeof e==="object"&&e!==null&&"message"in e&&typeof e.message==="string"}function So(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"),d=s.type==="rate_limit_error"&&i===400;if((l||d)&&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 Co(e){if(So(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 Xg(e){let t=So(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 cy(n);return dy(n)}function cy(e){let n=(()=>{try{let x=process.env,b=x.LC_ALL||x.LC_CTYPE||x.LANG||"";return b.toLowerCase().includes("zh")||b.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 d=s.match(/Limit:\s*([^,]+)/);if(d)o=d[1].trim();let h=s.match(/Used:\s*([^,]+)/);if(h)i=h[1].trim();let g=s.match(/Cycle:\s*([^,]+)/);if(g)a=g[1].trim();if(n){let x=`\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
|
|
680
680
|
`;if(x+=`\uD83D\uDEAB \u5F53\u524D\u6A21\u578B\u7684\u5FAA\u73AF\u914D\u989D\u5DF2\u7528\u5C3D (Cycle Quota Exceeded)
|
|
681
681
|
`,r)x+=`\uD83D\uDC64 \u89D2\u8272\u4FE1\u606F: ${r}
|
|
682
682
|
`;if(o)x+=`\uD83D\uDCCA \u989D\u5EA6\u4E0A\u9650: ${o}
|
|
@@ -694,7 +694,7 @@ ${I}`:"")))}}),!r.stdin||!r.stdout)throw Error(u("backend.pipesFailed"));let l=d
|
|
|
694
694
|
`;return x+=`
|
|
695
695
|
\uD83D\uDCA1 Please switch to another model or wait for the cycle to reset.
|
|
696
696
|
`,x+=`\uD83D\uDD17 More info: https://easycode.bot/
|
|
697
|
-
`,x+="\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",x}}function
|
|
697
|
+
`,x+="\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",x}}function dy(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
|
|
698
698
|
\uD83D\uDEAB \u5F53\u524D\u8D26\u6237\u53EF\u7528\u7684 Credit\uFF08\u79EF\u5206\uFF09\u4E0D\u8DB3\u4EE5\u7EE7\u7EED\u4F7F\u7528\u672C\u670D\u52A1
|
|
699
699
|
\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/
|
|
700
700
|
|
|
@@ -710,35 +710,35 @@ ${I}`:"")))}}),!r.stdin||!r.stdout)throw Error(u("backend.pipesFailed"));let l=d
|
|
|
710
710
|
\uD83D\uDCA1 \u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u68C0\u67E5\u8D26\u6237\u914D\u7F6E
|
|
711
711
|
\uD83D\uDD17 \u5347\u7EA7\u5957\u9910\uFF1Ahttps://easycode.bot/`:`\uD83D\uDEAB Service unavailable
|
|
712
712
|
\uD83D\uDCA1 Please contact administrator to check account configuration
|
|
713
|
-
\uD83D\uDD17 Upgrade: https://easycode.bot/`}var
|
|
714
|
-
`)}function
|
|
713
|
+
\uD83D\uDD17 Upgrade: https://easycode.bot/`}var ef="https://easycode.bot/",tf="https://applink.feishu.cn/T981u6WkPNNZ",uy=["cmcm.com","orionstar.com"];function gy(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 uy.includes(r)}function fy(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 hy(e){let t=fy(e).match(/available[\s:]*([0-9]+(?:\.[0-9]+)?)/i);return t?t[1]:null}function my(e){return Co(e)}function nf(e,t={}){if(!my(e))return null;let n=So(e);if(n)return n;let r=t.locale??"zh",o=hy(e),i=gy(t.email);if(r==="en"){let l=o!==null?`Your credit balance is insufficient (current balance: ${o}).`:"Your credit balance is insufficient.",d=i?`As a Cheetah employee, request an "Easy Code quota" via the Feishu approval form: ${tf}`:`Use /account to open your account center and top up, or sign in at ${ef} to recharge.`;return`${l} ${d}`}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(${tf})\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 ${ef} \u5145\u503C\u3002`;return`${a}${s}`}var py=/reasoning_text|reasoning_content|redacted_thinking|must be passed back/i,Ay=/\b(?:thinking|reasoning|thought)\b[^]{0,80}\b(?:signature|passed back|must match|mismatch|invalid)\b/i,ky=/\(400\)|"code"\s*:\s*400|HTTP\s+400|status\s*[=:]\s*400/i;function xy(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(`
|
|
714
|
+
`)}function wa(e){let t=xy(e);if(!t)return!1;if(!ky.test(t))return!1;return py.test(t)||Ay.test(t)}function rf(e,t={}){if(!wa(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(`
|
|
715
715
|
`);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(`
|
|
716
|
-
`)}function an(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(En(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 sn(e){if(e===null||e===void 0)return"";if(typeof e==="string")return
|
|
716
|
+
`)}function an(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(En(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 sn(e){if(e===null||e===void 0)return"";if(typeof e==="string")return Sa(e)??e;if(En(e))return e.error.message||"";if(wo(e))return Sa(e.message)??e.message;if(e instanceof Error)return Sa(e.message)??e.message;try{return String(e)}catch{return""}}function Sa(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 of(e){let t=an(e),n=sn(e).trim();if(t===void 0)return;if(n)return`[HTTP ${t}] ${n}`;return`[HTTP ${t}]`}function by(e){return!!e&&e.startsWith("custom:")}function af(e,t={}){let n=cr();if(wa(e)){let r=rf(e,{locale:n});if(r)return r}if(by(t.model))return`[Custom Model Error] ${sn(e)||String(e)}`;if(yy(e))return u("error.network");if(wy(e))return Sy(e);if(Cy(e))return u("error.forbidden");if(Co(e)||vy(e))return nf(e,{email:t.email,locale:n})??Xg(e)??u("error.quota");if(Iy(e))return u("error.rateLimited");if(an(e)===451)return sn(e);return of(e)??sn(e)??String(e)}function yy(e){let t=pr(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 wy(e){let t=pr(e);return t.includes("REGION_BLOCKED")||an(e)===451&&!t.includes("{")}function Sy(e){let t=sn(e).trim();return t&&!t.includes("REGION_BLOCKED")&&t.length<300?t:u("error.region")}function Cy(e){if(an(e)===403)return!0;if(En(e))return e.error.status==="PERMISSION_DENIED";let t=pr(e).toLowerCase();return t.includes("403")&&t.includes("forbidden")}function vy(e){let t=pr(e).toLowerCase();if(t.includes("no quota configuration"))return!0;let n=an(e);return(t.includes("insufficient credits")||t.includes("insufficient balance")||t.includes("quota limit exceeded"))&&(n===402||n===429||n===void 0)}function Iy(e){if(an(e)===429)return!0;return pr(e).toLowerCase().includes("rate limit")}function pr(e){if(typeof e==="string")return e;if(En(e))return e.error.message??"";if(wo(e))return e.message;if(e instanceof Error)return e.message;return sn(e)}var sf=500;function lf(e={}){let[t,n]=Z(yo()),[r,o]=Z("starting"),[i,a]=Z(void 0),[s,l]=Z([]),[d,h]=Z("default"),[g,x]=Z([]),[b,I]=Z(void 0),[P,Y]=Z(),[U,T]=Z([]),[H,C]=Z({running:!1}),[E,B]=Z({available:!1}),[N,F]=Z({available:!1}),[G,V]=Z([]),[q,Se]=Z({planModeActive:!1,goal:null}),[Le,Oe]=Z([]),[re,oe]=Z(void 0),[ee,ie]=Z(void 0),[Ze,Pt]=Z([]),[Qt,$n]=Z(!1),X,Gn=0,Sr=(S)=>V((W)=>[S,...W.filter((ce)=>ce.id!==S.id)]),un=[],St=(S)=>{X?.prompt(S).catch((W)=>{st.emit({kind:"error",message:W instanceof Error?W.message:String(W)})})},zn=()=>{if(!X||r()!=="idle")return;let S=un.shift();if(S){St(S);return}if(Qt())return;let W=Ze(),ce=W[0];if(ce===void 0)return;Pt(W.slice(1)),n((pe)=>mr(pe,ce)),St(ce)},Hn=()=>{let S=Yg(Ze(),Qt());if(!X||S.length===0)return;Pt([]);for(let W of S)n((ce)=>mr(ce,W));X.injectText(S.join(`
|
|
717
717
|
|
|
718
|
-
`)).catch((W)=>{st.emit({kind:"error",message:W instanceof Error?W.message:String(W)})})},gn=[],Ft=!1,at=(S)=>{if(S.kind==="tasks"){T(S.tasks);return}if(S.kind==="checkpoint"){Sr(S.checkpoint);return}if(n((W)=>
|
|
719
|
-
`).filter((pe)=>pe.trim())];return ce.length>
|
|
720
|
-
`,"utf8")}catch{}}function
|
|
718
|
+
`)).catch((W)=>{st.emit({kind:"error",message:W instanceof Error?W.message:String(W)})})},gn=[],Ft=!1,at=(S)=>{if(S.kind==="tasks"){T(S.tasks);return}if(S.kind==="checkpoint"){Sr(S.checkpoint);return}if(n((W)=>Qg(W,S)),(S.kind==="tool_call"||S.kind==="tool_update")&&S.status==="completed")Hn()},jn=()=>{Ft=!1;let S=gn;gn=[],Ys(()=>{for(let W of S)at(W)})},st={emit(S){let W=S.kind==="error"?{...S,message:af(S.message,{model:i(),email:re()?.user?.email})}:S;if(S.kind==="restoring"&&!S.active){jn(),at(W);return}if(!t().restoring){at(W);return}if(gn.push(W),Ft)return;Ft=!0,setTimeout(jn,0)},setStatus(S){if(o(S),S==="idle")zn()},requestPermission(S){return new Promise((W)=>{let ce={...S,requestId:`perm-${++Gn}`};Y({request:ce,resolve:(pe)=>{Y((fn)=>fn?.request.requestId===ce.requestId?void 0:fn),W(pe)}})})},log(S){Oe((W)=>{let ce=[...W,...S.split(`
|
|
719
|
+
`).filter((pe)=>pe.trim())];return ce.length>sf?ce.slice(-sf):ce})},backgroundTaskCompleted(S,W){st.log(`background task ${S} finished; waking the session`),qe.submit(W,{silent:!0})}},qe={transcript:t,status:r,model:i,models:s,mode:d,modes:g,thinking:b,pendingPermission:P,tasks:U,checkpoints:G,modeStatus:q,feishuStatus:H,credits:E,quota:N,logs:Le,auth:re,pendingBrowserLogin:ee,queued:Ze,queuePaused:Qt,callbacks:st,attach(S){X=S},setHandshake(S){l(S.models),x(S.modes),a(S.model),h(S.mode),I(S.thinking),zn()},submit(S,W){let ce=S.trim();if(!ce||!X)return;if(r()==="starting"){if(!W?.silent)n((pe)=>mr(pe,ce));un.push(ce);return}if(Bn(r())){if(W?.silent){X.injectText(ce).catch(()=>{return});return}Pt((pe)=>Kg(pe,ce));return}if(!W?.silent)n((pe)=>mr(pe,ce));St(ce)},interrupt(){X?.cancel()},setQueuePaused(S){$n(S)},updateQueueItem(S,W){let ce=Vg(Ze(),S,W);return Pt(ce.queue),ce.outcome},clearQueue(){let S=Ze().length;return Pt([]),S},clearTranscript(){n((S)=>({...yo(),commands:S.commands}))},seedTranscript(S){if(S.length===0)return;n((W)=>({...W,blocks:S,restoring:!0,seeded:!0}))},seedUsage(S){if(!Number.isFinite(S)||S<=0)return;n((W)=>W.usage?W:{...W,usage:{used:S,size:0}})},async newSession(){if(!X)throw Error(u("backend.notRunning"));let S=await X.newSession();l(S.availableModels),x(S.availableModes),a(S.model),h(S.mode),I(S.thinking),n((fn)=>({...yo(),commands:fn.commands}));let[W,ce,pe]=await Promise.all([X.modeStatus(),X.tasksList(),X.listCheckpoints()]);return Se(W),T(ce),V(pe),{acpSessionId:S.acpSessionId}},answerPermission(S){P()?.resolve(S)},selectModel(S){if(!X)return;X.setModel(S).then((W)=>a(W)).catch((W)=>st.log(`set model failed: ${String(W)}`))},async refreshModels(){if(!X)return;try{let{available:S,current:W}=await X.refreshModels();if(S.length>0)l(S);if(W)a(W)}catch(S){st.log(`refresh models failed: ${String(S)}`)}},async selectMode(S){if(!X)return{ok:!1,error:u("backend.notRunning")};let W=d();h(S);let ce;try{ce=await X.setMode(S)}catch(pe){ce={ok:!1,error:pe instanceof Error?pe.message:String(pe)}}if(!ce.ok&&d()===S)h(W);return ce},selectThinking(S){if(!X)return;I(S),X.setThinking(S)},async setPlanMode(S){if(!X)return;let W=await X.planSet(S);Se((ce)=>({...ce,planModeActive:W.planModeActive}))},async refreshModeStatus(){if(!X)return;Se(await X.modeStatus())},async refreshFeishuStatus(){if(!X)return;C(await X.feishuStatus())},async refreshCredits(){if(!X)return;B(await X.creditsSummary())},async refreshQuota(){if(!X)return;F(await X.quotaStatus())},async startGoal(S){if(!X)throw Error(u("backend.notRunning"));let W=await X.goalStart(S);if(W.yoloWasEnabled)h("yolo");return qe.submit(W.prompt,{silent:!0}),await qe.refreshModeStatus(),W},async clearGoal(){if(!X)return{wasActive:!1,injected:!1};let S=await X.goalClear();if(S.clearMessage)qe.submit(S.clearMessage,{silent:!0});return await qe.refreshModeStatus(),S},async askBtw(S){if(!X)return{text:"",status:"failed",error:u("backend.notRunning")};return X.btwAsk(S)},async refreshTasks(){if(!X)return;T(await X.tasksList())},async stopTask(S){if(!X)return{ok:!1,error:u("backend.notRunning")};let W=await X.tasksStop(S);return await qe.refreshTasks(),W},async taskOutput(S){if(!X)return{ok:!1,error:u("backend.notRunning")};return X.tasksOutput(S)},async clearFinishedTasks(){if(!X)return;let S=await X.tasksClear();T(S.tasks)},async refreshCheckpoints(){if(!X)return;V(await X.listCheckpoints())},async restoreCheckpoint(S){if(!X)return{ok:!1,error:u("backend.notRunning")};let W=await X.restoreCheckpoint(S);if(W.ok)await qe.refreshCheckpoints();return W},async rewind(S){if(!X)return{keptUserMessageCount:0,droppedContentCount:0};return X.rewind(S)},async fork(S){if(!X)throw Error(u("backend.notRunningFork"));return X.fork(S)},async injectText(S){await X?.injectText(S)},async requestBackground(){try{return await X?.requestBackground()??{ok:!1,error:u("backend.notRunning")}}catch(S){return{ok:!1,error:S instanceof Error?S.message:String(S)}}},async reloadSkills(){await X?.reloadSkills()},async reloadAuth(){await X?.reloadAuth()},async refreshAuth(){if(!e.auth)return;try{let S=await e.auth.getStatus();return oe(S),S}catch(S){let W=S instanceof Error?S.message:String(S);st.log(`auth status failed: ${W}`),st.emit({kind:"error",message:`Could not read the sign-in state: ${W}`});return}},async loginWithApiKey(S){if(!e.auth)return{ok:!1,error:u("backend.authUnavailable")};let W=await e.auth.loginWithApiKey(S);if(W.ok)await mt();return W},async startBrowserLogin(){if(!e.auth)return{ok:!1,error:u("backend.authUnavailable")};let S=await e.auth.startBrowserLogin(()=>{ie(void 0),mt()});return ie(S.ok?S:void 0),S},cancelBrowserLogin(){e.auth?.cancelBrowserLogin(),ie(void 0)},async logout(){if(!e.auth)return;await e.auth.logout(),await mt()},async openAccountPage(){if(!e.auth)return{ok:!1,error:u("backend.authUnavailable")};return e.auth.openAccountPage()}};async function mt(){await qe.refreshAuth(),await qe.reloadAuth()}return qe.refreshAuth(),qe}import Ca from"fs/promises";import{homedir as By}from"os";import{dirname as Ty,join as Ey}from"path";var _y=5,Ry=50;function cf(e=By()){return Ey(e,".easycode-user","tui-sessions.json")}function df(e,t,n=_y){return e.filter((r)=>r.cwd===t).sort((r,o)=>o.lastActiveAt-r.lastActiveAt).slice(0,n)}function uf(e,t,n=Ry){let r=e.filter((o)=>o.id!==t.id);return[t,...r].sort((o,i)=>i.lastActiveAt-o.lastActiveAt).slice(0,n)}function Py(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 gf(e=cf()){try{let t=await Ca.readFile(e,"utf8"),n=JSON.parse(t);if(!Array.isArray(n))return[];return n.filter(Py)}catch{return[]}}async function ff(e,t=cf()){try{await Ca.mkdir(Ty(t),{recursive:!0}),await Ca.writeFile(t,`${JSON.stringify(e,null,2)}
|
|
720
|
+
`,"utf8")}catch{}}function Fy(e){switch(e){case"thinking":return"running";case"needs_approval":return"waiting";case"error":case"exited":return"exited";default:return"idle"}}function hf(e){let t=[],n=[],[r,o]=Z(!1),[i,a]=Z(0),s=()=>t[i()].session,l=(d)=>{let g={...e.open(d)};return t.push(g),a(t.length-1),g};return e.load().then((d)=>{n=d,o(!0)}),{active:s,rows:()=>{r();let d=t[i()],h=[],g=new Set;for(let[x,b]of t.entries()){let I=b.id();if(I)g.add(I);h.push({id:I,title:b.session.transcript().title||u("session.untitled"),active:b===d,tone:Fy(b.session.status()),entryIndex:x})}for(let x of df(n,e.cwd)){if(g.has(x.id))continue;h.push({id:x.id,title:x.title,active:!1,tone:"idle"})}return h},create:()=>{l()},resume:(d)=>{l(d)},activate:(d)=>{if(d.entryIndex!==void 0){a(d.entryIndex);return}if(d.id)l(d.id)},remember:(d)=>{let h=t[i()],g=h?.id();if(!g||h.savedTitle===d)return;h.savedTitle=d,n=uf(n,{id:g,title:d||u("session.untitled"),cwd:e.cwd,lastActiveAt:Date.now()}),e.save(n)},dispose:()=>Promise.all(t.map((d)=>d.close())).then(()=>{return})}}import{createHash as Oy}from"crypto";import pf from"fs/promises";import{homedir as vo}from"os";import{join as Ba,resolve as $y}from"path";var Dy=/<system[\s-]?reminder>[\s\S]*?<\/system[\s-]?reminder>/gi,My=/\[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,Ny=/\[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,Ly=/\[Conversation\s+continues\]\s*/gi;function va(e){if(!e)return e;return e.replace(Dy,"").replace(My,"").replace(Ny,"").replace(Ly,"").replace(/\n{3,}/g,`
|
|
721
721
|
|
|
722
|
-
`).trim()}function Ba(e){let t=e.trim();return t.startsWith("[Conversation continues]")||t.startsWith("[Easy Code - SYSTEM NOTIFICATION]")}function pf(e){let t=Ia(e);if(!t||Ba(t))return;return t}function Ly(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 Oy(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",a="";for(let l of o){if(l.functionCall||l.functionResponse)continue;if(typeof l.text==="string")a+=l.text}let s=Ia(a);if(!s||Ba(s))continue;t=Ly(t,i?"assistant":"user",s)}return t}function $y(e,t,n=Io()){return Ta(kf(e,t,n),"history.json")}function kf(e,t,n){let r=My("sha256").update(Ny(e)).digest("hex");return Ta(n,".easycode-user","tmp",r,"sessions",t)}function Gy(e,t,n=Io()){return Ta(kf(e,t,n),"metadata.json")}async function xf(e,t,n=Io()){try{let r=await Af.readFile(Gy(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 bf(e,t,n=Io()){try{let r=await Af.readFile($y(t,e,n),"utf8"),o=JSON.parse(r);return Array.isArray(o)?Oy(o):[]}catch{return[]}}import*as bp from"path";import{MouseButton as I1,SyntaxStyle as B1}from"@opentui/core";import{RGBA as ww}from"@opentui/core";import{RGBA as yt}from"@opentui/core";var yf={$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 wf={$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 Sf={$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 Cf={$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 vf={$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 If={$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 Bf={$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 Tf={$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 Ef={$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 _f={$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 Rf={$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 Pf={$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 Ff={$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 Df={$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 Mf={$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 Nf={$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 Lf={$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 Of={$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 $f={$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 Gf={$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 zf={$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 Hf={$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 jf={$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 Zf={$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 Wf={$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 Uf={$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 Qf={$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 Kf={$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 Yf={$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 Jf={$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 Vf={$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 qf={$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 Xf={$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 Ar={aura:yf,ayu:wf,carbonfox:Sf,catppuccin:Cf,["catppuccin-frappe"]:vf,["catppuccin-macchiato"]:If,cobalt2:Bf,cursor:Tf,dracula:Ef,everforest:_f,flexoki:Rf,github:Pf,gruvbox:Ff,kanagawa:Df,["lucent-orng"]:Mf,material:Nf,matrix:Lf,mercury:Of,monokai:$f,nightowl:Gf,nord:zf,["one-dark"]:Hf,opencode:jf,orng:Zf,["osaka-jade"]:Wf,palenight:Uf,rosepine:Qf,solarized:Kf,synthwave84:Yf,tokyonight:Jf,vercel:Vf,vesper:qf,zenburn:Xf},Ea="tokyonight";function _a(e){return Object.hasOwn(Ar,e)}function bw(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 yt.fromInts(t[0],t[1],t[2]);return yt.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 yt.fromInts(i(o),i(r),i(n))}if(e<256){let t=(e-232)*10+8;return yt.fromInts(t,t,t)}return yt.fromInts(0,0,0)}function _n(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 yt.fromInts(Math.round(r*255),Math.round(o*255),Math.round(i*255))}function eh(e,t="dark"){let n=e.defs??{};function r(a,s=[]){if(a instanceof yt)return a;if(typeof a==="string"){if(a==="transparent"||a==="none")return yt.fromInts(0,0,0,0);if(a.startsWith("#"))return yt.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 bw(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 Rn(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?yt.fromInts(0,0,0):yt.fromInts(255,255,255)}return e.background}var th={pending:"\u25CB",in_progress:"\u25D0",completed:"\u25CF",failed:"\u2717"},nh={pending:"\u25CB",in_progress:"\u25D0",completed:"\u25CF"};var rh=$r();function yw(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 oh(e){let[t,n]=Z(e.initial&&_a(e.initial)?e.initial:Ea),[r,o]=Z("dark"),i=$e(()=>Ar[t()]??Ar[Ea]),a=$e(()=>eh(i(),r())),s=yw(()=>a()),d={get theme(){return s},get name(){return t()},setName:(h)=>{if(!_a(h))return;n(h),e.onNameChange?.(h)},get names(){return[...Object.keys(Ar)].sort((h,g)=>h.localeCompare(g))},get mode(){return r()},setMode:o};return p(rh.Provider,{value:d,get children(){return e.children}})}function le(){let e=qt(rh);if(!e)throw Error("useTheme must be used within a ThemeProvider");return e}var Sw={topLeft:"",bottomLeft:"",vertical:"",topRight:"",bottomRight:"",horizontal:" ",bottomT:"",topT:"",cross:"",leftT:"",rightT:""},Cw={border:["left"],customBorderChars:{...Sw,vertical:"\u2503"}};function ft(e){let{theme:t}=le();return(()=>{var n=k("box"),r=k("box"),o=k("box"),i=k("text"),a=k("text");return D(n,r),D(r,o),c(r,"style",{flexDirection:"column",gap:1,flexGrow:1,paddingTop:1,paddingBottom:1,paddingLeft:2,paddingRight:3}),D(o,i),D(o,a),c(o,"style",{flexDirection:"row",gap:1,flexShrink:0}),m(i,()=>e.icon??"\u25B3"),m(a,()=>e.title),m(r,p(L,{get when(){return e.subtitle},get children(){var s=k("text");return m(s,()=>e.subtitle),_((l)=>c(s,"style",{fg:t.textMuted,paddingLeft:1},l)),s}}),null),m(r,()=>e.children,null),m(n,p(L,{get when(){return e.footer},get children(){var s=k("box");return m(s,()=>e.footer),_((l)=>c(s,"style",{flexDirection:"row",flexShrink:0,gap:1,justifyContent:"space-between",alignItems:"center",backgroundColor:t.backgroundElement,paddingTop:1,paddingBottom:1,paddingLeft:3,paddingRight:3},l)),s}}),null),_((s)=>{var l={flexDirection:"column",flexShrink:0,backgroundColor:t.backgroundPanel,border:["left"],borderColor:t[e.tone],customBorderChars:Cw.customBorderChars},d={fg:t[e.tone]},h={fg:t.text};return l!==s.e&&(s.e=c(n,"style",l,s.e)),d!==s.t&&(s.t=c(i,"style",d,s.t)),h!==s.a&&(s.a=c(a,"style",h,s.a)),s},{e:void 0,t:void 0,a:void 0}),n})()}function ht(e){let{theme:t}=le(),n=()=>e.fill??t.primary,r=()=>Rn(t,n()),o=()=>e.disabled?t.textMuted:e.current?t.primary:t.text;return(()=>{var i=k("box"),a=k("text"),s=k("text");return D(i,a),D(i,s),c(a,"selectable",!1),m(a,(()=>{var l=se(()=>!!e.active);return()=>l()?"\u276F ":e.current?"\u25CF ":" "})()),c(s,"wrapMode","none"),c(s,"selectable",!1),m(s,()=>e.title),m(i,p(L,{get when(){return e.description},get children(){var l=k("text");return c(l,"overflow","hidden"),c(l,"wrapMode","none"),c(l,"selectable",!1),m(l,()=>` ${e.description}`),_((d)=>c(l,"style",{fg:e.active?r():t.textMuted,flexGrow:1},d)),l}}),null),m(i,p(L,{get when(){return e.footer},get children(){var l=k("text");return c(l,"selectable",!1),m(l,()=>` ${e.footer}`),_((d)=>c(l,"style",{fg:e.active?r():t.textMuted,flexShrink:0},d)),l}}),null),_((l)=>{var d={flexDirection:"row",flexShrink:0,backgroundColor:e.active?n():ww.fromInts(0,0,0,0),paddingLeft:1,paddingRight:1},h=e.onMouseUp,g={fg:e.active?r():o(),flexShrink:0},x={fg:e.active?r():o(),flexShrink:0};return d!==l.e&&(l.e=c(i,"style",d,l.e)),h!==l.t&&(l.t=c(i,"onMouseUp",h,l.t)),g!==l.a&&(l.a=c(a,"style",g,l.a)),x!==l.o&&(l.o=c(s,"style",x,l.o)),l},{e:void 0,t:void 0,a:void 0,o:void 0}),i})()}function me(e){let{theme:t}=le();return(()=>{var n=k("text"),r=k("span"),o=Be(" "),i=k("span");return D(n,r),D(n,i),c(n,"style",{flexShrink:0}),c(n,"selectable",!1),D(r,o),m(r,()=>e.keys,o),m(i,()=>e.label),_((a)=>{var s={fg:t.text},l={fg:t.textMuted};return s!==a.e&&(a.e=c(r,"style",s,a.e)),l!==a.t&&(a.t=c(i,"style",l,a.t)),a},{e:void 0,t:void 0}),n})()}function Pn(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 Fn(e){return e[0]?.index??0}function Dn(e,t){let n=e.at(-1)?.index??-1;return Math.max(0,t-1-n)}function Rt(e){let t=e.scroll?.direction;if(t==="up")return-1;if(t==="down")return 1;return 0}function ln(e,t,n){if(n<=0)return 0;return(e+t+n)%n}function ih(e){return e.find((t)=>t.kind==="allow_once")?.optionId??e.find((t)=>!t.kind.startsWith("reject"))?.optionId??e[0]?.optionId}function ah(e){let{theme:t}=le(),n=(r)=>e.cursors[r]??0;return p(ft,{tone:"accent",icon:"?",get title(){return u("dialog.question.title")},get footer(){return[p(me,{keys:"\u2191\u2193",get label(){return u("key.choose")}}),p(me,{keys:"1-9",get label(){return u("key.pick")}}),p(me,{keys:"space",get label(){return u("key.toggle")}}),p(me,{keys:"tab",get label(){return u("key.nextQuestion")}}),p(me,{keys:"enter",get label(){return u("key.submit")}})]},get children(){var r=k("box");return c(r,"style",{flexDirection:"column",gap:1}),c(r,"onMouseScroll",(o)=>{let i=Rt(o);if(i)e.onStep?.(i)}),m(r,p(ae,{get each(){return e.questions},children:(o,i)=>{let a=()=>i()===e.activeQuestion,s=()=>n(i());return(()=>{var l=k("box"),d=k("box"),h=k("text"),g=k("text"),x=k("b");return D(l,d),D(l,g),c(l,"style",{flexDirection:"column"}),D(d,h),c(d,"style",{flexDirection:"row",gap:1,paddingLeft:1}),m(h,()=>o.header),m(d,p(L,{get when(){return o.multiSelect},get children(){var b=k("text");return D(b,Be("(select all that apply)")),_((I)=>c(b,"style",{fg:t.textMuted,flexShrink:0},I)),b}}),null),D(g,x),m(x,()=>o.question),m(l,p(ae,{get each(){return o.options},children:(b,I)=>{let P=()=>e.selections[i()]?.has(I())??!1,Y=()=>a()&&s()===I(),U=()=>I()===o.options.length-1,T=()=>Y()?_n(t.textMuted,t.secondary,0.6):t.textMuted,H=()=>{if(Y())return t.secondary;return P()?t.success:t.text};return(()=>{var C=k("box"),E=k("box"),B=k("text"),N=k("text"),F=k("text");return D(C,E),c(C,"onMouseUp",()=>e.onPick?.(i(),I())),D(E,B),D(E,N),D(E,F),c(E,"style",{flexDirection:"row"}),c(B,"selectable",!1),m(B,()=>Y()?"\u276F ":" "),c(N,"selectable",!1),m(N,()=>`${I()+1}. `),c(F,"selectable",!1),m(F,(()=>{var G=se(()=>!!o.multiSelect);return()=>G()?`[${P()?"\u2713":" "}] ${b.label}`:b.label})()),m(E,p(L,{get when(){return se(()=>!o.multiSelect)()&&P()},get children(){var G=k("text");return D(G,Be(" \u2713")),c(G,"selectable",!1),_((V)=>c(G,"style",{fg:t.success,flexShrink:0},V)),G}}),null),m(C,p(L,{get when(){return b.description},get children(){var G=k("box"),V=k("text");return D(G,V),c(G,"style",{paddingLeft:5,paddingRight:2}),c(V,"selectable",!1),m(V,()=>b.description),_((q)=>c(V,"style",{fg:t.textMuted},q)),G}}),null),_((G)=>{var V={flexDirection:"column",backgroundColor:Y()?t.backgroundElement:void 0,paddingLeft:2,border:U()?void 0:["bottom"],borderColor:U()?void 0:t.border},q={fg:t.secondary,flexShrink:0},Se={fg:T(),flexShrink:0},Le={fg:H(),flexShrink:0};return V!==G.e&&(G.e=c(C,"style",V,G.e)),q!==G.t&&(G.t=c(B,"style",q,G.t)),Se!==G.a&&(G.a=c(N,"style",Se,G.a)),Le!==G.o&&(G.o=c(F,"style",Le,G.o)),G},{e:void 0,t:void 0,a:void 0,o:void 0}),C})()}}),null),_((b)=>{var I={fg:a()?t.accent:t.textMuted,flexShrink:0},P={fg:t.text,paddingLeft:1,paddingBottom:1};return I!==b.e&&(b.e=c(h,"style",I,b.e)),P!==b.t&&(b.t=c(g,"style",P,b.t)),b},{e:void 0,t:void 0}),l})()}})),r}})}function sh(e){return`[Image ${e.length+1}]`}function lh(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 ch(e,t){return t.reduce((n,r)=>n.split(r.label).join(r.reference),e)}function Ra(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 dh(e,t){let n=new TextDecoder().decode(t).replace(/[\r\n]+/g,"");return e+n}function uh(e,t=40){if(!e)return"";let n="\u2022".repeat(Math.min(e.length,t));return e.length>t?`${n}\u2026`:n}var cn=[{id:"browser",label:u("auth.choice.browser"),hint:u("auth.choice.browser.hint")},{id:"apikey",label:u("auth.choice.apikey"),hint:u("auth.choice.apikey.hint")}];function gh(e){let{theme:t}=le();return p(ft,{tone:"accent",icon:"\u26BF",get title(){return u("auth.title")},get subtitle(){return se(()=>!!e.required)()?u("auth.noCredentials"):void 0},get footer(){return[p(L,{get when(){return e.stage==="choose"},get children(){return[p(me,{keys:"\u2191\u2193",get label(){return u("key.choose")}}),p(me,{keys:"enter",get label(){return u("key.confirm")}})]}}),p(L,{get when(){return e.stage==="apikey"},get children(){return[p(me,{keys:"enter",get label(){return u("key.submit")}}),p(me,{keys:"ctrl+u",get label(){return u("key.clear")}})]}}),p(me,{keys:"esc",get label(){return se(()=>e.stage==="choose")()?u("key.dismiss"):u("key.back")}})]},get children(){return[p(L,{get when(){return e.stage==="choose"},get children(){var n=k("box");return c(n,"style",{flexDirection:"column",paddingLeft:1}),m(n,()=>cn.map((r,o)=>p(ht,{get active(){return o===e.selected},get title(){return r.label},get description(){return r.hint},onMouseUp:()=>e.onChoose?.(o)}))),n}}),p(L,{get when(){return e.stage==="apikey"},get children(){var n=k("box"),r=k("text"),o=k("box"),i=k("text"),a=k("text");return D(n,r),D(n,o),c(n,"style",{flexDirection:"column",paddingLeft:1,gap:1}),D(r,Be("Paste your API key:")),D(o,i),D(o,a),D(i,Be("> ")),m(a,()=>uh(e.secret)),_((s)=>{var l={fg:t.text},d={flexDirection:"row",backgroundColor:t.backgroundElement,paddingLeft:1,paddingRight:1},h={fg:t.primary},g={fg:t.text};return l!==s.e&&(s.e=c(r,"style",l,s.e)),d!==s.t&&(s.t=c(o,"style",d,s.t)),h!==s.a&&(s.a=c(i,"style",h,s.a)),g!==s.o&&(s.o=c(a,"style",g,s.o)),s},{e:void 0,t:void 0,a:void 0,o:void 0}),n}}),p(L,{get when(){return e.stage==="browser"},get children(){var n=k("box"),r=k("text");return D(n,r),c(n,"style",{flexDirection:"column",paddingLeft:1,gap:1}),D(r,Be("Finish signing in in your browser.")),m(n,p(L,{get when(){return e.browser?.url},children:(o)=>(()=>{var i=k("text");return m(i,()=>` ${o()}`),_((a)=>c(i,"style",{fg:t.primary},a)),i})()}),null),m(n,p(L,{get when(){return e.browser?.error},children:(o)=>(()=>{var i=k("text");return m(i,()=>`Could not open a browser (${o()}) \u2014 visit the URL above.`),_((a)=>c(i,"style",{fg:t.warning},a)),i})()}),null),_((o)=>c(r,"style",{fg:t.text},o)),n}}),p(L,{get when(){return e.busy},get children(){var n=k("text");return D(n,Be("Signing in\u2026")),_((r)=>c(n,"style",{fg:t.accent,paddingLeft:1},r)),n}}),p(L,{get when(){return e.error},children:(n)=>(()=>{var r=k("text");return m(r,n),_((o)=>c(r,"style",{fg:t.error,paddingLeft:1},o)),r})()})]}})}function fh(e){if(!e)return u("auth.status.checking");if(!e.loggedIn)return u("auth.status.signedOut");return e.user?.name||e.user?.email||u("auth.status.signedIn")}import{SyntaxStyle as yS}from"@opentui/core";class Bo{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=(U)=>{if(U=this.postProcess(U,n),r){setTimeout(function(){r(U)},0);return}else return U},a=t.length,s=e.length,l=1,d=a+s;if(n.maxEditLength!=null)d=Math.min(d,n.maxEditLength);let h=(o=n.timeout)!==null&&o!==void 0?o:1/0,g=Date.now()+h,x=[{oldPos:-1,lastComponent:void 0}],b=this.extractCommon(x[0],t,e,0,n);if(x[0].oldPos+1>=s&&b+1>=a)return i(this.buildValues(x[0].lastComponent,t,e));let I=-1/0,P=1/0,Y=()=>{for(let U=Math.max(I,-l);U<=Math.min(P,l);U+=2){let T,H=x[U-1],C=x[U+1];if(H)x[U-1]=void 0;let E=!1;if(C){let N=C.oldPos-U;E=C&&0<=N&&N<a}let B=H&&H.oldPos+1<s;if(!E&&!B){x[U]=void 0;continue}if(!B||E&&H.oldPos<C.oldPos)T=this.addToPath(C,!0,!1,0,n);else T=this.addToPath(H,!1,!0,1,n);if(b=this.extractCommon(T,t,e,U,n),T.oldPos+1>=s&&b+1>=a)return i(this.buildValues(T.lastComponent,t,e))||!0;else{if(x[U]=T,T.oldPos+1>=s)P=Math.min(P,U-1);if(b+1>=a)I=Math.max(I,U+1)}}l++};if(r)(function U(){setTimeout(function(){if(l>d||Date.now()>g)return r(void 0);if(!Y())U()},0)})();else while(l<=d&&Date.now()<=g){let U=Y();if(U)return U}}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,d=0;while(l+1<i&&s+1<a&&this.equals(n[s+1],t[l+1],o))if(l++,s++,d++,o.oneChangePerToken)e.lastComponent={count:1,previousComponent:e.lastComponent,added:!1,removed:!1};if(d&&!o.oneChangePerToken)e.lastComponent={count:d,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 d=r[a];if(!d.removed){if(!d.added&&this.useLongestToken){let h=t.slice(s,s+d.count);h=h.map(function(g,x){let b=n[l+x];return b.length>g.length?b:g}),d.value=this.join(h)}else d.value=this.join(t.slice(s,s+d.count));if(s+=d.count,!d.added)l+=d.count}else d.value=this.join(n.slice(l,l+d.count)),l+=d.count}return r}}class hh extends Bo{constructor(){super(...arguments);this.tokenize=vw}equals(e,t,n){if(n.ignoreWhitespace){if(!n.newlineIsToken||!e.includes(`
|
|
722
|
+
`).trim()}function Ia(e){let t=e.trim();return t.startsWith("[Conversation continues]")||t.startsWith("[Easy Code - SYSTEM NOTIFICATION]")}function mf(e){let t=va(e);if(!t||Ia(t))return;return t}function Gy(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 zy(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",a="";for(let l of o){if(l.functionCall||l.functionResponse)continue;if(typeof l.text==="string")a+=l.text}let s=va(a);if(!s||Ia(s))continue;t=Gy(t,i?"assistant":"user",s)}return t}function Hy(e,t,n=vo()){return Ba(Af(e,t,n),"history.json")}function Af(e,t,n){let r=Oy("sha256").update($y(e)).digest("hex");return Ba(n,".easycode-user","tmp",r,"sessions",t)}function jy(e,t,n=vo()){return Ba(Af(e,t,n),"metadata.json")}async function kf(e,t,n=vo()){try{let r=await pf.readFile(jy(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 xf(e,t,n=vo()){try{let r=await pf.readFile(Hy(t,e,n),"utf8"),o=JSON.parse(r);return Array.isArray(o)?zy(o):[]}catch{return[]}}import*as xp from"path";import{MouseButton as E1,SyntaxStyle as _1}from"@opentui/core";import{RGBA as vw}from"@opentui/core";import{RGBA as yt}from"@opentui/core";var bf={$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 yf={$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 wf={$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 Sf={$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 Cf={$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 vf={$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 If={$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 Bf={$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 Tf={$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 Ef={$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 _f={$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 Rf={$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 Pf={$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 Ff={$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 Df={$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 Mf={$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 Nf={$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 Lf={$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 Of={$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 $f={$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 Gf={$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 zf={$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 Hf={$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 jf={$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 Zf={$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 Wf={$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 Uf={$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 Qf={$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 Kf={$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 Yf={$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 Jf={$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 Vf={$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 qf={$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 Ar={aura:bf,ayu:yf,carbonfox:wf,catppuccin:Sf,["catppuccin-frappe"]:Cf,["catppuccin-macchiato"]:vf,cobalt2:If,cursor:Bf,dracula:Tf,everforest:Ef,flexoki:_f,github:Rf,gruvbox:Pf,kanagawa:Ff,["lucent-orng"]:Df,material:Mf,matrix:Nf,mercury:Lf,monokai:Of,nightowl:$f,nord:Gf,["one-dark"]:zf,opencode:Hf,orng:jf,["osaka-jade"]:Zf,palenight:Wf,rosepine:Uf,solarized:Qf,synthwave84:Kf,tokyonight:Yf,vercel:Jf,vesper:Vf,zenburn:qf},Ta="tokyonight";function Ea(e){return Object.hasOwn(Ar,e)}function Sw(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 yt.fromInts(t[0],t[1],t[2]);return yt.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 yt.fromInts(i(o),i(r),i(n))}if(e<256){let t=(e-232)*10+8;return yt.fromInts(t,t,t)}return yt.fromInts(0,0,0)}function _n(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 yt.fromInts(Math.round(r*255),Math.round(o*255),Math.round(i*255))}function Xf(e,t="dark"){let n=e.defs??{};function r(a,s=[]){if(a instanceof yt)return a;if(typeof a==="string"){if(a==="transparent"||a==="none")return yt.fromInts(0,0,0,0);if(a.startsWith("#"))return yt.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 Sw(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 Rn(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?yt.fromInts(0,0,0):yt.fromInts(255,255,255)}return e.background}var eh={pending:"\u25CB",in_progress:"\u25D0",completed:"\u25CF",failed:"\u2717"},th={pending:"\u25CB",in_progress:"\u25D0",completed:"\u25CF"};var nh=$r();function Cw(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 rh(e){let[t,n]=Z(e.initial&&Ea(e.initial)?e.initial:Ta),[r,o]=Z("dark"),i=$e(()=>Ar[t()]??Ar[Ta]),a=$e(()=>Xf(i(),r())),s=Cw(()=>a()),d={get theme(){return s},get name(){return t()},setName:(h)=>{if(!Ea(h))return;n(h),e.onNameChange?.(h)},get names(){return[...Object.keys(Ar)].sort((h,g)=>h.localeCompare(g))},get mode(){return r()},setMode:o};return p(nh.Provider,{value:d,get children(){return e.children}})}function le(){let e=qt(nh);if(!e)throw Error("useTheme must be used within a ThemeProvider");return e}var Iw={topLeft:"",bottomLeft:"",vertical:"",topRight:"",bottomRight:"",horizontal:" ",bottomT:"",topT:"",cross:"",leftT:"",rightT:""},Bw={border:["left"],customBorderChars:{...Iw,vertical:"\u2503"}};function ft(e){let{theme:t}=le();return(()=>{var n=k("box"),r=k("box"),o=k("box"),i=k("text"),a=k("text");return D(n,r),D(r,o),c(r,"style",{flexDirection:"column",gap:1,flexGrow:1,paddingTop:1,paddingBottom:1,paddingLeft:2,paddingRight:3}),D(o,i),D(o,a),c(o,"style",{flexDirection:"row",gap:1,flexShrink:0}),m(i,()=>e.icon??"\u25B3"),m(a,()=>e.title),m(r,p(L,{get when(){return e.subtitle},get children(){var s=k("text");return m(s,()=>e.subtitle),_((l)=>c(s,"style",{fg:t.textMuted,paddingLeft:1},l)),s}}),null),m(r,()=>e.children,null),m(n,p(L,{get when(){return e.footer},get children(){var s=k("box");return m(s,()=>e.footer),_((l)=>c(s,"style",{flexDirection:"row",flexShrink:0,gap:1,justifyContent:"space-between",alignItems:"center",backgroundColor:t.backgroundElement,paddingTop:1,paddingBottom:1,paddingLeft:3,paddingRight:3},l)),s}}),null),_((s)=>{var l={flexDirection:"column",flexShrink:0,backgroundColor:t.backgroundPanel,border:["left"],borderColor:t[e.tone],customBorderChars:Bw.customBorderChars},d={fg:t[e.tone]},h={fg:t.text};return l!==s.e&&(s.e=c(n,"style",l,s.e)),d!==s.t&&(s.t=c(i,"style",d,s.t)),h!==s.a&&(s.a=c(a,"style",h,s.a)),s},{e:void 0,t:void 0,a:void 0}),n})()}function ht(e){let{theme:t}=le(),n=()=>e.fill??t.primary,r=()=>Rn(t,n()),o=()=>e.disabled?t.textMuted:e.current?t.primary:t.text;return(()=>{var i=k("box"),a=k("text"),s=k("text");return D(i,a),D(i,s),c(a,"selectable",!1),m(a,(()=>{var l=se(()=>!!e.active);return()=>l()?"\u276F ":e.current?"\u25CF ":" "})()),c(s,"wrapMode","none"),c(s,"selectable",!1),m(s,()=>e.title),m(i,p(L,{get when(){return e.description},get children(){var l=k("text");return c(l,"overflow","hidden"),c(l,"wrapMode","none"),c(l,"selectable",!1),m(l,()=>` ${e.description}`),_((d)=>c(l,"style",{fg:e.active?r():t.textMuted,flexGrow:1},d)),l}}),null),m(i,p(L,{get when(){return e.footer},get children(){var l=k("text");return c(l,"selectable",!1),m(l,()=>` ${e.footer}`),_((d)=>c(l,"style",{fg:e.active?r():t.textMuted,flexShrink:0},d)),l}}),null),_((l)=>{var d={flexDirection:"row",flexShrink:0,backgroundColor:e.active?n():vw.fromInts(0,0,0,0),paddingLeft:1,paddingRight:1},h=e.onMouseUp,g={fg:e.active?r():o(),flexShrink:0},x={fg:e.active?r():o(),flexShrink:0};return d!==l.e&&(l.e=c(i,"style",d,l.e)),h!==l.t&&(l.t=c(i,"onMouseUp",h,l.t)),g!==l.a&&(l.a=c(a,"style",g,l.a)),x!==l.o&&(l.o=c(s,"style",x,l.o)),l},{e:void 0,t:void 0,a:void 0,o:void 0}),i})()}function me(e){let{theme:t}=le();return(()=>{var n=k("text"),r=k("span"),o=Be(" "),i=k("span");return D(n,r),D(n,i),c(n,"style",{flexShrink:0}),c(n,"selectable",!1),D(r,o),m(r,()=>e.keys,o),m(i,()=>e.label),_((a)=>{var s={fg:t.text},l={fg:t.textMuted};return s!==a.e&&(a.e=c(r,"style",s,a.e)),l!==a.t&&(a.t=c(i,"style",l,a.t)),a},{e:void 0,t:void 0}),n})()}function Pn(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 Fn(e){return e[0]?.index??0}function Dn(e,t){let n=e.at(-1)?.index??-1;return Math.max(0,t-1-n)}function Rt(e){let t=e.scroll?.direction;if(t==="up")return-1;if(t==="down")return 1;return 0}function ln(e,t,n){if(n<=0)return 0;return(e+t+n)%n}function oh(e){return e.find((t)=>t.kind==="allow_once")?.optionId??e.find((t)=>!t.kind.startsWith("reject"))?.optionId??e[0]?.optionId}function ih(e){let{theme:t}=le(),n=(r)=>e.cursors[r]??0;return p(ft,{tone:"accent",icon:"?",get title(){return u("dialog.question.title")},get footer(){return[p(me,{keys:"\u2191\u2193",get label(){return u("key.choose")}}),p(me,{keys:"1-9",get label(){return u("key.pick")}}),p(me,{keys:"space",get label(){return u("key.toggle")}}),p(me,{keys:"tab",get label(){return u("key.nextQuestion")}}),p(me,{keys:"enter",get label(){return u("key.submit")}})]},get children(){var r=k("box");return c(r,"style",{flexDirection:"column",gap:1}),c(r,"onMouseScroll",(o)=>{let i=Rt(o);if(i)e.onStep?.(i)}),m(r,p(ae,{get each(){return e.questions},children:(o,i)=>{let a=()=>i()===e.activeQuestion,s=()=>n(i());return(()=>{var l=k("box"),d=k("box"),h=k("text"),g=k("text"),x=k("b");return D(l,d),D(l,g),c(l,"style",{flexDirection:"column"}),D(d,h),c(d,"style",{flexDirection:"row",gap:1,paddingLeft:1}),m(h,()=>o.header),m(d,p(L,{get when(){return o.multiSelect},get children(){var b=k("text");return D(b,Be("(select all that apply)")),_((I)=>c(b,"style",{fg:t.textMuted,flexShrink:0},I)),b}}),null),D(g,x),m(x,()=>o.question),m(l,p(ae,{get each(){return o.options},children:(b,I)=>{let P=()=>e.selections[i()]?.has(I())??!1,Y=()=>a()&&s()===I(),U=()=>I()===o.options.length-1,T=()=>Y()?_n(t.textMuted,t.secondary,0.6):t.textMuted,H=()=>{if(Y())return t.secondary;return P()?t.success:t.text};return(()=>{var C=k("box"),E=k("box"),B=k("text"),N=k("text"),F=k("text");return D(C,E),c(C,"onMouseUp",()=>e.onPick?.(i(),I())),D(E,B),D(E,N),D(E,F),c(E,"style",{flexDirection:"row"}),c(B,"selectable",!1),m(B,()=>Y()?"\u276F ":" "),c(N,"selectable",!1),m(N,()=>`${I()+1}. `),c(F,"selectable",!1),m(F,(()=>{var G=se(()=>!!o.multiSelect);return()=>G()?`[${P()?"\u2713":" "}] ${b.label}`:b.label})()),m(E,p(L,{get when(){return se(()=>!o.multiSelect)()&&P()},get children(){var G=k("text");return D(G,Be(" \u2713")),c(G,"selectable",!1),_((V)=>c(G,"style",{fg:t.success,flexShrink:0},V)),G}}),null),m(C,p(L,{get when(){return b.description},get children(){var G=k("box"),V=k("text");return D(G,V),c(G,"style",{paddingLeft:5,paddingRight:2}),c(V,"selectable",!1),m(V,()=>b.description),_((q)=>c(V,"style",{fg:t.textMuted},q)),G}}),null),_((G)=>{var V={flexDirection:"column",backgroundColor:Y()?t.backgroundElement:void 0,paddingLeft:2,border:U()?void 0:["bottom"],borderColor:U()?void 0:t.border},q={fg:t.secondary,flexShrink:0},Se={fg:T(),flexShrink:0},Le={fg:H(),flexShrink:0};return V!==G.e&&(G.e=c(C,"style",V,G.e)),q!==G.t&&(G.t=c(B,"style",q,G.t)),Se!==G.a&&(G.a=c(N,"style",Se,G.a)),Le!==G.o&&(G.o=c(F,"style",Le,G.o)),G},{e:void 0,t:void 0,a:void 0,o:void 0}),C})()}}),null),_((b)=>{var I={fg:a()?t.accent:t.textMuted,flexShrink:0},P={fg:t.text,paddingLeft:1,paddingBottom:1};return I!==b.e&&(b.e=c(h,"style",I,b.e)),P!==b.t&&(b.t=c(g,"style",P,b.t)),b},{e:void 0,t:void 0}),l})()}})),r}})}function ah(e){return`[Image ${e.length+1}]`}function sh(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 lh(e,t){return t.reduce((n,r)=>n.split(r.label).join(r.reference),e)}function _a(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 ch(e,t){let n=new TextDecoder().decode(t).replace(/[\r\n]+/g,"");return e+n}function dh(e,t=40){if(!e)return"";let n="\u2022".repeat(Math.min(e.length,t));return e.length>t?`${n}\u2026`:n}var cn=[{id:"browser",label:u("auth.choice.browser"),hint:u("auth.choice.browser.hint")},{id:"apikey",label:u("auth.choice.apikey"),hint:u("auth.choice.apikey.hint")}];function uh(e){let{theme:t}=le();return p(ft,{tone:"accent",icon:"\u26BF",get title(){return u("auth.title")},get subtitle(){return se(()=>!!e.required)()?u("auth.noCredentials"):void 0},get footer(){return[p(L,{get when(){return e.stage==="choose"},get children(){return[p(me,{keys:"\u2191\u2193",get label(){return u("key.choose")}}),p(me,{keys:"enter",get label(){return u("key.confirm")}})]}}),p(L,{get when(){return e.stage==="apikey"},get children(){return[p(me,{keys:"enter",get label(){return u("key.submit")}}),p(me,{keys:"ctrl+u",get label(){return u("key.clear")}})]}}),p(me,{keys:"esc",get label(){return se(()=>e.stage==="choose")()?u("key.dismiss"):u("key.back")}})]},get children(){return[p(L,{get when(){return e.stage==="choose"},get children(){var n=k("box");return c(n,"style",{flexDirection:"column",paddingLeft:1}),m(n,()=>cn.map((r,o)=>p(ht,{get active(){return o===e.selected},get title(){return r.label},get description(){return r.hint},onMouseUp:()=>e.onChoose?.(o)}))),n}}),p(L,{get when(){return e.stage==="apikey"},get children(){var n=k("box"),r=k("text"),o=k("box"),i=k("text"),a=k("text");return D(n,r),D(n,o),c(n,"style",{flexDirection:"column",paddingLeft:1,gap:1}),D(r,Be("Paste your API key:")),D(o,i),D(o,a),D(i,Be("> ")),m(a,()=>dh(e.secret)),_((s)=>{var l={fg:t.text},d={flexDirection:"row",backgroundColor:t.backgroundElement,paddingLeft:1,paddingRight:1},h={fg:t.primary},g={fg:t.text};return l!==s.e&&(s.e=c(r,"style",l,s.e)),d!==s.t&&(s.t=c(o,"style",d,s.t)),h!==s.a&&(s.a=c(i,"style",h,s.a)),g!==s.o&&(s.o=c(a,"style",g,s.o)),s},{e:void 0,t:void 0,a:void 0,o:void 0}),n}}),p(L,{get when(){return e.stage==="browser"},get children(){var n=k("box"),r=k("text");return D(n,r),c(n,"style",{flexDirection:"column",paddingLeft:1,gap:1}),D(r,Be("Finish signing in in your browser.")),m(n,p(L,{get when(){return e.browser?.url},children:(o)=>(()=>{var i=k("text");return m(i,()=>` ${o()}`),_((a)=>c(i,"style",{fg:t.primary},a)),i})()}),null),m(n,p(L,{get when(){return e.browser?.error},children:(o)=>(()=>{var i=k("text");return m(i,()=>`Could not open a browser (${o()}) \u2014 visit the URL above.`),_((a)=>c(i,"style",{fg:t.warning},a)),i})()}),null),_((o)=>c(r,"style",{fg:t.text},o)),n}}),p(L,{get when(){return e.busy},get children(){var n=k("text");return D(n,Be("Signing in\u2026")),_((r)=>c(n,"style",{fg:t.accent,paddingLeft:1},r)),n}}),p(L,{get when(){return e.error},children:(n)=>(()=>{var r=k("text");return m(r,n),_((o)=>c(r,"style",{fg:t.error,paddingLeft:1},o)),r})()})]}})}function gh(e){if(!e)return u("auth.status.checking");if(!e.loggedIn)return u("auth.status.signedOut");return e.user?.name||e.user?.email||u("auth.status.signedIn")}import{SyntaxStyle as CS}from"@opentui/core";class Io{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=(U)=>{if(U=this.postProcess(U,n),r){setTimeout(function(){r(U)},0);return}else return U},a=t.length,s=e.length,l=1,d=a+s;if(n.maxEditLength!=null)d=Math.min(d,n.maxEditLength);let h=(o=n.timeout)!==null&&o!==void 0?o:1/0,g=Date.now()+h,x=[{oldPos:-1,lastComponent:void 0}],b=this.extractCommon(x[0],t,e,0,n);if(x[0].oldPos+1>=s&&b+1>=a)return i(this.buildValues(x[0].lastComponent,t,e));let I=-1/0,P=1/0,Y=()=>{for(let U=Math.max(I,-l);U<=Math.min(P,l);U+=2){let T,H=x[U-1],C=x[U+1];if(H)x[U-1]=void 0;let E=!1;if(C){let N=C.oldPos-U;E=C&&0<=N&&N<a}let B=H&&H.oldPos+1<s;if(!E&&!B){x[U]=void 0;continue}if(!B||E&&H.oldPos<C.oldPos)T=this.addToPath(C,!0,!1,0,n);else T=this.addToPath(H,!1,!0,1,n);if(b=this.extractCommon(T,t,e,U,n),T.oldPos+1>=s&&b+1>=a)return i(this.buildValues(T.lastComponent,t,e))||!0;else{if(x[U]=T,T.oldPos+1>=s)P=Math.min(P,U-1);if(b+1>=a)I=Math.max(I,U+1)}}l++};if(r)(function U(){setTimeout(function(){if(l>d||Date.now()>g)return r(void 0);if(!Y())U()},0)})();else while(l<=d&&Date.now()<=g){let U=Y();if(U)return U}}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,d=0;while(l+1<i&&s+1<a&&this.equals(n[s+1],t[l+1],o))if(l++,s++,d++,o.oneChangePerToken)e.lastComponent={count:1,previousComponent:e.lastComponent,added:!1,removed:!1};if(d&&!o.oneChangePerToken)e.lastComponent={count:d,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 d=r[a];if(!d.removed){if(!d.added&&this.useLongestToken){let h=t.slice(s,s+d.count);h=h.map(function(g,x){let b=n[l+x];return b.length>g.length?b:g}),d.value=this.join(h)}else d.value=this.join(t.slice(s,s+d.count));if(s+=d.count,!d.added)l+=d.count}else d.value=this.join(n.slice(l,l+d.count)),l+=d.count}return r}}class fh extends Io{constructor(){super(...arguments);this.tokenize=Tw}equals(e,t,n){if(n.ignoreWhitespace){if(!n.newlineIsToken||!e.includes(`
|
|
723
723
|
`))e=e.trim();if(!n.newlineIsToken||!t.includes(`
|
|
724
724
|
`))t=t.trim()}else if(n.ignoreNewlineAtEof&&!n.newlineIsToken){if(e.endsWith(`
|
|
725
725
|
`))e=e.slice(0,-1);if(t.endsWith(`
|
|
726
|
-
`))t=t.slice(0,-1)}return super.equals(e,t,n)}}var
|
|
727
|
-
`);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
|
|
728
|
-
`))T.lines[H]=T.lines[H].slice(0,-1);else T.lines.splice(H+1,0,"\"),H++;return{oldFileName:e,newFileName:t,oldHeader:o,newHeader:i,hunks:x}}}function
|
|
726
|
+
`))t=t.slice(0,-1)}return super.equals(e,t,n)}}var hh=new fh;function Mn(e,t,n){return hh.diff(e,t,n)}function Tw(e,t){if(t.stripTrailingCr)e=e.replace(/\r\n/g,`
|
|
727
|
+
`);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 Ra(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 d(Mn(n,r,s));else{let{callback:h}=s;Mn(n,r,Object.assign(Object.assign({},s),{callback:(g)=>{let x=d(g);h(x)}}))}function d(h){if(!h)return;h.push({value:"",lines:[]});function g(T){return T.map(function(H){return" "+H})}let x=[],b=0,I=0,P=[],Y=1,U=1;for(let T=0;T<h.length;T++){let H=h[T],C=H.lines||Ew(H.value);if(H.lines=C,H.added||H.removed){if(!b){let E=h[T-1];if(b=Y,I=U,E)P=l>0?g(E.lines.slice(-l)):[],b-=P.length,I-=P.length}for(let E of C)P.push((H.added?"+":"-")+E);if(H.added)U+=C.length;else Y+=C.length}else{if(b)if(C.length<=l*2&&T<h.length-2)for(let E of g(C))P.push(E);else{let E=Math.min(C.length,l);for(let N of g(C.slice(0,E)))P.push(N);let B={oldStart:b,oldLines:Y-b+E,newStart:I,newLines:U-I+E,lines:P};x.push(B),b=0,I=0,P=[]}Y+=C.length,U+=C.length}}for(let T of x)for(let H=0;H<T.lines.length;H++)if(T.lines[H].endsWith(`
|
|
728
|
+
`))T.lines[H]=T.lines[H].slice(0,-1);else T.lines.splice(H+1,0,"\"),H++;return{oldFileName:e,newFileName:t,oldHeader:o,newHeader:i,hunks:x}}}function Bo(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)=>Bo(r,t)).join(`
|
|
729
729
|
`)}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(`
|
|
730
730
|
`)+`
|
|
731
|
-
`}function
|
|
731
|
+
`}function Pa(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=Ra(e,t,n,r,o,i,a);if(!s)return;return Bo(s,a===null||a===void 0?void 0:a.headerOptions)}else{let{callback:s}=a;Ra(e,t,n,r,o,i,Object.assign(Object.assign({},a),{callback:(l)=>{if(!l)s(void 0);else s(Bo(l,a.headerOptions))}}))}}function Ew(e){let t=e.endsWith(`
|
|
732
732
|
`),n=e.split(`
|
|
733
733
|
`).map((r)=>r+`
|
|
734
|
-
`);if(t)n.pop();else n.push(n.pop().slice(0,-1));return n}function
|
|
735
|
-
`);if(t.length>1&&t[t.length-1]==="")t.pop();return t}function
|
|
736
|
-
`)){t+=Da(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+=Da(e.slice(n+2,a)),n=a+2;continue}}t+=e[n],n+=1}return t}var Fw=3,Dw=["starting","running","completed","failed","cancelled"],vh={starting:"subagent.status.starting",running:"subagent.status.running",completed:"subagent.status.completed",failed:"subagent.status.failed",cancelled:"subagent.status.cancelled"},Mw={Pending:"\u25E6",Executing:"~",SubAgentRunning:"\u2022",Success:"\u2713",Error:"\u2717",Canceled:"\u25A0",Confirming:"?"};function Nw(e){return Mw[e]??"?"}function Lw(e){if(!e||typeof e!=="object")return null;let t=e;if(typeof t.status!=="string")return null;let n=Dw.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 Ow(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 Lw(n.data)}catch{}return null}function Oa(e){return Ow(e)}function Ih(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 $w(e){if(e<1000)return String(e);return`${(e/1000).toFixed(1)}k`}function Gw(e){if(e==="Error")return"error";if(e==="Success")return"muted";return"text"}function Bh(e,t={}){let n=t.maxTools??Fw,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:Nw(a.status),text:[a.toolName,a.description].filter(Boolean).join(" "),note:a.durationMs!=null?Ih(a.durationMs):void 0,tone:Gw(a.status)});if(r.length===0)r.push({text:u(vh[e.status]),tone:"muted"})}else{let o=e.stats,i=o?.totalToolCalls;if(typeof i==="number"&&i>0)r.push({text:u("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:Ih(a),tone:"muted"});let s=o?.tokenUsage?.totalTokens;if(typeof s==="number"&&s>0)r.push({text:"Tokens",note:$w(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:u(vh[e.status]),tone:"muted"})}return r.map((o,i)=>({...o,connector:i===r.length-1?"\u2514\u2500":"\u251C\u2500"}))}var zw=[[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]],Hw=[[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]],jw=[[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 $a(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 Zw(e){if(e===0)return 0;if(e<32||e>=127&&e<160)return 0;if(e===65039)return 1;if($a(e,jw))return 0;if($a(e,zw))return 2;if($a(e,Hw))return 2;return 1}function it(e){let t=0;for(let n of e)t+=Zw(n.codePointAt(0)??0);return t}var Ww=48,za=()=>u("thought.header"),Ga="\u2026",Uw=it(Ga),Th=["\u2022","\u25E6"],Ha=["\u25D0","\u25D3","\u25D1","\u25D2"],Eh=120;function _h(e,t=Ww){if(!e)return"";let n=e.replace(/\s+/g," ").trim();if(!n||t<=0)return"";if(it(n)<=t)return n;let r=t-Uw;if(r<=0)return Ga;let o=Array.from(n),i=0,a=o.length;while(a>0){let s=it(o[a-1]);if(i+s>r)break;i+=s,a-=1}return`${Ga}${o.slice(a).join("")}`}var ja=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],Qw={tools:"status.phase.tools",thinking:"status.phase.thinking",writing:"status.phase.writing",working:"status.phase.working"};function Rh(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 Ph(e,t,n=!1,r){if(e==="error")return u("status.error");if(e==="exited")return u("status.exited");if(n)return u("status.restoring");switch(e){case"starting":return u("status.starting");case"thinking":return u(r?Qw[r]:"status.phase.working");case"needs_approval":return u("status.waiting");default:return u(t?"status.compacting":"status.ready")}}function Za(e,t,n,r=!1){if(e==="error"||e==="exited")return"\u2717";if(r)return n;if(e==="needs_approval")return"\u25B3";if(e==="thinking"||e==="starting"||t)return n;return"\u2022"}function Wt(e){if(e<1000)return String(e);if(e<1e6)return`${(e/1000).toFixed(1)}k`;return`${(e/1e6).toFixed(1)}M`}function Fh(e,t,n){if(!Bn(e))return;let r=t.turnStartedAt;if(r==null)return;return Math.max(0,Math.floor((n-r)/1000))}function Wa(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 Ua(e){if(!e||e.used<=0)return;if(e.size<=0)return`${Wt(e.used)} used`;let t=Math.round(e.used/e.size*100);return`${Wt(e.used)}/${Wt(e.size)} (${t}%)`}var Qa={default:"mode.ask",autoEdit:"mode.autoEdit",yolo:"mode.fullAccess"};function Dh(e,t){return u(t?"mode.plan":Qa[e])}function Kw(e){switch(e){case void 0:case"off":return;case"medium":return"med";case"xhigh":return"xhi";default:return e}}var Mh=" \xB7 ";function Yw(e,t){if(e.length===0)return[];let n=(i)=>i.reduce((a,s)=>a+s.text.length,0)+Mh.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 Jw(e){let t=e.theme,n=[];if(e.model){let l=Kw(e.thinking);n.push({id:"model",text:l?`${e.model} (${l})`:e.model,color:t.textMuted,priority:80})}let r=e.auth&&!e.auth.loggedIn;n.push({id:"auth",text:fh(e.auth),color:r?t.warning:t.textMuted,priority:r?95:30});let o=Ua(e.transcript.usage);if(o)n.push({id:"usage",text:o,color:t.textMuted,priority:50});let{input:i,output:a}=e.transcript.tokens;if(i+a>0)n.push({id:"tokens",text:`\u2191${Wt(i)} \u2193${Wt(a)}`,color:t.textMuted,priority:40});let s=["status","model","mode","usage","tokens","auth"];return n.sort((l,d)=>s.indexOf(l.id)-s.indexOf(d.id))}function Nh(e){let t=le(),n=()=>Jw({transcript:e.transcript,model:e.model,thinking:e.thinking,auth:e.auth,theme:t.theme}),r=()=>Yw(n(),e.width-(e.modeChip?.text.length??0)-2);return(()=>{var o=k("box"),i=k("text"),a=k("box");return D(o,i),D(o,a),c(o,"style",{flexDirection:"row",justifyContent:"space-between",flexShrink:0,height:1,paddingLeft:1,paddingRight:1}),c(i,"selectable",!1),m(i,()=>e.modeChip?.text??""),c(a,"style",{flexDirection:"row",flexShrink:0}),m(a,p(ae,{get each(){return r()},children:(s,l)=>(()=>{var d=k("text");return m(d,(()=>{var h=se(()=>l()===0);return()=>h()?s.text:`${Mh}${s.text}`})()),_((h)=>c(d,"style",{fg:s.color,flexShrink:0},h)),d})()})),_((s)=>c(i,"style",{fg:e.modeChip?.color,flexShrink:0},s)),o})()}var Vw=["pending","in_progress","completed"],_o={completed:0,in_progress:1,pending:2},qw={completed:"\u2713",in_progress:"\u25A0",pending:"\u25A1"},Xw={completed:"muted",in_progress:"accent",pending:"text"};function eS(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:Vw.includes(t.status)?t.status:"pending"}}function Lh(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(eS).filter((i)=>i!==null);if(o.length===0)return[];return o.sort((i,a)=>_o[i.status]-_o[a.status])}return[]}function Ka(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)=>_o[s.status]-_o[l.status]),a=i.slice(Math.max(0,i.length-n)).map((s)=>({glyph:qw[s.status],text:s.content,tone:Xw[s.status]}));return{...o,rows:a,hidden:Math.max(0,i.length-n)}}var xr=38,tS=xr+76;function Fo(e){return e>=tS}var nS=4;function Oh(e,t={}){let n=t.maxTasks??nS,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 $h=19,Ya=3,Gh=2;function rS(e,t,n=0){let r=Math.max(0,t)*Gh,o=Math.max(0,n);return Math.max(0,e-$h-r-o)}var zh=3;function Ja(e){let{theme:t}=le(),[n,r]=Z(!1);return(()=>{var o=k("box");return c(o,"onMouseOver",()=>r(!0)),c(o,"onMouseOut",()=>r(!1)),c(o,"onMouseUp",()=>e.onActivate?.()),m(o,()=>e.children(n())),_((i)=>c(o,"style",{flexDirection:"row",flexShrink:0,backgroundColor:n()?t.primary:void 0},i)),o})()}function Ro(e,t,n){return t?Rn(e,e.primary):n}function oS(e){let{theme:t}=le();return p(Ja,{onActivate:()=>e.onRun?.(),children:(n)=>(()=>{var r=k("text"),o=k("b");return D(r,o),c(r,"selectable",!1),m(o,()=>`[ ${e.label} ]`),_((i)=>c(r,"style",{fg:Ro(t,n,t.primary)},i)),r})()})}function iS(e,t){let n=Math.max(0,t)*Gh;return e-$h-n>=zh}function aS(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 Nn(e){let{theme:t}=le();return(()=>{var n=k("box"),r=k("text"),o=k("b");return D(n,r),c(n,"style",{flexDirection:"column",flexShrink:0,marginTop:1}),D(r,o),c(r,"selectable",!1),m(o,()=>e.title),m(r,p(L,{get when(){return e.note},get children(){var i=k("span");return m(i,()=>` ${e.note}`),_((a)=>c(i,"style",{fg:t.textMuted},a)),i}}),null),m(n,()=>e.children,null),_((i)=>c(r,"style",{fg:t.text,flexShrink:0},i)),n})()}function wt(e){let{theme:t}=le(),n=()=>e.tone==="warning"?t.warning:e.tone==="success"?t.success:t.textMuted;return(()=>{var r=k("text");return c(r,"wrapMode","none"),c(r,"overflow","hidden"),c(r,"selectable",!1),m(r,p(L,{get when(){return e.label},get children(){var o=k("span");return m(o,()=>e.label+" ".repeat(Math.max(1,Hh-it(e.label)))),_((i)=>c(o,"style",{fg:t.textMuted},i)),o}}),null),m(r,()=>e.text,null),_((o)=>c(r,"style",{fg:n(),flexShrink:0},o)),r})()}var Hh=7,sS=xr-4-Hh,jh=xr-4-2;function lS(e,t=jh){return e.length<=t?e:`${e.slice(0,t-1)}\u2026`}function cS(e,t=sS){if(e.length<=t)return e;let n=e.includes("\\")?"\\":"/",r=e.split(/[\\/]/);for(let o=r.length-1;o>=1;o--){let i=`\u2026${n}${r.slice(-o).join(n)}`;if(i.length<=t)return i}return`\u2026${e.slice(-(t-1))}`}function dS(e){if(e.read===0&&e.creation===0)return;return`${e.hitRate.toFixed(1)}%`}function Po(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 uS(e){return`${Po(e.used)}/${Po(e.total)} (${e.usagePercentage.toFixed(1)}%)`}function gS(e){if(!e?.available)return[];let t=[],n=(r,o)=>{if(!o)return;t.push({label:r,text:o.limit>0?u("sidebar.quota.left",{percent:`${Math.round(o.remaining/o.limit*100)}%`}):u("sidebar.quota.none")})};return n(u("sidebar.label.daily"),e.daily),n(u("sidebar.label.weekly"),e.zhWeekly),n(u("sidebar.label.weekly.bj"),e.bjWeekly),t}function fS(e){return`${u("sidebar.credits.turn")} ${Po(e.turn)} \xB7 ${u("sidebar.credits.total")} ${Po(e.session)}`}function Zh(e){let{theme:t}=le(),n=()=>Ka(e.todos),r=()=>Oh(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&&iS(e.terminalHeight,a()),l=()=>e.updatePhase??{phase:"idle"},d=()=>aS(rS(e.terminalHeight,a(),s()?zh:0),i(),r().running.length),h=()=>Oh(e.tasks,{maxTasks:d().tasks}),g=()=>Ka(e.todos,{maxRows:d().todo,expanded:e.todosExpanded}),x=(F)=>{if(F==="accent")return t.accent;return F==="muted"?t.textMuted:t.text},b=(F)=>{if(F==="running")return t.accent;if(F==="waiting")return t.warning;if(F==="exited")return t.error;return t.textMuted},[I,P]=Z(0),Y=()=>Math.max(0,(e.sessions?.length??0)-Ya),U=()=>Math.min(Math.max(0,I()),Y()),T=()=>{let F=e.sessions??[],G=U();return F.slice(G,G+Ya)},H=()=>{let F=U(),G=Math.max(0,(e.sessions?.length??0)-F-Ya);if(F===0&&G===0)return;return[F>0?`\u2191${F}`:void 0,G>0?`\u2193${G}`:void 0].filter(Boolean).join(" ")},C=()=>Ua(e.usage)??u("sidebar.usage.none"),E=()=>{let{input:F,output:G}=e.tokens;if(F+G===0)return u("sidebar.tokens.none");return`\u2191${Wt(F)} \u2193${Wt(G)}`},B=()=>dS(e.cache)??u("sidebar.cache.none"),N=()=>e.allowance?.available?e.allowance:void 0;return(()=>{var F=k("box"),G=k("text"),V=k("b"),q=k("box"),Se=k("text"),Le=k("span"),Oe=Be(" Easy Code ");return D(F,G),D(F,q),D(F,Se),D(G,V),c(G,"wrapMode","none"),c(G,"selectable",!1),m(V,()=>e.title??u("session.untitled")),m(F,p(L,{get when(){return e.feishu?.running},get children(){var re=k("text");return c(re,"wrapMode","none"),c(re,"selectable",!1),m(re,(()=>{var oe=se(()=>!!e.feishu?.botName);return()=>oe()?u("feishu.runningNamed",{bot:e.feishu.botName}):u("feishu.running")})()),_((oe)=>c(re,"style",{fg:t.success,flexShrink:0},oe)),re}}),q),m(F,p(L,{get when(){return se(()=>!!e.sessions)()&&e.sessions.length>0},get children(){return p(Nn,{get title(){return u("sidebar.group.sessions")},get note(){return H()},get children(){return[(()=>{var re=k("box");return c(re,"style",{flexDirection:"column",flexShrink:0}),c(re,"onMouseScroll",(oe)=>{let ee=Rt(oe);if(!ee)return;let ie=Y();P((Ze)=>Math.min(Math.max(0,Ze+ee),ie))}),m(re,p(ae,{get each(){return T()},children:(oe)=>p(Ja,{onActivate:()=>e.onActivateSession?.(oe),children:(ee)=>[(()=>{var ie=k("text");return c(ie,"selectable",!1),m(ie,()=>oe.tone==="idle"?"\u25CB":"\u25CF"),_((Ze)=>c(ie,"style",{fg:Ro(t,ee,b(oe.tone)),flexShrink:0},Ze)),ie})(),(()=>{var ie=k("text");return c(ie,"wrapMode","none"),c(ie,"overflow","hidden"),c(ie,"selectable",!1),m(ie,()=>` ${lS(oe.title,jh)}`),_((Ze)=>c(ie,"style",{fg:Ro(t,ee,oe.active?t.text:t.textMuted),flexShrink:0},Ze)),ie})()]})})),re})(),p(Ja,{onActivate:()=>e.onNewSession?.(),children:(re)=>(()=>{var oe=k("text");return c(oe,"wrapMode","none"),c(oe,"selectable",!1),m(oe,()=>u("sidebar.newSession")),_((ee)=>c(oe,"style",{fg:Ro(t,re,t.accent)},ee)),oe})()})]}})}}),q),m(F,p(Nn,{get title(){return u("sidebar.group.context")},get children(){return[p(wt,{get text(){return C()}}),p(wt,{get text(){return E()}})]}}),q),m(F,p(Nn,{get title(){return u("sidebar.group.session")},get children(){return[p(wt,{get label(){return u("sidebar.label.model")},get text(){return e.model??u("sidebar.model.none")}}),p(wt,{get label(){return u("sidebar.label.cache")},get text(){return B()}}),p(wt,{get label(){return u("sidebar.label.mode")},get text(){return u(Qa[e.mode])},get tone(){return e.mode==="yolo"?"warning":"muted"}}),p(L,{get when(){return e.branch},get children(){return p(wt,{get label(){return u("sidebar.label.branch")},get text(){return e.branch}})}}),p(wt,{get label(){return u("sidebar.label.dir")},get text(){return cS(e.cwd)}})]}}),q),m(F,p(L,{get when(){return N()},children:(re)=>p(Nn,{get title(){return u("sidebar.group.credits")},get children(){return[p(wt,{get text(){return uS(re())}}),p(wt,{get text(){return fS(e.credits)}}),p(ae,{get each(){return gS(e.quota)},children:(oe)=>p(wt,{get label(){return oe.label},get text(){return oe.text}})})]}})}),q),m(F,p(L,{get when(){return o()},get children(){return p(Nn,{get title(){return u("sidebar.group.tasks")},get note(){return`${g().completedCount}/${g().total}${g().hidden>0?` +${g().hidden}`:""}`},get children(){return p(ae,{get each(){return g().rows},children:(re)=>(()=>{var oe=k("text");return c(oe,"wrapMode","none"),c(oe,"overflow","hidden"),c(oe,"selectable",!1),m(oe,()=>`${re.glyph} ${re.text}`),_((ee)=>c(oe,"style",{fg:x(re.tone),flexShrink:0},ee)),oe})()})}})}}),q),m(F,p(L,{get when(){return h().running.length>0},get children(){return p(Nn,{get title(){return u("sidebar.group.background")},get note(){return se(()=>h().hidden>0)()?`+${h().hidden}`:void 0},get children(){return p(ae,{get each(){return h().running},children:(re)=>p(wt,{get text(){return`\u2022 ${re.label}`}})})}})}}),q),c(q,"style",{flexGrow:1,minHeight:0}),m(F,p(L,{get when(){return se(()=>!!s())()?e.update:void 0},children:(re)=>(()=>{var oe=k("box");return c(oe,"style",{flexDirection:"column",flexShrink:0,marginTop:1}),m(oe,p(L,{get when(){return l().phase==="running"},get children(){return[(()=>{var ee=k("text");return c(ee,"selectable",!1),m(ee,()=>u("sidebar.update.updating",{version:re().latestVersion})),_((ie)=>c(ee,"style",{fg:t.accent,flexShrink:0},ie)),ee})(),(()=>{var ee=k("text");return c(ee,"selectable",!1),m(ee,()=>u("sidebar.update.alongside")),_((ie)=>c(ee,"style",{fg:t.textMuted,flexShrink:0},ie)),ee})()]}}),null),m(oe,p(L,{get when(){return l().phase==="done"},get children(){return[(()=>{var ee=k("text");return c(ee,"selectable",!1),m(ee,()=>u("sidebar.update.done",{version:l().version})),_((ie)=>c(ee,"style",{fg:t.success,flexShrink:0},ie)),ee})(),(()=>{var ee=k("text");return c(ee,"selectable",!1),m(ee,()=>u("sidebar.update.restart")),_((ie)=>c(ee,"style",{fg:t.textMuted,flexShrink:0},ie)),ee})()]}}),null),m(oe,p(L,{get when(){return l().phase==="failed"},get children(){return[(()=>{var ee=k("text");return c(ee,"selectable",!1),m(ee,()=>u("sidebar.update.failed")),_((ie)=>c(ee,"style",{fg:t.error,flexShrink:0},ie)),ee})(),(()=>{var ee=k("text");return c(ee,"wrapMode","none"),c(ee,"overflow","hidden"),c(ee,"selectable",!1),m(ee,()=>l().reason),_((ie)=>c(ee,"style",{fg:t.textMuted,flexShrink:0},ie)),ee})()]}}),null),m(oe,p(L,{get when(){return l().phase==="idle"},get children(){return[(()=>{var ee=k("text");return c(ee,"selectable",!1),m(ee,()=>u("sidebar.update.available",{version:re().latestVersion})),_((ie)=>c(ee,"style",{fg:t.accent,flexShrink:0},ie)),ee})(),p(oS,{get label(){return u("sidebar.update.now")},onRun:()=>e.onRunUpdate?.()})]}}),null),oe})()}),Se),D(Se,Le),D(Se,Oe),c(Se,"selectable",!1),D(Le,Be("\u2022")),m(Se,()=>e.version,null),_((re)=>{var oe={width:38,flexShrink:0,flexDirection:"column",backgroundColor:t.backgroundPanel,paddingTop:1,paddingBottom:1,paddingLeft:2,paddingRight:2},ee={fg:t.text,flexShrink:0},ie={fg:t.textMuted,flexShrink:0},Ze={fg:t.success};return oe!==re.e&&(re.e=c(F,"style",oe,re.e)),ee!==re.t&&(re.t=c(G,"style",ee,re.t)),ie!==re.a&&(re.a=c(Se,"style",ie,re.a)),Ze!==re.o&&(re.o=c(Le,"style",Ze,re.o)),re},{e:void 0,t:void 0,a:void 0,o:void 0}),F})()}var hS={read:"\u2261",edit:"\u270E",delete:"\u2298",move:"\u2194",search:"\u25CE",execute:"\u276F",think:"\u22EF",fetch:"\u21E3",switch_mode:"\u21C4",other:"\u2022"},mS={pending:"tool.status.pending",in_progress:"tool.status.running",completed:"tool.status.done",failed:"tool.status.failed"},pS={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 Kh(e){return hS[e]}function Yh(e){return u(mS[e])}var Xa=" \u2014 ";function AS(e){let t=e.indexOf(Xa);return(t<0?e:e.slice(0,t)).trim()}function Jh(e){let t=e.indexOf(Xa);return t<0?"":e.slice(t+Xa.length).trim()}function Vh(e,t,n){let r=t==="pending"||t==="in_progress",o=pS[e]?.[r?"running":"done"]??(r?"tool.verb.execute.running":"tool.verb.execute.done"),i=u(o),a=AS(n);return a?`${i} ${a}`:i}var kS=/\s(?:\+\d+(?:\s-\d+)?|-\d+)$/;function qh(e){return kS.test(e.trim())}var Va=20000;function Xh(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=Qh(i,Va,"head"),l=qa(o,["file_path","absolute_path","path","filename"]),d=es(l||r),h=qa(o,["pattern","regex","query"])??"",g=Wh(r,d),x=h&&!Wh(r,h)?` for "${h}"`:"",b=s.match(/\((\d+)\s+lines?\)/i);if(b){let H=Do(b[1],"line");return g?H:`Read ${d||"file"}, ${H}`}let I=s.match(/read\s+lines:\s*(\d+-\d+)/i);if(I)return g?`lines ${I[1]}`:`Read ${d||"file"}, lines ${I[1]}`;let P=s.match(/Found\s+(\d+)\s+matching\s+file/i)??s.match(/Found\s+(\d+)\s+files?\b/i);if(P)return`Found ${Do(P[1],"file")}${x}`;let Y=s.match(/Found\s+(\d+)\s+match(?:es)?\b/i);if(Y)return`Found ${Do(Y[1],"match","matches")}${x}`;if(/No matches found|No files found/i.test(s))return x?`${u("tool.noMatches")}${x}`:u("tool.noMatches");let U=s.match(/Listed\s+(\d+)\s+item/i);if(U)return`Listed ${Do(U[1],"item")}`;let T=(s.match(/--- .*? ---/g)||[]).length;if(T>1)return`Read ${T} files`;if(h||g)return null;return d?`Read ${d}`:null}case"delete":{let s=es(qa(o,["file_path","absolute_path","path"]));return s?`Deleted ${s}`:null}case"execute":{let l=`${Qh(i,Va,"tail")}
|
|
737
|
-
${
|
|
738
|
-
`).map((o)=>o.trim()).filter((o)=>o.length>0);if(n.length===0)return!0;if(n.length>
|
|
739
|
-
`);return n==="head"?r.slice(0,t):
|
|
734
|
+
`);if(t)n.pop();else n.push(n.pop().slice(0,-1));return n}function ph(e){let t=e.split(`
|
|
735
|
+
`);if(t.length>1&&t[t.length-1]==="")t.pop();return t}function To(e,t,n={}){let r=n.context??3,o=n.maxLines??40;if(e==null){let s=ph(t).map((l)=>({kind:"add",text:l}));return Ah(s,o)}let i=Mn(e,t),a=[];for(let s of i){let l=s.added?"add":s.removed?"del":"context";for(let d of ph(s.value))a.push({kind:l,text:d})}return Ah(_w(a,r),o)}function _w(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 Ah(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 kh(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 xh(e,t,n="file"){return Pa(n,n,e??"",t,"","",{context:3})}var Da={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:"\\"},Rw=new Set(["text","textrm","textbf","textit","mathrm","mathbf","mathit","mathsf","mathtt","mathcal","mathbb","mathfrak","boldsymbol","operatorname"]),Pw=new Set(["left","right","big","Big","bigg","Bigg","bigl","bigr","bigm","displaystyle","textstyle","scriptstyle","limits","nolimits"]),yh={"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"},Fw={"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 Fa(e){return Ma(e,{i:0})}function Ma(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=kr(e,t);n+=wh(o,r==="^"?yh:Fw,r);continue}if(r==="\\"){n+=Dw(e,t);continue}n+=r,t.i+=1}return n}function Dw(e,t){let n=e.at(t.i+1);if(n&&!/[a-zA-Z]/.test(n)){if(t.i+=2,n==="\\")return" ";return Da[n]??n}let r=/^[a-zA-Z]+/.exec(e.slice(t.i+1))?.[0]??"";if(t.i+=1+r.length,r==="frac"){let i=kr(e,t),a=kr(e,t);return`${bh(i)}/${bh(a)}`}if(r==="sqrt"){let i="";if(e.at(t.i)==="["){let l=e.indexOf("]",t.i);if(l>-1)i=Ma(e.slice(t.i+1,l),{i:0}),t.i=l+1}let a=kr(e,t);return`${`${i?wh(i,yh,"^"):""}\u221A`}${Sh(a)?`(${a})`:a}`}if(Rw.has(r))return kr(e,t);if(Pw.has(r))return"";let o=Da[r];if(o!==void 0)return o;return`\\${r}${Mw(e,t)}`}function Mw(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 kr(e,t){while(e.at(t.i)===" ")t.i+=1;let n=e.at(t.i);if(n==="{"){t.i+=1;let r=Ma(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,Da[r]??`\\${r}`}return t.i+=1,n??""}function wh(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 Sh(e){let t=e.trim();if(!t)return!1;return!/^[A-Za-z0-9\u0370-\u03ff\u2200-\u22ff]+$/.test(t)}function bh(e){let t=e.trim();return Sh(t)?`(${t})`:t}function Na(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+=Fa(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(`
|
|
736
|
+
`)){t+=Fa(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+=Fa(e.slice(n+2,a)),n=a+2;continue}}t+=e[n],n+=1}return t}var Nw=3,Lw=["starting","running","completed","failed","cancelled"],Ch={starting:"subagent.status.starting",running:"subagent.status.running",completed:"subagent.status.completed",failed:"subagent.status.failed",cancelled:"subagent.status.cancelled"},Ow={Pending:"\u25E6",Executing:"~",SubAgentRunning:"\u2022",Success:"\u2713",Error:"\u2717",Canceled:"\u25A0",Confirming:"?"};function $w(e){return Ow[e]??"?"}function Gw(e){if(!e||typeof e!=="object")return null;let t=e;if(typeof t.status!=="string")return null;let n=Lw.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 zw(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 Gw(n.data)}catch{}return null}function La(e){return zw(e)}function vh(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 Hw(e){if(e<1000)return String(e);return`${(e/1000).toFixed(1)}k`}function jw(e){if(e==="Error")return"error";if(e==="Success")return"muted";return"text"}function Ih(e,t={}){let n=t.maxTools??Nw,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:$w(a.status),text:[a.toolName,a.description].filter(Boolean).join(" "),note:a.durationMs!=null?vh(a.durationMs):void 0,tone:jw(a.status)});if(r.length===0)r.push({text:u(Ch[e.status]),tone:"muted"})}else{let o=e.stats,i=o?.totalToolCalls;if(typeof i==="number"&&i>0)r.push({text:u("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:vh(a),tone:"muted"});let s=o?.tokenUsage?.totalTokens;if(typeof s==="number"&&s>0)r.push({text:"Tokens",note:Hw(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:u(Ch[e.status]),tone:"muted"})}return r.map((o,i)=>({...o,connector:i===r.length-1?"\u2514\u2500":"\u251C\u2500"}))}var Zw=[[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]],Ww=[[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]],Uw=[[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 Oa(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 Qw(e){if(e===0)return 0;if(e<32||e>=127&&e<160)return 0;if(e===65039)return 1;if(Oa(e,Uw))return 0;if(Oa(e,Zw))return 2;if(Oa(e,Ww))return 2;return 1}function it(e){let t=0;for(let n of e)t+=Qw(n.codePointAt(0)??0);return t}var Kw=48,Ga=()=>u("thought.header"),$a="\u2026",Yw=it($a),Bh=["\u2022","\u25E6"],za=["\u25D0","\u25D3","\u25D1","\u25D2"],Th=120;function Eh(e,t=Kw){if(!e)return"";let n=e.replace(/\s+/g," ").trim();if(!n||t<=0)return"";if(it(n)<=t)return n;let r=t-Yw;if(r<=0)return $a;let o=Array.from(n),i=0,a=o.length;while(a>0){let s=it(o[a-1]);if(i+s>r)break;i+=s,a-=1}return`${$a}${o.slice(a).join("")}`}var Ha=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],Jw={tools:"status.phase.tools",thinking:"status.phase.thinking",writing:"status.phase.writing",working:"status.phase.working"};function _h(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 Rh(e,t,n=!1,r){if(e==="error")return u("status.error");if(e==="exited")return u("status.exited");if(n)return u("status.restoring");switch(e){case"starting":return u("status.starting");case"thinking":return u(r?Jw[r]:"status.phase.working");case"needs_approval":return u("status.waiting");default:return u(t?"status.compacting":"status.ready")}}function ja(e,t,n,r=!1){if(e==="error"||e==="exited")return"\u2717";if(r)return n;if(e==="needs_approval")return"\u25B3";if(e==="thinking"||e==="starting"||t)return n;return"\u2022"}function Wt(e){if(e<1000)return String(e);if(e<1e6)return`${(e/1000).toFixed(1)}k`;return`${(e/1e6).toFixed(1)}M`}function Ph(e,t,n){if(!Bn(e))return;let r=t.turnStartedAt;if(r==null)return;return Math.max(0,Math.floor((n-r)/1000))}function Za(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 Wa(e){if(!e||e.used<=0)return;if(e.size<=0)return`${Wt(e.used)} used`;let t=Math.round(e.used/e.size*100);return`${Wt(e.used)}/${Wt(e.size)} (${t}%)`}var Ua={default:"mode.ask",autoEdit:"mode.autoEdit",yolo:"mode.fullAccess"};function Fh(e,t){return u(t?"mode.plan":Ua[e])}function Vw(e){switch(e){case void 0:case"off":return;case"medium":return"med";case"xhigh":return"xhi";default:return e}}var Dh=" \xB7 ";function qw(e,t){if(e.length===0)return[];let n=(i)=>i.reduce((a,s)=>a+s.text.length,0)+Dh.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 Xw(e){let t=e.theme,n=[];if(e.model){let l=Vw(e.thinking);n.push({id:"model",text:l?`${e.model} (${l})`:e.model,color:t.textMuted,priority:80})}let r=e.auth&&!e.auth.loggedIn;n.push({id:"auth",text:gh(e.auth),color:r?t.warning:t.textMuted,priority:r?95:30});let o=Wa(e.transcript.usage);if(o)n.push({id:"usage",text:o,color:t.textMuted,priority:50});let{input:i,output:a}=e.transcript.tokens;if(i+a>0)n.push({id:"tokens",text:`\u2191${Wt(i)} \u2193${Wt(a)}`,color:t.textMuted,priority:40});let s=["status","model","mode","usage","tokens","auth"];return n.sort((l,d)=>s.indexOf(l.id)-s.indexOf(d.id))}function Mh(e){let t=le(),n=()=>Xw({transcript:e.transcript,model:e.model,thinking:e.thinking,auth:e.auth,theme:t.theme}),r=()=>qw(n(),e.width-(e.modeChip?.text.length??0)-2);return(()=>{var o=k("box"),i=k("text"),a=k("box");return D(o,i),D(o,a),c(o,"style",{flexDirection:"row",justifyContent:"space-between",flexShrink:0,height:1,paddingLeft:1,paddingRight:1}),c(i,"selectable",!1),m(i,()=>e.modeChip?.text??""),c(a,"style",{flexDirection:"row",flexShrink:0}),m(a,p(ae,{get each(){return r()},children:(s,l)=>(()=>{var d=k("text");return m(d,(()=>{var h=se(()=>l()===0);return()=>h()?s.text:`${Dh}${s.text}`})()),_((h)=>c(d,"style",{fg:s.color,flexShrink:0},h)),d})()})),_((s)=>c(i,"style",{fg:e.modeChip?.color,flexShrink:0},s)),o})()}var eS=["pending","in_progress","completed"],Eo={completed:0,in_progress:1,pending:2},tS={completed:"\u2713",in_progress:"\u25A0",pending:"\u25A1"},nS={completed:"muted",in_progress:"accent",pending:"text"};function rS(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:eS.includes(t.status)?t.status:"pending"}}function Nh(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(rS).filter((i)=>i!==null);if(o.length===0)return[];return o.sort((i,a)=>Eo[i.status]-Eo[a.status])}return[]}function Qa(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)=>Eo[s.status]-Eo[l.status]),a=i.slice(Math.max(0,i.length-n)).map((s)=>({glyph:tS[s.status],text:s.content,tone:nS[s.status]}));return{...o,rows:a,hidden:Math.max(0,i.length-n)}}var xr=38,oS=xr+76;function Po(e){return e>=oS}var iS=4;function Lh(e,t={}){let n=t.maxTasks??iS,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 Oh=19,Ka=3,$h=2;function aS(e,t,n=0){let r=Math.max(0,t)*$h,o=Math.max(0,n);return Math.max(0,e-Oh-r-o)}var Gh=3;function Ya(e){let{theme:t}=le(),[n,r]=Z(!1);return(()=>{var o=k("box");return c(o,"onMouseOver",()=>r(!0)),c(o,"onMouseOut",()=>r(!1)),c(o,"onMouseUp",()=>e.onActivate?.()),m(o,()=>e.children(n())),_((i)=>c(o,"style",{flexDirection:"row",flexShrink:0,backgroundColor:n()?t.primary:void 0},i)),o})()}function _o(e,t,n){return t?Rn(e,e.primary):n}function sS(e){let{theme:t}=le();return p(Ya,{onActivate:()=>e.onRun?.(),children:(n)=>(()=>{var r=k("text"),o=k("b");return D(r,o),c(r,"selectable",!1),m(o,()=>`[ ${e.label} ]`),_((i)=>c(r,"style",{fg:_o(t,n,t.primary)},i)),r})()})}function lS(e,t){let n=Math.max(0,t)*$h;return e-Oh-n>=Gh}function cS(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 Nn(e){let{theme:t}=le();return(()=>{var n=k("box"),r=k("text"),o=k("b");return D(n,r),c(n,"style",{flexDirection:"column",flexShrink:0,marginTop:1}),D(r,o),c(r,"selectable",!1),m(o,()=>e.title),m(r,p(L,{get when(){return e.note},get children(){var i=k("span");return m(i,()=>` ${e.note}`),_((a)=>c(i,"style",{fg:t.textMuted},a)),i}}),null),m(n,()=>e.children,null),_((i)=>c(r,"style",{fg:t.text,flexShrink:0},i)),n})()}function wt(e){let{theme:t}=le(),n=()=>e.tone==="warning"?t.warning:e.tone==="success"?t.success:t.textMuted;return(()=>{var r=k("text");return c(r,"wrapMode","none"),c(r,"overflow","hidden"),c(r,"selectable",!1),m(r,p(L,{get when(){return e.label},get children(){var o=k("span");return m(o,()=>e.label+" ".repeat(Math.max(1,zh-it(e.label)))),_((i)=>c(o,"style",{fg:t.textMuted},i)),o}}),null),m(r,()=>e.text,null),_((o)=>c(r,"style",{fg:n(),flexShrink:0},o)),r})()}var zh=7,dS=xr-4-zh,Hh=xr-4-2;function uS(e,t=Hh){return e.length<=t?e:`${e.slice(0,t-1)}\u2026`}function gS(e,t=dS){if(e.length<=t)return e;let n=e.includes("\\")?"\\":"/",r=e.split(/[\\/]/);for(let o=r.length-1;o>=1;o--){let i=`\u2026${n}${r.slice(-o).join(n)}`;if(i.length<=t)return i}return`\u2026${e.slice(-(t-1))}`}function fS(e){if(e.read===0&&e.creation===0)return;return`${e.hitRate.toFixed(1)}%`}function Ro(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 hS(e){return`${Ro(e.used)}/${Ro(e.total)} (${e.usagePercentage.toFixed(1)}%)`}function mS(e){if(!e?.available)return[];let t=[],n=(r,o)=>{if(!o)return;t.push({label:r,text:o.limit>0?u("sidebar.quota.left",{percent:`${Math.round(o.remaining/o.limit*100)}%`}):u("sidebar.quota.none")})};return n(u("sidebar.label.daily"),e.daily),n(u("sidebar.label.weekly"),e.zhWeekly),n(u("sidebar.label.weekly.bj"),e.bjWeekly),t}function pS(e){return`${u("sidebar.credits.turn")} ${Ro(e.turn)} \xB7 ${u("sidebar.credits.total")} ${Ro(e.session)}`}function jh(e){let{theme:t}=le(),n=()=>Qa(e.todos),r=()=>Lh(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&&lS(e.terminalHeight,a()),l=()=>e.updatePhase??{phase:"idle"},d=()=>cS(aS(e.terminalHeight,a(),s()?Gh:0),i(),r().running.length),h=()=>Lh(e.tasks,{maxTasks:d().tasks}),g=()=>Qa(e.todos,{maxRows:d().todo,expanded:e.todosExpanded}),x=(F)=>{if(F==="accent")return t.accent;return F==="muted"?t.textMuted:t.text},b=(F)=>{if(F==="running")return t.accent;if(F==="waiting")return t.warning;if(F==="exited")return t.error;return t.textMuted},[I,P]=Z(0),Y=()=>Math.max(0,(e.sessions?.length??0)-Ka),U=()=>Math.min(Math.max(0,I()),Y()),T=()=>{let F=e.sessions??[],G=U();return F.slice(G,G+Ka)},H=()=>{let F=U(),G=Math.max(0,(e.sessions?.length??0)-F-Ka);if(F===0&&G===0)return;return[F>0?`\u2191${F}`:void 0,G>0?`\u2193${G}`:void 0].filter(Boolean).join(" ")},C=()=>Wa(e.usage)??u("sidebar.usage.none"),E=()=>{let{input:F,output:G}=e.tokens;if(F+G===0)return u("sidebar.tokens.none");return`\u2191${Wt(F)} \u2193${Wt(G)}`},B=()=>fS(e.cache)??u("sidebar.cache.none"),N=()=>e.allowance?.available?e.allowance:void 0;return(()=>{var F=k("box"),G=k("text"),V=k("b"),q=k("box"),Se=k("text"),Le=k("span"),Oe=Be(" Easy Code ");return D(F,G),D(F,q),D(F,Se),D(G,V),c(G,"wrapMode","none"),c(G,"selectable",!1),m(V,()=>e.title??u("session.untitled")),m(F,p(L,{get when(){return e.feishu?.running},get children(){var re=k("text");return c(re,"wrapMode","none"),c(re,"selectable",!1),m(re,(()=>{var oe=se(()=>!!e.feishu?.botName);return()=>oe()?u("feishu.runningNamed",{bot:e.feishu.botName}):u("feishu.running")})()),_((oe)=>c(re,"style",{fg:t.success,flexShrink:0},oe)),re}}),q),m(F,p(L,{get when(){return se(()=>!!e.sessions)()&&e.sessions.length>0},get children(){return p(Nn,{get title(){return u("sidebar.group.sessions")},get note(){return H()},get children(){return[(()=>{var re=k("box");return c(re,"style",{flexDirection:"column",flexShrink:0}),c(re,"onMouseScroll",(oe)=>{let ee=Rt(oe);if(!ee)return;let ie=Y();P((Ze)=>Math.min(Math.max(0,Ze+ee),ie))}),m(re,p(ae,{get each(){return T()},children:(oe)=>p(Ya,{onActivate:()=>e.onActivateSession?.(oe),children:(ee)=>[(()=>{var ie=k("text");return c(ie,"selectable",!1),m(ie,()=>oe.tone==="idle"?"\u25CB":"\u25CF"),_((Ze)=>c(ie,"style",{fg:_o(t,ee,b(oe.tone)),flexShrink:0},Ze)),ie})(),(()=>{var ie=k("text");return c(ie,"wrapMode","none"),c(ie,"overflow","hidden"),c(ie,"selectable",!1),m(ie,()=>` ${uS(oe.title,Hh)}`),_((Ze)=>c(ie,"style",{fg:_o(t,ee,oe.active?t.text:t.textMuted),flexShrink:0},Ze)),ie})()]})})),re})(),p(Ya,{onActivate:()=>e.onNewSession?.(),children:(re)=>(()=>{var oe=k("text");return c(oe,"wrapMode","none"),c(oe,"selectable",!1),m(oe,()=>u("sidebar.newSession")),_((ee)=>c(oe,"style",{fg:_o(t,re,t.accent)},ee)),oe})()})]}})}}),q),m(F,p(Nn,{get title(){return u("sidebar.group.context")},get children(){return[p(wt,{get text(){return C()}}),p(wt,{get text(){return E()}})]}}),q),m(F,p(Nn,{get title(){return u("sidebar.group.session")},get children(){return[p(wt,{get label(){return u("sidebar.label.model")},get text(){return e.model??u("sidebar.model.none")}}),p(wt,{get label(){return u("sidebar.label.cache")},get text(){return B()}}),p(wt,{get label(){return u("sidebar.label.mode")},get text(){return u(Ua[e.mode])},get tone(){return e.mode==="yolo"?"warning":"muted"}}),p(L,{get when(){return e.branch},get children(){return p(wt,{get label(){return u("sidebar.label.branch")},get text(){return e.branch}})}}),p(wt,{get label(){return u("sidebar.label.dir")},get text(){return gS(e.cwd)}})]}}),q),m(F,p(L,{get when(){return N()},children:(re)=>p(Nn,{get title(){return u("sidebar.group.credits")},get children(){return[p(wt,{get text(){return hS(re())}}),p(wt,{get text(){return pS(e.credits)}}),p(ae,{get each(){return mS(e.quota)},children:(oe)=>p(wt,{get label(){return oe.label},get text(){return oe.text}})})]}})}),q),m(F,p(L,{get when(){return o()},get children(){return p(Nn,{get title(){return u("sidebar.group.tasks")},get note(){return`${g().completedCount}/${g().total}${g().hidden>0?` +${g().hidden}`:""}`},get children(){return p(ae,{get each(){return g().rows},children:(re)=>(()=>{var oe=k("text");return c(oe,"wrapMode","none"),c(oe,"overflow","hidden"),c(oe,"selectable",!1),m(oe,()=>`${re.glyph} ${re.text}`),_((ee)=>c(oe,"style",{fg:x(re.tone),flexShrink:0},ee)),oe})()})}})}}),q),m(F,p(L,{get when(){return h().running.length>0},get children(){return p(Nn,{get title(){return u("sidebar.group.background")},get note(){return se(()=>h().hidden>0)()?`+${h().hidden}`:void 0},get children(){return p(ae,{get each(){return h().running},children:(re)=>p(wt,{get text(){return`\u2022 ${re.label}`}})})}})}}),q),c(q,"style",{flexGrow:1,minHeight:0}),m(F,p(L,{get when(){return se(()=>!!s())()?e.update:void 0},children:(re)=>(()=>{var oe=k("box");return c(oe,"style",{flexDirection:"column",flexShrink:0,marginTop:1}),m(oe,p(L,{get when(){return l().phase==="running"},get children(){return[(()=>{var ee=k("text");return c(ee,"selectable",!1),m(ee,()=>u("sidebar.update.updating",{version:re().latestVersion})),_((ie)=>c(ee,"style",{fg:t.accent,flexShrink:0},ie)),ee})(),(()=>{var ee=k("text");return c(ee,"selectable",!1),m(ee,()=>u("sidebar.update.alongside")),_((ie)=>c(ee,"style",{fg:t.textMuted,flexShrink:0},ie)),ee})()]}}),null),m(oe,p(L,{get when(){return l().phase==="done"},get children(){return[(()=>{var ee=k("text");return c(ee,"selectable",!1),m(ee,()=>u("sidebar.update.done",{version:l().version})),_((ie)=>c(ee,"style",{fg:t.success,flexShrink:0},ie)),ee})(),(()=>{var ee=k("text");return c(ee,"selectable",!1),m(ee,()=>u("sidebar.update.restart")),_((ie)=>c(ee,"style",{fg:t.textMuted,flexShrink:0},ie)),ee})()]}}),null),m(oe,p(L,{get when(){return l().phase==="failed"},get children(){return[(()=>{var ee=k("text");return c(ee,"selectable",!1),m(ee,()=>u("sidebar.update.failed")),_((ie)=>c(ee,"style",{fg:t.error,flexShrink:0},ie)),ee})(),(()=>{var ee=k("text");return c(ee,"wrapMode","none"),c(ee,"overflow","hidden"),c(ee,"selectable",!1),m(ee,()=>l().reason),_((ie)=>c(ee,"style",{fg:t.textMuted,flexShrink:0},ie)),ee})()]}}),null),m(oe,p(L,{get when(){return l().phase==="idle"},get children(){return[(()=>{var ee=k("text");return c(ee,"selectable",!1),m(ee,()=>u("sidebar.update.available",{version:re().latestVersion})),_((ie)=>c(ee,"style",{fg:t.accent,flexShrink:0},ie)),ee})(),p(sS,{get label(){return u("sidebar.update.now")},onRun:()=>e.onRunUpdate?.()})]}}),null),oe})()}),Se),D(Se,Le),D(Se,Oe),c(Se,"selectable",!1),D(Le,Be("\u2022")),m(Se,()=>e.version,null),_((re)=>{var oe={width:38,flexShrink:0,flexDirection:"column",backgroundColor:t.backgroundPanel,paddingTop:1,paddingBottom:1,paddingLeft:2,paddingRight:2},ee={fg:t.text,flexShrink:0},ie={fg:t.textMuted,flexShrink:0},Ze={fg:t.success};return oe!==re.e&&(re.e=c(F,"style",oe,re.e)),ee!==re.t&&(re.t=c(G,"style",ee,re.t)),ie!==re.a&&(re.a=c(Se,"style",ie,re.a)),Ze!==re.o&&(re.o=c(Le,"style",Ze,re.o)),re},{e:void 0,t:void 0,a:void 0,o:void 0}),F})()}var AS={read:"\u2261",edit:"\u270E",delete:"\u2298",move:"\u2194",search:"\u25CE",execute:"\u276F",think:"\u22EF",fetch:"\u21E3",switch_mode:"\u21C4",other:"\u2022"},kS={pending:"tool.status.pending",in_progress:"tool.status.running",completed:"tool.status.done",failed:"tool.status.failed"},xS={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 Qh(e){return AS[e]}function Kh(e){return u(kS[e])}var qa=" \u2014 ";function bS(e){let t=e.indexOf(qa);return(t<0?e:e.slice(0,t)).trim()}function Yh(e){let t=e.indexOf(qa);return t<0?"":e.slice(t+qa.length).trim()}function Jh(e,t,n){let r=t==="pending"||t==="in_progress",o=xS[e]?.[r?"running":"done"]??(r?"tool.verb.execute.running":"tool.verb.execute.done"),i=u(o),a=bS(n);return a?`${i} ${a}`:i}var yS=/\s(?:\+\d+(?:\s-\d+)?|-\d+)$/;function Vh(e){return yS.test(e.trim())}var Ja=20000;function qh(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=Uh(i,Ja,"head"),l=Va(o,["file_path","absolute_path","path","filename"]),d=Xa(l||r),h=Va(o,["pattern","regex","query"])??"",g=Zh(r,d),x=h&&!Zh(r,h)?` for "${h}"`:"",b=s.match(/\((\d+)\s+lines?\)/i);if(b){let H=Fo(b[1],"line");return g?H:`Read ${d||"file"}, ${H}`}let I=s.match(/read\s+lines:\s*(\d+-\d+)/i);if(I)return g?`lines ${I[1]}`:`Read ${d||"file"}, lines ${I[1]}`;let P=s.match(/Found\s+(\d+)\s+matching\s+file/i)??s.match(/Found\s+(\d+)\s+files?\b/i);if(P)return`Found ${Fo(P[1],"file")}${x}`;let Y=s.match(/Found\s+(\d+)\s+match(?:es)?\b/i);if(Y)return`Found ${Fo(Y[1],"match","matches")}${x}`;if(/No matches found|No files found/i.test(s))return x?`${u("tool.noMatches")}${x}`:u("tool.noMatches");let U=s.match(/Listed\s+(\d+)\s+item/i);if(U)return`Listed ${Fo(U[1],"item")}`;let T=(s.match(/--- .*? ---/g)||[]).length;if(T>1)return`Read ${T} files`;if(h||g)return null;return d?`Read ${d}`:null}case"delete":{let s=Xa(Va(o,["file_path","absolute_path","path"]));return s?`Deleted ${s}`:null}case"execute":{let l=`${Uh(i,Ja,"tail")}
|
|
737
|
+
${em(a??"",Ja)}`.match(/exit\s*code:?\s*(\d+)/i);return l?`Exit code ${l[1]}`:null}default:return null}}function Zh(e,t){if(!e||!t)return!1;return e.includes(t)||Xa(e)===t}function Fo(e,t,n=`${t}s`){return`${e} ${e==="1"?t:n}`}function Wh(e){return(e.toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[]).map(wS)}function wS(e){let t=e;while(t.length>2&&(t.endsWith("s")||t.endsWith("e")))t=t.slice(0,-1);return t}var SS=2;function Xh(e,...t){let n=e.split(`
|
|
738
|
+
`).map((o)=>o.trim()).filter((o)=>o.length>0);if(n.length===0)return!0;if(n.length>SS)return!1;let r=new Set(Wh(t.filter((o)=>!!o).join(" ")));return n.every((o)=>{let i=Wh(o);return i.length>0&&i.every((a)=>r.has(a))})}function Xa(e){if(!e)return"";let t=e.split(/[/\\]/);return t[t.length-1]||e}function Va(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 Uh(e,t,n){let r=(e??[]).map((o)=>o.text).filter((o)=>!!o).join(`
|
|
739
|
+
`);return n==="head"?r.slice(0,t):em(r,t)}function em(e,t){return e.length<=t?e:e.slice(-t)}var vS=3,IS=1,BS=0.8;function Ot(){let e=le();return new Proxy({},{get:(t,n)=>e.theme[n]})}function tm(e,t){let n=e.split(`
|
|
740
740
|
`);return n.length<=t?e:n.slice(-t).join(`
|
|
741
|
-
`)}function vS(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 rm=new WeakMap;function ts(e){let t=rm.get(e);if(!t)t=yS.fromTheme(vS(e)),rm.set(e,t);return t}function IS(e){let t=Ot();return(()=>{var n=k("box"),r=k("diff");return D(n,r),c(n,"style",{flexDirection:"column",width:"100%"}),c(r,"view","unified"),c(r,"showLineNumbers",!0),c(r,"width","100%"),c(r,"wrapMode","none"),_((o)=>{var i=bh(e.oldText,e.newText,e.path),a=t.text,s=ts(t),{diffAddedBg:l,diffRemovedBg:d,diffContextBg:h,diffHighlightAdded:g,diffHighlightRemoved:x,diffLineNumber:b,diffContextBg:I,diffAddedLineNumberBg:P,diffRemovedLineNumberBg:Y}=t;return i!==o.e&&(o.e=c(r,"diff",i,o.e)),a!==o.t&&(o.t=c(r,"fg",a,o.t)),s!==o.a&&(o.a=c(r,"syntaxStyle",s,o.a)),l!==o.o&&(o.o=c(r,"addedBg",l,o.o)),d!==o.i&&(o.i=c(r,"removedBg",d,o.i)),h!==o.n&&(o.n=c(r,"contextBg",h,o.n)),g!==o.s&&(o.s=c(r,"addedSignColor",g,o.s)),x!==o.h&&(o.h=c(r,"removedSignColor",x,o.h)),b!==o.r&&(o.r=c(r,"lineNumberFg",b,o.r)),I!==o.d&&(o.d=c(r,"lineNumberBg",I,o.d)),P!==o.l&&(o.l=c(r,"addedLineNumberBg",P,o.l)),Y!==o.u&&(o.u=c(r,"removedLineNumberBg",Y,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 BS(e){let t=Ot(),[n,r]=Z(!1),o=()=>pf(e.block.text);return p(L,{get when(){return o()},children:(i)=>(()=>{var a=k("box"),s=k("text");return D(a,s),c(a,"onMouseOver",()=>r(!0)),c(a,"onMouseOut",()=>r(!1)),c(a,"onMouseUp",()=>e.onMenu?.()),m(s,i),_((l)=>{var d={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},h={fg:t.text};return d!==l.e&&(l.e=c(a,"style",d,l.e)),h!==l.t&&(l.t=c(s,"style",h,l.t)),l},{e:void 0,t:void 0}),a})()})}function TS(e){let t=Ot();return(()=>{var n=k("box"),r=k("markdown");return D(n,r),c(n,"style",{paddingLeft:3,paddingRight:1,marginTop:1,flexShrink:0}),c(r,"streaming",!0),c(r,"conceal",!0),_((o)=>{var i=La(e.block.text),a=ts(t),{markdownText:s,background:l}=t;return i!==o.e&&(o.e=c(r,"content",i,o.e)),a!==o.t&&(o.t=c(r,"syntaxStyle",a,o.t)),s!==o.a&&(o.a=c(r,"fg",s,o.a)),l!==o.o&&(o.o=c(r,"bg",l,o.o)),o},{e:void 0,t:void 0,a:void 0,o:void 0}),n})()}function ES(e){let t=Ot(),n=jr(),[r,o]=Z(!0),i=setInterval(()=>o((s)=>!s),1000);Ke(()=>clearInterval(i));let a=()=>{let s=n().width,l=Fo(s)?xr:0,d=s-l-SS*2-wS-it(za())-3;return Math.floor(d*CS)};return(()=>{var s=k("box"),l=k("text"),d=k("text");return D(s,l),D(s,d),c(s,"style",{flexDirection:"row",paddingLeft:3,marginTop:1,flexShrink:0}),m(l,()=>Th[r()?0:1]),m(d,za),m(s,p(L,{get when(){return _h(La(e.block.text),a())},children:(h)=>(()=>{var g=k("text");return m(g,()=>` ${h()}`),_((x)=>c(g,"style",{fg:t.textMuted,flexShrink:1},x)),g})()}),null),_((h)=>{var g={fg:t.textMuted,flexShrink:0},x={fg:t.accent,flexShrink:0};return g!==h.e&&(h.e=c(l,"style",g,h.e)),x!==h.t&&(h.t=c(d,"style",x,h.t)),h},{e:void 0,t:void 0}),s})()}function _S(e){let t=Ot();return(()=>{var n=k("box"),r=k("text");return D(n,r),c(n,"style",{paddingLeft:3,marginTop:1,flexShrink:0}),m(r,()=>e.block.text),_((o)=>c(r,"style",{fg:t.textMuted},o)),n})()}function RS(e){let t=Ot();return(()=>{var n=k("box"),r=k("text");return D(n,r),m(r,()=>`${th.failed} ${e.block.message}`),_((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=c(n,"style",i,o.e)),a!==o.t&&(o.t=c(r,"style",a,o.t)),o},{e:void 0,t:void 0}),n})()}function PS(e){let t=Ot(),n=(r)=>{if(r==="completed")return t.success;if(r==="in_progress")return t.accent;return t.textMuted};return(()=>{var r=k("box"),o=k("text");return D(r,o),c(r,"style",{flexDirection:"column",paddingLeft:3,marginTop:1,flexShrink:0}),D(o,Be("Plan")),m(r,p(ae,{get each(){return e.block.entries},children:(i)=>(()=>{var a=k("text");return m(a,()=>` ${nh[i.status]} ${i.content}`),_((s)=>c(a,"style",{fg:n(i.status)},s)),a})()}),null),_((i)=>c(o,"style",{fg:t.textMuted},i)),r})()}function FS(e,t){if(t==="failed")return e.error;if(t==="completed")return e.textMuted;return e.text}var DS=0.3;function MS(e){return _n(e.textMuted,e.background,DS)}function NS(e){let t=Ot(),n=()=>Bh(e.view),r=(o)=>{if(o.tone==="error")return t.error;return o.tone==="muted"?t.textMuted:t.text};return(()=>{var o=k("box");return c(o,"style",{flexDirection:"column",flexShrink:0}),m(o,p(ae,{get each(){return n()},children:(i)=>(()=>{var a=k("box"),s=k("text"),l=k("text");return D(a,s),D(a,l),c(a,"style",{flexDirection:"row"}),m(s,()=>` ${i.connector} `),m(a,p(L,{get when(){return i.glyph},children:(d)=>(()=>{var h=k("text");return m(h,()=>`${d()} `),_((g)=>c(h,"style",{fg:r(i),flexShrink:0},g)),h})()}),l),m(l,()=>i.text),m(a,p(L,{get when(){return i.note},children:(d)=>(()=>{var h=k("text");return m(h,()=>` ${d()}`),_((g)=>c(h,"style",{fg:t.textMuted,flexShrink:0},g)),h})()}),null),_((d)=>{var h={fg:t.textMuted,flexShrink:0},g={fg:r(i)};return h!==d.e&&(d.e=c(s,"style",h,d.e)),g!==d.t&&(d.t=c(l,"style",g,d.t)),d},{e:void 0,t:void 0}),a})()}),null),m(o,p(L,{get when(){return e.view.summary},children:(i)=>(()=>{var a=k("box"),s=k("markdown");return D(a,s),c(a,"style",{paddingLeft:5,marginTop:1}),c(s,"conceal",!0),_((l)=>{var d=i(),h=ts(t),{markdownText:g,background:x}=t;return d!==l.e&&(l.e=c(s,"content",d,l.e)),h!==l.t&&(l.t=c(s,"syntaxStyle",h,l.t)),g!==l.a&&(l.a=c(s,"fg",g,l.a)),x!==l.o&&(l.o=c(s,"bg",x,l.o)),l},{e:void 0,t:void 0,a:void 0,o:void 0}),a})()}),null),o})()}function LS(e){let t=Ot(),[n,r]=Z(0),o=()=>e.block.status==="pending"||e.block.status==="in_progress",i=setInterval(()=>{if(o())r((T)=>T+1)},Eh);Ke(()=>clearInterval(i));let a=()=>(e.block.content??[]).flatMap((T)=>T.diff?[T.diff]:[]),s=()=>{for(let T of e.block.content??[]){if(!T.text)continue;let H=Oa(T.text);if(H)return H}return},l=()=>FS(t,e.block.status),d=()=>e.block.toolKind==="execute"&&(e.block.status==="pending"||e.block.status==="in_progress"),h=()=>MS(t),g=()=>Vh(e.block.toolKind,e.block.status,e.block.title),x=()=>Jh(e.block.title),b=()=>Xh({toolKind:e.block.toolKind,status:e.block.status,title:e.block.title,rawInput:e.block.rawInput,content:e.block.content,terminalOutput:e.block.terminalOutput}),I=(T)=>e.block.toolKind==="execute"||!em(T,g(),b()),P=()=>(e.block.content??[]).map((T)=>T.text).filter((T)=>!!T).filter((T)=>Oa(T)===null).filter(I),Y=()=>!qh(e.block.title),U=()=>e.block.status==="failed"?t.error:h();return(()=>{var T=k("box"),H=k("box"),C=k("text"),E=k("text"),B=k("text");return D(T,H),c(T,"style",{flexDirection:"column",paddingLeft:3,marginTop:1,flexShrink:0}),D(H,C),D(H,E),D(H,B),c(H,"style",{flexDirection:"row"}),m(C,()=>`${Kh(e.block.toolKind)} `),m(E,g),m(H,p(L,{get when(){return x()},children:(N)=>(()=>{var F=k("text");return m(F,()=>` ${N()}`),_((G)=>c(F,"style",{fg:h(),flexShrink:1},G)),F})()}),B),m(H,p(L,{get when(){return b()},children:(N)=>(()=>{var F=k("text");return m(F,()=>` ${N()}`),_((G)=>c(F,"style",{fg:t.textMuted,flexShrink:1},G)),F})()}),B),m(H,p(L,{get when(){return Y()},get children(){return p(ae,{get each(){return a()},children:(N)=>{let F=xh(Eo(N.oldText,N.newText,{maxLines:Number.MAX_SAFE_INTEGER}));return(()=>{var G=k("text");return m(G,()=>` +${F.added} -${F.removed}`),_((V)=>c(G,"style",{fg:t.textMuted},V)),G})()}})}}),B),m(H,p(L,{get when(){return o()},get children(){var N=k("text");return m(N,()=>` ${Ha[n()%Ha.length]}`),_((F)=>c(N,"style",{fg:l(),flexShrink:0},F)),N}}),B),m(B,()=>` ${Yh(e.block.status)}`),m(T,p(L,{get when(){return d()},get children(){var N=k("text");return m(N,()=>u("tool.runInBackground")),_((F)=>c(N,"style",{fg:h()},F)),N}}),null),m(T,p(ae,{get each(){return a()},children:(N)=>p(IS,{get oldText(){return N.oldText},get newText(){return N.newText},get path(){return N.path}})}),null),m(T,p(L,{get when(){return s()},children:(N)=>p(NS,{get view(){return N()}})}),null),m(T,p(ae,{get each(){return P()},children:(N)=>(()=>{var F=k("text");return m(F,()=>nm(N,12)),_((G)=>c(F,"style",{fg:h()},G)),F})()}),null),m(T,p(L,{get when(){return e.block.terminalOutput},children:(N)=>(()=>{var F=k("text");return m(F,()=>nm(N(),12)),_((G)=>c(F,"style",{fg:h()},G)),F})()}),null),_((N)=>{var F={fg:l(),flexShrink:0},G={fg:l()},V={fg:U(),flexShrink:0};return F!==N.e&&(N.e=c(C,"style",F,N.e)),G!==N.t&&(N.t=c(E,"style",G,N.t)),V!==N.a&&(N.a=c(B,"style",V,N.a)),N},{e:void 0,t:void 0,a:void 0}),T})()}function om(e){return[p(L,{get when(){return se(()=>e.block.type==="user")()&&e.block},children:(t)=>p(BS,{get block(){return t()},get onMenu(){return e.userIndex===void 0||!e.onUserMenu?void 0:()=>e.onUserMenu(e.userIndex)}})}),p(L,{get when(){return se(()=>e.block.type==="assistant")()&&e.block},children:(t)=>p(TS,{get block(){return t()}})}),p(L,{get when(){return se(()=>e.block.type==="thought")()&&e.block},children:(t)=>p(ES,{get block(){return t()}})}),p(L,{get when(){return se(()=>e.block.type==="tool")()&&e.block},children:(t)=>p(LS,{get block(){return t()}})}),p(L,{get when(){return se(()=>e.block.type==="plan")()&&e.block},children:(t)=>p(PS,{get block(){return t()}})}),p(L,{get when(){return se(()=>e.block.type==="notice")()&&e.block},children:(t)=>p(_S,{get block(){return t()}})}),p(L,{get when(){return se(()=>e.block.type==="error")()&&e.block},children:(t)=>p(RS,{get block(){return t()}})})]}ko();import*as Mo from"path";import{exec as OS}from"child_process";import{promisify as $S}from"util";import*as we from"fs/promises";import*as tt from"path";var im="clipboard";var Ne=$S(OS);function am(){return!!(process.env.WSL_DISTRO_NAME||process.env.WSL_INTEROP||process.env.WSLENV||process.platform==="linux"&&process.env.WSLENV)}async function sm(){let e={hasXclip:!1,hasXsel:!1,hasImageMagick:!1,hasBase64:!1};try{await Ne("which xclip"),e.hasXclip=!0}catch{}try{await Ne("which xsel"),e.hasXsel=!0}catch{}try{await Ne("which convert"),e.hasImageMagick=!0}catch{}try{await Ne("which base64"),e.hasBase64=!0}catch{}return e}function GS(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 lm(){try{if(process.platform==="darwin")return await zS();else if(process.platform==="win32")return await HS();else if(am())return await jS();else if(process.platform==="linux")return await ZS();return!1}catch(e){return console.error("\u526A\u8D34\u677F\u68C0\u6D4B\u5931\u8D25:",e),!1}}var br=im;async function zS(){try{let{stdout:e}=await Ne(`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 HS(){try{console.log("\uD83D\uDD0D [Windows\u526A\u8D34\u677F] \u5F00\u59CB\u68C0\u6D4B");let e=`Add-Type -AssemblyName System.Windows.Forms
|
|
741
|
+
`)}function TS(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 nm=new WeakMap;function es(e){let t=nm.get(e);if(!t)t=CS.fromTheme(TS(e)),nm.set(e,t);return t}function ES(e){let t=Ot();return(()=>{var n=k("box"),r=k("diff");return D(n,r),c(n,"style",{flexDirection:"column",width:"100%"}),c(r,"view","unified"),c(r,"showLineNumbers",!0),c(r,"width","100%"),c(r,"wrapMode","none"),_((o)=>{var i=xh(e.oldText,e.newText,e.path),a=t.text,s=es(t),{diffAddedBg:l,diffRemovedBg:d,diffContextBg:h,diffHighlightAdded:g,diffHighlightRemoved:x,diffLineNumber:b,diffContextBg:I,diffAddedLineNumberBg:P,diffRemovedLineNumberBg:Y}=t;return i!==o.e&&(o.e=c(r,"diff",i,o.e)),a!==o.t&&(o.t=c(r,"fg",a,o.t)),s!==o.a&&(o.a=c(r,"syntaxStyle",s,o.a)),l!==o.o&&(o.o=c(r,"addedBg",l,o.o)),d!==o.i&&(o.i=c(r,"removedBg",d,o.i)),h!==o.n&&(o.n=c(r,"contextBg",h,o.n)),g!==o.s&&(o.s=c(r,"addedSignColor",g,o.s)),x!==o.h&&(o.h=c(r,"removedSignColor",x,o.h)),b!==o.r&&(o.r=c(r,"lineNumberFg",b,o.r)),I!==o.d&&(o.d=c(r,"lineNumberBg",I,o.d)),P!==o.l&&(o.l=c(r,"addedLineNumberBg",P,o.l)),Y!==o.u&&(o.u=c(r,"removedLineNumberBg",Y,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 _S(e){let t=Ot(),[n,r]=Z(!1),o=()=>mf(e.block.text);return p(L,{get when(){return o()},children:(i)=>(()=>{var a=k("box"),s=k("text");return D(a,s),c(a,"onMouseOver",()=>r(!0)),c(a,"onMouseOut",()=>r(!1)),c(a,"onMouseUp",()=>e.onMenu?.()),m(s,i),_((l)=>{var d={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},h={fg:t.text};return d!==l.e&&(l.e=c(a,"style",d,l.e)),h!==l.t&&(l.t=c(s,"style",h,l.t)),l},{e:void 0,t:void 0}),a})()})}function RS(e){let t=Ot();return(()=>{var n=k("box"),r=k("markdown");return D(n,r),c(n,"style",{paddingLeft:3,paddingRight:1,marginTop:1,flexShrink:0}),c(r,"streaming",!0),c(r,"conceal",!0),_((o)=>{var i=Na(e.block.text),a=es(t),{markdownText:s,background:l}=t;return i!==o.e&&(o.e=c(r,"content",i,o.e)),a!==o.t&&(o.t=c(r,"syntaxStyle",a,o.t)),s!==o.a&&(o.a=c(r,"fg",s,o.a)),l!==o.o&&(o.o=c(r,"bg",l,o.o)),o},{e:void 0,t:void 0,a:void 0,o:void 0}),n})()}function PS(e){let t=Ot(),n=jr(),[r,o]=Z(!0),i=setInterval(()=>o((s)=>!s),1000);Ke(()=>clearInterval(i));let a=()=>{let s=n().width,l=Po(s)?xr:0,d=s-l-IS*2-vS-it(Ga())-3;return Math.floor(d*BS)};return(()=>{var s=k("box"),l=k("text"),d=k("text");return D(s,l),D(s,d),c(s,"style",{flexDirection:"row",paddingLeft:3,marginTop:1,flexShrink:0}),m(l,()=>Bh[r()?0:1]),m(d,Ga),m(s,p(L,{get when(){return Eh(Na(e.block.text),a())},children:(h)=>(()=>{var g=k("text");return m(g,()=>` ${h()}`),_((x)=>c(g,"style",{fg:t.textMuted,flexShrink:1},x)),g})()}),null),_((h)=>{var g={fg:t.textMuted,flexShrink:0},x={fg:t.accent,flexShrink:0};return g!==h.e&&(h.e=c(l,"style",g,h.e)),x!==h.t&&(h.t=c(d,"style",x,h.t)),h},{e:void 0,t:void 0}),s})()}function FS(e){let t=Ot();return(()=>{var n=k("box"),r=k("text");return D(n,r),c(n,"style",{paddingLeft:3,marginTop:1,flexShrink:0}),m(r,()=>e.block.text),_((o)=>c(r,"style",{fg:t.textMuted},o)),n})()}function DS(e){let t=Ot();return(()=>{var n=k("box"),r=k("text");return D(n,r),m(r,()=>`${eh.failed} ${e.block.message}`),_((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=c(n,"style",i,o.e)),a!==o.t&&(o.t=c(r,"style",a,o.t)),o},{e:void 0,t:void 0}),n})()}function MS(e){let t=Ot(),n=(r)=>{if(r==="completed")return t.success;if(r==="in_progress")return t.accent;return t.textMuted};return(()=>{var r=k("box"),o=k("text");return D(r,o),c(r,"style",{flexDirection:"column",paddingLeft:3,marginTop:1,flexShrink:0}),D(o,Be("Plan")),m(r,p(ae,{get each(){return e.block.entries},children:(i)=>(()=>{var a=k("text");return m(a,()=>` ${th[i.status]} ${i.content}`),_((s)=>c(a,"style",{fg:n(i.status)},s)),a})()}),null),_((i)=>c(o,"style",{fg:t.textMuted},i)),r})()}function NS(e,t){if(t==="failed")return e.error;if(t==="completed")return e.textMuted;return e.text}var LS=0.3;function OS(e){return _n(e.textMuted,e.background,LS)}function $S(e){let t=Ot(),n=()=>Ih(e.view),r=(o)=>{if(o.tone==="error")return t.error;return o.tone==="muted"?t.textMuted:t.text};return(()=>{var o=k("box");return c(o,"style",{flexDirection:"column",flexShrink:0}),m(o,p(ae,{get each(){return n()},children:(i)=>(()=>{var a=k("box"),s=k("text"),l=k("text");return D(a,s),D(a,l),c(a,"style",{flexDirection:"row"}),m(s,()=>` ${i.connector} `),m(a,p(L,{get when(){return i.glyph},children:(d)=>(()=>{var h=k("text");return m(h,()=>`${d()} `),_((g)=>c(h,"style",{fg:r(i),flexShrink:0},g)),h})()}),l),m(l,()=>i.text),m(a,p(L,{get when(){return i.note},children:(d)=>(()=>{var h=k("text");return m(h,()=>` ${d()}`),_((g)=>c(h,"style",{fg:t.textMuted,flexShrink:0},g)),h})()}),null),_((d)=>{var h={fg:t.textMuted,flexShrink:0},g={fg:r(i)};return h!==d.e&&(d.e=c(s,"style",h,d.e)),g!==d.t&&(d.t=c(l,"style",g,d.t)),d},{e:void 0,t:void 0}),a})()}),null),m(o,p(L,{get when(){return e.view.summary},children:(i)=>(()=>{var a=k("box"),s=k("markdown");return D(a,s),c(a,"style",{paddingLeft:5,marginTop:1}),c(s,"conceal",!0),_((l)=>{var d=i(),h=es(t),{markdownText:g,background:x}=t;return d!==l.e&&(l.e=c(s,"content",d,l.e)),h!==l.t&&(l.t=c(s,"syntaxStyle",h,l.t)),g!==l.a&&(l.a=c(s,"fg",g,l.a)),x!==l.o&&(l.o=c(s,"bg",x,l.o)),l},{e:void 0,t:void 0,a:void 0,o:void 0}),a})()}),null),o})()}function GS(e){let t=Ot(),[n,r]=Z(0),o=()=>e.block.status==="pending"||e.block.status==="in_progress",i=setInterval(()=>{if(o())r((T)=>T+1)},Th);Ke(()=>clearInterval(i));let a=()=>(e.block.content??[]).flatMap((T)=>T.diff?[T.diff]:[]),s=()=>{for(let T of e.block.content??[]){if(!T.text)continue;let H=La(T.text);if(H)return H}return},l=()=>NS(t,e.block.status),d=()=>e.block.toolKind==="execute"&&(e.block.status==="pending"||e.block.status==="in_progress"),h=()=>OS(t),g=()=>Jh(e.block.toolKind,e.block.status,e.block.title),x=()=>Yh(e.block.title),b=()=>qh({toolKind:e.block.toolKind,status:e.block.status,title:e.block.title,rawInput:e.block.rawInput,content:e.block.content,terminalOutput:e.block.terminalOutput}),I=(T)=>e.block.toolKind==="execute"||!Xh(T,g(),b()),P=()=>(e.block.content??[]).map((T)=>T.text).filter((T)=>!!T).filter((T)=>La(T)===null).filter(I),Y=()=>!Vh(e.block.title),U=()=>e.block.status==="failed"?t.error:h();return(()=>{var T=k("box"),H=k("box"),C=k("text"),E=k("text"),B=k("text");return D(T,H),c(T,"style",{flexDirection:"column",paddingLeft:3,marginTop:1,flexShrink:0}),D(H,C),D(H,E),D(H,B),c(H,"style",{flexDirection:"row"}),m(C,()=>`${Qh(e.block.toolKind)} `),m(E,g),m(H,p(L,{get when(){return x()},children:(N)=>(()=>{var F=k("text");return m(F,()=>` ${N()}`),_((G)=>c(F,"style",{fg:h(),flexShrink:1},G)),F})()}),B),m(H,p(L,{get when(){return b()},children:(N)=>(()=>{var F=k("text");return m(F,()=>` ${N()}`),_((G)=>c(F,"style",{fg:t.textMuted,flexShrink:1},G)),F})()}),B),m(H,p(L,{get when(){return Y()},get children(){return p(ae,{get each(){return a()},children:(N)=>{let F=kh(To(N.oldText,N.newText,{maxLines:Number.MAX_SAFE_INTEGER}));return(()=>{var G=k("text");return m(G,()=>` +${F.added} -${F.removed}`),_((V)=>c(G,"style",{fg:t.textMuted},V)),G})()}})}}),B),m(H,p(L,{get when(){return o()},get children(){var N=k("text");return m(N,()=>` ${za[n()%za.length]}`),_((F)=>c(N,"style",{fg:l(),flexShrink:0},F)),N}}),B),m(B,()=>` ${Kh(e.block.status)}`),m(T,p(L,{get when(){return d()},get children(){var N=k("text");return m(N,()=>u("tool.runInBackground")),_((F)=>c(N,"style",{fg:h()},F)),N}}),null),m(T,p(ae,{get each(){return a()},children:(N)=>p(ES,{get oldText(){return N.oldText},get newText(){return N.newText},get path(){return N.path}})}),null),m(T,p(L,{get when(){return s()},children:(N)=>p($S,{get view(){return N()}})}),null),m(T,p(ae,{get each(){return P()},children:(N)=>(()=>{var F=k("text");return m(F,()=>tm(N,12)),_((G)=>c(F,"style",{fg:h()},G)),F})()}),null),m(T,p(L,{get when(){return e.block.terminalOutput},children:(N)=>(()=>{var F=k("text");return m(F,()=>tm(N(),12)),_((G)=>c(F,"style",{fg:h()},G)),F})()}),null),_((N)=>{var F={fg:l(),flexShrink:0},G={fg:l()},V={fg:U(),flexShrink:0};return F!==N.e&&(N.e=c(C,"style",F,N.e)),G!==N.t&&(N.t=c(E,"style",G,N.t)),V!==N.a&&(N.a=c(B,"style",V,N.a)),N},{e:void 0,t:void 0,a:void 0}),T})()}function rm(e){return[p(L,{get when(){return se(()=>e.block.type==="user")()&&e.block},children:(t)=>p(_S,{get block(){return t()},get onMenu(){return e.userIndex===void 0||!e.onUserMenu?void 0:()=>e.onUserMenu(e.userIndex)}})}),p(L,{get when(){return se(()=>e.block.type==="assistant")()&&e.block},children:(t)=>p(RS,{get block(){return t()}})}),p(L,{get when(){return se(()=>e.block.type==="thought")()&&e.block},children:(t)=>p(PS,{get block(){return t()}})}),p(L,{get when(){return se(()=>e.block.type==="tool")()&&e.block},children:(t)=>p(GS,{get block(){return t()}})}),p(L,{get when(){return se(()=>e.block.type==="plan")()&&e.block},children:(t)=>p(MS,{get block(){return t()}})}),p(L,{get when(){return se(()=>e.block.type==="notice")()&&e.block},children:(t)=>p(FS,{get block(){return t()}})}),p(L,{get when(){return se(()=>e.block.type==="error")()&&e.block},children:(t)=>p(DS,{get block(){return t()}})})]}ko();import*as Do from"path";import{exec as zS}from"child_process";import{promisify as HS}from"util";import*as we from"fs/promises";import*as tt from"path";var om="clipboard";var Ne=HS(zS);function im(){return!!(process.env.WSL_DISTRO_NAME||process.env.WSL_INTEROP||process.env.WSLENV||process.platform==="linux"&&process.env.WSLENV)}async function am(){let e={hasXclip:!1,hasXsel:!1,hasImageMagick:!1,hasBase64:!1};try{await Ne("which xclip"),e.hasXclip=!0}catch{}try{await Ne("which xsel"),e.hasXsel=!0}catch{}try{await Ne("which convert"),e.hasImageMagick=!0}catch{}try{await Ne("which base64"),e.hasBase64=!0}catch{}return e}function jS(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 sm(){try{if(process.platform==="darwin")return await ZS();else if(process.platform==="win32")return await WS();else if(im())return await US();else if(process.platform==="linux")return await QS();return!1}catch(e){return console.error("\u526A\u8D34\u677F\u68C0\u6D4B\u5931\u8D25:",e),!1}}var br=om;async function ZS(){try{let{stdout:e}=await Ne(`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 WS(){try{console.log("\uD83D\uDD0D [Windows\u526A\u8D34\u677F] \u5F00\u59CB\u68C0\u6D4B");let e=`Add-Type -AssemblyName System.Windows.Forms
|
|
742
742
|
if ([Windows.Forms.Clipboard]::ContainsImage()) {
|
|
743
743
|
Write-Output "image"
|
|
744
744
|
} elseif ([Windows.Forms.Clipboard]::ContainsText()) {
|
|
@@ -752,7 +752,7 @@ if ([Windows.Forms.Clipboard]::ContainsImage()) {
|
|
|
752
752
|
}
|
|
753
753
|
} else {
|
|
754
754
|
Write-Output "none"
|
|
755
|
-
}`;console.log("\uD83D\uDD0D [Windows\u526A\u8D34\u677F] \u6267\u884CPowerShell\u811A\u672C");let t=Buffer.from(e,"utf16le").toString("base64"),{stdout:n}=await Ne(`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
|
|
755
|
+
}`;console.log("\uD83D\uDD0D [Windows\u526A\u8D34\u677F] \u6267\u884CPowerShell\u811A\u672C");let t=Buffer.from(e,"utf16le").toString("base64"),{stdout:n}=await Ne(`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 US(){try{let t=Buffer.from(`Add-Type -AssemblyName System.Windows.Forms
|
|
756
756
|
if ([Windows.Forms.Clipboard]::ContainsImage()) {
|
|
757
757
|
Write-Output "image"
|
|
758
758
|
} elseif ([Windows.Forms.Clipboard]::ContainsText()) {
|
|
@@ -766,9 +766,9 @@ if ([Windows.Forms.Clipboard]::ContainsImage()) {
|
|
|
766
766
|
}
|
|
767
767
|
} else {
|
|
768
768
|
Write-Output "none"
|
|
769
|
-
}`,"utf16le").toString("base64"),{stdout:n}=await Ne(`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
|
|
769
|
+
}`,"utf16le").toString("base64"),{stdout:n}=await Ne(`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 QS(){try{let e=await am();if(!e.hasXclip&&!e.hasXsel)return console.warn(`\u274C \u7F3A\u5C11\u526A\u5207\u677F\u5DE5\u5177: \u8BF7\u5B89\u88C5 xclip \u6216 xsel
|
|
770
770
|
Ubuntu: sudo apt install xclip
|
|
771
|
-
\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 Ne(`${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 Ne(`${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
|
|
771
|
+
\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 Ne(`${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 Ne(`${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 lm(e){if(process.platform==="darwin")return KS(e);else if(process.platform==="win32")return YS(e);else if(im())return JS(e);else if(process.platform==="linux")return VS(e);return null}async function KS(e){try{let t=e||process.cwd(),n=tt.join(t,br);await we.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=tt.join(n,`clipboard-${r}.${i.extension}`),s=`
|
|
772
772
|
try
|
|
773
773
|
set imageData to the clipboard as \xABclass ${i.class}\xBB
|
|
774
774
|
set fileRef to open for access POSIX file "${a}" with write permission
|
|
@@ -781,7 +781,7 @@ if ([Windows.Forms.Clipboard]::ContainsImage()) {
|
|
|
781
781
|
end try
|
|
782
782
|
return "error"
|
|
783
783
|
end try
|
|
784
|
-
`,{stdout:l}=await Ne(`osascript -e '${s}'`);if(l.trim()==="success")try{if((await we.stat(a)).size>0)return a}catch{}try{await we.unlink(a)}catch{}}return null}catch(t){return console.error("Error saving clipboard image:",t),null}}async function
|
|
784
|
+
`,{stdout:l}=await Ne(`osascript -e '${s}'`);if(l.trim()==="success")try{if((await we.stat(a)).size>0)return a}catch{}try{await we.unlink(a)}catch{}}return null}catch(t){return console.error("Error saving clipboard image:",t),null}}async function YS(e){try{let t=e||process.cwd(),n=tt.join(t,br);await we.mkdir(n,{recursive:!0});let r=new Date().getTime(),o=`Add-Type -AssemblyName System.Windows.Forms
|
|
785
785
|
if ([Windows.Forms.Clipboard]::ContainsImage()) {
|
|
786
786
|
Write-Output "image"
|
|
787
787
|
} elseif ([Windows.Forms.Clipboard]::ContainsText()) {
|
|
@@ -806,7 +806,7 @@ try {
|
|
|
806
806
|
} catch {
|
|
807
807
|
Write-Output "error"
|
|
808
808
|
}`,g=Buffer.from(h,"utf16le").toString("base64"),{stdout:x}=await Ne(`powershell.exe -ExecutionPolicy Bypass -NoProfile -EncodedCommand ${g}`);if(x.trim()==="success")try{if((await we.stat(l)).size>0)return l}catch{}}else if(s==="base64"){let d=Buffer.from(`Add-Type -AssemblyName System.Windows.Forms
|
|
809
|
-
Write-Output ([Windows.Forms.Clipboard]::GetText())`,"utf16le").toString("base64"),{stdout:h}=await Ne(`powershell.exe -ExecutionPolicy Bypass -NoProfile -EncodedCommand ${d}`),x=h.trim().match(/^data:image\/([^;]+);base64,(.+)$/);if(x){let b=x[1]==="jpeg"?"jpg":x[1],I=x[2],P=tt.join(n,`clipboard-${r}.${b}`);try{if(await we.writeFile(P,Buffer.from(I,"base64")),(await we.stat(P)).size>0)return P}catch{}}}else if(s==="url")return null;return null}catch(t){return console.error("Error saving clipboard image:",t),null}}async function
|
|
809
|
+
Write-Output ([Windows.Forms.Clipboard]::GetText())`,"utf16le").toString("base64"),{stdout:h}=await Ne(`powershell.exe -ExecutionPolicy Bypass -NoProfile -EncodedCommand ${d}`),x=h.trim().match(/^data:image\/([^;]+);base64,(.+)$/);if(x){let b=x[1]==="jpeg"?"jpg":x[1],I=x[2],P=tt.join(n,`clipboard-${r}.${b}`);try{if(await we.writeFile(P,Buffer.from(I,"base64")),(await we.stat(P)).size>0)return P}catch{}}}else if(s==="url")return null;return null}catch(t){return console.error("Error saving clipboard image:",t),null}}async function JS(e){try{let t=e||process.cwd(),n=tt.join(t,br);await we.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
|
|
810
810
|
if ([Windows.Forms.Clipboard]::ContainsImage()) {
|
|
811
811
|
Write-Output "image"
|
|
812
812
|
} elseif ([Windows.Forms.Clipboard]::ContainsText()) {
|
|
@@ -820,7 +820,7 @@ if ([Windows.Forms.Clipboard]::ContainsImage()) {
|
|
|
820
820
|
}
|
|
821
821
|
} else {
|
|
822
822
|
Write-Output "none"
|
|
823
|
-
}`,i=Buffer.from(o,"utf16le").toString("base64"),{stdout:a}=await Ne(`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=tt.join(n,`clipboard-${r}.png`),d=
|
|
823
|
+
}`,i=Buffer.from(o,"utf16le").toString("base64"),{stdout:a}=await Ne(`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=tt.join(n,`clipboard-${r}.png`),d=jS(l);console.log("\uD83D\uDD0D [WSL\u526A\u8D34\u677F] Linux\u8DEF\u5F84:",l),console.log("\uD83D\uDD0D [WSL\u526A\u8D34\u677F] Windows\u8DEF\u5F84:",d);let h=`Add-Type -AssemblyName System.Windows.Forms
|
|
824
824
|
Add-Type -AssemblyName System.Drawing
|
|
825
825
|
|
|
826
826
|
try {
|
|
@@ -831,19 +831,19 @@ try {
|
|
|
831
831
|
} catch {
|
|
832
832
|
Write-Output "error: $($_.Exception.Message)"
|
|
833
833
|
}`,g=Buffer.from(h,"utf16le").toString("base64"),{stdout:x}=await Ne(`powershell.exe -ExecutionPolicy Bypass -NoProfile -EncodedCommand ${g}`);if(x.trim()==="success")try{if((await we.stat(l)).size>0)return l}catch{}else console.error("PowerShell save error:",x.trim())}else if(s==="base64"){let d=Buffer.from(`Add-Type -AssemblyName System.Windows.Forms
|
|
834
|
-
Write-Output ([Windows.Forms.Clipboard]::GetText())`,"utf16le").toString("base64"),{stdout:h}=await Ne(`powershell.exe -ExecutionPolicy Bypass -NoProfile -EncodedCommand ${d}`),x=h.trim().match(/^data:image\/([^;]+);base64,(.+)$/);if(x){let b=x[1]==="jpeg"?"jpg":x[1],I=x[2],P=tt.join(n,`clipboard-${r}.${b}`);try{if(await we.writeFile(P,Buffer.from(I,"base64")),(await we.stat(P)).size>0)return P}catch{}}}else if(s==="url")return null;return null}catch(t){return console.error("Error saving WSL clipboard image:",t),null}}async function
|
|
834
|
+
Write-Output ([Windows.Forms.Clipboard]::GetText())`,"utf16le").toString("base64"),{stdout:h}=await Ne(`powershell.exe -ExecutionPolicy Bypass -NoProfile -EncodedCommand ${d}`),x=h.trim().match(/^data:image\/([^;]+);base64,(.+)$/);if(x){let b=x[1]==="jpeg"?"jpg":x[1],I=x[2],P=tt.join(n,`clipboard-${r}.${b}`);try{if(await we.writeFile(P,Buffer.from(I,"base64")),(await we.stat(P)).size>0)return P}catch{}}}else if(s==="url")return null;return null}catch(t){return console.error("Error saving WSL clipboard image:",t),null}}async function VS(e){try{let t=await am();if(!t.hasXclip&&!t.hasXsel)return console.warn(`\u274C \u7F3A\u5C11\u526A\u5207\u677F\u5DE5\u5177: \u8BF7\u5B89\u88C5 xclip \u6216 xsel
|
|
835
835
|
Ubuntu: sudo apt install xclip
|
|
836
|
-
\u6216: sudo apt install xsel`),null;let n=e||process.cwd(),r=tt.join(n,br);await we.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 Ne(`${i} ${a} 2>/dev/null || echo ""`),l=s.toLowerCase();console.log("\uD83D\uDD0D [Linux\u526A\u8D34\u677F] \u53EF\u7528\u7C7B\u578B:",l);let d=[{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 b of d)if(l.includes(b.mime)||l.includes(b.ext)){let I=tt.join(r,`clipboard-${o}.${b.ext}`);try{let P=t.hasXclip?`-selection clipboard -t ${b.mime} -o`:"--clipboard --output",Y=t.hasXclip?`${i} ${P}`:`${i} ${P}`;if(await Ne(`${Y} > "${I}" 2>/dev/null`),(await we.stat(I)).size>0)return console.log("\u2705 [Linux\u526A\u8D34\u677F] \u6210\u529F\u4FDD\u5B58\u56FE\u7247:",I),I;else await we.unlink(I)}catch(P){console.log(`\uD83D\uDD0D [Linux\u526A\u8D34\u677F] \u5C1D\u8BD5 ${b.mime} \u5931\u8D25:`,P instanceof Error?P.message:String(P));try{await we.unlink(I)}catch{}}}let h=t.hasXclip?"-selection clipboard -o":"--clipboard --output",{stdout:g}=await Ne(`${i} ${h} 2>/dev/null || echo ""`),x=g.trim();if(x){let b=x.match(/^data:image\/([^;]+);base64,(.+)$/);if(b){let I=b[1]==="jpeg"?"jpg":b[1],P=b[2],Y=tt.join(r,`clipboard-${o}.${I}`);try{if(await we.writeFile(Y,Buffer.from(P,"base64")),(await we.stat(Y)).size>0)return console.log("\u2705 [Linux\u526A\u8D34\u677F] \u6210\u529F\u4FDD\u5B58Base64\u56FE\u7247:",Y),Y}catch(U){console.error("\u4FDD\u5B58Base64\u56FE\u7247\u5931\u8D25:",U)}}if(/\.(png|jpg|jpeg|gif|bmp|webp|svg)(\s*$|\?)/i.test(x))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 dm(e,t=3600000){try{let n=e||process.cwd(),r=tt.join(n,br),o=await we.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 d=tt.join(r,s);try{if((await we.stat(d)).mtimeMs<i)await we.unlink(d),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 YS(e){return Mo.join(e,Dg)}function JS(e,t){return`@"${Mo.relative(e,t)}"`}function um(e){return new TextDecoder().decode(e).trim()===""}async function gm(e){let t=e.hasImage??lm,n=e.save??cm,r=YS(e.cwd);try{if(!await t())return;let o=await n(r);if(!o)return;return(e.prune??dm)(r).catch(()=>{return}),{insert:JS(e.cwd,o),file:o}}catch{return}}function fm(e,t){let n=t.trim().toLowerCase();if(!n)return e;let r=[],o=[];for(let i of e){let a=i.name.toLowerCase();if(a.startsWith(n))r.push(i);else if(a.includes(n))o.push(i)}return[...r,...o]}function hm(e){if(!e.startsWith("/"))return;if(/\s/.test(e))return;return e.slice(1)}function mm(e){let{theme:t}=le(),n=()=>Pn(e.commands,e.selected,e.maxRows??8),r=()=>Fn(n()),o=()=>Dn(n(),e.commands.length);return(()=>{var i=k("box");return c(i,"onMouseScroll",(a)=>{let s=Rt(a);if(s)e.onStep?.(s)}),m(i,(()=>{var a=se(()=>r()>0);return()=>a()?(()=>{var s=k("text");return c(s,"selectable",!1),m(s,()=>`\u2191 ${r()} more`),_((l)=>c(s,"style",{fg:t.textMuted,paddingLeft:3},l)),s})():null})(),null),m(i,p(ae,{get each(){return n()},children:(a)=>p(ht,{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),m(i,(()=>{var a=se(()=>o()>0);return()=>a()?(()=>{var s=k("text");return c(s,"selectable",!1),m(s,()=>`\u2193 ${o()} more`),_((l)=>c(s,"style",{fg:t.textMuted,paddingLeft:3},l)),s})():null})(),null),_((a)=>c(i,"style",{flexDirection:"column",flexShrink:0,backgroundColor:t.backgroundMenu},a)),i})()}var ns=[" .-+*-"," :+oo*=."," :=ooo=:",":oo*: .+*:",":oo*: \u2726 :+*-."," :=ooo=. . :+*="," -+++=+*oo=."," =**+:"],VS=ns.length+3;function pm(e,t=!1){return e>=VS+5+2+(t?12:0)}function qS(){let{theme:e}=le();return(()=>{var t=k("box");return c(t,"style",{flexDirection:"column"}),m(t,p(ae,{each:ns,children:(n)=>(()=>{var r=k("text");return c(r,"selectable",!1),m(r,n),_((o)=>c(r,"style",{fg:e.accent},o)),r})()})),t})()}function Am(e){let{theme:t}=le(),n=()=>e.userName?u("home.welcomeNamed",{name:e.userName}):u("home.welcome");return(()=>{var r=k("box"),o=k("box"),i=k("box"),a=k("text"),s=k("b"),l=k("text");return D(r,o),c(r,"style",{flexDirection:"column",flexShrink:0,width:"100%",alignItems:"center",paddingLeft:1,paddingRight:1}),D(o,i),c(o,"style",{flexDirection:"column",flexShrink:0,width:"100%",maxWidth:68}),D(i,a),D(i,l),c(i,"style",{flexDirection:"row",justifyContent:"space-between",flexShrink:0}),D(a,s),c(a,"selectable",!1),m(s,()=>`Easy Code v${e.version}`),c(l,"wrapMode","none"),c(l,"selectable",!1),m(l,()=>e.cwd),m(o,p(L,{get when(){return e.showBrand},get children(){var d=k("box"),h=k("box"),g=k("box"),x=k("box"),b=k("text"),I=k("b");return D(d,h),D(h,g),D(h,x),c(h,"style",{flexDirection:"row"}),c(g,"style",{flexDirection:"column",width:18,flexShrink:0,justifyContent:"center",alignItems:"center"}),m(g,p(qS,{})),D(x,b),c(x,"style",{flexDirection:"column",flexGrow:1,justifyContent:"center",alignItems:"flex-end",paddingLeft:1}),D(b,I),c(b,"selectable",!1),m(I,n),m(x,p(L,{get when(){return e.model},get children(){var P=k("text");return c(P,"selectable",!1),m(P,()=>e.model),_((Y)=>c(P,"style",{fg:t.textMuted,flexShrink:0},Y)),P}}),null),m(x,p(L,{get when(){return e.tip},get children(){var P=k("text");return c(P,"selectable",!1),m(P,()=>e.tip),_((Y)=>c(P,"style",{fg:t.info,flexShrink:0},Y)),P}}),null),_((P)=>{var Y={flexDirection:"column",flexShrink:0,border:!0,borderStyle:"rounded",borderColor:t.border,paddingLeft:1,paddingRight:1},U={fg:t.accent,flexShrink:0};return Y!==P.e&&(P.e=c(d,"style",Y,P.e)),U!==P.t&&(P.t=c(b,"style",U,P.t)),P},{e:void 0,t:void 0}),d}}),null),_((d)=>{var h={fg:t.accent,flexShrink:0},g={fg:t.textMuted,flexShrink:0};return h!==d.e&&(d.e=c(a,"style",h,d.e)),g!==d.t&&(d.t=c(l,"style",g,d.t)),d},{e:void 0,t:void 0}),r})()}var km=[{name:"new",description:u("command.new")},{name:"login",description:u("command.login")},{name:"logout",description:u("command.logout")},{name:"account",description:u("command.account")},{name:"theme",description:u("command.theme")},{name:"clear",description:u("command.clear")},{name:"queue",description:u("command.queue")},{name:"quit",description:"Exit"}],XS=new Set(km.map((e)=>e.name));function xm(e){return XS.has(e)}function No(e,t=[]){let n=[...km,...t],r=new Set(n.map((o)=>o.name));return[...n,...e.filter((o)=>!r.has(o.name))]}function rs(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 bm(e){let{theme:t}=le(),n=()=>rs(e.pending.request.options),r=()=>(e.pending.request.content??[]).filter((a)=>a.diff).map((a)=>Eo(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 p(ft,{tone:"warning",get title(){return e.pending.request.title},get footer(){return[p(me,{keys:"\u2191\u2193",label:"choose"}),p(me,{keys:"enter",label:"confirm"}),p(me,{keys:"esc",label:"reject"})]},get children(){return[(()=>{var a=k("box");return c(a,"style",{flexDirection:"column",paddingLeft:1}),m(a,p(ae,{get each(){return o()},children:(s)=>(()=>{var l=k("text");return m(l,s),_((d)=>c(l,"style",{fg:t.textMuted},d)),l})()}),null),m(a,p(ae,{get each(){return r()},children:(s)=>(()=>{var l=k("box");return c(l,"style",{flexDirection:"column"}),m(l,p(ae,{each:s,children:(d)=>(()=>{var h=k("text");return c(h,"selectable",!1),m(h,(()=>{var g=se(()=>d.kind==="add");return()=>g()?"+ ":d.kind==="del"?"- ":" "})(),null),m(h,()=>d.text,null),_((g)=>{var x={fg:d.kind==="add"?t.diffAdded:d.kind==="del"?t.diffRemoved:t.textMuted},b=d.kind==="add"?t.diffAddedBg:d.kind==="del"?t.diffRemovedBg:void 0;return x!==g.e&&(g.e=c(h,"style",x,g.e)),b!==g.t&&(g.t=c(h,"bg",b,g.t)),g},{e:void 0,t:void 0}),h})()})),l})()}),null),a})(),(()=>{var a=k("box");return c(a,"style",{flexDirection:"column",paddingLeft:2,paddingRight:2}),m(a,p(ae,{get each(){return n()},children:(s,l)=>{let d=()=>s.kind.startsWith("reject");return p(ht,{get active(){return l()===e.selected},get title(){return s.name},get fill(){return se(()=>!!d())()?t.error:t.success},onMouseUp:()=>i(s.optionId)})}})),a})(),p(L,{get when(){return n().length===0},get children(){var a=k("text");return D(a,Be("The backend sent no options \u2014 press esc to reject.")),_((s)=>c(a,"style",{fg:t.textMuted,paddingLeft:1},s)),a}})]}})}var ym=300;function wm(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}}var e1=10;function Sm(e){let t=le(),{theme:n}=t,r=()=>Pn(e.names,e.selected,e1),o=()=>Fn(r()),i=()=>Dn(r(),e.names.length);return p(ft,{tone:"accent",icon:"\u25D0",title:"Theme",get subtitle(){return`${e.names.length} palettes \xB7 ${t.name}`},get footer(){return[p(me,{keys:"\u2191\u2193",label:"preview"}),p(me,{keys:"enter",label:"keep"}),p(me,{keys:"esc",label:"keep"})]},get children(){var a=k("box");return c(a,"style",{flexDirection:"column"}),c(a,"onMouseScroll",(s)=>{let l=Rt(s);if(l)e.onStep?.(l)}),m(a,p(L,{get when(){return o()>0},get children(){var s=k("text");return m(s,()=>`\u2191 ${o()} more`),_((l)=>c(s,"style",{fg:n.textMuted,paddingLeft:1},l)),s}}),null),m(a,p(ae,{get each(){return r()},children:(s)=>p(ht,{get active(){return s.index===e.selected},get current(){return s.item===t.name},get title(){return s.item},onMouseUp:()=>e.onPick?.(s.index)})}),null),m(a,p(L,{get when(){return i()>0},get children(){var s=k("text");return m(s,()=>`\u2193 ${i()} more`),_((l)=>c(s,"style",{fg:n.textMuted,paddingLeft:1},l)),s}}),null),a}})}var t1=10;function os(e){let{theme:t}=le(),n=()=>Pn(e.rows,e.selected,t1),r=()=>Fn(n()),o=()=>Dn(n(),e.rows.length);return p(ft,{tone:"accent",get icon(){return e.icon??"\u276F"},get title(){return e.title},get subtitle(){return e.subtitle},get footer(){return e.footer??[p(me,{keys:"\u2191\u2193",get label(){return u("key.move")}}),p(me,{keys:"enter",get label(){return u("key.select")}}),p(me,{keys:"esc",get label(){return u("key.close")}})]},get children(){var i=k("box");return c(i,"style",{flexDirection:"column"}),c(i,"onMouseScroll",(a)=>{let s=Rt(a);if(s)e.onStep?.(s)}),m(i,p(L,{get when(){return e.rows.length===0},get children(){var a=k("text");return c(a,"selectable",!1),m(a,()=>e.empty??u("picker.empty")),_((s)=>c(a,"style",{fg:t.textMuted,paddingLeft:1},s)),a}}),null),m(i,p(L,{get when(){return r()>0},get children(){var a=k("text");return c(a,"selectable",!1),m(a,()=>`\u2191 ${r()} more`),_((s)=>c(a,"style",{fg:t.textMuted,paddingLeft:1},s)),a}}),null),m(i,p(ae,{get each(){return n()},children:(a)=>p(ht,{get active(){return a.index===e.selected},get current(){return a.item.current},get title(){return a.item.label},get description(){return a.item.description},get footer(){return a.item.hint},onMouseUp:()=>e.onPick?.(a.index)})}),null),m(i,p(L,{get when(){return o()>0},get children(){var a=k("text");return c(a,"selectable",!1),m(a,()=>`\u2193 ${o()} more`),_((s)=>c(a,"style",{fg:t.textMuted,paddingLeft:1},s)),a}}),null),i}})}import{spawn as n1}from"child_process";import is from"process";function r1(e,t){let r=`\x1B]52;c;${Buffer.from(e,"utf8").toString("base64")}\x07`;return t?`\x1BPtmux;\x1B${r}\x1B\\`:r}function o1(e,t,n){return new Promise((r,o)=>{let i=n1(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 i1(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 Ln(e,t={}){let n=t.platform??is.platform,r=t.stdout??is.stdout,o=t.run??o1,i=t.tmux??Boolean(is.env.TMUX),a=!1;try{if(r.isTTY!==!1)r.write(r1(e,i)),a=!0}catch{}let s=t.has??(()=>!0),l=i1(n,s);if(!l)return a?{ok:!0,via:"osc52"}:{ok:!1,error:u("notice.clipboardUnavailable")};try{return await o(l.command,l.args,e),{ok:!0,via:"command"}}catch(d){if(a)return{ok:!0,via:"osc52"};return{ok:!1,error:d instanceof Error?d.message:String(d)}}}var Cm=[{name:"return",action:"submit"},{name:"kpenter",action:"submit"},{name:"return",shift:!0,action:"newline"},{name:"kpenter",shift:!0,action:"newline"}];function a1(e){return Math.max(1,Math.min(8,Math.floor(e/3)))}function vm(e,t){let n=e.split(`
|
|
837
|
-
`).length;return Math.min(Math.max(1,n),
|
|
838
|
-
`)){let s=a.replace(/\s+$/,"");if(s===""){if(r.length===0)continue;if(!i(""))break;continue}while(s!==""){if(it(s)<=t){i(s);break}let l=Array.from(s),d=0,h=0;while(h<l.length){let I=it(l[h]);if(d+I>t)break;d+=I,h+=1}if(h===0)break;let g=l.slice(0,h),x=g.lastIndexOf(" "),b=l[h]===" "?h:x>0?x:h;if(!i(g.slice(0,b).join("").replace(/\s+$/,"")))break;s=l.slice(b).join("").replace(/^\s+/,"")}if(o)break}return{lines:r,truncated:o}}function
|
|
839
|
-
${d}`:d}let i=r.join(" ").trim();if(!i)return{kind:"error",message:u("goal.usage")};return o.task=i,{kind:"start",fields:o}}var Ut=["task","forbidden","criteria","hours","intensity","confirm"];function
|
|
836
|
+
\u6216: sudo apt install xsel`),null;let n=e||process.cwd(),r=tt.join(n,br);await we.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 Ne(`${i} ${a} 2>/dev/null || echo ""`),l=s.toLowerCase();console.log("\uD83D\uDD0D [Linux\u526A\u8D34\u677F] \u53EF\u7528\u7C7B\u578B:",l);let d=[{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 b of d)if(l.includes(b.mime)||l.includes(b.ext)){let I=tt.join(r,`clipboard-${o}.${b.ext}`);try{let P=t.hasXclip?`-selection clipboard -t ${b.mime} -o`:"--clipboard --output",Y=t.hasXclip?`${i} ${P}`:`${i} ${P}`;if(await Ne(`${Y} > "${I}" 2>/dev/null`),(await we.stat(I)).size>0)return console.log("\u2705 [Linux\u526A\u8D34\u677F] \u6210\u529F\u4FDD\u5B58\u56FE\u7247:",I),I;else await we.unlink(I)}catch(P){console.log(`\uD83D\uDD0D [Linux\u526A\u8D34\u677F] \u5C1D\u8BD5 ${b.mime} \u5931\u8D25:`,P instanceof Error?P.message:String(P));try{await we.unlink(I)}catch{}}}let h=t.hasXclip?"-selection clipboard -o":"--clipboard --output",{stdout:g}=await Ne(`${i} ${h} 2>/dev/null || echo ""`),x=g.trim();if(x){let b=x.match(/^data:image\/([^;]+);base64,(.+)$/);if(b){let I=b[1]==="jpeg"?"jpg":b[1],P=b[2],Y=tt.join(r,`clipboard-${o}.${I}`);try{if(await we.writeFile(Y,Buffer.from(P,"base64")),(await we.stat(Y)).size>0)return console.log("\u2705 [Linux\u526A\u8D34\u677F] \u6210\u529F\u4FDD\u5B58Base64\u56FE\u7247:",Y),Y}catch(U){console.error("\u4FDD\u5B58Base64\u56FE\u7247\u5931\u8D25:",U)}}if(/\.(png|jpg|jpeg|gif|bmp|webp|svg)(\s*$|\?)/i.test(x))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 cm(e,t=3600000){try{let n=e||process.cwd(),r=tt.join(n,br),o=await we.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 d=tt.join(r,s);try{if((await we.stat(d)).mtimeMs<i)await we.unlink(d),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 qS(e){return Do.join(e,Fg)}function XS(e,t){return`@"${Do.relative(e,t)}"`}function dm(e){return new TextDecoder().decode(e).trim()===""}async function um(e){let t=e.hasImage??sm,n=e.save??lm,r=qS(e.cwd);try{if(!await t())return;let o=await n(r);if(!o)return;return(e.prune??cm)(r).catch(()=>{return}),{insert:XS(e.cwd,o),file:o}}catch{return}}function gm(e,t){let n=t.trim().toLowerCase();if(!n)return e;let r=[],o=[];for(let i of e){let a=i.name.toLowerCase();if(a.startsWith(n))r.push(i);else if(a.includes(n))o.push(i)}return[...r,...o]}function fm(e){if(!e.startsWith("/"))return;if(/\s/.test(e))return;return e.slice(1)}function hm(e){let{theme:t}=le(),n=()=>Pn(e.commands,e.selected,e.maxRows??8),r=()=>Fn(n()),o=()=>Dn(n(),e.commands.length);return(()=>{var i=k("box");return c(i,"onMouseScroll",(a)=>{let s=Rt(a);if(s)e.onStep?.(s)}),m(i,(()=>{var a=se(()=>r()>0);return()=>a()?(()=>{var s=k("text");return c(s,"selectable",!1),m(s,()=>`\u2191 ${r()} more`),_((l)=>c(s,"style",{fg:t.textMuted,paddingLeft:3},l)),s})():null})(),null),m(i,p(ae,{get each(){return n()},children:(a)=>p(ht,{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),m(i,(()=>{var a=se(()=>o()>0);return()=>a()?(()=>{var s=k("text");return c(s,"selectable",!1),m(s,()=>`\u2193 ${o()} more`),_((l)=>c(s,"style",{fg:t.textMuted,paddingLeft:3},l)),s})():null})(),null),_((a)=>c(i,"style",{flexDirection:"column",flexShrink:0,backgroundColor:t.backgroundMenu},a)),i})()}var ts=[" .-+*-"," :+oo*=."," :=ooo=:",":oo*: .+*:",":oo*: \u2726 :+*-."," :=ooo=. . :+*="," -+++=+*oo=."," =**+:"],e1=ts.length+3;function mm(e,t=!1){return e>=e1+5+2+(t?12:0)}function t1(){let{theme:e}=le();return(()=>{var t=k("box");return c(t,"style",{flexDirection:"column"}),m(t,p(ae,{each:ts,children:(n)=>(()=>{var r=k("text");return c(r,"selectable",!1),m(r,n),_((o)=>c(r,"style",{fg:e.accent},o)),r})()})),t})()}function pm(e){let{theme:t}=le(),n=()=>e.userName?u("home.welcomeNamed",{name:e.userName}):u("home.welcome");return(()=>{var r=k("box"),o=k("box"),i=k("box"),a=k("text"),s=k("b"),l=k("text");return D(r,o),c(r,"style",{flexDirection:"column",flexShrink:0,width:"100%",alignItems:"center",paddingLeft:1,paddingRight:1}),D(o,i),c(o,"style",{flexDirection:"column",flexShrink:0,width:"100%",maxWidth:68}),D(i,a),D(i,l),c(i,"style",{flexDirection:"row",justifyContent:"space-between",flexShrink:0}),D(a,s),c(a,"selectable",!1),m(s,()=>`Easy Code v${e.version}`),c(l,"wrapMode","none"),c(l,"selectable",!1),m(l,()=>e.cwd),m(o,p(L,{get when(){return e.showBrand},get children(){var d=k("box"),h=k("box"),g=k("box"),x=k("box"),b=k("text"),I=k("b");return D(d,h),D(h,g),D(h,x),c(h,"style",{flexDirection:"row"}),c(g,"style",{flexDirection:"column",width:18,flexShrink:0,justifyContent:"center",alignItems:"center"}),m(g,p(t1,{})),D(x,b),c(x,"style",{flexDirection:"column",flexGrow:1,justifyContent:"center",alignItems:"flex-end",paddingLeft:1}),D(b,I),c(b,"selectable",!1),m(I,n),m(x,p(L,{get when(){return e.model},get children(){var P=k("text");return c(P,"selectable",!1),m(P,()=>e.model),_((Y)=>c(P,"style",{fg:t.textMuted,flexShrink:0},Y)),P}}),null),m(x,p(L,{get when(){return e.tip},get children(){var P=k("text");return c(P,"selectable",!1),m(P,()=>e.tip),_((Y)=>c(P,"style",{fg:t.info,flexShrink:0},Y)),P}}),null),_((P)=>{var Y={flexDirection:"column",flexShrink:0,border:!0,borderStyle:"rounded",borderColor:t.border,paddingLeft:1,paddingRight:1},U={fg:t.accent,flexShrink:0};return Y!==P.e&&(P.e=c(d,"style",Y,P.e)),U!==P.t&&(P.t=c(b,"style",U,P.t)),P},{e:void 0,t:void 0}),d}}),null),_((d)=>{var h={fg:t.accent,flexShrink:0},g={fg:t.textMuted,flexShrink:0};return h!==d.e&&(d.e=c(a,"style",h,d.e)),g!==d.t&&(d.t=c(l,"style",g,d.t)),d},{e:void 0,t:void 0}),r})()}var Am=[{name:"new",description:u("command.new")},{name:"login",description:u("command.login")},{name:"logout",description:u("command.logout")},{name:"account",description:u("command.account")},{name:"theme",description:u("command.theme")},{name:"clear",description:u("command.clear")},{name:"queue",description:u("command.queue")},{name:"quit",description:"Exit"}],n1=new Set(Am.map((e)=>e.name));function km(e){return n1.has(e)}function Mo(e,t=[]){let n=[...Am,...t],r=new Set(n.map((o)=>o.name));return[...n,...e.filter((o)=>!r.has(o.name))]}function ns(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 xm(e){let{theme:t}=le(),n=()=>ns(e.pending.request.options),r=()=>(e.pending.request.content??[]).filter((a)=>a.diff).map((a)=>To(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 p(ft,{tone:"warning",get title(){return e.pending.request.title},get footer(){return[p(me,{keys:"\u2191\u2193",label:"choose"}),p(me,{keys:"enter",label:"confirm"}),p(me,{keys:"esc",label:"reject"})]},get children(){return[(()=>{var a=k("box");return c(a,"style",{flexDirection:"column",paddingLeft:1}),m(a,p(ae,{get each(){return o()},children:(s)=>(()=>{var l=k("text");return m(l,s),_((d)=>c(l,"style",{fg:t.textMuted},d)),l})()}),null),m(a,p(ae,{get each(){return r()},children:(s)=>(()=>{var l=k("box");return c(l,"style",{flexDirection:"column"}),m(l,p(ae,{each:s,children:(d)=>(()=>{var h=k("text");return c(h,"selectable",!1),m(h,(()=>{var g=se(()=>d.kind==="add");return()=>g()?"+ ":d.kind==="del"?"- ":" "})(),null),m(h,()=>d.text,null),_((g)=>{var x={fg:d.kind==="add"?t.diffAdded:d.kind==="del"?t.diffRemoved:t.textMuted},b=d.kind==="add"?t.diffAddedBg:d.kind==="del"?t.diffRemovedBg:void 0;return x!==g.e&&(g.e=c(h,"style",x,g.e)),b!==g.t&&(g.t=c(h,"bg",b,g.t)),g},{e:void 0,t:void 0}),h})()})),l})()}),null),a})(),(()=>{var a=k("box");return c(a,"style",{flexDirection:"column",paddingLeft:2,paddingRight:2}),m(a,p(ae,{get each(){return n()},children:(s,l)=>{let d=()=>s.kind.startsWith("reject");return p(ht,{get active(){return l()===e.selected},get title(){return s.name},get fill(){return se(()=>!!d())()?t.error:t.success},onMouseUp:()=>i(s.optionId)})}})),a})(),p(L,{get when(){return n().length===0},get children(){var a=k("text");return D(a,Be("The backend sent no options \u2014 press esc to reject.")),_((s)=>c(a,"style",{fg:t.textMuted,paddingLeft:1},s)),a}})]}})}var bm=300;function ym(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}}var r1=10;function wm(e){let t=le(),{theme:n}=t,r=()=>Pn(e.names,e.selected,r1),o=()=>Fn(r()),i=()=>Dn(r(),e.names.length);return p(ft,{tone:"accent",icon:"\u25D0",title:"Theme",get subtitle(){return`${e.names.length} palettes \xB7 ${t.name}`},get footer(){return[p(me,{keys:"\u2191\u2193",label:"preview"}),p(me,{keys:"enter",label:"keep"}),p(me,{keys:"esc",label:"keep"})]},get children(){var a=k("box");return c(a,"style",{flexDirection:"column"}),c(a,"onMouseScroll",(s)=>{let l=Rt(s);if(l)e.onStep?.(l)}),m(a,p(L,{get when(){return o()>0},get children(){var s=k("text");return m(s,()=>`\u2191 ${o()} more`),_((l)=>c(s,"style",{fg:n.textMuted,paddingLeft:1},l)),s}}),null),m(a,p(ae,{get each(){return r()},children:(s)=>p(ht,{get active(){return s.index===e.selected},get current(){return s.item===t.name},get title(){return s.item},onMouseUp:()=>e.onPick?.(s.index)})}),null),m(a,p(L,{get when(){return i()>0},get children(){var s=k("text");return m(s,()=>`\u2193 ${i()} more`),_((l)=>c(s,"style",{fg:n.textMuted,paddingLeft:1},l)),s}}),null),a}})}var o1=10;function rs(e){let{theme:t}=le(),n=()=>Pn(e.rows,e.selected,o1),r=()=>Fn(n()),o=()=>Dn(n(),e.rows.length);return p(ft,{tone:"accent",get icon(){return e.icon??"\u276F"},get title(){return e.title},get subtitle(){return e.subtitle},get footer(){return e.footer??[p(me,{keys:"\u2191\u2193",get label(){return u("key.move")}}),p(me,{keys:"enter",get label(){return u("key.select")}}),p(me,{keys:"esc",get label(){return u("key.close")}})]},get children(){var i=k("box");return c(i,"style",{flexDirection:"column"}),c(i,"onMouseScroll",(a)=>{let s=Rt(a);if(s)e.onStep?.(s)}),m(i,p(L,{get when(){return e.rows.length===0},get children(){var a=k("text");return c(a,"selectable",!1),m(a,()=>e.empty??u("picker.empty")),_((s)=>c(a,"style",{fg:t.textMuted,paddingLeft:1},s)),a}}),null),m(i,p(L,{get when(){return r()>0},get children(){var a=k("text");return c(a,"selectable",!1),m(a,()=>`\u2191 ${r()} more`),_((s)=>c(a,"style",{fg:t.textMuted,paddingLeft:1},s)),a}}),null),m(i,p(ae,{get each(){return n()},children:(a)=>p(ht,{get active(){return a.index===e.selected},get current(){return a.item.current},get title(){return a.item.label},get description(){return a.item.description},get footer(){return a.item.hint},onMouseUp:()=>e.onPick?.(a.index)})}),null),m(i,p(L,{get when(){return o()>0},get children(){var a=k("text");return c(a,"selectable",!1),m(a,()=>`\u2193 ${o()} more`),_((s)=>c(a,"style",{fg:t.textMuted,paddingLeft:1},s)),a}}),null),i}})}import{spawn as i1}from"child_process";import os from"process";function a1(e,t){let r=`\x1B]52;c;${Buffer.from(e,"utf8").toString("base64")}\x07`;return t?`\x1BPtmux;\x1B${r}\x1B\\`:r}function s1(e,t,n){return new Promise((r,o)=>{let i=i1(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 l1(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 Ln(e,t={}){let n=t.platform??os.platform,r=t.stdout??os.stdout,o=t.run??s1,i=t.tmux??Boolean(os.env.TMUX),a=!1;try{if(r.isTTY!==!1)r.write(a1(e,i)),a=!0}catch{}let s=t.has??(()=>!0),l=l1(n,s);if(!l)return a?{ok:!0,via:"osc52"}:{ok:!1,error:u("notice.clipboardUnavailable")};try{return await o(l.command,l.args,e),{ok:!0,via:"command"}}catch(d){if(a)return{ok:!0,via:"osc52"};return{ok:!1,error:d instanceof Error?d.message:String(d)}}}var Sm=[{name:"return",action:"submit"},{name:"kpenter",action:"submit"},{name:"return",shift:!0,action:"newline"},{name:"kpenter",shift:!0,action:"newline"}];function c1(e){return Math.max(1,Math.min(8,Math.floor(e/3)))}function Cm(e,t){let n=e.split(`
|
|
837
|
+
`).length;return Math.min(Math.max(1,n),c1(t))}async function vm(e){let t=e.renderer.getSelection()?.getSelectedText();if(!t)return;e.renderer.clearSelection();let n=await(e.copy??Ln)(t);return n.ok?`Copied ${t.length} character${t.length===1?"":"s"} to the clipboard`:`Copy failed: ${n.error}`}var is="\u2026";function Im(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(`
|
|
838
|
+
`)){let s=a.replace(/\s+$/,"");if(s===""){if(r.length===0)continue;if(!i(""))break;continue}while(s!==""){if(it(s)<=t){i(s);break}let l=Array.from(s),d=0,h=0;while(h<l.length){let I=it(l[h]);if(d+I>t)break;d+=I,h+=1}if(h===0)break;let g=l.slice(0,h),x=g.lastIndexOf(" "),b=l[h]===" "?h:x>0?x:h;if(!i(g.slice(0,b).join("").replace(/\s+$/,"")))break;s=l.slice(b).join("").replace(/^\s+/,"")}if(o)break}return{lines:r,truncated:o}}function Bm(e,t){let n=e.replace(/\s+/g," ").trim();if(it(n)<=t)return n;let r=t-it(is);if(r<=0)return is;let o=Array.from(n),i=0,a=0;while(a<o.length){let s=it(o[a]);if(i+s>r)break;i+=s,a+=1}return`${o.slice(0,a).join("")}${is}`}function Tm(e){let{theme:t}=le(),n=()=>e.item.status==="asking",r=()=>e.item.status==="failed",o=()=>{if(r())return e.item.error?.trim()||u("command.btw.failed");if(n())return u("btw.asking");return e.item.answer.trim()||u("btw.empty")},i=()=>Im(o(),e.columns,e.maxRows),a=()=>Bm(e.item.question,Math.max(1,e.columns-8));return(()=>{var s=k("box"),l=k("box"),d=k("text"),h=k("text");return D(s,l),D(l,d),D(l,h),c(l,"style",{flexDirection:"row",flexShrink:0}),D(d,Be("/btw ")),c(d,"selectable",!1),c(h,"wrapMode","none"),m(h,a),m(l,p(L,{get when(){return n()},get children(){var g=k("text");return m(g,()=>` ${e.spinner}`),_((x)=>c(g,"style",{fg:t.textMuted,flexShrink:0},x)),g}}),null),m(s,p(ae,{get each(){return i().lines},children:(g)=>(()=>{var x=k("text");return c(x,"wrapMode","none"),c(x,"selectable",!1),m(x,g),_((b)=>c(x,"style",{fg:r()?t.error:t.textMuted},b)),x})()}),null),m(s,p(L,{get when(){return i().truncated},get children(){var g=k("text");return c(g,"wrapMode","none"),c(g,"selectable",!1),m(g,()=>u("btw.truncated")),_((x)=>c(g,"style",{fg:t.textMuted},x)),g}}),null),m(s,p(L,{get when(){return!n()},get children(){var g=k("text");return c(g,"wrapMode","none"),c(g,"selectable",!1),m(g,()=>u("btw.hint")),_((x)=>c(g,"style",{fg:t.textMuted},x)),g}}),null),_((g)=>{var x={flexDirection:"column",backgroundColor:t.backgroundMenu,paddingLeft:2,paddingRight:2,flexShrink:0},b={fg:t.accent,flexShrink:0},I={fg:t.text,flexShrink:0};return x!==g.e&&(g.e=c(s,"style",x,g.e)),b!==g.t&&(g.t=c(d,"style",b,g.t)),I!==g.a&&(g.a=c(h,"style",I,g.a)),g},{e:void 0,t:void 0,a:void 0}),s})()}function Em(e){return{question:e,answer:"",status:"asking"}}function _m(e,t){if(!e)return;if(t.status==="failed")return{...e,status:"failed",error:t.error};return{...e,status:"done",answer:t.text}}function Rm(e=3){return{tick:()=>e,reset:()=>{return}}}var Pm=2500;function Fm(e){let{theme:t}=le();return p(L,{get when(){return e.message},get children(){var n=k("box"),r=k("box"),o=k("text");return D(n,r),c(n,"style",{position:"absolute",left:0,right:0,bottom:1,flexDirection:"row",justifyContent:"center",alignItems:"center",zIndex:5000}),D(r,o),c(o,"selectable",!1),m(o,()=>e.message),_((i)=>{var a={backgroundColor:t.backgroundPanel,paddingLeft:2,paddingRight:2},s={fg:t.accent};return a!==i.e&&(i.e=c(r,"style",a,i.e)),s!==i.t&&(i.t=c(o,"style",s,i.t)),i},{e:void 0,t:void 0}),n}})}var Dm={name:"easycode-tui",version:"1.1.69",private:!0,description:"Easy Code shell CLI - an opentui/Solid terminal front-end that drives the bundled `easycode --acp` backend",type:"module",scripts:{build:"node ../../scripts/pack_shell.js",dev:"bun run src/index.tsx","dev:tui":"bun run src/index.tsx",test:"npm run test:logic && npm run test:ui","test:logic":"vitest run","test:ui":"bun test test-ui",typecheck:"tsc --noEmit"},dependencies:{"@agentclientprotocol/sdk":"^0.16.1","@opentui/core":"0.5.11","@opentui/solid":"0.5.11",diff:"^8.0.4","easycode-core":"file:../core","solid-js":"1.9.12"},devDependencies:{"@types/bun":"^1.4.2","@types/node":"^22.0.0",bun:"1.4.2",typescript:"5.9.3",vitest:"^3.2.4"}};var On=process.env.EASYCODE_TUI_VERSION??Dm.version;var dn=["steady","standard","intense"],Nm={steady:u("goal.intensity.steady"),standard:u("goal.intensity.standard"),intense:u("goal.intensity.intense")},as={forbidden:"",criteria:"",hours:2,intensity:"standard"},yr=24;function u1(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 Mm={"--hours":"hours","--intensity":"intensity","--no":"forbidden","--forbidden":"forbidden","--done":"criteria","--criteria":"criteria"};function Lm(e){let t=e.trim();if(!t)return{kind:"wizard"};if(t==="clear")return{kind:"clear"};let n=u1(t),r=[],o={task:"",...as};for(let a=0;a<n.length;a++){let s=n[a],l=Object.hasOwn(Mm,s)?Mm[s]:void 0;if(!l){if(s.startsWith("--"))return{kind:"error",message:`Unknown option ${s}.`};r.push(s);continue}let d=n[++a];if(d===void 0)return{kind:"error",message:`${s} needs a value.`};if(l==="hours"){let g=Number(d);if(!Number.isFinite(g)||g<=0)return{kind:"error",message:`--hours needs a positive number, got "${d}".`};if(g>yr)return{kind:"error",message:`--hours is capped at ${yr}.`};o.hours=g;continue}if(l==="intensity"){if(!dn.includes(d))return{kind:"error",message:`--intensity must be one of ${dn.join(" / ")}, got "${d}".`};o.intensity=d;continue}let h=o[l];o[l]=h?`${h}
|
|
839
|
+
${d}`:d}let i=r.join(" ").trim();if(!i)return{kind:"error",message:u("goal.usage")};return o.task=i,{kind:"start",fields:o}}var Ut=["task","forbidden","criteria","hours","intensity","confirm"];function Om(e){return{step:"task",fields:{task:"",...as,...e}}}var $m={task:{title:u("goal.step.task.title"),hint:u("goal.step.task.hint")},forbidden:{title:u("goal.step.forbidden.title"),hint:u("goal.step.forbidden.hint")},criteria:{title:u("goal.step.done.title"),hint:u("goal.step.done.hint")},hours:{title:u("goal.step.hours.title"),hint:`Hours, 1-${yr}. Enter for ${as.hours}.`},intensity:{title:u("goal.step.intensity.title"),hint:u("goal.step.intensity.hint")},confirm:{title:u("goal.step.confirm.title"),hint:u("goal.step.confirm.hint")}};function No(e){return e==="task"||e==="forbidden"||e==="criteria"||e==="hours"}function Gm(e,t){let n=t.trim(),r={...e.fields};switch(e.step){case"task":{if(!n)return{...e,error:u("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:u("goal.error.badHours")};if(o>yr)return{...e,error:`${yr} hours is the cap.`};r.hours=o}break}case"intensity":case"confirm":default:break}return{step:g1(e.step),fields:r}}function g1(e){let t=Ut.indexOf(e);return Ut[Math.min(t+1,Ut.length-1)]}function zm(e){let t=Ut.indexOf(e);return t<=0?void 0:Ut[t-1]}function Hm(e,t){let n=dn.indexOf(e),r=Math.min(dn.length-1,Math.max(0,n+t));return dn[r]}function Lo(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 jm(e){let t=[`task ${e.task}`];if(e.forbidden)t.push(`forbidden ${e.forbidden.split(`
|
|
840
840
|
`).join("; ")}`);if(e.criteria)t.push(`done when ${e.criteria.split(`
|
|
841
|
-
`).join("; ")}`);return t.push(`hours ${e.hours}`),t.push(`intensity ${e.intensity}`),t}var
|
|
842
|
-
${a}`:`${o.label} produced no output.`)}};var
|
|
843
|
-
Timed out.`})},t.timeoutMs??
|
|
844
|
-
`).find((t)=>t.trim().length>0)?.trim()??u("notice.unknownError")}var E1=()=>u("prompt.browseCommands"),_1=()=>u("notice.pastingImage");function yp(e){return p(oh,{get children(){return p(R1,e)}})}function R1(e){let t=le(),{theme:n}=t,[r,o]=Z(""),i,a=(f)=>{if(o(f),!i)return;i.editBuffer.setText(f),i.cursorOffset=f.length},[s,l]=Z([]),d=new Map,h=$e(()=>{let f=n.warning,y=`${f.r}/${f.g}/${f.b}`,z=d.get(y);if(z)return z;let K=B1.fromStyles({attachment:{fg:Rn(n,f),bg:f,bold:!0}});return d.set(y,K),K}),g=0,x=(f,y,z)=>{let K=i?.extmarks,Ie;if(K){if(g===0)g=K.registerType("attachment");Ie=K.create({start:y.start,end:y.end,virtual:!0,styleId:h().getStyleId("attachment")??0,typeId:g})}l((_e)=>[..._e,{label:f,reference:z,mark:Ie}])},b=()=>{let f=i?.extmarks;for(let y of s())if(f&&y.mark!==void 0)f.delete(y.mark);l([])},I=()=>{b(),a("")},P=async()=>{let f=e.pasteClipboard??gm;pt(_1());let y=await f({cwd:e.cwd});if(!y){Pt(void 0);return}let z=sh(s()),K=lh(r(),z);a(K.text),x(z,K,y.insert),pt(u("notice.attached",{file:bp.basename(y.file)}))},[Y,U]=Z(0),[T,H]=Z(!1),[C,E]=Z(0),[B,N]=Z(void 0),[F,G]=Z(0),[V,q]=Z(0),[Se,Le]=Z(0),[Oe,re]=Z(void 0),[oe,ee]=Z(!1),ie=()=>{ee(!0),setTimeout(()=>ee(!1),2000)},[Ze,Pt]=Z(void 0),[Qt,$n]=Z(0),[X,Gn]=Z([]),[Sr,un]=Z([]),[St,zn]=Z(!1),[Hn,gn]=Z(!1),[Ft,at]=Z("choose"),[jn,st]=Z(0),[qe,mt]=Z(""),[S,W]=Z(!1),[ce,pe]=Z(void 0),[fn,Cr]=Z(void 0),Ct=jr(),ms=An(),Ae=()=>e.session.transcript(),Cp=$e(()=>Lh(Ae().blocks)),[ps,vp]=Z(),[Ip,As]=Z(e.branch),ks=e.readBranch??yo,Bp=e.readDiffStat??Wg,[Tp,Ep]=Z(void 0),zo=()=>Ep(Bp(e.cwd));At(Vs(()=>Ae().running,(f,y)=>{if(y&&!f)As(ks(e.cwd)),zo(),e.session.refreshFeishuStatus(),e.session.refreshCredits(),e.session.refreshQuota()})),Bt(zo),Bt(()=>void e.session.refreshFeishuStatus()),Bt(()=>void e.session.refreshCredits()),Bt(()=>void e.session.refreshQuota()),At(()=>{if(!us(e.cwd))return;let f=setInterval(zo,dp(Jt()));Ke(()=>clearInterval(f))}),At(()=>{if(!us(e.cwd))return;let f=setInterval(()=>As(ks(e.cwd)),up);Ke(()=>clearInterval(f))}),At(()=>{let f=Ae().title;if(f)e.hub?.remember(f)}),Bt(()=>{(e.checkUpdate??(()=>pp({currentVersion:On})))().then((y)=>{if(y)vp(y)})});let[xs,bs]=Z({phase:"idle"}),_p=async()=>{let f=ps();if(!f||xs().phase==="running")return;bs({phase:"running"});let z=await(e.runUpdate??((K)=>Ap(K)))(f.updateCommand);bs(z.ok?{phase:"done",version:f.latestVersion}:{phase:"failed",reason:T1(z.output)})},$t=()=>Ae().blocks.length===0,vr=()=>Math.max(75,Math.floor(Ct().width*0.7)),Rp=()=>Fo(Ct().width),Pp=()=>St()||T()||Boolean(Kt())||Boolean(B())||Boolean(e.session.pendingPermission()),Fp=()=>Ae().title??e.cwd,Dp=()=>hm(r()),Gt=$e(()=>{let f=Dp();return f===void 0?[]:fm(No(Ae().commands,ds),f)}),Kt=()=>e.session.pendingPermission()?.request.questions,Ho=$e(()=>wm(Ae().blocks,{thinking:e.session.status()==="thinking"})),Mp=()=>Ho().blocks,[Ir,ys]=Z(void 0),[ws,Zn]=Z(0),[Yt,Br]=Z(void 0),Np=$e(()=>{let f=new Map,y=0;for(let z of Ae().blocks)if(z.type==="user")f.set(z,y++);return f}),Ss=(f)=>e.session.checkpoints().find((y)=>y.userMessageIndex===f),Lp=(f)=>{Zn(0),Br(void 0),ys(f),e.session.refreshCheckpoints()},Tr=()=>{ys(void 0),Br(void 0)},Er=()=>{let f=Ir();if(f===void 0)return[];if(Yt()!==void 0)return[{id:"confirm",label:Yt()==="restore"?u("menu.confirm.restore"):u("menu.confirm.rewind")},{id:"cancel",label:u("menu.cancel")}];let y=[{id:"rewind",label:u("menu.rewind"),description:u("menu.rewind.hint")}];if(Ss(f))y.push({id:"restore",label:u("menu.restore"),description:u("menu.restore.hint")});return y.push({id:"copy",label:u("menu.copy")}),y},Cs=async(f)=>{let y=Ir();if(y===void 0)return;if(f==="cancel"){Tr();return}let z=f==="confirm"?Yt()??"":f;if((z==="rewind"||z==="restore")&&Yt()===void 0){Br(z),Zn(0);return}if(z==="copy"){let _e=Op(y);if(Tr(),_e===void 0)return;let Fe=await Ln(_e);pt(Fe.ok?u("notice.copied"):u("notice.copyFailed",{error:Fe.error??u("notice.unknown")}));return}if(Tr(),z==="rewind"){let _e=await e.session.rewind(y);pt(u("notice.rewound",{count:_e.droppedContentCount,noun:u(_e.droppedContentCount===1?"notice.rewound.one":"notice.rewound.many")}));return}let K=Ss(y);if(!K){pt(u("notice.checkpointGone"));return}let Ie=await e.session.restoreCheckpoint(K.id);pt(Ie.ok?u("notice.restored"):u("notice.restoreFailed",{error:Ie.error??u("notice.unknownError")}))},Op=(f)=>Ae().blocks.filter((y)=>y.type==="user").map((y)=>y.text)[f],dt=()=>{if(St())return"auth";if(Kt())return"ask";if(e.session.pendingPermission())return"permission";if(T())return"theme";if(B())return"picker";if(Wn())return"goal";if(Ir()!==void 0)return"menu";if(Gt().length>0)return"commands";return"prompt"};At(()=>{let f=e.session.auth();if(!f)return;rt(()=>{if(f.loggedIn){let y=Hn()||Ft()==="browser";if(gn(!1),y)Yo();return}if(!St()&&!Hn())gn(!0),Os()})}),At(()=>{Gt(),U(0)}),At(()=>{e.session.pendingPermission(),q(0)}),At(()=>{let f=Kt();$n(0),Gn(f?f.map(()=>0):[]),un(f?f.map(()=>new Set):[])});let Jt=()=>Bn(e.session.status())||Ae().compressing,$p=()=>vs("execute"),vs=(f)=>Ae().blocks.some((y)=>y.type==="tool"&&(f===void 0||y.toolKind===f)&&(y.status==="pending"||y.status==="in_progress")),Is=()=>Jt()||vs(),Bs=()=>dt()==="prompt"||dt()==="commands",Gp=()=>_n(n.borderActive,n.background,0.65),zp=()=>{if(!Bs())return Gp();if(jo())return n.success;return e.session.mode()==="yolo"?n.warning:n.borderActive},_r=()=>ja[Se()%ja.length],Ts=()=>Ph(e.session.status(),Ae().compressing,Ae().restoring,Rh(Ae())),Es=()=>{let f=Fh(e.session.status(),Ae(),Date.now());return f!=null?` ${Wa(f)}`:""},jo=()=>e.session.modeStatus().planModeActive,[Wn,Un]=Z(void 0),[_s,Qn]=Z(""),Zo=(f)=>{let y=$m(f);Un(y),Qn(Oo(y))},Wo=()=>{Un(void 0),Qn("")},Hp=async(f)=>{Wo();try{let y=await e.session.startGoal(f);Vt(u("notice.goalStarted",{extra:y.yoloWasEnabled?u("notice.fullAccessEnabled"):""}))}catch(y){Vt(u("notice.goalFailed",{error:String(y)}))}},jp=()=>{let f=Wn();if(!f)return;if(f.step==="confirm"){Hp(f.fields);return}let y=zm(f,_s());if(Un(y),y.step!==f.step)Qn(Oo(y))},Zp=()=>{let f=Wn();if(!f)return;let y=Hm(f.step);if(!y){Wo();return}let z={step:y,fields:f.fields};Un(z),Qn(Oo(z))},Wp=()=>{let f=e.session.modeStatus().goal;if(!f)return;return Se(),{text:`\u25CE goal ${Wa(Math.max(0,Math.floor((Date.now()-f.startedAt)/1000)))} / ${f.hours}h`,color:n.accent}},Up=()=>sp({compressing:Ae().compressing,tasks:e.session.tasks(),diff:Tp(),spinner:_r()}),Rs=()=>{let f=Jt()?Za(e.session.status(),Ae().compressing,_r(),Ae().restoring).length+1+Ts().length+Es().length+2:0;return cp(Up(),Ct().width-f-4)},[Rr,Uo]=Z(void 0),Pr=()=>Rr()!==void 0,Ps=()=>{let f=Rr();if(f===void 0){let Ie=e.session.queued();if(Ie.length===0)return;Uo(0),e.session.setQueuePaused(!0),a(Ie[0]);return}let y=e.session.updateQueueItem(f,r()),z=e.session.queued();if(z.length===0){Fr();return}let K=y==="deleted"?f%z.length:Vg(f,z.length);Uo(K),a(z[K])},Fr=()=>{Uo(void 0),e.session.setQueuePaused(!1),a("")},Qp=(f)=>{if(f!=="clear"){let z=e.session.queued().length;pt(u("notice.queueUsage",{count:z}));return}if(Pr())Fr();let y=e.session.clearQueue();pt(y===0?u("notice.queueEmpty"):u("notice.queueCleared",{count:y,noun:u(y===1?"notice.queueCleared.one":"notice.queueCleared.many")}))},[Kp,Fs]=Z(fs),Yp=()=>Ae().blocks.filter((f)=>f.type==="user").map((f)=>f.text),Jp=async()=>{let f=kp(e.session.mode(),e.session.modeStatus().planModeActive);if(f.plan!==void 0)await e.session.setPlanMode(f.plan);if(f.mode){let y=await e.session.selectMode(f.mode);if(!y.ok)pt(u("notice.modeFailed",{error:y.error??u("notice.unknownError")}))}},Ds=()=>{let f=e.session.model();if(!f)return;return e.session.models().find((y)=>y.modelId===f)?.name??f};At(()=>{if(!Jt()&&Oe()?.status!=="asking")return;let f=setInterval(()=>Le((y)=>y+1),80);Ke(()=>clearInterval(f))});let Vt=(f)=>e.session.callbacks.emit({kind:"notice",text:f}),Qo,pt=(f)=>{Pt(f),clearTimeout(Qo),Qo=setTimeout(()=>Pt(void 0),Fm)};Ke(()=>clearTimeout(Qo));let Ko=(f)=>{re(_m(f)),e.session.askBtw(f).then((y)=>{re((z)=>Rm(z,y))})},Vp=(f)=>{if(!ms.getSelection()?.getSelectedText())return;f.preventDefault(),f.stopPropagation(),Im({renderer:ms}).then((y)=>{if(y)pt(y)})},Ms=(f,y)=>{let z=wr(f);if(!z)return;if(z.rows&&!y.trim()){if(z.load)z.load(e.session);G(0),N(f);return}z.run({session:e.session,setInput:a,notify:Vt,openGoalWizard:Zo,askSideQuestion:Ko},void 0,y.trim())},Ns=async()=>{if(e.session.status()!=="idle")e.session.interrupt();try{let{acpSessionId:f}=await e.session.newSession();Vt(u("notice.newSession",{id:f}))}catch(f){e.session.callbacks.emit({kind:"error",message:f instanceof Error?f.message:String(f)})}},Ls=(f)=>{let y=/^\/([a-zA-Z][\w-]*)(?:\s+([\s\S]*))?$/.exec(f.trim());if(!y)return!1;let z=y[1],K=y[2]??"";if(wr(z))return Ms(z,K),!0;if(z==="session"&&K.trim()==="new")return Ns(),!0;if(xm(z))return tA(z,K),!0;return!1},qp=()=>{let f=ch(r(),s());if(b(),a(""),Fs(fs),Ls(f))return;e.session.submit(f)},Os=()=>{at("choose"),st(0),mt(""),pe(void 0),Cr(void 0),zn(!0)},Yo=()=>{e.session.cancelBrowserLogin(),zn(!1),W(!1),mt(""),Cr(void 0)},Xp=()=>{pe(void 0),at("browser"),W(!0),e.session.startBrowserLogin().then((f)=>{if(Cr(f),!f.ok)pe(f.error),at("choose")}).catch((f)=>{pe(String(f)),at("choose")}).finally(()=>W(!1))},eA=()=>{let f=qe();if(!f.trim())return;W(!0),pe(void 0),e.session.loginWithApiKey(f).then((y)=>{if(mt(""),y.ok)Yo();else pe(y.error),at("choose")}).catch((y)=>{mt(""),pe(String(y)),at("choose")}).finally(()=>W(!1))},tA=(f,y="")=>{switch(f){case"new":Ns();return;case"login":Os();return;case"logout":e.session.logout();return;case"account":e.session.openAccountPage().then((z)=>{if(!z.ok)pe(z.error)});return;case"theme":E(Math.max(0,t.names.indexOf(t.name))),H(!0);return;case"clear":e.session.clearTranscript();return;case"queue":Qp(y.trim());return;case"quit":e.onQuit();return;default:return f}},$s=()=>{let f=Gt()[Y()];if(!f)return;if(a(""),Ls(`/${f.name}`))return;e.session.submit(`/${f.name}`)},nA=()=>{let f=Gt()[Y()];if(!f)return;a(`/${f.name} `)},Gs=(f)=>{let y=Kt();if(!y)return;let z=Qt(),K=y[z]?.options??[];Gn((Ie)=>{let _e=[...Ie];return _e[z]=Math.min(K.length-1,Math.max(0,(_e[z]??0)+f)),_e})},zs=(f)=>{if(f?.id==="browser")Xp();else if(f?.id==="apikey")at("apikey"),pe(void 0)};return Sl((f)=>{if(f.ctrl&&f.name==="v"&&dt()==="prompt"){f.preventDefault(),f.stopPropagation(),P();return}if(f.ctrl&&f.name==="l"&&dt()==="prompt"){f.preventDefault(),f.stopPropagation(),Ms("model","");return}if((f.name==="up"||f.name==="down")&&!f.ctrl&&dt()==="prompt"&&!r().includes(`
|
|
845
|
-
`)){let y=xp(Kp(),f.name==="up"?"up":"down",Yp(),r());if(y)f.preventDefault(),f.stopPropagation(),Fs(y.state),a(y.text);return}if(f.shift&&f.name==="tab"&&Bs()){f.preventDefault(),f.stopPropagation(),Jp();return}if(f.ctrl&&f.name==="b"&&dt()==="prompt"&&$p()){f.preventDefault(),f.stopPropagation(),e.session.requestBackground().then((y)=>{pt(y.ok?u("notice.background"):u("notice.backgroundFailed",{error:y.error??u("notice.unknownError")}))});return}if(f.ctrl&&f.name==="c"){if(oe()){e.onQuit();return}if(Is()){e.session.interrupt(),ie();return}if(r().length>0){I();return}ie();return}if(oe())ee(!1);if(Pr()){if(f.name==="return"){e.session.updateQueueItem(Rr(),r()),Fr();return}if(f.name==="escape"){Fr();return}if(f.ctrl&&f.name==="up"){f.preventDefault(),f.stopPropagation(),Ps();return}}else if(f.ctrl&&f.name==="up"&&dt()==="prompt"){f.preventDefault(),f.stopPropagation(),Ps();return}switch(dt()){case"auth":{if(S())return;if(Ft()==="apikey"){let K=Ra(qe(),f);if(mt(K.value),K.cancel)mt(""),at("choose");else if(K.submit)eA();return}if(Ft()==="browser"){if(f.name==="escape")e.session.cancelBrowserLogin(),Cr(void 0),at("choose");return}if(f.name==="escape"){Yo();return}if(f.name==="up"){st((K)=>Math.max(0,K-1));return}if(f.name==="down"){st((K)=>Math.min(cn.length-1,K+1));return}let y=Number.parseInt(f.name??"",10),z=f.name==="return"?cn[jn()]:Number.isInteger(y)&&y>=1&&y<=cn.length?cn[y-1]:void 0;if(z)zs(z);return}case"goal":{let y=Wn();if(f.name==="escape"){Wo(),Vt(u("notice.goalCancelled"));return}if(f.ctrl&&f.name==="b"){Zp();return}if(f.name==="return"){jp();return}if(y.step==="intensity"&&(f.name==="up"||f.name==="down")){Un({...y,fields:{...y.fields,intensity:jm(y.fields.intensity,f.name==="up"?-1:1)}});return}if(Lo(y.step))Qn((z)=>Ra(z,f).value);return}case"ask":{let y=Kt(),z=Qt(),K=y[z],Ie=K.options,_e=(lt)=>{un((O)=>{let Q=O.map((ge)=>new Set(ge)),ne=Q[z]??new Set;if(!K.multiSelect)ne.clear(),ne.add(lt);else if(ne.has(lt))ne.delete(lt);else ne.add(lt);return Q[z]=ne,Q})};if(f.name==="escape"){e.session.answerPermission({outcome:"cancelled"});return}if(f.name==="up"||f.name==="down"){Gs(f.name==="up"?-1:1);return}if(f.name==="tab"){$n((lt)=>(lt+1)%y.length);return}if(f.name==="space"){_e(X()[z]??0);return}if(f.name==="return"){let lt=y.map((Q,ne)=>{let ge=Sr()[ne]??new Set;if(ge.size||Q.multiSelect)return ge;return new Set([X()[ne]??0])}),O=ih(e.session.pendingPermission().request.options);if(O)e.session.answerPermission({outcome:"selected",optionId:O,answers:yg(y,lt)});return}let Fe=Number.parseInt(f.name??"",10);if(Number.isInteger(Fe)&&Fe>=1&&Fe<=Ie.length)Gn((lt)=>{let O=[...lt];return O[z]=Fe-1,O}),_e(Fe-1);return}case"theme":{let y=t.names;if(f.name==="escape"||f.name==="return"){H(!1);return}if(f.name==="up"||f.name==="down"){let z=f.name==="up"?-1:1,K=ln(C(),z,y.length);E(K),t.setName(y[K]);return}return}case"menu":{let y=Er();if(f.name==="escape"){if(Yt()!==void 0){Br(void 0),Zn(0);return}Tr();return}if(f.name==="up"||f.name==="down"){let z=f.name==="up"?-1:1;Zn((K)=>ln(K,z,y.length));return}if(f.name==="return"){let z=y[ws()];if(z)Cs(z.id);return}return}case"picker":{let y=wr(B()??""),z=y?.rows?.(e.session)??[];if(f.name==="escape"){N(void 0);return}if(f.name==="up"||f.name==="down"){let K=f.name==="up"?-1:1;G((Ie)=>ln(Ie,K,z.length));return}if(f.name==="return"){let K=z[F()];if(N(void 0),K&&y)y.run({session:e.session,setInput:a,notify:Vt,openGoalWizard:Zo,askSideQuestion:Ko},K.id,"");return}return}case"permission":{let y=rs(e.session.pendingPermission().request.options);if(f.name==="escape"){let K=y.find((Ie)=>Ie.kind.startsWith("reject"));e.session.answerPermission(K?{outcome:"selected",optionId:K.optionId}:{outcome:"cancelled"});return}if(f.name==="up"){q((K)=>Math.max(0,K-1));return}if(f.name==="down"){q((K)=>Math.min(y.length-1,K+1));return}if(f.name==="return"){let K=y[V()];if(K)e.session.answerPermission({outcome:"selected",optionId:K.optionId});return}let z=Number.parseInt(f.name??"",10);if(Number.isInteger(z)&&z>=1&&z<=y.length)e.session.answerPermission({outcome:"selected",optionId:y[z-1].optionId});return}case"commands":{if(f.name==="escape"){a("");return}if(f.name==="up"){U((y)=>Math.max(0,y-1));return}if(f.name==="down"){U((y)=>Math.min(Gt().length-1,y+1));return}if(f.name==="return"){$s();return}if(f.name==="tab"){nA();return}return}default:{if(f.name==="escape"){if(Is())e.session.interrupt();else if(Oe())re(void 0)}return}}}),Cl((f)=>{if(dt()==="auth"&&Ft()==="apikey"){mt((y)=>dh(y,f.bytes));return}if(dt()==="prompt"&&um(f.bytes))P()}),(()=>{var f=k("box"),y=k("box"),z=k("box"),K=k("box"),Ie=k("box"),_e=k("box"),Fe=k("textarea");D(f,y),c(f,"onMouseDown",(O)=>{if(O.button!==I1.RIGHT)return;Vp(O)}),D(y,z),c(y,"style",{flexDirection:"row",flexGrow:1,minHeight:0}),D(z,K),c(z,"style",{flexDirection:"column",flexGrow:1,minWidth:0}),m(z,p(L,{get when(){return $t()},get children(){return[(()=>{var O=k("box");return c(O,"style",{flexGrow:1,flexShrink:0,minHeight:0}),O})(),p(Am,{version:On,get cwd(){return e.cwd},get userName(){return e.session.auth()?.user?.name},get model(){return e.session.model()},get tip(){return E1()},get showBrand(){return pm(Ct().height,Pp())}})]}}),K),m(z,p(L,{get when(){return!$t()},get children(){return[(()=>{var O=k("box"),Q=k("text"),ne=k("text");return D(O,Q),D(O,ne),c(O,"style",{flexDirection:"row",paddingLeft:1,paddingRight:1,flexShrink:0}),D(Q,Be("Easy Code")),m(ne,()=>` ${Fp()}`),_((ge)=>{var We={fg:n.accent},Ue={fg:n.textMuted};return We!==ge.e&&(ge.e=c(Q,"style",We,ge.e)),Ue!==ge.t&&(ge.t=c(ne,"style",Ue,ge.t)),ge},{e:void 0,t:void 0}),O})(),(()=>{var O=k("scrollbox");return c(O,"style",{flexGrow:1,flexShrink:1,minHeight:1,paddingLeft:1,paddingRight:1}),c(O,"stickyScroll",!0),c(O,"stickyStart","bottom"),m(O,p(L,{get when(){return Ho().hidden>0},get children(){var Q=k("text");return m(Q,()=>u("transcript.folded",{count:Ho().hidden,limit:ym})),_((ne)=>c(Q,"style",{fg:n.textMuted},ne)),Q}}),null),m(O,p(ae,{get each(){return Mp()},children:(Q)=>p(om,{block:Q,get userIndex(){return Np().get(Q)},onUserMenu:Lp})}),null),_((Q)=>c(O,"scrollAcceleration",Pm(),Q)),O})()]}}),K),m(z,p(L,{get when(){return St()},get children(){return p(gh,{get stage(){return Ft()},get selected(){return jn()},get secret(){return qe()},get status(){return e.session.auth()},get browser(){return fn()},get busy(){return S()},get error(){return ce()},get required(){return Hn()},onChoose:(O)=>{st(O),zs(cn[O])}})}}),K),m(z,p(L,{get when(){return Wn()},children:(O)=>p(gp,{get state(){return O()},get draft(){return _s()}})}),K),m(z,p(L,{get when(){return se(()=>!St())()&&Kt()},children:(O)=>p(ah,{get questions(){return O()},get activeQuestion(){return Qt()},get cursors(){return X()},get selections(){return Sr()},onStep:(Q)=>Gs(Q),onPick:(Q,ne)=>{let ge=O()[Q];if(!ge)return;$n(Q),un((We)=>{let Ue=We.map((Dr)=>new Set(Dr)),Dt=Ue[Q]??new Set;if(!ge.multiSelect)Dt.clear(),Dt.add(ne);else if(Dt.has(ne))Dt.delete(ne);else Dt.add(ne);return Ue[Q]=Dt,Ue})}})}),K),m(z,p(L,{get when(){return se(()=>!St()&&!Kt())()&&e.session.pendingPermission()},children:(O)=>p(bm,{get pending(){return O()},get selected(){return V()},onAnswer:(Q)=>e.session.answerPermission(Q)})}),K),m(z,p(L,{get when(){return Ir()!==void 0},get children(){return p(os,{get title(){return se(()=>Yt()!==void 0)()?u("menu.confirm.title"):u("menu.confirm.subject")},get subtitle(){return se(()=>Yt()!==void 0)()?u("menu.confirm.warning"):void 0},get rows(){return Er()},get selected(){return ws()},onStep:(O)=>Zn((Q)=>ln(Q,O,Er().length)),onPick:(O)=>{let Q=Er()[O];if(Q)Cs(Q.id)}})}}),K),m(z,p(L,{get when(){return B()},children:(O)=>{let Q=()=>wr(O()),ne=()=>Q()?.rows?.(e.session)??[];return p(os,{get title(){return Q()?.title??O()},get rows(){return ne()},get selected(){return F()},get empty(){return Q()?.empty},onStep:(ge)=>G((We)=>ln(We,ge,ne().length)),onPick:(ge)=>{let We=ne()[ge],Ue=Q();if(N(void 0),We&&Ue)Ue.run({session:e.session,setInput:a,notify:Vt,openGoalWizard:Zo,askSideQuestion:Ko},We.id,"")}})}}),K),m(z,p(L,{get when(){return T()},get children(){return p(Sm,{get names(){return t.names},get selected(){return C()},onStep:(O)=>{let Q=ln(C(),O,t.names.length);E(Q),t.setName(t.names[Q])},onPick:(O)=>{t.setName(t.names[O]),H(!1)}})}}),K),m(z,p(L,{get when(){return Gt().length>0},get children(){var O=k("box"),Q=k("box");return D(O,Q),c(O,"style",{flexDirection:"column",flexShrink:0,alignItems:"center"}),m(Q,p(mm,{get commands(){return Gt()},get selected(){return Y()},get maxRows(){return Math.max(3,Math.floor(Ct().height/4))},onSelect:(ne)=>{U(ne),$s()},onStep:(ne)=>U((ge)=>Math.min(Math.max(0,ge+ne),Math.max(0,Gt().length-1)))})),_((ne)=>c(Q,"style",{width:"100%",maxWidth:$t()?vr():void 0},ne)),O}}),K),m(z,p(L,{get when(){return Oe()},children:(O)=>(()=>{var Q=k("box"),ne=k("box");return D(Q,ne),c(Q,"style",{flexDirection:"column",flexShrink:0,alignItems:"center"}),m(ne,p(Em,{get item(){return O()},get columns(){return Math.max(20,($t()?vr():Ct().width)-4)},get maxRows(){return Math.max(2,Math.floor(Ct().height/4))},get spinner(){return _r()}})),_((ge)=>c(ne,"style",{width:"100%",maxWidth:$t()?vr():void 0},ge)),Q})()}),K),D(K,Ie),c(K,"style",{flexDirection:"column",flexShrink:0,alignItems:"center"}),D(Ie,_e),m(Ie,p(L,{get when(){return Jt()||Rs().length>0},get children(){var O=k("box"),Q=k("box");return D(O,Q),c(O,"style",{flexDirection:"row",gap:2,flexShrink:0,paddingLeft:3,paddingRight:1,marginTop:1}),m(O,p(L,{get when(){return Jt()},get children(){var ne=k("text");return c(ne,"selectable",!1),m(ne,()=>`${Za(e.session.status(),Ae().compressing,_r(),Ae().restoring)} ${Ts()}${Es()}`),_((ge)=>c(ne,"style",{fg:n.accent,flexShrink:0},ge)),ne}}),Q),c(Q,"style",{flexDirection:"row",flexShrink:0}),m(Q,p(ae,{get each(){return Rs()},children:(ne,ge)=>(()=>{var We=k("text");return m(We,(()=>{var Ue=se(()=>ge()===0);return()=>Ue()?ne.text:`${ap}${ne.text}`})()),_((Ue)=>c(We,"style",{fg:lp(ne.tone,n),flexShrink:0},Ue)),We})()})),O}}),_e),m(Ie,p(L,{get when(){return e.session.queued().length>0},get children(){var O=k("box");return c(O,"style",{flexDirection:"column",flexShrink:0,paddingLeft:3,marginTop:1}),m(O,p(L,{get when(){return Pr()},get children(){var Q=k("text");return c(Q,"selectable",!1),m(Q,()=>`editing queue #${Rr()+1}/${e.session.queued().length} \xB7 enter save \xB7 esc cancel \xB7 ctrl+\u2191 next`),_((ne)=>c(Q,"style",{fg:n.accent},ne)),Q}}),null),m(O,p(ae,{get each(){return Xg(e.session.queued())},children:(Q)=>(()=>{var ne=k("text");return c(ne,"selectable",!1),m(ne,()=>`${Q.next?"\u2193":" "} ${Q.text}`),_((ge)=>c(ne,"style",{fg:n.textMuted},ge)),ne})()}),null),m(O,p(L,{get when(){return!Pr()},get children(){var Q=k("text");return c(Q,"selectable",!1),m(Q,()=>u("prompt.editHint")),_((ne)=>c(Q,"style",{fg:n.textMuted},ne)),Q}}),null),O}}),_e),D(_e,Fe);var lt=i;return typeof lt==="function"?Bl(lt,Fe):i=Fe,c(Fe,"style",{flexGrow:1}),c(Fe,"onContentChange",()=>o(i?.plainText??"")),c(Fe,"onSubmit",qp),m(z,p(L,{get when(){return $t()},get children(){var O=k("box");return c(O,"style",{flexGrow:1,flexShrink:0,minHeight:0}),O}}),null),m(y,p(L,{get when(){return Rp()},get children(){return p(Zh,{get title(){return Ae().title},get usage(){return Ae().usage},get tokens(){return Ae().tokens},get cache(){return Ae().cache},get credits(){return Ae().credits},get allowance(){return e.session.credits()},get quota(){return e.session.quota()},get model(){return Ds()},get mode(){return e.session.mode()},get cwd(){return e.cwd},get branch(){return Ip()},version:On,get tasks(){return e.session.tasks()},get todos(){return Cp()},get todosExpanded(){return Jt()},get update(){return ps()},get updatePhase(){return xs()},onRunUpdate:()=>void _p(),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 Ct().height}})}}),null),m(f,p(L,{get when(){return oe()},get children(){var O=k("text");return D(O,Be("Press Ctrl+C again to exit")),_((Q)=>c(O,"style",{fg:n.warning,paddingLeft:1,flexShrink:0},Q)),O}}),null),m(f,p(Nh,{get transcript(){return Ae()},get model(){return Ds()},get thinking(){return e.session.thinking()},get auth(){return e.session.auth()},get width(){return Ct().width},get modeChip(){return Wp()??{text:`${Dh(e.session.mode(),jo())} (shift+tab)`,color:jo()?n.success:e.session.mode()==="yolo"?n.warning:n.textMuted}}}),null),m(f,p(Dm,{get message(){return Ze()}}),null),_((O)=>{var Q={flexDirection:"column",width:"100%",height:"100%",backgroundColor:n.background},ne={flexDirection:"column",flexShrink:0,width:"100%",maxWidth:$t()?vr():void 0},ge={flexDirection:"row",flexShrink:0,width:"100%",height:vm(r(),Ct().height)+2,border:["left"],borderColor:zp(),backgroundColor:n.backgroundElement,paddingLeft:2,paddingRight:2,paddingTop:1,paddingBottom:1,marginTop:$t()?1:0},We=dt()==="prompt"||dt()==="commands",Ue=u("prompt.placeholder"),Dt=[...Cm],Dr=h();return Q!==O.e&&(O.e=c(f,"style",Q,O.e)),ne!==O.t&&(O.t=c(Ie,"style",ne,O.t)),ge!==O.a&&(O.a=c(_e,"style",ge,O.a)),We!==O.o&&(O.o=c(Fe,"focused",We,O.o)),Ue!==O.i&&(O.i=c(Fe,"placeholder",Ue,O.i)),Dt!==O.n&&(O.n=c(Fe,"keyBindings",Dt,O.n)),Dr!==O.s&&(O.s=c(Fe,"syntaxStyle",Dr,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 wp(e){let t=[`Easy Code v${e.version}`];if(e.title)t.push("",` ${"Session".padEnd(10," ")}${e.title}`);return t.join(`
|
|
846
|
-
`)}var
|
|
841
|
+
`).join("; ")}`);return t.push(`hours ${e.hours}`),t.push(`intensity ${e.intensity}`),t}var Zm={title:u("command.plan.title"),description:u("command.plan.description"),run:async({session:e,notify:t},n,r)=>{let o=r.trim();if(o&&o!=="on"&&o!=="off"){t(u("command.plan.usage"));return}let i=e.modeStatus().planModeActive,a=o==="on"?!0:o==="off"?!1:!i;if(a===i){t(`Plan mode is already ${i?"on":"off"}.`);return}await e.setPlanMode(a),t(u("command.plan.set",{state:a?u("command.plan.on"):u("command.plan.off")}))}},Wm={title:u("command.goal.title"),description:u("command.goal.description"),run:async({session:e,notify:t,openGoalWizard:n},r,o)=>{let i=Lm(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?u("command.goal.cleared"):u("command.goal.none"));return}let a=await e.startGoal(i.fields);t(u("notice.goalStarted",{extra:a.yoloWasEnabled?u("notice.fullAccessEnabled"):""}))}},Um={title:u("command.btw.title"),description:u("command.btw.description"),run:({notify:e,askSideQuestion:t},n,r)=>{let o=r.trim();if(!o){e(u("command.btw.usage"));return}t(o)}};function Qm(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 Km={title:u("command.copy.title"),description:u("command.copy.description"),run:async({session:e,notify:t})=>{let n=Qm(e.transcript().blocks);if(!n){t(u("command.copy.none"));return}let r=await Ln(n);t(r.ok?`Copied ${n.length} character${n.length===1?"":"s"} to the clipboard.`:`Copy failed: ${r.error}`)}};ko();import Oo from"fs";import f1 from"os";import Ym from"path";var h1="tui.json";function m1(){return process.env.EASYCODE_TUI_SWITCH_FILE??Ym.join(f1.homedir(),bt,h1)}function Jm(e,t=m1()){if(!e){Oo.rmSync(t,{force:!0});return}Oo.mkdirSync(Ym.dirname(t),{recursive:!0});let n=t+".tmp";Oo.writeFileSync(n,JSON.stringify({enabled:!0},null,2),"utf-8"),Oo.renameSync(n,t)}var Vm={title:u("command.cli.title"),description:u("command.cli.description"),run:({notify:e})=>{try{Jm(!1)}catch(t){e(`Could not save the setting, so the CLI would start again next time: ${String(t)}`);return}e(u("command.cli.done"))}};function qm(e){return{title:u("command.help.title"),description:u("command.help.description"),rows:(t)=>Mo(t.transcript().commands,e()).map((n)=>({id:n.name,label:`/${n.name}`,description:n.description})),empty:u("command.help.none"),run:({setInput:t},n)=>{if(n)t(`/${n} `)}}}var Xm={title:u("command.model.title"),description:u("command.model.description"),rows:(e)=>e.models().map((t)=>({id:t.modelId,label:t.name,description:t.description,...t.creditsPerRequest!==void 0?{hint:u("command.model.credits",{credits:t.creditsPerRequest})}:{},current:t.modelId===e.model()})),load:(e)=>e.refreshModels(),empty:u("command.model.none"),run:({session:e},t)=>{if(t)e.selectModel(t)}},p1={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"},ep={title:u("command.think.title"),description:u("command.think.description"),rows:(e)=>ho.map((t)=>({id:t,label:t,description:u(p1[t]),current:t===e.thinking()})),run:({session:e},t)=>{if(t)e.selectThinking(t)}},A1=[{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"}],tp={title:u("command.mode.title"),description:u("command.mode.description"),rows:(e)=>A1.map((t)=>({id:t.id,label:u(t.label),description:u(t.description),current:t.id===e.mode()})),run:({session:e},t)=>{if(t)e.selectMode(t)}},ss={title:u("command.yolo.title"),description:u("command.yolo.description"),run:({session:e,notify:t})=>{let n=e.mode()==="yolo"?"default":"yolo";e.selectMode(n),t(n==="yolo"?u("command.yolo.on"):u("command.yolo.off"))}};function $o(e,t=Date.now()){let n=Math.max(0,Math.round((t-e)/1000));if(n<60)return u("command.checkpoint.justNow");let r=Math.round(n/60);if(r<60)return u("time.minutesAgo",{count:r,plural:r===1?"":"s"});let o=Math.round(r/60);if(o<24)return u("time.hoursAgo",{count:o,plural:o===1?"":"s"});let i=Math.round(o/24);return u("time.daysAgo",{count:i,plural:i===1?"":"s"})}var np={title:u("command.checkpoint.title"),description:u("command.checkpoint.description"),load:(e)=>e.refreshCheckpoints(),rows:(e)=>e.checkpoints().map((t)=>({id:t.id,label:t.lastUserMessage||u("command.checkpoint.noPrompt"),description:`${$o(t.timestamp)} \xB7 ${t.commitHash.slice(0,7)}`})),empty:u("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?u("command.checkpoint.busy"):u("command.checkpoint.restoreFailed",{error:r.error??u("notice.unknownError")}));return}t(`Restored checkpoint: kept ${r.keptUserMessageCount??0} message(s), dropped ${r.droppedContentCount??0}.`)}};var rp={running:"task.status.running",completed:"task.status.done",failed:"task.status.failed",cancelled:"task.status.cancelled"},op={title:u("command.tasks.title"),description:u("command.tasks.description"),load:(e)=>e.refreshTasks(),rows:(e)=>e.tasks().map((t)=>({id:t.id,label:t.label,description:[rp[t.status]?u(rp[t.status]):t.status,t.exitCode!==void 0?`exit ${t.exitCode}`:void 0,$o(t.startedAt)].filter(Boolean).join(" \xB7 ")})),empty:u("command.tasks.none"),run:async({session:e,notify:t},n,r)=>{if(r.trim()==="clear"){await e.clearFinishedTasks(),t(u("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?`Stopping ${o.label}.`:`Could not stop it: ${s.error??"unknown"}`);return}let i=await e.taskOutput(n);if(!i.ok){t(`No output available: ${i.error??"unknown"}`);return}let a=(i.output??"").trim();t(a?`Output of ${o.label}:
|
|
842
|
+
${a}`:`${o.label} produced no output.`)}};var ls={cli:Vm,model:Xm,thinking:ep,mode:tp,yolo:ss,auto:ss,restore:np,plan:Zm,goal:Wm,btw:Um,copy:Km,tasks:op,help:qm(()=>cs)};function wr(e){return Object.hasOwn(ls,e)?ls[e]:void 0}var cs=Object.entries(ls).map(([e,t])=>({name:e,description:t.description}));var ip=" ";function ap(e){let t=[];if(e.compressing)t.push({id:"compressing",text:`${e.spinner} compacting context`,tone:"accent",priority:100});let n=e.tasks.filter((r)=>r.status==="running").length;if(n>0)t.push({id:"tasks",text:`${n} running task${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:"success",priority:80});return t}function sp(e,t){if(e==="accent")return t.accent;if(e==="success")return t.success;return t.textMuted}function lp(e,t){if(e.length===0)return[];let n=(i)=>i.reduce((a,s)=>a+s.text.length,0)+2*(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 cp(e){return e?5000:30000}var dp=30000;function ds(e){return!!e&&e.trim().length>0}function up(e){let{theme:t}=le(),n=()=>Ut.indexOf(e.state.step)+1,r=()=>$m[e.state.step];return p(ft,{tone:"accent",icon:"\u25CE",get title(){return u("goal.dialog.title",{title:r().title})},get subtitle(){return u("goal.dialog.subtitle",{step:n(),total:Ut.length,hint:r().hint})},get footer(){return(()=>{var o=k("box");return c(o,"style",{flexDirection:"row",gap:2}),m(o,p(me,{keys:"enter",get label(){return se(()=>e.state.step==="confirm")()?u("key.start"):u("key.next")}}),null),m(o,p(me,{keys:"esc",get label(){return u("key.cancel")}}),null),m(o,p(L,{get when(){return e.state.step!=="task"},get children(){return p(me,{keys:"ctrl+b",get label(){return u("key.back")}})}}),null),o})()},get children(){var o=k("box");return c(o,"style",{flexDirection:"column",gap:1,flexShrink:0}),m(o,p(L,{get when(){return No(e.state.step)},get children(){var i=k("text");return m(i,()=>`> ${e.draft}\u258C`),_((a)=>c(i,"style",{fg:t.text},a)),i}}),null),m(o,p(L,{get when(){return e.state.step==="intensity"},get children(){var i=k("box");return c(i,"style",{flexDirection:"column",flexShrink:0}),m(i,p(ae,{each:dn,children:(a)=>p(ht,{get active(){return e.state.fields.intensity===a},get title(){return Nm[a]}})})),i}}),null),m(o,p(L,{get when(){return e.state.step==="confirm"},get children(){var i=k("box"),a=k("text");return D(i,a),c(i,"style",{flexDirection:"column",flexShrink:0}),m(i,p(ae,{get each(){return jm(e.state.fields)},children:(s)=>(()=>{var l=k("text");return m(l,s),_((d)=>c(l,"style",{fg:t.textMuted},d)),l})()}),a),m(a,()=>u("goal.dialog.fullAccess")),_((s)=>c(a,"style",{fg:t.warning},s)),i}}),null),m(o,p(L,{get when(){return e.state.error},get children(){var i=k("text");return m(i,()=>e.state.error),_((a)=>c(i,"style",{fg:t.error},a)),i}}),null),o}})}import{promises as us}from"fs";import{homedir as fp}from"os";import{join as hp}from"path";var k1=86400000,x1=1e4;function b1(){return hp(fp(),".easycode-user","update-check-tui.json")}function gp(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 y1(e,t){if(!t)return!1;let n=gp(e),r=gp(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 w1(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(!y1(e,r))return null;return{latestVersion:r,updateCommand:o}}async function S1(e){try{let t=JSON.parse(await us.readFile(e,"utf8"));if(typeof t?.checkedAt!=="number"||typeof t?.version!=="string")return null;return t}catch{return null}}async function C1(e,t){try{await us.mkdir(hp(fp(),".easycode-user"),{recursive:!0}),await us.writeFile(e,JSON.stringify(t,null,2))}catch{}}async function v1(e,t){try{let n=`${hr()}/api/update-check?version=${encodeURIComponent(e)}`,r=await t(n,{method:"GET",headers:{"User-Agent":`easycode-tui/${e}`},signal:AbortSignal.timeout(x1)});if(!r.ok)return;let o=await r.text(),i;try{i=JSON.parse(o)}catch{return}return w1(e,i)}catch{return}}async function mp(e){if(process.env.DEV==="true")return null;let t=e.now??Date.now,n=e.cacheFile??b1(),r=await S1(n);if(r&&r.version===e.currentVersion&&t()-r.checkedAt<k1)return r.info;let o=await v1(e.currentVersion,e.fetch??globalThis.fetch);if(o!==void 0)await C1(n,{checkedAt:t(),version:e.currentVersion,info:o});return o??null}import{spawn as I1}from"child_process";var B1=400,T1=300000;async function pp(e,t={}){let n=e.trim().split(/\s+/).filter(Boolean);if(n.length===0)return{ok:!1,output:u("update.noCommand")};let r=t.spawn??I1,[o,...i]=n,a=process.platform==="win32",s=a?"cmd.exe":o,l=a?["/c",o,...i]:i;return new Promise((d)=>{let h="",g=(I)=>{h=(h+I.toString("utf8")).slice(-B1)},x=!1,b=(I)=>{if(x)return;x=!0,d(I)};try{let I=r(s,l,{stdio:["ignore","pipe","pipe"]}),P=setTimeout(()=>{I.kill(),b({ok:!1,output:`${h.trim()}
|
|
843
|
+
Timed out.`})},t.timeoutMs??T1);I.stdout?.on("data",g),I.stderr?.on("data",g),I.on("error",(Y)=>{clearTimeout(P),b({ok:!1,output:Y.message})}),I.on("close",(Y)=>{clearTimeout(P),b({ok:Y===0,output:h.trim()})})}catch(I){b({ok:!1,output:I instanceof Error?I.message:String(I)})}})}function Ap(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{}}}var gs={index:-1,draft:""};function kp(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]}}function R1(e){return e.split(`
|
|
844
|
+
`).find((t)=>t.trim().length>0)?.trim()??u("notice.unknownError")}var P1=()=>u("prompt.browseCommands"),F1=()=>u("notice.pastingImage");function bp(e){return p(rh,{get children(){return p(D1,e)}})}function D1(e){let t=le(),{theme:n}=t,[r,o]=Z(""),i,a=(f)=>{if(o(f),!i)return;i.editBuffer.setText(f),i.cursorOffset=f.length},[s,l]=Z([]),d=new Map,h=$e(()=>{let f=n.warning,y=`${f.r}/${f.g}/${f.b}`,z=d.get(y);if(z)return z;let K=_1.fromStyles({attachment:{fg:Rn(n,f),bg:f,bold:!0}});return d.set(y,K),K}),g=0,x=(f,y,z)=>{let K=i?.extmarks,Ie;if(K){if(g===0)g=K.registerType("attachment");Ie=K.create({start:y.start,end:y.end,virtual:!0,styleId:h().getStyleId("attachment")??0,typeId:g})}l((_e)=>[..._e,{label:f,reference:z,mark:Ie}])},b=()=>{let f=i?.extmarks;for(let y of s())if(f&&y.mark!==void 0)f.delete(y.mark);l([])},I=()=>{b(),a("")},P=async()=>{let f=e.pasteClipboard??um;pt(F1());let y=await f({cwd:e.cwd});if(!y){Pt(void 0);return}let z=ah(s()),K=sh(r(),z);a(K.text),x(z,K,y.insert),pt(u("notice.attached",{file:xp.basename(y.file)}))},[Y,U]=Z(0),[T,H]=Z(!1),[C,E]=Z(0),[B,N]=Z(void 0),[F,G]=Z(0),[V,q]=Z(0),[Se,Le]=Z(0),[Oe,re]=Z(void 0),[oe,ee]=Z(!1),ie=()=>{ee(!0),setTimeout(()=>ee(!1),2000)},[Ze,Pt]=Z(void 0),[Qt,$n]=Z(0),[X,Gn]=Z([]),[Sr,un]=Z([]),[St,zn]=Z(!1),[Hn,gn]=Z(!1),[Ft,at]=Z("choose"),[jn,st]=Z(0),[qe,mt]=Z(""),[S,W]=Z(!1),[ce,pe]=Z(void 0),[fn,Cr]=Z(void 0),Ct=jr(),hs=An(),Ae=()=>e.session.transcript(),Sp=$e(()=>Nh(Ae().blocks)),[ms,Cp]=Z(),[vp,ps]=Z(e.branch),As=e.readBranch??bo,Ip=e.readDiffStat??Zg,[Bp,Tp]=Z(void 0),Go=()=>Tp(Ip(e.cwd));At(Js(()=>Ae().running,(f,y)=>{if(y&&!f)ps(As(e.cwd)),Go(),e.session.refreshFeishuStatus(),e.session.refreshCredits(),e.session.refreshQuota()})),Bt(Go),Bt(()=>void e.session.refreshFeishuStatus()),Bt(()=>void e.session.refreshCredits()),Bt(()=>void e.session.refreshQuota()),At(()=>{if(!ds(e.cwd))return;let f=setInterval(Go,cp(Jt()));Ke(()=>clearInterval(f))}),At(()=>{if(!ds(e.cwd))return;let f=setInterval(()=>ps(As(e.cwd)),dp);Ke(()=>clearInterval(f))}),At(()=>{let f=Ae().title;if(f)e.hub?.remember(f)}),Bt(()=>{(e.checkUpdate??(()=>mp({currentVersion:On})))().then((y)=>{if(y)Cp(y)})});let[ks,xs]=Z({phase:"idle"}),Ep=async()=>{let f=ms();if(!f||ks().phase==="running")return;xs({phase:"running"});let z=await(e.runUpdate??((K)=>pp(K)))(f.updateCommand);xs(z.ok?{phase:"done",version:f.latestVersion}:{phase:"failed",reason:R1(z.output)})},$t=()=>Ae().blocks.length===0,vr=()=>Math.max(75,Math.floor(Ct().width*0.7)),_p=()=>Po(Ct().width),Rp=()=>St()||T()||Boolean(Kt())||Boolean(B())||Boolean(e.session.pendingPermission()),Pp=()=>Ae().title??e.cwd,Fp=()=>fm(r()),Gt=$e(()=>{let f=Fp();return f===void 0?[]:gm(Mo(Ae().commands,cs),f)}),Kt=()=>e.session.pendingPermission()?.request.questions,zo=$e(()=>ym(Ae().blocks,{thinking:e.session.status()==="thinking"})),Dp=()=>zo().blocks,[Ir,bs]=Z(void 0),[ys,Zn]=Z(0),[Yt,Br]=Z(void 0),Mp=$e(()=>{let f=new Map,y=0;for(let z of Ae().blocks)if(z.type==="user")f.set(z,y++);return f}),ws=(f)=>e.session.checkpoints().find((y)=>y.userMessageIndex===f),Np=(f)=>{Zn(0),Br(void 0),bs(f),e.session.refreshCheckpoints()},Tr=()=>{bs(void 0),Br(void 0)},Er=()=>{let f=Ir();if(f===void 0)return[];if(Yt()!==void 0)return[{id:"confirm",label:Yt()==="restore"?u("menu.confirm.restore"):u("menu.confirm.rewind")},{id:"cancel",label:u("menu.cancel")}];let y=[{id:"rewind",label:u("menu.rewind"),description:u("menu.rewind.hint")}];if(ws(f))y.push({id:"restore",label:u("menu.restore"),description:u("menu.restore.hint")});return y.push({id:"copy",label:u("menu.copy")}),y},Ss=async(f)=>{let y=Ir();if(y===void 0)return;if(f==="cancel"){Tr();return}let z=f==="confirm"?Yt()??"":f;if((z==="rewind"||z==="restore")&&Yt()===void 0){Br(z),Zn(0);return}if(z==="copy"){let _e=Lp(y);if(Tr(),_e===void 0)return;let Fe=await Ln(_e);pt(Fe.ok?u("notice.copied"):u("notice.copyFailed",{error:Fe.error??u("notice.unknown")}));return}if(Tr(),z==="rewind"){let _e=await e.session.rewind(y);pt(u("notice.rewound",{count:_e.droppedContentCount,noun:u(_e.droppedContentCount===1?"notice.rewound.one":"notice.rewound.many")}));return}let K=ws(y);if(!K){pt(u("notice.checkpointGone"));return}let Ie=await e.session.restoreCheckpoint(K.id);pt(Ie.ok?u("notice.restored"):u("notice.restoreFailed",{error:Ie.error??u("notice.unknownError")}))},Lp=(f)=>Ae().blocks.filter((y)=>y.type==="user").map((y)=>y.text)[f],dt=()=>{if(St())return"auth";if(Kt())return"ask";if(e.session.pendingPermission())return"permission";if(T())return"theme";if(B())return"picker";if(Wn())return"goal";if(Ir()!==void 0)return"menu";if(Gt().length>0)return"commands";return"prompt"};At(()=>{let f=e.session.auth();if(!f)return;rt(()=>{if(f.loggedIn){let y=Hn()||Ft()==="browser";if(gn(!1),y)Ko();return}if(!St()&&!Hn())gn(!0),Ls()})}),At(()=>{Gt(),U(0)}),At(()=>{e.session.pendingPermission(),q(0)}),At(()=>{let f=Kt();$n(0),Gn(f?f.map(()=>0):[]),un(f?f.map(()=>new Set):[])});let Jt=()=>Bn(e.session.status())||Ae().compressing,Op=()=>Cs("execute"),Cs=(f)=>Ae().blocks.some((y)=>y.type==="tool"&&(f===void 0||y.toolKind===f)&&(y.status==="pending"||y.status==="in_progress")),vs=()=>Jt()||Cs(),Is=()=>dt()==="prompt"||dt()==="commands",$p=()=>_n(n.borderActive,n.background,0.65),Gp=()=>{if(!Is())return $p();if(Ho())return n.success;return e.session.mode()==="yolo"?n.warning:n.borderActive},_r=()=>Ha[Se()%Ha.length],Bs=()=>Rh(e.session.status(),Ae().compressing,Ae().restoring,_h(Ae())),Ts=()=>{let f=Ph(e.session.status(),Ae(),Date.now());return f!=null?` ${Za(f)}`:""},Ho=()=>e.session.modeStatus().planModeActive,[Wn,Un]=Z(void 0),[Es,Qn]=Z(""),jo=(f)=>{let y=Om(f);Un(y),Qn(Lo(y))},Zo=()=>{Un(void 0),Qn("")},zp=async(f)=>{Zo();try{let y=await e.session.startGoal(f);Vt(u("notice.goalStarted",{extra:y.yoloWasEnabled?u("notice.fullAccessEnabled"):""}))}catch(y){Vt(u("notice.goalFailed",{error:String(y)}))}},Hp=()=>{let f=Wn();if(!f)return;if(f.step==="confirm"){zp(f.fields);return}let y=Gm(f,Es());if(Un(y),y.step!==f.step)Qn(Lo(y))},jp=()=>{let f=Wn();if(!f)return;let y=zm(f.step);if(!y){Zo();return}let z={step:y,fields:f.fields};Un(z),Qn(Lo(z))},Zp=()=>{let f=e.session.modeStatus().goal;if(!f)return;return Se(),{text:`\u25CE goal ${Za(Math.max(0,Math.floor((Date.now()-f.startedAt)/1000)))} / ${f.hours}h`,color:n.accent}},Wp=()=>ap({compressing:Ae().compressing,tasks:e.session.tasks(),diff:Bp(),spinner:_r()}),_s=()=>{let f=Jt()?ja(e.session.status(),Ae().compressing,_r(),Ae().restoring).length+1+Bs().length+Ts().length+2:0;return lp(Wp(),Ct().width-f-4)},[Rr,Wo]=Z(void 0),Pr=()=>Rr()!==void 0,Rs=()=>{let f=Rr();if(f===void 0){let Ie=e.session.queued();if(Ie.length===0)return;Wo(0),e.session.setQueuePaused(!0),a(Ie[0]);return}let y=e.session.updateQueueItem(f,r()),z=e.session.queued();if(z.length===0){Fr();return}let K=y==="deleted"?f%z.length:Jg(f,z.length);Wo(K),a(z[K])},Fr=()=>{Wo(void 0),e.session.setQueuePaused(!1),a("")},Up=(f)=>{if(f!=="clear"){let z=e.session.queued().length;pt(u("notice.queueUsage",{count:z}));return}if(Pr())Fr();let y=e.session.clearQueue();pt(y===0?u("notice.queueEmpty"):u("notice.queueCleared",{count:y,noun:u(y===1?"notice.queueCleared.one":"notice.queueCleared.many")}))},[Qp,Ps]=Z(gs),Kp=()=>Ae().blocks.filter((f)=>f.type==="user").map((f)=>f.text),Yp=async()=>{let f=Ap(e.session.mode(),e.session.modeStatus().planModeActive);if(f.plan!==void 0)await e.session.setPlanMode(f.plan);if(f.mode){let y=await e.session.selectMode(f.mode);if(!y.ok)pt(u("notice.modeFailed",{error:y.error??u("notice.unknownError")}))}},Fs=()=>{let f=e.session.model();if(!f)return;return e.session.models().find((y)=>y.modelId===f)?.name??f};At(()=>{if(!Jt()&&Oe()?.status!=="asking")return;let f=setInterval(()=>Le((y)=>y+1),80);Ke(()=>clearInterval(f))});let Vt=(f)=>e.session.callbacks.emit({kind:"notice",text:f}),Uo,pt=(f)=>{Pt(f),clearTimeout(Uo),Uo=setTimeout(()=>Pt(void 0),Pm)};Ke(()=>clearTimeout(Uo));let Qo=(f)=>{re(Em(f)),e.session.askBtw(f).then((y)=>{re((z)=>_m(z,y))})},Jp=(f)=>{if(!hs.getSelection()?.getSelectedText())return;f.preventDefault(),f.stopPropagation(),vm({renderer:hs}).then((y)=>{if(y)pt(y)})},Ds=(f,y)=>{let z=wr(f);if(!z)return;if(z.rows&&!y.trim()){if(z.load)z.load(e.session);G(0),N(f);return}z.run({session:e.session,setInput:a,notify:Vt,openGoalWizard:jo,askSideQuestion:Qo},void 0,y.trim())},Ms=async()=>{if(e.session.status()!=="idle")e.session.interrupt();try{let{acpSessionId:f}=await e.session.newSession();Vt(u("notice.newSession",{id:f}))}catch(f){e.session.callbacks.emit({kind:"error",message:f instanceof Error?f.message:String(f)})}},Ns=(f)=>{let y=/^\/([a-zA-Z][\w-]*)(?:\s+([\s\S]*))?$/.exec(f.trim());if(!y)return!1;let z=y[1],K=y[2]??"";if(wr(z))return Ds(z,K),!0;if(z==="session"&&K.trim()==="new")return Ms(),!0;if(km(z))return eA(z,K),!0;return!1},Vp=()=>{let f=lh(r(),s());if(b(),a(""),Ps(gs),Ns(f))return;e.session.submit(f)},Ls=()=>{at("choose"),st(0),mt(""),pe(void 0),Cr(void 0),zn(!0)},Ko=()=>{e.session.cancelBrowserLogin(),zn(!1),W(!1),mt(""),Cr(void 0)},qp=()=>{pe(void 0),at("browser"),W(!0),e.session.startBrowserLogin().then((f)=>{if(Cr(f),!f.ok)pe(f.error),at("choose")}).catch((f)=>{pe(String(f)),at("choose")}).finally(()=>W(!1))},Xp=()=>{let f=qe();if(!f.trim())return;W(!0),pe(void 0),e.session.loginWithApiKey(f).then((y)=>{if(mt(""),y.ok)Ko();else pe(y.error),at("choose")}).catch((y)=>{mt(""),pe(String(y)),at("choose")}).finally(()=>W(!1))},eA=(f,y="")=>{switch(f){case"new":Ms();return;case"login":Ls();return;case"logout":e.session.logout();return;case"account":e.session.openAccountPage().then((z)=>{if(!z.ok)pe(z.error)});return;case"theme":E(Math.max(0,t.names.indexOf(t.name))),H(!0);return;case"clear":e.session.clearTranscript();return;case"queue":Up(y.trim());return;case"quit":e.onQuit();return;default:return f}},Os=()=>{let f=Gt()[Y()];if(!f)return;if(a(""),Ns(`/${f.name}`))return;e.session.submit(`/${f.name}`)},tA=()=>{let f=Gt()[Y()];if(!f)return;a(`/${f.name} `)},$s=(f)=>{let y=Kt();if(!y)return;let z=Qt(),K=y[z]?.options??[];Gn((Ie)=>{let _e=[...Ie];return _e[z]=Math.min(K.length-1,Math.max(0,(_e[z]??0)+f)),_e})},Gs=(f)=>{if(f?.id==="browser")qp();else if(f?.id==="apikey")at("apikey"),pe(void 0)};return wl((f)=>{if(f.ctrl&&f.name==="v"&&dt()==="prompt"){f.preventDefault(),f.stopPropagation(),P();return}if(f.ctrl&&f.name==="l"&&dt()==="prompt"){f.preventDefault(),f.stopPropagation(),Ds("model","");return}if((f.name==="up"||f.name==="down")&&!f.ctrl&&dt()==="prompt"&&!r().includes(`
|
|
845
|
+
`)){let y=kp(Qp(),f.name==="up"?"up":"down",Kp(),r());if(y)f.preventDefault(),f.stopPropagation(),Ps(y.state),a(y.text);return}if(f.shift&&f.name==="tab"&&Is()){f.preventDefault(),f.stopPropagation(),Yp();return}if(f.ctrl&&f.name==="b"&&dt()==="prompt"&&Op()){f.preventDefault(),f.stopPropagation(),e.session.requestBackground().then((y)=>{pt(y.ok?u("notice.background"):u("notice.backgroundFailed",{error:y.error??u("notice.unknownError")}))});return}if(f.ctrl&&f.name==="c"){if(oe()){e.onQuit();return}if(vs()){e.session.interrupt(),ie();return}if(r().length>0){I();return}ie();return}if(oe())ee(!1);if(Pr()){if(f.name==="return"){e.session.updateQueueItem(Rr(),r()),Fr();return}if(f.name==="escape"){Fr();return}if(f.ctrl&&f.name==="up"){f.preventDefault(),f.stopPropagation(),Rs();return}}else if(f.ctrl&&f.name==="up"&&dt()==="prompt"){f.preventDefault(),f.stopPropagation(),Rs();return}switch(dt()){case"auth":{if(S())return;if(Ft()==="apikey"){let K=_a(qe(),f);if(mt(K.value),K.cancel)mt(""),at("choose");else if(K.submit)Xp();return}if(Ft()==="browser"){if(f.name==="escape")e.session.cancelBrowserLogin(),Cr(void 0),at("choose");return}if(f.name==="escape"){Ko();return}if(f.name==="up"){st((K)=>Math.max(0,K-1));return}if(f.name==="down"){st((K)=>Math.min(cn.length-1,K+1));return}let y=Number.parseInt(f.name??"",10),z=f.name==="return"?cn[jn()]:Number.isInteger(y)&&y>=1&&y<=cn.length?cn[y-1]:void 0;if(z)Gs(z);return}case"goal":{let y=Wn();if(f.name==="escape"){Zo(),Vt(u("notice.goalCancelled"));return}if(f.ctrl&&f.name==="b"){jp();return}if(f.name==="return"){Hp();return}if(y.step==="intensity"&&(f.name==="up"||f.name==="down")){Un({...y,fields:{...y.fields,intensity:Hm(y.fields.intensity,f.name==="up"?-1:1)}});return}if(No(y.step))Qn((z)=>_a(z,f).value);return}case"ask":{let y=Kt(),z=Qt(),K=y[z],Ie=K.options,_e=(lt)=>{un((O)=>{let Q=O.map((ge)=>new Set(ge)),ne=Q[z]??new Set;if(!K.multiSelect)ne.clear(),ne.add(lt);else if(ne.has(lt))ne.delete(lt);else ne.add(lt);return Q[z]=ne,Q})};if(f.name==="escape"){e.session.answerPermission({outcome:"cancelled"});return}if(f.name==="up"||f.name==="down"){$s(f.name==="up"?-1:1);return}if(f.name==="tab"){$n((lt)=>(lt+1)%y.length);return}if(f.name==="space"){_e(X()[z]??0);return}if(f.name==="return"){let lt=y.map((Q,ne)=>{let ge=Sr()[ne]??new Set;if(ge.size||Q.multiSelect)return ge;return new Set([X()[ne]??0])}),O=oh(e.session.pendingPermission().request.options);if(O)e.session.answerPermission({outcome:"selected",optionId:O,answers:bg(y,lt)});return}let Fe=Number.parseInt(f.name??"",10);if(Number.isInteger(Fe)&&Fe>=1&&Fe<=Ie.length)Gn((lt)=>{let O=[...lt];return O[z]=Fe-1,O}),_e(Fe-1);return}case"theme":{let y=t.names;if(f.name==="escape"||f.name==="return"){H(!1);return}if(f.name==="up"||f.name==="down"){let z=f.name==="up"?-1:1,K=ln(C(),z,y.length);E(K),t.setName(y[K]);return}return}case"menu":{let y=Er();if(f.name==="escape"){if(Yt()!==void 0){Br(void 0),Zn(0);return}Tr();return}if(f.name==="up"||f.name==="down"){let z=f.name==="up"?-1:1;Zn((K)=>ln(K,z,y.length));return}if(f.name==="return"){let z=y[ys()];if(z)Ss(z.id);return}return}case"picker":{let y=wr(B()??""),z=y?.rows?.(e.session)??[];if(f.name==="escape"){N(void 0);return}if(f.name==="up"||f.name==="down"){let K=f.name==="up"?-1:1;G((Ie)=>ln(Ie,K,z.length));return}if(f.name==="return"){let K=z[F()];if(N(void 0),K&&y)y.run({session:e.session,setInput:a,notify:Vt,openGoalWizard:jo,askSideQuestion:Qo},K.id,"");return}return}case"permission":{let y=ns(e.session.pendingPermission().request.options);if(f.name==="escape"){let K=y.find((Ie)=>Ie.kind.startsWith("reject"));e.session.answerPermission(K?{outcome:"selected",optionId:K.optionId}:{outcome:"cancelled"});return}if(f.name==="up"){q((K)=>Math.max(0,K-1));return}if(f.name==="down"){q((K)=>Math.min(y.length-1,K+1));return}if(f.name==="return"){let K=y[V()];if(K)e.session.answerPermission({outcome:"selected",optionId:K.optionId});return}let z=Number.parseInt(f.name??"",10);if(Number.isInteger(z)&&z>=1&&z<=y.length)e.session.answerPermission({outcome:"selected",optionId:y[z-1].optionId});return}case"commands":{if(f.name==="escape"){a("");return}if(f.name==="up"){U((y)=>Math.max(0,y-1));return}if(f.name==="down"){U((y)=>Math.min(Gt().length-1,y+1));return}if(f.name==="return"){Os();return}if(f.name==="tab"){tA();return}return}default:{if(f.name==="escape"){if(vs())e.session.interrupt();else if(Oe())re(void 0)}return}}}),Sl((f)=>{if(dt()==="auth"&&Ft()==="apikey"){mt((y)=>ch(y,f.bytes));return}if(dt()==="prompt"&&dm(f.bytes))P()}),(()=>{var f=k("box"),y=k("box"),z=k("box"),K=k("box"),Ie=k("box"),_e=k("box"),Fe=k("textarea");D(f,y),c(f,"onMouseDown",(O)=>{if(O.button!==E1.RIGHT)return;Jp(O)}),D(y,z),c(y,"style",{flexDirection:"row",flexGrow:1,minHeight:0}),D(z,K),c(z,"style",{flexDirection:"column",flexGrow:1,minWidth:0}),m(z,p(L,{get when(){return $t()},get children(){return[(()=>{var O=k("box");return c(O,"style",{flexGrow:1,flexShrink:0,minHeight:0}),O})(),p(pm,{version:On,get cwd(){return e.cwd},get userName(){return e.session.auth()?.user?.name},get model(){return e.session.model()},get tip(){return P1()},get showBrand(){return mm(Ct().height,Rp())}})]}}),K),m(z,p(L,{get when(){return!$t()},get children(){return[(()=>{var O=k("box"),Q=k("text"),ne=k("text");return D(O,Q),D(O,ne),c(O,"style",{flexDirection:"row",paddingLeft:1,paddingRight:1,flexShrink:0}),D(Q,Be("Easy Code")),m(ne,()=>` ${Pp()}`),_((ge)=>{var We={fg:n.accent},Ue={fg:n.textMuted};return We!==ge.e&&(ge.e=c(Q,"style",We,ge.e)),Ue!==ge.t&&(ge.t=c(ne,"style",Ue,ge.t)),ge},{e:void 0,t:void 0}),O})(),(()=>{var O=k("scrollbox");return c(O,"style",{flexGrow:1,flexShrink:1,minHeight:1,paddingLeft:1,paddingRight:1}),c(O,"stickyScroll",!0),c(O,"stickyStart","bottom"),m(O,p(L,{get when(){return zo().hidden>0},get children(){var Q=k("text");return m(Q,()=>u("transcript.folded",{count:zo().hidden,limit:bm})),_((ne)=>c(Q,"style",{fg:n.textMuted},ne)),Q}}),null),m(O,p(ae,{get each(){return Dp()},children:(Q)=>p(rm,{block:Q,get userIndex(){return Mp().get(Q)},onUserMenu:Np})}),null),_((Q)=>c(O,"scrollAcceleration",Rm(),Q)),O})()]}}),K),m(z,p(L,{get when(){return St()},get children(){return p(uh,{get stage(){return Ft()},get selected(){return jn()},get secret(){return qe()},get status(){return e.session.auth()},get browser(){return fn()},get busy(){return S()},get error(){return ce()},get required(){return Hn()},onChoose:(O)=>{st(O),Gs(cn[O])}})}}),K),m(z,p(L,{get when(){return Wn()},children:(O)=>p(up,{get state(){return O()},get draft(){return Es()}})}),K),m(z,p(L,{get when(){return se(()=>!St())()&&Kt()},children:(O)=>p(ih,{get questions(){return O()},get activeQuestion(){return Qt()},get cursors(){return X()},get selections(){return Sr()},onStep:(Q)=>$s(Q),onPick:(Q,ne)=>{let ge=O()[Q];if(!ge)return;$n(Q),un((We)=>{let Ue=We.map((Dr)=>new Set(Dr)),Dt=Ue[Q]??new Set;if(!ge.multiSelect)Dt.clear(),Dt.add(ne);else if(Dt.has(ne))Dt.delete(ne);else Dt.add(ne);return Ue[Q]=Dt,Ue})}})}),K),m(z,p(L,{get when(){return se(()=>!St()&&!Kt())()&&e.session.pendingPermission()},children:(O)=>p(xm,{get pending(){return O()},get selected(){return V()},onAnswer:(Q)=>e.session.answerPermission(Q)})}),K),m(z,p(L,{get when(){return Ir()!==void 0},get children(){return p(rs,{get title(){return se(()=>Yt()!==void 0)()?u("menu.confirm.title"):u("menu.confirm.subject")},get subtitle(){return se(()=>Yt()!==void 0)()?u("menu.confirm.warning"):void 0},get rows(){return Er()},get selected(){return ys()},onStep:(O)=>Zn((Q)=>ln(Q,O,Er().length)),onPick:(O)=>{let Q=Er()[O];if(Q)Ss(Q.id)}})}}),K),m(z,p(L,{get when(){return B()},children:(O)=>{let Q=()=>wr(O()),ne=()=>Q()?.rows?.(e.session)??[];return p(rs,{get title(){return Q()?.title??O()},get rows(){return ne()},get selected(){return F()},get empty(){return Q()?.empty},onStep:(ge)=>G((We)=>ln(We,ge,ne().length)),onPick:(ge)=>{let We=ne()[ge],Ue=Q();if(N(void 0),We&&Ue)Ue.run({session:e.session,setInput:a,notify:Vt,openGoalWizard:jo,askSideQuestion:Qo},We.id,"")}})}}),K),m(z,p(L,{get when(){return T()},get children(){return p(wm,{get names(){return t.names},get selected(){return C()},onStep:(O)=>{let Q=ln(C(),O,t.names.length);E(Q),t.setName(t.names[Q])},onPick:(O)=>{t.setName(t.names[O]),H(!1)}})}}),K),m(z,p(L,{get when(){return Gt().length>0},get children(){var O=k("box"),Q=k("box");return D(O,Q),c(O,"style",{flexDirection:"column",flexShrink:0,alignItems:"center"}),m(Q,p(hm,{get commands(){return Gt()},get selected(){return Y()},get maxRows(){return Math.max(3,Math.floor(Ct().height/4))},onSelect:(ne)=>{U(ne),Os()},onStep:(ne)=>U((ge)=>Math.min(Math.max(0,ge+ne),Math.max(0,Gt().length-1)))})),_((ne)=>c(Q,"style",{width:"100%",maxWidth:$t()?vr():void 0},ne)),O}}),K),m(z,p(L,{get when(){return Oe()},children:(O)=>(()=>{var Q=k("box"),ne=k("box");return D(Q,ne),c(Q,"style",{flexDirection:"column",flexShrink:0,alignItems:"center"}),m(ne,p(Tm,{get item(){return O()},get columns(){return Math.max(20,($t()?vr():Ct().width)-4)},get maxRows(){return Math.max(2,Math.floor(Ct().height/4))},get spinner(){return _r()}})),_((ge)=>c(ne,"style",{width:"100%",maxWidth:$t()?vr():void 0},ge)),Q})()}),K),D(K,Ie),c(K,"style",{flexDirection:"column",flexShrink:0,alignItems:"center"}),D(Ie,_e),m(Ie,p(L,{get when(){return Jt()||_s().length>0},get children(){var O=k("box"),Q=k("box");return D(O,Q),c(O,"style",{flexDirection:"row",gap:2,flexShrink:0,paddingLeft:3,paddingRight:1,marginTop:1}),m(O,p(L,{get when(){return Jt()},get children(){var ne=k("text");return c(ne,"selectable",!1),m(ne,()=>`${ja(e.session.status(),Ae().compressing,_r(),Ae().restoring)} ${Bs()}${Ts()}`),_((ge)=>c(ne,"style",{fg:n.accent,flexShrink:0},ge)),ne}}),Q),c(Q,"style",{flexDirection:"row",flexShrink:0}),m(Q,p(ae,{get each(){return _s()},children:(ne,ge)=>(()=>{var We=k("text");return m(We,(()=>{var Ue=se(()=>ge()===0);return()=>Ue()?ne.text:`${ip}${ne.text}`})()),_((Ue)=>c(We,"style",{fg:sp(ne.tone,n),flexShrink:0},Ue)),We})()})),O}}),_e),m(Ie,p(L,{get when(){return e.session.queued().length>0},get children(){var O=k("box");return c(O,"style",{flexDirection:"column",flexShrink:0,paddingLeft:3,marginTop:1}),m(O,p(L,{get when(){return Pr()},get children(){var Q=k("text");return c(Q,"selectable",!1),m(Q,()=>`editing queue #${Rr()+1}/${e.session.queued().length} \xB7 enter save \xB7 esc cancel \xB7 ctrl+\u2191 next`),_((ne)=>c(Q,"style",{fg:n.accent},ne)),Q}}),null),m(O,p(ae,{get each(){return qg(e.session.queued())},children:(Q)=>(()=>{var ne=k("text");return c(ne,"selectable",!1),m(ne,()=>`${Q.next?"\u2193":" "} ${Q.text}`),_((ge)=>c(ne,"style",{fg:n.textMuted},ge)),ne})()}),null),m(O,p(L,{get when(){return!Pr()},get children(){var Q=k("text");return c(Q,"selectable",!1),m(Q,()=>u("prompt.editHint")),_((ne)=>c(Q,"style",{fg:n.textMuted},ne)),Q}}),null),O}}),_e),D(_e,Fe);var lt=i;return typeof lt==="function"?Il(lt,Fe):i=Fe,c(Fe,"style",{flexGrow:1}),c(Fe,"onContentChange",()=>o(i?.plainText??"")),c(Fe,"onSubmit",Vp),m(z,p(L,{get when(){return $t()},get children(){var O=k("box");return c(O,"style",{flexGrow:1,flexShrink:0,minHeight:0}),O}}),null),m(y,p(L,{get when(){return _p()},get children(){return p(jh,{get title(){return Ae().title},get usage(){return Ae().usage},get tokens(){return Ae().tokens},get cache(){return Ae().cache},get credits(){return Ae().credits},get allowance(){return e.session.credits()},get quota(){return e.session.quota()},get model(){return Fs()},get mode(){return e.session.mode()},get cwd(){return e.cwd},get branch(){return vp()},version:On,get tasks(){return e.session.tasks()},get todos(){return Sp()},get todosExpanded(){return Jt()},get update(){return ms()},get updatePhase(){return ks()},onRunUpdate:()=>void Ep(),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 Ct().height}})}}),null),m(f,p(L,{get when(){return oe()},get children(){var O=k("text");return D(O,Be("Press Ctrl+C again to exit")),_((Q)=>c(O,"style",{fg:n.warning,paddingLeft:1,flexShrink:0},Q)),O}}),null),m(f,p(Mh,{get transcript(){return Ae()},get model(){return Fs()},get thinking(){return e.session.thinking()},get auth(){return e.session.auth()},get width(){return Ct().width},get modeChip(){return Zp()??{text:`${Fh(e.session.mode(),Ho())} (shift+tab)`,color:Ho()?n.success:e.session.mode()==="yolo"?n.warning:n.textMuted}}}),null),m(f,p(Fm,{get message(){return Ze()}}),null),_((O)=>{var Q={flexDirection:"column",width:"100%",height:"100%",backgroundColor:n.background},ne={flexDirection:"column",flexShrink:0,width:"100%",maxWidth:$t()?vr():void 0},ge={flexDirection:"row",flexShrink:0,width:"100%",height:Cm(r(),Ct().height)+2,border:["left"],borderColor:Gp(),backgroundColor:n.backgroundElement,paddingLeft:2,paddingRight:2,paddingTop:1,paddingBottom:1,marginTop:$t()?1:0},We=dt()==="prompt"||dt()==="commands",Ue=u("prompt.placeholder"),Dt=[...Sm],Dr=h();return Q!==O.e&&(O.e=c(f,"style",Q,O.e)),ne!==O.t&&(O.t=c(Ie,"style",ne,O.t)),ge!==O.a&&(O.a=c(_e,"style",ge,O.a)),We!==O.o&&(O.o=c(Fe,"focused",We,O.o)),Ue!==O.i&&(O.i=c(Fe,"placeholder",Ue,O.i)),Dt!==O.n&&(O.n=c(Fe,"keyBindings",Dt,O.n)),Dr!==O.s&&(O.s=c(Fe,"syntaxStyle",Dr,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 yp(e){let t=[`Easy Code v${e.version}`];if(e.title)t.push("",` ${"Session".padEnd(10," ")}${e.title}`);return t.join(`
|
|
846
|
+
`)}var M1=/[\u0000-\u001F\u007F]/g;function wp(e,t=process.env){return(t.CLI_TITLE||`\uD83D\uDE80 Easy Code - ${e}`).replace(M1,"")}function $1(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=fs.resolve(e[++r])}return n}function G1(e,t){let n=N1.createWriteStream(t,{flags:"a"}),r=(o)=>n.write(`${new Date().toISOString()} ${o}
|
|
847
847
|
`);return r(`--- easycode-tui started (pid ${nt.pid}) ---`),r(`[term] isTTY=${nt.stdout.isTTY} size=${nt.stdout.columns}x${nt.stdout.rows} stdinTTY=${nt.stdin.isTTY} TERM=${nt.env.TERM??"-"} TERM_PROGRAM=${nt.env.TERM_PROGRAM??"-"} WT_SESSION=${nt.env.WT_SESSION?"yes":"no"} runtime=${nt.versions.bun?`bun ${nt.versions.bun}`:`node ${nt.versions.node}`}`),{...e,log(o){e.log(o);for(let i of o.split(`
|
|
848
|
-
`))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
|
|
849
|
-
`),nt.exit(0)})},l=
|
|
848
|
+
`))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 z1=1000;async function H1(e=nt.argv.slice(2)){aa();let t=$1(e,nt.cwd()),n=fs.join(L1.tmpdir(),"easycode-tui-debug.log"),r=(I)=>{let P=lf({auth:zg()}),Y=t.debug?G1(P.callbacks,n):P.callbacks,U=new fa(t.cwd,{...Y,restarted:(T)=>P.setHandshake({models:T.availableModels,modes:T.availableModes,model:T.model,mode:T.mode,thinking:T.thinking})});if(P.attach(U),I)xf(I,t.cwd).then((T)=>P.seedTranscript(T)),kf(I,t.cwd).then((T)=>{if(T!==void 0)P.seedUsage(T)});return U.start(I,t.model).then((T)=>{P.setHandshake({models:T.availableModels,modes:T.availableModes,model:T.model,mode:T.mode,thinking:T.thinking})}).catch((T)=>{P.callbacks.emit({kind:"error",message:T instanceof Error?T.message:String(T)})}),{session:P,bridge:U,id:()=>U.sessionId,close:()=>U.dispose()}},o=hf({cwd:t.cwd,open:r,load:()=>gf(),save:(I)=>ff(I)});if(t.resumeSessionId)o.resume(t.resumeSessionId);else o.create();let i=()=>o.active(),a=!1,s=()=>{if(a)return;a=!0,clearInterval(b),o.dispose().finally(()=>{if(d.setTerminalTitle(""),!d.isDestroyed)d.destroy();nt.stdout.write(`${yp({version:On,title:i().transcript().title})}
|
|
849
|
+
`),nt.exit(0)})},l=bo(t.cwd),d=await O1({useMouse:!0,exitOnCtrlC:!1}),h=fs.basename(t.cwd),g="",x=()=>{let I=i().transcript().title,P=I?`\uD83D\uDE80 ${I} - Easy Code - ${h}`:wp(h);if(P===g)return;g=P,d.setTerminalTitle(P)};x();let b=setInterval(x,z1);await Tl(()=>p(bp,{get session(){return i()},hub:o,get cwd(){return t.cwd},onQuit:s,branch:l}),d)}if(import.meta.main)H1();export{H1 as main,$1 as parseArgs};
|