@neverinfamous/postgres-mcp 1.2.0 → 2.0.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 (293) hide show
  1. package/README.md +202 -148
  2. package/dist/__tests__/benchmarks/codemode.bench.d.ts +10 -0
  3. package/dist/__tests__/benchmarks/codemode.bench.d.ts.map +1 -0
  4. package/dist/__tests__/benchmarks/codemode.bench.js +159 -0
  5. package/dist/__tests__/benchmarks/codemode.bench.js.map +1 -0
  6. package/dist/__tests__/benchmarks/connection-pool.bench.d.ts +10 -0
  7. package/dist/__tests__/benchmarks/connection-pool.bench.d.ts.map +1 -0
  8. package/dist/__tests__/benchmarks/connection-pool.bench.js +123 -0
  9. package/dist/__tests__/benchmarks/connection-pool.bench.js.map +1 -0
  10. package/dist/__tests__/benchmarks/handler-dispatch.bench.d.ts +11 -0
  11. package/dist/__tests__/benchmarks/handler-dispatch.bench.d.ts.map +1 -0
  12. package/dist/__tests__/benchmarks/handler-dispatch.bench.js +199 -0
  13. package/dist/__tests__/benchmarks/handler-dispatch.bench.js.map +1 -0
  14. package/dist/__tests__/benchmarks/logger-sanitization.bench.d.ts +15 -0
  15. package/dist/__tests__/benchmarks/logger-sanitization.bench.d.ts.map +1 -0
  16. package/dist/__tests__/benchmarks/logger-sanitization.bench.js +155 -0
  17. package/dist/__tests__/benchmarks/logger-sanitization.bench.js.map +1 -0
  18. package/dist/__tests__/benchmarks/resource-prompts.bench.d.ts +10 -0
  19. package/dist/__tests__/benchmarks/resource-prompts.bench.d.ts.map +1 -0
  20. package/dist/__tests__/benchmarks/resource-prompts.bench.js +181 -0
  21. package/dist/__tests__/benchmarks/resource-prompts.bench.js.map +1 -0
  22. package/dist/__tests__/benchmarks/schema-parsing.bench.d.ts +11 -0
  23. package/dist/__tests__/benchmarks/schema-parsing.bench.d.ts.map +1 -0
  24. package/dist/__tests__/benchmarks/schema-parsing.bench.js +209 -0
  25. package/dist/__tests__/benchmarks/schema-parsing.bench.js.map +1 -0
  26. package/dist/__tests__/benchmarks/tool-filtering.bench.d.ts +9 -0
  27. package/dist/__tests__/benchmarks/tool-filtering.bench.d.ts.map +1 -0
  28. package/dist/__tests__/benchmarks/tool-filtering.bench.js +83 -0
  29. package/dist/__tests__/benchmarks/tool-filtering.bench.js.map +1 -0
  30. package/dist/__tests__/benchmarks/transport-auth.bench.d.ts +10 -0
  31. package/dist/__tests__/benchmarks/transport-auth.bench.d.ts.map +1 -0
  32. package/dist/__tests__/benchmarks/transport-auth.bench.js +128 -0
  33. package/dist/__tests__/benchmarks/transport-auth.bench.js.map +1 -0
  34. package/dist/__tests__/benchmarks/utilities.bench.d.ts +10 -0
  35. package/dist/__tests__/benchmarks/utilities.bench.d.ts.map +1 -0
  36. package/dist/__tests__/benchmarks/utilities.bench.js +164 -0
  37. package/dist/__tests__/benchmarks/utilities.bench.js.map +1 -0
  38. package/dist/adapters/DatabaseAdapter.d.ts.map +1 -1
  39. package/dist/adapters/DatabaseAdapter.js +12 -0
  40. package/dist/adapters/DatabaseAdapter.js.map +1 -1
  41. package/dist/adapters/postgresql/PostgresAdapter.d.ts.map +1 -1
  42. package/dist/adapters/postgresql/PostgresAdapter.js +56 -3
  43. package/dist/adapters/postgresql/PostgresAdapter.js.map +1 -1
  44. package/dist/adapters/postgresql/prompts/ltree.js +2 -2
  45. package/dist/adapters/postgresql/prompts/ltree.js.map +1 -1
  46. package/dist/adapters/postgresql/schemas/admin.d.ts +10 -5
  47. package/dist/adapters/postgresql/schemas/admin.d.ts.map +1 -1
  48. package/dist/adapters/postgresql/schemas/admin.js +10 -5
  49. package/dist/adapters/postgresql/schemas/admin.js.map +1 -1
  50. package/dist/adapters/postgresql/schemas/backup.d.ts +45 -27
  51. package/dist/adapters/postgresql/schemas/backup.d.ts.map +1 -1
  52. package/dist/adapters/postgresql/schemas/backup.js +64 -26
  53. package/dist/adapters/postgresql/schemas/backup.js.map +1 -1
  54. package/dist/adapters/postgresql/schemas/core.d.ts +53 -19
  55. package/dist/adapters/postgresql/schemas/core.d.ts.map +1 -1
  56. package/dist/adapters/postgresql/schemas/core.js +61 -17
  57. package/dist/adapters/postgresql/schemas/core.js.map +1 -1
  58. package/dist/adapters/postgresql/schemas/cron.d.ts +51 -32
  59. package/dist/adapters/postgresql/schemas/cron.d.ts.map +1 -1
  60. package/dist/adapters/postgresql/schemas/cron.js +64 -44
  61. package/dist/adapters/postgresql/schemas/cron.js.map +1 -1
  62. package/dist/adapters/postgresql/schemas/extensions.d.ts +224 -110
  63. package/dist/adapters/postgresql/schemas/extensions.d.ts.map +1 -1
  64. package/dist/adapters/postgresql/schemas/extensions.js +245 -96
  65. package/dist/adapters/postgresql/schemas/extensions.js.map +1 -1
  66. package/dist/adapters/postgresql/schemas/index.d.ts +7 -6
  67. package/dist/adapters/postgresql/schemas/index.d.ts.map +1 -1
  68. package/dist/adapters/postgresql/schemas/index.js +16 -8
  69. package/dist/adapters/postgresql/schemas/index.js.map +1 -1
  70. package/dist/adapters/postgresql/schemas/introspection.d.ts +445 -0
  71. package/dist/adapters/postgresql/schemas/introspection.d.ts.map +1 -0
  72. package/dist/adapters/postgresql/schemas/introspection.js +478 -0
  73. package/dist/adapters/postgresql/schemas/introspection.js.map +1 -0
  74. package/dist/adapters/postgresql/schemas/jsonb.d.ts +102 -42
  75. package/dist/adapters/postgresql/schemas/jsonb.d.ts.map +1 -1
  76. package/dist/adapters/postgresql/schemas/jsonb.js +125 -30
  77. package/dist/adapters/postgresql/schemas/jsonb.js.map +1 -1
  78. package/dist/adapters/postgresql/schemas/monitoring.d.ts +69 -36
  79. package/dist/adapters/postgresql/schemas/monitoring.d.ts.map +1 -1
  80. package/dist/adapters/postgresql/schemas/monitoring.js +98 -40
  81. package/dist/adapters/postgresql/schemas/monitoring.js.map +1 -1
  82. package/dist/adapters/postgresql/schemas/partitioning.d.ts +21 -24
  83. package/dist/adapters/postgresql/schemas/partitioning.d.ts.map +1 -1
  84. package/dist/adapters/postgresql/schemas/partitioning.js +26 -14
  85. package/dist/adapters/postgresql/schemas/partitioning.js.map +1 -1
  86. package/dist/adapters/postgresql/schemas/partman.d.ts +69 -0
  87. package/dist/adapters/postgresql/schemas/partman.d.ts.map +1 -1
  88. package/dist/adapters/postgresql/schemas/partman.js +46 -33
  89. package/dist/adapters/postgresql/schemas/partman.js.map +1 -1
  90. package/dist/adapters/postgresql/schemas/performance.d.ts +97 -49
  91. package/dist/adapters/postgresql/schemas/performance.d.ts.map +1 -1
  92. package/dist/adapters/postgresql/schemas/performance.js +139 -34
  93. package/dist/adapters/postgresql/schemas/performance.js.map +1 -1
  94. package/dist/adapters/postgresql/schemas/postgis.d.ts +20 -0
  95. package/dist/adapters/postgresql/schemas/postgis.d.ts.map +1 -1
  96. package/dist/adapters/postgresql/schemas/postgis.js +40 -0
  97. package/dist/adapters/postgresql/schemas/postgis.js.map +1 -1
  98. package/dist/adapters/postgresql/schemas/schema-mgmt.d.ts +50 -30
  99. package/dist/adapters/postgresql/schemas/schema-mgmt.d.ts.map +1 -1
  100. package/dist/adapters/postgresql/schemas/schema-mgmt.js +105 -33
  101. package/dist/adapters/postgresql/schemas/schema-mgmt.js.map +1 -1
  102. package/dist/adapters/postgresql/schemas/stats.d.ts +33 -20
  103. package/dist/adapters/postgresql/schemas/stats.d.ts.map +1 -1
  104. package/dist/adapters/postgresql/schemas/stats.js +36 -20
  105. package/dist/adapters/postgresql/schemas/stats.js.map +1 -1
  106. package/dist/adapters/postgresql/schemas/text-search.d.ts +34 -19
  107. package/dist/adapters/postgresql/schemas/text-search.d.ts.map +1 -1
  108. package/dist/adapters/postgresql/schemas/text-search.js +52 -13
  109. package/dist/adapters/postgresql/schemas/text-search.js.map +1 -1
  110. package/dist/adapters/postgresql/tools/admin.d.ts.map +1 -1
  111. package/dist/adapters/postgresql/tools/admin.js +272 -186
  112. package/dist/adapters/postgresql/tools/admin.js.map +1 -1
  113. package/dist/adapters/postgresql/tools/backup/dump.d.ts.map +1 -1
  114. package/dist/adapters/postgresql/tools/backup/dump.js +376 -350
  115. package/dist/adapters/postgresql/tools/backup/dump.js.map +1 -1
  116. package/dist/adapters/postgresql/tools/citext.d.ts.map +1 -1
  117. package/dist/adapters/postgresql/tools/citext.js +333 -243
  118. package/dist/adapters/postgresql/tools/citext.js.map +1 -1
  119. package/dist/adapters/postgresql/tools/codemode/index.d.ts.map +1 -1
  120. package/dist/adapters/postgresql/tools/codemode/index.js +2 -11
  121. package/dist/adapters/postgresql/tools/codemode/index.js.map +1 -1
  122. package/dist/adapters/postgresql/tools/core/convenience.d.ts +9 -1
  123. package/dist/adapters/postgresql/tools/core/convenience.d.ts.map +1 -1
  124. package/dist/adapters/postgresql/tools/core/convenience.js +101 -19
  125. package/dist/adapters/postgresql/tools/core/convenience.js.map +1 -1
  126. package/dist/adapters/postgresql/tools/core/error-helpers.d.ts +48 -0
  127. package/dist/adapters/postgresql/tools/core/error-helpers.d.ts.map +1 -0
  128. package/dist/adapters/postgresql/tools/core/error-helpers.js +256 -0
  129. package/dist/adapters/postgresql/tools/core/error-helpers.js.map +1 -0
  130. package/dist/adapters/postgresql/tools/core/health.d.ts.map +1 -1
  131. package/dist/adapters/postgresql/tools/core/health.js +18 -4
  132. package/dist/adapters/postgresql/tools/core/health.js.map +1 -1
  133. package/dist/adapters/postgresql/tools/core/indexes.d.ts.map +1 -1
  134. package/dist/adapters/postgresql/tools/core/indexes.js +48 -6
  135. package/dist/adapters/postgresql/tools/core/indexes.js.map +1 -1
  136. package/dist/adapters/postgresql/tools/core/objects.d.ts.map +1 -1
  137. package/dist/adapters/postgresql/tools/core/objects.js +104 -85
  138. package/dist/adapters/postgresql/tools/core/objects.js.map +1 -1
  139. package/dist/adapters/postgresql/tools/core/query.d.ts.map +1 -1
  140. package/dist/adapters/postgresql/tools/core/query.js +100 -42
  141. package/dist/adapters/postgresql/tools/core/query.js.map +1 -1
  142. package/dist/adapters/postgresql/tools/core/schemas.d.ts +51 -25
  143. package/dist/adapters/postgresql/tools/core/schemas.d.ts.map +1 -1
  144. package/dist/adapters/postgresql/tools/core/schemas.js +51 -25
  145. package/dist/adapters/postgresql/tools/core/schemas.js.map +1 -1
  146. package/dist/adapters/postgresql/tools/core/tables.d.ts.map +1 -1
  147. package/dist/adapters/postgresql/tools/core/tables.js +72 -32
  148. package/dist/adapters/postgresql/tools/core/tables.js.map +1 -1
  149. package/dist/adapters/postgresql/tools/cron.d.ts.map +1 -1
  150. package/dist/adapters/postgresql/tools/cron.js +333 -206
  151. package/dist/adapters/postgresql/tools/cron.js.map +1 -1
  152. package/dist/adapters/postgresql/tools/introspection.d.ts +15 -0
  153. package/dist/adapters/postgresql/tools/introspection.d.ts.map +1 -0
  154. package/dist/adapters/postgresql/tools/introspection.js +1682 -0
  155. package/dist/adapters/postgresql/tools/introspection.js.map +1 -0
  156. package/dist/adapters/postgresql/tools/jsonb/advanced.d.ts.map +1 -1
  157. package/dist/adapters/postgresql/tools/jsonb/advanced.js +394 -297
  158. package/dist/adapters/postgresql/tools/jsonb/advanced.js.map +1 -1
  159. package/dist/adapters/postgresql/tools/jsonb/basic.d.ts.map +1 -1
  160. package/dist/adapters/postgresql/tools/jsonb/basic.js +686 -398
  161. package/dist/adapters/postgresql/tools/jsonb/basic.js.map +1 -1
  162. package/dist/adapters/postgresql/tools/kcache.d.ts.map +1 -1
  163. package/dist/adapters/postgresql/tools/kcache.js +278 -246
  164. package/dist/adapters/postgresql/tools/kcache.js.map +1 -1
  165. package/dist/adapters/postgresql/tools/ltree.d.ts.map +1 -1
  166. package/dist/adapters/postgresql/tools/ltree.js +137 -38
  167. package/dist/adapters/postgresql/tools/ltree.js.map +1 -1
  168. package/dist/adapters/postgresql/tools/monitoring.d.ts.map +1 -1
  169. package/dist/adapters/postgresql/tools/monitoring.js +86 -55
  170. package/dist/adapters/postgresql/tools/monitoring.js.map +1 -1
  171. package/dist/adapters/postgresql/tools/partitioning.d.ts.map +1 -1
  172. package/dist/adapters/postgresql/tools/partitioning.js +79 -15
  173. package/dist/adapters/postgresql/tools/partitioning.js.map +1 -1
  174. package/dist/adapters/postgresql/tools/partman/management.d.ts.map +1 -1
  175. package/dist/adapters/postgresql/tools/partman/management.js +43 -56
  176. package/dist/adapters/postgresql/tools/partman/management.js.map +1 -1
  177. package/dist/adapters/postgresql/tools/partman/operations.d.ts.map +1 -1
  178. package/dist/adapters/postgresql/tools/partman/operations.js +137 -24
  179. package/dist/adapters/postgresql/tools/partman/operations.js.map +1 -1
  180. package/dist/adapters/postgresql/tools/performance/analysis.d.ts.map +1 -1
  181. package/dist/adapters/postgresql/tools/performance/analysis.js +276 -165
  182. package/dist/adapters/postgresql/tools/performance/analysis.js.map +1 -1
  183. package/dist/adapters/postgresql/tools/performance/explain.d.ts.map +1 -1
  184. package/dist/adapters/postgresql/tools/performance/explain.js +61 -21
  185. package/dist/adapters/postgresql/tools/performance/explain.js.map +1 -1
  186. package/dist/adapters/postgresql/tools/performance/monitoring.d.ts.map +1 -1
  187. package/dist/adapters/postgresql/tools/performance/monitoring.js +52 -12
  188. package/dist/adapters/postgresql/tools/performance/monitoring.js.map +1 -1
  189. package/dist/adapters/postgresql/tools/performance/optimization.d.ts.map +1 -1
  190. package/dist/adapters/postgresql/tools/performance/optimization.js +92 -81
  191. package/dist/adapters/postgresql/tools/performance/optimization.js.map +1 -1
  192. package/dist/adapters/postgresql/tools/performance/stats.d.ts.map +1 -1
  193. package/dist/adapters/postgresql/tools/performance/stats.js +182 -60
  194. package/dist/adapters/postgresql/tools/performance/stats.js.map +1 -1
  195. package/dist/adapters/postgresql/tools/pgcrypto.d.ts.map +1 -1
  196. package/dist/adapters/postgresql/tools/pgcrypto.js +277 -102
  197. package/dist/adapters/postgresql/tools/pgcrypto.js.map +1 -1
  198. package/dist/adapters/postgresql/tools/postgis/advanced.d.ts.map +1 -1
  199. package/dist/adapters/postgresql/tools/postgis/advanced.js +298 -230
  200. package/dist/adapters/postgresql/tools/postgis/advanced.js.map +1 -1
  201. package/dist/adapters/postgresql/tools/postgis/basic.d.ts.map +1 -1
  202. package/dist/adapters/postgresql/tools/postgis/basic.js +370 -251
  203. package/dist/adapters/postgresql/tools/postgis/basic.js.map +1 -1
  204. package/dist/adapters/postgresql/tools/postgis/standalone.d.ts.map +1 -1
  205. package/dist/adapters/postgresql/tools/postgis/standalone.js +135 -51
  206. package/dist/adapters/postgresql/tools/postgis/standalone.js.map +1 -1
  207. package/dist/adapters/postgresql/tools/schema.d.ts.map +1 -1
  208. package/dist/adapters/postgresql/tools/schema.js +580 -233
  209. package/dist/adapters/postgresql/tools/schema.js.map +1 -1
  210. package/dist/adapters/postgresql/tools/stats/advanced.d.ts.map +1 -1
  211. package/dist/adapters/postgresql/tools/stats/advanced.js +567 -506
  212. package/dist/adapters/postgresql/tools/stats/advanced.js.map +1 -1
  213. package/dist/adapters/postgresql/tools/stats/basic.d.ts.map +1 -1
  214. package/dist/adapters/postgresql/tools/stats/basic.js +340 -316
  215. package/dist/adapters/postgresql/tools/stats/basic.js.map +1 -1
  216. package/dist/adapters/postgresql/tools/text.d.ts.map +1 -1
  217. package/dist/adapters/postgresql/tools/text.js +690 -337
  218. package/dist/adapters/postgresql/tools/text.js.map +1 -1
  219. package/dist/adapters/postgresql/tools/transactions.d.ts.map +1 -1
  220. package/dist/adapters/postgresql/tools/transactions.js +157 -50
  221. package/dist/adapters/postgresql/tools/transactions.js.map +1 -1
  222. package/dist/adapters/postgresql/tools/vector/advanced.d.ts.map +1 -1
  223. package/dist/adapters/postgresql/tools/vector/advanced.js +18 -0
  224. package/dist/adapters/postgresql/tools/vector/advanced.js.map +1 -1
  225. package/dist/adapters/postgresql/tools/vector/basic.d.ts.map +1 -1
  226. package/dist/adapters/postgresql/tools/vector/basic.js +100 -53
  227. package/dist/adapters/postgresql/tools/vector/basic.js.map +1 -1
  228. package/dist/auth/auth-context.d.ts +28 -0
  229. package/dist/auth/auth-context.d.ts.map +1 -0
  230. package/dist/auth/auth-context.js +37 -0
  231. package/dist/auth/auth-context.js.map +1 -0
  232. package/dist/auth/scope-map.d.ts +20 -0
  233. package/dist/auth/scope-map.d.ts.map +1 -0
  234. package/dist/auth/scope-map.js +40 -0
  235. package/dist/auth/scope-map.js.map +1 -0
  236. package/dist/auth/scopes.d.ts.map +1 -1
  237. package/dist/auth/scopes.js +2 -0
  238. package/dist/auth/scopes.js.map +1 -1
  239. package/dist/cli.js +1 -1
  240. package/dist/cli.js.map +1 -1
  241. package/dist/codemode/api.d.ts +1 -0
  242. package/dist/codemode/api.d.ts.map +1 -1
  243. package/dist/codemode/api.js +35 -1
  244. package/dist/codemode/api.js.map +1 -1
  245. package/dist/codemode/index.d.ts +0 -2
  246. package/dist/codemode/index.d.ts.map +1 -1
  247. package/dist/codemode/index.js +0 -4
  248. package/dist/codemode/index.js.map +1 -1
  249. package/dist/codemode/sandbox.d.ts +14 -1
  250. package/dist/codemode/sandbox.d.ts.map +1 -1
  251. package/dist/codemode/sandbox.js +58 -19
  252. package/dist/codemode/sandbox.js.map +1 -1
  253. package/dist/codemode/types.d.ts.map +1 -1
  254. package/dist/codemode/types.js +3 -0
  255. package/dist/codemode/types.js.map +1 -1
  256. package/dist/constants/ServerInstructions.d.ts +5 -1
  257. package/dist/constants/ServerInstructions.d.ts.map +1 -1
  258. package/dist/constants/ServerInstructions.js +117 -31
  259. package/dist/constants/ServerInstructions.js.map +1 -1
  260. package/dist/filtering/ToolConstants.d.ts +22 -19
  261. package/dist/filtering/ToolConstants.d.ts.map +1 -1
  262. package/dist/filtering/ToolConstants.js +48 -37
  263. package/dist/filtering/ToolConstants.js.map +1 -1
  264. package/dist/filtering/ToolFilter.d.ts.map +1 -1
  265. package/dist/filtering/ToolFilter.js +10 -13
  266. package/dist/filtering/ToolFilter.js.map +1 -1
  267. package/dist/pool/ConnectionPool.js +1 -1
  268. package/dist/pool/ConnectionPool.js.map +1 -1
  269. package/dist/transports/http.d.ts +1 -0
  270. package/dist/transports/http.d.ts.map +1 -1
  271. package/dist/transports/http.js +75 -21
  272. package/dist/transports/http.js.map +1 -1
  273. package/dist/types/filtering.d.ts +2 -2
  274. package/dist/types/filtering.d.ts.map +1 -1
  275. package/dist/utils/icons.d.ts.map +1 -1
  276. package/dist/utils/icons.js +5 -0
  277. package/dist/utils/icons.js.map +1 -1
  278. package/dist/utils/where-clause.d.ts.map +1 -1
  279. package/dist/utils/where-clause.js +24 -0
  280. package/dist/utils/where-clause.js.map +1 -1
  281. package/package.json +20 -13
  282. package/dist/codemode/sandbox-factory.d.ts +0 -72
  283. package/dist/codemode/sandbox-factory.d.ts.map +0 -1
  284. package/dist/codemode/sandbox-factory.js +0 -88
  285. package/dist/codemode/sandbox-factory.js.map +0 -1
  286. package/dist/codemode/worker-sandbox.d.ts +0 -82
  287. package/dist/codemode/worker-sandbox.d.ts.map +0 -1
  288. package/dist/codemode/worker-sandbox.js +0 -244
  289. package/dist/codemode/worker-sandbox.js.map +0 -1
  290. package/dist/codemode/worker-script.d.ts +0 -8
  291. package/dist/codemode/worker-script.d.ts.map +0 -1
  292. package/dist/codemode/worker-script.js +0 -113
  293. package/dist/codemode/worker-script.js.map +0 -1
