diff --git a/src/commands/auth-choice-options.test.ts b/src/commands/auth-choice-options.test.ts index 63f3c4d2a..41f04428e 100644 --- a/src/commands/auth-choice-options.test.ts +++ b/src/commands/auth-choice-options.test.ts @@ -56,4 +56,16 @@ describe("buildAuthChoiceOptions", () => { const claudeCli = options.find((opt) => opt.value === "claude-cli"); expect(claudeCli?.hint).toContain("token ok"); }); + + it("includes Z.AI (GLM) auth choice", () => { + const store: AuthProfileStore = { version: 1, profiles: {} }; + const options = buildAuthChoiceOptions({ + store, + includeSkip: false, + includeClaudeCliIfMissing: true, + platform: "darwin", + }); + + expect(options.some((opt) => opt.value === "zai-api-key")).toBe(true); + }); }); diff --git a/src/commands/auth-choice.ts b/src/commands/auth-choice.ts index 042268c2f..65f6b8451 100644 --- a/src/commands/auth-choice.ts +++ b/src/commands/auth-choice.ts @@ -825,6 +825,8 @@ export function resolvePreferredProviderForAuthChoice( return "openrouter"; case "gemini-api-key": return "google"; + case "zai-api-key": + return "zai"; case "antigravity": return "google-antigravity"; case "minimax-cloud": diff --git a/src/terminal/note.ts b/src/terminal/note.ts index 7a35cf069..91b1c42c4 100644 --- a/src/terminal/note.ts +++ b/src/terminal/note.ts @@ -1,7 +1,6 @@ import { note as clackNote } from "@clack/prompts"; import { visibleWidth } from "./ansi.js"; import { stylePromptTitle } from "./prompt-style.js"; - function splitLongWord(word: string, maxLen: number): string[] { if (maxLen <= 0) return [word]; const chars = Array.from(word);