/** * Swarm Task Learner * * Subscribes to SwarmTaskRunner events and saves task outcomes to MAMA DB. * Enables learning from task execution results to improve future decisions. * * Features: * - Subscribes to task-completed and task-failed events * - Saves task outcomes to MAMA memory for future reference * - Fire-and-forget pattern (non-blocking, graceful failures) * - Optional verbose logging * * @module swarm-task-learner * @version 1.0 */ import type { SwarmTaskRunner } from './swarm-task-runner.js'; /** * Save function signature for MAMA save operation */ type SaveFunction = (params: { type: string; topic: string; decision: string; reasoning?: string; confidence: number; outcome?: string; }) => Promise<{ success: boolean; id?: string; }>; /** * Configuration options for SwarmTaskLearner */ export interface SwarmTaskLearnerOptions { /** Enable/disable learning (default: true) */ enabled?: boolean; /** Enable verbose logging (default: false) */ verbose?: boolean; /** Optional save function for testing (if not provided, uses mama-core) */ saveFn?: SaveFunction; } /** * Swarm Task Learner * * Listens to SwarmTaskRunner events and saves task outcomes to MAMA DB. * Uses fire-and-forget pattern to avoid blocking task execution. * * @example * ```typescript * const learner = new SwarmTaskLearner(taskRunner, { * enabled: true, * verbose: true * }); * * learner.start(); // Begin learning * // ... * learner.stop(); // Stop learning * ``` */ export declare class SwarmTaskLearner { private runner; private options; private isStarted; private mamaAvailable; private taskCompletedHandler; private taskFailedHandler; constructor(runner: SwarmTaskRunner, options?: SwarmTaskLearnerOptions); /** * Start listening to SwarmTaskRunner events * * Registers event handlers for task lifecycle events. * Idempotent - calling multiple times has no effect. */ start(): void; /** * Stop listening to SwarmTaskRunner events * * Removes all registered event handlers. * Idempotent - calling multiple times has no effect. */ stop(): void; /** * Save task completion to MAMA DB */ private saveTaskCompleted; /** * Save task failure to MAMA DB */ private saveTaskFailed; /** * Save to MAMA DB with error handling (fire-and-forget) */ private saveToMama; /** * Get mama-core save function */ private getMamaSave; /** * Truncate text to max length with ellipsis */ private truncate; } export {}; //# sourceMappingURL=swarm-task-learner.d.ts.map