feat: add CLI config preview API for Codex and Gemini

- Implemented `fetchCodexConfigPreview` and `fetchGeminiConfigPreview` functions in the API layer to retrieve masked configuration files.
- Added new interfaces `CodexConfigPreviewResponse` and `GeminiConfigPreviewResponse` to define the structure of the API responses.
- Created utility functions to read and mask sensitive values from `config.toml` and `auth.json` for Codex, and `settings.json` for Gemini.
- Updated CLI settings routes to handle new preview endpoints.
- Enhanced session content parser to support Claude JSONL format.
- Updated UI components to reflect changes in history page and navigation, including new tabs for observability.
- Localized changes for English and Chinese languages to reflect "CLI History" terminology.
This commit is contained in:
catlog22
2026-02-25 22:37:30 +08:00
parent c92754505a
commit b4d3426e6a
15 changed files with 1137 additions and 163 deletions

View File

@@ -1,9 +1,10 @@
/**
* Session Content Parser - Parses native CLI tool session files
* Supports Gemini/Qwen JSON and Codex JSONL formats
* Supports Gemini/Qwen JSON, Codex JSONL, and Claude JSONL formats
*/
import { readFileSync, existsSync } from 'fs';
import { parseClaudeSession } from './claude-session-parser.js';
// Standardized conversation turn
export interface ParsedTurn {
@@ -197,6 +198,8 @@ export function parseSessionFile(filePath: string, tool: string): ParsedSession
return parseGeminiQwenSession(content, tool);
case 'codex':
return parseCodexSession(content);
case 'claude':
return parseClaudeSession(filePath);
default:
return null;
}