/** * In-memory stateful Exa research planner. * * These helpers intentionally never call Exa network APIs. They only track and * summarize planning state so the model can decide which explicit retrieval * tool to call next. * * Each `createResearchPlanner()` call returns an isolated instance. Hosts * needing per-process or per-session isolation construct their own planner * via `createResearchPlanner()`. */ import type { ResearchStatus, ResearchStepInput, ResearchStepResult, ResearchSummaryParams } from "./research-planner-types.js"; export interface ResearchPlanner { recordStep(input: ResearchStepInput): ResearchStepResult; getStatus(): ResearchStatus; getSummary(params?: ResearchSummaryParams): string; reset(): ResearchStatus; } export declare function createResearchPlanner(): ResearchPlanner;