@neverinfamous/postgres-mcp 2.0.0 → 2.2.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 (518) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +119 -46
  3. package/dist/__tests__/benchmarks/codemode.bench.js +3 -3
  4. package/dist/__tests__/benchmarks/codemode.bench.js.map +1 -1
  5. package/dist/__tests__/benchmarks/connection-pool.bench.js +3 -3
  6. package/dist/__tests__/benchmarks/connection-pool.bench.js.map +1 -1
  7. package/dist/__tests__/benchmarks/introspection-migration.bench.d.ts +11 -0
  8. package/dist/__tests__/benchmarks/introspection-migration.bench.d.ts.map +1 -0
  9. package/dist/__tests__/benchmarks/introspection-migration.bench.js +143 -0
  10. package/dist/__tests__/benchmarks/introspection-migration.bench.js.map +1 -0
  11. package/dist/__tests__/benchmarks/resource-prompts.bench.js +0 -64
  12. package/dist/__tests__/benchmarks/resource-prompts.bench.js.map +1 -1
  13. package/dist/__tests__/benchmarks/schema-parsing.bench.js +5 -5
  14. package/dist/__tests__/benchmarks/schema-parsing.bench.js.map +1 -1
  15. package/dist/__tests__/benchmarks/tool-filtering.bench.js +17 -8
  16. package/dist/__tests__/benchmarks/tool-filtering.bench.js.map +1 -1
  17. package/dist/__tests__/mocks/adapter.d.ts.map +1 -1
  18. package/dist/__tests__/mocks/adapter.js +2 -1
  19. package/dist/__tests__/mocks/adapter.js.map +1 -1
  20. package/dist/adapters/DatabaseAdapter.d.ts +6 -5
  21. package/dist/adapters/DatabaseAdapter.d.ts.map +1 -1
  22. package/dist/adapters/DatabaseAdapter.js +11 -20
  23. package/dist/adapters/DatabaseAdapter.js.map +1 -1
  24. package/dist/adapters/postgresql/PostgresAdapter.d.ts +5 -26
  25. package/dist/adapters/postgresql/PostgresAdapter.d.ts.map +1 -1
  26. package/dist/adapters/postgresql/PostgresAdapter.js +31 -526
  27. package/dist/adapters/postgresql/PostgresAdapter.js.map +1 -1
  28. package/dist/adapters/postgresql/prompts/index.js +1 -1
  29. package/dist/adapters/postgresql/prompts/index.js.map +1 -1
  30. package/dist/adapters/postgresql/resources/index.d.ts +1 -1
  31. package/dist/adapters/postgresql/resources/index.js +3 -3
  32. package/dist/adapters/postgresql/resources/index.js.map +1 -1
  33. package/dist/adapters/postgresql/schema-operations.d.ts +71 -0
  34. package/dist/adapters/postgresql/schema-operations.d.ts.map +1 -0
  35. package/dist/adapters/postgresql/schema-operations.js +561 -0
  36. package/dist/adapters/postgresql/schema-operations.js.map +1 -0
  37. package/dist/adapters/postgresql/schemas/admin.d.ts +4 -4
  38. package/dist/adapters/postgresql/schemas/admin.js +4 -4
  39. package/dist/adapters/postgresql/schemas/admin.js.map +1 -1
  40. package/dist/adapters/postgresql/schemas/backup.d.ts +2 -2
  41. package/dist/adapters/postgresql/schemas/backup.d.ts.map +1 -1
  42. package/dist/adapters/postgresql/schemas/backup.js +1 -3
  43. package/dist/adapters/postgresql/schemas/backup.js.map +1 -1
  44. package/dist/adapters/postgresql/schemas/core/index.d.ts +6 -0
  45. package/dist/adapters/postgresql/schemas/core/index.d.ts.map +1 -0
  46. package/dist/adapters/postgresql/schemas/core/index.js +6 -0
  47. package/dist/adapters/postgresql/schemas/core/index.js.map +1 -0
  48. package/dist/adapters/postgresql/schemas/{core.d.ts → core/queries.d.ts} +16 -171
  49. package/dist/adapters/postgresql/schemas/core/queries.d.ts.map +1 -0
  50. package/dist/adapters/postgresql/schemas/{core.js → core/queries.js} +5 -213
  51. package/dist/adapters/postgresql/schemas/core/queries.js.map +1 -0
  52. package/dist/adapters/postgresql/schemas/core/transactions.d.ts +149 -0
  53. package/dist/adapters/postgresql/schemas/core/transactions.d.ts.map +1 -0
  54. package/dist/adapters/postgresql/schemas/core/transactions.js +239 -0
  55. package/dist/adapters/postgresql/schemas/core/transactions.js.map +1 -0
  56. package/dist/adapters/postgresql/schemas/cron.d.ts +12 -12
  57. package/dist/adapters/postgresql/schemas/cron.d.ts.map +1 -1
  58. package/dist/adapters/postgresql/schemas/cron.js +38 -10
  59. package/dist/adapters/postgresql/schemas/cron.js.map +1 -1
  60. package/dist/adapters/postgresql/schemas/extensions/citext.d.ts +222 -0
  61. package/dist/adapters/postgresql/schemas/extensions/citext.d.ts.map +1 -0
  62. package/dist/adapters/postgresql/schemas/extensions/citext.js +306 -0
  63. package/dist/adapters/postgresql/schemas/extensions/citext.js.map +1 -0
  64. package/dist/adapters/postgresql/schemas/extensions/index.d.ts +15 -0
  65. package/dist/adapters/postgresql/schemas/extensions/index.d.ts.map +1 -0
  66. package/dist/adapters/postgresql/schemas/extensions/index.js +20 -0
  67. package/dist/adapters/postgresql/schemas/extensions/index.js.map +1 -0
  68. package/dist/adapters/postgresql/schemas/extensions/kcache.d.ts +164 -0
  69. package/dist/adapters/postgresql/schemas/extensions/kcache.d.ts.map +1 -0
  70. package/dist/adapters/postgresql/schemas/extensions/kcache.js +225 -0
  71. package/dist/adapters/postgresql/schemas/extensions/kcache.js.map +1 -0
  72. package/dist/adapters/postgresql/schemas/extensions/ltree.d.ts +253 -0
  73. package/dist/adapters/postgresql/schemas/extensions/ltree.d.ts.map +1 -0
  74. package/dist/adapters/postgresql/schemas/extensions/ltree.js +430 -0
  75. package/dist/adapters/postgresql/schemas/extensions/ltree.js.map +1 -0
  76. package/dist/adapters/postgresql/schemas/extensions/pgcrypto.d.ts +251 -0
  77. package/dist/adapters/postgresql/schemas/extensions/pgcrypto.d.ts.map +1 -0
  78. package/dist/adapters/postgresql/schemas/extensions/pgcrypto.js +294 -0
  79. package/dist/adapters/postgresql/schemas/extensions/pgcrypto.js.map +1 -0
  80. package/dist/adapters/postgresql/schemas/extensions/shared.d.ts +10 -0
  81. package/dist/adapters/postgresql/schemas/extensions/shared.d.ts.map +1 -0
  82. package/dist/adapters/postgresql/schemas/extensions/shared.js +15 -0
  83. package/dist/adapters/postgresql/schemas/extensions/shared.js.map +1 -0
  84. package/dist/adapters/postgresql/schemas/index.d.ts +6 -6
  85. package/dist/adapters/postgresql/schemas/index.d.ts.map +1 -1
  86. package/dist/adapters/postgresql/schemas/index.js +8 -8
  87. package/dist/adapters/postgresql/schemas/index.js.map +1 -1
  88. package/dist/adapters/postgresql/schemas/introspection.d.ts +19 -42
  89. package/dist/adapters/postgresql/schemas/introspection.d.ts.map +1 -1
  90. package/dist/adapters/postgresql/schemas/introspection.js +72 -27
  91. package/dist/adapters/postgresql/schemas/introspection.js.map +1 -1
  92. package/dist/adapters/postgresql/schemas/jsonb/advanced.d.ts +270 -0
  93. package/dist/adapters/postgresql/schemas/jsonb/advanced.d.ts.map +1 -0
  94. package/dist/adapters/postgresql/schemas/jsonb/advanced.js +371 -0
  95. package/dist/adapters/postgresql/schemas/jsonb/advanced.js.map +1 -0
  96. package/dist/adapters/postgresql/schemas/jsonb/basic.d.ts +283 -0
  97. package/dist/adapters/postgresql/schemas/jsonb/basic.d.ts.map +1 -0
  98. package/dist/adapters/postgresql/schemas/jsonb/basic.js +456 -0
  99. package/dist/adapters/postgresql/schemas/jsonb/basic.js.map +1 -0
  100. package/dist/adapters/postgresql/schemas/jsonb/index.d.ts +6 -0
  101. package/dist/adapters/postgresql/schemas/jsonb/index.d.ts.map +1 -0
  102. package/dist/adapters/postgresql/schemas/jsonb/index.js +6 -0
  103. package/dist/adapters/postgresql/schemas/jsonb/index.js.map +1 -0
  104. package/dist/adapters/postgresql/schemas/monitoring.d.ts +4 -4
  105. package/dist/adapters/postgresql/schemas/monitoring.js +2 -2
  106. package/dist/adapters/postgresql/schemas/monitoring.js.map +1 -1
  107. package/dist/adapters/postgresql/schemas/partitioning.d.ts +14 -14
  108. package/dist/adapters/postgresql/schemas/partitioning.d.ts.map +1 -1
  109. package/dist/adapters/postgresql/schemas/partitioning.js +64 -46
  110. package/dist/adapters/postgresql/schemas/partitioning.js.map +1 -1
  111. package/dist/adapters/postgresql/schemas/partman.d.ts +16 -14
  112. package/dist/adapters/postgresql/schemas/partman.d.ts.map +1 -1
  113. package/dist/adapters/postgresql/schemas/partman.js +9 -9
  114. package/dist/adapters/postgresql/schemas/partman.js.map +1 -1
  115. package/dist/adapters/postgresql/schemas/postgis/advanced.d.ts +429 -0
  116. package/dist/adapters/postgresql/schemas/postgis/advanced.d.ts.map +1 -0
  117. package/dist/adapters/postgresql/schemas/postgis/advanced.js +495 -0
  118. package/dist/adapters/postgresql/schemas/postgis/advanced.js.map +1 -0
  119. package/dist/adapters/postgresql/schemas/{postgis.d.ts → postgis/basic.d.ts} +1 -423
  120. package/dist/adapters/postgresql/schemas/postgis/basic.d.ts.map +1 -0
  121. package/dist/adapters/postgresql/schemas/{postgis.js → postgis/basic.js} +1 -486
  122. package/dist/adapters/postgresql/schemas/postgis/basic.js.map +1 -0
  123. package/dist/adapters/postgresql/schemas/postgis/index.d.ts +6 -0
  124. package/dist/adapters/postgresql/schemas/postgis/index.d.ts.map +1 -0
  125. package/dist/adapters/postgresql/schemas/postgis/index.js +6 -0
  126. package/dist/adapters/postgresql/schemas/postgis/index.js.map +1 -0
  127. package/dist/adapters/postgresql/schemas/schema-mgmt.d.ts +35 -25
  128. package/dist/adapters/postgresql/schemas/schema-mgmt.d.ts.map +1 -1
  129. package/dist/adapters/postgresql/schemas/schema-mgmt.js +57 -19
  130. package/dist/adapters/postgresql/schemas/schema-mgmt.js.map +1 -1
  131. package/dist/adapters/postgresql/schemas/stats/index.d.ts +6 -0
  132. package/dist/adapters/postgresql/schemas/stats/index.d.ts.map +1 -0
  133. package/dist/adapters/postgresql/schemas/stats/index.js +6 -0
  134. package/dist/adapters/postgresql/schemas/stats/index.js.map +1 -0
  135. package/dist/adapters/postgresql/schemas/stats/input.d.ts +260 -0
  136. package/dist/adapters/postgresql/schemas/stats/input.d.ts.map +1 -0
  137. package/dist/adapters/postgresql/schemas/{stats.js → stats/input.js} +2 -331
  138. package/dist/adapters/postgresql/schemas/stats/input.js.map +1 -0
  139. package/dist/adapters/postgresql/schemas/{stats.d.ts → stats/output.d.ts} +3 -246
  140. package/dist/adapters/postgresql/schemas/stats/output.d.ts.map +1 -0
  141. package/dist/adapters/postgresql/schemas/stats/output.js +334 -0
  142. package/dist/adapters/postgresql/schemas/stats/output.js.map +1 -0
  143. package/dist/adapters/postgresql/schemas/text-search.d.ts +18 -18
  144. package/dist/adapters/postgresql/schemas/text-search.d.ts.map +1 -1
  145. package/dist/adapters/postgresql/schemas/text-search.js +12 -27
  146. package/dist/adapters/postgresql/schemas/text-search.js.map +1 -1
  147. package/dist/adapters/postgresql/schemas/vector.d.ts +10 -10
  148. package/dist/adapters/postgresql/schemas/vector.d.ts.map +1 -1
  149. package/dist/adapters/postgresql/schemas/vector.js +9 -15
  150. package/dist/adapters/postgresql/schemas/vector.js.map +1 -1
  151. package/dist/adapters/postgresql/tools/backup/dump.d.ts.map +1 -1
  152. package/dist/adapters/postgresql/tools/backup/dump.js +95 -76
  153. package/dist/adapters/postgresql/tools/backup/dump.js.map +1 -1
  154. package/dist/adapters/postgresql/tools/backup/planning.d.ts.map +1 -1
  155. package/dist/adapters/postgresql/tools/backup/planning.js +345 -287
  156. package/dist/adapters/postgresql/tools/backup/planning.js.map +1 -1
  157. package/dist/adapters/postgresql/tools/citext/analysis.d.ts +24 -0
  158. package/dist/adapters/postgresql/tools/citext/analysis.d.ts.map +1 -0
  159. package/dist/adapters/postgresql/tools/{citext.js → citext/analysis.js} +50 -232
  160. package/dist/adapters/postgresql/tools/citext/analysis.js.map +1 -0
  161. package/dist/adapters/postgresql/tools/citext/index.d.ts +15 -0
  162. package/dist/adapters/postgresql/tools/citext/index.d.ts.map +1 -0
  163. package/dist/adapters/postgresql/tools/citext/index.js +23 -0
  164. package/dist/adapters/postgresql/tools/citext/index.js.map +1 -0
  165. package/dist/adapters/postgresql/tools/citext/setup.d.ts +16 -0
  166. package/dist/adapters/postgresql/tools/citext/setup.d.ts.map +1 -0
  167. package/dist/adapters/postgresql/tools/citext/setup.js +193 -0
  168. package/dist/adapters/postgresql/tools/citext/setup.js.map +1 -0
  169. package/dist/adapters/postgresql/tools/codemode/index.js +1 -1
  170. package/dist/adapters/postgresql/tools/codemode/index.js.map +1 -1
  171. package/dist/adapters/postgresql/tools/core/convenience.d.ts +12 -22
  172. package/dist/adapters/postgresql/tools/core/convenience.d.ts.map +1 -1
  173. package/dist/adapters/postgresql/tools/core/convenience.js +100 -210
  174. package/dist/adapters/postgresql/tools/core/convenience.js.map +1 -1
  175. package/dist/adapters/postgresql/tools/core/error-helpers.d.ts +1 -0
  176. package/dist/adapters/postgresql/tools/core/error-helpers.d.ts.map +1 -1
  177. package/dist/adapters/postgresql/tools/core/error-helpers.js +8 -1
  178. package/dist/adapters/postgresql/tools/core/error-helpers.js.map +1 -1
  179. package/dist/adapters/postgresql/tools/core/health.d.ts.map +1 -1
  180. package/dist/adapters/postgresql/tools/core/health.js +124 -114
  181. package/dist/adapters/postgresql/tools/core/health.js.map +1 -1
  182. package/dist/adapters/postgresql/tools/core/index.d.ts +2 -1
  183. package/dist/adapters/postgresql/tools/core/index.d.ts.map +1 -1
  184. package/dist/adapters/postgresql/tools/core/index.js +3 -2
  185. package/dist/adapters/postgresql/tools/core/index.js.map +1 -1
  186. package/dist/adapters/postgresql/tools/core/indexes.d.ts.map +1 -1
  187. package/dist/adapters/postgresql/tools/core/indexes.js +151 -127
  188. package/dist/adapters/postgresql/tools/core/indexes.js.map +1 -1
  189. package/dist/adapters/postgresql/tools/core/objects.d.ts.map +1 -1
  190. package/dist/adapters/postgresql/tools/core/objects.js +186 -161
  191. package/dist/adapters/postgresql/tools/core/objects.js.map +1 -1
  192. package/dist/adapters/postgresql/tools/core/query.d.ts.map +1 -1
  193. package/dist/adapters/postgresql/tools/core/query.js +37 -25
  194. package/dist/adapters/postgresql/tools/core/query.js.map +1 -1
  195. package/dist/adapters/postgresql/tools/core/schemas.d.ts +6 -3
  196. package/dist/adapters/postgresql/tools/core/schemas.d.ts.map +1 -1
  197. package/dist/adapters/postgresql/tools/core/schemas.js +11 -2
  198. package/dist/adapters/postgresql/tools/core/schemas.js.map +1 -1
  199. package/dist/adapters/postgresql/tools/core/tables.d.ts.map +1 -1
  200. package/dist/adapters/postgresql/tools/core/tables.js +156 -129
  201. package/dist/adapters/postgresql/tools/core/tables.js.map +1 -1
  202. package/dist/adapters/postgresql/tools/core/utility.d.ts +26 -0
  203. package/dist/adapters/postgresql/tools/core/utility.d.ts.map +1 -0
  204. package/dist/adapters/postgresql/tools/core/utility.js +174 -0
  205. package/dist/adapters/postgresql/tools/core/utility.js.map +1 -0
  206. package/dist/adapters/postgresql/tools/cron.js +90 -43
  207. package/dist/adapters/postgresql/tools/cron.js.map +1 -1
  208. package/dist/adapters/postgresql/tools/introspection/analysis.d.ts +12 -0
  209. package/dist/adapters/postgresql/tools/introspection/analysis.d.ts.map +1 -0
  210. package/dist/adapters/postgresql/tools/introspection/analysis.js +605 -0
  211. package/dist/adapters/postgresql/tools/introspection/analysis.js.map +1 -0
  212. package/dist/adapters/postgresql/tools/introspection/graph.d.ts +55 -0
  213. package/dist/adapters/postgresql/tools/introspection/graph.d.ts.map +1 -0
  214. package/dist/adapters/postgresql/tools/introspection/graph.js +621 -0
  215. package/dist/adapters/postgresql/tools/introspection/graph.js.map +1 -0
  216. package/dist/adapters/postgresql/tools/introspection/index.d.ts +21 -0
  217. package/dist/adapters/postgresql/tools/introspection/index.d.ts.map +1 -0
  218. package/dist/adapters/postgresql/tools/introspection/index.js +31 -0
  219. package/dist/adapters/postgresql/tools/introspection/index.js.map +1 -0
  220. package/dist/adapters/postgresql/tools/introspection/migration.d.ts +15 -0
  221. package/dist/adapters/postgresql/tools/introspection/migration.d.ts.map +1 -0
  222. package/dist/adapters/postgresql/tools/introspection/migration.js +575 -0
  223. package/dist/adapters/postgresql/tools/introspection/migration.js.map +1 -0
  224. package/dist/adapters/postgresql/tools/jsonb/analytics.d.ts +20 -0
  225. package/dist/adapters/postgresql/tools/jsonb/analytics.d.ts.map +1 -0
  226. package/dist/adapters/postgresql/tools/jsonb/analytics.js +367 -0
  227. package/dist/adapters/postgresql/tools/jsonb/analytics.js.map +1 -0
  228. package/dist/adapters/postgresql/tools/jsonb/index.d.ts +4 -2
  229. package/dist/adapters/postgresql/tools/jsonb/index.d.ts.map +1 -1
  230. package/dist/adapters/postgresql/tools/jsonb/index.js +8 -4
  231. package/dist/adapters/postgresql/tools/jsonb/index.js.map +1 -1
  232. package/dist/adapters/postgresql/tools/jsonb/read.d.ts +38 -0
  233. package/dist/adapters/postgresql/tools/jsonb/read.d.ts.map +1 -0
  234. package/dist/adapters/postgresql/tools/jsonb/{basic.js → read.js} +41 -482
  235. package/dist/adapters/postgresql/tools/jsonb/read.js.map +1 -0
  236. package/dist/adapters/postgresql/tools/jsonb/{advanced.d.ts → transform.d.ts} +1 -13
  237. package/dist/adapters/postgresql/tools/jsonb/transform.d.ts.map +1 -0
  238. package/dist/adapters/postgresql/tools/jsonb/{advanced.js → transform.js} +26 -357
  239. package/dist/adapters/postgresql/tools/jsonb/transform.js.map +1 -0
  240. package/dist/adapters/postgresql/tools/jsonb/write.d.ts +14 -0
  241. package/dist/adapters/postgresql/tools/jsonb/write.d.ts.map +1 -0
  242. package/dist/adapters/postgresql/tools/jsonb/write.js +468 -0
  243. package/dist/adapters/postgresql/tools/jsonb/write.js.map +1 -0
  244. package/dist/adapters/postgresql/tools/kcache.d.ts.map +1 -1
  245. package/dist/adapters/postgresql/tools/kcache.js +116 -51
  246. package/dist/adapters/postgresql/tools/kcache.js.map +1 -1
  247. package/dist/adapters/postgresql/tools/ltree.js +346 -260
  248. package/dist/adapters/postgresql/tools/ltree.js.map +1 -1
  249. package/dist/adapters/postgresql/tools/migration/index.d.ts +15 -0
  250. package/dist/adapters/postgresql/tools/migration/index.d.ts.map +1 -0
  251. package/dist/adapters/postgresql/tools/migration/index.js +23 -0
  252. package/dist/adapters/postgresql/tools/migration/index.js.map +1 -0
  253. package/dist/adapters/postgresql/tools/monitoring/analysis.d.ts +15 -0
  254. package/dist/adapters/postgresql/tools/monitoring/analysis.d.ts.map +1 -0
  255. package/dist/adapters/postgresql/tools/{monitoring.js → monitoring/analysis.js} +24 -359
  256. package/dist/adapters/postgresql/tools/monitoring/analysis.js.map +1 -0
  257. package/dist/adapters/postgresql/tools/monitoring/basic.d.ts +17 -0
  258. package/dist/adapters/postgresql/tools/monitoring/basic.d.ts.map +1 -0
  259. package/dist/adapters/postgresql/tools/monitoring/basic.js +432 -0
  260. package/dist/adapters/postgresql/tools/monitoring/basic.js.map +1 -0
  261. package/dist/adapters/postgresql/tools/monitoring/index.d.ts +16 -0
  262. package/dist/adapters/postgresql/tools/monitoring/index.d.ts.map +1 -0
  263. package/dist/adapters/postgresql/tools/monitoring/index.js +31 -0
  264. package/dist/adapters/postgresql/tools/monitoring/index.js.map +1 -0
  265. package/dist/adapters/postgresql/tools/partitioning/index.d.ts +15 -0
  266. package/dist/adapters/postgresql/tools/partitioning/index.d.ts.map +1 -0
  267. package/dist/adapters/postgresql/tools/partitioning/index.js +23 -0
  268. package/dist/adapters/postgresql/tools/partitioning/index.js.map +1 -0
  269. package/dist/adapters/postgresql/tools/partitioning/info.d.ts +11 -0
  270. package/dist/adapters/postgresql/tools/partitioning/info.d.ts.map +1 -0
  271. package/dist/adapters/postgresql/tools/partitioning/info.js +302 -0
  272. package/dist/adapters/postgresql/tools/partitioning/info.js.map +1 -0
  273. package/dist/adapters/postgresql/tools/partitioning/management.d.ts +28 -0
  274. package/dist/adapters/postgresql/tools/partitioning/management.d.ts.map +1 -0
  275. package/dist/adapters/postgresql/tools/{partitioning.js → partitioning/management.js} +48 -307
  276. package/dist/adapters/postgresql/tools/partitioning/management.js.map +1 -0
  277. package/dist/adapters/postgresql/tools/partman/helpers.d.ts +29 -0
  278. package/dist/adapters/postgresql/tools/partman/helpers.d.ts.map +1 -0
  279. package/dist/adapters/postgresql/tools/partman/helpers.js +59 -0
  280. package/dist/adapters/postgresql/tools/partman/helpers.js.map +1 -0
  281. package/dist/adapters/postgresql/tools/partman/index.d.ts +2 -1
  282. package/dist/adapters/postgresql/tools/partman/index.d.ts.map +1 -1
  283. package/dist/adapters/postgresql/tools/partman/index.js +4 -2
  284. package/dist/adapters/postgresql/tools/partman/index.js.map +1 -1
  285. package/dist/adapters/postgresql/tools/partman/maintenance.d.ts +20 -0
  286. package/dist/adapters/postgresql/tools/partman/maintenance.d.ts.map +1 -0
  287. package/dist/adapters/postgresql/tools/partman/maintenance.js +496 -0
  288. package/dist/adapters/postgresql/tools/partman/maintenance.js.map +1 -0
  289. package/dist/adapters/postgresql/tools/partman/management.d.ts.map +1 -1
  290. package/dist/adapters/postgresql/tools/partman/management.js +438 -383
  291. package/dist/adapters/postgresql/tools/partman/management.js.map +1 -1
  292. package/dist/adapters/postgresql/tools/partman/operations.d.ts +1 -13
  293. package/dist/adapters/postgresql/tools/partman/operations.d.ts.map +1 -1
  294. package/dist/adapters/postgresql/tools/partman/operations.js +171 -652
  295. package/dist/adapters/postgresql/tools/partman/operations.js.map +1 -1
  296. package/dist/adapters/postgresql/tools/performance/analysis.d.ts.map +1 -1
  297. package/dist/adapters/postgresql/tools/performance/analysis.js +69 -42
  298. package/dist/adapters/postgresql/tools/performance/analysis.js.map +1 -1
  299. package/dist/adapters/postgresql/tools/performance/anomaly-detection.d.ts +18 -0
  300. package/dist/adapters/postgresql/tools/performance/anomaly-detection.d.ts.map +1 -0
  301. package/dist/adapters/postgresql/tools/performance/anomaly-detection.js +533 -0
  302. package/dist/adapters/postgresql/tools/performance/anomaly-detection.js.map +1 -0
  303. package/dist/adapters/postgresql/tools/performance/diagnostics.d.ts +11 -0
  304. package/dist/adapters/postgresql/tools/performance/diagnostics.d.ts.map +1 -0
  305. package/dist/adapters/postgresql/tools/performance/diagnostics.js +332 -0
  306. package/dist/adapters/postgresql/tools/performance/diagnostics.js.map +1 -0
  307. package/dist/adapters/postgresql/tools/performance/index.d.ts +1 -1
  308. package/dist/adapters/postgresql/tools/performance/index.d.ts.map +1 -1
  309. package/dist/adapters/postgresql/tools/performance/index.js +7 -1
  310. package/dist/adapters/postgresql/tools/performance/index.js.map +1 -1
  311. package/dist/adapters/postgresql/tools/performance/monitoring.d.ts.map +1 -1
  312. package/dist/adapters/postgresql/tools/performance/monitoring.js +80 -55
  313. package/dist/adapters/postgresql/tools/performance/monitoring.js.map +1 -1
  314. package/dist/adapters/postgresql/tools/performance/optimization.d.ts.map +1 -1
  315. package/dist/adapters/postgresql/tools/performance/optimization.js +18 -11
  316. package/dist/adapters/postgresql/tools/performance/optimization.js.map +1 -1
  317. package/dist/adapters/postgresql/tools/performance/stats.d.ts.map +1 -1
  318. package/dist/adapters/postgresql/tools/performance/stats.js +439 -318
  319. package/dist/adapters/postgresql/tools/performance/stats.js.map +1 -1
  320. package/dist/adapters/postgresql/tools/pgcrypto.d.ts.map +1 -1
  321. package/dist/adapters/postgresql/tools/pgcrypto.js +45 -77
  322. package/dist/adapters/postgresql/tools/pgcrypto.js.map +1 -1
  323. package/dist/adapters/postgresql/tools/postgis/basic.d.ts.map +1 -1
  324. package/dist/adapters/postgresql/tools/postgis/basic.js +121 -93
  325. package/dist/adapters/postgresql/tools/postgis/basic.js.map +1 -1
  326. package/dist/adapters/postgresql/tools/schema/index.d.ts +16 -0
  327. package/dist/adapters/postgresql/tools/schema/index.d.ts.map +1 -0
  328. package/dist/adapters/postgresql/tools/schema/index.js +32 -0
  329. package/dist/adapters/postgresql/tools/schema/index.js.map +1 -0
  330. package/dist/adapters/postgresql/tools/schema/objects.d.ts +15 -0
  331. package/dist/adapters/postgresql/tools/schema/objects.d.ts.map +1 -0
  332. package/dist/adapters/postgresql/tools/schema/objects.js +378 -0
  333. package/dist/adapters/postgresql/tools/schema/objects.js.map +1 -0
  334. package/dist/adapters/postgresql/tools/schema/views.d.ts +15 -0
  335. package/dist/adapters/postgresql/tools/schema/views.d.ts.map +1 -0
  336. package/dist/adapters/postgresql/tools/{schema.js → schema/views.js} +64 -386
  337. package/dist/adapters/postgresql/tools/schema/views.js.map +1 -0
  338. package/dist/adapters/postgresql/tools/stats/advanced.d.ts.map +1 -1
  339. package/dist/adapters/postgresql/tools/stats/advanced.js +1 -218
  340. package/dist/adapters/postgresql/tools/stats/advanced.js.map +1 -1
  341. package/dist/adapters/postgresql/tools/stats/math-utils.d.ts +33 -0
  342. package/dist/adapters/postgresql/tools/stats/math-utils.d.ts.map +1 -0
  343. package/dist/adapters/postgresql/tools/stats/math-utils.js +225 -0
  344. package/dist/adapters/postgresql/tools/stats/math-utils.js.map +1 -0
  345. package/dist/adapters/postgresql/tools/text/index.d.ts +16 -0
  346. package/dist/adapters/postgresql/tools/text/index.d.ts.map +1 -0
  347. package/dist/adapters/postgresql/tools/text/index.js +33 -0
  348. package/dist/adapters/postgresql/tools/text/index.js.map +1 -0
  349. package/dist/adapters/postgresql/tools/text/matching.d.ts +17 -0
  350. package/dist/adapters/postgresql/tools/text/matching.d.ts.map +1 -0
  351. package/dist/adapters/postgresql/tools/text/matching.js +565 -0
  352. package/dist/adapters/postgresql/tools/text/matching.js.map +1 -0
  353. package/dist/adapters/postgresql/tools/text/search.d.ts +17 -0
  354. package/dist/adapters/postgresql/tools/text/search.d.ts.map +1 -0
  355. package/dist/adapters/postgresql/tools/text/search.js +653 -0
  356. package/dist/adapters/postgresql/tools/text/search.js.map +1 -0
  357. package/dist/adapters/postgresql/tools/transactions.d.ts.map +1 -1
  358. package/dist/adapters/postgresql/tools/transactions.js +11 -27
  359. package/dist/adapters/postgresql/tools/transactions.js.map +1 -1
  360. package/dist/adapters/postgresql/tools/vector/{basic.d.ts → data.d.ts} +10 -8
  361. package/dist/adapters/postgresql/tools/vector/data.d.ts.map +1 -0
  362. package/dist/adapters/postgresql/tools/vector/data.js +540 -0
  363. package/dist/adapters/postgresql/tools/vector/data.js.map +1 -0
  364. package/dist/adapters/postgresql/tools/vector/index.d.ts.map +1 -1
  365. package/dist/adapters/postgresql/tools/vector/index.js +6 -2
  366. package/dist/adapters/postgresql/tools/vector/index.js.map +1 -1
  367. package/dist/adapters/postgresql/tools/vector/management.d.ts +11 -0
  368. package/dist/adapters/postgresql/tools/vector/management.d.ts.map +1 -0
  369. package/dist/adapters/postgresql/tools/vector/management.js +425 -0
  370. package/dist/adapters/postgresql/tools/vector/management.js.map +1 -0
  371. package/dist/adapters/postgresql/tools/vector/query.d.ts +14 -0
  372. package/dist/adapters/postgresql/tools/vector/query.d.ts.map +1 -0
  373. package/dist/adapters/postgresql/tools/vector/query.js +767 -0
  374. package/dist/adapters/postgresql/tools/vector/query.js.map +1 -0
  375. package/dist/adapters/postgresql/tools/vector/{advanced.d.ts → search-advanced.d.ts} +4 -5
  376. package/dist/adapters/postgresql/tools/vector/search-advanced.d.ts.map +1 -0
  377. package/dist/adapters/postgresql/tools/vector/search-advanced.js +626 -0
  378. package/dist/adapters/postgresql/tools/vector/search-advanced.js.map +1 -0
  379. package/dist/auth/scopes.d.ts.map +1 -1
  380. package/dist/auth/scopes.js +3 -1
  381. package/dist/auth/scopes.js.map +1 -1
  382. package/dist/cli/args.d.ts +3 -2
  383. package/dist/cli/args.d.ts.map +1 -1
  384. package/dist/cli/args.js +4 -3
  385. package/dist/cli/args.js.map +1 -1
  386. package/dist/cli.js +16 -4
  387. package/dist/cli.js.map +1 -1
  388. package/dist/codemode/api/aliases.d.ts +14 -0
  389. package/dist/codemode/api/aliases.d.ts.map +1 -0
  390. package/dist/codemode/api/aliases.js +503 -0
  391. package/dist/codemode/api/aliases.js.map +1 -0
  392. package/dist/codemode/api/group-api.d.ts +23 -0
  393. package/dist/codemode/api/group-api.d.ts.map +1 -0
  394. package/dist/codemode/api/group-api.js +179 -0
  395. package/dist/codemode/api/group-api.js.map +1 -0
  396. package/dist/codemode/{api.d.ts → api/index.d.ts} +5 -4
  397. package/dist/codemode/api/index.d.ts.map +1 -0
  398. package/dist/codemode/api/index.js +195 -0
  399. package/dist/codemode/api/index.js.map +1 -0
  400. package/dist/codemode/api/maps.d.ts +47 -0
  401. package/dist/codemode/api/maps.d.ts.map +1 -0
  402. package/dist/codemode/api/maps.js +529 -0
  403. package/dist/codemode/api/maps.js.map +1 -0
  404. package/dist/codemode/api/normalize.d.ts +13 -0
  405. package/dist/codemode/api/normalize.d.ts.map +1 -0
  406. package/dist/codemode/api/normalize.js +120 -0
  407. package/dist/codemode/api/normalize.js.map +1 -0
  408. package/dist/codemode/index.d.ts +1 -1
  409. package/dist/codemode/index.d.ts.map +1 -1
  410. package/dist/codemode/index.js +1 -1
  411. package/dist/codemode/index.js.map +1 -1
  412. package/dist/codemode/sandbox.d.ts.map +1 -1
  413. package/dist/codemode/sandbox.js +8 -25
  414. package/dist/codemode/sandbox.js.map +1 -1
  415. package/dist/filtering/ToolConstants.d.ts +11 -11
  416. package/dist/filtering/ToolConstants.d.ts.map +1 -1
  417. package/dist/filtering/ToolConstants.js +28 -15
  418. package/dist/filtering/ToolConstants.js.map +1 -1
  419. package/dist/filtering/ToolFilter.d.ts +0 -32
  420. package/dist/filtering/ToolFilter.d.ts.map +1 -1
  421. package/dist/filtering/ToolFilter.js +0 -43
  422. package/dist/filtering/ToolFilter.js.map +1 -1
  423. package/dist/server/McpServer.d.ts +1 -1
  424. package/dist/server/McpServer.d.ts.map +1 -1
  425. package/dist/server/McpServer.js +1 -2
  426. package/dist/server/McpServer.js.map +1 -1
  427. package/dist/transports/http.d.ts +55 -10
  428. package/dist/transports/http.d.ts.map +1 -1
  429. package/dist/transports/http.js +301 -50
  430. package/dist/transports/http.js.map +1 -1
  431. package/dist/types/filtering.d.ts +1 -1
  432. package/dist/types/filtering.d.ts.map +1 -1
  433. package/dist/types/index.d.ts +2 -2
  434. package/dist/types/index.d.ts.map +1 -1
  435. package/dist/types/index.js.map +1 -1
  436. package/dist/types/mcp.d.ts +0 -21
  437. package/dist/types/mcp.d.ts.map +1 -1
  438. package/dist/types/schema.d.ts +0 -79
  439. package/dist/types/schema.d.ts.map +1 -1
  440. package/dist/utils/fts-config.d.ts +0 -6
  441. package/dist/utils/fts-config.d.ts.map +1 -1
  442. package/dist/utils/fts-config.js +1 -1
  443. package/dist/utils/fts-config.js.map +1 -1
  444. package/dist/utils/icons.d.ts.map +1 -1
  445. package/dist/utils/icons.js +5 -0
  446. package/dist/utils/icons.js.map +1 -1
  447. package/dist/utils/identifiers.d.ts.map +1 -1
  448. package/dist/utils/identifiers.js +6 -6
  449. package/dist/utils/identifiers.js.map +1 -1
  450. package/dist/utils/logger.d.ts +6 -6
  451. package/dist/utils/logger.d.ts.map +1 -1
  452. package/dist/utils/logger.js +18 -15
  453. package/dist/utils/logger.js.map +1 -1
  454. package/dist/utils/progress-utils.d.ts +3 -14
  455. package/dist/utils/progress-utils.d.ts.map +1 -1
  456. package/dist/utils/progress-utils.js +2 -21
  457. package/dist/utils/progress-utils.js.map +1 -1
  458. package/dist/utils/version.d.ts +9 -0
  459. package/dist/utils/version.d.ts.map +1 -0
  460. package/dist/utils/version.js +12 -0
  461. package/dist/utils/version.js.map +1 -0
  462. package/dist/utils/where-clause.d.ts +4 -0
  463. package/dist/utils/where-clause.d.ts.map +1 -1
  464. package/dist/utils/where-clause.js +16 -0
  465. package/dist/utils/where-clause.js.map +1 -1
  466. package/package.json +6 -4
  467. package/dist/adapters/postgresql/schemas/core.d.ts.map +0 -1
  468. package/dist/adapters/postgresql/schemas/core.js.map +0 -1
  469. package/dist/adapters/postgresql/schemas/extensions.d.ts +0 -852
  470. package/dist/adapters/postgresql/schemas/extensions.d.ts.map +0 -1
  471. package/dist/adapters/postgresql/schemas/extensions.js +0 -1202
  472. package/dist/adapters/postgresql/schemas/extensions.js.map +0 -1
  473. package/dist/adapters/postgresql/schemas/jsonb.d.ts +0 -541
  474. package/dist/adapters/postgresql/schemas/jsonb.d.ts.map +0 -1
  475. package/dist/adapters/postgresql/schemas/jsonb.js +0 -814
  476. package/dist/adapters/postgresql/schemas/jsonb.js.map +0 -1
  477. package/dist/adapters/postgresql/schemas/postgis.d.ts.map +0 -1
  478. package/dist/adapters/postgresql/schemas/postgis.js.map +0 -1
  479. package/dist/adapters/postgresql/schemas/stats.d.ts.map +0 -1
  480. package/dist/adapters/postgresql/schemas/stats.js.map +0 -1
  481. package/dist/adapters/postgresql/tools/citext.d.ts +0 -18
  482. package/dist/adapters/postgresql/tools/citext.d.ts.map +0 -1
  483. package/dist/adapters/postgresql/tools/citext.js.map +0 -1
  484. package/dist/adapters/postgresql/tools/introspection.d.ts +0 -15
  485. package/dist/adapters/postgresql/tools/introspection.d.ts.map +0 -1
  486. package/dist/adapters/postgresql/tools/introspection.js +0 -1682
  487. package/dist/adapters/postgresql/tools/introspection.js.map +0 -1
  488. package/dist/adapters/postgresql/tools/jsonb/advanced.d.ts.map +0 -1
  489. package/dist/adapters/postgresql/tools/jsonb/advanced.js.map +0 -1
  490. package/dist/adapters/postgresql/tools/jsonb/basic.d.ts +0 -20
  491. package/dist/adapters/postgresql/tools/jsonb/basic.d.ts.map +0 -1
  492. package/dist/adapters/postgresql/tools/jsonb/basic.js.map +0 -1
  493. package/dist/adapters/postgresql/tools/monitoring.d.ts +0 -13
  494. package/dist/adapters/postgresql/tools/monitoring.d.ts.map +0 -1
  495. package/dist/adapters/postgresql/tools/monitoring.js.map +0 -1
  496. package/dist/adapters/postgresql/tools/partitioning.d.ts +0 -13
  497. package/dist/adapters/postgresql/tools/partitioning.d.ts.map +0 -1
  498. package/dist/adapters/postgresql/tools/partitioning.js.map +0 -1
  499. package/dist/adapters/postgresql/tools/schema.d.ts +0 -13
  500. package/dist/adapters/postgresql/tools/schema.d.ts.map +0 -1
  501. package/dist/adapters/postgresql/tools/schema.js.map +0 -1
  502. package/dist/adapters/postgresql/tools/text.d.ts +0 -13
  503. package/dist/adapters/postgresql/tools/text.d.ts.map +0 -1
  504. package/dist/adapters/postgresql/tools/text.js +0 -1082
  505. package/dist/adapters/postgresql/tools/text.js.map +0 -1
  506. package/dist/adapters/postgresql/tools/vector/advanced.d.ts.map +0 -1
  507. package/dist/adapters/postgresql/tools/vector/advanced.js +0 -958
  508. package/dist/adapters/postgresql/tools/vector/advanced.js.map +0 -1
  509. package/dist/adapters/postgresql/tools/vector/basic.d.ts.map +0 -1
  510. package/dist/adapters/postgresql/tools/vector/basic.js +0 -1165
  511. package/dist/adapters/postgresql/tools/vector/basic.js.map +0 -1
  512. package/dist/codemode/api.d.ts.map +0 -1
  513. package/dist/codemode/api.js +0 -1544
  514. package/dist/codemode/api.js.map +0 -1
  515. package/dist/utils/promptGenerator.d.ts +0 -20
  516. package/dist/utils/promptGenerator.d.ts.map +0 -1
  517. package/dist/utils/promptGenerator.js +0 -81
  518. package/dist/utils/promptGenerator.js.map +0 -1
