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
71 lines • 2.94 kB
TypeScript
/**
* ═══════════════════════════════════════════════════════════════════════════
* A2A Hub — Outil MCP pour la communication Agent-to-Agent
* ═══════════════════════════════════════════════════════════════════════════
*
* Architecture distribuée — chaque bridge est un serveur HTTP indépendant:
*
* a2a_hub parle DIRECTEMENT aux bridges HTTP:
* POST :31XX/rpc → JSON-RPC 2.0 agent.run (NEXUS bridges)
* POST :30XX/send → legacy message synchrone (discord_llm bridge)
* GET :XXXX/health → status live
*
* Découverte automatique:
* 1. Scan ports 3101-3120 (NEXUS bridges) + 3001-3020 (legacy workers)
* 2. Scan ~/.overmind/hermes/profiles/ (Linux) + ~/AppData/Local/hermes/profiles/ (Windows)
* 3. Cross-reference: profile ↔ bridge port
* 4. Lit Nexus/tmp/bridge_pids.json si présent
*
* PROD FIXES (2026-07-10):
* - fetch() async au lieu de execSync('curl') — ne bloque plus l'event loop
* - Vrai parallélisme pour fanout/broadcast (Promise.all)
* - Support dual: POST /rpc (JSON-RPC) + POST /send (legacy)
* - Port scan: 3101-3120 (NEXUS) + 3001-3020 (legacy)
* - Profils Hermes: ~/.overmind/hermes/ + ~/AppData/Local/hermes/
* - 127.0.0.1 au lieu de localhost (IPv4/IPv6 fix)
*/
import { z } from 'zod';
export declare const a2aHubSchema: z.ZodObject<{
action: z.ZodEnum<{
pipeline: "pipeline";
send: "send";
status: "status";
query: "query";
discover: "discover";
delegate: "delegate";
fanout: "fanout";
broadcast: "broadcast";
}>;
target: z.ZodOptional<z.ZodString>;
message: z.ZodOptional<z.ZodString>;
targets: z.ZodOptional<z.ZodArray<z.ZodString>>;
steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
agentName: z.ZodString;
promptPrefix: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>>;
mergeStrategy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
concat: "concat";
best: "best";
vote: "vote";
first_success: "first_success";
}>>>;
race: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
async: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
accumulateContext: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
timeoutMs: z.ZodOptional<z.ZodNumber>;
model: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare function a2aHub(args: z.infer<typeof a2aHubSchema>): Promise<{
content: {
type: "text";
text: string;
}[];
isError?: undefined;
} | {
content: {
type: "text";
text: string;
}[];
isError: boolean;
}>;
//# sourceMappingURL=a2a_hub.d.ts.map