/** * Query and Filter Utilities * * Utilities for querying and filtering metrics with flexible criteria */ import type { AgentMetrics, ToolMetrics, LatencyMetrics, RequestTimingMetrics } from './types'; /** * Filter criteria for querying metrics */ export interface MetricsFilter { /** * Filter by one or more context IDs */ contextIds?: string[]; /** * Filter by agent IDs */ agentIds?: string[]; /** * Filter by tool names */ toolNames?: string[]; /** * Filter by operation names (for latency metrics) */ operations?: string[]; /** * Filter by start time (inclusive) */ startTime?: number; /** * Filter by end time (inclusive) */ endTime?: number; /** * Filter by minimum duration (milliseconds) */ minDuration?: number; /** * Filter by maximum duration (milliseconds) */ maxDuration?: number; /** * Filter by success status (for tools) */ success?: boolean; /** * Filter by error presence */ hasError?: boolean; /** * Filter by metadata key-value pairs * All specified key-value pairs must match */ metadata?: Record; } /** * Filter agent metrics by criteria */ export declare function filterAgents(agents: AgentMetrics[], filter: MetricsFilter): AgentMetrics[]; /** * Filter tool metrics by criteria */ export declare function filterTools(tools: ToolMetrics[], filter: MetricsFilter): ToolMetrics[]; /** * Filter latency metrics by criteria */ export declare function filterLatency(latency: LatencyMetrics[], filter: MetricsFilter): LatencyMetrics[]; /** * Filter request timing metrics by criteria */ export declare function filterRequestTimings(requestTimings: RequestTimingMetrics[], filter: MetricsFilter): RequestTimingMetrics[]; //# sourceMappingURL=query.d.ts.map