@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.
Files changed (59) hide show
  1. package/CHANGELOG.md +52 -1
  2. package/README.md +72 -18
  3. package/dist/config.d.ts +7 -1
  4. package/dist/config.d.ts.map +1 -1
  5. package/dist/config.js +16 -11
  6. package/dist/config.js.map +1 -1
  7. package/dist/cost.d.ts +30 -13
  8. package/dist/cost.d.ts.map +1 -1
  9. package/dist/cost.js +58 -19
  10. package/dist/cost.js.map +1 -1
  11. package/dist/deepseek-client.d.ts +8 -0
  12. package/dist/deepseek-client.d.ts.map +1 -1
  13. package/dist/deepseek-client.js +90 -48
  14. package/dist/deepseek-client.js.map +1 -1
  15. package/dist/errors.d.ts +71 -0
  16. package/dist/errors.d.ts.map +1 -0
  17. package/dist/errors.js +74 -0
  18. package/dist/errors.js.map +1 -0
  19. package/dist/index.d.ts +0 -3
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +33 -614
  22. package/dist/index.js.map +1 -1
  23. package/dist/prompts/advanced.d.ts +8 -0
  24. package/dist/prompts/advanced.d.ts.map +1 -0
  25. package/dist/prompts/advanced.js +187 -0
  26. package/dist/prompts/advanced.js.map +1 -0
  27. package/dist/prompts/core.d.ts +8 -0
  28. package/dist/prompts/core.d.ts.map +1 -0
  29. package/dist/prompts/core.js +188 -0
  30. package/dist/prompts/core.js.map +1 -0
  31. package/dist/prompts/function-calling.d.ts +7 -0
  32. package/dist/prompts/function-calling.d.ts.map +1 -0
  33. package/dist/prompts/function-calling.js +87 -0
  34. package/dist/prompts/function-calling.js.map +1 -0
  35. package/dist/prompts/index.d.ts +7 -0
  36. package/dist/prompts/index.d.ts.map +1 -0
  37. package/dist/prompts/index.js +13 -0
  38. package/dist/prompts/index.js.map +1 -0
  39. package/dist/schemas.d.ts +59 -20
  40. package/dist/schemas.d.ts.map +1 -1
  41. package/dist/schemas.js +9 -2
  42. package/dist/schemas.js.map +1 -1
  43. package/dist/server.d.ts +9 -0
  44. package/dist/server.d.ts.map +1 -0
  45. package/dist/server.js +16 -0
  46. package/dist/server.js.map +1 -0
  47. package/dist/tools/deepseek-chat.d.ts +8 -0
  48. package/dist/tools/deepseek-chat.d.ts.map +1 -0
  49. package/dist/tools/deepseek-chat.js +184 -0
  50. package/dist/tools/deepseek-chat.js.map +1 -0
  51. package/dist/tools/index.d.ts +8 -0
  52. package/dist/tools/index.d.ts.map +1 -0
  53. package/dist/tools/index.js +9 -0
  54. package/dist/tools/index.js.map +1 -0
  55. package/dist/types.d.ts +94 -0
  56. package/dist/types.d.ts.map +1 -1
  57. package/dist/types.js +20 -1
  58. package/dist/types.js.map +1 -1
  59. package/package.json +1 -1
@@ -4,6 +4,15 @@
4
4
  */
5
5
  import OpenAI from 'openai';
6
6
  import { getConfig } from './config.js';
7
+ import { ApiError } from './errors.js';
8
+ import { hasReasoningContent, getErrorMessage } from './types.js';
9
+ /** Parameters that are incompatible with thinking mode */
10
+ const THINKING_INCOMPATIBLE_PARAMS = [
11
+ 'temperature',
12
+ 'top_p',
13
+ 'frequency_penalty',
14
+ 'presence_penalty',
15
+ ];
7
16
  export class DeepSeekClient {
8
17
  client;
9
18
  constructor() {
@@ -15,41 +24,83 @@ export class DeepSeekClient {
15
24
  maxRetries: config.maxRetries,
16
25
  });
17
26
  }
