@neverinfamous/mysql-mcp 2.1.0 → 2.3.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 (802) hide show
  1. package/.env.example +14 -4
  2. package/.github/ISSUE_TEMPLATE/bug_report.md +7 -1
  3. package/.github/ISSUE_TEMPLATE/feature_request.md +6 -1
  4. package/.github/dependabot.yml +15 -0
  5. package/.github/pull_request_template.md +5 -0
  6. package/.github/workflows/codeql.yml +41 -42
  7. package/.github/workflows/docker-publish.yml +247 -210
  8. package/.github/workflows/publish-npm.yml +16 -6
  9. package/CHANGELOG.md +357 -22
  10. package/CODE_MODE.md +245 -0
  11. package/CODE_OF_CONDUCT.md +2 -0
  12. package/DOCKER_README.md +250 -161
  13. package/Dockerfile +2 -2
  14. package/README.md +239 -182
  15. package/SECURITY.md +0 -8
  16. package/VERSION +1 -1
  17. package/dist/__tests__/mocks/adapter.d.ts +3 -3
  18. package/dist/__tests__/mocks/adapter.d.ts.map +1 -1
  19. package/dist/__tests__/mocks/adapter.js +51 -35
  20. package/dist/__tests__/mocks/adapter.js.map +1 -1
  21. package/dist/__tests__/mocks/index.d.ts +4 -4
  22. package/dist/__tests__/mocks/index.d.ts.map +1 -1
  23. package/dist/__tests__/mocks/index.js +2 -2
  24. package/dist/__tests__/mocks/index.js.map +1 -1
  25. package/dist/__tests__/mocks/mysql.d.ts +2 -2
  26. package/dist/__tests__/mocks/mysql.d.ts.map +1 -1
  27. package/dist/__tests__/mocks/mysql.js +14 -14
  28. package/dist/__tests__/mocks/mysql.js.map +1 -1
  29. package/dist/__tests__/setup.d.ts.map +1 -1
  30. package/dist/__tests__/setup.js +7 -7
  31. package/dist/__tests__/setup.js.map +1 -1
  32. package/dist/adapters/DatabaseAdapter.d.ts +2 -2
  33. package/dist/adapters/DatabaseAdapter.d.ts.map +1 -1
  34. package/dist/adapters/DatabaseAdapter.js +69 -40
  35. package/dist/adapters/DatabaseAdapter.js.map +1 -1
  36. package/dist/adapters/mysql/MySQLAdapter.d.ts +14 -4
  37. package/dist/adapters/mysql/MySQLAdapter.d.ts.map +1 -1
  38. package/dist/adapters/mysql/MySQLAdapter.js +152 -116
  39. package/dist/adapters/mysql/MySQLAdapter.js.map +1 -1
  40. package/dist/adapters/mysql/SchemaManager.d.ts +1 -1
  41. package/dist/adapters/mysql/SchemaManager.d.ts.map +1 -1
  42. package/dist/adapters/mysql/SchemaManager.js +76 -56
  43. package/dist/adapters/mysql/SchemaManager.js.map +1 -1
  44. package/dist/adapters/mysql/index.d.ts +2 -2
  45. package/dist/adapters/mysql/index.js +2 -2
  46. package/dist/adapters/mysql/prompts/backupStrategy.d.ts +1 -1
  47. package/dist/adapters/mysql/prompts/backupStrategy.d.ts.map +1 -1
  48. package/dist/adapters/mysql/prompts/backupStrategy.js +21 -9
  49. package/dist/adapters/mysql/prompts/backupStrategy.js.map +1 -1
  50. package/dist/adapters/mysql/prompts/clusterSetup.d.ts +1 -1
  51. package/dist/adapters/mysql/prompts/clusterSetup.d.ts.map +1 -1
  52. package/dist/adapters/mysql/prompts/clusterSetup.js +3 -3
  53. package/dist/adapters/mysql/prompts/clusterSetup.js.map +1 -1
  54. package/dist/adapters/mysql/prompts/docstoreSetup.d.ts +1 -1
  55. package/dist/adapters/mysql/prompts/docstoreSetup.js +3 -3
  56. package/dist/adapters/mysql/prompts/docstoreSetup.js.map +1 -1
  57. package/dist/adapters/mysql/prompts/eventScheduler.d.ts +1 -1
  58. package/dist/adapters/mysql/prompts/eventScheduler.js +3 -3
  59. package/dist/adapters/mysql/prompts/eventScheduler.js.map +1 -1
  60. package/dist/adapters/mysql/prompts/healthCheck.d.ts +1 -1
  61. package/dist/adapters/mysql/prompts/healthCheck.d.ts.map +1 -1
  62. package/dist/adapters/mysql/prompts/healthCheck.js +10 -6
  63. package/dist/adapters/mysql/prompts/healthCheck.js.map +1 -1
  64. package/dist/adapters/mysql/prompts/index.d.ts +10 -3
  65. package/dist/adapters/mysql/prompts/index.d.ts.map +1 -1
  66. package/dist/adapters/mysql/prompts/index.js +106 -63
  67. package/dist/adapters/mysql/prompts/index.js.map +1 -1
  68. package/dist/adapters/mysql/prompts/indexTuning.d.ts +1 -1
  69. package/dist/adapters/mysql/prompts/indexTuning.d.ts.map +1 -1
  70. package/dist/adapters/mysql/prompts/indexTuning.js +11 -7
  71. package/dist/adapters/mysql/prompts/indexTuning.js.map +1 -1
  72. package/dist/adapters/mysql/prompts/mysqlshSetup.d.ts +1 -1
  73. package/dist/adapters/mysql/prompts/mysqlshSetup.js +4 -4
  74. package/dist/adapters/mysql/prompts/mysqlshSetup.js.map +1 -1
  75. package/dist/adapters/mysql/prompts/proxysqlSetup.d.ts +1 -1
  76. package/dist/adapters/mysql/prompts/proxysqlSetup.js +3 -3
  77. package/dist/adapters/mysql/prompts/proxysqlSetup.js.map +1 -1
  78. package/dist/adapters/mysql/prompts/replicationSetup.d.ts +1 -1
  79. package/dist/adapters/mysql/prompts/replicationSetup.d.ts.map +1 -1
  80. package/dist/adapters/mysql/prompts/replicationSetup.js +13 -7
  81. package/dist/adapters/mysql/prompts/replicationSetup.js.map +1 -1
  82. package/dist/adapters/mysql/prompts/routerSetup.d.ts +1 -1
  83. package/dist/adapters/mysql/prompts/routerSetup.d.ts.map +1 -1
  84. package/dist/adapters/mysql/prompts/routerSetup.js +8 -3
  85. package/dist/adapters/mysql/prompts/routerSetup.js.map +1 -1
  86. package/dist/adapters/mysql/prompts/spatialSetup.d.ts +1 -1
  87. package/dist/adapters/mysql/prompts/spatialSetup.js +3 -3
  88. package/dist/adapters/mysql/prompts/spatialSetup.js.map +1 -1
  89. package/dist/adapters/mysql/prompts/sysSchema.d.ts +1 -1
  90. package/dist/adapters/mysql/prompts/sysSchema.d.ts.map +1 -1
  91. package/dist/adapters/mysql/prompts/sysSchema.js +3 -3
  92. package/dist/adapters/mysql/prompts/sysSchema.js.map +1 -1
  93. package/dist/adapters/mysql/resources/capabilities.d.ts +2 -2
  94. package/dist/adapters/mysql/resources/capabilities.d.ts.map +1 -1
  95. package/dist/adapters/mysql/resources/capabilities.js +19 -16
  96. package/dist/adapters/mysql/resources/capabilities.js.map +1 -1
  97. package/dist/adapters/mysql/resources/cluster.d.ts +2 -2
  98. package/dist/adapters/mysql/resources/cluster.d.ts.map +1 -1
  99. package/dist/adapters/mysql/resources/cluster.js +17 -15
  100. package/dist/adapters/mysql/resources/cluster.js.map +1 -1
  101. package/dist/adapters/mysql/resources/docstore.d.ts +2 -2
  102. package/dist/adapters/mysql/resources/docstore.d.ts.map +1 -1
  103. package/dist/adapters/mysql/resources/docstore.js +12 -12
  104. package/dist/adapters/mysql/resources/docstore.js.map +1 -1
  105. package/dist/adapters/mysql/resources/events.d.ts +2 -2
  106. package/dist/adapters/mysql/resources/events.d.ts.map +1 -1
  107. package/dist/adapters/mysql/resources/events.js +12 -12
  108. package/dist/adapters/mysql/resources/events.js.map +1 -1
  109. package/dist/adapters/mysql/resources/health.d.ts +2 -2
  110. package/dist/adapters/mysql/resources/health.d.ts.map +1 -1
  111. package/dist/adapters/mysql/resources/health.js +36 -32
  112. package/dist/adapters/mysql/resources/health.js.map +1 -1
  113. package/dist/adapters/mysql/resources/index.d.ts +11 -3
  114. package/dist/adapters/mysql/resources/index.d.ts.map +1 -1
  115. package/dist/adapters/mysql/resources/index.js +28 -20
  116. package/dist/adapters/mysql/resources/index.js.map +1 -1
  117. package/dist/adapters/mysql/resources/indexes.d.ts +2 -2
  118. package/dist/adapters/mysql/resources/indexes.d.ts.map +1 -1
  119. package/dist/adapters/mysql/resources/indexes.js +12 -12
  120. package/dist/adapters/mysql/resources/indexes.js.map +1 -1
  121. package/dist/adapters/mysql/resources/innodb.d.ts +2 -2
  122. package/dist/adapters/mysql/resources/innodb.d.ts.map +1 -1
  123. package/dist/adapters/mysql/resources/innodb.js +37 -36
  124. package/dist/adapters/mysql/resources/innodb.js.map +1 -1
  125. package/dist/adapters/mysql/resources/locks.d.ts +2 -2
  126. package/dist/adapters/mysql/resources/locks.d.ts.map +1 -1
  127. package/dist/adapters/mysql/resources/locks.js +14 -14
  128. package/dist/adapters/mysql/resources/locks.js.map +1 -1
  129. package/dist/adapters/mysql/resources/performance.d.ts +2 -2
  130. package/dist/adapters/mysql/resources/performance.d.ts.map +1 -1
  131. package/dist/adapters/mysql/resources/performance.js +30 -29
  132. package/dist/adapters/mysql/resources/performance.js.map +1 -1
  133. package/dist/adapters/mysql/resources/pool.d.ts +2 -2
  134. package/dist/adapters/mysql/resources/pool.d.ts.map +1 -1
  135. package/dist/adapters/mysql/resources/pool.js +9 -9
  136. package/dist/adapters/mysql/resources/pool.js.map +1 -1
  137. package/dist/adapters/mysql/resources/processlist.d.ts +2 -2
  138. package/dist/adapters/mysql/resources/processlist.d.ts.map +1 -1
  139. package/dist/adapters/mysql/resources/processlist.js +9 -9
  140. package/dist/adapters/mysql/resources/processlist.js.map +1 -1
  141. package/dist/adapters/mysql/resources/replication.d.ts +2 -2
  142. package/dist/adapters/mysql/resources/replication.d.ts.map +1 -1
  143. package/dist/adapters/mysql/resources/replication.js +42 -35
  144. package/dist/adapters/mysql/resources/replication.js.map +1 -1
  145. package/dist/adapters/mysql/resources/schema.d.ts +2 -2
  146. package/dist/adapters/mysql/resources/schema.d.ts.map +1 -1
  147. package/dist/adapters/mysql/resources/schema.js +8 -8
  148. package/dist/adapters/mysql/resources/schema.js.map +1 -1
  149. package/dist/adapters/mysql/resources/spatial.d.ts +2 -2
  150. package/dist/adapters/mysql/resources/spatial.d.ts.map +1 -1
  151. package/dist/adapters/mysql/resources/spatial.js +9 -9
  152. package/dist/adapters/mysql/resources/spatial.js.map +1 -1
  153. package/dist/adapters/mysql/resources/status.d.ts +2 -2
  154. package/dist/adapters/mysql/resources/status.d.ts.map +1 -1
  155. package/dist/adapters/mysql/resources/status.js +10 -10
  156. package/dist/adapters/mysql/resources/status.js.map +1 -1
  157. package/dist/adapters/mysql/resources/sysschema.d.ts +2 -2
  158. package/dist/adapters/mysql/resources/sysschema.d.ts.map +1 -1
  159. package/dist/adapters/mysql/resources/sysschema.js +10 -10
  160. package/dist/adapters/mysql/resources/sysschema.js.map +1 -1
  161. package/dist/adapters/mysql/resources/tables.d.ts +2 -2
  162. package/dist/adapters/mysql/resources/tables.d.ts.map +1 -1
  163. package/dist/adapters/mysql/resources/tables.js +8 -8
  164. package/dist/adapters/mysql/resources/tables.js.map +1 -1
  165. package/dist/adapters/mysql/resources/variables.d.ts +2 -2
  166. package/dist/adapters/mysql/resources/variables.d.ts.map +1 -1
  167. package/dist/adapters/mysql/resources/variables.js +10 -10
  168. package/dist/adapters/mysql/resources/variables.js.map +1 -1
  169. package/dist/adapters/mysql/tools/admin/backup.d.ts +2 -2
  170. package/dist/adapters/mysql/tools/admin/backup.d.ts.map +1 -1
  171. package/dist/adapters/mysql/tools/admin/backup.js +193 -101
  172. package/dist/adapters/mysql/tools/admin/backup.js.map +1 -1
  173. package/dist/adapters/mysql/tools/admin/index.d.ts +2 -2
  174. package/dist/adapters/mysql/tools/admin/index.js +6 -6
  175. package/dist/adapters/mysql/tools/admin/index.js.map +1 -1
  176. package/dist/adapters/mysql/tools/admin/maintenance.d.ts +2 -2
  177. package/dist/adapters/mysql/tools/admin/maintenance.d.ts.map +1 -1
  178. package/dist/adapters/mysql/tools/admin/maintenance.js +97 -66
  179. package/dist/adapters/mysql/tools/admin/maintenance.js.map +1 -1
  180. package/dist/adapters/mysql/tools/admin/monitoring.d.ts +2 -2
  181. package/dist/adapters/mysql/tools/admin/monitoring.d.ts.map +1 -1
  182. package/dist/adapters/mysql/tools/admin/monitoring.js +215 -79
  183. package/dist/adapters/mysql/tools/admin/monitoring.js.map +1 -1
  184. package/dist/adapters/mysql/tools/cluster/group-replication.d.ts +2 -2
  185. package/dist/adapters/mysql/tools/cluster/group-replication.d.ts.map +1 -1
  186. package/dist/adapters/mysql/tools/cluster/group-replication.js +90 -74
  187. package/dist/adapters/mysql/tools/cluster/group-replication.js.map +1 -1
  188. package/dist/adapters/mysql/tools/cluster/index.d.ts +2 -2
  189. package/dist/adapters/mysql/tools/cluster/index.js +3 -3
  190. package/dist/adapters/mysql/tools/cluster/index.js.map +1 -1
  191. package/dist/adapters/mysql/tools/cluster/innodb-cluster.d.ts +2 -2
  192. package/dist/adapters/mysql/tools/cluster/innodb-cluster.d.ts.map +1 -1
  193. package/dist/adapters/mysql/tools/cluster/innodb-cluster.js +225 -97
  194. package/dist/adapters/mysql/tools/cluster/innodb-cluster.js.map +1 -1
  195. package/dist/adapters/mysql/tools/codemode/index.d.ts +38 -0
  196. package/dist/adapters/mysql/tools/codemode/index.d.ts.map +1 -0
  197. package/dist/adapters/mysql/tools/codemode/index.js +203 -0
  198. package/dist/adapters/mysql/tools/codemode/index.js.map +1 -0
  199. package/dist/adapters/mysql/tools/core.d.ts +2 -2
  200. package/dist/adapters/mysql/tools/core.d.ts.map +1 -1
  201. package/dist/adapters/mysql/tools/core.js +234 -114
  202. package/dist/adapters/mysql/tools/core.js.map +1 -1
  203. package/dist/adapters/mysql/tools/docstore.d.ts +2 -2
  204. package/dist/adapters/mysql/tools/docstore.d.ts.map +1 -1
  205. package/dist/adapters/mysql/tools/docstore.js +252 -117
  206. package/dist/adapters/mysql/tools/docstore.js.map +1 -1
  207. package/dist/adapters/mysql/tools/events.d.ts +2 -2
  208. package/dist/adapters/mysql/tools/events.d.ts.map +1 -1
  209. package/dist/adapters/mysql/tools/events.js +236 -113
  210. package/dist/adapters/mysql/tools/events.js.map +1 -1
  211. package/dist/adapters/mysql/tools/index.d.ts +19 -19
  212. package/dist/adapters/mysql/tools/index.d.ts.map +1 -1
  213. package/dist/adapters/mysql/tools/index.js +19 -19
  214. package/dist/adapters/mysql/tools/index.js.map +1 -1
  215. package/dist/adapters/mysql/tools/json/core.d.ts +2 -2
  216. package/dist/adapters/mysql/tools/json/core.d.ts.map +1 -1
  217. package/dist/adapters/mysql/tools/json/core.js +225 -131
  218. package/dist/adapters/mysql/tools/json/core.js.map +1 -1
  219. package/dist/adapters/mysql/tools/json/enhanced.d.ts +2 -2
  220. package/dist/adapters/mysql/tools/json/enhanced.d.ts.map +1 -1
  221. package/dist/adapters/mysql/tools/json/enhanced.js +274 -163
  222. package/dist/adapters/mysql/tools/json/enhanced.js.map +1 -1
  223. package/dist/adapters/mysql/tools/json/helpers.d.ts +2 -2
  224. package/dist/adapters/mysql/tools/json/helpers.d.ts.map +1 -1
  225. package/dist/adapters/mysql/tools/json/helpers.js +141 -57
  226. package/dist/adapters/mysql/tools/json/helpers.js.map +1 -1
  227. package/dist/adapters/mysql/tools/json/index.d.ts +2 -2
  228. package/dist/adapters/mysql/tools/json/index.js +6 -6
  229. package/dist/adapters/mysql/tools/json/index.js.map +1 -1
  230. package/dist/adapters/mysql/tools/partitioning.d.ts +2 -2
  231. package/dist/adapters/mysql/tools/partitioning.d.ts.map +1 -1
  232. package/dist/adapters/mysql/tools/partitioning.js +180 -64
  233. package/dist/adapters/mysql/tools/partitioning.js.map +1 -1
  234. package/dist/adapters/mysql/tools/performance/analysis.d.ts +2 -2
  235. package/dist/adapters/mysql/tools/performance/analysis.d.ts.map +1 -1
  236. package/dist/adapters/mysql/tools/performance/analysis.js +184 -101
  237. package/dist/adapters/mysql/tools/performance/analysis.js.map +1 -1
  238. package/dist/adapters/mysql/tools/performance/index.d.ts +2 -2
  239. package/dist/adapters/mysql/tools/performance/index.js +4 -4
  240. package/dist/adapters/mysql/tools/performance/index.js.map +1 -1
  241. package/dist/adapters/mysql/tools/performance/optimization.d.ts +3 -3
  242. package/dist/adapters/mysql/tools/performance/optimization.d.ts.map +1 -1
  243. package/dist/adapters/mysql/tools/performance/optimization.js +229 -77
  244. package/dist/adapters/mysql/tools/performance/optimization.js.map +1 -1
  245. package/dist/adapters/mysql/tools/proxysql.d.ts +2 -2
  246. package/dist/adapters/mysql/tools/proxysql.d.ts.map +1 -1
  247. package/dist/adapters/mysql/tools/proxysql.js +213 -125
  248. package/dist/adapters/mysql/tools/proxysql.js.map +1 -1
  249. package/dist/adapters/mysql/tools/replication.d.ts +2 -2
  250. package/dist/adapters/mysql/tools/replication.d.ts.map +1 -1
  251. package/dist/adapters/mysql/tools/replication.js +117 -66
  252. package/dist/adapters/mysql/tools/replication.js.map +1 -1
  253. package/dist/adapters/mysql/tools/roles.d.ts +2 -2
  254. package/dist/adapters/mysql/tools/roles.d.ts.map +1 -1
  255. package/dist/adapters/mysql/tools/roles.js +276 -84
  256. package/dist/adapters/mysql/tools/roles.js.map +1 -1
  257. package/dist/adapters/mysql/tools/router.d.ts +2 -2
  258. package/dist/adapters/mysql/tools/router.d.ts.map +1 -1
  259. package/dist/adapters/mysql/tools/router.js +174 -109
  260. package/dist/adapters/mysql/tools/router.js.map +1 -1
  261. package/dist/adapters/mysql/tools/schema/constraints.d.ts +2 -2
  262. package/dist/adapters/mysql/tools/schema/constraints.d.ts.map +1 -1
  263. package/dist/adapters/mysql/tools/schema/constraints.js +24 -15
  264. package/dist/adapters/mysql/tools/schema/constraints.js.map +1 -1
  265. package/dist/adapters/mysql/tools/schema/index.d.ts +2 -2
  266. package/dist/adapters/mysql/tools/schema/index.d.ts.map +1 -1
  267. package/dist/adapters/mysql/tools/schema/index.js +7 -7
  268. package/dist/adapters/mysql/tools/schema/index.js.map +1 -1
  269. package/dist/adapters/mysql/tools/schema/management.d.ts +2 -2
  270. package/dist/adapters/mysql/tools/schema/management.d.ts.map +1 -1
  271. package/dist/adapters/mysql/tools/schema/management.js +99 -42
  272. package/dist/adapters/mysql/tools/schema/management.js.map +1 -1
  273. package/dist/adapters/mysql/tools/schema/routines.d.ts +2 -2
  274. package/dist/adapters/mysql/tools/schema/routines.d.ts.map +1 -1
  275. package/dist/adapters/mysql/tools/schema/routines.js +36 -19
  276. package/dist/adapters/mysql/tools/schema/routines.js.map +1 -1
  277. package/dist/adapters/mysql/tools/schema/scheduled_events.d.ts +2 -2
  278. package/dist/adapters/mysql/tools/schema/scheduled_events.d.ts.map +1 -1
  279. package/dist/adapters/mysql/tools/schema/scheduled_events.js +26 -13
  280. package/dist/adapters/mysql/tools/schema/scheduled_events.js.map +1 -1
  281. package/dist/adapters/mysql/tools/schema/triggers.d.ts +2 -2
  282. package/dist/adapters/mysql/tools/schema/triggers.d.ts.map +1 -1
  283. package/dist/adapters/mysql/tools/schema/triggers.js +24 -13
  284. package/dist/adapters/mysql/tools/schema/triggers.js.map +1 -1
  285. package/dist/adapters/mysql/tools/schema/views.d.ts +2 -2
  286. package/dist/adapters/mysql/tools/schema/views.d.ts.map +1 -1
  287. package/dist/adapters/mysql/tools/schema/views.js +59 -28
  288. package/dist/adapters/mysql/tools/schema/views.js.map +1 -1
  289. package/dist/adapters/mysql/tools/security/audit.d.ts +2 -2
  290. package/dist/adapters/mysql/tools/security/audit.d.ts.map +1 -1
  291. package/dist/adapters/mysql/tools/security/audit.js +61 -55
  292. package/dist/adapters/mysql/tools/security/audit.js.map +1 -1
  293. package/dist/adapters/mysql/tools/security/data-protection.d.ts +2 -2
  294. package/dist/adapters/mysql/tools/security/data-protection.d.ts.map +1 -1
  295. package/dist/adapters/mysql/tools/security/data-protection.js +193 -80
  296. package/dist/adapters/mysql/tools/security/data-protection.js.map +1 -1
  297. package/dist/adapters/mysql/tools/security/encryption.d.ts +2 -2
  298. package/dist/adapters/mysql/tools/security/encryption.d.ts.map +1 -1
  299. package/dist/adapters/mysql/tools/security/encryption.js +86 -67
  300. package/dist/adapters/mysql/tools/security/encryption.js.map +1 -1
  301. package/dist/adapters/mysql/tools/security/index.d.ts +2 -2
  302. package/dist/adapters/mysql/tools/security/index.js +4 -4
  303. package/dist/adapters/mysql/tools/security/index.js.map +1 -1
  304. package/dist/adapters/mysql/tools/shell/backup.d.ts +1 -1
  305. package/dist/adapters/mysql/tools/shell/backup.d.ts.map +1 -1
  306. package/dist/adapters/mysql/tools/shell/backup.js +122 -63
  307. package/dist/adapters/mysql/tools/shell/backup.js.map +1 -1
  308. package/dist/adapters/mysql/tools/shell/common.d.ts.map +1 -1
  309. package/dist/adapters/mysql/tools/shell/common.js +61 -37
  310. package/dist/adapters/mysql/tools/shell/common.js.map +1 -1
  311. package/dist/adapters/mysql/tools/shell/data-transfer.d.ts +1 -1
  312. package/dist/adapters/mysql/tools/shell/data-transfer.d.ts.map +1 -1
  313. package/dist/adapters/mysql/tools/shell/data-transfer.js +125 -69
  314. package/dist/adapters/mysql/tools/shell/data-transfer.js.map +1 -1
  315. package/dist/adapters/mysql/tools/shell/index.d.ts +2 -2
  316. package/dist/adapters/mysql/tools/shell/index.js +6 -6
  317. package/dist/adapters/mysql/tools/shell/index.js.map +1 -1
  318. package/dist/adapters/mysql/tools/shell/info.d.ts +1 -1
  319. package/dist/adapters/mysql/tools/shell/info.d.ts.map +1 -1
  320. package/dist/adapters/mysql/tools/shell/info.js +12 -12
  321. package/dist/adapters/mysql/tools/shell/info.js.map +1 -1
  322. package/dist/adapters/mysql/tools/shell/restore.d.ts +1 -1
  323. package/dist/adapters/mysql/tools/shell/restore.d.ts.map +1 -1
  324. package/dist/adapters/mysql/tools/shell/restore.js +128 -43
  325. package/dist/adapters/mysql/tools/shell/restore.js.map +1 -1
  326. package/dist/adapters/mysql/tools/shell/utilities.d.ts +1 -1
  327. package/dist/adapters/mysql/tools/shell/utilities.d.ts.map +1 -1
  328. package/dist/adapters/mysql/tools/shell/utilities.js +42 -18
  329. package/dist/adapters/mysql/tools/shell/utilities.js.map +1 -1
  330. package/dist/adapters/mysql/tools/spatial/geometry.d.ts +2 -2
  331. package/dist/adapters/mysql/tools/spatial/geometry.d.ts.map +1 -1
  332. package/dist/adapters/mysql/tools/spatial/geometry.js +85 -46
  333. package/dist/adapters/mysql/tools/spatial/geometry.js.map +1 -1
  334. package/dist/adapters/mysql/tools/spatial/index.d.ts +2 -2
  335. package/dist/adapters/mysql/tools/spatial/index.js +5 -5
  336. package/dist/adapters/mysql/tools/spatial/index.js.map +1 -1
  337. package/dist/adapters/mysql/tools/spatial/operations.d.ts +2 -2
  338. package/dist/adapters/mysql/tools/spatial/operations.d.ts.map +1 -1
  339. package/dist/adapters/mysql/tools/spatial/operations.js +175 -106
  340. package/dist/adapters/mysql/tools/spatial/operations.js.map +1 -1
  341. package/dist/adapters/mysql/tools/spatial/queries.d.ts +2 -2
  342. package/dist/adapters/mysql/tools/spatial/queries.d.ts.map +1 -1
  343. package/dist/adapters/mysql/tools/spatial/queries.js +144 -100
  344. package/dist/adapters/mysql/tools/spatial/queries.js.map +1 -1
  345. package/dist/adapters/mysql/tools/spatial/setup.d.ts +2 -2
  346. package/dist/adapters/mysql/tools/spatial/setup.d.ts.map +1 -1
  347. package/dist/adapters/mysql/tools/spatial/setup.js +122 -34
  348. package/dist/adapters/mysql/tools/spatial/setup.js.map +1 -1
  349. package/dist/adapters/mysql/tools/stats/comparative.d.ts +2 -2
  350. package/dist/adapters/mysql/tools/stats/comparative.d.ts.map +1 -1
  351. package/dist/adapters/mysql/tools/stats/comparative.js +159 -107
  352. package/dist/adapters/mysql/tools/stats/comparative.js.map +1 -1
  353. package/dist/adapters/mysql/tools/stats/descriptive.d.ts +2 -2
  354. package/dist/adapters/mysql/tools/stats/descriptive.d.ts.map +1 -1
  355. package/dist/adapters/mysql/tools/stats/descriptive.js +268 -205
  356. package/dist/adapters/mysql/tools/stats/descriptive.js.map +1 -1
  357. package/dist/adapters/mysql/tools/stats/index.d.ts +2 -2
  358. package/dist/adapters/mysql/tools/stats/index.js +3 -3
  359. package/dist/adapters/mysql/tools/stats/index.js.map +1 -1
  360. package/dist/adapters/mysql/tools/sysschema/activity.d.ts +2 -2
  361. package/dist/adapters/mysql/tools/sysschema/activity.d.ts.map +1 -1
  362. package/dist/adapters/mysql/tools/sysschema/activity.js +23 -23
  363. package/dist/adapters/mysql/tools/sysschema/activity.js.map +1 -1
  364. package/dist/adapters/mysql/tools/sysschema/index.d.ts +2 -2
  365. package/dist/adapters/mysql/tools/sysschema/index.js +4 -4
  366. package/dist/adapters/mysql/tools/sysschema/index.js.map +1 -1
  367. package/dist/adapters/mysql/tools/sysschema/performance.d.ts +2 -2
  368. package/dist/adapters/mysql/tools/sysschema/performance.d.ts.map +1 -1
  369. package/dist/adapters/mysql/tools/sysschema/performance.js +58 -43
  370. package/dist/adapters/mysql/tools/sysschema/performance.js.map +1 -1
  371. package/dist/adapters/mysql/tools/sysschema/resources.d.ts +2 -2
  372. package/dist/adapters/mysql/tools/sysschema/resources.d.ts.map +1 -1
  373. package/dist/adapters/mysql/tools/sysschema/resources.js +58 -33
  374. package/dist/adapters/mysql/tools/sysschema/resources.js.map +1 -1
  375. package/dist/adapters/mysql/tools/text/fulltext.d.ts +4 -3
  376. package/dist/adapters/mysql/tools/text/fulltext.d.ts.map +1 -1
  377. package/dist/adapters/mysql/tools/text/fulltext.js +214 -55
  378. package/dist/adapters/mysql/tools/text/fulltext.js.map +1 -1
  379. package/dist/adapters/mysql/tools/text/index.d.ts +3 -3
  380. package/dist/adapters/mysql/tools/text/index.d.ts.map +1 -1
  381. package/dist/adapters/mysql/tools/text/index.js +6 -5
  382. package/dist/adapters/mysql/tools/text/index.js.map +1 -1
  383. package/dist/adapters/mysql/tools/text/processing.d.ts +2 -2
  384. package/dist/adapters/mysql/tools/text/processing.d.ts.map +1 -1
  385. package/dist/adapters/mysql/tools/text/processing.js +175 -122
  386. package/dist/adapters/mysql/tools/text/processing.js.map +1 -1
  387. package/dist/adapters/mysql/tools/transactions.d.ts +2 -2
  388. package/dist/adapters/mysql/tools/transactions.d.ts.map +1 -1
  389. package/dist/adapters/mysql/tools/transactions.js +162 -85
  390. package/dist/adapters/mysql/tools/transactions.js.map +1 -1
  391. package/dist/adapters/mysql/types/proxysql-types.d.ts +7 -2
  392. package/dist/adapters/mysql/types/proxysql-types.d.ts.map +1 -1
  393. package/dist/adapters/mysql/types/proxysql-types.js +52 -30
  394. package/dist/adapters/mysql/types/proxysql-types.js.map +1 -1
  395. package/dist/adapters/mysql/types/router-types.d.ts +1 -1
  396. package/dist/adapters/mysql/types/router-types.js +17 -17
  397. package/dist/adapters/mysql/types/router-types.js.map +1 -1
  398. package/dist/adapters/mysql/types/shell-types.d.ts +1 -2
  399. package/dist/adapters/mysql/types/shell-types.d.ts.map +1 -1
  400. package/dist/adapters/mysql/types/shell-types.js +255 -82
  401. package/dist/adapters/mysql/types/shell-types.js.map +1 -1
  402. package/dist/adapters/mysql/types.d.ts +976 -80
  403. package/dist/adapters/mysql/types.d.ts.map +1 -1
  404. package/dist/adapters/mysql/types.js +1317 -170
  405. package/dist/adapters/mysql/types.js.map +1 -1
  406. package/dist/auth/AuthorizationServerDiscovery.d.ts +1 -1
  407. package/dist/auth/AuthorizationServerDiscovery.d.ts.map +1 -1
  408. package/dist/auth/AuthorizationServerDiscovery.js +16 -14
  409. package/dist/auth/AuthorizationServerDiscovery.js.map +1 -1
  410. package/dist/auth/OAuthResourceServer.d.ts +1 -1
  411. package/dist/auth/OAuthResourceServer.d.ts.map +1 -1
  412. package/dist/auth/OAuthResourceServer.js +4 -4
  413. package/dist/auth/OAuthResourceServer.js.map +1 -1
  414. package/dist/auth/TokenValidator.d.ts +1 -1
  415. package/dist/auth/TokenValidator.d.ts.map +1 -1
  416. package/dist/auth/TokenValidator.js +30 -20
  417. package/dist/auth/TokenValidator.js.map +1 -1
  418. package/dist/auth/errors.d.ts.map +1 -1
  419. package/dist/auth/errors.js +24 -24
  420. package/dist/auth/errors.js.map +1 -1
  421. package/dist/auth/index.d.ts +7 -7
  422. package/dist/auth/index.d.ts.map +1 -1
  423. package/dist/auth/index.js +6 -6
  424. package/dist/auth/index.js.map +1 -1
  425. package/dist/auth/middleware.d.ts +2 -2
  426. package/dist/auth/middleware.d.ts.map +1 -1
  427. package/dist/auth/middleware.js +28 -24
  428. package/dist/auth/middleware.js.map +1 -1
  429. package/dist/auth/scopes.d.ts +2 -2
  430. package/dist/auth/scopes.d.ts.map +1 -1
  431. package/dist/auth/scopes.js +23 -16
  432. package/dist/auth/scopes.js.map +1 -1
  433. package/dist/auth/types.d.ts +2 -2
  434. package/dist/auth/types.d.ts.map +1 -1
  435. package/dist/cli/args.d.ts +1 -1
  436. package/dist/cli/args.d.ts.map +1 -1
  437. package/dist/cli/args.js +82 -68
  438. package/dist/cli/args.js.map +1 -1
  439. package/dist/cli.d.ts +1 -1
  440. package/dist/cli.d.ts.map +1 -1
  441. package/dist/cli.js +44 -34
  442. package/dist/cli.js.map +1 -1
  443. package/dist/codemode/api.d.ts +69 -0
  444. package/dist/codemode/api.d.ts.map +1 -0
  445. package/dist/codemode/api.js +1035 -0
  446. package/dist/codemode/api.js.map +1 -0
  447. package/dist/codemode/index.d.ts +13 -0
  448. package/dist/codemode/index.d.ts.map +1 -0
  449. package/dist/codemode/index.js +17 -0
  450. package/dist/codemode/index.js.map +1 -0
  451. package/dist/codemode/sandbox-factory.d.ts +72 -0
  452. package/dist/codemode/sandbox-factory.d.ts.map +1 -0
  453. package/dist/codemode/sandbox-factory.js +88 -0
  454. package/dist/codemode/sandbox-factory.js.map +1 -0
  455. package/dist/codemode/sandbox.d.ts +96 -0
  456. package/dist/codemode/sandbox.d.ts.map +1 -0
  457. package/dist/codemode/sandbox.js +345 -0
  458. package/dist/codemode/sandbox.js.map +1 -0
  459. package/dist/codemode/security.d.ts +44 -0
  460. package/dist/codemode/security.d.ts.map +1 -0
  461. package/dist/codemode/security.js +149 -0
  462. package/dist/codemode/security.js.map +1 -0
  463. package/dist/codemode/types.d.ts +137 -0
  464. package/dist/codemode/types.d.ts.map +1 -0
  465. package/dist/codemode/types.js +46 -0
  466. package/dist/codemode/types.js.map +1 -0
  467. package/dist/codemode/worker-sandbox.d.ts +82 -0
  468. package/dist/codemode/worker-sandbox.d.ts.map +1 -0
  469. package/dist/codemode/worker-sandbox.js +244 -0
  470. package/dist/codemode/worker-sandbox.js.map +1 -0
  471. package/dist/codemode/worker-script.d.ts +8 -0
  472. package/dist/codemode/worker-script.d.ts.map +1 -0
  473. package/dist/codemode/worker-script.js +113 -0
  474. package/dist/codemode/worker-script.js.map +1 -0
  475. package/dist/constants/ServerInstructions.d.ts +2 -2
  476. package/dist/constants/ServerInstructions.d.ts.map +1 -1
  477. package/dist/constants/ServerInstructions.js +252 -36
  478. package/dist/constants/ServerInstructions.js.map +1 -1
  479. package/dist/filtering/ToolConstants.d.ts +12 -12
  480. package/dist/filtering/ToolConstants.d.ts.map +1 -1
  481. package/dist/filtering/ToolConstants.js +253 -214
  482. package/dist/filtering/ToolConstants.js.map +1 -1
  483. package/dist/filtering/ToolFilter.d.ts +2 -2
  484. package/dist/filtering/ToolFilter.d.ts.map +1 -1
  485. package/dist/filtering/ToolFilter.js +47 -36
  486. package/dist/filtering/ToolFilter.js.map +1 -1
  487. package/dist/index.d.ts +9 -9
  488. package/dist/index.d.ts.map +1 -1
  489. package/dist/index.js +7 -7
  490. package/dist/index.js.map +1 -1
  491. package/dist/logging/McpLogging.d.ts +2 -2
  492. package/dist/logging/McpLogging.d.ts.map +1 -1
  493. package/dist/logging/McpLogging.js +16 -13
  494. package/dist/logging/McpLogging.js.map +1 -1
  495. package/dist/logging/index.d.ts +1 -1
  496. package/dist/logging/index.js +1 -1
  497. package/dist/pool/ConnectionPool.d.ts +3 -3
  498. package/dist/pool/ConnectionPool.d.ts.map +1 -1
  499. package/dist/pool/ConnectionPool.js +30 -26
  500. package/dist/pool/ConnectionPool.js.map +1 -1
  501. package/dist/progress/ProgressReporter.d.ts +1 -1
  502. package/dist/progress/ProgressReporter.d.ts.map +1 -1
  503. package/dist/progress/ProgressReporter.js +5 -5
  504. package/dist/progress/ProgressReporter.js.map +1 -1
  505. package/dist/progress/index.d.ts +1 -1
  506. package/dist/progress/index.d.ts.map +1 -1
  507. package/dist/progress/index.js +1 -1
  508. package/dist/progress/index.js.map +1 -1
  509. package/dist/server/McpServer.d.ts +3 -3
  510. package/dist/server/McpServer.d.ts.map +1 -1
  511. package/dist/server/McpServer.js +58 -53
  512. package/dist/server/McpServer.js.map +1 -1
  513. package/dist/transports/http.d.ts +3 -3
  514. package/dist/transports/http.d.ts.map +1 -1
  515. package/dist/transports/http.js +36 -33
  516. package/dist/transports/http.js.map +1 -1
  517. package/dist/transports/index.d.ts +1 -1
  518. package/dist/transports/index.d.ts.map +1 -1
  519. package/dist/transports/index.js +1 -1
  520. package/dist/transports/index.js.map +1 -1
  521. package/dist/types/index.d.ts +6 -6
  522. package/dist/types/index.d.ts.map +1 -1
  523. package/dist/types/index.js +1 -1
  524. package/dist/types/index.js.map +1 -1
  525. package/dist/types/modules/database.d.ts +1 -1
  526. package/dist/types/modules/database.d.ts.map +1 -1
  527. package/dist/types/modules/errors.d.ts.map +1 -1
  528. package/dist/types/modules/errors.js +15 -15
  529. package/dist/types/modules/errors.js.map +1 -1
  530. package/dist/types/modules/oauth.d.ts +1 -1
  531. package/dist/types/modules/oauth.d.ts.map +1 -1
  532. package/dist/types/modules/query.d.ts +8 -8
  533. package/dist/types/modules/query.d.ts.map +1 -1
  534. package/dist/types/modules/server.d.ts +5 -3
  535. package/dist/types/modules/server.d.ts.map +1 -1
  536. package/dist/types/modules/tools.d.ts +6 -6
  537. package/dist/types/modules/tools.d.ts.map +1 -1
  538. package/dist/utils/logger.d.ts +2 -2
  539. package/dist/utils/logger.d.ts.map +1 -1
  540. package/dist/utils/logger.js +58 -55
  541. package/dist/utils/logger.js.map +1 -1
  542. package/dist/utils/promptGenerator.d.ts +1 -1
  543. package/dist/utils/promptGenerator.d.ts.map +1 -1
  544. package/dist/utils/promptGenerator.js +24 -16
  545. package/dist/utils/promptGenerator.js.map +1 -1
  546. package/dist/utils/validators.d.ts +21 -2
  547. package/dist/utils/validators.d.ts.map +1 -1
  548. package/dist/utils/validators.js +101 -13
  549. package/dist/utils/validators.js.map +1 -1
  550. package/eslint.config.js +117 -81
  551. package/package.json +66 -64
  552. package/releases/release-notes.md +32 -26
  553. package/releases/v2.0.0-release-notes.md +99 -51
  554. package/releases/v2.1.0-release-notes.md +14 -5
  555. package/releases/v2.2.0-release-notes.md +239 -0
  556. package/releases/v2.3.0-release-notes.md +191 -0
  557. package/server.json +1 -1
  558. package/src/__tests__/cli.test.ts +302 -247
  559. package/src/__tests__/index.test.ts +21 -21
  560. package/src/__tests__/mocks/adapter.ts +204 -163
  561. package/src/__tests__/mocks/index.ts +30 -23
  562. package/src/__tests__/mocks/mysql.ts +94 -84
  563. package/src/__tests__/perf.test.ts +207 -203
  564. package/src/__tests__/performance.test.ts +173 -164
  565. package/src/__tests__/setup.ts +26 -21
  566. package/src/adapters/DatabaseAdapter.ts +386 -340
  567. package/src/adapters/__tests__/DatabaseAdapter.test.ts +455 -377
  568. package/src/adapters/mysql/MySQLAdapter.ts +560 -486
  569. package/src/adapters/mysql/SchemaManager.ts +251 -208
  570. package/src/adapters/mysql/__tests__/MySQLAdapter.integration.test.ts +150 -147
  571. package/src/adapters/mysql/__tests__/MySQLAdapter.test.ts +590 -477
  572. package/src/adapters/mysql/__tests__/SchemaManager.test.ts +196 -154
  573. package/src/adapters/mysql/index.ts +2 -2
  574. package/src/adapters/mysql/prompts/__tests__/indexTuning.test.ts +33 -26
  575. package/src/adapters/mysql/prompts/__tests__/prompts.test.ts +277 -239
  576. package/src/adapters/mysql/prompts/backupStrategy.ts +29 -17
  577. package/src/adapters/mysql/prompts/clusterSetup.ts +11 -10
  578. package/src/adapters/mysql/prompts/docstoreSetup.ts +10 -10
  579. package/src/adapters/mysql/prompts/eventScheduler.ts +10 -10
  580. package/src/adapters/mysql/prompts/healthCheck.ts +20 -15
  581. package/src/adapters/mysql/prompts/index.ts +202 -145
  582. package/src/adapters/mysql/prompts/indexTuning.ts +22 -17
  583. package/src/adapters/mysql/prompts/mysqlshSetup.ts +11 -11
  584. package/src/adapters/mysql/prompts/proxysqlSetup.ts +10 -10
  585. package/src/adapters/mysql/prompts/replicationSetup.ts +24 -16
  586. package/src/adapters/mysql/prompts/routerSetup.ts +15 -10
  587. package/src/adapters/mysql/prompts/spatialSetup.ts +10 -10
  588. package/src/adapters/mysql/prompts/sysSchema.ts +11 -10
  589. package/src/adapters/mysql/resources/__tests__/capabilities.test.ts +118 -47
  590. package/src/adapters/mysql/resources/__tests__/cluster.test.ts +163 -104
  591. package/src/adapters/mysql/resources/__tests__/docstore.test.ts +88 -81
  592. package/src/adapters/mysql/resources/__tests__/events.test.ts +94 -83
  593. package/src/adapters/mysql/resources/__tests__/health.test.ts +131 -91
  594. package/src/adapters/mysql/resources/__tests__/indexes.test.ts +125 -102
  595. package/src/adapters/mysql/resources/__tests__/innodb.test.ts +86 -62
  596. package/src/adapters/mysql/resources/__tests__/locks.test.ts +142 -104
  597. package/src/adapters/mysql/resources/__tests__/performance.test.ts +81 -58
  598. package/src/adapters/mysql/resources/__tests__/pool.test.ts +45 -40
  599. package/src/adapters/mysql/resources/__tests__/processlist.test.ts +39 -23
  600. package/src/adapters/mysql/resources/__tests__/replication.test.ts +265 -211
  601. package/src/adapters/mysql/resources/__tests__/resources.test.ts +121 -109
  602. package/src/adapters/mysql/resources/__tests__/schema.test.ts +29 -23
  603. package/src/adapters/mysql/resources/__tests__/spatial.test.ts +58 -45
  604. package/src/adapters/mysql/resources/__tests__/status.test.ts +62 -45
  605. package/src/adapters/mysql/resources/__tests__/sysschema.test.ts +99 -60
  606. package/src/adapters/mysql/resources/__tests__/tables.test.ts +41 -32
  607. package/src/adapters/mysql/resources/__tests__/variables.test.ts +77 -49
  608. package/src/adapters/mysql/resources/capabilities.ts +61 -42
  609. package/src/adapters/mysql/resources/cluster.ts +58 -49
  610. package/src/adapters/mysql/resources/docstore.ts +46 -41
  611. package/src/adapters/mysql/resources/events.ts +37 -31
  612. package/src/adapters/mysql/resources/health.ts +98 -74
  613. package/src/adapters/mysql/resources/index.ts +55 -47
  614. package/src/adapters/mysql/resources/indexes.ts +66 -51
  615. package/src/adapters/mysql/resources/innodb.ts +98 -81
  616. package/src/adapters/mysql/resources/locks.ts +43 -40
  617. package/src/adapters/mysql/resources/performance.ts +80 -67
  618. package/src/adapters/mysql/resources/pool.ts +23 -20
  619. package/src/adapters/mysql/resources/processlist.ts +23 -18
  620. package/src/adapters/mysql/resources/replication.ts +124 -105
  621. package/src/adapters/mysql/resources/schema.ts +23 -18
  622. package/src/adapters/mysql/resources/spatial.ts +31 -26
  623. package/src/adapters/mysql/resources/status.ts +27 -22
  624. package/src/adapters/mysql/resources/sysschema.ts +41 -36
  625. package/src/adapters/mysql/resources/tables.ts +23 -18
  626. package/src/adapters/mysql/resources/variables.ts +27 -22
  627. package/src/adapters/mysql/tools/__tests__/cluster.test.ts +419 -311
  628. package/src/adapters/mysql/tools/__tests__/core.test.ts +701 -382
  629. package/src/adapters/mysql/tools/__tests__/docstore.test.ts +782 -413
  630. package/src/adapters/mysql/tools/__tests__/events.test.ts +806 -486
  631. package/src/adapters/mysql/tools/__tests__/json_core.test.ts +326 -259
  632. package/src/adapters/mysql/tools/__tests__/json_enhanced.test.ts +452 -352
  633. package/src/adapters/mysql/tools/__tests__/json_helpers.test.ts +203 -128
  634. package/src/adapters/mysql/tools/__tests__/proxysql.test.ts +576 -340
  635. package/src/adapters/mysql/tools/__tests__/replication.test.ts +796 -390
  636. package/src/adapters/mysql/tools/__tests__/roles.test.ts +423 -166
  637. package/src/adapters/mysql/tools/__tests__/router.test.ts +644 -540
  638. package/src/adapters/mysql/tools/__tests__/security.test.ts +746 -421
  639. package/src/adapters/mysql/tools/__tests__/security_injection.test.ts +246 -173
  640. package/src/adapters/mysql/tools/__tests__/security_integration.test.ts +244 -205
  641. package/src/adapters/mysql/tools/__tests__/spatial.test.ts +443 -298
  642. package/src/adapters/mysql/tools/__tests__/spatial_handler.test.ts +535 -150
  643. package/src/adapters/mysql/tools/__tests__/stats.test.ts +861 -553
  644. package/src/adapters/mysql/tools/__tests__/transactions.test.ts +452 -263
  645. package/src/adapters/mysql/tools/admin/__tests__/backup.test.ts +612 -372
  646. package/src/adapters/mysql/tools/admin/__tests__/maintenance.test.ts +550 -257
  647. package/src/adapters/mysql/tools/admin/__tests__/monitoring.test.ts +549 -352
  648. package/src/adapters/mysql/tools/admin/backup.ts +339 -215
  649. package/src/adapters/mysql/tools/admin/index.ts +46 -46
  650. package/src/adapters/mysql/tools/admin/maintenance.ts +180 -130
  651. package/src/adapters/mysql/tools/admin/monitoring.ts +373 -199
  652. package/src/adapters/mysql/tools/cluster/__tests__/group-replication.test.ts +200 -186
  653. package/src/adapters/mysql/tools/cluster/__tests__/innodb-cluster.test.ts +399 -95
  654. package/src/adapters/mysql/tools/cluster/group-replication.ts +218 -183
  655. package/src/adapters/mysql/tools/cluster/index.ts +27 -27
  656. package/src/adapters/mysql/tools/cluster/innodb-cluster.ts +413 -251
  657. package/src/adapters/mysql/tools/codemode/index.ts +249 -0
  658. package/src/adapters/mysql/tools/core.ts +425 -285
  659. package/src/adapters/mysql/tools/docstore.ts +478 -276
  660. package/src/adapters/mysql/tools/events.ts +441 -285
  661. package/src/adapters/mysql/tools/index.ts +31 -20
  662. package/src/adapters/mysql/tools/json/__tests__/core.test.ts +456 -199
  663. package/src/adapters/mysql/tools/json/__tests__/enhanced.test.ts +554 -298
  664. package/src/adapters/mysql/tools/json/__tests__/helpers.test.ts +195 -74
  665. package/src/adapters/mysql/tools/json/__tests__/validation.test.ts +106 -72
  666. package/src/adapters/mysql/tools/json/core.ts +368 -263
  667. package/src/adapters/mysql/tools/json/enhanced.ts +368 -229
  668. package/src/adapters/mysql/tools/json/helpers.ts +205 -113
  669. package/src/adapters/mysql/tools/json/index.ts +46 -46
  670. package/src/adapters/mysql/tools/partitioning.ts +289 -140
  671. package/src/adapters/mysql/tools/performance/__tests__/analysis.test.ts +664 -249
  672. package/src/adapters/mysql/tools/performance/__tests__/optimization.test.ts +436 -179
  673. package/src/adapters/mysql/tools/performance/analysis.ts +319 -215
  674. package/src/adapters/mysql/tools/performance/index.ts +33 -33
  675. package/src/adapters/mysql/tools/performance/optimization.ts +438 -183
  676. package/src/adapters/mysql/tools/proxysql.ts +462 -320
  677. package/src/adapters/mysql/tools/replication.ts +233 -180
  678. package/src/adapters/mysql/tools/roles.ts +429 -171
  679. package/src/adapters/mysql/tools/router.ts +410 -292
  680. package/src/adapters/mysql/tools/schema/__tests__/constraints.test.ts +157 -82
  681. package/src/adapters/mysql/tools/schema/__tests__/management.test.ts +226 -101
  682. package/src/adapters/mysql/tools/schema/__tests__/routines.test.ts +80 -35
  683. package/src/adapters/mysql/tools/schema/__tests__/scheduled_events.test.ts +59 -40
  684. package/src/adapters/mysql/tools/schema/__tests__/triggers.test.ts +65 -40
  685. package/src/adapters/mysql/tools/schema/__tests__/views.test.ts +146 -77
  686. package/src/adapters/mysql/tools/schema/constraints.ts +61 -42
  687. package/src/adapters/mysql/tools/schema/index.ts +26 -35
  688. package/src/adapters/mysql/tools/schema/management.ts +167 -94
  689. package/src/adapters/mysql/tools/schema/routines.ts +79 -48
  690. package/src/adapters/mysql/tools/schema/scheduled_events.ts +53 -32
  691. package/src/adapters/mysql/tools/schema/triggers.ts +51 -33
  692. package/src/adapters/mysql/tools/schema/views.ts +96 -53
  693. package/src/adapters/mysql/tools/security/__tests__/audit.test.ts +216 -158
  694. package/src/adapters/mysql/tools/security/__tests__/data-protection.test.ts +154 -98
  695. package/src/adapters/mysql/tools/security/__tests__/encryption.test.ts +174 -138
  696. package/src/adapters/mysql/tools/security/audit.ts +213 -193
  697. package/src/adapters/mysql/tools/security/data-protection.ts +342 -198
  698. package/src/adapters/mysql/tools/security/encryption.ts +233 -193
  699. package/src/adapters/mysql/tools/security/index.ts +26 -26
  700. package/src/adapters/mysql/tools/shell/__tests__/backup.test.ts +443 -283
  701. package/src/adapters/mysql/tools/shell/__tests__/common.test.ts +183 -130
  702. package/src/adapters/mysql/tools/shell/__tests__/data-transfer.test.ts +516 -353
  703. package/src/adapters/mysql/tools/shell/__tests__/info.test.ts +65 -63
  704. package/src/adapters/mysql/tools/shell/__tests__/restore.test.ts +260 -174
  705. package/src/adapters/mysql/tools/shell/__tests__/utilities.test.ts +161 -143
  706. package/src/adapters/mysql/tools/shell/backup.ts +280 -188
  707. package/src/adapters/mysql/tools/shell/common.ts +203 -153
  708. package/src/adapters/mysql/tools/shell/data-transfer.ts +286 -200
  709. package/src/adapters/mysql/tools/shell/index.ts +29 -29
  710. package/src/adapters/mysql/tools/shell/info.ts +35 -31
  711. package/src/adapters/mysql/tools/shell/restore.ts +236 -121
  712. package/src/adapters/mysql/tools/shell/utilities.ts +86 -45
  713. package/src/adapters/mysql/tools/spatial/__tests__/geometry.test.ts +129 -89
  714. package/src/adapters/mysql/tools/spatial/__tests__/operations.test.ts +284 -148
  715. package/src/adapters/mysql/tools/spatial/__tests__/queries.test.ts +340 -245
  716. package/src/adapters/mysql/tools/spatial/geometry.ts +120 -74
  717. package/src/adapters/mysql/tools/spatial/index.ts +33 -33
  718. package/src/adapters/mysql/tools/spatial/operations.ts +254 -171
  719. package/src/adapters/mysql/tools/spatial/queries.ts +221 -165
  720. package/src/adapters/mysql/tools/spatial/setup.ts +180 -73
  721. package/src/adapters/mysql/tools/stats/__tests__/comparative.test.ts +188 -130
  722. package/src/adapters/mysql/tools/stats/comparative.ts +261 -187
  723. package/src/adapters/mysql/tools/stats/descriptive.ts +414 -322
  724. package/src/adapters/mysql/tools/stats/index.ts +23 -23
  725. package/src/adapters/mysql/tools/sysschema/__tests__/activity.test.ts +99 -71
  726. package/src/adapters/mysql/tools/sysschema/__tests__/io_summary_fix.test.ts +21 -18
  727. package/src/adapters/mysql/tools/sysschema/__tests__/performance.test.ts +149 -108
  728. package/src/adapters/mysql/tools/sysschema/__tests__/resources.test.ts +243 -104
  729. package/src/adapters/mysql/tools/sysschema/activity.ts +72 -64
  730. package/src/adapters/mysql/tools/sysschema/index.ts +24 -24
  731. package/src/adapters/mysql/tools/sysschema/performance.ts +140 -115
  732. package/src/adapters/mysql/tools/sysschema/resources.ts +140 -99
  733. package/src/adapters/mysql/tools/text/__tests__/fulltext.test.ts +526 -145
  734. package/src/adapters/mysql/tools/text/__tests__/processing.test.ts +452 -193
  735. package/src/adapters/mysql/tools/text/fulltext.ts +327 -123
  736. package/src/adapters/mysql/tools/text/index.ts +32 -30
  737. package/src/adapters/mysql/tools/text/processing.ts +281 -212
  738. package/src/adapters/mysql/tools/transactions.ts +288 -197
  739. package/src/adapters/mysql/types/__tests__/shell-types.test.ts +204 -202
  740. package/src/adapters/mysql/types/proxysql-types.ts +142 -109
  741. package/src/adapters/mysql/types/router-types.ts +36 -36
  742. package/src/adapters/mysql/types/shell-types.ts +280 -94
  743. package/src/adapters/mysql/types.ts +1475 -164
  744. package/src/auth/AuthorizationServerDiscovery.ts +127 -113
  745. package/src/auth/OAuthResourceServer.ts +67 -62
  746. package/src/auth/TokenValidator.ts +136 -119
  747. package/src/auth/__tests__/AuthorizationServerDiscovery.test.ts +295 -274
  748. package/src/auth/__tests__/OAuthResourceServer.test.ts +180 -169
  749. package/src/auth/__tests__/TokenValidator.test.ts +297 -285
  750. package/src/auth/__tests__/errors.test.ts +180 -175
  751. package/src/auth/__tests__/middleware.test.ts +281 -247
  752. package/src/auth/__tests__/scopes.test.ts +136 -134
  753. package/src/auth/errors.ts +56 -56
  754. package/src/auth/index.ts +23 -17
  755. package/src/auth/middleware.ts +161 -139
  756. package/src/auth/scopes.ts +134 -107
  757. package/src/auth/types.ts +155 -155
  758. package/src/cli/__tests__/args.test.ts +241 -216
  759. package/src/cli/__tests__/main.test.ts +191 -158
  760. package/src/cli/args.ts +285 -258
  761. package/src/cli.ts +150 -127
  762. package/src/codemode/api.ts +1224 -0
  763. package/src/codemode/index.ts +51 -0
  764. package/src/codemode/sandbox-factory.ts +146 -0
  765. package/src/codemode/sandbox.ts +450 -0
  766. package/src/codemode/security.ts +188 -0
  767. package/src/codemode/types.ts +194 -0
  768. package/src/codemode/worker-sandbox.ts +326 -0
  769. package/src/codemode/worker-script.ts +144 -0
  770. package/src/constants/ServerInstructions.ts +295 -70
  771. package/src/filtering/ToolConstants.ts +311 -272
  772. package/src/filtering/ToolFilter.ts +254 -220
  773. package/src/filtering/__tests__/ToolFilter.test.ts +469 -396
  774. package/src/index.ts +62 -57
  775. package/src/logging/McpLogging.ts +128 -119
  776. package/src/logging/__tests__/McpLogging.test.ts +223 -223
  777. package/src/logging/index.ts +2 -2
  778. package/src/pool/ConnectionPool.ts +260 -246
  779. package/src/pool/__tests__/ConnectionPool.test.ts +452 -418
  780. package/src/progress/ProgressReporter.ts +123 -123
  781. package/src/progress/__tests__/ProgressReporter.test.ts +235 -229
  782. package/src/progress/index.ts +6 -2
  783. package/src/server/McpServer.ts +305 -285
  784. package/src/server/__tests__/McpServer.test.ts +333 -291
  785. package/src/transports/__tests__/http.test.ts +658 -527
  786. package/src/transports/http.ts +237 -203
  787. package/src/transports/index.ts +6 -2
  788. package/src/types/__tests__/types.test.ts +197 -193
  789. package/src/types/index.ts +49 -37
  790. package/src/types/modules/database.ts +65 -63
  791. package/src/types/modules/errors.ts +41 -37
  792. package/src/types/modules/oauth.ts +46 -46
  793. package/src/types/modules/query.ts +75 -75
  794. package/src/types/modules/server.ts +21 -18
  795. package/src/types/modules/tools.ts +182 -178
  796. package/src/utils/__tests__/logger.test.ts +424 -414
  797. package/src/utils/__tests__/validators.test.ts +250 -165
  798. package/src/utils/logger.ts +344 -330
  799. package/src/utils/promptGenerator.ts +58 -47
  800. package/src/utils/validators.ts +217 -91
  801. package/tsconfig.json +41 -50
  802. package/vitest.config.ts +23 -23
