@neverinfamous/postgres-mcp 1.0.1

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 (571) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +515 -0
  3. package/dist/__tests__/mocks/adapter.d.ts +80 -0
  4. package/dist/__tests__/mocks/adapter.d.ts.map +1 -0
  5. package/dist/__tests__/mocks/adapter.js +225 -0
  6. package/dist/__tests__/mocks/adapter.js.map +1 -0
  7. package/dist/__tests__/mocks/index.d.ts +11 -0
  8. package/dist/__tests__/mocks/index.d.ts.map +1 -0
  9. package/dist/__tests__/mocks/index.js +11 -0
  10. package/dist/__tests__/mocks/index.js.map +1 -0
  11. package/dist/__tests__/mocks/pool.d.ts +43 -0
  12. package/dist/__tests__/mocks/pool.d.ts.map +1 -0
  13. package/dist/__tests__/mocks/pool.js +71 -0
  14. package/dist/__tests__/mocks/pool.js.map +1 -0
  15. package/dist/adapters/DatabaseAdapter.d.ts +139 -0
  16. package/dist/adapters/DatabaseAdapter.d.ts.map +1 -0
  17. package/dist/adapters/DatabaseAdapter.js +250 -0
  18. package/dist/adapters/DatabaseAdapter.js.map +1 -0
  19. package/dist/adapters/postgresql/PostgresAdapter.d.ts +119 -0
  20. package/dist/adapters/postgresql/PostgresAdapter.d.ts.map +1 -0
  21. package/dist/adapters/postgresql/PostgresAdapter.js +902 -0
  22. package/dist/adapters/postgresql/PostgresAdapter.js.map +1 -0
  23. package/dist/adapters/postgresql/index.d.ts +5 -0
  24. package/dist/adapters/postgresql/index.d.ts.map +1 -0
  25. package/dist/adapters/postgresql/index.js +5 -0
  26. package/dist/adapters/postgresql/index.js.map +1 -0
  27. package/dist/adapters/postgresql/prompts/backup.d.ts +8 -0
  28. package/dist/adapters/postgresql/prompts/backup.d.ts.map +1 -0
  29. package/dist/adapters/postgresql/prompts/backup.js +132 -0
  30. package/dist/adapters/postgresql/prompts/backup.js.map +1 -0
  31. package/dist/adapters/postgresql/prompts/citext.d.ts +8 -0
  32. package/dist/adapters/postgresql/prompts/citext.d.ts.map +1 -0
  33. package/dist/adapters/postgresql/prompts/citext.js +227 -0
  34. package/dist/adapters/postgresql/prompts/citext.js.map +1 -0
  35. package/dist/adapters/postgresql/prompts/extensionSetup.d.ts +8 -0
  36. package/dist/adapters/postgresql/prompts/extensionSetup.d.ts.map +1 -0
  37. package/dist/adapters/postgresql/prompts/extensionSetup.js +282 -0
  38. package/dist/adapters/postgresql/prompts/extensionSetup.js.map +1 -0
  39. package/dist/adapters/postgresql/prompts/health.d.ts +8 -0
  40. package/dist/adapters/postgresql/prompts/health.d.ts.map +1 -0
  41. package/dist/adapters/postgresql/prompts/health.js +118 -0
  42. package/dist/adapters/postgresql/prompts/health.js.map +1 -0
  43. package/dist/adapters/postgresql/prompts/index.d.ts +13 -0
  44. package/dist/adapters/postgresql/prompts/index.d.ts.map +1 -0
  45. package/dist/adapters/postgresql/prompts/index.js +308 -0
  46. package/dist/adapters/postgresql/prompts/index.js.map +1 -0
  47. package/dist/adapters/postgresql/prompts/indexTuning.d.ts +8 -0
  48. package/dist/adapters/postgresql/prompts/indexTuning.d.ts.map +1 -0
  49. package/dist/adapters/postgresql/prompts/indexTuning.js +130 -0
  50. package/dist/adapters/postgresql/prompts/indexTuning.js.map +1 -0
  51. package/dist/adapters/postgresql/prompts/kcache.d.ts +8 -0
  52. package/dist/adapters/postgresql/prompts/kcache.d.ts.map +1 -0
  53. package/dist/adapters/postgresql/prompts/kcache.js +227 -0
  54. package/dist/adapters/postgresql/prompts/kcache.js.map +1 -0
  55. package/dist/adapters/postgresql/prompts/ltree.d.ts +8 -0
  56. package/dist/adapters/postgresql/prompts/ltree.d.ts.map +1 -0
  57. package/dist/adapters/postgresql/prompts/ltree.js +286 -0
  58. package/dist/adapters/postgresql/prompts/ltree.js.map +1 -0
  59. package/dist/adapters/postgresql/prompts/partman.d.ts +8 -0
  60. package/dist/adapters/postgresql/prompts/partman.d.ts.map +1 -0
  61. package/dist/adapters/postgresql/prompts/partman.js +211 -0
  62. package/dist/adapters/postgresql/prompts/partman.js.map +1 -0
  63. package/dist/adapters/postgresql/prompts/pgcron.d.ts +8 -0
  64. package/dist/adapters/postgresql/prompts/pgcron.d.ts.map +1 -0
  65. package/dist/adapters/postgresql/prompts/pgcron.js +233 -0
  66. package/dist/adapters/postgresql/prompts/pgcron.js.map +1 -0
  67. package/dist/adapters/postgresql/prompts/pgcrypto.d.ts +8 -0
  68. package/dist/adapters/postgresql/prompts/pgcrypto.d.ts.map +1 -0
  69. package/dist/adapters/postgresql/prompts/pgcrypto.js +299 -0
  70. package/dist/adapters/postgresql/prompts/pgcrypto.js.map +1 -0
  71. package/dist/adapters/postgresql/prompts/pgvector.d.ts +8 -0
  72. package/dist/adapters/postgresql/prompts/pgvector.d.ts.map +1 -0
  73. package/dist/adapters/postgresql/prompts/pgvector.js +148 -0
  74. package/dist/adapters/postgresql/prompts/pgvector.js.map +1 -0
  75. package/dist/adapters/postgresql/prompts/postgis.d.ts +8 -0
  76. package/dist/adapters/postgresql/prompts/postgis.d.ts.map +1 -0
  77. package/dist/adapters/postgresql/prompts/postgis.js +200 -0
  78. package/dist/adapters/postgresql/prompts/postgis.js.map +1 -0
  79. package/dist/adapters/postgresql/resources/activity.d.ts +9 -0
  80. package/dist/adapters/postgresql/resources/activity.d.ts.map +1 -0
  81. package/dist/adapters/postgresql/resources/activity.js +118 -0
  82. package/dist/adapters/postgresql/resources/activity.js.map +1 -0
  83. package/dist/adapters/postgresql/resources/capabilities.d.ts +9 -0
  84. package/dist/adapters/postgresql/resources/capabilities.d.ts.map +1 -0
  85. package/dist/adapters/postgresql/resources/capabilities.js +182 -0
  86. package/dist/adapters/postgresql/resources/capabilities.js.map +1 -0
  87. package/dist/adapters/postgresql/resources/cron.d.ts +9 -0
  88. package/dist/adapters/postgresql/resources/cron.d.ts.map +1 -0
  89. package/dist/adapters/postgresql/resources/cron.js +156 -0
  90. package/dist/adapters/postgresql/resources/cron.js.map +1 -0
  91. package/dist/adapters/postgresql/resources/crypto.d.ts +9 -0
  92. package/dist/adapters/postgresql/resources/crypto.d.ts.map +1 -0
  93. package/dist/adapters/postgresql/resources/crypto.js +191 -0
  94. package/dist/adapters/postgresql/resources/crypto.js.map +1 -0
  95. package/dist/adapters/postgresql/resources/extensions.d.ts +9 -0
  96. package/dist/adapters/postgresql/resources/extensions.d.ts.map +1 -0
  97. package/dist/adapters/postgresql/resources/extensions.js +85 -0
  98. package/dist/adapters/postgresql/resources/extensions.js.map +1 -0
  99. package/dist/adapters/postgresql/resources/health.d.ts +9 -0
  100. package/dist/adapters/postgresql/resources/health.d.ts.map +1 -0
  101. package/dist/adapters/postgresql/resources/health.js +185 -0
  102. package/dist/adapters/postgresql/resources/health.js.map +1 -0
  103. package/dist/adapters/postgresql/resources/index.d.ts +40 -0
  104. package/dist/adapters/postgresql/resources/index.d.ts.map +1 -0
  105. package/dist/adapters/postgresql/resources/index.js +87 -0
  106. package/dist/adapters/postgresql/resources/index.js.map +1 -0
  107. package/dist/adapters/postgresql/resources/indexes.d.ts +9 -0
  108. package/dist/adapters/postgresql/resources/indexes.d.ts.map +1 -0
  109. package/dist/adapters/postgresql/resources/indexes.js +130 -0
  110. package/dist/adapters/postgresql/resources/indexes.js.map +1 -0
  111. package/dist/adapters/postgresql/resources/kcache.d.ts +9 -0
  112. package/dist/adapters/postgresql/resources/kcache.d.ts.map +1 -0
  113. package/dist/adapters/postgresql/resources/kcache.js +219 -0
  114. package/dist/adapters/postgresql/resources/kcache.js.map +1 -0
  115. package/dist/adapters/postgresql/resources/locks.d.ts +9 -0
  116. package/dist/adapters/postgresql/resources/locks.d.ts.map +1 -0
  117. package/dist/adapters/postgresql/resources/locks.js +89 -0
  118. package/dist/adapters/postgresql/resources/locks.js.map +1 -0
  119. package/dist/adapters/postgresql/resources/partman.d.ts +9 -0
  120. package/dist/adapters/postgresql/resources/partman.d.ts.map +1 -0
  121. package/dist/adapters/postgresql/resources/partman.js +149 -0
  122. package/dist/adapters/postgresql/resources/partman.js.map +1 -0
  123. package/dist/adapters/postgresql/resources/performance.d.ts +9 -0
  124. package/dist/adapters/postgresql/resources/performance.d.ts.map +1 -0
  125. package/dist/adapters/postgresql/resources/performance.js +170 -0
  126. package/dist/adapters/postgresql/resources/performance.js.map +1 -0
  127. package/dist/adapters/postgresql/resources/pool.d.ts +9 -0
  128. package/dist/adapters/postgresql/resources/pool.d.ts.map +1 -0
  129. package/dist/adapters/postgresql/resources/pool.js +93 -0
  130. package/dist/adapters/postgresql/resources/pool.js.map +1 -0
  131. package/dist/adapters/postgresql/resources/postgis.d.ts +9 -0
  132. package/dist/adapters/postgresql/resources/postgis.d.ts.map +1 -0
  133. package/dist/adapters/postgresql/resources/postgis.js +232 -0
  134. package/dist/adapters/postgresql/resources/postgis.js.map +1 -0
  135. package/dist/adapters/postgresql/resources/replication.d.ts +9 -0
  136. package/dist/adapters/postgresql/resources/replication.d.ts.map +1 -0
  137. package/dist/adapters/postgresql/resources/replication.js +126 -0
  138. package/dist/adapters/postgresql/resources/replication.js.map +1 -0
  139. package/dist/adapters/postgresql/resources/schema.d.ts +10 -0
  140. package/dist/adapters/postgresql/resources/schema.d.ts.map +1 -0
  141. package/dist/adapters/postgresql/resources/schema.js +80 -0
  142. package/dist/adapters/postgresql/resources/schema.js.map +1 -0
  143. package/dist/adapters/postgresql/resources/settings.d.ts +9 -0
  144. package/dist/adapters/postgresql/resources/settings.d.ts.map +1 -0
  145. package/dist/adapters/postgresql/resources/settings.js +184 -0
  146. package/dist/adapters/postgresql/resources/settings.js.map +1 -0
  147. package/dist/adapters/postgresql/resources/stats.d.ts +10 -0
  148. package/dist/adapters/postgresql/resources/stats.d.ts.map +1 -0
  149. package/dist/adapters/postgresql/resources/stats.js +124 -0
  150. package/dist/adapters/postgresql/resources/stats.js.map +1 -0
  151. package/dist/adapters/postgresql/resources/tables.d.ts +9 -0
  152. package/dist/adapters/postgresql/resources/tables.d.ts.map +1 -0
  153. package/dist/adapters/postgresql/resources/tables.js +20 -0
  154. package/dist/adapters/postgresql/resources/tables.js.map +1 -0
  155. package/dist/adapters/postgresql/resources/vacuum.d.ts +9 -0
  156. package/dist/adapters/postgresql/resources/vacuum.d.ts.map +1 -0
  157. package/dist/adapters/postgresql/resources/vacuum.js +122 -0
  158. package/dist/adapters/postgresql/resources/vacuum.js.map +1 -0
  159. package/dist/adapters/postgresql/resources/vector.d.ts +9 -0
  160. package/dist/adapters/postgresql/resources/vector.d.ts.map +1 -0
  161. package/dist/adapters/postgresql/resources/vector.js +185 -0
  162. package/dist/adapters/postgresql/resources/vector.js.map +1 -0
  163. package/dist/adapters/postgresql/schemas/admin.d.ts +74 -0
  164. package/dist/adapters/postgresql/schemas/admin.d.ts.map +1 -0
  165. package/dist/adapters/postgresql/schemas/admin.js +180 -0
  166. package/dist/adapters/postgresql/schemas/admin.js.map +1 -0
  167. package/dist/adapters/postgresql/schemas/backup.d.ts +68 -0
  168. package/dist/adapters/postgresql/schemas/backup.d.ts.map +1 -0
  169. package/dist/adapters/postgresql/schemas/backup.js +114 -0
  170. package/dist/adapters/postgresql/schemas/backup.js.map +1 -0
  171. package/dist/adapters/postgresql/schemas/core.d.ts +443 -0
  172. package/dist/adapters/postgresql/schemas/core.d.ts.map +1 -0
  173. package/dist/adapters/postgresql/schemas/core.js +628 -0
  174. package/dist/adapters/postgresql/schemas/core.js.map +1 -0
  175. package/dist/adapters/postgresql/schemas/cron.d.ts +131 -0
  176. package/dist/adapters/postgresql/schemas/cron.d.ts.map +1 -0
  177. package/dist/adapters/postgresql/schemas/cron.js +218 -0
  178. package/dist/adapters/postgresql/schemas/cron.js.map +1 -0
  179. package/dist/adapters/postgresql/schemas/extensions.d.ts +403 -0
  180. package/dist/adapters/postgresql/schemas/extensions.d.ts.map +1 -0
  181. package/dist/adapters/postgresql/schemas/extensions.js +600 -0
  182. package/dist/adapters/postgresql/schemas/extensions.js.map +1 -0
  183. package/dist/adapters/postgresql/schemas/index.d.ts +21 -0
  184. package/dist/adapters/postgresql/schemas/index.d.ts.map +1 -0
  185. package/dist/adapters/postgresql/schemas/index.js +72 -0
  186. package/dist/adapters/postgresql/schemas/index.js.map +1 -0
  187. package/dist/adapters/postgresql/schemas/jsonb.d.ts +94 -0
  188. package/dist/adapters/postgresql/schemas/jsonb.d.ts.map +1 -0
  189. package/dist/adapters/postgresql/schemas/jsonb.js +198 -0
  190. package/dist/adapters/postgresql/schemas/jsonb.js.map +1 -0
  191. package/dist/adapters/postgresql/schemas/monitoring.d.ts +28 -0
  192. package/dist/adapters/postgresql/schemas/monitoring.d.ts.map +1 -0
  193. package/dist/adapters/postgresql/schemas/monitoring.js +45 -0
  194. package/dist/adapters/postgresql/schemas/monitoring.js.map +1 -0
  195. package/dist/adapters/postgresql/schemas/partitioning.d.ts +152 -0
  196. package/dist/adapters/postgresql/schemas/partitioning.d.ts.map +1 -0
  197. package/dist/adapters/postgresql/schemas/partitioning.js +399 -0
  198. package/dist/adapters/postgresql/schemas/partitioning.js.map +1 -0
  199. package/dist/adapters/postgresql/schemas/partman.d.ts +94 -0
  200. package/dist/adapters/postgresql/schemas/partman.d.ts.map +1 -0
  201. package/dist/adapters/postgresql/schemas/partman.js +264 -0
  202. package/dist/adapters/postgresql/schemas/partman.js.map +1 -0
  203. package/dist/adapters/postgresql/schemas/performance.d.ts +52 -0
  204. package/dist/adapters/postgresql/schemas/performance.d.ts.map +1 -0
  205. package/dist/adapters/postgresql/schemas/performance.js +57 -0
  206. package/dist/adapters/postgresql/schemas/performance.js.map +1 -0
  207. package/dist/adapters/postgresql/schemas/postgis.d.ts +693 -0
  208. package/dist/adapters/postgresql/schemas/postgis.d.ts.map +1 -0
  209. package/dist/adapters/postgresql/schemas/postgis.js +662 -0
  210. package/dist/adapters/postgresql/schemas/postgis.js.map +1 -0
  211. package/dist/adapters/postgresql/schemas/schema-mgmt.d.ts +171 -0
  212. package/dist/adapters/postgresql/schemas/schema-mgmt.d.ts.map +1 -0
  213. package/dist/adapters/postgresql/schemas/schema-mgmt.js +235 -0
  214. package/dist/adapters/postgresql/schemas/schema-mgmt.js.map +1 -0
  215. package/dist/adapters/postgresql/schemas/stats.d.ts +229 -0
  216. package/dist/adapters/postgresql/schemas/stats.d.ts.map +1 -0
  217. package/dist/adapters/postgresql/schemas/stats.js +587 -0
  218. package/dist/adapters/postgresql/schemas/stats.js.map +1 -0
  219. package/dist/adapters/postgresql/schemas/text-search.d.ts +83 -0
  220. package/dist/adapters/postgresql/schemas/text-search.d.ts.map +1 -0
  221. package/dist/adapters/postgresql/schemas/text-search.js +132 -0
  222. package/dist/adapters/postgresql/schemas/text-search.js.map +1 -0
  223. package/dist/adapters/postgresql/schemas/vector.d.ts +143 -0
  224. package/dist/adapters/postgresql/schemas/vector.d.ts.map +1 -0
  225. package/dist/adapters/postgresql/schemas/vector.js +123 -0
  226. package/dist/adapters/postgresql/schemas/vector.js.map +1 -0
  227. package/dist/adapters/postgresql/tools/admin.d.ts +13 -0
  228. package/dist/adapters/postgresql/tools/admin.d.ts.map +1 -0
  229. package/dist/adapters/postgresql/tools/admin.js +417 -0
  230. package/dist/adapters/postgresql/tools/admin.js.map +1 -0
  231. package/dist/adapters/postgresql/tools/backup/dump.d.ts +12 -0
  232. package/dist/adapters/postgresql/tools/backup/dump.d.ts.map +1 -0
  233. package/dist/adapters/postgresql/tools/backup/dump.js +546 -0
  234. package/dist/adapters/postgresql/tools/backup/dump.js.map +1 -0
  235. package/dist/adapters/postgresql/tools/backup/index.d.ts +16 -0
  236. package/dist/adapters/postgresql/tools/backup/index.d.ts.map +1 -0
  237. package/dist/adapters/postgresql/tools/backup/index.js +29 -0
  238. package/dist/adapters/postgresql/tools/backup/index.js.map +1 -0
  239. package/dist/adapters/postgresql/tools/backup/planning.d.ts +22 -0
  240. package/dist/adapters/postgresql/tools/backup/planning.d.ts.map +1 -0
  241. package/dist/adapters/postgresql/tools/backup/planning.js +411 -0
  242. package/dist/adapters/postgresql/tools/backup/planning.js.map +1 -0
  243. package/dist/adapters/postgresql/tools/citext.d.ts +18 -0
  244. package/dist/adapters/postgresql/tools/citext.d.ts.map +1 -0
  245. package/dist/adapters/postgresql/tools/citext.js +568 -0
  246. package/dist/adapters/postgresql/tools/citext.js.map +1 -0
  247. package/dist/adapters/postgresql/tools/codemode/index.d.ts +27 -0
  248. package/dist/adapters/postgresql/tools/codemode/index.d.ts.map +1 -0
  249. package/dist/adapters/postgresql/tools/codemode/index.js +171 -0
  250. package/dist/adapters/postgresql/tools/codemode/index.js.map +1 -0
  251. package/dist/adapters/postgresql/tools/core/convenience.d.ts +192 -0
  252. package/dist/adapters/postgresql/tools/core/convenience.d.ts.map +1 -0
  253. package/dist/adapters/postgresql/tools/core/convenience.js +617 -0
  254. package/dist/adapters/postgresql/tools/core/convenience.js.map +1 -0
  255. package/dist/adapters/postgresql/tools/core/health.d.ts +20 -0
  256. package/dist/adapters/postgresql/tools/core/health.d.ts.map +1 -0
  257. package/dist/adapters/postgresql/tools/core/health.js +360 -0
  258. package/dist/adapters/postgresql/tools/core/health.js.map +1 -0
  259. package/dist/adapters/postgresql/tools/core/index.d.ts +15 -0
  260. package/dist/adapters/postgresql/tools/core/index.d.ts.map +1 -0
  261. package/dist/adapters/postgresql/tools/core/index.js +40 -0
  262. package/dist/adapters/postgresql/tools/core/index.js.map +1 -0
  263. package/dist/adapters/postgresql/tools/core/indexes.d.ts +30 -0
  264. package/dist/adapters/postgresql/tools/core/indexes.d.ts.map +1 -0
  265. package/dist/adapters/postgresql/tools/core/indexes.js +232 -0
  266. package/dist/adapters/postgresql/tools/core/indexes.js.map +1 -0
  267. package/dist/adapters/postgresql/tools/core/objects.d.ts +20 -0
  268. package/dist/adapters/postgresql/tools/core/objects.d.ts.map +1 -0
  269. package/dist/adapters/postgresql/tools/core/objects.js +361 -0
  270. package/dist/adapters/postgresql/tools/core/objects.js.map +1 -0
  271. package/dist/adapters/postgresql/tools/core/query.d.ts +16 -0
  272. package/dist/adapters/postgresql/tools/core/query.d.ts.map +1 -0
  273. package/dist/adapters/postgresql/tools/core/query.js +87 -0
  274. package/dist/adapters/postgresql/tools/core/query.js.map +1 -0
  275. package/dist/adapters/postgresql/tools/core/schemas.d.ts +135 -0
  276. package/dist/adapters/postgresql/tools/core/schemas.d.ts.map +1 -0
  277. package/dist/adapters/postgresql/tools/core/schemas.js +221 -0
  278. package/dist/adapters/postgresql/tools/core/schemas.js.map +1 -0
  279. package/dist/adapters/postgresql/tools/core/tables.d.ts +24 -0
  280. package/dist/adapters/postgresql/tools/core/tables.d.ts.map +1 -0
  281. package/dist/adapters/postgresql/tools/core/tables.js +219 -0
  282. package/dist/adapters/postgresql/tools/core/tables.js.map +1 -0
  283. package/dist/adapters/postgresql/tools/cron.d.ts +16 -0
  284. package/dist/adapters/postgresql/tools/cron.d.ts.map +1 -0
  285. package/dist/adapters/postgresql/tools/cron.js +440 -0
  286. package/dist/adapters/postgresql/tools/cron.js.map +1 -0
  287. package/dist/adapters/postgresql/tools/jsonb/advanced.d.ts +33 -0
  288. package/dist/adapters/postgresql/tools/jsonb/advanced.d.ts.map +1 -0
  289. package/dist/adapters/postgresql/tools/jsonb/advanced.js +681 -0
  290. package/dist/adapters/postgresql/tools/jsonb/advanced.js.map +1 -0
  291. package/dist/adapters/postgresql/tools/jsonb/basic.d.ts +20 -0
  292. package/dist/adapters/postgresql/tools/jsonb/basic.d.ts.map +1 -0
  293. package/dist/adapters/postgresql/tools/jsonb/basic.js +654 -0
  294. package/dist/adapters/postgresql/tools/jsonb/basic.js.map +1 -0
  295. package/dist/adapters/postgresql/tools/jsonb/index.d.ts +16 -0
  296. package/dist/adapters/postgresql/tools/jsonb/index.d.ts.map +1 -0
  297. package/dist/adapters/postgresql/tools/jsonb/index.js +39 -0
  298. package/dist/adapters/postgresql/tools/jsonb/index.js.map +1 -0
  299. package/dist/adapters/postgresql/tools/kcache.d.ts +20 -0
  300. package/dist/adapters/postgresql/tools/kcache.d.ts.map +1 -0
  301. package/dist/adapters/postgresql/tools/kcache.js +574 -0
  302. package/dist/adapters/postgresql/tools/kcache.js.map +1 -0
  303. package/dist/adapters/postgresql/tools/ltree.d.ts +8 -0
  304. package/dist/adapters/postgresql/tools/ltree.d.ts.map +1 -0
  305. package/dist/adapters/postgresql/tools/ltree.js +390 -0
  306. package/dist/adapters/postgresql/tools/ltree.js.map +1 -0
  307. package/dist/adapters/postgresql/tools/monitoring.d.ts +13 -0
  308. package/dist/adapters/postgresql/tools/monitoring.d.ts.map +1 -0
  309. package/dist/adapters/postgresql/tools/monitoring.js +753 -0
  310. package/dist/adapters/postgresql/tools/monitoring.js.map +1 -0
  311. package/dist/adapters/postgresql/tools/partitioning.d.ts +13 -0
  312. package/dist/adapters/postgresql/tools/partitioning.d.ts.map +1 -0
  313. package/dist/adapters/postgresql/tools/partitioning.js +500 -0
  314. package/dist/adapters/postgresql/tools/partitioning.js.map +1 -0
  315. package/dist/adapters/postgresql/tools/partman/index.d.ts +19 -0
  316. package/dist/adapters/postgresql/tools/partman/index.d.ts.map +1 -0
  317. package/dist/adapters/postgresql/tools/partman/index.js +33 -0
  318. package/dist/adapters/postgresql/tools/partman/index.js.map +1 -0
  319. package/dist/adapters/postgresql/tools/partman/management.d.ts +28 -0
  320. package/dist/adapters/postgresql/tools/partman/management.d.ts.map +1 -0
  321. package/dist/adapters/postgresql/tools/partman/management.js +563 -0
  322. package/dist/adapters/postgresql/tools/partman/management.js.map +1 -0
  323. package/dist/adapters/postgresql/tools/partman/operations.d.ts +28 -0
  324. package/dist/adapters/postgresql/tools/partman/operations.d.ts.map +1 -0
  325. package/dist/adapters/postgresql/tools/partman/operations.js +632 -0
  326. package/dist/adapters/postgresql/tools/partman/operations.js.map +1 -0
  327. package/dist/adapters/postgresql/tools/performance/analysis.d.ts +9 -0
  328. package/dist/adapters/postgresql/tools/performance/analysis.d.ts.map +1 -0
  329. package/dist/adapters/postgresql/tools/performance/analysis.js +383 -0
  330. package/dist/adapters/postgresql/tools/performance/analysis.js.map +1 -0
  331. package/dist/adapters/postgresql/tools/performance/explain.d.ts +13 -0
  332. package/dist/adapters/postgresql/tools/performance/explain.d.ts.map +1 -0
  333. package/dist/adapters/postgresql/tools/performance/explain.js +71 -0
  334. package/dist/adapters/postgresql/tools/performance/explain.js.map +1 -0
  335. package/dist/adapters/postgresql/tools/performance/index.d.ts +13 -0
  336. package/dist/adapters/postgresql/tools/performance/index.d.ts.map +1 -0
  337. package/dist/adapters/postgresql/tools/performance/index.js +40 -0
  338. package/dist/adapters/postgresql/tools/performance/index.js.map +1 -0
  339. package/dist/adapters/postgresql/tools/performance/monitoring.d.ts +9 -0
  340. package/dist/adapters/postgresql/tools/performance/monitoring.d.ts.map +1 -0
  341. package/dist/adapters/postgresql/tools/performance/monitoring.js +122 -0
  342. package/dist/adapters/postgresql/tools/performance/monitoring.js.map +1 -0
  343. package/dist/adapters/postgresql/tools/performance/optimization.d.ts +9 -0
  344. package/dist/adapters/postgresql/tools/performance/optimization.d.ts.map +1 -0
  345. package/dist/adapters/postgresql/tools/performance/optimization.js +315 -0
  346. package/dist/adapters/postgresql/tools/performance/optimization.js.map +1 -0
  347. package/dist/adapters/postgresql/tools/performance/stats.d.ts +14 -0
  348. package/dist/adapters/postgresql/tools/performance/stats.d.ts.map +1 -0
  349. package/dist/adapters/postgresql/tools/performance/stats.js +559 -0
  350. package/dist/adapters/postgresql/tools/performance/stats.js.map +1 -0
  351. package/dist/adapters/postgresql/tools/pgcrypto.d.ts +8 -0
  352. package/dist/adapters/postgresql/tools/pgcrypto.d.ts.map +1 -0
  353. package/dist/adapters/postgresql/tools/pgcrypto.js +239 -0
  354. package/dist/adapters/postgresql/tools/pgcrypto.js.map +1 -0
  355. package/dist/adapters/postgresql/tools/postgis/advanced.d.ts +21 -0
  356. package/dist/adapters/postgresql/tools/postgis/advanced.d.ts.map +1 -0
  357. package/dist/adapters/postgresql/tools/postgis/advanced.js +383 -0
  358. package/dist/adapters/postgresql/tools/postgis/advanced.js.map +1 -0
  359. package/dist/adapters/postgresql/tools/postgis/basic.d.ts +16 -0
  360. package/dist/adapters/postgresql/tools/postgis/basic.d.ts.map +1 -0
  361. package/dist/adapters/postgresql/tools/postgis/basic.js +479 -0
  362. package/dist/adapters/postgresql/tools/postgis/basic.js.map +1 -0
  363. package/dist/adapters/postgresql/tools/postgis/index.d.ts +17 -0
  364. package/dist/adapters/postgresql/tools/postgis/index.d.ts.map +1 -0
  365. package/dist/adapters/postgresql/tools/postgis/index.js +46 -0
  366. package/dist/adapters/postgresql/tools/postgis/index.js.map +1 -0
  367. package/dist/adapters/postgresql/tools/postgis/standalone.d.ts +21 -0
  368. package/dist/adapters/postgresql/tools/postgis/standalone.d.ts.map +1 -0
  369. package/dist/adapters/postgresql/tools/postgis/standalone.js +150 -0
  370. package/dist/adapters/postgresql/tools/postgis/standalone.js.map +1 -0
  371. package/dist/adapters/postgresql/tools/schema.d.ts +13 -0
  372. package/dist/adapters/postgresql/tools/schema.d.ts.map +1 -0
  373. package/dist/adapters/postgresql/tools/schema.js +515 -0
  374. package/dist/adapters/postgresql/tools/schema.js.map +1 -0
  375. package/dist/adapters/postgresql/tools/stats/advanced.d.ts +24 -0
  376. package/dist/adapters/postgresql/tools/stats/advanced.d.ts.map +1 -0
  377. package/dist/adapters/postgresql/tools/stats/advanced.js +876 -0
  378. package/dist/adapters/postgresql/tools/stats/advanced.js.map +1 -0
  379. package/dist/adapters/postgresql/tools/stats/basic.d.ts +24 -0
  380. package/dist/adapters/postgresql/tools/stats/basic.d.ts.map +1 -0
  381. package/dist/adapters/postgresql/tools/stats/basic.js +501 -0
  382. package/dist/adapters/postgresql/tools/stats/basic.js.map +1 -0
  383. package/dist/adapters/postgresql/tools/stats/index.d.ts +17 -0
  384. package/dist/adapters/postgresql/tools/stats/index.d.ts.map +1 -0
  385. package/dist/adapters/postgresql/tools/stats/index.js +30 -0
  386. package/dist/adapters/postgresql/tools/stats/index.js.map +1 -0
  387. package/dist/adapters/postgresql/tools/text.d.ts +13 -0
  388. package/dist/adapters/postgresql/tools/text.d.ts.map +1 -0
  389. package/dist/adapters/postgresql/tools/text.js +708 -0
  390. package/dist/adapters/postgresql/tools/text.js.map +1 -0
  391. package/dist/adapters/postgresql/tools/transactions.d.ts +13 -0
  392. package/dist/adapters/postgresql/tools/transactions.d.ts.map +1 -0
  393. package/dist/adapters/postgresql/tools/transactions.js +201 -0
  394. package/dist/adapters/postgresql/tools/transactions.js.map +1 -0
  395. package/dist/adapters/postgresql/tools/vector/advanced.d.ts +12 -0
  396. package/dist/adapters/postgresql/tools/vector/advanced.d.ts.map +1 -0
  397. package/dist/adapters/postgresql/tools/vector/advanced.js +902 -0
  398. package/dist/adapters/postgresql/tools/vector/advanced.js.map +1 -0
  399. package/dist/adapters/postgresql/tools/vector/basic.d.ts +25 -0
  400. package/dist/adapters/postgresql/tools/vector/basic.d.ts.map +1 -0
  401. package/dist/adapters/postgresql/tools/vector/basic.js +1000 -0
  402. package/dist/adapters/postgresql/tools/vector/basic.js.map +1 -0
  403. package/dist/adapters/postgresql/tools/vector/index.d.ts +13 -0
  404. package/dist/adapters/postgresql/tools/vector/index.d.ts.map +1 -0
  405. package/dist/adapters/postgresql/tools/vector/index.js +33 -0
  406. package/dist/adapters/postgresql/tools/vector/index.js.map +1 -0
  407. package/dist/auth/AuthorizationServerDiscovery.d.ts +44 -0
  408. package/dist/auth/AuthorizationServerDiscovery.d.ts.map +1 -0
  409. package/dist/auth/AuthorizationServerDiscovery.js +117 -0
  410. package/dist/auth/AuthorizationServerDiscovery.js.map +1 -0
  411. package/dist/auth/OAuthResourceServer.d.ts +42 -0
  412. package/dist/auth/OAuthResourceServer.d.ts.map +1 -0
  413. package/dist/auth/OAuthResourceServer.js +80 -0
  414. package/dist/auth/OAuthResourceServer.js.map +1 -0
  415. package/dist/auth/TokenValidator.d.ts +36 -0
  416. package/dist/auth/TokenValidator.d.ts.map +1 -0
  417. package/dist/auth/TokenValidator.js +139 -0
  418. package/dist/auth/TokenValidator.js.map +1 -0
  419. package/dist/auth/errors.d.ts +63 -0
  420. package/dist/auth/errors.d.ts.map +1 -0
  421. package/dist/auth/errors.js +102 -0
  422. package/dist/auth/errors.js.map +1 -0
  423. package/dist/auth/index.d.ts +15 -0
  424. package/dist/auth/index.d.ts.map +1 -0
  425. package/dist/auth/index.js +16 -0
  426. package/dist/auth/index.js.map +1 -0
  427. package/dist/auth/middleware.d.ts +61 -0
  428. package/dist/auth/middleware.d.ts.map +1 -0
  429. package/dist/auth/middleware.js +156 -0
  430. package/dist/auth/middleware.js.map +1 -0
  431. package/dist/auth/scopes.d.ts +65 -0
  432. package/dist/auth/scopes.d.ts.map +1 -0
  433. package/dist/auth/scopes.js +189 -0
  434. package/dist/auth/scopes.js.map +1 -0
  435. package/dist/auth/types.d.ts +208 -0
  436. package/dist/auth/types.d.ts.map +1 -0
  437. package/dist/auth/types.js +8 -0
  438. package/dist/auth/types.js.map +1 -0
  439. package/dist/cli/args.d.ts +34 -0
  440. package/dist/cli/args.d.ts.map +1 -0
  441. package/dist/cli/args.js +308 -0
  442. package/dist/cli/args.js.map +1 -0
  443. package/dist/cli/index.d.ts +8 -0
  444. package/dist/cli/index.d.ts.map +1 -0
  445. package/dist/cli/index.js +7 -0
  446. package/dist/cli/index.js.map +1 -0
  447. package/dist/cli.d.ts +9 -0
  448. package/dist/cli.d.ts.map +1 -0
  449. package/dist/cli.js +341 -0
  450. package/dist/cli.js.map +1 -0
  451. package/dist/codemode/api.d.ts +62 -0
  452. package/dist/codemode/api.d.ts.map +1 -0
  453. package/dist/codemode/api.js +1505 -0
  454. package/dist/codemode/api.js.map +1 -0
  455. package/dist/codemode/index.d.ts +13 -0
  456. package/dist/codemode/index.d.ts.map +1 -0
  457. package/dist/codemode/index.js +17 -0
  458. package/dist/codemode/index.js.map +1 -0
  459. package/dist/codemode/sandbox-factory.d.ts +72 -0
  460. package/dist/codemode/sandbox-factory.d.ts.map +1 -0
  461. package/dist/codemode/sandbox-factory.js +88 -0
  462. package/dist/codemode/sandbox-factory.js.map +1 -0
  463. package/dist/codemode/sandbox.d.ts +96 -0
  464. package/dist/codemode/sandbox.d.ts.map +1 -0
  465. package/dist/codemode/sandbox.js +345 -0
  466. package/dist/codemode/sandbox.js.map +1 -0
  467. package/dist/codemode/security.d.ts +44 -0
  468. package/dist/codemode/security.d.ts.map +1 -0
  469. package/dist/codemode/security.js +149 -0
  470. package/dist/codemode/security.js.map +1 -0
  471. package/dist/codemode/types.d.ts +137 -0
  472. package/dist/codemode/types.d.ts.map +1 -0
  473. package/dist/codemode/types.js +46 -0
  474. package/dist/codemode/types.js.map +1 -0
  475. package/dist/codemode/worker-sandbox.d.ts +82 -0
  476. package/dist/codemode/worker-sandbox.d.ts.map +1 -0
  477. package/dist/codemode/worker-sandbox.js +244 -0
  478. package/dist/codemode/worker-sandbox.js.map +1 -0
  479. package/dist/codemode/worker-script.d.ts +8 -0
  480. package/dist/codemode/worker-script.d.ts.map +1 -0
  481. package/dist/codemode/worker-script.js +113 -0
  482. package/dist/codemode/worker-script.js.map +1 -0
  483. package/dist/constants/ServerInstructions.d.ts +13 -0
  484. package/dist/constants/ServerInstructions.d.ts.map +1 -0
  485. package/dist/constants/ServerInstructions.js +405 -0
  486. package/dist/constants/ServerInstructions.js.map +1 -0
  487. package/dist/filtering/ToolConstants.d.ts +43 -0
  488. package/dist/filtering/ToolConstants.d.ts.map +1 -0
  489. package/dist/filtering/ToolConstants.js +352 -0
  490. package/dist/filtering/ToolConstants.js.map +1 -0
  491. package/dist/filtering/ToolFilter.d.ts +90 -0
  492. package/dist/filtering/ToolFilter.d.ts.map +1 -0
  493. package/dist/filtering/ToolFilter.js +315 -0
  494. package/dist/filtering/ToolFilter.js.map +1 -0
  495. package/dist/index.d.ts +15 -0
  496. package/dist/index.d.ts.map +1 -0
  497. package/dist/index.js +19 -0
  498. package/dist/index.js.map +1 -0
  499. package/dist/pool/ConnectionPool.d.ts +70 -0
  500. package/dist/pool/ConnectionPool.d.ts.map +1 -0
  501. package/dist/pool/ConnectionPool.js +254 -0
  502. package/dist/pool/ConnectionPool.js.map +1 -0
  503. package/dist/server/McpServer.d.ts +50 -0
  504. package/dist/server/McpServer.d.ts.map +1 -0
  505. package/dist/server/McpServer.js +108 -0
  506. package/dist/server/McpServer.js.map +1 -0
  507. package/dist/transports/http.d.ts +126 -0
  508. package/dist/transports/http.d.ts.map +1 -0
  509. package/dist/transports/http.js +303 -0
  510. package/dist/transports/http.js.map +1 -0
  511. package/dist/transports/index.d.ts +8 -0
  512. package/dist/transports/index.d.ts.map +1 -0
  513. package/dist/transports/index.js +7 -0
  514. package/dist/transports/index.js.map +1 -0
  515. package/dist/types/adapters.d.ts +136 -0
  516. package/dist/types/adapters.d.ts.map +1 -0
  517. package/dist/types/adapters.js +7 -0
  518. package/dist/types/adapters.js.map +1 -0
  519. package/dist/types/database.d.ts +204 -0
  520. package/dist/types/database.d.ts.map +1 -0
  521. package/dist/types/database.js +7 -0
  522. package/dist/types/database.js.map +1 -0
  523. package/dist/types/errors.d.ts +62 -0
  524. package/dist/types/errors.d.ts.map +1 -0
  525. package/dist/types/errors.js +91 -0
  526. package/dist/types/errors.js.map +1 -0
  527. package/dist/types/filtering.d.ts +39 -0
  528. package/dist/types/filtering.d.ts.map +1 -0
  529. package/dist/types/filtering.js +7 -0
  530. package/dist/types/filtering.js.map +1 -0
  531. package/dist/types/index.d.ts +16 -0
  532. package/dist/types/index.d.ts.map +1 -0
  533. package/dist/types/index.js +11 -0
  534. package/dist/types/index.js.map +1 -0
  535. package/dist/types/mcp.d.ts +31 -0
  536. package/dist/types/mcp.d.ts.map +1 -0
  537. package/dist/types/mcp.js +7 -0
  538. package/dist/types/mcp.js.map +1 -0
  539. package/dist/types/oauth.d.ts +65 -0
  540. package/dist/types/oauth.d.ts.map +1 -0
  541. package/dist/types/oauth.js +7 -0
  542. package/dist/types/oauth.js.map +1 -0
  543. package/dist/types/schema.d.ts +110 -0
  544. package/dist/types/schema.d.ts.map +1 -0
  545. package/dist/types/schema.js +7 -0
  546. package/dist/types/schema.js.map +1 -0
  547. package/dist/utils/annotations.d.ts +42 -0
  548. package/dist/utils/annotations.d.ts.map +1 -0
  549. package/dist/utils/annotations.js +75 -0
  550. package/dist/utils/annotations.js.map +1 -0
  551. package/dist/utils/icons.d.ts +25 -0
  552. package/dist/utils/icons.d.ts.map +1 -0
  553. package/dist/utils/icons.js +212 -0
  554. package/dist/utils/icons.js.map +1 -0
  555. package/dist/utils/identifiers.d.ts +111 -0
  556. package/dist/utils/identifiers.d.ts.map +1 -0
  557. package/dist/utils/identifiers.js +270 -0
  558. package/dist/utils/identifiers.js.map +1 -0
  559. package/dist/utils/logger.d.ts +141 -0
  560. package/dist/utils/logger.d.ts.map +1 -0
  561. package/dist/utils/logger.js +304 -0
  562. package/dist/utils/logger.js.map +1 -0
  563. package/dist/utils/promptGenerator.d.ts +20 -0
  564. package/dist/utils/promptGenerator.d.ts.map +1 -0
  565. package/dist/utils/promptGenerator.js +81 -0
  566. package/dist/utils/promptGenerator.js.map +1 -0
  567. package/dist/utils/resourceAnnotations.d.ts +36 -0
  568. package/dist/utils/resourceAnnotations.d.ts.map +1 -0
  569. package/dist/utils/resourceAnnotations.js +57 -0
  570. package/dist/utils/resourceAnnotations.js.map +1 -0
  571. package/package.json +64 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Adamic.tech
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,515 @@
1
+ # postgres-mcp
2
+
3
+ <!-- mcp-name: io.github.neverinfamous/postgres-mcp -->
4
+
5
+ **Last updated January 24, 2026**
6
+
7
+ **PostgreSQL MCP Server** enabling AI assistants (AntiGravity, Claude, Cursor, etc.) to interact with PostgreSQL databases through the Model Context Protocol. Features connection pooling, HTTP/SSE Transport, OAuth 2.1 authentication, Code Mode, tool filtering, and extension support for citext, ltree, pgcrypto, pg_cron, pg_stat_kcache, pgvector, PostGIS, and HypoPG.
8
+
9
+ **203 specialized tools** Β· **20 resources** Β· **19 AI-powered prompts**
10
+
11
+ [![GitHub](https://img.shields.io/badge/GitHub-neverinfamous/postgres--mcp-blue?logo=github)](https://github.com/neverinfamous/postgres-mcp)
12
+ ![GitHub Release](https://img.shields.io/github/v/release/neverinfamous/postgres-mcp)
13
+ [![Docker Pulls](https://img.shields.io/docker/pulls/writenotenow/postgres-mcp)](https://hub.docker.com/r/writenotenow/postgres-mcp)
14
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
15
+ [![MCP](https://img.shields.io/badge/MCP-Compatible-green.svg)](https://modelcontextprotocol.io/)
16
+ [![npm](https://img.shields.io/npm/v/@neverinfamous/postgres-mcp)](https://www.npmjs.com/package/@neverinfamous/postgres-mcp)
17
+ [![Security](https://img.shields.io/badge/Security-Enhanced-green.svg)](https://github.com/neverinfamous/postgres-mcp/blob/master/SECURITY.md)
18
+ ![Status](https://img.shields.io/badge/status-Production%2FStable-brightgreen)
19
+ [![TypeScript](https://img.shields.io/badge/TypeScript-Strict-blue.svg)](https://github.com/neverinfamous/postgres-mcp)
20
+ [![Tests](https://img.shields.io/badge/Tests-2063_passed-success.svg)](https://github.com/neverinfamous/postgres-mcp)
21
+ [![Coverage](https://img.shields.io/badge/Coverage-84.38%25-green.svg)](https://github.com/neverinfamous/postgres-mcp)
22
+
23
+ ## πŸš€ Quick Start
24
+
25
+ ### Prerequisites
26
+
27
+ - Node.js 24+ (LTS)
28
+ - PostgreSQL 12-18 (tested with PostgreSQL 18.1)
29
+ - npm or yarn
30
+
31
+ ### Installation
32
+
33
+ ```bash
34
+ git clone https://github.com/neverinfamous/postgres-mcp.git
35
+ cd postgres-mcp
36
+ npm install
37
+ npm run build
38
+ node dist/cli.js --transport stdio --postgres postgres://user:password@localhost:5432/database
39
+ ```
40
+
41
+ ---
42
+
43
+ ## Development
44
+
45
+ ```bash
46
+ # Clone and install
47
+ git clone https://github.com/neverinfamous/postgres-mcp.git
48
+ cd postgres-mcp
49
+ npm install
50
+
51
+ # Build
52
+ npm run build
53
+
54
+ # Run checks
55
+ npm run lint && npm run typecheck
56
+
57
+ # Test CLI
58
+ node dist/cli.js info
59
+ node dist/cli.js list-tools
60
+ ```
61
+
62
+ ---
63
+
64
+ ## ⚑ MCP Client Configuration
65
+
66
+ ### Cursor IDE / Claude Desktop
67
+
68
+ ```json
69
+ {
70
+ "mcpServers": {
71
+ "postgres-mcp": {
72
+ "command": "node",
73
+ "args": [
74
+ "C:/path/to/postgres-mcp/dist/cli.js",
75
+ "--postgres",
76
+ "postgres://user:password@localhost:5432/database",
77
+ "--tool-filter",
78
+ "starter"
79
+ ]
80
+ }
81
+ }
82
+ }
83
+ ```
84
+
85
+ > [!TIP]
86
+ > The `starter` shortcut provides 58 tools including **Code Mode** for token-efficient operations. All presets include Code Mode by default. See [Tool Filtering](#-tool-filtering) to customize.
87
+
88
+ ### Using Environment Variables (Recommended)
89
+
90
+ ```json
91
+ {
92
+ "mcpServers": {
93
+ "postgres-mcp": {
94
+ "command": "node",
95
+ "args": [
96
+ "C:/path/to/postgres-mcp/dist/cli.js",
97
+ "--tool-filter",
98
+ "starter"
99
+ ],
100
+ "env": {
101
+ "POSTGRES_HOST": "localhost",
102
+ "POSTGRES_PORT": "5432",
103
+ "POSTGRES_USER": "your_user",
104
+ "POSTGRES_PASSWORD": "your_password",
105
+ "POSTGRES_DATABASE": "your_database"
106
+ }
107
+ }
108
+ }
109
+ }
110
+ ```
111
+
112
+ ---
113
+
114
+ ## πŸ”— Database Connection Scenarios
115
+
116
+ | Scenario | Host to Use | Example Connection String |
117
+ | ------------------------------ | ------------------------------------- | ------------------------------------------------- |
118
+ | **PostgreSQL on host machine** | `localhost` or `host.docker.internal` | `postgres://user:pass@localhost:5432/db` |
119
+ | **PostgreSQL in Docker** | Container name or network | `postgres://user:pass@postgres-container:5432/db` |
120
+ | **Remote/Cloud PostgreSQL** | Hostname or IP | `postgres://user:pass@db.example.com:5432/db` |
121
+
122
+ | Provider | Example Hostname |
123
+ | ------------------ | ------------------------------------------------ |
124
+ | AWS RDS PostgreSQL | `your-instance.xxxx.us-east-1.rds.amazonaws.com` |
125
+ | Google Cloud SQL | `project:region:instance` (via Cloud SQL Proxy) |
126
+ | Azure PostgreSQL | `your-server.postgres.database.azure.com` |
127
+ | Supabase | `db.xxxx.supabase.co` |
128
+ | Neon | `ep-xxx.us-east-1.aws.neon.tech` |
129
+
130
+ ---
131
+
132
+ ## Code Mode: Maximum Efficiency
133
+
134
+ Code Mode (`pg_execute_code`) dramatically reduces token usage (70–90%) and is included by default in all presets.
135
+
136
+ #### Disabling Code Mode (Non-Admin Users)
137
+
138
+ If you don't have admin access or prefer individual tool calls, exclude codemode:
139
+
140
+ ```json
141
+ {
142
+ "args": ["--tool-filter", "starter,-codemode"]
143
+ }
144
+ ```
145
+
146
+ ### Isolation Modes
147
+
148
+ | Mode | Isolation | When to Use |
149
+ | -------- | ------------------ | ---------------------------- |
150
+ | `vm` | Same process | **Default, recommended** |
151
+ | `worker` | Separate V8 thread | Not recommended (incomplete) |
152
+
153
+ The `vm` mode is fully functional and is the default. No configuration needed.
154
+
155
+ ### Security
156
+
157
+ - Requires `admin` OAuth scope
158
+ - Blocked: `require()`, `process`, `eval()`, filesystem
159
+ - Rate limited: 60 executions/minute
160
+
161
+ πŸ“– **Full documentation:** [docs/CODE_MODE.md](docs/CODE_MODE.md)
162
+
163
+ ---
164
+
165
+ ## πŸ› οΈ Tool Filtering
166
+
167
+ > [!IMPORTANT]
168
+ > AI IDEs like Cursor have tool limits. With 203 tools available, you MUST use tool filtering to stay within your IDE's limits. We recommend `starter` (58 tools) as a starting point. Code Mode is included in all presets by default for 70-90% token savings on multi-step operations.
169
+
170
+ ### What Can You Filter?
171
+
172
+ The `--tool-filter` argument accepts **shortcuts**, **groups**, or **tool names** β€” mix and match freely:
173
+
174
+ | Filter Pattern | Example | Tools | Description |
175
+ | ---------------- | ------------------------- | ----- | ------------------------- |
176
+ | Shortcut only | `starter` | 58 | Use a predefined bundle |
177
+ | Groups only | `core,jsonb,transactions` | 45 | Combine individual groups |
178
+ | Shortcut + Group | `starter,+text` | 69 | Extend a shortcut |
179
+ | Shortcut - Tool | `starter,-pg_drop_table` | 57 | Remove specific tools |
180
+
181
+ All shortcuts and tool groups include **Code Mode** (`pg_execute_code`) by default for token-efficient operations. To exclude it, add `-codemode` to your filter: `--tool-filter cron,pgcrypto,-codemode`
182
+
183
+ ### Shortcuts (Predefined Bundles)
184
+
185
+ | Shortcut | Tools | Use Case | What's Included |
186
+ | -------------- | ------ | ------------------------ | -------------------------------------------------------- |
187
+ | `starter` | **58** | 🌟 **Recommended** | Core, trans, JSONB, schema, codemode |
188
+ | `essential` | 46 | Minimal footprint | Core, trans, JSONB, codemode |
189
+ | `dev-power` | 53 | Power Developer | Core, trans, schema, stats, part, codemode |
190
+ | `ai-data` | 59 | AI Data Analyst | Core, JSONB, text, trans, codemode |
191
+ | `ai-vector` | 47 | AI/ML with pgvector | Core, vector, trans, part, codemode |
192
+ | `dba-monitor` | 58 | DBA Monitoring | Core, monitoring, perf, trans, codemode |
193
+ | `dba-manage` | 57 | DBA Management | Core, admin, backup, part, schema, codemode |
194
+ | `dba-stats` | 56 | DBA Stats/Security | Core, admin, monitoring, trans, stats, codemode |
195
+ | `geo` | 42 | Geospatial Workloads | Core, PostGIS, trans, codemode |
196
+ | `base-core` | 58 | Base Building Block | Core, JSONB, trans, schema, codemode |
197
+ | `base-ops` | 51 | Operations Block | Admin, monitoring, backup, part, stats, citext, codemode |
198
+ | `ext-ai` | 24 | Extension: AI/Security | pgvector, pgcrypto, codemode |
199
+ | `ext-geo` | 24 | Extension: Spatial | PostGIS, ltree, codemode |
200
+ | `ext-schedule` | 19 | Extension: Scheduling | pg_cron, pg_partman, codemode |
201
+ | `ext-perf` | 28 | Extension: Perf/Analysis | pg_stat_kcache, performance, codemode |
202
+
203
+ ### Tool Groups (20 Available)
204
+
205
+ | Group | Tools | Description |
206
+ | -------------- | ----- | ----------------------------------------------------------- |
207
+ | `core` | 21 | Read/write queries, tables, indexes, convenience/drop tools |
208
+ | `transactions` | 8 | BEGIN, COMMIT, ROLLBACK, savepoints |
209
+ | `jsonb` | 20 | JSONB manipulation and queries |
210
+ | `text` | 14 | Full-text search, fuzzy matching |
211
+ | `performance` | 21 | EXPLAIN, query analysis, optimization |
212
+ | `admin` | 11 | VACUUM, ANALYZE, REINDEX |
213
+ | `monitoring` | 12 | Database sizes, connections, status |
214
+ | `backup` | 10 | pg_dump, COPY, restore |
215
+ | `schema` | 13 | Schemas, views, sequences, functions, triggers |
216
+ | `partitioning` | 7 | Native partition management |
217
+ | `stats` | 9 | Statistical analysis |
218
+ | `vector` | 15 | pgvector (AI/ML similarity search) |
219
+ | `postgis` | 16 | PostGIS (geospatial) |
220
+ | `cron` | 9 | pg_cron (job scheduling) |
221
+ | `partman` | 11 | pg_partman (auto-partitioning) |
222
+ | `kcache` | 8 | pg_stat_kcache (OS-level stats) |
223
+ | `citext` | 7 | citext (case-insensitive text) |
224
+ | `ltree` | 9 | ltree (hierarchical data) |
225
+ | `pgcrypto` | 10 | pgcrypto (encryption, UUIDs) |
226
+ | `codemode` | 1 | Code Mode (sandboxed code execution) |
227
+
228
+ ---
229
+
230
+ ### Quick Start: Recommended IDE Configuration
231
+
232
+ Add one of these configurations to your IDE's MCP settings file:
233
+
234
+ #### Option 1: Starter (58 Essential Tools)
235
+
236
+ **Best for:** General PostgreSQL database work - CRUD operations, JSONB, schema management.
237
+
238
+ ```json
239
+ {
240
+ "mcpServers": {
241
+ "postgres-mcp": {
242
+ "command": "node",
243
+ "args": [
244
+ "/path/to/postgres-mcp/dist/cli.js",
245
+ "--transport",
246
+ "stdio",
247
+ "--tool-filter",
248
+ "starter"
249
+ ],
250
+ "env": {
251
+ "POSTGRES_HOST": "localhost",
252
+ "POSTGRES_PORT": "5432",
253
+ "POSTGRES_USER": "your_username",
254
+ "POSTGRES_PASSWORD": "your_password",
255
+ "POSTGRES_DATABASE": "your_database"
256
+ }
257
+ }
258
+ }
259
+ }
260
+ ```
261
+
262
+ #### Option 2: AI Vector (47 Tools + pgvector)
263
+
264
+ **Best for:** AI/ML workloads with semantic search and vector similarity.
265
+
266
+ > **⚠️ Prerequisites:** Requires pgvector extension installed in your PostgreSQL database.
267
+
268
+ ```json
269
+ {
270
+ "mcpServers": {
271
+ "postgres-mcp-ai": {
272
+ "command": "node",
273
+ "args": [
274
+ "/path/to/postgres-mcp/dist/cli.js",
275
+ "--transport",
276
+ "stdio",
277
+ "--tool-filter",
278
+ "ai-vector"
279
+ ],
280
+ "env": {
281
+ "POSTGRES_HOST": "localhost",
282
+ "POSTGRES_PORT": "5432",
283
+ "POSTGRES_USER": "your_username",
284
+ "POSTGRES_PASSWORD": "your_password",
285
+ "POSTGRES_DATABASE": "your_database"
286
+ }
287
+ }
288
+ }
289
+ }
290
+ ```
291
+
292
+ **Customization Notes:**
293
+
294
+ - Replace `/path/to/postgres-mcp/` with your actual installation path
295
+ - Update credentials (`your_username`, `your_password`, etc.) with your PostgreSQL credentials
296
+ - For Windows: Use forward slashes in paths (e.g., `C:/postgres-mcp/dist/cli.js`) or escape backslashes (`C:\\postgres-mcp\\dist\\cli.js`)
297
+ - **Extension tools** gracefully handle cases where extensions are not installed
298
+
299
+ ---
300
+
301
+ ### Syntax Reference
302
+
303
+ | Prefix | Target | Example | Effect |
304
+ | -------- | -------- | ---------------- | --------------------------------------------- |
305
+ | _(none)_ | Shortcut | `starter` | **Whitelist Mode:** Enable ONLY this shortcut |
306
+ | _(none)_ | Group | `core` | **Whitelist Mode:** Enable ONLY this group |
307
+ | `+` | Group | `+vector` | Add tools from this group to current set |
308
+ | `-` | Group | `-admin` | Remove tools in this group from current set |
309
+ | `+` | Tool | `+pg_explain` | Add one specific tool |
310
+ | `-` | Tool | `-pg_drop_table` | Remove one specific tool |
311
+
312
+ **Legacy Syntax (still supported):**
313
+ If you start with a negative filter (e.g., `-base,-extensions`), it assumes you want to start with _all_ tools enabled and then subtract.
314
+
315
+ ---
316
+
317
+ ## πŸ” OAuth 2.1 Authentication
318
+
319
+ When using HTTP/SSE transport, oauth 2.1 authentication can protect your MCP endpoints.
320
+
321
+ ### Configuration
322
+
323
+ **CLI Options:**
324
+
325
+ ```bash
326
+ node dist/cli.js \
327
+ --transport http \
328
+ --port 3000 \
329
+ --postgres "postgres://user:pass@localhost:5432/db" \
330
+ --oauth-enabled \
331
+ --oauth-issuer http://localhost:8080/realms/postgres-mcp \
332
+ --oauth-audience postgres-mcp-client
333
+ ```
334
+
335
+ **Environment Variables:**
336
+
337
+ ```bash
338
+ # Required
339
+ OAUTH_ENABLED=true
340
+ OAUTH_ISSUER=http://localhost:8080/realms/postgres-mcp
341
+ OAUTH_AUDIENCE=postgres-mcp-client
342
+
343
+ # Optional (auto-discovered from issuer)
344
+ OAUTH_JWKS_URI=http://localhost:8080/realms/postgres-mcp/protocol/openid-connect/certs
345
+ OAUTH_CLOCK_TOLERANCE=60
346
+ ```
347
+
348
+ ### OAuth Scopes
349
+
350
+ Access control is managed through OAuth scopes:
351
+
352
+ | Scope | Access Level |
353
+ | ------------------------ | ----------------------------------- |
354
+ | `read` | Read-only queries (SELECT, EXPLAIN) |
355
+ | `write` | Read + write operations |
356
+ | `admin` | Full administrative access |
357
+ | `full` | Grants all access |
358
+ | `db:{name}` | Access to specific database |
359
+ | `schema:{name}` | Access to specific schema |
360
+ | `table:{schema}:{table}` | Access to specific table |
361
+
362
+ ### RFC Compliance
363
+
364
+ This implementation follows:
365
+
366
+ - **RFC 9728** β€” OAuth 2.0 Protected Resource Metadata
367
+ - **RFC 8414** β€” OAuth 2.0 Authorization Server Metadata
368
+ - **RFC 7591** β€” OAuth 2.0 Dynamic Client Registration
369
+
370
+ The server exposes metadata at `/.well-known/oauth-protected-resource`.
371
+
372
+ > **Note for Keycloak users:** Add an **Audience mapper** to your client (Client β†’ Client scopes β†’ dedicated scope β†’ Add mapper β†’ Audience) to include the correct `aud` claim in tokens.
373
+
374
+ ---
375
+
376
+ ## ⚑ Performance Tuning
377
+
378
+ | Variable | Default | Description |
379
+ | ----------------------- | ------- | -------------------------------------------------- |
380
+ | `METADATA_CACHE_TTL_MS` | `30000` | Cache TTL for schema metadata (milliseconds) |
381
+ | `LOG_LEVEL` | `info` | Log verbosity: `debug`, `info`, `warning`, `error` |
382
+
383
+ > **Tip:** Lower `METADATA_CACHE_TTL_MS` for development (e.g., `5000`), or increase it for production with stable schemas (e.g., `300000` = 5 min).
384
+
385
+ ---
386
+
387
+ ## πŸ€– AI-Powered Prompts
388
+
389
+ Prompts provide step-by-step guidance for complex database tasks. Instead of figuring out which tools to use and in what order, simply invoke a prompt and follow its workflow β€” great for learning PostgreSQL best practices or automating repetitive DBA tasks.
390
+
391
+ This server includes **19 intelligent prompts** for guided workflows:
392
+
393
+ | Prompt | Description | Required Groups | Shortcut |
394
+ | -------------------------- | -------------------------------------------------- | ----------------------------- | -------------- |
395
+ | `pg_query_builder` | Construct queries with CTEs and window functions | core | `starter` |
396
+ | `pg_schema_design` | Design schemas with constraints and indexes | core | `starter` |
397
+ | `pg_performance_analysis` | Analyze queries with EXPLAIN and optimization | core, performance | `dba-monitor` |
398
+ | `pg_migration` | Generate migration scripts with rollback support | core | `starter` |
399
+ | `pg_tool_index` | Lazy hydration - compact index of all tools | β€” | any |
400
+ | `pg_quick_query` | Quick SQL query guidance for common operations | core | `starter` |
401
+ | `pg_quick_schema` | Quick reference for exploring database schema | core | `starter` |
402
+ | `pg_database_health_check` | Comprehensive database health assessment | core, performance, monitoring | `dba-monitor` |
403
+ | `pg_backup_strategy` | Enterprise backup planning with RTO/RPO | core, monitoring, backup | `dba-manage` |
404
+ | `pg_index_tuning` | Index analysis and optimization workflow | core, performance | `dba-monitor` |
405
+ | `pg_extension_setup` | Extension installation and configuration guide | core | `starter` |
406
+ | `pg_setup_pgvector` | Complete pgvector setup for semantic search | core, vector | `ai-vector` |
407
+ | `pg_setup_postgis` | Complete PostGIS setup for geospatial operations | core, postgis | `geo` |
408
+ | `pg_setup_pgcron` | Complete pg_cron setup for job scheduling | core | `ext-schedule` |
409
+ | `pg_setup_partman` | Complete pg_partman setup for partition management | core, partman | `ext-schedule` |
410
+ | `pg_setup_kcache` | Complete pg_stat_kcache setup for OS monitoring | core, kcache | `ext-perf` |
411
+ | `pg_setup_citext` | Complete citext setup for case-insensitive text | core, citext | `base-ops` |
412
+ | `pg_setup_ltree` | Complete ltree setup for hierarchical data | core, ltree | `ext-geo` |
413
+ | `pg_setup_pgcrypto` | Complete pgcrypto setup for cryptographic funcs | core, pgcrypto | `ext-ai` |
414
+
415
+ ---
416
+
417
+ ## πŸ“¦ Resources
418
+
419
+ Resources give you instant snapshots of database state without writing queries. Perfect for quickly checking schema, health, or performance metrics β€” the AI can read these to understand your database context before suggesting changes.
420
+
421
+ This server provides **20 resources** for structured data access:
422
+
423
+ | Resource | URI | Description |
424
+ | ------------ | ------------------------- | -------------------------------------------------- |
425
+ | Schema | `postgres://schema` | Full database schema |
426
+ | Tables | `postgres://tables` | Table listing with sizes |
427
+ | Settings | `postgres://settings` | PostgreSQL configuration |
428
+ | Statistics | `postgres://stats` | Database statistics with stale detection |
429
+ | Activity | `postgres://activity` | Current connections |
430
+ | Pool | `postgres://pool` | Connection pool status |
431
+ | Capabilities | `postgres://capabilities` | Server version, extensions, tool categories |
432
+ | Performance | `postgres://performance` | pg_stat_statements query metrics |
433
+ | Health | `postgres://health` | Comprehensive database health status |
434
+ | Extensions | `postgres://extensions` | Extension inventory with recommendations |
435
+ | Indexes | `postgres://indexes` | Index usage with unused detection |
436
+ | Replication | `postgres://replication` | Replication status and lag monitoring |
437
+ | Vacuum | `postgres://vacuum` | Vacuum stats and wraparound warnings |
438
+ | Locks | `postgres://locks` | Lock contention detection |
439
+ | Cron | `postgres://cron` | pg_cron job status and execution history |
440
+ | Partman | `postgres://partman` | pg_partman partition configuration and health |
441
+ | Kcache | `postgres://kcache` | pg_stat_kcache CPU/I/O metrics summary |
442
+ | Vector | `postgres://vector` | pgvector columns, indexes, and recommendations |
443
+ | PostGIS | `postgres://postgis` | PostGIS spatial columns and index status |
444
+ | Crypto | `postgres://crypto` | pgcrypto availability and security recommendations |
445
+
446
+ ---
447
+
448
+ ## πŸ”§ Extension Support
449
+
450
+ | Extension | Purpose | Tools |
451
+ | -------------------- | ------------------------------ | -------------------------- |
452
+ | `pg_stat_statements` | Query performance tracking | `pg_stat_statements` |
453
+ | `pg_trgm` | Text similarity | `pg_trigram_similarity` |
454
+ | `fuzzystrmatch` | Fuzzy matching | `pg_fuzzy_match` |
455
+ | `hypopg` | Hypothetical indexes | `pg_index_recommendations` |
456
+ | `pgvector` | Vector similarity search | 14 vector tools |
457
+ | `PostGIS` | Geospatial operations | 15 postgis tools |
458
+ | `pg_cron` | Job scheduling | 8 cron tools |
459
+ | `pg_partman` | Automated partition management | 10 partman tools |
460
+ | `pg_stat_kcache` | OS-level CPU/memory/I/O stats | 7 kcache tools |
461
+ | `citext` | Case-insensitive text | 6 citext tools |
462
+ | `ltree` | Hierarchical tree labels | 8 ltree tools |
463
+ | `pgcrypto` | Hashing, encryption, UUIDs | 9 pgcrypto tools |
464
+
465
+ > Extension tools gracefully handle cases where extensions are not installed.
466
+
467
+ ---
468
+
469
+ ## πŸ”₯ Core Capabilities
470
+
471
+ - πŸ“Š **Full SQL Support** - Execute any PostgreSQL query with parameter binding
472
+ - πŸ” **JSONB Operations** - Native JSONB functions and path queries
473
+ - πŸ” **Connection Pooling** - Efficient connection management with health checks
474
+ - πŸŽ›οΈ **Tool Filtering** - Control which operations are exposed
475
+ - ⚑ **Performance Tools** - EXPLAIN ANALYZE, buffer analysis, index hints
476
+ - πŸ—ΊοΈ **PostGIS Support** - Geospatial queries and spatial indexes
477
+ - 🧠 **pgvector Support** - AI/ML vector similarity search
478
+
479
+ ### 🏒 Enterprise Features
480
+
481
+ - πŸ” **OAuth 2.1 Authentication** - RFC 9728/8414 compliant
482
+ - πŸ›‘οΈ **Tool Filtering** - Control which database operations are exposed
483
+ - πŸ“ˆ **Monitoring** - Process lists, replication lag, cache hit ratios
484
+
485
+ ---
486
+
487
+ ## πŸ† Why Choose postgres-mcp?
488
+
489
+ βœ… **TypeScript Native** - Full type safety with strict mode
490
+ βœ… **203 Specialized Tools** - Comprehensive PostgreSQL coverage
491
+ βœ… **Tool Annotations** - UX hints for read-only, destructive, and idempotent operations
492
+ βœ… **Connection Pooling** - Efficient PostgreSQL connection management
493
+ βœ… **Extension Support** - pgvector, PostGIS, pg_stat_statements, pg_cron
494
+ βœ… **Tool Filtering** - Stay within AI IDE tool limits
495
+ βœ… **Modern Architecture** - Built on MCP SDK 1.25+
496
+
497
+ ---
498
+
499
+ ## Contributing
500
+
501
+ Contributions are welcome! Please read our [Contributing Guidelines](CONTRIBUTING.md) before submitting a pull request.
502
+
503
+ ## Security
504
+
505
+ For security concerns, please see our [Security Policy](SECURITY.md).
506
+
507
+ > **⚠️ Never commit credentials** - Store secrets in environment variables
508
+
509
+ ## License
510
+
511
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
512
+
513
+ ## Code of Conduct
514
+
515
+ Please read our [Code of Conduct](CODE_OF_CONDUCT.md) before participating in this project.
@@ -0,0 +1,80 @@
1
+ /**
2
+ * postgres-mcp - PostgreSQL Adapter Mock
3
+ *
4
+ * Provides mock implementation of PostgresAdapter for testing
5
+ * tools, resources, and prompts without database dependency.
6
+ */
7
+ import { vi } from "vitest";
8
+ import type { PostgresAdapter } from "../../adapters/postgresql/PostgresAdapter.js";
9
+ import type { QueryResult, TableInfo, IndexInfo, SchemaInfo, HealthStatus, ColumnInfo } from "../../types/index.js";
10
+ /**
11
+ * Create a mock query result
12
+ */
13
+ export declare function createMockQueryResult(rows?: Record<string, unknown>[], affectedRows?: number): QueryResult;
14
+ /**
15
+ * Create a mock column info
16
+ */
17
+ export declare function createMockColumnInfo(name: string, type: string, nullable?: boolean, primaryKey?: boolean): ColumnInfo;
18
+ /**
19
+ * Create a mock table info
20
+ */
21
+ export declare function createMockTableInfo(name: string, schemaName?: string, rowCount?: number): TableInfo;
22
+ /**
23
+ * Create mock index info
24
+ */
25
+ export declare function createMockIndexInfo(tableName: string, indexName: string, schemaName?: string): IndexInfo;
26
+ /**
27
+ * Create mock schema info
28
+ */
29
+ export declare function createMockSchemaInfo(): SchemaInfo;
30
+ /**
31
+ * Create mock health status
32
+ */
33
+ export declare function createMockHealthStatus(connected?: boolean): HealthStatus;
34
+ /**
35
+ * Create a mock PostgresAdapter
36
+ */
37
+ export declare function createMockPostgresAdapter(): Partial<PostgresAdapter> & {
38
+ executeQuery: ReturnType<typeof vi.fn>;
39
+ executeReadQuery: ReturnType<typeof vi.fn>;
40
+ executeWriteQuery: ReturnType<typeof vi.fn>;
41
+ getTableIndexes: ReturnType<typeof vi.fn>;
42
+ getAllIndexes: ReturnType<typeof vi.fn>;
43
+ describeTable: ReturnType<typeof vi.fn>;
44
+ listTables: ReturnType<typeof vi.fn>;
45
+ listSchemas: ReturnType<typeof vi.fn>;
46
+ getSchema: ReturnType<typeof vi.fn>;
47
+ };
48
+ /**
49
+ * Create a mock RequestContext for handler testing
50
+ */
51
+ export declare function createMockRequestContext(): {
52
+ timestamp: Date;
53
+ requestId: string;
54
+ };
55
+ /**
56
+ * Helper to configure mock adapter response for specific queries
57
+ */
58
+ export declare function configureMockAdapterQuery(adapter: ReturnType<typeof createMockPostgresAdapter>, pattern: string, result: QueryResult): void;
59
+ /**
60
+ * Create a mock PostgresAdapter that returns empty results
61
+ */
62
+ export declare function createMockPostgresAdapterEmpty(): ReturnType<typeof createMockPostgresAdapter>;
63
+ /**
64
+ * Create a mock PostgresAdapter that throws on query execution
65
+ */
66
+ export declare function createMockPostgresAdapterWithError(errorMessage?: string): ReturnType<typeof createMockPostgresAdapter>;
67
+ /**
68
+ * Create a mock adapter for transaction testing with a mock connection
69
+ */
70
+ export declare function createMockPostgresAdapterWithTransaction(): ReturnType<typeof createMockPostgresAdapter> & {
71
+ mockConnection: {
72
+ query: ReturnType<typeof vi.fn>;
73
+ release: ReturnType<typeof vi.fn>;
74
+ };
75
+ };
76
+ /**
77
+ * Type alias for the mock adapter return type
78
+ */
79
+ export type MockPostgresAdapter = ReturnType<typeof createMockPostgresAdapter>;
80
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/__tests__/mocks/adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,SAAS,EACT,UAAU,EACV,YAAY,EACZ,UAAU,EACX,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAO,EACpC,YAAY,SAAI,GACf,WAAW,CAMb;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,UAAO,EACf,UAAU,UAAQ,GACjB,UAAU,CAQZ;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,UAAU,SAAW,EACrB,QAAQ,SAAM,GACb,SAAS,CAiBX;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,UAAU,SAAW,GACpB,SAAS,CASX;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,UAAU,CAMjD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,UAAO,GAAG,YAAY,CAarE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,OAAO,CAAC,eAAe,CAAC,GAAG;IACtE,YAAY,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACvC,gBAAgB,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3C,iBAAiB,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5C,eAAe,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1C,aAAa,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACxC,aAAa,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACxC,UAAU,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACrC,WAAW,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACtC,SAAS,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;CACrC,CA+EA;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI;IAC1C,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,CAKA;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,EACrD,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,WAAW,GAClB,IAAI,CAgBN;AAED;;GAEG;AACH,wBAAgB,8BAA8B,IAAI,UAAU,CAC1D,OAAO,yBAAyB,CACjC,CAaA;AAED;;GAEG;AACH,wBAAgB,kCAAkC,CAChD,YAAY,SAA+B,GAC1C,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAY9C;AAED;;GAEG;AACH,wBAAgB,wCAAwC,IAAI,UAAU,CACpE,OAAO,yBAAyB,CACjC,GAAG;IACF,cAAc,EAAE;QACd,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAChC,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;KACnC,CAAC;CACH,CAaA;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC"}