@neverinfamous/postgres-mcp 1.1.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) hide show
  1. package/README.md +95 -81
  2. package/dist/__tests__/mocks/adapter.d.ts.map +1 -1
  3. package/dist/__tests__/mocks/adapter.js +0 -1
  4. package/dist/__tests__/mocks/adapter.js.map +1 -1
  5. package/dist/__tests__/mocks/pool.d.ts.map +1 -1
  6. package/dist/__tests__/mocks/pool.js +0 -1
  7. package/dist/__tests__/mocks/pool.js.map +1 -1
  8. package/dist/adapters/DatabaseAdapter.js +1 -1
  9. package/dist/adapters/DatabaseAdapter.js.map +1 -1
  10. package/dist/adapters/postgresql/PostgresAdapter.d.ts.map +1 -1
  11. package/dist/adapters/postgresql/PostgresAdapter.js +78 -8
  12. package/dist/adapters/postgresql/PostgresAdapter.js.map +1 -1
  13. package/dist/adapters/postgresql/prompts/backup.d.ts.map +1 -1
  14. package/dist/adapters/postgresql/prompts/backup.js +2 -3
  15. package/dist/adapters/postgresql/prompts/backup.js.map +1 -1
  16. package/dist/adapters/postgresql/prompts/citext.d.ts.map +1 -1
  17. package/dist/adapters/postgresql/prompts/citext.js +3 -4
  18. package/dist/adapters/postgresql/prompts/citext.js.map +1 -1
  19. package/dist/adapters/postgresql/prompts/extensionSetup.d.ts.map +1 -1
  20. package/dist/adapters/postgresql/prompts/extensionSetup.js +2 -3
  21. package/dist/adapters/postgresql/prompts/extensionSetup.js.map +1 -1
  22. package/dist/adapters/postgresql/prompts/health.d.ts.map +1 -1
  23. package/dist/adapters/postgresql/prompts/health.js +2 -3
  24. package/dist/adapters/postgresql/prompts/health.js.map +1 -1
  25. package/dist/adapters/postgresql/prompts/index.js +20 -27
  26. package/dist/adapters/postgresql/prompts/index.js.map +1 -1
  27. package/dist/adapters/postgresql/prompts/indexTuning.d.ts.map +1 -1
  28. package/dist/adapters/postgresql/prompts/indexTuning.js +2 -3
  29. package/dist/adapters/postgresql/prompts/indexTuning.js.map +1 -1
  30. package/dist/adapters/postgresql/prompts/kcache.d.ts.map +1 -1
  31. package/dist/adapters/postgresql/prompts/kcache.js +3 -4
  32. package/dist/adapters/postgresql/prompts/kcache.js.map +1 -1
  33. package/dist/adapters/postgresql/prompts/ltree.d.ts.map +1 -1
  34. package/dist/adapters/postgresql/prompts/ltree.js +5 -6
  35. package/dist/adapters/postgresql/prompts/ltree.js.map +1 -1
  36. package/dist/adapters/postgresql/prompts/partman.d.ts.map +1 -1
  37. package/dist/adapters/postgresql/prompts/partman.js +2 -3
  38. package/dist/adapters/postgresql/prompts/partman.js.map +1 -1
  39. package/dist/adapters/postgresql/prompts/pgcron.d.ts.map +1 -1
  40. package/dist/adapters/postgresql/prompts/pgcron.js +2 -3
  41. package/dist/adapters/postgresql/prompts/pgcron.js.map +1 -1
  42. package/dist/adapters/postgresql/prompts/pgcrypto.d.ts.map +1 -1
  43. package/dist/adapters/postgresql/prompts/pgcrypto.js +3 -4
  44. package/dist/adapters/postgresql/prompts/pgcrypto.js.map +1 -1
  45. package/dist/adapters/postgresql/prompts/pgvector.d.ts.map +1 -1
  46. package/dist/adapters/postgresql/prompts/pgvector.js +3 -4
  47. package/dist/adapters/postgresql/prompts/pgvector.js.map +1 -1
  48. package/dist/adapters/postgresql/prompts/postgis.d.ts.map +1 -1
  49. package/dist/adapters/postgresql/prompts/postgis.js +2 -3
  50. package/dist/adapters/postgresql/prompts/postgis.js.map +1 -1
  51. package/dist/adapters/postgresql/schemas/admin.d.ts +10 -5
  52. package/dist/adapters/postgresql/schemas/admin.d.ts.map +1 -1
  53. package/dist/adapters/postgresql/schemas/admin.js +10 -5
  54. package/dist/adapters/postgresql/schemas/admin.js.map +1 -1
  55. package/dist/adapters/postgresql/schemas/backup.d.ts +8 -4
  56. package/dist/adapters/postgresql/schemas/backup.d.ts.map +1 -1
  57. package/dist/adapters/postgresql/schemas/backup.js +11 -4
  58. package/dist/adapters/postgresql/schemas/backup.js.map +1 -1
  59. package/dist/adapters/postgresql/schemas/core.d.ts +54 -19
  60. package/dist/adapters/postgresql/schemas/core.d.ts.map +1 -1
  61. package/dist/adapters/postgresql/schemas/core.js +65 -17
  62. package/dist/adapters/postgresql/schemas/core.js.map +1 -1
  63. package/dist/adapters/postgresql/schemas/cron.d.ts +51 -32
  64. package/dist/adapters/postgresql/schemas/cron.d.ts.map +1 -1
  65. package/dist/adapters/postgresql/schemas/cron.js +64 -44
  66. package/dist/adapters/postgresql/schemas/cron.js.map +1 -1
  67. package/dist/adapters/postgresql/schemas/extensions.d.ts +168 -73
  68. package/dist/adapters/postgresql/schemas/extensions.d.ts.map +1 -1
  69. package/dist/adapters/postgresql/schemas/extensions.js +179 -62
  70. package/dist/adapters/postgresql/schemas/extensions.js.map +1 -1
  71. package/dist/adapters/postgresql/schemas/index.d.ts +5 -5
  72. package/dist/adapters/postgresql/schemas/index.d.ts.map +1 -1
  73. package/dist/adapters/postgresql/schemas/index.js +9 -7
  74. package/dist/adapters/postgresql/schemas/index.js.map +1 -1
  75. package/dist/adapters/postgresql/schemas/jsonb.d.ts +94 -42
  76. package/dist/adapters/postgresql/schemas/jsonb.d.ts.map +1 -1
  77. package/dist/adapters/postgresql/schemas/jsonb.js +101 -30
  78. package/dist/adapters/postgresql/schemas/jsonb.js.map +1 -1
  79. package/dist/adapters/postgresql/schemas/monitoring.d.ts +28 -11
  80. package/dist/adapters/postgresql/schemas/monitoring.d.ts.map +1 -1
  81. package/dist/adapters/postgresql/schemas/monitoring.js +49 -24
  82. package/dist/adapters/postgresql/schemas/monitoring.js.map +1 -1
  83. package/dist/adapters/postgresql/schemas/partitioning.d.ts +15 -11
  84. package/dist/adapters/postgresql/schemas/partitioning.d.ts.map +1 -1
  85. package/dist/adapters/postgresql/schemas/partitioning.js +17 -13
  86. package/dist/adapters/postgresql/schemas/partitioning.js.map +1 -1
  87. package/dist/adapters/postgresql/schemas/performance.d.ts +62 -31
  88. package/dist/adapters/postgresql/schemas/performance.d.ts.map +1 -1
  89. package/dist/adapters/postgresql/schemas/performance.js +86 -24
  90. package/dist/adapters/postgresql/schemas/performance.js.map +1 -1
  91. package/dist/adapters/postgresql/schemas/postgis.d.ts +20 -0
  92. package/dist/adapters/postgresql/schemas/postgis.d.ts.map +1 -1
  93. package/dist/adapters/postgresql/schemas/postgis.js +20 -3
  94. package/dist/adapters/postgresql/schemas/postgis.js.map +1 -1
  95. package/dist/adapters/postgresql/schemas/schema-mgmt.d.ts +35 -23
  96. package/dist/adapters/postgresql/schemas/schema-mgmt.d.ts.map +1 -1
  97. package/dist/adapters/postgresql/schemas/schema-mgmt.js +69 -26
  98. package/dist/adapters/postgresql/schemas/schema-mgmt.js.map +1 -1
  99. package/dist/adapters/postgresql/schemas/stats.d.ts +33 -20
  100. package/dist/adapters/postgresql/schemas/stats.d.ts.map +1 -1
  101. package/dist/adapters/postgresql/schemas/stats.js +36 -20
  102. package/dist/adapters/postgresql/schemas/stats.js.map +1 -1
  103. package/dist/adapters/postgresql/schemas/text-search.d.ts +8 -5
  104. package/dist/adapters/postgresql/schemas/text-search.d.ts.map +1 -1
  105. package/dist/adapters/postgresql/schemas/text-search.js +15 -5
  106. package/dist/adapters/postgresql/schemas/text-search.js.map +1 -1
  107. package/dist/adapters/postgresql/tools/admin.d.ts.map +1 -1
  108. package/dist/adapters/postgresql/tools/admin.js +211 -140
  109. package/dist/adapters/postgresql/tools/admin.js.map +1 -1
  110. package/dist/adapters/postgresql/tools/backup/dump.d.ts.map +1 -1
  111. package/dist/adapters/postgresql/tools/backup/dump.js +410 -387
  112. package/dist/adapters/postgresql/tools/backup/dump.js.map +1 -1
  113. package/dist/adapters/postgresql/tools/backup/planning.d.ts.map +1 -1
  114. package/dist/adapters/postgresql/tools/backup/planning.js +175 -172
  115. package/dist/adapters/postgresql/tools/backup/planning.js.map +1 -1
  116. package/dist/adapters/postgresql/tools/citext.d.ts.map +1 -1
  117. package/dist/adapters/postgresql/tools/citext.js +221 -163
  118. package/dist/adapters/postgresql/tools/citext.js.map +1 -1
  119. package/dist/adapters/postgresql/tools/core/convenience.d.ts +9 -1
  120. package/dist/adapters/postgresql/tools/core/convenience.d.ts.map +1 -1
  121. package/dist/adapters/postgresql/tools/core/convenience.js +96 -9
  122. package/dist/adapters/postgresql/tools/core/convenience.js.map +1 -1
  123. package/dist/adapters/postgresql/tools/core/error-helpers.d.ts +48 -0
  124. package/dist/adapters/postgresql/tools/core/error-helpers.d.ts.map +1 -0
  125. package/dist/adapters/postgresql/tools/core/error-helpers.js +256 -0
  126. package/dist/adapters/postgresql/tools/core/error-helpers.js.map +1 -0
  127. package/dist/adapters/postgresql/tools/core/health.d.ts.map +1 -1
  128. package/dist/adapters/postgresql/tools/core/health.js +23 -6
  129. package/dist/adapters/postgresql/tools/core/health.js.map +1 -1
  130. package/dist/adapters/postgresql/tools/core/indexes.d.ts.map +1 -1
  131. package/dist/adapters/postgresql/tools/core/indexes.js +45 -4
  132. package/dist/adapters/postgresql/tools/core/indexes.js.map +1 -1
  133. package/dist/adapters/postgresql/tools/core/objects.d.ts.map +1 -1
  134. package/dist/adapters/postgresql/tools/core/objects.js +104 -85
  135. package/dist/adapters/postgresql/tools/core/objects.js.map +1 -1
  136. package/dist/adapters/postgresql/tools/core/query.d.ts.map +1 -1
  137. package/dist/adapters/postgresql/tools/core/query.js +100 -42
  138. package/dist/adapters/postgresql/tools/core/query.js.map +1 -1
  139. package/dist/adapters/postgresql/tools/core/schemas.d.ts +52 -25
  140. package/dist/adapters/postgresql/tools/core/schemas.d.ts.map +1 -1
  141. package/dist/adapters/postgresql/tools/core/schemas.js +55 -25
  142. package/dist/adapters/postgresql/tools/core/schemas.js.map +1 -1
  143. package/dist/adapters/postgresql/tools/core/tables.d.ts.map +1 -1
  144. package/dist/adapters/postgresql/tools/core/tables.js +74 -30
  145. package/dist/adapters/postgresql/tools/core/tables.js.map +1 -1
  146. package/dist/adapters/postgresql/tools/cron.d.ts.map +1 -1
  147. package/dist/adapters/postgresql/tools/cron.js +274 -179
  148. package/dist/adapters/postgresql/tools/cron.js.map +1 -1
  149. package/dist/adapters/postgresql/tools/jsonb/advanced.d.ts.map +1 -1
  150. package/dist/adapters/postgresql/tools/jsonb/advanced.js +372 -284
  151. package/dist/adapters/postgresql/tools/jsonb/advanced.js.map +1 -1
  152. package/dist/adapters/postgresql/tools/jsonb/basic.d.ts.map +1 -1
  153. package/dist/adapters/postgresql/tools/jsonb/basic.js +617 -398
  154. package/dist/adapters/postgresql/tools/jsonb/basic.js.map +1 -1
  155. package/dist/adapters/postgresql/tools/kcache.d.ts.map +1 -1
  156. package/dist/adapters/postgresql/tools/kcache.js +282 -220
  157. package/dist/adapters/postgresql/tools/kcache.js.map +1 -1
  158. package/dist/adapters/postgresql/tools/ltree.d.ts.map +1 -1
  159. package/dist/adapters/postgresql/tools/ltree.js +126 -35
  160. package/dist/adapters/postgresql/tools/ltree.js.map +1 -1
  161. package/dist/adapters/postgresql/tools/monitoring.d.ts.map +1 -1
  162. package/dist/adapters/postgresql/tools/monitoring.js +59 -40
  163. package/dist/adapters/postgresql/tools/monitoring.js.map +1 -1
  164. package/dist/adapters/postgresql/tools/partitioning.d.ts.map +1 -1
  165. package/dist/adapters/postgresql/tools/partitioning.js +150 -15
  166. package/dist/adapters/postgresql/tools/partitioning.js.map +1 -1
  167. package/dist/adapters/postgresql/tools/partman/management.d.ts.map +1 -1
  168. package/dist/adapters/postgresql/tools/partman/management.js +12 -5
  169. package/dist/adapters/postgresql/tools/partman/management.js.map +1 -1
  170. package/dist/adapters/postgresql/tools/partman/operations.d.ts.map +1 -1
  171. package/dist/adapters/postgresql/tools/partman/operations.js +135 -22
  172. package/dist/adapters/postgresql/tools/partman/operations.js.map +1 -1
  173. package/dist/adapters/postgresql/tools/performance/analysis.d.ts.map +1 -1
  174. package/dist/adapters/postgresql/tools/performance/analysis.js +264 -160
  175. package/dist/adapters/postgresql/tools/performance/analysis.js.map +1 -1
  176. package/dist/adapters/postgresql/tools/performance/explain.d.ts.map +1 -1
  177. package/dist/adapters/postgresql/tools/performance/explain.js +61 -21
  178. package/dist/adapters/postgresql/tools/performance/explain.js.map +1 -1
  179. package/dist/adapters/postgresql/tools/performance/monitoring.d.ts.map +1 -1
  180. package/dist/adapters/postgresql/tools/performance/monitoring.js +44 -7
  181. package/dist/adapters/postgresql/tools/performance/monitoring.js.map +1 -1
  182. package/dist/adapters/postgresql/tools/performance/optimization.d.ts.map +1 -1
  183. package/dist/adapters/postgresql/tools/performance/optimization.js +92 -81
  184. package/dist/adapters/postgresql/tools/performance/optimization.js.map +1 -1
  185. package/dist/adapters/postgresql/tools/performance/stats.d.ts.map +1 -1
  186. package/dist/adapters/postgresql/tools/performance/stats.js +128 -37
  187. package/dist/adapters/postgresql/tools/performance/stats.js.map +1 -1
  188. package/dist/adapters/postgresql/tools/pgcrypto.d.ts.map +1 -1
  189. package/dist/adapters/postgresql/tools/pgcrypto.js +242 -87
  190. package/dist/adapters/postgresql/tools/pgcrypto.js.map +1 -1
  191. package/dist/adapters/postgresql/tools/postgis/advanced.d.ts.map +1 -1
  192. package/dist/adapters/postgresql/tools/postgis/advanced.js +293 -201
  193. package/dist/adapters/postgresql/tools/postgis/advanced.js.map +1 -1
  194. package/dist/adapters/postgresql/tools/postgis/basic.d.ts.map +1 -1
  195. package/dist/adapters/postgresql/tools/postgis/basic.js +359 -249
  196. package/dist/adapters/postgresql/tools/postgis/basic.js.map +1 -1
  197. package/dist/adapters/postgresql/tools/postgis/standalone.d.ts.map +1 -1
  198. package/dist/adapters/postgresql/tools/postgis/standalone.js +135 -51
  199. package/dist/adapters/postgresql/tools/postgis/standalone.js.map +1 -1
  200. package/dist/adapters/postgresql/tools/schema.d.ts.map +1 -1
  201. package/dist/adapters/postgresql/tools/schema.js +515 -226
  202. package/dist/adapters/postgresql/tools/schema.js.map +1 -1
  203. package/dist/adapters/postgresql/tools/stats/advanced.d.ts.map +1 -1
  204. package/dist/adapters/postgresql/tools/stats/advanced.js +515 -476
  205. package/dist/adapters/postgresql/tools/stats/advanced.js.map +1 -1
  206. package/dist/adapters/postgresql/tools/stats/basic.d.ts.map +1 -1
  207. package/dist/adapters/postgresql/tools/stats/basic.js +302 -293
  208. package/dist/adapters/postgresql/tools/stats/basic.js.map +1 -1
  209. package/dist/adapters/postgresql/tools/text.d.ts.map +1 -1
  210. package/dist/adapters/postgresql/tools/text.js +398 -220
  211. package/dist/adapters/postgresql/tools/text.js.map +1 -1
  212. package/dist/adapters/postgresql/tools/transactions.d.ts.map +1 -1
  213. package/dist/adapters/postgresql/tools/transactions.js +157 -50
  214. package/dist/adapters/postgresql/tools/transactions.js.map +1 -1
  215. package/dist/adapters/postgresql/tools/vector/advanced.d.ts.map +1 -1
  216. package/dist/adapters/postgresql/tools/vector/advanced.js +70 -38
  217. package/dist/adapters/postgresql/tools/vector/advanced.js.map +1 -1
  218. package/dist/adapters/postgresql/tools/vector/basic.d.ts +8 -0
  219. package/dist/adapters/postgresql/tools/vector/basic.d.ts.map +1 -1
  220. package/dist/adapters/postgresql/tools/vector/basic.js +194 -82
  221. package/dist/adapters/postgresql/tools/vector/basic.js.map +1 -1
  222. package/dist/cli/args.d.ts +2 -0
  223. package/dist/cli/args.d.ts.map +1 -1
  224. package/dist/cli/args.js +15 -0
  225. package/dist/cli/args.js.map +1 -1
  226. package/dist/cli.js +7 -6
  227. package/dist/cli.js.map +1 -1
  228. package/dist/codemode/api.d.ts.map +1 -1
  229. package/dist/codemode/api.js +4 -3
  230. package/dist/codemode/api.js.map +1 -1
  231. package/dist/constants/ServerInstructions.d.ts +1 -1
  232. package/dist/constants/ServerInstructions.d.ts.map +1 -1
  233. package/dist/constants/ServerInstructions.js +76 -34
  234. package/dist/constants/ServerInstructions.js.map +1 -1
  235. package/dist/filtering/ToolConstants.d.ts +29 -13
  236. package/dist/filtering/ToolConstants.d.ts.map +1 -1
  237. package/dist/filtering/ToolConstants.js +44 -27
  238. package/dist/filtering/ToolConstants.js.map +1 -1
  239. package/dist/utils/logger.js +2 -2
  240. package/dist/utils/logger.js.map +1 -1
  241. package/dist/utils/progress-utils.js +1 -1
  242. package/dist/utils/progress-utils.js.map +1 -1
  243. package/package.json +13 -9