@@ -9,33 +9,76 @@ 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
- if (schema)
36
- whereClause += ` AND schemaname = '${schema}'`;
37
- if (table)
38
- whereClause += ` AND relname = '${table}'`;
73
+ const queryParams = [];
74
+ if (schema) {
75
+ queryParams.push(schema);
76
+ whereClause += ` AND schemaname = $${String(queryParams.length)}`;
77
+ }
78
+ if (table) {
79
+ queryParams.push(table);
80
+ whereClause += ` AND relname = $${String(queryParams.length)}`;
81
+ }
39
82
  const sql = `SELECT schemaname, relname as table_name, indexrelname as index_name,
40
83
  idx_scan as scans, idx_tup_read as tuples_read, idx_tup_fetch as tuples_fetched,
41
84
  pg_size_pretty(pg_relation_size(indexrelid)) as size
@@ -43,7 +86,7 @@ export function createIndexStatsTool(adapter) {
43
86
  WHERE ${whereClause}
44
87
  ORDER BY idx_scan DESC
45
88
  ${limit !== null ? `LIMIT ${String(limit)}` : ""}`;
46
- const result = await adapter.executeQuery(sql);
89
+ const result = await adapter.executeQuery(sql, queryParams);
47
90
  // Coerce numeric fields to JavaScript numbers
