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