27
+ /**
28
+ * Build request params shared between streaming and non-streaming
29
+ */
30
+ buildRequestParams(params, stream) {
31
+ const isThinkingEnabled = params.thinking?.type === 'enabled';
32
+ // Filter incompatible params when thinking mode is active
33
+ if (isThinkingEnabled) {
34
+ const filtered = [];
35
+ for (const key of THINKING_INCOMPATIBLE_PARAMS) {
36
+ if (params[key] !== undefined) {
37
+ filtered.push(key);
38
+ }
39
+ }
40
+ if (filtered.length > 0) {
41
+ console.error(`[DeepSeek MCP] Warning: Thinking mode active, ignoring incompatible params: ${filtered.join(', ')}`);
42
+ }
43
+ }
44
+ const requestParams = {
45
+ model: params.model,
46
+ messages: params.messages,
47
+ temperature: isThinkingEnabled ? undefined : (params.temperature ?? 1.0),
48
+ max_tokens: params.max_tokens,
49
+ top_p: isThinkingEnabled ? undefined : params.top_p,
50
+ frequency_penalty: isThinkingEnabled ? undefined : params.frequency_penalty,
51
+ presence_penalty: isThinkingEnabled ? undefined : params.presence_penalty,
52
+ stop: params.stop,
53
+ stream,
54
+ };
55
+ // Pass thinking config via extra_body (DeepSeek extension)
56
+ if (params.thinking) {
57
+ requestParams.extra_body = {
58
+ ...requestParams.extra_body,
59
+ thinking: params.thinking,
60
+ };
61
+ }
62
+ // Pass response_format for JSON mode
63
+ if (params.response_format) {
64
+ requestParams.response_format = params.response_format;
65
+ }
66
+ if (params.tools?.length) {
67
+ requestParams.tools = params.tools;
68
+ }
69
+ if (params.tool_choice !== undefined) {
70
+ requestParams.tool_choice =
71
+ params.tool_choice;
72
+ }
73
+ return requestParams;
74
+ }
75
+ /**
76
+ * Wrap caught errors with appropriate custom error class
77
+ */
78
+ wrapError(error, context) {
79
+ if (error instanceof ApiError)
80
+ throw error;
81
+ const message = getErrorMessage(error);
82
+ const cause = error instanceof Error ? error : undefined;
83
+ throw new ApiError(`${context}: ${message}`, { cause });
84
+ }
18
85
  /**
19
86
  * Create a chat completion (non-streaming)
20
87
  */
