/** * postgres-mcp - Performance Tool Schemas * * Input validation schemas for query analysis and performance monitoring. */ import { z } from "zod"; /** * Preprocess explain params to normalize aliases. * Exported so tools can apply it in their handlers. */ export declare function preprocessExplainParams(input: unknown): unknown; /** * Preprocess table params to normalize aliases. * Exported so tools can apply it in their handlers. */ export declare function preprocessTableAliasParams(input: unknown): unknown; /** * Base schema for EXPLAIN tools - used for MCP inputSchema visibility. * Both sql and query are optional here; the preprocessor maps query → sql, * and the handler validates that at least one is provided. */ export declare const ExplainSchemaBase: z.ZodObject<{ sql: z.ZodOptional; query: z.ZodOptional; params: z.ZodOptional>; analyze: z.ZodOptional; buffers: z.ZodOptional; format: z.ZodOptional>; }, z.core.$strip>; /** * Full schema with preprocessing for alias support. * Used in handler to parse params after MCP has collected them. */ export declare const ExplainSchema: z.ZodPreprocess; query: z.ZodOptional; params: z.ZodOptional>; analyze: z.ZodOptional; buffers: z.ZodOptional; format: z.ZodOptional>; }, z.core.$strip>>; export declare const IndexStatsSchemaBase: z.ZodObject<{ table: z.ZodOptional; tableName: z.ZodOptional; name: z.ZodOptional; schema: z.ZodOptional; limit: z.ZodOptional; }, z.core.$strip>; export declare const IndexStatsSchema: z.ZodPreprocess; schema: z.ZodOptional; limit: z.ZodPreprocess>; }, z.core.$strip>>; export declare const TableStatsSchemaBase: z.ZodObject<{ table: z.ZodOptional; tableName: z.ZodOptional; name: z.ZodOptional; schema: z.ZodOptional; limit: z.ZodOptional; }, z.core.$strip>; export declare const TableStatsSchema: z.ZodPreprocess; schema: z.ZodOptional; limit: z.ZodPreprocess>; }, z.core.$strip>>; export declare const VacuumStatsSchemaBase: z.ZodObject<{ schema: z.ZodOptional; table: z.ZodOptional; limit: z.ZodOptional; }, z.core.$strip>; export declare const VacuumStatsSchema: z.ZodPreprocess; table: z.ZodOptional; limit: z.ZodPreprocess>; }, z.core.$strip>>; export declare const StatStatementsSchemaBase: z.ZodObject<{ limit: z.ZodOptional; orderBy: z.ZodOptional; truncateQuery: z.ZodOptional; }, z.core.$strip>; export declare const StatStatementsSchema: z.ZodPreprocess>; orderBy: z.ZodOptional; truncateQuery: z.ZodPreprocess>; }, z.core.$strip>>; export declare const StatActivitySchemaBase: z.ZodObject<{ includeIdle: z.ZodOptional; truncateQuery: z.ZodOptional; limit: z.ZodOptional; }, z.core.$strip>; export declare const StatActivitySchema: z.ZodPreprocess; truncateQuery: z.ZodPreprocess>; limit: z.ZodPreprocess>; }, z.core.$strip>>; export declare const QueryPlanStatsSchemaBase: z.ZodObject<{ limit: z.ZodOptional; truncateQuery: z.ZodOptional; }, z.core.$strip>; export declare const QueryPlanStatsSchema: z.ZodPreprocess>; truncateQuery: z.ZodPreprocess>; }, z.core.$strip>>; export declare const LocksSchemaBase: z.ZodObject<{ showBlocked: z.ZodOptional; limit: z.ZodOptional; }, z.core.$strip>; export declare const LocksSchema: z.ZodPreprocess; limit: z.ZodPreprocess>; }, z.core.$strip>>; export declare const BloatCheckSchemaBase: z.ZodObject<{ table: z.ZodOptional; schema: z.ZodOptional; limit: z.ZodOptional; }, z.core.$strip>; export declare const BloatCheckSchema: z.ZodPreprocess; schema: z.ZodOptional; limit: z.ZodPreprocess>; }, z.core.$strip>>; export declare const CacheHitRatioInputSchema: z.ZodObject<{}, z.core.$strip>; export declare const DiagnoseInputSchemaBase: z.ZodObject<{ schema: z.ZodOptional; topN: z.ZodOptional; }, z.core.$strip>; export declare const DiagnoseInputSchema: z.ZodPreprocess; topN: z.ZodPreprocess>; }, z.core.$strip>>; export declare const SeqScanTablesSchemaBase: z.ZodObject<{ minScans: z.ZodOptional; schema: z.ZodOptional; limit: z.ZodOptional; }, z.core.$strip>; export declare const SeqScanTablesSchema: z.ZodPreprocess>; schema: z.ZodOptional; limit: z.ZodPreprocess>; }, z.core.$strip>>; export declare const IndexRecommendationsInputSchemaBase: z.ZodObject<{ table: z.ZodOptional; sql: z.ZodOptional; query: z.ZodOptional; params: z.ZodOptional; schema: z.ZodOptional; }, z.core.$strip>; export declare const IndexRecommendationsInputSchema: z.ZodPreprocess; sql: z.ZodOptional; query: z.ZodOptional; params: z.ZodOptional; schema: z.ZodOptional; }, z.core.$strip>>; export declare const PerformanceBaselineSchemaBase: z.ZodObject<{ name: z.ZodOptional; }, z.core.$strip>; export declare const PerformanceBaselineSchema: z.ZodPreprocess; }, z.core.$strip>>; export declare const ConnectionPoolOptimizeInputSchemaBase: z.ZodObject<{}, z.core.$strict>; export declare const ConnectionPoolOptimizeInputSchema: z.ZodObject<{}, z.core.$strict>; export declare const PartitionStrategySchemaBase: z.ZodObject<{ table: z.ZodOptional; schema: z.ZodOptional; }, z.core.$strip>; export declare const PartitionStrategySchema: z.ZodPreprocess; schema: z.ZodOptional; }, z.core.$strip>>; export declare const UnusedIndexesSchemaBase: z.ZodObject<{ schema: z.ZodOptional; minSize: z.ZodOptional; limit: z.ZodOptional; summary: z.ZodOptional; }, z.core.$strip>; export declare const UnusedIndexesSchema: z.ZodPreprocess; minSize: z.ZodOptional; limit: z.ZodPreprocess>; summary: z.ZodOptional; }, z.core.$strip>>; export declare const DuplicateIndexesSchemaBase: z.ZodObject<{ schema: z.ZodOptional; limit: z.ZodOptional; }, z.core.$strip>; export declare const DuplicateIndexesSchema: z.ZodPreprocess; limit: z.ZodPreprocess>; }, z.core.$strip>>; export declare const ConnectionSpikeInputBase: z.ZodObject<{ warningPercent: z.ZodOptional; }, z.core.$strip>; export declare const ConnectionSpikeInput: z.ZodPreprocess>; }, z.core.$strip>>; export declare const QueryPlanCompareSchemaBase: z.ZodObject<{ query1: z.ZodOptional; query2: z.ZodOptional; sql1: z.ZodOptional; sql2: z.ZodOptional; sqlA: z.ZodOptional; sqlB: z.ZodOptional; queryA: z.ZodOptional; queryB: z.ZodOptional; params1: z.ZodOptional; params2: z.ZodOptional; analyze: z.ZodOptional; compact: z.ZodOptional; }, z.core.$strip>; export declare const QueryPlanCompareSchema: z.ZodPreprocess; query2: z.ZodOptional; sql1: z.ZodOptional; sql2: z.ZodOptional; sqlA: z.ZodOptional; sqlB: z.ZodOptional; queryA: z.ZodOptional; queryB: z.ZodOptional; params1: z.ZodOptional; params2: z.ZodOptional; analyze: z.ZodOptional; compact: z.ZodOptional; }, z.core.$strip>>; export declare const QueryAnomaliesInputBase: z.ZodObject<{ threshold: z.ZodOptional; minCalls: z.ZodOptional; limit: z.ZodOptional; }, z.core.$strip>; export declare const QueryAnomaliesInput: z.ZodPreprocess>; minCalls: z.ZodPreprocess>; limit: z.ZodPreprocess>; }, z.core.$strip>>; export declare const BloatRiskInputBase: z.ZodObject<{ schema: z.ZodOptional; minRows: z.ZodOptional; }, z.core.$strip>; export declare const BloatRiskInput: z.ZodPreprocess; minRows: z.ZodPreprocess>; }, z.core.$strip>>; export declare const ExplainOutputSchema: z.ZodObject<{ plan: z.ZodOptional; success: z.ZodOptional; error: z.ZodOptional; code: z.ZodOptional; category: z.ZodOptional; recoverable: z.ZodOptional; suggestion: z.ZodOptional; details: z.ZodOptional>; }, z.core.$strip>; export declare const IndexStatsOutputSchema: z.ZodObject<{ indexes: z.ZodOptional>>; count: z.ZodOptional; totalCount: z.ZodOptional; truncated: z.ZodOptional; success: z.ZodOptional; error: z.ZodOptional; code: z.ZodOptional; category: z.ZodOptional; recoverable: z.ZodOptional; suggestion: z.ZodOptional; details: z.ZodOptional>; }, z.core.$strip>; export declare const TableStatsOutputSchema: z.ZodObject<{ tables: z.ZodOptional>>; count: z.ZodOptional; totalCount: z.ZodOptional; truncated: z.ZodOptional; success: z.ZodOptional; error: z.ZodOptional; code: z.ZodOptional; category: z.ZodOptional; recoverable: z.ZodOptional; suggestion: z.ZodOptional; details: z.ZodOptional>; }, z.core.$strip>; export declare const StatStatementsOutputSchema: z.ZodObject<{ statements: z.ZodOptional>>; count: z.ZodOptional; totalCount: z.ZodOptional; truncated: z.ZodOptional; success: z.ZodOptional; error: z.ZodOptional; code: z.ZodOptional; category: z.ZodOptional; recoverable: z.ZodOptional; suggestion: z.ZodOptional; details: z.ZodOptional>; }, z.core.$strip>; export declare const StatActivityOutputSchema: z.ZodObject<{ connections: z.ZodOptional>>; count: z.ZodOptional; truncated: z.ZodOptional; backgroundWorkers: z.ZodOptional; success: z.ZodOptional; error: z.ZodOptional; code: z.ZodOptional; category: z.ZodOptional; recoverable: z.ZodOptional; suggestion: z.ZodOptional; details: z.ZodOptional>; }, z.core.$strip>; export declare const LocksOutputSchema: z.ZodObject<{ locks: z.ZodOptional>>; count: z.ZodOptional; truncated: z.ZodOptional; success: z.ZodOptional; error: z.ZodOptional; code: z.ZodOptional; category: z.ZodOptional; recoverable: z.ZodOptional; suggestion: z.ZodOptional; details: z.ZodOptional>; }, z.core.$strip>; export declare const BloatCheckOutputSchema: z.ZodObject<{ tables: z.ZodOptional>>; count: z.ZodOptional; totalCount: z.ZodOptional; truncated: z.ZodOptional; success: z.ZodOptional; error: z.ZodOptional; code: z.ZodOptional; category: z.ZodOptional; recoverable: z.ZodOptional; suggestion: z.ZodOptional; details: z.ZodOptional>; }, z.core.$strip>; export declare const CacheHitRatioOutputSchema: z.ZodObject<{ heap_read: z.ZodOptional>; heap_hit: z.ZodOptional>; cache_hit_ratio: z.ZodOptional>; success: z.ZodOptional; error: z.ZodOptional; code: z.ZodOptional; category: z.ZodOptional; recoverable: z.ZodOptional; suggestion: z.ZodOptional; details: z.ZodOptional>; }, z.core.$strip>; export declare const SeqScanTablesOutputSchema: z.ZodObject<{ tables: z.ZodOptional>>; count: z.ZodOptional; minScans: z.ZodOptional; hint: z.ZodOptional; totalCount: z.ZodOptional; truncated: z.ZodOptional; success: z.ZodOptional; error: z.ZodOptional; code: z.ZodOptional; category: z.ZodOptional; recoverable: z.ZodOptional; suggestion: z.ZodOptional; details: z.ZodOptional>; }, z.core.$strip>; export declare const IndexRecommendationsOutputSchema: z.ZodObject<{ queryAnalysis: z.ZodOptional; recommendations: z.ZodOptional>>; hypopgAvailable: z.ZodOptional; baselineCost: z.ZodOptional>; hint: z.ZodOptional; success: z.ZodOptional; error: z.ZodOptional; code: z.ZodOptional; category: z.ZodOptional; recoverable: z.ZodOptional; suggestion: z.ZodOptional; details: z.ZodOptional>; }, z.core.$strip>; export declare const QueryPlanCompareOutputSchema: z.ZodObject<{ query1: z.ZodOptional>; query2: z.ZodOptional>; analysis: z.ZodOptional; recommendation: z.ZodString; }, z.core.$strip>>; fullPlans: z.ZodOptional; plan2: z.ZodOptional; }, z.core.$strip>>; success: z.ZodOptional; error: z.ZodOptional; code: z.ZodOptional; category: z.ZodOptional; recoverable: z.ZodOptional; suggestion: z.ZodOptional; details: z.ZodOptional>; }, z.core.$strip>; export declare const PerformanceBaselineOutputSchema: z.ZodObject<{ name: z.ZodOptional; timestamp: z.ZodOptional; metrics: z.ZodOptional>; tables: z.ZodNullable>; indexes: z.ZodNullable>; connections: z.ZodNullable>; databaseSize: z.ZodNullable>; }, z.core.$strip>>; success: z.ZodOptional; error: z.ZodOptional; code: z.ZodOptional; category: z.ZodOptional; recoverable: z.ZodOptional; suggestion: z.ZodOptional; details: z.ZodOptional>; }, z.core.$strip>; export declare const ConnectionPoolOptimizeOutputSchema: z.ZodObject<{ current: z.ZodOptional>>; config: z.ZodOptional>; waitEvents: z.ZodOptional>>; recommendations: z.ZodOptional>; success: z.ZodOptional; error: z.ZodOptional; code: z.ZodOptional; category: z.ZodOptional; recoverable: z.ZodOptional; suggestion: z.ZodOptional; details: z.ZodOptional>; }, z.core.$strip>; export declare const PartitionStrategySuggestOutputSchema: z.ZodObject<{ table: z.ZodOptional; tableStats: z.ZodOptional>>; tableSize: z.ZodOptional>>; partitioningRecommended: z.ZodOptional; reason: z.ZodOptional; suggestions: z.ZodOptional>>; note: z.ZodOptional; success: z.ZodOptional; error: z.ZodOptional; code: z.ZodOptional; category: z.ZodOptional; recoverable: z.ZodOptional; suggestion: z.ZodOptional; details: z.ZodOptional>; }, z.core.$strip>; export declare const UnusedIndexesOutputSchema: z.ZodObject<{ unusedIndexes: z.ZodOptional>>; summary: z.ZodOptional; bySchema: z.ZodOptional>>; totalCount: z.ZodOptional; totalSizeBytes: z.ZodOptional; count: z.ZodOptional; hint: z.ZodOptional; truncated: z.ZodOptional; success: z.ZodOptional; error: z.ZodOptional; code: z.ZodOptional; category: z.ZodOptional; recoverable: z.ZodOptional; suggestion: z.ZodOptional; details: z.ZodOptional>; }, z.core.$strip>; export declare const DuplicateIndexesOutputSchema: z.ZodObject<{ duplicateIndexes: z.ZodOptional>>; count: z.ZodOptional; hint: z.ZodOptional; totalCount: z.ZodOptional; truncated: z.ZodOptional; success: z.ZodOptional; error: z.ZodOptional; code: z.ZodOptional; category: z.ZodOptional; recoverable: z.ZodOptional; suggestion: z.ZodOptional; details: z.ZodOptional>; }, z.core.$strip>; export declare const VacuumStatsOutputSchema: z.ZodObject<{ tables: z.ZodOptional>>; count: z.ZodOptional; totalCount: z.ZodOptional; truncated: z.ZodOptional; success: z.ZodOptional; error: z.ZodOptional; code: z.ZodOptional; category: z.ZodOptional; recoverable: z.ZodOptional; suggestion: z.ZodOptional; details: z.ZodOptional>; }, z.core.$strip>; export declare const QueryPlanStatsOutputSchema: z.ZodObject<{ queryPlanStats: z.ZodOptional>>; count: z.ZodOptional; hint: z.ZodOptional; totalCount: z.ZodOptional; truncated: z.ZodOptional; success: z.ZodOptional; error: z.ZodOptional; code: z.ZodOptional; category: z.ZodOptional; recoverable: z.ZodOptional; suggestion: z.ZodOptional; details: z.ZodOptional>; }, z.core.$strip>; export declare const DiagnoseOutputSchema: z.ZodObject<{ sections: z.ZodOptional; blockingLocks: z.ZodRecord; connectionPressure: z.ZodRecord; cacheHitRatio: z.ZodRecord; diskUsage: z.ZodRecord; topTables: z.ZodRecord; }, z.core.$strip>>; overallScore: z.ZodOptional; overallStatus: z.ZodOptional>; totalRecommendations: z.ZodOptional; allRecommendations: z.ZodOptional>; success: z.ZodOptional; error: z.ZodOptional; code: z.ZodOptional; category: z.ZodOptional; recoverable: z.ZodOptional; suggestion: z.ZodOptional; details: z.ZodOptional>; }, z.core.$strip>; export declare const DetectQueryAnomaliesOutputSchema: z.ZodObject<{ anomalies: z.ZodOptional>>; riskLevel: z.ZodOptional>; totalAnalyzed: z.ZodOptional; anomalyCount: z.ZodOptional; summary: z.ZodOptional; success: z.ZodOptional; error: z.ZodOptional; code: z.ZodOptional; category: z.ZodOptional; recoverable: z.ZodOptional; suggestion: z.ZodOptional; details: z.ZodOptional>; }, z.core.$strip>; export declare const DetectBloatRiskOutputSchema: z.ZodObject<{ tables: z.ZodOptional>>; highRiskCount: z.ZodOptional; totalAnalyzed: z.ZodOptional; summary: z.ZodOptional; success: z.ZodOptional; error: z.ZodOptional; code: z.ZodOptional; category: z.ZodOptional; recoverable: z.ZodOptional; suggestion: z.ZodOptional; details: z.ZodOptional>; }, z.core.$strip>; export declare const DetectConnectionSpikeOutputSchema: z.ZodObject<{ totalConnections: z.ZodOptional; maxConnections: z.ZodOptional; usagePercent: z.ZodOptional; byState: z.ZodOptional>>; concentrations: z.ZodOptional>>; warnings: z.ZodOptional>; riskLevel: z.ZodOptional>; summary: z.ZodOptional; success: z.ZodOptional; error: z.ZodOptional; code: z.ZodOptional; category: z.ZodOptional; recoverable: z.ZodOptional; suggestion: z.ZodOptional; details: z.ZodOptional>; }, z.core.$strip>; //# sourceMappingURL=performance.d.ts.map