@@ -1,25 +1,18 @@
1
1
  /**
2
- * PostgreSQL Partitioning Tools
2
+ * PostgreSQL Partitioning Tools - Management
3
3
  *
4
- * Table partitioning management.
5
- * 6 tools total.
4
+ * Partition management: list, create table, create partition, attach.
6
5
  */
7
- import { readOnly, write, destructive } from "../../../utils/annotations.js";
8
- import { formatPostgresError } from "./core/error-helpers.js";
9
- import { getToolIcons } from "../../../utils/icons.js";
10
- import { sanitizeIdentifier, sanitizeTableName, } from "../../../utils/identifiers.js";
11
- import {
12
- // Base schemas for MCP visibility
13
- CreatePartitionedTableSchemaBase, CreatePartitionSchemaBase, AttachPartitionSchemaBase, DetachPartitionSchemaBase, ListPartitionsSchemaBase, PartitionInfoSchemaBase,
14
- // Preprocessed schemas for handler parsing
15
- CreatePartitionedTableSchema, CreatePartitionSchema, AttachPartitionSchema, DetachPartitionSchema, ListPartitionsSchema, PartitionInfoSchema,
16
- // Output schemas
17
- ListPartitionsOutputSchema, CreatePartitionedTableOutputSchema, CreatePartitionOutputSchema, AttachPartitionOutputSchema, DetachPartitionOutputSchema, PartitionInfoOutputSchema, } from "../schemas/index.js";
6
+ import { readOnly, write } from "../../../../utils/annotations.js";
7
+ import { getToolIcons } from "../../../../utils/icons.js";
8
+ import { formatPostgresError } from "../core/error-helpers.js";
9
+ import { sanitizeIdentifier, sanitizeTableName, } from "../../../../utils/identifiers.js";
10
+ import { CreatePartitionedTableSchema, CreatePartitionedTableSchemaBase, CreatePartitionSchema, CreatePartitionSchemaBase, ListPartitionsSchema, ListPartitionsSchemaBase, ListPartitionsOutputSchema, CreatePartitionedTableOutputSchema, CreatePartitionOutputSchema, } from "../../schemas/index.js";
18
11
  /**
19
12
  * Parse schema.table format identifier
20
13
  * Returns { table, schema } with schema extracted from prefix if present
21
14
  */
