feature/codex-cli

This commit is contained in:
DhanushSantosh
2026-01-06 04:52:25 +05:30
parent 4d4025ca06
commit a57dcc170d
54 changed files with 5562 additions and 91 deletions

View File

@@ -34,6 +34,37 @@ export interface CursorCliStatus {
error?: string;
}
// Codex CLI Status
export interface CodexCliStatus {
installed: boolean;
version?: string | null;
path?: string | null;
auth?: {
authenticated: boolean;
method: string;
};
installCommand?: string;
loginCommand?: string;
error?: string;
}
// Codex Auth Method
export type CodexAuthMethod =
| 'api_key_env' // OPENAI_API_KEY environment variable
| 'api_key' // Manually stored API key
| 'cli_authenticated' // Codex CLI is installed and authenticated
| 'none';
// Codex Auth Status
export interface CodexAuthStatus {
authenticated: boolean;
method: CodexAuthMethod;
hasAuthFile?: boolean;
hasApiKey?: boolean;
hasEnvApiKey?: boolean;
error?: string;
}
// Claude Auth Method - all possible authentication sources
export type ClaudeAuthMethod =
| 'oauth_token_env'
@@ -71,6 +102,7 @@ export type SetupStep =
| 'claude_detect'
| 'claude_auth'
| 'cursor'
| 'codex'
| 'github'
| 'complete';
@@ -91,6 +123,11 @@ export interface SetupState {
// Cursor CLI state
cursorCliStatus: CursorCliStatus | null;
// Codex CLI state
codexCliStatus: CodexCliStatus | null;
codexAuthStatus: CodexAuthStatus | null;
codexInstallProgress: InstallProgress;
// Setup preferences
skipClaudeSetup: boolean;
}
@@ -115,6 +152,12 @@ export interface SetupActions {
// Cursor CLI
setCursorCliStatus: (status: CursorCliStatus | null) => void;
// Codex CLI
setCodexCliStatus: (status: CodexCliStatus | null) => void;
setCodexAuthStatus: (status: CodexAuthStatus | null) => void;
setCodexInstallProgress: (progress: Partial<InstallProgress>) => void;
resetCodexInstallProgress: () => void;
// Preferences
setSkipClaudeSetup: (skip: boolean) => void;
}
@@ -141,6 +184,10 @@ const initialState: SetupState = {
ghCliStatus: null,
cursorCliStatus: null,
codexCliStatus: null,
codexAuthStatus: null,
codexInstallProgress: { ...initialInstallProgress },
skipClaudeSetup: shouldSkipSetup,
};
@@ -192,6 +239,24 @@ export const useSetupStore = create<SetupState & SetupActions>()(
// Cursor CLI
setCursorCliStatus: (status) => set({ cursorCliStatus: status }),
// Codex CLI
setCodexCliStatus: (status) => set({ codexCliStatus: status }),
setCodexAuthStatus: (status) => set({ codexAuthStatus: status }),
setCodexInstallProgress: (progress) =>
set({
codexInstallProgress: {
...get().codexInstallProgress,
...progress,
},
}),
resetCodexInstallProgress: () =>
set({
codexInstallProgress: { ...initialInstallProgress },
}),
// Preferences
setSkipClaudeSetup: (skip) => set({ skipClaudeSetup: skip }),
}),