/** * OpenKernel — Metrics Plugin * * Subscribes to all events and maintains runtime counters: * missions started/completed/failed, tasks started/completed/failed, * workers spawned/exited, provider changes, recoveries, checkpoints, * total tokens in/out, total duration. * * Exposes a snapshot() the Dashboard plugin or external monitors can read. */ import type { Plugin } from '../types.js'; export interface MetricsSnapshot { missionsStarted: number; missionsCompleted: number; missionsFailed: number; tasksStarted: number; tasksCompleted: number; tasksFailed: number; workersSpawned: number; workersExited: number; providerChanged: number; recoveries: number; checkpoints: number; verificationsPassed: number; verificationsFailed: number; totalTokensIn: number; totalTokensOut: number; totalDurationMs: number; lastEventAt?: number; } export declare function createMetricsPlugin(): Plugin & { snapshot(): MetricsSnapshot; };