22
- function parseSchemaTable(identifier, defaultSchema) {
15
+ export function parseSchemaTable(identifier, defaultSchema) {
23
16
  if (identifier.includes(".")) {
24
17
  const parts = identifier.split(".");
25
18
  return {
@@ -32,7 +25,7 @@ function parseSchemaTable(identifier, defaultSchema) {
32
25
  /**
33
26
  * Format bytes to human-readable string with consistent formatting
34
27
  */
35
- function formatBytes(bytes) {
28
+ export function formatBytes(bytes) {
36
29
  if (bytes < 1024)
37
30
  return `${String(bytes)} B`;
38
31
  if (bytes < 1024 * 1024)
@@ -45,11 +38,11 @@ function formatBytes(bytes) {
45
38
  * Check table existence and partition status
46
39
  * Returns: 'partitioned' | 'not_partitioned' | 'not_found'
47
40
  */
48
- async function checkTablePartitionStatus(adapter, table, schema) {
41
+ export async function checkTablePartitionStatus(adapter, table, schema) {
49
42
  // 'r' = regular table, 'p' = partitioned table
50
- const checkSql = `SELECT c.relkind FROM pg_class c
43
+ const checkSql = `SELECT c.relkind FROM pg_class c
51
44
  JOIN pg_namespace n ON c.relnamespace = n.oid
52
- WHERE c.relname = $1 AND n.nspname = $2
45
+ WHERE c.relname = $1 AND n.nspname = $2
53
46
  AND c.relkind IN ('r', 'p')`;
54
47
  const result = await adapter.executeQuery(checkSql, [table, schema]);
55
48
  const rows = result.rows ?? [];
@@ -58,20 +51,7 @@ async function checkTablePartitionStatus(adapter, table, schema) {
58
51
  }
59
52
  return rows[0]?.["relkind"] === "p" ? "partitioned" : "not_partitioned";
60
53
  }
61
- /**
62
- * Get all partitioning tools
63
- */
64
- export function getPartitioningTools(adapter) {
65
- return [
66
- createListPartitionsTool(adapter),
67
- createPartitionedTableTool(adapter),
68
- createPartitionTool(adapter),
69
- createAttachPartitionTool(adapter),
70
- createDetachPartitionTool(adapter),
71
- createPartitionInfoTool(adapter),
72
- ];
73
- }
74
- function createListPartitionsTool(adapter) {
54
+ export function createListPartitionsTool(adapter) {
75
55
  return {
76
56
  name: "pg_list_partitions",
77
57
  description: "List all partitions of a partitioned table. Returns warning if table is not partitioned.",
@@ -82,7 +62,18 @@ function createListPartitionsTool(adapter) {
82
62
  icons: getToolIcons("partitioning", readOnly("List Partitions")),
83
63
  handler: async (params, _context) => {
84
64
  // Use preprocessed schema for alias resolution
85
- const parsed = ListPartitionsSchema.parse(params);
65
+ let parsed;
66
+ try {
67
+ parsed = ListPartitionsSchema.parse(params);
68
+ }
69
+ catch (zodError) {
70
+ return {
71
+ success: false,
72
+ error: formatPostgresError(zodError, {
73
+ tool: "pg_list_partitions",
74
+ }),
75
+ };
76
+ }
86
77
  // Parse schema.table format if present
87
78
  let tableName = parsed.table;
88
79
  let schemaName = parsed.schema ?? "public";
@@ -96,24 +87,20 @@ function createListPartitionsTool(adapter) {
96
87
  const tableStatus = await checkTablePartitionStatus(adapter, resolvedTable, schemaName);
97
88
  if (tableStatus === "not_found") {
98
89
  return {
99
- partitions: [],
100
- count: 0,
101
- truncated: false,
102
- warning: `Table '${schemaName}.${resolvedTable}' does not exist.`,
90
+ success: false,
91
+ error: `Table "${schemaName}.${resolvedTable}" does not exist`,
103
92
  };
104
93
  }
105
94
  if (tableStatus === "not_partitioned") {
106
95
  return {
107
- partitions: [],
108
- count: 0,
109
- truncated: false,
110
- warning: `Table '${schemaName}.${resolvedTable}' exists but is not partitioned. Use pg_create_partitioned_table to create a partitioned table.`,
96
+ success: false,
97
+ error: `Table "${schemaName}.${resolvedTable}" exists but is not partitioned. Use pg_create_partitioned_table to create a partitioned table.`,
111
98
  };
112
99
  }
113
100
  // Resolve limit: default 50, 0 = no limit
114
101
  const limit = parsed.limit ?? 50;
115
102
  // Build query with optional limit
116
- let sql = `SELECT
103
+ let sql = `SELECT
117
104
  c.relname as partition_name,
118
105
  pg_get_expr(c.relpartbound, c.oid) as bounds,
119
106
  pg_table_size(c.oid) as size_bytes,
@@ -161,7 +148,7 @@ function createListPartitionsTool(adapter) {
161
148
  },
162
149
  };
163
150
  }
164
- function createPartitionedTableTool(adapter) {
151
+ export function createPartitionedTableTool(adapter) {
165
152
  return {
166
153
  name: "pg_create_partitioned_table",
167
154
  description: "Create a partitioned table. Columns: notNull, primaryKey, unique, default. Note: primaryKey/unique must include the partition key column.",
@@ -178,7 +165,9 @@ function createPartitionedTableTool(adapter) {
178
165
  catch (zodError) {
179
166
  return {
180
167
  success: false,
181
- error: zodError instanceof Error ? zodError.message : String(zodError),
168
+ error: formatPostgresError(zodError, {
169
+ tool: "pg_create_partitioned_table",
170
+ }),
182
171
  };
183
172
  }
184
173
  const { name, schema, columns, partitionBy, partitionKey, primaryKey } = parsed;
@@ -293,7 +282,7 @@ function createPartitionedTableTool(adapter) {
293
282
  },
294
283
  };
295
284
  }
296
- function createPartitionTool(adapter) {
285
+ export function createPartitionTool(adapter) {
297
286
  return {
298
287
  name: "pg_create_partition",
299
288
  description: "Create a partition. Use subpartitionBy/subpartitionKey to make it sub-partitionable for multi-level partitioning.",
@@ -304,7 +293,18 @@ function createPartitionTool(adapter) {
304
293
  icons: getToolIcons("partitioning", write("Create Partition")),
305
294
  handler: async (params, _context) => {
306
295
  // Preprocessing resolves parent from parent/parentTable/table aliases
307
- const parsed = CreatePartitionSchema.parse(params);
296
+ let parsed;
297
+ try {
298
+ parsed = CreatePartitionSchema.parse(params);
299
+ }
300
+ catch (zodError) {
301
+ return {
302
+ success: false,
303
+ error: formatPostgresError(zodError, {
304
+ tool: "pg_create_partition",
305
+ }),
306
+ };
307
+ }
308
308
  const { parent, name, schema, forValues, subpartitionBy, subpartitionKey, } = parsed;
309
309
  // Validate sub-partitioning parameters
310
310
  if (subpartitionBy !== undefined && subpartitionKey === undefined) {
@@ -381,263 +381,4 @@ function createPartitionTool(adapter) {
381
381
  },
382
382
  };
383
383
  }
384
- function createAttachPartitionTool(adapter) {
385
- return {
386
- name: "pg_attach_partition",
387
- description: "Attach an existing table as a partition.",
388
- group: "partitioning",
389
- inputSchema: AttachPartitionSchemaBase, // Base schema for MCP visibility
390
- outputSchema: AttachPartitionOutputSchema,
391
- annotations: write("Attach Partition"),
392
- icons: getToolIcons("partitioning", write("Attach Partition")),
393
- handler: async (params, _context) => {
394
- const { parent, partition, forValues, schema } = AttachPartitionSchema.parse(params);
395
- // Check parent table existence and partition status before SQL execution
396
- const parsedParentCheck = parseSchemaTable(parent, schema);
397
- const parentStatus = await checkTablePartitionStatus(adapter, parsedParentCheck.table, parsedParentCheck.schema);
398
- if (parentStatus === "not_found") {
399
- return {
400
- success: false,
401
- error: `Parent table '${parsedParentCheck.schema}.${parsedParentCheck.table}' does not exist.`,
402
- };
403
- }
404
- if (parentStatus === "not_partitioned") {
405
- return {
406
- success: false,
407
- error: `Parent table '${parsedParentCheck.schema}.${parsedParentCheck.table}' exists but is not partitioned.`,
408
- };
409
- }
410
- // Check partition table exists (it must exist as a standalone table to attach)
411
- const parsedPartCheck = parseSchemaTable(partition, schema);
412
- const partCheckSql = `SELECT 1 FROM pg_class c JOIN pg_namespace n ON c.relnamespace = n.oid WHERE c.relname = $1 AND n.nspname = $2 AND c.relkind IN ('r', 'p')`;
413
- const partCheckResult = await adapter.executeQuery(partCheckSql, [
414
- parsedPartCheck.table,
415
- parsedPartCheck.schema,
416
- ]);
417
- if ((partCheckResult.rows ?? []).length === 0) {
418
- return {
419
- success: false,
420
- error: `Partition table '${parsedPartCheck.schema}.${parsedPartCheck.table}' does not exist.`,
421
- };
422
- }
423
- // Parse schema.table format from parent and partition (takes priority over explicit schema)
424
- const parsedParent = parseSchemaTable(parent, schema);
425
- const parsedPartition = parseSchemaTable(partition, schema);
426
- // Use parent's schema if partition doesn't have schema prefix and no explicit schema
427
- const resolvedPartitionSchema = partition.includes(".")
428
- ? parsedPartition.schema
429
- : (schema ?? parsedParent.schema);
430
- const parentName = sanitizeTableName(parsedParent.table, parsedParent.schema);
431
- const partitionName = sanitizeTableName(parsedPartition.table, resolvedPartitionSchema);
432
- // Handle DEFAULT partition
433
- // Accept both "__DEFAULT__" (from preprocessor when isDefault: true) and explicit "DEFAULT"
434
- const isDefaultPartition = forValues === "__DEFAULT__" ||
435
- forValues.toUpperCase() === "DEFAULT" ||
436
- forValues.toUpperCase().trim() === "DEFAULT";
437
- let sql;
438
- let boundsDescription;
439
- if (isDefaultPartition) {
440
- sql = `ALTER TABLE ${parentName} ATTACH PARTITION ${partitionName} DEFAULT`;
441
- boundsDescription = "DEFAULT";
442
- }
443
- else {
444
- sql = `ALTER TABLE ${parentName} ATTACH PARTITION ${partitionName} FOR VALUES ${forValues}`;
445
- boundsDescription = forValues;
446
- }
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
- }
459
- return {
460
- success: true,
461
- parent: parsedParent.table,
462
- partition: parsedPartition.table,
463
- bounds: boundsDescription,
464
- };
465
- },
466
- };
467
- }
468
- function createDetachPartitionTool(adapter) {
469
- return {
470
- name: "pg_detach_partition",
471
- description: "Detach a partition. Use concurrently: true for non-blocking. Use finalize: true only after an interrupted CONCURRENTLY detach.",
472
- group: "partitioning",
473
- inputSchema: DetachPartitionSchemaBase, // Base schema for MCP visibility
474
- outputSchema: DetachPartitionOutputSchema,
475
- annotations: destructive("Detach Partition"),
476
- icons: getToolIcons("partitioning", destructive("Detach Partition")),
477
- handler: async (params, _context) => {
478
- const { parent, partition, concurrently, finalize, schema } = DetachPartitionSchema.parse(params);
479
- // Check parent table existence and partition status before SQL execution
480
- const parsedParentCheck = parseSchemaTable(parent, schema);
481
- const parentStatus = await checkTablePartitionStatus(adapter, parsedParentCheck.table, parsedParentCheck.schema);
482
- if (parentStatus === "not_found") {
483
- return {
484
- success: false,
485
- error: `Parent table '${parsedParentCheck.schema}.${parsedParentCheck.table}' does not exist.`,
486
- };
487
- }
488
- if (parentStatus === "not_partitioned") {
489
- return {
490
- success: false,
491
- error: `Parent table '${parsedParentCheck.schema}.${parsedParentCheck.table}' exists but is not partitioned.`,
492
- };
493
- }
494
- // Check partition table exists
495
- const parsedPartCheck = parseSchemaTable(partition, schema);
496
- const partCheckSql = `SELECT 1 FROM pg_class c JOIN pg_namespace n ON c.relnamespace = n.oid WHERE c.relname = $1 AND n.nspname = $2`;
497
- const partCheckResult = await adapter.executeQuery(partCheckSql, [
498
- parsedPartCheck.table,
499
- parsedPartCheck.schema,
500
- ]);
501
- if ((partCheckResult.rows ?? []).length === 0) {
502
- return {
503
- success: false,
504
- error: `Partition '${parsedPartCheck.schema}.${parsedPartCheck.table}' does not exist.`,
505
- };
506
- }
507
- // Parse schema.table format from parent and partition (takes priority over explicit schema)
508
- const parsedParent = parseSchemaTable(parent, schema);
509
- const parsedPartition = parseSchemaTable(partition, schema);
510
- // Use parent's schema if partition doesn't have schema prefix and no explicit schema
511
- const resolvedPartitionSchema = partition.includes(".")
512
- ? parsedPartition.schema
513
- : (schema ?? parsedParent.schema);
514
- const parentName = sanitizeTableName(parsedParent.table, parsedParent.schema);
515
- const partitionName = sanitizeTableName(parsedPartition.table, resolvedPartitionSchema);
516
- // Build the appropriate clause
517
- let clause = "";
518
- if (finalize === true) {
519
- // FINALIZE is used to complete an interrupted CONCURRENTLY detach
520
- clause = " FINALIZE";
521
- }
522
- else if (concurrently === true) {
523
- clause = " CONCURRENTLY";
524
- }
525
- const sql = `ALTER TABLE ${parentName} DETACH PARTITION ${partitionName}${clause}`;
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
- }
538
- return {
539
- success: true,
540
- parent: parsedParent.table,
541
- partition: parsedPartition.table,
542
- };
543
- },
544
- };
545
- }
546
- function createPartitionInfoTool(adapter) {
547
- return {
548
- name: "pg_partition_info",
549
- description: "Get detailed information about a partitioned table. Returns warning if table is not partitioned.",
550
- group: "partitioning",
551
- inputSchema: PartitionInfoSchemaBase, // Base schema for MCP visibility with alias support
552
- outputSchema: PartitionInfoOutputSchema,
553
- annotations: readOnly("Partition Info"),
554
- icons: getToolIcons("partitioning", readOnly("Partition Info")),
555
- handler: async (params, _context) => {
556
- // Use preprocessed schema for alias resolution
557
- const parsed = PartitionInfoSchema.parse(params);
558
- // Parse schema.table format if present
559
- let tableName = parsed.table;
560
- let schemaName = parsed.schema ?? "public";
561
- if (tableName.includes(".")) {
562
- const parts = tableName.split(".");
563
- schemaName = parts[0] ?? "public";
564
- tableName = parts[1] ?? tableName;
565
- }
566
- // Check table existence and partition status
567
- const resolvedTable = tableName;
568
- const tableStatus = await checkTablePartitionStatus(adapter, resolvedTable, schemaName);
569
- if (tableStatus === "not_found") {
570
- return {
571
- tableInfo: null,
572
- partitions: [],
573
- totalSizeBytes: 0,
574
- warning: `Table '${schemaName}.${resolvedTable}' does not exist.`,
575
- };
576
- }
577
- if (tableStatus === "not_partitioned") {
578
- return {
579
- tableInfo: null,
580
- partitions: [],
581
- totalSizeBytes: 0,
582
- warning: `Table '${schemaName}.${resolvedTable}' exists but is not partitioned. Use pg_create_partitioned_table to create a partitioned table.`,
583
- };
584
- }
585
- const partInfoSql = `SELECT
586
- c.relname as table_name,
587
- CASE pt.partstrat
588
- WHEN 'r' THEN 'RANGE'
589
- WHEN 'l' THEN 'LIST'
590
- WHEN 'h' THEN 'HASH'
591
- END as partition_strategy,
592
- pg_get_partkeydef(c.oid) as partition_key,
593
- (SELECT count(*) FROM pg_inherits WHERE inhparent = c.oid) as partition_count
594
- FROM pg_class c
595
- JOIN pg_partitioned_table pt ON c.oid = pt.partrelid
596
- JOIN pg_namespace n ON c.relnamespace = n.oid
597
- WHERE c.relname = $1 AND n.nspname = $2`;
598
- const partInfo = await adapter.executeQuery(partInfoSql, [
599
- resolvedTable,
600
- schemaName,
601
- ]);
602
- const partitionsSql = `SELECT
603
- c.relname as partition_name,
604
- pg_get_expr(c.relpartbound, c.oid) as bounds,
605
- pg_table_size(c.oid) as size_bytes,
606
- GREATEST(0, (SELECT reltuples::bigint FROM pg_class WHERE oid = c.oid)) as approx_rows
607
- FROM pg_class c
608
- JOIN pg_inherits i ON c.oid = i.inhrelid
609
- WHERE i.inhparent = ($1 || '.' || $2)::regclass
610
- ORDER BY c.relname`;
611
- const partitionsResult = await adapter.executeQuery(partitionsSql, [
612
- schemaName,
613
- resolvedTable,
614
- ]);
615
- // Calculate total size before mapping
616
- const totalSizeBytes = (partitionsResult.rows ?? []).reduce((sum, row) => sum + Number(row["size_bytes"] ?? 0), 0);
617
- // Format sizes consistently and coerce numeric fields
618
- const partitions = (partitionsResult.rows ?? []).map((row) => {
619
- const sizeBytes = Number(row["size_bytes"] ?? 0);
620
- return {
621
- ...row,
622
- size_bytes: sizeBytes,
623
- size: formatBytes(sizeBytes),
624
- approx_rows: Number(row["approx_rows"] ?? 0),
625
- };
626
- });
627
- // Coerce tableInfo numeric fields
628
- const tableInfoRaw = partInfo.rows?.[0];
629
- const tableInfo = tableInfoRaw
630
- ? {
631
- ...tableInfoRaw,
632
- partition_count: Number(tableInfoRaw["partition_count"] ?? 0),
633
- }
634
- : null;
635
- return {
636
- tableInfo,
637
- partitions,
638
- totalSizeBytes,
639
- };
640
- },
641
- };
642
- }
643
- //# sourceMappingURL=partitioning.js.map
384
+ //# sourceMappingURL=management.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"management.js","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/partitioning/management.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * PostgreSQL pg_partman Extension Tools - Shared Helpers
3
+ *
4
+ * Common utilities used by partman operation and maintenance tools.
5
+ */
6
+ import type { PostgresAdapter } from "../../PostgresAdapter.js";
7
+ /**
8
+ * Detect the schema where pg_partman is installed.
9
+ * Newer versions install to 'public' by default, older versions use 'partman'.
10
+ */
11
+ export declare function getPartmanSchema(adapter: PostgresAdapter): Promise<string>;
12
+ /**
13
+ * Ensure the 'partman' schema alias exists when pg_partman is installed in 'public'.
14
+ *
15
+ * pg_partman's partition_data_time function contains a hardcoded fully-qualified
16
+ * call to 'partman.check_control_type(...)'. When pg_partman is installed in
17
+ * the 'public' schema (the default for newer versions), this fails with
18
+ * 'schema "partman" does not exist'. Since the reference is fully-qualified,
19
+ * SET search_path cannot resolve it.
20
+ *
21
+ * This function creates the 'partman' schema if needed and adds a thin wrapper
22
+ * function that delegates to public.check_control_type().
23
+ */
24
+ export declare function ensurePartmanSchemaAlias(adapter: PostgresAdapter): Promise<void>;
25
+ /**
26
+ * Execute a pg_partman PROCEDURE, ensuring schema aliases are in place.
27
+ */
28
+ export declare function callPartmanProcedure(adapter: PostgresAdapter, partmanSchema: string, sql: string): Promise<void>;
29
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/partman/helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,MAAM,CAAC,CAQjB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,IAAI,CAAC,CAef;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,eAAe,EACxB,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC,CAOf"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * PostgreSQL pg_partman Extension Tools - Shared Helpers
3
+ *
4
+ * Common utilities used by partman operation and maintenance tools.
5
+ */
6
+ /**
7
+ * Detect the schema where pg_partman is installed.
8
+ * Newer versions install to 'public' by default, older versions use 'partman'.
9
+ */
10
+ export async function getPartmanSchema(adapter) {
11
+ const result = await adapter.executeQuery(`
12
+ SELECT table_schema FROM information_schema.tables
13
+ WHERE table_name = 'part_config'
14
+ AND table_schema IN ('partman', 'public')
15
+ LIMIT 1
16
+ `);
17
+ return result.rows?.[0]?.["table_schema"] ?? "partman";
18
+ }
19
+ /**
20
+ * Ensure the 'partman' schema alias exists when pg_partman is installed in 'public'.
21
+ *
22
+ * pg_partman's partition_data_time function contains a hardcoded fully-qualified
23
+ * call to 'partman.check_control_type(...)'. When pg_partman is installed in
24
+ * the 'public' schema (the default for newer versions), this fails with
25
+ * 'schema "partman" does not exist'. Since the reference is fully-qualified,
26
+ * SET search_path cannot resolve it.
27
+ *
28
+ * This function creates the 'partman' schema if needed and adds a thin wrapper
29
+ * function that delegates to public.check_control_type().
30
+ */
31
+ export async function ensurePartmanSchemaAlias(adapter) {
32
+ try {
33
+ await adapter.executeQuery("CREATE SCHEMA IF NOT EXISTS partman");
34
+ await adapter.executeQuery(`
35
+ CREATE OR REPLACE FUNCTION partman.check_control_type(
36
+ p_parent_schema text, p_parent_tablename text, p_control text
37
+ ) RETURNS TABLE(general_type text, exact_type text)
38
+ LANGUAGE sql STABLE AS $$
39
+ SELECT * FROM public.check_control_type(p_parent_schema, p_parent_tablename, p_control)
40
+ $$
41
+ `);
42
+ }
43
+ catch {
44
+ // Schema creation may fail due to permissions — proceed anyway,
45
+ // the actual CALL will produce its own clear error
46
+ }
47
+ }
48
+ /**
49
+ * Execute a pg_partman PROCEDURE, ensuring schema aliases are in place.
50
+ */
51
+ export async function callPartmanProcedure(adapter, partmanSchema, sql) {
52
+ // When pg_partman is installed in 'public', ensure the 'partman' schema alias
53
+ // exists for hardcoded partman.* references inside pg_partman's functions
54
+ if (partmanSchema === "public") {
55
+ await ensurePartmanSchemaAlias(adapter);
56
+ }
57
+ await adapter.executeQuery(sql);
58
+ }
59
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/partman/helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAwB;IAExB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC;;;;;KAKvC,CAAC,CAAC;IACL,OAAQ,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAY,IAAI,SAAS,CAAC;AACrE,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,OAAwB;IAExB,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,YAAY,CAAC,qCAAqC,CAAC,CAAC;QAClE,MAAM,OAAO,CAAC,YAAY,CAAC;;;;;;;KAO1B,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,gEAAgE;QAChE,mDAAmD;IACrD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAwB,EACxB,aAAqB,EACrB,GAAW;IAEX,8EAA8E;IAC9E,0EAA0E;IAC1E,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IACD,MAAM,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;AAClC,CAAC"}
@@ -10,7 +10,8 @@
10
10
  import type { PostgresAdapter } from "../../PostgresAdapter.js";
11
11
  import type { ToolDefinition } from "../../../../types/index.js";
12
12
  import { createPartmanExtensionTool, createPartmanCreateParentTool, createPartmanRunMaintenanceTool, createPartmanShowPartitionsTool, createPartmanShowConfigTool } from "./management.js";
13
- import { createPartmanCheckDefaultTool, createPartmanPartitionDataTool, createPartmanSetRetentionTool, createPartmanUndoPartitionTool, createPartmanAnalyzeHealthTool } from "./operations.js";
13
+ import { createPartmanCheckDefaultTool, createPartmanPartitionDataTool } from "./operations.js";
14
+ import { createPartmanSetRetentionTool, createPartmanUndoPartitionTool, createPartmanAnalyzeHealthTool } from "./maintenance.js";
14
15
  /**
15
16
  * Get all pg_partman tools
16
17
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/partman/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGjE,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,+BAA+B,EAC/B,+BAA+B,EAC/B,2BAA2B,EAC5B,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAC9B,6BAA6B,EAC7B,8BAA8B,EAC9B,8BAA8B,EAC/B,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,cAAc,EAAE,CAa1E;AAGD,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,+BAA+B,EAC/B,+BAA+B,EAC/B,2BAA2B,EAC3B,6BAA6B,EAC7B,8BAA8B,EAC9B,6BAA6B,EAC7B,8BAA8B,EAC9B,8BAA8B,GAC/B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/partman/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGjE,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,+BAA+B,EAC/B,+BAA+B,EAC/B,2BAA2B,EAC5B,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAC/B,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAC9B,8BAA8B,EAC/B,MAAM,kBAAkB,CAAC;AAE1B;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,cAAc,EAAE,CAa1E;AAGD,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,+BAA+B,EAC/B,+BAA+B,EAC/B,2BAA2B,EAC3B,6BAA6B,EAC7B,8BAA8B,EAC9B,6BAA6B,EAC7B,8BAA8B,EAC9B,8BAA8B,GAC/B,CAAC"}
@@ -9,8 +9,10 @@
9
9
  */
10
10
  // Management tools
11
11
  import { createPartmanExtensionTool, createPartmanCreateParentTool, createPartmanRunMaintenanceTool, createPartmanShowPartitionsTool, createPartmanShowConfigTool, } from "./management.js";
12
- // Operations tools
13
- import { createPartmanCheckDefaultTool, createPartmanPartitionDataTool, createPartmanSetRetentionTool, createPartmanUndoPartitionTool, createPartmanAnalyzeHealthTool, } from "./operations.js";
12
+ // Operations tools (check default, partition data)
13
+ import { createPartmanCheckDefaultTool, createPartmanPartitionDataTool, } from "./operations.js";
14
+ // Maintenance tools (retention, undo, analyze health)
15
+ import { createPartmanSetRetentionTool, createPartmanUndoPartitionTool, createPartmanAnalyzeHealthTool, } from "./maintenance.js";
14
16
  /**
15
17
  * Get all pg_partman tools
16
18
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/partman/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,mBAAmB;AACnB,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,+BAA+B,EAC/B,+BAA+B,EAC/B,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC;AAEzB,mBAAmB;AACnB,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAC9B,6BAA6B,EAC7B,8BAA8B,EAC9B,8BAA8B,GAC/B,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAAwB;IACtD,OAAO;QACL,0BAA0B,CAAC,OAAO,CAAC;QACnC,6BAA6B,CAAC,OAAO,CAAC;QACtC,+BAA+B,CAAC,OAAO,CAAC;QACxC,+BAA+B,CAAC,OAAO,CAAC;QACxC,2BAA2B,CAAC,OAAO,CAAC;QACpC,6BAA6B,CAAC,OAAO,CAAC;QACtC,8BAA8B,CAAC,OAAO,CAAC;QACvC,6BAA6B,CAAC,OAAO,CAAC;QACtC,8BAA8B,CAAC,OAAO,CAAC;QACvC,8BAA8B,CAAC,OAAO,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,qCAAqC;AACrC,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,+BAA+B,EAC/B,+BAA+B,EAC/B,2BAA2B,EAC3B,6BAA6B,EAC7B,8BAA8B,EAC9B,6BAA6B,EAC7B,8BAA8B,EAC9B,8BAA8B,GAC/B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/partman/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,mBAAmB;AACnB,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,+BAA+B,EAC/B,+BAA+B,EAC/B,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC;AAEzB,mDAAmD;AACnD,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,GAC/B,MAAM,iBAAiB,CAAC;AAEzB,sDAAsD;AACtD,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAC9B,8BAA8B,GAC/B,MAAM,kBAAkB,CAAC;AAE1B;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAAwB;IACtD,OAAO;QACL,0BAA0B,CAAC,OAAO,CAAC;QACnC,6BAA6B,CAAC,OAAO,CAAC;QACtC,+BAA+B,CAAC,OAAO,CAAC;QACxC,+BAA+B,CAAC,OAAO,CAAC;QACxC,2BAA2B,CAAC,OAAO,CAAC;QACpC,6BAA6B,CAAC,OAAO,CAAC;QACtC,8BAA8B,CAAC,OAAO,CAAC;QACvC,6BAA6B,CAAC,OAAO,CAAC;QACtC,8BAA8B,CAAC,OAAO,CAAC;QACvC,8BAA8B,CAAC,OAAO,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,qCAAqC;AACrC,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,+BAA+B,EAC/B,+BAA+B,EAC/B,2BAA2B,EAC3B,6BAA6B,EAC7B,8BAA8B,EAC9B,6BAA6B,EAC7B,8BAA8B,EAC9B,8BAA8B,GAC/B,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * PostgreSQL pg_partman Extension Tools - Maintenance
3
+ *
4
+ * Maintenance and lifecycle tools: set_retention, undo_partition, analyze_health.
5
+ */
6
+ import type { PostgresAdapter } from "../../PostgresAdapter.js";
7
+ import type { ToolDefinition } from "../../../../types/index.js";
8
+ /**
9
+ * Configure retention policies
10
+ */
11
+ export declare function createPartmanSetRetentionTool(adapter: PostgresAdapter): ToolDefinition;
12
+ /**
13
+ * Undo partitioning - convert back to regular table
14
+ */
15
+ export declare function createPartmanUndoPartitionTool(adapter: PostgresAdapter): ToolDefinition;
16
+ /**
17
+ * Analyze partition health and provide recommendations
18
+ */
19
+ export declare function createPartmanAnalyzeHealthTool(adapter: PostgresAdapter): ToolDefinition;
20
+ //# sourceMappingURL=maintenance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maintenance.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/partman/maintenance.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,4BAA4B,CAAC;AAepC;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,eAAe,GACvB,cAAc,CA+IhB;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,eAAe,GACvB,cAAc,CAkIhB;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,eAAe,GACvB,cAAc,CAmUhB"}