import{Cba as $,Dba as y,c7 as Z,e7 as f,ica as B,lca as K}from"./cli-0.5.3-t65dek0m.mjs";import{cga as Y,kga as E}from"./cli-0.5.3-7wdgps7z.mjs";import{Xma as N,Yma as x}from"./cli-0.5.3-0df3r78b.mjs";import{existsSync as S}from"node:fs";import{homedir as F}from"node:os";import{join as X}from"node:path";function _(){if(Y())return;try{return $().read()?.gemini?.accessToken?.trim()||void 0}catch{return}}function J(b){let w=b?.trim();return w?w:void 0}function V(b=process.env){return J(b.GOOGLE_CLOUD_PROJECT)??J(b.GCLOUD_PROJECT)??J(b.GOOGLE_PROJECT_ID)}function D(b=process.env){let w=J(b.GEMINI_AUTH_MODE)?.toLowerCase();if(w==="api-key"||w==="access-token"||w==="adc")return w;return}function P(b=process.env){let w=J(b.GOOGLE_APPLICATION_CREDENTIALS),q=new Set;if(w)q.add(w);q.add(X(F(),".config","gcloud","application_default_credentials.json"));let O=J(b.APPDATA);if(O)q.add(X(O,"gcloud","application_default_credentials.json"));return[...q]}function k(b=process.env){return P(b).some((w)=>S(w))}function G(b){if(typeof b==="string")return J(b);return J(b?.token)}async function A(){let{GoogleAuth:b}=await import("google-auth-library");return new b({scopes:[z]})}async function L(b,w){if(!k(b))return{kind:"none"};try{let q=await(w.createGoogleAuth??A)(),O=await q.getClient(),R=G(await O.getAccessToken());if(!R)return{kind:"none"};let Q=V(b)??(typeof q.getProjectId==="function"?J(await q.getProjectId().catch(()=>{return})):void 0);return{kind:"adc",credential:R,...Q?{projectId:Q}:{}}}catch{return{kind:"none"}}}async function s(b=process.env,w={}){let q=D(b),O=B(),R=O?.transport==="gemini"?J(O.apiKey):void 0,U=q==="access-token"||q==="adc"?void 0:R;if(U&&(q===void 0||q==="api-key"))return{kind:"api-key",credential:U};let Q=q==="api-key"||q==="adc"?void 0:J(_());if(Q&&(q===void 0||q==="access-token")){let W=V(b);return{kind:"access-token",credential:Q,...W?{projectId:W}:{}}}if(q==="api-key"||q==="access-token")return{kind:"none"};if(w.createGoogleAuth)return L(b,w);return T(J(b.GOOGLE_APPLICATION_CREDENTIALS),J(b.APPDATA),F(),V(b))}var z="https://www.googleapis.com/auth/cloud-platform",C=300000,T;var g=N(()=>{K();E();f();y();T=Z(async(b,w,q,O)=>L({GOOGLE_APPLICATION_CREDENTIALS:b,APPDATA:w,GOOGLE_CLOUD_PROJECT:O,GCLOUD_PROJECT:O,GOOGLE_PROJECT_ID:O,HOME:q},{}),C)});
export{D as t5,s as u5,g as v5};
