@neverinfamous/mysql-mcp 2.3.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (347) hide show
  1. package/.dockerignore +1 -0
  2. package/.gitattributes +18 -0
  3. package/.github/workflows/codeql.yml +2 -10
  4. package/.github/workflows/docker-publish.yml +15 -13
  5. package/CHANGELOG.md +287 -1
  6. package/DOCKER_README.md +100 -265
  7. package/Dockerfile +5 -0
  8. package/README.md +124 -59
  9. package/VERSION +1 -1
  10. package/dist/__tests__/mocks/adapter.d.ts.map +1 -1
  11. package/dist/__tests__/mocks/adapter.js +2 -0
  12. package/dist/__tests__/mocks/adapter.js.map +1 -1
  13. package/dist/adapters/DatabaseAdapter.d.ts.map +1 -1
  14. package/dist/adapters/DatabaseAdapter.js +50 -9
  15. package/dist/adapters/DatabaseAdapter.js.map +1 -1
  16. package/dist/adapters/mysql/MySQLAdapter.d.ts +6 -0
  17. package/dist/adapters/mysql/MySQLAdapter.d.ts.map +1 -1
  18. package/dist/adapters/mysql/MySQLAdapter.js +8 -0
  19. package/dist/adapters/mysql/MySQLAdapter.js.map +1 -1
  20. package/dist/adapters/mysql/SchemaManager.js +16 -15
  21. package/dist/adapters/mysql/SchemaManager.js.map +1 -1
  22. package/dist/adapters/mysql/prompts/index.js +10 -20
  23. package/dist/adapters/mysql/prompts/index.js.map +1 -1
  24. package/dist/adapters/mysql/prompts/proxysqlSetup.js +1 -1
  25. package/dist/adapters/mysql/resources/docstore.d.ts.map +1 -1
  26. package/dist/adapters/mysql/resources/docstore.js +10 -7
  27. package/dist/adapters/mysql/resources/docstore.js.map +1 -1
  28. package/dist/adapters/mysql/resources/events.js +11 -8
  29. package/dist/adapters/mysql/resources/events.js.map +1 -1
  30. package/dist/adapters/mysql/resources/indexes.d.ts.map +1 -1
  31. package/dist/adapters/mysql/resources/indexes.js +12 -15
  32. package/dist/adapters/mysql/resources/indexes.js.map +1 -1
  33. package/dist/adapters/mysql/resources/innodb.d.ts.map +1 -1
  34. package/dist/adapters/mysql/resources/innodb.js +20 -17
  35. package/dist/adapters/mysql/resources/innodb.js.map +1 -1
  36. package/dist/adapters/mysql/resources/locks.d.ts.map +1 -1
  37. package/dist/adapters/mysql/resources/locks.js +9 -6
  38. package/dist/adapters/mysql/resources/locks.js.map +1 -1
  39. package/dist/adapters/mysql/resources/performance.d.ts.map +1 -1
  40. package/dist/adapters/mysql/resources/performance.js +15 -15
  41. package/dist/adapters/mysql/resources/performance.js.map +1 -1
  42. package/dist/adapters/mysql/resources/spatial.d.ts.map +1 -1
  43. package/dist/adapters/mysql/resources/spatial.js +9 -6
  44. package/dist/adapters/mysql/resources/spatial.js.map +1 -1
  45. package/dist/adapters/mysql/resources/sysschema.d.ts.map +1 -1
  46. package/dist/adapters/mysql/resources/sysschema.js +12 -9
  47. package/dist/adapters/mysql/resources/sysschema.js.map +1 -1
  48. package/dist/adapters/mysql/tools/admin/backup.d.ts.map +1 -1
  49. package/dist/adapters/mysql/tools/admin/backup.js +170 -121
  50. package/dist/adapters/mysql/tools/admin/backup.js.map +1 -1
  51. package/dist/adapters/mysql/tools/admin/maintenance.d.ts.map +1 -1
  52. package/dist/adapters/mysql/tools/admin/maintenance.js +106 -57
  53. package/dist/adapters/mysql/tools/admin/maintenance.js.map +1 -1
  54. package/dist/adapters/mysql/tools/admin/monitoring.d.ts.map +1 -1
  55. package/dist/adapters/mysql/tools/admin/monitoring.js +183 -101
  56. package/dist/adapters/mysql/tools/admin/monitoring.js.map +1 -1
  57. package/dist/adapters/mysql/tools/cluster/group-replication.d.ts.map +1 -1
  58. package/dist/adapters/mysql/tools/cluster/group-replication.js +164 -120
  59. package/dist/adapters/mysql/tools/cluster/group-replication.js.map +1 -1
  60. package/dist/adapters/mysql/tools/cluster/innodb-cluster.d.ts.map +1 -1
  61. package/dist/adapters/mysql/tools/cluster/innodb-cluster.js +212 -145
  62. package/dist/adapters/mysql/tools/cluster/innodb-cluster.js.map +1 -1
  63. package/dist/adapters/mysql/tools/codemode/index.d.ts.map +1 -1
  64. package/dist/adapters/mysql/tools/codemode/index.js +6 -4
  65. package/dist/adapters/mysql/tools/codemode/index.js.map +1 -1
  66. package/dist/adapters/mysql/tools/core.d.ts.map +1 -1
  67. package/dist/adapters/mysql/tools/core.js +152 -29
  68. package/dist/adapters/mysql/tools/core.js.map +1 -1
  69. package/dist/adapters/mysql/tools/docstore.d.ts.map +1 -1
  70. package/dist/adapters/mysql/tools/docstore.js +340 -163
  71. package/dist/adapters/mysql/tools/docstore.js.map +1 -1
  72. package/dist/adapters/mysql/tools/events.d.ts.map +1 -1
  73. package/dist/adapters/mysql/tools/events.js +284 -198
  74. package/dist/adapters/mysql/tools/events.js.map +1 -1
  75. package/dist/adapters/mysql/tools/json/core.d.ts.map +1 -1
  76. package/dist/adapters/mysql/tools/json/core.js +11 -39
  77. package/dist/adapters/mysql/tools/json/core.js.map +1 -1
  78. package/dist/adapters/mysql/tools/json/enhanced.d.ts.map +1 -1
  79. package/dist/adapters/mysql/tools/json/enhanced.js +15 -33
  80. package/dist/adapters/mysql/tools/json/enhanced.js.map +1 -1
  81. package/dist/adapters/mysql/tools/json/helpers.d.ts.map +1 -1
  82. package/dist/adapters/mysql/tools/json/helpers.js +13 -24
  83. package/dist/adapters/mysql/tools/json/helpers.js.map +1 -1
  84. package/dist/adapters/mysql/tools/partitioning.js +3 -0
  85. package/dist/adapters/mysql/tools/partitioning.js.map +1 -1
  86. package/dist/adapters/mysql/tools/performance/analysis.d.ts.map +1 -1
  87. package/dist/adapters/mysql/tools/performance/analysis.js +89 -60
  88. package/dist/adapters/mysql/tools/performance/analysis.js.map +1 -1
  89. package/dist/adapters/mysql/tools/performance/optimization.d.ts.map +1 -1
  90. package/dist/adapters/mysql/tools/performance/optimization.js +151 -127
  91. package/dist/adapters/mysql/tools/performance/optimization.js.map +1 -1
  92. package/dist/adapters/mysql/tools/proxysql.d.ts +1 -1
  93. package/dist/adapters/mysql/tools/proxysql.d.ts.map +1 -1
  94. package/dist/adapters/mysql/tools/proxysql.js +289 -176
  95. package/dist/adapters/mysql/tools/proxysql.js.map +1 -1
  96. package/dist/adapters/mysql/tools/replication.js +75 -49
  97. package/dist/adapters/mysql/tools/replication.js.map +1 -1
  98. package/dist/adapters/mysql/tools/roles.d.ts.map +1 -1
  99. package/dist/adapters/mysql/tools/roles.js +224 -182
  100. package/dist/adapters/mysql/tools/roles.js.map +1 -1
  101. package/dist/adapters/mysql/tools/router.d.ts.map +1 -1
  102. package/dist/adapters/mysql/tools/router.js +168 -67
  103. package/dist/adapters/mysql/tools/router.js.map +1 -1
  104. package/dist/adapters/mysql/tools/schema/constraints.d.ts.map +1 -1
  105. package/dist/adapters/mysql/tools/schema/constraints.js +21 -3
  106. package/dist/adapters/mysql/tools/schema/constraints.js.map +1 -1
  107. package/dist/adapters/mysql/tools/schema/management.d.ts.map +1 -1
  108. package/dist/adapters/mysql/tools/schema/management.js +61 -14
  109. package/dist/adapters/mysql/tools/schema/management.js.map +1 -1
  110. package/dist/adapters/mysql/tools/schema/routines.d.ts.map +1 -1
  111. package/dist/adapters/mysql/tools/schema/routines.js +27 -4
  112. package/dist/adapters/mysql/tools/schema/routines.js.map +1 -1
  113. package/dist/adapters/mysql/tools/schema/scheduled_events.d.ts.map +1 -1
  114. package/dist/adapters/mysql/tools/schema/scheduled_events.js +24 -3
  115. package/dist/adapters/mysql/tools/schema/scheduled_events.js.map +1 -1
  116. package/dist/adapters/mysql/tools/schema/triggers.d.ts.map +1 -1
  117. package/dist/adapters/mysql/tools/schema/triggers.js +23 -2
  118. package/dist/adapters/mysql/tools/schema/triggers.js.map +1 -1
  119. package/dist/adapters/mysql/tools/schema/views.d.ts.map +1 -1
  120. package/dist/adapters/mysql/tools/schema/views.js +47 -7
  121. package/dist/adapters/mysql/tools/schema/views.js.map +1 -1
  122. package/dist/adapters/mysql/tools/security/audit.d.ts.map +1 -1
  123. package/dist/adapters/mysql/tools/security/audit.js +102 -34
  124. package/dist/adapters/mysql/tools/security/audit.js.map +1 -1
  125. package/dist/adapters/mysql/tools/security/data-protection.d.ts.map +1 -1
  126. package/dist/adapters/mysql/tools/security/data-protection.js +264 -205
  127. package/dist/adapters/mysql/tools/security/data-protection.js.map +1 -1
  128. package/dist/adapters/mysql/tools/security/encryption.d.ts.map +1 -1
  129. package/dist/adapters/mysql/tools/security/encryption.js +137 -104
  130. package/dist/adapters/mysql/tools/security/encryption.js.map +1 -1
  131. package/dist/adapters/mysql/tools/shell/backup.d.ts.map +1 -1
  132. package/dist/adapters/mysql/tools/shell/backup.js +71 -59
  133. package/dist/adapters/mysql/tools/shell/backup.js.map +1 -1
  134. package/dist/adapters/mysql/tools/shell/restore.d.ts.map +1 -1
  135. package/dist/adapters/mysql/tools/shell/restore.js +61 -47
  136. package/dist/adapters/mysql/tools/shell/restore.js.map +1 -1
  137. package/dist/adapters/mysql/tools/spatial/geometry.d.ts.map +1 -1
  138. package/dist/adapters/mysql/tools/spatial/geometry.js +19 -5
  139. package/dist/adapters/mysql/tools/spatial/geometry.js.map +1 -1
  140. package/dist/adapters/mysql/tools/spatial/operations.d.ts.map +1 -1
  141. package/dist/adapters/mysql/tools/spatial/operations.js +42 -17
  142. package/dist/adapters/mysql/tools/spatial/operations.js.map +1 -1
  143. package/dist/adapters/mysql/tools/spatial/queries.d.ts.map +1 -1
  144. package/dist/adapters/mysql/tools/spatial/queries.js +109 -57
  145. package/dist/adapters/mysql/tools/spatial/queries.js.map +1 -1
  146. package/dist/adapters/mysql/tools/spatial/setup.d.ts.map +1 -1
  147. package/dist/adapters/mysql/tools/spatial/setup.js +103 -50
  148. package/dist/adapters/mysql/tools/spatial/setup.js.map +1 -1
  149. package/dist/adapters/mysql/tools/stats/comparative.d.ts.map +1 -1
  150. package/dist/adapters/mysql/tools/stats/comparative.js +128 -79
  151. package/dist/adapters/mysql/tools/stats/comparative.js.map +1 -1
  152. package/dist/adapters/mysql/tools/stats/descriptive.d.ts.map +1 -1
  153. package/dist/adapters/mysql/tools/stats/descriptive.js +174 -102
  154. package/dist/adapters/mysql/tools/stats/descriptive.js.map +1 -1
  155. package/dist/adapters/mysql/tools/sysschema/activity.d.ts.map +1 -1
  156. package/dist/adapters/mysql/tools/sysschema/activity.js +50 -25
  157. package/dist/adapters/mysql/tools/sysschema/activity.js.map +1 -1
  158. package/dist/adapters/mysql/tools/sysschema/performance.d.ts.map +1 -1
  159. package/dist/adapters/mysql/tools/sysschema/performance.js +121 -66
  160. package/dist/adapters/mysql/tools/sysschema/performance.js.map +1 -1
  161. package/dist/adapters/mysql/tools/sysschema/resources.d.ts.map +1 -1
  162. package/dist/adapters/mysql/tools/sysschema/resources.js +101 -64
  163. package/dist/adapters/mysql/tools/sysschema/resources.js.map +1 -1
  164. package/dist/adapters/mysql/tools/text/fulltext.d.ts.map +1 -1
  165. package/dist/adapters/mysql/tools/text/fulltext.js +18 -32
  166. package/dist/adapters/mysql/tools/text/fulltext.js.map +1 -1
  167. package/dist/adapters/mysql/tools/transactions.d.ts.map +1 -1
  168. package/dist/adapters/mysql/tools/transactions.js +48 -23
  169. package/dist/adapters/mysql/tools/transactions.js.map +1 -1
  170. package/dist/adapters/mysql/types/proxysql-types.d.ts +15 -0
  171. package/dist/adapters/mysql/types/proxysql-types.d.ts.map +1 -1
  172. package/dist/adapters/mysql/types/proxysql-types.js +33 -1
  173. package/dist/adapters/mysql/types/proxysql-types.js.map +1 -1
  174. package/dist/adapters/mysql/types/router-types.d.ts +1 -1
  175. package/dist/adapters/mysql/types/router-types.js +1 -1
  176. package/dist/adapters/mysql/types/router-types.js.map +1 -1
  177. package/dist/adapters/mysql/types/shell-types.js +2 -2
  178. package/dist/adapters/mysql/types/shell-types.js.map +1 -1
  179. package/dist/adapters/mysql/types.d.ts +485 -21
  180. package/dist/adapters/mysql/types.d.ts.map +1 -1
  181. package/dist/adapters/mysql/types.js +546 -19
  182. package/dist/adapters/mysql/types.js.map +1 -1
  183. package/dist/auth/scopes.js +1 -1
  184. package/dist/auth/scopes.js.map +1 -1
  185. package/dist/codemode/api.d.ts +3 -2
  186. package/dist/codemode/api.d.ts.map +1 -1
  187. package/dist/codemode/api.js +80 -5
  188. package/dist/codemode/api.js.map +1 -1
  189. package/dist/codemode/sandbox-factory.js +1 -1
  190. package/dist/codemode/sandbox-factory.js.map +1 -1
  191. package/dist/codemode/types.d.ts +26 -0
  192. package/dist/codemode/types.d.ts.map +1 -1
  193. package/dist/codemode/types.js +2 -0
  194. package/dist/codemode/types.js.map +1 -1
  195. package/dist/codemode/worker-sandbox.d.ts +4 -2
  196. package/dist/codemode/worker-sandbox.d.ts.map +1 -1
  197. package/dist/codemode/worker-sandbox.js +66 -7
  198. package/dist/codemode/worker-sandbox.js.map +1 -1
  199. package/dist/codemode/worker-script.d.ts +3 -0
  200. package/dist/codemode/worker-script.d.ts.map +1 -1
  201. package/dist/codemode/worker-script.js +128 -75
  202. package/dist/codemode/worker-script.js.map +1 -1
  203. package/dist/constants/ServerInstructions.d.ts +1 -1
  204. package/dist/constants/ServerInstructions.d.ts.map +1 -1
  205. package/dist/constants/ServerInstructions.js +37 -31
  206. package/dist/constants/ServerInstructions.js.map +1 -1
  207. package/dist/filtering/ToolConstants.d.ts +1 -1
  208. package/dist/filtering/ToolConstants.d.ts.map +1 -1
  209. package/dist/filtering/ToolConstants.js +1 -2
  210. package/dist/filtering/ToolConstants.js.map +1 -1
  211. package/dist/pool/ConnectionPool.d.ts.map +1 -1
  212. package/dist/pool/ConnectionPool.js.map +1 -1
  213. package/dist/transports/http.d.ts.map +1 -1
  214. package/dist/transports/http.js +6 -0
  215. package/dist/transports/http.js.map +1 -1
  216. package/dist/utils/validators.d.ts +1 -1
  217. package/dist/utils/validators.d.ts.map +1 -1
  218. package/dist/utils/validators.js.map +1 -1
  219. package/package.json +4 -4
  220. package/releases/v2.3.0-release-notes.md +20 -20
  221. package/releases/v2.3.1-release-notes.md +34 -0
  222. package/releases/v3.0.0-release-notes.md +81 -0
  223. package/src/__tests__/mocks/adapter.ts +3 -0
  224. package/src/__tests__/perf.test.ts +6 -6
  225. package/src/adapters/DatabaseAdapter.ts +58 -9
  226. package/src/adapters/__tests__/DatabaseAdapter.test.ts +89 -8
  227. package/src/adapters/mysql/MySQLAdapter.ts +17 -2
  228. package/src/adapters/mysql/SchemaManager.ts +21 -21
  229. package/src/adapters/mysql/__tests__/MySQLAdapter.test.ts +1 -1
  230. package/src/adapters/mysql/prompts/index.ts +12 -22
  231. package/src/adapters/mysql/prompts/proxysqlSetup.ts +1 -1
  232. package/src/adapters/mysql/resources/docstore.ts +13 -10
  233. package/src/adapters/mysql/resources/events.ts +12 -12
  234. package/src/adapters/mysql/resources/indexes.ts +17 -19
  235. package/src/adapters/mysql/resources/innodb.ts +23 -22
  236. package/src/adapters/mysql/resources/locks.ts +9 -7
  237. package/src/adapters/mysql/resources/performance.ts +23 -18
  238. package/src/adapters/mysql/resources/spatial.ts +9 -7
  239. package/src/adapters/mysql/resources/sysschema.ts +12 -11
  240. package/src/adapters/mysql/tools/__tests__/core.test.ts +126 -55
  241. package/src/adapters/mysql/tools/__tests__/docstore.test.ts +459 -88
  242. package/src/adapters/mysql/tools/__tests__/events.test.ts +281 -103
  243. package/src/adapters/mysql/tools/__tests__/proxysql.test.ts +128 -28
  244. package/src/adapters/mysql/tools/__tests__/replication.test.ts +48 -2
  245. package/src/adapters/mysql/tools/__tests__/roles.test.ts +15 -18
  246. package/src/adapters/mysql/tools/__tests__/router.test.ts +32 -5
  247. package/src/adapters/mysql/tools/__tests__/security.test.ts +126 -2
  248. package/src/adapters/mysql/tools/__tests__/security_injection.test.ts +84 -76
  249. package/src/adapters/mysql/tools/__tests__/security_integration.test.ts +47 -50
  250. package/src/adapters/mysql/tools/__tests__/spatial.test.ts +11 -10
  251. package/src/adapters/mysql/tools/__tests__/spatial_handler.test.ts +54 -38
  252. package/src/adapters/mysql/tools/__tests__/stats.test.ts +285 -152
  253. package/src/adapters/mysql/tools/__tests__/transactions.test.ts +13 -13
  254. package/src/adapters/mysql/tools/admin/__tests__/backup.test.ts +171 -25
  255. package/src/adapters/mysql/tools/admin/__tests__/maintenance.test.ts +240 -4
  256. package/src/adapters/mysql/tools/admin/__tests__/monitoring-summary.test.ts +274 -0
  257. package/src/adapters/mysql/tools/admin/__tests__/monitoring.test.ts +94 -5
  258. package/src/adapters/mysql/tools/admin/backup.ts +193 -143
  259. package/src/adapters/mysql/tools/admin/maintenance.ts +118 -69
  260. package/src/adapters/mysql/tools/admin/monitoring.ts +201 -125
  261. package/src/adapters/mysql/tools/cluster/__tests__/group-replication.test.ts +69 -0
  262. package/src/adapters/mysql/tools/cluster/__tests__/innodb-cluster.test.ts +141 -0
  263. package/src/adapters/mysql/tools/cluster/group-replication.ts +172 -132
  264. package/src/adapters/mysql/tools/cluster/innodb-cluster.ts +231 -157
  265. package/src/adapters/mysql/tools/codemode/__tests__/codemode-tool.test.ts +227 -0
  266. package/src/adapters/mysql/tools/codemode/index.ts +5 -3
  267. package/src/adapters/mysql/tools/core.ts +152 -38
  268. package/src/adapters/mysql/tools/docstore.ts +422 -205
  269. package/src/adapters/mysql/tools/events.ts +334 -233
  270. package/src/adapters/mysql/tools/json/__tests__/core.test.ts +20 -0
  271. package/src/adapters/mysql/tools/json/__tests__/enhanced.test.ts +82 -50
  272. package/src/adapters/mysql/tools/json/__tests__/helpers.test.ts +42 -3
  273. package/src/adapters/mysql/tools/json/core.ts +21 -42
  274. package/src/adapters/mysql/tools/json/enhanced.ts +22 -37
  275. package/src/adapters/mysql/tools/json/helpers.ts +21 -25
  276. package/src/adapters/mysql/tools/partitioning.ts +3 -0
  277. package/src/adapters/mysql/tools/performance/__tests__/analysis.test.ts +98 -5
  278. package/src/adapters/mysql/tools/performance/__tests__/optimization-coverage.test.ts +515 -0
  279. package/src/adapters/mysql/tools/performance/__tests__/optimization.test.ts +187 -0
  280. package/src/adapters/mysql/tools/performance/analysis.ts +95 -69
  281. package/src/adapters/mysql/tools/performance/optimization.ts +182 -153
  282. package/src/adapters/mysql/tools/proxysql.ts +314 -209
  283. package/src/adapters/mysql/tools/replication.ts +84 -57
  284. package/src/adapters/mysql/tools/roles.ts +274 -226
  285. package/src/adapters/mysql/tools/router.ts +181 -85
  286. package/src/adapters/mysql/tools/schema/__tests__/constraints.test.ts +13 -0
  287. package/src/adapters/mysql/tools/schema/__tests__/management.test.ts +60 -25
  288. package/src/adapters/mysql/tools/schema/__tests__/scheduled_events.test.ts +11 -0
  289. package/src/adapters/mysql/tools/schema/__tests__/triggers.test.ts +25 -4
  290. package/src/adapters/mysql/tools/schema/__tests__/views.test.ts +46 -14
  291. package/src/adapters/mysql/tools/schema/constraints.ts +22 -3
  292. package/src/adapters/mysql/tools/schema/management.ts +60 -15
  293. package/src/adapters/mysql/tools/schema/routines.ts +26 -4
  294. package/src/adapters/mysql/tools/schema/scheduled_events.ts +25 -3
  295. package/src/adapters/mysql/tools/schema/triggers.ts +27 -2
  296. package/src/adapters/mysql/tools/schema/views.ts +46 -8
  297. package/src/adapters/mysql/tools/security/__tests__/audit.test.ts +90 -4
  298. package/src/adapters/mysql/tools/security/audit.ts +113 -39
  299. package/src/adapters/mysql/tools/security/data-protection.ts +293 -233
  300. package/src/adapters/mysql/tools/security/encryption.ts +172 -139
  301. package/src/adapters/mysql/tools/shell/__tests__/backup.test.ts +29 -0
  302. package/src/adapters/mysql/tools/shell/backup.ts +90 -73
  303. package/src/adapters/mysql/tools/shell/restore.ts +62 -48
  304. package/src/adapters/mysql/tools/spatial/__tests__/operations.test.ts +22 -14
  305. package/src/adapters/mysql/tools/spatial/__tests__/queries.test.ts +65 -51
  306. package/src/adapters/mysql/tools/spatial/geometry.ts +23 -7
  307. package/src/adapters/mysql/tools/spatial/operations.ts +60 -31
  308. package/src/adapters/mysql/tools/spatial/queries.ts +142 -65
  309. package/src/adapters/mysql/tools/spatial/setup.ts +121 -55
  310. package/src/adapters/mysql/tools/stats/__tests__/comparative.test.ts +12 -10
  311. package/src/adapters/mysql/tools/stats/comparative.ts +150 -98
  312. package/src/adapters/mysql/tools/stats/descriptive.ts +204 -127
  313. package/src/adapters/mysql/tools/sysschema/__tests__/error-paths.test.ts +222 -0
  314. package/src/adapters/mysql/tools/sysschema/__tests__/performance.test.ts +45 -0
  315. package/src/adapters/mysql/tools/sysschema/__tests__/resources.test.ts +6 -3
  316. package/src/adapters/mysql/tools/sysschema/activity.ts +52 -27
  317. package/src/adapters/mysql/tools/sysschema/performance.ts +132 -68
  318. package/src/adapters/mysql/tools/sysschema/resources.ts +105 -67
  319. package/src/adapters/mysql/tools/text/__tests__/fulltext.test.ts +45 -17
  320. package/src/adapters/mysql/tools/text/fulltext.ts +27 -38
  321. package/src/adapters/mysql/tools/transactions.ts +49 -24
  322. package/src/adapters/mysql/types/proxysql-types.ts +38 -1
  323. package/src/adapters/mysql/types/router-types.ts +1 -1
  324. package/src/adapters/mysql/types/shell-types.ts +2 -2
  325. package/src/adapters/mysql/types.ts +632 -19
  326. package/src/auth/__tests__/scopes.test.ts +2 -2
  327. package/src/auth/scopes.ts +1 -1
  328. package/src/codemode/__tests__/api.test.ts +417 -0
  329. package/src/codemode/__tests__/sandbox-factory.test.ts +158 -0
  330. package/src/codemode/__tests__/sandbox.test.ts +301 -0
  331. package/src/codemode/__tests__/security.test.ts +368 -0
  332. package/src/codemode/__tests__/worker-sandbox.test.ts +179 -0
  333. package/src/codemode/__tests__/worker-script.test.ts +226 -0
  334. package/src/codemode/api.ts +89 -5
  335. package/src/codemode/sandbox-factory.ts +1 -1
  336. package/src/codemode/types.ts +34 -0
  337. package/src/codemode/worker-sandbox.ts +74 -7
  338. package/src/codemode/worker-script.ts +157 -86
  339. package/src/constants/ServerInstructions.ts +37 -31
  340. package/src/filtering/ToolConstants.ts +1 -2
  341. package/src/filtering/__tests__/ToolFilter.test.ts +9 -9
  342. package/src/pool/ConnectionPool.ts +4 -1
  343. package/src/transports/__tests__/http.test.ts +15 -3
  344. package/src/transports/http.ts +12 -0
  345. package/src/utils/validators.ts +2 -1
  346. package/vitest.config.ts +3 -1
  347. package/CODE_MODE.md +0 -245
