db-mcp 3.0.2 → 5.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 +112 -75
- package/dist/.tsbuildinfo +1 -1
- package/dist/adapters/database-adapter.d.ts +11 -1
- package/dist/adapters/database-adapter.d.ts.map +1 -1
- package/dist/adapters/registration/resources.d.ts.map +1 -1
- package/dist/adapters/registration/tools.d.ts.map +1 -1
- package/dist/adapters/sqlite/prompts/analysis.d.ts.map +1 -1
- package/dist/adapters/sqlite/query-executor.d.ts.map +1 -1
- package/dist/adapters/sqlite/read-write-lock.d.ts +49 -0
- package/dist/adapters/sqlite/read-write-lock.d.ts.map +1 -0
- package/dist/adapters/sqlite/resources.d.ts +1 -1
- package/dist/adapters/sqlite/resources.d.ts.map +1 -1
- package/dist/adapters/sqlite/schemas/admin.d.ts +33 -19
- package/dist/adapters/sqlite/schemas/admin.d.ts.map +1 -1
- package/dist/adapters/sqlite/schemas/core.d.ts +96 -0
- package/dist/adapters/sqlite/schemas/core.d.ts.map +1 -1
- package/dist/adapters/sqlite/schemas/fts.d.ts +4 -0
- package/dist/adapters/sqlite/schemas/fts.d.ts.map +1 -1
- package/dist/adapters/sqlite/schemas/introspection.d.ts +25 -15
- package/dist/adapters/sqlite/schemas/introspection.d.ts.map +1 -1
- package/dist/adapters/sqlite/schemas/migration.d.ts +2 -2
- package/dist/adapters/sqlite/schemas/migration.d.ts.map +1 -1
- package/dist/adapters/sqlite/schemas/spatialite.d.ts +1 -0
- package/dist/adapters/sqlite/schemas/spatialite.d.ts.map +1 -1
- package/dist/adapters/sqlite/schemas/text.d.ts +36 -0
- package/dist/adapters/sqlite/schemas/text.d.ts.map +1 -1
- package/dist/adapters/sqlite/sqlite-adapter.d.ts +6 -0
- package/dist/adapters/sqlite/sqlite-adapter.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/admin/backup/create.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/admin/backup/dump.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/admin/backup/restore.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/admin/index.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/admin/pragma.d.ts +0 -4
- package/dist/adapters/sqlite/tools/admin/pragma.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/admin/verify.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/codemode.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/core/convenience.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/core/index.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/core/queries.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/core/tables.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/core/versioning.d.ts +19 -0
- package/dist/adapters/sqlite/tools/core/versioning.d.ts.map +1 -0
- package/dist/adapters/sqlite/tools/fts.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/introspection/diagnostics/indexes.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/introspection/graph/tools.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/json-helpers/read.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/json-operations/crud.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/json-operations/query.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/migration/helpers.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/text/helpers.d.ts +9 -0
- package/dist/adapters/sqlite/tools/text/helpers.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/text/index.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/text/search.d.ts +4 -0
- package/dist/adapters/sqlite/tools/text/search.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/vector/metadata.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/vector/search.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/vector/storage.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/virtual/vtable/analyze-csv.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/virtual/vtable/csv.d.ts.map +1 -1
- package/dist/adapters/sqlite/tools/virtual/vtable/info.d.ts.map +1 -1
- package/dist/adapters/sqlite/types.d.ts +5 -1
- package/dist/adapters/sqlite/types.d.ts.map +1 -1
- package/dist/adapters/sqlite-native/index.d.ts +1 -1
- package/dist/adapters/sqlite-native/index.d.ts.map +1 -1
- package/dist/adapters/sqlite-native/native-sqlite-adapter.d.ts.map +1 -1
- package/dist/adapters/sqlite-native/tools/spatialite/tools.d.ts.map +1 -1
- package/dist/adapters/sqlite-native/tools/window/helpers.d.ts +52 -0
- package/dist/adapters/sqlite-native/tools/window/helpers.d.ts.map +1 -0
- package/dist/adapters/sqlite-native/tools/window/index.d.ts +7 -0
- package/dist/adapters/sqlite-native/tools/window/index.d.ts.map +1 -0
- package/dist/adapters/sqlite-native/tools/window/lag-lead.d.ts +7 -0
- package/dist/adapters/sqlite-native/tools/window/lag-lead.d.ts.map +1 -0
- package/dist/adapters/sqlite-native/tools/window/moving-average.d.ts +7 -0
- package/dist/adapters/sqlite-native/tools/window/moving-average.d.ts.map +1 -0
- package/dist/adapters/sqlite-native/tools/window/ntile.d.ts +7 -0
- package/dist/adapters/sqlite-native/tools/window/ntile.d.ts.map +1 -0
- package/dist/adapters/sqlite-native/tools/window/rank.d.ts +7 -0
- package/dist/adapters/sqlite-native/tools/window/rank.d.ts.map +1 -0
- package/dist/adapters/sqlite-native/tools/window/row-number.d.ts +7 -0
- package/dist/adapters/sqlite-native/tools/window/row-number.d.ts.map +1 -0
- package/dist/adapters/sqlite-native/tools/window/running-total.d.ts +7 -0
- package/dist/adapters/sqlite-native/tools/window/running-total.d.ts.map +1 -0
- package/dist/adapters/sqlite-native/tools/window/schemas.d.ts +159 -0
- package/dist/adapters/sqlite-native/tools/window/schemas.d.ts.map +1 -0
- package/dist/adapters/sqlite-native/transaction-methods.d.ts.map +1 -1
- package/dist/audit/interceptor.d.ts.map +1 -1
- package/dist/audit/logger.d.ts +26 -25
- package/dist/audit/logger.d.ts.map +1 -1
- package/dist/auth/authorization-server-discovery.d.ts.map +1 -1
- package/dist/auth/scopes/mapping.d.ts.map +1 -1
- package/dist/auth/token-validator.d.ts.map +1 -1
- package/dist/{chunk-W5WQVNVX.js → chunk-27C5EE6U.js} +23 -17
- package/dist/chunk-2TYICG7B.js +1183 -0
- package/dist/{chunk-37G4DLL6.js → chunk-LLIAIJPO.js} +1146 -539
- package/dist/{chunk-NV34JSQM.js → chunk-UE7GVOBV.js} +1757 -1331
- package/dist/{chunk-L552U3QS.js → chunk-XLIYO3YA.js} +401 -77
- package/dist/cli.js +116 -11
- package/dist/codemode/api-constants.d.ts.map +1 -1
- package/dist/codemode/api.d.ts.map +1 -1
- package/dist/codemode/sandbox-factory.d.ts.map +1 -1
- package/dist/codemode/sandbox.d.ts +0 -3
- package/dist/codemode/sandbox.d.ts.map +1 -1
- package/dist/codemode/security.d.ts.map +1 -1
- package/dist/codemode/types.d.ts +2 -0
- package/dist/codemode/types.d.ts.map +1 -1
- package/dist/constants/server-instructions.d.ts +1 -1
- package/dist/constants/server-instructions.d.ts.map +1 -1
- package/dist/filtering/tool-constants.d.ts +11 -11
- package/dist/filtering/tool-constants.d.ts.map +1 -1
- package/dist/{http-HWTUVFIA.js → http-ZDMK46QU.js} +195 -32
- package/dist/index.js +4 -4
- package/dist/observability/metrics.d.ts +36 -0
- package/dist/observability/metrics.d.ts.map +1 -0
- package/dist/observability/system-db.d.ts +13 -0
- package/dist/observability/system-db.d.ts.map +1 -0
- package/dist/server/mcp-server.d.ts +3 -0
- package/dist/server/mcp-server.d.ts.map +1 -1
- package/dist/server/registration/admin-tools.d.ts +6 -0
- package/dist/server/registration/admin-tools.d.ts.map +1 -0
- package/dist/server/registration/audit-tools/backup.d.ts +8 -0
- package/dist/server/registration/audit-tools/backup.d.ts.map +1 -0
- package/dist/server/registration/audit-tools/helpers.d.ts +11 -0
- package/dist/server/registration/audit-tools/helpers.d.ts.map +1 -0
- package/dist/server/registration/audit-tools/index.d.ts +4 -0
- package/dist/server/registration/audit-tools/index.d.ts.map +1 -0
- package/dist/server/registration/audit-tools/resource.d.ts +8 -0
- package/dist/server/registration/audit-tools/resource.d.ts.map +1 -0
- package/dist/server/registration/audit-tools/search.d.ts +7 -0
- package/dist/server/registration/audit-tools/search.d.ts.map +1 -0
- package/dist/server/registration/help-resources.d.ts.map +1 -1
- package/dist/server/registration/index.d.ts +3 -1
- package/dist/server/registration/index.d.ts.map +1 -1
- package/dist/server/registration/observability-resources.d.ts +11 -0
- package/dist/server/registration/observability-resources.d.ts.map +1 -0
- package/dist/server/subscription-manager.d.ts +35 -0
- package/dist/server/subscription-manager.d.ts.map +1 -0
- package/dist/{sqlite-TB56Z7G3.js → sqlite-XWZPEZJO.js} +195 -19
- package/dist/{sqlite-native-IF75BB3O.js → sqlite-native-5GQ3WKCZ.js} +311 -147
- package/dist/transports/http/middleware.d.ts.map +1 -1
- package/dist/transports/http/oauth.d.ts.map +1 -1
- package/dist/transports/http/sessions/legacy-sse.d.ts.map +1 -1
- package/dist/transports/http/sessions/stateful.d.ts +5 -1
- package/dist/transports/http/sessions/stateful.d.ts.map +1 -1
- package/dist/transports/http/transport.d.ts +2 -0
- package/dist/transports/http/transport.d.ts.map +1 -1
- package/dist/transports/http/types.d.ts +11 -0
- package/dist/transports/http/types.d.ts.map +1 -1
- package/dist/types/auth.d.ts +4 -0
- package/dist/types/auth.d.ts.map +1 -1
- package/dist/types/server.d.ts +5 -0
- package/dist/types/server.d.ts.map +1 -1
- package/dist/utils/annotations.d.ts +8 -0
- package/dist/utils/annotations.d.ts.map +1 -1
- package/dist/utils/errors/categories.d.ts +16 -11
- package/dist/utils/errors/categories.d.ts.map +1 -1
- package/dist/utils/errors/classes.d.ts +37 -0
- package/dist/utils/errors/classes.d.ts.map +1 -1
- package/dist/utils/errors/format.d.ts +2 -2
- package/dist/utils/errors/format.d.ts.map +1 -1
- package/dist/utils/errors/index.d.ts +1 -1
- package/dist/utils/errors/index.d.ts.map +1 -1
- package/dist/utils/errors/suggestions.d.ts +1 -0
- package/dist/utils/errors/suggestions.d.ts.map +1 -1
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/logger/types.d.ts +1 -1
- package/dist/utils/logger/types.d.ts.map +1 -1
- package/dist/utils/security-utils.d.ts +29 -0
- package/dist/utils/security-utils.d.ts.map +1 -0
- package/dist/utils/stream-utils.d.ts +14 -0
- package/dist/utils/stream-utils.d.ts.map +1 -0
- package/dist/utils/tokens.d.ts +15 -0
- package/dist/utils/tokens.d.ts.map +1 -0
- package/dist/utils/where-clause.d.ts +0 -13
- package/dist/utils/where-clause.d.ts.map +1 -1
- package/package.json +43 -44
- package/dist/adapters/sqlite-native/tools/window.d.ts +0 -7
- package/dist/adapters/sqlite-native/tools/window.d.ts.map +0 -1
- package/dist/chunk-E5IESRTK.js +0 -489
- package/dist/server/registration/audit-tools.d.ts +0 -13
- package/dist/server/registration/audit-tools.d.ts.map +0 -1
- package/dist/utils/insights-manager.d.ts +0 -39
- package/dist/utils/insights-manager.d.ts.map +0 -1
package/dist/cli.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { DEFAULT_CONFIG, createServer } from './chunk-
|
|
3
|
-
import { VERSION } from './chunk-
|
|
4
|
-
import { logger } from './chunk-
|
|
2
|
+
import { DEFAULT_CONFIG, createServer } from './chunk-LLIAIJPO.js';
|
|
3
|
+
import { parseAllowedIoRoots, VERSION } from './chunk-2TYICG7B.js';
|
|
4
|
+
import { logger } from './chunk-XLIYO3YA.js';
|
|
5
|
+
import fs from 'fs';
|
|
6
|
+
import yaml from 'yaml';
|
|
5
7
|
|
|
6
8
|
// src/audit/types.ts
|
|
7
9
|
var DEFAULT_AUDIT_LOG_MAX_SIZE_BYTES = 10 * 1024 * 1024;
|
|
@@ -21,6 +23,9 @@ function parseArgs() {
|
|
|
21
23
|
let auditReads = false;
|
|
22
24
|
let auditBackup = false;
|
|
23
25
|
let auditBackupData = false;
|
|
26
|
+
let metricsExport;
|
|
27
|
+
let dumpConfig = false;
|
|
28
|
+
let configPath;
|
|
24
29
|
for (let i = 0; i < args.length; i++) {
|
|
25
30
|
const arg = args[i];
|
|
26
31
|
if (arg === "--transport" || arg === "-t") {
|
|
@@ -123,6 +128,19 @@ function parseArgs() {
|
|
|
123
128
|
if (lastDb?.options && "backend" in lastDb.options) {
|
|
124
129
|
lastDb.options["spatialite"] = true;
|
|
125
130
|
}
|
|
131
|
+
} else if (arg === "--encryption-key") {
|
|
132
|
+
const keyValue = args[++i];
|
|
133
|
+
if (keyValue) {
|
|
134
|
+
const lastDb = databases[databases.length - 1];
|
|
135
|
+
if (lastDb?.options && "backend" in lastDb.options) {
|
|
136
|
+
lastDb.options["encryptionKey"] = keyValue;
|
|
137
|
+
} else {
|
|
138
|
+
console.error(
|
|
139
|
+
"Error: --encryption-key must be specified after --sqlite-native"
|
|
140
|
+
);
|
|
141
|
+
process.exit(1);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
126
144
|
} else if (arg === "--audit-log") {
|
|
127
145
|
const logPath = args[++i];
|
|
128
146
|
if (logPath) {
|
|
@@ -136,6 +154,23 @@ function parseArgs() {
|
|
|
136
154
|
auditBackup = true;
|
|
137
155
|
} else if (arg === "--audit-backup-data") {
|
|
138
156
|
auditBackupData = true;
|
|
157
|
+
} else if (arg === "--metrics-export") {
|
|
158
|
+
const metricsValue = args[++i];
|
|
159
|
+
if (metricsValue === "prometheus") {
|
|
160
|
+
metricsExport = "prometheus";
|
|
161
|
+
}
|
|
162
|
+
} else if (arg === "--allowed-io-roots") {
|
|
163
|
+
const rootsValue = args[++i];
|
|
164
|
+
if (rootsValue) {
|
|
165
|
+
config.allowedIoRoots = parseAllowedIoRoots(rootsValue);
|
|
166
|
+
}
|
|
167
|
+
} else if (arg === "--config" || arg === "-c") {
|
|
168
|
+
const pathValue = args[++i];
|
|
169
|
+
if (pathValue) {
|
|
170
|
+
configPath = pathValue;
|
|
171
|
+
}
|
|
172
|
+
} else if (arg === "--dump-config") {
|
|
173
|
+
dumpConfig = true;
|
|
139
174
|
} else if (arg === "--help" || arg === "-h") {
|
|
140
175
|
printHelp();
|
|
141
176
|
process.exit(0);
|
|
@@ -144,6 +179,9 @@ function parseArgs() {
|
|
|
144
179
|
if (databases.length > 0) {
|
|
145
180
|
config.databases = databases;
|
|
146
181
|
}
|
|
182
|
+
if (metricsExport) {
|
|
183
|
+
config.metricsExport = metricsExport;
|
|
184
|
+
}
|
|
147
185
|
if (auditLogPath) {
|
|
148
186
|
config.audit = {
|
|
149
187
|
enabled: true,
|
|
@@ -162,7 +200,11 @@ function parseArgs() {
|
|
|
162
200
|
}
|
|
163
201
|
};
|
|
164
202
|
}
|
|
165
|
-
return
|
|
203
|
+
return {
|
|
204
|
+
cliConfig: config,
|
|
205
|
+
dumpConfig,
|
|
206
|
+
...configPath !== void 0 ? { configPath } : {}
|
|
207
|
+
};
|
|
166
208
|
}
|
|
167
209
|
function printHelp() {
|
|
168
210
|
console.error(`
|
|
@@ -194,6 +236,7 @@ Database Options:
|
|
|
194
236
|
Extension Options (Native only):
|
|
195
237
|
--csv Load CSV extension for CSV virtual tables
|
|
196
238
|
--spatialite Load SpatiaLite extension for GIS capabilities
|
|
239
|
+
--encryption-key <key> Set SQLCipher encryption key for the database
|
|
197
240
|
|
|
198
241
|
Audit Options:
|
|
199
242
|
--audit-log <path> Enable audit logging (JSONL file path, or "stderr")
|
|
@@ -202,12 +245,18 @@ Audit Options:
|
|
|
202
245
|
--audit-backup Enable pre-mutation DDL snapshots
|
|
203
246
|
--audit-backup-data Include sample data rows in snapshots
|
|
204
247
|
|
|
248
|
+
Security Options:
|
|
249
|
+
--allowed-io-roots <paths> Allowlisted filesystem roots for IO operations (comma-separated or JSON array)
|
|
250
|
+
|
|
205
251
|
Server Options:
|
|
252
|
+
--config, -c <path> Load configuration from YAML/JSON file
|
|
253
|
+
--dump-config Print the resolved configuration and exit
|
|
206
254
|
--name <name> Server name (default: db-mcp)
|
|
207
255
|
--version <version> Server version (default: ${VERSION})
|
|
256
|
+
--metrics-export <type> Export metrics at HTTP /metrics (e.g., prometheus)
|
|
208
257
|
--tool-filter <filter> Tool filter string. Supports:
|
|
209
258
|
Shortcuts: starter, analytics, search, spatial, minimal, full
|
|
210
|
-
Groups: core, json, text,
|
|
259
|
+
Groups: core, json, text, stats, vector, geo, ...
|
|
211
260
|
Mixed: core,json,-text (whitelist with exclusions)
|
|
212
261
|
Legacy: -vector,-geo (exclusion from all)
|
|
213
262
|
|
|
@@ -222,8 +271,10 @@ Environment Variables:
|
|
|
222
271
|
MCP_ENABLE_HSTS Enable HSTS header (same as --enable-hsts)
|
|
223
272
|
DB_MCP_TOOL_FILTER Tool filter string
|
|
224
273
|
SQLITE_DATABASE SQLite database path
|
|
274
|
+
DB_ENCRYPTION_KEY SQLCipher encryption key (Native only)
|
|
225
275
|
CSV_EXTENSION_PATH Custom path to CSV extension binary
|
|
226
276
|
SPATIALITE_PATH Custom path to SpatiaLite extension binary
|
|
277
|
+
METRICS_EXPORT Export metrics (e.g., prometheus)
|
|
227
278
|
AUDIT_LOG Audit log file path (or "stderr")
|
|
228
279
|
AUDIT_REDACT Redact arguments (default: true, set false to include args)
|
|
229
280
|
AUDIT_READS Log reads (true/false)
|
|
@@ -233,7 +284,7 @@ Environment Variables:
|
|
|
233
284
|
Examples:
|
|
234
285
|
db-mcp --sqlite-native ./data.db
|
|
235
286
|
db-mcp --sqlite-native ./data.db --tool-filter "starter"
|
|
236
|
-
db-mcp --transport http --port 3000 --
|
|
287
|
+
MCP_AUTH_TOKEN=my-secret db-mcp --transport http --port 3000 --sqlite ./data.db
|
|
237
288
|
db-mcp --transport http --oauth-enabled --oauth-issuer http://keycloak:8080/realms/mcp --oauth-audience db-mcp --sqlite ./data.db
|
|
238
289
|
|
|
239
290
|
For more information, visit: https://github.com/neverinfamous/db-mcp
|
|
@@ -304,24 +355,64 @@ function loadEnvConfig() {
|
|
|
304
355
|
if (sqliteUri) {
|
|
305
356
|
databases.push({ type: "sqlite", connectionString: sqliteUri });
|
|
306
357
|
}
|
|
358
|
+
if (process.env["METRICS_EXPORT"] === "prometheus") {
|
|
359
|
+
config.metricsExport = "prometheus";
|
|
360
|
+
}
|
|
361
|
+
const allowedIoRoots = process.env["ALLOWED_IO_ROOTS"];
|
|
362
|
+
if (allowedIoRoots) {
|
|
363
|
+
config.allowedIoRoots = parseAllowedIoRoots(allowedIoRoots);
|
|
364
|
+
}
|
|
307
365
|
if (databases.length > 0) {
|
|
308
366
|
config.databases = databases;
|
|
309
367
|
}
|
|
310
368
|
return config;
|
|
311
369
|
}
|
|
370
|
+
function loadConfigFile(configPath) {
|
|
371
|
+
try {
|
|
372
|
+
const fileContent = fs.readFileSync(configPath, "utf-8");
|
|
373
|
+
if (configPath.endsWith(".yaml") || configPath.endsWith(".yml")) {
|
|
374
|
+
return yaml.parse(fileContent);
|
|
375
|
+
} else {
|
|
376
|
+
return JSON.parse(fileContent);
|
|
377
|
+
}
|
|
378
|
+
} catch (error) {
|
|
379
|
+
logger.error(`Failed to load config file: ${configPath}`, {
|
|
380
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
381
|
+
module: "CLI"
|
|
382
|
+
});
|
|
383
|
+
process.exit(1);
|
|
384
|
+
}
|
|
385
|
+
}
|
|
312
386
|
async function main() {
|
|
313
387
|
try {
|
|
388
|
+
const { cliConfig, dumpConfig, configPath } = parseArgs();
|
|
389
|
+
const fileConfig = configPath ? loadConfigFile(configPath) : {};
|
|
314
390
|
const envConfig = loadEnvConfig();
|
|
315
|
-
const cliConfig = parseArgs();
|
|
316
391
|
const config = {
|
|
317
392
|
...DEFAULT_CONFIG,
|
|
393
|
+
...fileConfig,
|
|
318
394
|
...envConfig,
|
|
319
395
|
...cliConfig,
|
|
320
396
|
databases: [
|
|
397
|
+
...fileConfig.databases ?? [],
|
|
321
398
|
...envConfig.databases ?? [],
|
|
322
399
|
...cliConfig.databases ?? []
|
|
323
400
|
]
|
|
324
401
|
};
|
|
402
|
+
if (dumpConfig) {
|
|
403
|
+
const safeConfig = JSON.parse(JSON.stringify(config));
|
|
404
|
+
if (typeof safeConfig["authToken"] === "string") {
|
|
405
|
+
safeConfig["authToken"] = "***REDACTED***";
|
|
406
|
+
}
|
|
407
|
+
if (typeof safeConfig["oauth"] === "object" && safeConfig["oauth"] !== null) {
|
|
408
|
+
const oauth = safeConfig["oauth"];
|
|
409
|
+
if (typeof oauth["jwksUri"] === "string") {
|
|
410
|
+
oauth["jwksUri"] = "***REDACTED***";
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
process.stdout.write(JSON.stringify(safeConfig, null, 2) + "\n");
|
|
414
|
+
process.exit(0);
|
|
415
|
+
}
|
|
325
416
|
if (process.env["NODE_ENV"] === "production" && config.transport === "http" && !config.oauth?.enabled && !config.authToken && !config.noAuthEnforcement) {
|
|
326
417
|
logger.error(
|
|
327
418
|
"FATAL SECURITY ERROR: HTTP transport in production requires authentication (--oauth-enabled or --auth-token). If you intend to run without authentication, you must explicitly pass --no-auth-enforcement.",
|
|
@@ -340,15 +431,29 @@ async function main() {
|
|
|
340
431
|
process.exit(0);
|
|
341
432
|
});
|
|
342
433
|
});
|
|
434
|
+
const globalEncryptionKey = process.env["DB_ENCRYPTION_KEY"];
|
|
343
435
|
for (const dbConfig of config.databases) {
|
|
344
436
|
if (dbConfig.type === "sqlite") {
|
|
345
|
-
const options = dbConfig.options;
|
|
346
|
-
if (
|
|
347
|
-
|
|
437
|
+
const options = dbConfig.options ?? {};
|
|
438
|
+
if (globalEncryptionKey && !options.encryptionKey) {
|
|
439
|
+
if (options.backend === "better-sqlite3") {
|
|
440
|
+
options.encryptionKey = globalEncryptionKey;
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
dbConfig.options = options;
|
|
444
|
+
if (options.encryptionKey && options.backend !== "better-sqlite3") {
|
|
445
|
+
logger.error(
|
|
446
|
+
"FATAL: SQLCipher encryption is only supported with the native better-sqlite3 backend. Use --sqlite-native or specify backend: 'better-sqlite3' in config.",
|
|
447
|
+
{ module: "CLI" }
|
|
448
|
+
);
|
|
449
|
+
process.exit(1);
|
|
450
|
+
}
|
|
451
|
+
if (options.backend === "better-sqlite3") {
|
|
452
|
+
const { NativeSqliteAdapter } = await import('./sqlite-native-5GQ3WKCZ.js');
|
|
348
453
|
const adapter = new NativeSqliteAdapter();
|
|
349
454
|
await server.registerAdapter(adapter, dbConfig);
|
|
350
455
|
} else {
|
|
351
|
-
const { SqliteAdapter } = await import('./sqlite-
|
|
456
|
+
const { SqliteAdapter } = await import('./sqlite-XWZPEZJO.js');
|
|
352
457
|
const adapter = new SqliteAdapter();
|
|
353
458
|
await server.registerAdapter(adapter, dbConfig);
|
|
354
459
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-constants.d.ts","sourceRoot":"","sources":["../../src/codemode/api-constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAsEjE,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAwDnD,CAAC;AAMF;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"api-constants.d.ts","sourceRoot":"","sources":["../../src/codemode/api-constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAsEjE,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAwDnD,CAAC;AAMF;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAsIlE,CAAC;AAMF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAYnD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,aAA2C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/codemode/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACT,cAAc,EACf,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/codemode/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACT,cAAc,EACf,MAAM,mBAAmB,CAAC;AAe3B;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,MAAM,CAcR;AA6GD,sCAAsC;AACtC,KAAK,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AA+E/E;;;GAGG;AACH,qBAAa,SAAS;IACpB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC;IACtC,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IAEnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgC;IAC7D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;gBAE7C,KAAK,EAAE,cAAc,EAAE,EAAE,WAAW,CAAC,EAAE,cAAc;IAkEjE;;OAEG;IACH,SAAS,IAAI,MAAM,EAAE;IAIrB;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,EAAE;IAU3C;;;;OAIG;IACH,qBAAqB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAuDjD;AAMD;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,cAAc,EAAE,EACvB,WAAW,CAAC,EAAE,cAAc,GAC3B,SAAS,CAEX"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox-factory.d.ts","sourceRoot":"","sources":["../../src/codemode/sandbox-factory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"sandbox-factory.d.ts","sourceRoot":"","sources":["../../src/codemode/sandbox-factory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG7E;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,CAAC;AAEpC;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,OAAO,CACL,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1B,SAAS,IAAI,OAAO,CAAC;IACrB,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,UAAU,IAAI,IAAI,CAAC;IACnB,OAAO,CACL,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1B,QAAQ,IAAI;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9D,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAKD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAK7D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,WAAW,CAEnD;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,WAAW,EAAE,CAExD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,IAAI,CAAC,EAAE,WAAW,EAClB,OAAO,CAAC,EAAE,cAAc,GACvB,QAAQ,CASV;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,CAAC,EAAE,WAAW,EAClB,WAAW,CAAC,EAAE,WAAW,EACzB,cAAc,CAAC,EAAE,cAAc,GAC9B,YAAY,CASd;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,eAAe,CAQtE"}
|
|
@@ -6,9 +6,6 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type ivm from "isolated-vm";
|
|
8
8
|
import { type SandboxOptions, type PoolOptions, type SandboxResult } from "./types.js";
|
|
9
|
-
/**
|
|
10
|
-
* A sandboxed execution context using isolated-vm
|
|
11
|
-
*/
|
|
12
9
|
export declare class CodeModeSandbox {
|
|
13
10
|
private readonly options;
|
|
14
11
|
private disposed;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../src/codemode/sandbox.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAEnC,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../src/codemode/sandbox.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAEnC,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;AAcpB,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,eAAe,CAAgB;IAEvC,OAAO;IAIP;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,eAAe;IAQxD;;OAEG;IACG,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,CAAC;IAkYzB,gBAAgB,IAAI,MAAM,EAAE;IAI5B,kBAAkB,IAAI,IAAI;IAI1B,SAAS,IAAI,OAAO;IAIpB,OAAO,IAAI,IAAI;CAIhB;AAED;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA2B;IAC1D,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAClD,OAAO,CAAC,MAAM,CAAC,UAAU,CAAoC;IAC7D,OAAO,CAAC,MAAM,CAAC,YAAY,CAA2B;gBAE1C,WAAW,CAAC,EAAE,WAAW,EAAE,cAAc,CAAC,EAAE,cAAc;IAKtE,MAAM,CAAC,SAAS,IAAI,OAAO,GAAG;WAUjB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAUlC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,CAAC;IAiCzB,OAAO,IAAI,IAAI;IAOf,QAAQ,IAAI;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;IAS3E,OAAO,IAAI,IAAI;CAGhB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/codemode/security.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/codemode/security.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;AAKpB;;GAEG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAGzB;IACJ,OAAO,CAAC,WAAW,CAAC,CAAkB;gBAE1B,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC;IAa5C;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB;IA2C5C;;;OAGG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAsDxD;;OAEG;IACG,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAmB9D;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO;IA8BxC;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI;IAqC1C;;OAEG;IACH,qBAAqB,CACnB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,OAAO,EACjB,QAAQ,CAAC,EAAE,MAAM,GAChB,eAAe;IAclB;;OAEG;IACH,iBAAiB,IAAI,IAAI;CAQ1B"}
|
package/dist/codemode/types.d.ts
CHANGED
|
@@ -14,6 +14,8 @@ export interface SandboxOptions {
|
|
|
14
14
|
timeoutMs?: number;
|
|
15
15
|
/** CPU time limit in milliseconds (default: 10000) */
|
|
16
16
|
cpuLimitMs?: number;
|
|
17
|
+
/** Whether to hard-fail if isolated-vm is missing rather than fallback to node:vm (default: true) */
|
|
18
|
+
strictIsolation?: boolean;
|
|
17
19
|
}
|
|
18
20
|
/**
|
|
19
21
|
* Options for the sandbox pool
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/codemode/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAMnD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/codemode/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* Slim instructions for the MCP instructions field (~600 chars).
|
|
13
13
|
* Points agents to sqlite://help resources for detailed reference.
|
|
14
14
|
*/
|
|
15
|
-
export declare const INSTRUCTIONS = "# db-mcp (SQLite MCP Server)\n\n## Quick Access\n\n| Purpose
|
|
15
|
+
export declare const INSTRUCTIONS = "# db-mcp (SQLite MCP Server)\n\n## Quick Access\n\n| Purpose | Action |\n| ------------------ | -------------------------- |\n| Health check | `server_health` tool |\n| Live server health | `sqlite://health` resource |\n| Server info | `server_info` tool |\n| Database schema | `sqlite://schema` resource |\n| Tool help | `sqlite://help` resource |\n\n## Built-in Tools\n\n`server_info`, `server_health`, `list_adapters`, `sqlite_execute_code` \u2014 injected into all configurations.\n\n## Help Resources\n\nRead `sqlite://help` for gotchas and critical usage patterns.\nRead `sqlite://help/{group}` for group-specific tool reference (core, json, text, stats, vector, geo, admin, transactions, introspection, migration).\nOnly help resources for your enabled tool groups are registered.";
|
|
16
16
|
/**
|
|
17
17
|
* Help content keyed by group name.
|
|
18
18
|
* 'gotchas' is the always-available help (sqlite://help).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-instructions.d.ts","sourceRoot":"","sources":["../../src/constants/server-instructions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;GAGG;AACH,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"server-instructions.d.ts","sourceRoot":"","sources":["../../src/constants/server-instructions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;GAGG;AACH,eAAO,MAAM,YAAY,g2BAoBwC,CAAC;AAElE;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAy1BnD,CAAC"}
|
|
@@ -4,28 +4,28 @@
|
|
|
4
4
|
* Defines the tool groups and meta-groups used for filtering.
|
|
5
5
|
*
|
|
6
6
|
* GROUP TOOLS (adapter-registered, accessible via Code Mode sqlite.help()):
|
|
7
|
-
* core:
|
|
7
|
+
* core: 25 tools (core/queries.ts, core/tables.ts, core/indexes.ts, core/convenience.ts, core/triggers.ts, core/constraints.ts, core/datetime.ts, core/alter-table.ts, core/versioning.ts)
|
|
8
8
|
* json: 25 tools (json-operations/crud+query+transform+security+diff.ts, json-helpers/read+write.ts)
|
|
9
|
-
* text:
|
|
9
|
+
* text: 15 WASM / 20 Native (text/regex+formatting+search+validate+sentiment.ts, fts.ts)
|
|
10
10
|
* stats: 17 WASM / 23 Native (stats/basic+advanced.ts, inference/, anomaly-detection.ts, schema-risks.ts, native: window.ts)
|
|
11
11
|
* vector: 11 tools (vector/storage+search+metadata.ts)
|
|
12
|
-
* admin:
|
|
12
|
+
* admin: 30 WASM / 31 Native (admin/backup+verify+pragma+reindex+wal.ts, virtual/views+vtable+extensions+analysis.ts; dump.ts is NATIVE ONLY)
|
|
13
13
|
* transactions: 8 Native (native: transactions.ts)
|
|
14
14
|
* geo: 4 WASM / 11 Native (geo.ts, native: spatialite/tools+analysis.ts)
|
|
15
15
|
* introspection: 10 tools (introspection/graph/tools.ts, analysis/constraints+risks+snapshot+diff.ts, diagnostics/storage+indexes+query-plan.ts)
|
|
16
16
|
* migration: 6 tools (migration/tracking.ts) — opt-in
|
|
17
17
|
* codemode: 1 tool (codemode.ts)
|
|
18
|
-
* Subtotal:
|
|
18
|
+
* Subtotal: 143 WASM / 170 Native (excluding Code Mode)
|
|
19
19
|
*
|
|
20
|
-
* AUDIT TOOLS (server-level, MCP-only — NOT exposed in Code Mode):
|
|
21
|
-
*
|
|
20
|
+
* AUDIT & ADMIN TOOLS (server-level, MCP-only — NOT exposed in Code Mode):
|
|
21
|
+
* 7 tools (server/registration/audit-tools.ts, admin-tools.ts)
|
|
22
22
|
*
|
|
23
23
|
* TOOL COUNT TAXONOMY:
|
|
24
|
-
* Group tools:
|
|
25
|
-
* Audit tools:
|
|
26
|
-
* Inventory:
|
|
27
|
-
* Built-in: 4 / 4 (server_info, health, adapters,
|
|
28
|
-
* MCP total:
|
|
24
|
+
* Group tools: 170 Native / 143 WASM (10 groups excluding Code Mode)
|
|
25
|
+
* Audit tools: 7 Native / 7 WASM (MCP-only)
|
|
26
|
+
* Inventory: 177 Native / 150 WASM (Group + Audit)
|
|
27
|
+
* Built-in: 4 / 4 (server_info, health, adapters, execute_code)
|
|
28
|
+
* MCP total: 181 Native / 154 WASM (tools/list response)
|
|
29
29
|
*/
|
|
30
30
|
import type { ToolGroup, MetaGroup } from "../types/index.js";
|
|
31
31
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-constants.d.ts","sourceRoot":"","sources":["../../src/filtering/tool-constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,EAYtC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"tool-constants.d.ts","sourceRoot":"","sources":["../../src/filtering/tool-constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,EAYtC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,CAmNnD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,CAiCtD,CAAC"}
|