@arikusi/deepseek-mcp-server 1.1.1 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/CHANGELOG.md +44 -1
  2. package/README.md +134 -18
  3. package/dist/circuit-breaker.d.ts +37 -0
  4. package/dist/circuit-breaker.d.ts.map +1 -0
  5. package/dist/circuit-breaker.js +101 -0
  6. package/dist/circuit-breaker.js.map +1 -0
  7. package/dist/config.d.ts +9 -0
  8. package/dist/config.d.ts.map +1 -1
  9. package/dist/config.js +10 -0
  10. package/dist/config.js.map +1 -1
  11. package/dist/cost.d.ts +30 -13
  12. package/dist/cost.d.ts.map +1 -1
  13. package/dist/cost.js +58 -19
  14. package/dist/cost.js.map +1 -1
  15. package/dist/deepseek-client.d.ts +23 -5
  16. package/dist/deepseek-client.d.ts.map +1 -1
  17. package/dist/deepseek-client.js +256 -115
  18. package/dist/deepseek-client.js.map +1 -1
  19. package/dist/errors.d.ts +13 -0
  20. package/dist/errors.d.ts.map +1 -1
  21. package/dist/errors.js +18 -0
  22. package/dist/errors.js.map +1 -1
  23. package/dist/index.js +5 -2
  24. package/dist/index.js.map +1 -1
  25. package/dist/resources/config.d.ts +7 -0
  26. package/dist/resources/config.d.ts.map +1 -0
  27. package/dist/resources/config.js +44 -0
  28. package/dist/resources/config.js.map +1 -0
  29. package/dist/resources/index.d.ts +7 -0
  30. package/dist/resources/index.d.ts.map +1 -0
  31. package/dist/resources/index.js +13 -0
  32. package/dist/resources/index.js.map +1 -0
  33. package/dist/resources/models.d.ts +7 -0
  34. package/dist/resources/models.d.ts.map +1 -0
  35. package/dist/resources/models.js +62 -0
  36. package/dist/resources/models.js.map +1 -0
  37. package/dist/resources/usage.d.ts +7 -0
  38. package/dist/resources/usage.d.ts.map +1 -0
  39. package/dist/resources/usage.js +31 -0
  40. package/dist/resources/usage.js.map +1 -0
  41. package/dist/schemas.d.ts +72 -20
  42. package/dist/schemas.d.ts.map +1 -1
  43. package/dist/schemas.js +15 -2
  44. package/dist/schemas.js.map +1 -1
  45. package/dist/session.d.ts +68 -0
  46. package/dist/session.d.ts.map +1 -0
  47. package/dist/session.js +184 -0
  48. package/dist/session.js.map +1 -0
  49. package/dist/tools/deepseek-chat.d.ts +2 -1
  50. package/dist/tools/deepseek-chat.d.ts.map +1 -1
  51. package/dist/tools/deepseek-chat.js +97 -32
  52. package/dist/tools/deepseek-chat.js.map +1 -1
  53. package/dist/tools/deepseek-sessions.d.ts +7 -0
  54. package/dist/tools/deepseek-sessions.d.ts.map +1 -0
  55. package/dist/tools/deepseek-sessions.js +101 -0
  56. package/dist/tools/deepseek-sessions.js.map +1 -0
  57. package/dist/tools/index.d.ts.map +1 -1
  58. package/dist/tools/index.js +2 -0
  59. package/dist/tools/index.js.map +1 -1
  60. package/dist/types.d.ts +71 -0
  61. package/dist/types.d.ts.map +1 -1
  62. package/dist/types.js.map +1 -1
  63. package/dist/usage-tracker.d.ts +40 -0
  64. package/dist/usage-tracker.d.ts.map +1 -0
  65. package/dist/usage-tracker.js +76 -0
  66. package/dist/usage-tracker.js.map +1 -0
  67. package/package.json +5 -2
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,qBAAa,SAAU,SAAQ,KAAK;gBACtB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAIpD;AAED;;;GAGG;AACH,qBAAa,WAAY,SAAQ,SAAS;IACxC,SAAgB,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;gBAG/D,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAM,EACrD,OAAO,CAAC,EAAE,YAAY;CAKzB;AAED;;;GAGG;AACH,qBAAa,QAAS,SAAQ,SAAS;IACrC,SAAgB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpC,SAAgB,SAAS,EAAE,OAAO,CAAC;gBAGjC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,YAAY,GAAG;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE;CAMxE;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,QAAQ;gBAC9B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAGpD;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,QAAQ;gBACnC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAGpD;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,SAAS;IAC5C,SAAgB,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;gBAGnE,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,EACpD,OAAO,CAAC,EAAE,YAAY;CAKzB;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,SAAS;IAC5C,SAAgB,SAAS,EAAE,OAAO,CAAC;gBAEvB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE;CAI9E"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,qBAAa,SAAU,SAAQ,KAAK;gBACtB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAIpD;AAED;;;GAGG;AACH,qBAAa,WAAY,SAAQ,SAAS;IACxC,SAAgB,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;gBAG/D,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAM,EACrD,OAAO,CAAC,EAAE,YAAY;CAKzB;AAED;;;GAGG;AACH,qBAAa,QAAS,SAAQ,SAAS;IACrC,SAAgB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpC,SAAgB,SAAS,EAAE,OAAO,CAAC;gBAGjC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,YAAY,GAAG;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE;CAMxE;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,QAAQ;gBAC9B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAGpD;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,QAAQ;gBACnC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAGpD;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,SAAS;IAC5C,SAAgB,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;gBAGnE,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,EACpD,OAAO,CAAC,EAAE,YAAY;CAKzB;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,QAAQ;IAClD,SAAgB,eAAe,EAAE,MAAM,EAAE,CAAC;gBAGxC,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,MAAM,EAAE,EACzB,OAAO,CAAC,EAAE,YAAY;CAKzB;AAED;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,SAAS;gBACxC,OAAO,GAAE,MAAgE,EAAE,OAAO,CAAC,EAAE,YAAY;CAG9G;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,SAAS;IAC5C,SAAgB,SAAS,EAAE,OAAO,CAAC;gBAEvB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE;CAI9E"}
package/dist/errors.js CHANGED
@@ -61,6 +61,24 @@ export class ValidationError extends BaseError {
61
61
  this.zodErrors = zodErrors;
62
62
  }
