db-mcp 5.0.0 → 5.0.1

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.
@@ -3135,7 +3135,7 @@ var DbMcpServer = class {
3135
3135
  * Start server with HTTP transport (Streamable HTTP with SSE support)
3136
3136
  */
3137
3137
  async startHttp() {
3138
- const { HttpTransport } = await import('./http-ZDMK46QU.js');
3138
+ const { HttpTransport } = await import('./http-2XDGZF4F.js');
3139
3139
  const oauthConfig = {
3140
3140
  enabled: this.config.oauth?.enabled ?? false,
3141
3141
  authorizationServerUrl: this.config.oauth?.authorizationServerUrl ?? "",
package/dist/cli.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { DEFAULT_CONFIG, createServer } from './chunk-LLIAIJPO.js';
2
+ import { DEFAULT_CONFIG, createServer } from './chunk-WYBUO4FL.js';
3
3
  import { parseAllowedIoRoots, VERSION } from './chunk-2TYICG7B.js';
4
4
  import { logger } from './chunk-XLIYO3YA.js';
5
5
  import fs from 'fs';
@@ -552,11 +552,11 @@ function setupStatefulEndpoints(state) {
552
552
  release();
553
553
  }
554
554
  });
555
- const activeSid = newTransport.sessionId;
555
+ const activeSid2 = newTransport.sessionId;
556
556
  try {
557
- if (activeSid) {
558
- const count = state.sessionLocks.get(activeSid) ?? 0;
559
- state.sessionLocks.set(activeSid, count + 1);
557
+ if (activeSid2) {
558
+ const count = state.sessionLocks.get(activeSid2) ?? 0;
559
+ state.sessionLocks.set(activeSid2, count + 1);
560
560
  }
561
561
  await newTransport.handleRequest(
562
562
  asIncoming(req),
@@ -564,14 +564,14 @@ function setupStatefulEndpoints(state) {
564
564
  req.body
565
565
  );
566
566
  } finally {
567
- if (activeSid) {
568
- const count = state.sessionLocks.get(activeSid) ?? 0;
567
+ if (activeSid2) {
568
+ const count = state.sessionLocks.get(activeSid2) ?? 0;
569
569
  if (count > 1) {
570
- state.sessionLocks.set(activeSid, count - 1);
570
+ state.sessionLocks.set(activeSid2, count - 1);
571
571
  } else {
572
- state.sessionLocks.delete(activeSid);
572
+ state.sessionLocks.delete(activeSid2);
573
573
  }
574
- touchSession(state, activeSid);
574
+ touchSession(state, activeSid2);
575
575
  }
576
576
  }
577
577
  return;
@@ -586,28 +586,26 @@ function setupStatefulEndpoints(state) {
586
586
  });
587
587
  return;
588
588
  }
589
- if (httpTransport !== void 0) {
590
- const activeSid = sessionId;
591
- try {
592
- if (activeSid) {
593
- const count = state.sessionLocks.get(activeSid) ?? 0;
594
- state.sessionLocks.set(activeSid, count + 1);
595
- }
596
- await httpTransport.handleRequest(
597
- asIncoming(req),
598
- asServerResponse(res),
599
- req.body
600
- );
601
- } finally {
602
- if (activeSid) {
603
- const count = state.sessionLocks.get(activeSid) ?? 0;
604
- if (count > 1) {
605
- state.sessionLocks.set(activeSid, count - 1);
606
- } else {
607
- state.sessionLocks.delete(activeSid);
608
- }
609
- touchSession(state, activeSid);
589
+ const activeSid = sessionId;
590
+ try {
591
+ if (activeSid) {
592
+ const count = state.sessionLocks.get(activeSid) ?? 0;
593
+ state.sessionLocks.set(activeSid, count + 1);
594
+ }
595
+ await httpTransport.handleRequest(
596
+ asIncoming(req),
597
+ asServerResponse(res),
598
+ req.body
599
+ );
600
+ } finally {
601
+ if (activeSid) {
602
+ const count = state.sessionLocks.get(activeSid) ?? 0;
603
+ if (count > 1) {
604
+ state.sessionLocks.set(activeSid, count - 1);
605
+ } else {
606
+ state.sessionLocks.delete(activeSid);
610
607
  }
608
+ touchSession(state, activeSid);
611
609
  }
612
610
  }
613
611
  } catch (error) {
@@ -657,26 +655,24 @@ function setupStatefulEndpoints(state) {
657
655
  lastEventId
658
656
  });
659
657
  }
660
- if (httpTransport !== void 0) {
661
- void (async () => {
662
- try {
663
- const count = state.sessionLocks.get(sessionId) ?? 0;
664
- state.sessionLocks.set(sessionId, count + 1);
665
- await httpTransport.handleRequest(
666
- asIncoming(req),
667
- asServerResponse(res)
668
- );
669
- } finally {
670
- const count = state.sessionLocks.get(sessionId) ?? 0;
671
- if (count > 1) {
672
- state.sessionLocks.set(sessionId, count - 1);
673
- } else {
674
- state.sessionLocks.delete(sessionId);
675
- }
676
- touchSession(state, sessionId);
658
+ void (async () => {
659
+ try {
660
+ const count = state.sessionLocks.get(sessionId) ?? 0;
661
+ state.sessionLocks.set(sessionId, count + 1);
662
+ await httpTransport.handleRequest(
663
+ asIncoming(req),
664
+ asServerResponse(res)
665
+ );
666
+ } finally {
667
+ const count = state.sessionLocks.get(sessionId) ?? 0;
668
+ if (count > 1) {
669
+ state.sessionLocks.set(sessionId, count - 1);
670
+ } else {
671
+ state.sessionLocks.delete(sessionId);
677
672
  }
678
- })();
679
- }
673
+ touchSession(state, sessionId);
674
+ }
675
+ })();
680
676
  });
681
677
  state.app.delete("/mcp", (req, res) => {
682
678
  const sessionId = req.headers["mcp-session-id"];
@@ -697,26 +693,24 @@ function setupStatefulEndpoints(state) {
697
693
  code: "HTTP_SESSION_DELETE",
698
694
  sessionId
699
695
  });
700
- if (httpTransport !== void 0) {
701
- void (async () => {
702
- try {
703
- const count = state.sessionLocks.get(sessionId) ?? 0;
704
- state.sessionLocks.set(sessionId, count + 1);
705
- await httpTransport.handleRequest(
706
- asIncoming(req),
707
- asServerResponse(res)
708
- );
709
- } finally {
710
- const count = state.sessionLocks.get(sessionId) ?? 0;
711
- if (count > 1) {
712
- state.sessionLocks.set(sessionId, count - 1);
713
- } else {
714
- state.sessionLocks.delete(sessionId);
715
- }
716
- touchSession(state, sessionId);
696
+ void (async () => {
697
+ try {
698
+ const count = state.sessionLocks.get(sessionId) ?? 0;
699
+ state.sessionLocks.set(sessionId, count + 1);
700
+ await httpTransport.handleRequest(
701
+ asIncoming(req),
702
+ asServerResponse(res)
703
+ );
704
+ } finally {
705
+ const count = state.sessionLocks.get(sessionId) ?? 0;
706
+ if (count > 1) {
707
+ state.sessionLocks.set(sessionId, count - 1);
708
+ } else {
709
+ state.sessionLocks.delete(sessionId);
717
710
  }
718
- })();
719
- }
711
+ touchSession(state, sessionId);
712
+ }
713
+ })();
720
714
  });
721
715
  return sessionSweepTimer;
722
716
  }
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { DEFAULT_CONFIG, DbMcpServer, createServer } from './chunk-LLIAIJPO.js';
1
+ export { DEFAULT_CONFIG, DbMcpServer, createServer } from './chunk-WYBUO4FL.js';
2
2
  export { DatabaseAdapter } from './chunk-27C5EE6U.js';
3
3
  export { NAME, VERSION } from './chunk-2TYICG7B.js';
4
4
  export { ALL_TOOL_GROUPS, AuthenticationError, AuthorizationError, ConnectionError, DbMcpError, META_GROUPS, QueryError, TOOL_GROUPS, ValidationError, filterTools, getFilterSummary, getToolFilterFromEnv, isToolEnabled, parseToolFilter } from './chunk-XLIYO3YA.js';
@@ -1 +1 @@
1
- {"version":3,"file":"stateful.d.ts","sourceRoot":"","sources":["../../../../src/transports/http/sessions/stateful.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAgBtD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,kBAAkB,EACzB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,OAAO,CAOT;AAYD;;GAEG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,kBAAkB,EACzB,SAAS,EAAE,MAAM,GAChB,IAAI,CAEN;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,kBAAkB,GACxB,UAAU,CAAC,OAAO,WAAW,CAAC,CAiahC"}
1
+ {"version":3,"file":"stateful.d.ts","sourceRoot":"","sources":["../../../../src/transports/http/sessions/stateful.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAgBtD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,kBAAkB,EACzB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,OAAO,CAOT;AAYD;;GAEG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,kBAAkB,EACzB,SAAS,EAAE,MAAM,GAChB,IAAI,CAEN;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,kBAAkB,GACxB,UAAU,CAAC,OAAO,WAAW,CAAC,CA2ZhC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "db-mcp",
3
- "version": "5.0.0",
3
+ "version": "5.0.1",
4
4
  "description": "SQLite MCP Server — Secure Database Administration & Observability with Code Mode. True V8 Isolate Sandbox Unifying 170+ Specialized Tools with Highly Optimized Payloads for 70–90% Token Savings. Includes Dynamic Tool Filtering, Dual-Transport HTTP/SSE, OAuth 2.1 Auth, Granular Access Control, Audit Logging, & Deterministic Error Handling.",
5
5
  "mcpName": "io.github.neverinfamous/db-mcp",
6
6
  "type": "module",
@@ -55,7 +55,7 @@
55
55
  "@types/better-sqlite3": "^7.6.13",
56
56
  "@types/cors": "^2.8.19",
57
57
  "@types/express": "^5.0.6",
58
- "@types/node": "^25.9.1",
58
+ "@types/node": "^25.9.3",
59
59
  "@types/sql.js": "^1.4.11",
60
60
  "@vitest/coverage-v8": "^4.1.8",
61
61
  "eslint": "^10.4.1",
@@ -64,7 +64,7 @@
64
64
  "tsup": "^8.5.1",
65
65
  "tsx": "^4.22.4",
66
66
  "typescript": "^6.0.3",
67
- "typescript-eslint": "^8.60.1",
67
+ "typescript-eslint": "^8.61.0",
68
68
  "vitest": "^4.1.8"
69
69
  },
70
70
  "optionalDependencies": {