From cb25bc41492733c9c014b68e2b571164be1fdc8a Mon Sep 17 00:00:00 2001 From: qcq01083097 Date: Tue, 16 Jun 2026 15:11:10 +0800 Subject: [PATCH] feat: When console login is not performed, throw more explicit errors and prompts --- packages/cli/src/error-handler.ts | 5 ++++- packages/core/src/console/gateway.ts | 15 ++++++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/packages/cli/src/error-handler.ts b/packages/cli/src/error-handler.ts index ea1789c..7a96be1 100644 --- a/packages/cli/src/error-handler.ts +++ b/packages/cli/src/error-handler.ts @@ -22,7 +22,10 @@ function alignContinuation(text: string): string { function enhanceHint(err: BailianError): string | undefined { if (err.exitCode === ExitCode.AUTH) { - if (err.message === CONSOLE_GATEWAY_NO_TOKEN_MESSAGE) { + if ( + err.message === CONSOLE_GATEWAY_NO_TOKEN_MESSAGE || + err.hint?.includes("auth login --console") + ) { return err.hint; } return [ diff --git a/packages/core/src/console/gateway.ts b/packages/core/src/console/gateway.ts index a698d12..90d428d 100644 --- a/packages/core/src/console/gateway.ts +++ b/packages/core/src/console/gateway.ts @@ -78,10 +78,19 @@ export async function callConsoleGateway( const innerData = json.data as Record | undefined; if (innerData?.success === false && innerData.errorCode) { + const errorCode = String(innerData.errorCode); + const notLogined = errorCode.includes("NotLogined"); + const errorMsg = typeof innerData.errorMsg === "string" ? innerData.errorMsg : undefined; throw new BailianError( - `Console gateway error: ${innerData.errorCode}`, - ExitCode.GENERAL, - typeof innerData.errorMsg === "string" ? innerData.errorMsg : undefined, + notLogined + ? "Console session is not logged in or has expired." + : `Console gateway error: ${errorCode}`, + notLogined ? ExitCode.AUTH : ExitCode.GENERAL, + notLogined + ? "Run `bl auth login --console` to sign in or refresh your console session." + : errorMsg && errorMsg !== errorCode + ? errorMsg + : undefined, ); }