@@ -7,21 +7,18 @@
7
7
  * Router REST API documentation:
8
8
  * https://dev.mysql.com/doc/mysql-router/8.0/en/mysql-router-rest-api.html
9
9
  */
10
- import https from 'node:https';
11
- import { RouterBaseInputSchema, RouteNameInputSchema, MetadataNameInputSchema, ConnectionPoolNameInputSchema } from '../types/router-types.js';
12
- // =============================================================================
13
- // Router HTTP Client Helper
14
- // =============================================================================
10
+ import https from "node:https";
11
+ import { RouterBaseInputSchema, RouteNameInputSchema, MetadataNameInputSchema, ConnectionPoolNameInputSchema, } from "../types/router-types.js";
15
12
  /**
16
13
  * Get Router configuration from environment variables
17
14
  */
18
15
  function getRouterConfig() {
19
16
  return {
20
- url: process.env['MYSQL_ROUTER_URL'] ?? 'https://localhost:8443',
21
- username: process.env['MYSQL_ROUTER_USER'] ?? '',
22
- password: process.env['MYSQL_ROUTER_PASSWORD'] ?? '',
23
- insecure: process.env['MYSQL_ROUTER_INSECURE'] === 'true',
24
- apiVersion: process.env['MYSQL_ROUTER_API_VERSION'] ?? '/api/20190715'
17
+ url: process.env["MYSQL_ROUTER_URL"] ?? "https://localhost:8443",
18
+ username: process.env["MYSQL_ROUTER_USER"] ?? "",
19
+ password: process.env["MYSQL_ROUTER_PASSWORD"] ?? "",
20
+ insecure: process.env["MYSQL_ROUTER_INSECURE"] === "true",
21
+ apiVersion: process.env["MYSQL_ROUTER_API_VERSION"] ?? "/api/20190715",
25
22
  };
26
23
  }
