mirror of
https://github.com/tiennm99/ccs.git
synced 2026-07-16 20:17:45 +00:00
refactor(websearch): unify CLI status types with ComponentStatus
- replace GeminiCliStatus, GrokCliStatus, OpenCodeCliStatus with type aliases - use ComponentStatus from types/utils as single source of truth - fix null vs undefined for optional fields
This commit is contained in:
@@ -31,8 +31,8 @@ export function getGeminiCliStatus(): GeminiCliStatus {
|
||||
|
||||
const result: GeminiCliStatus = {
|
||||
installed: false,
|
||||
path: null,
|
||||
version: null,
|
||||
path: undefined,
|
||||
version: undefined,
|
||||
};
|
||||
|
||||
try {
|
||||
|
||||
@@ -28,8 +28,8 @@ export function getGrokCliStatus(): GrokCliStatus {
|
||||
|
||||
const result: GrokCliStatus = {
|
||||
installed: false,
|
||||
path: null,
|
||||
version: null,
|
||||
path: undefined,
|
||||
version: undefined,
|
||||
};
|
||||
|
||||
try {
|
||||
|
||||
@@ -28,8 +28,8 @@ export function getOpenCodeCliStatus(): OpenCodeCliStatus {
|
||||
|
||||
const result: OpenCodeCliStatus = {
|
||||
installed: false,
|
||||
path: null,
|
||||
version: null,
|
||||
path: undefined,
|
||||
version: undefined,
|
||||
};
|
||||
|
||||
try {
|
||||
|
||||
@@ -27,7 +27,7 @@ export function getWebSearchCliProviders(): WebSearchCliInfo[] {
|
||||
name: 'Gemini CLI',
|
||||
command: 'gemini',
|
||||
installed: geminiStatus.installed,
|
||||
version: geminiStatus.version,
|
||||
version: geminiStatus.version ?? null,
|
||||
installCommand: 'npm install -g @google/gemini-cli',
|
||||
docsUrl: 'https://github.com/google-gemini/gemini-cli',
|
||||
requiresApiKey: false,
|
||||
@@ -39,7 +39,7 @@ export function getWebSearchCliProviders(): WebSearchCliInfo[] {
|
||||
name: 'OpenCode',
|
||||
command: 'opencode',
|
||||
installed: opencodeStatus.installed,
|
||||
version: opencodeStatus.version,
|
||||
version: opencodeStatus.version ?? null,
|
||||
installCommand: 'curl -fsSL https://opencode.ai/install | bash',
|
||||
docsUrl: 'https://github.com/sst/opencode',
|
||||
requiresApiKey: false,
|
||||
@@ -51,7 +51,7 @@ export function getWebSearchCliProviders(): WebSearchCliInfo[] {
|
||||
name: 'Grok CLI',
|
||||
command: 'grok',
|
||||
installed: grokStatus.installed,
|
||||
version: grokStatus.version,
|
||||
version: grokStatus.version ?? null,
|
||||
installCommand: 'npm install -g @vibe-kit/grok-cli',
|
||||
docsUrl: 'https://github.com/superagent-ai/grok-cli',
|
||||
requiresApiKey: true,
|
||||
|
||||
@@ -6,32 +6,25 @@
|
||||
* @module utils/websearch/types
|
||||
*/
|
||||
|
||||
import type { ComponentStatus } from '../../types/utils';
|
||||
|
||||
/**
|
||||
* Gemini CLI installation status
|
||||
* @deprecated Use ComponentStatus directly
|
||||
*/
|
||||
export interface GeminiCliStatus {
|
||||
installed: boolean;
|
||||
path: string | null;
|
||||
version: string | null;
|
||||
}
|
||||
export type GeminiCliStatus = ComponentStatus;
|
||||
|
||||
/**
|
||||
* Grok CLI installation status
|
||||
* @deprecated Use ComponentStatus directly
|
||||
*/
|
||||
export interface GrokCliStatus {
|
||||
installed: boolean;
|
||||
path: string | null;
|
||||
version: string | null;
|
||||
}
|
||||
export type GrokCliStatus = ComponentStatus;
|
||||
|
||||
/**
|
||||
* OpenCode CLI installation status
|
||||
* @deprecated Use ComponentStatus directly
|
||||
*/
|
||||
export interface OpenCodeCliStatus {
|
||||
installed: boolean;
|
||||
path: string | null;
|
||||
version: string | null;
|
||||
}
|
||||
export type OpenCodeCliStatus = ComponentStatus;
|
||||
|
||||
/**
|
||||
* WebSearch availability status for third-party profiles
|
||||
|
||||
Reference in New Issue
Block a user