@neverinfamous/postgres-mcp 1.3.0 → 2.1.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 (548) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +244 -129
  3. package/dist/__tests__/benchmarks/codemode.bench.d.ts +10 -0
  4. package/dist/__tests__/benchmarks/codemode.bench.d.ts.map +1 -0
  5. package/dist/__tests__/benchmarks/codemode.bench.js +159 -0
  6. package/dist/__tests__/benchmarks/codemode.bench.js.map +1 -0
  7. package/dist/__tests__/benchmarks/connection-pool.bench.d.ts +10 -0
  8. package/dist/__tests__/benchmarks/connection-pool.bench.d.ts.map +1 -0
  9. package/dist/__tests__/benchmarks/connection-pool.bench.js +123 -0
  10. package/dist/__tests__/benchmarks/connection-pool.bench.js.map +1 -0
  11. package/dist/__tests__/benchmarks/handler-dispatch.bench.d.ts +11 -0
  12. package/dist/__tests__/benchmarks/handler-dispatch.bench.d.ts.map +1 -0
  13. package/dist/__tests__/benchmarks/handler-dispatch.bench.js +199 -0
  14. package/dist/__tests__/benchmarks/handler-dispatch.bench.js.map +1 -0
  15. package/dist/__tests__/benchmarks/logger-sanitization.bench.d.ts +15 -0
  16. package/dist/__tests__/benchmarks/logger-sanitization.bench.d.ts.map +1 -0
  17. package/dist/__tests__/benchmarks/logger-sanitization.bench.js +155 -0
  18. package/dist/__tests__/benchmarks/logger-sanitization.bench.js.map +1 -0
  19. package/dist/__tests__/benchmarks/resource-prompts.bench.d.ts +10 -0
  20. package/dist/__tests__/benchmarks/resource-prompts.bench.d.ts.map +1 -0
  21. package/dist/__tests__/benchmarks/resource-prompts.bench.js +181 -0
  22. package/dist/__tests__/benchmarks/resource-prompts.bench.js.map +1 -0
  23. package/dist/__tests__/benchmarks/schema-parsing.bench.d.ts +11 -0
  24. package/dist/__tests__/benchmarks/schema-parsing.bench.d.ts.map +1 -0
  25. package/dist/__tests__/benchmarks/schema-parsing.bench.js +209 -0
  26. package/dist/__tests__/benchmarks/schema-parsing.bench.js.map +1 -0
  27. package/dist/__tests__/benchmarks/tool-filtering.bench.d.ts +9 -0
  28. package/dist/__tests__/benchmarks/tool-filtering.bench.d.ts.map +1 -0
  29. package/dist/__tests__/benchmarks/tool-filtering.bench.js +83 -0
  30. package/dist/__tests__/benchmarks/tool-filtering.bench.js.map +1 -0
  31. package/dist/__tests__/benchmarks/transport-auth.bench.d.ts +10 -0
  32. package/dist/__tests__/benchmarks/transport-auth.bench.d.ts.map +1 -0
  33. package/dist/__tests__/benchmarks/transport-auth.bench.js +128 -0
  34. package/dist/__tests__/benchmarks/transport-auth.bench.js.map +1 -0
  35. package/dist/__tests__/benchmarks/utilities.bench.d.ts +10 -0
  36. package/dist/__tests__/benchmarks/utilities.bench.d.ts.map +1 -0
  37. package/dist/__tests__/benchmarks/utilities.bench.js +164 -0
  38. package/dist/__tests__/benchmarks/utilities.bench.js.map +1 -0
  39. package/dist/__tests__/mocks/adapter.d.ts.map +1 -1
  40. package/dist/__tests__/mocks/adapter.js +2 -1
  41. package/dist/__tests__/mocks/adapter.js.map +1 -1
  42. package/dist/adapters/DatabaseAdapter.d.ts +6 -1
  43. package/dist/adapters/DatabaseAdapter.d.ts.map +1 -1
  44. package/dist/adapters/DatabaseAdapter.js +23 -7
  45. package/dist/adapters/DatabaseAdapter.js.map +1 -1
  46. package/dist/adapters/postgresql/PostgresAdapter.d.ts +5 -22
  47. package/dist/adapters/postgresql/PostgresAdapter.d.ts.map +1 -1
  48. package/dist/adapters/postgresql/PostgresAdapter.js +30 -519
  49. package/dist/adapters/postgresql/PostgresAdapter.js.map +1 -1
  50. package/dist/adapters/postgresql/prompts/index.js +1 -1
  51. package/dist/adapters/postgresql/prompts/index.js.map +1 -1
  52. package/dist/adapters/postgresql/resources/index.d.ts +1 -1
  53. package/dist/adapters/postgresql/resources/index.js +3 -3
  54. package/dist/adapters/postgresql/resources/index.js.map +1 -1
  55. package/dist/adapters/postgresql/schema-operations.d.ts +71 -0
  56. package/dist/adapters/postgresql/schema-operations.d.ts.map +1 -0
  57. package/dist/adapters/postgresql/schema-operations.js +561 -0
  58. package/dist/adapters/postgresql/schema-operations.js.map +1 -0
  59. package/dist/adapters/postgresql/schemas/admin.d.ts +4 -4
  60. package/dist/adapters/postgresql/schemas/admin.js +4 -4
  61. package/dist/adapters/postgresql/schemas/admin.js.map +1 -1
  62. package/dist/adapters/postgresql/schemas/backup.d.ts +39 -25
  63. package/dist/adapters/postgresql/schemas/backup.d.ts.map +1 -1
  64. package/dist/adapters/postgresql/schemas/backup.js +54 -25
  65. package/dist/adapters/postgresql/schemas/backup.js.map +1 -1
  66. package/dist/adapters/postgresql/schemas/core/index.d.ts +6 -0
  67. package/dist/adapters/postgresql/schemas/core/index.d.ts.map +1 -0
  68. package/dist/adapters/postgresql/schemas/core/index.js +6 -0
  69. package/dist/adapters/postgresql/schemas/core/index.js.map +1 -0
  70. package/dist/adapters/postgresql/schemas/{core.d.ts → core/queries.d.ts} +12 -167
  71. package/dist/adapters/postgresql/schemas/core/queries.d.ts.map +1 -0
  72. package/dist/adapters/postgresql/schemas/{core.js → core/queries.js} +5 -213
  73. package/dist/adapters/postgresql/schemas/core/queries.js.map +1 -0
  74. package/dist/adapters/postgresql/schemas/core/transactions.d.ts +149 -0
  75. package/dist/adapters/postgresql/schemas/core/transactions.d.ts.map +1 -0
  76. package/dist/adapters/postgresql/schemas/core/transactions.js +239 -0
  77. package/dist/adapters/postgresql/schemas/core/transactions.js.map +1 -0
  78. package/dist/adapters/postgresql/schemas/cron.d.ts +12 -12
  79. package/dist/adapters/postgresql/schemas/cron.d.ts.map +1 -1
  80. package/dist/adapters/postgresql/schemas/cron.js +38 -10
  81. package/dist/adapters/postgresql/schemas/cron.js.map +1 -1
  82. package/dist/adapters/postgresql/schemas/extensions/citext.d.ts +222 -0
  83. package/dist/adapters/postgresql/schemas/extensions/citext.d.ts.map +1 -0
  84. package/dist/adapters/postgresql/schemas/extensions/citext.js +306 -0
  85. package/dist/adapters/postgresql/schemas/extensions/citext.js.map +1 -0
  86. package/dist/adapters/postgresql/schemas/extensions/index.d.ts +15 -0
  87. package/dist/adapters/postgresql/schemas/extensions/index.d.ts.map +1 -0
  88. package/dist/adapters/postgresql/schemas/extensions/index.js +20 -0
  89. package/dist/adapters/postgresql/schemas/extensions/index.js.map +1 -0
  90. package/dist/adapters/postgresql/schemas/extensions/kcache.d.ts +164 -0
  91. package/dist/adapters/postgresql/schemas/extensions/kcache.d.ts.map +1 -0
  92. package/dist/adapters/postgresql/schemas/extensions/kcache.js +225 -0
  93. package/dist/adapters/postgresql/schemas/extensions/kcache.js.map +1 -0
  94. package/dist/adapters/postgresql/schemas/extensions/ltree.d.ts +253 -0
  95. package/dist/adapters/postgresql/schemas/extensions/ltree.d.ts.map +1 -0
  96. package/dist/adapters/postgresql/schemas/extensions/ltree.js +430 -0
  97. package/dist/adapters/postgresql/schemas/extensions/ltree.js.map +1 -0
  98. package/dist/adapters/postgresql/schemas/extensions/pgcrypto.d.ts +251 -0
  99. package/dist/adapters/postgresql/schemas/extensions/pgcrypto.d.ts.map +1 -0
  100. package/dist/adapters/postgresql/schemas/extensions/pgcrypto.js +294 -0
  101. package/dist/adapters/postgresql/schemas/extensions/pgcrypto.js.map +1 -0
  102. package/dist/adapters/postgresql/schemas/extensions/shared.d.ts +10 -0
  103. package/dist/adapters/postgresql/schemas/extensions/shared.d.ts.map +1 -0
  104. package/dist/adapters/postgresql/schemas/extensions/shared.js +15 -0
  105. package/dist/adapters/postgresql/schemas/extensions/shared.js.map +1 -0
  106. package/dist/adapters/postgresql/schemas/index.d.ts +8 -7
  107. package/dist/adapters/postgresql/schemas/index.d.ts.map +1 -1
  108. package/dist/adapters/postgresql/schemas/index.js +16 -10
  109. package/dist/adapters/postgresql/schemas/index.js.map +1 -1
  110. package/dist/adapters/postgresql/schemas/introspection.d.ts +445 -0
  111. package/dist/adapters/postgresql/schemas/introspection.d.ts.map +1 -0
  112. package/dist/adapters/postgresql/schemas/introspection.js +481 -0
  113. package/dist/adapters/postgresql/schemas/introspection.js.map +1 -0
  114. package/dist/adapters/postgresql/schemas/jsonb/advanced.d.ts +270 -0
  115. package/dist/adapters/postgresql/schemas/jsonb/advanced.d.ts.map +1 -0
  116. package/dist/adapters/postgresql/schemas/jsonb/advanced.js +371 -0
  117. package/dist/adapters/postgresql/schemas/jsonb/advanced.js.map +1 -0
  118. package/dist/adapters/postgresql/schemas/jsonb/basic.d.ts +283 -0
  119. package/dist/adapters/postgresql/schemas/jsonb/basic.d.ts.map +1 -0
  120. package/dist/adapters/postgresql/schemas/jsonb/basic.js +456 -0
  121. package/dist/adapters/postgresql/schemas/jsonb/basic.js.map +1 -0
  122. package/dist/adapters/postgresql/schemas/jsonb/index.d.ts +6 -0
  123. package/dist/adapters/postgresql/schemas/jsonb/index.d.ts.map +1 -0
  124. package/dist/adapters/postgresql/schemas/jsonb/index.js +6 -0
  125. package/dist/adapters/postgresql/schemas/jsonb/index.js.map +1 -0
  126. package/dist/adapters/postgresql/schemas/monitoring.d.ts +45 -29
  127. package/dist/adapters/postgresql/schemas/monitoring.d.ts.map +1 -1
  128. package/dist/adapters/postgresql/schemas/monitoring.js +51 -18
  129. package/dist/adapters/postgresql/schemas/monitoring.js.map +1 -1
  130. package/dist/adapters/postgresql/schemas/partitioning.d.ts +28 -32
  131. package/dist/adapters/postgresql/schemas/partitioning.d.ts.map +1 -1
  132. package/dist/adapters/postgresql/schemas/partitioning.js +82 -53
  133. package/dist/adapters/postgresql/schemas/partitioning.js.map +1 -1
  134. package/dist/adapters/postgresql/schemas/partman.d.ts +78 -7
  135. package/dist/adapters/postgresql/schemas/partman.d.ts.map +1 -1
  136. package/dist/adapters/postgresql/schemas/partman.js +54 -41
  137. package/dist/adapters/postgresql/schemas/partman.js.map +1 -1
  138. package/dist/adapters/postgresql/schemas/performance.d.ts +37 -19
  139. package/dist/adapters/postgresql/schemas/performance.d.ts.map +1 -1
  140. package/dist/adapters/postgresql/schemas/performance.js +54 -12
  141. package/dist/adapters/postgresql/schemas/performance.js.map +1 -1
  142. package/dist/adapters/postgresql/schemas/postgis/advanced.d.ts +429 -0
  143. package/dist/adapters/postgresql/schemas/postgis/advanced.d.ts.map +1 -0
  144. package/dist/adapters/postgresql/schemas/{postgis.js → postgis/advanced.js} +4 -467
  145. package/dist/adapters/postgresql/schemas/postgis/advanced.js.map +1 -0
  146. package/dist/adapters/postgresql/schemas/{postgis.d.ts → postgis/basic.d.ts} +1 -423
  147. package/dist/adapters/postgresql/schemas/postgis/basic.d.ts.map +1 -0
  148. package/dist/adapters/postgresql/schemas/postgis/basic.js +493 -0
  149. package/dist/adapters/postgresql/schemas/postgis/basic.js.map +1 -0
  150. package/dist/adapters/postgresql/schemas/postgis/index.d.ts +6 -0
  151. package/dist/adapters/postgresql/schemas/postgis/index.d.ts.map +1 -0
  152. package/dist/adapters/postgresql/schemas/postgis/index.js +6 -0
  153. package/dist/adapters/postgresql/schemas/postgis/index.js.map +1 -0
  154. package/dist/adapters/postgresql/schemas/schema-mgmt.d.ts +50 -32
  155. package/dist/adapters/postgresql/schemas/schema-mgmt.d.ts.map +1 -1
  156. package/dist/adapters/postgresql/schemas/schema-mgmt.js +93 -26
  157. package/dist/adapters/postgresql/schemas/schema-mgmt.js.map +1 -1
  158. package/dist/adapters/postgresql/schemas/stats/index.d.ts +6 -0
  159. package/dist/adapters/postgresql/schemas/stats/index.d.ts.map +1 -0
  160. package/dist/adapters/postgresql/schemas/stats/index.js +6 -0
  161. package/dist/adapters/postgresql/schemas/stats/index.js.map +1 -0
  162. package/dist/adapters/postgresql/schemas/stats/input.d.ts +260 -0
  163. package/dist/adapters/postgresql/schemas/stats/input.d.ts.map +1 -0
  164. package/dist/adapters/postgresql/schemas/{stats.js → stats/input.js} +2 -331
  165. package/dist/adapters/postgresql/schemas/stats/input.js.map +1 -0
  166. package/dist/adapters/postgresql/schemas/{stats.d.ts → stats/output.d.ts} +3 -246
  167. package/dist/adapters/postgresql/schemas/stats/output.d.ts.map +1 -0
  168. package/dist/adapters/postgresql/schemas/stats/output.js +334 -0
  169. package/dist/adapters/postgresql/schemas/stats/output.js.map +1 -0
  170. package/dist/adapters/postgresql/schemas/text-search.d.ts +44 -32
  171. package/dist/adapters/postgresql/schemas/text-search.d.ts.map +1 -1
  172. package/dist/adapters/postgresql/schemas/text-search.js +53 -36
  173. package/dist/adapters/postgresql/schemas/text-search.js.map +1 -1
  174. package/dist/adapters/postgresql/schemas/vector.d.ts +10 -10
  175. package/dist/adapters/postgresql/schemas/vector.d.ts.map +1 -1
  176. package/dist/adapters/postgresql/schemas/vector.js +12 -16
  177. package/dist/adapters/postgresql/schemas/vector.js.map +1 -1
  178. package/dist/adapters/postgresql/tools/admin.d.ts.map +1 -1
  179. package/dist/adapters/postgresql/tools/admin.js +82 -67
  180. package/dist/adapters/postgresql/tools/admin.js.map +1 -1
  181. package/dist/adapters/postgresql/tools/backup/dump.d.ts.map +1 -1
  182. package/dist/adapters/postgresql/tools/backup/dump.js +119 -97
  183. package/dist/adapters/postgresql/tools/backup/dump.js.map +1 -1
  184. package/dist/adapters/postgresql/tools/backup/planning.d.ts.map +1 -1
  185. package/dist/adapters/postgresql/tools/backup/planning.js +345 -287
  186. package/dist/adapters/postgresql/tools/backup/planning.js.map +1 -1
  187. package/dist/adapters/postgresql/tools/citext/analysis.d.ts +24 -0
  188. package/dist/adapters/postgresql/tools/citext/analysis.d.ts.map +1 -0
  189. package/dist/adapters/postgresql/tools/{citext.js → citext/analysis.js} +131 -281
  190. package/dist/adapters/postgresql/tools/citext/analysis.js.map +1 -0
  191. package/dist/adapters/postgresql/tools/citext/index.d.ts +15 -0
  192. package/dist/adapters/postgresql/tools/citext/index.d.ts.map +1 -0
  193. package/dist/adapters/postgresql/tools/citext/index.js +23 -0
  194. package/dist/adapters/postgresql/tools/citext/index.js.map +1 -0
  195. package/dist/adapters/postgresql/tools/citext/setup.d.ts +16 -0
  196. package/dist/adapters/postgresql/tools/citext/setup.d.ts.map +1 -0
  197. package/dist/adapters/postgresql/tools/citext/setup.js +193 -0
  198. package/dist/adapters/postgresql/tools/citext/setup.js.map +1 -0
  199. package/dist/adapters/postgresql/tools/codemode/index.d.ts.map +1 -1
  200. package/dist/adapters/postgresql/tools/codemode/index.js +3 -12
  201. package/dist/adapters/postgresql/tools/codemode/index.js.map +1 -1
  202. package/dist/adapters/postgresql/tools/core/convenience.d.ts +12 -22
  203. package/dist/adapters/postgresql/tools/core/convenience.d.ts.map +1 -1
  204. package/dist/adapters/postgresql/tools/core/convenience.js +116 -211
  205. package/dist/adapters/postgresql/tools/core/convenience.js.map +1 -1
  206. package/dist/adapters/postgresql/tools/core/error-helpers.d.ts +1 -0
  207. package/dist/adapters/postgresql/tools/core/error-helpers.d.ts.map +1 -1
  208. package/dist/adapters/postgresql/tools/core/error-helpers.js +8 -1
  209. package/dist/adapters/postgresql/tools/core/error-helpers.js.map +1 -1
  210. package/dist/adapters/postgresql/tools/core/health.d.ts.map +1 -1
  211. package/dist/adapters/postgresql/tools/core/health.js +124 -114
  212. package/dist/adapters/postgresql/tools/core/health.js.map +1 -1
  213. package/dist/adapters/postgresql/tools/core/index.d.ts +2 -1
  214. package/dist/adapters/postgresql/tools/core/index.d.ts.map +1 -1
  215. package/dist/adapters/postgresql/tools/core/index.js +3 -2
  216. package/dist/adapters/postgresql/tools/core/index.js.map +1 -1
  217. package/dist/adapters/postgresql/tools/core/indexes.d.ts.map +1 -1
  218. package/dist/adapters/postgresql/tools/core/indexes.js +153 -128
  219. package/dist/adapters/postgresql/tools/core/indexes.js.map +1 -1
  220. package/dist/adapters/postgresql/tools/core/objects.d.ts.map +1 -1
  221. package/dist/adapters/postgresql/tools/core/objects.js +186 -161
  222. package/dist/adapters/postgresql/tools/core/objects.js.map +1 -1
  223. package/dist/adapters/postgresql/tools/core/query.d.ts.map +1 -1
  224. package/dist/adapters/postgresql/tools/core/query.js +37 -25
  225. package/dist/adapters/postgresql/tools/core/query.js.map +1 -1
  226. package/dist/adapters/postgresql/tools/core/schemas.d.ts +6 -3
  227. package/dist/adapters/postgresql/tools/core/schemas.d.ts.map +1 -1
  228. package/dist/adapters/postgresql/tools/core/schemas.js +11 -2
  229. package/dist/adapters/postgresql/tools/core/schemas.js.map +1 -1
  230. package/dist/adapters/postgresql/tools/core/tables.d.ts.map +1 -1
  231. package/dist/adapters/postgresql/tools/core/tables.js +156 -129
  232. package/dist/adapters/postgresql/tools/core/tables.js.map +1 -1
  233. package/dist/adapters/postgresql/tools/core/utility.d.ts +26 -0
  234. package/dist/adapters/postgresql/tools/core/utility.d.ts.map +1 -0
  235. package/dist/adapters/postgresql/tools/core/utility.js +174 -0
  236. package/dist/adapters/postgresql/tools/core/utility.js.map +1 -0
  237. package/dist/adapters/postgresql/tools/cron.js +149 -70
  238. package/dist/adapters/postgresql/tools/cron.js.map +1 -1
  239. package/dist/adapters/postgresql/tools/introspection/analysis.d.ts +12 -0
  240. package/dist/adapters/postgresql/tools/introspection/analysis.d.ts.map +1 -0
  241. package/dist/adapters/postgresql/tools/introspection/analysis.js +574 -0
  242. package/dist/adapters/postgresql/tools/introspection/analysis.js.map +1 -0
  243. package/dist/adapters/postgresql/tools/introspection/graph.d.ts +55 -0
  244. package/dist/adapters/postgresql/tools/introspection/graph.d.ts.map +1 -0
  245. package/dist/adapters/postgresql/tools/introspection/graph.js +638 -0
  246. package/dist/adapters/postgresql/tools/introspection/graph.js.map +1 -0
  247. package/dist/adapters/postgresql/tools/introspection/index.d.ts +19 -0
  248. package/dist/adapters/postgresql/tools/introspection/index.d.ts.map +1 -0
  249. package/dist/adapters/postgresql/tools/introspection/index.js +36 -0
  250. package/dist/adapters/postgresql/tools/introspection/index.js.map +1 -0
  251. package/dist/adapters/postgresql/tools/introspection/migration.d.ts +15 -0
  252. package/dist/adapters/postgresql/tools/introspection/migration.d.ts.map +1 -0
  253. package/dist/adapters/postgresql/tools/introspection/migration.js +599 -0
  254. package/dist/adapters/postgresql/tools/introspection/migration.js.map +1 -0
  255. package/dist/adapters/postgresql/tools/jsonb/analytics.d.ts +20 -0
  256. package/dist/adapters/postgresql/tools/jsonb/analytics.d.ts.map +1 -0
  257. package/dist/adapters/postgresql/tools/jsonb/analytics.js +367 -0
  258. package/dist/adapters/postgresql/tools/jsonb/analytics.js.map +1 -0
  259. package/dist/adapters/postgresql/tools/jsonb/index.d.ts +4 -2
  260. package/dist/adapters/postgresql/tools/jsonb/index.d.ts.map +1 -1
  261. package/dist/adapters/postgresql/tools/jsonb/index.js +8 -4
  262. package/dist/adapters/postgresql/tools/jsonb/index.js.map +1 -1
  263. package/dist/adapters/postgresql/tools/jsonb/read.d.ts +38 -0
  264. package/dist/adapters/postgresql/tools/jsonb/read.d.ts.map +1 -0
  265. package/dist/adapters/postgresql/tools/jsonb/read.js +543 -0
  266. package/dist/adapters/postgresql/tools/jsonb/read.js.map +1 -0
  267. package/dist/adapters/postgresql/tools/jsonb/{advanced.d.ts → transform.d.ts} +1 -13
  268. package/dist/adapters/postgresql/tools/jsonb/transform.d.ts.map +1 -0
  269. package/dist/adapters/postgresql/tools/jsonb/{advanced.js → transform.js} +39 -361
  270. package/dist/adapters/postgresql/tools/jsonb/transform.js.map +1 -0
  271. package/dist/adapters/postgresql/tools/jsonb/write.d.ts +14 -0
  272. package/dist/adapters/postgresql/tools/jsonb/write.d.ts.map +1 -0
  273. package/dist/adapters/postgresql/tools/jsonb/write.js +468 -0
  274. package/dist/adapters/postgresql/tools/jsonb/write.js.map +1 -0
  275. package/dist/adapters/postgresql/tools/kcache.d.ts.map +1 -1
  276. package/dist/adapters/postgresql/tools/kcache.js +116 -51
  277. package/dist/adapters/postgresql/tools/kcache.js.map +1 -1
  278. package/dist/adapters/postgresql/tools/ltree.d.ts.map +1 -1
  279. package/dist/adapters/postgresql/tools/ltree.js +358 -259
  280. package/dist/adapters/postgresql/tools/ltree.js.map +1 -1
  281. package/dist/adapters/postgresql/tools/monitoring/analysis.d.ts +15 -0
  282. package/dist/adapters/postgresql/tools/monitoring/analysis.d.ts.map +1 -0
  283. package/dist/adapters/postgresql/tools/{monitoring.js → monitoring/analysis.js} +37 -361
  284. package/dist/adapters/postgresql/tools/monitoring/analysis.js.map +1 -0
  285. package/dist/adapters/postgresql/tools/monitoring/basic.d.ts +17 -0
  286. package/dist/adapters/postgresql/tools/monitoring/basic.d.ts.map +1 -0
  287. package/dist/adapters/postgresql/tools/monitoring/basic.js +432 -0
  288. package/dist/adapters/postgresql/tools/monitoring/basic.js.map +1 -0
  289. package/dist/adapters/postgresql/tools/monitoring/index.d.ts +16 -0
  290. package/dist/adapters/postgresql/tools/monitoring/index.d.ts.map +1 -0
  291. package/dist/adapters/postgresql/tools/monitoring/index.js +31 -0
  292. package/dist/adapters/postgresql/tools/monitoring/index.js.map +1 -0
  293. package/dist/adapters/postgresql/tools/partitioning/index.d.ts +15 -0
  294. package/dist/adapters/postgresql/tools/partitioning/index.d.ts.map +1 -0
  295. package/dist/adapters/postgresql/tools/partitioning/index.js +23 -0
  296. package/dist/adapters/postgresql/tools/partitioning/index.js.map +1 -0
  297. package/dist/adapters/postgresql/tools/partitioning/info.d.ts +11 -0
  298. package/dist/adapters/postgresql/tools/partitioning/info.d.ts.map +1 -0
  299. package/dist/adapters/postgresql/tools/partitioning/info.js +302 -0
  300. package/dist/adapters/postgresql/tools/partitioning/info.js.map +1 -0
  301. package/dist/adapters/postgresql/tools/partitioning/management.d.ts +28 -0
  302. package/dist/adapters/postgresql/tools/partitioning/management.d.ts.map +1 -0
  303. package/dist/adapters/postgresql/tools/{partitioning.js → partitioning/management.js} +48 -307
  304. package/dist/adapters/postgresql/tools/partitioning/management.js.map +1 -0
  305. package/dist/adapters/postgresql/tools/partman/helpers.d.ts +29 -0
  306. package/dist/adapters/postgresql/tools/partman/helpers.d.ts.map +1 -0
  307. package/dist/adapters/postgresql/tools/partman/helpers.js +59 -0
  308. package/dist/adapters/postgresql/tools/partman/helpers.js.map +1 -0
  309. package/dist/adapters/postgresql/tools/partman/index.d.ts +2 -1
  310. package/dist/adapters/postgresql/tools/partman/index.d.ts.map +1 -1
  311. package/dist/adapters/postgresql/tools/partman/index.js +4 -2
  312. package/dist/adapters/postgresql/tools/partman/index.js.map +1 -1
  313. package/dist/adapters/postgresql/tools/partman/maintenance.d.ts +20 -0
  314. package/dist/adapters/postgresql/tools/partman/maintenance.d.ts.map +1 -0
  315. package/dist/adapters/postgresql/tools/partman/maintenance.js +496 -0
  316. package/dist/adapters/postgresql/tools/partman/maintenance.js.map +1 -0
  317. package/dist/adapters/postgresql/tools/partman/management.d.ts.map +1 -1
  318. package/dist/adapters/postgresql/tools/partman/management.js +452 -417
  319. package/dist/adapters/postgresql/tools/partman/management.js.map +1 -1
  320. package/dist/adapters/postgresql/tools/partman/operations.d.ts +1 -13
  321. package/dist/adapters/postgresql/tools/partman/operations.d.ts.map +1 -1
  322. package/dist/adapters/postgresql/tools/partman/operations.js +173 -654
  323. package/dist/adapters/postgresql/tools/partman/operations.js.map +1 -1
  324. package/dist/adapters/postgresql/tools/performance/analysis.d.ts.map +1 -1
  325. package/dist/adapters/postgresql/tools/performance/analysis.js +79 -45
  326. package/dist/adapters/postgresql/tools/performance/analysis.js.map +1 -1
  327. package/dist/adapters/postgresql/tools/performance/monitoring.d.ts.map +1 -1
  328. package/dist/adapters/postgresql/tools/performance/monitoring.js +83 -55
  329. package/dist/adapters/postgresql/tools/performance/monitoring.js.map +1 -1
  330. package/dist/adapters/postgresql/tools/performance/optimization.d.ts.map +1 -1
  331. package/dist/adapters/postgresql/tools/performance/optimization.js +18 -11
  332. package/dist/adapters/postgresql/tools/performance/optimization.js.map +1 -1
  333. package/dist/adapters/postgresql/tools/performance/stats.d.ts.map +1 -1
  334. package/dist/adapters/postgresql/tools/performance/stats.js +441 -286
  335. package/dist/adapters/postgresql/tools/performance/stats.js.map +1 -1
  336. package/dist/adapters/postgresql/tools/pgcrypto.d.ts.map +1 -1
  337. package/dist/adapters/postgresql/tools/pgcrypto.js +67 -79
  338. package/dist/adapters/postgresql/tools/pgcrypto.js.map +1 -1
  339. package/dist/adapters/postgresql/tools/postgis/advanced.d.ts.map +1 -1
  340. package/dist/adapters/postgresql/tools/postgis/advanced.js +30 -25
  341. package/dist/adapters/postgresql/tools/postgis/advanced.js.map +1 -1
  342. package/dist/adapters/postgresql/tools/postgis/basic.d.ts.map +1 -1
  343. package/dist/adapters/postgresql/tools/postgis/basic.js +137 -100
  344. package/dist/adapters/postgresql/tools/postgis/basic.js.map +1 -1
  345. package/dist/adapters/postgresql/tools/schema/index.d.ts +16 -0
  346. package/dist/adapters/postgresql/tools/schema/index.d.ts.map +1 -0
  347. package/dist/adapters/postgresql/tools/schema/index.js +32 -0
  348. package/dist/adapters/postgresql/tools/schema/index.js.map +1 -0
  349. package/dist/adapters/postgresql/tools/schema/objects.d.ts +15 -0
  350. package/dist/adapters/postgresql/tools/schema/objects.d.ts.map +1 -0
  351. package/dist/adapters/postgresql/tools/schema/objects.js +378 -0
  352. package/dist/adapters/postgresql/tools/schema/objects.js.map +1 -0
  353. package/dist/adapters/postgresql/tools/schema/views.d.ts +15 -0
  354. package/dist/adapters/postgresql/tools/schema/views.d.ts.map +1 -0
  355. package/dist/adapters/postgresql/tools/{schema.js → schema/views.js} +91 -339
  356. package/dist/adapters/postgresql/tools/schema/views.js.map +1 -0
  357. package/dist/adapters/postgresql/tools/stats/advanced.d.ts.map +1 -1
  358. package/dist/adapters/postgresql/tools/stats/advanced.js +40 -235
  359. package/dist/adapters/postgresql/tools/stats/advanced.js.map +1 -1
  360. package/dist/adapters/postgresql/tools/stats/basic.d.ts.map +1 -1
  361. package/dist/adapters/postgresql/tools/stats/basic.js +45 -30
  362. package/dist/adapters/postgresql/tools/stats/basic.js.map +1 -1
  363. package/dist/adapters/postgresql/tools/stats/math-utils.d.ts +33 -0
  364. package/dist/adapters/postgresql/tools/stats/math-utils.d.ts.map +1 -0
  365. package/dist/adapters/postgresql/tools/stats/math-utils.js +225 -0
  366. package/dist/adapters/postgresql/tools/stats/math-utils.js.map +1 -0
  367. package/dist/adapters/postgresql/tools/text/index.d.ts +16 -0
  368. package/dist/adapters/postgresql/tools/text/index.d.ts.map +1 -0
  369. package/dist/adapters/postgresql/tools/text/index.js +33 -0
  370. package/dist/adapters/postgresql/tools/text/index.js.map +1 -0
  371. package/dist/adapters/postgresql/tools/text/matching.d.ts +17 -0
  372. package/dist/adapters/postgresql/tools/text/matching.d.ts.map +1 -0
  373. package/dist/adapters/postgresql/tools/text/matching.js +565 -0
  374. package/dist/adapters/postgresql/tools/text/matching.js.map +1 -0
  375. package/dist/adapters/postgresql/tools/text/search.d.ts +17 -0
  376. package/dist/adapters/postgresql/tools/text/search.d.ts.map +1 -0
  377. package/dist/adapters/postgresql/tools/text/search.js +653 -0
  378. package/dist/adapters/postgresql/tools/text/search.js.map +1 -0
  379. package/dist/adapters/postgresql/tools/transactions.d.ts.map +1 -1
  380. package/dist/adapters/postgresql/tools/transactions.js +11 -27
  381. package/dist/adapters/postgresql/tools/transactions.js.map +1 -1
  382. package/dist/adapters/postgresql/tools/vector/{basic.d.ts → data.d.ts} +10 -8
  383. package/dist/adapters/postgresql/tools/vector/data.d.ts.map +1 -0
  384. package/dist/adapters/postgresql/tools/vector/data.js +540 -0
  385. package/dist/adapters/postgresql/tools/vector/data.js.map +1 -0
  386. package/dist/adapters/postgresql/tools/vector/index.d.ts.map +1 -1
  387. package/dist/adapters/postgresql/tools/vector/index.js +6 -2
  388. package/dist/adapters/postgresql/tools/vector/index.js.map +1 -1
  389. package/dist/adapters/postgresql/tools/vector/management.d.ts +11 -0
  390. package/dist/adapters/postgresql/tools/vector/management.d.ts.map +1 -0
  391. package/dist/adapters/postgresql/tools/vector/management.js +425 -0
  392. package/dist/adapters/postgresql/tools/vector/management.js.map +1 -0
  393. package/dist/adapters/postgresql/tools/vector/query.d.ts +14 -0
  394. package/dist/adapters/postgresql/tools/vector/query.d.ts.map +1 -0
  395. package/dist/adapters/postgresql/tools/vector/query.js +767 -0
  396. package/dist/adapters/postgresql/tools/vector/query.js.map +1 -0
  397. package/dist/adapters/postgresql/tools/vector/{advanced.d.ts → search-advanced.d.ts} +4 -5
  398. package/dist/adapters/postgresql/tools/vector/search-advanced.d.ts.map +1 -0
  399. package/dist/adapters/postgresql/tools/vector/search-advanced.js +626 -0
  400. package/dist/adapters/postgresql/tools/vector/search-advanced.js.map +1 -0
  401. package/dist/auth/auth-context.d.ts +28 -0
  402. package/dist/auth/auth-context.d.ts.map +1 -0
  403. package/dist/auth/auth-context.js +37 -0
  404. package/dist/auth/auth-context.js.map +1 -0
  405. package/dist/auth/scope-map.d.ts +20 -0
  406. package/dist/auth/scope-map.d.ts.map +1 -0
  407. package/dist/auth/scope-map.js +40 -0
  408. package/dist/auth/scope-map.js.map +1 -0
  409. package/dist/auth/scopes.d.ts.map +1 -1
  410. package/dist/auth/scopes.js +2 -0
  411. package/dist/auth/scopes.js.map +1 -1
  412. package/dist/cli/args.d.ts +3 -2
  413. package/dist/cli/args.d.ts.map +1 -1
  414. package/dist/cli/args.js +4 -3
  415. package/dist/cli/args.js.map +1 -1
  416. package/dist/cli.js +11 -5
  417. package/dist/cli.js.map +1 -1
  418. package/dist/codemode/api/aliases.d.ts +14 -0
  419. package/dist/codemode/api/aliases.d.ts.map +1 -0
  420. package/dist/codemode/api/aliases.js +503 -0
  421. package/dist/codemode/api/aliases.js.map +1 -0
  422. package/dist/codemode/api/group-api.d.ts +23 -0
  423. package/dist/codemode/api/group-api.d.ts.map +1 -0
  424. package/dist/codemode/api/group-api.js +179 -0
  425. package/dist/codemode/api/group-api.js.map +1 -0
  426. package/dist/codemode/{api.d.ts → api/index.d.ts} +5 -4
  427. package/dist/codemode/api/index.d.ts.map +1 -0
  428. package/dist/codemode/api/index.js +192 -0
  429. package/dist/codemode/api/index.js.map +1 -0
  430. package/dist/codemode/api/maps.d.ts +47 -0
  431. package/dist/codemode/api/maps.d.ts.map +1 -0
  432. package/dist/codemode/api/maps.js +523 -0
  433. package/dist/codemode/api/maps.js.map +1 -0
  434. package/dist/codemode/api/normalize.d.ts +13 -0
  435. package/dist/codemode/api/normalize.d.ts.map +1 -0
  436. package/dist/codemode/api/normalize.js +120 -0
  437. package/dist/codemode/api/normalize.js.map +1 -0
  438. package/dist/codemode/index.d.ts +1 -3
  439. package/dist/codemode/index.d.ts.map +1 -1
  440. package/dist/codemode/index.js +1 -5
  441. package/dist/codemode/index.js.map +1 -1
  442. package/dist/codemode/sandbox.d.ts +14 -1
  443. package/dist/codemode/sandbox.d.ts.map +1 -1
  444. package/dist/codemode/sandbox.js +66 -44
  445. package/dist/codemode/sandbox.js.map +1 -1
  446. package/dist/codemode/types.d.ts.map +1 -1
  447. package/dist/codemode/types.js +3 -0
  448. package/dist/codemode/types.js.map +1 -1
  449. package/dist/constants/ServerInstructions.d.ts +5 -1
  450. package/dist/constants/ServerInstructions.d.ts.map +1 -1
  451. package/dist/constants/ServerInstructions.js +91 -43
  452. package/dist/constants/ServerInstructions.js.map +1 -1
  453. package/dist/filtering/ToolConstants.d.ts +22 -19
  454. package/dist/filtering/ToolConstants.d.ts.map +1 -1
  455. package/dist/filtering/ToolConstants.js +48 -37
  456. package/dist/filtering/ToolConstants.js.map +1 -1
  457. package/dist/filtering/ToolFilter.d.ts.map +1 -1
  458. package/dist/filtering/ToolFilter.js +10 -13
  459. package/dist/filtering/ToolFilter.js.map +1 -1
  460. package/dist/pool/ConnectionPool.js +1 -1
  461. package/dist/pool/ConnectionPool.js.map +1 -1
  462. package/dist/server/McpServer.d.ts +1 -1
  463. package/dist/server/McpServer.d.ts.map +1 -1
  464. package/dist/server/McpServer.js +1 -2
  465. package/dist/server/McpServer.js.map +1 -1
  466. package/dist/transports/http.d.ts +44 -10
  467. package/dist/transports/http.d.ts.map +1 -1
  468. package/dist/transports/http.js +327 -40
  469. package/dist/transports/http.js.map +1 -1
  470. package/dist/types/filtering.d.ts +2 -2
  471. package/dist/types/filtering.d.ts.map +1 -1
  472. package/dist/utils/icons.d.ts.map +1 -1
  473. package/dist/utils/icons.js +5 -0
  474. package/dist/utils/icons.js.map +1 -1
  475. package/dist/utils/logger.d.ts +6 -6
  476. package/dist/utils/logger.d.ts.map +1 -1
  477. package/dist/utils/logger.js +18 -15
  478. package/dist/utils/logger.js.map +1 -1
  479. package/dist/utils/progress-utils.d.ts +2 -2
  480. package/dist/utils/progress-utils.d.ts.map +1 -1
  481. package/dist/utils/progress-utils.js +2 -3
  482. package/dist/utils/progress-utils.js.map +1 -1
  483. package/dist/utils/version.d.ts +9 -0
  484. package/dist/utils/version.d.ts.map +1 -0
  485. package/dist/utils/version.js +12 -0
  486. package/dist/utils/version.js.map +1 -0
  487. package/dist/utils/where-clause.d.ts +4 -0
  488. package/dist/utils/where-clause.d.ts.map +1 -1
  489. package/dist/utils/where-clause.js +40 -0
  490. package/dist/utils/where-clause.js.map +1 -1
  491. package/package.json +19 -14
  492. package/dist/adapters/postgresql/schemas/core.d.ts.map +0 -1
  493. package/dist/adapters/postgresql/schemas/core.js.map +0 -1
  494. package/dist/adapters/postgresql/schemas/extensions.d.ts +0 -833
  495. package/dist/adapters/postgresql/schemas/extensions.d.ts.map +0 -1
  496. package/dist/adapters/postgresql/schemas/extensions.js +0 -1170
  497. package/dist/adapters/postgresql/schemas/extensions.js.map +0 -1
  498. package/dist/adapters/postgresql/schemas/jsonb.d.ts +0 -533
  499. package/dist/adapters/postgresql/schemas/jsonb.d.ts.map +0 -1
  500. package/dist/adapters/postgresql/schemas/jsonb.js +0 -790
  501. package/dist/adapters/postgresql/schemas/jsonb.js.map +0 -1
  502. package/dist/adapters/postgresql/schemas/postgis.d.ts.map +0 -1
  503. package/dist/adapters/postgresql/schemas/postgis.js.map +0 -1
  504. package/dist/adapters/postgresql/schemas/stats.d.ts.map +0 -1
  505. package/dist/adapters/postgresql/schemas/stats.js.map +0 -1
  506. package/dist/adapters/postgresql/tools/citext.d.ts +0 -18
  507. package/dist/adapters/postgresql/tools/citext.d.ts.map +0 -1
  508. package/dist/adapters/postgresql/tools/citext.js.map +0 -1
  509. package/dist/adapters/postgresql/tools/jsonb/advanced.d.ts.map +0 -1
  510. package/dist/adapters/postgresql/tools/jsonb/advanced.js.map +0 -1
  511. package/dist/adapters/postgresql/tools/jsonb/basic.d.ts +0 -20
  512. package/dist/adapters/postgresql/tools/jsonb/basic.d.ts.map +0 -1
  513. package/dist/adapters/postgresql/tools/jsonb/basic.js +0 -915
  514. package/dist/adapters/postgresql/tools/jsonb/basic.js.map +0 -1
  515. package/dist/adapters/postgresql/tools/monitoring.d.ts +0 -13
  516. package/dist/adapters/postgresql/tools/monitoring.d.ts.map +0 -1
  517. package/dist/adapters/postgresql/tools/monitoring.js.map +0 -1
  518. package/dist/adapters/postgresql/tools/partitioning.d.ts +0 -13
  519. package/dist/adapters/postgresql/tools/partitioning.d.ts.map +0 -1
  520. package/dist/adapters/postgresql/tools/partitioning.js.map +0 -1
  521. package/dist/adapters/postgresql/tools/schema.d.ts +0 -13
  522. package/dist/adapters/postgresql/tools/schema.d.ts.map +0 -1
  523. package/dist/adapters/postgresql/tools/schema.js.map +0 -1
  524. package/dist/adapters/postgresql/tools/text.d.ts +0 -13
  525. package/dist/adapters/postgresql/tools/text.d.ts.map +0 -1
  526. package/dist/adapters/postgresql/tools/text.js +0 -903
  527. package/dist/adapters/postgresql/tools/text.js.map +0 -1
  528. package/dist/adapters/postgresql/tools/vector/advanced.d.ts.map +0 -1
  529. package/dist/adapters/postgresql/tools/vector/advanced.js +0 -958
  530. package/dist/adapters/postgresql/tools/vector/advanced.js.map +0 -1
  531. package/dist/adapters/postgresql/tools/vector/basic.d.ts.map +0 -1
  532. package/dist/adapters/postgresql/tools/vector/basic.js +0 -1165
  533. package/dist/adapters/postgresql/tools/vector/basic.js.map +0 -1
  534. package/dist/codemode/api.d.ts.map +0 -1
  535. package/dist/codemode/api.js +0 -1510
  536. package/dist/codemode/api.js.map +0 -1
  537. package/dist/codemode/sandbox-factory.d.ts +0 -72
  538. package/dist/codemode/sandbox-factory.d.ts.map +0 -1
  539. package/dist/codemode/sandbox-factory.js +0 -88
  540. package/dist/codemode/sandbox-factory.js.map +0 -1
  541. package/dist/codemode/worker-sandbox.d.ts +0 -82
  542. package/dist/codemode/worker-sandbox.d.ts.map +0 -1
  543. package/dist/codemode/worker-sandbox.js +0 -244
  544. package/dist/codemode/worker-sandbox.js.map +0 -1
  545. package/dist/codemode/worker-script.d.ts +0 -8
  546. package/dist/codemode/worker-script.d.ts.map +0 -1
  547. package/dist/codemode/worker-script.js +0 -113
  548. package/dist/codemode/worker-script.js.map +0 -1
