/** * 客户端定义配置 * 定义所有支持的客户端类型和它们的属性 */ const CLIENT_DEFINITIONS = { CLAUDE_CODE: { id: 'claude_code', name: 'Claude Code', displayName: 'Claude Code CLI', description: 'Claude Code command-line interface', icon: '🤖' }, GEMINI_CLI: { id: 'gemini_cli', name: 'Gemini CLI', displayName: 'Gemini Command Line Tool', description: 'Google Gemini API command-line interface', icon: '💎' }, CODEX_CLI: { id: 'codex_cli', name: 'Codex CLI', displayName: 'Codex Command Line Tool', description: 'Cursor/Codex command-line interface', icon: '🔷' }, DROID_CLI: { id: 'droid_cli', name: 'Droid CLI', displayName: 'Factory Droid CLI', description: 'Factory Droid platform command-line interface', icon: '🤖' } } // 导出客户端ID枚举 const CLIENT_IDS = { CLAUDE_CODE: 'claude_code', GEMINI_CLI: 'gemini_cli', CODEX_CLI: 'codex_cli', DROID_CLI: 'droid_cli' } // 获取所有客户端定义 function getAllClientDefinitions() { return Object.values(CLIENT_DEFINITIONS) } // 根据ID获取客户端定义 function getClientDefinitionById(clientId) { return Object.values(CLIENT_DEFINITIONS).find((client) => client.id === clientId) } // 检查客户端ID是否有效 function isValidClientId(clientId) { return Object.values(CLIENT_IDS).includes(clientId) } module.exports = { CLIENT_DEFINITIONS, CLIENT_IDS, getAllClientDefinitions, getClientDefinitionById, isValidClientId }