@neverinfamous/postgres-mcp 2.0.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 (458) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +76 -9
  3. package/dist/__tests__/benchmarks/schema-parsing.bench.js +1 -1
  4. package/dist/__tests__/benchmarks/schema-parsing.bench.js.map +1 -1
  5. package/dist/__tests__/mocks/adapter.d.ts.map +1 -1
  6. package/dist/__tests__/mocks/adapter.js +2 -1
  7. package/dist/__tests__/mocks/adapter.js.map +1 -1
  8. package/dist/adapters/DatabaseAdapter.d.ts +6 -1
  9. package/dist/adapters/DatabaseAdapter.d.ts.map +1 -1
  10. package/dist/adapters/DatabaseAdapter.js +11 -7
  11. package/dist/adapters/DatabaseAdapter.js.map +1 -1
  12. package/dist/adapters/postgresql/PostgresAdapter.d.ts +5 -22
  13. package/dist/adapters/postgresql/PostgresAdapter.d.ts.map +1 -1
  14. package/dist/adapters/postgresql/PostgresAdapter.js +28 -520
  15. package/dist/adapters/postgresql/PostgresAdapter.js.map +1 -1
  16. package/dist/adapters/postgresql/prompts/index.js +1 -1
  17. package/dist/adapters/postgresql/prompts/index.js.map +1 -1
  18. package/dist/adapters/postgresql/resources/index.d.ts +1 -1
  19. package/dist/adapters/postgresql/resources/index.js +3 -3
  20. package/dist/adapters/postgresql/resources/index.js.map +1 -1
  21. package/dist/adapters/postgresql/schema-operations.d.ts +71 -0
  22. package/dist/adapters/postgresql/schema-operations.d.ts.map +1 -0
  23. package/dist/adapters/postgresql/schema-operations.js +561 -0
  24. package/dist/adapters/postgresql/schema-operations.js.map +1 -0
  25. package/dist/adapters/postgresql/schemas/admin.d.ts +4 -4
  26. package/dist/adapters/postgresql/schemas/admin.js +4 -4
  27. package/dist/adapters/postgresql/schemas/admin.js.map +1 -1
  28. package/dist/adapters/postgresql/schemas/backup.d.ts +2 -2
  29. package/dist/adapters/postgresql/schemas/backup.d.ts.map +1 -1
  30. package/dist/adapters/postgresql/schemas/backup.js +1 -3
  31. package/dist/adapters/postgresql/schemas/backup.js.map +1 -1
  32. package/dist/adapters/postgresql/schemas/core/index.d.ts +6 -0
  33. package/dist/adapters/postgresql/schemas/core/index.d.ts.map +1 -0
  34. package/dist/adapters/postgresql/schemas/core/index.js +6 -0
  35. package/dist/adapters/postgresql/schemas/core/index.js.map +1 -0
  36. package/dist/adapters/postgresql/schemas/{core.d.ts → core/queries.d.ts} +12 -167
  37. package/dist/adapters/postgresql/schemas/core/queries.d.ts.map +1 -0
  38. package/dist/adapters/postgresql/schemas/{core.js → core/queries.js} +5 -213
  39. package/dist/adapters/postgresql/schemas/core/queries.js.map +1 -0
  40. package/dist/adapters/postgresql/schemas/core/transactions.d.ts +149 -0
  41. package/dist/adapters/postgresql/schemas/core/transactions.d.ts.map +1 -0
  42. package/dist/adapters/postgresql/schemas/core/transactions.js +239 -0
  43. package/dist/adapters/postgresql/schemas/core/transactions.js.map +1 -0
  44. package/dist/adapters/postgresql/schemas/cron.d.ts +12 -12
  45. package/dist/adapters/postgresql/schemas/cron.d.ts.map +1 -1
  46. package/dist/adapters/postgresql/schemas/cron.js +38 -10
  47. package/dist/adapters/postgresql/schemas/cron.js.map +1 -1
  48. package/dist/adapters/postgresql/schemas/extensions/citext.d.ts +222 -0
  49. package/dist/adapters/postgresql/schemas/extensions/citext.d.ts.map +1 -0
  50. package/dist/adapters/postgresql/schemas/extensions/citext.js +306 -0
  51. package/dist/adapters/postgresql/schemas/extensions/citext.js.map +1 -0
  52. package/dist/adapters/postgresql/schemas/extensions/index.d.ts +15 -0
  53. package/dist/adapters/postgresql/schemas/extensions/index.d.ts.map +1 -0
  54. package/dist/adapters/postgresql/schemas/extensions/index.js +20 -0
  55. package/dist/adapters/postgresql/schemas/extensions/index.js.map +1 -0
  56. package/dist/adapters/postgresql/schemas/extensions/kcache.d.ts +164 -0
  57. package/dist/adapters/postgresql/schemas/extensions/kcache.d.ts.map +1 -0
  58. package/dist/adapters/postgresql/schemas/extensions/kcache.js +225 -0
  59. package/dist/adapters/postgresql/schemas/extensions/kcache.js.map +1 -0
  60. package/dist/adapters/postgresql/schemas/extensions/ltree.d.ts +253 -0
  61. package/dist/adapters/postgresql/schemas/extensions/ltree.d.ts.map +1 -0
  62. package/dist/adapters/postgresql/schemas/extensions/ltree.js +430 -0
  63. package/dist/adapters/postgresql/schemas/extensions/ltree.js.map +1 -0
  64. package/dist/adapters/postgresql/schemas/extensions/pgcrypto.d.ts +251 -0
  65. package/dist/adapters/postgresql/schemas/extensions/pgcrypto.d.ts.map +1 -0
  66. package/dist/adapters/postgresql/schemas/extensions/pgcrypto.js +294 -0
  67. package/dist/adapters/postgresql/schemas/extensions/pgcrypto.js.map +1 -0
  68. package/dist/adapters/postgresql/schemas/extensions/shared.d.ts +10 -0
  69. package/dist/adapters/postgresql/schemas/extensions/shared.d.ts.map +1 -0
  70. package/dist/adapters/postgresql/schemas/extensions/shared.js +15 -0
  71. package/dist/adapters/postgresql/schemas/extensions/shared.js.map +1 -0
  72. package/dist/adapters/postgresql/schemas/index.d.ts +6 -6
  73. package/dist/adapters/postgresql/schemas/index.d.ts.map +1 -1
  74. package/dist/adapters/postgresql/schemas/index.js +8 -8
  75. package/dist/adapters/postgresql/schemas/index.js.map +1 -1
  76. package/dist/adapters/postgresql/schemas/introspection.d.ts +14 -14
  77. package/dist/adapters/postgresql/schemas/introspection.d.ts.map +1 -1
  78. package/dist/adapters/postgresql/schemas/introspection.js +6 -3
  79. package/dist/adapters/postgresql/schemas/introspection.js.map +1 -1
  80. package/dist/adapters/postgresql/schemas/jsonb/advanced.d.ts +270 -0
  81. package/dist/adapters/postgresql/schemas/jsonb/advanced.d.ts.map +1 -0
  82. package/dist/adapters/postgresql/schemas/jsonb/advanced.js +371 -0
  83. package/dist/adapters/postgresql/schemas/jsonb/advanced.js.map +1 -0
  84. package/dist/adapters/postgresql/schemas/jsonb/basic.d.ts +283 -0
  85. package/dist/adapters/postgresql/schemas/jsonb/basic.d.ts.map +1 -0
  86. package/dist/adapters/postgresql/schemas/jsonb/basic.js +456 -0
  87. package/dist/adapters/postgresql/schemas/jsonb/basic.js.map +1 -0
  88. package/dist/adapters/postgresql/schemas/jsonb/index.d.ts +6 -0
  89. package/dist/adapters/postgresql/schemas/jsonb/index.d.ts.map +1 -0
  90. package/dist/adapters/postgresql/schemas/jsonb/index.js +6 -0
  91. package/dist/adapters/postgresql/schemas/jsonb/index.js.map +1 -0
  92. package/dist/adapters/postgresql/schemas/monitoring.d.ts +4 -4
  93. package/dist/adapters/postgresql/schemas/monitoring.js +2 -2
  94. package/dist/adapters/postgresql/schemas/monitoring.js.map +1 -1
  95. package/dist/adapters/postgresql/schemas/partitioning.d.ts +14 -14
  96. package/dist/adapters/postgresql/schemas/partitioning.d.ts.map +1 -1
  97. package/dist/adapters/postgresql/schemas/partitioning.js +64 -46
  98. package/dist/adapters/postgresql/schemas/partitioning.js.map +1 -1
  99. package/dist/adapters/postgresql/schemas/partman.d.ts +16 -14
  100. package/dist/adapters/postgresql/schemas/partman.d.ts.map +1 -1
  101. package/dist/adapters/postgresql/schemas/partman.js +9 -9
  102. package/dist/adapters/postgresql/schemas/partman.js.map +1 -1
  103. package/dist/adapters/postgresql/schemas/postgis/advanced.d.ts +429 -0
  104. package/dist/adapters/postgresql/schemas/postgis/advanced.d.ts.map +1 -0
  105. package/dist/adapters/postgresql/schemas/postgis/advanced.js +495 -0
  106. package/dist/adapters/postgresql/schemas/postgis/advanced.js.map +1 -0
  107. package/dist/adapters/postgresql/schemas/{postgis.d.ts → postgis/basic.d.ts} +1 -423
  108. package/dist/adapters/postgresql/schemas/postgis/basic.d.ts.map +1 -0
  109. package/dist/adapters/postgresql/schemas/{postgis.js → postgis/basic.js} +1 -486
  110. package/dist/adapters/postgresql/schemas/postgis/basic.js.map +1 -0
  111. package/dist/adapters/postgresql/schemas/postgis/index.d.ts +6 -0
  112. package/dist/adapters/postgresql/schemas/postgis/index.d.ts.map +1 -0
  113. package/dist/adapters/postgresql/schemas/postgis/index.js +6 -0
  114. package/dist/adapters/postgresql/schemas/postgis/index.js.map +1 -0
  115. package/dist/adapters/postgresql/schemas/schema-mgmt.d.ts +35 -25
  116. package/dist/adapters/postgresql/schemas/schema-mgmt.d.ts.map +1 -1
  117. package/dist/adapters/postgresql/schemas/schema-mgmt.js +57 -19
  118. package/dist/adapters/postgresql/schemas/schema-mgmt.js.map +1 -1
  119. package/dist/adapters/postgresql/schemas/stats/index.d.ts +6 -0
  120. package/dist/adapters/postgresql/schemas/stats/index.d.ts.map +1 -0
  121. package/dist/adapters/postgresql/schemas/stats/index.js +6 -0
  122. package/dist/adapters/postgresql/schemas/stats/index.js.map +1 -0
  123. package/dist/adapters/postgresql/schemas/stats/input.d.ts +260 -0
  124. package/dist/adapters/postgresql/schemas/stats/input.d.ts.map +1 -0
  125. package/dist/adapters/postgresql/schemas/{stats.js → stats/input.js} +2 -331
  126. package/dist/adapters/postgresql/schemas/stats/input.js.map +1 -0
  127. package/dist/adapters/postgresql/schemas/{stats.d.ts → stats/output.d.ts} +3 -246
  128. package/dist/adapters/postgresql/schemas/stats/output.d.ts.map +1 -0
  129. package/dist/adapters/postgresql/schemas/stats/output.js +334 -0
  130. package/dist/adapters/postgresql/schemas/stats/output.js.map +1 -0
  131. package/dist/adapters/postgresql/schemas/text-search.d.ts +18 -18
  132. package/dist/adapters/postgresql/schemas/text-search.d.ts.map +1 -1
  133. package/dist/adapters/postgresql/schemas/text-search.js +12 -27
  134. package/dist/adapters/postgresql/schemas/text-search.js.map +1 -1
  135. package/dist/adapters/postgresql/schemas/vector.d.ts +10 -10
  136. package/dist/adapters/postgresql/schemas/vector.d.ts.map +1 -1
  137. package/dist/adapters/postgresql/schemas/vector.js +12 -16
  138. package/dist/adapters/postgresql/schemas/vector.js.map +1 -1
  139. package/dist/adapters/postgresql/tools/backup/dump.d.ts.map +1 -1
  140. package/dist/adapters/postgresql/tools/backup/dump.js +95 -76
  141. package/dist/adapters/postgresql/tools/backup/dump.js.map +1 -1
  142. package/dist/adapters/postgresql/tools/backup/planning.d.ts.map +1 -1
  143. package/dist/adapters/postgresql/tools/backup/planning.js +345 -287
  144. package/dist/adapters/postgresql/tools/backup/planning.js.map +1 -1
  145. package/dist/adapters/postgresql/tools/citext/analysis.d.ts +24 -0
  146. package/dist/adapters/postgresql/tools/citext/analysis.d.ts.map +1 -0
  147. package/dist/adapters/postgresql/tools/{citext.js → citext/analysis.js} +50 -232
  148. package/dist/adapters/postgresql/tools/citext/analysis.js.map +1 -0
  149. package/dist/adapters/postgresql/tools/citext/index.d.ts +15 -0
  150. package/dist/adapters/postgresql/tools/citext/index.d.ts.map +1 -0
  151. package/dist/adapters/postgresql/tools/citext/index.js +23 -0
  152. package/dist/adapters/postgresql/tools/citext/index.js.map +1 -0
  153. package/dist/adapters/postgresql/tools/citext/setup.d.ts +16 -0
  154. package/dist/adapters/postgresql/tools/citext/setup.d.ts.map +1 -0
  155. package/dist/adapters/postgresql/tools/citext/setup.js +193 -0
  156. package/dist/adapters/postgresql/tools/citext/setup.js.map +1 -0
  157. package/dist/adapters/postgresql/tools/codemode/index.js +1 -1
  158. package/dist/adapters/postgresql/tools/codemode/index.js.map +1 -1
  159. package/dist/adapters/postgresql/tools/core/convenience.d.ts +12 -22
  160. package/dist/adapters/postgresql/tools/core/convenience.d.ts.map +1 -1
  161. package/dist/adapters/postgresql/tools/core/convenience.js +100 -210
  162. package/dist/adapters/postgresql/tools/core/convenience.js.map +1 -1
  163. package/dist/adapters/postgresql/tools/core/error-helpers.d.ts +1 -0
  164. package/dist/adapters/postgresql/tools/core/error-helpers.d.ts.map +1 -1
  165. package/dist/adapters/postgresql/tools/core/error-helpers.js +8 -1
  166. package/dist/adapters/postgresql/tools/core/error-helpers.js.map +1 -1
  167. package/dist/adapters/postgresql/tools/core/health.d.ts.map +1 -1
  168. package/dist/adapters/postgresql/tools/core/health.js +124 -114
  169. package/dist/adapters/postgresql/tools/core/health.js.map +1 -1
  170. package/dist/adapters/postgresql/tools/core/index.d.ts +2 -1
  171. package/dist/adapters/postgresql/tools/core/index.d.ts.map +1 -1
  172. package/dist/adapters/postgresql/tools/core/index.js +3 -2
  173. package/dist/adapters/postgresql/tools/core/index.js.map +1 -1
  174. package/dist/adapters/postgresql/tools/core/indexes.d.ts.map +1 -1
  175. package/dist/adapters/postgresql/tools/core/indexes.js +151 -127
  176. package/dist/adapters/postgresql/tools/core/indexes.js.map +1 -1
  177. package/dist/adapters/postgresql/tools/core/objects.d.ts.map +1 -1
  178. package/dist/adapters/postgresql/tools/core/objects.js +186 -161
  179. package/dist/adapters/postgresql/tools/core/objects.js.map +1 -1
  180. package/dist/adapters/postgresql/tools/core/query.d.ts.map +1 -1
  181. package/dist/adapters/postgresql/tools/core/query.js +37 -25
  182. package/dist/adapters/postgresql/tools/core/query.js.map +1 -1
  183. package/dist/adapters/postgresql/tools/core/schemas.d.ts +6 -3
  184. package/dist/adapters/postgresql/tools/core/schemas.d.ts.map +1 -1
  185. package/dist/adapters/postgresql/tools/core/schemas.js +11 -2
  186. package/dist/adapters/postgresql/tools/core/schemas.js.map +1 -1
  187. package/dist/adapters/postgresql/tools/core/tables.d.ts.map +1 -1
  188. package/dist/adapters/postgresql/tools/core/tables.js +156 -129
  189. package/dist/adapters/postgresql/tools/core/tables.js.map +1 -1
  190. package/dist/adapters/postgresql/tools/core/utility.d.ts +26 -0
  191. package/dist/adapters/postgresql/tools/core/utility.d.ts.map +1 -0
  192. package/dist/adapters/postgresql/tools/core/utility.js +174 -0
  193. package/dist/adapters/postgresql/tools/core/utility.js.map +1 -0
  194. package/dist/adapters/postgresql/tools/cron.js +90 -43
  195. package/dist/adapters/postgresql/tools/cron.js.map +1 -1
  196. package/dist/adapters/postgresql/tools/introspection/analysis.d.ts +12 -0
  197. package/dist/adapters/postgresql/tools/introspection/analysis.d.ts.map +1 -0
  198. package/dist/adapters/postgresql/tools/introspection/analysis.js +574 -0
  199. package/dist/adapters/postgresql/tools/introspection/analysis.js.map +1 -0
  200. package/dist/adapters/postgresql/tools/introspection/graph.d.ts +55 -0
  201. package/dist/adapters/postgresql/tools/introspection/graph.d.ts.map +1 -0
  202. package/dist/adapters/postgresql/tools/introspection/graph.js +638 -0
  203. package/dist/adapters/postgresql/tools/introspection/graph.js.map +1 -0
  204. package/dist/adapters/postgresql/tools/introspection/index.d.ts +19 -0
  205. package/dist/adapters/postgresql/tools/introspection/index.d.ts.map +1 -0
  206. package/dist/adapters/postgresql/tools/introspection/index.js +36 -0
  207. package/dist/adapters/postgresql/tools/introspection/index.js.map +1 -0
  208. package/dist/adapters/postgresql/tools/introspection/migration.d.ts +15 -0
  209. package/dist/adapters/postgresql/tools/introspection/migration.d.ts.map +1 -0
  210. package/dist/adapters/postgresql/tools/introspection/migration.js +599 -0
  211. package/dist/adapters/postgresql/tools/introspection/migration.js.map +1 -0
  212. package/dist/adapters/postgresql/tools/jsonb/analytics.d.ts +20 -0
  213. package/dist/adapters/postgresql/tools/jsonb/analytics.d.ts.map +1 -0
  214. package/dist/adapters/postgresql/tools/jsonb/analytics.js +367 -0
  215. package/dist/adapters/postgresql/tools/jsonb/analytics.js.map +1 -0
  216. package/dist/adapters/postgresql/tools/jsonb/index.d.ts +4 -2
  217. package/dist/adapters/postgresql/tools/jsonb/index.d.ts.map +1 -1
  218. package/dist/adapters/postgresql/tools/jsonb/index.js +8 -4
  219. package/dist/adapters/postgresql/tools/jsonb/index.js.map +1 -1
  220. package/dist/adapters/postgresql/tools/jsonb/read.d.ts +38 -0
  221. package/dist/adapters/postgresql/tools/jsonb/read.d.ts.map +1 -0
  222. package/dist/adapters/postgresql/tools/jsonb/{basic.js → read.js} +41 -482
  223. package/dist/adapters/postgresql/tools/jsonb/read.js.map +1 -0
  224. package/dist/adapters/postgresql/tools/jsonb/{advanced.d.ts → transform.d.ts} +1 -13
  225. package/dist/adapters/postgresql/tools/jsonb/transform.d.ts.map +1 -0
  226. package/dist/adapters/postgresql/tools/jsonb/{advanced.js → transform.js} +26 -357
  227. package/dist/adapters/postgresql/tools/jsonb/transform.js.map +1 -0
  228. package/dist/adapters/postgresql/tools/jsonb/write.d.ts +14 -0
  229. package/dist/adapters/postgresql/tools/jsonb/write.d.ts.map +1 -0
  230. package/dist/adapters/postgresql/tools/jsonb/write.js +468 -0
  231. package/dist/adapters/postgresql/tools/jsonb/write.js.map +1 -0
  232. package/dist/adapters/postgresql/tools/kcache.d.ts.map +1 -1
  233. package/dist/adapters/postgresql/tools/kcache.js +116 -51
  234. package/dist/adapters/postgresql/tools/kcache.js.map +1 -1
  235. package/dist/adapters/postgresql/tools/ltree.js +346 -260
  236. package/dist/adapters/postgresql/tools/ltree.js.map +1 -1
  237. package/dist/adapters/postgresql/tools/monitoring/analysis.d.ts +15 -0
  238. package/dist/adapters/postgresql/tools/monitoring/analysis.d.ts.map +1 -0
  239. package/dist/adapters/postgresql/tools/{monitoring.js → monitoring/analysis.js} +24 -359
  240. package/dist/adapters/postgresql/tools/monitoring/analysis.js.map +1 -0
  241. package/dist/adapters/postgresql/tools/monitoring/basic.d.ts +17 -0
  242. package/dist/adapters/postgresql/tools/monitoring/basic.d.ts.map +1 -0
  243. package/dist/adapters/postgresql/tools/monitoring/basic.js +432 -0
  244. package/dist/adapters/postgresql/tools/monitoring/basic.js.map +1 -0
  245. package/dist/adapters/postgresql/tools/monitoring/index.d.ts +16 -0
  246. package/dist/adapters/postgresql/tools/monitoring/index.d.ts.map +1 -0
  247. package/dist/adapters/postgresql/tools/monitoring/index.js +31 -0
  248. package/dist/adapters/postgresql/tools/monitoring/index.js.map +1 -0
  249. package/dist/adapters/postgresql/tools/partitioning/index.d.ts +15 -0
  250. package/dist/adapters/postgresql/tools/partitioning/index.d.ts.map +1 -0
  251. package/dist/adapters/postgresql/tools/partitioning/index.js +23 -0
  252. package/dist/adapters/postgresql/tools/partitioning/index.js.map +1 -0
  253. package/dist/adapters/postgresql/tools/partitioning/info.d.ts +11 -0
  254. package/dist/adapters/postgresql/tools/partitioning/info.d.ts.map +1 -0
  255. package/dist/adapters/postgresql/tools/partitioning/info.js +302 -0
  256. package/dist/adapters/postgresql/tools/partitioning/info.js.map +1 -0
  257. package/dist/adapters/postgresql/tools/partitioning/management.d.ts +28 -0
  258. package/dist/adapters/postgresql/tools/partitioning/management.d.ts.map +1 -0
  259. package/dist/adapters/postgresql/tools/{partitioning.js → partitioning/management.js} +48 -307
  260. package/dist/adapters/postgresql/tools/partitioning/management.js.map +1 -0
  261. package/dist/adapters/postgresql/tools/partman/helpers.d.ts +29 -0
  262. package/dist/adapters/postgresql/tools/partman/helpers.d.ts.map +1 -0
  263. package/dist/adapters/postgresql/tools/partman/helpers.js +59 -0
  264. package/dist/adapters/postgresql/tools/partman/helpers.js.map +1 -0
  265. package/dist/adapters/postgresql/tools/partman/index.d.ts +2 -1
  266. package/dist/adapters/postgresql/tools/partman/index.d.ts.map +1 -1
  267. package/dist/adapters/postgresql/tools/partman/index.js +4 -2
  268. package/dist/adapters/postgresql/tools/partman/index.js.map +1 -1
  269. package/dist/adapters/postgresql/tools/partman/maintenance.d.ts +20 -0
  270. package/dist/adapters/postgresql/tools/partman/maintenance.d.ts.map +1 -0
  271. package/dist/adapters/postgresql/tools/partman/maintenance.js +496 -0
  272. package/dist/adapters/postgresql/tools/partman/maintenance.js.map +1 -0
  273. package/dist/adapters/postgresql/tools/partman/management.d.ts.map +1 -1
  274. package/dist/adapters/postgresql/tools/partman/management.js +438 -383
  275. package/dist/adapters/postgresql/tools/partman/management.js.map +1 -1
  276. package/dist/adapters/postgresql/tools/partman/operations.d.ts +1 -13
  277. package/dist/adapters/postgresql/tools/partman/operations.d.ts.map +1 -1
  278. package/dist/adapters/postgresql/tools/partman/operations.js +171 -652
  279. package/dist/adapters/postgresql/tools/partman/operations.js.map +1 -1
  280. package/dist/adapters/postgresql/tools/performance/analysis.d.ts.map +1 -1
  281. package/dist/adapters/postgresql/tools/performance/analysis.js +69 -42
  282. package/dist/adapters/postgresql/tools/performance/analysis.js.map +1 -1
  283. package/dist/adapters/postgresql/tools/performance/monitoring.d.ts.map +1 -1
  284. package/dist/adapters/postgresql/tools/performance/monitoring.js +80 -55
  285. package/dist/adapters/postgresql/tools/performance/monitoring.js.map +1 -1
  286. package/dist/adapters/postgresql/tools/performance/optimization.d.ts.map +1 -1
  287. package/dist/adapters/postgresql/tools/performance/optimization.js +18 -11
  288. package/dist/adapters/postgresql/tools/performance/optimization.js.map +1 -1
  289. package/dist/adapters/postgresql/tools/performance/stats.d.ts.map +1 -1
  290. package/dist/adapters/postgresql/tools/performance/stats.js +439 -318
  291. package/dist/adapters/postgresql/tools/performance/stats.js.map +1 -1
  292. package/dist/adapters/postgresql/tools/pgcrypto.d.ts.map +1 -1
  293. package/dist/adapters/postgresql/tools/pgcrypto.js +45 -77
  294. package/dist/adapters/postgresql/tools/pgcrypto.js.map +1 -1
  295. package/dist/adapters/postgresql/tools/postgis/basic.d.ts.map +1 -1
  296. package/dist/adapters/postgresql/tools/postgis/basic.js +121 -93
  297. package/dist/adapters/postgresql/tools/postgis/basic.js.map +1 -1
  298. package/dist/adapters/postgresql/tools/schema/index.d.ts +16 -0
  299. package/dist/adapters/postgresql/tools/schema/index.d.ts.map +1 -0
  300. package/dist/adapters/postgresql/tools/schema/index.js +32 -0
  301. package/dist/adapters/postgresql/tools/schema/index.js.map +1 -0
  302. package/dist/adapters/postgresql/tools/schema/objects.d.ts +15 -0
  303. package/dist/adapters/postgresql/tools/schema/objects.d.ts.map +1 -0
  304. package/dist/adapters/postgresql/tools/schema/objects.js +378 -0
  305. package/dist/adapters/postgresql/tools/schema/objects.js.map +1 -0
  306. package/dist/adapters/postgresql/tools/schema/views.d.ts +15 -0
  307. package/dist/adapters/postgresql/tools/schema/views.d.ts.map +1 -0
  308. package/dist/adapters/postgresql/tools/{schema.js → schema/views.js} +64 -386
  309. package/dist/adapters/postgresql/tools/schema/views.js.map +1 -0
  310. package/dist/adapters/postgresql/tools/stats/advanced.d.ts.map +1 -1
  311. package/dist/adapters/postgresql/tools/stats/advanced.js +1 -218
  312. package/dist/adapters/postgresql/tools/stats/advanced.js.map +1 -1
  313. package/dist/adapters/postgresql/tools/stats/math-utils.d.ts +33 -0
  314. package/dist/adapters/postgresql/tools/stats/math-utils.d.ts.map +1 -0
  315. package/dist/adapters/postgresql/tools/stats/math-utils.js +225 -0
  316. package/dist/adapters/postgresql/tools/stats/math-utils.js.map +1 -0
  317. package/dist/adapters/postgresql/tools/text/index.d.ts +16 -0
  318. package/dist/adapters/postgresql/tools/text/index.d.ts.map +1 -0
  319. package/dist/adapters/postgresql/tools/text/index.js +33 -0
  320. package/dist/adapters/postgresql/tools/text/index.js.map +1 -0
  321. package/dist/adapters/postgresql/tools/text/matching.d.ts +17 -0
  322. package/dist/adapters/postgresql/tools/text/matching.d.ts.map +1 -0
  323. package/dist/adapters/postgresql/tools/text/matching.js +565 -0
  324. package/dist/adapters/postgresql/tools/text/matching.js.map +1 -0
  325. package/dist/adapters/postgresql/tools/text/search.d.ts +17 -0
  326. package/dist/adapters/postgresql/tools/text/search.d.ts.map +1 -0
  327. package/dist/adapters/postgresql/tools/text/search.js +653 -0
  328. package/dist/adapters/postgresql/tools/text/search.js.map +1 -0
  329. package/dist/adapters/postgresql/tools/transactions.d.ts.map +1 -1
  330. package/dist/adapters/postgresql/tools/transactions.js +11 -27
  331. package/dist/adapters/postgresql/tools/transactions.js.map +1 -1
  332. package/dist/adapters/postgresql/tools/vector/{basic.d.ts → data.d.ts} +10 -8
  333. package/dist/adapters/postgresql/tools/vector/data.d.ts.map +1 -0
  334. package/dist/adapters/postgresql/tools/vector/data.js +540 -0
  335. package/dist/adapters/postgresql/tools/vector/data.js.map +1 -0
  336. package/dist/adapters/postgresql/tools/vector/index.d.ts.map +1 -1
  337. package/dist/adapters/postgresql/tools/vector/index.js +6 -2
  338. package/dist/adapters/postgresql/tools/vector/index.js.map +1 -1
  339. package/dist/adapters/postgresql/tools/vector/management.d.ts +11 -0
  340. package/dist/adapters/postgresql/tools/vector/management.d.ts.map +1 -0
  341. package/dist/adapters/postgresql/tools/vector/management.js +425 -0
  342. package/dist/adapters/postgresql/tools/vector/management.js.map +1 -0
  343. package/dist/adapters/postgresql/tools/vector/query.d.ts +14 -0
  344. package/dist/adapters/postgresql/tools/vector/query.d.ts.map +1 -0
  345. package/dist/adapters/postgresql/tools/vector/query.js +767 -0
  346. package/dist/adapters/postgresql/tools/vector/query.js.map +1 -0
  347. package/dist/adapters/postgresql/tools/vector/{advanced.d.ts → search-advanced.d.ts} +4 -5
  348. package/dist/adapters/postgresql/tools/vector/search-advanced.d.ts.map +1 -0
  349. package/dist/adapters/postgresql/tools/vector/search-advanced.js +626 -0
  350. package/dist/adapters/postgresql/tools/vector/search-advanced.js.map +1 -0
  351. package/dist/auth/scopes.js +1 -1
  352. package/dist/auth/scopes.js.map +1 -1
  353. package/dist/cli/args.d.ts +3 -2
  354. package/dist/cli/args.d.ts.map +1 -1
  355. package/dist/cli/args.js +4 -3
  356. package/dist/cli/args.js.map +1 -1
  357. package/dist/cli.js +10 -4
  358. package/dist/cli.js.map +1 -1
  359. package/dist/codemode/api/aliases.d.ts +14 -0
  360. package/dist/codemode/api/aliases.d.ts.map +1 -0
  361. package/dist/codemode/api/aliases.js +503 -0
  362. package/dist/codemode/api/aliases.js.map +1 -0
  363. package/dist/codemode/api/group-api.d.ts +23 -0
  364. package/dist/codemode/api/group-api.d.ts.map +1 -0
  365. package/dist/codemode/api/group-api.js +179 -0
  366. package/dist/codemode/api/group-api.js.map +1 -0
  367. package/dist/codemode/{api.d.ts → api/index.d.ts} +4 -4
  368. package/dist/codemode/api/index.d.ts.map +1 -0
  369. package/dist/codemode/api/index.js +192 -0
  370. package/dist/codemode/api/index.js.map +1 -0
  371. package/dist/codemode/api/maps.d.ts +47 -0
  372. package/dist/codemode/api/maps.d.ts.map +1 -0
  373. package/dist/codemode/api/maps.js +523 -0
  374. package/dist/codemode/api/maps.js.map +1 -0
  375. package/dist/codemode/api/normalize.d.ts +13 -0
  376. package/dist/codemode/api/normalize.d.ts.map +1 -0
  377. package/dist/codemode/api/normalize.js +120 -0
  378. package/dist/codemode/api/normalize.js.map +1 -0
  379. package/dist/codemode/index.d.ts +1 -1
  380. package/dist/codemode/index.d.ts.map +1 -1
  381. package/dist/codemode/index.js +1 -1
  382. package/dist/codemode/index.js.map +1 -1
  383. package/dist/codemode/sandbox.d.ts.map +1 -1
  384. package/dist/codemode/sandbox.js +8 -25
  385. package/dist/codemode/sandbox.js.map +1 -1
  386. package/dist/server/McpServer.d.ts +1 -1
  387. package/dist/server/McpServer.d.ts.map +1 -1
  388. package/dist/server/McpServer.js +1 -2
  389. package/dist/server/McpServer.js.map +1 -1
  390. package/dist/transports/http.d.ts +43 -10
  391. package/dist/transports/http.d.ts.map +1 -1
  392. package/dist/transports/http.js +282 -49
  393. package/dist/transports/http.js.map +1 -1
  394. package/dist/utils/logger.d.ts +6 -6
  395. package/dist/utils/logger.d.ts.map +1 -1
  396. package/dist/utils/logger.js +18 -15
  397. package/dist/utils/logger.js.map +1 -1
  398. package/dist/utils/progress-utils.d.ts +2 -2
  399. package/dist/utils/progress-utils.d.ts.map +1 -1
  400. package/dist/utils/progress-utils.js +2 -3
  401. package/dist/utils/progress-utils.js.map +1 -1
  402. package/dist/utils/version.d.ts +9 -0
  403. package/dist/utils/version.d.ts.map +1 -0
  404. package/dist/utils/version.js +12 -0
  405. package/dist/utils/version.js.map +1 -0
  406. package/dist/utils/where-clause.d.ts +4 -0
  407. package/dist/utils/where-clause.d.ts.map +1 -1
  408. package/dist/utils/where-clause.js +16 -0
  409. package/dist/utils/where-clause.js.map +1 -1
  410. package/package.json +6 -4
  411. package/dist/adapters/postgresql/schemas/core.d.ts.map +0 -1
  412. package/dist/adapters/postgresql/schemas/core.js.map +0 -1
  413. package/dist/adapters/postgresql/schemas/extensions.d.ts +0 -852
  414. package/dist/adapters/postgresql/schemas/extensions.d.ts.map +0 -1
  415. package/dist/adapters/postgresql/schemas/extensions.js +0 -1202
  416. package/dist/adapters/postgresql/schemas/extensions.js.map +0 -1
  417. package/dist/adapters/postgresql/schemas/jsonb.d.ts +0 -541
  418. package/dist/adapters/postgresql/schemas/jsonb.d.ts.map +0 -1
  419. package/dist/adapters/postgresql/schemas/jsonb.js +0 -814
  420. package/dist/adapters/postgresql/schemas/jsonb.js.map +0 -1
  421. package/dist/adapters/postgresql/schemas/postgis.d.ts.map +0 -1
  422. package/dist/adapters/postgresql/schemas/postgis.js.map +0 -1
  423. package/dist/adapters/postgresql/schemas/stats.d.ts.map +0 -1
  424. package/dist/adapters/postgresql/schemas/stats.js.map +0 -1
  425. package/dist/adapters/postgresql/tools/citext.d.ts +0 -18
  426. package/dist/adapters/postgresql/tools/citext.d.ts.map +0 -1
  427. package/dist/adapters/postgresql/tools/citext.js.map +0 -1
  428. package/dist/adapters/postgresql/tools/introspection.d.ts +0 -15
  429. package/dist/adapters/postgresql/tools/introspection.d.ts.map +0 -1
  430. package/dist/adapters/postgresql/tools/introspection.js +0 -1682
  431. package/dist/adapters/postgresql/tools/introspection.js.map +0 -1
  432. package/dist/adapters/postgresql/tools/jsonb/advanced.d.ts.map +0 -1
  433. package/dist/adapters/postgresql/tools/jsonb/advanced.js.map +0 -1
  434. package/dist/adapters/postgresql/tools/jsonb/basic.d.ts +0 -20
  435. package/dist/adapters/postgresql/tools/jsonb/basic.d.ts.map +0 -1
  436. package/dist/adapters/postgresql/tools/jsonb/basic.js.map +0 -1
  437. package/dist/adapters/postgresql/tools/monitoring.d.ts +0 -13
  438. package/dist/adapters/postgresql/tools/monitoring.d.ts.map +0 -1
  439. package/dist/adapters/postgresql/tools/monitoring.js.map +0 -1
  440. package/dist/adapters/postgresql/tools/partitioning.d.ts +0 -13
  441. package/dist/adapters/postgresql/tools/partitioning.d.ts.map +0 -1
  442. package/dist/adapters/postgresql/tools/partitioning.js.map +0 -1
  443. package/dist/adapters/postgresql/tools/schema.d.ts +0 -13
  444. package/dist/adapters/postgresql/tools/schema.d.ts.map +0 -1
  445. package/dist/adapters/postgresql/tools/schema.js.map +0 -1
  446. package/dist/adapters/postgresql/tools/text.d.ts +0 -13
  447. package/dist/adapters/postgresql/tools/text.d.ts.map +0 -1
  448. package/dist/adapters/postgresql/tools/text.js +0 -1082
  449. package/dist/adapters/postgresql/tools/text.js.map +0 -1
  450. package/dist/adapters/postgresql/tools/vector/advanced.d.ts.map +0 -1
  451. package/dist/adapters/postgresql/tools/vector/advanced.js +0 -958
  452. package/dist/adapters/postgresql/tools/vector/advanced.js.map +0 -1
  453. package/dist/adapters/postgresql/tools/vector/basic.d.ts.map +0 -1
  454. package/dist/adapters/postgresql/tools/vector/basic.js +0 -1165
  455. package/dist/adapters/postgresql/tools/vector/basic.js.map +0 -1
  456. package/dist/codemode/api.d.ts.map +0 -1
  457. package/dist/codemode/api.js +0 -1544
  458. package/dist/codemode/api.js.map +0 -1