63
63
  }
64
+ /**
65
+ * All fallback models exhausted
66
+ */
67
+ export class FallbackExhaustedError extends ApiError {
68
+ attemptedModels;
69
+ constructor(message, attemptedModels, options) {
70
+ super(message, { ...options, retryable: false });
71
+ this.attemptedModels = attemptedModels;
72
+ }
73
+ }
74
+ /**
75
+ * Circuit breaker is open — fast-fail
76
+ */
77
+ export class CircuitBreakerOpenError extends BaseError {
78
+ constructor(message = 'Circuit breaker is open — requests are being rejected', options) {
79
+ super(message, options);
80
+ }
81
+ }
64
82
  /**
65
83
  * Network/connection error
66
84
  */
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,OAAO,SAAU,SAAQ,KAAK;IAClC,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACpC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,WAAY,SAAQ,SAAS;IACxB,MAAM,CAA2C;IAEjE,YACE,OAAe,EACf,SAAmD,EAAE,EACrD,OAAsB;QAEtB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,QAAS,SAAQ,SAAS;IACrB,UAAU,CAAU;IACpB,SAAS,CAAU;IAEnC,YACE,OAAe,EACf,OAAqE;QAErE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,KAAK,CAAC;IAC/C,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,QAAQ;IAC1C,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,QAAQ;IAC/C,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IACpE,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAC5B,SAAS,CAA4C;IAErE,YACE,OAAe,EACf,SAAoD,EACpD,OAAsB;QAEtB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAC5B,SAAS,CAAU;IAEnC,YAAY,OAAe,EAAE,OAAgD;QAC3E,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC;IAC9C,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,OAAO,SAAU,SAAQ,KAAK;IAClC,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACpC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,WAAY,SAAQ,SAAS;IACxB,MAAM,CAA2C;IAEjE,YACE,OAAe,EACf,SAAmD,EAAE,EACrD,OAAsB;QAEtB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,QAAS,SAAQ,SAAS;IACrB,UAAU,CAAU;IACpB,SAAS,CAAU;IAEnC,YACE,OAAe,EACf,OAAqE;QAErE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,KAAK,CAAC;IAC/C,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,QAAQ;IAC1C,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,QAAQ;IAC/C,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IACpE,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAC5B,SAAS,CAA4C;IAErE,YACE,OAAe,EACf,SAAoD,EACpD,OAAsB;QAEtB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,QAAQ;IAClC,eAAe,CAAW;IAE1C,YACE,OAAe,EACf,eAAyB,EACzB,OAAsB;QAEtB,KAAK,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,uBAAwB,SAAQ,SAAS;IACpD,YAAY,UAAkB,uDAAuD,EAAE,OAAsB;QAC3G,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAC5B,SAAS,CAAU;IAEnC,YAAY,OAAe,EAAE,OAAgD;QAC3E,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC;IAC9C,CAAC;CACF"}
package/dist/index.js CHANGED
@@ -10,6 +10,7 @@ import { DeepSeekClient } from './deepseek-client.js';
10
10
  import { createServer, version } from './server.js';
