mirror of
https://github.com/tiennm99/ccs.git
synced 2026-09-04 10:16:34 +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 = {
|
const result: GeminiCliStatus = {
|
||||||
installed: false,
|
installed: false,
|
||||||
path: null,
|
path: undefined,
|
||||||
version: null,
|
version: undefined,
|
||||||
};
|
};
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -28,8 +28,8 @@ export function getGrokCliStatus(): GrokCliStatus {
|
|||||||
|
|
||||||
const result: GrokCliStatus = {
|
const result: GrokCliStatus = {
|
||||||
installed: false,
|
installed: false,
|
||||||
path: null,
|
path: undefined,
|
||||||
version: null,
|
version: undefined,
|
||||||
};
|
};
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -28,8 +28,8 @@ export function getOpenCodeCliStatus(): OpenCodeCliStatus {
|
|||||||
|
|
||||||
const result: OpenCodeCliStatus = {
|
const result: OpenCodeCliStatus = {
|
||||||
installed: false,
|
installed: false,
|
||||||
path: null,
|
path: undefined,
|
||||||
version: null,
|
version: undefined,
|
||||||
};
|
};
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ export function getWebSearchCliProviders(): WebSearchCliInfo[] {
|
|||||||
name: 'Gemini CLI',
|
name: 'Gemini CLI',
|
||||||
command: 'gemini',
|
command: 'gemini',
|
||||||
installed: geminiStatus.installed,
|
installed: geminiStatus.installed,
|
||||||
version: geminiStatus.version,
|
version: geminiStatus.version ?? null,
|
||||||
installCommand: 'npm install -g @google/gemini-cli',
|
installCommand: 'npm install -g @google/gemini-cli',
|
||||||
docsUrl: 'https://github.com/google-gemini/gemini-cli',
|
docsUrl: 'https://github.com/google-gemini/gemini-cli',
|
||||||
requiresApiKey: false,
|
requiresApiKey: false,
|
||||||
@@ -39,7 +39,7 @@ export function getWebSearchCliProviders(): WebSearchCliInfo[] {
|
|||||||
name: 'OpenCode',
|
name: 'OpenCode',
|
||||||
command: 'opencode',
|
command: 'opencode',
|
||||||
installed: opencodeStatus.installed,
|
installed: opencodeStatus.installed,
|
||||||
version: opencodeStatus.version,
|
version: opencodeStatus.version ?? null,
|
||||||
installCommand: 'curl -fsSL https://opencode.ai/install | bash',
|
installCommand: 'curl -fsSL https://opencode.ai/install | bash',
|
||||||
docsUrl: 'https://github.com/sst/opencode',
|
docsUrl: 'https://github.com/sst/opencode',
|
||||||
requiresApiKey: false,
|
requiresApiKey: false,
|
||||||
@@ -51,7 +51,7 @@ export function getWebSearchCliProviders(): WebSearchCliInfo[] {
|
|||||||
name: 'Grok CLI',
|
name: 'Grok CLI',
|
||||||
command: 'grok',
|
command: 'grok',
|
||||||
installed: grokStatus.installed,
|
installed: grokStatus.installed,
|
||||||
version: grokStatus.version,
|
version: grokStatus.version ?? null,
|
||||||
installCommand: 'npm install -g @vibe-kit/grok-cli',
|
installCommand: 'npm install -g @vibe-kit/grok-cli',
|
||||||
docsUrl: 'https://github.com/superagent-ai/grok-cli',
|
docsUrl: 'https://github.com/superagent-ai/grok-cli',
|
||||||
requiresApiKey: true,
|
requiresApiKey: true,
|
||||||
|
|||||||
@@ -6,32 +6,25 @@
|
|||||||
* @module utils/websearch/types
|
* @module utils/websearch/types
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import type { ComponentStatus } from '../../types/utils';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gemini CLI installation status
|
* Gemini CLI installation status
|
||||||
|
* @deprecated Use ComponentStatus directly
|
||||||
*/
|
*/
|
||||||
export interface GeminiCliStatus {
|
export type GeminiCliStatus = ComponentStatus;
|
||||||
installed: boolean;
|
|
||||||
path: string | null;
|
|
||||||
version: string | null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Grok CLI installation status
|
* Grok CLI installation status
|
||||||
|
* @deprecated Use ComponentStatus directly
|
||||||
*/
|
*/
|
||||||
export interface GrokCliStatus {
|
export type GrokCliStatus = ComponentStatus;
|
||||||
installed: boolean;
|
|
||||||
path: string | null;
|
|
||||||
version: string | null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* OpenCode CLI installation status
|
* OpenCode CLI installation status
|
||||||
|
* @deprecated Use ComponentStatus directly
|
||||||
*/
|
*/
|
||||||
export interface OpenCodeCliStatus {
|
export type OpenCodeCliStatus = ComponentStatus;
|
||||||
installed: boolean;
|
|
||||||
path: string | null;
|
|
||||||
version: string | null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* WebSearch availability status for third-party profiles
|
* WebSearch availability status for third-party profiles
|
||||||
|
|||||||
Reference in New Issue
Block a user