48
91
  const indexes = (result.rows ?? []).map((row) => ({
49
92
  ...row,
@@ -58,43 +101,61 @@ export function createIndexStatsTool(adapter) {
58
101
  // Add totalCount if results were limited
59
102
  if (limit !== null && indexes.length === limit) {
60
103
  const countSql = `SELECT COUNT(*) as total FROM pg_stat_user_indexes WHERE ${whereClause}`;
61
- const countResult = await adapter.executeQuery(countSql);
104
+ const countResult = await adapter.executeQuery(countSql, queryParams);
62
105
  response["totalCount"] = toNum(countResult.rows?.[0]?.["total"]);
63
106
  response["truncated"] = true;
64
107
  }
108
+ else {
109
+ response["truncated"] = false;
110
+ response["totalCount"] = indexes.length;
111
+ }
65
112
  return response;
66
113
  },
67
114
  };
68
115
  }
69
116
  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)"),
117
+ const TableStatsSchemaLocalBase = z.object({
118
+ table: z.string().optional().describe("Table name (all tables if omitted)"),
75
119
  schema: z.string().optional().describe("Schema name"),
76
120
  limit: z
77
121
  .number()
78
122
  .optional()
79
123
  .describe("Max rows to return (default: 50, use 0 for all)"),
80
- }));
124
+ });
125
+ const TableStatsSchemaLocal = z.preprocess(defaultToEmpty, TableStatsSchemaLocalBase);
81
126
  return {
82
127
  name: "pg_table_stats",
83
128
  description: "Get table access statistics.",
84
129
  group: "performance",
85
- inputSchema: TableStatsSchemaLocal,
130
+ inputSchema: TableStatsSchemaLocalBase,
86
131
  outputSchema: TableStatsOutputSchema,
87
132
  annotations: readOnly("Table Stats"),
88
133
  icons: getToolIcons("performance", readOnly("Table Stats")),
89
134
  handler: async (params, _context) => {
90
135
  const parsed = TableStatsSchemaLocal.parse(params);
91
- const { table, schema } = parsed;
136
+ let { table, schema } = parsed;
137
+ // Parse schema from table if it contains a dot (e.g., 'myschema.orders')
138
+ if (table?.includes(".")) {
139
+ const parts = table.split(".");
140
+ schema = schema ?? parts[0];
141
+ table = parts[1] ?? table;
142
+ }
92
143
  const limit = parsed.limit === 0 ? null : (parsed.limit ?? 50);
144
+ // P154: Validate table/schema existence before querying
145
+ const validationError = await validatePerformanceTableExists(adapter, table, schema);
146
+ if (validationError !== null) {
147
+ return { success: false, error: validationError };
148
+ }
93
149
  let whereClause = "schemaname NOT IN ('pg_catalog', 'information_schema')";
94
- if (schema)
95
- whereClause += ` AND schemaname = '${schema}'`;
96
- if (table)
97
- whereClause += ` AND relname = '${table}'`;
150
+ const queryParams = [];
151
+ if (schema) {
152
+ queryParams.push(schema);
153
+ whereClause += ` AND schemaname = $${String(queryParams.length)}`;
154
+ }
155
+ if (table) {
156
+ queryParams.push(table);
157
+ whereClause += ` AND relname = $${String(queryParams.length)}`;
158
+ }
98
159
  const sql = `SELECT schemaname, relname as table_name,
99
160
  seq_scan, seq_tup_read, idx_scan, idx_tup_fetch,
100
161
  n_tup_ins as inserts, n_tup_upd as updates, n_tup_del as deletes,
@@ -104,7 +165,7 @@ export function createTableStatsTool(adapter) {
104
165
  WHERE ${whereClause}
105
166
  ORDER BY seq_scan DESC
106
167
  ${limit !== null ? `LIMIT ${String(limit)}` : ""}`;
107
- const result = await adapter.executeQuery(sql);
168
+ const result = await adapter.executeQuery(sql, queryParams);
108
169
  // Coerce numeric fields to JavaScript numbers
109
170
  const tables = (result.rows ?? []).map((row) => ({
110
171
  ...row,
@@ -125,16 +186,20 @@ export function createTableStatsTool(adapter) {
125
186
  };
126
187
  if (limit !== null && tables.length === limit) {
127
188
  const countSql = `SELECT COUNT(*) as total FROM pg_stat_user_tables WHERE ${whereClause}`;
128
- const countResult = await adapter.executeQuery(countSql);
189
+ const countResult = await adapter.executeQuery(countSql, queryParams);
129
190
  response["totalCount"] = toNum(countResult.rows?.[0]?.["total"]);
130
191
  response["truncated"] = true;
131
192
  }
193
+ else {
194
+ response["truncated"] = false;
195
+ response["totalCount"] = tables.length;
196
+ }
132
197
  return response;
133
198
  },
134
199
  };
135
200
  }
136
201
  export function createStatStatementsTool(adapter) {
137
- const StatStatementsSchema = z.preprocess(defaultToEmpty, z.object({
202
+ const StatStatementsSchemaBase = z.object({
138
203
  limit: z
139
204
  .number()
140
205
  .optional()
@@ -143,12 +208,13 @@ export function createStatStatementsTool(adapter) {
143
208
  .enum(["total_time", "calls", "mean_time", "rows"])
144
209
  .optional()
145
210
  .describe("Sort order (default: total_time)"),
146
- }));
211
+ });
212
+ const StatStatementsSchema = z.preprocess(defaultToEmpty, StatStatementsSchemaBase);
147
213
  return {
148
214
  name: "pg_stat_statements",
149
215
  description: "Get query statistics from pg_stat_statements (requires extension).",
150
216
  group: "performance",
151
- inputSchema: StatStatementsSchema,
217
+ inputSchema: StatStatementsSchemaBase,
152
218
  outputSchema: StatStatementsOutputSchema,
153
219
  annotations: readOnly("Query Statistics"),
154
220
  icons: getToolIcons("performance", readOnly("Query Statistics")),
@@ -156,7 +222,7 @@ export function createStatStatementsTool(adapter) {
156
222
  const parsed = StatStatementsSchema.parse(params);
157
223
  const limit = parsed.limit === 0 ? null : (parsed.limit ?? 20);
158
224
  const orderBy = parsed.orderBy ?? "total_time";
159
- const sql = `SELECT query, calls, total_exec_time as total_time,
225
+ const sql = `SELECT query, calls, total_exec_time as total_time,
160
226
  mean_exec_time as mean_time, rows,
161
227
  shared_blks_hit, shared_blks_read
162
228
  FROM pg_stat_statements
@@ -187,14 +253,15 @@ export function createStatStatementsTool(adapter) {
187
253
  };
188
254
  }
189
255
  export function createStatActivityTool(adapter) {
190
- const StatActivitySchema = z.preprocess(defaultToEmpty, z.object({
256
+ const StatActivitySchemaBase = z.object({
191
257
  includeIdle: z.boolean().optional(),
192
- }));
258
+ });
259
+ const StatActivitySchema = z.preprocess(defaultToEmpty, StatActivitySchemaBase);
193
260
  return {
194
261
  name: "pg_stat_activity",
195
262
  description: "Get currently running queries and connections.",
196
263
  group: "performance",
197
- inputSchema: StatActivitySchema,
264
+ inputSchema: StatActivitySchemaBase,
198
265
  outputSchema: StatActivityOutputSchema,
199
266
  annotations: readOnly("Activity Stats"),
200
267
  icons: getToolIcons("performance", readOnly("Activity Stats")),
@@ -206,15 +273,25 @@ export function createStatActivityTool(adapter) {
206
273
  now() - query_start as duration,
207
274
  query
208
275
  FROM pg_stat_activity
209
- WHERE pid != pg_backend_pid() ${idleClause}
276
+ WHERE pid != pg_backend_pid()
277
+ AND backend_type = 'client backend'
278
+ ${idleClause}
210
279
  ORDER BY query_start`;
211
280
  const result = await adapter.executeQuery(sql);
212
- return { connections: result.rows, count: result.rows?.length ?? 0 };
281
+ // Count background workers for metadata
282
+ const bgResult = await adapter.executeQuery(`SELECT COUNT(*)::int as count FROM pg_stat_activity
283
+ WHERE pid != pg_backend_pid() AND backend_type != 'client backend'`);
284
+ const bgCount = bgResult.rows?.[0]?.["count"] ?? 0;
285
+ return {
286
+ connections: result.rows,
287
+ count: result.rows?.length ?? 0,
288
+ backgroundWorkers: bgCount,
289
+ };
213
290
  },
214
291
  };
215
292
  }
216
293
  export function createUnusedIndexesTool(adapter) {
217
- const UnusedIndexesSchema = z.preprocess(defaultToEmpty, z.object({
294
+ const UnusedIndexesSchemaBase = z.object({
218
295
  schema: z
219
296
  .string()
220
297
  .optional()
@@ -231,24 +308,35 @@ export function createUnusedIndexesTool(adapter) {
231
308
  .boolean()
232
309
  .optional()
233
310
  .describe("Return aggregated summary instead of full list"),
234
- }));
311
+ });
312
+ const UnusedIndexesSchema = z.preprocess(defaultToEmpty, UnusedIndexesSchemaBase);
235
313
  return {
236
314
  name: "pg_unused_indexes",
237
315
  description: "Find indexes that have never been used (idx_scan = 0). Candidates for removal.",
238
316
  group: "performance",
239
- inputSchema: UnusedIndexesSchema,
317
+ inputSchema: UnusedIndexesSchemaBase,
240
318
  outputSchema: UnusedIndexesOutputSchema,
241
319
  annotations: readOnly("Unused Indexes"),
242
320
  icons: getToolIcons("performance", readOnly("Unused Indexes")),
243
321
  handler: async (params, _context) => {
244
322
  const parsed = UnusedIndexesSchema.parse(params);
245
323
  const limit = parsed.limit === 0 ? null : (parsed.limit ?? 20);
324
+ // P154: Validate schema existence before querying
325
+ if (parsed.schema !== undefined) {
326
+ const validationError = await validatePerformanceTableExists(adapter, undefined, parsed.schema);
327
+ if (validationError !== null) {
328
+ return { success: false, error: validationError };
329
+ }
330
+ }
246
331
  let whereClause = "schemaname NOT IN ('pg_catalog', 'information_schema') AND idx_scan = 0";
247
- if (parsed.schema !== undefined)
248
- whereClause += ` AND schemaname = '${parsed.schema}'`;
332
+ const queryParams = [];
333
+ if (parsed.schema !== undefined) {
334
+ queryParams.push(parsed.schema);
335
+ whereClause += ` AND schemaname = $${String(queryParams.length)}`;
336
+ }
249
337
  // Summary mode - return aggregated stats
250
338
  if (parsed.summary === true) {
251
- const summarySql = `SELECT schemaname,
339
+ const summarySql = `SELECT schemaname,
252
340
  COUNT(*) as unused_count,
253
341
  pg_size_pretty(SUM(pg_relation_size(indexrelid))) as total_size,
254
342
  SUM(pg_relation_size(indexrelid)) as total_size_bytes
@@ -257,7 +345,7 @@ export function createUnusedIndexesTool(adapter) {
257
345
  ${parsed.minSize !== undefined ? `AND pg_relation_size(indexrelid) >= pg_size_bytes('${parsed.minSize}')` : ""}
258
346
  GROUP BY schemaname
259
347
  ORDER BY SUM(pg_relation_size(indexrelid)) DESC`;
260
- const summaryResult = await adapter.executeQuery(summarySql);
348
+ const summaryResult = await adapter.executeQuery(summarySql, queryParams);
261
349
  const bySchema = (summaryResult.rows ?? []).map((row) => ({
262
350
  schema: row["schemaname"],
263
351
  unusedCount: toNum(row["unused_count"]),
@@ -283,7 +371,7 @@ export function createUnusedIndexesTool(adapter) {
283
371
  ${parsed.minSize !== undefined ? `AND pg_relation_size(indexrelid) >= pg_size_bytes('${parsed.minSize}')` : ""}
284
372
  ORDER BY pg_relation_size(indexrelid) DESC
285
373
  ${limit !== null ? `LIMIT ${String(limit)}` : ""}`;
286
- const result = await adapter.executeQuery(sql);
374
+ const result = await adapter.executeQuery(sql, queryParams);
287
375
  // Coerce numeric fields to JavaScript numbers
288
376
  const unusedIndexes = (result.rows ?? []).map((row) => ({
289
377
  ...row,
@@ -300,7 +388,7 @@ export function createUnusedIndexesTool(adapter) {
300
388
  if (limit !== null && unusedIndexes.length === limit) {
301
389
  const countSql = `SELECT COUNT(*) as total FROM pg_stat_user_indexes WHERE ${whereClause}
302
390
  ${parsed.minSize !== undefined ? `AND pg_relation_size(indexrelid) >= pg_size_bytes('${parsed.minSize}')` : ""}`;
303
- const countResult = await adapter.executeQuery(countSql);
391
+ const countResult = await adapter.executeQuery(countSql, queryParams);
304
392
  response["totalCount"] = toNum(countResult.rows?.[0]?.["total"]);
305
393
  response["truncated"] = true;
306
394
  }
@@ -309,7 +397,7 @@ export function createUnusedIndexesTool(adapter) {
309
397
  };
310
398
  }
311
399
  export function createDuplicateIndexesTool(adapter) {
312
- const DuplicateIndexesSchema = z.preprocess(defaultToEmpty, z.object({
400
+ const DuplicateIndexesSchemaBase = z.object({
313
401
  schema: z
314
402
  .string()
315
403
  .optional()
@@ -318,20 +406,30 @@ export function createDuplicateIndexesTool(adapter) {
318
406
  .number()
319
407
  .optional()
320
408
  .describe("Max rows to return (default: 50, use 0 for all)"),
321
- }));
409
+ });
410
+ const DuplicateIndexesSchema = z.preprocess(defaultToEmpty, DuplicateIndexesSchemaBase);
322
411
  return {
323
412
  name: "pg_duplicate_indexes",
324
413
  description: "Find duplicate or overlapping indexes (same leading columns). Candidates for consolidation.",
325
414
  group: "performance",
326
- inputSchema: DuplicateIndexesSchema,
415
+ inputSchema: DuplicateIndexesSchemaBase,
327
416
  outputSchema: DuplicateIndexesOutputSchema,
328
417
  annotations: readOnly("Duplicate Indexes"),
329
418
  icons: getToolIcons("performance", readOnly("Duplicate Indexes")),
330
419
  handler: async (params, _context) => {
331
420
  const parsed = DuplicateIndexesSchema.parse(params);
332
421
  const limit = parsed.limit === 0 ? null : (parsed.limit ?? 50);
422
+ // P154: Validate schema existence before querying
423
+ if (parsed.schema !== undefined) {
424
+ const validationError = await validatePerformanceTableExists(adapter, undefined, parsed.schema);
425
+ if (validationError !== null) {
426
+ return { success: false, error: validationError };
427
+ }
428
+ }
429
+ const queryParams = [];
333
430
  const schemaFilter = parsed.schema !== undefined
334
- ? `AND n.nspname = '${parsed.schema}'`
431
+ ? (queryParams.push(parsed.schema),
432
+ `AND n.nspname = $${String(queryParams.length)}`)
335
433
  : "AND n.nspname NOT IN ('pg_catalog', 'information_schema')";
336
434
  // Find indexes with the same leading column(s) on the same table
337
435
  const sql = `WITH index_cols AS (
@@ -369,7 +467,7 @@ export function createDuplicateIndexesTool(adapter) {
369
467
  OR b.columns[1:array_length(a.columns, 1)] = a.columns)
370
468
  ORDER BY a.schemaname, a.tablename, a.size_bytes DESC
371
469
  ${limit !== null ? `LIMIT ${String(limit)}` : ""}`;
372
- const result = await adapter.executeQuery(sql);
470
+ const result = await adapter.executeQuery(sql, queryParams);
373
471
  const duplicates = result.rows ?? [];
374
472
  const response = {
375
473
  duplicateIndexes: duplicates,
@@ -402,7 +500,7 @@ export function createDuplicateIndexesTool(adapter) {
402
500
  AND (a.columns = b.columns
403
501
  OR a.columns[1:array_length(b.columns, 1)] = b.columns
404
502
  OR b.columns[1:array_length(a.columns, 1)] = a.columns)`;
405
- const countResult = await adapter.executeQuery(countSql);
503
+ const countResult = await adapter.executeQuery(countSql, queryParams);
406
504
  response["totalCount"] = toNum(countResult.rows?.[0]?.["total"]);
407
505
  response["truncated"] = true;
408
506
  }
@@ -411,30 +509,49 @@ export function createDuplicateIndexesTool(adapter) {
411
509
  };
412
510
  }
413
511
  export function createVacuumStatsTool(adapter) {
414
- const VacuumStatsSchema = z.preprocess(defaultToEmpty, z.object({
512
+ const VacuumStatsSchemaBase = z.object({
415
513
  schema: z.string().optional().describe("Schema to filter"),
416
514
  table: z.string().optional().describe("Table name to filter"),
417
515
  limit: z
418
516
  .number()
419
517
  .optional()
420
518
  .describe("Max rows to return (default: 50, use 0 for all)"),
421
- }));
519
+ });
520
+ const VacuumStatsSchema = z.preprocess(defaultToEmpty, VacuumStatsSchemaBase);
422
521
  return {
423
522
  name: "pg_vacuum_stats",
424
523
  description: "Get detailed vacuum statistics including dead tuples, last vacuum times, and wraparound risk.",
425
524
  group: "performance",
426
- inputSchema: VacuumStatsSchema,
525
+ inputSchema: VacuumStatsSchemaBase,
427
526
  outputSchema: VacuumStatsOutputSchema,
428
527
  annotations: readOnly("Vacuum Stats"),
429
528
  icons: getToolIcons("performance", readOnly("Vacuum Stats")),
430
529
  handler: async (params, _context) => {
431
530
  const parsed = VacuumStatsSchema.parse(params);
531
+ let table = parsed.table;
532
+ let schema = parsed.schema;
533
+ // Parse schema from table if it contains a dot (e.g., 'myschema.orders')
534
+ if (table?.includes(".")) {
535
+ const parts = table.split(".");
536
+ schema = schema ?? parts[0];
537
+ table = parts[1] ?? table;
538
+ }
432
539
  const limit = parsed.limit === 0 ? null : (parsed.limit ?? 50);
433
540
  let whereClause = "schemaname NOT IN ('pg_catalog', 'information_schema')";
434
- if (parsed.schema !== undefined)
435
- whereClause += ` AND schemaname = '${parsed.schema}'`;
436
- if (parsed.table !== undefined)
437
- whereClause += ` AND relname = '${parsed.table}'`;
541
+ const queryParams = [];
542
+ if (schema !== undefined) {
543
+ queryParams.push(schema);
544
+ whereClause += ` AND schemaname = $${String(queryParams.length)}`;
545
+ }
546
+ if (table !== undefined) {
547
+ queryParams.push(table);
548
+ whereClause += ` AND relname = $${String(queryParams.length)}`;
549
+ }
550
+ // P154: Validate table/schema existence before querying
551
+ const validationError = await validatePerformanceTableExists(adapter, table, schema);
552
+ if (validationError !== null) {
553
+ return { success: false, error: validationError };
554
+ }
438
555
  const sql = `SELECT
439
556
  s.schemaname, s.relname as table_name,
440
557
  s.n_live_tup as live_tuples, s.n_dead_tup as dead_tuples,
@@ -455,7 +572,7 @@ export function createVacuumStatsTool(adapter) {
455
572
  WHERE ${whereClause.replace(/schemaname/g, "s.schemaname").replace(/relname/g, "s.relname")}
456
573
  ORDER BY s.n_dead_tup DESC
457
574
  ${limit !== null ? `LIMIT ${String(limit)}` : ""}`;
458
- const result = await adapter.executeQuery(sql);
575
+ const result = await adapter.executeQuery(sql, queryParams);
459
576
  // Coerce numeric fields to JavaScript numbers
460
577
  const tables = (result.rows ?? []).map((row) => ({
461
578
  ...row,
@@ -474,16 +591,20 @@ export function createVacuumStatsTool(adapter) {
474
591
  // Add totalCount if results were limited
475
592
  if (limit !== null && tables.length === limit) {
476
593
  const countSql = `SELECT COUNT(*) as total FROM pg_stat_user_tables WHERE ${whereClause}`;
477
- const countResult = await adapter.executeQuery(countSql);
594
+ const countResult = await adapter.executeQuery(countSql, queryParams);
478
595
  response["totalCount"] = toNum(countResult.rows?.[0]?.["total"]);
479
596
  response["truncated"] = true;
480
597
  }
598
+ else {
599
+ response["truncated"] = false;
600
+ response["totalCount"] = tables.length;
601
+ }
481
602
  return response;
482
603
  },
483
604
  };
484
605
  }
485
606
  export function createQueryPlanStatsTool(adapter) {
486
- const QueryPlanStatsSchema = z.preprocess(defaultToEmpty, z.object({
607
+ const QueryPlanStatsSchemaBase = z.object({
487
608
  limit: z
488
609
  .number()
489
610
  .optional()
@@ -492,12 +613,13 @@ export function createQueryPlanStatsTool(adapter) {
492
613
  .number()
493
614
  .optional()
494
615
  .describe("Max query length in chars (default: 100, use 0 for full text)"),
495
- }));
616
+ });
617
+ const QueryPlanStatsSchema = z.preprocess(defaultToEmpty, QueryPlanStatsSchemaBase);
496
618
  return {
497
619
  name: "pg_query_plan_stats",
498
620
  description: "Get query plan statistics showing planning time vs execution time (requires pg_stat_statements).",
499
621
  group: "performance",
500
- inputSchema: QueryPlanStatsSchema,
622
+ inputSchema: QueryPlanStatsSchemaBase,
501
623
  outputSchema: QueryPlanStatsOutputSchema,
502
624
  annotations: readOnly("Query Plan Stats"),
503
625
  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":"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"}
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"}