feat(FN-2978): add droid-cli package with provider registration and model d
This merge introduces a new `packages/droid-cli` package that bridges AI agent execution as a subprocess, including process management, event streaming, tool mapping, MCP configuration, and thinking-mode support. It also adds the `DroidCliProviderCard` dashboard UI component with onboarding flows an Fusion-Task-Id: FN-2978
This commit is contained in:
@@ -1273,11 +1273,34 @@ export interface ClaudeCliStatus {
|
||||
ready: boolean;
|
||||
}
|
||||
|
||||
export interface DroidCliStatus {
|
||||
binary: {
|
||||
available: boolean;
|
||||
version?: string;
|
||||
binaryPath?: string;
|
||||
reason?: string;
|
||||
probeDurationMs: number;
|
||||
};
|
||||
enabled: boolean;
|
||||
extension: {
|
||||
status: "ok" | "not-installed" | "missing-entry" | "error";
|
||||
path?: string;
|
||||
packageVersion?: string;
|
||||
reason?: string;
|
||||
} | null;
|
||||
ready: boolean;
|
||||
}
|
||||
|
||||
/** Probe the local Claude CLI binary + setting + extension state. */
|
||||
export function fetchClaudeCliStatus(): Promise<ClaudeCliStatus> {
|
||||
return api<ClaudeCliStatus>("/providers/claude-cli/status");
|
||||
}
|
||||
|
||||
/** Probe the local Droid CLI binary + setting + extension state. */
|
||||
export function fetchDroidCliStatus(): Promise<DroidCliStatus> {
|
||||
return api<DroidCliStatus>("/providers/droid-cli/status");
|
||||
}
|
||||
|
||||
// --- Runtime Provider Status Types ---
|
||||
|
||||
export interface RuntimeBinaryStatus {
|
||||
@@ -1527,6 +1550,16 @@ export function setClaudeCliEnabled(
|
||||
});
|
||||
}
|
||||
|
||||
/** Enable or disable the Droid CLI provider. Refuses enable if binary is missing. */
|
||||
export function setDroidCliEnabled(
|
||||
enabled: boolean,
|
||||
): Promise<{ enabled: boolean; restartRequired: boolean }> {
|
||||
return api<{ enabled: boolean; restartRequired: boolean }>("/auth/droid-cli", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ enabled }),
|
||||
});
|
||||
}
|
||||
|
||||
export interface CustomProvider {
|
||||
id: string;
|
||||
name: string;
|
||||
|
||||
Reference in New Issue
Block a user