Add source profiles anthropic:claude-cli and openai-codex:codex-cli; surface them in onboarding/configure. Co-authored-by: pepicrft <pepicrft@users.noreply.github.com>
50 lines
1.4 KiB
TypeScript
50 lines
1.4 KiB
TypeScript
import type { AuthProfileStore } from "../agents/auth-profiles.js";
|
|
import {
|
|
CLAUDE_CLI_PROFILE_ID,
|
|
CODEX_CLI_PROFILE_ID,
|
|
} from "../agents/auth-profiles.js";
|
|
import type { AuthChoice } from "./onboard-types.js";
|
|
|
|
export type AuthChoiceOption = { value: AuthChoice; label: string };
|
|
|
|
export function buildAuthChoiceOptions(params: {
|
|
store: AuthProfileStore;
|
|
includeSkip: boolean;
|
|
}): AuthChoiceOption[] {
|
|
const options: AuthChoiceOption[] = [];
|
|
|
|
const claudeCli = params.store.profiles[CLAUDE_CLI_PROFILE_ID];
|
|
if (claudeCli?.type === "oauth") {
|
|
options.push({
|
|
value: "claude-cli",
|
|
label: "Anthropic OAuth (Claude CLI)",
|
|
});
|
|
}
|
|
|
|
options.push({ value: "oauth", label: "Anthropic OAuth (Claude Pro/Max)" });
|
|
|
|
const codexCli = params.store.profiles[CODEX_CLI_PROFILE_ID];
|
|
if (codexCli?.type === "oauth") {
|
|
options.push({
|
|
value: "codex-cli",
|
|
label: "OpenAI Codex OAuth (Codex CLI)",
|
|
});
|
|
}
|
|
|
|
options.push({
|
|
value: "openai-codex",
|
|
label: "OpenAI Codex (ChatGPT OAuth)",
|
|
});
|
|
options.push({
|
|
value: "antigravity",
|
|
label: "Google Antigravity (Claude Opus 4.5, Gemini 3, etc.)",
|
|
});
|
|
options.push({ value: "apiKey", label: "Anthropic API key" });
|
|
options.push({ value: "minimax", label: "Minimax M2.1 (LM Studio)" });
|
|
if (params.includeSkip) {
|
|
options.push({ value: "skip", label: "Skip for now" });
|
|
}
|
|
|
|
return options;
|
|
}
|