21
88
  async createChatCompletion(params) {
22
89
  try {
23
- // Build request params - using 'any' for OpenAI SDK compatibility
24
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
25
- const requestParams = {
26
- model: params.model,
27
- messages: params.messages,
28
- temperature: params.temperature ?? 1.0,
29
- max_tokens: params.max_tokens,
30
- top_p: params.top_p,
31
- frequency_penalty: params.frequency_penalty,
32
- presence_penalty: params.presence_penalty,
33
- stop: params.stop,
34
- stream: false,
35
- };
36
- if (params.tools?.length) {
37
- requestParams.tools = params.tools;
38
- }
39
- if (params.tool_choice !== undefined) {
40
- requestParams.tool_choice = params.tool_choice;
41
- }
42
- const response = await this.client.chat.completions.create(requestParams);
90
+ const requestParams = this.buildRequestParams(params, false);
91
+ const rawResponse = await this.client.chat.completions.create(requestParams);
92
+ const response = rawResponse;
43
93
  const choice = response.choices[0];
44
94
  if (!choice) {
45
- throw new Error('No response from DeepSeek API');
95
+ throw new ApiError('No response from DeepSeek API');
46
96
  }
47
97
  // Extract reasoning content if available (for deepseek-reasoner)
48
- const reasoning_content = 'reasoning_content' in choice.message
98
+ const reasoning_content = hasReasoningContent(choice.message)
49
99
  ? choice.message.reasoning_content
50
100
  : undefined;
51
101
  // Extract tool_calls if present
52
- const tool_calls = choice.message.tool_calls?.map((tc) => ({
102
+ const tool_calls = choice.message.tool_calls
103
+ ?.map((tc) => ({
53
104
  id: tc.id,
54
105
  type: 'function',
55
106
  function: {
@@ -65,6 +116,8 @@ export class DeepSeekClient {
65
116
  prompt_tokens: response.usage?.prompt_tokens || 0,
66
117
  completion_tokens: response.usage?.completion_tokens || 0,
67
118
  total_tokens: response.usage?.total_tokens || 0,
119
+ prompt_cache_hit_tokens: response.usage?.prompt_cache_hit_tokens,
120
+ prompt_cache_miss_tokens: response.usage?.prompt_cache_miss_tokens,
68
121
  },
69
122
  finish_reason: choice.finish_reason || 'stop',
70
123
  tool_calls: tool_calls?.length ? tool_calls : undefined,
@@ -72,7 +125,7 @@ export class DeepSeekClient {
72
125
  }
73
126
  catch (error) {
74
127
  console.error('DeepSeek API Error:', error);
75
- throw new Error(`DeepSeek API Error: ${error?.message || 'Unknown error'}`);
128
+ this.wrapError(error, 'DeepSeek API Error');
76
129
  }
77
130
  }
78
131
  /**
@@ -81,25 +134,7 @@ export class DeepSeekClient {
81
134
  */
82
135
  async createStreamingChatCompletion(params) {
83
136
  try {
84
- // Build request params - using 'any' for OpenAI SDK compatibility
85
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
86
- const requestParams = {
87
- model: params.model,
88
- messages: params.messages,
89
- temperature: params.temperature ?? 1.0,
90
- max_tokens: params.max_tokens,
91
- top_p: params.top_p,
92
- frequency_penalty: params.frequency_penalty,
93
- presence_penalty: params.presence_penalty,
94
- stop: params.stop,
95
- stream: true,
96
- };
97
- if (params.tools?.length) {
98
- requestParams.tools = params.tools;
99
- }
100
- if (params.tool_choice !== undefined) {
101
- requestParams.tool_choice = params.tool_choice;
102
- }
137
+ const requestParams = this.buildRequestParams(params, true);
103
138
  const stream = await this.client.chat.completions.create(requestParams);
104
139
  let fullContent = '';
105
140
  let reasoningContent = '';
@@ -113,7 +148,8 @@ export class DeepSeekClient {
113
148
  // Tool calls accumulation (index-based)
114
149
  const toolCallsMap = new Map();
115
150
  // Collect all chunks
116
- for await (const chunk of stream) {
151
+ for await (const rawChunk of stream) {
152
+ const chunk = rawChunk;
117
153
  const choice = chunk.choices[0];
118
154
  if (!choice)
119
155
  continue;
@@ -122,8 +158,8 @@ export class DeepSeekClient {
122
158
  fullContent += choice.delta.content;
123
159
  }
124
160
  // Collect reasoning content (for deepseek-reasoner)
125
- if ('reasoning_content' in (choice.delta || {})) {
126
- reasoningContent += choice.delta.reasoning_content || '';
161
+ if (choice.delta && hasReasoningContent(choice.delta)) {
162
+ reasoningContent += choice.delta.reasoning_content;
127
163
  }
128
164
  // Accumulate tool_calls deltas
129
165
  if (choice.delta?.tool_calls) {
@@ -157,7 +193,13 @@ export class DeepSeekClient {
157
193
  }
158
194
  // Get usage info (usually in last chunk)
159
195
  if (chunk.usage) {
160
- usage = chunk.usage;
196
+ usage = {
197
+ prompt_tokens: chunk.usage.prompt_tokens,
198
+ completion_tokens: chunk.usage.completion_tokens,
199
+ total_tokens: chunk.usage.total_tokens,
200
+ prompt_cache_hit_tokens: chunk.usage.prompt_cache_hit_tokens,
201
+ prompt_cache_miss_tokens: chunk.usage.prompt_cache_miss_tokens,
202
+ };
161
203
  }
162
204
  }
163
205
  // Convert tool calls map to sorted array
@@ -177,7 +219,7 @@ export class DeepSeekClient {
177
219
  }
178
220
  catch (error) {
179
221
  console.error('DeepSeek Streaming API Error:', error);
180
- throw new Error(`DeepSeek Streaming API Error: ${error?.message || 'Unknown error'}`);
222
+ this.wrapError(error, 'DeepSeek Streaming API Error');
181
223
  }
182
224
  }
183
225
  /**
@@ -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":"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"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Custom Error Classes
3
+ * Structured error hierarchy for DeepSeek MCP Server
4
+ */
5
+ /**
6
+ * Base error class for all DeepSeek MCP errors
7
+ */
8
+ export declare class BaseError extends Error {
9
+ constructor(message: string, options?: ErrorOptions);
10
+ }
11
+ /**
12
+ * Configuration validation error
13
+ * Thrown when config validation fails (replaces process.exit)
14
+ */
15
+ export declare class ConfigError extends BaseError {
16
+ readonly issues: Array<{
17
+ path: string;
18
+ message: string;
19
+ }>;
20
+ constructor(message: string, issues?: Array<{
21
+ path: string;
22
+ message: string;
23
+ }>, options?: ErrorOptions);
24
+ }
25
+ /**
26
+ * DeepSeek API error
27
+ * Wraps errors from the DeepSeek/OpenAI API
28
+ */
29
+ export declare class ApiError extends BaseError {
30
+ readonly statusCode?: number;
31
+ readonly retryable: boolean;
32
+ constructor(message: string, options?: ErrorOptions & {
33
+ statusCode?: number;
34
+ retryable?: boolean;
35
+ });
36
+ }
37
+ /**
38
+ * Rate limit error (429)
39
+ */
40
+ export declare class RateLimitError extends ApiError {
41
+ constructor(message: string, options?: ErrorOptions);
42
+ }
43
+ /**
44
+ * Authentication error (401)
45
+ */
46
+ export declare class AuthenticationError extends ApiError {
47
+ constructor(message: string, options?: ErrorOptions);
48
+ }
49
+ /**
50
+ * Input validation error
51
+ */
52
+ export declare class ValidationError extends BaseError {
53
+ readonly zodErrors?: Array<{
54
+ path: string;
55
+ message: string;
56
+ }>;
57
+ constructor(message: string, zodErrors?: Array<{
58
+ path: string;
59
+ message: string;
60
+ }>, options?: ErrorOptions);
61
+ }
62
+ /**
63
+ * Network/connection error
64
+ */
65
+ export declare class ConnectionError extends BaseError {
66
+ readonly retryable: boolean;
67
+ constructor(message: string, options?: ErrorOptions & {
68
+ retryable?: boolean;
69
+ });
70
+ }
71
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,qBAAa,SAAU,SAAQ,KAAK;gBACtB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAIpD;AAED;;;GAGG;AACH,qBAAa,WAAY,SAAQ,SAAS;IACxC,SAAgB,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;gBAG/D,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAM,EACrD,OAAO,CAAC,EAAE,YAAY;CAKzB;AAED;;;GAGG;AACH,qBAAa,QAAS,SAAQ,SAAS;IACrC,SAAgB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpC,SAAgB,SAAS,EAAE,OAAO,CAAC;gBAGjC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,YAAY,GAAG;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE;CAMxE;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,QAAQ;gBAC9B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAGpD;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,QAAQ;gBACnC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAGpD;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,SAAS;IAC5C,SAAgB,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;gBAGnE,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,EACpD,OAAO,CAAC,EAAE,YAAY;CAKzB;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,SAAS;IAC5C,SAAgB,SAAS,EAAE,OAAO,CAAC;gBAEvB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE;CAI9E"}
package/dist/errors.js ADDED
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Custom Error Classes
3
+ * Structured error hierarchy for DeepSeek MCP Server
4
+ */
5
+ /**
6
+ * Base error class for all DeepSeek MCP errors
7
+ */
8
+ export class BaseError extends Error {
9
+ constructor(message, options) {
10
+ super(message, options);
11
+ this.name = this.constructor.name;
12
+ }
13
+ }
14
+ /**
15
+ * Configuration validation error
16
+ * Thrown when config validation fails (replaces process.exit)
17
+ */
18
+ export class ConfigError extends BaseError {
19
+ issues;
20
+ constructor(message, issues = [], options) {
21
+ super(message, options);
22
+ this.issues = issues;
23
+ }
24
+ }
25
+ /**
26
+ * DeepSeek API error
27
+ * Wraps errors from the DeepSeek/OpenAI API
28
+ */
29
+ export class ApiError extends BaseError {
30
+ statusCode;
31
+ retryable;
32
+ constructor(message, options) {
33
+ super(message, options);
34
+ this.statusCode = options?.statusCode;
35
+ this.retryable = options?.retryable ?? false;
36
+ }
37
+ }
38
+ /**
39
+ * Rate limit error (429)
40
+ */
41
+ export class RateLimitError extends ApiError {
42
+ constructor(message, options) {
43
+ super(message, { ...options, statusCode: 429, retryable: true });
44
+ }
45
+ }
46
+ /**
47
+ * Authentication error (401)
48
+ */
49
+ export class AuthenticationError extends ApiError {
50
+ constructor(message, options) {
51
+ super(message, { ...options, statusCode: 401, retryable: false });
52
+ }
53
+ }
54
+ /**
55
+ * Input validation error
56
+ */
57
+ export class ValidationError extends BaseError {
58
+ zodErrors;
59
+ constructor(message, zodErrors, options) {
60
+ super(message, options);
61
+ this.zodErrors = zodErrors;
62
+ }
63
+ }
64
+ /**
65
+ * Network/connection error
66
+ */
67
+ export class ConnectionError extends BaseError {
68
+ retryable;
69
+ constructor(message, options) {
70
+ super(message, options);
71
+ this.retryable = options?.retryable ?? true;
72
+ }
73
+ }
74
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,OAAO,SAAU,SAAQ,KAAK;IAClC,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACpC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,WAAY,SAAQ,SAAS;IACxB,MAAM,CAA2C;IAEjE,YACE,OAAe,EACf,SAAmD,EAAE,EACrD,OAAsB;QAEtB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,QAAS,SAAQ,SAAS;IACrB,UAAU,CAAU;IACpB,SAAS,CAAU;IAEnC,YACE,OAAe,EACf,OAAqE;QAErE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,KAAK,CAAC;IAC/C,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,QAAQ;IAC1C,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,QAAQ;IAC/C,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IACpE,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAC5B,SAAS,CAA4C;IAErE,YACE,OAAe,EACf,SAAoD,EACpD,OAAsB;QAEtB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAC5B,SAAS,CAAU;IAEnC,YAAY,OAAe,EAAE,OAAgD;QAC3E,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC;IAC9C,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -2,9 +2,6 @@
2
2
  /**
3
3
  * DeepSeek MCP Server
4
4
  * Model Context Protocol server for DeepSeek API integration
5
- *
6
- * This server exposes DeepSeek's chat and reasoning models as MCP tools
7
- * that can be used by Claude Code and other MCP clients.
8
5
  */
9
6
  export {};
10
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;GAMG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;GAGG"}