db-mcp 1.1.1 → 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 (508) hide show
  1. package/README.md +247 -169
  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-TVIZ3XJH.js → chunk-FR65YPAH.js} +8509 -3925
  351. package/dist/{chunk-AOUL5SHS.js → chunk-L552U3QS.js} +880 -252
  352. package/dist/chunk-THATOQRT.js +2624 -0
  353. package/dist/chunk-W5WQVNVX.js +568 -0
  354. package/dist/cli.d.ts +7 -0
  355. package/dist/cli.d.ts.map +1 -0
  356. package/dist/cli.js +114 -19
  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-VSB7DBJR.js → http-HWTUVFIA.js} +587 -358
  380. package/dist/index.d.ts +9 -842
  381. package/dist/index.d.ts.map +1 -0
  382. package/dist/index.js +4 -5
  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-26V3Y4MK.js → sqlite-6C3AJI4I.js} +115 -147
  394. package/dist/{sqlite-native-5O7FZJGB.js → sqlite-native-ZSSWCTYC.js} +1016 -349
  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 +33 -20
  480. package/.gitattributes +0 -2
  481. package/dist/chunk-4IA3DB5C.js +0 -135
  482. package/dist/chunk-FW7UCRLN.js +0 -82
  483. package/dist/chunk-RHVEZ42P.js +0 -873
  484. package/dist/chunk-Z2GFQU3G.js +0 -363
  485. package/dist/worker-script.d.ts +0 -2
  486. package/dist/worker-script.js +0 -126
  487. package/playwright.config.ts +0 -101
  488. package/scripts/generate-server-instructions.ts +0 -111
  489. package/server.json +0 -52
  490. package/test-server/README.md +0 -118
  491. package/test-server/code-map.md +0 -409
  492. package/test-server/fixtures/sample.csv +0 -6
  493. package/test-server/reset-database.ps1 +0 -373
  494. package/test-server/sample.csv +0 -11
  495. package/test-server/test-agent-experience.md +0 -243
  496. package/test-server/test-database.sql +0 -388
  497. package/test-server/test-group-tools.md +0 -861
  498. package/test-server/test-help-resources.mjs +0 -238
  499. package/test-server/test-preflight.md +0 -53
  500. package/test-server/test-prompts.md +0 -354
  501. package/test-server/test-resources.md +0 -245
  502. package/test-server/test-tool-annotations.mjs +0 -157
  503. package/test-server/test-tools-advanced-1.md +0 -517
  504. package/test-server/test-tools-advanced-2.md +0 -487
  505. package/test-server/test-tools-codemode.md +0 -629
  506. package/test-server/test-tools.md +0 -176
  507. package/test-server/tool-reference.md +0 -236
  508. package/tsconfig.test.json +0 -9
