@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
@@ -6,8 +6,9 @@
6
6
  */
7
7
  import { z } from "zod";
8
8
  import { readOnly } from "../../../utils/annotations.js";
9
+ import { formatPostgresError } from "./core/error-helpers.js";
9
10
  import { getToolIcons } from "../../../utils/icons.js";
10
- import { DatabaseSizeSchema, TableSizesSchema, ShowSettingsSchema,
11
+ import { DatabaseSizeSchemaBase, DatabaseSizeSchema, TableSizesSchemaBase, TableSizesSchema, ShowSettingsSchemaBase, ShowSettingsSchema,
11
12
  // Output schemas
12
13
  DatabaseSizeOutputSchema, TableSizesOutputSchema, ConnectionStatsOutputSchema, ReplicationStatusOutputSchema, ServerVersionOutputSchema, ShowSettingsOutputSchema, UptimeOutputSchema, RecoveryStatusOutputSchema, CapacityPlanningOutputSchema, ResourceUsageAnalyzeOutputSchema, AlertThresholdOutputSchema, } from "../schemas/index.js";
13
14
  /**
@@ -33,7 +34,7 @@ function createDatabaseSizeTool(adapter) {
33
34
  name: "pg_database_size",
34
35
  description: "Get the size of a database.",
35
36
  group: "monitoring",
36
- inputSchema: DatabaseSizeSchema,
37
+ inputSchema: DatabaseSizeSchemaBase,
37
38
  outputSchema: DatabaseSizeOutputSchema,
38
39
  annotations: readOnly("Database Size"),
39
40
  icons: getToolIcons("monitoring", readOnly("Database Size")),
@@ -42,14 +43,22 @@ function createDatabaseSizeTool(adapter) {
42
43
  const sql = database
43
44
  ? `SELECT pg_database_size($1) as bytes, pg_size_pretty(pg_database_size($1)) as size`
44
45
  : `SELECT pg_database_size(current_database()) as bytes, pg_size_pretty(pg_database_size(current_database())) as size`;
45
- const result = await adapter.executeQuery(sql, database ? [database] : []);
46
- const row = result.rows?.[0];
47
- if (!row)
48
- return row;
49
- return {
50
- ...row,
51
- bytes: parseInt(String(row.bytes), 10),
52
- };
46
+ try {
47
+ const result = await adapter.executeQuery(sql, database ? [database] : []);
48
+ const row = result.rows?.[0];
49
+ if (!row)
50
+ return row;
51
+ return {
52
+ ...row,
53
+ bytes: parseInt(String(row.bytes), 10),
54
+ };
55
+ }
56
+ catch (err) {
57
+ return {
58
+ success: false,
59
+ error: formatPostgresError(err, { tool: "pg_database_size" }),
60
+ };
61
+ }
53
62
  },
54
63
  };
55
64
  }
@@ -58,13 +67,24 @@ function createTableSizesTool(adapter) {
58
67
  name: "pg_table_sizes",
59
68
  description: "Get sizes of all tables with indexes and total.",
60
69
  group: "monitoring",
61
- inputSchema: TableSizesSchema,
70
+ inputSchema: TableSizesSchemaBase,
62
71
  outputSchema: TableSizesOutputSchema,
63
72
  annotations: readOnly("Table Sizes"),
64
73
  icons: getToolIcons("monitoring", readOnly("Table Sizes")),
65
74
  handler: async (params, _context) => {
66
75
  const { schema, limit } = TableSizesSchema.parse(params);
67
- const schemaClause = schema ? `AND n.nspname = '${schema}'` : "";
76
+ // P154: Validate schema existence before querying
77
+ if (schema) {
78
+ const schemaCheck = await adapter.executeQuery(`SELECT 1 FROM information_schema.schemata WHERE schema_name = $1`, [schema]);
79
+ if (schemaCheck.rows?.length === 0) {
80
+ return {
81
+ success: false,
82
+ error: `Schema '${schema}' does not exist. Use pg_list_schemas to see available schemas.`,
83
+ };
84
+ }
85
+ }
86
+ const schemaClause = schema ? `AND n.nspname = $1` : "";
87
+ const queryParams = schema ? [schema] : [];
68
88
  // Apply limit (default 50)
69
89
  const effectiveLimit = limit !== undefined && limit > 0 ? limit : 50;
70
90
  const limitClause = ` LIMIT ${String(effectiveLimit)}`;
@@ -79,7 +99,7 @@ function createTableSizesTool(adapter) {
79
99
  AND n.nspname NOT IN ('pg_catalog', 'information_schema')
80
100
  ${schemaClause}
81
101
  ORDER BY pg_total_relation_size(c.oid) DESC${limitClause}`;
82
- const result = await adapter.executeQuery(sql);
102
+ const result = await adapter.executeQuery(sql, queryParams);
83
103
  // Coerce total_bytes to number for each table row
84
104
  const tables = (result.rows ?? []).map((row) => {
85
105
  const totalBytes = row["total_bytes"];
@@ -100,7 +120,7 @@ function createTableSizesTool(adapter) {
100
120
  WHERE c.relkind IN ('r', 'p')
101
121
  AND n.nspname NOT IN ('pg_catalog', 'information_schema')
102
122
  ${schemaClause}`;
103
- const countResult = await adapter.executeQuery(countSql);
123
+ const countResult = await adapter.executeQuery(countSql, queryParams);
104
124
  const totalCount = Number(countResult.rows?.[0]?.["total"] ?? 0);
105
125
  return {
106
126
  tables,
@@ -175,7 +195,7 @@ function createReplicationStatusTool(adapter) {
175
195
  const recoveryResult = await adapter.executeQuery(`SELECT pg_is_in_recovery() as is_replica`);
176
196
  const isReplica = recoveryResult.rows?.[0]?.["is_replica"];
177
197
  if (isReplica === true) {
178
- const sql = `SELECT
198
+ const sql = `SELECT
179
199
  now() - pg_last_xact_replay_timestamp() as replay_lag,
180
200
  pg_last_wal_receive_lsn() as receive_lsn,
181
201
  pg_last_wal_replay_lsn() as replay_lsn`;
@@ -221,7 +241,7 @@ function createShowSettingsTool(adapter) {
221
241
  name: "pg_show_settings",
222
242
  description: "Show current PostgreSQL configuration settings. Filter by name pattern or exact setting name. Accepts: pattern, setting, or name parameter.",
223
243
  group: "monitoring",
224
- inputSchema: ShowSettingsSchema,
244
+ inputSchema: ShowSettingsSchemaBase,
225
245
  outputSchema: ShowSettingsOutputSchema,
226
246
  annotations: readOnly("Show Settings"),
227
247
  icons: getToolIcons("monitoring", readOnly("Show Settings")),
@@ -280,7 +300,7 @@ function createUptimeTool(adapter) {
280
300
  annotations: readOnly("Server Uptime"),
281
301
  icons: getToolIcons("monitoring", readOnly("Server Uptime")),
282
302
  handler: async (_params, _context) => {
283
- const sql = `SELECT
303
+ const sql = `SELECT
284
304
  pg_postmaster_start_time() as start_time,
285
305
  EXTRACT(EPOCH FROM (now() - pg_postmaster_start_time())) as total_seconds`;
286
306
  const result = await adapter.executeQuery(sql);
@@ -318,9 +338,9 @@ function createRecoveryStatusTool(adapter) {
318
338
  icons: getToolIcons("monitoring", readOnly("Recovery Status")),
319
339
  handler: async (_params, _context) => {
320
340
  const sql = `SELECT pg_is_in_recovery() as in_recovery,
321
- CASE WHEN pg_is_in_recovery()
322
- THEN pg_last_xact_replay_timestamp()
323
- ELSE NULL
341
+ CASE WHEN pg_is_in_recovery()
342
+ THEN pg_last_xact_replay_timestamp()
343
+ ELSE NULL
324
344
  END as last_replay_timestamp`;
325
345
  const result = await adapter.executeQuery(sql);
326
346
  return result.rows?.[0];
@@ -365,16 +385,31 @@ function createCapacityPlanningTool(adapter) {
365
385
  annotations: readOnly("Capacity Planning"),
366
386
  icons: getToolIcons("monitoring", readOnly("Capacity Planning")),
367
387
  handler: async (params, _context) => {
368
- const parsed = CapacityPlanningSchema.parse(params ?? {});
388
+ let parsed;
389
+ try {
390
+ parsed = CapacityPlanningSchema.parse(params ?? {});
391
+ }
392
+ catch (err) {
393
+ if (err instanceof z.ZodError) {
394
+ return {
395
+ success: false,
396
+ error: err.issues.map((i) => i.message).join("; "),
397
+ };
398
+ }
399
+ return {
400
+ success: false,
401
+ error: formatPostgresError(err, { tool: "pg_capacity_planning" }),
402
+ };
403
+ }
369
404
  const projectionDays = parsed.projectionDays;
370
405
  const [dbSize, tableStats, connStats, statsAge] = await Promise.all([
371
406
  adapter.executeQuery(`
372
- SELECT
407
+ SELECT
373
408
  pg_database_size(current_database()) as current_size_bytes,
374
409
  pg_size_pretty(pg_database_size(current_database())) as current_size
375
410
  `),
376
411
  adapter.executeQuery(`
377
- SELECT
412
+ SELECT
378
413
  count(*) as table_count,
379
414
  sum(n_live_tup) as total_rows,
380
415
  sum(n_tup_ins) as total_inserts,
@@ -382,7 +417,7 @@ function createCapacityPlanningTool(adapter) {
382
417
  FROM pg_stat_user_tables
383
418
  `),
384
419
  adapter.executeQuery(`
385
- SELECT
420
+ SELECT
386
421
  current_setting('max_connections')::int as max_connections,
387
422
  count(*) as current_connections
388
423
  FROM pg_stat_activity
@@ -392,7 +427,7 @@ function createCapacityPlanningTool(adapter) {
392
427
  // Use pg_stat_database.stats_reset (works in all PG versions including 17+)
393
428
  // Fall back to server start time if stats_reset is NULL
394
429
  adapter.executeQuery(`
395
- SELECT
430
+ SELECT
396
431
  COALESCE(
397
432
  (SELECT stats_reset FROM pg_stat_database WHERE datname = current_database()),
398
433
  pg_postmaster_start_time()
@@ -520,12 +555,12 @@ function createResourceUsageAnalyzeTool(adapter) {
520
555
  // PG17+ moved buffers_checkpoint to pg_stat_checkpointer as buffers_written
521
556
  isPg17Plus
522
557
  ? adapter.executeQuery(`
523
- SELECT
558
+ SELECT
524
559
  buffers_clean, maxwritten_clean, buffers_alloc
525
560
  FROM pg_stat_bgwriter
526
561
  `)
527
562
  : adapter.executeQuery(`
528
- SELECT
563
+ SELECT
529
564
  buffers_checkpoint, buffers_clean, buffers_backend,
530
565
  maxwritten_clean, buffers_alloc
531
566
  FROM pg_stat_bgwriter
@@ -533,22 +568,22 @@ function createResourceUsageAnalyzeTool(adapter) {
533
568
  // PG17+ moved checkpoint stats to pg_stat_checkpointer with renamed columns
534
569
  isPg17Plus
535
570
  ? adapter.executeQuery(`
536
- SELECT
537
- num_timed as checkpoints_timed,
571
+ SELECT
572
+ num_timed as checkpoints_timed,
538
573
  num_requested as checkpoints_req,
539
- write_time as checkpoint_write_time,
574
+ write_time as checkpoint_write_time,
540
575
  sync_time as checkpoint_sync_time,
541
576
  buffers_written as buffers_checkpoint
542
577
  FROM pg_stat_checkpointer
543
578
  `)
544
579
  : adapter.executeQuery(`
545
- SELECT
580
+ SELECT
546
581
  checkpoints_timed, checkpoints_req,
547
582
  checkpoint_write_time, checkpoint_sync_time
548
583
  FROM pg_stat_bgwriter
549
584
  `),
550
585
  adapter.executeQuery(`
551
- SELECT
586
+ SELECT
552
587
  state, wait_event_type, wait_event,
553
588
  count(*) as count
554
589
  FROM pg_stat_activity
@@ -556,7 +591,7 @@ function createResourceUsageAnalyzeTool(adapter) {
556
591
  GROUP BY state, wait_event_type, wait_event
557
592
  `),
558
593
  adapter.executeQuery(`
559
- SELECT
594
+ SELECT
560
595
  sum(heap_blks_read) as heap_reads,
561
596
  sum(heap_blks_hit) as heap_hits,
562
597
  sum(idx_blks_read) as index_reads,
@@ -564,7 +599,7 @@ function createResourceUsageAnalyzeTool(adapter) {
564
599
  FROM pg_statio_user_tables
565
600
  `),
566
601
  adapter.executeQuery(`
567
- SELECT
602
+ SELECT
568
603
  count(*) FILTER (WHERE state = 'active') as active_queries,
569
604
  count(*) FILTER (WHERE state = 'idle') as idle_connections,
570
605
  count(*) FILTER (WHERE wait_event_type = 'Lock') as lock_waiting,
@@ -687,36 +722,32 @@ function createAlertThresholdSetTool(_adapter) {
687
722
  group: "monitoring",
688
723
  inputSchema: z.object({
689
724
  metric: z
690
- .enum([
691
- "connection_usage",
692
- "cache_hit_ratio",
693
- "replication_lag",
694
- "dead_tuples",
695
- "long_running_queries",
696
- "lock_wait_time",
697
- ])
725
+ .string()
698
726
  .optional()
699
- .describe("Specific metric to get thresholds for, or all if not specified"),
727
+ .describe("Specific metric to get thresholds for, or all if not specified. Valid: connection_usage, cache_hit_ratio, replication_lag, dead_tuples, long_running_queries, lock_wait_time"),
700
728
  }),
701
729
  outputSchema: AlertThresholdOutputSchema,
702
730
  annotations: readOnly("Get Alert Thresholds"),
703
731
  icons: getToolIcons("monitoring", readOnly("Get Alert Thresholds")),
704
732
  handler: (params, _context) => {
705
- // Schema with validated enum for metric
706
733
  const AlertThresholdSchema = z.object({
707
- metric: z
708
- .enum([
709
- "connection_usage",
710
- "cache_hit_ratio",
711
- "replication_lag",
712
- "dead_tuples",
713
- "long_running_queries",
714
- "lock_wait_time",
715
- ])
716
- .optional()
717
- .describe("Specific metric to get thresholds for, or all if not specified"),
734
+ metric: z.string().optional(),
718
735
  });
719
736
  const parsed = AlertThresholdSchema.parse(params ?? {});
737
+ const validMetrics = [
738
+ "connection_usage",
739
+ "cache_hit_ratio",
740
+ "replication_lag",
741
+ "dead_tuples",
742
+ "long_running_queries",
743
+ "lock_wait_time",
744
+ ];
745
+ if (parsed.metric && !validMetrics.includes(parsed.metric)) {
746
+ return Promise.resolve({
747
+ success: false,
748
+ error: `Invalid metric "${parsed.metric}". Valid metrics: ${validMetrics.join(", ")}`,
749
+ });
750
+ }
720
751
  const thresholds = {
721
752
  connection_usage: {
722
753
  warning: "70%",
@@ -1 +1 @@
1
- {"version":3,"file":"monitoring.js","sourceRoot":"","sources":["../../../../src/adapters/postgresql/tools/monitoring.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"monitoring.js","sourceRoot":"","sources":["../../../../src/adapters/postgresql/tools/monitoring.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"partitioning.d.ts","sourceRoot":"","sources":["../../../../src/adapters/postgresql/tools/partitioning.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,yBAAyB,CAAC;AAoF9E;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,eAAe,GACvB,cAAc,EAAE,CASlB"}
1
+ {"version":3,"file":"partitioning.d.ts","sourceRoot":"","sources":["../../../../src/adapters/postgresql/tools/partitioning.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,yBAAyB,CAAC;AAqF9E;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,eAAe,GACvB,cAAc,EAAE,CASlB"}
@@ -5,6 +5,7 @@
5
5
  * 6 tools total.
6
6
  */
7
7
  import { readOnly, write, destructive } from "../../../utils/annotations.js";
8
+ import { formatPostgresError } from "./core/error-helpers.js";
8
9
  import { getToolIcons } from "../../../utils/icons.js";
9
10
  import { sanitizeIdentifier, sanitizeTableName, } from "../../../utils/identifiers.js";
10
11
  import {
@@ -170,7 +171,16 @@ function createPartitionedTableTool(adapter) {
170
171
  annotations: write("Create Partitioned Table"),
171
172
  icons: getToolIcons("partitioning", write("Create Partitioned Table")),
172
173
  handler: async (params, _context) => {
173
- const parsed = CreatePartitionedTableSchema.parse(params);
174
+ let parsed;
175
+ try {
176
+ parsed = CreatePartitionedTableSchema.parse(params);
177
+ }
178
+ catch (zodError) {
179
+ return {
180
+ success: false,
181
+ error: zodError instanceof Error ? zodError.message : String(zodError),
182
+ };
183
+ }
174
184
  const { name, schema, columns, partitionBy, partitionKey, primaryKey } = parsed;
175
185
  const tableName = sanitizeTableName(name, schema);
176
186
  // Parse partition key columns (may be comma-separated for multi-column keys)
@@ -184,10 +194,13 @@ function createPartitionedTableTool(adapter) {
184
194
  if (primaryKey && primaryKey.length > 0) {
185
195
  const missingColumns = partitionKeyColumns.filter((col) => !primaryKey.includes(col));
186
196
  if (missingColumns.length > 0) {
187
- throw new Error(`Primary key must include all partition key columns. ` +
188
- `Missing: [${missingColumns.join(", ")}]. ` +
189
- `Got primaryKey: [${primaryKey.join(", ")}], partitionKey columns: [${partitionKeyColumns.join(", ")}]. ` +
190
- `PostgreSQL requires all partition key columns to be part of primary key constraints on partitioned tables.`);
197
+ return {
198
+ success: false,
199
+ error: `Primary key must include all partition key columns. ` +
200
+ `Missing: [${missingColumns.join(", ")}]. ` +
201
+ `Got primaryKey: [${primaryKey.join(", ")}], partitionKey columns: [${partitionKeyColumns.join(", ")}]. ` +
202
+ `PostgreSQL requires all partition key columns to be part of primary key constraints on partitioned tables.`,
203
+ };
191
204
  }
192
205
  }
193
206
  // Validate column-level primaryKey includes ALL partition key columns
@@ -196,10 +209,13 @@ function createPartitionedTableTool(adapter) {
196
209
  const pkColumnNames = columnsWithPK.map((col) => col.name);
197
210
  const missingCols = partitionKeyColumns.filter((col) => !pkColumnNames.includes(col));
198
211
  if (missingCols.length > 0) {
199
- throw new Error(`Primary key must include all partition key columns. ` +
200
- `Missing: [${missingCols.join(", ")}]. ` +
201
- `Columns with primaryKey: true: [${pkColumnNames.join(", ")}], partitionKey columns: [${partitionKeyColumns.join(", ")}]. ` +
202
- `PostgreSQL requires all partition key columns to be part of primary key constraints on partitioned tables.`);
212
+ return {
213
+ success: false,
214
+ error: `Primary key must include all partition key columns. ` +
215
+ `Missing: [${missingCols.join(", ")}]. ` +
216
+ `Columns with primaryKey: true: [${pkColumnNames.join(", ")}], partitionKey columns: [${partitionKeyColumns.join(", ")}]. ` +
217
+ `PostgreSQL requires all partition key columns to be part of primary key constraints on partitioned tables.`,
218
+ };
203
219
  }
204
220
  }
205
221
  // Determine if we need a table-level PRIMARY KEY constraint
@@ -254,7 +270,19 @@ function createPartitionedTableTool(adapter) {
254
270
  const sql = `CREATE TABLE ${tableName} (
255
271
  ${columnDefs}${tableConstraints}
256
272
  ) PARTITION BY ${partitionBy.toUpperCase()} (${partitionKey})`;
257
- await adapter.executeQuery(sql);
273
+ try {
274
+ await adapter.executeQuery(sql);
275
+ }
276
+ catch (error) {
277
+ return {
278
+ success: false,
279
+ error: formatPostgresError(error, {
280
+ tool: "pg_create_partitioned_table",
281
+ table: name,
282
+ ...(schema !== undefined && { schema }),
283
+ }),
284
+ };
285
+ }
258
286
  return {
259
287
  success: true,
260
288
  table: `${schema ?? "public"}.${name}`,
@@ -280,7 +308,10 @@ function createPartitionTool(adapter) {
280
308
  const { parent, name, schema, forValues, subpartitionBy, subpartitionKey, } = parsed;
281
309
  // Validate sub-partitioning parameters
282
310
  if (subpartitionBy !== undefined && subpartitionKey === undefined) {
283
- throw new Error("subpartitionKey is required when subpartitionBy is specified");
311
+ return {
312
+ success: false,
313
+ error: "subpartitionKey is required when subpartitionBy is specified",
314
+ };
284
315
  }
285
316
  // Check parent table existence and partition status before SQL execution
286
317
  const parsedParentCheck = parseSchemaTable(parent, schema);
@@ -323,7 +354,18 @@ function createPartitionTool(adapter) {
323
354
  if (subpartitionBy !== undefined && subpartitionKey !== undefined) {
324
355
  sql += ` PARTITION BY ${subpartitionBy.toUpperCase()} (${subpartitionKey})`;
325
356
  }
326
- await adapter.executeQuery(sql);
357
+ try {
358
+ await adapter.executeQuery(sql);
359
+ }
360
+ catch (error) {
361
+ return {
362
+ success: false,
363
+ error: formatPostgresError(error, {
364
+ tool: "pg_create_partition",
365
+ table: name,
366
+ }),
367
+ };
368
+ }
327
369
  const result = {
328
370
  success: true,
329
371
  partition: `${resolvedSchema}.${name}`,
@@ -402,7 +444,18 @@ function createAttachPartitionTool(adapter) {
402
444
  sql = `ALTER TABLE ${parentName} ATTACH PARTITION ${partitionName} FOR VALUES ${forValues}`;
403
445
  boundsDescription = forValues;
404
446
  }
405
- await adapter.executeQuery(sql);
447
+ try {
448
+ await adapter.executeQuery(sql);
449
+ }
450
+ catch (error) {
451
+ return {
452
+ success: false,
453
+ error: formatPostgresError(error, {
454
+ tool: "pg_attach_partition",
455
+ table: parsedPartition.table,
456
+ }),
457
+ };
458
+ }
406
459
  return {
407
460
  success: true,
408
461
  parent: parsedParent.table,
@@ -470,11 +523,22 @@ function createDetachPartitionTool(adapter) {
470
523
  clause = " CONCURRENTLY";
471
524
  }
472
525
  const sql = `ALTER TABLE ${parentName} DETACH PARTITION ${partitionName}${clause}`;
473
- await adapter.executeQuery(sql);
526
+ try {
527
+ await adapter.executeQuery(sql);
528
+ }
529
+ catch (error) {
530
+ return {
531
+ success: false,
532
+ error: formatPostgresError(error, {
533
+ tool: "pg_detach_partition",
534
+ table: parsedPartition.table,
535
+ }),
536
+ };
537
+ }
474
538
  return {
475
539
  success: true,
476
540
  parent: parsedParent.table,
477
- detached: parsedPartition.table,
541
+ partition: parsedPartition.table,
478
542
  };
479
543
  },
480
544
  };