@arikusi/deepseek-mcp-server 1.0.3 → 1.1.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.
@@ -0,0 +1,258 @@
1
+ /**
2
+ * Zod Schemas Module
3
+ * Input validation schemas for DeepSeek MCP Server
4
+ */
5
+ import { z } from 'zod';
6
+ export declare const MessageSchema: z.ZodObject<{
7
+ role: z.ZodEnum<["system", "user", "assistant"]>;
8
+ content: z.ZodString;
9
+ }, "strip", z.ZodTypeAny, {
10
+ content: string;
11
+ role: "system" | "user" | "assistant";
12
+ }, {
13
+ content: string;
14
+ role: "system" | "user" | "assistant";
15
+ }>;
16
+ export declare const ChatInputSchema: z.ZodObject<{
17
+ messages: z.ZodArray<z.ZodObject<{
18
+ role: z.ZodEnum<["system", "user", "assistant"]>;
19
+ content: z.ZodString;
20
+ }, "strip", z.ZodTypeAny, {
21
+ content: string;
22
+ role: "system" | "user" | "assistant";
23
+ }, {
24
+ content: string;
25
+ role: "system" | "user" | "assistant";
26
+ }>, "many">;
27
+ model: z.ZodDefault<z.ZodEnum<["deepseek-chat", "deepseek-reasoner"]>>;
28
+ temperature: z.ZodOptional<z.ZodNumber>;
29
+ max_tokens: z.ZodOptional<z.ZodNumber>;
30
+ stream: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
31
+ }, "strip", z.ZodTypeAny, {
32
+ model: "deepseek-chat" | "deepseek-reasoner";
33
+ messages: {
34
+ content: string;
35
+ role: "system" | "user" | "assistant";
36
+ }[];
37
+ stream: boolean;
38
+ temperature?: number | undefined;
39
+ max_tokens?: number | undefined;
40
+ }, {
41
+ messages: {
42
+ content: string;
43
+ role: "system" | "user" | "assistant";
44
+ }[];
45
+ model?: "deepseek-chat" | "deepseek-reasoner" | undefined;
46
+ temperature?: number | undefined;
47
+ max_tokens?: number | undefined;
48
+ stream?: boolean | undefined;
49
+ }>;
50
+ export declare const FunctionDefinitionSchema: z.ZodObject<{
51
+ name: z.ZodString;
52
+ description: z.ZodOptional<z.ZodString>;
53
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
54
+ strict: z.ZodOptional<z.ZodBoolean>;
55
+ }, "strip", z.ZodTypeAny, {
56
+ name: string;
57
+ description?: string | undefined;
58
+ parameters?: Record<string, unknown> | undefined;
59
+ strict?: boolean | undefined;
60
+ }, {
61
+ name: string;
62
+ description?: string | undefined;
63
+ parameters?: Record<string, unknown> | undefined;
64
+ strict?: boolean | undefined;
65
+ }>;
66
+ export declare const ToolDefinitionSchema: z.ZodObject<{
67
+ type: z.ZodLiteral<"function">;
68
+ function: z.ZodObject<{
69
+ name: z.ZodString;
70
+ description: z.ZodOptional<z.ZodString>;
71
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
72
+ strict: z.ZodOptional<z.ZodBoolean>;
73
+ }, "strip", z.ZodTypeAny, {
74
+ name: string;
75
+ description?: string | undefined;
76
+ parameters?: Record<string, unknown> | undefined;
77
+ strict?: boolean | undefined;
78
+ }, {
79
+ name: string;
80
+ description?: string | undefined;
81
+ parameters?: Record<string, unknown> | undefined;
82
+ strict?: boolean | undefined;
83
+ }>;
84
+ }, "strip", z.ZodTypeAny, {
85
+ function: {
86
+ name: string;
87
+ description?: string | undefined;
88
+ parameters?: Record<string, unknown> | undefined;
89
+ strict?: boolean | undefined;
90
+ };
91
+ type: "function";
92
+ }, {
93
+ function: {
94
+ name: string;
95
+ description?: string | undefined;
96
+ parameters?: Record<string, unknown> | undefined;
97
+ strict?: boolean | undefined;
98
+ };
99
+ type: "function";
100
+ }>;
101
+ export declare const ToolChoiceSchema: z.ZodUnion<[z.ZodEnum<["auto", "none", "required"]>, z.ZodObject<{
102
+ type: z.ZodLiteral<"function">;
103
+ function: z.ZodObject<{
104
+ name: z.ZodString;
105
+ }, "strip", z.ZodTypeAny, {
106
+ name: string;
107
+ }, {
108
+ name: string;
109
+ }>;
110
+ }, "strip", z.ZodTypeAny, {
111
+ function: {
112
+ name: string;
113
+ };
114
+ type: "function";
115
+ }, {
116
+ function: {
117
+ name: string;
118
+ };
119
+ type: "function";
120
+ }>]>;
121
+ export declare const ExtendedMessageSchema: z.ZodObject<{
122
+ role: z.ZodEnum<["system", "user", "assistant", "tool"]>;
123
+ content: z.ZodString;
124
+ tool_call_id: z.ZodOptional<z.ZodString>;
125
+ }, "strip", z.ZodTypeAny, {
126
+ content: string;
127
+ role: "system" | "user" | "assistant" | "tool";
128
+ tool_call_id?: string | undefined;
129
+ }, {
130
+ content: string;
131
+ role: "system" | "user" | "assistant" | "tool";
132
+ tool_call_id?: string | undefined;
133
+ }>;
134
+ export declare const ChatInputWithToolsSchema: z.ZodObject<{
135
+ messages: z.ZodArray<z.ZodObject<{
136
+ role: z.ZodEnum<["system", "user", "assistant", "tool"]>;
137
+ content: z.ZodString;
138
+ tool_call_id: z.ZodOptional<z.ZodString>;
139
+ }, "strip", z.ZodTypeAny, {
140
+ content: string;
141
+ role: "system" | "user" | "assistant" | "tool";
142
+ tool_call_id?: string | undefined;
143
+ }, {
144
+ content: string;
145
+ role: "system" | "user" | "assistant" | "tool";
146
+ tool_call_id?: string | undefined;
147
+ }>, "many">;
148
+ model: z.ZodDefault<z.ZodEnum<["deepseek-chat", "deepseek-reasoner"]>>;
149
+ temperature: z.ZodOptional<z.ZodNumber>;
150
+ max_tokens: z.ZodOptional<z.ZodNumber>;
151
+ stream: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
152
+ tools: z.ZodOptional<z.ZodArray<z.ZodObject<{
153
+ type: z.ZodLiteral<"function">;
154
+ function: z.ZodObject<{
155
+ name: z.ZodString;
156
+ description: z.ZodOptional<z.ZodString>;
157
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
158
+ strict: z.ZodOptional<z.ZodBoolean>;
159
+ }, "strip", z.ZodTypeAny, {
160
+ name: string;
161
+ description?: string | undefined;
162
+ parameters?: Record<string, unknown> | undefined;
163
+ strict?: boolean | undefined;
164
+ }, {
165
+ name: string;
166
+ description?: string | undefined;
167
+ parameters?: Record<string, unknown> | undefined;
168
+ strict?: boolean | undefined;
169
+ }>;
170
+ }, "strip", z.ZodTypeAny, {
171
+ function: {
172
+ name: string;
173
+ description?: string | undefined;
174
+ parameters?: Record<string, unknown> | undefined;
175
+ strict?: boolean | undefined;
176
+ };
177
+ type: "function";
178
+ }, {
179
+ function: {
180
+ name: string;
181
+ description?: string | undefined;
182
+ parameters?: Record<string, unknown> | undefined;
183
+ strict?: boolean | undefined;
184
+ };
185
+ type: "function";
186
+ }>, "many">>;
187
+ tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["auto", "none", "required"]>, z.ZodObject<{
188
+ type: z.ZodLiteral<"function">;
189
+ function: z.ZodObject<{
190
+ name: z.ZodString;
191
+ }, "strip", z.ZodTypeAny, {
192
+ name: string;
193
+ }, {
194
+ name: string;
195
+ }>;
196
+ }, "strip", z.ZodTypeAny, {
197
+ function: {
198
+ name: string;
199
+ };
200
+ type: "function";
201
+ }, {
202
+ function: {
203
+ name: string;
204
+ };
205
+ type: "function";
206
+ }>]>>;
207
+ }, "strip", z.ZodTypeAny, {
208
+ model: "deepseek-chat" | "deepseek-reasoner";
209
+ messages: {
210
+ content: string;
211
+ role: "system" | "user" | "assistant" | "tool";
212
+ tool_call_id?: string | undefined;
213
+ }[];
214
+ stream: boolean;
215
+ temperature?: number | undefined;
216
+ max_tokens?: number | undefined;
217
+ tools?: {
218
+ function: {
219
+ name: string;
220
+ description?: string | undefined;
221
+ parameters?: Record<string, unknown> | undefined;
222
+ strict?: boolean | undefined;
223
+ };
224
+ type: "function";
225
+ }[] | undefined;
226
+ tool_choice?: "auto" | "none" | "required" | {
227
+ function: {
228
+ name: string;
229
+ };
230
+ type: "function";
231
+ } | undefined;
232
+ }, {
233
+ messages: {
234
+ content: string;
235
+ role: "system" | "user" | "assistant" | "tool";
236
+ tool_call_id?: string | undefined;
237
+ }[];
238
+ model?: "deepseek-chat" | "deepseek-reasoner" | undefined;
239
+ temperature?: number | undefined;
240
+ max_tokens?: number | undefined;
241
+ stream?: boolean | undefined;
242
+ tools?: {
243
+ function: {
244
+ name: string;
245
+ description?: string | undefined;
246
+ parameters?: Record<string, unknown> | undefined;
247
+ strict?: boolean | undefined;
248
+ };
249
+ type: "function";
250
+ }[] | undefined;
251
+ tool_choice?: "auto" | "none" | "required" | {
252
+ function: {
253
+ name: string;
254
+ };
255
+ type: "function";
256
+ } | undefined;
257
+ }>;
258
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,aAAa;;;;;;;;;EAGxB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQ1B,CAAC;AAIH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;EAKnC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG/B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;IAQ3B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;EAIhC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUnC,CAAC"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Zod Schemas Module
3
+ * Input validation schemas for DeepSeek MCP Server
4
+ */
5
+ import { z } from 'zod';
6
+ // ─── Base Schemas ───────────────────────────────────────────────
7
+ export const MessageSchema = z.object({
8
+ role: z.enum(['system', 'user', 'assistant']),
9
+ content: z.string(),
10
+ });
11
+ export const ChatInputSchema = z.object({
12
+ messages: z.array(MessageSchema).min(1),
13
+ model: z
14
+ .enum(['deepseek-chat', 'deepseek-reasoner'])
15
+ .default('deepseek-chat'),
16
+ temperature: z.number().min(0).max(2).optional(),
17
+ max_tokens: z.number().min(1).max(32768).optional(),
18
+ stream: z.boolean().optional().default(false),
19
+ });
20
+ // ─── Function Calling Schemas ───────────────────────────────────
21
+ export const FunctionDefinitionSchema = z.object({
22
+ name: z.string().min(1),
23
+ description: z.string().optional(),
24
+ parameters: z.record(z.unknown()).optional(),
25
+ strict: z.boolean().optional(),
26
+ });
27
+ export const ToolDefinitionSchema = z.object({
28
+ type: z.literal('function'),
29
+ function: FunctionDefinitionSchema,
30
+ });
31
+ export const ToolChoiceSchema = z.union([
32
+ z.enum(['auto', 'none', 'required']),
33
+ z.object({
34
+ type: z.literal('function'),
35
+ function: z.object({
36
+ name: z.string().min(1),
37
+ }),
38
+ }),
39
+ ]);
40
+ export const ExtendedMessageSchema = z.object({
41
+ role: z.enum(['system', 'user', 'assistant', 'tool']),
42
+ content: z.string(),
43
+ tool_call_id: z.string().optional(),
44
+ });
45
+ export const ChatInputWithToolsSchema = z.object({
46
+ messages: z.array(ExtendedMessageSchema).min(1),
47
+ model: z
48
+ .enum(['deepseek-chat', 'deepseek-reasoner'])
49
+ .default('deepseek-chat'),
50
+ temperature: z.number().min(0).max(2).optional(),
51
+ max_tokens: z.number().min(1).max(32768).optional(),
52
+ stream: z.boolean().optional().default(false),
53
+ tools: z.array(ToolDefinitionSchema).max(128).optional(),
54
+ tool_choice: ToolChoiceSchema.optional(),
55
+ });
56
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -9,13 +9,50 @@ export type DeepSeekModel = 'deepseek-chat' | 'deepseek-reasoner';
9
9
  /**
10
10
  * Message role in conversation
11
11
  */
