UNPKG

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
/** * ═══════════════════════════════════════════════════════════════════════════ * 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