feat(agent): orchestration v3 — surface MCP model-agnostic (M0→M4) — §14.3
Expose l'orchestration IdeA comme serveur MCP par-dessus le même OrchestratorService::dispatch, avec repli fichier .ideai/requests pour les CLI sans MCP. v3 réduite à la surface MCP : la messagerie inter-agents et la corrélation requête↔réponse étaient déjà résolues par §17 (send_blocking). - M0 capacité MCP sur le profil (McpCapability/McpConfigStrategy/McpTransport) - M1 injection conf MCP au LaunchAgent + prose adaptée selon la surface - M2 serveur/adapter MCP (JSON-RPC 2.0 maison ; outils idea_*) + ListAgents - M3 câblage par projet (registre mcp_servers jumeau du watcher) - M4 observabilité UI : OrchestratorRequestProcessed.source = file|mcp + badge Trois portes d'entrée (fichier, MCP, UI) → un seul dispatch ; aucun nouveau port applicatif ; MCP confiné à l'adapter infra. Tous lots verts (cycle §3). Cadrage : .ideai/briefs/orchestration-v3-cadrage.md ; ARCHITECTURE.md §14.3. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@ -25,6 +25,18 @@ export type DomainEvent =
|
||||
| { type: "layoutChanged"; projectId: string }
|
||||
| { type: "remoteConnected"; projectId: string }
|
||||
| { type: "gitStateChanged"; projectId: string }
|
||||
| {
|
||||
type: "orchestratorRequestProcessed";
|
||||
requesterId: string;
|
||||
action: string;
|
||||
ok: boolean;
|
||||
/**
|
||||
* Which entry door the delegation arrived through: `"mcp"` (MCP server) or
|
||||
* `"file"` (`.ideai/requests` watcher). Optional for backward-compatibility:
|
||||
* an event relayed without it simply yields no source badge.
|
||||
*/
|
||||
source?: "mcp" | "file";
|
||||
}
|
||||
| { type: "ptyOutput"; sessionId: string; bytes: number[] };
|
||||
|
||||
/** Where a project physically lives (mirror of the backend `RemoteRef`). */
|
||||
|
||||
Reference in New Issue
Block a user