12
- export type MessageRole = 'system' | 'user' | 'assistant';
12
+ export type MessageRole = 'system' | 'user' | 'assistant' | 'tool';
13
13
  /**
14
14
  * Chat message structure
15
15
  */
16
16
  export interface ChatMessage {
17
17
  role: MessageRole;
18
18
  content: string;
19
+ tool_call_id?: string;
20
+ }
21
+ /**
22
+ * Function definition within a tool
23
+ */
24
+ export interface FunctionDefinition {
25
+ name: string;
26
+ description?: string;
27
+ parameters?: Record<string, unknown>;
28
+ strict?: boolean;
29
+ }
30
+ /**
31
+ * Tool definition for function calling
32
+ */
33
+ export interface ToolDefinition {
34
+ type: 'function';
35
+ function: FunctionDefinition;
36
+ }
37
+ /**
38
+ * Controls which tool the model calls
39
+ */
40
+ export type ToolChoice = 'auto' | 'none' | 'required' | {
41
+ type: 'function';
42
+ function: {
43
+ name: string;
44
+ };
45
+ };
46
+ /**
47
+ * Tool call returned by the model
48
+ */
49
+ export interface ToolCall {
50
+ id: string;
51
+ type: 'function';
52
+ function: {
53
+ name: string;
54
+ arguments: string;
55
+ };
19
56
  }