@@ -0,0 +1,179 @@
1
+ /**
2
+ * postgres-mcp - Code Mode Group API Generator
3
+ *
4
+ * Dynamic API generator for tool groups. Creates methods for each tool
5
+ * in the group, wires up method aliases, and adds special wrapper
6
+ * functions for text (soundex/metaphone) and performance groups.
7
+ */
8
+ import { METHOD_ALIASES } from "./maps.js";
9
+ import { normalizeParams } from "./normalize.js";
10
+ /**
11
+ * Dynamic API generator for tool groups
12
+ * Creates methods for each tool in the group
13
+ */
14
+ export function createGroupApi(adapter, groupName, tools) {
15
+ const api = {};
16
+ for (const tool of tools) {
17
+ // Convert tool name to method name
18
+ // e.g., pg_read_query -> readQuery, pg_jsonb_extract -> extract
19
+ const methodName = toolNameToMethodName(tool.name, groupName);
20
+ api[methodName] = async (...args) => {
21
+ // Normalize positional arguments to object parameters
22
+ // Use empty object when no args provided to match direct tool call behavior
23
+ const normalizedParams = normalizeParams(methodName, args) ?? {};
24
+ const context = adapter.createContext();
25
+ return tool.handler(normalizedParams, context);
26
+ };
27
+ }
28
+ // Add method aliases for this group
29
+ const aliases = METHOD_ALIASES[groupName];
30
+ if (aliases !== undefined) {
31
+ for (const [aliasName, canonicalName] of Object.entries(aliases)) {
32
+ if (api[canonicalName] !== undefined) {
33
+ api[aliasName] = api[canonicalName];
34
+ }
35
+ }
36
+ }
37
+ // Add special wrapper functions for text group (soundex/metaphone call fuzzyMatch with method param)
38
+ if (groupName === "text" && api["fuzzyMatch"] !== undefined) {
39
+ const fuzzyMatchFn = api["fuzzyMatch"];
40
+ // pg.text.soundex({table, column, value}) → fuzzyMatch({table, column, value, method: 'soundex'})
41
+ api["soundex"] = async (...args) => {
42
+ const normalizedParams = normalizeParams("soundex", args);
43
+ return fuzzyMatchFn({ ...normalizedParams, method: "soundex" });
44
+ };
45
+ // pg.text.metaphone({table, column, value}) → fuzzyMatch({table, column, value, method: 'metaphone'})
46
+ api["metaphone"] = async (...args) => {
47
+ const normalizedParams = normalizeParams("metaphone", args);
48
+ return fuzzyMatchFn({ ...normalizedParams, method: "metaphone" });
49
+ };
50
+ }
51
+ // Add special wrapper functions for performance group
52
+ if (groupName === "performance") {
53
+ const locksFn = api["locks"];
54
+ const statActivityFn = api["statActivity"];
55
+ // pg.performance.blockingQueries() → locks({ showBlocked: true })
56
+ if (locksFn !== undefined) {
57
+ api["blockingQueries"] = async () => {
58
+ return locksFn({ showBlocked: true });
59
+ };
60
+ }
61
+ // pg.performance.longRunningQueries(seconds?) → {longRunningQueries, count, threshold}
62
+ if (statActivityFn !== undefined) {
63
+ api["longRunningQueries"] = async (...args) => {
64
+ // Support both: longRunningQueries(10) and longRunningQueries({seconds: 10})
65
+ let minSeconds;
66
+ const arg0 = args[0];
67
+ if (typeof arg0 === "number") {
68
+ minSeconds = arg0;
69
+ }
70
+ else if (typeof arg0 === "object" && arg0 !== null) {
71
+ const obj = arg0;
72
+ const secVal = obj["seconds"] ??
73
+ obj["threshold"] ??
74
+ obj["minSeconds"] ??
75
+ obj["minDuration"];
76
+ if (typeof secVal === "number") {
77
+ minSeconds = secVal;
78
+ }
79
+ }
80
+ const result = (await statActivityFn({ includeIdle: false }));
81
+ const threshold = minSeconds ?? 5; // Default 5 seconds
82
+ const longRunning = result.connections.filter((conn) => {
83
+ const duration = conn["duration"];
84
+ if (typeof duration === "string") {
85
+ // Parse interval like "00:00:10.123"
86
+ const parts = duration.split(":");
87
+ if (parts.length >= 3) {
88
+ const hours = parseInt(parts[0] ?? "0", 10);
89
+ const mins = parseInt(parts[1] ?? "0", 10);
90
+ const secs = parseFloat(parts[2] ?? "0");
91
+ const totalSeconds = hours * 3600 + mins * 60 + secs;
92
+ return totalSeconds >= threshold;
93
+ }
94
+ }
95
+ return false;
96
+ });
97
+ return {
98
+ longRunningQueries: longRunning,
99
+ count: longRunning.length,
100
+ threshold: `${String(threshold)} seconds`,
101
+ };
102
+ };
103
+ // Add alias: runningQueries → longRunningQueries
104
+ api["runningQueries"] = api["longRunningQueries"];
105
+ }
106
+ // pg.performance.analyzeTable() → Actually runs ANALYZE (cross-group bridge to admin)
107
+ api["analyzeTable"] = async (...args) => {
108
+ const arg0 = args[0];
109
+ let tableName = "";
110
+ let schemaName = "public";
111
+ if (typeof arg0 === "string") {
112
+ // Handle schema.table format
113
+ if (arg0.includes(".")) {
114
+ const parts = arg0.split(".");
115
+ schemaName = parts[0] ?? "public";
116
+ tableName = parts[1] ?? "";
117
+ }
118
+ else {
119
+ tableName = arg0;
120
+ }
121
+ }
122
+ else if (typeof arg0 === "object" && arg0 !== null) {
123
+ const obj = arg0;
124
+ const tableVal = obj["table"] ?? obj["name"];
125
+ if (typeof tableVal === "string") {
126
+ // Handle schema.table format in object form too
127
+ if (tableVal.includes(".")) {
128
+ const parts = tableVal.split(".");
129
+ schemaName = parts[0] ?? "public";
130
+ tableName = parts[1] ?? "";
131
+ }
132
+ else {
133
+ tableName = tableVal;
134
+ }
135
+ }
136
+ // Only use explicit schema if table didn't contain schema prefix
137
+ const schemaVal = obj["schema"];
138
+ if (typeof schemaVal === "string" &&
139
+ !tableVal?.toString().includes(".")) {
140
+ schemaName = schemaVal;
141
+ }
142
+ }
143
+ if (tableName === "") {
144
+ return {
145
+ error: "Table name required",
146
+ usage: 'pg.performance.analyzeTable("table_name") or pg.performance.analyzeTable({ table: "name", schema: "public" })',
147
+ };
148
+ }
149
+ // Execute ANALYZE directly
150
+ const qualifiedName = `"${schemaName}"."${tableName}"`;
151
+ await adapter.executeQuery(`ANALYZE ${qualifiedName}`);
152
+ return {
153
+ success: true,
154
+ message: `ANALYZE completed on ${qualifiedName}`,
155
+ hint: "Table statistics updated for query planner optimization.",
156
+ };
157
+ };
158
+ }
159
+ return api;
160
+ }
161
+ /**
162
+ * Convert tool name to camelCase method name
163
+ * Examples:
164
+ * pg_read_query (core) -> readQuery
165
+ * pg_jsonb_extract (jsonb) -> extract
166
+ * pg_vector_search (vector) -> search
167
+ */
168
+ export function toolNameToMethodName(toolName, groupName) {
169
+ // Remove pg_ prefix
170
+ let name = toolName.replace(/^pg_/, "");
171
+ // Remove group prefix if present
172
+ const groupPrefix = groupName.replace(/-/g, "_") + "_";
173
+ if (name.startsWith(groupPrefix)) {
174
+ name = name.substring(groupPrefix.length);
175
+ }
176
+ // Convert snake_case to camelCase
177
+ return name.replace(/_([a-z])/g, (_, letter) => letter.toUpperCase());
178
+ }
179
+ //# sourceMappingURL=group-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group-api.js","sourceRoot":"","sources":["../../../src/codemode/api/group-api.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  /**
2
2
  * postgres-mcp - Code Mode API
