@@ -1687,7 +1687,14 @@ export async function runDoctor(
16871687 try {
16881688 const raw = await fs . readFile ( codexAuthPath , "utf-8" ) ;
16891689 const parsed = JSON . parse ( raw ) as unknown ;
1690- if ( parsed && typeof parsed === "object" ) {
1690+ if ( ! parsed || typeof parsed !== "object" || Array . isArray ( parsed ) ) {
1691+ addCheck ( {
1692+ key : "codex-auth-readable" ,
1693+ severity : "error" ,
1694+ message : "Codex auth file has invalid structure" ,
1695+ details : codexAuthPath ,
1696+ } ) ;
1697+ } else {
16911698 const payload = parsed as Record < string , unknown > ;
16921699 const tokens = payload . tokens && typeof payload . tokens === "object"
16931700 ? payload . tokens as Record < string , unknown >
@@ -1708,19 +1715,19 @@ export async function runDoctor(
17081715 emailFromFile ?? extractAccountEmail ( accessToken , idToken ) ,
17091716 ) ;
17101717 codexAuthAccountId = accountIdFromFile ?? extractAccountId ( accessToken ) ;
1718+ addCheck ( {
1719+ key : "codex-auth-readable" ,
1720+ severity : "ok" ,
1721+ message : "Codex auth file is readable" ,
1722+ details :
1723+ codexAuthEmail || codexAuthAccountId
1724+ ? formatDoctorIdentitySummary ( {
1725+ email : codexAuthEmail ,
1726+ accountId : codexAuthAccountId ,
1727+ } )
1728+ : undefined ,
1729+ } ) ;
17111730 }
1712- addCheck ( {
1713- key : "codex-auth-readable" ,
1714- severity : "ok" ,
1715- message : "Codex auth file is readable" ,
1716- details :
1717- codexAuthEmail || codexAuthAccountId
1718- ? formatDoctorIdentitySummary ( {
1719- email : codexAuthEmail ,
1720- accountId : codexAuthAccountId ,
1721- } )
1722- : undefined ,
1723- } ) ;
17241731 } catch ( error ) {
17251732 addCheck ( {
17261733 key : "codex-auth-readable" ,
0 commit comments