/** * GatheredData — Read-side aggregation over agent execution state. * * Provides structured views of agent execution data by querying existing * decision history and goal state. This is NOT a new write pipeline — * it aggregates data that's already captured by the agent state system * and decision recording. * * Part of the Agentic Loop Completion (Epic #380, Issue #68). * * @since v2.0.0 */ import type { AgentState } from './types.js'; /** * A single entry in the gathered data timeline. * Represents a discrete event during agent execution. */ export interface GatheredDataEntry { /** Entry type for filtering and presentation */ type: 'decision' | 'goal_created' | 'goal_completed' | 'goal_failed' | 'finding' | 'metric'; /** ISO 8601 timestamp of when this entry occurred */ timestamp: string; /** Component or subsystem that generated this entry */ source: string; /** Goal ID this entry relates to */ goalId: string; /** Structured content */ content: { /** Human-readable summary of the entry */ summary: string; /** Additional structured details */ details?: Record; }; } /** * Aggregated gathered data for a specific goal execution. */ export interface GatheredData { /** Goal ID the data was gathered for */ goalId: string; /** Agent name */ agentName: string; /** ISO 8601 timestamp when this data was gathered */ gatheredAt: string; /** Timeline of events in chronological order */ entries: GatheredDataEntry[]; /** Summary statistics */ summary: { totalSteps: number; successfulSteps: number; failedSteps: number; partialSteps: number; averageConfidence: number; /** Duration from goal creation to last decision (or now) */ durationMs: number; }; /** Goal metadata snapshot */ goal: { description: string; status: string; createdAt: string; completedAt?: string; }; } /** * Build gathered data for a specific goalId from agent state. * * Queries the agent's decision history and goal state to produce * a chronological timeline of events. This is a read-side view — * the underlying data was already recorded by recordDecision() and * goal lifecycle methods. * * @param agentName - Name of the agent * @param goalId - Goal ID to gather data for * @param state - Agent's current state (from Agent.getState()) * @returns GatheredData aggregation, or null if goal not found */ export declare function getGatheredData(agentName: string, goalId: string, state: Readonly): GatheredData | null; //# sourceMappingURL=gatheredData.d.ts.map