overmind-mcp
Version:
Orchestrateur universel agents IA multi-modeles via MCP. Inclut le protocole 'Custom-Nickname' pour identifier vos agents avec des surnoms originaux (The Chaos Prophet, Shadow Sniper, etc.), l'isolation mémoire (Private Memory Context) et le support pour
141 lines • 4.59 kB
TypeScript
/**
* ╔══════════════════════════════════════════════════════════════════════╗
* ║ OVERMIND BRIDGE — Types & Interfaces ║
* ║ Contrats partagés pour le transport JSON-RPC 2.0 ║
* ╚══════════════════════════════════════════════════════════════════════╝
*/
export interface JsonRpcRequest {
jsonrpc: '2.0';
id: number | string;
method: string;
params: Record<string, unknown>;
}
export interface McpResponse {
jsonrpc: '2.0';
id: number | string;
result?: {
content?: Array<McpContent>;
isError?: boolean;
sessionId?: string;
[key: string]: unknown;
};
error?: McpError;
}
export interface McpContent {
type: string;
text: string;
}
export interface McpError {
code: number;
message: string;
data?: unknown;
}
export type RunnerType = 'claude' | 'gemini' | 'antigravity' | 'kilo' | 'qwencli' | 'openclaw' | 'cline' | 'opencode' | 'hermes';
export interface RunAgentOptions {
runner: RunnerType;
prompt: string;
agentName: string;
sessionId?: string;
autoResume?: boolean;
silent?: boolean;
path?: string;
model?: string;
mode?: string;
config?: string;
}
export interface AgentResult {
content: Array<McpContent>;
isError: boolean;
sessionId?: string;
}
export type AgentAction = 'status' | 'stream' | 'kill' | 'wait';
export interface AgentControlOptions {
agentName: string;
action: AgentAction;
runner?: RunnerType;
sinceTimestamp?: number;
timeoutMs?: number;
}
export interface MemorySearchOptions {
query: string;
agent_name?: string;
limit?: number;
include_runs?: boolean;
}
export interface MemoryStoreOptions {
text: string;
agent_name?: string;
source?: 'user' | 'agent' | 'pattern' | 'error' | 'decision';
}
export interface MemoryRunsOptions {
runner?: string;
limit?: number;
stats?: boolean;
agent_name?: string;
}
export interface UpdateAgentConfigOptions {
name: string;
model?: string;
mcpServers?: string[];
env?: Record<string, string>;
runner?: RunnerType;
mode?: 'code' | 'architect' | 'ask' | 'debug' | 'orchestrator' | 'plan' | 'act';
cliPath?: string;
file?: 'prompt.md' | 'settings.json' | '.mcp.json' | 'skill.md';
content?: string;
}
export interface CreatePromptOptions {
name: string;
content: string;
}
export interface EditPromptOptions {
name: string;
search: string;
replace: string;
}
export interface McpServerSpec {
name: string;
transport: string;
url: string;
}
export interface BridgeConfig {
/** URL du serveur MCP Overmind (default: http://[::1]:3099/mcp — IPv6 loopback) */
mcpUrl: string;
/** Timeout pour les tool calls MCP courts (memory_search, etc.) (default: 30_000 = 30s) */
mcpToolTimeoutMs: number;
/** Timeout par défaut en ms pour les appels MCP génériques (default: 60_000) */
defaultTimeoutMs: number;
/** Timeout pour run_agent en ms (default: 3_600_000 = 1h) */
agentTimeoutMs: number;
/** Nombre max de retry sur erreurs transitoires (default: 2) */
maxRetries: number;
/** Délai entre les retry en ms (default: 2_000) */
retryDelayMs: number;
/** MCP servers injectés par défaut dans chaque run_agent (héritage mémoire) */
defaultMcpServers: McpServerSpec[];
}
export declare const DEFAULT_BRIDGE_CONFIG: BridgeConfig;
export type CircuitState = 'closed' | 'open' | 'half-open';
export interface CircuitBreakerConfig {
/** Nombre d'échecs avant ouverture (default: 5) */
failureThreshold: number;
/** Temps en ms avant tentative half-open (default: 30_000) */
resetTimeoutMs: number;
/** Nombre de succès consécutifs pour fermer (default: 3) */
successThreshold: number;
}
export declare const DEFAULT_CIRCUIT_CONFIG: CircuitBreakerConfig;
export interface SessionState {
currentSessionId: string | undefined;
lastActivityAt: number;
messageCount: number;
}
export interface HealthStatus {
status: 'online' | 'degraded' | 'offline';
mcpUrl: string;
circuitState: CircuitState;
session?: SessionState;
latencyMs?: number;
checkedAt: number;
}
//# sourceMappingURL=types.d.ts.map