11
11
  import { registerAllTools } from './tools/index.js';
12
12
  import { registerAllPrompts } from './prompts/index.js';
13
+ import { registerAllResources } from './resources/index.js';
13
14
  async function main() {
14
15
  // Load and validate configuration
15
16
  try {
@@ -27,9 +28,10 @@ async function main() {
27
28
  const config = loadConfig();
28
29
  const deepseek = new DeepSeekClient();
29
30
  const server = createServer();
30
- // Register tools and prompts
31
+ // Register tools, prompts, and resources
31
32
  registerAllTools(server, deepseek);
32
33
  registerAllPrompts(server);
34
+ registerAllResources(server);
33
35
  console.error(`[DeepSeek MCP] Starting server v${version}...`);
34
36
  // Optional connection test (controlled by SKIP_CONNECTION_TEST env)
35
37
  if (!config.skipConnectionTest) {
@@ -47,8 +49,9 @@ async function main() {
47
49
  const transport = new StdioServerTransport();
48
50
  await server.connect(transport);
49
51
  console.error('[DeepSeek MCP] Server running on stdio');
50
- console.error('[DeepSeek MCP] Available tools: deepseek_chat (with function calling support)');
52
+ console.error('[DeepSeek MCP] Available tools: deepseek_chat (sessions, fallback), deepseek_sessions');
51
53
  console.error('[DeepSeek MCP] Available prompts: 12 reasoning templates');
54
+ console.error('[DeepSeek MCP] Available resources: deepseek://models, deepseek://config, deepseek://usage');
52
55
  }
53
56
  // Error handling
54
57
  process.on('uncaughtException', (error) => {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;GAGG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,KAAK,UAAU,IAAI;IACjB,kCAAkC;IAClC,IAAI,CAAC;QACH,UAAU,EAAE,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;YACjC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YACzC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjC,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAE9B,6BAA6B;IAC7B,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACnC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAE3B,OAAO,CAAC,KAAK,CAAC,mCAAmC,OAAO,KAAK,CAAC,CAAC;IAE/D,oEAAoE;IACpE,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,cAAc,EAAE,CAAC;QAEpD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;YAC3E,OAAO,CAAC,KAAK,CACX,kEAAkE,CACnE,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;IACxD,OAAO,CAAC,KAAK,CACX,+EAA+E,CAChF,CAAC;IACF,OAAO,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;AAC5E,CAAC;AAED,iBAAiB;AACjB,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE;IACxC,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;IAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IACnD,OAAO,CAAC,KAAK,CACX,wCAAwC,EACxC,OAAO,EACP,SAAS,EACT,MAAM,CACP,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,mBAAmB;AACnB,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;IACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Resource: deepseek://config
3
+ * Static resource showing current server configuration (API key masked)
4
+ */
5
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
6
+ export declare function registerConfigResource(server: McpServer): void;
7
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/resources/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAWzE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAoC9D"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Resource: deepseek://config
3
+ * Static resource showing current server configuration (API key masked)
4
+ */
5
+ import { getConfig } from '../config.js';
6
+ /**
7
+ * Mask an API key for safe display: sk-****1234
8
+ */
9
+ function maskApiKey(key) {
10
+ if (key.length <= 8)
11
+ return '****';
12
+ return key.slice(0, 3) + '****' + key.slice(-4);
13
+ }
14
+ export function registerConfigResource(server) {
15
+ server.registerResource('config', 'deepseek://config', {
16
+ title: 'DeepSeek Configuration',
17
+ description: 'Current server configuration including base URL, timeouts, session settings, and fallback status. API key is masked for security.',
18
+ mimeType: 'application/json',
19
+ }, async (uri) => {
20
+ const config = getConfig();
21
+ const safeConfig = {
22
+ apiKey: maskApiKey(config.apiKey),
23
+ baseUrl: config.baseUrl,
24
+ requestTimeout: config.requestTimeout,
25
+ maxRetries: config.maxRetries,
26
+ showCostInfo: config.showCostInfo,
27
+ maxMessageLength: config.maxMessageLength,
28
+ sessionTtlMinutes: config.sessionTtlMinutes,
29
+ maxSessions: config.maxSessions,
30
+ fallbackEnabled: config.fallbackEnabled,
31
+ skipConnectionTest: config.skipConnectionTest,
32
+ };
33
+ return {
34
+ contents: [
35
+ {
36
+ uri: uri.href,
37
+ mimeType: 'application/json',
38
+ text: JSON.stringify(safeConfig, null, 2),
39
+ },
40
+ ],
41
+ };
42
+ });
43
+ }
44
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/resources/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC;;GAEG;AACH,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC;IACnC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAAiB;IACtD,MAAM,CAAC,gBAAgB,CACrB,QAAQ,EACR,mBAAmB,EACnB;QACE,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EACT,mIAAmI;QACrI,QAAQ,EAAE,kBAAkB;KAC7B,EACD,KAAK,EAAE,GAAG,EAAE,EAAE;QACZ,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG;YACjB,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC;YACjC,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;SAC9C,CAAC;QAEF,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,GAAG,EAAE,GAAG,CAAC,IAAI;oBACb,QAAQ,EAAE,kBAAkB;oBAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC1C;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Resource Registration Aggregator
3
+ * Registers all MCP resources with the server
4
+ */
5
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
6
+ export declare function registerAllResources(server: McpServer): void;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAI5D"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Resource Registration Aggregator
3
+ * Registers all MCP resources with the server
4
+ */
5
+ import { registerModelsResource } from './models.js';
6
+ import { registerConfigResource } from './config.js';
7
+ import { registerUsageResource } from './usage.js';
8
+ export function registerAllResources(server) {
9
+ registerModelsResource(server);
10
+ registerConfigResource(server);
11
+ registerUsageResource(server);
12
+ }
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD,MAAM,UAAU,oBAAoB,CAAC,MAAiB;IACpD,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC/B,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC/B,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Resource: deepseek://models
3
+ * Static resource listing available DeepSeek models with capabilities and pricing
4
+ */
5
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
6
+ export declare function registerModelsResource(server: McpServer): void;
7
+ //# sourceMappingURL=models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/resources/models.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA8CzE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAoB9D"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Resource: deepseek://models
3
+ * Static resource listing available DeepSeek models with capabilities and pricing
4
+ */
5
+ import { PRICING } from '../cost.js';
6
+ const MODELS_DATA = {
7
+ models: [
8
+ {
9
+ id: 'deepseek-chat',
10
+ name: 'DeepSeek Chat (V3.2)',
11
+ description: 'General-purpose chat model with function calling support',
12
+ context_length: 131072,
13
+ max_output_tokens: 8192,
14
+ capabilities: [
15
+ 'chat',
16
+ 'function_calling',
17
+ 'json_mode',
18
+ 'thinking_mode',
19
+ ],
20
+ pricing_per_million_tokens: {
21
+ input_cache_hit: PRICING.cache_hit,
22
+ input_cache_miss: PRICING.cache_miss,
23
+ output: PRICING.output,
24
+ },
25
+ },
26
+ {
27
+ id: 'deepseek-reasoner',
28
+ name: 'DeepSeek Reasoner (V3.2)',
29
+ description: 'Advanced reasoning model with chain-of-thought explanations',
30
+ context_length: 131072,
31
+ max_output_tokens: 65536,
32
+ capabilities: [
33
+ 'chat',
34
+ 'reasoning',
35
+ 'chain_of_thought',
36
+ 'json_mode',
37
+ 'thinking_mode',
38
+ ],
39
+ pricing_per_million_tokens: {
40
+ input_cache_hit: PRICING.cache_hit,
41
+ input_cache_miss: PRICING.cache_miss,
42
+ output: PRICING.output,
43
+ },
44
+ },
45
+ ],
46
+ };
47
+ export function registerModelsResource(server) {
48
+ server.registerResource('models', 'deepseek://models', {
49
+ title: 'DeepSeek Models',
50
+ description: 'List of available DeepSeek models with capabilities, context limits, and pricing information',
51
+ mimeType: 'application/json',
52
+ }, async (uri) => ({
53
+ contents: [
54
+ {
55
+ uri: uri.href,
56
+ mimeType: 'application/json',
57
+ text: JSON.stringify(MODELS_DATA, null, 2),
58
+ },
59
+ ],
60
+ }));
61
+ }
62
+ //# sourceMappingURL=models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/resources/models.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,MAAM,WAAW,GAAG;IAClB,MAAM,EAAE;QACN;YACE,EAAE,EAAE,eAAe;YACnB,IAAI,EAAE,sBAAsB;YAC5B,WAAW,EAAE,0DAA0D;YACvE,cAAc,EAAE,MAAM;YACtB,iBAAiB,EAAE,IAAI;YACvB,YAAY,EAAE;gBACZ,MAAM;gBACN,kBAAkB;gBAClB,WAAW;gBACX,eAAe;aAChB;YACD,0BAA0B,EAAE;gBAC1B,eAAe,EAAE,OAAO,CAAC,SAAS;gBAClC,gBAAgB,EAAE,OAAO,CAAC,UAAU;gBACpC,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB;SACF;QACD;YACE,EAAE,EAAE,mBAAmB;YACvB,IAAI,EAAE,0BAA0B;YAChC,WAAW,EACT,6DAA6D;YAC/D,cAAc,EAAE,MAAM;YACtB,iBAAiB,EAAE,KAAK;YACxB,YAAY,EAAE;gBACZ,MAAM;gBACN,WAAW;gBACX,kBAAkB;gBAClB,WAAW;gBACX,eAAe;aAChB;YACD,0BAA0B,EAAE;gBAC1B,eAAe,EAAE,OAAO,CAAC,SAAS;gBAClC,gBAAgB,EAAE,OAAO,CAAC,UAAU;gBACpC,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB;SACF;KACF;CACF,CAAC;AAEF,MAAM,UAAU,sBAAsB,CAAC,MAAiB;IACtD,MAAM,CAAC,gBAAgB,CACrB,QAAQ,EACR,mBAAmB,EACnB;QACE,KAAK,EAAE,iBAAiB;QACxB,WAAW,EACT,8FAA8F;QAChG,QAAQ,EAAE,kBAAkB;KAC7B,EACD,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACd,QAAQ,EAAE;YACR;gBACE,GAAG,EAAE,GAAG,CAAC,IAAI;gBACb,QAAQ,EAAE,kBAAkB;gBAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;aAC3C;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Resource: deepseek://usage
3
+ * Dynamic resource showing real-time usage statistics
4
+ */
5
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
6
+ export declare function registerUsageResource(server: McpServer): void;
7
+ //# sourceMappingURL=usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/resources/usage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAgC7D"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Resource: deepseek://usage
3
+ * Dynamic resource showing real-time usage statistics
4
+ */
5
+ import { UsageTracker } from '../usage-tracker.js';
6
+ export function registerUsageResource(server) {
7
+ server.registerResource('usage', 'deepseek://usage', {
8
+ title: 'DeepSeek Usage Statistics',
9
+ description: 'Real-time usage statistics including total requests, token consumption, costs, active sessions, and cache hit ratio. Updated on every read.',
10
+ mimeType: 'application/json',
11
+ }, async (uri) => {
12
+ const tracker = UsageTracker.getInstance();
13
+ const stats = tracker.getStats();
14
+ const cacheHitRatio = tracker.getCacheHitRatio();
15
+ const usageData = {
16
+ ...stats,
17
+ cacheHitRatio: parseFloat(cacheHitRatio.toFixed(4)),
18
+ totalCost: parseFloat(stats.totalCost.toFixed(6)),
19
+ };
20
+ return {
21
+ contents: [
22
+ {
23
+ uri: uri.href,
24
+ mimeType: 'application/json',
25
+ text: JSON.stringify(usageData, null, 2),
26
+ },
27
+ ],
28
+ };
29
+ });
30
+ }
31
+ //# sourceMappingURL=usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/resources/usage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,MAAM,UAAU,qBAAqB,CAAC,MAAiB;IACrD,MAAM,CAAC,gBAAgB,CACrB,OAAO,EACP,kBAAkB,EAClB;QACE,KAAK,EAAE,2BAA2B;QAClC,WAAW,EACT,6IAA6I;QAC/I,QAAQ,EAAE,kBAAkB;KAC7B,EACD,KAAK,EAAE,GAAG,EAAE,EAAE;QACZ,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM,aAAa,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAEjD,MAAM,SAAS,GAAG;YAChB,GAAG,KAAK;YACR,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACnD,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SAClD,CAAC;QAEF,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,GAAG,EAAE,GAAG,CAAC,IAAI;oBACb,QAAQ,EAAE,kBAAkB;oBAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;iBACzC;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
package/dist/schemas.d.ts CHANGED
@@ -13,6 +13,13 @@ export declare const MessageSchema: z.ZodObject<{
13
13
  content: string;
14
14
  role: "system" | "user" | "assistant";
15
15
  }>;
16
+ export declare const ThinkingSchema: z.ZodOptional<z.ZodObject<{
17
+ type: z.ZodEnum<["enabled", "disabled"]>;
18
+ }, "strip", z.ZodTypeAny, {
19
+ type: "enabled" | "disabled";
20
+ }, {
21
+ type: "enabled" | "disabled";
22
+ }>>;
16
23
  export declare const ChatInputSchema: z.ZodObject<{
17
24
  messages: z.ZodArray<z.ZodObject<{
18
25
  role: z.ZodEnum<["system", "user", "assistant"]>;
@@ -28,24 +35,40 @@ export declare const ChatInputSchema: z.ZodObject<{
28
35
  temperature: z.ZodOptional<z.ZodNumber>;
29
36
  max_tokens: z.ZodOptional<z.ZodNumber>;
30
37
  stream: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
38
+ thinking: z.ZodOptional<z.ZodObject<{
39
+ type: z.ZodEnum<["enabled", "disabled"]>;
40
+ }, "strip", z.ZodTypeAny, {
41
+ type: "enabled" | "disabled";
42
+ }, {
43
+ type: "enabled" | "disabled";
44
+ }>>;
45
+ json_mode: z.ZodOptional<z.ZodBoolean>;
31
46
  }, "strip", z.ZodTypeAny, {
32
- model: "deepseek-chat" | "deepseek-reasoner";
47
+ stream: boolean;
33
48
  messages: {
34
49
  content: string;
35
50
  role: "system" | "user" | "assistant";
36
51
  }[];
37
- stream: boolean;
52
+ model: "deepseek-chat" | "deepseek-reasoner";
38
53
  temperature?: number | undefined;
54
+ thinking?: {
55
+ type: "enabled" | "disabled";
56
+ } | undefined;
39
57
  max_tokens?: number | undefined;
58
+ json_mode?: boolean | undefined;
40
59
  }, {
41
60
  messages: {
42
61
  content: string;
43
62
  role: "system" | "user" | "assistant";
44
63
  }[];
45
- model?: "deepseek-chat" | "deepseek-reasoner" | undefined;
46
64
  temperature?: number | undefined;
47
- max_tokens?: number | undefined;
65
+ thinking?: {
66
+ type: "enabled" | "disabled";
67
+ } | undefined;
48
68
  stream?: boolean | undefined;
69
+ model?: "deepseek-chat" | "deepseek-reasoner" | undefined;
70
+ max_tokens?: number | undefined;
71
+ json_mode?: boolean | undefined;
49
72
  }>;
50
73
  export declare const FunctionDefinitionSchema: z.ZodObject<{
51
74
  name: z.ZodString;
@@ -204,16 +227,34 @@ export declare const ChatInputWithToolsSchema: z.ZodObject<{
204
227
  };
205
228
  type: "function";
206
229
  }>]>>;
230
+ thinking: z.ZodOptional<z.ZodObject<{
231
+ type: z.ZodEnum<["enabled", "disabled"]>;
232
+ }, "strip", z.ZodTypeAny, {
233
+ type: "enabled" | "disabled";
234
+ }, {
235
+ type: "enabled" | "disabled";
236
+ }>>;
237
+ json_mode: z.ZodOptional<z.ZodBoolean>;
238
+ session_id: z.ZodOptional<z.ZodString>;
207
239
  }, "strip", z.ZodTypeAny, {
208
- model: "deepseek-chat" | "deepseek-reasoner";
240
+ stream: boolean;
209
241
  messages: {
210
242
  content: string;
211
243
  role: "system" | "user" | "assistant" | "tool";
212
244
  tool_call_id?: string | undefined;
213
245
  }[];
214
- stream: boolean;
246
+ model: "deepseek-chat" | "deepseek-reasoner";
215
247
  temperature?: number | undefined;
248
+ thinking?: {
249
+ type: "enabled" | "disabled";
250
+ } | undefined;
216
251
  max_tokens?: number | undefined;
252
+ tool_choice?: "auto" | "none" | "required" | {
253
+ function: {
254
+ name: string;
255
+ };
256
+ type: "function";
257
+ } | undefined;
217
258
  tools?: {
218
259
  function: {
219
260
  name: string;
@@ -223,22 +264,27 @@ export declare const ChatInputWithToolsSchema: z.ZodObject<{
223
264
  };
224
265
  type: "function";
225
266
  }[] | undefined;
226
- tool_choice?: "auto" | "none" | "required" | {
227
- function: {
228
- name: string;
229
- };
230
- type: "function";
231
- } | undefined;
267
+ json_mode?: boolean | undefined;
268
+ session_id?: string | undefined;
232
269
  }, {
233
270
  messages: {
234
271
  content: string;
235
272
  role: "system" | "user" | "assistant" | "tool";
236
273
  tool_call_id?: string | undefined;
237
274
  }[];
238
- model?: "deepseek-chat" | "deepseek-reasoner" | undefined;
239
275
  temperature?: number | undefined;
240
- max_tokens?: number | undefined;
276
+ thinking?: {
277
+ type: "enabled" | "disabled";
278
+ } | undefined;
241
279
  stream?: boolean | undefined;
280
+ model?: "deepseek-chat" | "deepseek-reasoner" | undefined;
281
+ max_tokens?: number | undefined;
282
+ tool_choice?: "auto" | "none" | "required" | {
283
+ function: {
284
+ name: string;
285
+ };
286
+ type: "function";
287
+ } | undefined;
242
288
  tools?: {
243
289
  function: {
244
290
  name: string;
@@ -248,11 +294,17 @@ export declare const ChatInputWithToolsSchema: z.ZodObject<{
248
294
  };
249
295
  type: "function";
250
296
  }[] | undefined;
251
- tool_choice?: "auto" | "none" | "required" | {
252
- function: {
253
- name: string;
254
- };
255
- type: "function";
256
- } | undefined;
297
+ json_mode?: boolean | undefined;
298
+ session_id?: string | undefined;
299
+ }>;
300
+ export declare const SessionActionSchema: z.ZodObject<{
301
+ action: z.ZodEnum<["list", "clear", "delete"]>;
302
+ session_id: z.ZodOptional<z.ZodString>;
303
+ }, "strip", z.ZodTypeAny, {
304
+ action: "list" | "clear" | "delete";
305
+ session_id?: string | undefined;
306
+ }, {
307
+ action: "list" | "clear" | "delete";
308
+ session_id?: string | undefined;
257
309
  }>;
258
310
  //# sourceMappingURL=schemas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,aAAa;;;;;;;;;EAGxB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQ1B,CAAC;AAIH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;EAKnC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG/B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;IAQ3B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;EAIhC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUnC,CAAC"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,aAAa;;;;;;;;;EAGxB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;GAEd,CAAC;AAEd,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU1B,CAAC;AAIH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;EAKnC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG/B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;IAQ3B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;EAIhC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAanC,CAAC;AAIH,eAAO,MAAM,mBAAmB;;;;;;;;;EAG9B,CAAC"}
package/dist/schemas.js CHANGED
@@ -8,14 +8,19 @@ export const MessageSchema = z.object({
8
8
  role: z.enum(['system', 'user', 'assistant']),
9
9
  content: z.string(),
10
10
  });
11
+ export const ThinkingSchema = z
12
+ .object({ type: z.enum(['enabled', 'disabled']) })
13
+ .optional();
11
14
  export const ChatInputSchema = z.object({
12
15
  messages: z.array(MessageSchema).min(1),
13
16
  model: z
14
17
  .enum(['deepseek-chat', 'deepseek-reasoner'])
15
18
  .default('deepseek-chat'),
16
19
  temperature: z.number().min(0).max(2).optional(),
17
- max_tokens: z.number().min(1).max(32768).optional(),
20
+ max_tokens: z.number().min(1).max(65536).optional(),
18
21
  stream: z.boolean().optional().default(false),
22
+ thinking: ThinkingSchema,
23
+ json_mode: z.boolean().optional(),
19
24
  });
20
25
  // ─── Function Calling Schemas ───────────────────────────────────
21
26
  export const FunctionDefinitionSchema = z.object({
@@ -48,9 +53,17 @@ export const ChatInputWithToolsSchema = z.object({
48
53
  .enum(['deepseek-chat', 'deepseek-reasoner'])
49
54
  .default('deepseek-chat'),
50
55
  temperature: z.number().min(0).max(2).optional(),
51
- max_tokens: z.number().min(1).max(32768).optional(),
56
+ max_tokens: z.number().min(1).max(65536).optional(),
52
57
  stream: z.boolean().optional().default(false),
53
58
  tools: z.array(ToolDefinitionSchema).max(128).optional(),
54
59
  tool_choice: ToolChoiceSchema.optional(),
60
+ thinking: ThinkingSchema,
61
+ json_mode: z.boolean().optional(),
62
+ session_id: z.string().optional(),
63
+ });
64
+ // ─── Session Management Schemas ────────────────────────────────
65
+ export const SessionActionSchema = z.object({
66
+ action: z.enum(['list', 'clear', 'delete']),
67
+ session_id: z.string().optional(),
55
68
  });
56
69
  //# sourceMappingURL=schemas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * In-Memory Session Store
3
+ * Manages multi-turn conversation sessions within a single MCP server process lifetime
4
+ */
5
+ import type { ChatMessage, Session, SessionInfo } from './types.js';
6
+ /**
7
+ * Singleton session store backed by an in-memory Map.
8
+ * Sessions live for the duration of the MCP server process.
9
+ * TTL-based cleanup prevents unbounded memory growth.
10
+ */
11
+ export declare class SessionStore {
12
+ private static instance;
13
+ private sessions;
14
+ private requestCounter;
15
+ private constructor();
16
+ static getInstance(): SessionStore;
17
+ /**
18
+ * Reset singleton (for testing)
19
+ */
20
+ static resetInstance(): void;
21
+ /**
22
+ * Create a new session or return existing one
23
+ */
24
+ create(sessionId?: string): Session;
25
+ /**
26
+ * Get a session by ID, returns undefined if not found or expired
27
+ */
28
+ get(sessionId: string): Session | undefined;
29
+ /**
30
+ * Add messages to a session
31
+ */
32
+ addMessages(sessionId: string, messages: ChatMessage[]): void;
33
+ /**
34
+ * Get all messages from a session
35
+ */
36
+ getMessages(sessionId: string): ChatMessage[];
37
+ /**
38
+ * Delete a session
39
+ */
40
+ delete(sessionId: string): boolean;
41
+ /**
42
+ * List all active (non-expired) sessions
43
+ */
44
+ list(): SessionInfo[];
45
+ /**
46
+ * Clean up expired sessions, returns number of removed sessions
47
+ */
48
+ cleanup(): number;
49
+ /**
50
+ * Get total cost across all sessions
51
+ */
52
+ getTotalCost(): number;
53
+ /**
54
+ * Get active session count
55
+ */
56
+ get size(): number;
57
+ /**
58
+ * Clear all sessions
59
+ */
60
+ clear(): number;
61
+ /**
62
+ * Lazy cleanup: runs full cleanup every 10 requests
63
+ */
64
+ private lazyCleanup;
65
+ private isExpired;
66
+ private removeOldest;
67
+ }
68
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEpE;;;;GAIG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA6B;IACpD,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,cAAc,CAAK;IAE3B,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,YAAY;IAOlC;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;IAI5B;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO;IAgCnC;;OAEG;IACH,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAc3C;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI;IAQ7D;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE;IAM7C;;OAEG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIlC;;OAEG;IACH,IAAI,IAAI,WAAW,EAAE;IAkBrB;;OAEG;IACH,OAAO,IAAI,MAAM;IAWjB;;OAEG;IACH,YAAY,IAAI,MAAM;IAQtB;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,KAAK,IAAI,MAAM;IAMf;;OAEG;IACH,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,YAAY;CAarB"}