Browse Source

fix(cli): default console login url (#28474)

Dax 2 months ago
parent
commit
9324ef0d08

+ 4 - 3
packages/opencode/src/cli/cmd/account.ts

@@ -15,6 +15,8 @@ const dim = (value: string) => UI.Style.TEXT_DIM + value + UI.Style.TEXT_NORMAL
 
 const activeSuffix = (isActive: boolean) => (isActive ? dim(" (active)") : "")
 
+export const defaultConsoleUrl = "https://console.opencode.ai"
+
 export const formatAccountLabel = (account: { email: string; url: string }, isActive: boolean) =>
   `${account.email} ${dim(account.url)}${activeSuffix(isActive)}`
 
@@ -173,18 +175,17 @@ const openEffect = Effect.fn("open")(function* () {
 })
 
 export const LoginCommand = effectCmd({
-  command: "login <url>",
+  command: "login [url]",
   describe: false,
   instance: false,
   builder: (yargs) =>
     yargs.positional("url", {
       describe: "server URL",
       type: "string",
-      demandOption: true,
     }),
   handler: Effect.fn("Cli.account.login")(function* (args) {
     UI.empty()
-    yield* Effect.orDie(loginEffect(args.url))
+    yield* Effect.orDie(loginEffect(args.url ?? defaultConsoleUrl))
   }),
 })
 

+ 5 - 1
packages/opencode/test/cli/account.test.ts

@@ -1,9 +1,13 @@
 import { describe, expect, test } from "bun:test"
 import stripAnsi from "strip-ansi"
 
-import { formatAccountLabel, formatOrgLine } from "../../src/cli/cmd/account"
+import { defaultConsoleUrl, formatAccountLabel, formatOrgLine } from "../../src/cli/cmd/account"
 
 describe("console account display", () => {
+  test("uses console.opencode.ai as the default login URL", () => {
+    expect(defaultConsoleUrl).toBe("https://console.opencode.ai")
+  })
+
   test("includes the account url in account labels", () => {
     expect(stripAnsi(formatAccountLabel({ email: "one@example.com", url: "https://one.example.com" }, false))).toBe(
       "one@example.com https://one.example.com",