import type { TraceSpan, TraceSummary, FeedbackEntry, SatisfactionScore, EvalResult, EvalDataset, Experiment, ExperimentAssignment, ExperimentMetricResult } from "./types.js"; export declare function ensureObservabilityTables(): Promise; export declare function insertTraceSpan(span: TraceSpan): Promise; export declare function upsertTraceSummary(summary: TraceSummary): Promise; /** * Purge trace spans, summaries, and eval results older than `cutoffMs` * (a Unix epoch in milliseconds — rows with `created_at < cutoffMs` are * deleted). Returns the per-table deletion counts. Satisfies the span * retention TTL noted in /tmp/security-audit/12-mcp-a2a-agent.md * (MEDIUM #14): trace metadata can hold sensitive tool inputs, so we * cap the storage horizon. Feedback rows are retained — they're * intentionally durable for product analytics. Experiments and * datasets are also retained because they are user-authored * configuration, not call telemetry. */ export declare function deleteOldTraceData(cutoffMs: number): Promise<{ spans: number; summaries: number; evals: number; }>; export declare function getTraceSpansForRun(runId: string, opts?: { userId?: string; }): Promise; export declare function getTraceSummaries(opts: { sinceMs?: number; limit?: number; userId?: string; }): Promise; export declare function getTraceSummary(runId: string, opts?: { userId?: string; }): Promise; /** Latest completed response in a thread, always scoped to its owner. */ export declare function getLatestTraceSummaryForThread(threadId: string, opts: { userId: string; excludeRunId: string; }): Promise; export declare function insertFeedback(entry: FeedbackEntry): Promise; export declare function getFeedback(opts: { threadId?: string; sinceMs?: number; limit?: number; feedbackType?: string; userId?: string; }): Promise; export declare function getFeedbackStats(sinceMs: number, opts?: { userId?: string; }): Promise<{ total: number; thumbsUp: number; thumbsDown: number; categories: Record; }>; export declare function upsertSatisfactionScore(score: SatisfactionScore): Promise; export declare function getSatisfactionScores(opts: { sinceMs?: number; limit?: number; minFrustration?: number; userId?: string; }): Promise; export declare function insertEvalResult(result: EvalResult): Promise; export declare function getEvalsForRun(runId: string, opts?: { userId?: string; }): Promise; export declare function getEvalStats(sinceMs: number, opts?: { userId?: string; }): Promise<{ totalEvals: number; avgScore: number; byCriteria: Array<{ criteria: string; avgScore: number; count: number; }>; }>; export declare function insertEvalDataset(dataset: EvalDataset): Promise; export declare function listEvalDatasets(): Promise; export declare function getEvalDataset(id: string): Promise; export declare function updateEvalDataset(id: string, updates: Partial>): Promise; export declare function insertExperiment(exp: Experiment): Promise; export declare function updateExperiment(id: string, updates: Partial>): Promise; export declare function listExperiments(): Promise; export declare function getExperiment(id: string): Promise; export declare function upsertAssignment(assignment: ExperimentAssignment): Promise; export declare function getAssignment(experimentId: string, userId: string): Promise; export declare function insertExperimentResult(result: ExperimentMetricResult): Promise; export declare function getExperimentResults(experimentId: string): Promise; export declare function getObservabilityOverview(sinceMs: number, opts?: { userId?: string; }): Promise<{ totalRuns: number; totalCostCents: number; avgDurationMs: number; toolSuccessRate: number; avgFrustrationScore: number; thumbsUpRate: number; avgEvalScore: number; }>; //# sourceMappingURL=store.d.ts.map