@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
@@ -1 +1 @@
1
- {"version":3,"file":"planning.js","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/backup/planning.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"planning.js","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/backup/planning.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * PostgreSQL citext Extension Tools - Analysis
3
+ *
4
+ * Analysis and advisory tools: list columns, analyze candidates, compare, schema advisor.
5
+ */
6
+ import type { PostgresAdapter } from "../../PostgresAdapter.js";
7
+ import type { ToolDefinition } from "../../../../types/index.js";
8
+ /**
9
+ * List all citext columns in the database
10
+ */
11
+ export declare function createCitextListColumnsTool(adapter: PostgresAdapter): ToolDefinition;
12
+ /**
13
+ * Analyze text columns that could benefit from citext
14
+ */
15
+ export declare function createCitextAnalyzeCandidatesTool(adapter: PostgresAdapter): ToolDefinition;
16
+ /**
17
+ * Compare values case-insensitively
18
+ */
19
+ export declare function createCitextCompareTool(adapter: PostgresAdapter): ToolDefinition;
20
+ /**
21
+ * Schema advisor for citext columns
22
+ */
23
+ export declare function createCitextSchemaAdvisorTool(adapter: PostgresAdapter): ToolDefinition;
24
+ //# sourceMappingURL=analysis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analysis.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/citext/analysis.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,4BAA4B,CAAC;AAkBpC;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,eAAe,GACvB,cAAc,CAgHhB;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,eAAe,GACvB,cAAc,CAsNhB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,eAAe,GACvB,cAAc,CA2EhB;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,eAAe,GACvB,cAAc,CAoKhB"}
@@ -1,207 +1,16 @@
1
1
  /**
2
- * PostgreSQL citext Extension Tools
2
+ * PostgreSQL citext Extension Tools - Analysis
3
3
  *
4
- * Case-insensitive text type for preventing subtle bugs in auth systems,
5
- * emails, and usernames. 6 tools total.
6
- *
7
- * citext provides a case-insensitive character string type at the type level:
8
- * - Comparisons are case-insensitive (e.g., 'HELLO' = 'hello')
9
- * - Sorting is case-insensitive
10
- * - Ideal for email, username, and other identifier columns
11
- */
12
- import { z } from "zod";
13
- import { readOnly, write } from "../../../utils/annotations.js";
14
- import { parsePostgresError } from "./core/error-helpers.js";
15
- import { getToolIcons } from "../../../utils/icons.js";
16
- import { CitextConvertColumnSchema, CitextConvertColumnSchemaBase, CitextListColumnsSchema, CitextListColumnsSchemaBase, CitextAnalyzeCandidatesSchema, CitextAnalyzeCandidatesSchemaBase, CitextSchemaAdvisorSchema, CitextSchemaAdvisorSchemaBase,
17
- // Output schemas
18
- CitextCreateExtensionOutputSchema, CitextConvertColumnOutputSchema, CitextListColumnsOutputSchema, CitextAnalyzeCandidatesOutputSchema, CitextCompareOutputSchema, CitextSchemaAdvisorOutputSchema, } from "../schemas/index.js";
19
- /**
20
- * Get all citext tools
21
- */
22
- export function getCitextTools(adapter) {
23
- return [
24
- createCitextExtensionTool(adapter),
25
- createCitextConvertColumnTool(adapter),
26
- createCitextListColumnsTool(adapter),
27
- createCitextAnalyzeCandidatesTool(adapter),
28
- createCitextCompareTool(adapter),
29
- createCitextSchemaAdvisorTool(adapter),
30
- ];
31
- }
32
- /**
33
- * Enable the citext extension
4
+ * Analysis and advisory tools: list columns, analyze candidates, compare, schema advisor.
34
5
  */
35
- function createCitextExtensionTool(adapter) {
36
- return {
37
- name: "pg_citext_create_extension",
38
- description: `Enable the citext extension for case-insensitive text columns.
39
- citext is ideal for emails, usernames, and other identifiers where case shouldn't matter.`,
40
- group: "citext",
41
- inputSchema: z.object({}),
42
- outputSchema: CitextCreateExtensionOutputSchema,
43
- annotations: write("Create Citext Extension"),
44
- icons: getToolIcons("citext", write("Create Citext Extension")),
45
- handler: async (_params, _context) => {
46
- await adapter.executeQuery("CREATE EXTENSION IF NOT EXISTS citext");
47
- return {
48
- success: true,
49
- message: "citext extension enabled",
50
- usage: "Create columns with type CITEXT instead of TEXT for case-insensitive comparisons",
51
- };
52
- },
53
- };
54
- }
55
- /**
56
- * Convert an existing text column to citext
57
- */
58
- function createCitextConvertColumnTool(adapter) {
59
- return {
60
- name: "pg_citext_convert_column",
61
- description: `Convert an existing TEXT column to CITEXT for case-insensitive comparisons.
62
- This is useful for retrofitting case-insensitivity to existing columns like email or username.
63
- Note: If views depend on this column, you must drop and recreate them manually before conversion.`,
64
- group: "citext",
65
- inputSchema: CitextConvertColumnSchemaBase,
66
- outputSchema: CitextConvertColumnOutputSchema,
67
- annotations: write("Convert to Citext"),
68
- icons: getToolIcons("citext", write("Convert to Citext")),
69
- handler: async (params, _context) => {
70
- try {
71
- const parsed = CitextConvertColumnSchema.parse(params ?? {});
72
- const { table, column, schema: schemaOpt } = parsed;
73
- const schemaName = schemaOpt ?? "public";
74
- const qualifiedTable = `"${schemaName}"."${table}"`;
75
- const extCheck = await adapter.executeQuery(`
76
- SELECT EXISTS(
77
- SELECT 1 FROM pg_extension WHERE extname = 'citext'
78
- ) as installed
79
- `);
80
- const hasExt = extCheck.rows?.[0]?.["installed"] ?? false;
81
- if (!hasExt) {
82
- return {
83
- success: false,
84
- error: "citext extension is not installed. Run pg_citext_create_extension first.",
85
- };
86
- }
87
- // Check if table exists before checking column
88
- const tableCheck = await adapter.executeQuery(`
89
- SELECT 1 FROM information_schema.tables
90
- WHERE table_schema = $1 AND table_name = $2
91
- `, [schemaName, table]);
92
- if (!tableCheck.rows || tableCheck.rows.length === 0) {
93
- return {
94
- success: false,
95
- error: `Table ${qualifiedTable} does not exist. Verify the table name and schema.`,
96
- };
97
- }
98
- const colCheck = await adapter.executeQuery(`
99
- SELECT data_type, udt_name
100
- FROM information_schema.columns
101
- WHERE table_schema = $1
102
- AND table_name = $2
103
- AND column_name = $3
104
- `, [schemaName, table, column]);
105
- if (!colCheck.rows || colCheck.rows.length === 0) {
106
- return {
107
- success: false,
108
- error: `Column "${column}" not found in table ${qualifiedTable}. Verify the column name.`,
109
- };
110
- }
111
- const dataType = colCheck.rows[0]?.["data_type"];
112
- const udtName = colCheck.rows[0]?.["udt_name"];
113
- // Normalize type: use udt_name for user-defined types (like citext)
114
- const currentType = dataType === "USER-DEFINED" ? udtName : dataType;
115
- if (udtName === "citext") {
116
- return {
117
- success: true,
118
- message: `Column ${column} is already citext`,
119
- wasAlreadyCitext: true,
120
- };
121
- }
122
- // Validate that the column is a text-based type
123
- const allowedTypes = [
124
- "text",
125
- "character varying",
126
- "character",
127
- "char",
128
- "varchar",
129
- ];
130
- const normalizedType = dataType.toLowerCase();
131
- if (!allowedTypes.includes(normalizedType)) {
132
- return {
133
- success: false,
134
- error: `Column "${column}" is type "${currentType}", not a text-based type`,
135
- currentType,
136
- allowedTypes: ["text", "varchar", "character varying"],
137
- suggestion: `citext conversion only works for text-based columns. Column "${column}" is "${currentType}" which cannot be converted.`,
138
- };
139
- }
140
- // Check for dependent views before attempting the conversion
141
- const depCheck = await adapter.executeQuery(`
142
- SELECT DISTINCT
143
- c.relname as dependent_view,
144
- n.nspname as view_schema
145
- FROM pg_depend d
146
- JOIN pg_rewrite r ON d.objid = r.oid
147
- JOIN pg_class c ON r.ev_class = c.oid
148
- JOIN pg_namespace n ON c.relnamespace = n.oid
149
- JOIN pg_class t ON d.refobjid = t.oid
150
- JOIN pg_namespace tn ON t.relnamespace = tn.oid
151
- JOIN pg_attribute a ON d.refobjid = a.attrelid AND d.refobjsubid = a.attnum
152
- WHERE c.relkind = 'v'
153
- AND tn.nspname = $1
154
- AND t.relname = $2
155
- AND a.attname = $3
156
- `, [schemaName, table, column]);
157
- const dependentViews = depCheck.rows ?? [];
158
- if (dependentViews.length > 0) {
159
- return {
160
- success: false,
161
- error: "Column has dependent views that must be dropped before conversion",
162
- dependentViews: dependentViews.map((v) => `${v["view_schema"]}.${v["dependent_view"]}`),
163
- hint: "Drop the listed views, run this conversion, then recreate the views. PostgreSQL cannot ALTER COLUMN TYPE when views depend on it.",
164
- };
165
- }
166
- try {
167
- await adapter.executeQuery(`
168
- ALTER TABLE ${qualifiedTable}
169
- ALTER COLUMN "${column}" TYPE citext USING "${column}"::citext
170
- `);
171
- return {
172
- success: true,
173
- message: `Column ${column} converted from ${currentType} to citext`,
174
- table: qualifiedTable,
175
- previousType: currentType,
176
- affectedViews: dependentViews.length > 0
177
- ? dependentViews.map((v) => `${v["view_schema"]}.${v["dependent_view"]}`)
178
- : undefined,
179
- };
180
- }
181
- catch (error) {
182
- const errorMessage = error instanceof Error ? error.message : String(error);
183
- return {
184
- success: false,
185
- error: `Failed to convert column: ${errorMessage}`,
186
- hint: "If views depend on this column, they may need to be dropped and recreated",
187
- dependentViews: dependentViews.length > 0
188
- ? dependentViews.map((v) => `${v["view_schema"]}.${v["dependent_view"]}`)
189
- : undefined,
190
- };
191
- }
192
- }
193
- catch (error) {
194
- throw parsePostgresError(error, {
195
- tool: "pg_citext_convert_column",
196
- });
197
- }
198
- },
199
- };
200
- }
6
+ import { readOnly } from "../../../../utils/annotations.js";
7
+ import { getToolIcons } from "../../../../utils/icons.js";
8
+ import { formatPostgresError } from "../core/error-helpers.js";
9
+ import { CitextListColumnsSchema, CitextListColumnsSchemaBase, CitextAnalyzeCandidatesSchema, CitextAnalyzeCandidatesSchemaBase, CitextCompareSchemaBase, CitextCompareSchema, CitextSchemaAdvisorSchema, CitextSchemaAdvisorSchemaBase, CitextListColumnsOutputSchema, CitextAnalyzeCandidatesOutputSchema, CitextCompareOutputSchema, CitextSchemaAdvisorOutputSchema, } from "../../schemas/index.js";
201
10
  /**
202
11
  * List all citext columns in the database
203
12
  */
204
- function createCitextListColumnsTool(adapter) {
13
+ export function createCitextListColumnsTool(adapter) {
205
14
  return {
206
15
  name: "pg_citext_list_columns",
207
16
  description: `List all columns using the citext type in the database.
@@ -212,34 +21,53 @@ Useful for auditing case-insensitive columns.`,
212
21
  annotations: readOnly("List Citext Columns"),
213
22
  icons: getToolIcons("citext", readOnly("List Citext Columns")),
214
23
  handler: async (params, _context) => {
215
- const parsed = CitextListColumnsSchema.parse(params);
216
- const { schema, limit: userLimit } = parsed;
217
- // Default limit of 100 to prevent large payloads
218
- const DEFAULT_LIMIT = 100;
219
- const effectiveLimit = userLimit === 0 ? undefined : (userLimit ?? DEFAULT_LIMIT);
220
- const conditions = [
221
- "udt_name = 'citext'",
222
- "table_schema NOT IN ('pg_catalog', 'information_schema')",
223
- ];
224
- const queryParams = [];
225
- const paramIndex = 1;
226
- if (schema !== undefined) {
227
- conditions.push(`table_schema = $${String(paramIndex)}`);
228
- queryParams.push(schema);
229
- }
230
- const whereClause = conditions.join(" AND ");
231
- // Count total columns first
232
- const countSql = `
24
+ try {
25
+ const parsed = CitextListColumnsSchema.parse(params);
26
+ const { schema } = parsed;
27
+ const rawLimit = parsed.limit;
28
+ const userLimit = rawLimit === undefined
29
+ ? undefined
30
+ : typeof rawLimit === "number"
31
+ ? rawLimit
32
+ : Number(rawLimit);
33
+ const safeLimit = userLimit !== undefined && isNaN(userLimit) ? undefined : userLimit;
34
+ // Validate schema existence when specified
35
+ if (schema !== undefined) {
36
+ const schemaCheck = await adapter.executeQuery(`SELECT 1 FROM information_schema.schemata
37
+ WHERE schema_name = $1`, [schema]);
38
+ if (!schemaCheck.rows || schemaCheck.rows.length === 0) {
39
+ return {
40
+ success: false,
41
+ error: `Schema '${schema}' does not exist. Verify the schema name.`,
42
+ };
43
+ }
44
+ }
45
+ // Default limit of 100 to prevent large payloads
46
+ const DEFAULT_LIMIT = 100;
47
+ const effectiveLimit = safeLimit === 0 ? undefined : (safeLimit ?? DEFAULT_LIMIT);
48
+ const conditions = [
49
+ "udt_name = 'citext'",
50
+ "table_schema NOT IN ('pg_catalog', 'information_schema')",
51
+ ];
52
+ const queryParams = [];
53
+ let paramIndex = 1;
54
+ if (schema !== undefined) {
55
+ conditions.push(`table_schema = $${String(paramIndex++)}`);
56
+ queryParams.push(schema);
57
+ }
58
+ const whereClause = conditions.join(" AND ");
59
+ // Count total columns first
60
+ const countSql = `
233
61
  SELECT COUNT(*) as total
234
62
  FROM information_schema.columns
235
63
  WHERE ${whereClause}
236
64
  `;
237
- const countResult = await adapter.executeQuery(countSql, queryParams);
238
- const totalCount = Number(countResult.rows?.[0]?.["total"] ?? 0);
239
- // Add LIMIT clause
240
- const limitClause = effectiveLimit !== undefined ? `LIMIT ${String(effectiveLimit)}` : "";
241
- const sql = `
242
- SELECT
65
+ const countResult = await adapter.executeQuery(countSql, queryParams);
66
+ const totalCount = Number(countResult.rows?.[0]?.["total"] ?? 0);
67
+ // Add LIMIT clause
68
+ const limitClause = effectiveLimit !== undefined ? `LIMIT ${String(effectiveLimit)}` : "";
69
+ const sql = `
70
+ SELECT
243
71
  table_schema,
244
72
  table_name,
245
73
  column_name,
@@ -250,25 +78,34 @@ Useful for auditing case-insensitive columns.`,
250
78
  ORDER BY table_schema, table_name, ordinal_position
251
79
  ${limitClause}
252
80
  `;
253
- const result = await adapter.executeQuery(sql, queryParams);
254
- const columns = result.rows ?? [];
255
- // Determine if results were truncated
256
- const truncated = effectiveLimit !== undefined && columns.length < totalCount;
257
- return {
258
- columns,
259
- count: columns.length,
260
- totalCount,
261
- truncated,
262
- ...(effectiveLimit !== undefined && { limit: effectiveLimit }),
263
- ...(schema !== undefined && { schema }),
264
- };
81
+ const result = await adapter.executeQuery(sql, queryParams);
82
+ const columns = result.rows ?? [];
83
+ // Determine if results were truncated
84
+ const truncated = effectiveLimit !== undefined && columns.length < totalCount;
85
+ return {
86
+ columns,
87
+ count: columns.length,
88
+ totalCount,
89
+ truncated,
90
+ ...(effectiveLimit !== undefined && { limit: effectiveLimit }),
91
+ ...(schema !== undefined && { schema }),
92
+ };
93
+ }
94
+ catch (error) {
95
+ return {
96
+ success: false,
97
+ error: formatPostgresError(error, {
98
+ tool: "pg_citext_list_columns",
99
+ }),
100
+ };
101
+ }
265
102
  },
266
103
  };
267
104
  }
268
105
  /**
269
106
  * Analyze text columns that could benefit from citext
270
107
  */
271
- function createCitextAnalyzeCandidatesTool(adapter) {
108
+ export function createCitextAnalyzeCandidatesTool(adapter) {
272
109
  return {
273
110
  name: "pg_citext_analyze_candidates",
274
111
  description: `Find TEXT columns that may benefit from case-insensitive comparisons.
@@ -279,7 +116,15 @@ Looks for common patterns like email, username, name, slug, etc.`,
279
116
  annotations: readOnly("Analyze Citext Candidates"),
280
117
  icons: getToolIcons("citext", readOnly("Analyze Citext Candidates")),
281
118
  handler: async (params, _context) => {
282
- const { patterns, schema, table, limit: userLimit, excludeSystemSchemas: userExcludeSystemSchemas, } = CitextAnalyzeCandidatesSchema.parse(params);
119
+ const parsed = CitextAnalyzeCandidatesSchema.parse(params);
120
+ const { patterns, schema, table, excludeSystemSchemas: userExcludeSystemSchemas, } = parsed;
121
+ const rawLimit = parsed.limit;
122
+ const userLimit = rawLimit === undefined
123
+ ? undefined
124
+ : typeof rawLimit === "number"
125
+ ? rawLimit
126
+ : Number(rawLimit);
127
+ const safeLimit = userLimit !== undefined && isNaN(userLimit) ? undefined : userLimit;
283
128
  // Validate table/schema existence before querying
284
129
  if (table !== undefined) {
285
130
  const schemaName = schema ?? "public";
@@ -305,7 +150,7 @@ Looks for common patterns like email, username, name, slug, etc.`,
305
150
  }
306
151
  // Default limit of 50 to prevent large payloads and transport truncation
307
152
  const DEFAULT_LIMIT = 50;
308
- const effectiveLimit = userLimit === 0 ? undefined : (userLimit ?? DEFAULT_LIMIT);
153
+ const effectiveLimit = safeLimit === 0 ? undefined : (safeLimit ?? DEFAULT_LIMIT);
309
154
  // Exclude system schemas by default when no table filter is specified
310
155
  const excludeSystemSchemas = userExcludeSystemSchemas ?? true;
311
156
  const searchPatterns = patterns ?? [
@@ -376,7 +221,7 @@ Looks for common patterns like email, username, name, slug, etc.`,
376
221
  // Add LIMIT clause
377
222
  const limitClause = effectiveLimit !== undefined ? `LIMIT ${String(effectiveLimit)}` : "";
378
223
  const sql = `
379
- SELECT
224
+ SELECT
380
225
  table_schema,
381
226
  table_name,
382
227
  column_name,
@@ -436,63 +281,65 @@ Looks for common patterns like email, username, name, slug, etc.`,
436
281
  /**
437
282
  * Compare values case-insensitively
438
283
  */
439
- function createCitextCompareTool(adapter) {
284
+ export function createCitextCompareTool(adapter) {
440
285
  return {
441
286
  name: "pg_citext_compare",
442
287
  description: `Compare two values using case-insensitive semantics.
443
288
  Useful for testing citext behavior before converting columns.`,
444
289
  group: "citext",
445
- inputSchema: z.object({
446
- value1: z.string().describe("First value to compare"),
447
- value2: z.string().describe("Second value to compare"),
448
- }),
290
+ inputSchema: CitextCompareSchemaBase,
449
291
  outputSchema: CitextCompareOutputSchema,
450
292
  annotations: readOnly("Compare Citext Values"),
451
293
  icons: getToolIcons("citext", readOnly("Compare Citext Values")),
452
294
  handler: async (params, _context) => {
453
- // Use the schema for proper validation
454
- const schema = z.object({
455
- value1: z.string(),
456
- value2: z.string(),
457
- });
458
- const { value1, value2 } = schema.parse(params);
459
- const extCheck = await adapter.executeQuery(`
295
+ try {
296
+ const { value1, value2 } = CitextCompareSchema.parse(params);
297
+ const extCheck = await adapter.executeQuery(`
460
298
  SELECT EXISTS(
461
299
  SELECT 1 FROM pg_extension WHERE extname = 'citext'
462
300
  ) as installed
463
301
  `);
464
- const hasExt = extCheck.rows?.[0]?.["installed"] ?? false;
465
- if (hasExt) {
466
- const result = await adapter.executeQuery(`
467
- SELECT
302
+ const hasExt = extCheck.rows?.[0]?.["installed"] ?? false;
303
+ if (hasExt) {
304
+ const result = await adapter.executeQuery(`
305
+ SELECT
468
306
  $1::citext = $2::citext as citext_equal,
469
307
  $1::text = $2::text as text_equal,
470
308
  LOWER($1) = LOWER($2) as lower_equal
471
309
  `, [value1, value2]);
472
- const row = result.rows?.[0];
473
- return {
474
- value1,
475
- value2,
476
- citextEqual: row?.["citext_equal"],
477
- textEqual: row?.["text_equal"],
478
- lowerEqual: row?.["lower_equal"],
479
- extensionInstalled: true,
480
- };
481
- }
482
- else {
483
- const result = await adapter.executeQuery(`
484
- SELECT
310
+ const row = result.rows?.[0];
311
+ return {
312
+ value1,
313
+ value2,
314
+ citextEqual: row?.["citext_equal"],
315
+ textEqual: row?.["text_equal"],
316
+ lowerEqual: row?.["lower_equal"],
317
+ extensionInstalled: true,
318
+ };
319
+ }
320
+ else {
321
+ const result = await adapter.executeQuery(`
322
+ SELECT
485
323
  $1::text = $2::text as text_equal,
486
324
  LOWER($1) = LOWER($2) as lower_equal
487
325
  `, [value1, value2]);
488
- const row = result.rows?.[0];
326
+ const row = result.rows?.[0];
327
+ return {
328
+ value1,
329
+ value2,
330
+ textEqual: row?.["text_equal"],
331
+ lowerEqual: row?.["lower_equal"],
332
+ extensionInstalled: false,
333
+ hint: "Install citext extension for native case-insensitive comparisons",
334
+ };
335
+ }
336
+ }
337
+ catch (error) {
489
338
  return {
490
- value1,
491
- value2,
492
- textEqual: row?.["text_equal"],
493
- lowerEqual: row?.["lower_equal"],
494
- extensionInstalled: false,
495
- hint: "Install citext extension for native case-insensitive comparisons",
339
+ success: false,
340
+ error: formatPostgresError(error, {
341
+ tool: "pg_citext_compare",
342
+ }),
496
343
  };
497
344
  }
498
345
  },
@@ -501,7 +348,7 @@ Useful for testing citext behavior before converting columns.`,
501
348
  /**
502
349
  * Schema advisor for citext columns
503
350
  */
504
- function createCitextSchemaAdvisorTool(adapter) {
351
+ export function createCitextSchemaAdvisorTool(adapter) {
505
352
  return {
506
353
  name: "pg_citext_schema_advisor",
507
354
  description: `Analyze a specific table and recommend which columns should use citext.
@@ -529,14 +376,14 @@ Requires the 'table' parameter to specify which table to analyze.`,
529
376
  };
530
377
  }
531
378
  const colResult = await adapter.executeQuery(`
532
- SELECT
379
+ SELECT
533
380
  column_name,
534
381
  data_type,
535
382
  udt_name,
536
383
  is_nullable,
537
384
  character_maximum_length
538
385
  FROM information_schema.columns
539
- WHERE table_schema = $1
386
+ WHERE table_schema = $1
540
387
  AND table_name = $2
541
388
  AND data_type IN ('text', 'character varying', 'USER-DEFINED')
542
389
  ORDER BY ordinal_position
@@ -624,11 +471,14 @@ Requires the 'table' parameter to specify which table to analyze.`,
624
471
  };
625
472
  }
626
473
  catch (error) {
627
- throw parsePostgresError(error, {
628
- tool: "pg_citext_schema_advisor",
629
- });
474
+ return {
475
+ success: false,
476
+ error: formatPostgresError(error, {
477
+ tool: "pg_citext_schema_advisor",
478
+ }),
479
+ };
630
480
  }
631
481
  },
632
482
  };
633
483
  }
634
- //# sourceMappingURL=citext.js.map
484
+ //# sourceMappingURL=analysis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analysis.js","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/citext/analysis.ts"],"names":[],"mappings":"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"}