@@ -3,15 +3,27 @@
3
3
  *
4
4
  * Tools for data masking, privilege management, and sensitive data identification.
5
5
  */
6
- import { z } from "zod";
6
+ import { z, ZodError } from "zod";
7
+ // =============================================================================
8
+ // Helpers
9
+ // =============================================================================
10
+ /** Extract human-readable messages from a ZodError instead of raw JSON array */
11
+ function formatZodError(error) {
12
+ return error.issues.map((i) => i.message).join("; ");
13
+ }
14
+ /** Strip verbose adapter prefixes from error messages */
15
+ function stripErrorPrefix(msg) {
16
+ return msg
17
+ .replace(/^Query failed:\s*/i, "")
18
+ .replace(/^Execute failed:\s*/i, "")
19
+ .trim();
20
+ }
7
21
  // =============================================================================
8
22
  // Zod Schemas
9
23
  // =============================================================================
10
24
  const MaskDataSchema = z.object({
11
25
  value: z.string().describe("Value to mask"),
12
- type: z
13
- .enum(["email", "phone", "ssn", "credit_card", "partial"])
14
- .describe("Masking type"),
26
+ type: z.string().describe("Masking type"),
15
27
  keepFirst: z.number().default(0).describe("Characters to keep from start"),
16
28
  keepLast: z.number().default(0).describe("Characters to keep from end"),
17
29
  maskChar: z.string().default("*").describe("Character to use for masking"),
@@ -68,79 +80,108 @@ export function createSecurityMaskDataTool(_adapter) {
68
80
  idempotentHint: true,
69
81
  },
70
82
  handler: (params, _context) => {
71
- const { value, type, keepFirst, keepLast, maskChar } = MaskDataSchema.parse(params);
72
- let maskedValue;
73
- switch (type) {
74
- case "email": {
75
- const atIndex = value.indexOf("@");
76
- if (atIndex > 0) {
77
- const localPart = value.substring(0, atIndex);
78
- const domain = value.substring(atIndex);
79
- const maskedLocal = localPart.length > 2
80
- ? localPart[0] +
81
- maskChar.repeat(localPart.length - 2) +
82
- localPart[localPart.length - 1]
83
- : maskChar.repeat(localPart.length);
84
- maskedValue = maskedLocal + domain;
85
- }
86
- else {
87
- maskedValue = maskChar.repeat(value.length);
88
- }
89
- break;
90
- }
91
- case "phone": {
92
- // Keep last 4 digits, mask rest
93
- const digits = value.replace(/\D/g, "");
94
- maskedValue =
95
- maskChar.repeat(Math.max(0, digits.length - 4)) + digits.slice(-4);
96
- break;
97
- }
98
- case "ssn": {
99
- // Show only last 4
100
- const ssnDigits = value.replace(/\D/g, "");
101
- maskedValue = `${maskChar}${maskChar}${maskChar}-${maskChar}${maskChar}-${ssnDigits.slice(-4)}`;
102
- break;
83
+ try {
84
+ const { value, type, keepFirst, keepLast, maskChar } = MaskDataSchema.parse(params);
85
+ const validTypes = [
86
+ "email",
87
+ "phone",
88
+ "ssn",
89
+ "credit_card",
90
+ "partial",
91
+ ];
92
+ if (!validTypes.includes(type)) {
93
+ return Promise.resolve({
94
+ success: false,
95
+ error: `Invalid type: '${type}' — expected one of: ${validTypes.join(", ")}`,
96
+ });
103
97
  }
104
- case "credit_card": {
105
- // Show first 4 and last 4
106
- const ccDigits = value.replace(/\D/g, "");
107
- if (ccDigits.length <= 8) {
108
- return Promise.resolve({
109
- original: value,
110
- masked: maskChar.repeat(value.length),
111
- type,
112
- warning: "Value too short for credit_card format (expected more than 8 digits); fully masked instead",
113
- });
98
+ let maskedValue;
99
+ switch (type) {
100
+ case "email": {
101
+ const atIndex = value.indexOf("@");
102
+ if (atIndex > 0) {
103
+ const localPart = value.substring(0, atIndex);
104
+ const domain = value.substring(atIndex);
105
+ const maskedLocal = localPart.length > 2
106
+ ? localPart[0] +
107
+ maskChar.repeat(localPart.length - 2) +
108
+ localPart[localPart.length - 1]
109
+ : maskChar.repeat(localPart.length);
110
+ maskedValue = maskedLocal + domain;
111
+ }
112
+ else {
113
+ maskedValue = maskChar.repeat(value.length);
114
+ }
115
+ break;
114
116
  }
115
- maskedValue =
116
- ccDigits.slice(0, 4) +
117
- maskChar.repeat(Math.max(0, ccDigits.length - 8)) +
118
- ccDigits.slice(-4);
119
- break;
120
- }
121
- case "partial": {
122
- // When keepFirst + keepLast covers the entire value, return unchanged with warning
123
- if (keepFirst + keepLast >= value.length) {
124
- return Promise.resolve({
125
- original: value,
126
- masked: value,
127
- type,
128
- warning: "Masking ineffective: keepFirst + keepLast covers entire value length; returned unchanged",
129
- });
117
+ case "phone": {
118
+ // Keep last 4 digits, mask rest
119
+ const digits = value.replace(/\D/g, "");
120
+ maskedValue =
121
+ maskChar.repeat(Math.max(0, digits.length - 4)) +
122
+ digits.slice(-4);
123
+ break;
130
124
  }
131
- else {
132
- const maskLength = value.length - keepFirst - keepLast;
125
+ case "ssn": {
126
+ // Show only last 4
127
+ const ssnDigits = value.replace(/\D/g, "");
128
+ maskedValue = `${maskChar}${maskChar}${maskChar}-${maskChar}${maskChar}-${ssnDigits.slice(-4)}`;
129
+ break;
130
+ }
131
+ case "credit_card": {
132
+ // Show first 4 and last 4
133
+ const ccDigits = value.replace(/\D/g, "");
134
+ if (ccDigits.length <= 8) {
135
+ return Promise.resolve({
136
+ original: value,
137
+ masked: maskChar.repeat(value.length),
138
+ type,
139
+ warning: "Value too short for credit_card format (expected more than 8 digits); fully masked instead",
140
+ });
141
+ }
133
142
  maskedValue =
134
- value.slice(0, keepFirst) +
135
- maskChar.repeat(maskLength) +
136
- (keepLast > 0 ? value.slice(-keepLast) : "");
143
+ ccDigits.slice(0, 4) +
144
+ maskChar.repeat(Math.max(0, ccDigits.length - 8)) +
145
+ ccDigits.slice(-4);
146
+ break;
147
+ }
148
+ case "partial": {
149
+ // When keepFirst + keepLast covers the entire value, return unchanged with warning
150
+ if (keepFirst + keepLast >= value.length) {
151
+ return Promise.resolve({
152
+ original: value,
153
+ masked: value,
154
+ type,
155
+ warning: "Masking ineffective: keepFirst + keepLast covers entire value length; returned unchanged",
156
+ });
157
+ }
158
+ else {
159
+ const maskLength = value.length - keepFirst - keepLast;
160
+ maskedValue =
161
+ value.slice(0, keepFirst) +
162
+ maskChar.repeat(maskLength) +
163
+ (keepLast > 0 ? value.slice(-keepLast) : "");
164
+ }
165
+ break;
137
166
  }
138
- break;
167
+ default:
168
+ maskedValue = maskChar.repeat(value.length);
139
169
  }
140
- default:
141
- maskedValue = maskChar.repeat(value.length);
170
+ return Promise.resolve({ original: value, masked: maskedValue, type });
171
+ }
172
+ catch (error) {
173
+ if (error instanceof ZodError) {
174
+ return Promise.resolve({
175
+ success: false,
176
+ error: formatZodError(error),
177
+ });
178
+ }
179
+ const message = error instanceof Error ? error.message : String(error);
180
+ return Promise.resolve({
181
+ success: false,
182
+ error: stripErrorPrefix(message),
183
+ });
142
184
  }
143
- return Promise.resolve({ original: value, masked: maskedValue, type });
144
185
  },
145
186
  };
146
187
  }
@@ -160,16 +201,17 @@ export function createSecurityUserPrivilegesTool(adapter) {
160
201
  idempotentHint: true,
161
202
  },
162
203
  handler: async (params, _context) => {
163
- const { user, host, includeRoles, summary } = UserPrivilegesSchema.parse(params);
164
- // P154: User existence check when explicitly provided
165
- if (user) {
166
- const userCheck = await adapter.executeQuery("SELECT User FROM mysql.user WHERE User = ? LIMIT 1", [user]);
167
- if (!userCheck.rows || userCheck.rows.length === 0) {
168
- return { exists: false, user };
204
+ try {
205
+ const { user, host, includeRoles, summary } = UserPrivilegesSchema.parse(params);
206
+ // P154: User existence check when explicitly provided
207
+ if (user) {
208
+ const userCheck = await adapter.executeQuery("SELECT User FROM mysql.user WHERE User = ? LIMIT 1", [user]);
209
+ if (!userCheck.rows || userCheck.rows.length === 0) {
210
+ return { exists: false, user };
211
+ }
169
212
  }
170
- }
171
- // Get users
172
- let usersQuery = `
213
+ // Get users
214
+ let usersQuery = `
173
215
  SELECT User, Host,
174
216
  plugin as authPlugin,
175
217
  account_locked as accountLocked,
@@ -179,102 +221,110 @@ export function createSecurityUserPrivilegesTool(adapter) {
179
221
  max_user_connections as maxUserConnections
180
222
  FROM mysql.user
181
223
  `;
182
- const conditions = [];
183
- const queryParams = [];
184
- if (user) {
185
- conditions.push("User = ?");
186
- queryParams.push(user);
187
- }
188
- if (host !== "%") {
189
- conditions.push("Host = ?");
190
- queryParams.push(host);
191
- }
192
- if (conditions.length > 0) {
193
- usersQuery += " WHERE " + conditions.join(" AND ");
194
- }
195
- const usersResult = await adapter.executeQuery(usersQuery, queryParams);
196
- // For each user, get their grants
197
- const userPrivileges = [];
198
- for (const userRow of usersResult.rows ?? []) {
199
- const u = userRow;
200
- const userName = u["User"];
201
- const userHost = u["Host"];
202
- const grantsResult = await adapter.executeQuery(`SHOW GRANTS FOR '${userName}'@'${userHost}'`);
203
- const grants = (grantsResult.rows ?? []).map((r) => {
204
- const values = Object.values(r);
205
- return values[0];
206
- });
207
- let roles = [];
208
- if (includeRoles) {
209
- try {
210
- const rolesResult = await adapter.executeQuery(`
224
+ const conditions = [];
225
+ const queryParams = [];
226
+ if (user) {
227
+ conditions.push("User = ?");
228
+ queryParams.push(user);
229
+ }
230
+ if (host !== "%") {
231
+ conditions.push("Host = ?");
232
+ queryParams.push(host);
233
+ }
234
+ if (conditions.length > 0) {
235
+ usersQuery += " WHERE " + conditions.join(" AND ");
236
+ }
237
+ const usersResult = await adapter.executeQuery(usersQuery, queryParams);
238
+ // For each user, get their grants
239
+ const userPrivileges = [];
240
+ for (const userRow of usersResult.rows ?? []) {
241
+ const u = userRow;
242
+ const userName = u["User"];
243
+ const userHost = u["Host"];
244
+ const grantsResult = await adapter.executeQuery(`SHOW GRANTS FOR \`${userName}\`@\`${userHost}\``);
245
+ const grants = (grantsResult.rows ?? []).map((r) => {
246
+ const values = Object.values(r);
247
+ return values[0];
248
+ });
249
+ let roles = [];
250
+ if (includeRoles) {
251
+ try {
252
+ const rolesResult = await adapter.executeQuery(`
211
253
  SELECT FROM_USER, FROM_HOST
212
254
  FROM mysql.role_edges
213
255
  WHERE TO_USER = ? AND TO_HOST = ?
214
256
  `, [userName, userHost]);
215
- roles = (rolesResult.rows ?? []).map((r) => {
216
- const role = r;
217
- return `${role["FROM_USER"]}@${role["FROM_HOST"]}`;
218
- });
219
- }
220
- catch {
221
- // Role edges table might not exist in older versions
222
- }
223
- }
224
- if (summary) {
225
- // Extract global privileges from GRANT statements
226
- const globalPrivileges = [];
227
- let hasAllPrivileges = false;
228
- let hasWithGrantOption = false;
229
- for (const grant of grants) {
230
- // Check for ALL PRIVILEGES
231
- if (grant.includes("ALL PRIVILEGES")) {
232
- hasAllPrivileges = true;
257
+ roles = (rolesResult.rows ?? []).map((r) => {
258
+ const role = r;
259
+ return `${role["FROM_USER"]}@${role["FROM_HOST"]}`;
260
+ });
233
261
  }
234
- // Check for WITH GRANT OPTION
235
- if (grant.includes("WITH GRANT OPTION")) {
236
- hasWithGrantOption = true;
262
+ catch {
263
+ // Role edges table might not exist in older versions
237
264
  }
238
- // Extract specific privileges from global grants (ON *.*)
239
- const globalPattern = /GRANT\s+(.+?)\s+ON\s+\*\.\*\s+TO/i;
240
- const globalMatch = globalPattern.exec(grant);
241
- if (globalMatch?.[1]) {
242
- const privs = globalMatch[1].split(",").map((p) => p.trim());
243
- globalPrivileges.push(...privs);
265
+ }
266
+ if (summary) {
267
+ // Extract global privileges from GRANT statements
268
+ const globalPrivileges = [];
269
+ let hasAllPrivileges = false;
270
+ let hasWithGrantOption = false;
271
+ for (const grant of grants) {
272
+ // Check for ALL PRIVILEGES
273
+ if (grant.includes("ALL PRIVILEGES")) {
274
+ hasAllPrivileges = true;
275
+ }
276
+ // Check for WITH GRANT OPTION
277
+ if (grant.includes("WITH GRANT OPTION")) {
278
+ hasWithGrantOption = true;
279
+ }
280
+ // Extract specific privileges from global grants (ON *.*)
281
+ const globalPattern = /GRANT\s+(.+?)\s+ON\s+\*\.\*\s+TO/i;
282
+ const globalMatch = globalPattern.exec(grant);
283
+ if (globalMatch?.[1]) {
284
+ const privs = globalMatch[1].split(",").map((p) => p.trim());
285
+ globalPrivileges.push(...privs);
286
+ }
244
287
  }
288
+ const deduped = [...new Set(globalPrivileges)];
289
+ userPrivileges.push({
290
+ user: userName,
291
+ host: userHost,
292
+ authPlugin: u["authPlugin"],
293
+ accountLocked: u["accountLocked"] === "Y",
294
+ passwordExpired: u["passwordExpired"] === "Y",
295
+ grantCount: grants.length,
296
+ roleCount: roles.length,
297
+ hasAllPrivileges,
298
+ hasWithGrantOption,
299
+ globalPrivileges: deduped.slice(0, 10),
300
+ totalGlobalPrivileges: deduped.length,
301
+ });
302
+ }
303
+ else {
304
+ userPrivileges.push({
305
+ user: userName,
306
+ host: userHost,
307
+ authPlugin: u["authPlugin"],
308
+ accountLocked: u["accountLocked"] === "Y",
309
+ passwordExpired: u["passwordExpired"] === "Y",
310
+ grants,
311
+ roles,
312
+ });
245
313
  }
246
- const deduped = [...new Set(globalPrivileges)];
247
- userPrivileges.push({
248
- user: userName,
249
- host: userHost,
250
- authPlugin: u["authPlugin"],
251
- accountLocked: u["accountLocked"] === "Y",
252
- passwordExpired: u["passwordExpired"] === "Y",
253
- grantCount: grants.length,
254
- roleCount: roles.length,
255
- hasAllPrivileges,
256
- hasWithGrantOption,
257
- globalPrivileges: deduped.slice(0, 10),
258
- totalGlobalPrivileges: deduped.length,
259
- });
260
314
  }
261
- else {
262
- userPrivileges.push({
263
- user: userName,
264
- host: userHost,
265
- authPlugin: u["authPlugin"],
266
- accountLocked: u["accountLocked"] === "Y",
267
- passwordExpired: u["passwordExpired"] === "Y",
268
- grants,
269
- roles,
270
- });
315
+ return {
316
+ users: userPrivileges,
317
+ count: userPrivileges.length,
318
+ summary,
319
+ };
320
+ }
321
+ catch (error) {
322
+ if (error instanceof ZodError) {
323
+ return { success: false, error: formatZodError(error) };
271
324
  }
325
+ const message = error instanceof Error ? error.message : String(error);
326
+ return { success: false, error: stripErrorPrefix(message) };
272
327
  }
273
- return {
274
- users: userPrivileges,
275
- count: userPrivileges.length,
276
- summary,
277
- };
278
328
  },
279
329
  };
280
330
  }
@@ -294,25 +344,26 @@ export function createSecuritySensitiveTablesTool(adapter) {
294
344
  idempotentHint: true,
295
345
  },
296
346
  handler: async (params, _context) => {
297
- const { schema, patterns } = SensitiveTablesSchema.parse(params);
298
- // P154: Schema existence check when explicitly provided
299
- if (schema) {
300
- const schemaCheck = await adapter.executeQuery("SELECT SCHEMA_NAME FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = ?", [schema]);
301
- if (!schemaCheck.rows || schemaCheck.rows.length === 0) {
302
- return { exists: false, schema };
347
+ try {
348
+ const { schema, patterns } = SensitiveTablesSchema.parse(params);
349
+ // P154: Schema existence check when explicitly provided
350
+ if (schema) {
351
+ const schemaCheck = await adapter.executeQuery("SELECT SCHEMA_NAME FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = ?", [schema]);
352
+ if (!schemaCheck.rows || schemaCheck.rows.length === 0) {
353
+ return { exists: false, schema };
354
+ }
303
355
  }
304
- }
305
- // Build pattern conditions
306
- const patternConditions = patterns
307
- .map(() => "COLUMN_NAME LIKE ?")
308
- .join(" OR ");
309
- const patternParams = patterns.map((p) => `%${p}%`);
310
- // Build schema condition - use explicit schema if provided, otherwise DATABASE()
311
- const schemaCondition = schema
312
- ? "TABLE_SCHEMA = ?"
313
- : "TABLE_SCHEMA = DATABASE()";
314
- const schemaParams = schema ? [schema] : [];
315
- const query = `
356
+ // Build pattern conditions
357
+ const patternConditions = patterns
358
+ .map(() => "COLUMN_NAME LIKE ?")
359
+ .join(" OR ");
360
+ const patternParams = patterns.map((p) => `%${p}%`);
361
+ // Build schema condition - use explicit schema if provided, otherwise DATABASE()
362
+ const schemaCondition = schema
363
+ ? "TABLE_SCHEMA = ?"
364
+ : "TABLE_SCHEMA = DATABASE()";
365
+ const schemaParams = schema ? [schema] : [];
366
+ const query = `
316
367
  SELECT
317
368
  TABLE_NAME as tableName,
318
369
  COLUMN_NAME as columnName,
@@ -325,31 +376,39 @@ export function createSecuritySensitiveTablesTool(adapter) {
325
376
  AND (${patternConditions})
326
377
  ORDER BY TABLE_NAME, COLUMN_NAME
327
378
  `;
328
- const result = await adapter.executeQuery(query, [
329
- ...schemaParams,
330
- ...patternParams,
331
- ]);
332
- // Group by table
333
- const tableMap = new Map();
334
- for (const row of result.rows ?? []) {
335
- const r = row;
336
- const tableName = r["tableName"];
337
- if (!tableMap.has(tableName)) {
338
- tableMap.set(tableName, []);
379
+ const result = await adapter.executeQuery(query, [
380
+ ...schemaParams,
381
+ ...patternParams,
382
+ ]);
383
+ // Group by table
384
+ const tableMap = new Map();
385
+ for (const row of result.rows ?? []) {
386
+ const r = row;
387
+ const tableName = r["tableName"];
388
+ if (!tableMap.has(tableName)) {
389
+ tableMap.set(tableName, []);
390
+ }
391
+ tableMap.get(tableName)?.push(r);
392
+ }
393
+ const sensitiveItems = Array.from(tableMap.entries()).map(([table, columns]) => ({
394
+ table,
395
+ sensitiveColumns: columns,
396
+ columnCount: columns.length,
397
+ }));
398
+ return {
399
+ sensitiveTables: sensitiveItems,
400
+ tableCount: sensitiveItems.length,
401
+ totalSensitiveColumns: result.rows?.length ?? 0,
402
+ patternsUsed: patterns,
403
+ };
404
+ }
405
+ catch (error) {
406
+ if (error instanceof ZodError) {
407
+ return { success: false, error: formatZodError(error) };
339
408
  }
340
- tableMap.get(tableName)?.push(r);
409
+ const message = error instanceof Error ? error.message : String(error);
410
+ return { success: false, error: stripErrorPrefix(message) };
341
411
  }
342
- const sensitiveItems = Array.from(tableMap.entries()).map(([table, columns]) => ({
343
- table,
344
- sensitiveColumns: columns,
345
- columnCount: columns.length,
346
- }));
347
- return {
348
- sensitiveTables: sensitiveItems,
349
- tableCount: sensitiveItems.length,
350
- totalSensitiveColumns: result.rows?.length ?? 0,
351
- patternsUsed: patterns,
352
- };
353
412
  },
354
413
  };
355
414
  }
@@ -1 +1 @@
1
- {"version":3,"file":"data-protection.js","sourceRoot":"","sources":["../../../../../src/adapters/mysql/tools/security/data-protection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-protection.js","sourceRoot":"","sources":["../../../../../src/adapters/mysql/tools/security/data-protection.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"encryption.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/mysql/tools/security/encryption.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,4BAA4B,CAAC;AAcpC;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,YAAY,GACpB,cAAc,CAkFhB;AAED;;GAEG;AACH,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,YAAY,GACpB,cAAc,CA0EhB;AAED;;GAEG;AACH,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,YAAY,GACpB,cAAc,CA4EhB"}
1
+ {"version":3,"file":"encryption.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/mysql/tools/security/encryption.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,4BAA4B,CAAC;AA+BpC;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,YAAY,GACpB,cAAc,CA8EhB;AAED;;GAEG;AACH,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,YAAY,GACpB,cAAc,CAkFhB;AAED;;GAEG;AACH,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,YAAY,GACpB,cAAc,CAwFhB"}