@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.
- package/.dockerignore +1 -0
- package/.gitattributes +18 -0
- package/.github/workflows/codeql.yml +2 -10
- package/.github/workflows/docker-publish.yml +15 -13
- package/CHANGELOG.md +287 -1
- package/DOCKER_README.md +100 -265
- package/Dockerfile +5 -0
- package/README.md +124 -59
- package/VERSION +1 -1
- package/dist/__tests__/mocks/adapter.d.ts.map +1 -1
- package/dist/__tests__/mocks/adapter.js +2 -0
- package/dist/__tests__/mocks/adapter.js.map +1 -1
- package/dist/adapters/DatabaseAdapter.d.ts.map +1 -1
- package/dist/adapters/DatabaseAdapter.js +50 -9
- package/dist/adapters/DatabaseAdapter.js.map +1 -1
- package/dist/adapters/mysql/MySQLAdapter.d.ts +6 -0
- package/dist/adapters/mysql/MySQLAdapter.d.ts.map +1 -1
- package/dist/adapters/mysql/MySQLAdapter.js +8 -0
- package/dist/adapters/mysql/MySQLAdapter.js.map +1 -1
- package/dist/adapters/mysql/SchemaManager.js +16 -15
- package/dist/adapters/mysql/SchemaManager.js.map +1 -1
- package/dist/adapters/mysql/prompts/index.js +10 -20
- package/dist/adapters/mysql/prompts/index.js.map +1 -1
- package/dist/adapters/mysql/prompts/proxysqlSetup.js +1 -1
- package/dist/adapters/mysql/resources/docstore.d.ts.map +1 -1
- package/dist/adapters/mysql/resources/docstore.js +10 -7
- package/dist/adapters/mysql/resources/docstore.js.map +1 -1
- package/dist/adapters/mysql/resources/events.js +11 -8
- package/dist/adapters/mysql/resources/events.js.map +1 -1
- package/dist/adapters/mysql/resources/indexes.d.ts.map +1 -1
- package/dist/adapters/mysql/resources/indexes.js +12 -15
- package/dist/adapters/mysql/resources/indexes.js.map +1 -1
- package/dist/adapters/mysql/resources/innodb.d.ts.map +1 -1
- package/dist/adapters/mysql/resources/innodb.js +20 -17
- package/dist/adapters/mysql/resources/innodb.js.map +1 -1
- package/dist/adapters/mysql/resources/locks.d.ts.map +1 -1
- package/dist/adapters/mysql/resources/locks.js +9 -6
- package/dist/adapters/mysql/resources/locks.js.map +1 -1
- package/dist/adapters/mysql/resources/performance.d.ts.map +1 -1
- package/dist/adapters/mysql/resources/performance.js +15 -15
- package/dist/adapters/mysql/resources/performance.js.map +1 -1
- package/dist/adapters/mysql/resources/spatial.d.ts.map +1 -1
- package/dist/adapters/mysql/resources/spatial.js +9 -6
- package/dist/adapters/mysql/resources/spatial.js.map +1 -1
- package/dist/adapters/mysql/resources/sysschema.d.ts.map +1 -1
- package/dist/adapters/mysql/resources/sysschema.js +12 -9
- package/dist/adapters/mysql/resources/sysschema.js.map +1 -1
- package/dist/adapters/mysql/tools/admin/backup.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/admin/backup.js +170 -121
- package/dist/adapters/mysql/tools/admin/backup.js.map +1 -1
- package/dist/adapters/mysql/tools/admin/maintenance.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/admin/maintenance.js +106 -57
- package/dist/adapters/mysql/tools/admin/maintenance.js.map +1 -1
- package/dist/adapters/mysql/tools/admin/monitoring.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/admin/monitoring.js +183 -101
- package/dist/adapters/mysql/tools/admin/monitoring.js.map +1 -1
- package/dist/adapters/mysql/tools/cluster/group-replication.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/cluster/group-replication.js +164 -120
- package/dist/adapters/mysql/tools/cluster/group-replication.js.map +1 -1
- package/dist/adapters/mysql/tools/cluster/innodb-cluster.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/cluster/innodb-cluster.js +212 -145
- package/dist/adapters/mysql/tools/cluster/innodb-cluster.js.map +1 -1
- package/dist/adapters/mysql/tools/codemode/index.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/codemode/index.js +6 -4
- package/dist/adapters/mysql/tools/codemode/index.js.map +1 -1
- package/dist/adapters/mysql/tools/core.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/core.js +152 -29
- package/dist/adapters/mysql/tools/core.js.map +1 -1
- package/dist/adapters/mysql/tools/docstore.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/docstore.js +340 -163
- package/dist/adapters/mysql/tools/docstore.js.map +1 -1
- package/dist/adapters/mysql/tools/events.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/events.js +284 -198
- package/dist/adapters/mysql/tools/events.js.map +1 -1
- package/dist/adapters/mysql/tools/json/core.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/json/core.js +11 -39
- package/dist/adapters/mysql/tools/json/core.js.map +1 -1
- package/dist/adapters/mysql/tools/json/enhanced.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/json/enhanced.js +15 -33
- package/dist/adapters/mysql/tools/json/enhanced.js.map +1 -1
- package/dist/adapters/mysql/tools/json/helpers.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/json/helpers.js +13 -24
- package/dist/adapters/mysql/tools/json/helpers.js.map +1 -1
- package/dist/adapters/mysql/tools/partitioning.js +3 -0
- package/dist/adapters/mysql/tools/partitioning.js.map +1 -1
- package/dist/adapters/mysql/tools/performance/analysis.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/performance/analysis.js +89 -60
- package/dist/adapters/mysql/tools/performance/analysis.js.map +1 -1
- package/dist/adapters/mysql/tools/performance/optimization.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/performance/optimization.js +151 -127
- package/dist/adapters/mysql/tools/performance/optimization.js.map +1 -1
- package/dist/adapters/mysql/tools/proxysql.d.ts +1 -1
- package/dist/adapters/mysql/tools/proxysql.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/proxysql.js +289 -176
- package/dist/adapters/mysql/tools/proxysql.js.map +1 -1
- package/dist/adapters/mysql/tools/replication.js +75 -49
- package/dist/adapters/mysql/tools/replication.js.map +1 -1
- package/dist/adapters/mysql/tools/roles.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/roles.js +224 -182
- package/dist/adapters/mysql/tools/roles.js.map +1 -1
- package/dist/adapters/mysql/tools/router.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/router.js +168 -67
- package/dist/adapters/mysql/tools/router.js.map +1 -1
- package/dist/adapters/mysql/tools/schema/constraints.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/schema/constraints.js +21 -3
- package/dist/adapters/mysql/tools/schema/constraints.js.map +1 -1
- package/dist/adapters/mysql/tools/schema/management.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/schema/management.js +61 -14
- package/dist/adapters/mysql/tools/schema/management.js.map +1 -1
- package/dist/adapters/mysql/tools/schema/routines.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/schema/routines.js +27 -4
- package/dist/adapters/mysql/tools/schema/routines.js.map +1 -1
- package/dist/adapters/mysql/tools/schema/scheduled_events.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/schema/scheduled_events.js +24 -3
- package/dist/adapters/mysql/tools/schema/scheduled_events.js.map +1 -1
- package/dist/adapters/mysql/tools/schema/triggers.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/schema/triggers.js +23 -2
- package/dist/adapters/mysql/tools/schema/triggers.js.map +1 -1
- package/dist/adapters/mysql/tools/schema/views.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/schema/views.js +47 -7
- package/dist/adapters/mysql/tools/schema/views.js.map +1 -1
- package/dist/adapters/mysql/tools/security/audit.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/security/audit.js +102 -34
- package/dist/adapters/mysql/tools/security/audit.js.map +1 -1
- package/dist/adapters/mysql/tools/security/data-protection.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/security/data-protection.js +264 -205
- package/dist/adapters/mysql/tools/security/data-protection.js.map +1 -1
- package/dist/adapters/mysql/tools/security/encryption.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/security/encryption.js +137 -104
- package/dist/adapters/mysql/tools/security/encryption.js.map +1 -1
- package/dist/adapters/mysql/tools/shell/backup.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/shell/backup.js +71 -59
- package/dist/adapters/mysql/tools/shell/backup.js.map +1 -1
- package/dist/adapters/mysql/tools/shell/restore.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/shell/restore.js +61 -47
- package/dist/adapters/mysql/tools/shell/restore.js.map +1 -1
- package/dist/adapters/mysql/tools/spatial/geometry.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/spatial/geometry.js +19 -5
- package/dist/adapters/mysql/tools/spatial/geometry.js.map +1 -1
- package/dist/adapters/mysql/tools/spatial/operations.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/spatial/operations.js +42 -17
- package/dist/adapters/mysql/tools/spatial/operations.js.map +1 -1
- package/dist/adapters/mysql/tools/spatial/queries.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/spatial/queries.js +109 -57
- package/dist/adapters/mysql/tools/spatial/queries.js.map +1 -1
- package/dist/adapters/mysql/tools/spatial/setup.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/spatial/setup.js +103 -50
- package/dist/adapters/mysql/tools/spatial/setup.js.map +1 -1
- package/dist/adapters/mysql/tools/stats/comparative.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/stats/comparative.js +128 -79
- package/dist/adapters/mysql/tools/stats/comparative.js.map +1 -1
- package/dist/adapters/mysql/tools/stats/descriptive.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/stats/descriptive.js +174 -102
- package/dist/adapters/mysql/tools/stats/descriptive.js.map +1 -1
- package/dist/adapters/mysql/tools/sysschema/activity.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/sysschema/activity.js +50 -25
- package/dist/adapters/mysql/tools/sysschema/activity.js.map +1 -1
- package/dist/adapters/mysql/tools/sysschema/performance.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/sysschema/performance.js +121 -66
- package/dist/adapters/mysql/tools/sysschema/performance.js.map +1 -1
- package/dist/adapters/mysql/tools/sysschema/resources.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/sysschema/resources.js +101 -64
- package/dist/adapters/mysql/tools/sysschema/resources.js.map +1 -1
- package/dist/adapters/mysql/tools/text/fulltext.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/text/fulltext.js +18 -32
- package/dist/adapters/mysql/tools/text/fulltext.js.map +1 -1
- package/dist/adapters/mysql/tools/transactions.d.ts.map +1 -1
- package/dist/adapters/mysql/tools/transactions.js +48 -23
- package/dist/adapters/mysql/tools/transactions.js.map +1 -1
- package/dist/adapters/mysql/types/proxysql-types.d.ts +15 -0
- package/dist/adapters/mysql/types/proxysql-types.d.ts.map +1 -1
- package/dist/adapters/mysql/types/proxysql-types.js +33 -1
- package/dist/adapters/mysql/types/proxysql-types.js.map +1 -1
- package/dist/adapters/mysql/types/router-types.d.ts +1 -1
- package/dist/adapters/mysql/types/router-types.js +1 -1
- package/dist/adapters/mysql/types/router-types.js.map +1 -1
- package/dist/adapters/mysql/types/shell-types.js +2 -2
- package/dist/adapters/mysql/types/shell-types.js.map +1 -1
- package/dist/adapters/mysql/types.d.ts +485 -21
- package/dist/adapters/mysql/types.d.ts.map +1 -1
- package/dist/adapters/mysql/types.js +546 -19
- package/dist/adapters/mysql/types.js.map +1 -1
- package/dist/auth/scopes.js +1 -1
- package/dist/auth/scopes.js.map +1 -1
- package/dist/codemode/api.d.ts +3 -2
- package/dist/codemode/api.d.ts.map +1 -1
- package/dist/codemode/api.js +80 -5
- package/dist/codemode/api.js.map +1 -1
- package/dist/codemode/sandbox-factory.js +1 -1
- package/dist/codemode/sandbox-factory.js.map +1 -1
- package/dist/codemode/types.d.ts +26 -0
- package/dist/codemode/types.d.ts.map +1 -1
- package/dist/codemode/types.js +2 -0
- package/dist/codemode/types.js.map +1 -1
- package/dist/codemode/worker-sandbox.d.ts +4 -2
- package/dist/codemode/worker-sandbox.d.ts.map +1 -1
- package/dist/codemode/worker-sandbox.js +66 -7
- package/dist/codemode/worker-sandbox.js.map +1 -1
- package/dist/codemode/worker-script.d.ts +3 -0
- package/dist/codemode/worker-script.d.ts.map +1 -1
- package/dist/codemode/worker-script.js +128 -75
- package/dist/codemode/worker-script.js.map +1 -1
- package/dist/constants/ServerInstructions.d.ts +1 -1
- package/dist/constants/ServerInstructions.d.ts.map +1 -1
- package/dist/constants/ServerInstructions.js +37 -31
- package/dist/constants/ServerInstructions.js.map +1 -1
- package/dist/filtering/ToolConstants.d.ts +1 -1
- package/dist/filtering/ToolConstants.d.ts.map +1 -1
- package/dist/filtering/ToolConstants.js +1 -2
- package/dist/filtering/ToolConstants.js.map +1 -1
- package/dist/pool/ConnectionPool.d.ts.map +1 -1
- package/dist/pool/ConnectionPool.js.map +1 -1
- package/dist/transports/http.d.ts.map +1 -1
- package/dist/transports/http.js +6 -0
- package/dist/transports/http.js.map +1 -1
- package/dist/utils/validators.d.ts +1 -1
- package/dist/utils/validators.d.ts.map +1 -1
- package/dist/utils/validators.js.map +1 -1
- package/package.json +4 -4
- package/releases/v2.3.0-release-notes.md +20 -20
- package/releases/v2.3.1-release-notes.md +34 -0
- package/releases/v3.0.0-release-notes.md +81 -0
- package/src/__tests__/mocks/adapter.ts +3 -0
- package/src/__tests__/perf.test.ts +6 -6
- package/src/adapters/DatabaseAdapter.ts +58 -9
- package/src/adapters/__tests__/DatabaseAdapter.test.ts +89 -8
- package/src/adapters/mysql/MySQLAdapter.ts +17 -2
- package/src/adapters/mysql/SchemaManager.ts +21 -21
- package/src/adapters/mysql/__tests__/MySQLAdapter.test.ts +1 -1
- package/src/adapters/mysql/prompts/index.ts +12 -22
- package/src/adapters/mysql/prompts/proxysqlSetup.ts +1 -1
- package/src/adapters/mysql/resources/docstore.ts +13 -10
- package/src/adapters/mysql/resources/events.ts +12 -12
- package/src/adapters/mysql/resources/indexes.ts +17 -19
- package/src/adapters/mysql/resources/innodb.ts +23 -22
- package/src/adapters/mysql/resources/locks.ts +9 -7
- package/src/adapters/mysql/resources/performance.ts +23 -18
- package/src/adapters/mysql/resources/spatial.ts +9 -7
- package/src/adapters/mysql/resources/sysschema.ts +12 -11
- package/src/adapters/mysql/tools/__tests__/core.test.ts +126 -55
- package/src/adapters/mysql/tools/__tests__/docstore.test.ts +459 -88
- package/src/adapters/mysql/tools/__tests__/events.test.ts +281 -103
- package/src/adapters/mysql/tools/__tests__/proxysql.test.ts +128 -28
- package/src/adapters/mysql/tools/__tests__/replication.test.ts +48 -2
- package/src/adapters/mysql/tools/__tests__/roles.test.ts +15 -18
- package/src/adapters/mysql/tools/__tests__/router.test.ts +32 -5
- package/src/adapters/mysql/tools/__tests__/security.test.ts +126 -2
- package/src/adapters/mysql/tools/__tests__/security_injection.test.ts +84 -76
- package/src/adapters/mysql/tools/__tests__/security_integration.test.ts +47 -50
- package/src/adapters/mysql/tools/__tests__/spatial.test.ts +11 -10
- package/src/adapters/mysql/tools/__tests__/spatial_handler.test.ts +54 -38
- package/src/adapters/mysql/tools/__tests__/stats.test.ts +285 -152
- package/src/adapters/mysql/tools/__tests__/transactions.test.ts +13 -13
- package/src/adapters/mysql/tools/admin/__tests__/backup.test.ts +171 -25
- package/src/adapters/mysql/tools/admin/__tests__/maintenance.test.ts +240 -4
- package/src/adapters/mysql/tools/admin/__tests__/monitoring-summary.test.ts +274 -0
- package/src/adapters/mysql/tools/admin/__tests__/monitoring.test.ts +94 -5
- package/src/adapters/mysql/tools/admin/backup.ts +193 -143
- package/src/adapters/mysql/tools/admin/maintenance.ts +118 -69
- package/src/adapters/mysql/tools/admin/monitoring.ts +201 -125
- package/src/adapters/mysql/tools/cluster/__tests__/group-replication.test.ts +69 -0
- package/src/adapters/mysql/tools/cluster/__tests__/innodb-cluster.test.ts +141 -0
- package/src/adapters/mysql/tools/cluster/group-replication.ts +172 -132
- package/src/adapters/mysql/tools/cluster/innodb-cluster.ts +231 -157
- package/src/adapters/mysql/tools/codemode/__tests__/codemode-tool.test.ts +227 -0
- package/src/adapters/mysql/tools/codemode/index.ts +5 -3
- package/src/adapters/mysql/tools/core.ts +152 -38
- package/src/adapters/mysql/tools/docstore.ts +422 -205
- package/src/adapters/mysql/tools/events.ts +334 -233
- package/src/adapters/mysql/tools/json/__tests__/core.test.ts +20 -0
- package/src/adapters/mysql/tools/json/__tests__/enhanced.test.ts +82 -50
- package/src/adapters/mysql/tools/json/__tests__/helpers.test.ts +42 -3
- package/src/adapters/mysql/tools/json/core.ts +21 -42
- package/src/adapters/mysql/tools/json/enhanced.ts +22 -37
- package/src/adapters/mysql/tools/json/helpers.ts +21 -25
- package/src/adapters/mysql/tools/partitioning.ts +3 -0
- package/src/adapters/mysql/tools/performance/__tests__/analysis.test.ts +98 -5
- package/src/adapters/mysql/tools/performance/__tests__/optimization-coverage.test.ts +515 -0
- package/src/adapters/mysql/tools/performance/__tests__/optimization.test.ts +187 -0
- package/src/adapters/mysql/tools/performance/analysis.ts +95 -69
- package/src/adapters/mysql/tools/performance/optimization.ts +182 -153
- package/src/adapters/mysql/tools/proxysql.ts +314 -209
- package/src/adapters/mysql/tools/replication.ts +84 -57
- package/src/adapters/mysql/tools/roles.ts +274 -226
- package/src/adapters/mysql/tools/router.ts +181 -85
- package/src/adapters/mysql/tools/schema/__tests__/constraints.test.ts +13 -0
- package/src/adapters/mysql/tools/schema/__tests__/management.test.ts +60 -25
- package/src/adapters/mysql/tools/schema/__tests__/scheduled_events.test.ts +11 -0
- package/src/adapters/mysql/tools/schema/__tests__/triggers.test.ts +25 -4
- package/src/adapters/mysql/tools/schema/__tests__/views.test.ts +46 -14
- package/src/adapters/mysql/tools/schema/constraints.ts +22 -3
- package/src/adapters/mysql/tools/schema/management.ts +60 -15
- package/src/adapters/mysql/tools/schema/routines.ts +26 -4
- package/src/adapters/mysql/tools/schema/scheduled_events.ts +25 -3
- package/src/adapters/mysql/tools/schema/triggers.ts +27 -2
- package/src/adapters/mysql/tools/schema/views.ts +46 -8
- package/src/adapters/mysql/tools/security/__tests__/audit.test.ts +90 -4
- package/src/adapters/mysql/tools/security/audit.ts +113 -39
- package/src/adapters/mysql/tools/security/data-protection.ts +293 -233
- package/src/adapters/mysql/tools/security/encryption.ts +172 -139
- package/src/adapters/mysql/tools/shell/__tests__/backup.test.ts +29 -0
- package/src/adapters/mysql/tools/shell/backup.ts +90 -73
- package/src/adapters/mysql/tools/shell/restore.ts +62 -48
- package/src/adapters/mysql/tools/spatial/__tests__/operations.test.ts +22 -14
- package/src/adapters/mysql/tools/spatial/__tests__/queries.test.ts +65 -51
- package/src/adapters/mysql/tools/spatial/geometry.ts +23 -7
- package/src/adapters/mysql/tools/spatial/operations.ts +60 -31
- package/src/adapters/mysql/tools/spatial/queries.ts +142 -65
- package/src/adapters/mysql/tools/spatial/setup.ts +121 -55
- package/src/adapters/mysql/tools/stats/__tests__/comparative.test.ts +12 -10
- package/src/adapters/mysql/tools/stats/comparative.ts +150 -98
- package/src/adapters/mysql/tools/stats/descriptive.ts +204 -127
- package/src/adapters/mysql/tools/sysschema/__tests__/error-paths.test.ts +222 -0
- package/src/adapters/mysql/tools/sysschema/__tests__/performance.test.ts +45 -0
- package/src/adapters/mysql/tools/sysschema/__tests__/resources.test.ts +6 -3
- package/src/adapters/mysql/tools/sysschema/activity.ts +52 -27
- package/src/adapters/mysql/tools/sysschema/performance.ts +132 -68
- package/src/adapters/mysql/tools/sysschema/resources.ts +105 -67
- package/src/adapters/mysql/tools/text/__tests__/fulltext.test.ts +45 -17
- package/src/adapters/mysql/tools/text/fulltext.ts +27 -38
- package/src/adapters/mysql/tools/transactions.ts +49 -24
- package/src/adapters/mysql/types/proxysql-types.ts +38 -1
- package/src/adapters/mysql/types/router-types.ts +1 -1
- package/src/adapters/mysql/types/shell-types.ts +2 -2
- package/src/adapters/mysql/types.ts +632 -19
- package/src/auth/__tests__/scopes.test.ts +2 -2
- package/src/auth/scopes.ts +1 -1
- package/src/codemode/__tests__/api.test.ts +417 -0
- package/src/codemode/__tests__/sandbox-factory.test.ts +158 -0
- package/src/codemode/__tests__/sandbox.test.ts +301 -0
- package/src/codemode/__tests__/security.test.ts +368 -0
- package/src/codemode/__tests__/worker-sandbox.test.ts +179 -0
- package/src/codemode/__tests__/worker-script.test.ts +226 -0
- package/src/codemode/api.ts +89 -5
- package/src/codemode/sandbox-factory.ts +1 -1
- package/src/codemode/types.ts +34 -0
- package/src/codemode/worker-sandbox.ts +74 -7
- package/src/codemode/worker-script.ts +157 -86
- package/src/constants/ServerInstructions.ts +37 -31
- package/src/filtering/ToolConstants.ts +1 -2
- package/src/filtering/__tests__/ToolFilter.test.ts +9 -9
- package/src/pool/ConnectionPool.ts +4 -1
- package/src/transports/__tests__/http.test.ts +15 -3
- package/src/transports/http.ts +12 -0
- package/src/utils/validators.ts +2 -1
- package/vitest.config.ts +3 -1
- package/CODE_MODE.md +0 -245
|
@@ -4,35 +4,41 @@
|
|
|
4
4
|
* Tools for analyzing statement execution, wait events, and I/O.
|
|
5
5
|
* 3 tools: statement_summary, wait_summary, io_summary.
|
|
6
6
|
*/
|
|
7
|
-
import { z } from "zod";
|
|
7
|
+
import { z, ZodError } from "zod";
|
|
8
|
+
// =============================================================================
|
|
9
|
+
// Helpers
|
|
10
|
+
// =============================================================================
|
|
11
|
+
/** Extract human-readable messages from a ZodError instead of raw JSON array */
|
|
12
|
+
function formatZodError(error) {
|
|
13
|
+
return error.issues.map((i) => i.message).join("; ");
|
|
14
|
+
}
|
|
8
15
|
// =============================================================================
|
|
9
16
|
// Zod Schemas
|
|
10
17
|
// =============================================================================
|
|
18
|
+
const VALID_ORDER_BY = [
|
|
19
|
+
"total_latency",
|
|
20
|
+
"exec_count",
|
|
21
|
+
"avg_latency",
|
|
22
|
+
"rows_sent",
|
|
23
|
+
"rows_examined",
|
|
24
|
+
];
|
|
11
25
|
const StatementSummarySchema = z.object({
|
|
12
|
-
orderBy: z
|
|
13
|
-
.enum([
|
|
14
|
-
"total_latency",
|
|
15
|
-
"exec_count",
|
|
16
|
-
"avg_latency",
|
|
17
|
-
"rows_sent",
|
|
18
|
-
"rows_examined",
|
|
19
|
-
])
|
|
20
|
-
.default("total_latency")
|
|
21
|
-
.describe("Order results by"),
|
|
26
|
+
orderBy: z.string().default("total_latency").describe("Order results by"),
|
|
22
27
|
limit: z.number().default(20).describe("Maximum number of results"),
|
|
23
28
|
});
|
|
29
|
+
const VALID_WAIT_TYPES = [
|
|
30
|
+
"global",
|
|
31
|
+
"by_host",
|
|
32
|
+
"by_user",
|
|
33
|
+
"by_instance",
|
|
34
|
+
];
|
|
24
35
|
const WaitSummarySchema = z.object({
|
|
25
|
-
type: z
|
|
26
|
-
.enum(["global", "by_host", "by_user", "by_instance"])
|
|
27
|
-
.default("global")
|
|
28
|
-
.describe("Type of wait summary"),
|
|
36
|
+
type: z.string().default("global").describe("Type of wait summary"),
|
|
29
37
|
limit: z.number().default(20).describe("Maximum number of results"),
|
|
30
38
|
});
|
|
39
|
+
const VALID_IO_TYPES = ["file", "table", "global"];
|
|
31
40
|
const IOSummarySchema = z.object({
|
|
32
|
-
type: z
|
|
33
|
-
.enum(["file", "table", "global"])
|
|
34
|
-
.default("table")
|
|
35
|
-
.describe("Type of I/O summary"),
|
|
41
|
+
type: z.string().default("table").describe("Type of I/O summary"),
|
|
36
42
|
limit: z.number().default(20).describe("Maximum number of results"),
|
|
37
43
|
});
|
|
38
44
|
/**
|
|
@@ -51,8 +57,15 @@ export function createSysStatementSummaryTool(adapter) {
|
|
|
51
57
|
idempotentHint: true,
|
|
52
58
|
},
|
|
53
59
|
handler: async (params, _context) => {
|
|
54
|
-
|
|
55
|
-
|
|
60
|
+
try {
|
|
61
|
+
const { orderBy, limit } = StatementSummarySchema.parse(params);
|
|
62
|
+
if (!VALID_ORDER_BY.includes(orderBy)) {
|
|
63
|
+
return {
|
|
64
|
+
success: false,
|
|
65
|
+
error: `Invalid orderBy: '${orderBy}' — expected one of: ${VALID_ORDER_BY.join(", ")}`,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
const query = `
|
|
56
69
|
SELECT
|
|
57
70
|
query,
|
|
58
71
|
db,
|
|
@@ -68,12 +81,20 @@ export function createSysStatementSummaryTool(adapter) {
|
|
|
68
81
|
ORDER BY ${orderBy} DESC
|
|
69
82
|
LIMIT ${String(limit)}
|
|
70
83
|
`;
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
84
|
+
const result = await adapter.executeQuery(query);
|
|
85
|
+
return {
|
|
86
|
+
statements: result.rows,
|
|
87
|
+
orderedBy: orderBy,
|
|
88
|
+
count: result.rows?.length ?? 0,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
if (error instanceof ZodError) {
|
|
93
|
+
return { success: false, error: formatZodError(error) };
|
|
94
|
+
}
|
|
95
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
96
|
+
return { success: false, error: message };
|
|
97
|
+
}
|
|
77
98
|
},
|
|
78
99
|
};
|
|
79
100
|
}
|
|
@@ -93,11 +114,18 @@ export function createSysWaitSummaryTool(adapter) {
|
|
|
93
114
|
idempotentHint: true,
|
|
94
115
|
},
|
|
95
116
|
handler: async (params, _context) => {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
117
|
+
try {
|
|
118
|
+
const { type, limit } = WaitSummarySchema.parse(params);
|
|
119
|
+
if (!VALID_WAIT_TYPES.includes(type)) {
|
|
120
|
+
return {
|
|
121
|
+
success: false,
|
|
122
|
+
error: `Invalid type: '${type}' — expected one of: ${VALID_WAIT_TYPES.join(", ")}`,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
let query;
|
|
126
|
+
switch (type) {
|
|
127
|
+
case "global":
|
|
128
|
+
query = `
|
|
101
129
|
SELECT
|
|
102
130
|
events,
|
|
103
131
|
total,
|
|
@@ -107,9 +135,9 @@ export function createSysWaitSummaryTool(adapter) {
|
|
|
107
135
|
ORDER BY total_latency DESC
|
|
108
136
|
LIMIT ${String(limit)}
|
|
109
137
|
`;
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
138
|
+
break;
|
|
139
|
+
case "by_host":
|
|
140
|
+
query = `
|
|
113
141
|
SELECT
|
|
114
142
|
host,
|
|
115
143
|
event,
|
|
@@ -120,9 +148,9 @@ export function createSysWaitSummaryTool(adapter) {
|
|
|
120
148
|
ORDER BY total_latency DESC
|
|
121
149
|
LIMIT ${String(limit)}
|
|
122
150
|
`;
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
151
|
+
break;
|
|
152
|
+
case "by_user":
|
|
153
|
+
query = `
|
|
126
154
|
SELECT
|
|
127
155
|
user,
|
|
128
156
|
event,
|
|
@@ -133,9 +161,9 @@ export function createSysWaitSummaryTool(adapter) {
|
|
|
133
161
|
ORDER BY total_latency DESC
|
|
134
162
|
LIMIT ${String(limit)}
|
|
135
163
|
`;
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
164
|
+
break;
|
|
165
|
+
case "by_instance":
|
|
166
|
+
query = `
|
|
139
167
|
SELECT
|
|
140
168
|
event_name AS event,
|
|
141
169
|
count_star AS total,
|
|
@@ -145,14 +173,24 @@ export function createSysWaitSummaryTool(adapter) {
|
|
|
145
173
|
ORDER BY sum_timer_wait DESC
|
|
146
174
|
LIMIT ${String(limit)}
|
|
147
175
|
`;
|
|
148
|
-
|
|
176
|
+
break;
|
|
177
|
+
default:
|
|
178
|
+
throw new Error(`Unexpected type: ${type}`);
|
|
179
|
+
}
|
|
180
|
+
const result = await adapter.executeQuery(query);
|
|
181
|
+
return {
|
|
182
|
+
waits: result.rows,
|
|
183
|
+
type,
|
|
184
|
+
count: result.rows?.length ?? 0,
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
catch (error) {
|
|
188
|
+
if (error instanceof ZodError) {
|
|
189
|
+
return { success: false, error: formatZodError(error) };
|
|
190
|
+
}
|
|
191
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
192
|
+
return { success: false, error: message };
|
|
149
193
|
}
|
|
150
|
-
const result = await adapter.executeQuery(query);
|
|
151
|
-
return {
|
|
152
|
-
waits: result.rows,
|
|
153
|
-
type,
|
|
154
|
-
count: result.rows?.length ?? 0,
|
|
155
|
-
};
|
|
156
194
|
},
|
|
157
195
|
};
|
|
158
196
|
}
|
|
@@ -172,11 +210,18 @@ export function createSysIOSummaryTool(adapter) {
|
|
|
172
210
|
idempotentHint: true,
|
|
173
211
|
},
|
|
174
212
|
handler: async (params, _context) => {
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
213
|
+
try {
|
|
214
|
+
const { type, limit } = IOSummarySchema.parse(params);
|
|
215
|
+
if (!VALID_IO_TYPES.includes(type)) {
|
|
216
|
+
return {
|
|
217
|
+
success: false,
|
|
218
|
+
error: `Invalid type: '${type}' — expected one of: ${VALID_IO_TYPES.join(", ")}`,
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
let query;
|
|
222
|
+
switch (type) {
|
|
223
|
+
case "file":
|
|
224
|
+
query = `
|
|
180
225
|
SELECT
|
|
181
226
|
file,
|
|
182
227
|
count_read,
|
|
@@ -191,9 +236,9 @@ export function createSysIOSummaryTool(adapter) {
|
|
|
191
236
|
ORDER BY total DESC
|
|
192
237
|
LIMIT ${String(limit)}
|
|
193
238
|
`;
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
239
|
+
break;
|
|
240
|
+
case "table":
|
|
241
|
+
query = `
|
|
197
242
|
SELECT
|
|
198
243
|
table_schema,
|
|
199
244
|
table_name,
|
|
@@ -209,9 +254,9 @@ export function createSysIOSummaryTool(adapter) {
|
|
|
209
254
|
ORDER BY (fetch_latency + insert_latency + update_latency + delete_latency) DESC
|
|
210
255
|
LIMIT ${String(limit)}
|
|
211
256
|
`;
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
257
|
+
break;
|
|
258
|
+
case "global":
|
|
259
|
+
query = `
|
|
215
260
|
SELECT
|
|
216
261
|
event_name,
|
|
217
262
|
total,
|
|
@@ -221,14 +266,24 @@ export function createSysIOSummaryTool(adapter) {
|
|
|
221
266
|
ORDER BY total_latency DESC
|
|
222
267
|
LIMIT ${String(limit)}
|
|
223
268
|
`;
|
|
224
|
-
|
|
269
|
+
break;
|
|
270
|
+
default:
|
|
271
|
+
throw new Error(`Unexpected type: ${type}`);
|
|
272
|
+
}
|
|
273
|
+
const result = await adapter.executeQuery(query);
|
|
274
|
+
return {
|
|
275
|
+
ioStats: result.rows,
|
|
276
|
+
type,
|
|
277
|
+
count: result.rows?.length ?? 0,
|
|
278
|
+
};
|
|
279
|
+
}
|
|
280
|
+
catch (error) {
|
|
281
|
+
if (error instanceof ZodError) {
|
|
282
|
+
return { success: false, error: formatZodError(error) };
|
|
283
|
+
}
|
|
284
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
285
|
+
return { success: false, error: message };
|
|
225
286
|
}
|
|
226
|
-
const result = await adapter.executeQuery(query);
|
|
227
|
-
return {
|
|
228
|
-
ioStats: result.rows,
|
|
229
|
-
type,
|
|
230
|
-
count: result.rows?.length ?? 0,
|
|
231
|
-
};
|
|
232
287
|
},
|
|
233
288
|
};
|
|
234
289
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"performance.js","sourceRoot":"","sources":["../../../../../src/adapters/mysql/tools/sysschema/performance.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"performance.js","sourceRoot":"","sources":["../../../../../src/adapters/mysql/tools/sysschema/performance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/mysql/tools/sysschema/resources.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/mysql/tools/sysschema/resources.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,4BAA4B,CAAC;AAmBpC;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,YAAY,GACpB,cAAc,CAyIhB;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,YAAY,GACpB,cAAc,CA0DhB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,YAAY,GACpB,cAAc,CAiEhB"}
|
|
@@ -4,7 +4,14 @@
|
|
|
4
4
|
* Tools for monitoring database resources and objects.
|
|
5
5
|
* 3 tools: schema_stats, innodb_lock_waits, memory_summary.
|
|
6
6
|
*/
|
|
7
|
-
import { z } from "zod";
|
|
7
|
+
import { z, ZodError } from "zod";
|
|
8
|
+
// =============================================================================
|
|
9
|
+
// Helpers
|
|
10
|
+
// =============================================================================
|
|
11
|
+
/** Extract human-readable messages from a ZodError instead of raw JSON array */
|
|
12
|
+
function formatZodError(error) {
|
|
13
|
+
return error.issues.map((i) => i.message).join("; ");
|
|
14
|
+
}
|
|
8
15
|
// =============================================================================
|
|
9
16
|
// Zod Schemas
|
|
10
17
|
// =============================================================================
|
|
@@ -33,29 +40,33 @@ export function createSysSchemaStatsTool(adapter) {
|
|
|
33
40
|
idempotentHint: true,
|
|
34
41
|
},
|
|
35
42
|
handler: async (params, _context) => {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
try {
|
|
44
|
+
const { schema, limit } = z
|
|
45
|
+
.object({
|
|
46
|
+
schema: z.string().optional(),
|
|
47
|
+
limit: z.number().default(10),
|
|
48
|
+
})
|
|
49
|
+
.parse(params);
|
|
50
|
+
// P154: Schema existence check when explicitly provided
|
|
51
|
+
if (schema) {
|
|
52
|
+
const schemaCheck = await adapter.executeQuery("SELECT SCHEMA_NAME FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = ?", [schema]);
|
|
53
|
+
if (!schemaCheck.rows || schemaCheck.rows.length === 0) {
|
|
54
|
+
return {
|
|
55
|
+
success: false,
|
|
56
|
+
error: `Schema '${schema}' does not exist`,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
47
59
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
const tableStatsQuery = `
|
|
60
|
+
// Resolve actual database name for response
|
|
61
|
+
let resolvedSchema = schema;
|
|
62
|
+
if (!resolvedSchema) {
|
|
63
|
+
const dbResult = await adapter.executeQuery("SELECT DATABASE() as db");
|
|
64
|
+
const rows = dbResult.rows ?? [];
|
|
65
|
+
const dbRow = rows[0];
|
|
66
|
+
resolvedSchema = dbRow?.["db"] ?? "unknown";
|
|
67
|
+
}
|
|
68
|
+
// Get table statistics
|
|
69
|
+
const tableStatsQuery = `
|
|
59
70
|
SELECT
|
|
60
71
|
table_schema,
|
|
61
72
|
table_name,
|
|
@@ -78,8 +89,8 @@ export function createSysSchemaStatsTool(adapter) {
|
|
|
78
89
|
ORDER BY (fetch_latency + insert_latency + update_latency + delete_latency) DESC
|
|
79
90
|
LIMIT ${String(limit)}
|
|
80
91
|
`;
|
|
81
|
-
|
|
82
|
-
|
|
92
|
+
// Get index statistics
|
|
93
|
+
const indexStatsQuery = `
|
|
83
94
|
SELECT
|
|
84
95
|
table_schema,
|
|
85
96
|
table_name,
|
|
@@ -97,8 +108,8 @@ export function createSysSchemaStatsTool(adapter) {
|
|
|
97
108
|
ORDER BY (select_latency + insert_latency + update_latency + delete_latency) DESC
|
|
98
109
|
LIMIT ${String(limit)}
|
|
99
110
|
`;
|
|
100
|
-
|
|
101
|
-
|
|
111
|
+
// Get auto-increment status
|
|
112
|
+
const autoIncQuery = `
|
|
102
113
|
SELECT
|
|
103
114
|
table_schema,
|
|
104
115
|
table_name,
|
|
@@ -111,20 +122,28 @@ export function createSysSchemaStatsTool(adapter) {
|
|
|
111
122
|
ORDER BY auto_increment_ratio DESC
|
|
112
123
|
LIMIT ${String(limit)}
|
|
113
124
|
`;
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
125
|
+
const [tableStats, indexStats, autoIncStats] = await Promise.all([
|
|
126
|
+
adapter.executeQuery(tableStatsQuery, [schema ?? null]),
|
|
127
|
+
adapter.executeQuery(indexStatsQuery, [schema ?? null]),
|
|
128
|
+
adapter.executeQuery(autoIncQuery, [schema ?? null]),
|
|
129
|
+
]);
|
|
130
|
+
return {
|
|
131
|
+
tableStatistics: tableStats.rows ?? [],
|
|
132
|
+
indexStatistics: indexStats.rows ?? [],
|
|
133
|
+
autoIncrementStatus: autoIncStats.rows ?? [],
|
|
134
|
+
tableStatisticsCount: (tableStats.rows ?? []).length,
|
|
135
|
+
indexStatisticsCount: (indexStats.rows ?? []).length,
|
|
136
|
+
autoIncrementStatusCount: (autoIncStats.rows ?? []).length,
|
|
137
|
+
schemaName: resolvedSchema,
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
catch (error) {
|
|
141
|
+
if (error instanceof ZodError) {
|
|
142
|
+
return { success: false, error: formatZodError(error) };
|
|
143
|
+
}
|
|
144
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
145
|
+
return { success: false, error: message };
|
|
146
|
+
}
|
|
128
147
|
},
|
|
129
148
|
};
|
|
130
149
|
}
|
|
@@ -144,8 +163,9 @@ export function createSysInnoDBLockWaitsTool(adapter) {
|
|
|
144
163
|
idempotentHint: true,
|
|
145
164
|
},
|
|
146
165
|
handler: async (params, _context) => {
|
|
147
|
-
|
|
148
|
-
|
|
166
|
+
try {
|
|
167
|
+
const { limit } = LimitSchema.parse(params);
|
|
168
|
+
const query = `
|
|
149
169
|
SELECT
|
|
150
170
|
wait_started,
|
|
151
171
|
wait_age,
|
|
@@ -170,12 +190,20 @@ export function createSysInnoDBLockWaitsTool(adapter) {
|
|
|
170
190
|
ORDER BY wait_started
|
|
171
191
|
LIMIT ${String(limit)}
|
|
172
192
|
`;
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
193
|
+
const result = await adapter.executeQuery(query);
|
|
194
|
+
return {
|
|
195
|
+
lockWaits: result.rows,
|
|
196
|
+
count: result.rows?.length ?? 0,
|
|
197
|
+
hasContention: (result.rows?.length ?? 0) > 0,
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
catch (error) {
|
|
201
|
+
if (error instanceof ZodError) {
|
|
202
|
+
return { success: false, error: formatZodError(error) };
|
|
203
|
+
}
|
|
204
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
205
|
+
return { success: false, error: message };
|
|
206
|
+
}
|
|
179
207
|
},
|
|
180
208
|
};
|
|
181
209
|
}
|
|
@@ -195,9 +223,10 @@ export function createSysMemorySummaryTool(adapter) {
|
|
|
195
223
|
idempotentHint: true,
|
|
196
224
|
},
|
|
197
225
|
handler: async (params, _context) => {
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
226
|
+
try {
|
|
227
|
+
const { limit } = LimitSchema.parse(params);
|
|
228
|
+
// Global memory summary
|
|
229
|
+
const globalQuery = `
|
|
201
230
|
SELECT
|
|
202
231
|
event_name,
|
|
203
232
|
current_count,
|
|
@@ -210,8 +239,8 @@ export function createSysMemorySummaryTool(adapter) {
|
|
|
210
239
|
ORDER BY current_alloc DESC
|
|
211
240
|
LIMIT ${String(limit)}
|
|
212
241
|
`;
|
|
213
|
-
|
|
214
|
-
|
|
242
|
+
// Memory by user
|
|
243
|
+
const userQuery = `
|
|
215
244
|
SELECT
|
|
216
245
|
user,
|
|
217
246
|
current_count_used,
|
|
@@ -223,16 +252,24 @@ export function createSysMemorySummaryTool(adapter) {
|
|
|
223
252
|
ORDER BY current_allocated DESC
|
|
224
253
|
LIMIT ${String(limit)}
|
|
225
254
|
`;
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
255
|
+
const [globalStats, userStats] = await Promise.all([
|
|
256
|
+
adapter.executeQuery(globalQuery),
|
|
257
|
+
adapter.executeQuery(userQuery),
|
|
258
|
+
]);
|
|
259
|
+
return {
|
|
260
|
+
globalMemory: globalStats.rows ?? [],
|
|
261
|
+
memoryByUser: userStats.rows ?? [],
|
|
262
|
+
globalMemoryCount: (globalStats.rows ?? []).length,
|
|
263
|
+
memoryByUserCount: (userStats.rows ?? []).length,
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
catch (error) {
|
|
267
|
+
if (error instanceof ZodError) {
|
|
268
|
+
return { success: false, error: formatZodError(error) };
|
|
269
|
+
}
|
|
270
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
271
|
+
return { success: false, error: message };
|
|
272
|
+
}
|
|
236
273
|
},
|
|
237
274
|
};
|
|
238
275
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../../../../src/adapters/mysql/tools/sysschema/resources.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../../../../src/adapters/mysql/tools/sysschema/resources.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAOlC,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF,gFAAgF;AAChF,SAAS,cAAc,CAAC,KAAe;IACrC,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC;AAED,gFAAgF;AAChF,cAAc;AACd,gFAAgF;AAEhF,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,qCAAqC,CAAC;CAC9E,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAqB;IAErB,OAAO;QACL,IAAI,EAAE,wBAAwB;QAC9B,KAAK,EAAE,yBAAyB;QAChC,WAAW,EACT,8FAA8F;QAChG,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,4CAA4C,CAAC;YACzD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC;SACpE,CAAC;QACF,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,IAAI,CAAC;gBACH,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC;qBACxB,MAAM,CAAC;oBACN,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;oBAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;iBAC9B,CAAC;qBACD,KAAK,CAAC,MAAM,CAAC,CAAC;gBAEjB,wDAAwD;gBACxD,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,YAAY,CAC5C,2EAA2E,EAC3E,CAAC,MAAM,CAAC,CACT,CAAC;oBACF,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACvD,OAAO;4BACL,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,WAAW,MAAM,kBAAkB;yBAC3C,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,4CAA4C;gBAC5C,IAAI,cAAc,GAAG,MAAM,CAAC;gBAC5B,IAAI,CAAC,cAAc,EAAE,CAAC;oBACpB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,YAAY,CACzC,yBAAyB,CAC1B,CAAC;oBACF,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;oBACjC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAwC,CAAC;oBAC7D,cAAc,GAAI,KAAK,EAAE,CAAC,IAAI,CAAY,IAAI,SAAS,CAAC;gBAC1D,CAAC;gBAED,uBAAuB;gBACvB,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;wBAqBR,MAAM,CAAC,KAAK,CAAC;aACxB,CAAC;gBAEN,uBAAuB;gBACvB,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;wBAgBR,MAAM,CAAC,KAAK,CAAC;aACxB,CAAC;gBAEN,4BAA4B;gBAC5B,MAAM,YAAY,GAAG;;;;;;;;;;;wBAWL,MAAM,CAAC,KAAK,CAAC;aACxB,CAAC;gBAEN,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBAC/D,OAAO,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;oBACvD,OAAO,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;oBACvD,OAAO,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;iBACrD,CAAC,CAAC;gBAEH,OAAO;oBACL,eAAe,EAAE,UAAU,CAAC,IAAI,IAAI,EAAE;oBACtC,eAAe,EAAE,UAAU,CAAC,IAAI,IAAI,EAAE;oBACtC,mBAAmB,EAAE,YAAY,CAAC,IAAI,IAAI,EAAE;oBAC5C,oBAAoB,EAAE,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM;oBACpD,oBAAoB,EAAE,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM;oBACpD,wBAAwB,EAAE,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM;oBAC1D,UAAU,EAAE,cAAc;iBAC3B,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;oBAC9B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1D,CAAC;gBACD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;YAC5C,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAC1C,OAAqB;IAErB,OAAO;QACL,IAAI,EAAE,6BAA6B;QACnC,KAAK,EAAE,yBAAyB;QAChC,WAAW,EACT,iEAAiE;QACnE,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,WAAW;QACxB,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,IAAI,CAAC;gBACH,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAE5C,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;wBAuBE,MAAM,CAAC,KAAK,CAAC;aACxB,CAAC;gBAEN,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACjD,OAAO;oBACL,SAAS,EAAE,MAAM,CAAC,IAAI;oBACtB,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;oBAC/B,aAAa,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;iBAC9C,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;oBAC9B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1D,CAAC;gBACD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;YAC5C,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAqB;IAErB,OAAO;QACL,IAAI,EAAE,0BAA0B;QAChC,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EAAE,8DAA8D;QAC3E,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,WAAW;QACxB,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,IAAI,CAAC;gBACH,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAE5C,wBAAwB;gBACxB,MAAM,WAAW,GAAG;;;;;;;;;;;wBAWJ,MAAM,CAAC,KAAK,CAAC;aACxB,CAAC;gBAEN,iBAAiB;gBACjB,MAAM,SAAS,GAAG;;;;;;;;;;wBAUF,MAAM,CAAC,KAAK,CAAC;aACxB,CAAC;gBAEN,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBACjD,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC;oBACjC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC;iBAChC,CAAC,CAAC;gBAEH,OAAO;oBACL,YAAY,EAAE,WAAW,CAAC,IAAI,IAAI,EAAE;oBACpC,YAAY,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE;oBAClC,iBAAiB,EAAE,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM;oBAClD,iBAAiB,EAAE,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM;iBACjD,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;oBAC9B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1D,CAAC;gBACD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;YAC5C,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fulltext.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/mysql/tools/text/fulltext.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"fulltext.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/mysql/tools/text/fulltext.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,4BAA4B,CAAC;AAoEpC,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,YAAY,GACpB,cAAc,CAgDhB;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,YAAY,GAAG,cAAc,CAyC5E;AAWD,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,YAAY,GACpB,cAAc,CAuDhB;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,YAAY,GACpB,cAAc,CA0ChB;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,YAAY,GACpB,cAAc,CA0ChB"}
|