@arikusi/deepseek-mcp-server 1.1.0 → 1.2.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 +52 -1
- package/README.md +72 -18
- package/dist/config.d.ts +7 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +16 -11
- package/dist/config.js.map +1 -1
- package/dist/cost.d.ts +30 -13
- package/dist/cost.d.ts.map +1 -1
- package/dist/cost.js +58 -19
- package/dist/cost.js.map +1 -1
- package/dist/deepseek-client.d.ts +8 -0
- package/dist/deepseek-client.d.ts.map +1 -1
- package/dist/deepseek-client.js +90 -48
- package/dist/deepseek-client.js.map +1 -1
- package/dist/errors.d.ts +71 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +74 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +33 -614
- package/dist/index.js.map +1 -1
- package/dist/prompts/advanced.d.ts +8 -0
- package/dist/prompts/advanced.d.ts.map +1 -0
- package/dist/prompts/advanced.js +187 -0
- package/dist/prompts/advanced.js.map +1 -0
- package/dist/prompts/core.d.ts +8 -0
- package/dist/prompts/core.d.ts.map +1 -0
- package/dist/prompts/core.js +188 -0
- package/dist/prompts/core.js.map +1 -0
- package/dist/prompts/function-calling.d.ts +7 -0
- package/dist/prompts/function-calling.d.ts.map +1 -0
- package/dist/prompts/function-calling.js +87 -0
- package/dist/prompts/function-calling.js.map +1 -0
- package/dist/prompts/index.d.ts +7 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +13 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/schemas.d.ts +59 -20
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +9 -2
- package/dist/schemas.js.map +1 -1
- package/dist/server.d.ts +9 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +16 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/deepseek-chat.d.ts +8 -0
- package/dist/tools/deepseek-chat.d.ts.map +1 -0
- package/dist/tools/deepseek-chat.js +184 -0
- package/dist/tools/deepseek-chat.js.map +1 -0
- package/dist/tools/index.d.ts +8 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +9 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/types.d.ts +94 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +20 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
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
|
-
|
|
47
|
+
stream: boolean;
|
|
33
48
|
messages: {
|
|
34
49
|
content: string;
|
|
35
50
|
role: "system" | "user" | "assistant";
|
|
36
51
|
}[];
|
|
37
|
-
|
|
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
|
-
|
|
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,33 @@ 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>;
|
|
207
238
|
}, "strip", z.ZodTypeAny, {
|
|
208
|
-
|
|
239
|
+
stream: boolean;
|
|
209
240
|
messages: {
|
|
210
241
|
content: string;
|
|
211
242
|
role: "system" | "user" | "assistant" | "tool";
|
|
212
243
|
tool_call_id?: string | undefined;
|
|
213
244
|
}[];
|
|
214
|
-
|
|
245
|
+
model: "deepseek-chat" | "deepseek-reasoner";
|
|
215
246
|
temperature?: number | undefined;
|
|
247
|
+
thinking?: {
|
|
248
|
+
type: "enabled" | "disabled";
|
|
249
|
+
} | undefined;
|
|
216
250
|
max_tokens?: number | undefined;
|
|
251
|
+
tool_choice?: "auto" | "none" | "required" | {
|
|
252
|
+
function: {
|
|
253
|
+
name: string;
|
|
254
|
+
};
|
|
255
|
+
type: "function";
|
|
256
|
+
} | undefined;
|
|
217
257
|
tools?: {
|
|
218
258
|
function: {
|
|
219
259
|
name: string;
|
|
@@ -223,22 +263,26 @@ export declare const ChatInputWithToolsSchema: z.ZodObject<{
|
|
|
223
263
|
};
|
|
224
264
|
type: "function";
|
|
225
265
|
}[] | undefined;
|
|
226
|
-
|
|
227
|
-
function: {
|
|
228
|
-
name: string;
|
|
229
|
-
};
|
|
230
|
-
type: "function";
|
|
231
|
-
} | undefined;
|
|
266
|
+
json_mode?: boolean | undefined;
|
|
232
267
|
}, {
|
|
233
268
|
messages: {
|
|
234
269
|
content: string;
|
|
235
270
|
role: "system" | "user" | "assistant" | "tool";
|
|
236
271
|
tool_call_id?: string | undefined;
|
|
237
272
|
}[];
|
|
238
|
-
model?: "deepseek-chat" | "deepseek-reasoner" | undefined;
|
|
239
273
|
temperature?: number | undefined;
|
|
240
|
-
|
|
274
|
+
thinking?: {
|
|
275
|
+
type: "enabled" | "disabled";
|
|
276
|
+
} | undefined;
|
|
241
277
|
stream?: boolean | undefined;
|
|
278
|
+
model?: "deepseek-chat" | "deepseek-reasoner" | undefined;
|
|
279
|
+
max_tokens?: number | undefined;
|
|
280
|
+
tool_choice?: "auto" | "none" | "required" | {
|
|
281
|
+
function: {
|
|
282
|
+
name: string;
|
|
283
|
+
};
|
|
284
|
+
type: "function";
|
|
285
|
+
} | undefined;
|
|
242
286
|
tools?: {
|
|
243
287
|
function: {
|
|
244
288
|
name: string;
|
|
@@ -248,11 +292,6 @@ export declare const ChatInputWithToolsSchema: z.ZodObject<{
|
|
|
248
292
|
};
|
|
249
293
|
type: "function";
|
|
250
294
|
}[] | undefined;
|
|
251
|
-
|
|
252
|
-
function: {
|
|
253
|
-
name: string;
|
|
254
|
-
};
|
|
255
|
-
type: "function";
|
|
256
|
-
} | undefined;
|
|
295
|
+
json_mode?: boolean | undefined;
|
|
257
296
|
}>;
|
|
258
297
|
//# sourceMappingURL=schemas.d.ts.map
|
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;;;;;;;;;EAGxB,CAAC;AAEH,eAAO,MAAM,eAAe
|
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYnC,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(
|
|
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,11 @@ 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(
|
|
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(),
|
|
55
62
|
});
|
|
56
63
|
//# sourceMappingURL=schemas.js.map
|
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,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;
|
|
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,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC5C,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,CAAC,CAAC,MAAM,EAAE;IACnB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,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,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IACxD,WAAW,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACxC,QAAQ,EAAE,cAAc;IACxB,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC"}
|
package/dist/server.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Server Factory
|
|
3
|
+
* Creates and exports the McpServer instance with version from package.json
|
|
4
|
+
*/
|
|
5
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
6
|
+
declare const version: any;
|
|
7
|
+
export { version };
|
|
8
|
+
export declare function createServer(): McpServer;
|
|
9
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIpE,QAAA,MAAQ,OAAO,KAA+B,CAAC;AAE/C,OAAO,EAAE,OAAO,EAAE,CAAC;AAEnB,wBAAgB,YAAY,IAAI,SAAS,CAKxC"}
|
package/dist/server.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Server Factory
|
|
3
|
+
* Creates and exports the McpServer instance with version from package.json
|
|
4
|
+
*/
|
|
5
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
6
|
+
import { createRequire } from 'module';
|
|
7
|
+
const require = createRequire(import.meta.url);
|
|
8
|
+
const { version } = require('../package.json');
|
|
9
|
+
export { version };
|
|
10
|
+
export function createServer() {
|
|
11
|
+
return new McpServer({
|
|
12
|
+
name: 'deepseek-mcp-server',
|
|
13
|
+
version,
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAE/C,OAAO,EAAE,OAAO,EAAE,CAAC;AAEnB,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,SAAS,CAAC;QACnB,IAAI,EAAE,qBAAqB;QAC3B,OAAO;KACR,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool: deepseek_chat
|
|
3
|
+
* Chat completion with DeepSeek models (V3.2)
|
|
4
|
+
*/
|
|
5
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
6
|
+
import type { DeepSeekClient } from '../deepseek-client.js';
|
|
7
|
+
export declare function registerChatTool(server: McpServer, client: DeepSeekClient): void;
|
|
8
|
+
//# sourceMappingURL=deepseek-chat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deepseek-chat.d.ts","sourceRoot":"","sources":["../../src/tools/deepseek-chat.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAWzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAgB5D,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CAmNhF"}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool: deepseek_chat
|
|
3
|
+
* Chat completion with DeepSeek models (V3.2)
|
|
4
|
+
*/
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
import { getConfig } from '../config.js';
|
|
7
|
+
import { calculateCost, formatCost } from '../cost.js';
|
|
8
|
+
import { ExtendedMessageSchema, ChatInputWithToolsSchema, ToolDefinitionSchema, ToolChoiceSchema, ThinkingSchema, } from '../schemas.js';
|
|
9
|
+
import { getErrorMessage } from '../types.js';
|
|
10
|
+
/** Maximum allowed message content length (from config) */
|
|
11
|
+
function validateMessageLength(input) {
|
|
12
|
+
const maxLen = getConfig().maxMessageLength;
|
|
13
|
+
for (const msg of input.messages) {
|
|
14
|
+
if (msg.content.length > maxLen) {
|
|
15
|
+
throw new Error(`Message content exceeds maximum length of ${maxLen} characters`);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export function registerChatTool(server, client) {
|
|
20
|
+
server.registerTool('deepseek_chat', {
|
|
21
|
+
title: 'DeepSeek Chat Completion',
|
|
22
|
+
description: 'Chat with DeepSeek V3.2 AI models. Supports deepseek-chat for general conversations and ' +
|
|
23
|
+
'deepseek-reasoner for complex reasoning tasks with chain-of-thought explanations. ' +
|
|
24
|
+
'Features: function calling (tools parameter), thinking mode for enhanced reasoning, ' +
|
|
25
|
+
'JSON output mode, and automatic cost tracking with cache hit/miss breakdown.',
|
|
26
|
+
inputSchema: {
|
|
27
|
+
messages: z
|
|
28
|
+
.array(ExtendedMessageSchema)
|
|
29
|
+
.min(1)
|
|
30
|
+
.describe('Array of conversation messages. Each message has role (system/user/assistant/tool) and content. Tool messages require tool_call_id.'),
|
|
31
|
+
model: z
|
|
32
|
+
.enum(['deepseek-chat', 'deepseek-reasoner'])
|
|
33
|
+
.default('deepseek-chat')
|
|
34
|
+
.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)'),
|
|
35
|
+
temperature: z
|
|
36
|
+
.number()
|
|
37
|
+
.min(0)
|
|
38
|
+
.max(2)
|
|
39
|
+
.optional()
|
|
40
|
+
.describe('Sampling temperature (0-2). Higher = more random. Default: 1.0. Ignored when thinking mode is enabled.'),
|
|
41
|
+
max_tokens: z
|
|
42
|
+
.number()
|
|
43
|
+
.min(1)
|
|
44
|
+
.max(65536)
|
|
45
|
+
.optional()
|
|
46
|
+
.describe('Maximum tokens to generate. deepseek-chat: max 8192, deepseek-reasoner: max 65536'),
|
|
47
|
+
stream: z
|
|
48
|
+
.boolean()
|
|
49
|
+
.optional()
|
|
50
|
+
.default(false)
|
|
51
|
+
.describe('Enable streaming mode. Returns full response after streaming completes.'),
|
|
52
|
+
tools: z
|
|
53
|
+
.array(ToolDefinitionSchema)
|
|
54
|
+
.max(128)
|
|
55
|
+
.optional()
|
|
56
|
+
.describe('Array of tool definitions for function calling. Each tool has type "function" and a function object with name, description, and parameters (JSON Schema).'),
|
|
57
|
+
tool_choice: ToolChoiceSchema.optional().describe('Controls which tool the model calls. "auto" (default), "none", "required", or {type:"function",function:{name:"..."}}'),
|
|
58
|
+
thinking: ThinkingSchema.describe('Enable thinking mode for enhanced reasoning. When enabled, temperature/top_p/frequency_penalty/presence_penalty are automatically ignored. Use {type: "enabled"} to activate.'),
|
|
59
|
+
json_mode: z
|
|
60
|
+
.boolean()
|
|
61
|
+
.optional()
|
|
62
|
+
.describe('Enable JSON output mode. The model will output valid JSON. Include the word "json" in your prompt for best results. Supported by both models.'),
|
|
63
|
+
},
|
|
64
|
+
outputSchema: {
|
|
65
|
+
content: z.string(),
|
|
66
|
+
reasoning_content: z.string().optional(),
|
|
67
|
+
model: z.string(),
|
|
68
|
+
usage: z.object({
|
|
69
|
+
prompt_tokens: z.number(),
|
|
70
|
+
completion_tokens: z.number(),
|
|
71
|
+
total_tokens: z.number(),
|
|
72
|
+
prompt_cache_hit_tokens: z.number().optional(),
|
|
73
|
+
prompt_cache_miss_tokens: z.number().optional(),
|
|
74
|
+
}),
|
|
75
|
+
finish_reason: z.string(),
|
|
76
|
+
tool_calls: z
|
|
77
|
+
.array(z.object({
|
|
78
|
+
id: z.string(),
|
|
79
|
+
type: z.literal('function'),
|
|
80
|
+
function: z.object({
|
|
81
|
+
name: z.string(),
|
|
82
|
+
arguments: z.string(),
|
|
83
|
+
}),
|
|
84
|
+
}))
|
|
85
|
+
.optional(),
|
|
86
|
+
},
|
|
87
|
+
}, async (input) => {
|
|
88
|
+
try {
|
|
89
|
+
// Validate message content length
|
|
90
|
+
validateMessageLength(input);
|
|
91
|
+
// Validate input with extended schema (supports tools)
|
|
92
|
+
const validated = ChatInputWithToolsSchema.parse(input);
|
|
93
|
+
// JSON mode guard: warn if "json" word is not in any message content
|
|
94
|
+
if (validated.json_mode) {
|
|
95
|
+
const hasJsonWord = validated.messages.some((m) => m.content.toLowerCase().includes('json'));
|
|
96
|
+
if (!hasJsonWord) {
|
|
97
|
+
console.error('[DeepSeek MCP] Warning: json_mode enabled but no "json" word found in messages. Results may be unreliable.');
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
// Model-aware max_tokens warnings
|
|
101
|
+
if (validated.max_tokens) {
|
|
102
|
+
if (validated.model === 'deepseek-chat' && validated.max_tokens > 8192) {
|
|
103
|
+
console.error(`[DeepSeek MCP] Warning: deepseek-chat max output is 8192 tokens, requested ${validated.max_tokens}. API may truncate.`);
|
|
104
|
+
}
|
|
105
|
+
if (validated.model === 'deepseek-reasoner' && validated.max_tokens > 65536) {
|
|
106
|
+
console.error(`[DeepSeek MCP] Warning: deepseek-reasoner max output is 65536 tokens, requested ${validated.max_tokens}. API may truncate.`);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
console.error(`[DeepSeek MCP] Request: model=${validated.model}, messages=${validated.messages.length}, stream=${validated.stream}${validated.tools ? `, tools=${validated.tools.length}` : ''}${validated.thinking ? `, thinking=${validated.thinking.type}` : ''}${validated.json_mode ? ', json_mode=true' : ''}`);
|
|
110
|
+
// Build params for client
|
|
111
|
+
const clientParams = {
|
|
112
|
+
model: validated.model,
|
|
113
|
+
messages: validated.messages,
|
|
114
|
+
temperature: validated.temperature,
|
|
115
|
+
max_tokens: validated.max_tokens,
|
|
116
|
+
tools: validated.tools,
|
|
117
|
+
tool_choice: validated.tool_choice,
|
|
118
|
+
thinking: validated.thinking,
|
|
119
|
+
response_format: validated.json_mode
|
|
120
|
+
? { type: 'json_object' }
|
|
121
|
+
: undefined,
|
|
122
|
+
};
|
|
123
|
+
// Call appropriate method based on stream parameter
|
|
124
|
+
const response = validated.stream
|
|
125
|
+
? await client.createStreamingChatCompletion(clientParams)
|
|
126
|
+
: await client.createChatCompletion(clientParams);
|
|
127
|
+
console.error(`[DeepSeek MCP] Response: tokens=${response.usage.total_tokens}, finish_reason=${response.finish_reason}${response.tool_calls ? `, tool_calls=${response.tool_calls.length}` : ''}`);
|
|
128
|
+
// Format response
|
|
129
|
+
let responseText = '';
|
|
130
|
+
// Add reasoning content if available (for deepseek-reasoner)
|
|
131
|
+
if (response.reasoning_content) {
|
|
132
|
+
responseText += `<thinking>\n${response.reasoning_content}\n</thinking>\n\n`;
|
|
133
|
+
}
|
|
134
|
+
responseText += response.content;
|
|
135
|
+
// Format tool calls if present
|
|
136
|
+
if (response.tool_calls?.length) {
|
|
137
|
+
responseText += '\n\n**Function Calls:**\n';
|
|
138
|
+
for (const tc of response.tool_calls) {
|
|
139
|
+
responseText += `\`${tc.function.name}\`\n`;
|
|
140
|
+
responseText += `- Call ID: ${tc.id}\n`;
|
|
141
|
+
responseText += `- Arguments: ${tc.function.arguments}\n\n`;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
// Calculate cost
|
|
145
|
+
const costBreakdown = calculateCost(response.usage);
|
|
146
|
+
// Add usage stats with cost information (controlled by config)
|
|
147
|
+
if (getConfig().showCostInfo) {
|
|
148
|
+
responseText += `\n---\n**Request Information:**\n`;
|
|
149
|
+
responseText += `- **Tokens:** ${response.usage.total_tokens} (${response.usage.prompt_tokens} prompt + ${response.usage.completion_tokens} completion)\n`;
|
|
150
|
+
responseText += `- **Model:** ${response.model}\n`;
|
|
151
|
+
responseText += `- **Cost:** ${formatCost(costBreakdown)}`;
|
|
152
|
+
if (response.tool_calls?.length) {
|
|
153
|
+
responseText += `\n- **Tool Calls:** ${response.tool_calls.length}`;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
return {
|
|
157
|
+
content: [
|
|
158
|
+
{
|
|
159
|
+
type: 'text',
|
|
160
|
+
text: responseText,
|
|
161
|
+
},
|
|
162
|
+
],
|
|
163
|
+
structuredContent: {
|
|
164
|
+
...response,
|
|
165
|
+
cost_usd: parseFloat(costBreakdown.totalCost.toFixed(6)),
|
|
166
|
+
},
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
catch (error) {
|
|
170
|
+
console.error('[DeepSeek MCP] Error:', error);
|
|
171
|
+
const errorMessage = getErrorMessage(error);
|
|
172
|
+
return {
|
|
173
|
+
content: [
|
|
174
|
+
{
|
|
175
|
+
type: 'text',
|
|
176
|
+
text: `Error: ${errorMessage}`,
|
|
177
|
+
},
|
|
178
|
+
],
|
|
179
|
+
isError: true,
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
//# sourceMappingURL=deepseek-chat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deepseek-chat.js","sourceRoot":"","sources":["../../src/tools/deepseek-chat.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool Registration Aggregator
|
|
3
|
+
* Registers all tools with the MCP server
|
|
4
|
+
*/
|
|
5
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
6
|
+
import type { DeepSeekClient } from '../deepseek-client.js';
|
|
7
|
+
export declare function registerAllTools(server: McpServer, client: DeepSeekClient): void;
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CAEhF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool Registration Aggregator
|
|
3
|
+
* Registers all tools with the MCP server
|
|
4
|
+
*/
|
|
5
|
+
import { registerChatTool } from './deepseek-chat.js';
|
|
6
|
+
export function registerAllTools(server, client) {
|
|
7
|
+
registerChatTool(server, client);
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,UAAU,gBAAgB,CAAC,MAAiB,EAAE,MAAsB;IACxE,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACnC,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -68,6 +68,12 @@ export interface ChatCompletionParams {
|
|
|
68
68
|
stop?: string | string[];
|
|
69
69
|
tools?: ToolDefinition[];
|
|
70
70
|
tool_choice?: ToolChoice;
|
|
71
|
+
thinking?: {
|
|
72
|
+
type: 'enabled' | 'disabled';
|
|
73
|
+
};
|
|
74
|
+
response_format?: {
|
|
75
|
+
type: 'json_object';
|
|
76
|
+
};
|
|
71
77
|
}
|
|
72
78
|
/**
|
|
73
79
|
* Response from DeepSeek chat completion
|
|
@@ -80,6 +86,8 @@ export interface ChatCompletionResponse {
|
|
|
80
86
|
prompt_tokens: number;
|
|
81
87
|
completion_tokens: number;
|
|
82
88
|
total_tokens: number;
|
|
89
|
+
prompt_cache_hit_tokens?: number;
|
|
90
|
+
prompt_cache_miss_tokens?: number;
|
|
83
91
|
};
|
|
84
92
|
finish_reason: string;
|
|
85
93
|
tool_calls?: ToolCall[];
|
|
@@ -112,6 +120,10 @@ export interface DeepSeekChatInput {
|
|
|
112
120
|
name: string;
|
|
113
121
|
};
|
|
114
122
|
};
|
|
123
|
+
thinking?: {
|
|
124
|
+
type: 'enabled' | 'disabled';
|
|
125
|
+
};
|
|
126
|
+
json_mode?: boolean;
|
|
115
127
|
}
|
|
116
128
|
/**
|
|
117
129
|
* Error response structure
|
|
@@ -123,4 +135,86 @@ export interface DeepSeekError {
|
|
|
123
135
|
code: string;
|
|
124
136
|
};
|
|
125
137
|
}
|
|
138
|
+
/**
|
|
139
|
+
* DeepSeek chat completion message (extends OpenAI with reasoning_content)
|
|
140
|
+
*/
|
|
141
|
+
export interface DeepSeekChatCompletionMessage {
|
|
142
|
+
content: string | null;
|
|
143
|
+
role: 'assistant';
|
|
144
|
+
tool_calls?: Array<{
|
|
145
|
+
id: string;
|
|
146
|
+
type: 'function';
|
|
147
|
+
function: {
|
|
148
|
+
name: string;
|
|
149
|
+
arguments: string;
|
|
150
|
+
};
|
|
151
|
+
}>;
|
|
152
|
+
reasoning_content?: string;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* DeepSeek chat completion choice
|
|
156
|
+
*/
|
|
157
|
+
export interface DeepSeekChatCompletionChoice {
|
|
158
|
+
message: DeepSeekChatCompletionMessage;
|
|
159
|
+
finish_reason: string;
|
|
160
|
+
index: number;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* DeepSeek chat completion response (extends OpenAI response)
|
|
164
|
+
*/
|
|
165
|
+
export interface DeepSeekRawResponse {
|
|
166
|
+
id: string;
|
|
167
|
+
choices: DeepSeekChatCompletionChoice[];
|
|
168
|
+
model: string;
|
|
169
|
+
usage?: {
|
|
170
|
+
prompt_tokens: number;
|
|
171
|
+
completion_tokens: number;
|
|
172
|
+
total_tokens: number;
|
|
173
|
+
prompt_cache_hit_tokens?: number;
|
|
174
|
+
prompt_cache_miss_tokens?: number;
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* DeepSeek stream delta
|
|
179
|
+
*/
|
|
180
|
+
export interface DeepSeekStreamDelta {
|
|
181
|
+
content?: string;
|
|
182
|
+
reasoning_content?: string;
|
|
183
|
+
tool_calls?: Array<{
|
|
184
|
+
index: number;
|
|
185
|
+
id?: string;
|
|
186
|
+
type?: 'function';
|
|
187
|
+
function?: {
|
|
188
|
+
name?: string;
|
|
189
|
+
arguments?: string;
|
|
190
|
+
};
|
|
191
|
+
}>;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* DeepSeek stream chunk
|
|
195
|
+
*/
|
|
196
|
+
export interface DeepSeekStreamChunk {
|
|
197
|
+
choices: Array<{
|
|
198
|
+
delta: DeepSeekStreamDelta;
|
|
199
|
+
finish_reason: string | null;
|
|
200
|
+
}>;
|
|
201
|
+
model: string;
|
|
202
|
+
usage?: {
|
|
203
|
+
prompt_tokens: number;
|
|
204
|
+
completion_tokens: number;
|
|
205
|
+
total_tokens: number;
|
|
206
|
+
prompt_cache_hit_tokens?: number;
|
|
207
|
+
prompt_cache_miss_tokens?: number;
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Check if a message has reasoning_content (DeepSeek Reasoner)
|
|
212
|
+
*/
|
|
213
|
+
export declare function hasReasoningContent(message: unknown): message is {
|
|
214
|
+
reasoning_content: string;
|
|
215
|
+
};
|
|
216
|
+
/**
|
|
217
|
+
* Extract error message from unknown error
|
|
218
|
+
*/
|
|
219
|
+
export declare function getErrorMessage(error: unknown): string;
|
|
126
220
|
//# sourceMappingURL=types.d.ts.map
|
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;AAEnE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAID;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,kBAAkB,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,MAAM,GACN,UAAU,GACV;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAID;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,UAAU,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,5 +2,24 @@
|
|
|
2
2
|
* DeepSeek MCP Server Types
|
|
3
3
|
* Type definitions for DeepSeek API integration with Model Context Protocol
|
|
4
4
|
*/
|
|
5
|
-
|
|
5
|
+
// ─── Type Guards ───────────────────────────────────────────────
|
|
6
|
+
/**
|
|
7
|
+
* Check if a message has reasoning_content (DeepSeek Reasoner)
|
|
8
|
+
*/
|
|
9
|
+
export function hasReasoningContent(message) {
|
|
10
|
+
return (typeof message === 'object' &&
|
|
11
|
+
message !== null &&
|
|
12
|
+
'reasoning_content' in message &&
|
|
13
|
+
typeof message.reasoning_content === 'string');
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Extract error message from unknown error
|
|
17
|
+
*/
|
|
18
|
+
export function getErrorMessage(error) {
|
|
19
|
+
if (error instanceof Error)
|
|
20
|
+
return error.message;
|
|
21
|
+
if (typeof error === 'string')
|
|
22
|
+
return error;
|
|
23
|
+
return 'Unknown error';
|
|
24
|
+
}
|
|
6
25
|
//# sourceMappingURL=types.js.map
|
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;AAuNH,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