sidekick-agent-hub 0.26.5 → 0.26.6

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,14 +1,22 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire as __createRequire } from "module";
3
3
  const require = __createRequire(import.meta.url);
4
- var $r=Object.create;var Ht=Object.defineProperty;var zr=Object.getOwnPropertyDescriptor;var qr=Object.getOwnPropertyNames;var kr=Object.getPrototypeOf,Wr=Object.prototype.hasOwnProperty;var y=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var C=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}};var Ur=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of qr(t))!Wr.call(e,i)&&i!==n&&Ht(e,i,{get:()=>t[i],enumerable:!(r=zr(t,i))||r.enumerable});return e};var Qr=(e,t,n)=>(n=e!=null?$r(kr(e)):{},Ur(t||!e||!e.__esModule?Ht(n,"default",{value:e,enumerable:!0}):n,e));var pe=C(S=>{"use strict";var Br=S&&S.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),Kr=S&&S.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),Qe=S&&S.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(n){var r=[];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[r.length]=i);return r},e(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(t!=null)for(var r=e(t),i=0;i<r.length;i++)r[i]!=="default"&&Br(n,t,r[i]);return Kr(n,t),n}})();Object.defineProperty(S,"__esModule",{value:!0});S.CONFIG_DIR_ENV_VAR=void 0;S.getDefaultConfigDir=zt;S.setConfigDir=Vr;S.getConfigDirOverride=Gr;S.getConfigDir=Be;S.getProjectDataPath=Yr;S.getGlobalDataPath=Xr;S.encodeWorkspacePath=Ue;S.getProjectSlug=Zr;S.resolveProjectIdentity=Ke;S.getProjectSlugRaw=ei;var Jr=Qe(y("fs")),G=Qe(y("path")),$t=Qe(y("os"));S.CONFIG_DIR_ENV_VAR="SIDEKICK_CONFIG_DIR";var _e=null;function zt(){return process.platform==="win32"?G.join(process.env.APPDATA||$t.homedir(),"sidekick"):G.join($t.homedir(),".config","sidekick")}function Vr(e){let t=e?.trim();_e=t?G.resolve(t):null}function Gr(){return _e}function Be(){if(_e)return _e;let e=process.env[S.CONFIG_DIR_ENV_VAR]?.trim();return e?G.resolve(e):zt()}function Yr(e,t){return G.join(Be(),t,`${e}.json`)}function Xr(e){return G.join(Be(),e)}function Ue(e){return e.replace(/\\/g,"/").replace(/[:/_]/g,"-")}function Zr(e){return Ke(e).canonicalSlug}function Ke(e){let t=G.resolve(e||process.cwd()),n;try{n=Jr.realpathSync(t)}catch{n=t}let r=Ue(n),i=Ue(t);return{cwd:t,resolvedCwd:n,canonicalSlug:r,legacySlug:i,candidates:r===i?[r]:[r,i],hasLegacyMismatch:r!==i}}function ei(e){return Ke(e).legacySlug}});var Y=C(x=>{"use strict";var ti=x&&x.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),ni=x&&x.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),Ve=x&&x.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(n){var r=[];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[r.length]=i);return r},e(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(t!=null)for(var r=e(t),i=0;i<r.length;i++)r[i]!=="default"&&ti(n,t,r[i]);return ni(n,t),n}})();Object.defineProperty(x,"__esModule",{value:!0});x.atomicWriteJson=kt;x.atomicWriteJsonSync=Wt;x.atomicWriteFileSync=Ut;x.updateJsonStoreAtomic=ui;x.withFileLockSync=Bt;x.updateJsonStoreAtomicSync=fi;var oe=Ve(y("crypto")),d=Ve(y("fs")),ie=Ve(y("path")),Je=1e4,re=3e3,ri=12e4,qt=15e3,ii=15,oi=new Int32Array(new SharedArrayBuffer(4));async function ci(e){let t;try{t=await d.promises.open(e,"r"),await t.sync()}catch(n){let r=n.code;if(!["EISDIR","EINVAL","ENOSYS","EPERM","EACCES"].includes(r??""))throw n}finally{await t?.close().catch(()=>{})}}function ai(e){let t;try{t=d.openSync(e,"r"),d.fsyncSync(t)}catch(n){let r=n.code;if(!["EISDIR","EINVAL","ENOSYS","EPERM","EACCES"].includes(r??""))throw n}finally{t!==void 0&&d.closeSync(t)}}async function kt(e,t){await d.promises.mkdir(ie.dirname(e),{recursive:!0,mode:448});let n=`${e}.${process.pid}.${oe.randomBytes(8).toString("hex")}.tmp`,r;try{r=await d.promises.open(n,"wx",384),await r.writeFile(JSON.stringify(t,null,2),"utf8"),await r.sync(),await r.close(),r=void 0,await d.promises.rename(n,e),await ci(ie.dirname(e))}catch(i){throw await r?.close().catch(()=>{}),await d.promises.rm(n,{force:!0}).catch(()=>{}),i}}function Wt(e,t){Ut(e,JSON.stringify(t,null,2))}function Ut(e,t,n=384){d.mkdirSync(ie.dirname(e),{recursive:!0,mode:448});let r=`${e}.${process.pid}.${oe.randomBytes(8).toString("hex")}.tmp`,i;try{i=d.openSync(r,"wx",n),d.writeFileSync(i,t,{encoding:"utf8"}),d.fsyncSync(i),d.closeSync(i),i=void 0,d.renameSync(r,e),ai(ie.dirname(e))}catch(o){throw i!==void 0&&d.closeSync(i),d.rmSync(r,{force:!0}),o}}async function ui(e,t,n){await d.promises.mkdir(ie.dirname(e),{recursive:!0,mode:448});let r=`${e}.lock`,i=await si(r);try{let o=t(),c;try{c=await d.promises.readFile(e,"utf8")}catch(u){if(u.code!=="ENOENT")throw u}if(c!==void 0)try{o=JSON.parse(c)}catch{let u=`${e}.corrupt-${Date.now()}-${oe.randomBytes(4).toString("hex")}`;await d.promises.rename(e,u)}let a=await n(o);return await kt(e,a),a}finally{await li(r,i)}}async function si(e){let t=Date.now()+re,n=null;for(;;)try{let r=await d.promises.open(e,"wx",384),i=`${process.pid}:${oe.randomBytes(16).toString("hex")}`;await r.writeFile(i,"utf8"),await r.sync();let o=setInterval(()=>{d.promises.utimes(e,new Date,new Date).catch(()=>{})},Math.floor(Je/3));return o.unref(),{handle:r,token:i,heartbeat:o}}catch(r){if(r.code!=="EEXIST")throw r;let i=await d.promises.readFile(e,"utf8").catch(()=>null);i!==null&&i!==n&&(n=i,t=Date.now()+re);try{let o=await d.promises.stat(e),c=Date.now()-o.mtimeMs;c>Je&&!Qt(i,c)&&await d.promises.rm(e,{force:!0})}catch{}if(Date.now()>=t)throw new Error(`Timed out waiting for store lock: ${e} (no progress for ${re}ms)`);await new Promise(o=>setTimeout(o,15))}}async function li(e,t){clearInterval(t.heartbeat),await t.handle.close().catch(()=>{});try{await d.promises.readFile(e,"utf8")===t.token&&await d.promises.rm(e,{force:!0})}catch{}}function Qt(e,t){if(t>ri)return!1;let n=Number.parseInt((e??"").split(":",1)[0],10);if(!Number.isInteger(n)||n<=0)return!1;try{return process.kill(n,0),!0}catch(r){return r.code==="EPERM"}}function Bt(e,t){let n=di(e);try{return t()}finally{try{d.readFileSync(e,"utf8")===n&&d.rmSync(e,{force:!0})}catch{}}}function di(e){let t=Date.now(),n=t+re,r=null;for(;;)try{let i=d.openSync(e,"wx",384),o=`${process.pid}:${oe.randomBytes(16).toString("hex")}`;return d.writeFileSync(i,o,"utf8"),d.fsyncSync(i),d.closeSync(i),o}catch(i){if(i.code!=="EEXIST")throw i;let o=null;try{o=d.readFileSync(e,"utf8")}catch{}o!==null&&o!==r&&(r=o,n=Date.now()+re);try{let a=d.statSync(e),u=Date.now()-a.mtimeMs;u>Je&&!Qt(o,u)&&d.rmSync(e,{force:!0})}catch{}let c=Date.now();if(c>=n)throw new Error(`Timed out waiting for store lock: ${e} (no progress for ${re}ms)`);if(c-t>=qt)throw new Error(`Timed out waiting for store lock: ${e} (blocked synchronously for ${qt}ms)`);Atomics.wait(oi,0,0,ii)}}function fi(e,t,n){return d.mkdirSync(ie.dirname(e),{recursive:!0,mode:448}),Bt(`${e}.lock`,()=>{let r=t(),i;try{i=d.readFileSync(e,"utf8")}catch(c){if(c.code!=="ENOENT")throw c}if(i!==void 0)try{r=JSON.parse(i)}catch{let c=`${e}.corrupt-${Date.now()}-${oe.randomBytes(4).toString("hex")}`;d.renameSync(e,c)}let o=n(r);return Wt(e,o),o})}});var Kt=C(we=>{"use strict";Object.defineProperty(we,"__esModule",{value:!0});we._onRawAccountsChanged=pi;we._emitAccountsChanged=yi;var Ge=new Set;function pi(e){return Ge.add(e),()=>Ge.delete(e)}function yi(e){for(let t of Ge)try{t(e)}catch{}}});var Ye=C(L=>{"use strict";Object.defineProperty(L,"__esModule",{value:!0});L.MODEL_PROVIDER_IDS=L.RUNTIME_QUOTA_PROVIDER_IDS=L.QUOTA_PROVIDER_IDS=L.ACCOUNT_PROVIDER_IDS=L.SESSION_PROVIDER_IDS=void 0;L.SESSION_PROVIDER_IDS=["claude-code","opencode","codex"];L.ACCOUNT_PROVIDER_IDS=["claude-code","codex"];L.QUOTA_PROVIDER_IDS=["claude-code","codex","zai"];L.RUNTIME_QUOTA_PROVIDER_IDS=["claude","codex","zai"];L.MODEL_PROVIDER_IDS=["anthropic","openai","google","unknown"]});var Ce=C(v=>{"use strict";var mi=v&&v.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),hi=v&&v.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),Jt=v&&v.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(n){var r=[];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[r.length]=i);return r},e(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(t!=null)for(var r=e(t),i=0;i<r.length;i++)r[i]!=="default"&&mi(n,t,r[i]);return hi(n,t),n}})();Object.defineProperty(v,"__esModule",{value:!0});v.ACCOUNT_PROVIDER_IDS=void 0;v.getAccountsDir=Xe;v.withSavedAccountRegistryLock=Yt;v.readSavedAccountRegistry=ye;v.writeSavedAccountRegistry=_i;v.listSavedAccountProfiles=wi;v.getActiveSavedAccount=bi;v.upsertSavedAccountProfile=Ci;v.setActiveSavedAccount=Oi;v.replaceSavedAccountProfiles=Ii;v.replaceSavedAccountProfilesUnlocked=Di;v.removeSavedAccountProfile=Pi;var Vt=Jt(y("fs")),Gt=Jt(y("path")),gi=pe(),be=Y(),Si=Kt(),vi=Ye();Object.defineProperty(v,"ACCOUNT_PROVIDER_IDS",{enumerable:!0,get:function(){return vi.ACCOUNT_PROVIDER_IDS}});function Xe(){return Gt.join((0,gi.getConfigDir)(),"accounts")}function Ze(){return Gt.join(Xe(),"accounts.json")}function et(){return Ze()+".lock"}function tt(){Vt.mkdirSync(Xe(),{recursive:!0,mode:448})}function nt(e,t={}){(0,be.atomicWriteJsonSync)(Ze(),en(e)),t.silent||(0,Si._emitAccountsChanged)("local")}function Yt(e){return tt(),(0,be.withFileLockSync)(et(),e)}function rt(e,t={}){return Yt(()=>Xt(e,t))}function Xt(e,t={}){let n=e(ye()??Zt());return nt(n,t),n}function Zt(){return{version:2,activeByProvider:{"claude-code":null,codex:null},accounts:[]}}function en(e){let t=Zt();return t.activeByProvider["claude-code"]=e.activeByProvider?.["claude-code"]??null,t.activeByProvider.codex=e.activeByProvider?.codex??null,t.accounts=Array.isArray(e.accounts)?e.accounts.filter(n=>!!n&&(n.providerId==="claude-code"||n.providerId==="codex")&&typeof n.id=="string"&&typeof n.addedAt=="string").map(n=>({...n,label:n.label||void 0,email:n.email||void 0,providerAccountId:n.providerAccountId||void 0,metadata:n.metadata?{email:n.metadata.email||void 0,workspaceId:n.metadata.workspaceId||void 0,planType:n.metadata.planType||void 0,authMode:n.metadata.authMode||void 0}:void 0})):[],t}function Ai(e){return{version:2,activeByProvider:{"claude-code":e.activeAccountUuid,codex:null},accounts:e.accounts.map(t=>({id:t.uuid,providerId:"claude-code",providerAccountId:t.uuid,email:t.email,label:t.label,addedAt:t.addedAt,metadata:{email:t.email}}))}}function ye(){try{let e=Vt.readFileSync(Ze(),"utf8"),t=JSON.parse(e);return t?.version===2?en(t):t?.version===1&&Array.isArray(t.accounts)?Ai(t):null}catch{return null}}function _i(e){tt(),(0,be.withFileLockSync)(et(),()=>nt(e))}function wi(e){let t=ye();return t?e?t.accounts.filter(n=>n.providerId===e):t.accounts:[]}function bi(e){let t=ye();if(!t)return null;let n=t.activeByProvider[e];return n?t.accounts.find(r=>r.providerId===e&&r.id===n)??null:null}function Ci(e){return rt(t=>{let n=t.accounts.findIndex(r=>r.providerId===e.providerId&&r.id===e.id);return n>=0?t.accounts[n]=e:t.accounts.push(e),t})}function Oi(e,t,n={}){return rt(r=>(r.activeByProvider[e]=t,r),n)}function tn(e,t,n){return r=>(r.accounts=r.accounts.filter(i=>i.providerId!==e).concat(t),r.activeByProvider[e]=n,r)}function Ii(e,t,n){return rt(tn(e,t,n))}function Di(e,t,n){return Xt(tn(e,t,n))}function Pi(e,t){return tt(),(0,be.withFileLockSync)(et(),()=>{let n=ye();if(!n)return null;let r=n.accounts.findIndex(o=>o.providerId===e&&o.id===t);if(r===-1)return null;let[i]=n.accounts.splice(r,1);return n.activeByProvider[e]===t&&(n.activeByProvider[e]=n.accounts.find(o=>o.providerId===e)?.id??null),nt(n),i})}});var ot=C(F=>{"use strict";var ji=F&&F.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),Mi=F&&F.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),rn=F&&F.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(n){var r=[];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[r.length]=i);return r},e(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(t!=null)for(var r=e(t),i=0;i<r.length;i++)r[i]!=="default"&&ji(n,t,r[i]);return Mi(n,t),n}})();Object.defineProperty(F,"__esModule",{value:!0});F.getClaudeProfilesDir=on;F.getClaudeProfileHome=cn;F.ensureClaudeProfileDirs=Ni;F.claudeKeychainSuffix=an;F.claudeKeychainService=un;F.readClaudeProfileIdentity=sn;F.keychainServiceExists=ln;F.isClaudeProfileAuthenticated=Ti;var Fi=y("child_process"),Ei=y("crypto"),it=rn(y("fs")),Oe=rn(y("path")),xi=Ce(),nn="Claude Code-credentials";function on(){return Oe.join((0,xi.getAccountsDir)(),"claude","profiles")}function cn(e){return Oe.join(on(),e,"home")}function Ni(e){it.mkdirSync(cn(e),{recursive:!0,mode:448})}function an(e){return(0,Ei.createHash)("sha256").update(e).digest("hex").slice(0,8)}function un(e){return e?`${nn}-${an(e)}`:nn}function sn(e){try{let t=JSON.parse(it.readFileSync(Oe.join(e,".claude.json"),"utf8")),n=t?.oauthAccount?.emailAddress,r=t?.oauthAccount?.accountUuid;return typeof n=="string"&&typeof r=="string"?{email:n,uuid:r}:null}catch{return null}}function ln(e){try{return(0,Fi.execFileSync)("security",["find-generic-password","-s",e],{stdio:["ignore","ignore","ignore"],timeout:4e3,killSignal:"SIGKILL"}),!0}catch{return!1}}function Ti(e){return(process.platform==="darwin"?ln(un(e)):it.existsSync(Oe.join(e,".credentials.json")))&&sn(e)!==null}});var mn=C(H=>{"use strict";var Ri=H&&H.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),Li=H&&H.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),ut=H&&H.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(n){var r=[];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[r.length]=i);return r},e(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(t!=null)for(var r=e(t),i=0;i<r.length;i++)r[i]!=="default"&&Ri(n,t,r[i]);return Li(n,t),n}})();Object.defineProperty(H,"__esModule",{value:!0});H.KEYCHAIN_SERVICE=void 0;H.readActiveCredentials=$i;H.writeActiveCredentials=zi;var at=ut(y("fs")),dn=ut(y("path")),Hi=ut(y("os")),fn=y("child_process"),pn=ot();H.KEYCHAIN_SERVICE="Claude Code-credentials";function ct(e){return`'${e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")}'`}function yn(e){return dn.join(e??dn.join(Hi.homedir(),".claude"),".credentials.json")}function $i(e){if(process.platform==="darwin")try{let t=(0,fn.execFileSync)("security",["find-generic-password","-s",(0,pn.claudeKeychainService)(e),"-w"],{encoding:"utf8",stdio:["pipe","pipe","pipe"],timeout:4e3,killSignal:"SIGKILL"});return JSON.parse(t.trim())}catch{return null}try{return JSON.parse(at.readFileSync(yn(e),"utf8"))}catch{return null}}function zi(e,t){let n=JSON.stringify(e);if(JSON.parse(n),process.platform==="darwin"){let o=(0,pn.claudeKeychainService)(t),c=process.env.USER||"user",a=["add-generic-password","-U","-s",ct(o),"-a",ct(c),"-w",ct(n)].join(" ");(0,fn.execFileSync)("security",["-i"],{input:a+`
5
- `,stdio:["pipe","pipe","pipe"],timeout:4e3,killSignal:"SIGKILL"});return}let r=yn(t),i=r+".tmp";at.writeFileSync(i,n,{encoding:"utf8",mode:384}),at.renameSync(i,r)}});var Pn=C(w=>{"use strict";var qi=w&&w.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),ki=w&&w.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),lt=w&&w.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(n){var r=[];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[r.length]=i);return r},e(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(t!=null)for(var r=e(t),i=0;i<r.length;i++)r[i]!=="default"&&qi(n,t,r[i]);return ki(n,t),n}})();Object.defineProperty(w,"__esModule",{value:!0});w.readAccountRegistry=De;w.writeAccountRegistry=Vi;w.readActiveClaudeAccount=Pe;w.addCurrentAccount=Gi;w.switchToAccount=Yi;w.resolveActiveClaudeHome=Zi;w.applyActiveClaudeToLiveHome=eo;w.reconcileClaudeAuthState=to;w.removeAccount=no;w.listAccounts=ro;w.getActiveAccount=Dn;w.resolveActiveClaudeAccount=io;w.isMultiAccountEnabled=oo;var E=lt(y("fs")),A=lt(y("path")),hn=lt(y("os")),$=mn(),U=Y(),_=Ce(),ue=ot();function gn(){return A.join(hn.homedir(),".claude")}function Q(){let e=A.join(gn(),".claude.json");try{if(JSON.parse(E.readFileSync(e,"utf8"))?.oauthAccount)return e}catch{}return A.join(hn.homedir(),".claude.json")}function ce(){return A.join((0,_.getAccountsDir)(),"credentials")}function ae(){return A.join((0,_.getAccountsDir)(),"configs")}function Wi(){return A.join((0,_.getAccountsDir)(),"claude",".profiles-migrated-v1")}function Ui(){for(let e of[(0,_.getAccountsDir)(),ce(),ae()])E.mkdirSync(e,{recursive:!0,mode:448})}function dt(e){try{return JSON.parse(E.readFileSync(e,"utf8"))}catch{return null}}function Sn(e){return dt(e)?.oauthAccount??null}function vn(e,t){(0,U.atomicWriteJsonSync)(A.join((0,ue.getClaudeProfileHome)(e),".claude.json"),{oauthAccount:t})}function An(e,t){(0,$.writeActiveCredentials)(t,(0,ue.getClaudeProfileHome)(e))}function Ie(e,t,n){vn(e,n),An(e,t)}function _n(e){return dt(A.join(ce(),`${e}.credentials.json`))}function wn(e){return dt(A.join(ae(),`${e}.config.json`))}function bn(e){return Sn(A.join((0,ue.getClaudeProfileHome)(e),".claude.json"))}function Qi(e){let t=(0,$.readActiveCredentials)((0,ue.getClaudeProfileHome)(e)),n=bn(e);if(t&&n)return{credentials:t,oauthAccount:n};let r=_n(e),i=wn(e);if(r&&i){try{Ie(e,r,i)}catch{}return{credentials:r,oauthAccount:i}}return null}function Bi(){return Sn(Q())}function Ki(){let e=Pe();if(!e)return;let t=(0,$.readActiveCredentials)(),n=Bi();if(t)try{(0,U.atomicWriteJsonSync)(A.join(ce(),`${e.uuid}.credentials.json`),t),An(e.uuid,t)}catch{}if(n)try{(0,U.atomicWriteJsonSync)(A.join(ae(),`${e.uuid}.config.json`),n),vn(e.uuid,n)}catch{}}function Ji(e){let t={};try{t=JSON.parse(E.readFileSync(Q(),"utf8"))}catch{}t.oauthAccount=e,(0,U.atomicWriteJsonSync)(Q(),t)}function De(){let e=(0,_.readSavedAccountRegistry)();if(!e)return null;let t=e.accounts.filter(n=>n.providerId==="claude-code").map(n=>({uuid:n.providerAccountId??n.id,email:n.email??n.metadata?.email??"unknown",label:n.label,addedAt:n.addedAt}));return{version:1,activeAccountUuid:e.activeByProvider["claude-code"],accounts:t}}function Vi(e){(0,_.replaceSavedAccountProfiles)("claude-code",Cn(e),e.activeAccountUuid)}function st(e){(0,_.replaceSavedAccountProfilesUnlocked)("claude-code",Cn(e),e.activeAccountUuid)}function Cn(e){return e.accounts.map(t=>({id:t.uuid,providerId:"claude-code",providerAccountId:t.uuid,email:t.email,label:t.label,addedAt:t.addedAt,metadata:{email:t.email}}))}function Pe(){try{let e=E.readFileSync(Q(),"utf8"),t=JSON.parse(e),n=t?.oauthAccount?.emailAddress,r=t?.oauthAccount?.accountUuid;return!n||!r?null:{email:n,uuid:r}}catch{return null}}function Gi(e){let t=Pe();if(!t)return{success:!1,error:"No active Claude account found. Sign in with `claude` first."};let n=(0,$.readActiveCredentials)();if(!n)return{success:!1,error:"Could not read Claude credentials."};let r;try{r=JSON.parse(E.readFileSync(Q(),"utf8")).oauthAccount}catch{return{success:!1,error:"Could not read Claude config file."}}return Ui(),(0,_.withSavedAccountRegistryLock)(()=>{let i=De()??{version:1,activeAccountUuid:null,accounts:[]},o=i.accounts.find(c=>c.uuid===t.uuid);if(o){e!==void 0&&(o.label=e),(0,U.atomicWriteJsonSync)(A.join(ce(),`${t.uuid}.credentials.json`),n),(0,U.atomicWriteJsonSync)(A.join(ae(),`${t.uuid}.config.json`),r);try{Ie(t.uuid,n,r)}catch{}return i.activeAccountUuid=t.uuid,st(i),{success:!0}}(0,U.atomicWriteJsonSync)(A.join(ce(),`${t.uuid}.credentials.json`),n),(0,U.atomicWriteJsonSync)(A.join(ae(),`${t.uuid}.config.json`),r);try{Ie(t.uuid,n,r)}catch{}return i.accounts.push({uuid:t.uuid,email:t.email,label:e,addedAt:new Date().toISOString()}),i.activeAccountUuid=t.uuid,st(i),{success:!0}})}function On(e){let t=A.join((0,_.getAccountsDir)(),"claude");return E.mkdirSync(t,{recursive:!0,mode:448}),(0,U.withFileLockSync)(A.join(t,"auth-swap.lock"),e)}function Yi(e){try{return On(()=>Xi(e))}catch(t){return{success:!1,error:`Could not acquire the account-switch lock: ${t}`}}}function Xi(e){let t=De();if(!t)return{success:!1,error:"No account registry found. Save an account first."};if(!t.accounts.find(c=>c.uuid===e))return{success:!1,error:`Account ${e} not found in registry.`};let r=null,i=null;r=(0,$.readActiveCredentials)();try{i=E.readFileSync(Q(),"utf8")}catch{}try{Ki()}catch{}try{(0,_.setActiveSavedAccount)("claude-code",e)}catch(c){return{success:!1,error:`Failed to update account registry: ${c}`}}let o=In();if(!o.success){try{(0,_.setActiveSavedAccount)("claude-code",t.activeAccountUuid)}catch{}if(r)try{(0,$.writeActiveCredentials)(r)}catch{}if(i)try{E.writeFileSync(Q(),i)}catch{}return o}return o}function Zi(){let e=(0,_.getActiveSavedAccount)("claude-code");return e?(0,ue.getClaudeProfileHome)(e.providerAccountId??e.id):gn()}function eo(){try{return On(In)}catch(e){return{success:!1,error:`Could not acquire the account-switch lock: ${e}`}}}function In(){let e=(0,_.getActiveSavedAccount)("claude-code");if(!e)return{success:!1,error:"No active Claude account found."};let t=e.providerAccountId??e.id,n=Qi(t);if(!n)return{success:!1,error:`Stored credentials for ${e.email??t} not found.`};let r=(0,$.readActiveCredentials)(),i=null;try{i=E.readFileSync(Q(),"utf8")}catch{}try{(0,$.writeActiveCredentials)(n.credentials)}catch(o){if(r)try{(0,$.writeActiveCredentials)(r)}catch{}return{success:!1,error:`Failed to write credentials: ${o}`}}try{Ji(n.oauthAccount)}catch(o){if(r)try{(0,$.writeActiveCredentials)(r)}catch{}if(i)try{E.writeFileSync(Q(),i)}catch{}return{success:!1,error:`Failed to write config: ${o}`}}return{success:!0}}function to(){try{let e=Wi();if(E.existsSync(e))return;let t=(0,_.readSavedAccountRegistry)();if(t)for(let n of t.accounts.filter(r=>r.providerId==="claude-code"))try{let r=n.providerAccountId??n.id;if((0,$.readActiveCredentials)((0,ue.getClaudeProfileHome)(r))&&bn(r))continue;let i=_n(r),o=wn(r);if(!i||!o)continue;Ie(r,i,o)}catch{}E.mkdirSync(A.dirname(e),{recursive:!0,mode:448}),E.writeFileSync(e,new Date().toISOString()+`
6
- `,{encoding:"utf8",mode:384})}catch{}}function no(e){return(0,_.withSavedAccountRegistryLock)(()=>{let t=De();if(!t)return{success:!1,error:"No account registry found."};let n=t.accounts.findIndex(r=>r.uuid===e);if(n===-1)return{success:!1,error:`Account ${e} not found.`};try{E.unlinkSync(A.join(ce(),`${e}.credentials.json`))}catch{}try{E.unlinkSync(A.join(ae(),`${e}.config.json`))}catch{}return t.accounts.splice(n,1),t.activeAccountUuid===e&&(t.activeAccountUuid=t.accounts[0]?.uuid??null),st(t),{success:!0}})}function ro(){return(0,_.listSavedAccountProfiles)("claude-code").map(e=>({uuid:e.providerAccountId??e.id,email:e.email??e.metadata?.email??"unknown",label:e.label,addedAt:e.addedAt}))}function Dn(){let e=(0,_.getActiveSavedAccount)("claude-code");return e?{uuid:e.providerAccountId??e.id,email:e.email??e.metadata?.email??"unknown",label:e.label,addedAt:e.addedAt}:null}function io(e={}){let t=e.selfHeal??!0,n=Pe();if(n){let i=(0,_.listSavedAccountProfiles)("claude-code"),o=i.find(c=>(c.providerAccountId??c.id)===n.uuid)??i.find(c=>(c.email??c.metadata?.email)===n.email);if(o){let c=(0,_.getActiveSavedAccount)("claude-code");if(t&&(!c||c.id!==o.id))try{(0,_.setActiveSavedAccount)("claude-code",o.id,{silent:!0})}catch{}}return{email:n.email,label:o?.label,providerAccountId:n.uuid,registryAccountId:o?.id,source:"live"}}let r=Dn();return r?{email:r.email,label:r.label,providerAccountId:r.uuid,registryAccountId:r.uuid,source:"registry"}:{source:"none"}}function oo(){return(0,_.listSavedAccountProfiles)("claude-code").length>=1}});var Yn=C(m=>{"use strict";var co=m&&m.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),ao=m&&m.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),yt=m&&m.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(n){var r=[];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[r.length]=i);return r},e(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(t!=null)for(var r=e(t),i=0;i<r.length;i++)r[i]!=="default"&&co(n,t,r[i]);return ao(n,t),n}})();Object.defineProperty(m,"__esModule",{value:!0});m.getSystemCodexHome=k;m.getCodexMonitoringHomes=po;m.getCodexProfilesDir=En;m.getCodexProfileHome=z;m.readCodexAccountMetadata=Ln;m.readCodexAccountMetadataAsync=Hn;m.isCodexProfileAuthenticated=$n;m.isCodexProfileAuthenticatedAsync=zn;m.listCodexAccounts=se;m.getActiveCodexAccount=Ne;m.resolveSidekickCodexHome=St;m.resolveActiveCodexAccount=bo;m.getCodexExecutionEnv=Co;m.prepareCodexAccount=Oo;m.prepareCodexAccountAsync=Io;m.finalizeCodexAccount=Wn;m.finalizeCodexAccountAsync=Un;m.switchToCodexAccount=Mo;m.switchToCodexAccountAsync=Fo;m.reconcileCodexAuthState=Eo;m.reconcileCodexAuthStateAsync=xo;m.removeCodexAccount=No;var b=yt(y("fs")),uo=yt(y("os")),p=yt(y("path")),je=y("child_process"),so=y("crypto"),M=Ce(),j=Y(),lo=11520*60*1e3;function Mn(){return p.join(uo.homedir(),".codex")}function Fn(){let e=process.env.CODEX_HOME?.trim();return e||null}function fo(e){let t=new Set,n=[];for(let r of e){let i=p.resolve(r);t.has(i)||(t.add(i),n.push(r))}return n}function k(){return Fn()??Mn()}function po(){let e=Fn();if(e)return[e];let t=[Mn()];for(let n of se()){let r=z(n.id);b.existsSync(p.join(r,"sessions"))&&t.push(r)}return fo(t)}function En(){return p.join((0,M.getAccountsDir)(),"codex","profiles")}function mt(e){return p.join(En(),e)}function z(e){return p.join(mt(e),"codex-home")}function xn(e){return p.join(mt(e),"profile.json")}function Nn(e){b.mkdirSync(z(e),{recursive:!0,mode:448})}function K(e){try{return b.readFileSync(e,"utf8")}catch{return null}}function ht(e){try{return JSON.parse(b.readFileSync(xn(e),"utf8"))}catch{return null}}function yo(e,t){Nn(e),(0,j.atomicWriteJsonSync)(xn(e),t)}function ft(e,t){return b.existsSync(e)?(b.mkdirSync(p.dirname(t),{recursive:!0,mode:448}),b.copyFileSync(e,t),!0):!1}function mo(e,t){ft(p.join(e,"config.toml"),p.join(t,"config.toml"))}function ho(e,t){let n=ft(p.join(e,"auth.json"),p.join(t,"auth.json")),r=ft(p.join(e,".credentials.json"),p.join(t,".credentials.json"));return n||r}function go(e){let t=e.split(".");if(t.length<2)return null;try{let n=Buffer.from(t[1],"base64url").toString("utf8");return JSON.parse(n)}catch{return null}}function gt(e){if(!e)return null;try{return JSON.parse(e)}catch{return null}}function X(e){let t=gt(e);if(!t)return null;let n=t.tokens?.id_token,r=n?go(n):null,i=r?.["https://api.openai.com/profile"],o=r?.["https://api.openai.com/auth"],c=typeof r?.email=="string"?r.email:typeof i?.email=="string"?i.email:void 0,a=typeof o?.chatgpt_account_id=="string"?o.chatgpt_account_id:t.tokens?.account_id,u=typeof o?.chatgpt_plan_type=="string"?o.chatgpt_plan_type:void 0,s=t.OPENAI_API_KEY||t.auth_mode==="api_key"?"api-key":"chatgpt";return{email:c,workspaceId:a,planType:u,authMode:s}}function pt(e,t){let n=gt(e);if(n?.last_refresh){let r=Date.parse(n.last_refresh);if(!Number.isNaN(r))return r}if(t)try{return b.statSync(t).mtimeMs}catch{}return null}function So(e){let t=X(K(p.join(e,"auth.json")));return t?{email:t.email,workspaceId:t.workspaceId,planType:t.planType,authMode:t.authMode}:{}}function vo(e){let t=p.join(e,".credentials.json");if(!b.existsSync(t))return{};try{let n=JSON.parse(b.readFileSync(t,"utf8"));if(typeof n.OPENAI_API_KEY=="string"||typeof n.CODEX_API_KEY=="string")return{authMode:"api-key"}}catch{}return{}}var Me=4e3;function Tn(e,t){let n=t.trim();return e===0&&/^Logged in/i.test(n)?/API key/i.test(n)?{loggedIn:!0,authMode:"api-key"}:/ChatGPT/i.test(n)?{loggedIn:!0,authMode:"chatgpt"}:{loggedIn:!0}:{loggedIn:!1}}function Fe(e){try{let t={...process.env,CODEX_HOME:e},n=(0,je.spawnSync)("codex",["login","status"],{encoding:"utf8",env:t,timeout:Me,killSignal:"SIGKILL"});return Tn(n.status,String(n.stdout??""))}catch{}return{loggedIn:!1}}function Ee(e){return new Promise(t=>{try{let n={...process.env,CODEX_HOME:e};(0,je.execFile)("codex",["login","status"],{encoding:"utf8",env:n,timeout:Me,killSignal:"SIGKILL"},(r,i)=>{t(r?{loggedIn:!1}:Tn(0,String(i??"")))})}catch{t({loggedIn:!1})}})}function Ao(){if(process.platform==="win32")return!1;try{return(0,je.spawnSync)("pgrep",["-x","codex"],{encoding:"utf8",timeout:Me,killSignal:"SIGKILL"}).status===0}catch{return!1}}function _o(){return process.platform==="win32"?Promise.resolve(!1):new Promise(e=>{try{(0,je.execFile)("pgrep",["-x","codex"],{encoding:"utf8",timeout:Me,killSignal:"SIGKILL"},t=>e(!t))}catch{e(!1)}})}function xe(e){let t=So(e);if(t.email||t.workspaceId||t.planType||t.authMode)return t;let n=vo(e);return n.authMode?n:null}function Rn(e){return e.loggedIn?{authMode:e.authMode??"unknown"}:{}}function Ln(e){return xe(e)??Rn(Fe(e))}async function Hn(e){return xe(e)??Rn(await Ee(e))}function me(e){return b.existsSync(p.join(e,"auth.json"))||b.existsSync(p.join(e,".credentials.json"))}function $n(e){return me(e)||Fe(e).loggedIn}async function zn(e){return me(e)||(await Ee(e)).loggedIn}function wo(e,t){let n=e.trim().toLowerCase();return se().find(i=>i.id!==t&&(i.label??"").trim().toLowerCase()===n)?`A Codex account named "${e}" already exists.`:null}function se(){return(0,M.listSavedAccountProfiles)("codex")}function Ne(){return(0,M.getActiveSavedAccount)("codex")}function St(){return k()}function bo(e={}){let t=e.selfHeal??!0,n=X(K(p.join(St(),"auth.json")));if(n&&(n.email||n.workspaceId)){let i=vt(n);if(i){let o=(0,M.getActiveSavedAccount)("codex");if(t&&(!o||o.id!==i.id))try{(0,M.setActiveSavedAccount)("codex",i.id)}catch{}}return{email:n.email??i?.email??i?.metadata?.email,label:i?.label,providerAccountId:i?.providerAccountId??n.workspaceId,registryAccountId:i?.id,source:"live"}}let r=Ne();return r?{email:r.email??r.metadata?.email,label:r.label,providerAccountId:r.providerAccountId,registryAccountId:r.id,source:"registry"}:{source:"none"}}function Co(e=process.env){return{...e,CODEX_HOME:St()}}function qn(e){let t=e.trim();if(!t)return{result:{success:!1,error:"Codex accounts require a non-empty label."}};let n=wo(t);if(n)return{result:{success:!1,error:n}};let r=(0,so.randomUUID)(),i=z(r);Nn(r),yo(r,{label:t,addedAt:new Date().toISOString()});let o=k();return mo(o,i),ho(o,i)?{finalize:{profileId:r,codexHome:i}}:{result:{success:!0,profileId:r,codexHome:i,needsLogin:!0}}}function Oo(e){let t=qn(e);return"finalize"in t?{...Wn(t.finalize.profileId),...t.finalize,needsLogin:!1}:t.result}async function Io(e){let t=qn(e);return"finalize"in t?{...await Un(t.finalize.profileId),...t.finalize,needsLogin:!1}:t.result}function kn(e,t,n){let r=ht(e);if(!r)return{result:{success:!1,error:`Codex profile ${e} was not prepared.`}};let i=z(e);if(!n.authenticated)return{result:{success:!1,error:"Codex profile is not authenticated yet."}};let o={id:e,providerId:"codex",label:r.label,email:n.metadata.email,addedAt:r.addedAt,metadata:n.metadata};return(0,M.upsertSavedAccountProfile)(o),t.activate===!1?{result:{success:!0}}:me(i)?{swap:o}:((0,M.setActiveSavedAccount)("codex",e),{result:{success:!0,warning:"Codex stores credentials in the OS keyring; sidekick cannot swap them per account, so `codex` keeps using the keyring credentials."}})}function Wn(e,t={}){if(!ht(e))return{success:!1,error:`Codex profile ${e} was not prepared.`};let n=z(e),r=$n(n),i=kn(e,t,{authenticated:r,metadata:r?Ln(n):{}});return"swap"in i?Bn(i.swap):i.result}async function Un(e,t={}){if(!ht(e))return{success:!1,error:`Codex profile ${e} was not prepared.`};let n=z(e),r=await zn(n),i=kn(e,t,{authenticated:r,metadata:r?await Hn(n):{}});return"swap"in i?Kn(i.swap):i.result}function jn(){return p.join((0,M.getAccountsDir)(),"codex","stash")}function Qn(e,t){try{let n=new Date().toISOString().replace(/[:.]/g,"-"),r=null;if(e&&(r=p.join(jn(),`auth-${n}.json`),(0,j.atomicWriteFileSync)(r,e)),t){let i=p.join(jn(),`credentials-${n}.json`);(0,j.atomicWriteFileSync)(i,t),r=r??i}return r}catch{return null}}function vt(e){let t=se();if(e?.workspaceId){let n=t.find(r=>r.metadata?.workspaceId===e.workspaceId);if(n)return n}if(e?.email){let n=t.find(r=>(r.email??r.metadata?.email)===e.email);if(n)return n}return!e?.workspaceId&&!e?.email?Ne():null}function Do(e,t){if(!e&&!t)return{};try{let n=X(e),r=vt(n);if(!r){let o=Qn(e,t);return{stashPath:o??void 0,warning:o?`Live Codex credentials did not match any saved account; stashed at ${o}.`:"Live Codex credentials did not match any saved account and could not be stashed."}}let i=z(r.id);e&&(0,j.atomicWriteFileSync)(p.join(i,"auth.json"),e),t&&(0,j.atomicWriteFileSync)(p.join(i,".credentials.json"),t);try{let o=xe(i)??{};(0,M.upsertSavedAccountProfile)({...r,email:o.email??r.email,metadata:{...r.metadata,...o}})}catch{}return{syncedProfileId:r.id}}catch(n){return{warning:`Could not back up live Codex credentials: ${n}`}}}function Te(e){let t=p.join((0,M.getAccountsDir)(),"codex");return b.mkdirSync(t,{recursive:!0,mode:448}),(0,j.withFileLockSync)(p.join(t,"auth-swap.lock"),e)}function Po(){let e=k();return{codexRunning:Ao(),systemKeyringLoggedIn:me(e)?!1:Fe(e).loggedIn}}async function jo(){let e=k();return{codexRunning:await _o(),systemKeyringLoggedIn:me(e)?!1:(await Ee(e)).loggedIn}}function Bn(e){let t=Po();try{return Te(()=>Jn(e,t))}catch(n){return{success:!1,error:`Could not acquire the account-switch lock: ${n}`}}}async function Kn(e){let t=await jo();try{return Te(()=>Jn(e,t))}catch(n){return{success:!1,error:`Could not acquire the account-switch lock: ${n}`}}}function Jn(e,t){let n=k(),r=p.join(n,"auth.json"),i=p.join(n,".credentials.json"),o=K(r),c=K(i);if(!o&&!c&&t.systemKeyringLoggedIn)return{success:!1,error:'Codex stores credentials in the OS keyring; file-based account switching is not supported. Set `cli_auth_credentials_store = "file"` in ~/.codex/config.toml and run `codex login` again.'};let a=z(e.id),u=p.join(a,"auth.json"),s=K(u),f=K(p.join(a,".credentials.json")),I=e.label??e.email??e.id;if(!s&&!f)return{success:!1,error:`No stored credentials for "${I}". Remove and re-add this account.`};if(s&&!gt(s))return{success:!1,error:`Stored credentials for "${I}" are corrupted. Remove and re-add this account.`};let D=[];t.codexRunning&&D.push("A codex process appears to be running; restart codex sessions so they pick up the switched account.");let P=X(o),R=X(s),de=e.metadata?.workspaceId??R?.workspaceId,fe=e.email??e.metadata?.email??R?.email;if(!!(P?.workspaceId&&de&&P.workspaceId===de||P?.email&&fe&&P.email===fe||o!==null&&o===s||!o&&!s&&c!==null&&c===f)){try{o&&(0,j.atomicWriteFileSync)(u,o),c&&(0,j.atomicWriteFileSync)(p.join(a,".credentials.json"),c);let ne=xe(a)??{};(0,M.upsertSavedAccountProfile)({...e,email:ne.email??e.email,metadata:{...e.metadata,...ne}})}catch{}return(0,M.setActiveSavedAccount)("codex",e.id),{success:!0,warning:D.length?D.join(" "):void 0}}let te=pt(s,u);te!==null&&Date.now()-te>lo&&D.push(`Stored credentials for "${I}" have not been refreshed in over 8 days; codex may ask you to log in again.`);let B=Do(o,c);B.warning&&D.push(B.warning);let Lt=()=>{try{o?(0,j.atomicWriteFileSync)(r,o):b.rmSync(r,{force:!0}),c?(0,j.atomicWriteFileSync)(i,c):b.rmSync(i,{force:!0})}catch{}};try{s?((0,j.atomicWriteFileSync)(r,s),f?(0,j.atomicWriteFileSync)(i,f):c&&b.rmSync(i,{force:!0})):((0,j.atomicWriteFileSync)(i,f),o&&b.rmSync(r,{force:!0}))}catch(ne){return Lt(),{success:!1,error:`Failed to write Codex credentials: ${ne}`}}try{(0,M.setActiveSavedAccount)("codex",e.id)}catch(ne){return Lt(),{success:!1,error:`Failed to update account registry: ${ne}`}}return{success:!0,warning:D.length?D.join(" "):void 0}}function Mo(e){let t=se().find(n=>n.id===e);return t?Bn(t):{success:!1,error:`Codex account ${e} not found.`}}async function Fo(e){let t=se().find(n=>n.id===e);return t?Kn(t):{success:!1,error:`Codex account ${e} not found.`}}function Vn(){let e=p.join((0,M.getAccountsDir)(),"codex",".live-auth-migrated-v1");return b.existsSync(e)?!1:!b.existsSync(p.join(k(),"auth.json"))}function Eo(){try{let e=Vn()?Fe(k()).loggedIn:!1;Te(()=>Gn({systemKeyringLoggedIn:e}))}catch{}}async function xo(){try{let e=Vn()?(await Ee(k())).loggedIn:!1;Te(()=>Gn({systemKeyringLoggedIn:e}))}catch{}}function Gn(e){try{let t=p.join((0,M.getAccountsDir)(),"codex",".live-auth-migrated-v1");if(b.existsSync(t))return;let n=()=>(0,j.atomicWriteFileSync)(t,new Date().toISOString()+`
7
- `),r=Ne();if(!r){n();return}let i=z(r.id),o=p.join(i,"auth.json"),c=K(o);if(!c){n();return}let a=k(),u=p.join(a,"auth.json"),s=K(u);if(!s){e.systemKeyringLoggedIn||(0,j.atomicWriteFileSync)(u,c),n();return}let f=X(s),I=X(c);if(!!(f?.workspaceId&&I?.workspaceId&&f.workspaceId===I.workspaceId||f?.email&&f.email===I?.email)){let P=pt(s,u),R=pt(c,o);R!==null&&(P===null||R>P)?(Qn(s,null),(0,j.atomicWriteFileSync)(u,c)):(0,j.atomicWriteFileSync)(o,s)}else{let P=vt(f);P&&P.id!==r.id&&((0,j.atomicWriteFileSync)(p.join(z(P.id),"auth.json"),s),(0,M.setActiveSavedAccount)("codex",P.id))}n()}catch{}}function No(e){return(0,M.removeSavedAccountProfile)("codex",e)?(b.rmSync(mt(e),{recursive:!0,force:!0}),{success:!0}):{success:!1,error:`Codex account ${e} not found.`}}});var Xn=C(At=>{"use strict";Object.defineProperty(At,"__esModule",{value:!0});At.getActiveAccountStatus=Ho;var To=Pn(),Ro=Yn();function Lo(e){return e instanceof Error?e.message:String(e)}function Ho(e,t={}){try{let n=(0,To.resolveActiveClaudeAccount)(t),r=(0,Ro.resolveActiveCodexAccount)(t),i=n.source!=="none"?{present:!0,...n.registryAccountId?{accountId:n.registryAccountId}:{},email:n.email,label:n.label??n.email}:{present:!1},o=r.source!=="none"?{present:!0,...r.registryAccountId?{accountId:r.registryAccountId}:{},email:r.email,label:r.label??r.email??r.providerAccountId}:{present:!1};return{ok:i.present||o.present,claude:i,codex:o,error:e}}catch(n){return{ok:!1,claude:{present:!1},codex:{present:!1},error:e??Lo(n)}}}});var Se=C(h=>{"use strict";Object.defineProperty(h,"__esModule",{value:!0});h.QUOTA_AGING_MAX_AGE_MS=h.QUOTA_FRESH_MAX_AGE_MS=h.SEVEN_DAY_WINDOW_MS=h.FIVE_HOUR_WINDOW_MS=h.QUOTA_PROVIDER_IDS=void 0;h.classifyQuotaFreshness=Wo;h.formatQuotaAge=Uo;h.projectQuotaWindow=ge;h.withQuotaProjections=Qo;h.fetchQuota=Ko;var $o=Ye();Object.defineProperty(h,"QUOTA_PROVIDER_IDS",{enumerable:!0,get:function(){return $o.QUOTA_PROVIDER_IDS}});var zo="https://api.anthropic.com/api/oauth/usage",qo="oauth-2025-04-20",ko=1e4;h.FIVE_HOUR_WINDOW_MS=5*36e5;h.SEVEN_DAY_WINDOW_MS=7*864e5;h.QUOTA_FRESH_MAX_AGE_MS=5*6e4;h.QUOTA_AGING_MAX_AGE_MS=60*6e4;function Wo(e){return typeof e!="number"||!Number.isFinite(e)||e<0?"stale":e<h.QUOTA_FRESH_MAX_AGE_MS?"fresh":e<h.QUOTA_AGING_MAX_AGE_MS?"aging":"stale"}function Uo(e){if(typeof e!="number"||!Number.isFinite(e)||e<0)return"age unknown";let t=Math.floor(e/6e4);if(t<1)return"just now";if(t<60)return`${t}m ago`;let n=Math.floor(t/60);return n<48?`${n}h ago`:`${Math.floor(n/24)}d ago`}function ge(e){let{utilization:t,resetsAt:n,windowMs:r,capturedAt:i}=e;if(!n||t<=0||!Number.isFinite(t)||r<=0)return;let o=new Date(n).getTime();if(!Number.isFinite(o))return;let c=i?Date.parse(i):NaN,a=Number.isFinite(c)?c:Date.now(),u=r-(o-a);if(!(u<=0))return Math.min(Math.round(t*(r/u)),200)}function Qo(e,t={}){if(!e.available)return e;let n={...e},r=t.capturedAt??e.capturedAt;if(n.projectedFiveHour==null){let i=ge({utilization:n.fiveHour.utilization,resetsAt:n.fiveHour.resetsAt,windowMs:t.fiveHourWindowMs??h.FIVE_HOUR_WINDOW_MS,capturedAt:r});i!==void 0&&(n.projectedFiveHour=i)}if(n.projectedSevenDay==null){let i=ge({utilization:n.sevenDay.utilization,resetsAt:n.sevenDay.resetsAt,windowMs:t.sevenDayWindowMs??h.SEVEN_DAY_WINDOW_MS,capturedAt:r});i!==void 0&&(n.projectedSevenDay=i)}return n}function he(e,t={}){return{fiveHour:{utilization:0,resetsAt:""},sevenDay:{utilization:0,resetsAt:""},available:!1,error:e,...t}}function Bo(e){if(!e)return;let t=Number(e);if(Number.isFinite(t)&&t>=0)return Math.round(t*1e3);let n=Date.parse(e);if(!Number.isNaN(n))return Math.max(n-Date.now(),0)}async function Ko(e,t={}){let n=new AbortController,r=setTimeout(()=>n.abort(),ko);r.unref();try{let o=await(t.fetchImpl??fetch)(zo,{method:"GET",signal:n.signal,headers:{Authorization:`Bearer ${e}`,"anthropic-beta":qo,"Content-Type":"application/json"}});if(!o.ok)return o.status===401?he("Sign in to Claude Code to view quota",{failureKind:"auth",httpStatus:o.status}):o.status===429?he(`API error: ${o.status}`,{failureKind:"rate_limit",httpStatus:o.status,retryAfterMs:Bo(o.headers.get("retry-after"))}):o.status>=500&&o.status<=599?he(`API error: ${o.status}`,{failureKind:"server",httpStatus:o.status}):he(`API error: ${o.status}`,{failureKind:"unknown",httpStatus:o.status});let c=await o.json(),a=c.five_hour?.utilization??0,u=c.seven_day?.utilization??0,s=c.five_hour?.resets_at??"",f=c.seven_day?.resets_at??"";return{fiveHour:{utilization:a,resetsAt:s},sevenDay:{utilization:u,resetsAt:f},available:!0,projectedFiveHour:ge({utilization:a,resetsAt:s,windowMs:h.FIVE_HOUR_WINDOW_MS}),projectedSevenDay:ge({utilization:u,resetsAt:f,windowMs:h.SEVEN_DAY_WINDOW_MS})}}catch{return he("Network error",{failureKind:"network"})}finally{clearTimeout(r)}}});var Zn=C(_t=>{"use strict";Object.defineProperty(_t,"__esModule",{value:!0});_t.isAggregateCodexLimit=Jo;function Jo(e){return!e||e==="codex"}});var Ct=C(W=>{"use strict";var Vo=W&&W.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),Go=W&&W.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),tr=W&&W.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(n){var r=[];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[r.length]=i);return r},e(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(t!=null)for(var r=e(t),i=0;i<r.length;i++)r[i]!=="default"&&Vo(n,t,r[i]);return Go(n,t),n}})();Object.defineProperty(W,"__esModule",{value:!0});W.writeQuotaSnapshot=nc;W.readQuotaSnapshot=rc;var nr=tr(y("fs")),Yo=tr(y("path")),rr=pe(),ir=Y(),Xo=Se(),er=Zn();function bt(){return Yo.join((0,rr.getConfigDir)(),"quota-snapshots.json")}function or(){nr.mkdirSync((0,rr.getConfigDir)(),{recursive:!0,mode:448})}function cr(){try{let e=JSON.parse(nr.readFileSync(bt(),"utf8"));if(e?.version===1&&Array.isArray(e.snapshots))return e}catch{}return{version:1,snapshots:[]}}function Zo(e){or(),(0,ir.atomicWriteJsonSync)(bt(),e)}function ec(e){return or(),(0,ir.withFileLockSync)(`${bt()}.lock`,e)}function wt(e){let t=e.capturedAt?Date.parse(e.capturedAt):NaN;return Number.isFinite(t)?t:0}function Re(e){let t=Date.parse(e);return Number.isFinite(t)?t:0}function tc(e,t){let n=(0,er.isAggregateCodexLimit)(e.limitId),r=(0,er.isAggregateCodexLimit)(t.limitId);if(n!==r)return n;let i=Re(e.fiveHour.resetsAt),o=Re(t.fiveHour.resetsAt);if(i!==o)return i>o;let c=Re(e.sevenDay.resetsAt),a=Re(t.sevenDay.resetsAt);if(c!==a)return c>a;let u=e.fiveHour.utilization+e.sevenDay.utilization,s=t.fiveHour.utilization+t.sevenDay.utilization;return u!==s?u>s:wt(e)>wt(t)}function nc(e,t,n){ec(()=>{let r=cr(),i=r.snapshots.findIndex(f=>f.providerId===e&&f.accountId===t),o=i>=0?r.snapshots[i].quota:void 0,{capturedSource:c,...a}=n;delete a.ageMs,delete a.freshness;let u={...a,providerId:e,capturedAt:n.capturedAt??new Date().toISOString(),source:a.source&&a.source!=="cache"?a.source:c??"session",stale:!1,resetCredits:n.resetCredits??(e==="codex"?o?.resetCredits:void 0)};if(i>=0&&tc(r.snapshots[i].quota,u))return;let s={providerId:e,accountId:t,quota:u};i>=0?r.snapshots[i]=s:r.snapshots.push(s),Zo(r)})}function rc(e,t,n=new Date){let i=cr().snapshots.find(s=>s.providerId===e&&s.accountId===t);if(!i)return null;let o=wt(i.quota),c=o>0?Math.max(0,n.getTime()-o):void 0,a=i.quota.capturedSource??i.quota.source,u=a&&a!=="cache"?a:void 0;return{...i.quota,providerId:e,source:"cache",...u?{capturedSource:u}:{},stale:!0,...c!==void 0?{ageMs:c}:{},freshness:(0,Xo.classifyQuotaFreshness)(c)}}});var sr=C(Z=>{"use strict";Object.defineProperty(Z,"__esModule",{value:!0});Z.formatTokenCount=ic;Z.formatDurationMs=oc;Z.formatLocalDateKey=ar;Z.parseLocalDateKey=ur;Z.addLocalDays=cc;function ic(e,t={}){if(!Number.isFinite(e))return"0";let n=Math.trunc(e),r=n<0?"-":"",i=Math.abs(n),o=t.suffixCase==="upper"?"K":"k";return i>=1e6?`${r}${(i/1e6).toFixed(1)}M`:i>=1e3?`${r}${(i/1e3).toFixed(1)}${o}`:`${n}`}function oc(e,t={}){let n=t.invalid??"N/A";if(!Number.isFinite(e)||e<0)return n;let i=(t.style??"spaced")==="compact"?"":" ",o=t.secondsFractionDigits??0;if(e<1e3)return t.includeMilliseconds?`${Math.round(e)}ms`:`${(e/1e3).toFixed(Math.max(1,o))}s`;let c=e/1e3;if(c<60)return o>0?`${c.toFixed(o)}s`:`${Math.floor(c)}s`;let a=Math.floor(c),u=Math.floor(a/3600),s=Math.floor(a%3600/60),f=a%60;return u>0?`${u}h${i}${s}m${i}${f}s`:`${s}m${i}${f}s`}function ar(e=new Date){let t=typeof e=="number"?new Date(e):e;if(Number.isNaN(t.getTime()))return"";let n=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),i=String(t.getDate()).padStart(2,"0");return`${n}-${r}-${i}`}function ur(e){let t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e);if(!t)return null;let n=new Date(Number(t[1]),Number(t[2])-1,Number(t[3]));return Number.isNaN(n.getTime())?null:n}function cc(e,t){let n=ur(e);return n?ar(new Date(n.getFullYear(),n.getMonth(),n.getDate()+t)):e}});var Sr=C(N=>{"use strict";var ac=N&&N.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),uc=N&&N.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),It=N&&N.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(n){var r=[];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[r.length]=i);return r},e(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(t!=null)for(var r=e(t),i=0;i<r.length;i++)r[i]!=="default"&&ac(n,t,r[i]);return uc(n,t),n}})();Object.defineProperty(N,"__esModule",{value:!0});N.getWorkspaceIdFromPath=pc;N.appendQuotaHistorySample=Ac;N.readQuotaHistoryRange=gr;N.readQuotaHistoryDailyBuckets=_c;N.pruneQuotaHistory=wc;N._resetQuotaHistoryInMemoryStateForTests=bc;var sc=It(y("crypto")),q=It(y("fs")),Dt=It(y("path")),lr=sr(),dr=pe(),lc=Ct(),fr=Y(),dc=6e4,Pt=91,fc=16*1024,pr=864e5,ve=new Map,Le=new Map;function pc(e){let t;try{t=q.realpathSync(e)}catch{t=Dt.resolve(e)}return sc.createHash("sha256").update(t).digest("hex").slice(0,16)}function jt(e,t){return Dt.join((0,dr.getConfigDir)(),"quota-history",e,`${t}.jsonl`)}function yc(e){q.mkdirSync(Dt.join((0,dr.getConfigDir)(),"quota-history",e),{recursive:!0,mode:448})}function He(e){let t=e.trim();if(!t)return null;try{let n=JSON.parse(t);return n&&typeof n=="object"&&typeof n.timestamp=="string"&&n.fiveHour&&n.sevenDay?n:null}catch{return null}}function mc(e){let t;try{t=q.openSync(e,"r");let n=q.fstatSync(t);if(n.size===0)return null;let r=4096,i=n.size,o=Buffer.alloc(0);for(;i>0;){let c=Math.min(r,i),a=Buffer.alloc(c);q.readSync(t,a,0,c,i-c),o=Buffer.concat([a,o]),i-=c;let s=o.toString("utf8").replace(/\n+$/,""),f=s.lastIndexOf(`
8
- `);if(f>=0){let I=s.slice(f+1),D=He(I);return D&&Date.parse(D.timestamp)||null}if(i===0){let I=He(s);return I&&Date.parse(I.timestamp)||null}}return null}catch(n){return n?.code==="ENOENT",null}finally{if(t!==void 0)try{q.closeSync(t)}catch{}}}function hc(e,t){return(0,fr.withFileLockSync)(`${e}.lock`,t)}function gc(e,t){(0,fr.atomicWriteFileSync)(e,t,384)}function yr(e,t){let n;try{n=q.statSync(e)}catch{return{kept:0,pruned:0}}if(n.size===0)return{kept:0,pruned:0};let r=Date.now()-t*pr,o=q.readFileSync(e,"utf8").split(`
9
- `),c=[],a=0;for(let u of o){if(!u.trim())continue;let s=He(u);if(!s){a+=1;continue}let f=Date.parse(s.timestamp);Number.isFinite(f)&&f>=r?c.push(u):a+=1}return a>0&&gc(e,c.length>0?c.join(`
4
+ var bo=Object.create;var $n=Object.defineProperty;var Oo=Object.getOwnPropertyDescriptor;var Po=Object.getOwnPropertyNames;var Io=Object.getPrototypeOf,xo=Object.prototype.hasOwnProperty;var y=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var C=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}};var Do=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Po(t))!xo.call(e,i)&&i!==n&&$n(e,i,{get:()=>t[i],enumerable:!(r=Oo(t,i))||r.enumerable});return e};var Eo=(e,t,n)=>(n=e!=null?bo(Io(e)):{},Do(t||!e||!e.__esModule?$n(n,"default",{value:e,enumerable:!0}):n,e));var De=C(F=>{"use strict";var jo=F&&F.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),Mo=F&&F.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),Ct=F&&F.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(n){var r=[];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[r.length]=i);return r},e(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(t!=null)for(var r=e(t),i=0;i<r.length;i++)r[i]!=="default"&&jo(n,t,r[i]);return Mo(n,t),n}})();Object.defineProperty(F,"__esModule",{value:!0});F.CONFIG_DIR_ENV_VAR=void 0;F.getDefaultConfigDir=Un;F.setConfigDir=Ro;F.getConfigDirOverride=To;F.getConfigDir=bt;F.getProjectDataPath=No;F.getGlobalDataPath=Ho;F.encodeWorkspacePath=wt;F.getProjectSlug=Lo;F.resolveProjectIdentity=Ot;F.getProjectSlugRaw=$o;var Fo=Ct(y("fs")),le=Ct(y("path")),kn=Ct(y("os"));F.CONFIG_DIR_ENV_VAR="SIDEKICK_CONFIG_DIR";var Be=null;function Un(){return process.platform==="win32"?le.join(process.env.APPDATA||kn.homedir(),"sidekick"):le.join(kn.homedir(),".config","sidekick")}function Ro(e){let t=e?.trim();Be=t?le.resolve(t):null}function To(){return Be}function bt(){if(Be)return Be;let e=process.env[F.CONFIG_DIR_ENV_VAR]?.trim();return e?le.resolve(e):Un()}function No(e,t){return le.join(bt(),t,`${e}.json`)}function Ho(e){return le.join(bt(),e)}function wt(e){return e.replace(/\\/g,"/").replace(/[:/_]/g,"-")}function Lo(e){return Ot(e).canonicalSlug}function Ot(e){let t=le.resolve(e||process.cwd()),n;try{n=Fo.realpathSync(t)}catch{n=t}let r=wt(n),i=wt(t);return{cwd:t,resolvedCwd:n,canonicalSlug:r,legacySlug:i,candidates:r===i?[r]:[r,i],hasLegacyMismatch:r!==i}}function $o(e){return Ot(e).legacySlug}});var ie=C(k=>{"use strict";var ko=k&&k.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),Uo=k&&k.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),It=k&&k.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(n){var r=[];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[r.length]=i);return r},e(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(t!=null)for(var r=e(t),i=0;i<r.length;i++)r[i]!=="default"&&ko(n,t,r[i]);return Uo(n,t),n}})();Object.defineProperty(k,"__esModule",{value:!0});k.renameSyncWithRetry=Kn;k.renameWithRetry=Qn;k.atomicWriteJson=Vn;k.atomicWriteJsonSync=Gn;k.atomicWriteFileSync=Jn;k.updateJsonStoreAtomic=Vo;k.withFileLockSync=Xn;k.updateJsonStoreAtomicSync=Xo;var Ae=It(y("crypto")),g=It(y("fs")),ve=It(y("path")),Pt=1e4,Se=3e3,qo=12e4,qn=15e3,Bo=15,Bn=new Int32Array(new SharedArrayBuffer(4)),Wo=new Set(["EPERM","EBUSY","EACCES"]),zo=10;function Wn(e){return Math.min(320,20*2**e)}function zn(e,t){if(process.platform!=="win32"||t>=zo-1)return!1;let n=e.code??"";return Wo.has(n)}function Kn(e,t){for(let n=0;;n++)try{g.renameSync(e,t);return}catch(r){if(!zn(r,n))throw r;Atomics.wait(Bn,0,0,Wn(n))}}async function Qn(e,t){for(let n=0;;n++)try{await g.promises.rename(e,t);return}catch(r){if(!zn(r,n))throw r;await new Promise(i=>setTimeout(i,Wn(n)))}}async function Ko(e){let t;try{t=await g.promises.open(e,"r"),await t.sync()}catch(n){let r=n.code;if(!["EISDIR","EINVAL","ENOSYS","EPERM","EACCES"].includes(r??""))throw n}finally{await t?.close().catch(()=>{})}}function Qo(e){let t;try{t=g.openSync(e,"r"),g.fsyncSync(t)}catch(n){let r=n.code;if(!["EISDIR","EINVAL","ENOSYS","EPERM","EACCES"].includes(r??""))throw n}finally{t!==void 0&&g.closeSync(t)}}async function Vn(e,t){await g.promises.mkdir(ve.dirname(e),{recursive:!0,mode:448});let n=`${e}.${process.pid}.${Ae.randomBytes(8).toString("hex")}.tmp`,r;try{r=await g.promises.open(n,"wx",384),await r.writeFile(JSON.stringify(t,null,2),"utf8"),await r.sync(),await r.close(),r=void 0,await Qn(n,e),await Ko(ve.dirname(e))}catch(i){throw await r?.close().catch(()=>{}),await g.promises.rm(n,{force:!0}).catch(()=>{}),i}}function Gn(e,t){Jn(e,JSON.stringify(t,null,2))}function Jn(e,t,n=384){g.mkdirSync(ve.dirname(e),{recursive:!0,mode:448});let r=`${e}.${process.pid}.${Ae.randomBytes(8).toString("hex")}.tmp`,i;try{i=g.openSync(r,"wx",n),g.writeFileSync(i,t,{encoding:"utf8"}),g.fsyncSync(i),g.closeSync(i),i=void 0,Kn(r,e),Qo(ve.dirname(e))}catch(o){throw i!==void 0&&g.closeSync(i),g.rmSync(r,{force:!0}),o}}async function Vo(e,t,n){await g.promises.mkdir(ve.dirname(e),{recursive:!0,mode:448});let r=`${e}.lock`,i=await Go(r);try{let o=t(),a;try{a=await g.promises.readFile(e,"utf8")}catch(s){if(s.code!=="ENOENT")throw s}if(a!==void 0)try{o=JSON.parse(a)}catch{let s=`${e}.corrupt-${Date.now()}-${Ae.randomBytes(4).toString("hex")}`;await g.promises.rename(e,s)}let c=await n(o);return await Vn(e,c),c}finally{await Jo(r,i)}}async function Go(e){let t=Date.now()+Se,n=null;for(;;)try{let r=await g.promises.open(e,"wx",384),i=`${process.pid}:${Ae.randomBytes(16).toString("hex")}`;await r.writeFile(i,"utf8"),await r.sync();let o=setInterval(()=>{g.promises.utimes(e,new Date,new Date).catch(()=>{})},Math.floor(Pt/3));return o.unref(),{handle:r,token:i,heartbeat:o}}catch(r){if(r.code!=="EEXIST")throw r;let i=await g.promises.readFile(e,"utf8").catch(()=>null);i!==null&&i!==n&&(n=i,t=Date.now()+Se);try{let o=await g.promises.stat(e),a=Date.now()-o.mtimeMs;a>Pt&&!Yn(i,a)&&await g.promises.rm(e,{force:!0})}catch{}if(Date.now()>=t)throw new Error(`Timed out waiting for store lock: ${e} (no progress for ${Se}ms)`);await new Promise(o=>setTimeout(o,15))}}async function Jo(e,t){clearInterval(t.heartbeat),await t.handle.close().catch(()=>{});try{await g.promises.readFile(e,"utf8")===t.token&&await g.promises.rm(e,{force:!0})}catch{}}function Yn(e,t){if(t>qo)return!1;let n=Number.parseInt((e??"").split(":",1)[0],10);if(!Number.isInteger(n)||n<=0)return!1;try{return process.kill(n,0),!0}catch(r){return r.code==="EPERM"}}function Xn(e,t){let n=Yo(e);try{return t()}finally{try{g.readFileSync(e,"utf8")===n&&g.rmSync(e,{force:!0})}catch{}}}function Yo(e){let t=Date.now(),n=t+Se,r=null;for(;;)try{let i=g.openSync(e,"wx",384),o=`${process.pid}:${Ae.randomBytes(16).toString("hex")}`;return g.writeFileSync(i,o,"utf8"),g.fsyncSync(i),g.closeSync(i),o}catch(i){if(i.code!=="EEXIST")throw i;let o=null;try{o=g.readFileSync(e,"utf8")}catch{}o!==null&&o!==r&&(r=o,n=Date.now()+Se);try{let c=g.statSync(e),s=Date.now()-c.mtimeMs;s>Pt&&!Yn(o,s)&&g.rmSync(e,{force:!0})}catch{}let a=Date.now();if(a>=n)throw new Error(`Timed out waiting for store lock: ${e} (no progress for ${Se}ms)`);if(a-t>=qn)throw new Error(`Timed out waiting for store lock: ${e} (blocked synchronously for ${qn}ms)`);Atomics.wait(Bn,0,0,Bo)}}function Xo(e,t,n){return g.mkdirSync(ve.dirname(e),{recursive:!0,mode:448}),Xn(`${e}.lock`,()=>{let r=t(),i;try{i=g.readFileSync(e,"utf8")}catch(a){if(a.code!=="ENOENT")throw a}if(i!==void 0)try{r=JSON.parse(i)}catch{let a=`${e}.corrupt-${Date.now()}-${Ae.randomBytes(4).toString("hex")}`;g.renameSync(e,a)}let o=n(r);return Gn(e,o),o})}});var Zn=C(We=>{"use strict";Object.defineProperty(We,"__esModule",{value:!0});We._onRawAccountsChanged=Zo;We._emitAccountsChanged=ec;var xt=new Set;function Zo(e){return xt.add(e),()=>xt.delete(e)}function ec(e){for(let t of xt)try{t(e)}catch{}}});var Dt=C(X=>{"use strict";Object.defineProperty(X,"__esModule",{value:!0});X.MODEL_PROVIDER_IDS=X.RUNTIME_QUOTA_PROVIDER_IDS=X.QUOTA_PROVIDER_IDS=X.ACCOUNT_PROVIDER_IDS=X.SESSION_PROVIDER_IDS=void 0;X.SESSION_PROVIDER_IDS=["claude-code","opencode","codex"];X.ACCOUNT_PROVIDER_IDS=["claude-code","codex"];X.QUOTA_PROVIDER_IDS=["claude-code","codex","zai"];X.RUNTIME_QUOTA_PROVIDER_IDS=["claude","codex","zai"];X.MODEL_PROVIDER_IDS=["anthropic","openai","google","unknown"]});var de=C(D=>{"use strict";var tc=D&&D.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),nc=D&&D.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),er=D&&D.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(n){var r=[];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[r.length]=i);return r},e(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(t!=null)for(var r=e(t),i=0;i<r.length;i++)r[i]!=="default"&&tc(n,t,r[i]);return nc(n,t),n}})();Object.defineProperty(D,"__esModule",{value:!0});D.ACCOUNT_PROVIDER_IDS=void 0;D.getAccountsDir=Et;D.withSavedAccountRegistryLock=rr;D.readSavedAccountRegistry=Ee;D.writeSavedAccountRegistry=ac;D.listSavedAccountProfiles=sc;D.getActiveSavedAccount=uc;D.upsertSavedAccountProfile=lc;D.setActiveSavedAccount=dc;D.upsertSavedAccountProfileUnlocked=fc;D.setActiveSavedAccountUnlocked=hc;D.replaceSavedAccountProfiles=pc;D.replaceSavedAccountProfilesUnlocked=mc;D.removeSavedAccountProfile=yc;D.removeSavedAccountProfileUnlocked=ur;var tr=er(y("fs")),nr=er(y("path")),rc=De(),ze=ie(),ic=Zn(),oc=Dt();Object.defineProperty(D,"ACCOUNT_PROVIDER_IDS",{enumerable:!0,get:function(){return oc.ACCOUNT_PROVIDER_IDS}});function Et(){return nr.join((0,rc.getConfigDir)(),"accounts")}function jt(){return nr.join(Et(),"accounts.json")}function Mt(){return jt()+".lock"}function Ft(){tr.mkdirSync(Et(),{recursive:!0,mode:448})}function Rt(e,t={}){(0,ze.atomicWriteJsonSync)(jt(),or(e)),t.silent||(0,ic._emitAccountsChanged)("local")}function rr(e){return Ft(),(0,ze.withFileLockSync)(Mt(),e)}function Tt(e,t={}){return rr(()=>Ke(e,t))}function Ke(e,t={}){let n=e(Ee()??ir());return Rt(n,t),n}function ir(){return{version:2,activeByProvider:{"claude-code":null,codex:null},accounts:[]}}function or(e){let t=ir();return t.activeByProvider["claude-code"]=e.activeByProvider?.["claude-code"]??null,t.activeByProvider.codex=e.activeByProvider?.codex??null,t.accounts=Array.isArray(e.accounts)?e.accounts.filter(n=>!!n&&(n.providerId==="claude-code"||n.providerId==="codex")&&typeof n.id=="string"&&typeof n.addedAt=="string").map(n=>({...n,label:n.label||void 0,email:n.email||void 0,providerAccountId:n.providerAccountId||void 0,metadata:n.metadata?{email:n.metadata.email||void 0,workspaceId:n.metadata.workspaceId||void 0,planType:n.metadata.planType||void 0,authMode:n.metadata.authMode||void 0,origin:n.metadata.origin||void 0}:void 0})):[],t}function cc(e){return{version:2,activeByProvider:{"claude-code":e.activeAccountUuid,codex:null},accounts:e.accounts.map(t=>({id:t.uuid,providerId:"claude-code",providerAccountId:t.uuid,email:t.email,label:t.label,addedAt:t.addedAt,metadata:{email:t.email}}))}}function Ee(){try{let e=tr.readFileSync(jt(),"utf8"),t=JSON.parse(e);return t?.version===2?or(t):t?.version===1&&Array.isArray(t.accounts)?cc(t):null}catch{return null}}function ac(e){Ft(),(0,ze.withFileLockSync)(Mt(),()=>Rt(e))}function sc(e){let t=Ee();return t?e?t.accounts.filter(n=>n.providerId===e):t.accounts:[]}function uc(e){let t=Ee();if(!t)return null;let n=t.activeByProvider[e];return n?t.accounts.find(r=>r.providerId===e&&r.id===n)??null:null}function lc(e){return Tt(ar(e))}function dc(e,t,n={}){return Tt(cr(e,t),n)}function cr(e,t){return n=>(n.activeByProvider[e]=t,n)}function ar(e){return t=>{let n=t.accounts.findIndex(r=>r.providerId===e.providerId&&r.id===e.id);return n>=0?t.accounts[n]=e:t.accounts.push(e),t}}function fc(e){return Ke(ar(e))}function hc(e,t,n={}){return Ke(cr(e,t),n)}function sr(e,t,n){return r=>(r.accounts=r.accounts.filter(i=>i.providerId!==e).concat(t),r.activeByProvider[e]=n,r)}function pc(e,t,n){return Tt(sr(e,t,n))}function mc(e,t,n){return Ke(sr(e,t,n))}function yc(e,t){return Ft(),(0,ze.withFileLockSync)(Mt(),()=>ur(e,t))}function ur(e,t){let n=Ee();if(!n)return null;let r=n.accounts.findIndex(o=>o.providerId===e&&o.id===t);if(r===-1)return null;let[i]=n.accounts.splice(r,1);return n.activeByProvider[e]===t&&(n.activeByProvider[e]=n.accounts.find(o=>o.providerId===e)?.id??null),Rt(n),i}});var Ge=C(b=>{"use strict";var gc=b&&b.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),Sc=b&&b.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),Nt=b&&b.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(n){var r=[];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[r.length]=i);return r},e(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(t!=null)for(var r=e(t),i=0;i<r.length;i++)r[i]!=="default"&&gc(n,t,r[i]);return Sc(n,t),n}})();Object.defineProperty(b,"__esModule",{value:!0});b.CLAUDE_SECURESTORAGE_CONFIG_DIR_ENV=void 0;b.getDefaultClaudeHome=Lt;b.isDefaultClaudeHome=dr;b.getLiveClaudeHome=Ve;b.getClaudeProfilesDir=fr;b.getClaudeProfileDir=hr;b.getClaudeProfileHome=pr;b.ensureClaudeProfileDirs=bc;b.claudeKeychainSuffix=mr;b.claudeKeychainService=yr;b.claudeKeychainAccountName=Oc;b.buildClaudeChildEnv=Pc;b.getClaudeConfigPath=gr;b.readLiveClaudeIdentity=Ic;b.readClaudeProfileIdentity=vr;b.keychainServiceExists=Ar;b.isClaudeProfileAuthenticated=xc;var vc=y("child_process"),Ac=y("crypto"),Qe=Nt(y("fs")),Ht=Nt(y("os")),te=Nt(y("path")),_c=de(),lr="Claude Code-credentials",wc=/^[a-zA-Z0-9._-]+$/,Cc="claude-code-user";b.CLAUDE_SECURESTORAGE_CONFIG_DIR_ENV="CLAUDE_SECURESTORAGE_CONFIG_DIR";function Lt(){return te.join(Ht.homedir(),".claude")}function dr(){return!process.env.CLAUDE_CONFIG_DIR?.trim()}function Ve(){let e=process.env.CLAUDE_CONFIG_DIR?.trim();return e||Lt()}function fr(){return te.join((0,_c.getAccountsDir)(),"claude","profiles")}function hr(e){return te.join(fr(),e)}function pr(e){return te.join(hr(e),"home")}function bc(e){Qe.mkdirSync(pr(e),{recursive:!0,mode:448})}function mr(e){return(0,Ac.createHash)("sha256").update(e.normalize("NFC")).digest("hex").slice(0,8)}function yr(e){let t=e??(dr()?void 0:Ve());return t?`${lr}-${mr(t)}`:lr}function Oc(){let e;try{e=process.env.USER||Ht.userInfo().username}catch{e=void 0}return e&&wc.test(e)?e:Cc}function Pc(e,t=process.env){let n={...t,CLAUDE_CONFIG_DIR:e};return delete n[b.CLAUDE_SECURESTORAGE_CONFIG_DIR_ENV],n}function $t(e){try{let t=JSON.parse(Qe.readFileSync(e,"utf8"));return t?.oauthAccount&&typeof t.oauthAccount=="object"?t.oauthAccount:null}catch{return null}}function gr(e=Ve()){let t=te.join(e,".claude.json");return $t(t)?t:te.resolve(e)===te.resolve(Lt())?te.join(Ht.homedir(),".claude.json"):t}function Sr(e){let t=e?.emailAddress,n=e?.accountUuid;return typeof t=="string"&&typeof n=="string"?{email:t,uuid:n}:null}function Ic(e=Ve()){return Sr($t(gr(e)))}function vr(e){return Sr($t(te.join(e,".claude.json")))}function Ar(e){try{return(0,vc.execFileSync)("security",["find-generic-password","-s",e],{stdio:["ignore","ignore","ignore"],timeout:4e3,killSignal:"SIGKILL"}),!0}catch{return!1}}function xc(e){return(process.platform==="darwin"&&Ar(yr(e))||Qe.existsSync(te.join(e,".credentials.json")))&&vr(e)!==null}});var Wt=C(Y=>{"use strict";var Dc=Y&&Y.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),Ec=Y&&Y.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),wr=Y&&Y.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(n){var r=[];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[r.length]=i);return r},e(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(t!=null)for(var r=e(t),i=0;i<r.length;i++)r[i]!=="default"&&Dc(n,t,r[i]);return Ec(n,t),n}})();Object.defineProperty(Y,"__esModule",{value:!0});Y.KEYCHAIN_SERVICE=void 0;Y.readActiveCredentials=Rc;Y.writeActiveCredentials=Tc;Y.deleteStoredCredentials=Nc;var Cr=wr(y("fs")),jc=wr(y("path")),Ut=y("child_process"),je=Ge(),Mc=ie();Y.KEYCHAIN_SERVICE="Claude Code-credentials";var qt=4e3;function kt(e){return`'${e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")}'`}function Bt(e){return jc.join(e??(0,je.getLiveClaudeHome)(),".credentials.json")}function _r(e){try{return JSON.parse(Cr.readFileSync(Bt(e),"utf8"))}catch{return null}}function Fc(e){try{let t=(0,Ut.execFileSync)("security",["find-generic-password","-s",e,"-w"],{encoding:"utf8",stdio:["pipe","pipe","pipe"],timeout:qt,killSignal:"SIGKILL"});return JSON.parse(t.trim())}catch{return null}}function Rc(e){return process.platform==="darwin"?Fc((0,je.claudeKeychainService)(e))??_r(e):_r(e)}function Tc(e,t){let n=JSON.stringify(e);if(JSON.parse(n),process.platform==="darwin"){let r=(0,je.claudeKeychainService)(t),i=["add-generic-password","-U","-s",kt(r),"-a",kt((0,je.claudeKeychainAccountName)()),"-w",kt(n)].join(" ");(0,Ut.execFileSync)("security",["-i"],{input:i+`
5
+ `,stdio:["pipe","pipe","pipe"],timeout:qt,killSignal:"SIGKILL"});return}(0,Mc.atomicWriteFileSync)(Bt(t),n,384)}function Nc(e){if(process.platform==="darwin")try{(0,Ut.execFileSync)("security",["delete-generic-password","-s",(0,je.claudeKeychainService)(e)],{stdio:["ignore","ignore","ignore"],timeout:qt,killSignal:"SIGKILL"})}catch{}try{Cr.rmSync(Bt(e),{force:!0})}catch{}}});var Kt=C(Z=>{"use strict";Object.defineProperty(Z,"__esModule",{value:!0});Z.CLAUDE_REFRESH_TOKEN_LIFETIME_ESTIMATE_MS=Z.CLAUDE_ACCESS_TOKEN_LIFETIME_MS=void 0;Z.parseClaudeCredentialBlob=Hc;Z.claudeCredentialFreshness=zt;Z.isNewerClaudeCredential=Lc;Z.resolveClaudeRefreshExpiry=$c;Z.CLAUDE_ACCESS_TOKEN_LIFETIME_MS=480*60*1e3;Z.CLAUDE_REFRESH_TOKEN_LIFETIME_ESTIMATE_MS=504*60*60*1e3;function br(e){return typeof e=="number"&&Number.isFinite(e)?e:void 0}function Hc(e){if(!e||typeof e!="object")return null;let t=e.claudeAiOauth;if(!t||typeof t!="object")return null;let n=t;return typeof n.accessToken!="string"||!n.accessToken?null:{accessToken:n.accessToken,refreshToken:typeof n.refreshToken=="string"?n.refreshToken:void 0,expiresAt:br(n.expiresAt),refreshTokenExpiresAt:br(n.refreshTokenExpiresAt),scopes:Array.isArray(n.scopes)?n.scopes.filter(r=>typeof r=="string"):void 0,subscriptionType:typeof n.subscriptionType=="string"?n.subscriptionType:void 0,rateLimitTier:typeof n.rateLimitTier=="string"?n.rateLimitTier:void 0}}function zt(e){return e?e.expiresAt??e.refreshTokenExpiresAt??0:0}function Lc(e,t){return zt(e)>zt(t)}function $c(e){return e?e.refreshTokenExpiresAt!==void 0?{refreshExpiresAt:e.refreshTokenExpiresAt,estimated:!1}:e.expiresAt!==void 0?{refreshExpiresAt:e.expiresAt-Z.CLAUDE_ACCESS_TOKEN_LIFETIME_MS+Z.CLAUDE_REFRESH_TOKEN_LIFETIME_ESTIMATE_MS,estimated:!0}:null:null}});var Vt=C(U=>{"use strict";var kc=U&&U.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),Uc=U&&U.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),qc=U&&U.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(n){var r=[];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[r.length]=i);return r},e(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(t!=null)for(var r=e(t),i=0;i<r.length;i++)r[i]!=="default"&&kc(n,t,r[i]);return Uc(n,t),n}})();Object.defineProperty(U,"__esModule",{value:!0});U.STALE_AUTH_THRESHOLD_MS=void 0;U.parseJwtPayload=Qt;U.parseAuthJson=Je;U.readAuthIdentityFromRaw=Wc;U.readLastRefresh=zc;U.readAccessTokenExpiry=Kc;U.identitiesMatch=Qc;var Bc=qc(y("fs"));U.STALE_AUTH_THRESHOLD_MS=11520*60*1e3;function Qt(e){let t=e.split(".");if(t.length<2)return null;try{let n=Buffer.from(t[1],"base64url").toString("utf8");return JSON.parse(n)}catch{return null}}function Je(e){if(!e)return null;try{let t=JSON.parse(e);return t&&typeof t=="object"?t:null}catch{return null}}function Wc(e){let t=Je(e);if(!t)return null;let n=t.tokens?.id_token,r=n?Qt(n):null,i=r?.["https://api.openai.com/profile"],o=r?.["https://api.openai.com/auth"],a=typeof r?.email=="string"?r.email:typeof i?.email=="string"?i.email:void 0,c=typeof o?.chatgpt_account_id=="string"?o.chatgpt_account_id:t.tokens?.account_id,s=typeof o?.chatgpt_plan_type=="string"?o.chatgpt_plan_type:void 0,u=t.OPENAI_API_KEY||t.auth_mode==="api_key"?"api-key":"chatgpt";return{email:a,workspaceId:c,planType:s,authMode:u}}function zc(e,t){let n=Je(e);if(n?.last_refresh){let r=Date.parse(n.last_refresh);if(!Number.isNaN(r))return r}if(t)try{return Bc.statSync(t).mtimeMs}catch{}return null}function Kc(e){let n=Je(e)?.tokens?.access_token;if(!n)return null;let r=Qt(n);return typeof r?.exp=="number"&&Number.isFinite(r.exp)?r.exp*1e3:null}function Qc(e,t){return!e||!t?!1:e.workspaceId&&t.workspaceId?e.workspaceId===t.workspaceId:!!(e.email&&t.email&&e.email===t.email)}});var Ye=C(N=>{"use strict";var Vc=N&&N.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),Gc=N&&N.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),Jt=N&&N.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(n){var r=[];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[r.length]=i);return r},e(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(t!=null)for(var r=e(t),i=0;i<r.length;i++)r[i]!=="default"&&Vc(n,t,r[i]);return Gc(n,t),n}})();Object.defineProperty(N,"__esModule",{value:!0});N.getDefaultSystemCodexHome=Pr;N.getExplicitCodexHome=Ir;N.getSystemCodexHome=xr;N.getCodexProfilesDir=Dr;N.getCodexProfileDir=Yt;N.getCodexProfileHome=Er;N.getCodexProfileStatePath=Xc;N.ensureCodexProfileDirs=Zc;N.readFileOrNull=jr;N.getCodexCredentialStoreMode=ea;N.forceFileCredentialStore=ta;var Or=Jt(y("fs")),Jc=Jt(y("os")),_e=Jt(y("path")),Yc=de();function Pr(){return _e.join(Jc.homedir(),".codex")}function Ir(){let e=process.env.CODEX_HOME?.trim();return e||null}function xr(){return Ir()??Pr()}function Dr(){return _e.join((0,Yc.getAccountsDir)(),"codex","profiles")}function Yt(e){return _e.join(Dr(),e)}function Er(e){return _e.join(Yt(e),"codex-home")}function Xc(e){return _e.join(Yt(e),"profile.json")}function Zc(e){Or.mkdirSync(Er(e),{recursive:!0,mode:448})}function jr(e){try{return Or.readFileSync(e,"utf8")}catch{return null}}var Gt=/^\s*cli_auth_credentials_store\s*=\s*"([a-z]+)"/m;function ea(e=xr()){let r=jr(_e.join(e,"config.toml"))?.match(Gt)?.[1];return r==="file"||r==="keyring"||r==="auto"||r==="ephemeral"?r:"unknown"}function ta(e){if(Gt.test(e))return e.replace(Gt,'cli_auth_credentials_store = "file"');let t='cli_auth_credentials_store = "file"',n=e.replace(/\s*$/,"");if(!n)return`${t}
6
+ `;let r=n.search(/^\s*\[/m);if(r===-1)return`${n}
7
+ ${t}
8
+ `;let i=n.slice(0,r).replace(/\s*$/,"");return`${i?`${i}
9
+ `:""}${t}
10
+
11
+ ${n.slice(r).replace(/^\s*/,"")}
12
+ `}});var nn=C($=>{"use strict";var na=$&&$.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),ra=$&&$.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),Tr=$&&$.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(n){var r=[];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[r.length]=i);return r},e(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(t!=null)for(var r=e(t),i=0;i<r.length;i++)r[i]!=="default"&&na(n,t,r[i]);return ra(n,t),n}})();Object.defineProperty($,"__esModule",{value:!0});$.getHealthSidecarPath=Zt;$.readHealthSidecar=Nr;$.claudeHealthSidecarFromBlob=Hr;$.writeClaudeHealthSidecar=Lr;$.codexHealthSidecarFromAuth=tn;$.writeCodexHealthSidecar=aa;$.getAccountHealth=$r;$.listAccountsWithHealth=ha;$.describeClaudeCredential=pa;var fe=Tr(y("fs")),ce=Tr(y("path")),Me=Ge(),Xt=Kt(),ia=Wt(),we=Vt(),Ce=Ye(),Xe=de(),oa=ie(),ca=4320*60*1e3;function Zt(e,t){let n=e==="codex"?(0,Ce.getCodexProfileDir)(t):(0,Me.getClaudeProfileDir)(t);return ce.join(n,"health.json")}function Nr(e,t){try{let n=JSON.parse(fe.readFileSync(Zt(e,t),"utf8"));return n?.version===1&&typeof n.capturedAt=="number"?n:null}catch{return null}}function en(e,t,n){try{(0,oa.atomicWriteJsonSync)(Zt(e,t),n)}catch{}}function Hr(e,t,n=Date.now()){let r=(0,Xt.parseClaudeCredentialBlob)(e);if(!r)return null;let i=(0,Xt.resolveClaudeRefreshExpiry)(r);return{version:1,capturedAt:n,accessExpiresAt:r.expiresAt,refreshExpiresAt:i?.refreshExpiresAt,refreshExpiryEstimated:i?.estimated,hasRefreshToken:!!r.refreshToken,authMode:"oauth",source:t}}function Lr(e,t,n,r=Date.now()){let i=Hr(t,n,r);return i&&en("claude-code",e,i),i}function tn(e,t,n=Date.now(),r){let i=(0,we.readAuthIdentityFromRaw)(e);if(!i)return null;let o=(0,we.readLastRefresh)(e,r)??void 0;return{version:1,capturedAt:n,accessExpiresAt:(0,we.readAccessTokenExpiry)(e)??void 0,lastRefreshAt:o,hasRefreshToken:i.authMode==="chatgpt",authMode:i.authMode,source:t}}function aa(e,t,n,r=Date.now()){let i=tn(t,n,r);return i&&en("codex",e,i),i}function sa(e,t){let n=e.accessExpiresAt!==void 0,r=n&&e.accessExpiresAt<=t;if(e.refreshExpiresAt!==void 0){if(e.refreshExpiresAt<=t)return{state:"expired",reason:e.refreshExpiryEstimated?"Refresh token has most likely expired (estimated from the snapshot age).":"Refresh token expired; sign in again."};if(e.refreshExpiresAt-t<=ca)return{state:"expiring",reason:"Refresh token expires within 3 days."}}return e.hasRefreshToken===!1&&r?{state:"expired",reason:"Access token expired and no refresh token is stored."}:r?{state:"expiring",reason:"Access token expired; the CLI refreshes it on next use."}:!n&&e.refreshExpiresAt===void 0?{state:"unknown",reason:"The stored credential carries no expiry."}:{state:"fresh"}}function ua(e,t){return e.authMode==="api-key"?{state:"unknown",reason:"API-key login; expiry is not observable locally."}:e.accessExpiresAt!==void 0&&e.accessExpiresAt>t?{state:"fresh"}:e.lastRefreshAt!==void 0&&t-e.lastRefreshAt>we.STALE_AUTH_THRESHOLD_MS?{state:"expiring",reason:`Not refreshed in ${Math.floor((t-e.lastRefreshAt)/864e5)} days; codex may ask you to log in again.`}:e.accessExpiresAt!==void 0?{state:"expiring",reason:"Access token expired; codex refreshes it on next use."}:{state:"unknown",reason:"The stored credential carries no expiry."}}function la(e){return(0,Me.readLiveClaudeIdentity)()?.uuid===e}function da(e){let t=(0,we.readAuthIdentityFromRaw)((0,Ce.readFileOrNull)(ce.join((0,Ce.getSystemCodexHome)(),"auth.json")));return t?(0,we.identitiesMatch)(t,{email:e.email??e.metadata?.email,workspaceId:e.metadata?.workspaceId}):!1}function Mr(e,t){let n=(0,ia.readActiveCredentials)((0,Me.getClaudeProfileHome)(e));return n?Lr(e,n,"switch",t):null}function Fr(e,t){let n=ce.join((0,Ce.getCodexProfileHome)(e),"auth.json"),r=(0,Ce.readFileOrNull)(n),i=tn(r,"switch",t,n);return i&&en("codex",e,i),i}function Rr(e){let t=(0,Me.getClaudeProfileHome)(e);return fe.existsSync(ce.join(t,".credentials.json"))||fe.existsSync(ce.join((0,Me.getClaudeProfileDir)(e),"health.json"))||fe.existsSync(ce.join((0,Xe.getAccountsDir)(),"credentials",`${e}.credentials.json`))||process.platform==="darwin"&&fe.existsSync(ce.join(t,".claude.json"))}function fa(e){let t=(0,Ce.getCodexProfileHome)(e);return fe.existsSync(ce.join(t,"auth.json"))||fe.existsSync(ce.join(t,".credentials.json"))}function $r(e,t,n={}){let r=n.now??Date.now(),i=n.probe??"cache",o=(0,Xe.listSavedAccountProfiles)(e).find(d=>d.id===t),a=e==="codex"?o!==void 0&&da(o):la(t),c=null;i==="store"&&(c=e==="codex"?Fr(t,r):Mr(t,r)),c??=Nr(e,t),!c&&e==="codex"&&(c=Fr(t,r)),!c&&i==="auto"&&Rr(t)&&(c=Mr(t,r));let s={providerId:e,accountId:t,checkedAt:r,isLive:a};if(!c)return(e==="codex"?fa(t):Rr(t))?{...s,state:"unknown",reason:"Credential health has not been recorded yet."}:{...s,state:"missing",reason:"No stored credentials; sign in again."};let u=e==="codex"?ua(c,r):sa(c,r);return{...s,...u,accessExpiresAt:c.accessExpiresAt,refreshExpiresAt:c.refreshExpiresAt,refreshExpiryEstimated:c.refreshExpiryEstimated,lastRefreshAt:c.lastRefreshAt}}function ha(e,t={}){let n={probe:"auto",...t},r=e?[e]:["claude-code","codex"],i=[];for(let o of r){let a=(0,Xe.getActiveSavedAccount)(o);for(let c of(0,Xe.listSavedAccountProfiles)(o))i.push({id:c.id,providerId:o,label:c.label,email:c.email??c.metadata?.email,planType:c.metadata?.planType,isActive:a?.id===c.id,health:$r(o,c.id,n),source:c.metadata?.origin==="live-sync"?"learned":"registered",addedAt:c.addedAt})}return i}function pa(e){return(0,Xt.parseClaudeCredentialBlob)(e)}});var rn=C(V=>{"use strict";var ma=V&&V.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),ya=V&&V.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),kr=V&&V.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(n){var r=[];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[r.length]=i);return r},e(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(t!=null)for(var r=e(t),i=0;i<r.length;i++)r[i]!=="default"&&ma(n,t,r[i]);return ya(n,t),n}})();Object.defineProperty(V,"__esModule",{value:!0});V.getLastSwitchPath=Ze;V.readLastSwitch=wa;V.writeLastSwitch=Ca;V.clearLastSwitch=ba;V.switchFailure=Oa;V.finishSwitchResult=Pa;var Ur=kr(y("fs")),ga=kr(y("path")),Sa=y("crypto"),va=de(),Aa=ie();function _a(e){return e==="codex"?"codex":"claude"}function Ze(e){return ga.join((0,va.getAccountsDir)(),_a(e),"last-switch.json")}function wa(e){try{let t=JSON.parse(Ur.readFileSync(Ze(e),"utf8"));return t&&typeof t.token=="string"&&typeof t.to=="string"?t:null}catch{return null}}function Ca(e,t,n){let r={token:(0,Sa.randomUUID)(),provider:e,from:t,to:n,at:new Date().toISOString()};return(0,Aa.atomicWriteJsonSync)(Ze(e),r),r}function ba(e){try{Ur.rmSync(Ze(e),{force:!0})}catch{}}function Oa(e,t,n,r={}){return{success:!1,error:n,provider:e,accountId:t,previousAccountId:null,verified:!1,verification:"none",warnings:[],hints:[],runningConsumers:[],...r}}function Pa(e){let t=[...e.warnings,...e.runningConsumers.map(n=>n.reachability)];return{...e,warnings:t,warning:t.length?t.join(" "):void 0}}});var cn=C(on=>{"use strict";Object.defineProperty(on,"__esModule",{value:!0});on.emptyProviderSyncReport=Ia;function Ia(){return{warnings:[]}}});var sn=C(q=>{"use strict";var xa=q&&q.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),Da=q&&q.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),Ea=q&&q.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(n){var r=[];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[r.length]=i);return r},e(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(t!=null)for(var r=e(t),i=0;i<r.length;i++)r[i]!=="default"&&xa(n,t,r[i]);return Da(n,t),n}})();Object.defineProperty(q,"__esModule",{value:!0});q.ACCOUNT_CONSUMER_REACHABILITY=void 0;q.findRunningProcessesSync=Vr;q.findRunningProcesses=Gr;q.detectRunningAccountConsumers=Ra;q.detectRunningAccountConsumersSync=Ta;q.describeAccountConsumer=Na;var Br=y("child_process"),qr=Ea(y("path")),Wr=4e3,ja=/claude-code[\\/]cli\.js/;function Ma(e){let t=[];for(let n of e.split(`
13
+ `)){let r=n.match(/^\s*(\d+)\s+(\S+)\s*(.*)$/);r&&t.push({pid:Number(r[1]),command:r[2],args:r[3]??""})}return t}function Fa(e){let t=[];for(let n of e.split(/\r?\n/)){let r=n.match(/^"([^"]+)","(\d+)"/);r&&t.push({pid:Number(r[2]),command:r[1],args:""})}return t}function zr(e,t){let n=new Set(t),r=[];for(let i of e){if(!Number.isFinite(i.pid)||i.pid===process.pid)continue;let o=qr.basename(i.command),a=i.args.trim().split(/\s+/)[0]??"",s=[o,o.replace(/\.exe$/i,""),qr.basename(a)].find(u=>u&&n.has(u));!s&&n.has("claude")&&/^node(\.exe)?$/i.test(o)&&ja.test(i.args)&&(s="claude"),s&&r.push({pid:i.pid,name:s,command:i.command})}return r}function Kr(){return process.platform==="win32"?{command:"tasklist",args:["/FO","CSV","/NH"]}:{command:"ps",args:["-axo","pid=,comm=,args="]}}function Qr(e){return process.platform==="win32"?Fa(e):Ma(e)}function Vr(e){if(e.length===0)return[];try{let{command:t,args:n}=Kr(),r=(0,Br.spawnSync)(t,n,{encoding:"utf8",maxBuffer:16*1024*1024,timeout:Wr,killSignal:"SIGKILL",windowsHide:!0});return r.error||r.status!==0?[]:zr(Qr(String(r.stdout??"")),e)}catch{return[]}}function Gr(e){return e.length===0?Promise.resolve([]):new Promise(t=>{try{let{command:n,args:r}=Kr();(0,Br.execFile)(n,r,{encoding:"utf8",timeout:Wr,killSignal:"SIGKILL",windowsHide:!0,maxBuffer:16*1024*1024},(i,o)=>{t(i?[]:zr(Qr(String(o??"")),e))})}catch{t([])}})}var an={"claude-cli":"claude","claude-desktop":"Claude","codex-cli":"codex","codex-app":"Codex"};q.ACCOUNT_CONSUMER_REACHABILITY={"claude-cli":{switched:!0,reachability:"Running claude sessions keep the previous account until restarted; a running session can rotate the refresh token of the account you just left."},"claude-desktop":{switched:!1,reachability:"Claude Desktop is not switched by sidekick (it keeps its own web session) and its embedded engine can rotate the shared CLI token."},"codex-cli":{switched:!0,reachability:"Running codex sessions keep the previous account until restarted."},"codex-app":{switched:!0,reachability:"The Codex app shares the CLI login; restart it to pick up the switch. While running it can refresh and rotate the live token."},"vscode-extension-host":{switched:!0,reachability:"The Claude Code extension host keeps the previous account until the window reloads."}};function Jr(e,t){return{kind:e,pids:t,...q.ACCOUNT_CONSUMER_REACHABILITY[e]}}function Yr(e,t){let n=[];for(let r of t){let i=e.filter(o=>o.name===an[r]).map(o=>o.pid);i.length>0&&n.push(Jr(r,i))}return n}function Xr(e){return e==="claude-code"?["claude-cli","claude-desktop"]:e==="codex"?["codex-cli","codex-app"]:["claude-cli","claude-desktop","codex-cli","codex-app"]}async function Ra(e){let t=Xr(e),n=await Gr(t.map(r=>an[r]));return Yr(n,t)}function Ta(e){let t=Xr(e),n=Vr(t.map(r=>an[r]));return Yr(n,t)}function Na(e,t=[]){return Jr(e,t)}});var fi=C(_=>{"use strict";var Ha=_&&_.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),La=_&&_.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),Zr=_&&_.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(n){var r=[];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[r.length]=i);return r},e(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(t!=null)for(var r=e(t),i=0;i<r.length;i++)r[i]!=="default"&&Ha(n,t,r[i]);return La(n,t),n}})();Object.defineProperty(_,"__esModule",{value:!0});_.storeClaudeProfileIdentity=ri;_.storeClaudeProfileCredentials=ii;_.readStoredClaudeAccount=ct;_.readAccountRegistry=Ua;_.writeAccountRegistry=qa;_.readActiveClaudeAccount=be;_.addCurrentAccount=Wa;_.withClaudeAuthSwapLock=Re;_.syncClaudeLiveStateUnlocked=dn;_.syncClaudeLiveState=za;_.cleanupAbandonedClaudeLogins=Ka;_.switchToAccount=Qa;_.switchToAccountAsync=Va;_.applyClaudeProfileToLiveHome=Ja;_.resolveActiveClaudeHome=Ya;_.applyActiveClaudeToLiveHome=Xa;_.reconcileClaudeAuthState=es;_.removeAccount=ts;_.listAccounts=ns;_.getActiveAccount=di;_.resolveActiveClaudeAccount=rs;_.isMultiAccountEnabled=is;var W=Zr(y("fs")),H=Zr(y("path")),B=Wt(),Fe=ie(),S=de(),E=Ge(),et=Kt(),tt=nn(),ne=rn(),$a=cn(),ei=sn();function nt(){return H.join((0,S.getAccountsDir)(),"credentials")}function rt(){return H.join((0,S.getAccountsDir)(),"configs")}function ka(){return H.join((0,S.getAccountsDir)(),"claude",".profiles-migrated-v1")}function ti(){for(let e of[(0,S.getAccountsDir)(),nt(),rt()])W.mkdirSync(e,{recursive:!0,mode:448})}function it(e){try{return JSON.parse(W.readFileSync(e,"utf8"))}catch{return null}}function ni(e){return it(e)?.oauthAccount??null}function ri(e,t){(0,Fe.atomicWriteJsonSync)(H.join((0,E.getClaudeProfileHome)(e),".claude.json"),{oauthAccount:t});try{(0,Fe.atomicWriteJsonSync)(H.join(rt(),`${e}.config.json`),t)}catch{}}function ii(e,t,n){(0,B.writeActiveCredentials)(t,(0,E.getClaudeProfileHome)(e));try{(0,Fe.atomicWriteJsonSync)(H.join(nt(),`${e}.credentials.json`),t)}catch{}(0,tt.writeClaudeHealthSidecar)(e,t,n)}function ot(e,t,n,r){ri(e,n),ii(e,t,r)}function oi(e){return it(H.join(nt(),`${e}.credentials.json`))}function ci(e){return it(H.join(rt(),`${e}.config.json`))}function ai(e){return ni(H.join((0,E.getClaudeProfileHome)(e),".claude.json"))}function ct(e){let t=(0,B.readActiveCredentials)((0,E.getClaudeProfileHome)(e)),n=ai(e);if(t&&n)return{credentials:t,oauthAccount:n};let r=oi(e),i=ci(e);if(r&&i){try{ot(e,r,i,"migration")}catch{}return{credentials:r,oauthAccount:i}}return null}function si(){return ni((0,E.getClaudeConfigPath)())}function un(e){let t={},n=(0,E.getClaudeConfigPath)();try{t=JSON.parse(W.readFileSync(n,"utf8"))}catch{}t.oauthAccount=e,(0,Fe.atomicWriteJsonSync)(n,t)}function Ua(){let e=(0,S.readSavedAccountRegistry)();if(!e)return null;let t=e.accounts.filter(n=>n.providerId==="claude-code").map(n=>({uuid:n.providerAccountId??n.id,email:n.email??n.metadata?.email??"unknown",label:n.label,addedAt:n.addedAt}));return{version:1,activeAccountUuid:e.activeByProvider["claude-code"],accounts:t}}function qa(e){(0,S.replaceSavedAccountProfiles)("claude-code",Ba(e),e.activeAccountUuid)}function Ba(e){let t=new Map((0,S.listSavedAccountProfiles)("claude-code").map(n=>[n.providerAccountId??n.id,n]));return e.accounts.map(n=>({id:n.uuid,providerId:"claude-code",providerAccountId:n.uuid,email:n.email,label:n.label,addedAt:n.addedAt,metadata:{...t.get(n.uuid)?.metadata,email:n.email}}))}function be(){return(0,E.readLiveClaudeIdentity)()}function ln(e){return(0,S.listSavedAccountProfiles)("claude-code").find(t=>(t.providerAccountId??t.id)===e)??null}function ui(e){let t=(0,S.listSavedAccountProfiles)("claude-code");return t.find(n=>(n.providerAccountId??n.id)===e.uuid)??t.find(n=>(n.email??n.metadata?.email)===e.email)??null}function Wa(e){let t=be();if(!t)return{success:!1,error:"No active Claude account found. Sign in with `claude` first."};let n=(0,B.readActiveCredentials)();if(!n)return{success:!1,error:"Could not read Claude credentials."};let r=si();if(!r)return{success:!1,error:"Could not read Claude config file."};ti();try{ot(t.uuid,n,r,"login")}catch(i){return{success:!1,error:`Failed to back up Claude credentials: ${i}`}}return(0,S.withSavedAccountRegistryLock)(()=>{let i=ln(t.uuid),o=i?.id??t.uuid;return(0,S.upsertSavedAccountProfileUnlocked)({id:o,providerId:"claude-code",providerAccountId:t.uuid,email:t.email,label:e!==void 0?e||void 0:i?.label,addedAt:i?.addedAt??new Date().toISOString(),metadata:{...i?.metadata,email:t.email,origin:i?.metadata?.origin??"manual"}}),(0,S.setActiveSavedAccountUnlocked)("claude-code",o),{success:!0}})}function Re(e){let t=H.join((0,S.getAccountsDir)(),"claude");return W.mkdirSync(t,{recursive:!0,mode:448}),(0,Fe.withFileLockSync)(H.join(t,"auth-swap.lock"),e)}function dn(e="live-sync"){let t=(0,$a.emptyProviderSyncReport)();try{let n=be();if(!n)return t.skipped="logged-out",t;let r=ui(n);r?r.email!==n.email&&n.email&&(r={...r,email:n.email,metadata:{...r.metadata,email:n.email}},(0,S.upsertSavedAccountProfile)(r)):(r={id:n.uuid,providerId:"claude-code",providerAccountId:n.uuid,email:n.email,label:n.email,addedAt:new Date().toISOString(),metadata:{email:n.email,origin:"live-sync"}},ti(),(0,S.upsertSavedAccountProfile)(r),t.registered={id:r.id,email:n.email});let i=r.providerAccountId??r.id,o=(0,B.readActiveCredentials)(),a=(0,et.parseClaudeCredentialBlob)(o);if(a){let s=(0,tt.readHealthSidecar)("claude-code",i),u=s?.accessExpiresAt??s?.refreshExpiresAt??0,d=(0,et.claudeCredentialFreshness)(a);if(!s||d>u||d===u&&!W.existsSync(H.join((0,E.getClaudeProfileHome)(i),".claude.json")))try{ot(i,o,si()??{emailAddress:n.email,accountUuid:n.uuid},e),t.folded=r.id}catch(A){t.warnings.push(`Could not back up the live Claude credentials: ${A}`)}}else o===null&&t.warnings.push("The live Claude credential store could not be read.");let c=(0,S.getActiveSavedAccount)("claude-code");(!c||c.id!==r.id)&&((0,S.setActiveSavedAccount)("claude-code",r.id,{silent:!0}),t.repointed=r.id)}catch(n){t.warnings.push(`Claude account sync failed: ${n}`)}return t}function za(e="live-sync"){try{return Re(()=>dn(e))}catch(t){return{warnings:[`Could not acquire the account-switch lock: ${t}`]}}}function Ka(e=360*60*1e3,t=Date.now()){let n=[],r=[];try{r=W.readdirSync((0,E.getClaudeProfilesDir)())}catch{return n}let i=new Set((0,S.listSavedAccountProfiles)("claude-code").map(o=>o.id));for(let o of r){if(i.has(o))continue;let a=(0,E.getClaudeProfileDir)(o),c=H.join(a,"profile.json"),s=it(c);if(!s)continue;let u=(0,E.getClaudeProfileHome)(o);if((0,E.isClaudeProfileAuthenticated)(u))continue;let d=s.addedAt?Date.parse(s.addedAt):NaN;if(!((Number.isNaN(d)?Number.POSITIVE_INFINITY:t-d)<e))try{(0,B.deleteStoredCredentials)(u),W.rmSync(a,{recursive:!0,force:!0}),n.push(o)}catch{}}return n}function Qa(e,t={}){let n=(0,ei.detectRunningAccountConsumersSync)("claude-code");return li(e,t,n)}async function Va(e,t={}){let n=await(0,ei.detectRunningAccountConsumers)("claude-code");return li(e,t,n)}function li(e,t,n){try{return Re(()=>Ga(e,t,n))}catch(r){return(0,ne.switchFailure)("claude-code",e,`Could not acquire the account-switch lock: ${r}`)}}function Ga(e,t,n){let r=ln(e);if(!r)return(0,ne.switchFailure)("claude-code",e,`Account ${e} not found in registry.`);let i=r.label??r.email??e,o=H.resolve((0,E.getLiveClaudeHome)()),a=H.resolve((0,E.getClaudeProfilesDir)());if(o===a||o.startsWith(a+H.sep))return(0,ne.switchFailure)("claude-code",e,`CLAUDE_CONFIG_DIR points at a sidekick profile home (${o}); unset it before switching accounts.`);let c=dn("switch"),s=(0,S.getActiveSavedAccount)("claude-code")?.id??null,u={success:!0,provider:"claude-code",accountId:r.id,previousAccountId:s,verified:!1,verification:"none",warnings:[...c.warnings],hints:[],runningConsumers:n,email:r.email};if(be()?.uuid===e)return s!==r.id&&(0,S.setActiveSavedAccount)("claude-code",r.id),(0,ne.finishSwitchResult)({...u,alreadyActive:!0,verified:!0,verification:"store",health:(0,tt.getAccountHealth)("claude-code",r.id),hints:[`${i} is already the active Claude account.`]});let d=ct(e);if(!d)return(0,ne.finishSwitchResult)({...u,success:!1,needsLogin:!0,error:`Stored credentials for "${i}" not found; sign in again.`});let p=(0,tt.getAccountHealth)("claude-code",r.id,{probe:"store"});if(u.health=p,(p.state==="expired"||p.state==="missing")&&!t.force)return(0,ne.finishSwitchResult)({...u,success:!1,needsLogin:!0,error:`Stored credentials for "${i}" have ${p.state==="missing"?"not been saved":"expired"}; sign in again.`});p.state==="expiring"&&p.reason&&u.warnings.push(`"${i}": ${p.reason}`);let A=(0,B.readActiveCredentials)(),v=null;try{v=W.readFileSync((0,E.getClaudeConfigPath)(),"utf8")}catch{}let w=()=>{if(A)try{(0,B.writeActiveCredentials)(A)}catch{}if(v!==null)try{W.writeFileSync((0,E.getClaudeConfigPath)(),v)}catch{}try{(0,S.setActiveSavedAccount)("claude-code",s,{silent:!0})}catch{}};try{(0,B.writeActiveCredentials)(d.credentials),un(d.oauthAccount)}catch(xe){return w(),(0,ne.finishSwitchResult)({...u,success:!1,error:`Failed to write Claude credentials: ${xe}`})}let L=(0,et.parseClaudeCredentialBlob)((0,B.readActiveCredentials)()),ee=(0,et.parseClaudeCredentialBlob)(d.credentials),x=be();if(!(L!==null&&ee!==null&&L.accessToken===ee.accessToken&&x?.uuid===e))return w(),(0,ne.finishSwitchResult)({...u,success:!1,verification:"failed",error:`The live Claude credential store did not reflect the switch to "${i}"; the previous login was restored.`});try{(0,S.setActiveSavedAccount)("claude-code",r.id)}catch(xe){return w(),(0,ne.finishSwitchResult)({...u,success:!1,error:`Failed to update account registry: ${xe}`})}let K;try{K=(0,ne.writeLastSwitch)("claude-code",s,r.id).token}catch{u.warnings.push("The switch succeeded but could not be recorded for undo.")}return(0,ne.finishSwitchResult)({...u,verified:!0,verification:"store",undoToken:K,hints:[`New claude sessions use ${r.email??i}.`]})}function Ja(e){try{return Re(()=>{let t=ct(e);return t?((0,B.writeActiveCredentials)(t.credentials),un(t.oauthAccount),{success:!0}):{success:!1,error:`Stored credentials for ${e} not found.`}})}catch(t){return{success:!1,error:`Could not install the refreshed credentials: ${t}`}}}function Ya(){let e=(0,S.getActiveSavedAccount)("claude-code");return e?(0,E.getClaudeProfileHome)(e.providerAccountId??e.id):(0,E.getLiveClaudeHome)()}function Xa(){try{return Re(Za)}catch(e){return{success:!1,error:`Could not acquire the account-switch lock: ${e}`}}}function Za(){let e=(0,S.getActiveSavedAccount)("claude-code");if(!e)return{success:!1,error:"No active Claude account found."};let t=e.providerAccountId??e.id,n=ct(t);if(!n)return{success:!1,error:`Stored credentials for ${e.email??t} not found.`};let r=(0,B.readActiveCredentials)(),i=null;try{i=W.readFileSync((0,E.getClaudeConfigPath)(),"utf8")}catch{}try{(0,B.writeActiveCredentials)(n.credentials)}catch(o){if(r)try{(0,B.writeActiveCredentials)(r)}catch{}return{success:!1,error:`Failed to write credentials: ${o}`}}try{un(n.oauthAccount)}catch(o){if(r)try{(0,B.writeActiveCredentials)(r)}catch{}if(i)try{W.writeFileSync((0,E.getClaudeConfigPath)(),i)}catch{}return{success:!1,error:`Failed to write config: ${o}`}}return{success:!0}}function es(){try{let e=ka();if(W.existsSync(e))return;let t=(0,S.readSavedAccountRegistry)();if(t)for(let n of t.accounts.filter(r=>r.providerId==="claude-code"))try{let r=n.providerAccountId??n.id;if((0,B.readActiveCredentials)((0,E.getClaudeProfileHome)(r))&&ai(r))continue;let i=oi(r),o=ci(r);if(!i||!o)continue;ot(r,i,o,"migration")}catch{}W.mkdirSync(H.dirname(e),{recursive:!0,mode:448}),W.writeFileSync(e,new Date().toISOString()+`
14
+ `,{encoding:"utf8",mode:384})}catch{}}function ts(e){return(0,S.withSavedAccountRegistryLock)(()=>{let t=ln(e);if(!t)return{success:!1,error:`Account ${e} not found.`};for(let n of[H.join(nt(),`${e}.credentials.json`),H.join(rt(),`${e}.config.json`)])try{W.unlinkSync(n)}catch{}try{(0,B.deleteStoredCredentials)((0,E.getClaudeProfileHome)(e)),W.rmSync((0,E.getClaudeProfileDir)(t.id),{recursive:!0,force:!0})}catch{}return(0,S.removeSavedAccountProfileUnlocked)("claude-code",t.id),{success:!0}})}function ns(){return(0,S.listSavedAccountProfiles)("claude-code").map(e=>({uuid:e.providerAccountId??e.id,email:e.email??e.metadata?.email??"unknown",label:e.label,addedAt:e.addedAt}))}function di(){let e=(0,S.getActiveSavedAccount)("claude-code");return e?{uuid:e.providerAccountId??e.id,email:e.email??e.metadata?.email??"unknown",label:e.label,addedAt:e.addedAt}:null}function rs(e={}){let t=e.selfHeal??!0,n=be();if(n){let i=ui(n);if(i){let o=(0,S.getActiveSavedAccount)("claude-code");if(t&&(!o||o.id!==i.id))try{(0,S.setActiveSavedAccount)("claude-code",i.id,{silent:!0})}catch{}}return{email:n.email,label:i?.label,providerAccountId:n.uuid,registryAccountId:i?.id,source:"live"}}let r=di();return r?{email:r.email,label:r.label,providerAccountId:r.uuid,registryAccountId:r.uuid,source:"registry"}:{source:"none"}}function is(){return(0,S.listSavedAccountProfiles)("claude-code").length>=1}});var He=C(j=>{"use strict";Object.defineProperty(j,"__esModule",{value:!0});j.QUOTA_AGING_MAX_AGE_MS=j.QUOTA_FRESH_MAX_AGE_MS=j.SEVEN_DAY_WINDOW_MS=j.FIVE_HOUR_WINDOW_MS=j.QUOTA_PROVIDER_IDS=void 0;j.classifyQuotaFreshness=us;j.formatQuotaAge=ls;j.projectQuotaWindow=Ne;j.withQuotaProjections=ds;j.fetchQuota=hs;var os=Dt();Object.defineProperty(j,"QUOTA_PROVIDER_IDS",{enumerable:!0,get:function(){return os.QUOTA_PROVIDER_IDS}});var cs="https://api.anthropic.com/api/oauth/usage",as="oauth-2025-04-20",ss=1e4;j.FIVE_HOUR_WINDOW_MS=5*36e5;j.SEVEN_DAY_WINDOW_MS=7*864e5;j.QUOTA_FRESH_MAX_AGE_MS=5*6e4;j.QUOTA_AGING_MAX_AGE_MS=60*6e4;function us(e){return typeof e!="number"||!Number.isFinite(e)||e<0?"stale":e<j.QUOTA_FRESH_MAX_AGE_MS?"fresh":e<j.QUOTA_AGING_MAX_AGE_MS?"aging":"stale"}function ls(e){if(typeof e!="number"||!Number.isFinite(e)||e<0)return"age unknown";let t=Math.floor(e/6e4);if(t<1)return"just now";if(t<60)return`${t}m ago`;let n=Math.floor(t/60);return n<48?`${n}h ago`:`${Math.floor(n/24)}d ago`}function Ne(e){let{utilization:t,resetsAt:n,windowMs:r,capturedAt:i}=e;if(!n||t<=0||!Number.isFinite(t)||r<=0)return;let o=new Date(n).getTime();if(!Number.isFinite(o))return;let a=i?Date.parse(i):NaN,c=Number.isFinite(a)?a:Date.now(),s=r-(o-c);if(!(s<=0))return Math.min(Math.round(t*(r/s)),200)}function ds(e,t={}){if(!e.available)return e;let n={...e},r=t.capturedAt??e.capturedAt;if(n.projectedFiveHour==null){let i=Ne({utilization:n.fiveHour.utilization,resetsAt:n.fiveHour.resetsAt,windowMs:t.fiveHourWindowMs??j.FIVE_HOUR_WINDOW_MS,capturedAt:r});i!==void 0&&(n.projectedFiveHour=i)}if(n.projectedSevenDay==null){let i=Ne({utilization:n.sevenDay.utilization,resetsAt:n.sevenDay.resetsAt,windowMs:t.sevenDayWindowMs??j.SEVEN_DAY_WINDOW_MS,capturedAt:r});i!==void 0&&(n.projectedSevenDay=i)}return n}function Te(e,t={}){return{fiveHour:{utilization:0,resetsAt:""},sevenDay:{utilization:0,resetsAt:""},available:!1,error:e,...t}}function fs(e){if(!e)return;let t=Number(e);if(Number.isFinite(t)&&t>=0)return Math.round(t*1e3);let n=Date.parse(e);if(!Number.isNaN(n))return Math.max(n-Date.now(),0)}async function hs(e,t={}){let n=new AbortController,r=setTimeout(()=>n.abort(),ss);r.unref();try{let o=await(t.fetchImpl??fetch)(cs,{method:"GET",signal:n.signal,headers:{Authorization:`Bearer ${e}`,"anthropic-beta":as,"Content-Type":"application/json"}});if(!o.ok)return o.status===401?Te("Sign in to Claude Code to view quota",{failureKind:"auth",httpStatus:o.status}):o.status===429?Te(`API error: ${o.status}`,{failureKind:"rate_limit",httpStatus:o.status,retryAfterMs:fs(o.headers.get("retry-after"))}):o.status>=500&&o.status<=599?Te(`API error: ${o.status}`,{failureKind:"server",httpStatus:o.status}):Te(`API error: ${o.status}`,{failureKind:"unknown",httpStatus:o.status});let a=await o.json(),c=a.five_hour?.utilization??0,s=a.seven_day?.utilization??0,u=a.five_hour?.resets_at??"",d=a.seven_day?.resets_at??"";return{fiveHour:{utilization:c,resetsAt:u},sevenDay:{utilization:s,resetsAt:d},available:!0,projectedFiveHour:Ne({utilization:c,resetsAt:u,windowMs:j.FIVE_HOUR_WINDOW_MS}),projectedSevenDay:Ne({utilization:s,resetsAt:d,windowMs:j.SEVEN_DAY_WINDOW_MS})}}catch{return Te("Network error",{failureKind:"network"})}finally{clearTimeout(r)}}});var hi=C(fn=>{"use strict";Object.defineProperty(fn,"__esModule",{value:!0});fn.isAggregateCodexLimit=ps;function ps(e){return!e||e==="codex"}});var st=C(oe=>{"use strict";var ms=oe&&oe.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),ys=oe&&oe.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),mi=oe&&oe.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(n){var r=[];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[r.length]=i);return r},e(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(t!=null)for(var r=e(t),i=0;i<r.length;i++)r[i]!=="default"&&ms(n,t,r[i]);return ys(n,t),n}})();Object.defineProperty(oe,"__esModule",{value:!0});oe.writeQuotaSnapshot=ws;oe.readQuotaSnapshot=Cs;var yi=mi(y("fs")),gs=mi(y("path")),gi=De(),Si=ie(),Ss=He(),pi=hi();function pn(){return gs.join((0,gi.getConfigDir)(),"quota-snapshots.json")}function vi(){yi.mkdirSync((0,gi.getConfigDir)(),{recursive:!0,mode:448})}function Ai(){try{let e=JSON.parse(yi.readFileSync(pn(),"utf8"));if(e?.version===1&&Array.isArray(e.snapshots))return e}catch{}return{version:1,snapshots:[]}}function vs(e){vi(),(0,Si.atomicWriteJsonSync)(pn(),e)}function As(e){return vi(),(0,Si.withFileLockSync)(`${pn()}.lock`,e)}function hn(e){let t=e.capturedAt?Date.parse(e.capturedAt):NaN;return Number.isFinite(t)?t:0}function at(e){let t=Date.parse(e);return Number.isFinite(t)?t:0}function _s(e,t){let n=(0,pi.isAggregateCodexLimit)(e.limitId),r=(0,pi.isAggregateCodexLimit)(t.limitId);if(n!==r)return n;let i=at(e.fiveHour.resetsAt),o=at(t.fiveHour.resetsAt);if(i!==o)return i>o;let a=at(e.sevenDay.resetsAt),c=at(t.sevenDay.resetsAt);if(a!==c)return a>c;let s=e.fiveHour.utilization+e.sevenDay.utilization,u=t.fiveHour.utilization+t.sevenDay.utilization;return s!==u?s>u:hn(e)>hn(t)}function ws(e,t,n){As(()=>{let r=Ai(),i=r.snapshots.findIndex(d=>d.providerId===e&&d.accountId===t),o=i>=0?r.snapshots[i].quota:void 0,{capturedSource:a,...c}=n;delete c.ageMs,delete c.freshness;let s={...c,providerId:e,capturedAt:n.capturedAt??new Date().toISOString(),source:c.source&&c.source!=="cache"?c.source:a??"session",stale:!1,resetCredits:n.resetCredits??(e==="codex"?o?.resetCredits:void 0)};if(i>=0&&_s(r.snapshots[i].quota,s))return;let u={providerId:e,accountId:t,quota:s};i>=0?r.snapshots[i]=u:r.snapshots.push(u),vs(r)})}function Cs(e,t,n=new Date){let i=Ai().snapshots.find(u=>u.providerId===e&&u.accountId===t);if(!i)return null;let o=hn(i.quota),a=o>0?Math.max(0,n.getTime()-o):void 0,c=i.quota.capturedSource??i.quota.source,s=c&&c!=="cache"?c:void 0;return{...i.quota,providerId:e,source:"cache",...s?{capturedSource:s}:{},stale:!0,...a!==void 0?{ageMs:a}:{},freshness:(0,Ss.classifyQuotaFreshness)(a)}}});var qi=C(f=>{"use strict";var bs=f&&f.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),Os=f&&f.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),Ci=f&&f.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(n){var r=[];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[r.length]=i);return r},e(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(t!=null)for(var r=e(t),i=0;i<r.length;i++)r[i]!=="default"&&bs(n,t,r[i]);return Os(n,t),n}})();Object.defineProperty(f,"__esModule",{value:!0});f.CODEX_KEYRING_FIX_HINT=f.getCodexCredentialStoreMode=f.getSystemCodexHome=f.getCodexProfileHome=f.getCodexProfilesDir=void 0;f.getCodexMonitoringHomes=xs;f.storeCodexProfileAuth=he;f.parseCodexLoginStatusOutput=vn;f.getCodexLoginStatus=Le;f.getCodexLoginStatusAsync=Oe;f.readCodexAccountMetadata=Ei;f.readCodexAccountMetadataAsync=ji;f.isCodexProfileAuthenticated=Mi;f.isCodexProfileAuthenticatedAsync=Fi;f.listCodexAccounts=ae;f.getActiveCodexAccount=$e;f.resolveSidekickCodexHome=An;f.resolveActiveCodexAccount=Rs;f.getCodexExecutionEnv=Ts;f.prepareCodexAccount=Hs;f.prepareCodexAccountAsync=Ls;f.finalizeCodexAccount=Ti;f.finalizeCodexAccountAsync=Ni;f.withCodexAuthSwapLock=Pe;f.dedupeCodexProfiles=Li;f.syncCodexLiveStateUnlocked=_n;f.syncCodexLiveState=$s;f.cleanupAbandonedCodexLogins=ks;f.switchToCodexAccount=Bs;f.switchToCodexAccountAsync=Ws;f.reconcileCodexAuthState=zs;f.reconcileCodexAuthStateAsync=Ks;f.removeCodexAccount=Qs;var P=Ci(y("fs")),h=Ci(y("path")),bi=y("child_process"),Oi=y("crypto"),O=de(),Q=ie(),I=Vt(),l=Ye(),ut=nn(),z=rn(),Ps=cn(),Pi=sn(),mn=st(),dt=Ye();Object.defineProperty(f,"getCodexProfilesDir",{enumerable:!0,get:function(){return dt.getCodexProfilesDir}});Object.defineProperty(f,"getCodexProfileHome",{enumerable:!0,get:function(){return dt.getCodexProfileHome}});Object.defineProperty(f,"getSystemCodexHome",{enumerable:!0,get:function(){return dt.getSystemCodexHome}});Object.defineProperty(f,"getCodexCredentialStoreMode",{enumerable:!0,get:function(){return dt.getCodexCredentialStoreMode}});f.CODEX_KEYRING_FIX_HINT='Set `cli_auth_credentials_store = "file"` in ~/.codex/config.toml and run `codex login` again.';function Is(e){let t=new Set,n=[];for(let r of e){let i=h.resolve(r);t.has(i)||(t.add(i),n.push(r))}return n}function xs(){let e=(0,l.getExplicitCodexHome)();if(e)return[e];let t=[(0,l.getDefaultSystemCodexHome)()];for(let n of ae()){let r=(0,l.getCodexProfileHome)(n.id);P.existsSync(h.join(r,"sessions"))&&t.push(r)}return Is(t)}function ft(e){try{return JSON.parse(P.readFileSync((0,l.getCodexProfileStatePath)(e),"utf8"))}catch{return null}}function Ds(e,t){(0,l.ensureCodexProfileDirs)(e),(0,Q.atomicWriteJsonSync)((0,l.getCodexProfileStatePath)(e),t)}function _i(e,t){return P.existsSync(e)?(P.mkdirSync(h.dirname(t),{recursive:!0,mode:448}),P.copyFileSync(e,t),!0):!1}function Ii(e,t){let n=(0,l.readFileOrNull)(h.join(e,"config.toml"))??"";(0,Q.atomicWriteFileSync)(h.join(t,"config.toml"),(0,l.forceFileCredentialStore)(n))}function Es(e,t){let n=_i(h.join(e,"auth.json"),h.join(t,"auth.json")),r=_i(h.join(e,".credentials.json"),h.join(t,".credentials.json"));return n||r}function he(e,t,n,r){let i=(0,l.getCodexProfileHome)(e);t&&(0,Q.atomicWriteFileSync)(h.join(i,"auth.json"),t),n&&(0,Q.atomicWriteFileSync)(h.join(i,".credentials.json"),n),t&&(0,ut.writeCodexHealthSidecar)(e,t,r)}function js(e){let t=(0,I.readAuthIdentityFromRaw)((0,l.readFileOrNull)(h.join(e,"auth.json")));return t?{email:t.email,workspaceId:t.workspaceId,planType:t.planType,authMode:t.authMode}:{}}function Ms(e){let t=h.join(e,".credentials.json");if(!P.existsSync(t))return{};try{let n=JSON.parse(P.readFileSync(t,"utf8"));if(typeof n.OPENAI_API_KEY=="string"||typeof n.CODEX_API_KEY=="string")return{authMode:"api-key"}}catch{}return{}}var xi=4e3;function vn(e,t){let n=t.trim();return e===0&&/^Logged in/i.test(n)?/API key/i.test(n)?{loggedIn:!0,authMode:"api-key"}:/ChatGPT/i.test(n)?{loggedIn:!0,authMode:"chatgpt"}:{loggedIn:!0}:{loggedIn:!1}}function Le(e){try{let t={...process.env,CODEX_HOME:e},n=(0,bi.spawnSync)("codex",["login","status"],{encoding:"utf8",env:t,timeout:xi,killSignal:"SIGKILL"});return vn(n.status,String(n.stdout??""))}catch{}return{loggedIn:!1}}function Oe(e){return new Promise(t=>{try{let n={...process.env,CODEX_HOME:e};(0,bi.execFile)("codex",["login","status"],{encoding:"utf8",env:n,timeout:xi,killSignal:"SIGKILL"},(r,i)=>{t(r?{loggedIn:!1}:vn(0,String(i??"")))})}catch{t({loggedIn:!1})}})}function ht(e){let t=js(e);if(t.email||t.workspaceId||t.planType||t.authMode)return t;let n=Ms(e);return n.authMode?n:null}function Di(e){return e.loggedIn?{authMode:e.authMode??"unknown"}:{}}function Ei(e){return ht(e)??Di(Le(e))}async function ji(e){return ht(e)??Di(await Oe(e))}function pe(e){return P.existsSync(h.join(e,"auth.json"))||P.existsSync(h.join(e,".credentials.json"))}function Mi(e){return pe(e)||Le(e).loggedIn}async function Fi(e){return pe(e)||(await Oe(e)).loggedIn}function Fs(e,t){let n=e.trim().toLowerCase();return ae().find(i=>i.id!==t&&(i.label??"").trim().toLowerCase()===n)?`A Codex account named "${e}" already exists.`:null}function ae(){return(0,O.listSavedAccountProfiles)("codex")}function $e(){return(0,O.getActiveSavedAccount)("codex")}function An(){return(0,l.getSystemCodexHome)()}function wi(e){return{email:e.email??e.metadata?.email,workspaceId:e.metadata?.workspaceId}}function Rs(e={}){let t=e.selfHeal??!0,n=(0,I.readAuthIdentityFromRaw)((0,l.readFileOrNull)(h.join(An(),"auth.json")));if(n&&(n.email||n.workspaceId)){let i=ke(n);if(i){let o=(0,O.getActiveSavedAccount)("codex");if(t&&(!o||o.id!==i.id))try{(0,O.setActiveSavedAccount)("codex",i.id,{silent:!0})}catch{}}return{email:n.email??i?.email??i?.metadata?.email,label:i?.label,providerAccountId:i?.providerAccountId??n.workspaceId,registryAccountId:i?.id,source:"live"}}let r=$e();return r?{email:r.email??r.metadata?.email,label:r.label,providerAccountId:r.providerAccountId,registryAccountId:r.id,source:"registry"}:{source:"none"}}function Ts(e=process.env){return{...e,CODEX_HOME:An()}}function Ns(e){return{success:!1,needsLogin:!1,error:`Codex stores credentials in the OS keyring (cli_auth_credentials_store = "${e}"); sidekick can only switch file-based logins. ${f.CODEX_KEYRING_FIX_HINT}`}}function Ri(e){let t=e.trim();if(!t)return{result:{success:!1,error:"Codex accounts require a non-empty label."}};let n=Fs(t);if(n)return{result:{success:!1,error:n}};let r=(0,l.getSystemCodexHome)(),i=(0,l.getCodexCredentialStoreMode)(r),o=pe(r);if(i==="keyring"||i==="auto"&&!o)return{result:Ns(i)};let a=(0,Oi.randomUUID)(),c=(0,l.getCodexProfileHome)(a);if((0,l.ensureCodexProfileDirs)(a),Ds(a,{label:t,addedAt:new Date().toISOString()}),Ii(r,c),Es(r,c)){let u=(0,I.readAuthIdentityFromRaw)((0,l.readFileOrNull)(h.join(c,"auth.json"))),d=u?ke(u,{fallbackToActive:!1}):null;if(d){try{let A=(0,I.readLastRefresh)((0,l.readFileOrNull)(h.join(c,"auth.json"))),v=(0,I.readLastRefresh)((0,l.readFileOrNull)(h.join((0,l.getCodexProfileHome)(d.id),"auth.json")));v!==null&&A!==null&&v>A||he(d.id,(0,l.readFileOrNull)(h.join(c,"auth.json")),(0,l.readFileOrNull)(h.join(c,".credentials.json")),"login")}catch{}P.rmSync((0,l.getCodexProfileDir)(a),{recursive:!0,force:!0});let p=d.metadata?.origin==="live-sync"&&d.label===d.email?{...d,label:t,metadata:{...d.metadata,origin:"manual"}}:d;return p!==d&&(0,O.upsertSavedAccountProfile)(p),{result:{success:!0,profileId:d.id,codexHome:(0,l.getCodexProfileHome)(d.id),needsLogin:!1,warning:`This Codex login is already saved as "${p.label??d.email??d.id}".`}}}return{finalize:{profileId:a,codexHome:c}}}return{result:{success:!0,profileId:a,codexHome:c,needsLogin:!0}}}function Hs(e){let t=Ri(e);return"finalize"in t?{...Ti(t.finalize.profileId),...t.finalize,needsLogin:!1}:t.result}async function Ls(e){let t=Ri(e);return"finalize"in t?{...await Ni(t.finalize.profileId),...t.finalize,needsLogin:!1}:t.result}function lt(e,t,n){let r=ft(e);if(!r){let u=ae().find(d=>d.id===e);return u?t.activate===!1?{result:{success:!0,profileId:e}}:{swap:u}:{result:{success:!1,error:`Codex profile ${e} was not prepared.`}}}let i=(0,l.getCodexProfileHome)(e);if(!n.authenticated)return{result:{success:!1,error:"Codex profile is not authenticated yet."}};let o=(0,l.readFileOrNull)(h.join(i,"auth.json")),a=(0,I.readAuthIdentityFromRaw)(o),c=a?ke(a,{fallbackToActive:!1}):null;if(c&&c.id!==e){he(c.id,o,(0,l.readFileOrNull)(h.join(i,".credentials.json")),"login"),P.rmSync((0,l.getCodexProfileDir)(e),{recursive:!0,force:!0});let u={...c,label:c.metadata?.origin==="live-sync"?r.label:c.label,email:n.metadata.email??c.email,metadata:{...c.metadata,...n.metadata,origin:"login"}};return(0,O.upsertSavedAccountProfile)(u),t.activate===!1?{result:{success:!0,profileId:c.id}}:{swap:u}}let s={id:e,providerId:"codex",label:r.label,email:n.metadata.email,addedAt:r.addedAt,metadata:{...n.metadata,origin:"login"}};(0,O.upsertSavedAccountProfile)(s),o&&(0,ut.writeCodexHealthSidecar)(e,o,"login");try{P.rmSync((0,l.getCodexProfileStatePath)(e),{force:!0})}catch{}return t.activate===!1?{result:{success:!0,profileId:e}}:pe(i)?{swap:s}:((0,O.setActiveSavedAccount)("codex",e),{result:{success:!0,profileId:e,warning:`Codex stores credentials in the OS keyring; sidekick cannot swap them per account, so \`codex\` keeps using the keyring credentials. ${f.CODEX_KEYRING_FIX_HINT}`}})}function Ti(e,t={}){if(!ft(e)){let o=lt(e,t,{authenticated:!1,metadata:{}});return"swap"in o?gn(o.swap,{}):o.result}let n=(0,l.getCodexProfileHome)(e),r=Mi(n),i=lt(e,t,{authenticated:r,metadata:r?Ei(n):{}});return"swap"in i?gn(i.swap,{}):i.result}async function Ni(e,t={}){if(!ft(e)){let o=lt(e,t,{authenticated:!1,metadata:{}});return"swap"in o?Sn(o.swap,{}):o.result}let n=(0,l.getCodexProfileHome)(e),r=await Fi(n),i=lt(e,t,{authenticated:r,metadata:r?await ji(n):{}});return"swap"in i?Sn(i.swap,{}):i.result}function yn(){return h.join((0,O.getAccountsDir)(),"codex","stash")}function Hi(e,t){try{let n=new Date().toISOString().replace(/[:.]/g,"-"),r=null;if(e&&(r=h.join(yn(),`auth-${n}.json`),(0,Q.atomicWriteFileSync)(r,e)),t){let i=h.join(yn(),`credentials-${n}.json`);(0,Q.atomicWriteFileSync)(i,t),r=r??i}return r}catch{return null}}function ke(e,t={}){let n=ae();if(e?.workspaceId){let r=n.find(i=>i.metadata?.workspaceId===e.workspaceId);if(r)return r}if(e?.email){let r=n.find(i=>(i.email??i.metadata?.email)===e.email);if(r)return r}return!e?.workspaceId&&!e?.email&&t.fallbackToActive!==!1?$e():null}function Pe(e){let t=h.join((0,O.getAccountsDir)(),"codex");return P.mkdirSync(t,{recursive:!0,mode:448}),(0,Q.withFileLockSync)(h.join(t,"auth-swap.lock"),e)}function Li(){let e=[],t=ae(),n=new Map;for(let r of t){let i=r.metadata?.workspaceId?`ws:${r.metadata.workspaceId}`:r.email??r.metadata?.email?`email:${r.email??r.metadata?.email}`:`id:${r.id}`;n.set(i,[...n.get(i)??[],r])}for(let r of n.values()){if(r.length<2)continue;let i=[...r].sort((p,A)=>Date.parse(p.addedAt)-Date.parse(A.addedAt)),o=i[0],a=h.join((0,l.getCodexProfileHome)(o.id),"auth.json"),c=(0,l.readFileOrNull)(a),s=(0,I.readLastRefresh)(c,a)??-1,u=(0,O.getActiveSavedAccount)("codex")?.id;for(let p of i.slice(1)){let A=h.join((0,l.getCodexProfileHome)(p.id),"auth.json"),v=(0,l.readFileOrNull)(A),w=(0,I.readLastRefresh)(v,A)??-1;v&&w>s&&(c=v,s=w);try{if(!(0,mn.readQuotaSnapshot)("codex",o.id)){let L=(0,mn.readQuotaSnapshot)("codex",p.id);L&&(0,mn.writeQuotaSnapshot)("codex",o.id,L)}}catch{}try{let L=h.join(yn(),`dup-${p.id}-${new Date().toISOString().replace(/[:.]/g,"-")}`);P.mkdirSync(h.dirname(L),{recursive:!0,mode:448}),P.renameSync((0,l.getCodexProfileDir)(p.id),L)}catch{P.rmSync((0,l.getCodexProfileDir)(p.id),{recursive:!0,force:!0})}(0,O.removeSavedAccountProfile)("codex",p.id),e.push(p.id),u===p.id&&(0,O.setActiveSavedAccount)("codex",o.id,{silent:!0})}c&&c!==(0,l.readFileOrNull)(a)&&he(o.id,c,null,"migration");let d=ht((0,l.getCodexProfileHome)(o.id))??{};(0,O.upsertSavedAccountProfile)({...o,email:d.email??o.email,metadata:{...o.metadata,...d}})}return e}function _n(e="live-sync",t={}){let n=(0,Ps.emptyProviderSyncReport)();try{let r=Li();r.length&&(n.merged=r);let i=(0,l.getSystemCodexHome)(),o=h.join(i,"auth.json"),a=(0,l.readFileOrNull)(o),c=(0,l.readFileOrNull)(h.join(i,".credentials.json"));if(!a&&!c){let x=(0,l.getCodexCredentialStoreMode)(i);return t.systemKeyringLoggedIn||x==="keyring"||x==="auto"?(n.skipped="keyring",n.warnings.push(`Codex keeps its login in the OS keyring; sidekick cannot switch it. ${f.CODEX_KEYRING_FIX_HINT}`)):n.skipped="logged-out",n}let s=(0,I.readAuthIdentityFromRaw)(a),u=ke(s,{fallbackToActive:!1});if(!u&&s&&(s.email||s.workspaceId)){let x=(0,Oi.randomUUID)();u={id:x,providerId:"codex",label:s.email??s.workspaceId,email:s.email,addedAt:new Date().toISOString(),metadata:{email:s.email,workspaceId:s.workspaceId,planType:s.planType,authMode:s.authMode,origin:"live-sync"}},(0,l.ensureCodexProfileDirs)(x),Ii(i,(0,l.getCodexProfileHome)(x)),(0,O.upsertSavedAccountProfile)(u),n.registered={id:x,email:s.email}}else if(!u){let x=$e();if(x&&x.metadata?.authMode==="api-key")u=x;else return n.skipped="no-identity",n}let d=h.join((0,l.getCodexProfileHome)(u.id),"auth.json"),p=(0,l.readFileOrNull)(d),A=(0,I.readLastRefresh)(p),v=(0,I.readLastRefresh)(a),w=A!==null&&v!==null&&A>v;if(a!==p&&!w)try{he(u.id,a,c,e);let x=ht((0,l.getCodexProfileHome)(u.id))??{};(0,O.upsertSavedAccountProfile)({...u,email:x.email??u.email,metadata:{...u.metadata,...x}}),n.folded=u.id}catch(x){n.warnings.push(`Could not back up the live Codex credentials: ${x}`)}let ee=(0,O.getActiveSavedAccount)("codex");(!ee||ee.id!==u.id)&&((0,O.setActiveSavedAccount)("codex",u.id,{silent:!0}),n.repointed=u.id)}catch(r){n.warnings.push(`Codex account sync failed: ${r}`)}return n}function $s(e="live-sync"){try{return Pe(()=>_n(e))}catch(t){return{warnings:[`Could not acquire the account-switch lock: ${t}`]}}}function ks(e=360*60*1e3,t=Date.now()){let n=[],r=[];try{r=P.readdirSync((0,l.getCodexProfilesDir)())}catch{return n}let i=new Set(ae().map(o=>o.id));for(let o of r){if(i.has(o))continue;let a=ft(o);if(!a||pe((0,l.getCodexProfileHome)(o)))continue;let c=Date.parse(a.addedAt);if(!((Number.isNaN(c)?Number.POSITIVE_INFINITY:t-c)<e))try{P.rmSync((0,l.getCodexProfileDir)(o),{recursive:!0,force:!0}),n.push(o)}catch{}}return n}function Us(){let e=(0,l.getSystemCodexHome)();return{consumers:(0,Pi.detectRunningAccountConsumersSync)("codex"),systemKeyringLoggedIn:pe(e)?!1:Le(e).loggedIn}}async function qs(){let e=(0,l.getSystemCodexHome)();return{consumers:await(0,Pi.detectRunningAccountConsumers)("codex"),systemKeyringLoggedIn:pe(e)?!1:(await Oe(e)).loggedIn}}function gn(e,t){let n=Us();try{return Pe(()=>$i(e,t,n))}catch(r){return(0,z.switchFailure)("codex",e.id,`Could not acquire the account-switch lock: ${r}`)}}async function Sn(e,t){let n=await qs(),r;try{r=Pe(()=>$i(e,t,n))}catch(i){return(0,z.switchFailure)("codex",e.id,`Could not acquire the account-switch lock: ${i}`)}return r.success&&t.verifyWithCli&&!r.alreadyActive&&(r=(await Oe((0,l.getSystemCodexHome)())).loggedIn?{...r,verification:"cli"}:(0,z.finishSwitchResult)({...r,warnings:[...r.warnings,'`codex login status` reports "Not logged in" after the switch; the stored token may have been revoked. Sign in again if codex prompts you.']})),r}function $i(e,t,n){let r=(0,l.getSystemCodexHome)(),i=h.join(r,"auth.json"),o=h.join(r,".credentials.json"),a=e.label??e.email??e.id,c=(0,O.getActiveSavedAccount)("codex")?.id??null,s={success:!0,provider:"codex",accountId:e.id,previousAccountId:c,verified:!1,verification:"none",warnings:[],hints:[],runningConsumers:n.consumers,email:e.email??e.metadata?.email},u=h.resolve((0,l.getCodexProfilesDir)()),d=h.resolve(r);if(d===u||d.startsWith(u+h.sep))return(0,z.finishSwitchResult)({...s,success:!1,error:`CODEX_HOME points at a sidekick profile home (${r}); unset it before switching accounts.`});let p=(0,l.readFileOrNull)(i),A=(0,l.readFileOrNull)(o);if(!p&&!A&&n.systemKeyringLoggedIn)return(0,z.finishSwitchResult)({...s,success:!1,error:`Codex stores credentials in the OS keyring; file-based account switching is not supported. ${f.CODEX_KEYRING_FIX_HINT}`});let v=_n("switch",{systemKeyringLoggedIn:n.systemKeyringLoggedIn});if(s.warnings.push(...v.warnings),c=(0,O.getActiveSavedAccount)("codex")?.id??null,s.previousAccountId=c,v.skipped==="no-identity"&&p){let ge=Hi(p,A);s.warnings.push(ge?`Live Codex credentials did not match any saved account; stashed at ${ge}.`:"Live Codex credentials did not match any saved account and could not be stashed.")}let w=(0,l.readFileOrNull)(i),L=(0,l.readFileOrNull)(o),ee=(0,l.getCodexProfileHome)(e.id),x=h.join(ee,"auth.json"),T=(0,l.readFileOrNull)(x),K=(0,l.readFileOrNull)(h.join(ee,".credentials.json"));if(!T&&!K)return(0,z.finishSwitchResult)({...s,success:!1,needsLogin:!0,error:`No stored credentials for "${a}". Sign in again to this account.`});if(T&&!(0,I.parseAuthJson)(T))return(0,z.finishSwitchResult)({...s,success:!1,needsLogin:!0,error:`Stored credentials for "${a}" are corrupted. Sign in again to this account.`});let xe=(0,I.readAuthIdentityFromRaw)(w);if(!!((0,I.identitiesMatch)(xe,{...wi(e),...(0,I.readAuthIdentityFromRaw)(T)??{}})||w!==null&&w===T||!w&&!T&&L!==null&&L===K))return c!==e.id&&(0,O.setActiveSavedAccount)("codex",e.id),(0,z.finishSwitchResult)({...s,alreadyActive:!0,verified:!0,verification:"store",health:(0,ut.getAccountHealth)("codex",e.id),hints:[`${a} is already the active Codex account.`]});let At=(0,ut.getAccountHealth)("codex",e.id,{probe:"store"});if(s.health=At,(At.state==="expired"||At.state==="missing")&&!t.force)return(0,z.finishSwitchResult)({...s,success:!1,needsLogin:!0,error:`Stored credentials for "${a}" have expired; sign in again.`});let Tn=(0,I.readLastRefresh)(T,x);Tn!==null&&Date.now()-Tn>I.STALE_AUTH_THRESHOLD_MS&&s.warnings.push(`Stored credentials for "${a}" have not been refreshed in over 8 days; codex may ask you to log in again.`);let _t=()=>{try{w?(0,Q.atomicWriteFileSync)(i,w):P.rmSync(i,{force:!0}),L?(0,Q.atomicWriteFileSync)(o,L):P.rmSync(o,{force:!0})}catch{}try{(0,O.setActiveSavedAccount)("codex",c,{silent:!0})}catch{}};try{T?((0,Q.atomicWriteFileSync)(i,T),K?(0,Q.atomicWriteFileSync)(o,K):L&&P.rmSync(o,{force:!0})):((0,Q.atomicWriteFileSync)(o,K),w&&P.rmSync(i,{force:!0}))}catch(ge){return _t(),(0,z.finishSwitchResult)({...s,success:!1,error:`Failed to write Codex credentials: ${ge}`})}let Nn=(0,l.readFileOrNull)(T?i:o),Co=T??K,Hn=T?(0,I.readAuthIdentityFromRaw)(Nn):null;if(!(Nn===Co&&(!T||(0,I.identitiesMatch)(Hn,{...wi(e),...(0,I.readAuthIdentityFromRaw)(T)??{}})||Hn?.authMode==="api-key")))return _t(),(0,z.finishSwitchResult)({...s,success:!1,verification:"failed",error:`The live Codex credential file did not reflect the switch to "${a}"; the previous login was restored.`});try{(0,O.setActiveSavedAccount)("codex",e.id)}catch(ge){return _t(),(0,z.finishSwitchResult)({...s,success:!1,error:`Failed to update account registry: ${ge}`})}let Ln;try{Ln=(0,z.writeLastSwitch)("codex",c,e.id).token}catch{s.warnings.push("The switch succeeded but could not be recorded for undo.")}return(0,z.finishSwitchResult)({...s,verified:!0,verification:"store",undoToken:Ln,hints:[`New codex sessions use ${e.email??a}.`]})}function Bs(e,t={}){let n=ae().find(r=>r.id===e);return n?gn(n,t):(0,z.switchFailure)("codex",e,`Codex account ${e} not found.`)}async function Ws(e,t={}){let n=ae().find(r=>r.id===e);return n?Sn(n,t):(0,z.switchFailure)("codex",e,`Codex account ${e} not found.`)}function ki(){let e=h.join((0,O.getAccountsDir)(),"codex",".live-auth-migrated-v1");return P.existsSync(e)?!1:!P.existsSync(h.join((0,l.getSystemCodexHome)(),"auth.json"))}function zs(){try{let e=ki()?Le((0,l.getSystemCodexHome)()).loggedIn:!1;Pe(()=>Ui({systemKeyringLoggedIn:e}))}catch{}}async function Ks(){try{let e=ki()?(await Oe((0,l.getSystemCodexHome)())).loggedIn:!1;Pe(()=>Ui({systemKeyringLoggedIn:e}))}catch{}}function Ui(e){try{let t=h.join((0,O.getAccountsDir)(),"codex",".live-auth-migrated-v1");if(P.existsSync(t))return;let n=()=>(0,Q.atomicWriteFileSync)(t,new Date().toISOString()+`
15
+ `),r=$e();if(!r){n();return}let i=(0,l.getCodexProfileHome)(r.id),o=h.join(i,"auth.json"),a=(0,l.readFileOrNull)(o);if(!a){n();return}let c=(0,l.getSystemCodexHome)(),s=h.join(c,"auth.json"),u=(0,l.readFileOrNull)(s);if(!u){e.systemKeyringLoggedIn||(0,Q.atomicWriteFileSync)(s,a),n();return}let d=(0,I.readAuthIdentityFromRaw)(u),p=(0,I.readAuthIdentityFromRaw)(a);if((0,I.identitiesMatch)(d,p)){let v=(0,I.readLastRefresh)(u,s),w=(0,I.readLastRefresh)(a,o);w!==null&&(v===null||w>v)?(Hi(u,null),(0,Q.atomicWriteFileSync)(s,a)):he(r.id,u,null,"migration")}else{let v=ke(d);v&&v.id!==r.id&&(he(v.id,u,null,"migration"),(0,O.setActiveSavedAccount)("codex",v.id))}n()}catch{}}function Qs(e){return(0,O.removeSavedAccountProfile)("codex",e)?(P.rmSync((0,l.getCodexProfileDir)(e),{recursive:!0,force:!0}),{success:!0}):{success:!1,error:`Codex account ${e} not found.`}}});var Bi=C(wn=>{"use strict";Object.defineProperty(wn,"__esModule",{value:!0});wn.getActiveAccountStatus=Ys;var Vs=fi(),Gs=qi();function Js(e){return e instanceof Error?e.message:String(e)}function Ys(e,t={}){try{let n=(0,Vs.resolveActiveClaudeAccount)(t),r=(0,Gs.resolveActiveCodexAccount)(t),i=n.source!=="none"?{present:!0,...n.registryAccountId?{accountId:n.registryAccountId}:{},email:n.email,label:n.label??n.email}:{present:!1},o=r.source!=="none"?{present:!0,...r.registryAccountId?{accountId:r.registryAccountId}:{},email:r.email,label:r.label??r.email??r.providerAccountId}:{present:!1};return{ok:i.present||o.present,claude:i,codex:o,error:e}}catch(n){return{ok:!1,claude:{present:!1},codex:{present:!1},error:e??Js(n)}}}});var Ki=C(me=>{"use strict";Object.defineProperty(me,"__esModule",{value:!0});me.formatTokenCount=Xs;me.formatDurationMs=Zs;me.formatLocalDateKey=Wi;me.parseLocalDateKey=zi;me.addLocalDays=eu;function Xs(e,t={}){if(!Number.isFinite(e))return"0";let n=Math.trunc(e),r=n<0?"-":"",i=Math.abs(n),o=t.suffixCase==="upper"?"K":"k";return i>=1e6?`${r}${(i/1e6).toFixed(1)}M`:i>=1e3?`${r}${(i/1e3).toFixed(1)}${o}`:`${n}`}function Zs(e,t={}){let n=t.invalid??"N/A";if(!Number.isFinite(e)||e<0)return n;let i=(t.style??"spaced")==="compact"?"":" ",o=t.secondsFractionDigits??0;if(e<1e3)return t.includeMilliseconds?`${Math.round(e)}ms`:`${(e/1e3).toFixed(Math.max(1,o))}s`;let a=e/1e3;if(a<60)return o>0?`${a.toFixed(o)}s`:`${Math.floor(a)}s`;let c=Math.floor(a),s=Math.floor(c/3600),u=Math.floor(c%3600/60),d=c%60;return s>0?`${s}h${i}${u}m${i}${d}s`:`${u}m${i}${d}s`}function Wi(e=new Date){let t=typeof e=="number"?new Date(e):e;if(Number.isNaN(t.getTime()))return"";let n=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),i=String(t.getDate()).padStart(2,"0");return`${n}-${r}-${i}`}function zi(e){let t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e);if(!t)return null;let n=new Date(Number(t[1]),Number(t[2])-1,Number(t[3]));return Number.isNaN(n.getTime())?null:n}function eu(e,t){let n=zi(e);return n?Wi(new Date(n.getFullYear(),n.getMonth(),n.getDate()+t)):e}});var to=C(G=>{"use strict";var tu=G&&G.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),nu=G&&G.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),bn=G&&G.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(n){var r=[];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[r.length]=i);return r},e(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(t!=null)for(var r=e(t),i=0;i<r.length;i++)r[i]!=="default"&&tu(n,t,r[i]);return nu(n,t),n}})();Object.defineProperty(G,"__esModule",{value:!0});G.getWorkspaceIdFromPath=au;G.appendQuotaHistorySample=pu;G.readQuotaHistoryRange=eo;G.readQuotaHistoryDailyBuckets=mu;G.pruneQuotaHistory=yu;G._resetQuotaHistoryInMemoryStateForTests=gu;var ru=bn(y("crypto")),re=bn(y("fs")),On=bn(y("path")),Qi=Ki(),Vi=De(),iu=st(),Gi=ie(),ou=6e4,Pn=91,cu=16*1024,Ji=864e5,Ue=new Map,pt=new Map;function au(e){let t;try{t=re.realpathSync(e)}catch{t=On.resolve(e)}return ru.createHash("sha256").update(t).digest("hex").slice(0,16)}function In(e,t){return On.join((0,Vi.getConfigDir)(),"quota-history",e,`${t}.jsonl`)}function su(e){re.mkdirSync(On.join((0,Vi.getConfigDir)(),"quota-history",e),{recursive:!0,mode:448})}function mt(e){let t=e.trim();if(!t)return null;try{let n=JSON.parse(t);return n&&typeof n=="object"&&typeof n.timestamp=="string"&&n.fiveHour&&n.sevenDay?n:null}catch{return null}}function uu(e){let t;try{t=re.openSync(e,"r");let n=re.fstatSync(t);if(n.size===0)return null;let r=4096,i=n.size,o=Buffer.alloc(0);for(;i>0;){let a=Math.min(r,i),c=Buffer.alloc(a);re.readSync(t,c,0,a,i-a),o=Buffer.concat([c,o]),i-=a;let u=o.toString("utf8").replace(/\n+$/,""),d=u.lastIndexOf(`
16
+ `);if(d>=0){let p=u.slice(d+1),A=mt(p);return A&&Date.parse(A.timestamp)||null}if(i===0){let p=mt(u);return p&&Date.parse(p.timestamp)||null}}return null}catch(n){return n?.code==="ENOENT",null}finally{if(t!==void 0)try{re.closeSync(t)}catch{}}}function lu(e,t){return(0,Gi.withFileLockSync)(`${e}.lock`,t)}function du(e,t){(0,Gi.atomicWriteFileSync)(e,t,384)}function Yi(e,t){let n;try{n=re.statSync(e)}catch{return{kept:0,pruned:0}}if(n.size===0)return{kept:0,pruned:0};let r=Date.now()-t*Ji,o=re.readFileSync(e,"utf8").split(`
17
+ `),a=[],c=0;for(let s of o){if(!s.trim())continue;let u=mt(s);if(!u){c+=1;continue}let d=Date.parse(u.timestamp);Number.isFinite(d)&&d>=r?a.push(s):c+=1}return c>0&&du(e,a.length>0?a.join(`
10
18
  `)+`
11
- `:""),{kept:c.length,pruned:a}}function Sc(e){let t=mr(e.runtimeProvider);return{fiveHour:{utilization:e.fiveHour.utilization,resetsAt:e.fiveHour.resetsAt},sevenDay:{utilization:e.sevenDay.utilization,resetsAt:e.sevenDay.resetsAt},available:e.available,error:e.error,providerId:t,source:e.source??"session",capturedAt:e.timestamp,stale:e.stale}}function mr(e){return e==="claude"?"claude-code":e==="zai"?"zai":"codex"}async function vc(e,t,n){let r=Le.get(t);if(r===void 0){let c=mc(t);c!==null&&(r=c,Le.set(t,c))}let i=Date.parse(e.timestamp);if(r!==void 0&&Number.isFinite(i)&&i-r<n.minIntervalMs)return;yc(e.workspaceId);let o=JSON.stringify(e)+`
12
- `;hc(t,()=>{q.appendFileSync(t,o,{encoding:"utf8",mode:384});try{q.statSync(t).size>=fc&&yr(t,n.retentionDays)}catch{}}),Le.set(t,Number.isFinite(i)?i:Date.now());try{let c=mr(e.runtimeProvider);(0,lc.writeQuotaSnapshot)(c,e.providerId,Sc(e))}catch{}}async function Ac(e,t={}){let n={minIntervalMs:t.minIntervalMs??dc,retentionDays:t.retentionDays??Pt},r=jt(e.workspaceId,e.runtimeProvider),o=(ve.get(r)??Promise.resolve()).then(()=>vc(e,r,n)).catch(()=>{});ve.set(r,o);try{await o}finally{ve.get(r)===o&&ve.delete(r)}}function hr(){let e=Date.now();return{fromMs:e-Pt*pr,toMs:e}}async function gr(e){let t=jt(e.workspaceId,e.provider),n;try{n=await q.promises.readFile(t,"utf8")}catch(u){if(u?.code==="ENOENT")return[];throw u}let{fromMs:r,toMs:i}=hr(),o=e.from?Date.parse(e.from):r,c=e.to?Date.parse(e.to):i,a=[];for(let u of n.split(`
13
- `)){let s=He(u);if(!s)continue;let f=Date.parse(s.timestamp);Number.isFinite(f)&&(f<o||f>c||a.push(s))}return a.sort((u,s)=>Date.parse(u.timestamp)-Date.parse(s.timestamp)),a}function Ot(e){return(0,lr.formatLocalDateKey)(e)}async function _c(e){let t=await gr(e),{fromMs:n,toMs:r}=hr(),i=e.from?Date.parse(e.from):n,o=e.to?Date.parse(e.to):r,c=Ot(i),a=Ot(o),u=new Map;for(let I of t){let D=Date.parse(I.timestamp);if(!Number.isFinite(D))continue;let P=Ot(D),R=u.get(P);R?R.push(I):u.set(P,[I])}let s=[],f=c;for(let I=0;I<=366&&f<=a;I+=1){let D=u.get(f);if(!D||D.length===0)s.push({date:f,samples:0,maxUtilizationFiveHour:0,maxUtilizationSevenDay:0,avgUtilizationFiveHour:0,avgUtilizationSevenDay:0,anyUnavailable:!1});else{let P=0,R=0,de=0,fe=0,We=!1;for(let B of D)P=Math.max(P,B.fiveHour.utilization),R=Math.max(R,B.sevenDay.utilization),de+=B.fiveHour.utilization,fe+=B.sevenDay.utilization,B.available||(We=!0);let te=D.length;s.push({date:f,samples:te,maxUtilizationFiveHour:P,maxUtilizationSevenDay:R,avgUtilizationFiveHour:Math.round(de/te*100)/100,avgUtilizationSevenDay:Math.round(fe/te*100)/100,anyUnavailable:We})}f=(0,lr.addLocalDays)(f,1)}return s}async function wc(e,t,n=Pt){let r=jt(e,t);return yr(r,n)}function bc(){ve.clear(),Le.clear()}});var Ft=C(Ae=>{"use strict";Object.defineProperty(Ae,"__esModule",{value:!0});Ae.BurnRateCalculator=void 0;Ae.estimateTimeToQuota=vr;var Mt=class{events=[];windowMs;constructor(t=5){this.windowMs=t*6e4}addEvent(t,n=new Date){this.events.push({tokens:t,timestamp:n}),this.pruneOldEvents(n)}calculateBurnRate(t=new Date){if(this.pruneOldEvents(t),this.events.length===0)return 0;let n=this.events.reduce((i,o)=>i+o.tokens,0),r=Math.max((t.getTime()-this.events[0].timestamp.getTime())/6e4,1);return n/r}estimateTimeToQuota(t,n,r=new Date){return vr(t,n,this.calculateBurnRate(r))}getEventCount(){return this.events.length}reset(){this.events=[]}pruneOldEvents(t){let n=t.getTime()-this.windowMs;this.events=this.events.filter(r=>r.timestamp.getTime()>=n)}};Ae.BurnRateCalculator=Mt;function vr(e,t,n){if(n<=0)return null;let r=t-e;return r<=0?0:r/n}});var wr=C(ze=>{"use strict";Object.defineProperty(ze,"__esModule",{value:!0});ze.selectStatuslineAccount=_r;ze.formatStatusline=Oc;var Ar=Se(),Cc=Ft();function _r(e){return e.accounts.claude.present?{providerId:"claude-code",accountId:e.accounts.claude.accountId,accountLabel:e.accounts.claude.label??e.accounts.claude.email??"claude",quota:e.claudeQuota??null}:e.accounts.codex.present?{providerId:"codex",accountId:e.accounts.codex.accountId,accountLabel:e.accounts.codex.label??e.accounts.codex.email??"codex",quota:e.codexQuota??null}:null}function Oc(e){let t=_r(e),n=e.now??new Date,r=Ic(e.live);if(!t)return Et(["acct:none","quota unavailable",...r]);let i=jc(t.accountLabel),o=t.quota;if(!o?.available)return Et([`acct:${i}`,"quota unavailable",...r]);let c=$e(o.fiveHour.utilization),a=Mc(o.fiveHour.resetsAt,n),u=Pc(o,n),s=[`acct:${i}`,`5h ${Math.round(c)}% resets ${a}`];return u!=null&&s.push(`~${Fc(u)} left`),o.sevenDay.resetsAt&&o.sevenDay.utilization>0&&s.push(`7d ${Math.round($e(o.sevenDay.utilization))}%`),o.freshness&&o.freshness!=="fresh"&&s.push(`(${(0,Ar.formatQuotaAge)(o.ageMs)})`),Et([...s,...r])}function Ic(e){if(!e)return[];let t=[],n=e.contextWindow?.usedPercentage;typeof n=="number"&&t.push(`ctx ${Math.round($e(n))}%`);let r=e.cost?.totalCostUsd;typeof r=="number"&&r>0&&t.push(`$${Dc(r)}`);let i=e.promptCache?.hitRatio;return typeof i=="number"&&t.push(`cache ${Math.round($e(i*100))}%`),t}function Et(e){return e.join(" \xB7 ")}function Dc(e){return e>=100?e.toFixed(0):e>=10?e.toFixed(1):e.toFixed(2)}function Pc(e,t){let n=Date.parse(e.fiveHour.resetsAt);if(!Number.isFinite(n))return null;let r=t.getTime();if(n<=r)return null;let i=e.capturedAt?Date.parse(e.capturedAt):t.getTime(),o=Number.isFinite(i)?i:t.getTime();if(o>=n)return null;let c=(o-(n-Ar.FIVE_HOUR_WINDOW_MS))/6e4;if(c<=0||e.fiveHour.utilization<=0)return null;let a=e.fiveHour.utilization/c,u=(0,Cc.estimateTimeToQuota)(e.fiveHour.utilization,100,a),s=(n-r)/6e4;return u!==null&&u<s?u:null}function jc(e){let t=e.trim();return(t.includes("@")?t.split("@")[0]:t).replace(/\s+/g,"-").slice(0,24)||"unknown"}function $e(e){return Number.isFinite(e)?Math.min(100,Math.max(0,e)):0}function Mc(e,t){let n=new Date(e),r=Number.isNaN(n.getTime())?t:n;return new Intl.DateTimeFormat(void 0,{hour:"2-digit",minute:"2-digit",hour12:!1}).format(r)}function Fc(e){let t=Math.max(0,Math.round(e));if(t<60)return`${t}min`;let n=Math.floor(t/60),r=t%60;return r?`${n}h${r}m`:`${n}h`}});var Or=C(qe=>{"use strict";Object.defineProperty(qe,"__esModule",{value:!0});qe.parseClaudeStatuslinePayload=Ec;qe.quotaFromStatuslinePayload=xc;function V(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function T(e){return typeof e=="number"&&Number.isFinite(e)?e:void 0}function xt(e){return e===null?null:T(e)}function J(e){return typeof e=="string"&&e.length>0?e:void 0}function br(e){return typeof e=="boolean"?e:void 0}function Nt(e){if(!V(e))return;let t=T(e.used_percentage),n=T(e.resets_at);if(!(t===void 0||n===void 0))return{usedPercentage:t,resetsAt:n}}function le(e){return Object.values(e).some(t=>t!==void 0)?e:void 0}function Ec(e){if(typeof e!="string"||!e.trim())return null;let t;try{t=JSON.parse(e)}catch{return null}if(!V(t))return null;let n=V(t.model)?t.model:void 0,r=V(t.workspace)?t.workspace:void 0,i=V(t.context_window)?t.context_window:void 0,o=V(t.cost)?t.cost:void 0,c=V(t.rate_limits)?t.rate_limits:void 0,a=V(t.prompt_cache)?t.prompt_cache:void 0;return{sessionId:J(t.session_id),transcriptPath:J(t.transcript_path),cwd:J(t.cwd),model:n?le({id:J(n.id),displayName:J(n.display_name)}):void 0,workspace:r?le({currentDir:J(r.current_dir),projectDir:J(r.project_dir),gitWorktree:J(r.git_worktree)}):void 0,contextWindow:i?le({usedPercentage:xt(i.used_percentage),remainingPercentage:xt(i.remaining_percentage),contextWindowSize:T(i.context_window_size),totalInputTokens:T(i.total_input_tokens),totalOutputTokens:T(i.total_output_tokens)}):void 0,cost:o?le({totalCostUsd:T(o.total_cost_usd),totalDurationMs:T(o.total_duration_ms),totalApiDurationMs:T(o.total_api_duration_ms),totalLinesAdded:T(o.total_lines_added),totalLinesRemoved:T(o.total_lines_removed)}):void 0,rateLimits:c?le({fiveHour:Nt(c.five_hour),sevenDay:Nt(c.seven_day),spendLimit:Nt(c.spend_limit)}):void 0,promptCache:a?le({warm:br(a.warm),cachingObserved:br(a.caching_observed),hitRatio:xt(a.hit_ratio),requests:T(a.requests),misses:T(a.misses),expectedRebuilds:T(a.expected_rebuilds)}):void 0,raw:t}}function Cr(e,t){return e?{utilization:Math.max(0,e.usedPercentage),resetsAt:new Date(e.resetsAt*1e3).toISOString()}:t??{utilization:0,resetsAt:""}}function xc(e,t={}){let n=e.rateLimits;if(!n?.fiveHour&&!n?.sevenDay)return null;let r=t.now??new Date,i=t.fallback??void 0;return{fiveHour:Cr(n.fiveHour,i?.fiveHour),sevenDay:Cr(n.sevenDay,i?.sevenDay),available:!0,providerId:"claude-code",source:"statusline",capturedAt:r.toISOString(),stale:!1}}});var Pr=C(O=>{"use strict";var Nc=O&&O.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),Tc=O&&O.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),Rc=O&&O.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(n){var r=[];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[r.length]=i);return r},e(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(t!=null)for(var r=e(t),i=0;i<r.length;i++)r[i]!=="default"&&Nc(n,t,r[i]);return Tc(n,t),n}})();Object.defineProperty(O,"__esModule",{value:!0});O.STATE_FILE_NAME=O.STATE_FILE_SCHEMA_VERSION=void 0;O.getStateFilePath=Rt;O.readStateFile=Dr;O.writeStateFile=qc;O.quotaToStateFile=kc;O.billingBlockToStateFile=Wc;var Lc=Rc(y("fs")),Hc=pe(),$c=Se(),zc=Y();O.STATE_FILE_SCHEMA_VERSION=1;O.STATE_FILE_NAME="state.json";function Rt(){return(0,Hc.getGlobalDataPath)(O.STATE_FILE_NAME)}function Dr(e=Rt()){try{let t=JSON.parse(Lc.readFileSync(e,"utf8"));return t&&t.schemaVersion===O.STATE_FILE_SCHEMA_VERSION?t:null}catch{return null}}function Tt(e){if(Array.isArray(e))return`[${e.map(Tt).join(",")}]`;if(e&&typeof e=="object"){let t=e;return`{${Object.keys(t).sort().filter(r=>t[r]!==void 0).map(r=>`${JSON.stringify(r)}:${Tt(t[r])}`).join(",")}}`}return JSON.stringify(e)??"null"}function Ir(e){return Tt({...e,schemaVersion:void 0,writtenAt:void 0})}function qc(e,t={}){let n=t.filePath??Rt();try{let r=Dr(n);if(r&&Ir(r)===Ir(e))return!1;let i={schemaVersion:O.STATE_FILE_SCHEMA_VERSION,writtenAt:(t.now??new Date).toISOString(),...e};return(0,zc.atomicWriteJsonSync)(n,i),!0}catch{return!1}}function kc(e,t=Date.now()){if(!e||!e.available)return null;let n=typeof e.ageMs=="number"?e.ageMs:null,r=e.freshness??null;if(n===null&&e.capturedAt){let i=Date.parse(e.capturedAt);Number.isFinite(i)&&(n=Math.max(0,t-i),r??=(0,$c.classifyQuotaFreshness)(n))}return{fiveHour:{utilization:e.fiveHour.utilization,resetsAt:e.fiveHour.resetsAt},sevenDay:{utilization:e.sevenDay.utilization,resetsAt:e.sevenDay.resetsAt},source:e.source??null,capturedSource:e.capturedSource??null,capturedAt:e.capturedAt??null,ageMs:n,freshness:r}}function Wc(e){return e?{start:e.start,end:e.end,isActive:e.isActive,tokens:e.tokens.total,costUsd:e.costUsd,costProvenance:e.costProvenance,burnRatePerMinute:e.burnRatePerMinute,projectedTokens:e.projectedTokens,projectedCostUsd:e.projectedCostUsd,remainingMs:e.remainingMs}:null}});var Tr=C(l=>{"use strict";Object.defineProperty(l,"__esModule",{value:!0});l.writeStateFile=l.readStateFile=l.quotaToStateFile=l.getStateFilePath=l.billingBlockToStateFile=l.STATE_FILE_SCHEMA_VERSION=l.STATE_FILE_NAME=l.quotaFromStatuslinePayload=l.parseClaudeStatuslinePayload=l.selectStatuslineAccount=l.formatStatusline=l.estimateTimeToQuota=l.BurnRateCalculator=l.formatQuotaAge=l.classifyQuotaFreshness=l.getWorkspaceIdFromPath=l.appendQuotaHistorySample=l.writeQuotaSnapshot=l.readQuotaSnapshot=l.getActiveAccountStatus=void 0;var Uc=Xn();Object.defineProperty(l,"getActiveAccountStatus",{enumerable:!0,get:function(){return Uc.getActiveAccountStatus}});var jr=Ct();Object.defineProperty(l,"readQuotaSnapshot",{enumerable:!0,get:function(){return jr.readQuotaSnapshot}});Object.defineProperty(l,"writeQuotaSnapshot",{enumerable:!0,get:function(){return jr.writeQuotaSnapshot}});var Mr=Sr();Object.defineProperty(l,"appendQuotaHistorySample",{enumerable:!0,get:function(){return Mr.appendQuotaHistorySample}});Object.defineProperty(l,"getWorkspaceIdFromPath",{enumerable:!0,get:function(){return Mr.getWorkspaceIdFromPath}});var Fr=Se();Object.defineProperty(l,"classifyQuotaFreshness",{enumerable:!0,get:function(){return Fr.classifyQuotaFreshness}});Object.defineProperty(l,"formatQuotaAge",{enumerable:!0,get:function(){return Fr.formatQuotaAge}});var Er=Ft();Object.defineProperty(l,"BurnRateCalculator",{enumerable:!0,get:function(){return Er.BurnRateCalculator}});Object.defineProperty(l,"estimateTimeToQuota",{enumerable:!0,get:function(){return Er.estimateTimeToQuota}});var xr=wr();Object.defineProperty(l,"formatStatusline",{enumerable:!0,get:function(){return xr.formatStatusline}});Object.defineProperty(l,"selectStatuslineAccount",{enumerable:!0,get:function(){return xr.selectStatuslineAccount}});var Nr=Or();Object.defineProperty(l,"parseClaudeStatuslinePayload",{enumerable:!0,get:function(){return Nr.parseClaudeStatuslinePayload}});Object.defineProperty(l,"quotaFromStatuslinePayload",{enumerable:!0,get:function(){return Nr.quotaFromStatuslinePayload}});var ee=Pr();Object.defineProperty(l,"STATE_FILE_NAME",{enumerable:!0,get:function(){return ee.STATE_FILE_NAME}});Object.defineProperty(l,"STATE_FILE_SCHEMA_VERSION",{enumerable:!0,get:function(){return ee.STATE_FILE_SCHEMA_VERSION}});Object.defineProperty(l,"billingBlockToStateFile",{enumerable:!0,get:function(){return ee.billingBlockToStateFile}});Object.defineProperty(l,"getStateFilePath",{enumerable:!0,get:function(){return ee.getStateFilePath}});Object.defineProperty(l,"quotaToStateFile",{enumerable:!0,get:function(){return ee.quotaToStateFile}});Object.defineProperty(l,"readStateFile",{enumerable:!0,get:function(){return ee.readStateFile}});Object.defineProperty(l,"writeStateFile",{enumerable:!0,get:function(){return ee.writeStateFile}})});var g=Qr(Tr(),1);import*as ke from"fs";function Qc(e=process.env){if(e.SIDEKICK_STATUSLINE_STDIN==="0")return null;try{if(process.stdin.isTTY)return null;let t=ke.fstatSync(0);return t.isFIFO()||t.isFile()||t.isSocket()?(0,g.parseClaudeStatuslinePayload)(ke.readFileSync(0,"utf8")):null}catch{return null}}function Bc(e,t){return e?e.fiveHour.utilization===t.fiveHour.utilization&&e.fiveHour.resetsAt===t.fiveHour.resetsAt&&e.sevenDay.utilization===t.sevenDay.utilization&&e.sevenDay.resetsAt===t.sevenDay.resetsAt:!1}async function Kc(e,t,n,r){if(!Bc(n,t)){try{(0,g.writeQuotaSnapshot)("claude-code",e,t)}catch{}try{let i=r.workspace?.currentDir??r.cwd??process.cwd();await(0,g.appendQuotaHistorySample)({timestamp:t.capturedAt??new Date().toISOString(),runtimeProvider:"claude",providerId:e,workspaceId:(0,g.getWorkspaceIdFromPath)(i),fiveHour:t.fiveHour,sevenDay:t.sevenDay,available:!0,source:"statusline",stale:!1})}catch{}}}function Jc(e,t,n,r){let i=e.claude.present?{providerId:"claude-code",id:e.claude.accountId??null,label:e.claude.label??null}:e.codex.present?{providerId:"codex",id:e.codex.accountId??null,label:e.codex.label??null}:null,o=r?.contextWindow?{usedPercentage:r.contextWindow.usedPercentage??null,contextWindowSize:r.contextWindow.contextWindowSize??null,totalInputTokens:r.contextWindow.totalInputTokens??null,totalOutputTokens:r.contextWindow.totalOutputTokens??null}:null,c=r?{sessionId:r.sessionId??null,cwd:r.workspace?.currentDir??r.cwd??null,model:r.model?.id??null,costUsd:r.cost?.totalCostUsd??null,durationMs:r.cost?.totalDurationMs??null,linesAdded:r.cost?.totalLinesAdded??null,linesRemoved:r.cost?.totalLinesRemoved??null,promptCacheHitRatio:r.promptCache?.hitRatio??null}:null;return{writer:"statusline",account:i,quota:{claude:(0,g.quotaToStateFile)(t),codex:(0,g.quotaToStateFile)(n)},context:o,session:c,billingBlock:null}}async function Rr(){let e=Qc(),t=(0,g.getActiveAccountStatus)(void 0,{selfHeal:!1}),n=t.claude.accountId,r=n?(0,g.readQuotaSnapshot)("claude-code",n):null,i=r,o=t.codex.accountId?(0,g.readQuotaSnapshot)("codex",t.codex.accountId):null,c=null;if(e){let a=(0,g.quotaFromStatuslinePayload)(e,{fallback:r});a&&(i=a,n&&(c=Kc(n,a,r,e)))}process.stdout.write(`${(0,g.formatStatusline)({accounts:t,claudeQuota:i,codexQuota:o,live:e})}
14
- `),(0,g.writeStateFile)(Jc(t,i,o,e)),c&&await c}var Lr=["--project","--provider","--output-file"],Vc=["--json","--no-color","--offline"];function Gc(e){for(let t=0;t<e.length;t++){let n=e[t];if(!Vc.includes(n)){if(Lr.includes(n)){t++;continue}if(!Lr.some(r=>n.startsWith(`${r}=`)))return n}}}function Hr(e){return Gc(e)==="statusline"}Hr(process.argv.slice(2))?Rr():await import("./sidekick-main.mjs");
19
+ `:""),{kept:a.length,pruned:c}}function fu(e){let t=Xi(e.runtimeProvider);return{fiveHour:{utilization:e.fiveHour.utilization,resetsAt:e.fiveHour.resetsAt},sevenDay:{utilization:e.sevenDay.utilization,resetsAt:e.sevenDay.resetsAt},available:e.available,error:e.error,providerId:t,source:e.source??"session",capturedAt:e.timestamp,stale:e.stale}}function Xi(e){return e==="claude"?"claude-code":e==="zai"?"zai":"codex"}async function hu(e,t,n){let r=pt.get(t);if(r===void 0){let a=uu(t);a!==null&&(r=a,pt.set(t,a))}let i=Date.parse(e.timestamp);if(r!==void 0&&Number.isFinite(i)&&i-r<n.minIntervalMs)return;su(e.workspaceId);let o=JSON.stringify(e)+`
20
+ `;lu(t,()=>{re.appendFileSync(t,o,{encoding:"utf8",mode:384});try{re.statSync(t).size>=cu&&Yi(t,n.retentionDays)}catch{}}),pt.set(t,Number.isFinite(i)?i:Date.now());try{let a=Xi(e.runtimeProvider);(0,iu.writeQuotaSnapshot)(a,e.providerId,fu(e))}catch{}}async function pu(e,t={}){let n={minIntervalMs:t.minIntervalMs??ou,retentionDays:t.retentionDays??Pn},r=In(e.workspaceId,e.runtimeProvider),o=(Ue.get(r)??Promise.resolve()).then(()=>hu(e,r,n)).catch(()=>{});Ue.set(r,o);try{await o}finally{Ue.get(r)===o&&Ue.delete(r)}}function Zi(){let e=Date.now();return{fromMs:e-Pn*Ji,toMs:e}}async function eo(e){let t=In(e.workspaceId,e.provider),n;try{n=await re.promises.readFile(t,"utf8")}catch(s){if(s?.code==="ENOENT")return[];throw s}let{fromMs:r,toMs:i}=Zi(),o=e.from?Date.parse(e.from):r,a=e.to?Date.parse(e.to):i,c=[];for(let s of n.split(`
21
+ `)){let u=mt(s);if(!u)continue;let d=Date.parse(u.timestamp);Number.isFinite(d)&&(d<o||d>a||c.push(u))}return c.sort((s,u)=>Date.parse(s.timestamp)-Date.parse(u.timestamp)),c}function Cn(e){return(0,Qi.formatLocalDateKey)(e)}async function mu(e){let t=await eo(e),{fromMs:n,toMs:r}=Zi(),i=e.from?Date.parse(e.from):n,o=e.to?Date.parse(e.to):r,a=Cn(i),c=Cn(o),s=new Map;for(let p of t){let A=Date.parse(p.timestamp);if(!Number.isFinite(A))continue;let v=Cn(A),w=s.get(v);w?w.push(p):s.set(v,[p])}let u=[],d=a;for(let p=0;p<=366&&d<=c;p+=1){let A=s.get(d);if(!A||A.length===0)u.push({date:d,samples:0,maxUtilizationFiveHour:0,maxUtilizationSevenDay:0,avgUtilizationFiveHour:0,avgUtilizationSevenDay:0,anyUnavailable:!1});else{let v=0,w=0,L=0,ee=0,x=!1;for(let K of A)v=Math.max(v,K.fiveHour.utilization),w=Math.max(w,K.sevenDay.utilization),L+=K.fiveHour.utilization,ee+=K.sevenDay.utilization,K.available||(x=!0);let T=A.length;u.push({date:d,samples:T,maxUtilizationFiveHour:v,maxUtilizationSevenDay:w,avgUtilizationFiveHour:Math.round(L/T*100)/100,avgUtilizationSevenDay:Math.round(ee/T*100)/100,anyUnavailable:x})}d=(0,Qi.addLocalDays)(d,1)}return u}async function yu(e,t,n=Pn){let r=In(e,t);return Yi(r,n)}function gu(){Ue.clear(),pt.clear()}});var Dn=C(qe=>{"use strict";Object.defineProperty(qe,"__esModule",{value:!0});qe.BurnRateCalculator=void 0;qe.estimateTimeToQuota=no;var xn=class{events=[];windowMs;constructor(t=5){this.windowMs=t*6e4}addEvent(t,n=new Date){this.events.push({tokens:t,timestamp:n}),this.pruneOldEvents(n)}calculateBurnRate(t=new Date){if(this.pruneOldEvents(t),this.events.length===0)return 0;let n=this.events.reduce((i,o)=>i+o.tokens,0),r=Math.max((t.getTime()-this.events[0].timestamp.getTime())/6e4,1);return n/r}estimateTimeToQuota(t,n,r=new Date){return no(t,n,this.calculateBurnRate(r))}getEventCount(){return this.events.length}reset(){this.events=[]}pruneOldEvents(t){let n=t.getTime()-this.windowMs;this.events=this.events.filter(r=>r.timestamp.getTime()>=n)}};qe.BurnRateCalculator=xn;function no(e,t,n){if(n<=0)return null;let r=t-e;return r<=0?0:r/n}});var oo=C(gt=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.selectStatuslineAccount=io;gt.formatStatusline=vu;var ro=He(),Su=Dn();function io(e){return e.accounts.claude.present?{providerId:"claude-code",accountId:e.accounts.claude.accountId,accountLabel:e.accounts.claude.label??e.accounts.claude.email??"claude",quota:e.claudeQuota??null}:e.accounts.codex.present?{providerId:"codex",accountId:e.accounts.codex.accountId,accountLabel:e.accounts.codex.label??e.accounts.codex.email??"codex",quota:e.codexQuota??null}:null}function vu(e){let t=io(e),n=e.now??new Date,r=Au(e.live);if(!t)return En(["acct:none","quota unavailable",...r]);let i=Cu(t.accountLabel),o=t.quota;if(!o?.available)return En([`acct:${i}`,"quota unavailable",...r]);let a=yt(o.fiveHour.utilization),c=bu(o.fiveHour.resetsAt,n),s=wu(o,n),u=[`acct:${i}`,`5h ${Math.round(a)}% resets ${c}`];return s!=null&&u.push(`~${Ou(s)} left`),o.sevenDay.resetsAt&&o.sevenDay.utilization>0&&u.push(`7d ${Math.round(yt(o.sevenDay.utilization))}%`),o.freshness&&o.freshness!=="fresh"&&u.push(`(${(0,ro.formatQuotaAge)(o.ageMs)})`),En([...u,...r])}function Au(e){if(!e)return[];let t=[],n=e.contextWindow?.usedPercentage;typeof n=="number"&&t.push(`ctx ${Math.round(yt(n))}%`);let r=e.cost?.totalCostUsd;typeof r=="number"&&r>0&&t.push(`$${_u(r)}`);let i=e.promptCache?.hitRatio;return typeof i=="number"&&t.push(`cache ${Math.round(yt(i*100))}%`),t}function En(e){return e.join(" \xB7 ")}function _u(e){return e>=100?e.toFixed(0):e>=10?e.toFixed(1):e.toFixed(2)}function wu(e,t){let n=Date.parse(e.fiveHour.resetsAt);if(!Number.isFinite(n))return null;let r=t.getTime();if(n<=r)return null;let i=e.capturedAt?Date.parse(e.capturedAt):t.getTime(),o=Number.isFinite(i)?i:t.getTime();if(o>=n)return null;let a=(o-(n-ro.FIVE_HOUR_WINDOW_MS))/6e4;if(a<=0||e.fiveHour.utilization<=0)return null;let c=e.fiveHour.utilization/a,s=(0,Su.estimateTimeToQuota)(e.fiveHour.utilization,100,c),u=(n-r)/6e4;return s!==null&&s<u?s:null}function Cu(e){let t=e.trim();return(t.includes("@")?t.split("@")[0]:t).replace(/\s+/g,"-").slice(0,24)||"unknown"}function yt(e){return Number.isFinite(e)?Math.min(100,Math.max(0,e)):0}function bu(e,t){let n=new Date(e),r=Number.isNaN(n.getTime())?t:n;return new Intl.DateTimeFormat(void 0,{hour:"2-digit",minute:"2-digit",hour12:!1}).format(r)}function Ou(e){let t=Math.max(0,Math.round(e));if(t<60)return`${t}min`;let n=Math.floor(t/60),r=t%60;return r?`${n}h${r}m`:`${n}h`}});var so=C(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.parseClaudeStatuslinePayload=Pu;St.quotaFromStatuslinePayload=Iu;function ue(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function J(e){return typeof e=="number"&&Number.isFinite(e)?e:void 0}function jn(e){return e===null?null:J(e)}function se(e){return typeof e=="string"&&e.length>0?e:void 0}function co(e){return typeof e=="boolean"?e:void 0}function Mn(e){if(!ue(e))return;let t=J(e.used_percentage),n=J(e.resets_at);if(!(t===void 0||n===void 0))return{usedPercentage:t,resetsAt:n}}function Ie(e){return Object.values(e).some(t=>t!==void 0)?e:void 0}function Pu(e){if(typeof e!="string"||!e.trim())return null;let t;try{t=JSON.parse(e)}catch{return null}if(!ue(t))return null;let n=ue(t.model)?t.model:void 0,r=ue(t.workspace)?t.workspace:void 0,i=ue(t.context_window)?t.context_window:void 0,o=ue(t.cost)?t.cost:void 0,a=ue(t.rate_limits)?t.rate_limits:void 0,c=ue(t.prompt_cache)?t.prompt_cache:void 0;return{sessionId:se(t.session_id),transcriptPath:se(t.transcript_path),cwd:se(t.cwd),model:n?Ie({id:se(n.id),displayName:se(n.display_name)}):void 0,workspace:r?Ie({currentDir:se(r.current_dir),projectDir:se(r.project_dir),gitWorktree:se(r.git_worktree)}):void 0,contextWindow:i?Ie({usedPercentage:jn(i.used_percentage),remainingPercentage:jn(i.remaining_percentage),contextWindowSize:J(i.context_window_size),totalInputTokens:J(i.total_input_tokens),totalOutputTokens:J(i.total_output_tokens)}):void 0,cost:o?Ie({totalCostUsd:J(o.total_cost_usd),totalDurationMs:J(o.total_duration_ms),totalApiDurationMs:J(o.total_api_duration_ms),totalLinesAdded:J(o.total_lines_added),totalLinesRemoved:J(o.total_lines_removed)}):void 0,rateLimits:a?Ie({fiveHour:Mn(a.five_hour),sevenDay:Mn(a.seven_day),spendLimit:Mn(a.spend_limit)}):void 0,promptCache:c?Ie({warm:co(c.warm),cachingObserved:co(c.caching_observed),hitRatio:jn(c.hit_ratio),requests:J(c.requests),misses:J(c.misses),expectedRebuilds:J(c.expected_rebuilds)}):void 0,raw:t}}function ao(e,t){return e?{utilization:Math.max(0,e.usedPercentage),resetsAt:new Date(e.resetsAt*1e3).toISOString()}:t??{utilization:0,resetsAt:""}}function Iu(e,t={}){let n=e.rateLimits;if(!n?.fiveHour&&!n?.sevenDay)return null;let r=t.now??new Date,i=t.fallback??void 0;return{fiveHour:ao(n.fiveHour,i?.fiveHour),sevenDay:ao(n.sevenDay,i?.sevenDay),available:!0,providerId:"claude-code",source:"statusline",capturedAt:r.toISOString(),stale:!1}}});var fo=C(R=>{"use strict";var xu=R&&R.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),Du=R&&R.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),Eu=R&&R.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(n){var r=[];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[r.length]=i);return r},e(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(t!=null)for(var r=e(t),i=0;i<r.length;i++)r[i]!=="default"&&xu(n,t,r[i]);return Du(n,t),n}})();Object.defineProperty(R,"__esModule",{value:!0});R.STATE_FILE_NAME=R.STATE_FILE_SCHEMA_VERSION=void 0;R.getStateFilePath=Rn;R.readStateFile=lo;R.writeStateFile=Tu;R.quotaToStateFile=Nu;R.billingBlockToStateFile=Hu;var ju=Eu(y("fs")),Mu=De(),Fu=He(),Ru=ie();R.STATE_FILE_SCHEMA_VERSION=1;R.STATE_FILE_NAME="state.json";function Rn(){return(0,Mu.getGlobalDataPath)(R.STATE_FILE_NAME)}function lo(e=Rn()){try{let t=JSON.parse(ju.readFileSync(e,"utf8"));return t&&t.schemaVersion===R.STATE_FILE_SCHEMA_VERSION?t:null}catch{return null}}function Fn(e){if(Array.isArray(e))return`[${e.map(Fn).join(",")}]`;if(e&&typeof e=="object"){let t=e;return`{${Object.keys(t).sort().filter(r=>t[r]!==void 0).map(r=>`${JSON.stringify(r)}:${Fn(t[r])}`).join(",")}}`}return JSON.stringify(e)??"null"}function uo(e){return Fn({...e,schemaVersion:void 0,writtenAt:void 0})}function Tu(e,t={}){let n=t.filePath??Rn();try{let r=lo(n);if(r&&uo(r)===uo(e))return!1;let i={schemaVersion:R.STATE_FILE_SCHEMA_VERSION,writtenAt:(t.now??new Date).toISOString(),...e};return(0,Ru.atomicWriteJsonSync)(n,i),!0}catch{return!1}}function Nu(e,t=Date.now()){if(!e||!e.available)return null;let n=typeof e.ageMs=="number"?e.ageMs:null,r=e.freshness??null;if(n===null&&e.capturedAt){let i=Date.parse(e.capturedAt);Number.isFinite(i)&&(n=Math.max(0,t-i),r??=(0,Fu.classifyQuotaFreshness)(n))}return{fiveHour:{utilization:e.fiveHour.utilization,resetsAt:e.fiveHour.resetsAt},sevenDay:{utilization:e.sevenDay.utilization,resetsAt:e.sevenDay.resetsAt},source:e.source??null,capturedSource:e.capturedSource??null,capturedAt:e.capturedAt??null,ageMs:n,freshness:r}}function Hu(e){return e?{start:e.start,end:e.end,isActive:e.isActive,tokens:e.tokens.total,costUsd:e.costUsd,costProvenance:e.costProvenance,burnRatePerMinute:e.burnRatePerMinute,projectedTokens:e.projectedTokens,projectedCostUsd:e.projectedCostUsd,remainingMs:e.remainingMs}:null}});var vo=C(m=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0});m.writeStateFile=m.readStateFile=m.quotaToStateFile=m.getStateFilePath=m.billingBlockToStateFile=m.STATE_FILE_SCHEMA_VERSION=m.STATE_FILE_NAME=m.quotaFromStatuslinePayload=m.parseClaudeStatuslinePayload=m.selectStatuslineAccount=m.formatStatusline=m.estimateTimeToQuota=m.BurnRateCalculator=m.formatQuotaAge=m.classifyQuotaFreshness=m.getWorkspaceIdFromPath=m.appendQuotaHistorySample=m.writeQuotaSnapshot=m.readQuotaSnapshot=m.getActiveAccountStatus=void 0;var Lu=Bi();Object.defineProperty(m,"getActiveAccountStatus",{enumerable:!0,get:function(){return Lu.getActiveAccountStatus}});var ho=st();Object.defineProperty(m,"readQuotaSnapshot",{enumerable:!0,get:function(){return ho.readQuotaSnapshot}});Object.defineProperty(m,"writeQuotaSnapshot",{enumerable:!0,get:function(){return ho.writeQuotaSnapshot}});var po=to();Object.defineProperty(m,"appendQuotaHistorySample",{enumerable:!0,get:function(){return po.appendQuotaHistorySample}});Object.defineProperty(m,"getWorkspaceIdFromPath",{enumerable:!0,get:function(){return po.getWorkspaceIdFromPath}});var mo=He();Object.defineProperty(m,"classifyQuotaFreshness",{enumerable:!0,get:function(){return mo.classifyQuotaFreshness}});Object.defineProperty(m,"formatQuotaAge",{enumerable:!0,get:function(){return mo.formatQuotaAge}});var yo=Dn();Object.defineProperty(m,"BurnRateCalculator",{enumerable:!0,get:function(){return yo.BurnRateCalculator}});Object.defineProperty(m,"estimateTimeToQuota",{enumerable:!0,get:function(){return yo.estimateTimeToQuota}});var go=oo();Object.defineProperty(m,"formatStatusline",{enumerable:!0,get:function(){return go.formatStatusline}});Object.defineProperty(m,"selectStatuslineAccount",{enumerable:!0,get:function(){return go.selectStatuslineAccount}});var So=so();Object.defineProperty(m,"parseClaudeStatuslinePayload",{enumerable:!0,get:function(){return So.parseClaudeStatuslinePayload}});Object.defineProperty(m,"quotaFromStatuslinePayload",{enumerable:!0,get:function(){return So.quotaFromStatuslinePayload}});var ye=fo();Object.defineProperty(m,"STATE_FILE_NAME",{enumerable:!0,get:function(){return ye.STATE_FILE_NAME}});Object.defineProperty(m,"STATE_FILE_SCHEMA_VERSION",{enumerable:!0,get:function(){return ye.STATE_FILE_SCHEMA_VERSION}});Object.defineProperty(m,"billingBlockToStateFile",{enumerable:!0,get:function(){return ye.billingBlockToStateFile}});Object.defineProperty(m,"getStateFilePath",{enumerable:!0,get:function(){return ye.getStateFilePath}});Object.defineProperty(m,"quotaToStateFile",{enumerable:!0,get:function(){return ye.quotaToStateFile}});Object.defineProperty(m,"readStateFile",{enumerable:!0,get:function(){return ye.readStateFile}});Object.defineProperty(m,"writeStateFile",{enumerable:!0,get:function(){return ye.writeStateFile}})});var M=Eo(vo(),1);import*as vt from"fs";function $u(e=process.env){if(e.SIDEKICK_STATUSLINE_STDIN==="0")return null;try{if(process.stdin.isTTY)return null;let t=vt.fstatSync(0);return t.isFIFO()||t.isFile()||t.isSocket()?(0,M.parseClaudeStatuslinePayload)(vt.readFileSync(0,"utf8")):null}catch{return null}}function ku(e,t){return e?e.fiveHour.utilization===t.fiveHour.utilization&&e.fiveHour.resetsAt===t.fiveHour.resetsAt&&e.sevenDay.utilization===t.sevenDay.utilization&&e.sevenDay.resetsAt===t.sevenDay.resetsAt:!1}async function Uu(e,t,n,r){if(!ku(n,t)){try{(0,M.writeQuotaSnapshot)("claude-code",e,t)}catch{}try{let i=r.workspace?.currentDir??r.cwd??process.cwd();await(0,M.appendQuotaHistorySample)({timestamp:t.capturedAt??new Date().toISOString(),runtimeProvider:"claude",providerId:e,workspaceId:(0,M.getWorkspaceIdFromPath)(i),fiveHour:t.fiveHour,sevenDay:t.sevenDay,available:!0,source:"statusline",stale:!1})}catch{}}}function qu(e,t,n,r){let i=e.claude.present?{providerId:"claude-code",id:e.claude.accountId??null,label:e.claude.label??null}:e.codex.present?{providerId:"codex",id:e.codex.accountId??null,label:e.codex.label??null}:null,o=r?.contextWindow?{usedPercentage:r.contextWindow.usedPercentage??null,contextWindowSize:r.contextWindow.contextWindowSize??null,totalInputTokens:r.contextWindow.totalInputTokens??null,totalOutputTokens:r.contextWindow.totalOutputTokens??null}:null,a=r?{sessionId:r.sessionId??null,cwd:r.workspace?.currentDir??r.cwd??null,model:r.model?.id??null,costUsd:r.cost?.totalCostUsd??null,durationMs:r.cost?.totalDurationMs??null,linesAdded:r.cost?.totalLinesAdded??null,linesRemoved:r.cost?.totalLinesRemoved??null,promptCacheHitRatio:r.promptCache?.hitRatio??null}:null;return{writer:"statusline",account:i,quota:{claude:(0,M.quotaToStateFile)(t),codex:(0,M.quotaToStateFile)(n)},context:o,session:a,billingBlock:null}}async function Ao(){let e=$u(),t=(0,M.getActiveAccountStatus)(void 0,{selfHeal:!1}),n=t.claude.accountId,r=n?(0,M.readQuotaSnapshot)("claude-code",n):null,i=r,o=t.codex.accountId?(0,M.readQuotaSnapshot)("codex",t.codex.accountId):null,a=null;if(e){let c=(0,M.quotaFromStatuslinePayload)(e,{fallback:r});c&&(i=c,n&&(a=Uu(n,c,r,e)))}process.stdout.write(`${(0,M.formatStatusline)({accounts:t,claudeQuota:i,codexQuota:o,live:e})}
22
+ `),(0,M.writeStateFile)(qu(t,i,o,e)),a&&await a}var _o=["--project","--provider","--output-file"],Bu=["--json","--no-color","--offline"];function Wu(e){for(let t=0;t<e.length;t++){let n=e[t];if(!Bu.includes(n)){if(_o.includes(n)){t++;continue}if(!_o.some(r=>n.startsWith(`${r}=`)))return n}}}function wo(e){return Wu(e)==="statusline"}wo(process.argv.slice(2))?Ao():await import("./sidekick-main.mjs");