@dollhousemcp/mcp-server
Version:
DollhouseMCP - A Model Context Protocol (MCP) server that enables dynamic AI persona management from markdown files, allowing Claude and other compatible AI assistants to activate and switch between different behavioral personas.
79 lines • 2.73 kB
TypeScript
/**
* 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<string, unknown>;
};
}
/**
* 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<AgentState>): GatheredData | null;
//# sourceMappingURL=gatheredData.d.ts.map