kraken-code 1.2.1 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,76 +0,0 @@
1
- import{createRequire as _3}from"node:module";var S3=Object.create;var{getPrototypeOf:j3,defineProperty:i1,getOwnPropertyNames:B3}=Object;var R3=Object.prototype.hasOwnProperty;var V1=(Z,Q,J)=>{J=Z!=null?S3(j3(Z)):{};let x=Q||!Z||!Z.__esModule?i1(J,"default",{value:Z,enumerable:!0}):J;for(let X of B3(Z))if(!R3.call(x,X))i1(x,X,{get:()=>Z[X],enumerable:!0});return x};var p0=(Z,Q)=>()=>(Q||Z((Q={exports:{}}).exports,Q),Q.exports);var g2=(Z,Q)=>{for(var J in Q)i1(Z,J,{get:Q[J],enumerable:!0,configurable:!0,set:(x)=>Q[J]=()=>x})};var u2=(Z,Q)=>()=>(Z&&(Q=Z(Z=0)),Q);var l2=_3(import.meta.url);var $0=p0((e7,X0)=>{var _1=process||{},b9=_1.argv||[],R1=_1.env||{},H4=!(!!R1.NO_COLOR||b9.includes("--no-color"))&&(!!R1.FORCE_COLOR||b9.includes("--color")||_1.platform==="win32"||(_1.stdout||{}).isTTY&&R1.TERM!=="dumb"||!!R1.CI),q4=(Z,Q,J=Z)=>(x)=>{let X=""+x,W=X.indexOf(Q,Z.length);return~W?Z+U4(X,Q,J,W)+Q:Z+X+Q},U4=(Z,Q,J,x)=>{let X="",W=0;do X+=Z.substring(W,x)+J,W=x+Q.length,x=Z.indexOf(Q,W);while(~x);return X+Z.substring(W)},C9=(Z=H4)=>{let Q=Z?q4:()=>String;return{isColorSupported:Z,reset:Q("\x1B[0m","\x1B[0m"),bold:Q("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:Q("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:Q("\x1B[3m","\x1B[23m"),underline:Q("\x1B[4m","\x1B[24m"),inverse:Q("\x1B[7m","\x1B[27m"),hidden:Q("\x1B[8m","\x1B[28m"),strikethrough:Q("\x1B[9m","\x1B[29m"),black:Q("\x1B[30m","\x1B[39m"),red:Q("\x1B[31m","\x1B[39m"),green:Q("\x1B[32m","\x1B[39m"),yellow:Q("\x1B[33m","\x1B[39m"),blue:Q("\x1B[34m","\x1B[39m"),magenta:Q("\x1B[35m","\x1B[39m"),cyan:Q("\x1B[36m","\x1B[39m"),white:Q("\x1B[37m","\x1B[39m"),gray:Q("\x1B[90m","\x1B[39m"),bgBlack:Q("\x1B[40m","\x1B[49m"),bgRed:Q("\x1B[41m","\x1B[49m"),bgGreen:Q("\x1B[42m","\x1B[49m"),bgYellow:Q("\x1B[43m","\x1B[49m"),bgBlue:Q("\x1B[44m","\x1B[49m"),bgMagenta:Q("\x1B[45m","\x1B[49m"),bgCyan:Q("\x1B[46m","\x1B[49m"),bgWhite:Q("\x1B[47m","\x1B[49m"),blackBright:Q("\x1B[90m","\x1B[39m"),redBright:Q("\x1B[91m","\x1B[39m"),greenBright:Q("\x1B[92m","\x1B[39m"),yellowBright:Q("\x1B[93m","\x1B[39m"),blueBright:Q("\x1B[94m","\x1B[39m"),magentaBright:Q("\x1B[95m","\x1B[39m"),cyanBright:Q("\x1B[96m","\x1B[39m"),whiteBright:Q("\x1B[97m","\x1B[39m"),bgBlackBright:Q("\x1B[100m","\x1B[49m"),bgRedBright:Q("\x1B[101m","\x1B[49m"),bgGreenBright:Q("\x1B[102m","\x1B[49m"),bgYellowBright:Q("\x1B[103m","\x1B[49m"),bgBlueBright:Q("\x1B[104m","\x1B[49m"),bgMagentaBright:Q("\x1B[105m","\x1B[49m"),bgCyanBright:Q("\x1B[106m","\x1B[49m"),bgWhiteBright:Q("\x1B[107m","\x1B[49m")}};X0.exports=C9();X0.exports.createColors=C9});var K0=p0((Z8,L9)=>{var W0={to(Z,Q){if(!Q)return`\x1B[${Z+1}G`;return`\x1B[${Q+1};${Z+1}H`},move(Z,Q){let J="";if(Z<0)J+=`\x1B[${-Z}D`;else if(Z>0)J+=`\x1B[${Z}C`;if(Q<0)J+=`\x1B[${-Q}A`;else if(Q>0)J+=`\x1B[${Q}B`;return J},up:(Z=1)=>`\x1B[${Z}A`,down:(Z=1)=>`\x1B[${Z}B`,forward:(Z=1)=>`\x1B[${Z}C`,backward:(Z=1)=>`\x1B[${Z}D`,nextLine:(Z=1)=>"\x1B[E".repeat(Z),prevLine:(Z=1)=>"\x1B[F".repeat(Z),left:"\x1B[G",hide:"\x1B[?25l",show:"\x1B[?25h",save:"\x1B7",restore:"\x1B8"},O4={up:(Z=1)=>"\x1B[S".repeat(Z),down:(Z=1)=>"\x1B[T".repeat(Z)},V4={screen:"\x1B[2J",up:(Z=1)=>"\x1B[1J".repeat(Z),down:(Z=1)=>"\x1B[J".repeat(Z),line:"\x1B[2K",lineEnd:"\x1B[K",lineStart:"\x1B[1K",lines(Z){let Q="";for(let J=0;J<Z;J++)Q+=this.line+(J<Z-1?W0.up():"");if(Z)Q+=W0.left;return Q}};L9.exports={cursor:W0,scroll:O4,erase:V4,beep:"\x07"}});var l0=["claude","gemini-flash","gemini-pro"];var h=process.env.ANTIGRAVITY_CLIENT_ID??"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",p=process.env.ANTIGRAVITY_CLIENT_SECRET??"",d1=51121,d2="http://localhost:51121/oauth-callback",c0=["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile","https://www.googleapis.com/auth/cclog","https://www.googleapis.com/auth/experimentsandconfigs"],i=["https://daily-cloudcode-pa.sandbox.googleapis.com","https://daily-cloudcode-pa.googleapis.com","https://cloudcode-pa.googleapis.com"],x1="v1internal",m={"User-Agent":"google-api-nodejs-client/9.15.1","X-Goog-Api-Client":"google-cloud-sdk vscode_cloudshelleditor/0.1","Client-Metadata":JSON.stringify({ideType:"IDE_UNSPECIFIED",platform:"PLATFORM_UNSPECIFIED",pluginType:"GEMINI"})},g="rising-fact-p41fc",i0="https://accounts.google.com/o/oauth2/v2/auth",G1="https://oauth2.googleapis.com/token",d0="https://www.googleapis.com/oauth2/v1/userinfo",a0=60000,v1="skip_thought_signature_validator",n0=`<identity>
2
- You are Antigravity, a powerful agentic AI coding assistant designed by the Google Deepmind team working on Advanced Agentic Coding.
3
- You are pair programming with a USER to solve their coding task. The task may require creating a new codebase, modifying or debugging an existing codebase, or simply answering a question.
4
- The USER will send you requests, which you must always prioritize addressing. Along with each USER request, we will attach additional metadata about their current state, such as what files they have open and where their cursor is.
5
- This information may or may not be relevant to the coding task, it is up for you to decide.
6
- </identity>
7
-
8
- <tool_calling>
9
- Call tools as you normally would. The following list provides additional guidance to help you avoid errors:
10
- - **Absolute paths only**. When using tools that accept file path arguments, ALWAYS use the absolute file path.
11
- </tool_calling>
12
-
13
- <web_application_development>
14
- ## Technology Stack
15
- Your web applications should be built using the following technologies:
16
- 1. **Core**: Use HTML for structure and Javascript for logic.
17
- 2. **Styling (CSS)**: Use Vanilla CSS for maximum flexibility and control. Avoid using TailwindCSS unless the USER explicitly requests it; in this case, first confirm which TailwindCSS version to use.
18
- 3. **Web App**: If the USER specifies that they want a more complex web app, use a framework like Next.js or Vite. Only do this if the USER explicitly requests a web app.
19
- 4. **New Project Creation**: If you need to use a framework for a new app, use \`npx\` with the appropriate script, but there are some rules to follow:
20
- - Use \`npx -y\` to automatically install the script and its dependencies
21
- - You MUST run the command with \`--help\` flag to see all available options first
22
- - Initialize the app in the current directory with \`./\` (example: \`npx -y create-vite-app@latest ./\`)
23
- </web_application_development>
24
- `,o0={none:0,auto:-1,minimal:512,low:1024,medium:8192,high:24576,xhigh:32768},a1={"gemini-2.5-flash":{thinkingType:"numeric",min:0,max:24576,zeroAllowed:!0},"gemini-2.5-flash-lite":{thinkingType:"numeric",min:0,max:24576,zeroAllowed:!0},"gemini-2.5-computer-use-preview-10-2025":{thinkingType:"numeric",min:128,max:32768,zeroAllowed:!1},"gemini-3-pro-preview":{thinkingType:"levels",min:128,max:32768,zeroAllowed:!1,levels:["low","high"]},"gemini-3-flash-preview":{thinkingType:"levels",min:128,max:32768,zeroAllowed:!1,levels:["minimal","low","medium","high"]},"gemini-claude-sonnet-4-5-thinking":{thinkingType:"numeric",min:1024,max:200000,zeroAllowed:!1},"gemini-claude-opus-4-5-thinking":{thinkingType:"numeric",min:1024,max:200000,zeroAllowed:!1}};function r0(Z){let Q=Z;if(Q.includes("/"))Q=Q.split("/").pop()||Q;if(Q.startsWith("antigravity-"))Q=Q.substring(12);return Q=Q.replace(/-thinking-(low|medium|high)$/,""),Q=Q.replace(/-(high|low)$/,""),Q}var a2=["gemini-2.5-flash","gemini-2.5-flash-lite","gemini-2.5-computer-use-preview-10-2025","gemini-3-pro-preview","gemini-3-flash-preview","gemini-claude-sonnet-4-5-thinking","gemini-claude-opus-4-5-thinking"];function s0(Z){if(Z.startsWith("gemini-claude-"))return Z.substring(7);return Z}async function w3(){let Z=new Uint8Array(32);crypto.getRandomValues(Z);let Q=btoa(String.fromCharCode(...Z)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""),x=new TextEncoder().encode(Q),X=await crypto.subtle.digest("SHA-256",x),W=Array.from(new Uint8Array(X)),$=btoa(String.fromCharCode(...W)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"");return{codeVerifier:Q,codeChallenge:$,codeChallengeMethod:"S256"}}async function D1(Z,Q=h,J=d1,x=!1){let X=crypto.randomUUID().replace(/-/g,""),W=`http://localhost:${J}/oauth-callback`,$=new URL(i0);$.searchParams.set("client_id",Q),$.searchParams.set("redirect_uri",W),$.searchParams.set("response_type","code"),$.searchParams.set("scope",c0.join(" ")),$.searchParams.set("state",X),$.searchParams.set("access_type","offline"),$.searchParams.set("prompt","consent");let K;if(x)K=await w3(),$.searchParams.set("code_challenge",K.codeChallenge),$.searchParams.set("code_challenge_method",K.codeChallengeMethod);return{url:$.toString(),state:X,pkce:K}}async function M1(Z,Q,J=h,x=p,X){if(!X&&!x)throw Error("ANTIGRAVITY_CLIENT_SECRET is required when PKCE is not enabled.");let W={client_id:J,code:Z,grant_type:"authorization_code",redirect_uri:Q};if(X)W.code_verifier=X;else W.client_secret=x;let $=await fetch(G1,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(W)});if(!$.ok){let Y=await $.text(),U=`Token exchange failed: ${$.status}`;try{let H=JSON.parse(Y);if(H.error){if(U=`Token exchange failed: ${H.error}`,H.error_description)U+=` - ${H.error_description}`}}catch(H){U+=` - ${Y}`}throw Error(U)}let K=await $.json();if(!K.access_token)throw Error("Token exchange failed: No access token in response");if(!K.refresh_token)console.warn("Token exchange warning: No refresh token received. You may need to re-authenticate soon.");return{access_token:K.access_token,refresh_token:K.refresh_token||"",expires_in:K.expires_in,token_type:K.token_type}}async function F1(Z){let Q=await fetch(`${d0}?alt=json`,{headers:{Authorization:`Bearer ${Z}`}});if(!Q.ok)throw Error(`Failed to fetch user info: ${Q.status}`);let J=await Q.json();return{email:J.email||"",name:J.name,picture:J.picture}}function N1(Z=300000){let Q=null,J=null,x=null,X=null,W=()=>{if(J)clearTimeout(J),J=null;if(Q)Q.stop(),Q=null},$=(H)=>{let q=new URL(H.url);if(q.pathname==="/oauth-callback"){let v=q.searchParams.get("code")||"",_=q.searchParams.get("state")||"",O=q.searchParams.get("error")||void 0,z;if(v&&!O)z="<html><body><h1>Login successful</h1><p>You can close this window.</p></body></html>";else z="<html><body><h1>Login failed</h1><p>Please check the CLI output.</p></body></html>";return setTimeout(()=>{if(W(),x)x({code:v,state:_,error:O})},100),new Response(z,{status:200,headers:{"Content-Type":"text/html"}})}return new Response("Not Found",{status:404})};try{Q=Bun.serve({port:d1,fetch:$})}catch(H){Q=Bun.serve({port:0,fetch:$})}let K=Q.port,Y=`http://localhost:${K}/oauth-callback`;return{port:K,redirectUri:Y,waitForCallback:()=>{return new Promise((H,q)=>{x=H,X=q,J=setTimeout(()=>{W(),q(Error("OAuth callback timeout"))},Z)})},close:W}}async function s2(Z,Q,J=h,x=p,X=!1){let W=N1();try{let $=await D1(Z,J,W.port,X);if(console.log(`[google-auth] Opening OAuth URL in browser: ${$.url.substring(0,50)}...`),console.log(`[google-auth] Using ${X?"PKCE":"standard"} OAuth flow`),Q)await Q($.url);else console.log("[google-auth] Please open this URL in your browser:"),console.log($.url);console.log(`[google-auth] Waiting for callback on port ${W.port}...`);let K=await W.waitForCallback();if(K.error){let v=K.error==="access_denied"?"Authentication denied by user":`OAuth error: ${K.error}`;throw Error(v)}if(!K.code)throw Error("No authorization code received");if(K.state!==$.state)throw Error("State mismatch - possible CSRF attack");let Y=`http://localhost:${W.port}/oauth-callback`,U=$.pkce?.codeVerifier,H=await M1(K.code,Y,J,x,U),q=await F1(H.access_token);return console.log(`[google-auth] Authentication successful for: ${q.email}`),{tokens:H,userInfo:q,state:$.state}}catch($){throw W.close(),console.error(`[google-auth] Authentication failed: ${$}`),$}}class l extends Error{code;description;status;statusText;responseBody;constructor(Z){super(Z.message);this.name="AntigravityTokenRefreshError",this.code=Z.code,this.description=Z.description,this.status=Z.status,this.statusText=Z.statusText,this.responseBody=Z.responseBody}get isInvalidGrant(){return this.code==="invalid_grant"}get isNetworkError(){return this.status===0}}function b3(Z){if(!Z)return{};try{let Q=JSON.parse(Z),J;if(typeof Q.error==="string")J=Q.error;else if(Q.error&&typeof Q.error==="object")J=Q.error.status??Q.error.code;return{code:J,description:Q.error_description}}catch{return{description:Z}}}function e0(Z){let Q=Z.timestamp+Z.expires_in*1000;return Date.now()>=Q-a0}var n1=3,C3=1000;function t0(Z){return Math.min(C3*Math.pow(2,Z),1e4)}function L3(Z){if(Z===0)return!0;if(Z===429)return!0;if(Z>=500&&Z<600)return!0;return!1}async function o1(Z,Q=h,J=p){if(!J)throw new l({message:"ANTIGRAVITY_CLIENT_SECRET is required to refresh access tokens.",status:0,statusText:"Missing Client Secret"});let x=new URLSearchParams({grant_type:"refresh_token",refresh_token:Z,client_id:Q,client_secret:J}),X;for(let W=0;W<=n1;W++)try{let $=await fetch(G1,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:x});if($.ok){let U=await $.json();return{access_token:U.access_token,refresh_token:U.refresh_token||Z,expires_in:U.expires_in,token_type:U.token_type}}let K=await $.text().catch(()=>{return}),Y=b3(K);if(X=new l({message:Y.description||`Token refresh failed: ${$.status} ${$.statusText}`,code:Y.code,description:Y.description,status:$.status,statusText:$.statusText,responseBody:K}),Y.code==="invalid_grant")throw X;if(!L3($.status))throw X;if(W<n1){let U=t0(W);await new Promise((H)=>setTimeout(H,U))}}catch($){if($ instanceof l)throw $;if(X=new l({message:$ instanceof Error?$.message:"Network error during token refresh",status:0,statusText:"Network Error"}),W<n1){let K=t0(W);await new Promise((Y)=>setTimeout(Y,K))}}throw X||new l({message:"Token refresh failed after all retries",status:0,statusText:"Max Retries Exceeded"})}function s(Z){let Q=Z.split("|"),[J,x,X]=Q;return{refreshToken:J||"",projectId:x||void 0,managedProjectId:X||void 0}}function d(Z,Q,J){return`${Z}|${Q}|${J||""}`}var n=new Map;function C(Z){if(process.env.ANTIGRAVITY_DEBUG==="1")console.log(`[antigravity-project] ${Z}`)}var J9={ideType:"IDE_UNSPECIFIED",platform:"PLATFORM_UNSPECIFIED",pluginType:"GEMINI"};function Z9(Z){if(!Z)return;if(typeof Z==="string")return Z.trim()||void 0;if(typeof Z==="object"&&"id"in Z){let Q=Z.id;if(typeof Q==="string")return Q.trim()||void 0}return}function P3(Z){if(!Z||Z.length===0)return;for(let Q of Z)if(Q?.isDefault)return Q.id;return Z[0]?.id}function r1(Z){if(!Z)return!0;let Q=Z.toLowerCase();return Q==="free"||Q==="free-tier"||Q.startsWith("free")}function E3(Z){return new Promise((Q)=>setTimeout(Q,Z))}async function Q9(Z,Q){let J={...J9};if(Q)J.duetProject=Q;let x={metadata:J};if(Q)x.cloudaicompanionProject=Q;let X={Authorization:`Bearer ${Z}`,"Content-Type":"application/json","User-Agent":m["User-Agent"],"X-Goog-Api-Client":m["X-Goog-Api-Client"],"Client-Metadata":m["Client-Metadata"]};for(let W of i){let $=`${W}/${x1}:loadCodeAssist`;C(`[loadCodeAssist] Trying: ${$}`);try{let K=await fetch($,{method:"POST",headers:X,body:JSON.stringify(x)});if(!K.ok){C(`[loadCodeAssist] Failed: ${K.status} ${K.statusText}`);continue}let Y=await K.json();return C(`[loadCodeAssist] Success: ${JSON.stringify(Y)}`),Y}catch(K){C(`[loadCodeAssist] Error: ${K}`);continue}}return C("[loadCodeAssist] All endpoints failed"),null}async function k3(Z,Q,J,x=10,X=5000){C(`[onboardUser] Starting with tierId=${Q}, projectId=${J||"none"}`);let W={...J9};if(J)W.duetProject=J;let $={tierId:Q,metadata:W};if(!r1(Q)){if(!J){C("[onboardUser] Non-FREE tier requires projectId, returning undefined");return}$.cloudaicompanionProject=J}let K={Authorization:`Bearer ${Z}`,"Content-Type":"application/json","User-Agent":m["User-Agent"],"X-Goog-Api-Client":m["X-Goog-Api-Client"],"Client-Metadata":m["Client-Metadata"]};C(`[onboardUser] Request body: ${JSON.stringify($)}`);for(let Y=0;Y<x;Y++){C(`[onboardUser] Attempt ${Y+1}/${x}`);for(let U of i){let H=`${U}/${x1}:onboardUser`;C(`[onboardUser] Trying: ${H}`);try{let q=await fetch(H,{method:"POST",headers:K,body:JSON.stringify($)});if(!q.ok){let O=await q.text().catch(()=>"");C(`[onboardUser] Failed: ${q.status} ${q.statusText} - ${O}`);continue}let v=await q.json();C(`[onboardUser] Response: ${JSON.stringify(v)}`);let _=v.response?.cloudaicompanionProject?.id;if(v.done&&_)return C(`[onboardUser] Success! Got managed project ID: ${_}`),_;if(v.done&&J)return C(`[onboardUser] Done but no managed ID, using original: ${J}`),J;C(`[onboardUser] Not done yet, payload.done=${v.done}`)}catch(q){C(`[onboardUser] Error: ${q}`);continue}}if(Y<x-1)C(`[onboardUser] Waiting ${X}ms before next attempt...`),await E3(X)}C("[onboardUser] All attempts exhausted, returning undefined");return}async function X1(Z){C("[fetchProjectContext] Starting...");let Q=n.get(Z);if(Q)return C(`[fetchProjectContext] Returning cached result: ${JSON.stringify(Q)}`),Q;let J=await Q9(Z);if(J?.cloudaicompanionProject){let K=Z9(J.cloudaicompanionProject);if(C(`[fetchProjectContext] loadCodeAssist returned project: ${K}`),K){let Y={cloudaicompanionProject:K};return n.set(Z,Y),C(`[fetchProjectContext] Using loadCodeAssist project ID: ${K}`),Y}}if(!J){C("[fetchProjectContext] loadCodeAssist returned null, trying with fallback project ID");let K=await Q9(Z,g),Y=Z9(K?.cloudaicompanionProject);if(Y){let U={cloudaicompanionProject:Y};return n.set(Z,U),C(`[fetchProjectContext] Using fallback project ID: ${Y}`),U}return C(`[fetchProjectContext] Fallback also failed, using default: ${g}`),{cloudaicompanionProject:g}}let x=J.currentTier?.id;if(C(`[fetchProjectContext] currentTier: ${x}, allowedTiers: ${JSON.stringify(J.allowedTiers)}`),x&&!r1(x))return C(`[fetchProjectContext] PAID tier detected (${x}), using fallback: ${g}`),{cloudaicompanionProject:g};let W=P3(J.allowedTiers)??"free-tier";if(C(`[fetchProjectContext] Resolved tierId: ${W}`),!r1(W))return C(`[fetchProjectContext] Non-FREE tier (${W}) without project, using fallback: ${g}`),{cloudaicompanionProject:g};C(`[fetchProjectContext] FREE tier detected (${W}), calling onboardUser...`);let $=await k3(Z,W);if($){let K={cloudaicompanionProject:$,managedProjectId:$};return n.set(Z,K),C(`[fetchProjectContext] Got managed project ID: ${$}`),K}return C(`[fetchProjectContext] Failed to get managed project ID, using fallback: ${g}`),{cloudaicompanionProject:g}}function $1(Z){if(Z)n.delete(Z);else n.clear()}function s1(Z){n.clear(),C("[invalidateProjectContextByRefreshToken] Cleared all project context cache due to refresh token invalidation")}function f3(Z){return{Authorization:`Bearer ${Z}`,"Content-Type":"application/json","User-Agent":m["User-Agent"],"X-Goog-Api-Client":m["X-Goog-Api-Client"],"Client-Metadata":m["Client-Metadata"]}}function A3(Z){let Q=Z.model;if(typeof Q==="string"&&Q.trim())return Q.trim();return}function y3(Z){let Q=Z.match(/\/models\/([^:]+):/);if(Q&&Q[1])return Q[1];return}function T3(Z){let Q=Z.match(/\/models\/[^:]+:(\w+)/);if(Q&&Q[1])return Q[1];return}function X7(Z){return Z.includes("generativelanguage.googleapis.com")}function m3(Z,Q,J){return`${Z}/${x1}:${Q}${J?"?alt=sse":""}`}function I3(){return i[0]}function h3(){return`agent-${crypto.randomUUID()}`}function g3(Z){if(!Z.request||typeof Z.request!=="object")return;let Q=Z.request;if(Q.systemInstruction&&typeof Q.systemInstruction==="object"){let x=Q.systemInstruction;if(x.parts&&Array.isArray(x.parts)){let X=x.parts[0];if(X&&typeof X==="object"&&"text"in X){if(X.text.includes("<identity>"))return}}}let J=[{text:n0}];if(Q.systemInstruction&&typeof Q.systemInstruction==="object"){let x=Q.systemInstruction;if(x.parts&&Array.isArray(x.parts)){for(let X of x.parts)if(X&&typeof X==="object"&&"text"in X)J.push(X)}}Q.systemInstruction={role:"user",parts:J}}function u3(Z,Q,J,x){let X={...Z};delete X.model;let W=J;if(W.startsWith("antigravity-"))W=W.substring(12);let $=s0(W);t(`[MODEL] input="${J}" → normalized="${W}" → api="${$}"`);let K={...X,sessionId:x,toolConfig:{...X.toolConfig||{},functionCallingConfig:{mode:"VALIDATED"}}};delete K.safetySettings;let Y={project:Q,model:$,userAgent:"antigravity",requestType:"agent",requestId:h3(),request:K};return g3(Y),Y}function t(Z){if(process.env.ANTIGRAVITY_DEBUG==="1")console.log(`[antigravity-request] ${Z}`)}function p3(Z,Q){let J=Q||v1;t(`[TSIG][INJECT] signature=${J.substring(0,30)}... (${Q?"provided":"default"})`),t(`[TSIG][INJECT] body keys: ${Object.keys(Z).join(", ")}`);let x=Z.contents;if(!x||!Array.isArray(x))return t(`[TSIG][INJECT] No contents array! Has messages: ${!!Z.messages}`),Z;t(`[TSIG][INJECT] Found ${x.length} content blocks`);let X=0,W=x.map(($)=>{if(!$.parts||!Array.isArray($.parts))return $;let K=$.parts.map((Y)=>{if(Y.functionCall&&!Y.thoughtSignature)return X++,{...Y,thoughtSignature:J};return Y});return{...$,parts:K}});return t(`[TSIG][INJECT] injected signature into ${X} functionCall(s)`),{...Z,contents:W}}function l3(Z,Q){if(T3(Z)==="streamGenerateContent")return!0;if(Q.stream===!0)return!0;return!1}function x9(Z){let{url:Q,body:J,accessToken:x,projectId:X,sessionId:W,modelName:$,endpointOverride:K,thoughtSignature:Y}=Z,U=$||A3(J)||y3(Q)||"gemini-3-pro-high",H=l3(Q,J),q=H?"streamGenerateContent":"generateContent",v=K||I3(),_=m3(v,q,H),O=f3(x);if(H)O.Accept="text/event-stream";let z=p3(J,Y),V=u3(z,X,U,W);return{url:_,headers:O,body:V,streaming:H}}function $7(Z){return{...Z,Accept:"text/event-stream"}}function X9(Z){let Q=Z.get("x-antigravity-cached-content-token-count"),J=Z.get("x-antigravity-total-token-count"),x=Z.get("x-antigravity-prompt-token-count"),X=Z.get("x-antigravity-candidates-token-count");if(!Q&&!J&&!x&&!X)return;let W={};if(Q){let $=parseInt(Q,10);if(!isNaN($))W.cachedContentTokenCount=$}if(J){let $=parseInt(J,10);if(!isNaN($))W.totalTokenCount=$}if(x){let $=parseInt(x,10);if(!isNaN($))W.promptTokenCount=$}if(X){let $=parseInt(X,10);if(!isNaN($))W.candidatesTokenCount=$}return Object.keys(W).length>0?W:void 0}function t1(Z,Q){let J=Z.headers.get("Retry-After");if(J){let K=parseFloat(J);if(!isNaN(K)&&K>0)return Math.ceil(K*1000)}let x=Z.headers.get("retry-after-ms");if(x){let K=parseInt(x,10);if(!isNaN(K)&&K>0)return K}if(!Q)return;let X=Q.error;if(!X?.details||!Array.isArray(X.details))return;let W=X.details.find((K)=>K["@type"]==="type.googleapis.com/google.rpc.RetryInfo");if(!W?.retryDelay||typeof W.retryDelay!=="string")return;let $=W.retryDelay.match(/^([\d.]+)s$/);if($?.[1]){let K=parseFloat($[1]);if(!isNaN(K)&&K>0)return Math.ceil(K*1000)}return}function $9(Z){try{let Q=JSON.parse(Z);if(Q.error&&typeof Q.error==="object"){let J=Q.error;return{message:String(J.message||"Unknown error"),type:J.type?String(J.type):void 0,code:J.code}}if(Q.message&&typeof Q.message==="string")return{message:Q.message,type:Q.type?String(Q.type):void 0,code:Q.code};return}catch{return{message:Z||"Unknown error"}}}async function W9(Z){let Q=new Headers(Z.headers),J=X9(Q);if(!Z.ok){let W=await Z.text(),$=$9(W),K=t1(Z,$?{error:$}:void 0),Y;try{Y=JSON.parse(W)}catch{Y={error:{message:W}}}let U=t1(Z,Y)??K;if(U)Q.set("Retry-After",String(Math.ceil(U/1000))),Q.set("retry-after-ms",String(U));return{response:new Response(W,{status:Z.status,statusText:Z.statusText,headers:Q}),usage:J,retryAfterMs:U,error:$}}if(!(Z.headers.get("content-type")??"").includes("application/json"))return{response:Z,usage:J};try{let W=await Z.text(),$=JSON.parse(W),K=$;if($.response!==void 0)K=$.response;return{response:new Response(JSON.stringify(K),{status:Z.status,statusText:Z.statusText,headers:Q}),usage:J}}catch{return{response:Z,usage:J}}}function e1(Z){if(!Z.startsWith("data:"))return Z;let Q=Z.slice(5).trim();if(!Q||Q==="[DONE]")return Z;try{let J=JSON.parse(Q);if(J.response!==void 0)return`data: ${JSON.stringify(J.response)}`;return Z}catch{return Z}}function K7(Z){return Z.split(`
25
- `).map(e1).join(`
26
- `)}function c3(){let Z=new TextDecoder,Q=new TextEncoder,J="";return new TransformStream({transform(x,X){J+=Z.decode(x,{stream:!0});let W=J.split(`
27
- `);J=W.pop()||"";for(let $ of W){let K=e1($);X.enqueue(Q.encode(K+`
28
- `))}},flush(x){if(J){let X=e1(J);x.enqueue(Q.encode(X))}}})}async function K9(Z){let Q=new Headers(Z.headers),J=X9(Q);if(!Z.ok){let K=await Z.text(),Y=$9(K),U;try{U=JSON.parse(K)}catch{U={error:{message:K}}}let H=t1(Z,U);if(H)Q.set("Retry-After",String(Math.ceil(H/1000))),Q.set("retry-after-ms",String(H));return{response:new Response(K,{status:Z.status,statusText:Z.statusText,headers:Q}),usage:J,retryAfterMs:H,error:Y}}if(!((Z.headers.get("content-type")??"").includes("text/event-stream")||Z.url.includes("alt=sse"))){let K=await Z.text();try{let Y=JSON.parse(K),U=Y;if(Y.response!==void 0)U=Y.response;return{response:new Response(JSON.stringify(U),{status:Z.status,statusText:Z.statusText,headers:Q}),usage:J}}catch{return{response:new Response(K,{status:Z.status,statusText:Z.statusText,headers:Q}),usage:J}}}if(!Z.body)return{response:Z,usage:J};Q.delete("content-length"),Q.delete("content-encoding"),Q.set("content-type","text/event-stream; charset=utf-8");let W=c3(),$=Z.body.pipeThrough(W);return{response:new Response($,{status:Z.status,statusText:Z.statusText,headers:Q}),usage:J}}function Y9(Z){return(Z.headers.get("content-type")??"").includes("text/event-stream")||Z.url.includes("alt=sse")}function Y7(Z){let Q=Z.split(`
29
- `),J;for(let x of Q){if(!x.startsWith("data:"))continue;let X=x.slice(5).trim();if(!X||X==="[DONE]")continue;try{let W=JSON.parse(X),K=(W.response||W).candidates;if(K&&Array.isArray(K))for(let Y of K){let H=Y.content?.parts;if(H&&Array.isArray(H))for(let q of H){let v=q.thoughtSignature||q.thought_signature;if(v&&typeof v==="string")J=v}}}catch{}}return J}function z7(Z){let Q=Z.split(`
30
- `);for(let J of Q){if(!J.startsWith("data:"))continue;let x=J.slice(5).trim();if(!x||x==="[DONE]")continue;try{let X=JSON.parse(x);if(X.usageMetadata&&typeof X.usageMetadata==="object"){let W=X.usageMetadata;return{prompt_tokens:typeof W.promptTokenCount==="number"?W.promptTokenCount:0,completion_tokens:typeof W.candidatesTokenCount==="number"?W.candidatesTokenCount:0,total_tokens:typeof W.totalTokenCount==="number"?W.totalTokenCount:0}}if(X.response&&typeof X.response==="object"){let W=X.response;if(W.usageMetadata&&typeof W.usageMetadata==="object"){let $=W.usageMetadata;return{prompt_tokens:typeof $.promptTokenCount==="number"?$.promptTokenCount:0,completion_tokens:typeof $.candidatesTokenCount==="number"?$.candidatesTokenCount:0,total_tokens:typeof $.totalTokenCount==="number"?$.totalTokenCount:0}}}if(X.usage&&typeof X.usage==="object"){let W=X.usage;return{prompt_tokens:typeof W.prompt_tokens==="number"?W.prompt_tokens:0,completion_tokens:typeof W.completion_tokens==="number"?W.completion_tokens:0,total_tokens:typeof W.total_tokens==="number"?W.total_tokens:0}}}catch{}}return}function Z0(Z){if(!Z||Z.length===0)return;let Q=[];for(let J of Z){if(!J||typeof J!=="object")continue;let x=J.type??"function";if(x==="function"&&J.function){let X={name:J.function.name};if(J.function.description)X.description=J.function.description;if(J.function.parameters)X.parameters=J.function.parameters;else X.parameters={type:"object",properties:{}};Q.push(X)}else if(x!=="function"&&process.env.ANTIGRAVITY_DEBUG==="1")console.warn(`[antigravity-tools] Unsupported tool type: "${x}". Tool will be skipped.`)}if(Q.length===0)return;return{functionDeclarations:Q}}function q7(Z){if(!Z||Z.length===0)return[];let Q=[],J=0;for(let x of Z)if(x.functionCall){J++;let X={id:`call_${Date.now()}_${J}`,type:"function",function:{name:x.functionCall.name,arguments:JSON.stringify(x.functionCall.args??{})}};Q.push(X)}return Q}function U7(Z,Q){return{id:Q??`call_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,type:"function",function:{name:Z.name,arguments:JSON.stringify(Z.args??{})}}}function O7(Z){if(!Z||Z.length===0)return!1;return Z.some((Q)=>Q.type==="function"&&Q.function)}function V7(Z){if(!Z||typeof Z!=="object")return[];let Q=Z;if(Array.isArray(Q.functionDeclarations)&&Q.functionDeclarations.length>0)return Q.functionDeclarations;if(Array.isArray(Z))return Z0(Z)?.functionDeclarations??[];return[]}var S1=16000;function z9(Z){if(!Z||typeof Z!=="string")return!1;let Q=Z.toLowerCase();if(Q.endsWith("-high"))return!0;if(Q.includes("thinking"))return!0;return!1}function D7(Z){if(!Z||typeof Z!=="string")return!1;let Q=Z.toLowerCase();return Q.includes("thinking")||Q.includes("gemini-3")||Q.endsWith("-high")}function H9(Z){if(Z.thought===!0)return!0;if(Z.type==="thinking"||Z.type==="reasoning")return!0;return!1}function i3(Z){if(Z.thought===!0&&Z.thoughtSignature)return!0;if((Z.type==="thinking"||Z.type==="reasoning")&&Z.signature)return!0;return!1}function q9(Z){let Q=[];if(Z.candidates&&Array.isArray(Z.candidates))for(let x of Z.candidates){let X=x.content?.parts;if(!X||!Array.isArray(X))continue;for(let W=0;W<X.length;W++){let $=X[W];if(!$||typeof $!=="object")continue;if(H9($)){let K={text:$.text||"",index:Q.length};if($.thought===!0&&$.thoughtSignature)K.signature=$.thoughtSignature;else if($.signature)K.signature=$.signature;Q.push(K)}}}if(Z.content&&Array.isArray(Z.content))for(let x=0;x<Z.content.length;x++){let X=Z.content[x];if(!X||typeof X!=="object")continue;if(X.type==="thinking"||X.type==="reasoning")Q.push({text:X.text||"",signature:X.signature,index:Q.length})}let J=Q.map((x)=>x.text).join(`
31
-
32
- `);return{thinkingBlocks:Q,combinedThinking:J,hasThinking:Q.length>0}}function M7(Z){if(!Z||!Array.isArray(Z)||Z.length===0)return[];return Z.map((Q)=>{let J={type:"reasoning",text:Q.text||""};if(Q.signature)J.signature=Q.signature;return J})}function d3(Z){if(!Z||typeof Z!=="object")return Z;let Q=Z.content;if(!Q||typeof Q!=="object"||!Array.isArray(Q.parts))return Z;let J=[],x=Q.parts.map((W)=>{if(W&&typeof W==="object"&&W.thought===!0)return J.push(W.text||""),{...W,type:"reasoning",thought:void 0};return W}),X={...Z,content:{...Q,parts:x}};if(J.length>0)X.reasoning_content=J.join(`
33
-
34
- `);return X}function a3(Z){if(!Z||!Array.isArray(Z))return Z;return Z.map((Q)=>{if(Q&&typeof Q==="object"&&Q.type==="thinking")return{type:"reasoning",text:Q.text||"",...Q.signature?{signature:Q.signature}:{}};return Q})}function F7(Z){if(!Z||!Array.isArray(Z))return Z;return Z.filter((Q)=>{if(!Q||typeof Q!=="object")return!0;if(H9(Q))return i3(Q);return!0})}function U9(Z){if(!Z||typeof Z!=="object")return Z;let Q={...Z};if(Array.isArray(Q.candidates))Q.candidates=Q.candidates.map(d3);if(Array.isArray(Q.content))Q.content=a3(Q.content);return Q}function N7(Z){if(!Z||typeof Z!=="object")return;let Q=Z,J=Q.thinkingBudget??Q.thinking_budget,x=Q.includeThoughts??Q.include_thoughts,X=typeof J==="number"&&Number.isFinite(J)?J:void 0,W=typeof x==="boolean"?x:void 0,$=X!==void 0&&X>0,K=$?W??!1:!1;if(!$&&K===!1&&X===void 0&&W===void 0)return;let Y={};if(X!==void 0)Y.thinkingBudget=X;if(K!==void 0)Y.includeThoughts=K;return Y}function O9(Z,Q,J){let x=Q?.thinkingConfig??J?.thinkingConfig??Z.thinkingConfig;if(x&&typeof x==="object"){let $=x;return{includeThoughts:Boolean($.includeThoughts),thinkingBudget:typeof $.thinkingBudget==="number"?$.thinkingBudget:S1}}let X=J?.thinking??Z.thinking;if(X&&typeof X==="object"){let $=X;if($.type==="enabled"||$.budgetTokens)return{includeThoughts:!0,thinkingBudget:typeof $.budgetTokens==="number"?$.budgetTokens:S1}}let W=Z.reasoning_effort??J?.reasoning_effort;if(W&&typeof W==="string"){let $=o0[W];if($!==void 0){if(W==="none")return{deleteThinkingConfig:!0};return{includeThoughts:!0,thinkingBudget:$}}}return}function S7(Z,Q,J,x){if(J&&x)return{includeThoughts:!1,thinkingBudget:0};if(Q&&!Z)return{includeThoughts:!0,thinkingBudget:S1};return Z}function V9(Z){let Q=r0(Z);if(a1[Q])return a1[Q];if(Q.includes("gemini-3"))return{thinkingType:"levels",min:128,max:32768,zeroAllowed:!1,levels:["low","high"]};if(Q.includes("gemini-2.5"))return{thinkingType:"numeric",min:0,max:24576,zeroAllowed:!0};if(Q.includes("claude"))return{thinkingType:"numeric",min:1024,max:200000,zeroAllowed:!1};return}function n3(Z,Q){let J=V9(Q);if(!J?.levels)return"medium";let x={512:"minimal",1024:"low",8192:"medium",24576:"high"};if(x[Z])return x[Z];return J.levels[J.levels.length-1]||"high"}function G9(Z,Q,J){if("deleteThinkingConfig"in J&&J.deleteThinkingConfig){if(Z.request&&typeof Z.request==="object"){let K=Z.request;if(K.generationConfig&&typeof K.generationConfig==="object"){let Y=K.generationConfig;delete Y.thinkingConfig}}return}let x=V9(Q);if(!x)return;if(!Z.request||typeof Z.request!=="object")return;let X=Z.request;if(!X.generationConfig||typeof X.generationConfig!=="object")X.generationConfig={};let W=X.generationConfig;W.thinkingConfig={};let $=W.thinkingConfig;if($.include_thoughts=!0,x.thinkingType==="numeric")$.thinkingBudget=J.thinkingBudget;else if(x.thinkingType==="levels"){let K=J.thinkingBudget??S1,Y=n3(K,Q);Y=Y.toLowerCase(),$.thinkingLevel=Y}}var j1=new Map,W1=new Map;function v9(Z,Q){if(Z&&Q)j1.set(Z,Q)}function D9(Z){return j1.get(Z)}function B7(Z){j1.delete(Z)}function M9(Z,Q){if(Q)return W1.set(Z,Q),Q;let J=W1.get(Z);if(J)return J;let X=`-${Math.floor(Math.random()*Number.MAX_SAFE_INTEGER)}`;return W1.set(Z,X),X}function R7(Z){W1.delete(Z)}function _7(Z){j1.delete(Z),W1.delete(Z)}function K1(Z){if(process.env.ANTIGRAVITY_DEBUG==="1")console.log(`[antigravity-converter] ${Z}`)}function o3(Z,Q){K1(`Converting ${Z.length} messages, signature: ${Q?"present":"none"}`);let J=[];for(let x of Z){if(x.role==="system"){J.push({role:"user",parts:[{text:typeof x.content==="string"?x.content:""}]});continue}if(x.role==="user"){let X=F9(x.content);J.push({role:"user",parts:X});continue}if(x.role==="assistant"){let X=[];if(x.content)X.push(...F9(x.content));if(x.tool_calls&&x.tool_calls.length>0)for(let W of x.tool_calls){let $={};try{$=JSON.parse(W.function.arguments)}catch{$={}}let K={functionCall:{name:W.function.name,args:$}};K.thoughtSignature=Q||v1,K1(`Injected signature into functionCall: ${W.function.name} (${Q?"provided":"default"})`),X.push(K)}if(X.length>0)J.push({role:"model",parts:X});continue}if(x.role==="tool"){let X={};try{X=typeof x.content==="string"?JSON.parse(x.content):{result:x.content}}catch{X={result:x.content}}let W=x.name||"unknown";J.push({role:"user",parts:[{functionResponse:{name:W,response:X}}]});continue}}return K1(`Converted to ${J.length} content blocks`),J}function F9(Z){if(!Z)return[{text:""}];if(typeof Z==="string")return[{text:Z}];let Q=[];for(let J of Z)if(J.type==="text"&&J.text)Q.push({text:J.text});else if(J.type==="image_url"&&J.image_url?.url){let x=J.image_url.url;if(x.startsWith("data:")){let X=x.match(/^data:([^;]+);base64,(.+)$/);if(X)Q.push({inlineData:{mimeType:X[1],data:X[2]}})}}return Q.length>0?Q:[{text:""}]}function Q0(Z){return Array.isArray(Z.messages)&&Z.messages.length>0}function N9(Z,Q){if(!Q0(Z))return K1("No messages array found, returning body as-is"),Z;let J=Z.messages,x=o3(J,Q),X={...Z};return delete X.messages,X.contents=x,K1(`Converted body: messages → contents (${x.length} blocks)`),X}import{promises as Y1}from"node:fs";import{join as j9,dirname as s3}from"node:path";import S9 from"node:path";import r3 from"node:os";function J0(){let Z=process.env.XDG_CONFIG_HOME||S9.join(r3.homedir(),".config");return S9.join(Z,"kraken-code")}function t3(){return j9(J0(),"opencode")}function B9(){return j9(t3(),"kraken-code-accounts.json")}async function B1(Z){let Q=Z??B9();try{let J=await Y1.readFile(Q,"utf-8"),x=JSON.parse(J);if(!e3(x))return null;return x}catch(J){if(J.code==="ENOENT")return null;if(J instanceof SyntaxError)return null;throw J}}async function R9(Z,Q){let J=Q??B9();await Y1.mkdir(s3(J),{recursive:!0});let x=JSON.stringify(Z,null,2),X=`${J}.tmp.${process.pid}.${Date.now()}`;await Y1.writeFile(X,x,{encoding:"utf-8",mode:384});try{await Y1.rename(X,J)}catch(W){throw await Y1.unlink(X).catch(()=>{}),W}}function e3(Z){if(typeof Z!=="object"||Z===null)return!1;let Q=Z;if(typeof Q.version!=="number")return!1;if(!Array.isArray(Q.accounts))return!1;if(typeof Q.activeIndex!=="number")return!1;return!0}function x0(Z,Q){let J=Z.rateLimits[Q];return J!==void 0&&Date.now()<J}class o{accounts=[];currentIndex=0;activeIndex=0;constructor(Z,Q){if(Q&&Q.accounts.length>0){let J=typeof Q.activeIndex==="number"&&Q.activeIndex>=0&&Q.activeIndex<Q.accounts.length?Q.activeIndex:0;this.activeIndex=J,this.currentIndex=J,this.accounts=Q.accounts.map((x,X)=>({index:X,parts:{refreshToken:x.refreshToken,projectId:x.projectId,managedProjectId:x.managedProjectId},access:X===J?Z.access:x.accessToken,expires:X===J?Z.expires:x.expiresAt,rateLimits:x.rateLimits??{},lastUsed:0,email:x.email,tier:x.tier}))}else{this.activeIndex=0,this.currentIndex=0;let J=s(Z.refresh);this.accounts.push({index:0,parts:J,access:Z.access,expires:Z.expires,rateLimits:{},lastUsed:0})}}getAccountCount(){return this.accounts.length}getCurrentAccount(){if(this.activeIndex>=0&&this.activeIndex<this.accounts.length)return this.accounts[this.activeIndex]??null;return null}getAccounts(){return this.accounts.map((Z)=>({...Z}))}getCurrentOrNextForFamily(Z){for(let x of this.accounts)this.clearExpiredRateLimits(x);let Q=this.getCurrentAccount();if(Q){if(!x0(Q,Z)){if(!(Q.tier!=="paid"&&this.accounts.some((X)=>X.tier==="paid"&&!x0(X,Z))))return Q.lastUsed=Date.now(),Q}}let J=this.getNextForFamily(Z);if(J)this.activeIndex=J.index;return J}getNextForFamily(Z){let Q=this.accounts.filter((W)=>!x0(W,Z));if(Q.length===0)return null;let J=Q.filter((W)=>W.tier==="paid"),x=J.length>0?J:Q,X=x[this.currentIndex%x.length];if(!X)return null;return this.currentIndex++,X.lastUsed=Date.now(),X}markRateLimited(Z,Q,J){Z.rateLimits[J]=Date.now()+Q}clearExpiredRateLimits(Z){let Q=Date.now();for(let J of l0)if(Z.rateLimits[J]!==void 0&&Q>=Z.rateLimits[J])delete Z.rateLimits[J]}addAccount(Z,Q,J,x,X){this.accounts.push({index:this.accounts.length,parts:Z,access:Q,expires:J,rateLimits:{},lastUsed:0,email:x,tier:X})}removeAccount(Z){if(Z<0||Z>=this.accounts.length)return!1;if(this.accounts.splice(Z,1),Z<this.activeIndex)this.activeIndex--;else if(Z===this.activeIndex)this.activeIndex=Math.min(this.activeIndex,Math.max(0,this.accounts.length-1));if(Z<this.currentIndex)this.currentIndex--;else if(Z===this.currentIndex)this.currentIndex=Math.min(this.currentIndex,Math.max(0,this.accounts.length-1));for(let Q=0;Q<this.accounts.length;Q++)this.accounts[Q].index=Q;return!0}async save(Z){let Q={version:1,accounts:this.accounts.map((J)=>({email:J.email??"",tier:J.tier??"free",refreshToken:J.parts.refreshToken,projectId:J.parts.projectId??"",managedProjectId:J.parts.managedProjectId,accessToken:J.access??"",expiresAt:J.expires??0,rateLimits:J.rateLimits})),activeIndex:Math.max(0,this.activeIndex)};await R9(Q,Z)}toAuthDetails(){let Z=this.getCurrentAccount()??this.accounts[0];if(!Z)throw Error("No accounts available");return{type:"oauth",refresh:this.accounts.map((J)=>d(J.parts.refreshToken,J.parts.projectId??"",J.parts.managedProjectId)).join("|||"),access:Z.access??"",expires:Z.expires??0}}}function S(Z){if(process.env.ANTIGRAVITY_DEBUG==="1")console.log(`[antigravity-fetch] ${Z}`)}function Z4(Z){if(Z===0)return!0;if(Z===429)return!0;if(Z>=500&&Z<600)return!0;return!1}function Q4(Z){let Q=Z.toLowerCase();if(Q.includes("claude")||Q.includes("anthropic"))return"claude";if(Q.includes("flash"))return"gemini-flash";if(Q.includes("gemini"))return"gemini-pro";return null}function J4(Z){if(Z.includes("claude"))return"claude";if(Z.includes("flash"))return"gemini-flash";return"gemini-pro"}function _9(Z,Q){if(Q?.body&&typeof Q.body==="string")try{let J=JSON.parse(Q.body);if(typeof J.model==="string"){let x=Q4(J.model);if(x)return x}}catch{}return J4(Z)}var x4=["PERMISSION_DENIED","does not have permission","Cloud AI Companion API has not been used","has not been enabled"];function X4(Z){return x4.some((Q)=>Z.includes(Q))}function $4(Z){return Math.min(200*Math.pow(2,Z),2000)}async function W4(Z){if(Z4(Z.status))return!0;if(Z.status===403)try{let Q=await Z.clone().text();if(Q.includes("SUBSCRIPTION_REQUIRED")||Q.includes("Gemini Code Assist license"))return S("[RETRY] 403 SUBSCRIPTION_REQUIRED detected, will retry with next endpoint"),!0}catch{}return!1}async function K4(Z){let{endpoint:Q,url:J,init:x,accessToken:X,projectId:W,sessionId:$,modelName:K,thoughtSignature:Y}=Z;S(`Trying endpoint: ${Q}`);try{let U=x.body;if(U!==void 0&&typeof U!=="string")return S(`Non-string body detected (${typeof U}), signaling pass-through`),"pass-through";let H={};if(U)try{H=JSON.parse(U)}catch{H={}}if(S(`[BODY] Keys: ${Object.keys(H).join(", ")}`),S(`[BODY] Has contents: ${!!H.contents}, Has messages: ${!!H.messages}`),H.contents){let z=H.contents;S(`[BODY] contents length: ${z.length}`),z.forEach((V,G)=>{S(`[BODY] contents[${G}].role: ${V.role}, parts: ${JSON.stringify(V.parts).substring(0,200)}`)})}if(H.tools&&Array.isArray(H.tools)){let z=Z0(H.tools);if(z)H.tools=z}if(Q0(H))S("[CONVERT] Converting OpenAI messages to Gemini contents"),H=N9(H,Y),S(`[CONVERT] After conversion - Has contents: ${!!H.contents}`);let q=x9({url:J,body:H,accessToken:X,projectId:W,sessionId:$,modelName:K,endpointOverride:Q,thoughtSignature:Y}),v=K||q.body.model,_=O9(H,H.generationConfig,H);if(_)S(`[THINKING] Applying thinking config for model: ${v}`),G9(q.body,v,_),S("[THINKING] Thinking config applied successfully");S(`[REQ] streaming=${q.streaming}, url=${q.url}`);let O=10;for(let z=0;z<=O;z++){let V=await fetch(q.url,{method:x.method||"POST",headers:q.headers,body:JSON.stringify(q.body),signal:x.signal});if(S(`[RESP] status=${V.status} content-type=${V.headers.get("content-type")??""} url=${V.url}`),V.status===401)return S("[401] Unauthorized response detected, signaling token refresh needed"),"needs-refresh";if(V.status===403)try{let G=await V.clone().text();if(X4(G)){if(z<O){let N=$4(z);S(`[RETRY] GCP permission error, retry ${z+1}/${O} after ${N}ms`),await new Promise((F)=>setTimeout(F,N));continue}S("[RETRY] GCP permission error, max retries exceeded")}}catch{}if(V.status===429){let G=V.headers.get("retry-after"),N=60000;if(G){let F=parseInt(G,10);if(!isNaN(F)&&F>0)N=F*1000;else{let B=Date.parse(G);if(!isNaN(B))N=Math.max(0,B-Date.now())}}return S(`[429] Rate limited, retry-after: ${N}ms`),await V.body?.cancel(),{type:"rate-limited",retryAfterMs:N,status:429}}if(V.status>=500&&V.status<600)return S(`[5xx] Server error ${V.status}, marking for rotation`),await V.body?.cancel(),{type:"rate-limited",retryAfterMs:300000,status:V.status};if(!V.ok&&await W4(V))return S(`Endpoint failed: ${Q} (status: ${V.status}), trying next`),null;return V}return null}catch(U){return S(`Endpoint failed: ${Q} (${U instanceof Error?U.message:"Unknown error"}), trying next`),null}}function Y4(Z){if(!Z.candidates||!Array.isArray(Z.candidates))return;for(let Q of Z.candidates){let J=Q.content?.parts;if(!J||!Array.isArray(J))continue;for(let x of J){let X=x.thoughtSignature||x.thought_signature;if(X&&typeof X==="string")return X}}return}async function z4(Z,Q,J){let x=Y9(Z),X;if(x)X=await K9(Z);else X=await W9(Z);if(x)return X.response;try{let W=await X.response.clone().text();S(`[TSIG][RESP] Response text length: ${W.length}`);let $=JSON.parse(W);S(`[TSIG][RESP] Parsed keys: ${Object.keys($).join(", ")}`),S(`[TSIG][RESP] Has candidates: ${!!$.candidates}, count: ${$.candidates?.length??0}`);let K=Y4($);if(S(`[TSIG][RESP] Signature extracted: ${K?K.substring(0,30)+"...":"NONE"}`),K)v9(J,K),S(`[TSIG][STORE] Stored signature for ${J}`);else S("[TSIG][WARN] No signature found in response!");if(z9(Q)){if(q9($).hasThinking){let U=U9($);return new Response(JSON.stringify(U),{status:X.response.status,statusText:X.response.statusText,headers:X.response.headers})}}}catch{}return X.response}function w9(Z,Q,J,x,X,W){let $=null,K=null,Y=null,U=crypto.randomUUID(),H=W||null,q=!1,v=async(_,O={})=>{S(`Intercepting request to: ${_}`);let z=await Z();if(!z.access||!z.refresh)throw Error("Antigravity: No authentication tokens available");let V=s(z.refresh);if(!q&&!H&&z.refresh){try{let j=await B1();if(j)H=new o({refresh:z.refresh,access:z.access||"",expires:z.expires||0},j),S(`[ACCOUNTS] Loaded ${H.getAccountCount()} accounts from storage`)}catch(j){S(`[ACCOUNTS] Failed to load accounts, falling back to single-account: ${j instanceof Error?j.message:"Unknown"}`)}q=!0}let G=null;if(H){let j=_9(_,O);if(G=H.getCurrentOrNextForFamily(j),G){if(S(`[ACCOUNTS] Using account ${G.index+1}/${H.getAccountCount()} for ${j}`),Y===null||Y!==G.index){if(Y!==null)S(`[ACCOUNTS] Account changed from ${Y+1} to ${G.index+1}, clearing cached state`);else if(K)S("[ACCOUNTS] First account introduced, clearing cached state");K=null,$=null}if(Y=G.index,G.access&&G.expires)z.access=G.access,z.expires=G.expires;V={refreshToken:G.parts.refreshToken,projectId:G.parts.projectId,managedProjectId:G.parts.managedProjectId}}}if(!$)$={type:"antigravity",access_token:z.access,refresh_token:V.refreshToken,expires_in:z.expires?Math.floor((z.expires-Date.now())/1000):3600,timestamp:z.expires?z.expires-3600000:Date.now()};else $.access_token=z.access,$.refresh_token=V.refreshToken;if(e0($)){S("Token expired, refreshing...");try{let j=await o1(V.refreshToken,x,X);$={type:"antigravity",access_token:j.access_token,refresh_token:j.refresh_token,expires_in:j.expires_in,timestamp:Date.now()},$1();let E=d(j.refresh_token,V.projectId||"",V.managedProjectId);await Q.set(J,{access:j.access_token,refresh:E,expires:Date.now()+j.expires_in*1000}),S("Token refreshed successfully")}catch(j){if(j instanceof l){if(j.isInvalidGrant)S("[REFRESH] Token revoked (invalid_grant), clearing caches"),s1(V.refreshToken),$1();throw Error(`Antigravity: Token refresh failed: ${j.description||j.message}${j.code?` (${j.code})`:""}`)}throw Error(`Antigravity: Token refresh failed: ${j instanceof Error?j.message:"Unknown error"}`)}}if(!K)K=(await X1($.access_token)).cloudaicompanionProject||"",S(`[PROJECT] Fetched project ID: "${K}"`);let N=K;S(`[PROJECT] Using project ID: "${N}"`);let F;if(O.body)try{let j=typeof O.body==="string"?JSON.parse(O.body):O.body;if(typeof j.model==="string")F=j.model}catch{}let B=Math.min(i.length,3),L=M9(U),b=D9(U);S(`[TSIG][GET] sessionId=${L}, signature=${b?b.substring(0,20)+"...":"none"}`);let D=!1,M=async()=>{for(let E=0;E<B;E++){let k=i[E],f=await K4({endpoint:k,url:_,init:O,accessToken:$.access_token,projectId:N,sessionId:L,modelName:F,thoughtSignature:b});if(f==="pass-through"){S("Non-string body detected, passing through with auth headers");let w={...O.headers,Authorization:`Bearer ${$.access_token}`};return fetch(_,{...O,headers:w})}if(f==="needs-refresh"){if(D)return S("[401] Already refreshed once, returning unauthorized error"),new Response(JSON.stringify({error:{message:"Authentication failed after token refresh",type:"unauthorized",code:"token_refresh_failed"}}),{status:401,statusText:"Unauthorized",headers:{"Content-Type":"application/json"}});S("[401] Refreshing token and retrying..."),D=!0;try{let w=await o1(V.refreshToken,x,X);$={type:"antigravity",access_token:w.access_token,refresh_token:w.refresh_token,expires_in:w.expires_in,timestamp:Date.now()},$1();let a=d(w.refresh_token,V.projectId||"",V.managedProjectId);return await Q.set(J,{access:w.access_token,refresh:a,expires:Date.now()+w.expires_in*1000}),S("[401] Token refreshed, retrying request..."),M()}catch(w){if(w instanceof l){if(w.isInvalidGrant)S("[401] Token revoked (invalid_grant), clearing caches"),s1(V.refreshToken),$1();return S(`[401] Token refresh failed: ${w.description||w.message}`),new Response(JSON.stringify({error:{message:w.description||w.message,type:w.isInvalidGrant?"token_revoked":"unauthorized",code:w.code||"token_refresh_failed"}}),{status:401,statusText:"Unauthorized",headers:{"Content-Type":"application/json"}})}return S(`[401] Token refresh failed: ${w instanceof Error?w.message:"Unknown error"}`),new Response(JSON.stringify({error:{message:w instanceof Error?w.message:"Unknown error",type:"unauthorized",code:"token_refresh_failed"}}),{status:401,statusText:"Unauthorized",headers:{"Content-Type":"application/json"}})}}if(f&&typeof f==="object"&&"type"in f&&f.type==="rate-limited"){let w=f,a=_9(_,O);if(w.retryAfterMs>5000&&H&&G){H.markRateLimited(G,w.retryAfterMs,a),await H.save(),S(`[RATE-LIMIT] Account ${G.index+1} rate-limited for ${a}, rotating...`);let u=H.getCurrentOrNextForFamily(a);if(u&&u.index!==G.index)return S(`[RATE-LIMIT] Switched to account ${u.index+1}`),v(_,O)}if(E===B-1){let u=w.status>=500;return S(`[RATE-LIMIT] No alternative account or endpoint, returning ${w.status}`),new Response(JSON.stringify({error:{message:u?`Server error (${w.status}). Retry after ${Math.ceil(w.retryAfterMs/1000)} seconds`:`Rate limited. Retry after ${Math.ceil(w.retryAfterMs/1000)} seconds`,type:u?"server_error":"rate_limit",code:u?"server_error":"rate_limited"}}),{status:w.status,statusText:u?"Server Error":"Too Many Requests",headers:{"Content-Type":"application/json","Retry-After":String(Math.ceil(w.retryAfterMs/1000))}})}S("[RATE-LIMIT] No alternative account available, trying next endpoint");continue}if(f&&f instanceof Response)return S(`Success with endpoint: ${k}`),await z4(f,F||"",U)}let j=`All Antigravity endpoints failed after ${B} attempts`;return S(j),new Response(JSON.stringify({error:{message:j,type:"endpoint_failure",code:"all_endpoints_failed"}}),{status:503,statusText:"Service Unavailable",headers:{"Content-Type":"application/json"}})};return M()};return v}var P1=V1($0(),1);import{stdout as f9,stdin as G4}from"node:process";var y=V1(K0(),1);import v4 from"node:readline";var D4=(Z)=>Z===161||Z===164||Z===167||Z===168||Z===170||Z===173||Z===174||Z>=176&&Z<=180||Z>=182&&Z<=186||Z>=188&&Z<=191||Z===198||Z===208||Z===215||Z===216||Z>=222&&Z<=225||Z===230||Z>=232&&Z<=234||Z===236||Z===237||Z===240||Z===242||Z===243||Z>=247&&Z<=250||Z===252||Z===254||Z===257||Z===273||Z===275||Z===283||Z===294||Z===295||Z===299||Z>=305&&Z<=307||Z===312||Z>=319&&Z<=322||Z===324||Z>=328&&Z<=331||Z===333||Z===338||Z===339||Z===358||Z===359||Z===363||Z===462||Z===464||Z===466||Z===468||Z===470||Z===472||Z===474||Z===476||Z===593||Z===609||Z===708||Z===711||Z>=713&&Z<=715||Z===717||Z===720||Z>=728&&Z<=731||Z===733||Z===735||Z>=768&&Z<=879||Z>=913&&Z<=929||Z>=931&&Z<=937||Z>=945&&Z<=961||Z>=963&&Z<=969||Z===1025||Z>=1040&&Z<=1103||Z===1105||Z===8208||Z>=8211&&Z<=8214||Z===8216||Z===8217||Z===8220||Z===8221||Z>=8224&&Z<=8226||Z>=8228&&Z<=8231||Z===8240||Z===8242||Z===8243||Z===8245||Z===8251||Z===8254||Z===8308||Z===8319||Z>=8321&&Z<=8324||Z===8364||Z===8451||Z===8453||Z===8457||Z===8467||Z===8470||Z===8481||Z===8482||Z===8486||Z===8491||Z===8531||Z===8532||Z>=8539&&Z<=8542||Z>=8544&&Z<=8555||Z>=8560&&Z<=8569||Z===8585||Z>=8592&&Z<=8601||Z===8632||Z===8633||Z===8658||Z===8660||Z===8679||Z===8704||Z===8706||Z===8707||Z===8711||Z===8712||Z===8715||Z===8719||Z===8721||Z===8725||Z===8730||Z>=8733&&Z<=8736||Z===8739||Z===8741||Z>=8743&&Z<=8748||Z===8750||Z>=8756&&Z<=8759||Z===8764||Z===8765||Z===8776||Z===8780||Z===8786||Z===8800||Z===8801||Z>=8804&&Z<=8807||Z===8810||Z===8811||Z===8814||Z===8815||Z===8834||Z===8835||Z===8838||Z===8839||Z===8853||Z===8857||Z===8869||Z===8895||Z===8978||Z>=9312&&Z<=9449||Z>=9451&&Z<=9547||Z>=9552&&Z<=9587||Z>=9600&&Z<=9615||Z>=9618&&Z<=9621||Z===9632||Z===9633||Z>=9635&&Z<=9641||Z===9650||Z===9651||Z===9654||Z===9655||Z===9660||Z===9661||Z===9664||Z===9665||Z>=9670&&Z<=9672||Z===9675||Z>=9678&&Z<=9681||Z>=9698&&Z<=9701||Z===9711||Z===9733||Z===9734||Z===9737||Z===9742||Z===9743||Z===9756||Z===9758||Z===9792||Z===9794||Z===9824||Z===9825||Z>=9827&&Z<=9829||Z>=9831&&Z<=9834||Z===9836||Z===9837||Z===9839||Z===9886||Z===9887||Z===9919||Z>=9926&&Z<=9933||Z>=9935&&Z<=9939||Z>=9941&&Z<=9953||Z===9955||Z===9960||Z===9961||Z>=9963&&Z<=9969||Z===9972||Z>=9974&&Z<=9977||Z===9979||Z===9980||Z===9982||Z===9983||Z===10045||Z>=10102&&Z<=10111||Z>=11094&&Z<=11097||Z>=12872&&Z<=12879||Z>=57344&&Z<=63743||Z>=65024&&Z<=65039||Z===65533||Z>=127232&&Z<=127242||Z>=127248&&Z<=127277||Z>=127280&&Z<=127337||Z>=127344&&Z<=127373||Z===127375||Z===127376||Z>=127387&&Z<=127404||Z>=917760&&Z<=917999||Z>=983040&&Z<=1048573||Z>=1048576&&Z<=1114109,M4=(Z)=>Z===12288||Z>=65281&&Z<=65376||Z>=65504&&Z<=65510,F4=(Z)=>Z>=4352&&Z<=4447||Z===8986||Z===8987||Z===9001||Z===9002||Z>=9193&&Z<=9196||Z===9200||Z===9203||Z===9725||Z===9726||Z===9748||Z===9749||Z>=9800&&Z<=9811||Z===9855||Z===9875||Z===9889||Z===9898||Z===9899||Z===9917||Z===9918||Z===9924||Z===9925||Z===9934||Z===9940||Z===9962||Z===9970||Z===9971||Z===9973||Z===9978||Z===9981||Z===9989||Z===9994||Z===9995||Z===10024||Z===10060||Z===10062||Z>=10067&&Z<=10069||Z===10071||Z>=10133&&Z<=10135||Z===10160||Z===10175||Z===11035||Z===11036||Z===11088||Z===11093||Z>=11904&&Z<=11929||Z>=11931&&Z<=12019||Z>=12032&&Z<=12245||Z>=12272&&Z<=12287||Z>=12289&&Z<=12350||Z>=12353&&Z<=12438||Z>=12441&&Z<=12543||Z>=12549&&Z<=12591||Z>=12593&&Z<=12686||Z>=12688&&Z<=12771||Z>=12783&&Z<=12830||Z>=12832&&Z<=12871||Z>=12880&&Z<=19903||Z>=19968&&Z<=42124||Z>=42128&&Z<=42182||Z>=43360&&Z<=43388||Z>=44032&&Z<=55203||Z>=63744&&Z<=64255||Z>=65040&&Z<=65049||Z>=65072&&Z<=65106||Z>=65108&&Z<=65126||Z>=65128&&Z<=65131||Z>=94176&&Z<=94180||Z===94192||Z===94193||Z>=94208&&Z<=100343||Z>=100352&&Z<=101589||Z>=101632&&Z<=101640||Z>=110576&&Z<=110579||Z>=110581&&Z<=110587||Z===110589||Z===110590||Z>=110592&&Z<=110882||Z===110898||Z>=110928&&Z<=110930||Z===110933||Z>=110948&&Z<=110951||Z>=110960&&Z<=111355||Z===126980||Z===127183||Z===127374||Z>=127377&&Z<=127386||Z>=127488&&Z<=127490||Z>=127504&&Z<=127547||Z>=127552&&Z<=127560||Z===127568||Z===127569||Z>=127584&&Z<=127589||Z>=127744&&Z<=127776||Z>=127789&&Z<=127797||Z>=127799&&Z<=127868||Z>=127870&&Z<=127891||Z>=127904&&Z<=127946||Z>=127951&&Z<=127955||Z>=127968&&Z<=127984||Z===127988||Z>=127992&&Z<=128062||Z===128064||Z>=128066&&Z<=128252||Z>=128255&&Z<=128317||Z>=128331&&Z<=128334||Z>=128336&&Z<=128359||Z===128378||Z===128405||Z===128406||Z===128420||Z>=128507&&Z<=128591||Z>=128640&&Z<=128709||Z===128716||Z>=128720&&Z<=128722||Z>=128725&&Z<=128727||Z>=128732&&Z<=128735||Z===128747||Z===128748||Z>=128756&&Z<=128764||Z>=128992&&Z<=129003||Z===129008||Z>=129292&&Z<=129338||Z>=129340&&Z<=129349||Z>=129351&&Z<=129535||Z>=129648&&Z<=129660||Z>=129664&&Z<=129672||Z>=129680&&Z<=129725||Z>=129727&&Z<=129733||Z>=129742&&Z<=129755||Z>=129760&&Z<=129768||Z>=129776&&Z<=129784||Z>=131072&&Z<=196605||Z>=196608&&Z<=262141,Y0=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/y,w1=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,b1=/\t{1,1000}/y,z0=/[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/yu,C1=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,N4=/\p{M}+/gu,S4={limit:1/0,ellipsis:""},A9=(Z,Q={},J={})=>{let x=Q.limit??1/0,X=Q.ellipsis??"",W=Q?.ellipsisWidth??(X?A9(X,S4,J).width:0),$=J.ansiWidth??0,K=J.controlWidth??0,Y=J.tabWidth??8,U=J.ambiguousWidth??1,H=J.emojiWidth??2,q=J.fullWidthWidth??2,v=J.regularWidth??1,_=J.wideWidth??2,O=0,z=0,V=Z.length,G=0,N=!1,F=V,B=Math.max(0,x-W),L=0,b=0,D=0,M=0;Z:for(;;){if(b>L||z>=V&&z>O){let j=Z.slice(L,b)||Z.slice(O,z);G=0;for(let E of j.replaceAll(N4,"")){let k=E.codePointAt(0)||0;if(M4(k)?M=q:F4(k)?M=_:U!==v&&D4(k)?M=U:M=v,D+M>B&&(F=Math.min(F,Math.max(L,O)+G)),D+M>x){N=!0;break Z}G+=E.length,D+=M}L=b=0}if(z>=V)break;if(C1.lastIndex=z,C1.test(Z)){if(G=C1.lastIndex-z,M=G*v,D+M>B&&(F=Math.min(F,z+Math.floor((B-D)/v))),D+M>x){N=!0;break}D+=M,L=O,b=z,z=O=C1.lastIndex;continue}if(Y0.lastIndex=z,Y0.test(Z)){if(D+$>B&&(F=Math.min(F,z)),D+$>x){N=!0;break}D+=$,L=O,b=z,z=O=Y0.lastIndex;continue}if(w1.lastIndex=z,w1.test(Z)){if(G=w1.lastIndex-z,M=G*K,D+M>B&&(F=Math.min(F,z+Math.floor((B-D)/K))),D+M>x){N=!0;break}D+=M,L=O,b=z,z=O=w1.lastIndex;continue}if(b1.lastIndex=z,b1.test(Z)){if(G=b1.lastIndex-z,M=G*Y,D+M>B&&(F=Math.min(F,z+Math.floor((B-D)/Y))),D+M>x){N=!0;break}D+=M,L=O,b=z,z=O=b1.lastIndex;continue}if(z0.lastIndex=z,z0.test(Z)){if(D+H>B&&(F=Math.min(F,z)),D+H>x){N=!0;break}D+=H,L=O,b=z,z=O=z0.lastIndex;continue}z+=1}return{width:N?B:D,index:N?F:V,truncated:N,ellipsed:N&&x>=W}},j4={limit:1/0,ellipsis:"",ellipsisWidth:0},z1=(Z,Q={})=>A9(Z,j4,Q).width,k1="\x1B",y9="›",B4=39,O0="\x07",T9="[",R4="]",m9="m",V0=`${R4}8;;`,P9=new RegExp(`(?:\\${T9}(?<code>\\d+)m|\\${V0}(?<uri>.*)${O0})`,"y"),_4=(Z)=>{if(Z>=30&&Z<=37||Z>=90&&Z<=97)return 39;if(Z>=40&&Z<=47||Z>=100&&Z<=107)return 49;if(Z===1||Z===2)return 22;if(Z===3)return 23;if(Z===4)return 24;if(Z===7)return 27;if(Z===8)return 28;if(Z===9)return 29;if(Z===0)return 0},E9=(Z)=>`${k1}${T9}${Z}${m9}`,k9=(Z)=>`${k1}${V0}${Z}${O0}`,w4=(Z)=>Z.map((Q)=>z1(Q)),H0=(Z,Q,J)=>{let x=Q[Symbol.iterator](),X=!1,W=!1,$=Z.at(-1),K=$===void 0?0:z1($),Y=x.next(),U=x.next(),H=0;for(;!Y.done;){let q=Y.value,v=z1(q);K+v<=J?Z[Z.length-1]+=q:(Z.push(q),K=0),(q===k1||q===y9)&&(X=!0,W=Q.startsWith(V0,H+1)),X?W?q===O0&&(X=!1,W=!1):q===m9&&(X=!1):(K+=v,K===J&&!U.done&&(Z.push(""),K=0)),Y=U,U=x.next(),H+=q.length}$=Z.at(-1),!K&&$!==void 0&&$.length>0&&Z.length>1&&(Z[Z.length-2]+=Z.pop())},b4=(Z)=>{let Q=Z.split(" "),J=Q.length;for(;J>0&&!(z1(Q[J-1])>0);)J--;return J===Q.length?Z:Q.slice(0,J).join(" ")+Q.slice(J).join("")},C4=(Z,Q,J={})=>{if(J.trim!==!1&&Z.trim()==="")return"";let x="",X,W,$=Z.split(" "),K=w4($),Y=[""];for(let[O,z]of $.entries()){J.trim!==!1&&(Y[Y.length-1]=(Y.at(-1)??"").trimStart());let V=z1(Y.at(-1)??"");if(O!==0&&(V>=Q&&(J.wordWrap===!1||J.trim===!1)&&(Y.push(""),V=0),(V>0||J.trim===!1)&&(Y[Y.length-1]+=" ",V++)),J.hard&&K[O]>Q){let G=Q-V,N=1+Math.floor((K[O]-G-1)/Q);Math.floor((K[O]-1)/Q)<N&&Y.push(""),H0(Y,z,Q);continue}if(V+K[O]>Q&&V>0&&K[O]>0){if(J.wordWrap===!1&&V<Q){H0(Y,z,Q);continue}Y.push("")}if(V+K[O]>Q&&J.wordWrap===!1){H0(Y,z,Q);continue}Y[Y.length-1]+=z}J.trim!==!1&&(Y=Y.map((O)=>b4(O)));let U=Y.join(`
35
- `),H=U[Symbol.iterator](),q=H.next(),v=H.next(),_=0;for(;!q.done;){let O=q.value,z=v.value;if(x+=O,O===k1||O===y9){P9.lastIndex=_+1;let G=P9.exec(U)?.groups;if(G?.code!==void 0){let N=Number.parseFloat(G.code);X=N===B4?void 0:N}else G?.uri!==void 0&&(W=G.uri.length===0?void 0:G.uri)}let V=X?_4(X):void 0;z===`
36
- `?(W&&(x+=k9("")),X&&V&&(x+=E9(V))):O===`
37
- `&&(X&&V&&(x+=E9(X)),W&&(x+=k9(W))),_+=O.length,q=v,v=H.next()}return x};function q0(Z,Q,J){return String(Z).normalize().replaceAll(`\r
38
- `,`
39
- `).split(`
40
- `).map((x)=>C4(x,Q,J)).join(`
41
- `)}var L4=["up","down","left","right","space","enter","cancel"],e={actions:new Set(L4),aliases:new Map([["k","up"],["j","down"],["h","left"],["l","right"],["\x03","cancel"],["escape","cancel"]]),messages:{cancel:"Canceled",error:"Something went wrong"},withGuide:!0};function I9(Z,Q){if(typeof Z=="string")return e.aliases.get(Z)===Q;for(let J of Z)if(J!==void 0&&I9(J,Q))return!0;return!1}function P4(Z,Q){if(Z===Q)return;let J=Z.split(`
42
- `),x=Q.split(`
43
- `),X=Math.max(J.length,x.length),W=[];for(let $=0;$<X;$++)J[$]!==x[$]&&W.push($);return{lines:W,numLinesBefore:J.length,numLinesAfter:x.length,numLines:X}}var x8=globalThis.process.platform.startsWith("win"),U0=Symbol("clack:cancel");function H1(Z){return Z===U0}function L1(Z,Q){let J=Z;J.isTTY&&J.setRawMode(Q)}var G0=(Z)=>("columns"in Z)&&typeof Z.columns=="number"?Z.columns:80,v0=(Z)=>("rows"in Z)&&typeof Z.rows=="number"?Z.rows:20;function f1(Z,Q,J,x=J){let X=G0(Z??f9);return q0(Q,X-J.length,{hard:!0,trim:!1}).split(`
44
- `).map((W,$)=>`${$===0?x:J}${W}`).join(`
45
- `)}class q1{input;output;_abortSignal;rl;opts;_render;_track=!1;_prevFrame="";_subscribers=new Map;_cursor=0;state="initial";error="";value;userInput="";constructor(Z,Q=!0){let{input:J=G4,output:x=f9,render:X,signal:W,...$}=Z;this.opts=$,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=X.bind(this),this._track=Q,this._abortSignal=W,this.input=J,this.output=x}unsubscribe(){this._subscribers.clear()}setSubscriber(Z,Q){let J=this._subscribers.get(Z)??[];J.push(Q),this._subscribers.set(Z,J)}on(Z,Q){this.setSubscriber(Z,{cb:Q})}once(Z,Q){this.setSubscriber(Z,{cb:Q,once:!0})}emit(Z,...Q){let J=this._subscribers.get(Z)??[],x=[];for(let X of J)X.cb(...Q),X.once&&x.push(()=>J.splice(J.indexOf(X),1));for(let X of x)X()}prompt(){return new Promise((Z)=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state="cancel",this.close(),Z(U0);this._abortSignal.addEventListener("abort",()=>{this.state="cancel",this.close()},{once:!0})}this.rl=v4.createInterface({input:this.input,tabSize:2,prompt:"",escapeCodeTimeout:50,terminal:!0}),this.rl.prompt(),this.opts.initialUserInput!==void 0&&this._setUserInput(this.opts.initialUserInput,!0),this.input.on("keypress",this.onKeypress),L1(this.input,!0),this.output.on("resize",this.render),this.render(),this.once("submit",()=>{this.output.write(y.cursor.show),this.output.off("resize",this.render),L1(this.input,!1),Z(this.value)}),this.once("cancel",()=>{this.output.write(y.cursor.show),this.output.off("resize",this.render),L1(this.input,!1),Z(U0)})})}_isActionKey(Z,Q){return Z==="\t"}_setValue(Z){this.value=Z,this.emit("value",this.value)}_setUserInput(Z,Q){this.userInput=Z??"",this.emit("userInput",this.userInput),Q&&this._track&&this.rl&&(this.rl.write(this.userInput),this._cursor=this.rl.cursor)}_clearUserInput(){this.rl?.write(null,{ctrl:!0,name:"u"}),this._setUserInput("")}onKeypress(Z,Q){if(this._track&&Q.name!=="return"&&(Q.name&&this._isActionKey(Z,Q)&&this.rl?.write(null,{ctrl:!0,name:"h"}),this._cursor=this.rl?.cursor??0,this._setUserInput(this.rl?.line)),this.state==="error"&&(this.state="active"),Q?.name&&(!this._track&&e.aliases.has(Q.name)&&this.emit("cursor",e.aliases.get(Q.name)),e.actions.has(Q.name)&&this.emit("cursor",Q.name)),Z&&(Z.toLowerCase()==="y"||Z.toLowerCase()==="n")&&this.emit("confirm",Z.toLowerCase()==="y"),this.emit("key",Z?.toLowerCase(),Q),Q?.name==="return"){if(this.opts.validate){let J=this.opts.validate(this.value);J&&(this.error=J instanceof Error?J.message:J,this.state="error",this.rl?.write(this.userInput))}this.state!=="error"&&(this.state="submit")}I9([Z,Q?.name,Q?.sequence],"cancel")&&(this.state="cancel"),(this.state==="submit"||this.state==="cancel")&&this.emit("finalize"),this.render(),(this.state==="submit"||this.state==="cancel")&&this.close()}close(){this.input.unpipe(),this.input.removeListener("keypress",this.onKeypress),this.output.write(`
46
- `),L1(this.input,!1),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe()}restoreCursor(){let Z=q0(this._prevFrame,process.stdout.columns,{hard:!0,trim:!1}).split(`
47
- `).length-1;this.output.write(y.cursor.move(-999,Z*-1))}render(){let Z=q0(this._render(this)??"",process.stdout.columns,{hard:!0,trim:!1});if(Z!==this._prevFrame){if(this.state==="initial")this.output.write(y.cursor.hide);else{let Q=P4(this._prevFrame,Z),J=v0(this.output);if(this.restoreCursor(),Q){let x=Math.max(0,Q.numLinesAfter-J),X=Math.max(0,Q.numLinesBefore-J),W=Q.lines.find(($)=>$>=x);if(W===void 0){this._prevFrame=Z;return}if(Q.lines.length===1){this.output.write(y.cursor.move(0,W-X)),this.output.write(y.erase.lines(1));let $=Z.split(`
48
- `);this.output.write($[W]),this._prevFrame=Z,this.output.write(y.cursor.move(0,$.length-W-1));return}else if(Q.lines.length>1){if(x<X)W=x;else{let K=W-X;K>0&&this.output.write(y.cursor.move(0,K))}this.output.write(y.erase.down());let $=Z.split(`
49
- `).slice(W);this.output.write($.join(`
50
- `)),this._prevFrame=Z;return}}this.output.write(y.erase.down())}this.output.write(Z),this.state==="initial"&&(this.state="active"),this._prevFrame=Z}}}function E4(Z,Q){if(Z===void 0||Q.length===0)return 0;let J=Q.findIndex((x)=>x.value===Z);return J!==-1?J:0}function k4(Z,Q){return(Q.label??String(Q.value)).toLowerCase().includes(Z.toLowerCase())}function f4(Z,Q){if(Q)return Z?Q:Q[0]}class h9 extends q1{filteredOptions;multiple;isNavigating=!1;selectedValues=[];focusedValue;#Z=0;#J="";#x;#Q;get cursor(){return this.#Z}get userInputWithCursor(){if(!this.userInput)return P1.default.inverse(P1.default.hidden("_"));if(this._cursor>=this.userInput.length)return`${this.userInput}█`;let Z=this.userInput.slice(0,this._cursor),[Q,...J]=this.userInput.slice(this._cursor);return`${Z}${P1.default.inverse(Q)}${J.join("")}`}get options(){return typeof this.#Q=="function"?this.#Q():this.#Q}constructor(Z){super(Z),this.#Q=Z.options;let Q=this.options;this.filteredOptions=[...Q],this.multiple=Z.multiple===!0,this.#x=Z.filter??k4;let J;if(Z.initialValue&&Array.isArray(Z.initialValue)?this.multiple?J=Z.initialValue:J=Z.initialValue.slice(0,1):!this.multiple&&this.options.length>0&&(J=[this.options[0].value]),J)for(let x of J){let X=Q.findIndex((W)=>W.value===x);X!==-1&&(this.toggleSelected(x),this.#Z=X)}this.focusedValue=this.options[this.#Z]?.value,this.on("key",(x,X)=>this.#X(x,X)),this.on("userInput",(x)=>this.#$(x))}_isActionKey(Z,Q){return Z==="\t"||this.multiple&&this.isNavigating&&Q.name==="space"&&Z!==void 0&&Z!==""}#X(Z,Q){let J=Q.name==="up",x=Q.name==="down",X=Q.name==="return";J||x?(this.#Z=Math.max(0,Math.min(this.#Z+(J?-1:1),this.filteredOptions.length-1)),this.focusedValue=this.filteredOptions[this.#Z]?.value,this.multiple||(this.selectedValues=[this.focusedValue]),this.isNavigating=!0):X?this.value=f4(this.multiple,this.selectedValues):this.multiple?this.focusedValue!==void 0&&(Q.name==="tab"||this.isNavigating&&Q.name==="space")?this.toggleSelected(this.focusedValue):this.isNavigating=!1:(this.focusedValue&&(this.selectedValues=[this.focusedValue]),this.isNavigating=!1)}deselectAll(){this.selectedValues=[]}toggleSelected(Z){this.filteredOptions.length!==0&&(this.multiple?this.selectedValues.includes(Z)?this.selectedValues=this.selectedValues.filter((Q)=>Q!==Z):this.selectedValues=[...this.selectedValues,Z]:this.selectedValues=[Z])}#$(Z){if(Z!==this.#J){this.#J=Z;let Q=this.options;Z?this.filteredOptions=Q.filter((J)=>this.#x(Z,J)):this.filteredOptions=[...Q],this.#Z=E4(this.focusedValue,this.filteredOptions),this.focusedValue=this.filteredOptions[this.#Z]?.value,this.multiple||(this.focusedValue!==void 0?this.toggleSelected(this.focusedValue):this.deselectAll())}}}class D0 extends q1{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(Z){super(Z,!1),this.value=!!Z.initialValue,this.on("userInput",()=>{this.value=this._value}),this.on("confirm",(Q)=>{this.output.write(y.cursor.move(0,-1)),this.value=Q,this.state="submit",this.close()}),this.on("cursor",()=>{this.value=!this.value})}}class g9 extends q1{options;cursor=0;#Z;getGroupItems(Z){return this.options.filter((Q)=>Q.group===Z)}isGroupSelected(Z){let Q=this.getGroupItems(Z),J=this.value;return J===void 0?!1:Q.every((x)=>J.includes(x.value))}toggleValue(){let Z=this.options[this.cursor];if(this.value===void 0&&(this.value=[]),Z.group===!0){let Q=Z.value,J=this.getGroupItems(Q);this.isGroupSelected(Q)?this.value=this.value.filter((x)=>J.findIndex((X)=>X.value===x)===-1):this.value=[...this.value,...J.map((x)=>x.value)],this.value=Array.from(new Set(this.value))}else{let Q=this.value.includes(Z.value);this.value=Q?this.value.filter((J)=>J!==Z.value):[...this.value,Z.value]}}constructor(Z){super(Z,!1);let{options:Q}=Z;this.#Z=Z.selectableGroups!==!1,this.options=Object.entries(Q).flatMap(([J,x])=>[{value:J,group:!0,label:J},...x.map((X)=>({...X,group:J}))]),this.value=[...Z.initialValues??[]],this.cursor=Math.max(this.options.findIndex(({value:J})=>J===Z.cursorAt),this.#Z?0:1),this.on("cursor",(J)=>{switch(J){case"left":case"up":{this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;let x=this.options[this.cursor]?.group===!0;!this.#Z&&x&&(this.cursor=this.cursor===0?this.options.length-1:this.cursor-1);break}case"down":case"right":{this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;let x=this.options[this.cursor]?.group===!0;!this.#Z&&x&&(this.cursor=this.cursor===this.options.length-1?0:this.cursor+1);break}case"space":this.toggleValue();break}})}}function E1(Z,Q,J){let x=Z+Q,X=Math.max(J.length-1,0),W=x<0?X:x>X?0:x;return J[W].disabled?E1(W,Q<0?-1:1,J):W}class M0 extends q1{options;cursor=0;get _selectedValue(){return this.options[this.cursor]}changeValue(){this.value=this._selectedValue.value}constructor(Z){super(Z,!1),this.options=Z.options;let Q=this.options.findIndex(({value:x})=>x===Z.initialValue),J=Q===-1?0:Q;this.cursor=this.options[J].disabled?E1(J,1,this.options):J,this.changeValue(),this.on("cursor",(x)=>{switch(x){case"left":case"up":this.cursor=E1(this.cursor,-1,this.options);break;case"down":case"right":this.cursor=E1(this.cursor,1,this.options);break}this.changeValue()})}}var R=V1($0(),1);import I from"node:process";var c9=V1(K0(),1);function A4(){return I.platform!=="win32"?I.env.TERM!=="linux":!!I.env.CI||!!I.env.WT_SESSION||!!I.env.TERMINUS_SUBLIME||I.env.ConEmuTask==="{cmd::Cmder}"||I.env.TERM_PROGRAM==="Terminus-Sublime"||I.env.TERM_PROGRAM==="vscode"||I.env.TERM==="xterm-256color"||I.env.TERM==="alacritty"||I.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var y4=A4();var P=(Z,Q)=>y4?Z:Q,T4=P("◆","*"),m4=P("■","x"),I4=P("▲","x"),h4=P("◇","o"),O8=P("┌","T"),A=P("│","|"),i9=P("└","—"),V8=P("┐","T"),G8=P("┘","—"),j0=P("●",">"),I1=P("○"," "),v8=P("◻","[•]"),D8=P("◼","[+]"),M8=P("◻","[ ]"),F8=P("▪","•"),N8=P("─","-"),S8=P("╮","+"),j8=P("├","+"),B8=P("╯","+"),R8=P("╰","+"),_8=P("╭","+"),w8=P("●","•"),b8=P("◆","*"),C8=P("▲","!"),L8=P("■","x"),d9=(Z)=>{switch(Z){case"initial":case"active":return R.default.cyan(T4);case"cancel":return R.default.red(m4);case"error":return R.default.yellow(I4);case"submit":return R.default.green(h4)}},g4=(Z)=>{switch(Z){case"initial":case"active":return R.default.cyan(A);case"cancel":return R.default.red(A);case"error":return R.default.yellow(A);case"submit":return R.default.green(A)}},u4=(Z)=>Z===161||Z===164||Z===167||Z===168||Z===170||Z===173||Z===174||Z>=176&&Z<=180||Z>=182&&Z<=186||Z>=188&&Z<=191||Z===198||Z===208||Z===215||Z===216||Z>=222&&Z<=225||Z===230||Z>=232&&Z<=234||Z===236||Z===237||Z===240||Z===242||Z===243||Z>=247&&Z<=250||Z===252||Z===254||Z===257||Z===273||Z===275||Z===283||Z===294||Z===295||Z===299||Z>=305&&Z<=307||Z===312||Z>=319&&Z<=322||Z===324||Z>=328&&Z<=331||Z===333||Z===338||Z===339||Z===358||Z===359||Z===363||Z===462||Z===464||Z===466||Z===468||Z===470||Z===472||Z===474||Z===476||Z===593||Z===609||Z===708||Z===711||Z>=713&&Z<=715||Z===717||Z===720||Z>=728&&Z<=731||Z===733||Z===735||Z>=768&&Z<=879||Z>=913&&Z<=929||Z>=931&&Z<=937||Z>=945&&Z<=961||Z>=963&&Z<=969||Z===1025||Z>=1040&&Z<=1103||Z===1105||Z===8208||Z>=8211&&Z<=8214||Z===8216||Z===8217||Z===8220||Z===8221||Z>=8224&&Z<=8226||Z>=8228&&Z<=8231||Z===8240||Z===8242||Z===8243||Z===8245||Z===8251||Z===8254||Z===8308||Z===8319||Z>=8321&&Z<=8324||Z===8364||Z===8451||Z===8453||Z===8457||Z===8467||Z===8470||Z===8481||Z===8482||Z===8486||Z===8491||Z===8531||Z===8532||Z>=8539&&Z<=8542||Z>=8544&&Z<=8555||Z>=8560&&Z<=8569||Z===8585||Z>=8592&&Z<=8601||Z===8632||Z===8633||Z===8658||Z===8660||Z===8679||Z===8704||Z===8706||Z===8707||Z===8711||Z===8712||Z===8715||Z===8719||Z===8721||Z===8725||Z===8730||Z>=8733&&Z<=8736||Z===8739||Z===8741||Z>=8743&&Z<=8748||Z===8750||Z>=8756&&Z<=8759||Z===8764||Z===8765||Z===8776||Z===8780||Z===8786||Z===8800||Z===8801||Z>=8804&&Z<=8807||Z===8810||Z===8811||Z===8814||Z===8815||Z===8834||Z===8835||Z===8838||Z===8839||Z===8853||Z===8857||Z===8869||Z===8895||Z===8978||Z>=9312&&Z<=9449||Z>=9451&&Z<=9547||Z>=9552&&Z<=9587||Z>=9600&&Z<=9615||Z>=9618&&Z<=9621||Z===9632||Z===9633||Z>=9635&&Z<=9641||Z===9650||Z===9651||Z===9654||Z===9655||Z===9660||Z===9661||Z===9664||Z===9665||Z>=9670&&Z<=9672||Z===9675||Z>=9678&&Z<=9681||Z>=9698&&Z<=9701||Z===9711||Z===9733||Z===9734||Z===9737||Z===9742||Z===9743||Z===9756||Z===9758||Z===9792||Z===9794||Z===9824||Z===9825||Z>=9827&&Z<=9829||Z>=9831&&Z<=9834||Z===9836||Z===9837||Z===9839||Z===9886||Z===9887||Z===9919||Z>=9926&&Z<=9933||Z>=9935&&Z<=9939||Z>=9941&&Z<=9953||Z===9955||Z===9960||Z===9961||Z>=9963&&Z<=9969||Z===9972||Z>=9974&&Z<=9977||Z===9979||Z===9980||Z===9982||Z===9983||Z===10045||Z>=10102&&Z<=10111||Z>=11094&&Z<=11097||Z>=12872&&Z<=12879||Z>=57344&&Z<=63743||Z>=65024&&Z<=65039||Z===65533||Z>=127232&&Z<=127242||Z>=127248&&Z<=127277||Z>=127280&&Z<=127337||Z>=127344&&Z<=127373||Z===127375||Z===127376||Z>=127387&&Z<=127404||Z>=917760&&Z<=917999||Z>=983040&&Z<=1048573||Z>=1048576&&Z<=1114109,p4=(Z)=>Z===12288||Z>=65281&&Z<=65376||Z>=65504&&Z<=65510,l4=(Z)=>Z>=4352&&Z<=4447||Z===8986||Z===8987||Z===9001||Z===9002||Z>=9193&&Z<=9196||Z===9200||Z===9203||Z===9725||Z===9726||Z===9748||Z===9749||Z>=9800&&Z<=9811||Z===9855||Z===9875||Z===9889||Z===9898||Z===9899||Z===9917||Z===9918||Z===9924||Z===9925||Z===9934||Z===9940||Z===9962||Z===9970||Z===9971||Z===9973||Z===9978||Z===9981||Z===9989||Z===9994||Z===9995||Z===10024||Z===10060||Z===10062||Z>=10067&&Z<=10069||Z===10071||Z>=10133&&Z<=10135||Z===10160||Z===10175||Z===11035||Z===11036||Z===11088||Z===11093||Z>=11904&&Z<=11929||Z>=11931&&Z<=12019||Z>=12032&&Z<=12245||Z>=12272&&Z<=12287||Z>=12289&&Z<=12350||Z>=12353&&Z<=12438||Z>=12441&&Z<=12543||Z>=12549&&Z<=12591||Z>=12593&&Z<=12686||Z>=12688&&Z<=12771||Z>=12783&&Z<=12830||Z>=12832&&Z<=12871||Z>=12880&&Z<=19903||Z>=19968&&Z<=42124||Z>=42128&&Z<=42182||Z>=43360&&Z<=43388||Z>=44032&&Z<=55203||Z>=63744&&Z<=64255||Z>=65040&&Z<=65049||Z>=65072&&Z<=65106||Z>=65108&&Z<=65126||Z>=65128&&Z<=65131||Z>=94176&&Z<=94180||Z===94192||Z===94193||Z>=94208&&Z<=100343||Z>=100352&&Z<=101589||Z>=101632&&Z<=101640||Z>=110576&&Z<=110579||Z>=110581&&Z<=110587||Z===110589||Z===110590||Z>=110592&&Z<=110882||Z===110898||Z>=110928&&Z<=110930||Z===110933||Z>=110948&&Z<=110951||Z>=110960&&Z<=111355||Z===126980||Z===127183||Z===127374||Z>=127377&&Z<=127386||Z>=127488&&Z<=127490||Z>=127504&&Z<=127547||Z>=127552&&Z<=127560||Z===127568||Z===127569||Z>=127584&&Z<=127589||Z>=127744&&Z<=127776||Z>=127789&&Z<=127797||Z>=127799&&Z<=127868||Z>=127870&&Z<=127891||Z>=127904&&Z<=127946||Z>=127951&&Z<=127955||Z>=127968&&Z<=127984||Z===127988||Z>=127992&&Z<=128062||Z===128064||Z>=128066&&Z<=128252||Z>=128255&&Z<=128317||Z>=128331&&Z<=128334||Z>=128336&&Z<=128359||Z===128378||Z===128405||Z===128406||Z===128420||Z>=128507&&Z<=128591||Z>=128640&&Z<=128709||Z===128716||Z>=128720&&Z<=128722||Z>=128725&&Z<=128727||Z>=128732&&Z<=128735||Z===128747||Z===128748||Z>=128756&&Z<=128764||Z>=128992&&Z<=129003||Z===129008||Z>=129292&&Z<=129338||Z>=129340&&Z<=129349||Z>=129351&&Z<=129535||Z>=129648&&Z<=129660||Z>=129664&&Z<=129672||Z>=129680&&Z<=129725||Z>=129727&&Z<=129733||Z>=129742&&Z<=129755||Z>=129760&&Z<=129768||Z>=129776&&Z<=129784||Z>=131072&&Z<=196605||Z>=196608&&Z<=262141,F0=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/y,A1=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,y1=/\t{1,1000}/y,N0=/[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/yu,T1=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,c4=/\p{M}+/gu,i4={limit:1/0,ellipsis:""},a9=(Z,Q={},J={})=>{let x=Q.limit??1/0,X=Q.ellipsis??"",W=Q?.ellipsisWidth??(X?a9(X,i4,J).width:0),$=J.ansiWidth??0,K=J.controlWidth??0,Y=J.tabWidth??8,U=J.ambiguousWidth??1,H=J.emojiWidth??2,q=J.fullWidthWidth??2,v=J.regularWidth??1,_=J.wideWidth??2,O=0,z=0,V=Z.length,G=0,N=!1,F=V,B=Math.max(0,x-W),L=0,b=0,D=0,M=0;Z:for(;;){if(b>L||z>=V&&z>O){let j=Z.slice(L,b)||Z.slice(O,z);G=0;for(let E of j.replaceAll(c4,"")){let k=E.codePointAt(0)||0;if(p4(k)?M=q:l4(k)?M=_:U!==v&&u4(k)?M=U:M=v,D+M>B&&(F=Math.min(F,Math.max(L,O)+G)),D+M>x){N=!0;break Z}G+=E.length,D+=M}L=b=0}if(z>=V)break;if(T1.lastIndex=z,T1.test(Z)){if(G=T1.lastIndex-z,M=G*v,D+M>B&&(F=Math.min(F,z+Math.floor((B-D)/v))),D+M>x){N=!0;break}D+=M,L=O,b=z,z=O=T1.lastIndex;continue}if(F0.lastIndex=z,F0.test(Z)){if(D+$>B&&(F=Math.min(F,z)),D+$>x){N=!0;break}D+=$,L=O,b=z,z=O=F0.lastIndex;continue}if(A1.lastIndex=z,A1.test(Z)){if(G=A1.lastIndex-z,M=G*K,D+M>B&&(F=Math.min(F,z+Math.floor((B-D)/K))),D+M>x){N=!0;break}D+=M,L=O,b=z,z=O=A1.lastIndex;continue}if(y1.lastIndex=z,y1.test(Z)){if(G=y1.lastIndex-z,M=G*Y,D+M>B&&(F=Math.min(F,z+Math.floor((B-D)/Y))),D+M>x){N=!0;break}D+=M,L=O,b=z,z=O=y1.lastIndex;continue}if(N0.lastIndex=z,N0.test(Z)){if(D+H>B&&(F=Math.min(F,z)),D+H>x){N=!0;break}D+=H,L=O,b=z,z=O=N0.lastIndex;continue}z+=1}return{width:N?B:D,index:N?F:V,truncated:N,ellipsed:N&&x>=W}},d4={limit:1/0,ellipsis:"",ellipsisWidth:0},U1=(Z,Q={})=>a9(Z,d4,Q).width,h1="\x1B",n9="›",a4=39,B0="\x07",o9="[",n4="]",r9="m",R0=`${n4}8;;`,u9=new RegExp(`(?:\\${o9}(?<code>\\d+)m|\\${R0}(?<uri>.*)${B0})`,"y"),o4=(Z)=>{if(Z>=30&&Z<=37||Z>=90&&Z<=97)return 39;if(Z>=40&&Z<=47||Z>=100&&Z<=107)return 49;if(Z===1||Z===2)return 22;if(Z===3)return 23;if(Z===4)return 24;if(Z===7)return 27;if(Z===8)return 28;if(Z===9)return 29;if(Z===0)return 0},p9=(Z)=>`${h1}${o9}${Z}${r9}`,l9=(Z)=>`${h1}${R0}${Z}${B0}`,r4=(Z)=>Z.map((Q)=>U1(Q)),S0=(Z,Q,J)=>{let x=Q[Symbol.iterator](),X=!1,W=!1,$=Z.at(-1),K=$===void 0?0:U1($),Y=x.next(),U=x.next(),H=0;for(;!Y.done;){let q=Y.value,v=U1(q);K+v<=J?Z[Z.length-1]+=q:(Z.push(q),K=0),(q===h1||q===n9)&&(X=!0,W=Q.startsWith(R0,H+1)),X?W?q===B0&&(X=!1,W=!1):q===r9&&(X=!1):(K+=v,K===J&&!U.done&&(Z.push(""),K=0)),Y=U,U=x.next(),H+=q.length}$=Z.at(-1),!K&&$!==void 0&&$.length>0&&Z.length>1&&(Z[Z.length-2]+=Z.pop())},s4=(Z)=>{let Q=Z.split(" "),J=Q.length;for(;J>0&&!(U1(Q[J-1])>0);)J--;return J===Q.length?Z:Q.slice(0,J).join(" ")+Q.slice(J).join("")},t4=(Z,Q,J={})=>{if(J.trim!==!1&&Z.trim()==="")return"";let x="",X,W,$=Z.split(" "),K=r4($),Y=[""];for(let[O,z]of $.entries()){J.trim!==!1&&(Y[Y.length-1]=(Y.at(-1)??"").trimStart());let V=U1(Y.at(-1)??"");if(O!==0&&(V>=Q&&(J.wordWrap===!1||J.trim===!1)&&(Y.push(""),V=0),(V>0||J.trim===!1)&&(Y[Y.length-1]+=" ",V++)),J.hard&&K[O]>Q){let G=Q-V,N=1+Math.floor((K[O]-G-1)/Q);Math.floor((K[O]-1)/Q)<N&&Y.push(""),S0(Y,z,Q);continue}if(V+K[O]>Q&&V>0&&K[O]>0){if(J.wordWrap===!1&&V<Q){S0(Y,z,Q);continue}Y.push("")}if(V+K[O]>Q&&J.wordWrap===!1){S0(Y,z,Q);continue}Y[Y.length-1]+=z}J.trim!==!1&&(Y=Y.map((O)=>s4(O)));let U=Y.join(`
51
- `),H=U[Symbol.iterator](),q=H.next(),v=H.next(),_=0;for(;!q.done;){let O=q.value,z=v.value;if(x+=O,O===h1||O===n9){u9.lastIndex=_+1;let G=u9.exec(U)?.groups;if(G?.code!==void 0){let N=Number.parseFloat(G.code);X=N===a4?void 0:N}else G?.uri!==void 0&&(W=G.uri.length===0?void 0:G.uri)}let V=X?o4(X):void 0;z===`
52
- `?(W&&(x+=l9("")),X&&V&&(x+=p9(V))):O===`
53
- `&&(X&&V&&(x+=p9(X)),W&&(x+=l9(W))),_+=O.length,q=v,v=H.next()}return x};function e4(Z,Q,J){return String(Z).normalize().replaceAll(`\r
54
- `,`
55
- `).split(`
56
- `).map((x)=>t4(x,Q,J)).join(`
57
- `)}var Z2=(Z,Q,J,x,X)=>{let W=Q,$=0;for(let K=J;K<x;K++){let Y=Z[K];if(W=W-Y.length,$++,W<=X)break}return{lineCount:W,removals:$}},Q2=(Z)=>{let{cursor:Q,options:J,style:x}=Z,X=Z.output??process.stdout,W=G0(X),$=Z.columnPadding??0,K=Z.rowPadding??4,Y=W-$,U=v0(X),H=R.default.dim("..."),q=Z.maxItems??Number.POSITIVE_INFINITY,v=Math.max(U-K,0),_=Math.max(Math.min(q,v),5),O=0;Q>=_-3&&(O=Math.max(Math.min(Q-_+3,J.length-_),0));let z=_<J.length&&O>0,V=_<J.length&&O+_<J.length,G=Math.min(O+_,J.length),N=[],F=0;z&&F++,V&&F++;let B=O+(z?1:0),L=G-(V?1:0);for(let D=B;D<L;D++){let M=e4(x(J[D],D===Q),Y,{hard:!0,trim:!1}).split(`
58
- `);N.push(M),F+=M.length}if(F>v){let D=0,M=0,j=F,E=Q-B,k=(f,w)=>Z2(N,j,f,w,v);z?({lineCount:j,removals:D}=k(0,E),j>v&&({lineCount:j,removals:M}=k(E+1,N.length))):({lineCount:j,removals:M}=k(E+1,N.length),j>v&&({lineCount:j,removals:D}=k(0,E))),D>0&&(z=!0,N.splice(0,D)),M>0&&(V=!0,N.splice(N.length-M,M))}let b=[];z&&b.push(H);for(let D of N)for(let M of D)b.push(M);return V&&b.push(H),b};var s9=(Z)=>{let Q=Z.active??"Yes",J=Z.inactive??"No";return new D0({active:Q,inactive:J,signal:Z.signal,input:Z.input,output:Z.output,initialValue:Z.initialValue??!0,render(){let x=`${R.default.gray(A)}
59
- ${d9(this.state)} ${Z.message}
60
- `,X=this.value?Q:J;switch(this.state){case"submit":return`${x}${R.default.gray(A)} ${R.default.dim(X)}`;case"cancel":return`${x}${R.default.gray(A)} ${R.default.strikethrough(R.default.dim(X))}
61
- ${R.default.gray(A)}`;default:return`${x}${R.default.cyan(A)} ${this.value?`${R.default.green(j0)} ${Q}`:`${R.default.dim(I1)} ${R.default.dim(Q)}`} ${R.default.dim("/")} ${this.value?`${R.default.dim(I1)} ${R.default.dim(J)}`:`${R.default.green(j0)} ${J}`}
62
- ${R.default.cyan(i9)}
63
- `}}}).prompt()};var P8=R.default.magenta;var E8={light:P("─","-"),heavy:P("━","="),block:P("█","#")};var m1=(Z,Q)=>Z.includes(`
64
- `)?Z.split(`
65
- `).map((J)=>Q(J)).join(`
66
- `):Q(Z),t9=(Z)=>{let Q=(J,x)=>{let X=J.label??String(J.value);switch(x){case"disabled":return`${R.default.gray(I1)} ${m1(X,R.default.gray)}${J.hint?` ${R.default.dim(`(${J.hint??"disabled"})`)}`:""}`;case"selected":return`${m1(X,R.default.dim)}`;case"active":return`${R.default.green(j0)} ${X}${J.hint?` ${R.default.dim(`(${J.hint})`)}`:""}`;case"cancelled":return`${m1(X,(W)=>R.default.strikethrough(R.default.dim(W)))}`;default:return`${R.default.dim(I1)} ${m1(X,R.default.dim)}`}};return new M0({options:Z.options,signal:Z.signal,input:Z.input,output:Z.output,initialValue:Z.initialValue,render(){let J=`${d9(this.state)} `,x=`${g4(this.state)} `,X=f1(Z.output,Z.message,x,J),W=`${R.default.gray(A)}
67
- ${X}
68
- `;switch(this.state){case"submit":{let $=`${R.default.gray(A)} `,K=f1(Z.output,Q(this.options[this.cursor],"selected"),$);return`${W}${K}`}case"cancel":{let $=`${R.default.gray(A)} `,K=f1(Z.output,Q(this.options[this.cursor],"cancelled"),$);return`${W}${K}
69
- ${R.default.gray(A)}`}default:{let $=`${R.default.cyan(A)} `,K=W.split(`
70
- `).length;return`${W}${$}${Q2({output:Z.output,cursor:this.cursor,options:this.options,maxItems:Z.maxItems,columnPadding:$.length,rowPadding:K+2,style:(Y,U)=>Q(Y,Y.disabled?"disabled":U?"active":"inactive")}).join(`
71
- ${$}`)}
72
- ${R.default.cyan(i9)}
73
- `}}}}).prompt()};var k8=`${R.default.gray(A)} `;async function e9(Z){if(!process.stdout.isTTY)return!1;let Q=await s9({message:`Add another Google account?
74
- Currently have ${Z} accounts (max 10)`});if(H1(Q))return!1;return Q}async function _0(){if(!process.stdout.isTTY)return"free";let Z=await t9({message:"Select account tier",options:[{value:"free",label:"Free"},{value:"paid",label:"Paid"}]});if(H1(Z))return"free";return Z}import m0 from"node:process";import D3 from"node:path";import{fileURLToPath as f2}from"node:url";import A2 from"node:child_process";import y2,{constants as T2}from"node:fs/promises";import{promisify as U2}from"node:util";import O2 from"node:child_process";import P0,{constants as W3}from"node:fs/promises";import J3 from"node:process";import W2 from"node:os";import K2 from"node:fs";import X2 from"node:fs";import Z3 from"node:fs";var w0;function J2(){try{return Z3.statSync("/.dockerenv"),!0}catch{return!1}}function x2(){try{return Z3.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}function b0(){if(w0===void 0)w0=J2()||x2();return w0}var C0,$2=()=>{try{return X2.statSync("/run/.containerenv"),!0}catch{return!1}};function Z1(){if(C0===void 0)C0=$2()||b0();return C0}var Q3=()=>{if(J3.platform!=="linux")return!1;if(W2.release().toLowerCase().includes("microsoft")){if(Z1())return!1;return!0}try{return K2.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft")?!Z1():!1}catch{return!1}},c=J3.env.__IS_WSL_TEST__?Q3:Q3();import x3 from"node:process";import{Buffer as Y2}from"node:buffer";import{promisify as z2}from"node:util";import H2 from"node:child_process";var q2=z2(H2.execFile),L0=()=>`${x3.env.SYSTEMROOT||x3.env.windir||String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`;var T=async(Z,Q={})=>{let{powerShellPath:J,...x}=Q,X=T.encodeCommand(Z);return q2(J??L0(),[...T.argumentsPrefix,X],{encoding:"utf8",...x})};T.argumentsPrefix=["-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand"];T.encodeCommand=(Z)=>Y2.from(Z,"utf16le").toString("base64");T.escapeArgument=(Z)=>`'${String(Z).replaceAll("'","''")}'`;function X3(Z){for(let Q of Z.split(`
75
- `)){if(/^\s*#/.test(Q))continue;let J=/^\s*root\s*=\s*(?<mountPoint>"[^"]*"|'[^']*'|[^#]*)/.exec(Q);if(!J)continue;return J.groups.mountPoint.trim().replaceAll(/^["']|["']$/g,"")}}var V2=U2(O2.execFile),G2=(()=>{let Q;return async function(){if(Q)return Q;let J="/etc/wsl.conf",x=!1;try{await P0.access(J,W3.F_OK),x=!0}catch{}if(!x)return"/mnt/";let X=await P0.readFile(J,{encoding:"utf8"}),W=X3(X);if(W===void 0)return"/mnt/";return Q=W,Q=Q.endsWith("/")?Q:`${Q}/`,Q}})(),v2=async()=>{return`${await G2()}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`},g1=c?v2:L0,$3,K3=async()=>{return $3??=(async()=>{try{let Z=await g1();return await P0.access(Z,W3.X_OK),!0}catch{return!1}})(),$3},Y3=async()=>{let Z=await g1(),Q=String.raw`(Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice").ProgId`,{stdout:J}=await T(Q,{powerShellPath:Z});return J.trim()},z3=async(Z)=>{if(/^[a-z]+:\/\//i.test(Z))return Z;try{let{stdout:Q}=await V2("wslpath",["-aw",Z],{encoding:"utf8"});return Q.trim()}catch{return Z}};function r(Z,Q,J){let x=(X)=>Object.defineProperty(Z,Q,{value:X,enumerable:!0,writable:!0});return Object.defineProperty(Z,Q,{configurable:!0,enumerable:!0,get(){let X=J();return x(X),X},set(X){x(X)}}),Z}import{promisify as C2}from"node:util";import A0 from"node:process";import{execFile as L2}from"node:child_process";import{promisify as D2}from"node:util";import M2 from"node:process";import{execFile as F2}from"node:child_process";var N2=D2(F2);async function E0(){if(M2.platform!=="darwin")throw Error("macOS only");let{stdout:Z}=await N2("defaults",["read","com.apple.LaunchServices/com.apple.launchservices.secure","LSHandlers"]),J=/LSHandlerRoleAll = "(?!-)(?<id>[^"]+?)";\s+?LSHandlerURLScheme = (?:http|https);/.exec(Z)?.groups.id??"com.apple.Safari";if(J==="com.apple.safari")return"com.apple.Safari";return J}import S2 from"node:process";import{promisify as j2}from"node:util";import{execFile as B2,execFileSync as G5}from"node:child_process";var R2=j2(B2);async function H3(Z,{humanReadableOutput:Q=!0,signal:J}={}){if(S2.platform!=="darwin")throw Error("macOS only");let x=Q?[]:["-ss"],X={};if(J)X.signal=J;let{stdout:W}=await R2("osascript",["-e",Z,x],X);return W.trim()}async function k0(Z){return H3(`tell application "Finder" to set app_path to application file id "${Z}" as string
76
- tell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`)}import{promisify as _2}from"node:util";import{execFile as w2}from"node:child_process";var b2=_2(w2),u1={MSEdgeHTM:{name:"Edge",id:"com.microsoft.edge"},MSEdgeBHTML:{name:"Edge Beta",id:"com.microsoft.edge.beta"},MSEdgeDHTML:{name:"Edge Dev",id:"com.microsoft.edge.dev"},AppXq0fevzme2pys62n3e0fbqa7peapykr8v:{name:"Edge",id:"com.microsoft.edge.old"},ChromeHTML:{name:"Chrome",id:"com.google.chrome"},ChromeBHTML:{name:"Chrome Beta",id:"com.google.chrome.beta"},ChromeDHTML:{name:"Chrome Dev",id:"com.google.chrome.dev"},ChromiumHTM:{name:"Chromium",id:"org.chromium.Chromium"},BraveHTML:{name:"Brave",id:"com.brave.Browser"},BraveBHTML:{name:"Brave Beta",id:"com.brave.Browser.beta"},BraveDHTML:{name:"Brave Dev",id:"com.brave.Browser.dev"},BraveSSHTM:{name:"Brave Nightly",id:"com.brave.Browser.nightly"},FirefoxURL:{name:"Firefox",id:"org.mozilla.firefox"},OperaStable:{name:"Opera",id:"com.operasoftware.Opera"},VivaldiHTM:{name:"Vivaldi",id:"com.vivaldi.Vivaldi"},"IE.HTTP":{name:"Internet Explorer",id:"com.microsoft.ie"}},p1=new Map(Object.entries(u1));class q3 extends Error{}async function f0(Z=b2){let{stdout:Q}=await Z("reg",["QUERY"," HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice","/v","ProgId"]),J=/ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(Q);if(!J)throw new q3(`Cannot find Windows browser in stdout: ${JSON.stringify(Q)}`);let{id:x}=J.groups,X=x.lastIndexOf("."),W=x.lastIndexOf("-"),$=X===-1?void 0:x.slice(0,X),K=W===-1?void 0:x.slice(0,W);return u1[x]??u1[$]??u1[K]??{name:x,id:x}}var P2=C2(L2),E2=(Z)=>Z.toLowerCase().replaceAll(/(?:^|\s|-)\S/g,(Q)=>Q.toUpperCase());async function y0(){if(A0.platform==="darwin"){let Z=await E0();return{name:await k0(Z),id:Z}}if(A0.platform==="linux"){let{stdout:Z}=await P2("xdg-mime",["query","default","x-scheme-handler/http"]),Q=Z.trim();return{name:E2(Q.replace(/.desktop$/,"").replace("-"," ")),id:Q}}if(A0.platform==="win32")return f0();throw Error("Only macOS, Linux, and Windows are supported")}import T0 from"node:process";var k2=Boolean(T0.env.SSH_CONNECTION||T0.env.SSH_CLIENT||T0.env.SSH_TTY),U3=k2;var l1=Symbol("fallbackAttempt"),I0=import.meta.url?D3.dirname(f2(import.meta.url)):"",O3=D3.join(I0,"xdg-open"),{platform:Q1,arch:V3}=m0,G3=async(Z,Q)=>{if(Z.length===0)return;let J=[];for(let x of Z)try{return await Q(x)}catch(X){J.push(X)}throw AggregateError(J,"Failed to open in all supported apps")},c1=async(Z)=>{Z={wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...Z};let Q=Z[l1]===!0;if(delete Z[l1],Array.isArray(Z.app))return G3(Z.app,(U)=>c1({...Z,app:U,[l1]:!0}));let{name:J,arguments:x=[]}=Z.app??{};if(x=[...x],Array.isArray(J))return G3(J,(U)=>c1({...Z,app:{name:U,arguments:x},[l1]:!0}));if(J==="browser"||J==="browserPrivate"){let U={"com.google.chrome":"chrome","google-chrome.desktop":"chrome","com.brave.browser":"brave","org.mozilla.firefox":"firefox","firefox.desktop":"firefox","com.microsoft.msedge":"edge","com.microsoft.edge":"edge","com.microsoft.edgemac":"edge","microsoft-edge.desktop":"edge","com.apple.safari":"safari"},H={chrome:"--incognito",brave:"--incognito",firefox:"--private-window",edge:"--inPrivate"},q;if(c){let v=await Y3();q=p1.get(v)??{}}else q=await y0();if(q.id in U){let v=U[q.id.toLowerCase()];if(J==="browserPrivate"){if(v==="safari")throw Error("Safari doesn't support opening in private mode via command line");x.push(H[v])}return c1({...Z,app:{name:J1[v],arguments:x}})}throw Error(`${q.name} is not supported as a default browser`)}let X,W=[],$={},K=!1;if(c&&!Z1()&&!U3&&!J)K=await K3();if(Q1==="darwin"){if(X="open",Z.wait)W.push("--wait-apps");if(Z.background)W.push("--background");if(Z.newInstance)W.push("--new");if(J)W.push("-a",J)}else if(Q1==="win32"||K){if(X=await g1(),W.push(...T.argumentsPrefix),!c)$.windowsVerbatimArguments=!0;if(c&&Z.target)Z.target=await z3(Z.target);let U=["$ProgressPreference = 'SilentlyContinue';","Start"];if(Z.wait)U.push("-Wait");if(J){if(U.push(T.escapeArgument(J)),Z.target)x.push(Z.target)}else if(Z.target)U.push(T.escapeArgument(Z.target));if(x.length>0)x=x.map((H)=>T.escapeArgument(H)),U.push("-ArgumentList",x.join(","));if(Z.target=T.encodeCommand(U.join(" ")),!Z.wait)$.stdio="ignore"}else{if(J)X=J;else{let U=!I0||I0==="/",H=!1;try{await y2.access(O3,T2.X_OK),H=!0}catch{}X=m0.versions.electron??(Q1==="android"||U||!H)?"xdg-open":O3}if(x.length>0)W.push(...x);if(!Z.wait)$.stdio="ignore",$.detached=!0}if(Q1==="darwin"&&x.length>0)W.push("--args",...x);if(Z.target)W.push(Z.target);let Y=A2.spawn(X,W,$);if(Z.wait)return new Promise((U,H)=>{Y.once("error",H),Y.once("close",(q)=>{if(!Z.allowNonzeroExitCode&&q!==0){H(Error(`Exited with code ${q}`));return}U(Y)})});if(Q)return new Promise((U,H)=>{Y.once("error",H),Y.once("spawn",()=>{Y.once("close",(q)=>{if(Y.off("error",H),q!==0){H(Error(`Exited with code ${q}`));return}Y.unref(),U(Y)})})});return Y.unref(),new Promise((U,H)=>{Y.once("error",H),Y.once("spawn",()=>{Y.off("error",H),U(Y)})})},m2=(Z,Q)=>{if(typeof Z!=="string")throw TypeError("Expected a `target`");return c1({...Q,target:Z})};function v3(Z){if(typeof Z==="string"||Array.isArray(Z))return Z;let{[V3]:Q}=Z;if(!Q)throw Error(`${V3} is not supported`);return Q}function O1({[Q1]:Z},{wsl:Q}={}){if(Q&&c)return v3(Q);if(!Z)throw Error(`${Q1} is not supported`);return v3(Z)}var J1={browser:"browser",browserPrivate:"browserPrivate"};r(J1,"chrome",()=>O1({darwin:"google chrome",win32:"chrome",linux:["google-chrome","google-chrome-stable","chromium","chromium-browser"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe",x64:["/mnt/c/Program Files/Google/Chrome/Application/chrome.exe","/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe"]}}));r(J1,"brave",()=>O1({darwin:"brave browser",win32:"brave",linux:["brave-browser","brave"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe",x64:["/mnt/c/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe","/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe"]}}));r(J1,"firefox",()=>O1({darwin:"firefox",win32:String.raw`C:\Program Files\Mozilla Firefox\firefox.exe`,linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"}));r(J1,"edge",()=>O1({darwin:"microsoft edge",win32:"msedge",linux:["microsoft-edge","microsoft-edge-dev"]},{wsl:"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}));r(J1,"safari",()=>O1({darwin:"Safari"}));var M3=m2;function h0(Z){if(process.env.ANTIGRAVITY_DEBUG==="1")console.log(`[antigravity-browser] ${Z}`)}async function g0(Z){h0(`Opening browser: ${Z}`);try{return await M3(Z),h0("Browser opened successfully"),!0}catch(Q){return h0(`Failed to open browser: ${Q instanceof Error?Q.message:String(Q)}`),!1}}var F3="google",I2=10;function N3(Z){return Z.type==="oauth"}async function h2({client:Z}){let Q=h,J=p;return{auth:{provider:F3,loader:async(X,W)=>{let $=await X();if(process.env.ANTIGRAVITY_DEBUG==="1")console.log("[antigravity-plugin] loader called"),console.log("[antigravity-plugin] auth type:",$?.type),console.log("[antigravity-plugin] auth keys:",Object.keys($||{}));if(!N3($)){if(process.env.ANTIGRAVITY_DEBUG==="1")console.log("[antigravity-plugin] NOT OAuth auth, returning empty");return{}}if(process.env.ANTIGRAVITY_DEBUG==="1")console.log("[antigravity-plugin] OAuth auth detected, creating custom fetch");let K=null;try{let q=await B1();if(q){if(K=new o($,q),process.env.ANTIGRAVITY_DEBUG==="1")console.log(`[antigravity-plugin] Loaded ${K.getAccountCount()} accounts from storage`)}else if($.refresh.includes("|||")){let v=$.refresh.split("|||"),_=v[0];K=new o({refresh:_,access:$.access||"",expires:$.expires||0},null);for(let O=1;O<v.length;O++){let z=s(v[O]);K.addAccount(z)}if(await K.save(),process.env.ANTIGRAVITY_DEBUG==="1")console.log("[antigravity-plugin] Migrated multi-account auth to storage")}}catch(q){if(process.env.ANTIGRAVITY_DEBUG==="1")console.error(`[antigravity-plugin] Failed to load accounts: ${q instanceof Error?q.message:"Unknown error"}`)}if(Q=W.options?.clientId||h,J=W.options?.clientSecret||p,process.env.ANTIGRAVITY_DEBUG==="1"&&(Q!==h||J!==p))console.log("[antigravity-plugin] Using custom credentials from provider.options");return{fetch:w9(async()=>{let q=await X();if(N3(q))return{access:q.access,refresh:q.refresh,expires:q.expires};return{}},{set:async(q,v)=>{await Z.auth.set({body:{type:"oauth",access:v.access||"",refresh:v.refresh||"",expires:v.expires||0},path:{id:q}})}},F3,Q,J),apiKey:"antigravity-oauth",accountManager:K}},methods:[{type:"oauth",label:"OAuth with Google (Antigravity)",authorize:async()=>{let X=N1(),{url:W,state:$}=await D1(void 0,Q,X.port),K=await g0(W);return{url:W,instructions:K?"Opening browser for sign-in. We'll automatically detect when you're done.":"Please open the URL above in your browser to sign in.",method:"auto",callback:async()=>{try{let Y=await X.waitForCallback();if(Y.error){if(process.env.ANTIGRAVITY_DEBUG==="1")console.error(`[antigravity-plugin] OAuth error: ${Y.error}`);return{type:"failed"}}if(!Y.code){if(process.env.ANTIGRAVITY_DEBUG==="1")console.error("[antigravity-plugin] No authorization code received");return{type:"failed"}}if(Y.state!==$){if(process.env.ANTIGRAVITY_DEBUG==="1")console.error("[antigravity-plugin] State mismatch - possible CSRF attack");return{type:"failed"}}let U=`http://localhost:${X.port}/oauth-callback`,H=await M1(Y.code,U,Q,J);if(!H.refresh_token){if(X.close(),process.env.ANTIGRAVITY_DEBUG==="1")console.error("[antigravity-plugin] OAuth response missing refresh_token");return{type:"failed"}}let q;try{if(q=(await F1(H.access_token)).email,process.env.ANTIGRAVITY_DEBUG==="1")console.log(`[antigravity-plugin] Authenticated as: ${q}`)}catch{}let v=await X1(H.access_token),_=v.cloudaicompanionProject||"",O=await _0(),z=Date.now()+H.expires_in*1000,V=[{parts:{refreshToken:H.refresh_token,projectId:_,managedProjectId:v.managedProjectId},access:H.access_token,expires:z,email:q,tier:O,projectId:_}];await Z.tui.showToast({body:{message:`Account 1 authenticated${q?` (${q})`:""}`,variant:"success"}});while(V.length<I2){if(!await e9(V.length))break;let B=N1(),{url:L,state:b}=await D1(void 0,Q,B.port);if(!await g0(L))await Z.tui.showToast({body:{message:`Please open in browser: ${L}`,variant:"warning"}});try{let M=await B.waitForCallback();if(M.error||!M.code){B.close(),await Z.tui.showToast({body:{message:"Skipping this account...",variant:"warning"}});continue}if(M.state!==b){B.close(),await Z.tui.showToast({body:{message:"State mismatch, skipping...",variant:"warning"}});continue}let j=`http://localhost:${B.port}/oauth-callback`,E=await M1(M.code,j,Q,J);if(!E.refresh_token){if(B.close(),process.env.ANTIGRAVITY_DEBUG==="1")console.error("[antigravity-plugin] Additional account OAuth response missing refresh_token");await Z.tui.showToast({body:{message:"Account missing refresh token, skipping...",variant:"warning"}});continue}let k;try{k=(await F1(E.access_token)).email}catch{}let f=await X1(E.access_token),w=f.cloudaicompanionProject||"",a=await _0(),u0=Date.now()+E.expires_in*1000;V.push({parts:{refreshToken:E.refresh_token,projectId:w,managedProjectId:f.managedProjectId},access:E.access_token,expires:u0,email:k,tier:a,projectId:w}),B.close(),await Z.tui.showToast({body:{message:`Account ${V.length} authenticated${k?` (${k})`:""}`,variant:"success"}})}catch(M){if(B.close(),process.env.ANTIGRAVITY_DEBUG==="1")console.error(`[antigravity-plugin] Additional account OAuth failed: ${M instanceof Error?M.message:"Unknown error"}`);await Z.tui.showToast({body:{message:"Failed to authenticate additional account, skipping...",variant:"warning"}});continue}}let G=V[0];try{let F=new o({refresh:d(G.parts.refreshToken,G.projectId,G.parts.managedProjectId),access:G.access,expires:G.expires},null);for(let L=1;L<V.length;L++){let b=V[L];F.addAccount(b.parts,b.access,b.expires,b.email,b.tier)}let B=F.getCurrentAccount();if(B)B.email=G.email,B.tier=G.tier;if(await F.save(),process.env.ANTIGRAVITY_DEBUG==="1")console.log(`[antigravity-plugin] Saved ${V.length} accounts to storage`)}catch(F){if(process.env.ANTIGRAVITY_DEBUG==="1")console.error(`[antigravity-plugin] Failed to save accounts: ${F instanceof Error?F.message:"Unknown error"}`)}let N=V.map((F)=>d(F.parts.refreshToken,F.projectId,F.parts.managedProjectId)).join("|||");return{type:"success",access:G.access,refresh:N,expires:G.expires}}catch(Y){if(X.close(),process.env.ANTIGRAVITY_DEBUG==="1")console.error(`[antigravity-plugin] OAuth flow failed: ${Y instanceof Error?Y.message:"Unknown error"}`);return{type:"failed"}}}}}}]}}}var Q6=h2;export{u3 as wrapRequestBody,K9 as transformStreamingResponse,K7 as transformStreamingPayload,U9 as transformResponseThinking,W9 as transformResponse,x9 as transformRequest,d3 as transformCandidateThinking,a3 as transformAnthropicThinking,N1 as startCallbackServer,z9 as shouldIncludeThinking,v9 as setThoughtSignature,S7 as resolveThinkingConfig,o1 as refreshAccessToken,s2 as performOAuthFlow,s as parseStoredToken,$9 as parseErrorBody,Z0 as normalizeToolsForGemini,q7 as normalizeToolResultsFromGemini,N7 as normalizeThinkingConfig,r0 as normalizeModelId,e0 as isTokenExpired,D7 as isThinkingCapableModel,Y9 as isStreamingResponse,l3 as isStreamingRequest,X7 as isGenerativeLanguageRequest,s1 as invalidateProjectContextByRefreshToken,p3 as injectThoughtSignatureIntoFunctionCalls,g3 as injectSystemPrompt,Q0 as hasOpenAIMessages,O7 as hasFunctionTools,D9 as getThoughtSignature,M9 as getOrCreateSessionId,V9 as getModelThinkingConfig,I3 as getDefaultEndpoint,w3 as generatePKCEChallenge,d as formatTokenForStorage,M7 as formatThinkingForOpenAI,F7 as filterUnsignedThinkingBlocks,F1 as fetchUserInfo,X1 as fetchProjectContext,z7 as extractUsageFromSsePayload,X9 as extractUsageFromHeaders,O9 as extractThinkingConfig,q9 as extractThinkingBlocks,Y7 as extractSignatureFromSsePayload,t1 as extractRetryAfterMs,y3 as extractModelFromUrl,A3 as extractModelFromBody,V7 as extractFunctionDeclarations,T3 as extractActionFromUrl,M1 as exchangeCode,h2 as createGoogleAntigravityAuthPlugin,w9 as createAntigravityFetch,N9 as convertRequestBody,o3 as convertOpenAIToGemini,U7 as convertFunctionCallToToolCall,B7 as clearThoughtSignature,R7 as clearSessionId,$1 as clearProjectContextCache,_7 as clearFetchInstanceData,f3 as buildRequestHeaders,D1 as buildAuthURL,m3 as buildAntigravityUrl,n3 as budgetToLevel,G9 as applyThinkingConfigToRequest,s0 as alias2ModelName,$7 as addStreamingHeaders,v1 as SKIP_THOUGHT_SIGNATURE_VALIDATOR,o0 as REASONING_EFFORT_BUDGET_MAP,l0 as MODEL_FAMILIES,Q6 as GoogleAntigravityAuthPlugin,d0 as GOOGLE_USERINFO_URL,G1 as GOOGLE_TOKEN_URL,i0 as GOOGLE_AUTH_URL,S1 as DEFAULT_THINKING_BUDGET,l as AntigravityTokenRefreshError,a0 as ANTIGRAVITY_TOKEN_REFRESH_BUFFER_MS,n0 as ANTIGRAVITY_SYSTEM_PROMPT,a2 as ANTIGRAVITY_SUPPORTED_MODELS,c0 as ANTIGRAVITY_SCOPES,d2 as ANTIGRAVITY_REDIRECT_URI,a1 as ANTIGRAVITY_MODEL_CONFIGS,m as ANTIGRAVITY_HEADERS,i as ANTIGRAVITY_ENDPOINT_FALLBACKS,g as ANTIGRAVITY_DEFAULT_PROJECT_ID,p as ANTIGRAVITY_CLIENT_SECRET,h as ANTIGRAVITY_CLIENT_ID,d1 as ANTIGRAVITY_CALLBACK_PORT,x1 as ANTIGRAVITY_API_VERSION};