db-mcp 2.0.0 → 3.0.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 (553) hide show
  1. package/README.md +96 -91
  2. package/dist/.tsbuildinfo +1 -0
  3. package/dist/adapters/database-adapter.d.ts +173 -0
  4. package/dist/adapters/database-adapter.d.ts.map +1 -0
  5. package/dist/adapters/query-validation.d.ts +20 -0
  6. package/dist/adapters/query-validation.d.ts.map +1 -0
  7. package/dist/adapters/registration/index.d.ts +4 -0
  8. package/dist/adapters/registration/index.d.ts.map +1 -0
  9. package/dist/adapters/registration/prompts.d.ts +7 -0
  10. package/dist/adapters/registration/prompts.d.ts.map +1 -0
  11. package/dist/adapters/registration/resources.d.ts +7 -0
  12. package/dist/adapters/registration/resources.d.ts.map +1 -0
  13. package/dist/adapters/registration/tools.d.ts +9 -0
  14. package/dist/adapters/registration/tools.d.ts.map +1 -0
  15. package/dist/adapters/sqlite/index.d.ts +9 -0
  16. package/dist/adapters/sqlite/index.d.ts.map +1 -0
  17. package/dist/adapters/sqlite/json-utils.d.ts +100 -0
  18. package/dist/adapters/sqlite/json-utils.d.ts.map +1 -0
  19. package/dist/adapters/sqlite/prompts/analysis.d.ts +23 -0
  20. package/dist/adapters/sqlite/prompts/analysis.d.ts.map +1 -0
  21. package/dist/adapters/sqlite/prompts/index.d.ts +16 -0
  22. package/dist/adapters/sqlite/prompts/index.d.ts.map +1 -0
  23. package/dist/adapters/sqlite/prompts/query.d.ts +19 -0
  24. package/dist/adapters/sqlite/prompts/query.d.ts.map +1 -0
  25. package/dist/adapters/sqlite/prompts/schema.d.ts +20 -0
  26. package/dist/adapters/sqlite/prompts/schema.d.ts.map +1 -0
  27. package/dist/adapters/sqlite/query-executor.d.ts +38 -0
  28. package/dist/adapters/sqlite/query-executor.d.ts.map +1 -0
  29. package/dist/adapters/sqlite/resources.d.ts +13 -0
  30. package/dist/adapters/sqlite/resources.d.ts.map +1 -0
  31. package/dist/adapters/sqlite/schema-manager.d.ts +69 -0
  32. package/dist/adapters/sqlite/schema-manager.d.ts.map +1 -0
  33. package/dist/adapters/sqlite/schemas/admin.d.ts +459 -0
  34. package/dist/adapters/sqlite/schemas/admin.d.ts.map +1 -0
  35. package/dist/adapters/sqlite/schemas/codemode.d.ts +30 -0
  36. package/dist/adapters/sqlite/schemas/codemode.d.ts.map +1 -0
  37. package/dist/adapters/sqlite/schemas/common.d.ts +9 -0
  38. package/dist/adapters/sqlite/schemas/common.d.ts.map +1 -0
  39. package/dist/adapters/sqlite/schemas/core.d.ts +530 -0
  40. package/dist/adapters/sqlite/schemas/core.d.ts.map +1 -0
  41. package/dist/adapters/sqlite/schemas/error-mixin.d.ts +10 -0
  42. package/dist/adapters/sqlite/schemas/error-mixin.d.ts.map +1 -0
  43. package/dist/adapters/sqlite/schemas/fts.d.ts +106 -0
  44. package/dist/adapters/sqlite/schemas/fts.d.ts.map +1 -0
  45. package/dist/adapters/sqlite/schemas/geo.d.ts +135 -0
  46. package/dist/adapters/sqlite/schemas/geo.d.ts.map +1 -0
  47. package/dist/adapters/sqlite/schemas/index.d.ts +23 -0
  48. package/dist/adapters/sqlite/schemas/index.d.ts.map +1 -0
  49. package/dist/adapters/sqlite/schemas/introspection.d.ts +583 -0
  50. package/dist/adapters/sqlite/schemas/introspection.d.ts.map +1 -0
  51. package/dist/adapters/sqlite/schemas/json.d.ts +849 -0
  52. package/dist/adapters/sqlite/schemas/json.d.ts.map +1 -0
  53. package/dist/adapters/sqlite/schemas/migration.d.ts +220 -0
  54. package/dist/adapters/sqlite/schemas/migration.d.ts.map +1 -0
  55. package/dist/adapters/sqlite/schemas/native.d.ts +235 -0
  56. package/dist/adapters/sqlite/schemas/native.d.ts.map +1 -0
  57. package/dist/adapters/sqlite/schemas/server.d.ts +13 -0
  58. package/dist/adapters/sqlite/schemas/server.d.ts.map +1 -0
  59. package/dist/adapters/sqlite/schemas/spatialite.d.ts +114 -0
  60. package/dist/adapters/sqlite/schemas/spatialite.d.ts.map +1 -0
  61. package/dist/adapters/sqlite/schemas/stats.d.ts +780 -0
  62. package/dist/adapters/sqlite/schemas/stats.d.ts.map +1 -0
  63. package/dist/adapters/sqlite/schemas/text.d.ts +570 -0
  64. package/dist/adapters/sqlite/schemas/text.d.ts.map +1 -0
  65. package/dist/adapters/sqlite/schemas/vector.d.ts +252 -0
  66. package/dist/adapters/sqlite/schemas/vector.d.ts.map +1 -0
  67. package/dist/adapters/sqlite/schemas/virtual.d.ts +257 -0
  68. package/dist/adapters/sqlite/schemas/virtual.d.ts.map +1 -0
  69. package/dist/adapters/sqlite/schemas/where.d.ts +20 -0
  70. package/dist/adapters/sqlite/schemas/where.d.ts.map +1 -0
  71. package/dist/adapters/sqlite/sqlite-adapter/lifecycle.d.ts +13 -0
  72. package/dist/adapters/sqlite/sqlite-adapter/lifecycle.d.ts.map +1 -0
  73. package/dist/adapters/sqlite/sqlite-adapter/schema.d.ts +7 -0
  74. package/dist/adapters/sqlite/sqlite-adapter/schema.d.ts.map +1 -0
  75. package/dist/adapters/sqlite/sqlite-adapter.d.ts +138 -0
  76. package/dist/adapters/sqlite/sqlite-adapter.d.ts.map +1 -0
  77. package/dist/adapters/sqlite/tools/admin/backup/analyze.d.ts +7 -0
  78. package/dist/adapters/sqlite/tools/admin/backup/analyze.d.ts.map +1 -0
  79. package/dist/adapters/sqlite/tools/admin/backup/create.d.ts +11 -0
  80. package/dist/adapters/sqlite/tools/admin/backup/create.d.ts.map +1 -0
  81. package/dist/adapters/sqlite/tools/admin/backup/dump.d.ts +7 -0
  82. package/dist/adapters/sqlite/tools/admin/backup/dump.d.ts.map +1 -0
  83. package/dist/adapters/sqlite/tools/admin/backup/index.d.ts +7 -0
  84. package/dist/adapters/sqlite/tools/admin/backup/index.d.ts.map +1 -0
  85. package/dist/adapters/sqlite/tools/admin/backup/integrity.d.ts +7 -0
  86. package/dist/adapters/sqlite/tools/admin/backup/integrity.d.ts.map +1 -0
  87. package/dist/adapters/sqlite/tools/admin/backup/optimize.d.ts +7 -0
  88. package/dist/adapters/sqlite/tools/admin/backup/optimize.d.ts.map +1 -0
  89. package/dist/adapters/sqlite/tools/admin/backup/restore.d.ts +7 -0
  90. package/dist/adapters/sqlite/tools/admin/backup/restore.d.ts.map +1 -0
  91. package/dist/adapters/sqlite/tools/admin/helpers.d.ts +18 -0
  92. package/dist/adapters/sqlite/tools/admin/helpers.d.ts.map +1 -0
  93. package/dist/adapters/sqlite/tools/admin/index.d.ts +10 -0
  94. package/dist/adapters/sqlite/tools/admin/index.d.ts.map +1 -0
  95. package/dist/adapters/sqlite/tools/admin/pragma.d.ts +37 -0
  96. package/dist/adapters/sqlite/tools/admin/pragma.d.ts.map +1 -0
  97. package/dist/adapters/sqlite/tools/admin/reindex.d.ts +10 -0
  98. package/dist/adapters/sqlite/tools/admin/reindex.d.ts.map +1 -0
  99. package/dist/adapters/sqlite/tools/admin/verify.d.ts +13 -0
  100. package/dist/adapters/sqlite/tools/admin/verify.d.ts.map +1 -0
  101. package/dist/adapters/sqlite/tools/admin/wal.d.ts +10 -0
  102. package/dist/adapters/sqlite/tools/admin/wal.d.ts.map +1 -0
  103. package/dist/adapters/sqlite/tools/codemode.d.ts +22 -0
  104. package/dist/adapters/sqlite/tools/codemode.d.ts.map +1 -0
  105. package/dist/adapters/sqlite/tools/column-validation.d.ts +26 -0
  106. package/dist/adapters/sqlite/tools/column-validation.d.ts.map +1 -0
  107. package/dist/adapters/sqlite/tools/core/alter-table.d.ts +11 -0
  108. package/dist/adapters/sqlite/tools/core/alter-table.d.ts.map +1 -0
  109. package/dist/adapters/sqlite/tools/core/constraints.d.ts +10 -0
  110. package/dist/adapters/sqlite/tools/core/constraints.d.ts.map +1 -0
  111. package/dist/adapters/sqlite/tools/core/convenience-helpers.d.ts +20 -0
  112. package/dist/adapters/sqlite/tools/core/convenience-helpers.d.ts.map +1 -0
  113. package/dist/adapters/sqlite/tools/core/convenience-schemas.d.ts +20 -0
  114. package/dist/adapters/sqlite/tools/core/convenience-schemas.d.ts.map +1 -0
  115. package/dist/adapters/sqlite/tools/core/convenience.d.ts +29 -0
  116. package/dist/adapters/sqlite/tools/core/convenience.d.ts.map +1 -0
  117. package/dist/adapters/sqlite/tools/core/datetime.d.ts +11 -0
  118. package/dist/adapters/sqlite/tools/core/datetime.d.ts.map +1 -0
  119. package/dist/adapters/sqlite/tools/core/index.d.ts +14 -0
  120. package/dist/adapters/sqlite/tools/core/index.d.ts.map +1 -0
  121. package/dist/adapters/sqlite/tools/core/indexes.d.ts +20 -0
  122. package/dist/adapters/sqlite/tools/core/indexes.d.ts.map +1 -0
  123. package/dist/adapters/sqlite/tools/core/queries.d.ts +16 -0
  124. package/dist/adapters/sqlite/tools/core/queries.d.ts.map +1 -0
  125. package/dist/adapters/sqlite/tools/core/tables.d.ts +37 -0
  126. package/dist/adapters/sqlite/tools/core/tables.d.ts.map +1 -0
  127. package/dist/adapters/sqlite/tools/core/triggers.d.ts +18 -0
  128. package/dist/adapters/sqlite/tools/core/triggers.d.ts.map +1 -0
  129. package/dist/adapters/sqlite/tools/fts.d.ts +13 -0
  130. package/dist/adapters/sqlite/tools/fts.d.ts.map +1 -0
  131. package/dist/adapters/sqlite/tools/geo.d.ts +14 -0
  132. package/dist/adapters/sqlite/tools/geo.d.ts.map +1 -0
  133. package/dist/adapters/sqlite/tools/index.d.ts +33 -0
  134. package/dist/adapters/sqlite/tools/index.d.ts.map +1 -0
  135. package/dist/adapters/sqlite/tools/introspection/analysis/constraints.d.ts +10 -0
  136. package/dist/adapters/sqlite/tools/introspection/analysis/constraints.d.ts.map +1 -0
  137. package/dist/adapters/sqlite/tools/introspection/analysis/diff.d.ts +11 -0
  138. package/dist/adapters/sqlite/tools/introspection/analysis/diff.d.ts.map +1 -0
  139. package/dist/adapters/sqlite/tools/introspection/analysis/index.d.ts +10 -0
  140. package/dist/adapters/sqlite/tools/introspection/analysis/index.d.ts.map +1 -0
  141. package/dist/adapters/sqlite/tools/introspection/analysis/risks.d.ts +9 -0
  142. package/dist/adapters/sqlite/tools/introspection/analysis/risks.d.ts.map +1 -0
  143. package/dist/adapters/sqlite/tools/introspection/analysis/snapshot.d.ts +40 -0
  144. package/dist/adapters/sqlite/tools/introspection/analysis/snapshot.d.ts.map +1 -0
  145. package/dist/adapters/sqlite/tools/introspection/diagnostics/index.d.ts +9 -0
  146. package/dist/adapters/sqlite/tools/introspection/diagnostics/index.d.ts.map +1 -0
  147. package/dist/adapters/sqlite/tools/introspection/diagnostics/indexes.d.ts +10 -0
  148. package/dist/adapters/sqlite/tools/introspection/diagnostics/indexes.d.ts.map +1 -0
  149. package/dist/adapters/sqlite/tools/introspection/diagnostics/query-plan.d.ts +10 -0
  150. package/dist/adapters/sqlite/tools/introspection/diagnostics/query-plan.d.ts.map +1 -0
  151. package/dist/adapters/sqlite/tools/introspection/diagnostics/storage.d.ts +10 -0
  152. package/dist/adapters/sqlite/tools/introspection/diagnostics/storage.d.ts.map +1 -0
  153. package/dist/adapters/sqlite/tools/introspection/graph/helpers.d.ts +44 -0
  154. package/dist/adapters/sqlite/tools/introspection/graph/helpers.d.ts.map +1 -0
  155. package/dist/adapters/sqlite/tools/introspection/graph/index.d.ts +9 -0
  156. package/dist/adapters/sqlite/tools/introspection/graph/index.d.ts.map +1 -0
  157. package/dist/adapters/sqlite/tools/introspection/graph/tools.d.ts +12 -0
  158. package/dist/adapters/sqlite/tools/introspection/graph/tools.d.ts.map +1 -0
  159. package/dist/adapters/sqlite/tools/introspection/index.d.ts +17 -0
  160. package/dist/adapters/sqlite/tools/introspection/index.d.ts.map +1 -0
  161. package/dist/adapters/sqlite/tools/json-helpers/helpers.d.ts +21 -0
  162. package/dist/adapters/sqlite/tools/json-helpers/helpers.d.ts.map +1 -0
  163. package/dist/adapters/sqlite/tools/json-helpers/index.d.ts +17 -0
  164. package/dist/adapters/sqlite/tools/json-helpers/index.d.ts.map +1 -0
  165. package/dist/adapters/sqlite/tools/json-helpers/read.d.ts +24 -0
  166. package/dist/adapters/sqlite/tools/json-helpers/read.d.ts.map +1 -0
  167. package/dist/adapters/sqlite/tools/json-helpers/write.d.ts +24 -0
  168. package/dist/adapters/sqlite/tools/json-helpers/write.d.ts.map +1 -0
  169. package/dist/adapters/sqlite/tools/json-operations/crud.d.ts +39 -0
  170. package/dist/adapters/sqlite/tools/json-operations/crud.d.ts.map +1 -0
  171. package/dist/adapters/sqlite/tools/json-operations/diff.d.ts +11 -0
  172. package/dist/adapters/sqlite/tools/json-operations/diff.d.ts.map +1 -0
  173. package/dist/adapters/sqlite/tools/json-operations/helpers.d.ts +18 -0
  174. package/dist/adapters/sqlite/tools/json-operations/helpers.d.ts.map +1 -0
  175. package/dist/adapters/sqlite/tools/json-operations/index.d.ts +10 -0
  176. package/dist/adapters/sqlite/tools/json-operations/index.d.ts.map +1 -0
  177. package/dist/adapters/sqlite/tools/json-operations/query.d.ts +24 -0
  178. package/dist/adapters/sqlite/tools/json-operations/query.d.ts.map +1 -0
  179. package/dist/adapters/sqlite/tools/json-operations/security.d.ts +19 -0
  180. package/dist/adapters/sqlite/tools/json-operations/security.d.ts.map +1 -0
  181. package/dist/adapters/sqlite/tools/json-operations/transform.d.ts +24 -0
  182. package/dist/adapters/sqlite/tools/json-operations/transform.d.ts.map +1 -0
  183. package/dist/adapters/sqlite/tools/migration/helpers.d.ts +34 -0
  184. package/dist/adapters/sqlite/tools/migration/helpers.d.ts.map +1 -0
  185. package/dist/adapters/sqlite/tools/migration/index.d.ts +15 -0
  186. package/dist/adapters/sqlite/tools/migration/index.d.ts.map +1 -0
  187. package/dist/adapters/sqlite/tools/migration/tracking/apply.d.ts +4 -0
  188. package/dist/adapters/sqlite/tools/migration/tracking/apply.d.ts.map +1 -0
  189. package/dist/adapters/sqlite/tools/migration/tracking/history.d.ts +4 -0
  190. package/dist/adapters/sqlite/tools/migration/tracking/history.d.ts.map +1 -0
  191. package/dist/adapters/sqlite/tools/migration/tracking/index.d.ts +7 -0
  192. package/dist/adapters/sqlite/tools/migration/tracking/index.d.ts.map +1 -0
  193. package/dist/adapters/sqlite/tools/migration/tracking/init.d.ts +4 -0
  194. package/dist/adapters/sqlite/tools/migration/tracking/init.d.ts.map +1 -0
  195. package/dist/adapters/sqlite/tools/migration/tracking/record.d.ts +4 -0
  196. package/dist/adapters/sqlite/tools/migration/tracking/record.d.ts.map +1 -0
  197. package/dist/adapters/sqlite/tools/migration/tracking/rollback.d.ts +4 -0
  198. package/dist/adapters/sqlite/tools/migration/tracking/rollback.d.ts.map +1 -0
  199. package/dist/adapters/sqlite/tools/migration/tracking/status.d.ts +4 -0
  200. package/dist/adapters/sqlite/tools/migration/tracking/status.d.ts.map +1 -0
  201. package/dist/adapters/sqlite/tools/stats/advanced.d.ts +28 -0
  202. package/dist/adapters/sqlite/tools/stats/advanced.d.ts.map +1 -0
  203. package/dist/adapters/sqlite/tools/stats/anomaly-detection.d.ts +22 -0
  204. package/dist/adapters/sqlite/tools/stats/anomaly-detection.d.ts.map +1 -0
  205. package/dist/adapters/sqlite/tools/stats/basic.d.ts +32 -0
  206. package/dist/adapters/sqlite/tools/stats/basic.d.ts.map +1 -0
  207. package/dist/adapters/sqlite/tools/stats/helpers.d.ts +27 -0
  208. package/dist/adapters/sqlite/tools/stats/helpers.d.ts.map +1 -0
  209. package/dist/adapters/sqlite/tools/stats/index.d.ts +12 -0
  210. package/dist/adapters/sqlite/tools/stats/index.d.ts.map +1 -0
  211. package/dist/adapters/sqlite/tools/stats/inference/hypothesis.d.ts +7 -0
  212. package/dist/adapters/sqlite/tools/stats/inference/hypothesis.d.ts.map +1 -0
  213. package/dist/adapters/sqlite/tools/stats/inference/index.d.ts +4 -0
  214. package/dist/adapters/sqlite/tools/stats/inference/index.d.ts.map +1 -0
  215. package/dist/adapters/sqlite/tools/stats/inference/outlier.d.ts +7 -0
  216. package/dist/adapters/sqlite/tools/stats/inference/outlier.d.ts.map +1 -0
  217. package/dist/adapters/sqlite/tools/stats/inference/regression.d.ts +7 -0
  218. package/dist/adapters/sqlite/tools/stats/inference/regression.d.ts.map +1 -0
  219. package/dist/adapters/sqlite/tools/stats/math-helpers.d.ts +17 -0
  220. package/dist/adapters/sqlite/tools/stats/math-helpers.d.ts.map +1 -0
  221. package/dist/adapters/sqlite/tools/stats/schema-risks.d.ts +15 -0
  222. package/dist/adapters/sqlite/tools/stats/schema-risks.d.ts.map +1 -0
  223. package/dist/adapters/sqlite/tools/text/formatting.d.ts +48 -0
  224. package/dist/adapters/sqlite/tools/text/formatting.d.ts.map +1 -0
  225. package/dist/adapters/sqlite/tools/text/helpers.d.ts +22 -0
  226. package/dist/adapters/sqlite/tools/text/helpers.d.ts.map +1 -0
  227. package/dist/adapters/sqlite/tools/text/index.d.ts +10 -0
  228. package/dist/adapters/sqlite/tools/text/index.d.ts.map +1 -0
  229. package/dist/adapters/sqlite/tools/text/regex.d.ts +21 -0
  230. package/dist/adapters/sqlite/tools/text/regex.d.ts.map +1 -0
  231. package/dist/adapters/sqlite/tools/text/search.d.ts +17 -0
  232. package/dist/adapters/sqlite/tools/text/search.d.ts.map +1 -0
  233. package/dist/adapters/sqlite/tools/text/sentiment.d.ts +13 -0
  234. package/dist/adapters/sqlite/tools/text/sentiment.d.ts.map +1 -0
  235. package/dist/adapters/sqlite/tools/text/validate.d.ts +11 -0
  236. package/dist/adapters/sqlite/tools/text/validate.d.ts.map +1 -0
  237. package/dist/adapters/sqlite/tools/vector/helpers.d.ts +11 -0
  238. package/dist/adapters/sqlite/tools/vector/helpers.d.ts.map +1 -0
  239. package/dist/adapters/sqlite/tools/vector/index.d.ts +14 -0
  240. package/dist/adapters/sqlite/tools/vector/index.d.ts.map +1 -0
  241. package/dist/adapters/sqlite/tools/vector/metadata.d.ts +28 -0
  242. package/dist/adapters/sqlite/tools/vector/metadata.d.ts.map +1 -0
  243. package/dist/adapters/sqlite/tools/vector/search.d.ts +16 -0
  244. package/dist/adapters/sqlite/tools/vector/search.d.ts.map +1 -0
  245. package/dist/adapters/sqlite/tools/vector/storage.d.ts +24 -0
  246. package/dist/adapters/sqlite/tools/vector/storage.d.ts.map +1 -0
  247. package/dist/adapters/sqlite/tools/vector/tools.d.ts +9 -0
  248. package/dist/adapters/sqlite/tools/vector/tools.d.ts.map +1 -0
  249. package/dist/adapters/sqlite/tools/virtual/analysis.d.ts +24 -0
  250. package/dist/adapters/sqlite/tools/virtual/analysis.d.ts.map +1 -0
  251. package/dist/adapters/sqlite/tools/virtual/extensions.d.ts +13 -0
  252. package/dist/adapters/sqlite/tools/virtual/extensions.d.ts.map +1 -0
  253. package/dist/adapters/sqlite/tools/virtual/helpers.d.ts +18 -0
  254. package/dist/adapters/sqlite/tools/virtual/helpers.d.ts.map +1 -0
  255. package/dist/adapters/sqlite/tools/virtual/index.d.ts +10 -0
  256. package/dist/adapters/sqlite/tools/virtual/index.d.ts.map +1 -0
  257. package/dist/adapters/sqlite/tools/virtual/views.d.ts +21 -0
  258. package/dist/adapters/sqlite/tools/virtual/views.d.ts.map +1 -0
  259. package/dist/adapters/sqlite/tools/virtual/vtable/analyze-csv.d.ts +4 -0
  260. package/dist/adapters/sqlite/tools/virtual/vtable/analyze-csv.d.ts.map +1 -0
  261. package/dist/adapters/sqlite/tools/virtual/vtable/csv.d.ts +4 -0
  262. package/dist/adapters/sqlite/tools/virtual/vtable/csv.d.ts.map +1 -0
  263. package/dist/adapters/sqlite/tools/virtual/vtable/drop.d.ts +4 -0
  264. package/dist/adapters/sqlite/tools/virtual/vtable/drop.d.ts.map +1 -0
  265. package/dist/adapters/sqlite/tools/virtual/vtable/index.d.ts +6 -0
  266. package/dist/adapters/sqlite/tools/virtual/vtable/index.d.ts.map +1 -0
  267. package/dist/adapters/sqlite/tools/virtual/vtable/info.d.ts +4 -0
  268. package/dist/adapters/sqlite/tools/virtual/vtable/info.d.ts.map +1 -0
  269. package/dist/adapters/sqlite/tools/virtual/vtable/list.d.ts +4 -0
  270. package/dist/adapters/sqlite/tools/virtual/vtable/list.d.ts.map +1 -0
  271. package/dist/adapters/sqlite/types.d.ts +89 -0
  272. package/dist/adapters/sqlite/types.d.ts.map +1 -0
  273. package/dist/adapters/sqlite-helpers.d.ts +51 -0
  274. package/dist/adapters/sqlite-helpers.d.ts.map +1 -0
  275. package/dist/adapters/sqlite-native/extensions.d.ts +17 -0
  276. package/dist/adapters/sqlite-native/extensions.d.ts.map +1 -0
  277. package/dist/adapters/sqlite-native/index.d.ts +11 -0
  278. package/dist/adapters/sqlite-native/index.d.ts.map +1 -0
  279. package/dist/adapters/sqlite-native/native-query-executor.d.ts +24 -0
  280. package/dist/adapters/sqlite-native/native-query-executor.d.ts.map +1 -0
  281. package/dist/adapters/sqlite-native/native-sqlite-adapter.d.ts +160 -0
  282. package/dist/adapters/sqlite-native/native-sqlite-adapter.d.ts.map +1 -0
  283. package/dist/adapters/sqlite-native/registration/index.d.ts +12 -0
  284. package/dist/adapters/sqlite-native/registration/index.d.ts.map +1 -0
  285. package/dist/adapters/sqlite-native/tools/spatialite/analysis.d.ts +23 -0
  286. package/dist/adapters/sqlite-native/tools/spatialite/analysis.d.ts.map +1 -0
  287. package/dist/adapters/sqlite-native/tools/spatialite/index.d.ts +15 -0
  288. package/dist/adapters/sqlite-native/tools/spatialite/index.d.ts.map +1 -0
  289. package/dist/adapters/sqlite-native/tools/spatialite/loader.d.ts +22 -0
  290. package/dist/adapters/sqlite-native/tools/spatialite/loader.d.ts.map +1 -0
  291. package/dist/adapters/sqlite-native/tools/spatialite/schemas.d.ts +78 -0
  292. package/dist/adapters/sqlite-native/tools/spatialite/schemas.d.ts.map +1 -0
  293. package/dist/adapters/sqlite-native/tools/spatialite/tools.d.ts +30 -0
  294. package/dist/adapters/sqlite-native/tools/spatialite/tools.d.ts.map +1 -0
  295. package/dist/adapters/sqlite-native/tools/transactions.d.ts +12 -0
  296. package/dist/adapters/sqlite-native/tools/transactions.d.ts.map +1 -0
  297. package/dist/adapters/sqlite-native/tools/window.d.ts +7 -0
  298. package/dist/adapters/sqlite-native/tools/window.d.ts.map +1 -0
  299. package/dist/adapters/sqlite-native/transaction-methods.d.ts +36 -0
  300. package/dist/adapters/sqlite-native/transaction-methods.d.ts.map +1 -0
  301. package/dist/audit/backup-manager.d.ts +90 -0
  302. package/dist/audit/backup-manager.d.ts.map +1 -0
  303. package/dist/audit/index.d.ts +11 -0
  304. package/dist/audit/index.d.ts.map +1 -0
  305. package/dist/audit/interceptor.d.ts +54 -0
  306. package/dist/audit/interceptor.d.ts.map +1 -0
  307. package/dist/audit/logger.d.ts +62 -0
  308. package/dist/audit/logger.d.ts.map +1 -0
  309. package/dist/audit/types.d.ts +112 -0
  310. package/dist/audit/types.d.ts.map +1 -0
  311. package/dist/auth/auth-context.d.ts +28 -0
  312. package/dist/auth/auth-context.d.ts.map +1 -0
  313. package/dist/auth/authorization-server-discovery.d.ts +90 -0
  314. package/dist/auth/authorization-server-discovery.d.ts.map +1 -0
  315. package/dist/auth/errors.d.ts +74 -0
  316. package/dist/auth/errors.d.ts.map +1 -0
  317. package/dist/auth/middleware/core.d.ts +22 -0
  318. package/dist/auth/middleware/core.d.ts.map +1 -0
  319. package/dist/auth/middleware/express-auth.d.ts +13 -0
  320. package/dist/auth/middleware/express-auth.d.ts.map +1 -0
  321. package/dist/auth/middleware/express-scopes.d.ts +6 -0
  322. package/dist/auth/middleware/express-scopes.d.ts.map +1 -0
  323. package/dist/auth/middleware/extraction.d.ts +2 -0
  324. package/dist/auth/middleware/extraction.d.ts.map +1 -0
  325. package/dist/auth/middleware/index.d.ts +5 -0
  326. package/dist/auth/middleware/index.d.ts.map +1 -0
  327. package/dist/auth/oauth-resource-server.d.ts +74 -0
  328. package/dist/auth/oauth-resource-server.d.ts.map +1 -0
  329. package/dist/auth/scope-map.d.ts +24 -0
  330. package/dist/auth/scope-map.d.ts.map +1 -0
  331. package/dist/auth/scopes/constants.d.ts +40 -0
  332. package/dist/auth/scopes/constants.d.ts.map +1 -0
  333. package/dist/auth/scopes/display.d.ts +5 -0
  334. package/dist/auth/scopes/display.d.ts.map +1 -0
  335. package/dist/auth/scopes/enforcement.d.ts +27 -0
  336. package/dist/auth/scopes/enforcement.d.ts.map +1 -0
  337. package/dist/auth/scopes/index.d.ts +6 -0
  338. package/dist/auth/scopes/index.d.ts.map +1 -0
  339. package/dist/auth/scopes/mapping.d.ts +39 -0
  340. package/dist/auth/scopes/mapping.d.ts.map +1 -0
  341. package/dist/auth/scopes/validation.d.ts +27 -0
  342. package/dist/auth/scopes/validation.d.ts.map +1 -0
  343. package/dist/auth/token-validator.d.ts +63 -0
  344. package/dist/auth/token-validator.d.ts.map +1 -0
  345. package/dist/auth/transport-agnostic.d.ts +11 -0
  346. package/dist/auth/transport-agnostic.d.ts.map +1 -0
  347. package/dist/auth/types.d.ts +257 -0
  348. package/dist/auth/types.d.ts.map +1 -0
  349. package/dist/chunk-E5IESRTK.js +489 -0
  350. package/dist/{chunk-5Y42NPBP.js → chunk-FR65YPAH.js} +4657 -1830
  351. package/dist/{chunk-645ZEFLA.js → chunk-L552U3QS.js} +887 -309
  352. package/dist/{chunk-WBER5YY4.js → chunk-THATOQRT.js} +1026 -455
  353. package/dist/{chunk-Z7C2TM4L.js → chunk-W5WQVNVX.js} +169 -57
  354. package/dist/cli.d.ts +7 -0
  355. package/dist/cli.d.ts.map +1 -0
  356. package/dist/cli.js +47 -26
  357. package/dist/codemode/api-constants.d.ts +40 -0
  358. package/dist/codemode/api-constants.d.ts.map +1 -0
  359. package/dist/codemode/api.d.ts +70 -0
  360. package/dist/codemode/api.d.ts.map +1 -0
  361. package/dist/codemode/auto-return.d.ts +25 -0
  362. package/dist/codemode/auto-return.d.ts.map +1 -0
  363. package/dist/codemode/index.d.ts +12 -0
  364. package/dist/codemode/index.d.ts.map +1 -0
  365. package/dist/codemode/sandbox-factory.d.ts +72 -0
  366. package/dist/codemode/sandbox-factory.d.ts.map +1 -0
  367. package/dist/codemode/sandbox.d.ts +54 -0
  368. package/dist/codemode/sandbox.d.ts.map +1 -0
  369. package/dist/codemode/security.d.ts +45 -0
  370. package/dist/codemode/security.d.ts.map +1 -0
  371. package/dist/codemode/types.d.ts +167 -0
  372. package/dist/codemode/types.d.ts.map +1 -0
  373. package/dist/constants/server-instructions.d.ts +22 -0
  374. package/dist/constants/server-instructions.d.ts.map +1 -0
  375. package/dist/filtering/tool-constants.d.ts +45 -0
  376. package/dist/filtering/tool-constants.d.ts.map +1 -0
  377. package/dist/filtering/tool-filter.d.ts +82 -0
  378. package/dist/filtering/tool-filter.d.ts.map +1 -0
  379. package/dist/{http-6KF4ULDI.js → http-HWTUVFIA.js} +498 -391
  380. package/dist/index.d.ts +9 -1065
  381. package/dist/index.d.ts.map +1 -0
  382. package/dist/index.js +4 -6
  383. package/dist/server/mcp-server.d.ts +66 -0
  384. package/dist/server/mcp-server.d.ts.map +1 -0
  385. package/dist/server/registration/audit-tools.d.ts +13 -0
  386. package/dist/server/registration/audit-tools.d.ts.map +1 -0
  387. package/dist/server/registration/built-in-tools.d.ts +8 -0
  388. package/dist/server/registration/built-in-tools.d.ts.map +1 -0
  389. package/dist/server/registration/help-resources.d.ts +7 -0
  390. package/dist/server/registration/help-resources.d.ts.map +1 -0
  391. package/dist/server/registration/index.d.ts +4 -0
  392. package/dist/server/registration/index.d.ts.map +1 -0
  393. package/dist/{sqlite-U5KSYQXK.js → sqlite-6C3AJI4I.js} +61 -17
  394. package/dist/{sqlite-native-JXMCFQBA.js → sqlite-native-ZSSWCTYC.js} +459 -254
  395. package/dist/transports/http/index.d.ts +8 -0
  396. package/dist/transports/http/index.d.ts.map +1 -0
  397. package/dist/transports/http/middleware.d.ts +25 -0
  398. package/dist/transports/http/middleware.d.ts.map +1 -0
  399. package/dist/transports/http/oauth.d.ts +24 -0
  400. package/dist/transports/http/oauth.d.ts.map +1 -0
  401. package/dist/transports/http/session.d.ts +2 -0
  402. package/dist/transports/http/session.d.ts.map +1 -0
  403. package/dist/transports/http/sessions/index.d.ts +4 -0
  404. package/dist/transports/http/sessions/index.d.ts.map +1 -0
  405. package/dist/transports/http/sessions/legacy-sse.d.ts +6 -0
  406. package/dist/transports/http/sessions/legacy-sse.d.ts.map +1 -0
  407. package/dist/transports/http/sessions/mutex.d.ts +6 -0
  408. package/dist/transports/http/sessions/mutex.d.ts.map +1 -0
  409. package/dist/transports/http/sessions/stateful.d.ts +12 -0
  410. package/dist/transports/http/sessions/stateful.d.ts.map +1 -0
  411. package/dist/transports/http/sessions/stateless.d.ts +6 -0
  412. package/dist/transports/http/sessions/stateless.d.ts.map +1 -0
  413. package/dist/transports/http/transport.d.ts +65 -0
  414. package/dist/transports/http/transport.d.ts.map +1 -0
  415. package/dist/transports/http/type-adapters.d.ts +20 -0
  416. package/dist/transports/http/type-adapters.d.ts.map +1 -0
  417. package/dist/transports/http/types.d.ts +120 -0
  418. package/dist/transports/http/types.d.ts.map +1 -0
  419. package/dist/types/adapter.d.ts +138 -0
  420. package/dist/types/adapter.d.ts.map +1 -0
  421. package/dist/types/auth.d.ts +79 -0
  422. package/dist/types/auth.d.ts.map +1 -0
  423. package/dist/types/database.d.ts +100 -0
  424. package/dist/types/database.d.ts.map +1 -0
  425. package/dist/types/filtering.d.ts +41 -0
  426. package/dist/types/filtering.d.ts.map +1 -0
  427. package/dist/types/index.d.ts +13 -0
  428. package/dist/types/index.d.ts.map +1 -0
  429. package/dist/types/server.d.ts +48 -0
  430. package/dist/types/server.d.ts.map +1 -0
  431. package/dist/utils/annotations.d.ts +62 -0
  432. package/dist/utils/annotations.d.ts.map +1 -0
  433. package/dist/utils/errors/base.d.ts +33 -0
  434. package/dist/utils/errors/base.d.ts.map +1 -0
  435. package/dist/utils/errors/categories.d.ts +41 -0
  436. package/dist/utils/errors/categories.d.ts.map +1 -0
  437. package/dist/utils/errors/classes.d.ts +124 -0
  438. package/dist/utils/errors/classes.d.ts.map +1 -0
  439. package/dist/utils/errors/error-response-fields.d.ts +24 -0
  440. package/dist/utils/errors/error-response-fields.d.ts.map +1 -0
  441. package/dist/utils/errors/format.d.ts +74 -0
  442. package/dist/utils/errors/format.d.ts.map +1 -0
  443. package/dist/utils/errors/index.d.ts +11 -0
  444. package/dist/utils/errors/index.d.ts.map +1 -0
  445. package/dist/utils/errors/suggestions.d.ts +16 -0
  446. package/dist/utils/errors/suggestions.d.ts.map +1 -0
  447. package/dist/utils/icons.d.ts +19 -0
  448. package/dist/utils/icons.d.ts.map +1 -0
  449. package/dist/utils/identifiers.d.ts +121 -0
  450. package/dist/utils/identifiers.d.ts.map +1 -0
  451. package/dist/utils/index.d.ts +9 -0
  452. package/dist/utils/index.d.ts.map +1 -0
  453. package/dist/utils/insights-manager.d.ts +39 -0
  454. package/dist/utils/insights-manager.d.ts.map +1 -0
  455. package/dist/utils/logger/error-codes.d.ts +48 -0
  456. package/dist/utils/logger/error-codes.d.ts.map +1 -0
  457. package/dist/utils/logger/index.d.ts +22 -0
  458. package/dist/utils/logger/index.d.ts.map +1 -0
  459. package/dist/utils/logger/logger.d.ts +94 -0
  460. package/dist/utils/logger/logger.d.ts.map +1 -0
  461. package/dist/utils/logger/module-logger.d.ts +28 -0
  462. package/dist/utils/logger/module-logger.d.ts.map +1 -0
  463. package/dist/utils/logger/types.d.ts +36 -0
  464. package/dist/utils/logger/types.d.ts.map +1 -0
  465. package/dist/utils/progress-utils.d.ts +54 -0
  466. package/dist/utils/progress-utils.d.ts.map +1 -0
  467. package/dist/utils/redaction.d.ts +4 -0
  468. package/dist/utils/redaction.d.ts.map +1 -0
  469. package/dist/utils/resource-annotations.d.ts +36 -0
  470. package/dist/utils/resource-annotations.d.ts.map +1 -0
  471. package/dist/utils/validate-json-path.d.ts +43 -0
  472. package/dist/utils/validate-json-path.d.ts.map +1 -0
  473. package/dist/utils/validate-path.d.ts +37 -0
  474. package/dist/utils/validate-path.d.ts.map +1 -0
  475. package/dist/utils/where-clause.d.ts +42 -0
  476. package/dist/utils/where-clause.d.ts.map +1 -0
  477. package/dist/version.d.ts +10 -0
  478. package/dist/version.d.ts.map +1 -0
  479. package/package.json +25 -13
  480. package/.gitattributes +0 -2
  481. package/.gitleaks.toml +0 -9
  482. package/.trivyignore +0 -8
  483. package/dist/chunk-OKOVZ5QE.js +0 -28
  484. package/dist/chunk-SFJQCNG7.js +0 -131
  485. package/dist/chunk-VIDSICEL.js +0 -85
  486. package/dist/chunk-X3MUUOWM.js +0 -152
  487. package/dist/worker-script.d.ts +0 -2
  488. package/dist/worker-script.js +0 -150
  489. package/logs/.gitkeep +0 -1
  490. package/mcp-config-example.json +0 -83
  491. package/playwright.config.ts +0 -101
  492. package/scripts/generate-server-instructions.ts +0 -111
  493. package/scripts/update-badges.ts +0 -99
  494. package/server.json +0 -54
  495. package/test-server/README.md +0 -115
  496. package/test-server/code-map.md +0 -421
  497. package/test-server/fixtures/sample.csv +0 -6
  498. package/test-server/reset-database.ps1 +0 -415
  499. package/test-server/sample.csv +0 -11
  500. package/test-server/scripts/README.md +0 -27
  501. package/test-server/scripts/test-help-resources.mjs +0 -245
  502. package/test-server/scripts/test-prompts.mjs +0 -251
  503. package/test-server/scripts/test-tool-annotations.mjs +0 -162
  504. package/test-server/test-advanced/README.md +0 -70
  505. package/test-server/test-advanced/test-codemode-advanced-admin.md +0 -174
  506. package/test-server/test-advanced/test-codemode-advanced-core.md +0 -193
  507. package/test-server/test-advanced/test-codemode-advanced-geo.md +0 -157
  508. package/test-server/test-advanced/test-codemode-advanced-introspection.md +0 -171
  509. package/test-server/test-advanced/test-codemode-advanced-json.md +0 -169
  510. package/test-server/test-advanced/test-codemode-advanced-migration.md +0 -160
  511. package/test-server/test-advanced/test-codemode-advanced-stats.md +0 -185
  512. package/test-server/test-advanced/test-codemode-advanced-text.md +0 -183
  513. package/test-server/test-advanced/test-codemode-advanced-transactions.md +0 -136
  514. package/test-server/test-advanced/test-codemode-advanced-vector.md +0 -141
  515. package/test-server/test-codemode/README.md +0 -121
  516. package/test-server/test-codemode/test-codemode-admin.md +0 -223
  517. package/test-server/test-codemode/test-codemode-core.md +0 -286
  518. package/test-server/test-codemode/test-codemode-geo.md +0 -177
  519. package/test-server/test-codemode/test-codemode-introspection.md +0 -190
  520. package/test-server/test-codemode/test-codemode-json.md +0 -237
  521. package/test-server/test-codemode/test-codemode-migration.md +0 -278
  522. package/test-server/test-codemode/test-codemode-sandbox.md +0 -413
  523. package/test-server/test-codemode/test-codemode-stats.md +0 -232
  524. package/test-server/test-codemode/test-codemode-text.md +0 -237
  525. package/test-server/test-codemode/test-codemode-transactions.md +0 -236
  526. package/test-server/test-codemode/test-codemode-vector.md +0 -244
  527. package/test-server/test-codemode/test-codemode-wasm-degradation.md +0 -394
  528. package/test-server/test-database.sql +0 -424
  529. package/test-server/test-preflight.md +0 -53
  530. package/test-server/test-prompts.md +0 -354
  531. package/test-server/test-resources.md +0 -272
  532. package/test-server/test-tool-groups/README.md +0 -100
  533. package/test-server/test-tool-groups/test-admin-core.md +0 -165
  534. package/test-server/test-tool-groups/test-admin-extensions.md +0 -133
  535. package/test-server/test-tool-groups/test-core-data.md +0 -262
  536. package/test-server/test-tool-groups/test-core-schema.md +0 -240
  537. package/test-server/test-tool-groups/test-geo-haversine.md +0 -130
  538. package/test-server/test-tool-groups/test-geo-spatialite.md +0 -110
  539. package/test-server/test-tool-groups/test-introspection-diagnostics.md +0 -123
  540. package/test-server/test-tool-groups/test-introspection-schema.md +0 -133
  541. package/test-server/test-tool-groups/test-json-read.md +0 -219
  542. package/test-server/test-tool-groups/test-json-write.md +0 -157
  543. package/test-server/test-tool-groups/test-migration.md +0 -193
  544. package/test-server/test-tool-groups/test-stats-advanced.md +0 -118
  545. package/test-server/test-tool-groups/test-stats-basic.md +0 -156
  546. package/test-server/test-tool-groups/test-text-advanced.md +0 -169
  547. package/test-server/test-tool-groups/test-text-basic.md +0 -177
  548. package/test-server/test-tool-groups/test-transactions.md +0 -179
  549. package/test-server/test-tool-groups/test-vector-read.md +0 -130
  550. package/test-server/test-tool-groups/test-vector-write.md +0 -115
  551. package/test-server/tool-reference.md +0 -257
  552. package/tsconfig.build.json +0 -6
  553. package/tsconfig.test.json +0 -9