@@ -9,28 +9,66 @@ import { IndexStatsOutputSchema, TableStatsOutputSchema, StatStatementsOutputSch
9
9
  const defaultToEmpty = (val) => val ?? {};
10
10
  // Helper to coerce string numbers to JavaScript numbers (PostgreSQL returns BIGINT as strings)
11
11
  const toNum = (val) => val === null || val === undefined ? null : Number(val);
12
+ /**
13
+ * P154: Validate that a table exists before executing performance queries.
14
+ * When a specific table/schema is provided, checks existence first to return
15
+ * a structured error instead of silently returning empty results.
16
+ */
17
+ async function validatePerformanceTableExists(adapter, table, schema) {
18
+ // Only validate when a specific table or schema is requested
19
+ if (!table && !schema)
20
+ return null;
21
+ // Check schema existence first for granular error messages
22
+ if (schema) {
23
+ const schemaResult = await adapter.executeQuery(`SELECT 1 FROM information_schema.schemata WHERE schema_name = $1`, [schema]);
24
+ if (!schemaResult.rows || schemaResult.rows.length === 0) {
25
+ return `Schema '${schema}' does not exist. Use pg_list_objects with type 'table' to see available schemas.`;
26
+ }
27
+ }
28
+ // Check table existence within the schema
29
+ if (table) {
30
+ const targetSchema = schema ?? "public";
31
+ const tableResult = await adapter.executeQuery(`SELECT 1 FROM information_schema.tables WHERE table_schema = $1 AND table_name = $2`, [targetSchema, table]);
32
+ if (!tableResult.rows || tableResult.rows.length === 0) {
33
+ return `Table '${targetSchema}.${table}' not found. Use pg_list_tables to see available tables.`;
34
+ }
35
+ }
36
+ return null;
37
+ }
12
38
  export function createIndexStatsTool(adapter) {
13
39
  // Define schema locally with limit parameter
14
- const IndexStatsSchemaLocal = z.preprocess(defaultToEmpty, z.object({
40
+ const IndexStatsSchemaLocalBase = z.object({
15
41
  table: z.string().optional().describe("Table name to filter indexes"),
16
42
  schema: z.string().optional().describe("Schema name to filter indexes"),
17
43
  limit: z
18
44
  .number()
19
45
  .optional()
20
46
  .describe("Max rows to return (default: 50, use 0 for all)"),
21
- }));
47
+ });
48
+ const IndexStatsSchemaLocal = z.preprocess(defaultToEmpty, IndexStatsSchemaLocalBase);
22
49
  return {
23
50
  name: "pg_index_stats",
24
51
  description: "Get index usage statistics.",
25
52
  group: "performance",
26
- inputSchema: IndexStatsSchemaLocal,
53
+ inputSchema: IndexStatsSchemaLocalBase,
27
54
  outputSchema: IndexStatsOutputSchema,
28
55
  annotations: readOnly("Index Stats"),
29
56
  icons: getToolIcons("performance", readOnly("Index Stats")),
30
57
  handler: async (params, _context) => {
31
58
  const parsed = IndexStatsSchemaLocal.parse(params);
32
- const { table, schema } = parsed;
59
+ let { table, schema } = parsed;
60
+ // Parse schema from table if it contains a dot (e.g., 'myschema.orders')
61
+ if (table?.includes(".")) {
62
+ const parts = table.split(".");
63
+ schema = schema ?? parts[0];
64
+ table = parts[1] ?? table;
65
+ }
33
66
  const limit = parsed.limit === 0 ? null : (parsed.limit ?? 50);
67
+ // P154: Validate table/schema existence before querying
68
+ const validationError = await validatePerformanceTableExists(adapter, table, schema);
69
+ if (validationError !== null) {
70
+ return { success: false, error: validationError };
71
+ }
34
72
  let whereClause = "schemaname NOT IN ('pg_catalog', 'information_schema')";
35
73
  if (schema)
36
74
  whereClause += ` AND schemaname = '${schema}'`;
@@ -62,34 +100,47 @@ export function createIndexStatsTool(adapter) {
62
100
  response["totalCount"] = toNum(countResult.rows?.[0]?.["total"]);
63
101
  response["truncated"] = true;
64
102
  }
103
+ else {
104
+ response["truncated"] = false;
105
+ response["totalCount"] = indexes.length;
106
+ }
65
107
  return response;
66
108
  },
67
109
  };
68
110
  }
69
111
  export function createTableStatsTool(adapter) {
70
- const TableStatsSchemaLocal = z.preprocess(defaultToEmpty, z.object({
71
- table: z
72
- .string()
73
- .optional()
74
- .describe("Table name (all tables if omitted)"),
112
+ const TableStatsSchemaLocalBase = z.object({
113
+ table: z.string().optional().describe("Table name (all tables if omitted)"),
75
114
  schema: z.string().optional().describe("Schema name"),
76
115
  limit: z
77
116
  .number()
78
117
  .optional()
79
118
  .describe("Max rows to return (default: 50, use 0 for all)"),
80
- }));
119
+ });
120
+ const TableStatsSchemaLocal = z.preprocess(defaultToEmpty, TableStatsSchemaLocalBase);
81
121
  return {
82
122
  name: "pg_table_stats",
83
123
  description: "Get table access statistics.",
84
124
  group: "performance",
85
- inputSchema: TableStatsSchemaLocal,
125
+ inputSchema: TableStatsSchemaLocalBase,
86
126
  outputSchema: TableStatsOutputSchema,
87
127
  annotations: readOnly("Table Stats"),
88
128
  icons: getToolIcons("performance", readOnly("Table Stats")),
89
129
  handler: async (params, _context) => {
90
130
  const parsed = TableStatsSchemaLocal.parse(params);
91
- const { table, schema } = parsed;
131
+ let { table, schema } = parsed;
132
+ // Parse schema from table if it contains a dot (e.g., 'myschema.orders')
133
+ if (table?.includes(".")) {
134
+ const parts = table.split(".");
135
+ schema = schema ?? parts[0];
136
+ table = parts[1] ?? table;
137
+ }
92
138
  const limit = parsed.limit === 0 ? null : (parsed.limit ?? 50);
139
+ // P154: Validate table/schema existence before querying
140
+ const validationError = await validatePerformanceTableExists(adapter, table, schema);
141
+ if (validationError !== null) {
142
+ return { success: false, error: validationError };
143
+ }
93
144
  let whereClause = "schemaname NOT IN ('pg_catalog', 'information_schema')";
94
145
  if (schema)
95
146
  whereClause += ` AND schemaname = '${schema}'`;
@@ -129,12 +180,16 @@ export function createTableStatsTool(adapter) {
129
180
  response["totalCount"] = toNum(countResult.rows?.[0]?.["total"]);
130
181
  response["truncated"] = true;
131
182
  }
183
+ else {
184
+ response["truncated"] = false;
185
+ response["totalCount"] = tables.length;
186
+ }
132
187
  return response;
133
188
  },
134
189
  };
135
190
  }
136
191
  export function createStatStatementsTool(adapter) {
137
- const StatStatementsSchema = z.preprocess(defaultToEmpty, z.object({
192
+ const StatStatementsSchemaBase = z.object({
138
193
  limit: z
139
194
  .number()
140
195
  .optional()
@@ -143,12 +198,13 @@ export function createStatStatementsTool(adapter) {
143
198
  .enum(["total_time", "calls", "mean_time", "rows"])
144
199
  .optional()
145
200
  .describe("Sort order (default: total_time)"),
146
- }));
201
+ });
202
+ const StatStatementsSchema = z.preprocess(defaultToEmpty, StatStatementsSchemaBase);
147
203
  return {
148
204
  name: "pg_stat_statements",
149
205
  description: "Get query statistics from pg_stat_statements (requires extension).",
150
206
  group: "performance",
151
- inputSchema: StatStatementsSchema,
207
+ inputSchema: StatStatementsSchemaBase,
152
208
  outputSchema: StatStatementsOutputSchema,
153
209
  annotations: readOnly("Query Statistics"),
154
210
  icons: getToolIcons("performance", readOnly("Query Statistics")),
@@ -171,7 +227,10 @@ export function createStatStatementsTool(adapter) {
171
227
  shared_blks_hit: toNum(row["shared_blks_hit"]),
172
228
  shared_blks_read: toNum(row["shared_blks_read"]),
173
229
  }));
174
- const response = { statements };
230
+ const response = {
231
+ statements,
232
+ count: statements.length,
233
+ };
175
234
  // Add totalCount if results were limited
176
235
  if (limit !== null && statements.length === limit) {
177
236
  const countSql = `SELECT COUNT(*) as total FROM pg_stat_statements`;
@@ -184,14 +243,15 @@ export function createStatStatementsTool(adapter) {
184
243
  };
185
244
  }
186
245
  export function createStatActivityTool(adapter) {
187
- const StatActivitySchema = z.preprocess(defaultToEmpty, z.object({
246
+ const StatActivitySchemaBase = z.object({
188
247
  includeIdle: z.boolean().optional(),
189
- }));
248
+ });
249
+ const StatActivitySchema = z.preprocess(defaultToEmpty, StatActivitySchemaBase);
190
250
  return {
191
251
  name: "pg_stat_activity",
192
252
  description: "Get currently running queries and connections.",
193
253
  group: "performance",
194
- inputSchema: StatActivitySchema,
254
+ inputSchema: StatActivitySchemaBase,
195
255
  outputSchema: StatActivityOutputSchema,
196
256
  annotations: readOnly("Activity Stats"),
197
257
  icons: getToolIcons("performance", readOnly("Activity Stats")),
@@ -203,15 +263,25 @@ export function createStatActivityTool(adapter) {
203
263
  now() - query_start as duration,
204
264
  query
205
265
  FROM pg_stat_activity
206
- WHERE pid != pg_backend_pid() ${idleClause}
266
+ WHERE pid != pg_backend_pid()
267
+ AND backend_type = 'client backend'
268
+ ${idleClause}
207
269
  ORDER BY query_start`;
208
270
  const result = await adapter.executeQuery(sql);
209
- return { connections: result.rows, count: result.rows?.length ?? 0 };
271
+ // Count background workers for metadata
272
+ const bgResult = await adapter.executeQuery(`SELECT COUNT(*)::int as count FROM pg_stat_activity
273
+ WHERE pid != pg_backend_pid() AND backend_type != 'client backend'`);
274
+ const bgCount = bgResult.rows?.[0]?.["count"] ?? 0;
275
+ return {
276
+ connections: result.rows,
277
+ count: result.rows?.length ?? 0,
278
+ backgroundWorkers: bgCount,
279
+ };
210
280
  },
211
281
  };
212
282
  }
213
283
  export function createUnusedIndexesTool(adapter) {
214
- const UnusedIndexesSchema = z.preprocess(defaultToEmpty, z.object({
284
+ const UnusedIndexesSchemaBase = z.object({
215
285
  schema: z
216
286
  .string()
217
287
  .optional()
@@ -228,12 +298,13 @@ export function createUnusedIndexesTool(adapter) {
228
298
  .boolean()
229
299
  .optional()
230
300
  .describe("Return aggregated summary instead of full list"),
231
- }));
301
+ });
302
+ const UnusedIndexesSchema = z.preprocess(defaultToEmpty, UnusedIndexesSchemaBase);
232
303
  return {
233
304
  name: "pg_unused_indexes",
234
305
  description: "Find indexes that have never been used (idx_scan = 0). Candidates for removal.",
235
306
  group: "performance",
236
- inputSchema: UnusedIndexesSchema,
307
+ inputSchema: UnusedIndexesSchemaBase,
237
308
  outputSchema: UnusedIndexesOutputSchema,
238
309
  annotations: readOnly("Unused Indexes"),
239
310
  icons: getToolIcons("performance", readOnly("Unused Indexes")),
@@ -306,7 +377,7 @@ export function createUnusedIndexesTool(adapter) {
306
377
  };
307
378
  }
308
379
  export function createDuplicateIndexesTool(adapter) {
309
- const DuplicateIndexesSchema = z.preprocess(defaultToEmpty, z.object({
380
+ const DuplicateIndexesSchemaBase = z.object({
310
381
  schema: z
311
382
  .string()
312
383
  .optional()
@@ -315,12 +386,13 @@ export function createDuplicateIndexesTool(adapter) {
315
386
  .number()
316
387
  .optional()
317
388
  .describe("Max rows to return (default: 50, use 0 for all)"),
318
- }));
389
+ });
390
+ const DuplicateIndexesSchema = z.preprocess(defaultToEmpty, DuplicateIndexesSchemaBase);
319
391
  return {
320
392
  name: "pg_duplicate_indexes",
321
393
  description: "Find duplicate or overlapping indexes (same leading columns). Candidates for consolidation.",
322
394
  group: "performance",
323
- inputSchema: DuplicateIndexesSchema,
395
+ inputSchema: DuplicateIndexesSchemaBase,
324
396
  outputSchema: DuplicateIndexesOutputSchema,
325
397
  annotations: readOnly("Duplicate Indexes"),
326
398
  icons: getToolIcons("performance", readOnly("Duplicate Indexes")),
@@ -408,30 +480,44 @@ export function createDuplicateIndexesTool(adapter) {
408
480
  };
409
481
  }
410
482
  export function createVacuumStatsTool(adapter) {
411
- const VacuumStatsSchema = z.preprocess(defaultToEmpty, z.object({
483
+ const VacuumStatsSchemaBase = z.object({
412
484
  schema: z.string().optional().describe("Schema to filter"),
413
485
  table: z.string().optional().describe("Table name to filter"),
414
486
  limit: z
415
487
  .number()
416
488
  .optional()
417
489
  .describe("Max rows to return (default: 50, use 0 for all)"),
418
- }));
490
+ });
491
+ const VacuumStatsSchema = z.preprocess(defaultToEmpty, VacuumStatsSchemaBase);
419
492
  return {
420
493
  name: "pg_vacuum_stats",
421
494
  description: "Get detailed vacuum statistics including dead tuples, last vacuum times, and wraparound risk.",
422
495
  group: "performance",
423
- inputSchema: VacuumStatsSchema,
496
+ inputSchema: VacuumStatsSchemaBase,
424
497
  outputSchema: VacuumStatsOutputSchema,
425
498
  annotations: readOnly("Vacuum Stats"),
426
499
  icons: getToolIcons("performance", readOnly("Vacuum Stats")),
427
500
  handler: async (params, _context) => {
428
501
  const parsed = VacuumStatsSchema.parse(params);
502
+ let table = parsed.table;
503
+ let schema = parsed.schema;
504
+ // Parse schema from table if it contains a dot (e.g., 'myschema.orders')
505
+ if (table?.includes(".")) {
506
+ const parts = table.split(".");
507
+ schema = schema ?? parts[0];
508
+ table = parts[1] ?? table;
509
+ }
429
510
  const limit = parsed.limit === 0 ? null : (parsed.limit ?? 50);
430
511
  let whereClause = "schemaname NOT IN ('pg_catalog', 'information_schema')";
431
- if (parsed.schema !== undefined)
432
- whereClause += ` AND schemaname = '${parsed.schema}'`;
433
- if (parsed.table !== undefined)
434
- whereClause += ` AND relname = '${parsed.table}'`;
512
+ if (schema !== undefined)
513
+ whereClause += ` AND schemaname = '${schema}'`;
514
+ if (table !== undefined)
515
+ whereClause += ` AND relname = '${table}'`;
516
+ // P154: Validate table/schema existence before querying
517
+ const validationError = await validatePerformanceTableExists(adapter, table, schema);
518
+ if (validationError !== null) {
519
+ return { success: false, error: validationError };
520
+ }
435
521
  const sql = `SELECT
436
522
  s.schemaname, s.relname as table_name,
437
523
  s.n_live_tup as live_tuples, s.n_dead_tup as dead_tuples,
@@ -475,12 +561,16 @@ export function createVacuumStatsTool(adapter) {
475
561
  response["totalCount"] = toNum(countResult.rows?.[0]?.["total"]);
476
562
  response["truncated"] = true;
477
563
  }
564
+ else {
565
+ response["truncated"] = false;
566
+ response["totalCount"] = tables.length;
567
+ }
478
568
  return response;
479
569
  },
480
570
  };
481
571
  }
482
572
  export function createQueryPlanStatsTool(adapter) {
483
- const QueryPlanStatsSchema = z.preprocess(defaultToEmpty, z.object({
573
+ const QueryPlanStatsSchemaBase = z.object({
484
574
  limit: z
485
575
  .number()
486
576
  .optional()
@@ -489,12 +579,13 @@ export function createQueryPlanStatsTool(adapter) {
489
579
  .number()
490
580
  .optional()
491
581
  .describe("Max query length in chars (default: 100, use 0 for full text)"),
492
- }));
582
+ });
583
+ const QueryPlanStatsSchema = z.preprocess(defaultToEmpty, QueryPlanStatsSchemaBase);
493
584
  return {
494
585
  name: "pg_query_plan_stats",
495
586
  description: "Get query plan statistics showing planning time vs execution time (requires pg_stat_statements).",
496
587
  group: "performance",
497
- inputSchema: QueryPlanStatsSchema,
588
+ inputSchema: QueryPlanStatsSchemaBase,
498
589
  outputSchema: QueryPlanStatsOutputSchema,
499
590
  annotations: readOnly("Query Plan Stats"),
500
591
  icons: getToolIcons("performance", readOnly("Query Plan Stats")),
@@ -1 +1 @@
1
- {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/performance/stats.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,EACzB,4BAA4B,EAC5B,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAEhC,2EAA2E;AAC3E,MAAM,cAAc,GAAG,CAAC,GAAY,EAAW,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC;AAE5D,+FAA+F;AAC/F,MAAM,KAAK,GAAG,CAAC,GAAY,EAAiB,EAAE,CAC5C,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAEzD,MAAM,UAAU,oBAAoB,CAAC,OAAwB;IAC3D,6CAA6C;IAC7C,MAAM,qBAAqB,GAAG,CAAC,CAAC,UAAU,CACxC,cAAc,EACd,CAAC,CAAC,MAAM,CAAC;QACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QACrE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QACvE,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,iDAAiD,CAAC;KAC/D,CAAC,CACH,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,6BAA6B;QAC1C,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,qBAAqB;QAClC,YAAY,EAAE,sBAAsB;QACpC,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC;QACpC,KAAK,EAAE,YAAY,CAAC,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC3D,OAAO,EAAE,KAAK,EAAE,MAAe,EAAE,QAAwB,EAAE,EAAE;YAC3D,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACnD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;YACjC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAC/D,IAAI,WAAW,GACb,wDAAwD,CAAC;YAC3D,IAAI,MAAM;gBAAE,WAAW,IAAI,sBAAsB,MAAM,GAAG,CAAC;YAC3D,IAAI,KAAK;gBAAE,WAAW,IAAI,mBAAmB,KAAK,GAAG,CAAC;YAEtD,MAAM,GAAG,GAAG;;;;gCAIc,WAAW;;0BAEjB,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAErE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAC/C,8CAA8C;YAC9C,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CACrC,CAAC,GAA4B,EAAE,EAAE,CAAC,CAAC;gBACjC,GAAG,GAAG;gBACN,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC1B,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBACtC,cAAc,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;aAC7C,CAAC,CACH,CAAC;YAEF,MAAM,QAAQ,GAA4B;gBACxC,OAAO;gBACP,KAAK,EAAE,OAAO,CAAC,MAAM;aACtB,CAAC;YAEF,yCAAyC;YACzC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBAC/C,MAAM,QAAQ,GAAG,4DAA4D,WAAW,EAAE,CAAC;gBAC3F,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACzD,QAAQ,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;gBACjE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;YAC/B,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAwB;IAC3D,MAAM,qBAAqB,GAAG,CAAC,CAAC,UAAU,CACxC,cAAc,EACd,CAAC,CAAC,MAAM,CAAC;QACP,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,oCAAoC,CAAC;QACjD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QACrD,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,iDAAiD,CAAC;KAC/D,CAAC,CACH,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,8BAA8B;QAC3C,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,qBAAqB;QAClC,YAAY,EAAE,sBAAsB;QACpC,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC;QACpC,KAAK,EAAE,YAAY,CAAC,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC3D,OAAO,EAAE,KAAK,EAAE,MAAe,EAAE,QAAwB,EAAE,EAAE;YAC3D,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACnD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;YACjC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAC/D,IAAI,WAAW,GACb,wDAAwD,CAAC;YAC3D,IAAI,MAAM;gBAAE,WAAW,IAAI,sBAAsB,MAAM,GAAG,CAAC;YAC3D,IAAI,KAAK;gBAAE,WAAW,IAAI,mBAAmB,KAAK,GAAG,CAAC;YAEtD,MAAM,GAAG,GAAG;;;;;;gCAMc,WAAW;;0BAEjB,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAErE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAC/C,8CAA8C;YAC9C,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CACpC,CAAC,GAA4B,EAAE,EAAE,CAAC,CAAC;gBACjC,GAAG,GAAG;gBACN,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAChC,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBACxC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAChC,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBAC1C,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC9B,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC9B,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC9B,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBACtC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;aACvC,CAAC,CACH,CAAC;YAEF,6BAA6B;YAC7B,MAAM,QAAQ,GAA4B;gBACxC,MAAM;gBACN,KAAK,EAAE,MAAM,CAAC,MAAM;aACrB,CAAC;YACF,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBAC9C,MAAM,QAAQ,GAAG,2DAA2D,WAAW,EAAE,CAAC;gBAC1F,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACzD,QAAQ,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;gBACjE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;YAC/B,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,OAAwB;IAExB,MAAM,oBAAoB,GAAG,CAAC,CAAC,UAAU,CACvC,cAAc,EACd,CAAC,CAAC,MAAM,CAAC;QACP,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,uDAAuD,CAAC;QACpE,OAAO,EAAE,CAAC;aACP,IAAI,CAAC,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;aAClD,QAAQ,EAAE;aACV,QAAQ,CAAC,kCAAkC,CAAC;KAChD,CAAC,CACH,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,oEAAoE;QACtE,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,oBAAoB;QACjC,YAAY,EAAE,0BAA0B;QACxC,WAAW,EAAE,QAAQ,CAAC,kBAAkB,CAAC;QACzC,KAAK,EAAE,YAAY,CAAC,aAAa,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAChE,OAAO,EAAE,KAAK,EAAE,MAAe,EAAE,QAAwB,EAAE,EAAE;YAC3D,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAC/D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,YAAY,CAAC;YAE/C,MAAM,GAAG,GAAG;;;;mCAIiB,OAAO,KAAK,YAAY,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO;0BAC/D,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAErE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAC/C,8CAA8C;YAC9C,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CACxC,CAAC,GAA4B,EAAE,EAAE,CAAC,CAAC;gBACjC,GAAG,GAAG;gBACN,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC1B,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACxB,eAAe,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBAC9C,gBAAgB,EAAE,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;aACjD,CAAC,CACH,CAAC;YAEF,MAAM,QAAQ,GAA4B,EAAE,UAAU,EAAE,CAAC;YAEzD,yCAAyC;YACzC,IAAI,KAAK,KAAK,IAAI,IAAI,UAAU,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBAClD,MAAM,QAAQ,GAAG,kDAAkD,CAAC;gBACpE,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACzD,QAAQ,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;gBACjE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;YAC/B,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,OAAwB;IAExB,MAAM,kBAAkB,GAAG,CAAC,CAAC,UAAU,CACrC,cAAc,EACd,CAAC,CAAC,MAAM,CAAC;QACP,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;KACpC,CAAC,CACH,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,gDAAgD;QAC7D,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,kBAAkB;QAC/B,YAAY,EAAE,wBAAwB;QACtC,WAAW,EAAE,QAAQ,CAAC,gBAAgB,CAAC;QACvC,KAAK,EAAE,YAAY,CAAC,aAAa,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAC9D,OAAO,EAAE,KAAK,EAAE,MAAe,EAAE,QAAwB,EAAE,EAAE;YAC3D,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAChD,MAAM,UAAU,GACd,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC;YAE3D,MAAM,GAAG,GAAG;;;;;wDAKsC,UAAU;6CACrB,CAAC;YAExC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC;QACvE,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,OAAwB;IAExB,MAAM,mBAAmB,GAAG,CAAC,CAAC,UAAU,CACtC,cAAc,EACd,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,8CAA8C,CAAC;QAC3D,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,8CAA8C,CAAC;QAC3D,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,oDAAoD,CAAC;QACjE,OAAO,EAAE,CAAC;aACP,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,gDAAgD,CAAC;KAC9D,CAAC,CACH,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,gFAAgF;QAClF,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,mBAAmB;QAChC,YAAY,EAAE,yBAAyB;QACvC,WAAW,EAAE,QAAQ,CAAC,gBAAgB,CAAC;QACvC,KAAK,EAAE,YAAY,CAAC,aAAa,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAC9D,OAAO,EAAE,KAAK,EAAE,MAAe,EAAE,QAAwB,EAAE,EAAE;YAC3D,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACjD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAC/D,IAAI,WAAW,GACb,yEAAyE,CAAC;YAC5E,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;gBAC7B,WAAW,IAAI,sBAAsB,MAAM,CAAC,MAAM,GAAG,CAAC;YAExD,yCAAyC;YACzC,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBAC5B,MAAM,UAAU,GAAG;;;;;sCAKW,WAAW;gCACjB,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,sDAAsD,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE;;8EAE9D,CAAC;gBACvE,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;gBAC7D,MAAM,QAAQ,GAAG,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAC7C,CAAC,GAA4B,EAAE,EAAE,CAAC,CAAC;oBACjC,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC;oBACzB,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;oBACvC,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;oBAC5B,cAAc,EAAE,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;iBAC/C,CAAC,CACH,CAAC;gBACF,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAChC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,EACtC,CAAC,CACF,CAAC;gBACF,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAChC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,EACzC,CAAC,CACF,CAAC;gBACF,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,QAAQ;oBACR,UAAU;oBACV,cAAc,EAAE,UAAU;oBAC1B,IAAI,EAAE,sDAAsD;iBAC7D,CAAC;YACJ,CAAC;YAED,MAAM,GAAG,GAAG;;;;;gCAKc,WAAW;0BACjB,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,sDAAsD,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE;;0BAE5G,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAErE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAC/C,8CAA8C;YAC9C,MAAM,aAAa,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAC3C,CAAC,GAA4B,EAAE,EAAE,CAAC,CAAC;gBACjC,GAAG,GAAG;gBACN,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC1B,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBACtC,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;aACrC,CAAC,CACH,CAAC;YAEF,MAAM,QAAQ,GAA4B;gBACxC,aAAa;gBACb,KAAK,EAAE,aAAa,CAAC,MAAM;gBAC3B,IAAI,EAAE,8GAA8G;aACrH,CAAC;YAEF,yCAAyC;YACzC,IAAI,KAAK,KAAK,IAAI,IAAI,aAAa,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBACrD,MAAM,QAAQ,GAAG,4DAA4D,WAAW;4BACpE,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,sDAAsD,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACnI,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACzD,QAAQ,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;gBACjE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;YAC/B,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,OAAwB;IAExB,MAAM,sBAAsB,GAAG,CAAC,CAAC,UAAU,CACzC,cAAc,EACd,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,8CAA8C,CAAC;QAC3D,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,iDAAiD,CAAC;KAC/D,CAAC,CACH,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EACT,6FAA6F;QAC/F,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,sBAAsB;QACnC,YAAY,EAAE,4BAA4B;QAC1C,WAAW,EAAE,QAAQ,CAAC,mBAAmB,CAAC;QAC1C,KAAK,EAAE,YAAY,CAAC,aAAa,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QACjE,OAAO,EAAE,KAAK,EAAE,MAAe,EAAE,QAAwB,EAAE,EAAE;YAC3D,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACpD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAC/D,MAAM,YAAY,GAChB,MAAM,CAAC,MAAM,KAAK,SAAS;gBACzB,CAAC,CAAC,oBAAoB,MAAM,CAAC,MAAM,GAAG;gBACtC,CAAC,CAAC,2DAA2D,CAAC;YAElE,iEAAiE;YACjE,MAAM,GAAG,GAAG;;;;;;;;;;;;;;wCAcsB,YAAY;;;;;;;;;;;;;;;;;;;;cAoBtC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAEzD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YAErC,MAAM,QAAQ,GAA4B;gBACxC,gBAAgB,EAAE,UAAU;gBAC5B,KAAK,EAAE,UAAU,CAAC,MAAM;gBACxB,IAAI,EAAE,kFAAkF;aACzF,CAAC;YAEF,yCAAyC;YACzC,IAAI,KAAK,KAAK,IAAI,IAAI,UAAU,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBAClD,MAAM,QAAQ,GAAG;;;;;;;;;;;;;0CAaiB,YAAY;;;;;;;;;;8EAUwB,CAAC;gBACvE,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACzD,QAAQ,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;gBACjE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;YAC/B,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,OAAwB;IAExB,MAAM,iBAAiB,GAAG,CAAC,CAAC,UAAU,CACpC,cAAc,EACd,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAC1D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QAC7D,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,iDAAiD,CAAC;KAC/D,CAAC,CACH,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,+FAA+F;QACjG,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,iBAAiB;QAC9B,YAAY,EAAE,uBAAuB;QACrC,WAAW,EAAE,QAAQ,CAAC,cAAc,CAAC;QACrC,KAAK,EAAE,YAAY,CAAC,aAAa,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC5D,OAAO,EAAE,KAAK,EAAE,MAAe,EAAE,QAAwB,EAAE,EAAE;YAC3D,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAC/D,IAAI,WAAW,GACb,wDAAwD,CAAC;YAC3D,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;gBAC7B,WAAW,IAAI,sBAAsB,MAAM,CAAC,MAAM,GAAG,CAAC;YACxD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;gBAC5B,WAAW,IAAI,mBAAmB,MAAM,CAAC,KAAK,GAAG,CAAC;YAEpD,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;wBAiBM,WAAW,CAAC,OAAO,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC;;kBAEzF,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAE7D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAC/C,8CAA8C;YAC9C,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CACpC,CAAC,GAA4B,EAAE,EAAE,CAAC,CAAC;gBACjC,GAAG,GAAG;gBACN,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBACtC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBACtC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAChC,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBACxC,gBAAgB,EAAE,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;gBAChD,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBAC1C,iBAAiB,EAAE,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;aACnD,CAAC,CACH,CAAC;YAEF,MAAM,QAAQ,GAA4B;gBACxC,MAAM;gBACN,KAAK,EAAE,MAAM,CAAC,MAAM;aACrB,CAAC;YAEF,yCAAyC;YACzC,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBAC9C,MAAM,QAAQ,GAAG,2DAA2D,WAAW,EAAE,CAAC;gBAC1F,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACzD,QAAQ,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;gBACjE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;YAC/B,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,OAAwB;IAExB,MAAM,oBAAoB,GAAG,CAAC,CAAC,UAAU,CACvC,cAAc,EACd,CAAC,CAAC,MAAM,CAAC;QACP,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,0DAA0D,CAAC;QACvE,aAAa,EAAE,CAAC;aACb,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,+DAA+D,CAChE;KACJ,CAAC,CACH,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACT,kGAAkG;QACpG,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,oBAAoB;QACjC,YAAY,EAAE,0BAA0B;QACxC,WAAW,EAAE,QAAQ,CAAC,kBAAkB,CAAC;QACzC,KAAK,EAAE,YAAY,CAAC,aAAa,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAChE,OAAO,EAAE,KAAK,EAAE,MAAe,EAAE,QAAwB,EAAE,EAAE;YAC3D,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAC/D,MAAM,WAAW,GACf,MAAM,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,IAAI,GAAG,CAAC,CAAC;YAEpE,sEAAsE;YACtE,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;kBAsBA,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAE7D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAC/C,4EAA4E;YAC5E,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAC5C,CAAC,GAA4B,EAAE,EAAE;gBAC/B,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC9B,MAAM,KAAK,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,MAAM,cAAc,GAClB,WAAW,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,WAAW;oBAChD,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG,KAAK;oBACzC,CAAC,CAAC,KAAK,CAAC;gBACZ,OAAO;oBACL,KAAK,EAAE,cAAc;oBACrB,cAAc,EAAE,WAAW,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,WAAW;oBAClE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC1B,eAAe,EAAE,GAAG,CAAC,iBAAiB,CAAC;oBACvC,cAAc,EAAE,GAAG,CAAC,gBAAgB,CAAC;oBACrC,eAAe,EAAE,GAAG,CAAC,iBAAiB,CAAC;oBACvC,cAAc,EAAE,GAAG,CAAC,gBAAgB,CAAC;oBACrC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBACxB,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBAChC,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;oBAC1C,eAAe,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;oBAC9C,gBAAgB,EAAE,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;iBACjD,CAAC;YACJ,CAAC,CACF,CAAC;YACF,MAAM,QAAQ,GAA4B;gBACxC,cAAc;gBACd,KAAK,EAAE,cAAc,CAAC,MAAM;gBAC5B,IAAI,EAAE,sGAAsG;aAC7G,CAAC;YAEF,yCAAyC;YACzC,IAAI,KAAK,KAAK,IAAI,IAAI,cAAc,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBACtD,MAAM,QAAQ,GAAG,kDAAkD,CAAC;gBACpE,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACzD,QAAQ,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;gBACjE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;YAC/B,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/performance/stats.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pgcrypto.d.ts","sourceRoot":"","sources":["../../../../src/adapters/postgresql/tools/pgcrypto.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,yBAAyB,CAAC;AA0B9E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,eAAe,GAAG,cAAc,EAAE,CAY3E"}
1
+ {"version":3,"file":"pgcrypto.d.ts","sourceRoot":"","sources":["../../../../src/adapters/postgresql/tools/pgcrypto.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,yBAAyB,CAAC;AA+B9E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,eAAe,GAAG,cAAc,EAAE,CAY3E"}