@eggjs/tegg-mcp-client 3.64.2
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/LICENSE +21 -0
- package/README.md +18 -0
- package/index.d.ts +3 -0
- package/index.js +20 -0
- package/lib/EggHttpMCPClient.d.ts +152 -0
- package/lib/EggHttpMCPClient.js +87 -0
- package/lib/EggHttpStaticMCPClient.d.ts +6 -0
- package/lib/EggHttpStaticMCPClient.js +92 -0
- package/lib/HttpMCPClientFactory.d.ts +7 -0
- package/lib/HttpMCPClientFactory.js +40 -0
- package/lib/QualifierUtil.d.ts +8 -0
- package/lib/QualifierUtil.js +17 -0
- package/lib/constants.d.ts +8 -0
- package/lib/constants.js +13 -0
- package/package.json +93 -0
- package/typings/index.d.ts +1 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2017-present Alibaba Group Holding Limited and other contributors.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
package/index.d.ts
ADDED
package/index.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./lib/constants"), exports);
|
|
18
|
+
__exportStar(require("./lib/QualifierUtil"), exports);
|
|
19
|
+
__exportStar(require("./lib/HttpMCPClientFactory"), exports);
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0RBQWdDO0FBQ2hDLHNEQUFvQztBQUNwQyw2REFBMkMifQ==
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { Logger } from '@eggjs/tegg';
|
|
2
|
+
import type { fetch } from 'urllib';
|
|
3
|
+
import { HttpClientOptions, HttpMCPClient } from '@eggjs/mcp-client';
|
|
4
|
+
export interface EggHttpMCPClientOptions {
|
|
5
|
+
clientName: string;
|
|
6
|
+
clientVersion: string;
|
|
7
|
+
logger: Logger;
|
|
8
|
+
transportOptions?: HttpClientOptions['transportOptions'];
|
|
9
|
+
requestOptions?: HttpClientOptions['requestOptions'];
|
|
10
|
+
fetch: typeof fetch;
|
|
11
|
+
transportType: HttpClientOptions['transportType'];
|
|
12
|
+
url: string;
|
|
13
|
+
}
|
|
14
|
+
export declare class EggHttpMCPClient extends HttpMCPClient {
|
|
15
|
+
protected readonly logger: Logger;
|
|
16
|
+
constructor(options: EggHttpMCPClientOptions);
|
|
17
|
+
init(): Promise<void>;
|
|
18
|
+
listTools(params?: Parameters<HttpMCPClient['listTools']>['0'], options?: Parameters<HttpMCPClient['listTools']>['1']): Promise<{
|
|
19
|
+
[x: string]: unknown;
|
|
20
|
+
tools: {
|
|
21
|
+
inputSchema: {
|
|
22
|
+
[x: string]: unknown;
|
|
23
|
+
type: "object";
|
|
24
|
+
properties?: Record<string, object> | undefined;
|
|
25
|
+
required?: string[] | undefined;
|
|
26
|
+
};
|
|
27
|
+
name: string;
|
|
28
|
+
description?: string | undefined;
|
|
29
|
+
outputSchema?: {
|
|
30
|
+
[x: string]: unknown;
|
|
31
|
+
type: "object";
|
|
32
|
+
properties?: Record<string, object> | undefined;
|
|
33
|
+
required?: string[] | undefined;
|
|
34
|
+
} | undefined;
|
|
35
|
+
annotations?: {
|
|
36
|
+
title?: string | undefined;
|
|
37
|
+
readOnlyHint?: boolean | undefined;
|
|
38
|
+
destructiveHint?: boolean | undefined;
|
|
39
|
+
idempotentHint?: boolean | undefined;
|
|
40
|
+
openWorldHint?: boolean | undefined;
|
|
41
|
+
} | undefined;
|
|
42
|
+
_meta?: Record<string, unknown> | undefined;
|
|
43
|
+
icons?: {
|
|
44
|
+
src: string;
|
|
45
|
+
mimeType?: string | undefined;
|
|
46
|
+
sizes?: string[] | undefined;
|
|
47
|
+
}[] | undefined;
|
|
48
|
+
title?: string | undefined;
|
|
49
|
+
}[];
|
|
50
|
+
_meta?: Record<string, unknown> | undefined;
|
|
51
|
+
nextCursor?: string | undefined;
|
|
52
|
+
}>;
|
|
53
|
+
listPrompts(params?: Parameters<HttpMCPClient['listPrompts']>['0'], options?: Parameters<HttpMCPClient['listPrompts']>['1']): Promise<{
|
|
54
|
+
[x: string]: unknown;
|
|
55
|
+
prompts: {
|
|
56
|
+
name: string;
|
|
57
|
+
description?: string | undefined;
|
|
58
|
+
arguments?: {
|
|
59
|
+
name: string;
|
|
60
|
+
description?: string | undefined;
|
|
61
|
+
required?: boolean | undefined;
|
|
62
|
+
}[] | undefined;
|
|
63
|
+
_meta?: {
|
|
64
|
+
[x: string]: unknown;
|
|
65
|
+
} | undefined;
|
|
66
|
+
icons?: {
|
|
67
|
+
src: string;
|
|
68
|
+
mimeType?: string | undefined;
|
|
69
|
+
sizes?: string[] | undefined;
|
|
70
|
+
}[] | undefined;
|
|
71
|
+
title?: string | undefined;
|
|
72
|
+
}[];
|
|
73
|
+
_meta?: Record<string, unknown> | undefined;
|
|
74
|
+
nextCursor?: string | undefined;
|
|
75
|
+
}>;
|
|
76
|
+
listResources(params?: Parameters<HttpMCPClient['listResources']>['0'], options?: Parameters<HttpMCPClient['listResources']>['1']): Promise<{
|
|
77
|
+
[x: string]: unknown;
|
|
78
|
+
resources: {
|
|
79
|
+
uri: string;
|
|
80
|
+
name: string;
|
|
81
|
+
description?: string | undefined;
|
|
82
|
+
mimeType?: string | undefined;
|
|
83
|
+
_meta?: {
|
|
84
|
+
[x: string]: unknown;
|
|
85
|
+
} | undefined;
|
|
86
|
+
icons?: {
|
|
87
|
+
src: string;
|
|
88
|
+
mimeType?: string | undefined;
|
|
89
|
+
sizes?: string[] | undefined;
|
|
90
|
+
}[] | undefined;
|
|
91
|
+
title?: string | undefined;
|
|
92
|
+
}[];
|
|
93
|
+
_meta?: Record<string, unknown> | undefined;
|
|
94
|
+
nextCursor?: string | undefined;
|
|
95
|
+
}>;
|
|
96
|
+
connect(transport: Parameters<HttpMCPClient['connect']>['0'], options?: Parameters<HttpMCPClient['connect']>['1']): Promise<void>;
|
|
97
|
+
notification(notification: Parameters<HttpMCPClient['notification']>['0'], options?: Parameters<HttpMCPClient['notification']>['1']): Promise<void>;
|
|
98
|
+
callTool(params: Parameters<HttpMCPClient['callTool']>['0'], resultSchema?: Parameters<HttpMCPClient['callTool']>['1'], options?: Parameters<HttpMCPClient['callTool']>['2']): Promise<{
|
|
99
|
+
[x: string]: unknown;
|
|
100
|
+
content: ({
|
|
101
|
+
type: "text";
|
|
102
|
+
text: string;
|
|
103
|
+
_meta?: Record<string, unknown> | undefined;
|
|
104
|
+
} | {
|
|
105
|
+
type: "image";
|
|
106
|
+
data: string;
|
|
107
|
+
mimeType: string;
|
|
108
|
+
_meta?: Record<string, unknown> | undefined;
|
|
109
|
+
} | {
|
|
110
|
+
type: "audio";
|
|
111
|
+
data: string;
|
|
112
|
+
mimeType: string;
|
|
113
|
+
_meta?: Record<string, unknown> | undefined;
|
|
114
|
+
} | {
|
|
115
|
+
type: "resource";
|
|
116
|
+
resource: {
|
|
117
|
+
uri: string;
|
|
118
|
+
text: string;
|
|
119
|
+
mimeType?: string | undefined;
|
|
120
|
+
_meta?: Record<string, unknown> | undefined;
|
|
121
|
+
} | {
|
|
122
|
+
uri: string;
|
|
123
|
+
blob: string;
|
|
124
|
+
mimeType?: string | undefined;
|
|
125
|
+
_meta?: Record<string, unknown> | undefined;
|
|
126
|
+
};
|
|
127
|
+
_meta?: Record<string, unknown> | undefined;
|
|
128
|
+
} | {
|
|
129
|
+
uri: string;
|
|
130
|
+
name: string;
|
|
131
|
+
type: "resource_link";
|
|
132
|
+
description?: string | undefined;
|
|
133
|
+
mimeType?: string | undefined;
|
|
134
|
+
_meta?: {
|
|
135
|
+
[x: string]: unknown;
|
|
136
|
+
} | undefined;
|
|
137
|
+
icons?: {
|
|
138
|
+
src: string;
|
|
139
|
+
mimeType?: string | undefined;
|
|
140
|
+
sizes?: string[] | undefined;
|
|
141
|
+
}[] | undefined;
|
|
142
|
+
title?: string | undefined;
|
|
143
|
+
})[];
|
|
144
|
+
_meta?: Record<string, unknown> | undefined;
|
|
145
|
+
structuredContent?: Record<string, unknown> | undefined;
|
|
146
|
+
isError?: boolean | undefined;
|
|
147
|
+
} | {
|
|
148
|
+
[x: string]: unknown;
|
|
149
|
+
toolResult: unknown;
|
|
150
|
+
_meta?: Record<string, unknown> | undefined;
|
|
151
|
+
}>;
|
|
152
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EggHttpMCPClient = void 0;
|
|
4
|
+
const mcp_client_1 = require("@eggjs/mcp-client");
|
|
5
|
+
const tegg_runtime_1 = require("@eggjs/tegg-runtime");
|
|
6
|
+
const constants_1 = require("./constants");
|
|
7
|
+
const MCP_METHOD = Symbol('Context#mcpMethod');
|
|
8
|
+
const MCP_TOOL = Symbol('Context#mcpTool');
|
|
9
|
+
class EggHttpMCPClient extends mcp_client_1.HttpMCPClient {
|
|
10
|
+
constructor(options) {
|
|
11
|
+
var _a;
|
|
12
|
+
super({
|
|
13
|
+
name: options.clientName,
|
|
14
|
+
version: options.clientVersion,
|
|
15
|
+
}, {
|
|
16
|
+
fetch: options.fetch,
|
|
17
|
+
transportType: options.transportType,
|
|
18
|
+
url: options.url,
|
|
19
|
+
logger: options.logger,
|
|
20
|
+
transportOptions: {
|
|
21
|
+
...((_a = options.transportOptions) !== null && _a !== void 0 ? _a : {}),
|
|
22
|
+
get requestInit() {
|
|
23
|
+
var _a, _b;
|
|
24
|
+
return {
|
|
25
|
+
...((_b = (_a = options.transportOptions) === null || _a === void 0 ? void 0 : _a.requestInit) !== null && _b !== void 0 ? _b : {}),
|
|
26
|
+
get headers() {
|
|
27
|
+
var _a, _b;
|
|
28
|
+
return (0, mcp_client_1.mergeHeaders)((_b = (_a = options.transportOptions) === null || _a === void 0 ? void 0 : _a.requestInit) === null || _b === void 0 ? void 0 : _b.headers);
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
requestOptions: options.requestOptions,
|
|
34
|
+
});
|
|
35
|
+
this.logger = options.logger;
|
|
36
|
+
}
|
|
37
|
+
async init() {
|
|
38
|
+
await super.init();
|
|
39
|
+
}
|
|
40
|
+
async listTools(params, options) {
|
|
41
|
+
const context = tegg_runtime_1.ContextHandler.getContext();
|
|
42
|
+
if (context) {
|
|
43
|
+
context.set(MCP_METHOD, constants_1.McpMethod.LIST_TOOLS);
|
|
44
|
+
}
|
|
45
|
+
return super.listTools(params, options);
|
|
46
|
+
}
|
|
47
|
+
async listPrompts(params, options) {
|
|
48
|
+
const context = tegg_runtime_1.ContextHandler.getContext();
|
|
49
|
+
if (context) {
|
|
50
|
+
context.set(MCP_METHOD, constants_1.McpMethod.LIST_PROMPTS);
|
|
51
|
+
}
|
|
52
|
+
return super.listPrompts(params, options);
|
|
53
|
+
}
|
|
54
|
+
async listResources(params, options) {
|
|
55
|
+
const context = tegg_runtime_1.ContextHandler.getContext();
|
|
56
|
+
if (context) {
|
|
57
|
+
context.set(MCP_METHOD, constants_1.McpMethod.LIST_RESOURCES);
|
|
58
|
+
}
|
|
59
|
+
return super.listResources(params, options);
|
|
60
|
+
}
|
|
61
|
+
async connect(transport, options) {
|
|
62
|
+
const context = tegg_runtime_1.ContextHandler.getContext();
|
|
63
|
+
if (context) {
|
|
64
|
+
context.set(MCP_METHOD, constants_1.McpMethod.INITIALIZE);
|
|
65
|
+
}
|
|
66
|
+
return super.connect(transport, options);
|
|
67
|
+
}
|
|
68
|
+
async notification(notification, options) {
|
|
69
|
+
if ((notification === null || notification === void 0 ? void 0 : notification.method) === 'notifications/initialized') {
|
|
70
|
+
const context = tegg_runtime_1.ContextHandler.getContext();
|
|
71
|
+
if (context) {
|
|
72
|
+
context.set(MCP_METHOD, constants_1.McpMethod.NOTIFICATION_INIT);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return super.notification(notification, options);
|
|
76
|
+
}
|
|
77
|
+
async callTool(params, resultSchema, options) {
|
|
78
|
+
const context = tegg_runtime_1.ContextHandler.getContext();
|
|
79
|
+
if (context) {
|
|
80
|
+
context.set(MCP_TOOL, params === null || params === void 0 ? void 0 : params.name);
|
|
81
|
+
context.set(MCP_METHOD, constants_1.McpMethod.CALL_TOOLS);
|
|
82
|
+
}
|
|
83
|
+
return super.callTool(params, resultSchema, options);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
exports.EggHttpMCPClient = EggHttpMCPClient;
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnSHR0cE1DUENsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkVnZ0h0dHBNQ1BDbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEsa0RBSTJCO0FBQzNCLHNEQUFxRDtBQUNyRCwyQ0FBd0M7QUFDeEMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFDL0MsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFXM0MsTUFBYSxnQkFBaUIsU0FBUSwwQkFBYTtJQUVqRCxZQUFZLE9BQWdDOztRQUMxQyxLQUFLLENBQUM7WUFDSixJQUFJLEVBQUUsT0FBTyxDQUFDLFVBQVU7WUFDeEIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxhQUFhO1NBQy9CLEVBQUU7WUFDRCxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7WUFDcEIsYUFBYSxFQUFFLE9BQU8sQ0FBQyxhQUFhO1lBQ3BDLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRztZQUNoQixNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU07WUFDdEIsZ0JBQWdCLEVBQUU7Z0JBQ2hCLEdBQUcsQ0FBQyxNQUFBLE9BQU8sQ0FBQyxnQkFBZ0IsbUNBQUksRUFBRSxDQUFDO2dCQUNuQyxJQUFJLFdBQVc7O29CQUNiLE9BQU87d0JBQ0wsR0FBRyxDQUFDLE1BQUEsTUFBQSxPQUFPLENBQUMsZ0JBQWdCLDBDQUFFLFdBQVcsbUNBQUksRUFBRSxDQUFDO3dCQUNoRCxJQUFJLE9BQU87OzRCQUNULE9BQU8sSUFBQSx5QkFBWSxFQUNqQixNQUFBLE1BQUEsT0FBTyxDQUFDLGdCQUFnQiwwQ0FBRSxXQUFXLDBDQUFFLE9BQU8sQ0FDL0MsQ0FBQzt3QkFDSixDQUFDO3FCQUNGLENBQUM7Z0JBQ0osQ0FBQzthQUNGO1lBQ0QsY0FBYyxFQUFFLE9BQU8sQ0FBQyxjQUFjO1NBQ3ZDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxNQUFNLEdBQUcsT0FB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
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Logger, ModuleConfig, ObjectInfo } from '@eggjs/tegg';
|
|
2
|
+
import { EggHttpMCPClient } from './EggHttpMCPClient';
|
|
3
|
+
export declare class EggHttpStaticMCPClient extends EggHttpMCPClient {
|
|
4
|
+
constructor(moduleConfig: ModuleConfig, logger: Logger, objInfo: ObjectInfo);
|
|
5
|
+
_init(): Promise<void>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
15
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
16
|
+
};
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.EggHttpStaticMCPClient = void 0;
|
|
19
|
+
const tegg_1 = require("@eggjs/tegg");
|
|
20
|
+
const urllib_1 = require("urllib");
|
|
21
|
+
const helper_1 = require("@eggjs/tegg/helper");
|
|
22
|
+
const mcp_client_1 = require("@eggjs/mcp-client");
|
|
23
|
+
const QualifierUtil_1 = require("./QualifierUtil");
|
|
24
|
+
const EggHttpMCPClient_1 = require("./EggHttpMCPClient");
|
|
25
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
26
|
+
let EggHttpStaticMCPClient = class EggHttpStaticMCPClient extends EggHttpMCPClient_1.EggHttpMCPClient {
|
|
27
|
+
constructor(moduleConfig, logger, objInfo) {
|
|
28
|
+
var _a, _b;
|
|
29
|
+
const configName = (0, mcp_client_1.getMCPClientName)(objInfo);
|
|
30
|
+
const sseClientConfig = (0, mcp_client_1.getMCPClientConfig)(moduleConfig, objInfo);
|
|
31
|
+
const clientName = (_a = sseClientConfig.clientName) !== null && _a !== void 0 ? _a : configName;
|
|
32
|
+
const mcpServerSubConfig = {
|
|
33
|
+
...sseClientConfig,
|
|
34
|
+
};
|
|
35
|
+
(0, node_assert_1.default)(mcpServerSubConfig.url, `not found mcpServerSubConfig.url for ${clientName}`);
|
|
36
|
+
super({
|
|
37
|
+
clientName,
|
|
38
|
+
clientVersion: (_b = sseClientConfig.version) !== null && _b !== void 0 ? _b : '1.0.0',
|
|
39
|
+
transportType: mcpServerSubConfig.transportType,
|
|
40
|
+
url: mcpServerSubConfig.url,
|
|
41
|
+
logger,
|
|
42
|
+
fetch: urllib_1.fetch,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
async _init() {
|
|
46
|
+
await super.init();
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
exports.EggHttpStaticMCPClient = EggHttpStaticMCPClient;
|
|
50
|
+
__decorate([
|
|
51
|
+
(0, tegg_1.LifecycleInit)(),
|
|
52
|
+
__metadata("design:type", Function),
|
|
53
|
+
__metadata("design:paramtypes", []),
|
|
54
|
+
__metadata("design:returntype", Promise)
|
|
55
|
+
], EggHttpStaticMCPClient.prototype, "_init", null);
|
|
56
|
+
exports.EggHttpStaticMCPClient = EggHttpStaticMCPClient = __decorate([
|
|
57
|
+
(0, tegg_1.MultiInstanceProto)({
|
|
58
|
+
accessLevel: tegg_1.AccessLevel.PUBLIC,
|
|
59
|
+
initType: tegg_1.ObjectInitType.SINGLETON,
|
|
60
|
+
// 从 module.yml 中动态获取配置来决定需要初始化几个对象
|
|
61
|
+
getObjects(ctx) {
|
|
62
|
+
var _a;
|
|
63
|
+
const config = helper_1.ModuleConfigUtil.loadModuleConfigSync(ctx.unitPath);
|
|
64
|
+
const moduleName = helper_1.ModuleConfigUtil.readModuleNameSync(ctx.unitPath);
|
|
65
|
+
const clients = (_a = config === null || config === void 0 ? void 0 : config.mcp) === null || _a === void 0 ? void 0 : _a.clients;
|
|
66
|
+
if (!clients)
|
|
67
|
+
return [];
|
|
68
|
+
return Object.keys(clients)
|
|
69
|
+
.filter(clientName => {
|
|
70
|
+
return clients[clientName].type === 'http';
|
|
71
|
+
})
|
|
72
|
+
.map((clientName) => {
|
|
73
|
+
const properQualifiers = {
|
|
74
|
+
...QualifierUtil_1.QualifierUtil.getModuleConfigQualifier(moduleName),
|
|
75
|
+
};
|
|
76
|
+
return {
|
|
77
|
+
name: mcp_client_1.MCPClientInjectName,
|
|
78
|
+
qualifiers: [{
|
|
79
|
+
attribute: mcp_client_1.MCPClientQualifierAttribute,
|
|
80
|
+
value: clientName,
|
|
81
|
+
}],
|
|
82
|
+
properQualifiers,
|
|
83
|
+
};
|
|
84
|
+
});
|
|
85
|
+
},
|
|
86
|
+
}),
|
|
87
|
+
__param(0, (0, tegg_1.Inject)()),
|
|
88
|
+
__param(1, (0, tegg_1.Inject)()),
|
|
89
|
+
__param(2, (0, tegg_1.MultiInstanceInfo)([mcp_client_1.MCPClientQualifierAttribute])),
|
|
90
|
+
__metadata("design:paramtypes", [Object, Object, Object])
|
|
91
|
+
], EggHttpStaticMCPClient);
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnSHR0cFN0YXRpY01DUENsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkVnZ0h0dHBTdGF0aWNNQ1BDbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsc0NBWXFCO0FBQ3JCLG1DQUErQjtBQUMvQiwrQ0FBc0Q7QUFDdEQsa0RBSzJCO0FBQzNCLG1EQUFnRDtBQUNoRCx5REFBc0Q7QUFDdEQsOERBQWlDO0FBOEIxQixJQUFNLHNCQUFzQixHQUE1QixNQUFNLHNCQUF1QixTQUFRLG1DQUFnQjtJQUMxRCxZQUNZLFlBQTBCLEVBQzFCLE1BQWMsRUFDNEIsT0FBbUI7O1FBRXZFLE1BQU0sVUFBVSxHQUFHLElBQUEsNkJBQWdCLEVBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0MsTUFBTSxlQUFlLEdBQUcsSUFBQSwrQkFBa0IsRUFBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDbEUsTUFBTSxVQUFVLEdBQUcsTUFBQSxlQUFlLENBQUMsVUFBVSxtQ0FBSSxVQUFVLENBQUM7UUFDNUQsTUFBTSxrQkFBa0IsR0FBRztZQUN6QixHQUFHLGVBQWU7U0FDbkIsQ0FBQztRQUVGLElBQUEscUJBQU0sRUFBQyxrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsd0NBQXdDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFFckYsS0FBSyxDQUFDO1lBQ0osVUFBVTtZQUNWLGFBQWEsRUFBRSxNQUFBLGVBQWUsQ0FBQyxPQUFPLG1DQUFJLE9BQU87WUFDakQsYUFBYSxFQUFFLGtCQUFrQixDQUFDLGFBQW9CO1lBQ3RELEdBQUcsRUFBRSxrQkFBa0IsQ0FBQyxHQUFHO1lBQzNCLE1BQU07WUFDTixLQUFLLEVBQUwsY0FBSztTQUNOLENBQUMsQ0FBQztJQUNMLENBQUM7SUFHSyxBQUFOLEtBQUssQ0FBQyxLQUFLO1FBQ1QsTUFBTSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDckIsQ0FBQztDQUNGLENBQUE7QUE3Qlksd0RBQXNCO0FBMEIzQjtJQURMLElBQUEsb0JBQWEsR0FBRTs7OzttREFHZjtpQ0E1QlUsc0JBQXNCO0lBNUJsQyxJQUFBLHlCQUFrQixFQUFDO1FBQ2xCLFdBQVcsRUFBRSxrQkFBVyxDQUFDLE1BQU07UUFDL0IsUUFBUSxFQUFFLHFCQUFjLENBQUMsU0FBUztRQUNsQyxtQ0FBbUM7UUFDbkMsVUFBVSxDQUFDLEdBQTRDOztZQUNyRCxNQUFNLE1BQU0sR0FBRyx5QkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUE2QixDQUFDO1lBQy9GLE1BQU0sVUFBVSxHQUFHLHlCQUFnQixDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNyRSxNQUFNLE9BQU8sR0FBRyxNQUFBLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxHQUFHLDBDQUFFLE9BQU8sQ0FBQztZQUNyQyxJQUFJLENBQUMsT0FBTztnQkFBRSxPQUFPLEVBQUUsQ0FBQztZQUN4QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO2lCQUN4QixNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ25CLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksS0FBSyxNQUFNLENBQUM7WUFDN0MsQ0FBQyxDQUFDO2lCQUNELEdBQUcsQ0FBQyxDQUFDLFVBQWtCLEVBQUUsRUFBRTtnQkFDMUIsTUFBTSxnQkFBZ0IsR0FBeUM7b0JBQzdELEdBQUcsNkJBQWEsQ0FBQyx3QkFBd0IsQ0FBQyxVQUFVLENBQUM7aUJBQ3RELENBQUM7Z0JBQ0YsT0FBTztvQkFDTCxJQUFJLEVBQUUsZ0NBQW1CO29CQUN6QixVQUFVLEVBQUUsQ0FBQzs0QkFDWCxTQUFTLEVBQUUsd0NBQTJCOzRCQUN0QyxLQUFLLEVBQUUsVUFBVTt5QkFDbEIsQ0FBQztvQkFDRixnQkFBZ0I7aUJBQ2pCLENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7S0FDRixDQUFDO0lBR0csV0FBQSxJQUFBLGFBQU0sR0FBRSxDQUFBO0lBQ1IsV0FBQSxJQUFBLGFBQU0sR0FBRSxDQUFBO0lBQ1IsV0FBQSxJQUFBLHdCQUFpQixFQUFDLENBQUUsd0NBQTJCLENBQUUsQ0FBQyxDQUFBOztHQUoxQyxzQkFBc0IsQ0E2QmxDIn0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Implementation } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
import { HttpClientOptions } from '@eggjs/mcp-client';
|
|
3
|
+
import { EggHttpMCPClient } from './EggHttpMCPClient';
|
|
4
|
+
export declare class HttpMCPClientFactory {
|
|
5
|
+
private readonly logger;
|
|
6
|
+
build(clientInfo: Implementation, options: Omit<HttpClientOptions, 'logger'>): Promise<EggHttpMCPClient>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.HttpMCPClientFactory = void 0;
|
|
13
|
+
const tegg_1 = require("@eggjs/tegg");
|
|
14
|
+
const EggHttpMCPClient_1 = require("./EggHttpMCPClient");
|
|
15
|
+
const urllib_1 = require("urllib");
|
|
16
|
+
let HttpMCPClientFactory = class HttpMCPClientFactory {
|
|
17
|
+
async build(clientInfo, options) {
|
|
18
|
+
const httpMCPClient = new EggHttpMCPClient_1.EggHttpMCPClient({
|
|
19
|
+
clientName: clientInfo.name,
|
|
20
|
+
clientVersion: clientInfo.version,
|
|
21
|
+
fetch: urllib_1.fetch,
|
|
22
|
+
...options,
|
|
23
|
+
logger: this.logger,
|
|
24
|
+
});
|
|
25
|
+
await httpMCPClient.init();
|
|
26
|
+
return httpMCPClient;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
exports.HttpMCPClientFactory = HttpMCPClientFactory;
|
|
30
|
+
__decorate([
|
|
31
|
+
(0, tegg_1.Inject)(),
|
|
32
|
+
__metadata("design:type", Object)
|
|
33
|
+
], HttpMCPClientFactory.prototype, "logger", void 0);
|
|
34
|
+
exports.HttpMCPClientFactory = HttpMCPClientFactory = __decorate([
|
|
35
|
+
(0, tegg_1.SingletonProto)({
|
|
36
|
+
accessLevel: tegg_1.AccessLevel.PUBLIC,
|
|
37
|
+
name: 'httpMcpClientFactory',
|
|
38
|
+
})
|
|
39
|
+
], HttpMCPClientFactory);
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cE1DUENsaWVudEZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJIdHRwTUNQQ2xpZW50RmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxzQ0FLcUI7QUFLckIseURBQXNEO0FBQ3RELG1DQUErQjtBQU14QixJQUFNLG9CQUFvQixHQUExQixNQUFNLG9CQUFvQjtJQUsvQixLQUFLLENBQUMsS0FBSyxDQUFDLFVBQTBCLEVBQUUsT0FBMEM7UUFDaEYsTUFBTSxhQUFhLEdBQUcsSUFBSSxtQ0FBZ0IsQ0FBQztZQUN6QyxVQUFVLEVBQUUsVUFBVSxDQUFDLElBQUk7WUFDM0IsYUFBYSxFQUFFLFVBQVUsQ0FBQyxPQUFPO1lBQ2pDLEtBQUssRUFBTCxjQUFLO1lBQ0wsR0FBRyxPQUE0QjtZQUMvQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztDQUNGLENBQUE7QUFoQlksb0RBQW9CO0FBRWQ7SUFEaEIsSUFBQSxhQUFNLEdBQUU7O29EQUN1QjsrQkFGckIsb0JBQW9CO0lBSmhDLElBQUEscUJBQWMsRUFBQztRQUNkLFdBQVcsRUFBRSxrQkFBVyxDQUFDLE1BQU07UUFDL0IsSUFBSSxFQUFFLHNCQUFzQjtLQUM3QixDQUFDO0dBQ1csb0JBQW9CLENBZ0JoQyJ9
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.QualifierUtil = void 0;
|
|
4
|
+
const tegg_1 = require("@eggjs/tegg");
|
|
5
|
+
// TODO refactor to ModuleConfig and mist impl
|
|
6
|
+
class QualifierUtil {
|
|
7
|
+
static getModuleConfigQualifier(moduleName) {
|
|
8
|
+
return {
|
|
9
|
+
moduleConfig: [{
|
|
10
|
+
attribute: tegg_1.ConfigSourceQualifierAttribute,
|
|
11
|
+
value: moduleName,
|
|
12
|
+
}],
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.QualifierUtil = QualifierUtil;
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUXVhbGlmaWVyVXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIlF1YWxpZmllclV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0NBQTZEO0FBRTdELDhDQUE4QztBQUM5QyxNQUFhLGFBQWE7SUFDeEIsTUFBTSxDQUFDLHdCQUF3QixDQUFDLFVBQWtCO1FBQ2hELE9BQU87WUFDTCxZQUFZLEVBQUUsQ0FBQztvQkFDYixTQUFTLEVBQUUscUNBQThCO29CQUN6QyxLQUFLLEVBQUUsVUFBVTtpQkFDbEIsQ0FBQztTQUNILENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFURCxzQ0FTQyJ9
|
package/lib/constants.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.McpMethod = void 0;
|
|
4
|
+
var McpMethod;
|
|
5
|
+
(function (McpMethod) {
|
|
6
|
+
McpMethod["INITIALIZE"] = "initialize";
|
|
7
|
+
McpMethod["NOTIFICATION_INIT"] = "notifications/initialized";
|
|
8
|
+
McpMethod["LIST_TOOLS"] = "tools/list";
|
|
9
|
+
McpMethod["CALL_TOOLS"] = "tools/call";
|
|
10
|
+
McpMethod["LIST_PROMPTS"] = "prompts/list";
|
|
11
|
+
McpMethod["LIST_RESOURCES"] = "resources/list";
|
|
12
|
+
})(McpMethod || (exports.McpMethod = McpMethod = {}));
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksU0FPWDtBQVBELFdBQVksU0FBUztJQUNuQixzQ0FBdUIsQ0FBQTtJQUN2Qiw0REFBNkMsQ0FBQTtJQUM3QyxzQ0FBdUIsQ0FBQTtJQUN2QixzQ0FBdUIsQ0FBQTtJQUN2QiwwQ0FBMkIsQ0FBQTtJQUMzQiw4Q0FBK0IsQ0FBQTtBQUNqQyxDQUFDLEVBUFcsU0FBUyx5QkFBVCxTQUFTLFFBT3BCIn0=
|
package/package.json
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@eggjs/tegg-mcp-client",
|
|
3
|
+
"eggPlugin": {
|
|
4
|
+
"name": "teggMcpClient",
|
|
5
|
+
"dependencies": [
|
|
6
|
+
"tegg"
|
|
7
|
+
]
|
|
8
|
+
},
|
|
9
|
+
"eggModule": {
|
|
10
|
+
"name": "teggMcpClient"
|
|
11
|
+
},
|
|
12
|
+
"main": "index.js",
|
|
13
|
+
"version": "3.64.2",
|
|
14
|
+
"description": "mcp client for egg",
|
|
15
|
+
"keywords": [
|
|
16
|
+
"egg",
|
|
17
|
+
"plugin",
|
|
18
|
+
"typescript",
|
|
19
|
+
"module",
|
|
20
|
+
"tegg",
|
|
21
|
+
"mcp"
|
|
22
|
+
],
|
|
23
|
+
"files": [
|
|
24
|
+
"app.js",
|
|
25
|
+
"app.d.ts",
|
|
26
|
+
"index.js",
|
|
27
|
+
"index.d.ts",
|
|
28
|
+
"lib/**/*.js",
|
|
29
|
+
"lib/**/*.d.ts",
|
|
30
|
+
"app/**/*.js",
|
|
31
|
+
"app/**/*.d.ts",
|
|
32
|
+
"typings/*.d.ts"
|
|
33
|
+
],
|
|
34
|
+
"types": "typings/index.d.ts",
|
|
35
|
+
"scripts": {
|
|
36
|
+
"test": "cross-env NODE_ENV=test NODE_OPTIONS='--no-deprecation' mocha",
|
|
37
|
+
"clean": "tsc -b --clean",
|
|
38
|
+
"tsc": "npm run clean && tsc -p ./tsconfig.json",
|
|
39
|
+
"tsc:pub": "npm run clean && tsc -p ./tsconfig.pub.json",
|
|
40
|
+
"prepublishOnly": "npm run tsc:pub"
|
|
41
|
+
},
|
|
42
|
+
"homepage": "https://github.com/eggjs/tegg",
|
|
43
|
+
"bugs": {
|
|
44
|
+
"url": "https://github.com/eggjs/tegg/issues"
|
|
45
|
+
},
|
|
46
|
+
"repository": {
|
|
47
|
+
"type": "git",
|
|
48
|
+
"url": "git@github.com:eggjs/tegg.git",
|
|
49
|
+
"directory": "plugin/mcp-client"
|
|
50
|
+
},
|
|
51
|
+
"egg": {
|
|
52
|
+
"typescript": true
|
|
53
|
+
},
|
|
54
|
+
"engines": {
|
|
55
|
+
"node": ">=18.0.0"
|
|
56
|
+
},
|
|
57
|
+
"dependencies": {
|
|
58
|
+
"@eggjs/egg-module-common": "^3.64.2",
|
|
59
|
+
"@eggjs/mcp-client": "^3.64.2",
|
|
60
|
+
"@eggjs/tegg": "^3.64.2",
|
|
61
|
+
"@eggjs/tegg-common-util": "^3.64.2",
|
|
62
|
+
"@eggjs/tegg-lifecycle": "^3.64.2",
|
|
63
|
+
"@eggjs/tegg-loader": "^3.64.2",
|
|
64
|
+
"@eggjs/tegg-metadata": "^3.64.2",
|
|
65
|
+
"@eggjs/tegg-runtime": "^3.64.2",
|
|
66
|
+
"@types/koa-router": "^7.0.40",
|
|
67
|
+
"koa-compose": "^3.2.1",
|
|
68
|
+
"sdk-base": "^4.2.0",
|
|
69
|
+
"urllib": "^4.4.0"
|
|
70
|
+
},
|
|
71
|
+
"devDependencies": {
|
|
72
|
+
"@eggjs/module-test-util": "^3.64.2",
|
|
73
|
+
"@eggjs/router": "^2.0.0",
|
|
74
|
+
"@eggjs/tegg-config": "^3.64.2",
|
|
75
|
+
"@eggjs/tegg-controller-plugin": "^3.64.2",
|
|
76
|
+
"@eggjs/tegg-plugin": "^3.64.2",
|
|
77
|
+
"@types/mocha": "^10.0.1",
|
|
78
|
+
"@types/node": "^20.2.4",
|
|
79
|
+
"cross-env": "^7.0.3",
|
|
80
|
+
"egg": "^3.9.1",
|
|
81
|
+
"egg-mock": "^5.5.0",
|
|
82
|
+
"egg-tracer": "^2.0.0",
|
|
83
|
+
"koa-router": "^8.0.8",
|
|
84
|
+
"mocha": "^10.2.0",
|
|
85
|
+
"mysql": "^2.18.1",
|
|
86
|
+
"ts-node": "^10.9.1",
|
|
87
|
+
"typescript": "^5.0.4"
|
|
88
|
+
},
|
|
89
|
+
"publishConfig": {
|
|
90
|
+
"access": "public"
|
|
91
|
+
},
|
|
92
|
+
"gitHead": "26842700a7d53c08d544fad51882c6e12f40e7cb"
|
|
93
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import '@eggjs/mcp-client/typings';
|