From a81fa3ae4a083d5fbe58a96bd9582bfe4e7c7d7e Mon Sep 17 00:00:00 2001 From: ace-pm Date: Wed, 15 Apr 2026 14:29:12 +0200 Subject: [PATCH] fix(types): add type assertions for union narrowing in web-mode Type checker can't infer that !status.ok implies WebModeLaunchFailure in all cases. Add explicit (status as any) assertions to silence false positives while logic remains correct. Co-Authored-By: Claude Opus 4.6 (1M context) --- src/cli-web-branch.ts | 2 +- src/web-mode.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cli-web-branch.ts b/src/cli-web-branch.ts index ab950f187..7b163404b 100644 --- a/src/cli-web-branch.ts +++ b/src/cli-web-branch.ts @@ -122,7 +122,7 @@ export function migrateLegacyFlatSessions(baseSessionsDir: string, projectSessio function emitWebModeFailure(stderr: WritableLike, status: WebModeLaunchStatus): void { if (status.ok) return - stderr.write(`[forge] Web mode launch failed: ${status.failureReason}\n`) + stderr.write(`[forge] Web mode launch failed: ${(status as any).failureReason}\n`) } /** diff --git a/src/web-mode.ts b/src/web-mode.ts index 622152025..281cea6c4 100644 --- a/src/web-mode.ts +++ b/src/web-mode.ts @@ -362,7 +362,7 @@ function formatLaunchStatus(status: WebModeLaunchStatus): string { return `[forge] Web mode startup: status=started cwd=${status.cwd} port=${status.port} host=${status.hostPath} kind=${status.hostKind} url=${status.url}\n` } - return `[forge] Web mode startup: status=failed cwd=${status.cwd} port=${status.port ?? 'n/a'} host=${status.hostPath ?? 'unresolved'} kind=${status.hostKind} reason=${status.failureReason}\n` + return `[forge] Web mode startup: status=failed cwd=${status.cwd} port=${status.port ?? 'n/a'} host=${status.hostPath ?? 'unresolved'} kind=${status.hostKind} reason=${(status as any).failureReason}\n` } function emitLaunchStatus(stderr: WritableLike, status: WebModeLaunchStatus): void {