/** * Autoresearch task executor — bridges TaskManager with the * autoresearch experiment loop. * * Each tick: * 1. Loads/creates a ResearchWorker for the task's tag * 2. Gets the phase-appropriate tool filter * 3. Calls NeuroLink.generate() with research tools + prompt * 4. Advances phase based on which tools the AI called * 5. Returns a TaskRunResult * * Workers are cached by tag to avoid re-initialization on each tick. * Forwards the NeuroLink emitter to each worker for lifecycle events. */ import type { AutoresearchEmitter, NeuroLinkExecutable, Task, TaskRunResult } from "../types/index.js"; /** * Clear all cached workers. Called by TaskManager.shutdown(). */ export declare function clearWorkerCache(): void; /** * Execute one autoresearch tick for a task. * * Returns a TaskRunResult-shaped object. * If the task is missing autoresearch config, returns an error result * instead of throwing (so the scheduler can record the failure). * * @param emitter - Optional emitter to forward autoresearch lifecycle events */ export declare function executeAutoresearchTick(task: Task & { autoresearch?: unknown; }, neurolink: NeuroLinkExecutable, emitter?: AutoresearchEmitter): Promise;