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

135 lines • 4.74 kB
/** * KanbanAdapter — Thin wrapper around `hermes kanban` CLI. * * ╔════════════════════════════════════════════════════════════════════════╗ * ║ PURPOSE (v3.0 — Refactored) ║ * ║ ║ * ║ Replaces the old swarm.ts (368 lines) and the parallel orchestration ║ * ║ in dispatcher.ts with native Hermes Kanban tasks. ║ * ║ ║ * ║ Kanban = durable SQLite-backed task board shared across all Hermes ║ * ║ profiles. The dispatcher loop (60s default) atomically claims ready ║ * ║ tasks and spawns the assigned profile as its own OS process. ║ * ║ ║ * ║ YOLO CONFIG (no human-in-the-loop): ║ * ║ - autoReclaim on crash/timeout ║ * ║ - maxRetries: 5 (vs default 2) before block ║ * ║ - autoUnblock via admin API (no manual human intervention) ║ * ║ - dispatcherTick: 30s (vs default 60s — faster pickup) ║ * ╚════════════════════════════════════════════════════════════════════════╝ */ export declare const YOLO_CONFIG: { readonly autoReclaim: true; readonly maxRetries: 5; readonly autoUnblock: true; readonly reclaimStaleMs: 900000; readonly dispatcherTickSeconds: 30; readonly goalModeMaxTurns: 20; }; export interface CreateTaskOptions { title: string; assignee: string; body?: string; tenant?: string; parents?: string[]; priority?: number; workspace?: 'scratch' | `dir:${string}` | 'worktree'; idempotencyKey?: string; maxRuntime?: string; goalMode?: boolean; goalMaxTurns?: number; skills?: string[]; } export interface TaskStatus { id: string; title: string; assignee: string; status: string; body?: string; tenant?: string; workspace?: string; } export interface TaskResult { id: string; status: string; summary?: string; metadata?: Record<string, unknown>; error?: string; durationMs?: number; } export interface TaskSummary { id: string; title: string; assignee: string; status: string; tenant?: string; } export declare class KanbanAdapter { private board?; constructor(board?: string); private get boardArgs(); /** * Initialize the kanban board (idempotent). */ init(): Promise<void>; /** * Force a dispatcher tick immediately (don't wait for the 60s loop). */ nudge(): Promise<void>; /** * Create a single task. */ createTask(opts: CreateTaskOptions): Promise<{ taskId: string; }>; /** * Create multiple independent tasks in parallel (fan-out). */ createParallelTasks(tasks: CreateTaskOptions[]): Promise<string[]>; /** * Create a pipeline (sequential chain: task[0] → task[1] → task[2]...). * Each task has the previous one as parent. */ createPipeline(tasks: CreateTaskOptions[]): Promise<string[]>; /** * Get the status of a task. */ getStatus(taskId: string): Promise<TaskStatus>; /** * Wait for a task to complete (polling loop). * YOLO: auto-reclaim on stale claims. */ wait(taskId: string, timeoutMs?: number): Promise<TaskResult>; /** * Reclaim a task (abort running worker, reset to ready). */ reclaim(taskId: string): Promise<void>; /** * Unblock a blocked task. */ unblock(taskId: string): Promise<void>; /** * Archive a task. */ archive(taskId: string): Promise<void>; /** * List tasks with optional filter. */ listTasks(filter?: { status?: string; assignee?: string; tenant?: string; }): Promise<TaskSummary[]>; /** * Add a comment to a task (inter-agent protocol). */ comment(taskId: string, body: string): Promise<void>; /** * Create a board for a specific project/workstream. */ createBoard(slug: string, name: string, opts?: { description?: string; switch?: boolean; }): Promise<void>; } //# sourceMappingURL=KanbanAdapter.d.ts.map