27
24
  /**
@@ -34,20 +31,20 @@ function getRouterConfig() {
34
31
  */
35
32
  async function routerFetch(path, config) {
36
33
  const cfg = config ?? getRouterConfig();
37
- const baseUrl = cfg.url ?? 'https://localhost:8443';
38
- const apiVersion = cfg.apiVersion ?? '/api/20190715';
39
- const username = cfg.username ?? '';
40
- const password = cfg.password ?? '';
34
+ const baseUrl = cfg.url ?? "https://localhost:8443";
35
+ const apiVersion = cfg.apiVersion ?? "/api/20190715";
36
+ const username = cfg.username ?? "";
37
+ const password = cfg.password ?? "";
41
38
  const insecure = cfg.insecure ?? false;
42
39
  const fullUrl = `${baseUrl}${apiVersion}${path}`;
43
40
  const parsedUrl = new URL(fullUrl);
44
41
  return new Promise((resolve, reject) => {
45
42
  const headers = {
46
- 'Accept': 'application/json'
43
+ Accept: "application/json",
47
44
  };
48
45
  if (username && password) {
49
- const auth = Buffer.from(`${username}:${password}`).toString('base64');
50
- headers['Authorization'] = `Basic ${auth}`;
46
+ const auth = Buffer.from(`${username}:${password}`).toString("base64");
47
+ headers["Authorization"] = `Basic ${auth}`;
51
48
  }
52
49
  // Build request options
53
50
  // SECURITY NOTE: rejectUnauthorized=false is INTENTIONAL for development/testing
@@ -59,19 +56,19 @@ async function routerFetch(path, config) {
59
56
  hostname: parsedUrl.hostname,
60
57
  port: parsedUrl.port || 8443,
61
58
  path: parsedUrl.pathname,
62
- method: 'GET',
59
+ method: "GET",
63
60
  headers,
64
61
  // CodeQL: This is intentional - see SECURITY NOTE above
65
62
  // nosemgrep: nodejs.lang.security.audit.tls-connection-insecure.tls-connection-insecure
66
63
  rejectUnauthorized: !insecure, // codeql-ignore js/disabling-certificate-validation
67
- timeout: 10000 // 10 second timeout
64
+ timeout: 10000, // 10 second timeout
68
65
  };
69
66
  const req = https.request(requestOptions, (res) => {
70
- let data = '';
71
- res.on('data', (chunk) => {
67
+ let data = "";
68
+ res.on("data", (chunk) => {
72
69
  data += chunk;
73
70
  });
74
- res.on('end', () => {
71
+ res.on("end", () => {
75
72
  const statusCode = res.statusCode ?? 0;
76
73
  if (statusCode >= 200 && statusCode < 300) {
77
74
  try {
@@ -82,20 +79,61 @@ async function routerFetch(path, config) {
82
79
  }
83
80
  }
84
81
  else {
85
- reject(new Error(`Router API error: ${statusCode} ${res.statusMessage ?? 'Unknown'}`));
82
+ reject(new Error(`Router API error: ${statusCode} ${res.statusMessage ?? "Unknown"}`));
86
83
  }
87
84
  });
88
85
  });
89
- req.on('error', (error) => {
90
- reject(new Error(`Router API request failed: ${error.message}`));
86
+ req.on("error", (error) => {
87
+ // Provide more descriptive error messages for common connection issues
88
+ const errorCode = error.code;
89
+ let message = error.message;
90
+ if (errorCode === "ECONNREFUSED") {
91
+ message = `Connection refused - MySQL Router REST API is not reachable at ${baseUrl}`;
92
+ }
93
+ else if (errorCode === "ETIMEDOUT" || errorCode === "ESOCKETTIMEDOUT") {
94
+ message = `Connection timed out - MySQL Router REST API at ${baseUrl} is not responding`;
95
+ }
96
+ else if (errorCode === "ENOTFOUND") {
97
+ message = `Host not found - cannot resolve ${parsedUrl.hostname}`;
98
+ }
99
+ else if (errorCode === "UNABLE_TO_VERIFY_LEAF_SIGNATURE" ||
100
+ errorCode === "CERT_HAS_EXPIRED" ||
101
+ errorCode === "DEPTH_ZERO_SELF_SIGNED_CERT" ||
102
+ error.message.includes("self-signed") ||
103
+ error.message.includes("certificate")) {
104
+ message = `TLS certificate error: ${error.message}. Set MYSQL_ROUTER_INSECURE=true for self-signed certificates`;
105
+ }
106
+ reject(new Error(`Router API request failed: ${message}`));
91
107
  });
92
- req.on('timeout', () => {
108
+ req.on("timeout", () => {
93
109
  req.destroy();
94
- reject(new Error('Router API request timed out'));
110
+ reject(new Error(`Router API request timed out after 10 seconds - MySQL Router at ${baseUrl} is not responding`));
95
111
  });
96
112
  req.end();
97
113
  });
98
114
  }
115
+ /**
116
+ * Safe wrapper for routerFetch that returns graceful responses instead of throwing.
117
+ * Returns { success: true, data } on success or { success: false, response: { available: false, reason } } on failure.
118
+ */
119
+ async function safeRouterFetch(path) {
120
+ try {
121
+ const data = (await routerFetch(path));
122
+ return { success: true, data };
123
+ }
124
+ catch (error) {
125
+ const reason = error instanceof Error
126
+ ? error.message
127
+ : "Unknown error connecting to Router API";
128
+ return {
129
+ success: false,
130
+ response: {
131
+ available: false,
132
+ reason,
133
+ },
134
+ };
135
+ }
136
+ }
99
137
  // =============================================================================
100
138
  // Tool Registration
101
139
  // =============================================================================
@@ -112,7 +150,7 @@ export function getRouterTools(_adapter) {
112
150
  createRouterRouteDestinationsTool(),
113
151
  createRouterRouteBlockedHostsTool(),
114
152
  createRouterMetadataStatusTool(),
115
- createRouterPoolStatusTool()
153
+ createRouterPoolStatusTool(),
116
154
  ];
117
155
  }
118
156
  // =============================================================================
@@ -123,24 +161,27 @@ export function getRouterTools(_adapter) {
123
161
  */
124
162
  function createRouterStatusTool() {
125
163
  return {
126
- name: 'mysql_router_status',
127
- title: 'MySQL Router Status',
128
- description: 'Get MySQL Router process status including version, hostname, and uptime. Requires Router REST API access.',
129
- group: 'router',
164
+ name: "mysql_router_status",
165
+ title: "MySQL Router Status",
166
+ description: "Get MySQL Router process status including version, hostname, and uptime. Requires Router REST API access.",
167
+ group: "router",
130
168
  inputSchema: RouterBaseInputSchema,
131
- requiredScopes: ['read'],
169
+ requiredScopes: ["read"],
132
170
  annotations: {
133
171
  readOnlyHint: true,
134
172
  idempotentHint: true,
135
- openWorldHint: true
173
+ openWorldHint: true,
136
174
  },
137
175
  handler: async (_params, _context) => {
138
- const result = await routerFetch('/router/status');
176
+ const result = await safeRouterFetch("/router/status");
177
+ if (!result.success) {
178
+ return result.response;
179
+ }
139
180
  return {
140
181
  success: true,
141
- status: result
182
+ status: result.data,
142
183
  };
143
- }
184
+ },
144
185
  };
145
186
  }
146
187
  /**
@@ -148,24 +189,27 @@ function createRouterStatusTool() {
148
189
  */
149
190
  function createRouterRoutesTool() {
150
191
  return {
151
- name: 'mysql_router_routes',
152
- title: 'MySQL Router Routes',
153
- description: 'List all configured routes in MySQL Router. Returns route names that can be used with other router tools.',
154
- group: 'router',
192
+ name: "mysql_router_routes",
193
+ title: "MySQL Router Routes",
194
+ description: "List all configured routes in MySQL Router. Returns route names that can be used with other router tools.",
195
+ group: "router",
155
196
  inputSchema: RouterBaseInputSchema,
156
- requiredScopes: ['read'],
197
+ requiredScopes: ["read"],
157
198
  annotations: {
158
199
  readOnlyHint: true,
159
200
  idempotentHint: true,
160
- openWorldHint: true
201
+ openWorldHint: true,
161
202
  },
162
203
  handler: async (_params, _context) => {
163
- const result = await routerFetch('/routes');
204
+ const result = await safeRouterFetch("/routes");
205
+ if (!result.success) {
206
+ return result.response;
207
+ }
164
208
  return {
165
209
  success: true,
166
- routes: result
210
+ routes: result.data,
167
211
  };
168
- }
212
+ },
169
213
  };
170
214
  }
171
215
  // =============================================================================
@@ -176,26 +220,29 @@ function createRouterRoutesTool() {
176
220
  */
177
221
  function createRouterRouteStatusTool() {
178
222
  return {
179
- name: 'mysql_router_route_status',
180
- title: 'MySQL Router Route Status',
181
- description: 'Get operational status of a specific route including active connections, total connections, and blocked hosts count.',
182
- group: 'router',
223
+ name: "mysql_router_route_status",
224
+ title: "MySQL Router Route Status",
225
+ description: "Get operational status of a specific route including active connections, total connections, and blocked hosts count.",
226
+ group: "router",
183
227
  inputSchema: RouteNameInputSchema,
184
- requiredScopes: ['read'],
228
+ requiredScopes: ["read"],
185
229
  annotations: {
186
230
  readOnlyHint: true,
187
231
  idempotentHint: true,
188
- openWorldHint: true
232
+ openWorldHint: true,
189
233
  },
190
234
  handler: async (params, _context) => {
191
235
  const { routeName } = RouteNameInputSchema.parse(params);
192
- const result = await routerFetch(`/routes/${encodeURIComponent(routeName)}/status`);
236
+ const result = await safeRouterFetch(`/routes/${encodeURIComponent(routeName)}/status`);
237
+ if (!result.success) {
238
+ return result.response;
239
+ }
193
240
  return {
194
241
  success: true,
195
242
  routeName,
196
- status: result
243
+ status: result.data,
197
244
  };
198
- }
245
+ },
199
246
  };
200
247
  }
201
248
  /**
@@ -203,26 +250,29 @@ function createRouterRouteStatusTool() {
203
250
  */
204
251
  function createRouterRouteHealthTool() {
205
252
  return {
206
- name: 'mysql_router_route_health',
207
- title: 'MySQL Router Route Health',
208
- description: 'Check if a route is alive and functioning. Returns isAlive boolean indicating route health.',
209
- group: 'router',
253
+ name: "mysql_router_route_health",
254
+ title: "MySQL Router Route Health",
255
+ description: "Check if a route is alive and functioning. Returns isAlive boolean indicating route health.",
256
+ group: "router",
210
257
  inputSchema: RouteNameInputSchema,
211
- requiredScopes: ['read'],
258
+ requiredScopes: ["read"],
212
259
  annotations: {
213
260
  readOnlyHint: true,
214
261
  idempotentHint: true,
215
- openWorldHint: true
262
+ openWorldHint: true,
216
263
  },
217
264
  handler: async (params, _context) => {
218
265
  const { routeName } = RouteNameInputSchema.parse(params);
219
- const result = await routerFetch(`/routes/${encodeURIComponent(routeName)}/health`);
266
+ const result = await safeRouterFetch(`/routes/${encodeURIComponent(routeName)}/health`);
267
+ if (!result.success) {
268
+ return result.response;
269
+ }
220
270
  return {
221
271
  success: true,
222
272
  routeName,
223
- health: result
273
+ health: result.data,
224
274
  };
225
- }
275
+ },
226
276
  };
227
277
  }
228
278
  /**
@@ -230,26 +280,29 @@ function createRouterRouteHealthTool() {
230
280
  */
231
281
  function createRouterRouteConnectionsTool() {
232
282
  return {
233
- name: 'mysql_router_route_connections',
234
- title: 'MySQL Router Route Connections',
235
- description: 'List active connections on a route including source/destination addresses, bytes transferred, and connection times.',
236
- group: 'router',
283
+ name: "mysql_router_route_connections",
284
+ title: "MySQL Router Route Connections",
285
+ description: "List active connections on a route including source/destination addresses, bytes transferred, and connection times.",
286
+ group: "router",
237
287
  inputSchema: RouteNameInputSchema,
238
- requiredScopes: ['read'],
288
+ requiredScopes: ["read"],
239
289
  annotations: {
240
290
  readOnlyHint: true,
241
291
  idempotentHint: true,
242
- openWorldHint: true
292
+ openWorldHint: true,
243
293
  },
244
294
  handler: async (params, _context) => {
245
295
  const { routeName } = RouteNameInputSchema.parse(params);
246
- const result = await routerFetch(`/routes/${encodeURIComponent(routeName)}/connections`);
296
+ const result = await safeRouterFetch(`/routes/${encodeURIComponent(routeName)}/connections`);
297
+ if (!result.success) {
298
+ return result.response;
299
+ }
247
300
  return {
248
301
  success: true,
249
302
  routeName,
250
- connections: result
303
+ connections: result.data,
251
304
  };
252
- }
305
+ },
253
306
  };
254
307
  }
255
308
  /**
@@ -257,26 +310,29 @@ function createRouterRouteConnectionsTool() {
257
310
  */
258
311
  function createRouterRouteDestinationsTool() {
259
312
  return {
260
- name: 'mysql_router_route_destinations',
261
- title: 'MySQL Router Route Destinations',
262
- description: 'List backend MySQL server destinations for a route. Shows address and port of each destination server.',
263
- group: 'router',
313
+ name: "mysql_router_route_destinations",
314
+ title: "MySQL Router Route Destinations",
315
+ description: "List backend MySQL server destinations for a route. Shows address and port of each destination server.",
316
+ group: "router",
264
317
  inputSchema: RouteNameInputSchema,
265
- requiredScopes: ['read'],
318
+ requiredScopes: ["read"],
266
319
  annotations: {
267
320
  readOnlyHint: true,
268
321
  idempotentHint: true,
269
- openWorldHint: true
322
+ openWorldHint: true,
270
323
  },
271
324
  handler: async (params, _context) => {
272
325
  const { routeName } = RouteNameInputSchema.parse(params);
273
- const result = await routerFetch(`/routes/${encodeURIComponent(routeName)}/destinations`);
326
+ const result = await safeRouterFetch(`/routes/${encodeURIComponent(routeName)}/destinations`);
327
+ if (!result.success) {
328
+ return result.response;
329
+ }
274
330
  return {
275
331
  success: true,
276
332
  routeName,
277
- destinations: result
333
+ destinations: result.data,
278
334
  };
279
- }
335
+ },
280
336
  };
281
337
  }
282
338
  /**
@@ -284,26 +340,29 @@ function createRouterRouteDestinationsTool() {
284
340
  */
285
341
  function createRouterRouteBlockedHostsTool() {
286
342
  return {
287
- name: 'mysql_router_route_blocked_hosts',
288
- title: 'MySQL Router Blocked Hosts',
289
- description: 'List IP addresses that have been blocked for a route due to too many failed connection attempts.',
290
- group: 'router',
343
+ name: "mysql_router_route_blocked_hosts",
344
+ title: "MySQL Router Blocked Hosts",
345
+ description: "List IP addresses that have been blocked for a route due to too many failed connection attempts.",
346
+ group: "router",
291
347
  inputSchema: RouteNameInputSchema,
292
- requiredScopes: ['read'],
348
+ requiredScopes: ["read"],
293
349
  annotations: {
294
350
  readOnlyHint: true,
295
351
  idempotentHint: true,
296
- openWorldHint: true
352
+ openWorldHint: true,
297
353
  },
298
354
  handler: async (params, _context) => {
299
355
  const { routeName } = RouteNameInputSchema.parse(params);
300
- const result = await routerFetch(`/routes/${encodeURIComponent(routeName)}/blockedHosts`);
356
+ const result = await safeRouterFetch(`/routes/${encodeURIComponent(routeName)}/blockedHosts`);
357
+ if (!result.success) {
358
+ return result.response;
359
+ }
301
360
  return {
302
361
  success: true,
303
362
  routeName,
304
- blockedHosts: result
363
+ blockedHosts: result.data,
305
364
  };
306
- }
365
+ },
307
366
  };
308
367
  }
309
368
  // =============================================================================
@@ -314,26 +373,29 @@ function createRouterRouteBlockedHostsTool() {
314
373
  */
315
374
  function createRouterMetadataStatusTool() {
316
375
  return {
317
- name: 'mysql_router_metadata_status',
318
- title: 'MySQL Router Metadata Status',
319
- description: 'Get InnoDB Cluster metadata cache status including refresh statistics and last refresh host.',
320
- group: 'router',
376
+ name: "mysql_router_metadata_status",
377
+ title: "MySQL Router Metadata Status",
378
+ description: "Get InnoDB Cluster metadata cache status including refresh statistics and last refresh host.",
379
+ group: "router",
321
380
  inputSchema: MetadataNameInputSchema,
322
- requiredScopes: ['read'],
381
+ requiredScopes: ["read"],
323
382
  annotations: {
324
383
  readOnlyHint: true,
325
384
  idempotentHint: true,
326
- openWorldHint: true
385
+ openWorldHint: true,
327
386
  },
328
387
  handler: async (params, _context) => {
329
388
  const { metadataName } = MetadataNameInputSchema.parse(params);
330
- const result = await routerFetch(`/metadata/${encodeURIComponent(metadataName)}/status`);
389
+ const result = await safeRouterFetch(`/metadata/${encodeURIComponent(metadataName)}/status`);
390
+ if (!result.success) {
391
+ return result.response;
392
+ }
331
393
  return {
332
394
  success: true,
333
395
  metadataName,
334
- status: result
396
+ status: result.data,
335
397
  };
336
- }
398
+ },
337
399
  };
338
400
  }
339
401
  // =============================================================================
@@ -344,26 +406,29 @@ function createRouterMetadataStatusTool() {
344
406
  */
345
407
  function createRouterPoolStatusTool() {
346
408
  return {
347
- name: 'mysql_router_pool_status',
348
- title: 'MySQL Router Pool Status',
349
- description: 'Get MySQL Router connection pool status including reused connections and idle server connections.',
350
- group: 'router',
409
+ name: "mysql_router_pool_status",
410
+ title: "MySQL Router Pool Status",
411
+ description: "Get MySQL Router connection pool status including idle and stashed server connections.",
412
+ group: "router",
351
413
  inputSchema: ConnectionPoolNameInputSchema,
352
- requiredScopes: ['read'],
414
+ requiredScopes: ["read"],
353
415
  annotations: {
354
416
  readOnlyHint: true,
355
417
  idempotentHint: true,
356
- openWorldHint: true
418
+ openWorldHint: true,
357
419
  },
358
420
  handler: async (params, _context) => {
359
421
  const { poolName } = ConnectionPoolNameInputSchema.parse(params);
360
- const result = await routerFetch(`/connection_pool/${encodeURIComponent(poolName)}/status`);
422
+ const result = await safeRouterFetch(`/connection_pool/${encodeURIComponent(poolName)}/status`);
423
+ if (!result.success) {
424
+ return result.response;
425
+ }
361
426
  return {
362
427
  success: true,
363
428
  poolName,
364
- status: result
429
+ status: result.data,
365
430
  };
366
- }
431
+ },
367
432
  };
368
433
  }
369
434
  //# sourceMappingURL=router.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../../src/adapters/mysql/tools/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../../src/adapters/mysql/tools/router.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type { MySQLAdapter } from '../../MySQLAdapter.js';
2
- import type { ToolDefinition } from '../../../../types/index.js';
1
+ import type { MySQLAdapter } from "../../MySQLAdapter.js";
2
+ import type { ToolDefinition } from "../../../../types/index.js";
3
3
  /**
4
4
  * List constraints
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"constraints.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/mysql/tools/schema/constraints.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,4BAA4B,CAAC;AAOjF;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,YAAY,GAAG,cAAc,CAgE/E"}
1
+ {"version":3,"file":"constraints.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/mysql/tools/schema/constraints.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,4BAA4B,CAAC;AAUpC;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,YAAY,GACpB,cAAc,CA2EhB"}
@@ -1,32 +1,40 @@
1
- import { z } from 'zod';
1
+ import { z } from "zod";
2
2
  const ListConstraintsSchema = z.object({
3
- table: z.string().describe('Table name'),
4
- type: z.enum(['PRIMARY KEY', 'FOREIGN KEY', 'UNIQUE', 'CHECK']).optional().describe('Filter by constraint type')
3
+ table: z.string().describe("Table name"),
4
+ type: z
5
+ .enum(["PRIMARY KEY", "FOREIGN KEY", "UNIQUE", "CHECK"])
6
+ .optional()
7
+ .describe("Filter by constraint type"),
5
8
  });
6
9
  /**
7
10
  * List constraints
8
11
  */
9
12
  export function createListConstraintsTool(adapter) {
10
13
  return {
11
- name: 'mysql_list_constraints',
12
- title: 'MySQL List Constraints',
13
- description: 'List all constraints (primary key, foreign key, unique, check) for a table.',
14
- group: 'schema',
14
+ name: "mysql_list_constraints",
15
+ title: "MySQL List Constraints",
16
+ description: "List all constraints (primary key, foreign key, unique, check) for a table.",
17
+ group: "schema",
15
18
  inputSchema: ListConstraintsSchema,
16
- requiredScopes: ['read'],
19
+ requiredScopes: ["read"],
17
20
  annotations: {
18
21
  readOnlyHint: true,
19
- idempotentHint: true
22
+ idempotentHint: true,
20
23
  },
21
24
  handler: async (params, _context) => {
22
25
  const { table, type } = ListConstraintsSchema.parse(params);
23
- const parts = table.split('.');
26
+ const parts = table.split(".");
24
27
  let schemaName = null;
25
28
  let tableName = table;
26
29
  if (parts.length === 2 && parts[0] && parts[1]) {
27
30
  schemaName = parts[0];
28
31
  tableName = parts[1];
29
32
  }
33
+ // P154: Check table existence first
34
+ const existsResult = await adapter.executeQuery(`SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA = COALESCE(?, DATABASE()) AND TABLE_NAME = ?`, [schemaName, tableName]);
35
+ if (!existsResult.rows || existsResult.rows.length === 0) {
36
+ return { exists: false, table: tableName };
37
+ }
30
38
  // Query for table constraints
31
39
  let query = `
32
40
  SELECT
@@ -51,17 +59,18 @@ export function createListConstraintsTool(adapter) {
51
59
  `;
52
60
  const queryParams = [schemaName, tableName];
53
61
  if (type) {
54
- query += ' AND tc.CONSTRAINT_TYPE = ?';
62
+ query += " AND tc.CONSTRAINT_TYPE = ?";
55
63
  queryParams.push(type);
56
64
  }
57
- query += ' GROUP BY tc.CONSTRAINT_NAME, tc.CONSTRAINT_TYPE, tc.TABLE_NAME, kcu.REFERENCED_TABLE_NAME, rc.UPDATE_RULE, rc.DELETE_RULE';
58
- query += ' ORDER BY tc.CONSTRAINT_TYPE, tc.CONSTRAINT_NAME';
65
+ query +=
66
+ " GROUP BY tc.CONSTRAINT_NAME, tc.CONSTRAINT_TYPE, tc.TABLE_NAME, kcu.REFERENCED_TABLE_NAME, rc.UPDATE_RULE, rc.DELETE_RULE";
67
+ query += " ORDER BY tc.CONSTRAINT_TYPE, tc.CONSTRAINT_NAME";
59
68
  const result = await adapter.executeQuery(query, queryParams);
60
69
  return {
61
70
  constraints: result.rows,
62
- count: result.rows?.length ?? 0
71
+ count: result.rows?.length ?? 0,
63
72
  };
64
- }
73
+ },
65
74
  };
66
75
  }
67
76
  //# sourceMappingURL=constraints.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constraints.js","sourceRoot":"","sources":["../../../../../src/adapters/mysql/tools/schema/constraints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;CACnH,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAqB;IAC3D,OAAO;QACH,IAAI,EAAE,wBAAwB;QAC9B,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EAAE,6EAA6E;QAC1F,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,qBAAqB;QAClC,cAAc,EAAE,CAAC,MAAM,CAAC;QACxB,WAAW,EAAE;YACT,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,IAAI;SACvB;QACD,OAAO,EAAE,KAAK,EAAE,MAAe,EAAE,QAAwB,EAAE,EAAE;YACzD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAE5D,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,UAAU,GAAkB,IAAI,CAAC;YACrC,IAAI,SAAS,GAAG,KAAK,CAAC;YAEtB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7C,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtB,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACzB,CAAC;YAED,8BAA8B;YAC9B,IAAI,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;aAoBX,CAAC;YAEF,MAAM,WAAW,GAAc,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YAEvD,IAAI,IAAI,EAAE,CAAC;gBACP,KAAK,IAAI,6BAA6B,CAAC;gBACvC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;YAED,KAAK,IAAI,4HAA4H,CAAC;YACtI,KAAK,IAAI,kDAAkD,CAAC;YAE5D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YAC9D,OAAO;gBACH,WAAW,EAAE,MAAM,CAAC,IAAI;gBACxB,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;aAClC,CAAC;QACN,CAAC;KACJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"constraints.js","sourceRoot":"","sources":["../../../../../src/adapters/mysql/tools/schema/constraints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;IACxC,IAAI,EAAE,CAAC;SACJ,IAAI,CAAC,CAAC,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SACvD,QAAQ,EAAE;SACV,QAAQ,CAAC,2BAA2B,CAAC;CACzC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAAqB;IAErB,OAAO;QACL,IAAI,EAAE,wBAAwB;QAC9B,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EACT,6EAA6E;QAC/E,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,qBAAqB;QAClC,cAAc,EAAE,CAAC,MAAM,CAAC;QACxB,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,IAAI;SACrB;QACD,OAAO,EAAE,KAAK,EAAE,MAAe,EAAE,QAAwB,EAAE,EAAE;YAC3D,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAE5D,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,UAAU,GAAkB,IAAI,CAAC;YACrC,IAAI,SAAS,GAAG,KAAK,CAAC;YAEtB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/C,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtB,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACvB,CAAC;YAED,oCAAoC;YACpC,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,YAAY,CAC7C,kHAAkH,EAClH,CAAC,UAAU,EAAE,SAAS,CAAC,CACxB,CAAC;YACF,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YAC7C,CAAC;YAED,8BAA8B;YAC9B,IAAI,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;aAoBL,CAAC;YAER,MAAM,WAAW,GAAc,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YAEvD,IAAI,IAAI,EAAE,CAAC;gBACT,KAAK,IAAI,6BAA6B,CAAC;gBACvC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;YAED,KAAK;gBACH,4HAA4H,CAAC;YAC/H,KAAK,IAAI,kDAAkD,CAAC;YAE5D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YAC9D,OAAO;gBACL,WAAW,EAAE,MAAM,CAAC,IAAI;gBACxB,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;aAChC,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}