db-mcp 2.0.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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-WBER5YY4.js → chunk-37G4DLL6.js} +1010 -409
  350. package/dist/chunk-E5IESRTK.js +489 -0
  351. package/dist/{chunk-645ZEFLA.js → chunk-L552U3QS.js} +887 -309
  352. package/dist/{chunk-5Y42NPBP.js → chunk-NV34JSQM.js} +4656 -1829
  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-TB56Z7G3.js} +61 -17
  394. package/dist/{sqlite-native-JXMCFQBA.js → sqlite-native-IF75BB3O.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 +26 -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
@@ -1,245 +0,0 @@
1
- /**
2
- * Integration Test: Help Resources + Slim Instructions
3
- *
4
- * Starts the server with various --tool-filter configs and verifies:
5
- * 1. Instructions are slim (~680 chars, within client limits)
6
- * 2. sqlite://help resources are registered based on tool filter
7
- * 3. Group-specific help resources are only registered for enabled groups
8
- *
9
- * Usage:
10
- * npm run build
11
- * node test-server/scripts/test-help-resources.mjs
12
- */
13
-
14
- import { spawn } from "child_process";
15
-
16
- const PROJECT_DIR = "C:\\Users\\chris\\Desktop\\db-mcp";
17
-
18
- /**
19
- * Start server, send initialize + resources/list, return results
20
- */
21
- function testServer(args) {
22
- return new Promise((resolve, reject) => {
23
- const proc = spawn("node", ["dist/cli.js", ...args], {
24
- cwd: PROJECT_DIR,
25
- stdio: ["pipe", "pipe", "pipe"],
26
- });
27
-
28
- let buffer = "";
29
- let instructions = "";
30
- let resourceUris = [];
31
- let gotInitialize = false;
32
-
33
- proc.stdout.on("data", (chunk) => {
34
- buffer += chunk.toString();
35
- const lines = buffer.split("\n");
36
- buffer = lines.pop(); // Keep incomplete line
37
-
38
- for (const line of lines) {
39
- const trimmed = line.trim();
40
- if (!trimmed) continue;
41
- try {
42
- const msg = JSON.parse(trimmed);
43
-
44
- // Response to initialize (id=1)
45
- if (msg.id === 1 && msg.result) {
46
- instructions =
47
- msg.result?.serverInfo?.instructions ||
48
- msg.result?.instructions ||
49
- msg.result?.capabilities?.instructions ||
50
- "";
51
- gotInitialize = true;
52
-
53
- // Send resources/list
54
- proc.stdin.write(
55
- JSON.stringify({
56
- jsonrpc: "2.0",
57
- id: 2,
58
- method: "resources/list",
59
- params: {},
60
- }) + "\n",
61
- );
62
- }
63
-
64
- // Response to resources/list (id=2)
65
- if (msg.id === 2 && msg.result) {
66
- const resources = msg.result.resources || [];
67
- resourceUris = resources.map((r) => r.uri);
68
- proc.kill();
69
- resolve({
70
- instructions,
71
- instructionChars: instructions.length,
72
- resourceUris,
73
- });
74
- }
75
- } catch {
76
- // Not complete JSON yet
77
- }
78
- }
79
- });
80
-
81
- proc.stderr.on("data", () => {});
82
-
83
- // Send initialize request
84
- proc.stdin.write(
85
- JSON.stringify({
86
- jsonrpc: "2.0",
87
- id: 1,
88
- method: "initialize",
89
- params: {
90
- protocolVersion: "2025-03-26",
91
- capabilities: {},
92
- clientInfo: { name: "help-resource-test", version: "1.0" },
93
- },
94
- }) + "\n",
95
- );
96
-
97
- setTimeout(() => {
98
- proc.kill();
99
- reject(new Error(`Timeout for args: ${args.join(" ")}`));
100
- }, 10000);
101
- });
102
- }
103
-
104
- async function main() {
105
- let allPassed = true;
106
-
107
- // ── Test 1: Slim Instructions ──
108
- console.log("=== Test 1: Slim Instructions ===\n");
109
-
110
- const baseResult = await testServer([]);
111
- console.log(` Instruction chars: ${baseResult.instructionChars}`);
112
- console.log(
113
- ` Token estimate: ~${Math.round(baseResult.instructionChars / 4)}`,
114
- );
115
-
116
- const isSlim = baseResult.instructionChars < 1000;
117
- console.log(` Under 1000 chars: ${isSlim ? "✅" : "❌"}`);
118
- if (!isSlim) allPassed = false;
119
-
120
- const hasHelpPointer = baseResult.instructions.includes("sqlite://help");
121
- console.log(
122
- ` Contains sqlite://help pointer: ${hasHelpPointer ? "✅" : "❌"}`,
123
- );
124
- if (!hasHelpPointer) allPassed = false;
125
-
126
- const noOldContent = !baseResult.instructions.includes("Critical Gotchas");
127
- console.log(
128
- ` No old gotchas in instructions: ${noOldContent ? "✅" : "❌"}`,
129
- );
130
- if (!noOldContent) allPassed = false;
131
-
132
- // ── Test 2: Core-only Filter ──
133
- console.log("\n=== Test 2: Core-only Filter (--tool-filter core) ===\n");
134
-
135
- const coreResult = await testServer(["--tool-filter", "core"]);
136
- const coreHelpUris = coreResult.resourceUris.filter((u) =>
137
- u.startsWith("sqlite://help"),
138
- );
139
- console.log(` Help resources: ${coreHelpUris.join(", ") || "(none)"}`);
140
-
141
- const coreHasBaseHelp = coreHelpUris.includes("sqlite://help");
142
- console.log(` Has sqlite://help: ${coreHasBaseHelp ? "✅" : "❌"}`);
143
- if (!coreHasBaseHelp) allPassed = false;
144
-
145
- const coreHasCoreHelp = coreHelpUris.includes("sqlite://help/core");
146
- console.log(` Has sqlite://help/core: ${coreHasCoreHelp ? "✅" : "❌"}`);
147
- if (!coreHasCoreHelp) allPassed = false;
148
-
149
- const coreNoOtherGroupHelp = coreHelpUris.length === 2;
150
- console.log(
151
- ` No other group-specific help: ${coreNoOtherGroupHelp ? "✅" : "❌"} (count: ${coreHelpUris.length})`,
152
- );
153
- if (!coreNoOtherGroupHelp) allPassed = false;
154
-
155
- // ── Test 3: Stats Filter ──
156
- console.log("\n=== Test 3: Stats Filter (--tool-filter stats) ===\n");
157
-
158
- const statsResult = await testServer(["--tool-filter", "stats"]);
159
- const statsHelpUris = statsResult.resourceUris.filter((u) =>
160
- u.startsWith("sqlite://help"),
161
- );
162
- console.log(` Help resources: ${statsHelpUris.join(", ")}`);
163
-
164
- const statsHasBaseHelp = statsHelpUris.includes("sqlite://help");
165
- const statsHasStatsHelp = statsHelpUris.includes("sqlite://help/stats");
166
- console.log(` Has sqlite://help: ${statsHasBaseHelp ? "✅" : "❌"}`);
167
- console.log(` Has sqlite://help/stats: ${statsHasStatsHelp ? "✅" : "❌"}`);
168
- if (!statsHasBaseHelp || !statsHasStatsHelp) allPassed = false;
169
-
170
- const statsNoJsonHelp = !statsHelpUris.includes("sqlite://help/json");
171
- console.log(` No sqlite://help/json: ${statsNoJsonHelp ? "✅" : "❌"}`);
172
- if (!statsNoJsonHelp) allPassed = false;
173
-
174
- // ── Test 4: Multi-group Filter ──
175
- console.log(
176
- "\n=== Test 4: Multi-group Filter (--tool-filter core,json,text,stats) ===\n",
177
- );
178
-
179
- const multiResult = await testServer([
180
- "--tool-filter",
181
- "core,json,text,stats",
182
- ]);
183
- const multiHelpUris = multiResult.resourceUris.filter((u) =>
184
- u.startsWith("sqlite://help"),
185
- );
186
- console.log(` Help resources: ${multiHelpUris.join(", ")}`);
187
-
188
- const expectedMulti = [
189
- "sqlite://help",
190
- "sqlite://help/core",
191
- "sqlite://help/json",
192
- "sqlite://help/text",
193
- "sqlite://help/stats",
194
- ];
195
- for (const uri of expectedMulti) {
196
- const found = multiHelpUris.includes(uri);
197
- console.log(` Has ${uri}: ${found ? "✅" : "❌"}`);
198
- if (!found) allPassed = false;
199
- }
200
-
201
- const multiNoVector = !multiHelpUris.includes("sqlite://help/vector");
202
- const multiNoGeo = !multiHelpUris.includes("sqlite://help/geo");
203
- console.log(` No sqlite://help/vector: ${multiNoVector ? "✅" : "❌"}`);
204
- console.log(` No sqlite://help/geo: ${multiNoGeo ? "✅" : "❌"}`);
205
- if (!multiNoVector || !multiNoGeo) allPassed = false;
206
-
207
- // ── Test 5: Full Filter ──
208
- console.log("\n=== Test 5: Full Filter (--tool-filter full) ===\n");
209
-
210
- const fullResult = await testServer(["--tool-filter", "full"]);
211
- const fullHelpUris = fullResult.resourceUris.filter((u) =>
212
- u.startsWith("sqlite://help"),
213
- );
214
- console.log(
215
- ` Help resources (${fullHelpUris.length}): ${fullHelpUris.join(", ")}`,
216
- );
217
-
218
- const expectedFull = [
219
- "sqlite://help",
220
- "sqlite://help/core",
221
- "sqlite://help/json",
222
- "sqlite://help/text",
223
- "sqlite://help/stats",
224
- "sqlite://help/vector",
225
- "sqlite://help/geo",
226
- "sqlite://help/admin",
227
- "sqlite://help/transactions",
228
- "sqlite://help/introspection",
229
- "sqlite://help/migration",
230
- ];
231
- const fullHasAll = expectedFull.every((u) => fullHelpUris.includes(u));
232
- console.log(` Has all 11 help resources: ${fullHasAll ? "✅" : "❌"}`);
233
- if (!fullHasAll) allPassed = false;
234
-
235
- // ── Summary ──
236
- console.log(
237
- `\n=== Overall: ${allPassed ? "✅ ALL PASSED" : "❌ FAILURES"} ===`,
238
- );
239
- process.exit(allPassed ? 0 : 1);
240
- }
241
-
242
- main().catch((err) => {
243
- console.error("Fatal:", err.message);
244
- process.exit(1);
245
- });
@@ -1,251 +0,0 @@
1
- import { spawn } from "child_process";
2
- import { resolve, dirname } from "path";
3
- import { fileURLToPath } from "url";
4
-
5
- const __dirname = dirname(fileURLToPath(import.meta.url));
6
- const projectDir = resolve(__dirname, "../..");
7
-
8
- const proc = spawn(
9
- "node",
10
- [
11
- "dist/cli.js",
12
- "--sqlite-native",
13
- "./test-server/test.db",
14
- "--log-level",
15
- "error",
16
- ],
17
- {
18
- cwd: projectDir,
19
- stdio: ["pipe", "pipe", "pipe"],
20
- },
21
- );
22
-
23
- let buffer = "";
24
- const pending = new Map(); // id -> resolve
25
-
26
- proc.stdout.on("data", (chunk) => {
27
- buffer += chunk.toString();
28
- const lines = buffer.split("\n");
29
- buffer = lines.pop(); // keep incomplete
30
- for (const line of lines) {
31
- const trimmed = line.trim();
32
- if (!trimmed) continue;
33
- try {
34
- const msg = JSON.parse(trimmed);
35
- if (msg.id && pending.has(msg.id)) {
36
- pending.get(msg.id)(msg);
37
- pending.delete(msg.id);
38
- }
39
- } catch {}
40
- }
41
- });
42
- proc.stderr.on("data", () => {});
43
-
44
- let nextId = 1;
45
- function rpc(method, params = {}) {
46
- const id = nextId++;
47
- return new Promise((resolve, reject) => {
48
- const timer = setTimeout(() => {
49
- pending.delete(id);
50
- reject(new Error(`Timeout: ${method}`));
51
- }, 20000);
52
- pending.set(id, (msg) => {
53
- clearTimeout(timer);
54
- resolve(msg);
55
- });
56
- proc.stdin.write(
57
- JSON.stringify({ jsonrpc: "2.0", id, method, params }) + "\n",
58
- );
59
- });
60
- }
61
- function notify(method, params = {}) {
62
- proc.stdin.write(JSON.stringify({ jsonrpc: "2.0", method, params }) + "\n");
63
- }
64
-
65
- const delay = (ms) => new Promise((r) => setTimeout(r, ms));
66
-
67
- async function main() {
68
- // Initialize
69
- await rpc("initialize", {
70
- protocolVersion: "2025-03-26",
71
- capabilities: {},
72
- clientInfo: { name: "test-prompts", version: "1.0" },
73
- });
74
- await delay(500);
75
- notify("notifications/initialized");
76
- await delay(1000);
77
-
78
- // List prompts
79
- const listResp = await rpc("prompts/list", {});
80
- const prompts = listResp.result?.prompts ?? [];
81
- console.log(`\n=== PROMPTS LIST: ${prompts.length} prompts ===`);
82
- for (const p of prompts) {
83
- const args = (p.arguments || [])
84
- .map((a) => `${a.name}${a.required ? "*" : ""}`)
85
- .join(", ");
86
- console.log(` ${p.name}(${args})`);
87
- }
88
-
89
- const testCases = [
90
- // No-argument prompts
91
- { name: "sqlite_explain_schema", args: {}, expect: "" },
92
- { name: "sqlite_optimization", args: {}, expect: "" },
93
- { name: "sqlite_documentation", args: {}, expect: "" },
94
-
95
- // Required-argument prompts
96
- {
97
- name: "sqlite_query_builder",
98
- args: {
99
- operation: "SELECT",
100
- tables: "users",
101
- description: "find active",
102
- },
103
- expect: "",
104
- },
105
- {
106
- name: "sqlite_data_analysis",
107
- args: { table: "users" },
108
- expect: "",
109
- },
110
- {
111
- name: "sqlite_migration",
112
- args: { change: "add desc" },
113
- expect: "",
114
- },
115
- {
116
- name: "sqlite_debug_query",
117
- args: { query: "SELECT * FROM test" },
118
- expect: "",
119
- },
120
- {
121
- name: "sqlite_summarize_table",
122
- args: { table_name: "users" },
123
- expect: "",
124
- },
125
- {
126
- name: "sqlite_hybrid_search_workflow",
127
- args: { use_case: "product_search" },
128
- expect: "",
129
- },
130
- {
131
- name: "sqlite_demo",
132
- args: { topic: "sales" },
133
- expect: "",
134
- },
135
-
136
- // Optional-argument prompts
137
- {
138
- name: "sqlite_data_analysis",
139
- args: { table: "users", focus: "growth" },
140
- expect: "",
141
- },
142
- {
143
- name: "sqlite_migration",
144
- args: { change: "add id", reversible: "true" },
145
- expect: "",
146
- },
147
- ];
148
-
149
- console.log(`\n=== TESTING ${testCases.length} PROMPT CALLS ===\n`);
150
- let pass = 0,
151
- fail = 0;
152
-
153
- for (const tc of testCases) {
154
- const argsStr = Object.keys(tc.args).length
155
- ? JSON.stringify(tc.args)
156
- : "(none)";
157
- try {
158
- const resp = await rpc("prompts/get", {
159
- name: tc.name,
160
- arguments: tc.args,
161
- });
162
- if (resp.error) {
163
- console.log(
164
- `FAIL ${tc.name}(${argsStr}): MCP error: ${JSON.stringify(resp.error)}`,
165
- );
166
- fail++;
167
- continue;
168
- }
169
- const messages = resp.result?.messages;
170
- const checks = [];
171
- if (!Array.isArray(messages)) checks.push("messages not array");
172
- else if (messages.length < 1) checks.push("messages empty");
173
- else {
174
- const m = messages[0];
175
- if (m.role !== "user") checks.push(`role=${m.role}`);
176
- if (!m.content) checks.push("no content");
177
- else {
178
- const c = m.content;
179
- if (c.type !== "text") checks.push(`type=${c.type}`);
180
- if (!c.text || c.text.length === 0) checks.push("text empty");
181
- else if (
182
- tc.expect &&
183
- !c.text.toLowerCase().includes(tc.expect.toLowerCase())
184
- ) {
185
- checks.push(`missing '${tc.expect}' (len=${c.text.length})`);
186
- }
187
- }
188
- }
189
- if (checks.length === 0) {
190
- const textLen = messages?.[0]?.content?.text?.length ?? 0;
191
- console.log(
192
- `PASS ${tc.name}(${argsStr}) — msgs:${messages.length}, textLen:${textLen}`,
193
- );
194
- pass++;
195
- } else {
196
- console.log(`FAIL ${tc.name}(${argsStr}): ${checks.join("; ")}`);
197
- fail++;
198
- }
199
- } catch (err) {
200
- console.log(`FAIL ${tc.name}(${argsStr}): ${err.message}`);
201
- fail++;
202
- }
203
- }
204
-
205
- // Error handling tests
206
- try {
207
- const resp = await rpc("prompts/get", {
208
- name: "nonexistent-prompt",
209
- arguments: {},
210
- });
211
- if (resp.error) {
212
- console.log(
213
- `PASS nonexistent-prompt: MCP error (code=${resp.error.code})`,
214
- );
215
- pass++;
216
- } else {
217
- console.log(`FAIL nonexistent-prompt: expected error`);
218
- fail++;
219
- }
220
- } catch (err) {
221
- console.log(`FAIL nonexistent-prompt: ${err.message}`);
222
- fail++;
223
- }
224
-
225
- try {
226
- const resp = await rpc("prompts/get", {
227
- name: "sqlite_query_builder",
228
- arguments: {},
229
- });
230
- if (resp.error) {
231
- console.log(`PASS sqlite_query_builder(no args): error returned`);
232
- } else {
233
- console.log(`PASS sqlite_query_builder(no args): handled gracefully`);
234
- }
235
- pass++;
236
- } catch (err) {
237
- console.log(`FAIL sqlite_query_builder(no args): ${err.message}`);
238
- fail++;
239
- }
240
-
241
- console.log(
242
- `\n=== RESULTS: ${pass} pass, ${fail} fail (${pass + fail} total) ===`,
243
- );
244
- proc.kill();
245
- process.exit(fail > 0 ? 1 : 0);
246
- }
247
-
248
- main().catch((err) => {
249
- console.error(err);
250
- process.exit(1);
251
- });
@@ -1,162 +0,0 @@
1
- /**
2
- * Integration Test: Tool Annotations
3
- *
4
- * Verifies that all tools returned by tools/list have annotations
5
- * with openWorldHint set. db-mcp tools are all local SQLite operations,
6
- * so all should have openWorldHint: false.
7
- *
8
- * Usage:
9
- * npm run build
10
- * node test-server/scripts/test-tool-annotations.mjs
11
- */
12
-
13
- import { spawn } from "child_process";
14
-
15
- const projectDir = "C:\\Users\\chris\\Desktop\\db-mcp";
16
- const proc = spawn(
17
- "node",
18
- [
19
- "dist/cli.js",
20
- "--instruction-level",
21
- "essential",
22
- "--sqlite-native",
23
- "./test-server/test.db",
24
- "--tool-filter",
25
- "+all",
26
- ],
27
- {
28
- cwd: projectDir,
29
- stdio: ["pipe", "pipe", "pipe"],
30
- },
31
- );
32
-
33
- let buffer = "";
34
- let finished = false;
35
-
36
- proc.stdout.on("data", (chunk) => {
37
- buffer += chunk.toString();
38
-
39
- // Try to parse complete JSON-RPC responses
40
- const lines = buffer.split("\n");
41
- for (const line of lines) {
42
- const trimmed = line.trim();
43
- if (!trimmed) continue;
44
- try {
45
- const msg = JSON.parse(trimmed);
46
- if (msg.id === 1) {
47
- // Initialize response — skip
48
- } else if (msg.id === 2) {
49
- // tools/list response
50
- const tools = msg.result?.tools || [];
51
- console.log(`Total tools: ${tools.length}`);
52
-
53
- let withAnnotations = 0;
54
- let openWorldTrue = 0;
55
- let openWorldFalse = 0;
56
- let missing = 0;
57
- const trueNames = [];
58
- const missingNames = [];
59
-
60
- for (const tool of tools) {
61
- if (tool.annotations) {
62
- withAnnotations++;
63
- if (tool.annotations.openWorldHint === true) {
64
- openWorldTrue++;
65
- trueNames.push(tool.name);
66
- } else if (tool.annotations.openWorldHint === false) {
67
- openWorldFalse++;
68
- } else {
69
- missing++;
70
- missingNames.push(tool.name);
71
- }
72
- } else {
73
- missing++;
74
- missingNames.push(tool.name);
75
- }
76
- }
77
-
78
- console.log(
79
- `Tools with annotations: ${withAnnotations}/${tools.length}`,
80
- );
81
- console.log(`openWorldHint=false (local): ${openWorldFalse}`);
82
- console.log(`openWorldHint=true: ${openWorldTrue}`);
83
- console.log(`Missing openWorldHint: ${missing}`);
84
-
85
- if (trueNames.length > 0) {
86
- console.log(`\nopenWorldHint=true tools: ${trueNames.join(", ")}`);
87
- }
88
- if (missingNames.length > 0) {
89
- console.log(`\nMISSING annotations: ${missingNames.join(", ")}`);
90
- }
91
-
92
- // Verification
93
- const expectedCount = 154; // 151 Native tools + 3 built-in tools
94
- const hasExpectedCount = tools.length === expectedCount;
95
- const allHaveAnnotations = missing === 0;
96
- const allAreFalse =
97
- openWorldTrue === 0 && openWorldFalse === tools.length;
98
-
99
- console.log(
100
- `\n Has exactly ${expectedCount} tools: ${hasExpectedCount ? "✅" : "❌"} (actual: ${tools.length})`,
101
- );
102
- console.log(
103
- ` All tools have annotations: ${allHaveAnnotations ? "✅" : "❌"}`,
104
- );
105
- console.log(
106
- ` All openWorldHint=false: ${allAreFalse ? "✅" : "⚠️ (some are true)"}`,
107
- );
108
-
109
- finished = true;
110
- proc.kill();
111
- process.exit(allHaveAnnotations && hasExpectedCount ? 0 : 1);
112
- }
113
- } catch {
114
- // Not complete JSON yet
115
- }
116
- }
117
- });
118
-
119
- proc.stderr.on("data", () => {});
120
-
121
- // Send initialize
122
- proc.stdin.write(
123
- JSON.stringify({
124
- jsonrpc: "2.0",
125
- id: 1,
126
- method: "initialize",
127
- params: {
128
- protocolVersion: "2025-03-26",
129
- capabilities: {},
130
- clientInfo: { name: "test", version: "1.0" },
131
- },
132
- }) + "\n",
133
- );
134
-
135
- // Wait, then send initialized + tools/list
136
- setTimeout(() => {
137
- proc.stdin.write(
138
- JSON.stringify({
139
- jsonrpc: "2.0",
140
- method: "notifications/initialized",
141
- }) + "\n",
142
- );
143
-
144
- setTimeout(() => {
145
- proc.stdin.write(
146
- JSON.stringify({
147
- jsonrpc: "2.0",
148
- id: 2,
149
- method: "tools/list",
150
- params: {},
151
- }) + "\n",
152
- );
153
- }, 500);
154
- }, 1500);
155
-
156
- setTimeout(() => {
157
- if (!finished) {
158
- console.log("Timeout — killing process");
159
- proc.kill();
160
- process.exit(1);
161
- }
162
- }, 15000);