mirror of
https://github.com/AutoMaker-Org/automaker.git
synced 2026-02-01 20:23:36 +00:00
feature/codex-cli
This commit is contained in:
@@ -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 }),
|
||||
}),
|
||||
|
||||
Reference in New Issue
Block a user