@@ -0,0 +1,561 @@
1
+ /**
2
+ * postgres-mcp - Schema Operations
3
+ *
4
+ * Standalone schema inspection functions extracted from PostgresAdapter.
5
+ * These handle SQL queries for table listing, table description, index retrieval,
6
+ * schema listing, and extension checks. Pure parsing helpers are also included.
7
+ */
8
+ // ---------------------------------------------------------------------------
9
+ // Pure parsing helpers (no DB access)
10
+ // ---------------------------------------------------------------------------
11
+ /**
12
+ * Parse columns from PostgreSQL array format.
13
+ * Handles both native arrays and string representations like "{col1,col2}".
14
+ */
15
+ export function parseColumnsArray(columns) {
16
+ if (Array.isArray(columns)) {
17
+ return columns;
18
+ }
19
+ if (typeof columns === "string") {
20
+ // Handle PostgreSQL array string format: "{col1,col2}"
21
+ const trimmed = columns.replace(/^{|}$/g, "");
22
+ if (trimmed === "")
23
+ return [];
24
+ return trimmed.split(",").map((c) => c.trim().replace(/^"|"$/g, ""));
25
+ }
26
+ return [];
27
+ }
28
+ /**
29
+ * Extract expression columns from index definition when column names are NULL.
30
+ * Expression indexes (like LOWER(name)) have attnum=0 which returns NULL from pg_attribute.
31
+ * This parses the index definition to extract the actual expressions.
32
+ */
33
+ export function extractIndexColumns(columns, definition) {
34
+ // If no NULL columns, return as-is
35
+ if (!columns.some((c) => c === null || c === "NULL" || c === "")) {
36
+ return columns;
37
+ }
38
+ // Find the expression portion with balanced parentheses
39
+ // Format: CREATE [UNIQUE] INDEX name ON table USING method (col1, expr1, ...) [WHERE ...]
40
+ const exprPart = extractIndexExpressionPart(definition);
41
+ if (!exprPart) {
42
+ return columns;
43
+ }
44
+ // Parse the column expressions, handling nested parentheses
45
+ const exprs = parseIndexExpressions(exprPart);
46
+ // If counts don't match, something is off - return original
47
+ if (exprs.length !== columns.length) {
48
+ return columns;
49
+ }
50
+ // Replace NULL columns with the parsed expressions
51
+ return columns.map((col, i) => {
52
+ if (col === null || col === "NULL" || col === "") {
53
+ return exprs[i]?.trim() ?? col;
54
+ }
55
+ return col;
56
+ });
57
+ }
58
+ /**
59
+ * Extract the column expression part from an index definition, handling nested parentheses.
60
+ * E.g., "CREATE INDEX idx ON tbl USING btree (lower(name))" → "lower(name)"
61
+ */
62
+ export function extractIndexExpressionPart(definition) {
63
+ // Find "USING method (" or just the first "(" after ON
64
+ const usingMatch = /USING\s+\w+\s*\(/i.exec(definition);
65
+ if (!usingMatch) {
66
+ return null;
67
+ }
68
+ const startIdx = usingMatch.index + usingMatch[0].length - 1; // Position of opening paren
69
+ let depth = 0;
70
+ let endIdx = -1;
71
+ for (let i = startIdx; i < definition.length; i++) {
72
+ if (definition[i] === "(") {
73
+ depth++;
74
+ }
75
+ else if (definition[i] === ")") {
76
+ depth--;
77
+ if (depth === 0) {
78
+ endIdx = i;
79
+ break;
80
+ }
81
+ }
82
+ }
83
+ if (endIdx === -1) {
84
+ return null;
85
+ }
86
+ return definition.substring(startIdx + 1, endIdx);
87
+ }
88
+ /**
89
+ * Parse index expressions from the column list, handling nested parentheses.
90
+ * E.g., "LOWER(name), id, UPPER(TRIM(email))" → ["LOWER(name)", "id", "UPPER(TRIM(email))"]
91
+ */
92
+ export function parseIndexExpressions(columnList) {
93
+ const result = [];
94
+ let current = "";
95
+ let depth = 0;
96
+ for (const char of columnList) {
97
+ if (char === "(") {
98
+ depth++;
99
+ current += char;
100
+ }
101
+ else if (char === ")") {
102
+ depth--;
103
+ current += char;
104
+ }
105
+ else if (char === "," && depth === 0) {
106
+ result.push(current.trim());
107
+ current = "";
108
+ }
109
+ else {
110
+ current += char;
111
+ }
112
+ }
113
+ if (current.trim()) {
114
+ result.push(current.trim());
115
+ }
116
+ return result;
117
+ }
118
+ // ---------------------------------------------------------------------------
119
+ // Schema query functions
120
+ // ---------------------------------------------------------------------------
121
+ /**
122
+ * Get full schema info: tables, views, materialized views, and indexes.
123
+ */
124
+ export async function getSchemaInfo(executeQuery, cache) {
125
+ const tables = await queryListTables(executeQuery, cache);
126
+ const views = tables.filter((t) => t.type === "view");
127
+ const materializedViews = tables.filter((t) => t.type === "materialized_view");
128
+ const realTables = tables.filter((t) => t.type === "table" || t.type === "partitioned_table");
129
+ // Performance optimization: fetch all indexes in a single query instead of N+1
130
+ const indexes = await queryAllIndexes(executeQuery, cache);
131
+ return {
132
+ tables: realTables,
133
+ views,
134
+ materializedViews,
135
+ indexes,
136
+ };
137
+ }
138
+ /**
139
+ * Get all indexes across all user tables in a single query.
140
+ * Performance optimization: eliminates N+1 query pattern.
141
+ */
142
+ export async function queryAllIndexes(executeQuery, cache) {
143
+ // Check cache first
144
+ const cached = cache.getCached("all_indexes");
145
+ if (cached)
146
+ return cached;
147
+ const result = await executeQuery(`
148
+ SELECT
149
+ i.relname as name,
150
+ t.relname as table_name,
151
+ n.nspname as schema_name,
152
+ am.amname as type,
153
+ ix.indisunique as is_unique,
154
+ pg_get_indexdef(ix.indexrelid) as definition,
155
+ array_agg(a.attname ORDER BY x.ordinality) as columns,
156
+ pg_relation_size(i.oid) as size_bytes,
157
+ COALESCE(pg_stat_get_numscans(i.oid), 0) as num_scans,
158
+ COALESCE(pg_stat_get_tuples_returned(i.oid), 0) as tuples_read,
159
+ COALESCE(pg_stat_get_tuples_fetched(i.oid), 0) as tuples_fetched
160
+ FROM pg_index ix
161
+ JOIN pg_class t ON t.oid = ix.indrelid
162
+ JOIN pg_class i ON i.oid = ix.indexrelid
163
+ JOIN pg_namespace n ON n.oid = t.relnamespace
164
+ JOIN pg_am am ON am.oid = i.relam
165
+ CROSS JOIN LATERAL unnest(ix.indkey) WITH ORDINALITY AS x(attnum, ordinality)
166
+ LEFT JOIN pg_attribute a ON a.attrelid = t.oid AND a.attnum = x.attnum
167
+ WHERE n.nspname NOT IN ('pg_catalog', 'information_schema')
168
+ AND n.nspname !~ '^pg_toast'
169
+ GROUP BY i.relname, t.relname, n.nspname, am.amname, ix.indisunique, ix.indexrelid, i.oid
170
+ ORDER BY n.nspname, t.relname, i.relname
171
+ `);
172
+ const indexes = (result.rows ?? []).map((row) => {
173
+ const rawColumns = parseColumnsArray(row["columns"]);
174
+ const definition = row["definition"];
175
+ const indexType = row["type"];
176
+ return {
177
+ name: row["name"],
178
+ tableName: row["table_name"],
179
+ schemaName: row["schema_name"],
180
+ columns: extractIndexColumns(rawColumns, definition),
181
+ unique: row["is_unique"],
182
+ type: indexType,
183
+ sizeBytes: Number(row["size_bytes"]) || undefined,
184
+ numberOfScans: Number(row["num_scans"]) || undefined,
185
+ tuplesRead: Number(row["tuples_read"]) || undefined,
186
+ tuplesFetched: Number(row["tuples_fetched"]) || undefined,
187
+ };
188
+ });
189
+ cache.setCache("all_indexes", indexes);
190
+ return indexes;
191
+ }
192
+ /**
193
+ * List all user tables, views, and materialized views.
194
+ */
195
+ export async function queryListTables(executeQuery, cache) {
196
+ // Performance optimization: return cached result if within TTL
197
+ const cached = cache.getCached("list_tables");
198
+ if (cached)
199
+ return cached;
200
+ const result = await executeQuery(`
201
+ SELECT
202
+ c.relname as name,
203
+ n.nspname as schema,
204
+ CASE c.relkind
205
+ WHEN 'r' THEN 'table'
206
+ WHEN 'v' THEN 'view'
207
+ WHEN 'm' THEN 'materialized_view'
208
+ WHEN 'f' THEN 'foreign_table'
209
+ WHEN 'p' THEN 'partitioned_table'
210
+ END as type,
211
+ pg_catalog.pg_get_userbyid(c.relowner) as owner,
212
+ CASE WHEN c.reltuples = -1 THEN NULL ELSE c.reltuples END::bigint as row_count,
213
+ COALESCE(s.n_live_tup, 0)::bigint as live_row_estimate,
214
+ (c.reltuples = -1) as stats_stale,
215
+ pg_catalog.pg_table_size(c.oid) as size_bytes,
216
+ pg_catalog.pg_total_relation_size(c.oid) as total_size_bytes,
217
+ obj_description(c.oid, 'pg_class') as comment
218
+ FROM pg_catalog.pg_class c
219
+ LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
220
+ LEFT JOIN pg_stat_user_tables s ON s.relid = c.oid
221
+ WHERE c.relkind IN ('r', 'v', 'm', 'f', 'p')
222
+ AND n.nspname NOT IN ('pg_catalog', 'information_schema')
223
+ AND n.nspname !~ '^pg_toast'
224
+ ORDER BY n.nspname, c.relname
225
+ `);
226
+ const tables = (result.rows ?? []).map((row) => {
227
+ const rowCount = row["row_count"];
228
+ const liveRowEstimate = Number(row["live_row_estimate"]) || 0;
229
+ const statsStale = row["stats_stale"] === true;
230
+ // Use live_row_estimate as fallback when stats are stale
231
+ const effectiveRowCount = rowCount !== null ? Number(rowCount) : liveRowEstimate;
232
+ return {
233
+ name: row["name"],
234
+ schema: row["schema"],
235
+ type: row["type"],
236
+ owner: row["owner"],
237
+ rowCount: effectiveRowCount,
238
+ sizeBytes: Number(row["size_bytes"]) || undefined,
239
+ totalSizeBytes: Number(row["total_size_bytes"]) || undefined,
240
+ comment: row["comment"],
241
+ statsStale,
242
+ };
243
+ });
244
+ cache.setCache("list_tables", tables);
245
+ return tables;
246
+ }
247
+ /**
248
+ * Describe a single table with columns, indexes, constraints, and foreign keys.
249
+ */
250
+ export async function queryDescribeTable(executeQuery, cache, tableName, schemaName = "public") {
251
+ // Performance optimization: return cached result if within TTL
252
+ const cacheKey = `describe:${schemaName}.${tableName}`;
253
+ const cached = cache.getCached(cacheKey);
254
+ if (cached)
255
+ return cached;
256
+ // Get column information including foreign key references
257
+ const columnsResult = await executeQuery(`
258
+ SELECT
259
+ a.attname as name,
260
+ pg_catalog.format_type(a.atttypid, a.atttypmod) as type,
261
+ NOT a.attnotnull as nullable,
262
+ COALESCE(
263
+ (SELECT true FROM pg_constraint c
264
+ WHERE c.conrelid = a.attrelid
265
+ AND a.attnum = ANY(c.conkey)
266
+ AND c.contype = 'p'),
267
+ false
268
+ ) as primary_key,
269
+ pg_get_expr(d.adbin, d.adrelid) as default_value,
270
+ a.attgenerated != '' as is_generated,
271
+ pg_get_expr(d.adbin, d.adrelid) as generated_expression,
272
+ col_description(a.attrelid, a.attnum) as comment,
273
+ -- Foreign key reference for this column
274
+ (SELECT json_build_object(
275
+ 'table', ref_t.relname,
276
+ 'schema', ref_n.nspname,
277
+ 'column', ref_a.attname
278
+ )
279
+ FROM pg_constraint c
280
+ JOIN pg_class ref_t ON ref_t.oid = c.confrelid
281
+ JOIN pg_namespace ref_n ON ref_n.oid = ref_t.relnamespace
282
+ JOIN pg_attribute ref_a ON ref_a.attrelid = ref_t.oid
283
+ AND ref_a.attnum = c.confkey[array_position(c.conkey, a.attnum)]
284
+ WHERE c.conrelid = a.attrelid
285
+ AND a.attnum = ANY(c.conkey)
286
+ AND c.contype = 'f'
287
+ LIMIT 1
288
+ ) as foreign_key
289
+ FROM pg_catalog.pg_attribute a
290
+ LEFT JOIN pg_catalog.pg_attrdef d ON (a.attrelid, a.attnum) = (d.adrelid, d.adnum)
291
+ WHERE a.attrelid = ($1 || '.' || $2)::regclass
292
+ AND a.attnum > 0
293
+ AND NOT a.attisdropped
294
+ ORDER BY a.attnum
295
+ `, [schemaName, tableName]);
296
+ const columns = (columnsResult.rows ?? []).map((row) => {
297
+ const isGenerated = row["is_generated"];
298
+ const fkRef = row["foreign_key"];
299
+ const nullable = row["nullable"];
300
+ return {
301
+ name: row["name"],
302
+ type: row["type"],
303
+ nullable,
304
+ notNull: !nullable, // Alias for consistency with createTable API
305
+ primaryKey: row["primary_key"],
306
+ defaultValue: row["default_value"],
307
+ isGenerated,
308
+ // Only set generatedExpression for actual generated columns
309
+ generatedExpression: isGenerated
310
+ ? row["generated_expression"]
311
+ : undefined,
312
+ comment: row["comment"],
313
+ // Include foreign key reference if present
314
+ foreignKey: fkRef
315
+ ? {
316
+ table: fkRef.table,
317
+ schema: fkRef.schema,
318
+ column: fkRef.column,
319
+ }
320
+ : undefined,
321
+ };
322
+ });
323
+ // Get table info
324
+ const tableResult = await executeQuery(`
325
+ SELECT
326
+ CASE c.relkind
327
+ WHEN 'r' THEN 'table'
328
+ WHEN 'v' THEN 'view'
329
+ WHEN 'm' THEN 'materialized_view'
330
+ WHEN 'f' THEN 'foreign_table'
331
+ WHEN 'p' THEN 'partitioned_table'
332
+ END as type,
333
+ pg_catalog.pg_get_userbyid(c.relowner) as owner,
334
+ CASE WHEN c.reltuples = -1 THEN NULL ELSE c.reltuples END::bigint as row_count,
335
+ COALESCE(s.n_live_tup, 0)::bigint as live_row_estimate,
336
+ (c.reltuples = -1) as stats_stale,
337
+ obj_description(c.oid, 'pg_class') as comment,
338
+ c.relkind = 'p' as is_partitioned,
339
+ pg_get_partkeydef(c.oid) as partition_key
340
+ FROM pg_catalog.pg_class c
341
+ LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
342
+ LEFT JOIN pg_stat_user_tables s ON s.relid = c.oid
343
+ WHERE c.relname = $1
344
+ AND n.nspname = $2
345
+ `, [tableName, schemaName]);
346
+ const tableRow = tableResult.rows?.[0];
347
+ // Get indexes for this table
348
+ const indexesResult = await executeQuery(`
349
+ SELECT
350
+ i.relname as name,
351
+ am.amname as type,
352
+ ix.indisunique as is_unique,
353
+ ix.indisprimary as is_primary,
354
+ pg_get_indexdef(ix.indexrelid) as definition,
355
+ array_agg(a.attname ORDER BY x.ordinality) as columns
356
+ FROM pg_index ix
357
+ JOIN pg_class t ON t.oid = ix.indrelid
358
+ JOIN pg_class i ON i.oid = ix.indexrelid
359
+ JOIN pg_namespace n ON n.oid = t.relnamespace
360
+ JOIN pg_am am ON am.oid = i.relam
361
+ CROSS JOIN LATERAL unnest(ix.indkey) WITH ORDINALITY AS x(attnum, ordinality)
362
+ LEFT JOIN pg_attribute a ON a.attrelid = t.oid AND a.attnum = x.attnum
363
+ WHERE t.relname = $1 AND n.nspname = $2
364
+ GROUP BY i.relname, am.amname, ix.indisunique, ix.indisprimary, ix.indexrelid
365
+ ORDER BY i.relname
366
+ `, [tableName, schemaName]);
367
+ const indexes = (indexesResult.rows ?? []).map((row) => {
368
+ const rawColumns = parseColumnsArray(row["columns"]);
369
+ const definition = row["definition"];
370
+ return {
371
+ name: row["name"],
372
+ type: row["type"],
373
+ isUnique: row["is_unique"],
374
+ isPrimary: row["is_primary"],
375
+ columns: extractIndexColumns(rawColumns, definition),
376
+ definition,
377
+ };
378
+ });
379
+ // Get constraints (CHECK, UNIQUE, PRIMARY KEY, EXCLUSION - FK handled separately)
380
+ const constraintsResult = await executeQuery(`
381
+ SELECT
382
+ c.conname as name,
383
+ CASE c.contype
384
+ WHEN 'p' THEN 'primary_key'
385
+ WHEN 'c' THEN 'check'
386
+ WHEN 'u' THEN 'unique'
387
+ WHEN 'x' THEN 'exclusion'
388
+ END as type,
389
+ pg_get_constraintdef(c.oid) as definition,
390
+ array_agg(a.attname ORDER BY x.ordinality) FILTER (WHERE a.attname IS NOT NULL) as columns
391
+ FROM pg_constraint c
392
+ JOIN pg_class t ON t.oid = c.conrelid
393
+ JOIN pg_namespace n ON n.oid = t.relnamespace
394
+ LEFT JOIN LATERAL unnest(c.conkey) WITH ORDINALITY AS x(attnum, ordinality) ON true
395
+ LEFT JOIN pg_attribute a ON a.attrelid = t.oid AND a.attnum = x.attnum
396
+ WHERE t.relname = $1
397
+ AND n.nspname = $2
398
+ AND c.contype IN ('p', 'c', 'u', 'x')
399
+ GROUP BY c.conname, c.contype, c.oid
400
+ ORDER BY
401
+ CASE c.contype WHEN 'p' THEN 0 WHEN 'u' THEN 1 WHEN 'c' THEN 2 ELSE 3 END,
402
+ c.conname
403
+ `, [tableName, schemaName]);
404
+ const constraints = (constraintsResult.rows ?? []).map((row) => ({
405
+ name: row["name"],
406
+ type: row["type"],
407
+ definition: row["definition"],
408
+ columns: parseColumnsArray(row["columns"]),
409
+ }));
410
+ // Add NOT NULL "constraints" from column info (synthetic constraint entries)
411
+ const notNullConstraints = [];
412
+ for (const col of columns) {
413
+ if (!col.nullable && !col.primaryKey) {
414
+ // Skip primary key columns as they have inherent NOT NULL
415
+ notNullConstraints.push({
416
+ name: `${col.name}_not_null`,
417
+ type: "not_null",
418
+ definition: `NOT NULL`,
419
+ columns: [col.name],
420
+ });
421
+ }
422
+ }
423
+ // Get foreign keys
424
+ const foreignKeysResult = await executeQuery(`
425
+ SELECT
426
+ c.conname as name,
427
+ a.attname as column,
428
+ ref_t.relname as referenced_table,
429
+ ref_n.nspname as referenced_schema,
430
+ ref_a.attname as referenced_column,
431
+ CASE c.confupdtype
432
+ WHEN 'a' THEN 'NO ACTION'
433
+ WHEN 'r' THEN 'RESTRICT'
434
+ WHEN 'c' THEN 'CASCADE'
435
+ WHEN 'n' THEN 'SET NULL'
436
+ WHEN 'd' THEN 'SET DEFAULT'
437
+ END as on_update,
438
+ CASE c.confdeltype
439
+ WHEN 'a' THEN 'NO ACTION'
440
+ WHEN 'r' THEN 'RESTRICT'
441
+ WHEN 'c' THEN 'CASCADE'
442
+ WHEN 'n' THEN 'SET NULL'
443
+ WHEN 'd' THEN 'SET DEFAULT'
444
+ END as on_delete
445
+ FROM pg_constraint c
446
+ JOIN pg_class t ON t.oid = c.conrelid
447
+ JOIN pg_namespace n ON n.oid = t.relnamespace
448
+ JOIN pg_attribute a ON a.attrelid = t.oid AND a.attnum = ANY(c.conkey)
449
+ JOIN pg_class ref_t ON ref_t.oid = c.confrelid
450
+ JOIN pg_namespace ref_n ON ref_n.oid = ref_t.relnamespace
451
+ JOIN pg_attribute ref_a ON ref_a.attrelid = ref_t.oid AND ref_a.attnum = ANY(c.confkey)
452
+ WHERE t.relname = $1
453
+ AND n.nspname = $2
454
+ AND c.contype = 'f'
455
+ ORDER BY c.conname
456
+ `, [tableName, schemaName]);
457
+ const foreignKeys = (foreignKeysResult.rows ?? []).map((row) => ({
458
+ name: row["name"],
459
+ column: row["column"],
460
+ referencedTable: row["referenced_table"],
461
+ referencedSchema: row["referenced_schema"],
462
+ referencedColumn: row["referenced_column"],
463
+ onUpdate: row["on_update"],
464
+ onDelete: row["on_delete"],
465
+ }));
466
+ // Extract primary key columns from constraints for convenience
467
+ const pkConstraint = constraints.find((c) => c.type === "primary_key");
468
+ const primaryKey = pkConstraint?.columns ?? null;
469
+ const tableInfo = {
470
+ name: tableName,
471
+ schema: schemaName,
472
+ type: tableRow?.["type"] ?? "table",
473
+ owner: tableRow?.["owner"],
474
+ rowCount: (() => {
475
+ const rc = tableRow?.["row_count"];
476
+ const liveEst = Number(tableRow?.["live_row_estimate"]) || 0;
477
+ return rc !== null && rc !== undefined ? Number(rc) : liveEst;
478
+ })(),
479
+ comment: tableRow?.["comment"],
480
+ isPartitioned: tableRow?.["is_partitioned"],
481
+ partitionKey: tableRow?.["partition_key"],
482
+ columns,
483
+ primaryKey,
484
+ indexes,
485
+ constraints: [...constraints, ...notNullConstraints],
486
+ foreignKeys,
487
+ };
488
+ cache.setCache(cacheKey, tableInfo);
489
+ return tableInfo;
490
+ }
491
+ /**
492
+ * List all user schemas.
493
+ */
494
+ export async function queryListSchemas(executeQuery) {
495
+ const result = await executeQuery(`
496
+ SELECT nspname
497
+ FROM pg_catalog.pg_namespace
498
+ WHERE nspname NOT IN ('pg_catalog', 'information_schema')
499
+ AND nspname !~ '^pg_toast'
500
+ AND nspname !~ '^pg_temp'
501
+ ORDER BY nspname
502
+ `);
503
+ return (result.rows ?? []).map((row) => row["nspname"]);
504
+ }
505
+ /**
506
+ * Get indexes for a specific table.
507
+ */
508
+ export async function queryTableIndexes(executeQuery, tableName, schemaName = "public") {
509
+ const result = await executeQuery(`
510
+ SELECT
511
+ i.relname as name,
512
+ am.amname as type,
513
+ ix.indisunique as is_unique,
514
+ pg_get_indexdef(ix.indexrelid) as definition,
515
+ array_agg(a.attname ORDER BY x.ordinality) as columns,
516
+ pg_relation_size(i.oid) as size_bytes,
517
+ COALESCE(pg_stat_get_numscans(i.oid), 0) as num_scans,
518
+ COALESCE(pg_stat_get_tuples_returned(i.oid), 0) as tuples_read,
519
+ COALESCE(pg_stat_get_tuples_fetched(i.oid), 0) as tuples_fetched
520
+ FROM pg_index ix
521
+ JOIN pg_class t ON t.oid = ix.indrelid
522
+ JOIN pg_class i ON i.oid = ix.indexrelid
523
+ JOIN pg_namespace n ON n.oid = t.relnamespace
524
+ JOIN pg_am am ON am.oid = i.relam
525
+ CROSS JOIN LATERAL unnest(ix.indkey) WITH ORDINALITY AS x(attnum, ordinality)
526
+ LEFT JOIN pg_attribute a ON a.attrelid = t.oid AND a.attnum = x.attnum
527
+ WHERE t.relname = $1
528
+ AND n.nspname = $2
529
+ GROUP BY i.relname, am.amname, ix.indisunique, ix.indexrelid, i.oid
530
+ ORDER BY i.relname
531
+ `, [tableName, schemaName]);
532
+ return (result.rows ?? []).map((row) => {
533
+ const rawColumns = parseColumnsArray(row["columns"]);
534
+ const definition = row["definition"];
535
+ const indexType = row["type"];
536
+ return {
537
+ name: row["name"],
538
+ tableName,
539
+ schemaName,
540
+ columns: extractIndexColumns(rawColumns, definition),
541
+ unique: row["is_unique"],
542
+ type: indexType,
543
+ sizeBytes: Number(row["size_bytes"]) || undefined,
544
+ numberOfScans: Number(row["num_scans"]) || undefined,
545
+ tuplesRead: Number(row["tuples_read"]) || undefined,
546
+ tuplesFetched: Number(row["tuples_fetched"]) || undefined,
547
+ };
548
+ });
549
+ }
550
+ /**
551
+ * Check if a PostgreSQL extension is installed.
552
+ */
553
+ export async function queryIsExtensionAvailable(executeQuery, extensionName) {
554
+ const result = await executeQuery(`
555
+ SELECT EXISTS(
556
+ SELECT 1 FROM pg_extension WHERE extname = $1
557
+ ) as available
558
+ `, [extensionName]);
559
+ return result.rows?.[0]?.["available"] ?? false;
560
+ }
561
+ //# sourceMappingURL=schema-operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-operations.js","sourceRoot":"","sources":["../../../src/adapters/postgresql/schema-operations.ts"],"names":[],"mappings":"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"}
@@ -66,15 +66,15 @@ export declare const ReindexSchema: z.ZodPipe<z.ZodTransform<unknown, unknown>,
66
66
  concurrently: z.ZodOptional<z.ZodBoolean>;
67
67
  }, z.core.$strip>>;