20
57
  /**
21
58
  * Parameters for chat completion request
@@ -29,6 +66,8 @@ export interface ChatCompletionParams {
29
66
  frequency_penalty?: number;
30
67
  presence_penalty?: number;
31
68
  stop?: string | string[];
69
+ tools?: ToolDefinition[];
70
+ tool_choice?: ToolChoice;
32
71
  }
33
72
  /**
34
73
  * Response from DeepSeek chat completion
@@ -43,6 +82,7 @@ export interface ChatCompletionResponse {
43
82
  total_tokens: number;
44
83
  };
45
84
  finish_reason: string;
85
+ tool_calls?: ToolCall[];
46
86
  }
47
87
  /**
48
88
  * Tool input schema for deepseek_chat tool
@@ -51,11 +91,27 @@ export interface DeepSeekChatInput {
51
91
  messages: Array<{
52
92
  role: string;
53
93
  content: string;
94
+ tool_call_id?: string;
54
95
  }>;
55
96
  model?: 'deepseek-chat' | 'deepseek-reasoner';
56
97
  temperature?: number;
57
98
  max_tokens?: number;
58
99
  stream?: boolean;
100
+ tools?: Array<{
101
+ type: 'function';
102
+ function: {
103
+ name: string;
104
+ description?: string;
105
+ parameters?: Record<string, unknown>;
106
+ strict?: boolean;
107
+ };
108
+ }>;
109
+ tool_choice?: 'auto' | 'none' | 'required' | {
110
+ type: 'function';
111
+ function: {
112
+ name: string;
113
+ };
114
+ };
59
115
  }
60
116
  /**
61
117
  * Error response structure
@@ -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,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;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;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE;QACL,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,eAAe,GAAG,mBAAmB,CAAC;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH"}
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;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE;QACL,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,eAAe,GAAG,mBAAmB,CAAC;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,UAAU,CAAC;QACjB,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM,CAAC;YACb,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACrC,MAAM,CAAC,EAAE,OAAO,CAAC;SAClB,CAAC;KACH,CAAC,CAAC;IACH,WAAW,CAAC,EACR,MAAM,GACN,MAAM,GACN,UAAU,GACV;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;CACtD;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arikusi/deepseek-mcp-server",
3
- "version": "1.0.3",
3
+ "version": "1.1.0",
4
4
  "description": "MCP Server for DeepSeek API integration - enables Claude Code to use DeepSeek Chat and Reasoner models",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -12,7 +12,9 @@
12
12
  "watch": "tsc --watch",
13
13
  "prepare": "npm run build",
14
14
  "start": "node dist/index.js",
15
- "test": "echo \"No tests yet\" && exit 0",
15
+ "test": "vitest run",
16
+ "test:watch": "vitest",
17
+ "test:coverage": "vitest run --coverage",
16
18
  "lint": "tsc --noEmit",
17
19
  "prepublishOnly": "npm run build"
18
20
  },
@@ -27,7 +29,9 @@
27
29
  "claude-code",
28
30
  "ai",
29
31
  "llm",
30
- "openai-compatible"
32
+ "openai-compatible",
33
+ "function-calling",
34
+ "tool-use"
31
35
  ],
32
36
  "author": "arikusi",
33
37
  "license": "MIT",
@@ -55,7 +59,9 @@
55
59
  },
56
60
  "devDependencies": {
57
61
  "@types/node": "^22.10.5",
58
- "typescript": "^5.7.3"
62
+ "@vitest/coverage-v8": "^4.0.18",
63
+ "typescript": "^5.7.3",
64
+ "vitest": "^4.0.18"
59
65
  },
60
66
  "engines": {
61
67
  "node": ">=18.0.0"