UNPKG

@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.

69 lines 2.7 kB
/** * Resilience Metrics Tracker * * Provides observability into agent execution resilience actions: * auto-continuations past step limits, step retries, auto-restarts, * circuit breaker trips, and outcome tracking after resilience fires. * * Issue #526: Visibility into how often resilience actions fire and * whether they lead to successful completions. */ /** * Snapshot of resilience metrics counters. * Non-persisted, in-memory counters reset on server restart. */ export interface ResilienceMetricsSnapshot { /** Total auto-continuations triggered (agent continued past step limit) */ autoContinuations: number; /** Total auto-restarts triggered (agent restarted after failure) */ autoRestarts: number; /** Total step retries triggered (individual step retried after error) */ stepRetries: number; /** Times maxContinuations/maxRetries exhausted, forcing a pause */ resilienceLimitsReached: number; /** Times circuit breaker engaged (repeated failures tripped breaker) */ circuitBreakerTrips: number; /** Executions that completed successfully after at least one resilience action */ successAfterResilience: number; /** Executions that failed/aborted after at least one resilience action */ failureAfterResilience: number; } /** * Lightweight in-memory tracker for agent resilience patterns. * Issue #526: Provides observability into auto-continue, retry, and * circuit breaker behaviour during agent execution. */ export declare class ResilienceMetricsTracker { private _autoContinuations; private _autoRestarts; private _stepRetries; private _resilienceLimitsReached; private _circuitBreakerTrips; private _successAfterResilience; private _failureAfterResilience; private static readonly LOG_INTERVAL; recordAutoContinuation(): void; recordAutoRestart(): void; recordStepRetry(): void; recordResilienceLimit(): void; recordCircuitBreakerTrip(): void; recordCompletionAfterResilience(success: boolean): void; getSnapshot(): ResilienceMetricsSnapshot; /** Reset all counters (for testing). */ reset(): void; private get _totalActions(); private maybeLogSnapshot; } /** Module-level singleton instance (Issue #526) */ export declare const resilienceMetrics: ResilienceMetricsTracker; /** * Get the current resilience metrics snapshot. * Issue #526: Programmatic access for monitoring/diagnostics. */ export declare function getResilienceMetrics(): ResilienceMetricsSnapshot; /** * Reset resilience metrics (for testing only). * @internal */ export declare function resetResilienceMetrics(): void; //# sourceMappingURL=resilienceMetrics.d.ts.map