68
68
  export declare const TerminateBackendSchemaBase: z.ZodObject<{
69
- pid: z.ZodOptional<z.ZodNumber>;
70
- processId: z.ZodOptional<z.ZodNumber>;
69
+ pid: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
70
+ processId: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
71
71
  }, z.core.$strip>;
72
72
  export declare const TerminateBackendSchema: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{
73
73
  pid: z.ZodNumber;
74
74
  }, z.core.$strip>>;
75
75
  export declare const CancelBackendSchemaBase: z.ZodObject<{
76
- pid: z.ZodOptional<z.ZodNumber>;
77
- processId: z.ZodOptional<z.ZodNumber>;
76
+ pid: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
77
+ processId: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
78
78
  }, z.core.$strip>;
79
79
  export declare const CancelBackendSchema: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{
80
80
  pid: z.ZodNumber;
@@ -170,8 +170,8 @@ function preprocessPidParams(input) {
170
170
  }
171
171
  // Base schema for MCP visibility (shows pid and alias)
172
172
  export const TerminateBackendSchemaBase = z.object({
173
- pid: z.number().optional().describe("Process ID to terminate"),
174
- processId: z.number().optional().describe("Alias for pid"),
173
+ pid: z.coerce.number().optional().describe("Process ID to terminate"),
174
+ processId: z.coerce.number().optional().describe("Alias for pid"),
175
175
  });
176
176
  // Preprocess schema for handlers
177
177
  export const TerminateBackendSchema = z.preprocess(preprocessPidParams, z.object({
@@ -179,8 +179,8 @@ export const TerminateBackendSchema = z.preprocess(preprocessPidParams, z.object
179
179
  }));
180
180
  // Base schema for MCP visibility (shows pid and alias)
181
181
  export const CancelBackendSchemaBase = z.object({
182
- pid: z.number().optional().describe("Process ID to cancel"),
183
- processId: z.number().optional().describe("Alias for pid"),
182
+ pid: z.coerce.number().optional().describe("Process ID to cancel"),
183
+ processId: z.coerce.number().optional().describe("Alias for pid"),
184
184
  });
185
185
  // Preprocess schema for handlers
186
186
  export const CancelBackendSchema = z.preprocess(preprocessPidParams, z.object({