@@ -1,373 +0,0 @@
1
- #!/usr/bin/env pwsh
2
- <#
3
- .SYNOPSIS
4
- Resets the db-mcp test database by deleting and re-creating from seed data.
5
-
6
- .DESCRIPTION
7
- This script performs a full reset of the db-mcp test database:
8
- 1. Deletes the existing test database file (if exists)
9
- 2. Creates a fresh database from test-database.sql
10
- 3. Verifies table counts and data integrity
11
- 4. Displays a summary of seeded data
12
-
13
- .PARAMETER DatabasePath
14
- Path to the database file. Default: test.db in the script directory.
15
-
16
- .PARAMETER SkipVerify
17
- Skip the verification step after reset.
18
-
19
- .PARAMETER Verbose
20
- Show detailed output for each step.
21
-
22
- .EXAMPLE
23
- .\reset-database.ps1
24
-
25
- .EXAMPLE
26
- .\reset-database.ps1 -DatabasePath "mytest.db" -Verbose
27
-
28
- .EXAMPLE
29
- .\reset-database.ps1 -SkipVerify
30
- #>
31
-
32
- param(
33
- [string]$DatabasePath = "",
34
- [switch]$SkipVerify,
35
- [switch]$Verbose
36
- )
37
-
38
- $ErrorActionPreference = "Stop"
39
- $ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
40
- $SqlFile = Join-Path $ScriptDir "test-database.sql"
41
-
42
- # Default database path
43
- if (-not $DatabasePath) {
44
- $DatabasePath = Join-Path $ScriptDir "test.db"
45
- }
46
-
47
- # Colors for output
48
- function Write-Step { param($Step, $Total, $Message) Write-Host "`n[$Step/$Total] " -ForegroundColor Cyan -NoNewline; Write-Host $Message -ForegroundColor White }
49
- function Write-Success { param($Message) Write-Host " [OK] " -ForegroundColor Green -NoNewline; Write-Host $Message }
50
- function Write-Info { param($Message) Write-Host " --> " -ForegroundColor DarkGray -NoNewline; Write-Host $Message -ForegroundColor DarkGray }
51
- function Write-Warn { param($Message) Write-Host " [!] " -ForegroundColor Yellow -NoNewline; Write-Host $Message -ForegroundColor Yellow }
52
- function Write-Err { param($Message) Write-Host " [X] " -ForegroundColor Red -NoNewline; Write-Host $Message -ForegroundColor Red }
53
-
54
- Write-Host "`n========================================================" -ForegroundColor Magenta
55
- Write-Host " DB-MCP Test Database Reset " -ForegroundColor Magenta
56
- Write-Host "========================================================" -ForegroundColor Magenta
57
-
58
- # Verify prerequisites
59
- if (-not (Test-Path $SqlFile)) {
60
- Write-Err "test-database.sql not found at: $SqlFile"
61
- exit 1
62
- }
63
- Write-Host "`nScript directory: " -NoNewline; Write-Host $ScriptDir -ForegroundColor Gray
64
- Write-Host "Database path: " -NoNewline; Write-Host $DatabasePath -ForegroundColor Gray
65
- Write-Host "SQL seed file: " -NoNewline; Write-Host $SqlFile -ForegroundColor Green
66
-
67
- # Check if sqlite3 is available
68
- $sqlite3Path = $null
69
- try {
70
- $sqlite3Path = Get-Command sqlite3 -ErrorAction Stop | Select-Object -ExpandProperty Source
71
- } catch {
72
- # Try common locations on Windows
73
- $commonPaths = @(
74
- "C:\sqlite\sqlite3.exe",
75
- "C:\Program Files\sqlite\sqlite3.exe",
76
- "$env:LOCALAPPDATA\Programs\sqlite\sqlite3.exe"
77
- )
78
- foreach ($path in $commonPaths) {
79
- if (Test-Path $path) {
80
- $sqlite3Path = $path
81
- break
82
- }
83
- }
84
- }
85
-
86
- if (-not $sqlite3Path) {
87
- Write-Warn "sqlite3 not found in PATH. Will use Node.js better-sqlite3 via db-mcp CLI."
88
- $useCli = $true
89
- } else {
90
- Write-Host "SQLite3 path: " -NoNewline; Write-Host $sqlite3Path -ForegroundColor Green
91
- $useCli = $false
92
- }
93
-
94
- $totalSteps = if ($SkipVerify) { 2 } else { 3 }
95
-
96
- # ============================================================================
97
- # Step 1: Clean up test artifacts and delete existing database
98
- # ============================================================================
99
- Write-Step "1" $totalSteps "Cleaning up test artifacts and deleting database..."
100
-
101
- # Remove backup .db files left by sqlite_backup tests
102
- $backupFiles = Get-ChildItem -Path $ScriptDir -Filter "*.db" -ErrorAction SilentlyContinue |
103
- Where-Object { $_.Name -ne "test.db" }
104
- if ($backupFiles) {
105
- foreach ($bf in $backupFiles) {
106
- Remove-Item $bf.FullName -Force -ErrorAction SilentlyContinue
107
- if ($Verbose) { Write-Info "Deleted backup: $($bf.Name)" }
108
- }
109
- Write-Success "Cleaned up $($backupFiles.Count) backup file(s)"
110
- }
111
-
112
- # Warn about any node processes that hold the database file open (e.g. MCP servers)
113
- $dbFullPath = (Resolve-Path $DatabasePath -ErrorAction SilentlyContinue)?.Path
114
- if (-not $dbFullPath) { $dbFullPath = $DatabasePath }
115
- $dbNameEscaped = [regex]::Escape(($dbFullPath -replace '\\', '/'))
116
- $dbNameEscapedBackslash = [regex]::Escape($dbFullPath)
117
-
118
- $nodeProcesses = Get-CimInstance Win32_Process -Filter "Name = 'node.exe'" -ErrorAction SilentlyContinue |
119
- Where-Object { $_.CommandLine -match $dbNameEscaped -or $_.CommandLine -match $dbNameEscapedBackslash }
120
-
121
- if ($nodeProcesses) {
122
- foreach ($proc in $nodeProcesses) {
123
- Write-Warn "Node process PID $($proc.ProcessId) is using this database (likely an MCP server)"
124
- }
125
- Write-Info "The database file will be replaced in-place — existing connections will pick up the new data."
126
- }
127
-
128
- $filesToDelete = @(
129
- $DatabasePath,
130
- "$DatabasePath-shm",
131
- "$DatabasePath-wal",
132
- "$DatabasePath-journal"
133
- )
134
-
135
- $deletedCount = 0
136
- $lockFailed = $false
137
- foreach ($file in $filesToDelete) {
138
- if (Test-Path $file) {
139
- try {
140
- Remove-Item $file -Force -ErrorAction Stop
141
- $deletedCount++
142
- if ($Verbose) {
143
- Write-Info "Deleted: $file"
144
- }
145
- } catch {
146
- if ($file -eq $DatabasePath) {
147
- # Main DB file is locked — overwrite will happen at seed step
148
- Write-Warn "Database file is locked; will overwrite in-place at seed step"
149
- $lockFailed = $true
150
- } else {
151
- Write-Info "Could not delete $file (may be in use): $_"
152
- }
153
- }
154
- }
155
- }
156
-
157
- if ($deletedCount -gt 0) {
158
- Write-Success "Deleted $deletedCount file(s)"
159
- } elseif (-not $lockFailed) {
160
- Write-Info "No existing database files found"
161
- }
162
-
163
- # ============================================================================
164
- # Step 2: Create fresh database from seed file
165
- # ============================================================================
166
- Write-Step "2" $totalSteps "Creating database from seed file..."
167
-
168
- if (-not $useCli) {
169
- # Use sqlite3 command line with input redirection
170
- # The .read command with -cmd doesn't work reliably, so we use Get-Content | sqlite3
171
- try {
172
- Get-Content $SqlFile -Raw | & $sqlite3Path $DatabasePath
173
- if ($LASTEXITCODE -ne 0) {
174
- throw "sqlite3 exited with code $LASTEXITCODE"
175
- }
176
- Write-Success "Database created using sqlite3"
177
- } catch {
178
- Write-Err "Failed to create database: $_"
179
- exit 1
180
- }
181
- } else {
182
- # Use Node.js with better-sqlite3 via inline script
183
- $dbMcpRoot = Split-Path -Parent $ScriptDir
184
- $nodeScript = @"
185
- import Database from 'better-sqlite3';
186
- import { readFileSync } from 'fs';
187
-
188
- const dbPath = process.argv[2];
189
- const sqlPath = process.argv[3];
190
-
191
- try {
192
- const db = new Database(dbPath);
193
- const sql = readFileSync(sqlPath, 'utf-8');
194
- db.exec(sql);
195
- db.close();
196
- console.log('SUCCESS');
197
- } catch (err) {
198
- console.error('ERROR:', err.message);
199
- process.exit(1);
200
- }
201
- "@
202
-
203
- # Write temp script to project directory so node can resolve dependencies
204
- $tempScript = Join-Path $dbMcpRoot ".create-test-db.js"
205
- $nodeScript | Out-File -FilePath $tempScript -Encoding utf8 -NoNewline
206
-
207
- Push-Location $dbMcpRoot
208
- try {
209
- $result = node $tempScript $DatabasePath $SqlFile 2>&1
210
- if ($LASTEXITCODE -ne 0 -or $result -notmatch "SUCCESS") {
211
- Write-Err "Failed to create database: $result"
212
- exit 1
213
- }
214
- Write-Success "Database created using Node.js (better-sqlite3)"
215
- } finally {
216
- Pop-Location
217
- Remove-Item $tempScript -Force -ErrorAction SilentlyContinue
218
- }
219
- }
220
-
221
- if ($Verbose -and (Test-Path $DatabasePath)) {
222
- $dbSize = (Get-Item $DatabasePath).Length / 1KB
223
- Write-Info "Database size: $([math]::Round($dbSize, 2)) KB"
224
- }
225
-
226
- # ============================================================================
227
- # Step 3: Verification
228
- # ============================================================================
229
- if (-not $SkipVerify) {
230
- Write-Step "3" $totalSteps "Verifying database..."
231
-
232
- # Expected table counts
233
- $expectedTables = @{
234
- "test_products" = 16
235
- "test_orders" = 20
236
- "test_jsonb_docs" = 6
237
- "test_articles" = 8
238
- "test_users" = 9
239
- "test_measurements" = 200
240
- "test_embeddings" = 20
241
- "test_locations" = 15
242
- "test_categories" = 17
243
- "test_events" = 100
244
- }
245
-
246
- # Known non-seed tables that are expected to exist (SQLite internals,
247
- # SpatiaLite system tables/views, FTS virtual tables created by seed SQL, etc.)
248
- $knownSystemTables = @(
249
- # SQLite internals
250
- "sqlite_sequence", "sqlite_stat1", "sqlite_stat4",
251
- # SpatiaLite tables
252
- "ElementaryGeometries", "KNN2", "SpatialIndex",
253
- "data_licenses", "geometry_columns", "geometry_columns_auth",
254
- "geometry_columns_field_infos", "geometry_columns_statistics",
255
- "geometry_columns_time", "spatial_ref_sys", "spatial_ref_sys_aux",
256
- "spatialite_history", "sql_statements_log",
257
- "views_geometry_columns", "views_geometry_columns_auth",
258
- "views_geometry_columns_field_infos", "views_geometry_columns_statistics",
259
- "virts_geometry_columns", "virts_geometry_columns_auth",
260
- "virts_geometry_columns_field_infos", "virts_geometry_columns_statistics",
261
- # SpatiaLite views
262
- "geom_cols_ref_sys", "spatial_ref_sys_all",
263
- "vector_layers", "vector_layers_auth",
264
- "vector_layers_field_infos", "vector_layers_statistics",
265
- # FTS5 shadow tables (from seed SQL)
266
- "test_articles_fts", "test_articles_fts_config", "test_articles_fts_content",
267
- "test_articles_fts_data", "test_articles_fts_docsize", "test_articles_fts_idx",
268
- # Migration tracking (created by seed SQL)
269
- "_mcp_migrations"
270
- )
271
-
272
- $verifyScript = @"
273
- import Database from 'better-sqlite3';
274
- const db = new Database(process.argv[2], { readonly: true });
275
-
276
- const tables = db.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name LIKE 'test_%'").all();
277
- console.log('TABLES:' + tables.map(t => t.name).join(','));
278
-
279
- for (const table of tables) {
280
- const count = db.prepare('SELECT COUNT(*) as cnt FROM ' + table.name).get();
281
- console.log('COUNT:' + table.name + ':' + count.cnt);
282
- }
283
-
284
- db.close();
285
- "@
286
-
287
- $dbMcpRoot = Split-Path -Parent $ScriptDir
288
- # Write temp script to project directory so node can resolve dependencies
289
- $tempVerify = Join-Path $dbMcpRoot ".verify-test-db.js"
290
- $verifyScript | Out-File -FilePath $tempVerify -Encoding utf8 -NoNewline
291
-
292
- Push-Location $dbMcpRoot
293
- try {
294
- $output = node $tempVerify $DatabasePath 2>&1
295
-
296
- $tableList = ($output | Where-Object { $_ -match "^TABLES:" }) -replace "^TABLES:", ""
297
- $tables = $tableList -split ","
298
-
299
- Write-Host "`n Table verification:" -ForegroundColor Yellow
300
-
301
- $allPassed = $true
302
- foreach ($line in $output | Where-Object { $_ -match "^COUNT:" }) {
303
- $parts = ($line -replace "^COUNT:", "") -split ":"
304
- $tableName = $parts[0]
305
- $actualCount = [int]$parts[1]
306
-
307
- if ($expectedTables.ContainsKey($tableName)) {
308
- $expectedCount = $expectedTables[$tableName]
309
- if ($actualCount -eq $expectedCount) {
310
- Write-Host " [pass] " -ForegroundColor Green -NoNewline
311
- Write-Host "$tableName" -NoNewline
312
- Write-Host " ($($actualCount) rows)" -ForegroundColor Gray
313
- } else {
314
- Write-Host " [fail] " -ForegroundColor Red -NoNewline
315
- Write-Host "$tableName" -NoNewline
316
- Write-Host " (expected $($expectedCount), got $($actualCount))" -ForegroundColor Red
317
- $allPassed = $false
318
- }
319
- }
320
- }
321
-
322
- if ($allPassed) {
323
- Write-Success "All tables verified successfully"
324
- } else {
325
- Write-Warn "Some tables have unexpected row counts"
326
- }
327
-
328
- # Check for unexpected non-seed tables (test artifacts left behind)
329
- Write-Host "`n Artifact check:" -ForegroundColor Yellow
330
- $allTableNames = ($output | Where-Object { $_ -match "^TABLES:" }) -replace "^TABLES:", ""
331
- # Get ALL tables from sqlite_master, not just test_* ones
332
- $allTablesScript = @"
333
- import Database from 'better-sqlite3';
334
- const db = new Database(process.argv[2], { readonly: true });
335
- const all = db.prepare("SELECT name, type FROM sqlite_master WHERE type IN ('table','view') ORDER BY name").all();
336
- for (const t of all) console.log('ALL:' + t.name);
337
- db.close();
338
- "@
339
- $tempAllTables = Join-Path $dbMcpRoot ".check-artifacts.js"
340
- $allTablesScript | Out-File -FilePath $tempAllTables -Encoding utf8 -NoNewline
341
- $allOutput = node $tempAllTables $DatabasePath 2>&1
342
- Remove-Item $tempAllTables -Force -ErrorAction SilentlyContinue
343
-
344
- $unexpectedTables = @()
345
- foreach ($line in $allOutput | Where-Object { $_ -match "^ALL:" }) {
346
- $name = ($line -replace "^ALL:", "").Trim()
347
- $isExpected = $expectedTables.ContainsKey($name) -or $knownSystemTables -contains $name
348
- if (-not $isExpected) {
349
- $unexpectedTables += $name
350
- }
351
- }
352
-
353
- if ($unexpectedTables.Count -gt 0) {
354
- Write-Warn "Found $($unexpectedTables.Count) unexpected table(s) — possible stale test artifacts:"
355
- foreach ($ut in $unexpectedTables) {
356
- Write-Host " [stale] " -ForegroundColor Yellow -NoNewline
357
- Write-Host $ut -ForegroundColor Gray
358
- }
359
- Write-Info "These may be R-Tree shadow tables, _mcp_migrations, temp_* leftovers, or FTS tables from testing."
360
- Write-Info "Consider running a full reset to remove them."
361
- } else {
362
- Write-Success "No stale test artifacts found"
363
- }
364
-
365
- } finally {
366
- Pop-Location
367
- Remove-Item $tempVerify -Force -ErrorAction SilentlyContinue
368
- }
369
- }
370
-
371
- Write-Host "`n========================================================" -ForegroundColor Green
372
- Write-Host " Reset Complete! " -ForegroundColor Green
373
- Write-Host "========================================================" -ForegroundColor Green
@@ -1,11 +0,0 @@
1
- id,name,category,price,quantity,created_at
2
- 1,Widget A,Electronics,29.99,100,2026-01-15
3
- 2,Widget B,Electronics,49.99,75,2026-01-16
4
- 3,Gadget X,Home,19.99,200,2026-01-17
5
- 4,Gadget Y,Home,24.99,150,2026-01-18
6
- 5,Tool Alpha,Industrial,99.99,50,2026-01-19
7
- 6,Tool Beta,Industrial,149.99,30,2026-01-20
8
- 7,Component A,Electronics,9.99,500,2026-01-21
9
- 8,Component B,Electronics,14.99,400,2026-01-22
10
- 9,Fixture X,Home,39.99,80,2026-01-23
11
- 10,Fixture Y,Home,59.99,60,2026-01-24
@@ -1,243 +0,0 @@
1
- # Agent Experience Test — db-mcp (SQLite)
2
-
3
- > **Purpose:** Validate that the slim `instructions` field + `sqlite://help` resources are sufficient for an agent to operate the server cold — with **zero** schema info, tool hints, or checklists in the prompt.
4
-
5
- ## How to Run
6
-
7
- Run **each pass** as a separate conversation with the corresponding `--tool-filter`. Each pass tests whether the agent can complete realistic tasks using only the tools + help resources available under that filter.
8
-
9
- | Pass | `--tool-filter` | Tools | Scenarios |
10
- | ------ | ------------------------------ | ------------------------------------ | --------- |
11
- | Pass 1 | `starter` | Core, JSON, Text (~50) | 1–12 |
12
- | Pass 2 | `analytics` | Core, JSON, Stats (~52) | 13–16 |
13
- | Pass 3 | `search` | Core, Text, Vector (~38) | 17–18 |
14
- | Pass 4 | `codemode` | Code Mode only (1+3) | 19–20 |
15
- | Pass 5 | `core,geo` | Core, Geo (~22) | 21–23 |
16
- | Pass 6 | `core,admin` | Core, Admin (~44) | 24–26 |
17
- | Pass 7 | `core,introspection,migration` | Core, Introspection, Migration (~27) | 27–29 |
18
-
19
- > **Important:** Do NOT combine passes. Each pass is a fresh conversation with a clean context. The agent has never seen this database before.
20
-
21
- ## Rules
22
-
23
- 1. **Do NOT read** `test-tools.md`, `test-group-tools.md`, or any other test documentation before running these scenarios
24
- 2. **Do NOT read** source code files (`src/`) — you are a user, not a developer
25
- 3. **DO** use the MCP instructions you received during initialization + `sqlite://help` resources
26
- 4. **DO** discover the database schema via `sqlite://schema` or `sqlite://tables` resources
27
- 5. **DO** read group-specific help (`sqlite://help/{group}`) when you need reference for unfamiliar tools
28
- 6. Use the test database (`test-server/test.db`) which is already connected
29
-
30
- ## Success Criteria
31
-
32
- | Symbol | Meaning |
33
- | ------ | --------------------------------------------------------------------- |
34
- | ✅ | Agent completed the task correctly without external help |
35
- | ⚠️ | Agent completed but needed multiple retries or used wrong tools first |
36
- | ❌ | Agent failed or produced incorrect results |
37
- | 📖 | Agent had to read help resources — note which ones |
38
-
39
- Track **every** help resource read and whether it provided what was needed. Gaps are the actionable finding.
40
-
41
- ## Reporting Format
42
-
43
- For each scenario, report:
44
-
45
- ```
46
- ### Scenario N: [title]
47
- **Result:** ✅/⚠️/❌
48
- **Resources read:** sqlite://help, sqlite://help/json (or "none beyond instructions")
49
- **Tools used:** sqlite_read_query, sqlite_json_query, ...
50
- **Issues:** (any gaps in help content, confusing tool names, missing examples)
51
- ```
52
-
53
- ---
54
-
55
- ## Pass 1: `starter`
56
-
57
- **Tool groups under test:** `core` (10), `json` (24), `text` (14), `codemode` (1)
58
-
59
- ### Phase 1 — Discovery
60
-
61
- #### Scenario 1 — What's in this database?
62
-
63
- List all tables and briefly describe what each one contains.
64
-
65
- #### Scenario 2 — Table deep dive
66
-
67
- Pick the most interesting table and fully characterize it: row count, column types, sample data, indexes, and any foreign key relationships.
68
-
69
- #### Scenario 3 — Health check
70
-
71
- Is the database healthy? What backend and mode is it running in? What are the key PRAGMA settings?
72
-
73
- ### Phase 2 — Core Operations
74
-
75
- #### Scenario 4 — Filtered read
76
-
77
- Find all products in the "electronics" category priced above $50, sorted by price descending.
78
-
79
- #### Scenario 5 — Aggregation
80
-
81
- What is the total revenue (sum of total_price) per order status? Which status has the highest revenue?
82
-
83
- #### Scenario 6 — Write and verify
84
-
85
- Create a new product called "Test Widget" in the "gadgets" category priced at $29.99, then verify it was inserted. Clean up after.
86
-
87
- ### Phase 3 — JSON Operations
88
-
89
- #### Scenario 7 — JSON extraction
90
-
91
- Extract the `name` and `version` fields from the JSON documents in `test_jsonb_docs`. Which documents have a version above 2?
92
-
93
- #### Scenario 8 — Nested JSON
94
-
95
- Find the deeply nested value at `$.nested.level1.level2` in `test_jsonb_docs`. Which row has it?
96
-
97
- #### Scenario 9 — JSON analysis
98
-
99
- Analyze the JSON schema of the `doc` column in `test_jsonb_docs`. What field types and nesting patterns exist?
100
-
101
- ### Phase 4 — Text & Search
102
-
103
- #### Scenario 10 — Full-text search
104
-
105
- Search the articles for content about "database" and "search". Rank results by relevance.
106
-
107
- > **Note:** FTS5 tables may need to be created/rebuilt before searching. The agent should figure this out from help resources.
108
-
109
- #### Scenario 11 — Fuzzy matching
110
-
111
- Find users whose names are similar to "Jon" (fuzzy match). What did you find?
112
-
113
- #### Scenario 12 — Text processing
114
-
115
- Normalize and validate the email addresses in `test_users`. Are any malformed?
116
-
117
- ---
118
-
119
- ## Pass 2: `analytics`
120
-
121
- **Tool groups under test:** `core` (10), `json` (24), `stats` (14), `codemode` (1)
122
-
123
- ### Phase 5 — Statistics
124
-
125
- #### Scenario 13 — Descriptive stats
126
-
127
- Compute descriptive statistics (mean, median, std dev, min, max) for the `temperature` column in `test_measurements`. Break it down by `sensor_id`.
128
-
129
- #### Scenario 14 — Outlier detection
130
-
131
- Are there any outlier temperature readings in `test_measurements`? What method did you use?
132
-
133
- #### Scenario 15 — Correlation
134
-
135
- Is there a correlation between temperature and humidity in `test_measurements`? How strong?
136
-
137
- #### Scenario 16 — Cross-table analysis
138
-
139
- Which products have the most orders? Join the data and present a ranked summary with product name, order count, and total revenue.
140
-
141
- ---
142
-
143
- ## Pass 3: `search`
144
-
145
- **Tool groups under test:** `core` (10), `text` (14), `vector` (12), `codemode` (1)
146
-
147
- ### Phase 6 — Vector & Semantic Search
148
-
149
- #### Scenario 17 — Similarity search
150
-
151
- Find the 3 embeddings most similar to the first embedding in `test_embeddings`. What categories are they?
152
-
153
- #### Scenario 18 — Hybrid search
154
-
155
- Search articles for "database" using full-text search, then find semantically similar embeddings. Can the agent combine both approaches?
156
-
157
- ---
158
-
159
- ## Pass 4: `codemode`
160
-
161
- **Tool groups under test:** `codemode` (1) + built-in resources (3)
162
-
163
- ### Phase 7 — Code Mode Discovery & Efficiency
164
-
165
- #### Scenario 19 — Cold-start Code Mode
166
-
167
- Using only `sqlite_execute_code`, list all tables, pick one, and run a query against it. Can the agent discover the `sqlite.*` API without external help?
168
-
169
- #### Scenario 20 — Multi-step workflow
170
-
171
- Using only `sqlite_execute_code`, find the top 5 products by order count with total revenue — in a single code execution. Compare the token efficiency vs what Pass 1/2 would require.
172
-
173
- ---
174
-
175
- ## Pass 5: `core,geo`
176
-
177
- **Tool groups under test:** `core` (10), `geo` (5), `codemode` (1)
178
-
179
- ### Phase 8 — Geospatial
180
-
181
- #### Scenario 21 — Distance between cities
182
-
183
- What is the distance between New York and Paris based on the coordinates in `test_locations`?
184
-
185
- #### Scenario 22 — Nearby locations
186
-
187
- Find all locations within 100km of London. How many are there?
188
-
189
- #### Scenario 23 — Bounding box
190
-
191
- Find all locations within the bounding box covering Western Europe (lat 40–55, lon -5 to 15).
192
-
193
- ---
194
-
195
- ## Pass 6: `core,admin`
196
-
197
- **Tool groups under test:** `core` (10), `admin` (27), `codemode` (1)
198
-
199
- ### Phase 9 — Admin & Data Quality
200
-
201
- #### Scenario 24 — Data quality audit
202
-
203
- Audit the database for data quality issues: NULL values, duplicate entries, orphaned foreign keys, unused indexes. Summarize findings.
204
-
205
- #### Scenario 25 — Database health & optimization
206
-
207
- Run an integrity check, analyze the database, then suggest and apply optimizations.
208
-
209
- #### Scenario 26 — Backup and restore
210
-
211
- Create a backup of the database. Verify the backup exists and is valid.
212
-
213
- ---
214
-
215
- ## Pass 7: `core,introspection,migration`
216
-
217
- **Tool groups under test:** `core` (10), `introspection` (10), `migration` (7), `codemode` (1)
218
-
219
- ### Phase 10 — Schema Analysis & Migration
220
-
221
- #### Scenario 27 — Dependency graph
222
-
223
- Map out the foreign key dependency graph. Which tables have the most dependencies? What's the topological sort order?
224
-
225
- #### Scenario 28 — Cascade simulation
226
-
227
- What would happen if `test_products` row 1 were deleted? Simulate the cascade impact on related tables.
228
-
229
- #### Scenario 29 — Migration workflow
230
-
231
- Initialize migration tracking, then create and apply a migration that adds a `description` column to `test_products`. Roll it back after verifying.
232
-
233
- ---
234
-
235
- ## Post-Test Summary
236
-
237
- Compile findings across all passes into:
238
-
239
- 1. **Help resource gaps** — scenarios where help content was missing, incomplete, or misleading
240
- 2. **Discovery friction** — cases where the agent struggled to find the right tool or resource
241
- 3. **Suggested improvements** — specific additions to `src/constants/server-instructions/*.md`
242
-
243
- > **Key metric:** How many of the 29 scenarios did the agent complete on the first try with ≤1 help resource read? This measures whether the instructions + tool descriptions are self-sufficient.