@@ -25,6 +25,7 @@ export type VercelSettingsResult = {
2525 enabled : boolean ;
2626 hasOrgIntegration : boolean ;
2727 authInvalid ?: boolean ;
28+ authError ?: string ;
2829 connectedProject ?: {
2930 id : string ;
3031 vercelProjectId : string ;
@@ -52,6 +53,7 @@ export type VercelOnboardingData = {
5253 availableProjects : VercelAvailableProject [ ] ;
5354 hasProjectSelected : boolean ;
5455 authInvalid ?: boolean ;
56+ authError ?: string ;
5557 existingVariables : Record < string , { environments : string [ ] } > ; // Environment slugs (non-archived only)
5658 gitHubAppInstallations : GitHubAppInstallation [ ] ;
5759 isGitHubConnected : boolean ;
@@ -98,6 +100,7 @@ export class VercelSettingsPresenter extends BasePresenter {
98100 enabled : true ,
99101 hasOrgIntegration : false ,
100102 authInvalid : true ,
103+ authError : orgIntegrationResult . error instanceof Error ? orgIntegrationResult . error . message : "Failed to fetch organization integration" ,
101104 connectedProject : undefined ,
102105 isGitHubConnected : false ,
103106 hasStagingEnvironment : false ,
@@ -116,6 +119,7 @@ export class VercelSettingsPresenter extends BasePresenter {
116119 enabled : true ,
117120 hasOrgIntegration : true ,
118121 authInvalid : true ,
122+ authError : tokenResult . isErr ( ) ? tokenResult . error . message : "Vercel token is invalid" ,
119123 connectedProject : undefined ,
120124 isGitHubConnected : false ,
121125 hasStagingEnvironment : false ,
@@ -382,6 +386,7 @@ export class VercelSettingsPresenter extends BasePresenter {
382386 availableProjects : [ ] ,
383387 hasProjectSelected : false ,
384388 authInvalid : true ,
389+ authError : tokenResult . isErr ( ) ? tokenResult . error . message : "Vercel token is invalid" ,
385390 existingVariables : { } ,
386391 gitHubAppInstallations,
387392 isGitHubConnected,
@@ -397,6 +402,7 @@ export class VercelSettingsPresenter extends BasePresenter {
397402 availableProjects : [ ] ,
398403 hasProjectSelected : false ,
399404 authInvalid : clientResult . error . authInvalid ,
405+ authError : clientResult . error . authInvalid ? clientResult . error . message : undefined ,
400406 existingVariables : { } ,
401407 gitHubAppInstallations,
402408 isGitHubConnected,
@@ -426,6 +432,7 @@ export class VercelSettingsPresenter extends BasePresenter {
426432 availableProjects : [ ] ,
427433 hasProjectSelected : false ,
428434 authInvalid : availableProjectsResult . error . authInvalid ,
435+ authError : availableProjectsResult . error . authInvalid ? availableProjectsResult . error . message : undefined ,
429436 existingVariables : { } ,
430437 gitHubAppInstallations,
431438 isGitHubConnected,
@@ -472,12 +479,19 @@ export class VercelSettingsPresenter extends BasePresenter {
472479 ( sharedEnvVarsResult . isErr ( ) && sharedEnvVarsResult . error . authInvalid ) ;
473480
474481 if ( authInvalid ) {
482+ const authError =
483+ ( customEnvironmentsResult . isErr ( ) && customEnvironmentsResult . error . authInvalid && customEnvironmentsResult . error . message ) ||
484+ ( projectEnvVarsResult . isErr ( ) && projectEnvVarsResult . error . authInvalid && projectEnvVarsResult . error . message ) ||
485+ ( sharedEnvVarsResult . isErr ( ) && sharedEnvVarsResult . error . authInvalid && sharedEnvVarsResult . error . message ) ||
486+ undefined ;
487+
475488 return {
476489 customEnvironments : [ ] ,
477490 environmentVariables : [ ] ,
478491 availableProjects : availableProjectsResult . value ,
479492 hasProjectSelected : true ,
480493 authInvalid : true ,
494+ authError : authError || undefined ,
481495 existingVariables : { } ,
482496 gitHubAppInstallations,
483497 isGitHubConnected,
0 commit comments