3
3
  *
4
- * Exposes all 194 PostgreSQL tools organized by their 19 groups
5
- * for use within the sandboxed execution environment.
4
+ * Main API class exposing all 21 tool groups organized for the
5
+ * sandboxed code execution environment.
6
6
  */
7
- import type { PostgresAdapter } from "../adapters/postgresql/PostgresAdapter.js";
7
+ import type { PostgresAdapter } from "../../adapters/postgresql/PostgresAdapter.js";
8
8
  /**
9
9
  * Main API class exposing all tool groups
10
10
  */
@@ -60,4 +60,4 @@ export declare class PgApi {
60
60
  * Create a PgApi instance for an adapter
61
61
  */
62
62
  export declare function createPgApi(adapter: PostgresAdapter): PgApi;
63
- //# sourceMappingURL=api.d.ts.map
63
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/codemode/api/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,192 @@
1
+ /**
2
+ * postgres-mcp - Code Mode API
3
+ *
4
+ * Main API class exposing all 21 tool groups organized for the
5
+ * sandboxed code execution environment.
6
+ */
7
+ import { METHOD_ALIASES, GROUP_EXAMPLES } from "./maps.js";
8
+ import { TOP_LEVEL_ALIASES } from "./aliases.js";
9
+ import { createGroupApi, toolNameToMethodName } from "./group-api.js";
10
+ /**
11
+ * Main API class exposing all tool groups
12
+ */
13
+ export class PgApi {
14
+ core;
15
+ transactions;
16
+ jsonb;
17
+ text;
18
+ performance;
19
+ admin;
20
+ monitoring;
21
+ backup;
22
+ schema;
23
+ vector;
24
+ postgis;
25
+ partitioning;
26
+ stats;
27
+ cron;
28
+ partman;
29
+ kcache;
30
+ citext;
31
+ ltree;
32
+ pgcrypto;
33
+ introspection;
34
+ toolsByGroup;
35
+ constructor(adapter) {
36
+ // Get all tool definitions and group them
37
+ const allTools = adapter.getToolDefinitions();
38
+ this.toolsByGroup = this.groupTools(allTools);
39
+ // Create group-specific APIs
40
+ this.core = createGroupApi(adapter, "core", this.toolsByGroup.get("core") ?? []);
41
+ this.transactions = createGroupApi(adapter, "transactions", this.toolsByGroup.get("transactions") ?? []);
42
+ this.jsonb = createGroupApi(adapter, "jsonb", this.toolsByGroup.get("jsonb") ?? []);
43
+ this.text = createGroupApi(adapter, "text", this.toolsByGroup.get("text") ?? []);
44
+ this.performance = createGroupApi(adapter, "performance", this.toolsByGroup.get("performance") ?? []);
45
+ this.admin = createGroupApi(adapter, "admin", this.toolsByGroup.get("admin") ?? []);
46
+ this.monitoring = createGroupApi(adapter, "monitoring", this.toolsByGroup.get("monitoring") ?? []);
47
+ this.backup = createGroupApi(adapter, "backup", this.toolsByGroup.get("backup") ?? []);
48
+ this.schema = createGroupApi(adapter, "schema", this.toolsByGroup.get("schema") ?? []);
49
+ this.vector = createGroupApi(adapter, "vector", this.toolsByGroup.get("vector") ?? []);
50
+ this.postgis = createGroupApi(adapter, "postgis", this.toolsByGroup.get("postgis") ?? []);
51
+ this.partitioning = createGroupApi(adapter, "partitioning", this.toolsByGroup.get("partitioning") ?? []);
52
+ this.stats = createGroupApi(adapter, "stats", this.toolsByGroup.get("stats") ?? []);
53
+ this.cron = createGroupApi(adapter, "cron", this.toolsByGroup.get("cron") ?? []);
54
+ this.partman = createGroupApi(adapter, "partman", this.toolsByGroup.get("partman") ?? []);
55
+ this.kcache = createGroupApi(adapter, "kcache", this.toolsByGroup.get("kcache") ?? []);
56
+ this.citext = createGroupApi(adapter, "citext", this.toolsByGroup.get("citext") ?? []);
57
+ this.ltree = createGroupApi(adapter, "ltree", this.toolsByGroup.get("ltree") ?? []);
58
+ this.pgcrypto = createGroupApi(adapter, "pgcrypto", this.toolsByGroup.get("pgcrypto") ?? []);
59
+ this.introspection = createGroupApi(adapter, "introspection", this.toolsByGroup.get("introspection") ?? []);
60
+ }
61
+ /**
62
+ * Group tools by their tool group
63
+ */
64
+ groupTools(tools) {
65
+ const grouped = new Map();
66
+ for (const tool of tools) {
67
+ const group = tool.group;
68
+ const existing = grouped.get(group);
69
+ if (existing) {
70
+ existing.push(tool);
71
+ }
72
+ else {
73
+ grouped.set(group, [tool]);
74
+ }
75
+ }
76
+ return grouped;
77
+ }
78
+ /**
79
+ * Get list of available groups and their method counts
80
+ */
81
+ getAvailableGroups() {
82
+ const groups = {};
83
+ for (const [group, tools] of this.toolsByGroup) {
84
+ groups[group] = tools.length;
85
+ }
86
+ return groups;
87
+ }
88
+ /**
89
+ * Get list of methods available in a group
90
+ */
91
+ getGroupMethods(groupName) {
92
+ const groupApi = this[groupName];
93
+ if (typeof groupApi === "object" && groupApi !== null) {
94
+ return Object.keys(groupApi);
95
+ }
96
+ return [];
97
+ }
98
+ /**
99
+ * Get help information listing all groups and their methods.
100
+ * Call pg.help() in code mode to discover available APIs.
101
+ *
102
+ * @returns Object with group names as keys and arrays of method names as values
103
+ */
104
+ help() {
105
+ const result = {};
106
+ for (const [group, tools] of this.toolsByGroup) {
107
+ // Skip codemode group itself
108
+ if (group === "codemode")
109
+ continue;
110
+ result[group] = tools.map((t) => toolNameToMethodName(t.name, group));
111
+ }
112
+ return result;
113
+ }
114
+ /**
115
+ * Create a serializable API binding for the sandbox
116
+ * This creates references that can be called from isolated-vm
117
+ */
118
+ createSandboxBindings() {
119
+ const bindings = {};
120
+ const groupNames = [
121
+ "core",
122
+ "transactions",
123
+ "jsonb",
124
+ "text",
125
+ "performance",
126
+ "admin",
127
+ "monitoring",
128
+ "backup",
129
+ "schema",
130
+ "vector",
131
+ "postgis",
132
+ "partitioning",
133
+ "stats",
134
+ "cron",
135
+ "partman",
136
+ "kcache",
137
+ "citext",
138
+ "ltree",
139
+ "pgcrypto",
140
+ "introspection",
141
+ ];
142
+ for (const groupName of groupNames) {
143
+ const groupApi = this[groupName];
144
+ // Capture all method names including aliases
145
+ const allMethodNames = Object.keys(groupApi);
146
+ // Separate canonical methods from aliases for structured help output
147
+ const aliases = METHOD_ALIASES[groupName] ?? {};
148
+ const aliasNames = new Set(Object.keys(aliases));
149
+ const canonicalMethodNames = allMethodNames.filter((name) => !aliasNames.has(name));
150
+ // Filter aliases to only show useful shorthand aliases in help output
151
+ // Exclude redundant prefix aliases (e.g., partmanShowConfig, cronListJobs) that
152
+ // just add the group name prefix - these are fallback catches, not intended API
153
+ const usefulAliases = allMethodNames.filter((name) => {
154
+ if (!aliasNames.has(name))
155
+ return false;
156
+ // Exclude aliases that start with the group name (redundant prefixes)
157
+ const lowerGroupName = groupName.toLowerCase();
158
+ const lowerAlias = name.toLowerCase();
159
+ return !lowerAlias.startsWith(lowerGroupName);
160
+ });
161
+ // Add all methods plus a 'help' property that lists them
162
+ bindings[groupName] = {
163
+ ...groupApi,
164
+ // Help returns all methods - canonical first, then method aliases, plus examples
165
+ // Note: methodAliases are alternate names within THIS group (e.g., pg.partman.analyzeHealth → pg.partman.analyzePartitionHealth)
166
+ // They are NOT top-level pg.* aliases. Redundant prefix aliases (e.g., partmanShowConfig) are excluded.
167
+ help: () => ({
168
+ methods: canonicalMethodNames,
169
+ methodAliases: usefulAliases,
170
+ examples: GROUP_EXAMPLES[groupName],
171
+ }),
172
+ };
173
+ }
174
+ // Add top-level help as directly callable pg.help()
175
+ bindings["help"] = () => this.help();
176
+ // Add all top-level aliases from the data-driven constant
177
+ for (const { group, bindingName, methodName } of TOP_LEVEL_ALIASES) {
178
+ const groupApi = bindings[group];
179
+ if (groupApi?.[methodName] !== undefined) {
180
+ bindings[bindingName] = groupApi[methodName];
181
+ }
182
+ }
183
+ return bindings;
184
+ }
185
+ }
186
+ /**
187
+ * Create a PgApi instance for an adapter
188
+ */
189
+ export function createPgApi(adapter) {
190
+ return new PgApi(adapter);
191
+ }
192
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/codemode/api/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * postgres-mcp - Code Mode API Data Maps
3
+ *
4
+ * Pure data declarations for method aliases, usage examples,
5
+ * positional parameter mappings, and argument wrapping rules.
6
+ */
7
+ /**
8
+ * Method aliases for code mode API.
9
+ * Maps alternate method names to their canonical method names.
10
+ * Format: { groupName: { aliasName: canonicalName } }
11
+ *
12
+ * These aliases handle common naming misguesses where agents
13
+ * might try the redundant prefix pattern (e.g., jsonbExtract vs extract).
14
+ */
15
+ export declare const METHOD_ALIASES: Record<string, Record<string, string>>;
16
+ /**
17
+ * Usage examples for each group's help() output.
18
+ * Provides quick-reference examples for common operations.
19
+ */
20
+ export declare const GROUP_EXAMPLES: Record<string, string[]>;
21
+ /**
22
+ * Mapping of method names to their parameter names for positional argument support.
23
+ * Single string = first positional arg maps to this key
24
+ * Array = multiple positional args map to these keys in order
25
+ *
26
+ * Enables:
27
+ * - `pg.core.readQuery("SELECT...")` → `{ sql: "SELECT..." }`
28
+ * - `pg.core.exists("users", "id = 1")` → `{ table: "users", where: "id = 1" }`
29
+ * - `pg.transactions.savepoint(txId, "sp1")` → `{ transactionId: txId, name: "sp1" }`
30
+ */
31
+ export declare const POSITIONAL_PARAM_MAP: Record<string, string | string[]>;
32
+ /**
33
+ * Methods where a single array arg should be wrapped in a specific key
34
+ */
35
+ export declare const ARRAY_WRAP_MAP: Record<string, string>;
36
+ /**
37
+ * Methods where a single object arg should be wrapped in a specific key
38
+ * (instead of passed through directly).
39
+ *
40
+ * For pg_jsonb_object, the skipKeys array lists keys that indicate the user
41
+ * has already provided the correct structure (e.g., { data: {...} }).
42
+ */
43
+ export declare const OBJECT_WRAP_MAP: Record<string, {
44
+ wrapKey: string;
45
+ skipKeys: string[];
46
+ }>;
47
+ //# sourceMappingURL=maps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maps.d.ts","sourceRoot":"","sources":["../../../src/codemode/api/maps.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwNjE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CA4InD,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAoHlE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAMjD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAClC,MAAM,EACN;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAUxC,CAAC"}