From c0773dc7c53cf15e9c8d63b4e49aa7527c9a1328 Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Fri, 27 Jun 2025 16:09:33 -0400 Subject: [PATCH] smooth out initial onboarding flow --- packages/opencode/src/cli/cmd/tui.ts | 13 ++++++++----- packages/opencode/src/index.ts | 9 +++++---- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/packages/opencode/src/cli/cmd/tui.ts b/packages/opencode/src/cli/cmd/tui.ts index b66aca6b..87f6f982 100644 --- a/packages/opencode/src/cli/cmd/tui.ts +++ b/packages/opencode/src/cli/cmd/tui.ts @@ -9,7 +9,6 @@ import fs from "fs/promises" import { Installation } from "../../installation" import { Config } from "../../config/config" import { Bus } from "../../bus" -import { AuthLoginCommand } from "./auth" export const TuiCommand = cmd({ command: "$0 [project]", @@ -100,11 +99,15 @@ export const TuiCommand = cmd({ if (result === "needs_provider") { UI.empty() UI.println(UI.logo(" ")) + const result = await Bun.spawn({ + cmd: [process.execPath, "auth", "login"], + cwd: process.cwd(), + stdout: "inherit", + stderr: "inherit", + stdin: "inherit", + }).exited + if (result !== 0) return UI.empty() - await AuthLoginCommand.handler(args) - UI.empty() - UI.println("Provider configured - please run again") - return } } }, diff --git a/packages/opencode/src/index.ts b/packages/opencode/src/index.ts index fca13655..8a684ae9 100644 --- a/packages/opencode/src/index.ts +++ b/packages/opencode/src/index.ts @@ -74,15 +74,15 @@ try { ...obj.data, }) } - + if (e instanceof Error) { Object.assign(data, { name: e.name, message: e.message, cause: e.cause?.toString(), }) - } - + } + if (e instanceof ResolveMessage) { Object.assign(data, { name: e.name, @@ -92,7 +92,7 @@ try { referrer: e.referrer, position: e.position, importKind: e.importKind, - }); + }) } Log.Default.error("fatal", data) const formatted = FormatError(e) @@ -101,6 +101,7 @@ try { UI.error( "Unexpected error, check log file at " + Log.file() + " for more details", ) + process.exitCode = 1 } cancel.abort()