package/dist/index.d.ts CHANGED
@@ -1,1068 +1,12 @@
1
- import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
-
3
1
  /**
4
- * db-mcp Database Types
2
+ * db-mcp - SQLite MCP Server
5
3
  *
6
- * Core database type definitions: connections, queries, schema,
7
- * tables, columns, indexes, and constraints.
4
+ * Main entry point and public API exports.
8
5
  */
9
- /**
10
- * Supported database types.
11
- * This MCP server only supports SQLite. Other database types
12
- * would require separate MCP server projects.
13
- */
14
- type DatabaseType = "sqlite";
15
- /**
16
- * Database connection configuration
17
- */
18
- interface DatabaseConfig {
19
- /** Database type identifier */
20
- type: DatabaseType;
21
- /** Connection string (file path or ":memory:") */
22
- connectionString?: string;
23
- /** Additional database-specific options */
24
- options?: Record<string, unknown>;
25
- }
26
- /**
27
- * Database connection health status
28
- */
29
- interface HealthStatus {
30
- connected: boolean;
31
- latencyMs?: number;
32
- version?: string;
33
- details?: Record<string, unknown>;
34
- error?: string;
35
- }
36
- /**
37
- * Query execution result
38
- */
39
- interface QueryResult {
40
- /** Rows returned (for SELECT queries) */
41
- rows?: Record<string, unknown>[];
42
- /** Number of rows affected (for INSERT/UPDATE/DELETE) */
43
- rowsAffected?: number;
44
- /** Last inserted ID (for INSERT with auto-increment) */
45
- lastInsertId?: number | string;
46
- /** Query execution time in milliseconds */
47
- executionTimeMs?: number;
48
- /** Column metadata */
49
- columns?: ColumnInfo[];
50
- }
51
- /**
52
- * Column metadata information
53
- */
54
- interface ColumnInfo {
55
- name: string;
56
- type: string;
57
- nullable?: boolean;
58
- primaryKey?: boolean;
59
- defaultValue?: unknown;
60
- }
61
- /**
62
- * Table information
63
- */
64
- interface TableInfo {
65
- name: string;
66
- schema?: string;
67
- type: "table" | "view" | "materialized_view";
68
- rowCount?: number;
69
- columns?: ColumnInfo[];
70
- }
71
- /**
72
- * Schema information for a database
73
- */
74
- interface SchemaInfo {
75
- tables: TableInfo[];
76
- views?: TableInfo[];
77
- indexes?: IndexInfo[];
78
- constraints?: ConstraintInfo[];
79
- }
80
- /**
81
- * Index information
82
- */
83
- interface IndexInfo {
84
- name: string;
85
- tableName: string;
86
- columns: string[];
87
- unique: boolean;
88
- type?: string;
89
- }
90
- /**
91
- * Constraint information
92
- */
93
- interface ConstraintInfo {
94
- name: string;
95
- tableName: string;
96
- type: "primary_key" | "foreign_key" | "unique" | "check";
97
- columns: string[];
98
- referencedTable?: string;
99
- referencedColumns?: string[];
100
- }
101
-
102
- /**
103
- * db-mcp — OAuth & Auth Types
104
- *
105
- * OAuth 2.1 configuration, scopes, token claims, and request context.
106
- */
107
- /**
108
- * OAuth 2.1 configuration
109
- */
110
- interface OAuthConfig {
111
- /** Enable OAuth authentication */
112
- enabled: boolean;
113
- /** Authorization server URL */
114
- authorizationServerUrl?: string;
115
- /** Token validation endpoint */
116
- tokenEndpoint?: string;
117
- /** JWKS URI for token verification */
118
- jwksUri?: string;
119
- /** Expected audience in tokens */
120
- audience?: string;
121
- /** Expected issuer in tokens */
122
- issuer?: string;
123
- /** Clock tolerance for token validation (seconds) */
124
- clockTolerance?: number;
125
- /** JWKS cache TTL (seconds) */
126
- jwksCacheTtl?: number;
127
- /** Paths that bypass authentication */
128
- publicPaths?: string[];
129
- }
130
- /**
131
- * OAuth scopes for access control
132
- */
133
- type OAuthScope = "read" | "write" | "admin" | `db:${string}` | `table:${string}:${string}`;
134
- /**
135
- * Validated OAuth token claims
136
- */
137
- interface TokenClaims {
138
- /** Subject (user ID) */
139
- sub: string;
140
- /** Granted scopes */
141
- scopes: OAuthScope[];
142
- /** Token expiration time */
143
- exp: number;
144
- /** Token issued at time */
145
- iat: number;
146
- /** Token issuer */
147
- iss?: string;
148
- /** Token audience */
149
- aud?: string | string[];
150
- /** Additional claims */
151
- [key: string]: unknown;
152
- }
153
- /**
154
- * Request context with authentication info
155
- */
156
- interface RequestContext {
157
- /** Validated token claims (if authenticated) */
158
- auth?: TokenClaims;
159
- /** Raw access token */
160
- accessToken?: string;
161
- /** Request timestamp */
162
- timestamp: Date;
163
- /** Request ID for tracing */
164
- requestId: string;
165
- /**
166
- * MCP Server instance for sending progress notifications.
167
- * Only available when running in HTTP/SSE transport with stateful sessions.
168
- */
169
- server?: unknown;
170
- /**
171
- * Progress token from client request _meta (MCP 2025-11-25).
172
- * If present, the client has requested progress updates.
173
- */
174
- progressToken?: string | number;
175
- }
176
-
177
- /** Audit log configuration */
178
- interface AuditConfig {
179
- /** Master switch — false means no interceptor is created */
180
- enabled: boolean;
181
- /** Absolute path to the JSONL output file */
182
- logPath: string;
183
- /** When true, tool arguments are omitted from entries */
184
- redact: boolean;
185
- /** When true, read-scoped tools are also logged (default: false) */
186
- auditReads: boolean;
187
- /** Maximum log file size in bytes before rotation (default: 10MB). 0 = no rotation. */
188
- maxSizeBytes: number;
189
- /** Pre-mutation backup configuration (optional — backup disabled when absent). */
190
- backup?: BackupConfig | undefined;
191
- }
192
- /** Pre-mutation backup configuration */
193
- interface BackupConfig {
194
- /** Enable pre-mutation snapshots */
195
- enabled: boolean;
196
- /** Include sample data rows in snapshots (default: schema-only) */
197
- includeData: boolean;
198
- /** Maximum snapshot age in days before cleanup (default: 30) */
199
- maxAgeDays: number;
200
- /** Maximum number of snapshots to retain (default: 1000) */
201
- maxCount: number;
202
- /** Maximum table size in bytes for data capture (default: 50MB). Tables exceeding this get DDL-only snapshots. */
203
- maxDataSizeBytes: number;
204
- }
205
- /** Snapshot metadata stored alongside the DDL capture */
206
- interface SnapshotMetadata {
207
- /** ISO 8601 timestamp */
208
- timestamp: string;
209
- /** Tool that triggered the snapshot */
210
- tool: string;
211
- /** Target object (table, index, view) */
212
- target: string;
213
- /** Snapshot type: ddl-only or ddl+data */
214
- type: "ddl" | "ddl+data";
215
- /** Original audit requestId for correlation */
216
- requestId: string;
217
- /** Size of snapshot file in bytes */
218
- sizeBytes: number;
219
- /** Snapshot filename (populated by listSnapshots for getSnapshot lookup) */
220
- filename?: string;
221
- /** Approximate row count at snapshot time */
222
- rowCount?: number;
223
- /** Whether data capture was skipped due to size exceeding threshold */
224
- dataSkipped?: boolean;
225
- /** Reason data capture was skipped */
226
- dataSkippedReason?: string;
227
- }
228
- /** Stored snapshot file content */
229
- interface SnapshotContent {
230
- /** Snapshot metadata */
231
- metadata: SnapshotMetadata;
232
- /** CREATE TABLE / CREATE INDEX / CREATE VIEW DDL from sqlite_master */
233
- ddl: string;
234
- /** Optional INSERT statements for sample data */
235
- data?: string | undefined;
236
- }
237
-
238
- /**
239
- * db-mcp — MCP Server Types
240
- *
241
- * Configuration types for the MCP server: transport, port, host,
242
- * database config references, and server-level options.
243
- */
244
-
245
- /**
246
- * Transport type for MCP communication
247
- */
248
- type TransportType = "stdio" | "http" | "sse";
249
- /**
250
- * MCP Server configuration
251
- */
252
- interface McpServerConfig {
253
- /** Server name */
254
- name: string;
255
- /** Server version */
256
- version: string;
257
- /** Transport configuration */
258
- transport: TransportType;
259
- /** HTTP port (for http/sse transports) */
260
- port?: number;
261
- /** Host/IP to bind to (for http/sse transports, default: 0.0.0.0) */
262
- host?: string;
263
- /** Database configurations */
264
- databases: DatabaseConfig[];
265
- /** OAuth 2.1 configuration */
266
- oauth?: OAuthConfig;
267
- /** Simple bearer token for HTTP authentication (non-OAuth) */
268
- authToken?: string;
269
- /** Tool filtering configuration */
270
- toolFilter?: string;
271
- /**
272
- * Enable stateless HTTP mode (no session management, no SSE streaming).
273
- * Ideal for serverless deployments (Lambda, Workers, Vercel).
274
- * Default: false (stateful mode with session management and SSE support)
275
- */
276
- statelessHttp?: boolean;
277
- enableHSTS?: boolean;
278
- /** Audit logging configuration */
279
- audit?: AuditConfig;
280
- }
281
-
282
- /**
283
- * db-mcp — Tool Filtering Types
284
- *
285
- * Tool groups, meta-groups, and filter configuration types.
286
- */
287
- /**
288
- * Tool group identifiers
289
- */
290
- type ToolGroup = "core" | "json" | "text" | "stats" | "vector" | "admin" | "transactions" | "geo" | "introspection" | "migration" | "codemode";
291
- /**
292
- * Meta-group identifiers for common multi-group selections.
293
- * These are shortcuts that expand to multiple ToolGroups.
294
- */
295
- type MetaGroup = "starter" | "analytics" | "search" | "spatial" | "dev-schema" | "minimal" | "full";
296
- /**
297
- * Tool filter rule
298
- */
299
- interface ToolFilterRule {
300
- /** Rule type: include or exclude */
301
- type: "include" | "exclude";
302
- /** Target: group name or tool name */
303
- target: string;
304
- /** Whether target is a group (true) or individual tool (false) */
305
- isGroup: boolean;
306
- }
307
- /**
308
- * Parsed tool filter configuration
309
- */
310
- interface ToolFilterConfig {
311
- /** Original filter string */
312
- raw: string;
313
- /** Parsed rules in order */
314
- rules: ToolFilterRule[];
315
- /** Set of enabled tool groups after applying rules */
316
- enabledGroups: Set<ToolGroup>;
317
- /** Set of explicitly excluded tool names (base names without prefix) */
318
- excludedTools: Set<string>;
319
- /** Set of explicitly included tool names (base names without prefix) */
320
- includedTools: Set<string>;
321
- }
322
-
323
- /**
324
- * db-mcp — Adapter Types
325
- *
326
- * Types for database adapter capabilities, tool/resource/prompt definitions,
327
- * MCP icons, and tool annotations.
328
- */
329
-
330
- /**
331
- * MCP Icon Definition (MCP Spec 2025-11-25)
332
- *
333
- * Icons can be added to servers, tools, resources, and prompts for
334
- * visual representation in client interfaces.
335
- */
336
- interface McpIcon {
337
- /** Icon source — URL or data URI */
338
- src: string;
339
- /** MIME type (e.g., 'image/svg+xml', 'image/png') */
340
- mimeType?: string;
341
- /** Size descriptors (e.g., ['48x48'], ['any']) */
342
- sizes?: string[];
343
- /** Theme hint: 'light' or 'dark' */
344
- theme?: "light" | "dark";
345
- }
346
- /**
347
- * Tool annotations provide behavioral hints to clients
348
- * following the MCP 2025-11-25 specification.
349
- */
350
- interface ToolAnnotations {
351
- /** Human-readable title for the tool */
352
- title?: string;
353
- /** If true, the tool is guaranteed not to modify any state */
354
- readOnlyHint?: boolean;
355
- /** If true, multiple identical requests have the same effect as a single request */
356
- idempotentHint?: boolean;
357
- /** If true, the operation is irreversible or causes significant data loss */
358
- destructiveHint?: boolean;
359
- /** If true, the tool interacts with external/"open world" systems (network, filesystem, etc.) */
360
- openWorldHint?: boolean;
361
- }
362
- /**
363
- * Capabilities supported by a database adapter
364
- */
365
- interface AdapterCapabilities {
366
- /** Supports JSON operations */
367
- json: boolean;
368
- /** Supports full-text search */
369
- fullTextSearch: boolean;
370
- /** Supports vector/embedding operations */
371
- vector: boolean;
372
- /** Supports geospatial operations */
373
- geospatial: boolean;
374
- /** Supports transactions */
375
- transactions: boolean;
376
- /** Supports prepared statements */
377
- preparedStatements: boolean;
378
- /** Supports connection pooling */
379
- connectionPooling: boolean;
380
- /** Additional capability flags */
381
- [key: string]: boolean;
382
- }
383
- /**
384
- * Tool definition for registration
385
- */
386
- interface ToolDefinition {
387
- /** Unique tool name */
388
- name: string;
389
- /** Human-readable description */
390
- description: string;
391
- /** Tool group for filtering */
392
- group: ToolGroup;
393
- /** Zod schema for input validation */
394
- inputSchema?: unknown;
395
- /** Zod schema for output validation (MCP 2025-11-25) */
396
- outputSchema?: unknown;
397
- /** Required OAuth scopes */
398
- requiredScopes?: OAuthScope[];
399
- /** MCP tool annotations (behavioral hints) */
400
- annotations?: ToolAnnotations;
401
- /** MCP icons for visual representation (MCP 2025-11-25) */
402
- icons?: McpIcon[];
403
- /** Tool handler function */
404
- handler: (params: unknown, context: RequestContext) => Promise<unknown>;
405
- }
406
- /**
407
- * MCP Resource Annotations (SDK 1.25+)
408
- * Provides metadata hints about resource content to help clients
409
- * manage and display resources appropriately.
410
- */
411
- interface ResourceAnnotations {
412
- /** Intended audience for the resource content */
413
- audience?: ("user" | "assistant")[];
414
- /** Priority hint for display ordering (0-1 range) */
415
- priority?: number;
416
- /** ISO 8601 timestamp of last modification for cache invalidation */
417
- lastModified?: string;
418
- }
419
- /**
420
- * Resource definition for MCP
421
- */
422
- interface ResourceDefinition {
423
- /** Resource URI template */
424
- uri: string;
425
- /** Human-readable name */
426
- name: string;
427
- /** Description */
428
- description: string;
429
- /** MIME type */
430
- mimeType?: string;
431
- /** MCP Resource Annotations for behavior hints */
432
- annotations?: ResourceAnnotations;
433
- /** MCP icons for visual representation (MCP 2025-11-25) */
434
- icons?: McpIcon[];
435
- /** Resource handler */
436
- handler: (uri: string, context: RequestContext) => Promise<unknown>;
437
- }
438
- /**
439
- * Prompt definition for MCP
440
- */
441
- interface PromptDefinition {
442
- /** Prompt name */
443
- name: string;
444
- /** Description */
445
- description: string;
446
- /** Argument definitions */
447
- arguments?: {
448
- name: string;
449
- description: string;
450
- required?: boolean;
451
- }[];
452
- /** MCP icons for visual representation (MCP 2025-11-25) */
453
- icons?: McpIcon[];
454
- /** Prompt handler */
455
- handler: (args: Record<string, string>, context: RequestContext) => Promise<unknown>;
456
- }
457
-
458
- /**
459
- * Error Categories
460
- *
461
- * Classification enum for all db-mcp errors.
462
- */
463
- /**
464
- * Error categories for classification and handling
465
- */
466
- declare enum ErrorCategory {
467
- /** Input validation failures (invalid names, paths, types) */
468
- VALIDATION = "validation",
469
- /** Database connection issues */
470
- CONNECTION = "connection",
471
- /** SQL execution errors */
472
- QUERY = "query",
473
- /** Authorization/permission failures */
474
- PERMISSION = "permission",
475
- /** Configuration/setup issues */
476
- CONFIGURATION = "config",
477
- /** Missing resources (tables, columns, views) */
478
- RESOURCE = "resource",
479
- /** Authentication failures (invalid credentials, expired tokens) */
480
- AUTHENTICATION = "authentication",
481
- /** Authorization failures (insufficient scope/permissions) */
482
- AUTHORIZATION = "authorization",
483
- /** Unexpected internal errors */
484
- INTERNAL = "internal"
485
- }
486
- /**
487
- * Structured error response format
488
- */
489
- interface ErrorResponse {
490
- success: false;
491
- error: string;
492
- code: string;
493
- category: ErrorCategory;
494
- suggestion: string | undefined;
495
- recoverable: boolean;
496
- details: Record<string, unknown> | undefined;
497
- }
498
-
499
- /**
500
- * Base Error Class
501
- *
502
- * DbMcpError provides enhanced diagnostics: category, code, suggestion,
503
- * recoverable flag, and structured response conversion.
504
- */
505
-
506
- /**
507
- * Base error class for db-mcp with enhanced diagnostics
508
- */
509
- declare class DbMcpError extends Error {
510
- /** Error category for classification */
511
- readonly category: ErrorCategory;
512
- /** Module-prefixed error code (e.g., DB_QUERY_FAILED) */
513
- readonly code: string;
514
- /** Actionable suggestion for resolving the error */
515
- readonly suggestion: string | undefined;
516
- /** Additional error details */
517
- readonly details: Record<string, unknown> | undefined;
518
- /** Whether the error is recoverable (can retry) */
519
- readonly recoverable: boolean;
520
- constructor(message: string, code: string, category: ErrorCategory, options?: {
521
- suggestion?: string | undefined;
522
- details?: Record<string, unknown> | undefined;
523
- recoverable?: boolean | undefined;
524
- cause?: Error | undefined;
525
- });
526
- /**
527
- * Convert to structured response object
528
- */
529
- toResponse(): ErrorResponse;
530
- }
531
-
532
- /**
533
- * Specific Error Classes
534
- *
535
- * Typed error subclasses for each ErrorCategory.
536
- */
537
-
538
- /**
539
- * Validation error for invalid inputs
540
- */
541
- declare class ValidationError extends DbMcpError {
542
- constructor(message: string, code?: string, options?: {
543
- suggestion?: string | undefined;
544
- details?: Record<string, unknown> | undefined;
545
- cause?: Error | undefined;
546
- });
547
- }
548
- /**
549
- * Connection error for database connectivity issues
550
- */
551
- declare class ConnectionError extends DbMcpError {
552
- constructor(message: string, code?: string, options?: {
553
- suggestion?: string | undefined;
554
- details?: Record<string, unknown> | undefined;
555
- cause?: Error | undefined;
556
- });
557
- }
558
- /**
559
- * Query error for SQL execution failures
560
- */
561
- declare class QueryError extends DbMcpError {
562
- constructor(message: string, code?: string, options?: {
563
- suggestion?: string | undefined;
564
- details?: Record<string, unknown> | undefined;
565
- sql?: string | undefined;
566
- cause?: Error | undefined;
567
- });
568
- }
569
- /**
570
- * Authentication error (401-type: invalid credentials, expired tokens)
571
- */
572
- declare class AuthenticationError extends DbMcpError {
573
- constructor(message: string, code?: string, options?: {
574
- suggestion?: string | undefined;
575
- details?: Record<string, unknown> | undefined;
576
- cause?: Error | undefined;
577
- });
578
- }
579
- /**
580
- * Authorization error (403-type: insufficient permissions)
581
- */
582
- declare class AuthorizationError extends DbMcpError {
583
- constructor(message: string, code?: string, options?: {
584
- suggestion?: string | undefined;
585
- details?: Record<string, unknown> | undefined;
586
- cause?: Error | undefined;
587
- });
588
- }
589
-
590
- /**
591
- * db-mcp — Backup Manager
592
- *
593
- * Pre-mutation snapshot capture for the audit trail.
594
- * Creates DDL snapshots (+ optional data) of database objects
595
- * before write/admin tools modify them. Snapshots are stored
596
- * as gzip-compressed JSON files in a `snapshots/` directory
597
- * alongside the audit log.
598
- *
599
- * DDL is captured from sqlite_master (`SELECT sql FROM sqlite_master`).
600
- * Volume metadata uses `COUNT(*)` and page-count pragmas.
601
- *
602
- * Non-throwing by design: snapshot failures log to stderr
603
- * but never block tool execution.
604
- */
605
-
606
- /**
607
- * Interface for database queries needed by the backup manager.
608
- * Avoids circular imports from the full adapter.
609
- */
610
- interface SnapshotQueryAdapter {
611
- executeQuery(sql: string, params?: unknown[]): Promise<{
612
- rows?: Record<string, unknown>[];
613
- }>;
614
- }
615
- declare class BackupManager {
616
- readonly config: BackupConfig;
617
- private readonly snapshotDir;
618
- private dirEnsured;
619
- private readonly pendingWrites;
620
- constructor(config: BackupConfig, auditLogPath: string);
621
- /**
622
- * Check if a tool should receive a pre-mutation snapshot.
623
- */
624
- shouldSnapshot(toolName: string): boolean;
625
- /**
626
- * Create a pre-mutation snapshot of the target object.
627
- *
628
- * @returns Relative path to the snapshot file, or undefined if skipped/failed
629
- */
630
- createSnapshot(toolName: string, args: Record<string, unknown>, requestId: string, adapter: SnapshotQueryAdapter, logAs?: string): Promise<string | undefined>;
631
- /**
632
- * List available snapshots with metadata.
633
- */
634
- listSnapshots(): Promise<SnapshotMetadata[]>;
635
- /**
636
- * Read a specific snapshot by filename.
637
- */
638
- getSnapshot(filename: string): Promise<SnapshotContent | null>;
639
- /**
640
- * Apply retention policy — delete oldest snapshots that exceed limits.
641
- */
642
- cleanup(): Promise<number>;
643
- /**
644
- * Flush all pending async snapshot writes.
645
- * Call during graceful shutdown to ensure all snapshots are persisted.
646
- */
647
- flush(): Promise<void>;
648
- getStats(): Promise<{
649
- count: number;
650
- oldestAge?: string;
651
- totalSizeKB: number;
652
- }>;
653
- private captureObjectSnapshot;
654
- /**
655
- * Build a DDL string from sqlite_master for the given object.
656
- * Works for tables, views, indexes, and triggers.
657
- */
658
- private buildDdl;
659
- /**
660
- * Capture row count using COUNT(*).
661
- * Near-zero cost for small tables; failures are silently ignored (best-effort).
662
- */
663
- private captureVolumeMetadata;
664
- /**
665
- * Capture row data as INSERT statements, subject to config limits.
666
- * Returns empty output when `includeData` is disabled.
667
- */
668
- private captureTableData;
669
- private writeSnapshot;
670
- /**
671
- * Read and decompress a snapshot file (supports both gzip and legacy JSON).
672
- */
673
- private readSnapshotFile;
674
- private ensureDirectory;
675
- }
676
-
677
- /**
678
- * db-mcp — Audit Interceptor
679
- *
680
- * Wraps tool execution to produce audit entries for all tool
681
- * invocations. Write/admin tools are always logged; read-scoped
682
- * tools are logged only when `--audit-reads` is enabled.
683
- *
684
- * Each entry includes a `tokenEstimate` (~4 bytes per token)
685
- * computed from the serialized result size.
686
- *
687
- * When a BackupManager is provided, captures pre-mutation
688
- * snapshots of target objects before destructive tool execution.
689
- *
690
- * The interceptor is injected into the registration layer
691
- * so that all tool handlers are audited without per-handler changes.
692
- *
693
- * OAuth identity (`user`/`scopes`) is read from AsyncLocalStorage
694
- * via `getAuthContext()`. When OAuth is configured, the HTTP
695
- * transport binds the validated auth context before MCP dispatch.
696
- * When OAuth is not configured (stdio, no auth), fields are `null`/`[]`.
697
- */
698
-
699
- /**
700
- * Audit interceptor interface — used by the registration layer.
701
- */
702
- interface AuditInterceptor {
703
- /**
704
- * Wrap a tool invocation with audit logging.
705
- * Returns the tool result unchanged; re-throws any errors.
706
- *
707
- * @param toolName MCP tool name
708
- * @param args Tool input arguments
709
- * @param requestId Request ID from RequestContext
710
- * @param fn The actual tool handler to execute
711
- * @param options Optional configuration, such as overriding the recorded tool name
712
- */
713
- around<T>(toolName: string, args: unknown, requestId: string, fn: () => Promise<T>, options?: {
714
- logAs?: string;
715
- }): Promise<T>;
716
- }
717
-
718
- /**
719
- * db-mcp - Database Adapter Interface
720
- *
721
- * Abstract base class for SQLite database adapters.
722
- * Provides a consistent interface for SQLite database operations
723
- * across WASM and native backend variants.
724
- *
725
- * Includes concrete default implementations for MCP registration
726
- * (registerTool, registerResource, registerPrompt) that subclasses
727
- * inherit. Override only if the adapter needs custom behavior.
728
- */
729
-
730
- /**
731
- * Abstract base class for database adapters
732
- */
733
- declare abstract class DatabaseAdapter {
734
- /** Database type identifier */
735
- abstract readonly type: DatabaseType;
736
- /** Human-readable adapter name */
737
- abstract readonly name: string;
738
- /** Adapter version */
739
- abstract readonly version: string;
740
- /** Connection status */
741
- protected connected: boolean;
742
- /** Database configuration */
743
- protected config: DatabaseConfig | null;
744
- /**
745
- * Connect to the database
746
- * @param config - Database connection configuration
747
- */
748
- abstract connect(config: DatabaseConfig): Promise<void>;
749
- /**
750
- * Disconnect from the database
751
- */
752
- abstract disconnect(): Promise<void>;
753
- /**
754
- * Check if connected to the database
755
- */
756
- isConnected(): boolean;
757
- /**
758
- * Get health status of the database connection
759
- */
760
- abstract getHealth(): Promise<HealthStatus>;
761
- /**
762
- * Execute a read-only query (SELECT)
763
- * @param sql - SQL query string
764
- * @param params - Query parameters for prepared statements
765
- */
766
- abstract executeReadQuery(sql: string, params?: unknown[]): Promise<QueryResult>;
767
- /**
768
- * Execute a write query (INSERT, UPDATE, DELETE)
769
- * @param sql - SQL query string
770
- * @param params - Query parameters for prepared statements
771
- * @param skipValidation - Skip security validation (for trusted internal operations)
772
- */
773
- abstract executeWriteQuery(sql: string, params?: unknown[], skipValidation?: boolean): Promise<QueryResult>;
774
- /**
775
- * Execute any query (for admin operations)
776
- * @param sql - SQL query string
777
- * @param params - Query parameters for prepared statements
778
- */
779
- abstract executeQuery(sql: string, params?: unknown[]): Promise<QueryResult>;
780
- /**
781
- * Get full database schema information
782
- */
783
- abstract getSchema(): Promise<SchemaInfo>;
784
- /**
785
- * List all tables in the database
786
- */
787
- abstract listTables(): Promise<TableInfo[]>;
788
- /**
789
- * Describe a specific table's structure
790
- * @param tableName - Name of the table
791
- */
792
- abstract describeTable(tableName: string): Promise<TableInfo>;
793
- /**
794
- * List available schemas/databases
795
- */
796
- abstract listSchemas(): Promise<string[]>;
797
- /**
798
- * Get adapter capabilities
799
- */
800
- abstract getCapabilities(): AdapterCapabilities;
801
- /**
802
- * Get supported tool groups for this adapter
803
- */
804
- abstract getSupportedToolGroups(): ToolGroup[];
805
- protected auditInterceptor: AuditInterceptor | null;
806
- protected backupManager: BackupManager | null;
807
- /**
808
- * Inject the audit interceptor.
809
- */
810
- setAuditInterceptor(interceptor: AuditInterceptor): void;
811
- /**
812
- * Inject the backup manager for tools to use natively.
813
- */
814
- setBackupManager(manager: BackupManager): void;
815
- /**
816
- * Get the audit interceptor (used by registration layer and Code Mode).
817
- */
818
- getAuditInterceptor(): AuditInterceptor | null;
819
- /**
820
- * Get all tool definitions for this adapter
821
- */
822
- abstract getToolDefinitions(): ToolDefinition[];
823
- /**
824
- * Get all resource definitions for this adapter
825
- */
826
- abstract getResourceDefinitions(): ResourceDefinition[];
827
- /**
828
- * Get all prompt definitions for this adapter
829
- */
830
- abstract getPromptDefinitions(): PromptDefinition[];
831
- /**
832
- * Register tools with the MCP server
833
- * @param server - MCP server instance
834
- * @param filterConfig - Tool filter configuration
835
- */
836
- registerTools(server: McpServer, filterConfig: ToolFilterConfig): void;
837
- /**
838
- * Register a single tool with the MCP server.
839
- * Uses modern registerTool() API for MCP 2025-11-25 compliance.
840
- * Subclasses may override for custom behavior.
841
- */
842
- protected registerTool(server: McpServer, tool: ToolDefinition): void;
843
- /**
844
- * Register resources with the MCP server
845
- */
846
- registerResources(server: McpServer): void;
847
- /**
848
- * Register a single resource with the MCP server.
849
- * Handles both static resources and URI templates.
850
- * Subclasses may override for custom behavior.
851
- */
852
- protected registerResource(server: McpServer, resource: ResourceDefinition): void;
853
- /**
854
- * Register prompts with the MCP server
855
- */
856
- registerPrompts(server: McpServer): void;
857
- /**
858
- * Register a single prompt with the MCP server.
859
- * Subclasses may override for custom behavior.
860
- */
861
- protected registerPrompt(server: McpServer, prompt: PromptDefinition): void;
862
- /**
863
- * Validate query for safety (SQL injection prevention)
864
- * @param sql - SQL query to validate
865
- * @param isReadOnly - Whether to enforce read-only restrictions
866
- */
867
- protected validateQuery(sql: string, isReadOnly: boolean): void;
868
- /**
869
- * Create a request context for tool execution
870
- * @param requestId Optional request ID for tracing
871
- * @param server Optional MCP Server instance for progress notifications
872
- * @param progressToken Optional progress token from client request _meta
873
- */
874
- createContext(requestId?: string, server?: unknown, progressToken?: string | number): RequestContext;
875
- /**
876
- * Ensure the adapter is connected to the database.
877
- * Throws ConnectionError if not connected.
878
- * Subclasses may override to add additional checks (e.g., db instance null).
879
- */
880
- protected ensureConnected(): void;
881
- /**
882
- * Get adapter info for logging/debugging
883
- */
884
- getInfo(): Record<string, unknown>;
885
- }
886
-
887
- /**
888
- * db-mcp - Main MCP Server
889
- *
890
- * SQLite MCP server with OAuth 2.1 authentication,
891
- * HTTP/SSE transport, and dynamic tool filtering.
892
- */
893
-
894
- /**
895
- * Main db-mcp server class
896
- *
897
- * Manages database adapters, tool registration, and MCP protocol handling.
898
- */
899
- declare class DbMcpServer {
900
- private server;
901
- private adapters;
902
- private toolFilter;
903
- private config;
904
- private auditLogger;
905
- private backupManager;
906
- private auditInterceptor;
907
- private auditInitPromise;
908
- constructor(config: McpServerConfig);
909
- /**
910
- * Register a database adapter
911
- */
912
- registerAdapter(adapter: DatabaseAdapter, config: DatabaseConfig): Promise<void>;
913
- /**
914
- * Get an adapter by ID
915
- */
916
- getAdapter(adapterId: string): DatabaseAdapter | undefined;
917
- /**
918
- * Get all registered adapters
919
- */
920
- getAdapters(): Map<string, DatabaseAdapter>;
921
- /**
922
- * Register built-in server tools (health, info, etc.)
923
- */
924
- private registerBuiltInTools;
925
- /**
926
- * Register sqlite://help resources for on-demand reference documentation.
927
- * Always registers sqlite://help (gotchas). Group-specific help is filtered
928
- * by the tool filter configuration.
929
- */
930
- private registerHelpResources;
931
- /**
932
- * Start the server with the configured transport
933
- */
934
- start(): Promise<void>;
935
- /**
936
- * Start server with stdio transport
937
- */
938
- private startStdio;
939
- /**
940
- * Start server with HTTP transport (Streamable HTTP with SSE support)
941
- */
942
- private startHttp;
943
- /**
944
- * Gracefully shut down the server
945
- */
946
- shutdown(): Promise<void>;
947
- /**
948
- * Initialize the audit subsystem: logger, interceptor, backup manager,
949
- * sqlite://audit resource, and audit backup tools.
950
- */
951
- private initializeAudit;
952
- /**
953
- * Register the sqlite://audit resource for agent access to audit log.
954
- */
955
- private registerAuditResource;
956
- /**
957
- * Register audit backup tools for snapshot management.
958
- */
959
- private registerAuditBackupTools;
960
- }
961
- /**
962
- * Create and configure a db-mcp server instance
963
- */
964
- declare function createServer(config: McpServerConfig): DbMcpServer;
965
- /**
966
- * Default server configuration
967
- */
968
- declare const DEFAULT_CONFIG: Partial<McpServerConfig>;
969
-
970
- /**
971
- * db-mcp - Tool Constants
972
- *
973
- * Defines the tool groups and meta-groups used for filtering.
974
- *
975
- * Actual tool groups (from code audit):
976
- * core: 14 tools (core/queries.ts, core/tables.ts, core/indexes.ts, core/convenience.ts)
977
- * json: 24 tools (json-operations/crud+query+transform+security.ts, json-helpers/read+write.ts)
978
- * text: 14 WASM / 19 Native (text/regex+formatting+search+validate+sentiment.ts, fts.ts)
979
- * stats: 16 WASM / 22 Native (stats/basic+advanced.ts, inference/, anomaly-detection.ts, schema-risks.ts, native: window.ts)
980
- * vector: 11 tools (vector/storage+search+metadata.ts)
981
- * admin: 26 WASM / 26 Native (admin/backup+verify+pragma.ts, virtual/views+vtable+extensions+analysis.ts)
982
- * transactions: 8 Native (native: transactions.ts)
983
- * geo: 4 WASM / 11 Native (geo.ts, native: spatialite/tools+analysis.ts)
984
- * introspection: 9 tools (introspection/graph/tools.ts, analysis/constraints+risks+snapshot.ts, diagnostics/storage+indexes+query-plan.ts)
985
- * migration: 6 tools (migration/tracking.ts) — opt-in
986
- * codemode: 1 tool (codemode.ts)
987
- * Total: 125 WASM / 151 Native tools
988
- *
989
- * Note: 3 built-in server tools (server_info, server_health, list_adapters)
990
- * are always available regardless of filter settings.
991
- */
992
-
993
- /**
994
- * All valid tool groups
995
- */
996
- declare const ALL_TOOL_GROUPS: ToolGroup[];
997
- /**
998
- * Tool groups - kept for backwards compatibility with scopes.ts
999
- * The actual filtering uses the tool's 'group' property, not these lists.
1000
- */
1001
- declare const TOOL_GROUPS: Record<ToolGroup, string[]>;
1002
- /**
1003
- * Meta-groups that expand to multiple tool groups.
1004
- * These provide shortcuts for common use cases.
1005
- */
1006
- declare const META_GROUPS: Record<MetaGroup, ToolGroup[]>;
1007
-
1008
- /**
1009
- * db-mcp - Tool Filtering System
1010
- *
1011
- * Parses and applies tool filter rules from environment variables.
1012
- * Compatible with postgres-mcp-server filtering syntax.
1013
- *
1014
- * Syntax:
1015
- * groupName → Enable only this group (whitelist mode)
1016
- * shortcut → Use a preset (starter, analytics, search, etc.)
1017
- * -group → Disable all tools in a group
1018
- * +group → Enable all tools in a group
1019
- * -tool → Disable a specific tool
1020
- * +tool → Enable a specific tool
1021
- *
1022
- * Mode Detection:
1023
- * - If first token starts with '-', start with ALL groups enabled (exclusion mode)
1024
- * - Otherwise, start with NO groups enabled (whitelist mode)
1025
- *
1026
- * Examples:
1027
- * "core,json" → Whitelist: only core and json groups
1028
- * "starter" → Preset: core + json + text groups
1029
- * "starter,-fts5" → Preset minus fts5 group
1030
- * "-vector,-geo" → Legacy: all groups except vector and geo
1031
- */
1032
-
1033
- /**
1034
- * Parse a tool filter string into structured rules
1035
- *
1036
- * @param filterString - The filter string (e.g., "starter" or "-vector,-geo")
1037
- * @returns Parsed filter configuration with enabled groups
1038
- */
1039
- declare function parseToolFilter(filterString: string | undefined): ToolFilterConfig;
1040
- /**
1041
- * Check if a tool is enabled based on filter configuration
1042
- * Uses the tool's group property for matching
1043
- */
1044
- declare function isToolEnabled(tool: ToolDefinition, config: ToolFilterConfig): boolean;
1045
- /**
1046
- * Filter a list of tool definitions based on filter configuration
1047
- */
1048
- declare function filterTools(tools: ToolDefinition[], config: ToolFilterConfig): ToolDefinition[];
1049
- /**
1050
- * Get the tool filter from environment variable
1051
- */
1052
- declare function getToolFilterFromEnv(): ToolFilterConfig;
1053
- /**
1054
- * Generate a summary of the current filter configuration
1055
- */
1056
- declare function getFilterSummary(config: ToolFilterConfig): string;
1057
-
1058
- /**
1059
- * Version Constants
1060
- *
1061
- * Single source of truth — reads from package.json at runtime.
1062
- */
1063
- /** Server version from package.json */
1064
- declare const VERSION: string;
1065
- /** Package name from package.json */
1066
- declare const NAME: string;
1067
-
1068
- export { ALL_TOOL_GROUPS, type AdapterCapabilities, AuthenticationError, AuthorizationError, type ColumnInfo, ConnectionError, type ConstraintInfo, DEFAULT_CONFIG, DatabaseAdapter, type DatabaseConfig, type DatabaseType, DbMcpError, DbMcpServer, type HealthStatus, type IndexInfo, META_GROUPS, type McpServerConfig, NAME, type OAuthConfig, type OAuthScope, type PromptDefinition, QueryError, type QueryResult, type RequestContext, type ResourceDefinition, type SchemaInfo, TOOL_GROUPS, type TableInfo, type TokenClaims, type ToolDefinition, type ToolFilterConfig, type ToolFilterRule, type ToolGroup, type TransportType, VERSION, ValidationError, createServer, filterTools, getFilterSummary, getToolFilterFromEnv, isToolEnabled, parseToolFilter };
6
+ export { DbMcpServer, createServer, DEFAULT_CONFIG, } from "./server/mcp-server.js";
7
+ export type { DatabaseType, DatabaseConfig, HealthStatus, QueryResult, ColumnInfo, TableInfo, SchemaInfo, IndexInfo, ConstraintInfo, TransportType, McpServerConfig, OAuthConfig, OAuthScope, TokenClaims, RequestContext, ToolGroup, ToolFilterRule, ToolFilterConfig, AdapterCapabilities, ToolDefinition, ResourceDefinition, PromptDefinition, } from "./types/index.js";
8
+ export { DbMcpError, ConnectionError, QueryError, AuthenticationError, AuthorizationError, ValidationError, } from "./types/index.js";
9
+ export { DatabaseAdapter } from "./adapters/database-adapter.js";
10
+ export { TOOL_GROUPS, META_GROUPS, ALL_TOOL_GROUPS, parseToolFilter, isToolEnabled, filterTools, getToolFilterFromEnv, getFilterSummary, } from "./filtering/tool-filter.js";
11
+ export { VERSION, NAME } from "./version.js";
12
+ //# sourceMappingURL=index.d.ts.map