@arikusi/deepseek-mcp-server 1.3.2 → 1.4.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/CHANGELOG.md +39 -3
- package/README.md +14 -9
- package/dist/config.d.ts +4 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +14 -0
- package/dist/config.js.map +1 -1
- package/dist/cost.d.ts +22 -11
- package/dist/cost.d.ts.map +1 -1
- package/dist/cost.js +29 -13
- package/dist/cost.js.map +1 -1
- package/dist/deepseek-client.d.ts.map +1 -1
- package/dist/deepseek-client.js +16 -10
- package/dist/deepseek-client.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/resources/config.d.ts.map +1 -1
- package/dist/resources/config.js +4 -0
- package/dist/resources/config.js.map +1 -1
- package/dist/resources/models.d.ts.map +1 -1
- package/dist/resources/models.js +46 -41
- package/dist/resources/models.js.map +1 -1
- package/dist/schemas.d.ts +71 -2
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +21 -1
- package/dist/schemas.js.map +1 -1
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +5 -0
- package/dist/session.js.map +1 -1
- package/dist/tools/deepseek-chat.d.ts +1 -1
- package/dist/tools/deepseek-chat.d.ts.map +1 -1
- package/dist/tools/deepseek-chat.js +29 -13
- package/dist/tools/deepseek-chat.js.map +1 -1
- package/dist/types.d.ts +29 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +12 -0
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -16,11 +16,43 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
16
16
|
### Fixed
|
|
17
17
|
- Nothing yet
|
|
18
18
|
|
|
19
|
+
## [1.4.0] - 2026-03-07
|
|
20
|
+
|
|
21
|
+
### Added
|
|
22
|
+
- **Model-Aware Pricing**: `MODEL_PRICING` map with per-model pricing, `getPricing(model?)` helper. `calculateCost()` now accepts optional `model` parameter for accurate per-model cost calculation.
|
|
23
|
+
- **Multimodal Content Types**: `TextContentPart`, `ImageContentPart`, `ContentPart` types. Message `content` now supports `string | ContentPart[]` (OpenAI-compatible format).
|
|
24
|
+
- **Multimodal Schema Validation**: `ContentPartSchema` (discriminated union), `ContentSchema`, `ExtendedMessageSchema` with array content support.
|
|
25
|
+
- **ENABLE_MULTIMODAL Config**: Feature flag (default: `false`) to enable multimodal input. Rejects array content when disabled with clear error message.
|
|
26
|
+
- **getTextContent() Helper**: Extracts text from `string | ContentPart[]` for validation and JSON mode checks.
|
|
27
|
+
- **MCP Registry Metadata**: `server.json` file for official MCP Registry submission with tools, resources, prompts, and configuration metadata.
|
|
28
|
+
- **241 Tests**: Up from 212, with 29 new tests covering model-aware pricing, multimodal schemas, content part validation, getTextContent, multimodal guard, and array content validation.
|
|
29
|
+
|
|
30
|
+
### Changed
|
|
31
|
+
- **Flexible Fallback Chain**: `FALLBACK_ORDER` (Record<string, string[]>) replaces `FALLBACK_MODEL` — supports 3+ model fallback chains for future model additions.
|
|
32
|
+
- **Models Resource**: `buildModelsData()` now uses `getPricing()` from cost.ts instead of static pricing constants.
|
|
33
|
+
- **Tool Handler**: `calculateCost()` now receives `response.model` for model-aware pricing. `validateMessageLength` uses `getTextContent()` for multimodal content.
|
|
34
|
+
- **Config Resource**: Exposes `enableMultimodal` field.
|
|
35
|
+
|
|
36
|
+
## [1.3.3] - 2026-03-07
|
|
37
|
+
|
|
38
|
+
### Added
|
|
39
|
+
- **Streaming Fallback Tests**: 4 new tests covering streaming fallback success, both-models-fail, non-retryable skip, and disabled fallback scenarios
|
|
40
|
+
- **Configurable Circuit Breaker**: `CIRCUIT_BREAKER_THRESHOLD` (default: 5) and `CIRCUIT_BREAKER_RESET_TIMEOUT` (default: 30000ms) environment variables
|
|
41
|
+
- **Session Message Limit**: `MAX_SESSION_MESSAGES` (default: 200) environment variable prevents unbounded memory growth with sliding window eviction
|
|
42
|
+
- **212 Tests**: Up from 208, covering streaming fallback edge cases
|
|
43
|
+
|
|
44
|
+
### Fixed
|
|
45
|
+
- **Session Tool Calls**: `ChatMessage` interface now includes `tool_calls` field — multi-turn function calling no longer loses tool context between requests
|
|
46
|
+
- **Default Model Config**: `DEFAULT_MODEL` env variable now correctly applies to the `deepseek_chat` tool schema default value
|
|
47
|
+
- **Double Config Load**: Removed redundant `loadConfig()` call in `index.ts` — config is now loaded once and retrieved with `getConfig()`
|
|
48
|
+
- **Circuit Breaker Hardcoded Params**: Circuit breaker threshold and reset timeout are now read from config instead of being hardcoded (5, 30000)
|
|
49
|
+
- **Config Resource**: `deepseek://config` resource now exposes `circuitBreakerThreshold`, `circuitBreakerResetTimeout`, and `maxSessionMessages` fields
|
|
50
|
+
|
|
19
51
|
## [1.3.2] - 2026-03-06
|
|
20
52
|
|
|
21
53
|
### Changed
|
|
22
54
|
- **OpenAI SDK v6**: Upgraded from v4.104.0 to v6.27.0. No breaking changes for our usage — `chat.completions.create()` API unchanged.
|
|
23
|
-
- **Zod v4**: Upgraded from v3.25.76 to v4.3.6.
|
|
55
|
+
- **Zod v4**: Upgraded from v3.25.76 to v4.3.6. Fixed `z.record()` call for v4 compatibility.
|
|
24
56
|
- **New Config**: `DEFAULT_MODEL` env variable (default: `deepseek-chat`) for configurable default model.
|
|
25
57
|
- **Keywords**: Added `gemini-cli`, `mcp-server` to npm package keywords.
|
|
26
58
|
|
|
@@ -59,7 +91,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
59
91
|
## [1.2.0] - 2026-02-26
|
|
60
92
|
|
|
61
93
|
### Added
|
|
62
|
-
- **Thinking Mode**: Enable
|
|
94
|
+
- **Thinking Mode**: Enable thinking on deepseek-chat with `thinking: {type: "enabled"}` parameter. Automatically filters incompatible params (temperature, top_p, etc.) with logged warnings.
|
|
63
95
|
- **JSON Output Mode**: Structured JSON responses with `json_mode: true`. Supported by both models. Warns if "json" word missing from prompt.
|
|
64
96
|
- **Cache-Aware Cost Tracking**: V3.2 API returns `prompt_cache_hit_tokens` and `prompt_cache_miss_tokens`. Cost display now shows cache hit ratio and savings.
|
|
65
97
|
- **CostBreakdown Interface**: `calculateCost()` returns structured `{inputCost, outputCost, totalCost, cacheHitRatio?, cacheSavings?}` instead of flat number.
|
|
@@ -211,6 +243,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
211
243
|
|
|
212
244
|
## Version History
|
|
213
245
|
|
|
246
|
+
- **1.4.0** (2026-03-07): Model-aware pricing, multimodal content types, flexible fallback chain, MCP Registry, 241 tests
|
|
247
|
+
- **1.3.3** (2026-03-07): Streaming fallback tests, session tool_calls fix, configurable circuit breaker, session message limit, 212 tests
|
|
214
248
|
- **1.3.2** (2026-03-06): OpenAI SDK v6, Zod v4, DEFAULT_MODEL config
|
|
215
249
|
- **1.3.1** (2026-03-06): Security fixes, session tool tests, 208 tests
|
|
216
250
|
- **1.3.0** (2026-03-04): Sessions, circuit breaker, model fallback, MCP resources, 198 tests
|
|
@@ -227,7 +261,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
227
261
|
- [GitHub repository](https://github.com/arikusi/deepseek-mcp-server)
|
|
228
262
|
- [Issue tracker](https://github.com/arikusi/deepseek-mcp-server/issues)
|
|
229
263
|
|
|
230
|
-
[Unreleased]: https://github.com/arikusi/deepseek-mcp-server/compare/v1.
|
|
264
|
+
[Unreleased]: https://github.com/arikusi/deepseek-mcp-server/compare/v1.4.0...HEAD
|
|
265
|
+
[1.4.0]: https://github.com/arikusi/deepseek-mcp-server/compare/v1.3.3...v1.4.0
|
|
266
|
+
[1.3.3]: https://github.com/arikusi/deepseek-mcp-server/compare/v1.3.2...v1.3.3
|
|
231
267
|
[1.3.2]: https://github.com/arikusi/deepseek-mcp-server/compare/v1.3.1...v1.3.2
|
|
232
268
|
[1.3.1]: https://github.com/arikusi/deepseek-mcp-server/compare/v1.3.0...v1.3.1
|
|
233
269
|
[1.3.0]: https://github.com/arikusi/deepseek-mcp-server/compare/v1.2.0...v1.3.0
|
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
[](https://www.typescriptlang.org/)
|
|
8
8
|
[](https://github.com/arikusi/deepseek-mcp-server/actions)
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
MCP server for DeepSeek AI models (Chat + Reasoner). Supports multi-turn sessions, model fallback with circuit breaker, function calling, thinking mode, JSON output, multimodal input, and cost tracking.
|
|
11
11
|
|
|
12
12
|
**Compatible with:**
|
|
13
13
|
- Claude Code CLI
|
|
@@ -52,15 +52,16 @@ That's it! Your MCP client can now use DeepSeek models!
|
|
|
52
52
|
- **Multi-Turn Sessions**: Conversation context preserved across requests via `session_id` parameter
|
|
53
53
|
- **Model Fallback & Circuit Breaker**: Automatic fallback between models with circuit breaker protection against cascading failures
|
|
54
54
|
- **MCP Resources**: `deepseek://models`, `deepseek://config`, `deepseek://usage` — query model info, config, and usage stats
|
|
55
|
-
- **Thinking Mode**: Enable
|
|
55
|
+
- **Thinking Mode**: Enable thinking on deepseek-chat with `thinking: {type: "enabled"}`
|
|
56
56
|
- **JSON Output Mode**: Structured JSON responses with `json_mode: true`
|
|
57
57
|
- **Function Calling**: OpenAI-compatible tool use with up to 128 tool definitions
|
|
58
58
|
- **Cache-Aware Cost Tracking**: Automatic cost calculation with cache hit/miss breakdown
|
|
59
59
|
- **Session Management Tool**: List, delete, and clear sessions via `deepseek_sessions` tool
|
|
60
60
|
- **Configurable**: Environment-based configuration with validation
|
|
61
|
-
- **12 Prompt Templates**:
|
|
61
|
+
- **12 Prompt Templates**: Templates for debugging, code review, function calling, and more
|
|
62
62
|
- **Streaming Support**: Real-time response generation
|
|
63
|
-
- **
|
|
63
|
+
- **Multimodal Ready**: Content part types for text + image input (enable with `ENABLE_MULTIMODAL=true`)
|
|
64
|
+
- **Tested**: 241 tests with 90%+ code coverage
|
|
64
65
|
- **Type-Safe**: Full TypeScript implementation
|
|
65
66
|
- **MCP Compatible**: Works with any MCP-compatible CLI (Claude Code, Gemini CLI, etc.)
|
|
66
67
|
|
|
@@ -152,7 +153,7 @@ Chat with DeepSeek AI models with automatic cost tracking and function calling s
|
|
|
152
153
|
- `stream` (optional): Enable streaming mode (default: false)
|
|
153
154
|
- `tools` (optional): Array of tool definitions for function calling (max 128)
|
|
154
155
|
- `tool_choice` (optional): "auto" | "none" | "required" | `{type: "function", function: {name: "..."}}`
|
|
155
|
-
- `thinking` (optional): Enable thinking mode `{type: "enabled"}`
|
|
156
|
+
- `thinking` (optional): Enable thinking mode `{type: "enabled"}`
|
|
156
157
|
- `json_mode` (optional): Enable JSON output mode (supported by both models)
|
|
157
158
|
- `session_id` (optional): Session ID for multi-turn conversations. Previous context is automatically prepended.
|
|
158
159
|
|
|
@@ -244,7 +245,7 @@ When the model decides to call a function, the response includes `tool_calls` wi
|
|
|
244
245
|
}
|
|
245
246
|
```
|
|
246
247
|
|
|
247
|
-
When thinking mode is enabled, `temperature`, `top_p`, `frequency_penalty`, and `presence_penalty` are automatically ignored.
|
|
248
|
+
When thinking mode is enabled, `temperature`, `top_p`, `frequency_penalty`, and `presence_penalty` are automatically ignored.
|
|
248
249
|
|
|
249
250
|
**JSON Output Mode Example:**
|
|
250
251
|
|
|
@@ -311,15 +312,15 @@ When a model fails with a retryable error (429, 503, timeout), the server automa
|
|
|
311
312
|
- `deepseek-reasoner` fails → tries `deepseek-chat`
|
|
312
313
|
|
|
313
314
|
The circuit breaker protects against cascading failures:
|
|
314
|
-
- After
|
|
315
|
-
- After
|
|
315
|
+
- After `CIRCUIT_BREAKER_THRESHOLD` consecutive failures (default: 5), the circuit **opens** (fast-fail mode)
|
|
316
|
+
- After `CIRCUIT_BREAKER_RESET_TIMEOUT` ms (default: 30000), it enters **half-open** state and sends a probe request
|
|
316
317
|
- If the probe succeeds, the circuit **closes** and normal operation resumes
|
|
317
318
|
|
|
318
319
|
Fallback can be disabled with `FALLBACK_ENABLED=false`.
|
|
319
320
|
|
|
320
321
|
## Available Prompts
|
|
321
322
|
|
|
322
|
-
|
|
323
|
+
Prompt templates (12 total):
|
|
323
324
|
|
|
324
325
|
### Core Reasoning
|
|
325
326
|
- **debug_with_reasoning**: Debug code with step-by-step analysis
|
|
@@ -383,6 +384,10 @@ The server is configured via environment variables. All settings except `DEEPSEE
|
|
|
383
384
|
| `SESSION_TTL_MINUTES` | `30` | Session time-to-live in minutes |
|
|
384
385
|
| `MAX_SESSIONS` | `100` | Maximum number of concurrent sessions |
|
|
385
386
|
| `FALLBACK_ENABLED` | `true` | Enable automatic model fallback on errors |
|
|
387
|
+
| `CIRCUIT_BREAKER_THRESHOLD` | `5` | Consecutive failures before circuit opens |
|
|
388
|
+
| `CIRCUIT_BREAKER_RESET_TIMEOUT` | `30000` | Milliseconds before circuit half-opens |
|
|
389
|
+
| `MAX_SESSION_MESSAGES` | `200` | Max messages per session (sliding window) |
|
|
390
|
+
| `ENABLE_MULTIMODAL` | `false` | Enable multimodal (image) input support |
|
|
386
391
|
|
|
387
392
|
**Example with custom config:**
|
|
388
393
|
```bash
|
package/dist/config.d.ts
CHANGED
|
@@ -15,6 +15,10 @@ declare const ConfigSchema: z.ZodObject<{
|
|
|
15
15
|
maxSessions: z.ZodDefault<z.ZodNumber>;
|
|
16
16
|
fallbackEnabled: z.ZodDefault<z.ZodBoolean>;
|
|
17
17
|
defaultModel: z.ZodDefault<z.ZodString>;
|
|
18
|
+
circuitBreakerThreshold: z.ZodDefault<z.ZodNumber>;
|
|
19
|
+
circuitBreakerResetTimeout: z.ZodDefault<z.ZodNumber>;
|
|
20
|
+
maxSessionMessages: z.ZodDefault<z.ZodNumber>;
|
|
21
|
+
enableMultimodal: z.ZodDefault<z.ZodBoolean>;
|
|
18
22
|
}, z.core.$strip>;
|
|
19
23
|
export type Config = z.infer<typeof ConfigSchema>;
|
|
20
24
|
/**
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,QAAA,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;iBAgBhB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAIlD;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAuDnC;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAKlC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAElC"}
|
package/dist/config.js
CHANGED
|
@@ -16,6 +16,10 @@ const ConfigSchema = z.object({
|
|
|
16
16
|
maxSessions: z.number().positive().default(100),
|
|
17
17
|
fallbackEnabled: z.boolean().default(true),
|
|
18
18
|
defaultModel: z.string().default('deepseek-chat'),
|
|
19
|
+
circuitBreakerThreshold: z.number().positive().default(5),
|
|
20
|
+
circuitBreakerResetTimeout: z.number().positive().default(30000),
|
|
21
|
+
maxSessionMessages: z.number().positive().default(200),
|
|
22
|
+
enableMultimodal: z.boolean().default(false),
|
|
19
23
|
});
|
|
20
24
|
let cachedConfig = null;
|
|
21
25
|
/**
|
|
@@ -46,6 +50,16 @@ export function loadConfig() {
|
|
|
46
50
|
: 100,
|
|
47
51
|
fallbackEnabled: process.env.FALLBACK_ENABLED !== 'false',
|
|
48
52
|
defaultModel: process.env.DEFAULT_MODEL || 'deepseek-chat',
|
|
53
|
+
circuitBreakerThreshold: process.env.CIRCUIT_BREAKER_THRESHOLD
|
|
54
|
+
? parseInt(process.env.CIRCUIT_BREAKER_THRESHOLD, 10)
|
|
55
|
+
: 5,
|
|
56
|
+
circuitBreakerResetTimeout: process.env.CIRCUIT_BREAKER_RESET_TIMEOUT
|
|
57
|
+
? parseInt(process.env.CIRCUIT_BREAKER_RESET_TIMEOUT, 10)
|
|
58
|
+
: 30000,
|
|
59
|
+
maxSessionMessages: process.env.MAX_SESSION_MESSAGES
|
|
60
|
+
? parseInt(process.env.MAX_SESSION_MESSAGES, 10)
|
|
61
|
+
: 200,
|
|
62
|
+
enableMultimodal: process.env.ENABLE_MULTIMODAL === 'true',
|
|
49
63
|
};
|
|
50
64
|
const result = ConfigSchema.safeParse(raw);
|
|
51
65
|
if (!result.success) {
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,8BAA8B,CAAC;IACzD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC;IAC7D,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACvC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACpD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9C,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;IACxD,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACpD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IAC/C,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC1C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/cost.d.ts
CHANGED
|
@@ -2,17 +2,28 @@
|
|
|
2
2
|
* Cost Calculation Module
|
|
3
3
|
* Handles pricing and cost formatting for DeepSeek API requests
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* -
|
|
7
|
-
* -
|
|
8
|
-
* - Output: $0.42/1M tokens
|
|
5
|
+
* Model-aware pricing per 1M tokens (USD):
|
|
6
|
+
* - deepseek-chat / deepseek-reasoner (V3.2): cache hit $0.028, cache miss $0.28, output $0.42
|
|
7
|
+
* - New models can be added to MODEL_PRICING as they become available
|
|
9
8
|
*/
|
|
10
|
-
/**
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
9
|
+
/**
|
|
10
|
+
* Pricing structure for a model
|
|
11
|
+
*/
|
|
12
|
+
export interface ModelPricing {
|
|
13
|
+
cache_hit: number;
|
|
14
|
+
cache_miss: number;
|
|
15
|
+
output: number;
|
|
16
|
+
}
|
|
17
|
+
/** Default pricing (V3.2 unified) — used for unknown models */
|
|
18
|
+
export declare const DEFAULT_PRICING: ModelPricing;
|
|
19
|
+
/** Backward-compatible alias */
|
|
20
|
+
export declare const PRICING: ModelPricing;
|
|
21
|
+
/** Per-model pricing map. Add new models here as they become available. */
|
|
22
|
+
export declare const MODEL_PRICING: Record<string, ModelPricing>;
|
|
23
|
+
/**
|
|
24
|
+
* Get pricing for a specific model. Falls back to DEFAULT_PRICING for unknown models.
|
|
25
|
+
*/
|
|
26
|
+
export declare function getPricing(model?: string): ModelPricing;
|
|
16
27
|
/**
|
|
17
28
|
* Cost breakdown for a request
|
|
18
29
|
*/
|
|
@@ -33,7 +44,7 @@ export declare function calculateCost(usage: {
|
|
|
33
44
|
completion_tokens: number;
|
|
34
45
|
prompt_cache_hit_tokens?: number;
|
|
35
46
|
prompt_cache_miss_tokens?: number;
|
|
36
|
-
}): CostBreakdown;
|
|
47
|
+
}, model?: string): CostBreakdown;
|
|
37
48
|
/**
|
|
38
49
|
* Format cost as readable USD string with optional cache savings info
|
|
39
50
|
*/
|
package/dist/cost.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cost.d.ts","sourceRoot":"","sources":["../src/cost.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"cost.d.ts","sourceRoot":"","sources":["../src/cost.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,+DAA+D;AAC/D,eAAO,MAAM,eAAe,EAAE,YAI7B,CAAC;AAEF,gCAAgC;AAChC,eAAO,MAAM,OAAO,cAAkB,CAAC;AAEvC,2EAA2E;AAC3E,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAGtD,CAAC;AAEF;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,YAAY,CAKvD;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,aAAa,CA8ChC;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,aAAa,GAAG,MAAM,CAqB3D"}
|
package/dist/cost.js
CHANGED
|
@@ -2,45 +2,61 @@
|
|
|
2
2
|
* Cost Calculation Module
|
|
3
3
|
* Handles pricing and cost formatting for DeepSeek API requests
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* -
|
|
7
|
-
* -
|
|
8
|
-
* - Output: $0.42/1M tokens
|
|
5
|
+
* Model-aware pricing per 1M tokens (USD):
|
|
6
|
+
* - deepseek-chat / deepseek-reasoner (V3.2): cache hit $0.028, cache miss $0.28, output $0.42
|
|
7
|
+
* - New models can be added to MODEL_PRICING as they become available
|
|
9
8
|
*/
|
|
10
|
-
/**
|
|
11
|
-
export const
|
|
9
|
+
/** Default pricing (V3.2 unified) — used for unknown models */
|
|
10
|
+
export const DEFAULT_PRICING = {
|
|
12
11
|
cache_hit: 0.028,
|
|
13
12
|
cache_miss: 0.28,
|
|
14
13
|
output: 0.42,
|
|
15
14
|
};
|
|
15
|
+
/** Backward-compatible alias */
|
|
16
|
+
export const PRICING = DEFAULT_PRICING;
|
|
17
|
+
/** Per-model pricing map. Add new models here as they become available. */
|
|
18
|
+
export const MODEL_PRICING = {
|
|
19
|
+
'deepseek-chat': { cache_hit: 0.028, cache_miss: 0.28, output: 0.42 },
|
|
20
|
+
'deepseek-reasoner': { cache_hit: 0.028, cache_miss: 0.28, output: 0.42 },
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Get pricing for a specific model. Falls back to DEFAULT_PRICING for unknown models.
|
|
24
|
+
*/
|
|
25
|
+
export function getPricing(model) {
|
|
26
|
+
if (model && model in MODEL_PRICING) {
|
|
27
|
+
return MODEL_PRICING[model];
|
|
28
|
+
}
|
|
29
|
+
return DEFAULT_PRICING;
|
|
30
|
+
}
|
|
16
31
|
/**
|
|
17
32
|
* Calculate cost for a request based on token usage.
|
|
18
33
|
* Supports V3.2 cache hit/miss pricing. If cache fields are absent,
|
|
19
34
|
* treats all input tokens as cache miss (backward compatible).
|
|
20
35
|
*/
|
|
21
|
-
export function calculateCost(usage) {
|
|
36
|
+
export function calculateCost(usage, model) {
|
|
22
37
|
const { prompt_tokens, completion_tokens, prompt_cache_hit_tokens, prompt_cache_miss_tokens, } = usage;
|
|
38
|
+
const pricing = getPricing(model);
|
|
23
39
|
let inputCost;
|
|
24
40
|
let cacheHitRatio;
|
|
25
41
|
let cacheSavings;
|
|
26
42
|
if (prompt_cache_hit_tokens !== undefined &&
|
|
27
43
|
prompt_cache_miss_tokens !== undefined) {
|
|
28
|
-
//
|
|
29
|
-
const hitCost = (prompt_cache_hit_tokens / 1_000_000) *
|
|
30
|
-
const missCost = (prompt_cache_miss_tokens / 1_000_000) *
|
|
44
|
+
// Cache-aware pricing
|
|
45
|
+
const hitCost = (prompt_cache_hit_tokens / 1_000_000) * pricing.cache_hit;
|
|
46
|
+
const missCost = (prompt_cache_miss_tokens / 1_000_000) * pricing.cache_miss;
|
|
31
47
|
inputCost = hitCost + missCost;
|
|
32
48
|
if (prompt_tokens > 0) {
|
|
33
49
|
cacheHitRatio = prompt_cache_hit_tokens / prompt_tokens;
|
|
34
50
|
}
|
|
35
51
|
// Savings = what all-miss would cost minus actual cost
|
|
36
|
-
const allMissCost = (prompt_tokens / 1_000_000) *
|
|
52
|
+
const allMissCost = (prompt_tokens / 1_000_000) * pricing.cache_miss;
|
|
37
53
|
cacheSavings = allMissCost - inputCost;
|
|
38
54
|
}
|
|
39
55
|
else {
|
|
40
56
|
// Backward compatible: treat all input as cache miss
|
|
41
|
-
inputCost = (prompt_tokens / 1_000_000) *
|
|
57
|
+
inputCost = (prompt_tokens / 1_000_000) * pricing.cache_miss;
|
|
42
58
|
}
|
|
43
|
-
const outputCost = (completion_tokens / 1_000_000) *
|
|
59
|
+
const outputCost = (completion_tokens / 1_000_000) * pricing.output;
|
|
44
60
|
return {
|
|
45
61
|
inputCost,
|
|
46
62
|
outputCost,
|
package/dist/cost.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cost.js","sourceRoot":"","sources":["../src/cost.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"cost.js","sourceRoot":"","sources":["../src/cost.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deepseek-client.d.ts","sourceRoot":"","sources":["../src/deepseek-client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"deepseek-client.d.ts","sourceRoot":"","sources":["../src/deepseek-client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,EAGtB,YAAY,EAEb,MAAM,YAAY,CAAC;AAqBpB,oDAAoD;AACpD,MAAM,WAAW,kCAAmC,SAAQ,sBAAsB;IAChF,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAwBD,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,cAAc,CAAiB;;IAkBvC;;OAEG;IACH,uBAAuB;IAIvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAyD1B;;OAEG;IACH,OAAO,CAAC,SAAS;IASjB;;OAEG;IACH,OAAO,CAAC,aAAa;IAoCrB;;OAEG;IACG,oBAAoB,CACxB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,kCAAkC,CAAC;IAqD9C;;;OAGG;IACG,6BAA6B,CACjC,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,kCAAkC,CAAC;IAyC9C;;OAEG;YACW,cAAc;IA4F5B;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;CAazC"}
|
package/dist/deepseek-client.js
CHANGED
|
@@ -15,10 +15,14 @@ const THINKING_INCOMPATIBLE_PARAMS = [
|
|
|
15
15
|
'frequency_penalty',
|
|
16
16
|
'presence_penalty',
|
|
17
17
|
];
|
|
18
|
-
/**
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Fallback order per model. Each model lists fallback candidates in priority order.
|
|
20
|
+
* When a model fails with a retryable error, the first available fallback is tried.
|
|
21
|
+
* Add new models here as they become available in the API.
|
|
22
|
+
*/
|
|
23
|
+
const FALLBACK_ORDER = {
|
|
24
|
+
'deepseek-chat': ['deepseek-reasoner'],
|
|
25
|
+
'deepseek-reasoner': ['deepseek-chat'],
|
|
22
26
|
};
|
|
23
27
|
/**
|
|
24
28
|
* Check if an error is retryable / should trigger fallback
|
|
@@ -59,7 +63,7 @@ export class DeepSeekClient {
|
|
|
59
63
|
timeout: config.requestTimeout,
|
|
60
64
|
maxRetries: config.maxRetries,
|
|
61
65
|
});
|
|
62
|
-
this.circuitBreaker = new CircuitBreaker(
|
|
66
|
+
this.circuitBreaker = new CircuitBreaker(config.circuitBreakerThreshold, config.circuitBreakerResetTimeout);
|
|
63
67
|
}
|
|
64
68
|
/**
|
|
65
69
|
* Get circuit breaker status
|
|
@@ -179,9 +183,10 @@ export class DeepSeekClient {
|
|
|
179
183
|
return result;
|
|
180
184
|
}
|
|
181
185
|
catch (error) {
|
|
182
|
-
// Try fallback if enabled
|
|
183
|
-
|
|
184
|
-
|
|
186
|
+
// Try fallback if enabled, error is retryable, and fallback candidates exist
|
|
187
|
+
const fallbackCandidates = FALLBACK_ORDER[params.model];
|
|
188
|
+
if (config.fallbackEnabled && isRetryableError(error) && fallbackCandidates?.length) {
|
|
189
|
+
const fallbackModel = fallbackCandidates[0];
|
|
185
190
|
const reason = getErrorMessage(error);
|
|
186
191
|
console.error(`[DeepSeek MCP] Primary model ${params.model} failed (${reason}), falling back to ${fallbackModel}`);
|
|
187
192
|
try {
|
|
@@ -222,8 +227,9 @@ export class DeepSeekClient {
|
|
|
222
227
|
return result;
|
|
223
228
|
}
|
|
224
229
|
catch (error) {
|
|
225
|
-
|
|
226
|
-
|
|
230
|
+
const fallbackCandidates = FALLBACK_ORDER[params.model];
|
|
231
|
+
if (config.fallbackEnabled && isRetryableError(error) && fallbackCandidates?.length) {
|
|
232
|
+
const fallbackModel = fallbackCandidates[0];
|
|
227
233
|
const reason = getErrorMessage(error);
|
|
228
234
|
console.error(`[DeepSeek MCP] Streaming primary ${params.model} failed (${reason}), falling back to ${fallbackModel}`);
|
|
229
235
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deepseek-client.js","sourceRoot":"","sources":["../src/deepseek-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deepseek-client.js","sourceRoot":"","sources":["../src/deepseek-client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EACL,QAAQ,EACR,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAStD,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElE,0DAA0D;AAC1D,MAAM,4BAA4B,GAAG;IACnC,aAAa;IACb,OAAO;IACP,mBAAmB;IACnB,kBAAkB;CACV,CAAC;AAEX;;;;GAIG;AACH,MAAM,cAAc,GAA6B;IAC/C,eAAe,EAAE,CAAC,mBAAmB,CAAC;IACtC,mBAAmB,EAAE,CAAC,eAAe,CAAC;CACvC,CAAC;AAOF;;GAEG;AACH,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,KAAK,YAAY,uBAAuB;QAAE,OAAO,IAAI,CAAC;IAC1D,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACxC,sCAAsC;QACtC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC;YAAE,OAAO,IAAI,CAAC;QACnE,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5E,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC;YAAE,OAAO,IAAI,CAAC;QACpE,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,OAAO,IAAI,CAAC;QACtE,IAAI,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC;YAAE,OAAO,IAAI,CAAC;IAC9E,CAAC;IACD,qCAAqC;IACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;QACrE,MAAM,MAAM,GAAI,KAA4B,CAAC,MAAM,CAAC;QACpD,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;IACtE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,OAAO,cAAc;IACjB,MAAM,CAAS;IACf,cAAc,CAAiB;IAEvC;QACE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAE3B,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE,MAAM,CAAC,cAAc;YAC9B,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CACtC,MAAM,CAAC,uBAAuB,EAC9B,MAAM,CAAC,0BAA0B,CAClC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,uBAAuB;QACrB,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;IACzC,CAAC;IAED;;OAEG;IACK,kBAAkB,CACxB,MAA4B,EAC5B,MAAe;QAEf,MAAM,iBAAiB,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,KAAK,SAAS,CAAC;QAE9D,0DAA0D;QAC1D,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAa,EAAE,CAAC;YAC9B,KAAK,MAAM,GAAG,IAAI,4BAA4B,EAAE,CAAC;gBAC/C,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;oBAC9B,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;YACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,OAAO,CAAC,KAAK,CACX,+EAA+E,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACrG,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAiF;YAClG,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,QAAQ,EAAE,MAAM,CAAC,QAA+C;YAChE,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,IAAI,GAAG,CAAC;YACxE,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK;YACnD,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB;YAC3E,gBAAgB,EAAE,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB;YACzE,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM;SACP,CAAC;QAEF,2DAA2D;QAC3D,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,aAAa,CAAC,UAAU,GAAG;gBACzB,GAAG,aAAa,CAAC,UAAU;gBAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B,CAAC;QACJ,CAAC;QAED,qCAAqC;QACrC,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAC3B,aAAa,CAAC,eAAe,GAAG,MAAM,CAAC,eAAuE,CAAC;QACjH,CAAC;QAED,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YACzB,aAAa,CAAC,KAAK,GAAG,MAAM,CAAC,KAAoC,CAAC;QACpE,CAAC;QACD,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACrC,aAAa,CAAC,WAAW;gBACvB,MAAM,CAAC,WAAoD,CAAC;QAChE,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,KAAc,EAAE,OAAe;QAC/C,IAAI,KAAK,YAAY,QAAQ;YAAE,MAAM,KAAK,CAAC;QAC3C,IAAI,KAAK,YAAY,sBAAsB;YAAE,MAAM,KAAK,CAAC;QACzD,IAAI,KAAK,YAAY,uBAAuB;YAAE,MAAM,KAAK,CAAC;QAC1D,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QACzD,MAAM,IAAI,QAAQ,CAAC,GAAG,OAAO,KAAK,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,QAA6B;QACjD,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,QAAQ,CAAC,+BAA+B,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC;YAC3D,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB;YAClC,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,UAAU,GAA2B,MAAM,CAAC,OAAO,CAAC,UAAU;YAClE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACb,EAAE,EAAE,EAAE,CAAC,EAAE;YACT,IAAI,EAAE,UAAmB;YACzB,QAAQ,EAAE;gBACR,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI;gBACtB,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS;aACjC;SACF,CAAC,CAAC,CAAC;QAEN,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE;YACrC,iBAAiB;YACjB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,KAAK,EAAE;gBACL,aAAa,EAAE,QAAQ,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC;gBACjD,iBAAiB,EAAE,QAAQ,CAAC,KAAK,EAAE,iBAAiB,IAAI,CAAC;gBACzD,YAAY,EAAE,QAAQ,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC;gBAC/C,uBAAuB,EAAE,QAAQ,CAAC,KAAK,EAAE,uBAAuB;gBAChE,wBAAwB,EAAE,QAAQ,CAAC,KAAK,EAAE,wBAAwB;aACnE;YACD,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,MAAM;YAC7C,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;SACxD,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB,CACxB,MAA4B;QAE5B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAE3B,IAAI,CAAC;YACH,0CAA0C;YAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;gBAC1D,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC7D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC7E,OAAO,IAAI,CAAC,aAAa,CAAC,WAA6C,CAAC,CAAC;YAC3E,CAAC,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,6EAA6E;YAC7E,MAAM,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxD,IAAI,MAAM,CAAC,eAAe,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,kBAAkB,EAAE,MAAM,EAAE,CAAC;gBACpF,MAAM,aAAa,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;gBAC5C,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;gBACtC,OAAO,CAAC,KAAK,CACX,gCAAgC,MAAM,CAAC,KAAK,YAAY,MAAM,sBAAsB,aAAa,EAAE,CACpG,CAAC;gBAEF,IAAI,CAAC;oBACH,MAAM,cAAc,GAAG,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,aAA8C,EAAE,CAAC;oBAC5F,+DAA+D;oBAC/D,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;oBACrE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;oBAC7E,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,WAA6C,CAAC,CAAC;oBACjF,OAAO;wBACL,GAAG,MAAM;wBACT,QAAQ,EAAE;4BACR,aAAa,EAAE,MAAM,CAAC,KAAK;4BAC3B,aAAa;4BACb,MAAM;yBACP;qBACF,CAAC;gBACJ,CAAC;gBAAC,OAAO,aAAsB,EAAE,CAAC;oBAChC,OAAO,CAAC,KAAK,CACX,iCAAiC,aAAa,eAAe,EAC7D,aAAa,CACd,CAAC;oBACF,MAAM,IAAI,sBAAsB,CAC9B,+BAA+B,MAAM,CAAC,KAAK,MAAM,MAAM,eAAe,aAAa,MAAM,eAAe,CAAC,aAAa,CAAC,EAAE,EACzH,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAC9B,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,qCAAqC;YACrC,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;YAC5C,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,6BAA6B,CACjC,MAA4B;QAE5B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAE3B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;gBAC1D,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxD,IAAI,MAAM,CAAC,eAAe,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,kBAAkB,EAAE,MAAM,EAAE,CAAC;gBACpF,MAAM,aAAa,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;gBAC5C,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;gBACtC,OAAO,CAAC,KAAK,CACX,oCAAoC,MAAM,CAAC,KAAK,YAAY,MAAM,sBAAsB,aAAa,EAAE,CACxG,CAAC;gBAEF,IAAI,CAAC;oBACH,MAAM,cAAc,GAAG,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,aAA8C,EAAE,CAAC;oBAC5F,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;oBACzD,OAAO;wBACL,GAAG,MAAM;wBACT,QAAQ,EAAE;4BACR,aAAa,EAAE,MAAM,CAAC,KAAK;4BAC3B,aAAa;4BACb,MAAM;yBACP;qBACF,CAAC;gBACJ,CAAC;gBAAC,OAAO,aAAsB,EAAE,CAAC;oBAChC,MAAM,IAAI,sBAAsB,CAC9B,2CAA2C,MAAM,CAAC,KAAK,MAAM,MAAM,eAAe,aAAa,MAAM,eAAe,CAAC,aAAa,CAAC,EAAE,EACrI,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAC9B,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YACtD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CAAC,MAA4B;QACvD,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAExE,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,gBAAgB,GAAG,EAAE,CAAC;QAC1B,IAAI,SAAS,GAAW,MAAM,CAAC,KAAK,CAAC;QACrC,IAAI,YAAY,GAAG,MAAM,CAAC;QAC1B,IAAI,KAAK,GAAoC;YAC3C,aAAa,EAAE,CAAC;YAChB,iBAAiB,EAAE,CAAC;YACpB,YAAY,EAAE,CAAC;SAChB,CAAC;QAEF,MAAM,YAAY,GAAG,IAAI,GAAG,EAOzB,CAAC;QAEJ,IAAI,KAAK,EAAE,MAAM,QAAQ,IAAI,MAAgC,EAAE,CAAC;YAC9D,MAAM,KAAK,GAAG,QAA+B,CAAC;YAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,CAAC,MAAM;gBAAE,SAAS;YAEtB,IAAI,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;gBAC1B,WAAW,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;YACtC,CAAC;YAED,IAAI,MAAM,CAAC,KAAK,IAAI,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtD,gBAAgB,IAAI,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC;YACrD,CAAC;YAED,IAAI,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC;gBAC7B,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;oBACzC,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;oBAC5C,IAAI,QAAQ,EAAE,CAAC;wBACb,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI;4BAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;wBAClE,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS;4BACxB,QAAQ,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;oBACzD,CAAC;yBAAM,CAAC;wBACN,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE;4BACzB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE;4BACf,IAAI,EAAE,UAAU;4BAChB,QAAQ,EAAE;gCACR,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE;gCAC7B,SAAS,EAAE,EAAE,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE;6BACxC;yBACF,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;gBACzB,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC;YACtC,CAAC;YAED,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChB,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;YAC1B,CAAC;YAED,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChB,KAAK,GAAG;oBACN,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa;oBACxC,iBAAiB,EAAE,KAAK,CAAC,KAAK,CAAC,iBAAiB;oBAChD,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY;oBACtC,uBAAuB,EAAE,KAAK,CAAC,KAAK,CAAC,uBAAuB;oBAC5D,wBAAwB,EAAE,KAAK,CAAC,KAAK,CAAC,wBAAwB;iBAC/D,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GACb,YAAY,CAAC,IAAI,GAAG,CAAC;YACnB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;iBAC/B,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;iBACzB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YACxB,CAAC,CAAC,SAAS,CAAC;QAEhB,OAAO;YACL,OAAO,EAAE,WAAW;YACpB,iBAAiB,EAAE,gBAAgB,IAAI,SAAS;YAChD,KAAK,EAAE,SAAS;YAChB,KAAK;YACL,aAAa,EAAE,YAAY;YAC3B,UAAU,EAAE,SAAS;SACtB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc;QAClB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC;gBAC/C,KAAK,EAAE,eAAe;gBACtB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBAC3C,UAAU,EAAE,EAAE;aACf,CAAC,CAAC;YACH,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;YAChD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF"}
|
package/dist/index.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Model Context Protocol server for DeepSeek API integration
|
|
5
5
|
*/
|
|
6
6
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
7
|
-
import { loadConfig } from './config.js';
|
|
7
|
+
import { loadConfig, getConfig } from './config.js';
|
|
8
8
|
import { ConfigError } from './errors.js';
|
|
9
9
|
import { DeepSeekClient } from './deepseek-client.js';
|
|
10
10
|
import { createServer, version } from './server.js';
|
|
@@ -25,7 +25,7 @@ async function main() {
|
|
|
25
25
|
}
|
|
26
26
|
process.exit(1);
|
|
27
27
|
}
|
|
28
|
-
const config =
|
|
28
|
+
const config = getConfig();
|
|
29
29
|
const deepseek = new DeepSeekClient();
|
|
30
30
|
const server = createServer();
|
|
31
31
|
// Register tools, prompts, and resources
|
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;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +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,
|
|
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,CAyC9D"}
|
package/dist/resources/config.js
CHANGED
|
@@ -30,6 +30,10 @@ export function registerConfigResource(server) {
|
|
|
30
30
|
fallbackEnabled: config.fallbackEnabled,
|
|
31
31
|
defaultModel: config.defaultModel,
|
|
32
32
|
skipConnectionTest: config.skipConnectionTest,
|
|
33
|
+
circuitBreakerThreshold: config.circuitBreakerThreshold,
|
|
34
|
+
circuitBreakerResetTimeout: config.circuitBreakerResetTimeout,
|
|
35
|
+
maxSessionMessages: config.maxSessionMessages,
|
|
36
|
+
enableMultimodal: config.enableMultimodal,
|
|
33
37
|
};
|
|
34
38
|
return {
|
|
35
39
|
contents: [
|
|
@@ -1 +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,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;
|
|
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,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;YAC7C,uBAAuB,EAAE,MAAM,CAAC,uBAAuB;YACvD,0BAA0B,EAAE,MAAM,CAAC,0BAA0B;YAC7D,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;YAC7C,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;SAC1C,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"}
|
|
@@ -1 +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;
|
|
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;AAoDzE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAoB9D"}
|
package/dist/resources/models.js
CHANGED
|
@@ -2,48 +2,53 @@
|
|
|
2
2
|
* Resource: deepseek://models
|
|
3
3
|
* Static resource listing available DeepSeek models with capabilities and pricing
|
|
4
4
|
*/
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
5
|
+
import { getPricing } from '../cost.js';
|
|
6
|
+
function buildModelsData() {
|
|
7
|
+
const chatPricing = getPricing('deepseek-chat');
|
|
8
|
+
const reasonerPricing = getPricing('deepseek-reasoner');
|
|
9
|
+
return {
|
|
10
|
+
models: [
|
|
11
|
+
{
|
|
12
|
+
id: 'deepseek-chat',
|
|
13
|
+
name: 'DeepSeek Chat (V3.2)',
|
|
14
|
+
description: 'General-purpose chat model with function calling support',
|
|
15
|
+
context_length: 131072,
|
|
16
|
+
max_output_tokens: 8192,
|
|
17
|
+
capabilities: [
|
|
18
|
+
'chat',
|
|
19
|
+
'function_calling',
|
|
20
|
+
'json_mode',
|
|
21
|
+
'thinking_mode',
|
|
22
|
+
],
|
|
23
|
+
pricing_per_million_tokens: {
|
|
24
|
+
input_cache_hit: chatPricing.cache_hit,
|
|
25
|
+
input_cache_miss: chatPricing.cache_miss,
|
|
26
|
+
output: chatPricing.output,
|
|
27
|
+
},
|
|
24
28
|
},
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
29
|
+
{
|
|
30
|
+
id: 'deepseek-reasoner',
|
|
31
|
+
name: 'DeepSeek Reasoner (V3.2)',
|
|
32
|
+
description: 'Advanced reasoning model with chain-of-thought explanations',
|
|
33
|
+
context_length: 131072,
|
|
34
|
+
max_output_tokens: 65536,
|
|
35
|
+
capabilities: [
|
|
36
|
+
'chat',
|
|
37
|
+
'reasoning',
|
|
38
|
+
'chain_of_thought',
|
|
39
|
+
'json_mode',
|
|
40
|
+
'thinking_mode',
|
|
41
|
+
],
|
|
42
|
+
pricing_per_million_tokens: {
|
|
43
|
+
input_cache_hit: reasonerPricing.cache_hit,
|
|
44
|
+
input_cache_miss: reasonerPricing.cache_miss,
|
|
45
|
+
output: reasonerPricing.output,
|
|
46
|
+
},
|
|
43
47
|
},
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
};
|
|
48
|
+
// New models will be added here when officially available in the API
|
|
49
|
+
],
|
|
50
|
+
};
|
|
51
|
+
}
|
|
47
52
|
export function registerModelsResource(server) {
|
|
48
53
|
server.registerResource('models', 'deepseek://models', {
|
|
49
54
|
title: 'DeepSeek Models',
|
|
@@ -54,7 +59,7 @@ export function registerModelsResource(server) {
|
|
|
54
59
|
{
|
|
55
60
|
uri: uri.href,
|
|
56
61
|
mimeType: 'application/json',
|
|
57
|
-
text: JSON.stringify(
|
|
62
|
+
text: JSON.stringify(buildModelsData(), null, 2),
|
|
58
63
|
},
|
|
59
64
|
],
|
|
60
65
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/resources/models.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/resources/models.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,SAAS,eAAe;IACtB,MAAM,WAAW,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAChD,MAAM,eAAe,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAExD,OAAO;QACL,MAAM,EAAE;YACN;gBACE,EAAE,EAAE,eAAe;gBACnB,IAAI,EAAE,sBAAsB;gBAC5B,WAAW,EAAE,0DAA0D;gBACvE,cAAc,EAAE,MAAM;gBACtB,iBAAiB,EAAE,IAAI;gBACvB,YAAY,EAAE;oBACZ,MAAM;oBACN,kBAAkB;oBAClB,WAAW;oBACX,eAAe;iBAChB;gBACD,0BAA0B,EAAE;oBAC1B,eAAe,EAAE,WAAW,CAAC,SAAS;oBACtC,gBAAgB,EAAE,WAAW,CAAC,UAAU;oBACxC,MAAM,EAAE,WAAW,CAAC,MAAM;iBAC3B;aACF;YACD;gBACE,EAAE,EAAE,mBAAmB;gBACvB,IAAI,EAAE,0BAA0B;gBAChC,WAAW,EACT,6DAA6D;gBAC/D,cAAc,EAAE,MAAM;gBACtB,iBAAiB,EAAE,KAAK;gBACxB,YAAY,EAAE;oBACZ,MAAM;oBACN,WAAW;oBACX,kBAAkB;oBAClB,WAAW;oBACX,eAAe;iBAChB;gBACD,0BAA0B,EAAE;oBAC1B,eAAe,EAAE,eAAe,CAAC,SAAS;oBAC1C,gBAAgB,EAAE,eAAe,CAAC,UAAU;oBAC5C,MAAM,EAAE,eAAe,CAAC,MAAM;iBAC/B;aACF;YACD,qEAAqE;SACtE;KACF,CAAC;AACJ,CAAC;AAED,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,eAAe,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;aACjD;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC"}
|
package/dist/schemas.d.ts
CHANGED
|
@@ -3,6 +3,49 @@
|
|
|
3
3
|
* Input validation schemas for DeepSeek MCP Server
|
|
4
4
|
*/
|
|
5
5
|
import { z } from 'zod';
|
|
6
|
+
export declare const TextContentPartSchema: z.ZodObject<{
|
|
7
|
+
type: z.ZodLiteral<"text">;
|
|
8
|
+
text: z.ZodString;
|
|
9
|
+
}, z.core.$strip>;
|
|
10
|
+
export declare const ImageContentPartSchema: z.ZodObject<{
|
|
11
|
+
type: z.ZodLiteral<"image_url">;
|
|
12
|
+
image_url: z.ZodObject<{
|
|
13
|
+
url: z.ZodString;
|
|
14
|
+
detail: z.ZodOptional<z.ZodEnum<{
|
|
15
|
+
auto: "auto";
|
|
16
|
+
low: "low";
|
|
17
|
+
high: "high";
|
|
18
|
+
}>>;
|
|
19
|
+
}, z.core.$strip>;
|
|
20
|
+
}, z.core.$strip>;
|
|
21
|
+
export declare const ContentPartSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
22
|
+
type: z.ZodLiteral<"text">;
|
|
23
|
+
text: z.ZodString;
|
|
24
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
25
|
+
type: z.ZodLiteral<"image_url">;
|
|
26
|
+
image_url: z.ZodObject<{
|
|
27
|
+
url: z.ZodString;
|
|
28
|
+
detail: z.ZodOptional<z.ZodEnum<{
|
|
29
|
+
auto: "auto";
|
|
30
|
+
low: "low";
|
|
31
|
+
high: "high";
|
|
32
|
+
}>>;
|
|
33
|
+
}, z.core.$strip>;
|
|
34
|
+
}, z.core.$strip>], "type">;
|
|
35
|
+
export declare const ContentSchema: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
36
|
+
type: z.ZodLiteral<"text">;
|
|
37
|
+
text: z.ZodString;
|
|
38
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
39
|
+
type: z.ZodLiteral<"image_url">;
|
|
40
|
+
image_url: z.ZodObject<{
|
|
41
|
+
url: z.ZodString;
|
|
42
|
+
detail: z.ZodOptional<z.ZodEnum<{
|
|
43
|
+
auto: "auto";
|
|
44
|
+
low: "low";
|
|
45
|
+
high: "high";
|
|
46
|
+
}>>;
|
|
47
|
+
}, z.core.$strip>;
|
|
48
|
+
}, z.core.$strip>], "type">>]>;
|
|
6
49
|
export declare const MessageSchema: z.ZodObject<{
|
|
7
50
|
role: z.ZodEnum<{
|
|
8
51
|
system: "system";
|
|
@@ -73,7 +116,20 @@ export declare const ExtendedMessageSchema: z.ZodObject<{
|
|
|
73
116
|
assistant: "assistant";
|
|
74
117
|
tool: "tool";
|
|
75
118
|
}>;
|
|
76
|
-
content: z.ZodString
|
|
119
|
+
content: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
120
|
+
type: z.ZodLiteral<"text">;
|
|
121
|
+
text: z.ZodString;
|
|
122
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
123
|
+
type: z.ZodLiteral<"image_url">;
|
|
124
|
+
image_url: z.ZodObject<{
|
|
125
|
+
url: z.ZodString;
|
|
126
|
+
detail: z.ZodOptional<z.ZodEnum<{
|
|
127
|
+
auto: "auto";
|
|
128
|
+
low: "low";
|
|
129
|
+
high: "high";
|
|
130
|
+
}>>;
|
|
131
|
+
}, z.core.$strip>;
|
|
132
|
+
}, z.core.$strip>], "type">>]>;
|
|
77
133
|
tool_call_id: z.ZodOptional<z.ZodString>;
|
|
78
134
|
}, z.core.$strip>;
|
|
79
135
|
export declare const ChatInputWithToolsSchema: z.ZodObject<{
|
|
@@ -84,7 +140,20 @@ export declare const ChatInputWithToolsSchema: z.ZodObject<{
|
|
|
84
140
|
assistant: "assistant";
|
|
85
141
|
tool: "tool";
|
|
86
142
|
}>;
|
|
87
|
-
content: z.ZodString
|
|
143
|
+
content: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
144
|
+
type: z.ZodLiteral<"text">;
|
|
145
|
+
text: z.ZodString;
|
|
146
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
147
|
+
type: z.ZodLiteral<"image_url">;
|
|
148
|
+
image_url: z.ZodObject<{
|
|
149
|
+
url: z.ZodString;
|
|
150
|
+
detail: z.ZodOptional<z.ZodEnum<{
|
|
151
|
+
auto: "auto";
|
|
152
|
+
low: "low";
|
|
153
|
+
high: "high";
|
|
154
|
+
}>>;
|
|
155
|
+
}, z.core.$strip>;
|
|
156
|
+
}, z.core.$strip>], "type">>]>;
|
|
88
157
|
tool_call_id: z.ZodOptional<z.ZodString>;
|
|
89
158
|
}, z.core.$strip>>;
|
|
90
159
|
model: z.ZodDefault<z.ZodEnum<{
|
package/dist/schemas.d.ts.map
CHANGED
|
@@ -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;;;;;;;iBAGxB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;kBAEd,CAAC;AAEd,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;iBAU1B,CAAC;AAIH,eAAO,MAAM,wBAAwB;;;;;iBAKnC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;iBAG/B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;mBAQ3B,CAAC;AAEH,eAAO,MAAM,qBAAqB
|
|
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,qBAAqB;;;iBAGhC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;iBAMjC,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;2BAG5B,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;8BAGxB,CAAC;AAIH,eAAO,MAAM,aAAa;;;;;;;iBAGxB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;kBAEd,CAAC;AAEd,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;iBAU1B,CAAC;AAIH,eAAO,MAAM,wBAAwB;;;;;iBAKnC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;iBAG/B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;mBAQ3B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;iBAIhC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAanC,CAAC;AAIH,eAAO,MAAM,mBAAmB;;;;;;;iBAG9B,CAAC"}
|
package/dist/schemas.js
CHANGED
|
@@ -3,6 +3,26 @@
|
|
|
3
3
|
* Input validation schemas for DeepSeek MCP Server
|
|
4
4
|
*/
|
|
5
5
|
import { z } from 'zod';
|
|
6
|
+
// ─── Multimodal Content Schemas ─────────────────────────────────
|
|
7
|
+
export const TextContentPartSchema = z.object({
|
|
8
|
+
type: z.literal('text'),
|
|
9
|
+
text: z.string(),
|
|
10
|
+
});
|
|
11
|
+
export const ImageContentPartSchema = z.object({
|
|
12
|
+
type: z.literal('image_url'),
|
|
13
|
+
image_url: z.object({
|
|
14
|
+
url: z.string(),
|
|
15
|
+
detail: z.enum(['auto', 'low', 'high']).optional(),
|
|
16
|
+
}),
|
|
17
|
+
});
|
|
18
|
+
export const ContentPartSchema = z.discriminatedUnion('type', [
|
|
19
|
+
TextContentPartSchema,
|
|
20
|
+
ImageContentPartSchema,
|
|
21
|
+
]);
|
|
22
|
+
export const ContentSchema = z.union([
|
|
23
|
+
z.string(),
|
|
24
|
+
z.array(ContentPartSchema).min(1),
|
|
25
|
+
]);
|
|
6
26
|
// ─── Base Schemas ───────────────────────────────────────────────
|
|
7
27
|
export const MessageSchema = z.object({
|
|
8
28
|
role: z.enum(['system', 'user', 'assistant']),
|
|
@@ -44,7 +64,7 @@ export const ToolChoiceSchema = z.union([
|
|
|
44
64
|
]);
|
|
45
65
|
export const ExtendedMessageSchema = z.object({
|
|
46
66
|
role: z.enum(['system', 'user', 'assistant', 'tool']),
|
|
47
|
-
content:
|
|
67
|
+
content: ContentSchema,
|
|
48
68
|
tool_call_id: z.string().optional(),
|
|
49
69
|
});
|
|
50
70
|
export const ChatInputWithToolsSchema = z.object({
|
package/dist/schemas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,mEAAmE;AAEnE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAC7C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC5B,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;KACjD,QAAQ,EAAE,CAAC;AAEd,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,KAAK,EAAE,CAAC;SACL,IAAI,CAAC,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;SAC5C,OAAO,CAAC,eAAe,CAAC;IAC3B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAChD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;IACnD,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC7C,QAAQ,EAAE,cAAc;IACxB,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC;AAEH,mEAAmE;AAEnE,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACxD,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC3B,QAAQ,EAAE,wBAAwB;CACnC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC;IACtC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IACpC,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;QAC3B,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACxB,CAAC;KACH,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IACrD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
|
package/dist/session.d.ts.map
CHANGED
|
@@ -1 +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;
|
|
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;IAc7D;;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"}
|
package/dist/session.js
CHANGED
|
@@ -80,6 +80,11 @@ export class SessionStore {
|
|
|
80
80
|
throw new Error(`Session not found: ${sessionId}`);
|
|
81
81
|
}
|
|
82
82
|
session.messages.push(...messages);
|
|
83
|
+
// Enforce message limit (sliding window)
|
|
84
|
+
const config = getConfig();
|
|
85
|
+
if (session.messages.length > config.maxSessionMessages) {
|
|
86
|
+
session.messages = session.messages.slice(-config.maxSessionMessages);
|
|
87
|
+
}
|
|
83
88
|
}
|
|
84
89
|
/**
|
|
85
90
|
* Get all messages from a session
|
package/dist/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC;;;;GAIG;AACH,MAAM,OAAO,YAAY;IACf,MAAM,CAAC,QAAQ,GAAwB,IAAI,CAAC;IAC5C,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;IACtC,cAAc,GAAG,CAAC,CAAC;IAE3B,gBAAuB,CAAC;IAExB,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC3B,YAAY,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;QAC7C,CAAC;QACD,OAAO,YAAY,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,aAAa;QAClB,YAAY,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,SAAkB;QACvB,MAAM,EAAE,GAAG,SAAS,IAAI,UAAU,EAAE,CAAC;QAErC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACrC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,6BAA6B;QAC7B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,yDAAyD;YACzD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC7C,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAY;YACvB,EAAE;YACF,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE;YAC1B,SAAS,EAAE,CAAC;YACZ,YAAY,EAAE,CAAC;SAChB,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC/B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,SAAiB;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAE/B,YAAY;QACZ,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAChC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACpC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,SAAiB,EAAE,QAAuB;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deepseek-chat.d.ts","sourceRoot":"","sources":["../../src/tools/deepseek-chat.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"deepseek-chat.d.ts","sourceRoot":"","sources":["../../src/tools/deepseek-chat.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAYzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAwB5D,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CAwRhF"}
|
|
@@ -1,39 +1,43 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Tool: deepseek_chat
|
|
3
|
-
* Chat completion with DeepSeek models
|
|
3
|
+
* Chat completion with DeepSeek AI models
|
|
4
4
|
* Supports multi-turn conversations via session_id
|
|
5
5
|
*/
|
|
6
6
|
import { z } from 'zod';
|
|
7
7
|
import { getConfig } from '../config.js';
|
|
8
8
|
import { calculateCost, formatCost } from '../cost.js';
|
|
9
9
|
import { ExtendedMessageSchema, ChatInputWithToolsSchema, ToolDefinitionSchema, ToolChoiceSchema, ThinkingSchema, } from '../schemas.js';
|
|
10
|
-
import { getErrorMessage } from '../types.js';
|
|
10
|
+
import { getErrorMessage, getTextContent } from '../types.js';
|
|
11
11
|
import { SessionStore } from '../session.js';
|
|
12
12
|
import { UsageTracker } from '../usage-tracker.js';
|
|
13
13
|
/** Maximum allowed message content length (from config) */
|
|
14
14
|
function validateMessageLength(input) {
|
|
15
15
|
const maxLen = getConfig().maxMessageLength;
|
|
16
16
|
for (const msg of input.messages) {
|
|
17
|
-
|
|
17
|
+
const textLen = getTextContent(msg.content).length;
|
|
18
|
+
if (textLen > maxLen) {
|
|
18
19
|
throw new Error(`Message content exceeds maximum length of ${maxLen} characters`);
|
|
19
20
|
}
|
|
20
21
|
}
|
|
21
22
|
}
|
|
22
23
|
export function registerChatTool(server, client) {
|
|
24
|
+
// Use config's defaultModel if it's a valid model name
|
|
25
|
+
const cfg = getConfig();
|
|
26
|
+
const modelDefault = cfg.defaultModel === 'deepseek-reasoner' ? 'deepseek-reasoner' : 'deepseek-chat';
|
|
23
27
|
server.registerTool('deepseek_chat', {
|
|
24
28
|
title: 'DeepSeek Chat Completion',
|
|
25
|
-
description: 'Chat with DeepSeek
|
|
29
|
+
description: 'Chat with DeepSeek AI models. Supports deepseek-chat for general conversations and ' +
|
|
26
30
|
'deepseek-reasoner for complex reasoning tasks with chain-of-thought explanations. ' +
|
|
27
31
|
'Features: multi-turn sessions (session_id), function calling (tools parameter), thinking mode, ' +
|
|
28
|
-
'JSON output mode, automatic cost tracking, and model fallback with circuit breaker resilience.',
|
|
32
|
+
'JSON output mode, multimodal input (when enabled), automatic cost tracking, and model fallback with circuit breaker resilience.',
|
|
29
33
|
inputSchema: {
|
|
30
34
|
messages: z
|
|
31
35
|
.array(ExtendedMessageSchema)
|
|
32
36
|
.min(1)
|
|
33
|
-
.describe('Array of conversation messages. Each message has role (system/user/assistant/tool) and content. Tool messages require tool_call_id.'),
|
|
37
|
+
.describe('Array of conversation messages. Each message has role (system/user/assistant/tool) and content (string or array of content parts for multimodal). Tool messages require tool_call_id.'),
|
|
34
38
|
model: z
|
|
35
39
|
.enum(['deepseek-chat', 'deepseek-reasoner'])
|
|
36
|
-
.default(
|
|
40
|
+
.default(modelDefault)
|
|
37
41
|
.describe('Model to use. Both run DeepSeek V3.2 (128K context). deepseek-chat: non-thinking mode (max 8K output), deepseek-reasoner: thinking mode (max 64K output)'),
|
|
38
42
|
temperature: z
|
|
39
43
|
.number()
|
|
@@ -58,7 +62,7 @@ export function registerChatTool(server, client) {
|
|
|
58
62
|
.optional()
|
|
59
63
|
.describe('Array of tool definitions for function calling. Each tool has type "function" and a function object with name, description, and parameters (JSON Schema).'),
|
|
60
64
|
tool_choice: ToolChoiceSchema.optional().describe('Controls which tool the model calls. "auto" (default), "none", "required", or {type:"function",function:{name:"..."}}'),
|
|
61
|
-
thinking: ThinkingSchema.describe('Enable thinking mode
|
|
65
|
+
thinking: ThinkingSchema.describe('Enable thinking mode. When enabled, temperature/top_p/frequency_penalty/presence_penalty are automatically ignored. Use {type: "enabled"} to activate.'),
|
|
62
66
|
json_mode: z
|
|
63
67
|
.boolean()
|
|
64
68
|
.optional()
|
|
@@ -99,9 +103,17 @@ export function registerChatTool(server, client) {
|
|
|
99
103
|
validateMessageLength(input);
|
|
100
104
|
// Validate input with extended schema (supports tools + session_id)
|
|
101
105
|
const validated = ChatInputWithToolsSchema.parse(input);
|
|
106
|
+
// Multimodal guard: reject array content when multimodal is disabled
|
|
107
|
+
if (!getConfig().enableMultimodal) {
|
|
108
|
+
for (const msg of validated.messages) {
|
|
109
|
+
if (Array.isArray(msg.content)) {
|
|
110
|
+
throw new Error('Multimodal content (image/array) is not enabled. Set ENABLE_MULTIMODAL=true to use multimodal input.');
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
102
114
|
// JSON mode guard: warn if "json" word is not in any message content
|
|
103
115
|
if (validated.json_mode) {
|
|
104
|
-
const hasJsonWord = validated.messages.some((m) => m.content.toLowerCase().includes('json'));
|
|
116
|
+
const hasJsonWord = validated.messages.some((m) => getTextContent(m.content).toLowerCase().includes('json'));
|
|
105
117
|
if (!hasJsonWord) {
|
|
106
118
|
console.error('[DeepSeek MCP] Warning: json_mode enabled but no "json" word found in messages. Results may be unreliable.');
|
|
107
119
|
}
|
|
@@ -145,17 +157,21 @@ export function registerChatTool(server, client) {
|
|
|
145
157
|
? await client.createStreamingChatCompletion(clientParams)
|
|
146
158
|
: await client.createChatCompletion(clientParams);
|
|
147
159
|
console.error(`[DeepSeek MCP] Response: tokens=${response.usage.total_tokens}, finish_reason=${response.finish_reason}${response.tool_calls ? `, tool_calls=${response.tool_calls.length}` : ''}`);
|
|
148
|
-
// Calculate cost
|
|
149
|
-
const costBreakdown = calculateCost(response.usage);
|
|
160
|
+
// Calculate cost (model-aware pricing)
|
|
161
|
+
const costBreakdown = calculateCost(response.usage, response.model);
|
|
150
162
|
// Update session with new messages and response
|
|
151
163
|
if (validated.session_id) {
|
|
152
164
|
const session = sessionStore.get(validated.session_id);
|
|
153
165
|
if (session) {
|
|
154
166
|
// Add the new user messages to session
|
|
155
167
|
sessionStore.addMessages(validated.session_id, validated.messages);
|
|
156
|
-
// Add assistant response to session
|
|
168
|
+
// Add assistant response to session (include tool_calls for multi-turn function calling)
|
|
157
169
|
sessionStore.addMessages(validated.session_id, [
|
|
158
|
-
{
|
|
170
|
+
{
|
|
171
|
+
role: 'assistant',
|
|
172
|
+
content: response.content,
|
|
173
|
+
...(response.tool_calls ? { tool_calls: response.tool_calls } : {}),
|
|
174
|
+
},
|
|
159
175
|
]);
|
|
160
176
|
session.totalCost += costBreakdown.totalCost;
|
|
161
177
|
session.requestCount++;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deepseek-chat.js","sourceRoot":"","sources":["../../src/tools/deepseek-chat.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,
|
|
1
|
+
{"version":3,"file":"deepseek-chat.js","sourceRoot":"","sources":["../../src/tools/deepseek-chat.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -10,14 +10,41 @@ export type DeepSeekModel = 'deepseek-chat' | 'deepseek-reasoner';
|
|
|
10
10
|
* Message role in conversation
|
|
11
11
|
*/
|
|
12
12
|
export type MessageRole = 'system' | 'user' | 'assistant' | 'tool';
|
|
13
|
+
/**
|
|
14
|
+
* Text content part (standard message content)
|
|
15
|
+
*/
|
|
16
|
+
export interface TextContentPart {
|
|
17
|
+
type: 'text';
|
|
18
|
+
text: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Image content part (multimodal input)
|
|
22
|
+
*/
|
|
23
|
+
export interface ImageContentPart {
|
|
24
|
+
type: 'image_url';
|
|
25
|
+
image_url: {
|
|
26
|
+
url: string;
|
|
27
|
+
detail?: 'auto' | 'low' | 'high';
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Content part for multimodal messages
|
|
32
|
+
*/
|
|
33
|
+
export type ContentPart = TextContentPart | ImageContentPart;
|
|
13
34
|
/**
|
|
14
35
|
* Chat message structure
|
|
15
36
|
*/
|
|
16
37
|
export interface ChatMessage {
|
|
17
38
|
role: MessageRole;
|
|
18
|
-
content: string;
|
|
39
|
+
content: string | ContentPart[];
|
|
19
40
|
tool_call_id?: string;
|
|
41
|
+
tool_calls?: ToolCall[];
|
|
20
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Extract text from content (string or ContentPart array).
|
|
45
|
+
* For array content, concatenates all text parts.
|
|
46
|
+
*/
|
|
47
|
+
export declare function getTextContent(content: string | ContentPart[]): string;
|
|
21
48
|
/**
|
|
22
49
|
* Function definition within a tool
|
|
23
50
|
*/
|
|
@@ -98,7 +125,7 @@ export interface ChatCompletionResponse {
|
|
|
98
125
|
export interface DeepSeekChatInput {
|
|
99
126
|
messages: Array<{
|
|
100
127
|
role: string;
|
|
101
|
-
content: string;
|
|
128
|
+
content: string | ContentPart[];
|
|
102
129
|
tool_call_id?: string;
|
|
103
130
|
}>;
|
|
104
131
|
model?: 'deepseek-chat' | 'deepseek-reasoner';
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG,mBAAmB,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -2,6 +2,18 @@
|
|
|
2
2
|
* DeepSeek MCP Server Types
|
|
3
3
|
* Type definitions for DeepSeek API integration with Model Context Protocol
|
|
4
4
|
*/
|
|
5
|
+
/**
|
|
6
|
+
* Extract text from content (string or ContentPart array).
|
|
7
|
+
* For array content, concatenates all text parts.
|
|
8
|
+
*/
|
|
9
|
+
export function getTextContent(content) {
|
|
10
|
+
if (typeof content === 'string')
|
|
11
|
+
return content;
|
|
12
|
+
return content
|
|
13
|
+
.filter((p) => p.type === 'text')
|
|
14
|
+
.map((p) => p.text)
|
|
15
|
+
.join('');
|
|
16
|
+
}
|
|
5
17
|
// ─── Type Guards ───────────────────────────────────────────────
|
|
6
18
|
/**
|
|
7
19
|
* Check if a message has reasoning_content (DeepSeek Reasoner)
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgDH;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,OAA+B;IAC5D,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,OAAO,OAAO;SACX,MAAM,CAAC,CAAC,CAAC,EAAwB,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;SACtD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SAClB,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAyQD,kEAAkE;AAElE;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAgB;IAEhB,OAAO,CACL,OAAO,OAAO,KAAK,QAAQ;QAC3B,OAAO,KAAK,IAAI;QAChB,mBAAmB,IAAI,OAAO;QAC9B,OAAQ,OAAmC,CAAC,iBAAiB,KAAK,QAAQ,CAC3E,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,KAAK,YAAY,KAAK;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,eAAe,CAAC;AACzB,CAAC"}
|
package/package.json
CHANGED