openmcp-sdk 0.0.3 → 0.0.5
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/main.js +59 -0
- package/package.json +5 -2
- package/renderer/CascadiaCode.woff2 +0 -0
- package/renderer/animation.css +121 -0
- package/renderer/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- package/renderer/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- package/renderer/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- package/renderer/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- package/renderer/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- package/renderer/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- package/renderer/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- package/renderer/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- package/renderer/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- package/renderer/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- package/renderer/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- package/renderer/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- package/renderer/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- package/renderer/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- package/renderer/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- package/renderer/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- package/renderer/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- package/renderer/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- package/renderer/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- package/renderer/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- package/renderer/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- package/renderer/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- package/renderer/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- package/renderer/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- package/renderer/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- package/renderer/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- package/renderer/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- package/renderer/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- package/renderer/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- package/renderer/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- package/renderer/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- package/renderer/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- package/renderer/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- package/renderer/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- package/renderer/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- package/renderer/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- package/renderer/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- package/renderer/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- package/renderer/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- package/renderer/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- package/renderer/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- package/renderer/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- package/renderer/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- package/renderer/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- package/renderer/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- package/renderer/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- package/renderer/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- package/renderer/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- package/renderer/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- package/renderer/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- package/renderer/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- package/renderer/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- package/renderer/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- package/renderer/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- package/renderer/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- package/renderer/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- package/renderer/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- package/renderer/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- package/renderer/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- package/renderer/assets/index-3W5tQSKs.js +447 -0
- package/renderer/assets/style-DX4gh5fe.css +1 -0
- package/renderer/default-dark.css +772 -0
- package/renderer/default-light.css +777 -0
- package/renderer/favicon.png +0 -0
- package/renderer/iconfont.css +219 -0
- package/renderer/iconfont.woff2 +0 -0
- package/renderer/images/deepseek.com.ico +0 -0
- package/renderer/images/grok.com.png +0 -0
- package/renderer/images/gstatic.com.svg +22 -0
- package/renderer/images/kimichat.cn.png +0 -0
- package/renderer/images/mistral.ai.ico +0 -0
- package/renderer/images/ollama.png +0 -0
- package/renderer/images/openai.com.ico +0 -0
- package/renderer/images/openmcp-qq-qrcode.jpg +0 -0
- package/renderer/images/openmcp.png +0 -0
- package/renderer/images/openmcp.svg +22 -0
- package/renderer/images/perplexity.ai.ico +0 -0
- package/renderer/index.html +19 -0
- package/renderer/mcp.css +230 -0
- package/renderer/sf-mono-regular.woff2 +0 -0
- package/renderer/vscode.css +149 -0
- package/service/common/index.d.ts +1 -2
- package/service/common/index.d.ts.map +1 -1
- package/service/common/index.dto.d.ts +7 -3
- package/service/common/index.dto.d.ts.map +1 -1
- package/service/common/index.dto.js +1 -2
- package/service/common/index.js +4 -8
- package/service/common/router.d.ts +7 -7
- package/service/common/router.d.ts.map +1 -1
- package/service/common/router.js +18 -22
- package/service/hook/adapter.d.ts +10 -17
- package/service/hook/adapter.d.ts.map +1 -1
- package/service/hook/adapter.js +31 -51
- package/service/hook/axios-fetch.d.ts +7 -0
- package/service/hook/axios-fetch.d.ts.map +1 -0
- package/service/hook/axios-fetch.js +162 -0
- package/service/hook/db.d.ts.map +1 -1
- package/service/hook/db.js +11 -50
- package/service/hook/llm.d.ts.map +1 -1
- package/service/hook/llm.js +49 -4
- package/service/hook/setting.js +6 -11
- package/service/hook/types.js +1 -2
- package/service/hook/util.d.ts +2 -0
- package/service/hook/util.d.ts.map +1 -0
- package/service/hook/util.js +1 -0
- package/service/index.d.ts +4 -4
- package/service/index.d.ts.map +1 -1
- package/service/index.js +4 -14
- package/service/llm/llm.controller.d.ts +9 -4
- package/service/llm/llm.controller.d.ts.map +1 -1
- package/service/llm/llm.controller.js +27 -20
- package/service/llm/llm.dto.d.ts +15 -0
- package/service/llm/llm.dto.d.ts.map +1 -1
- package/service/llm/llm.dto.js +1 -2
- package/service/llm/llm.service.d.ts +3 -3
- package/service/llm/llm.service.d.ts.map +1 -1
- package/service/llm/llm.service.js +48 -28
- package/service/main.d.ts +7 -0
- package/service/main.d.ts.map +1 -0
- package/service/main.js +107 -0
- package/service/mcp/auth.service.d.ts +23 -0
- package/service/mcp/auth.service.d.ts.map +1 -0
- package/service/mcp/auth.service.js +158 -0
- package/service/mcp/client.controller.d.ts +146 -40
- package/service/mcp/client.controller.d.ts.map +1 -1
- package/service/mcp/client.controller.js +34 -31
- package/service/mcp/client.dto.d.ts +4 -3
- package/service/mcp/client.dto.d.ts.map +1 -1
- package/service/mcp/client.dto.js +1 -2
- package/service/mcp/client.service.d.ts +140 -32
- package/service/mcp/client.service.d.ts.map +1 -1
- package/service/mcp/client.service.js +55 -22
- package/service/mcp/connect.controller.d.ts +5 -5
- package/service/mcp/connect.controller.d.ts.map +1 -1
- package/service/mcp/connect.controller.js +28 -15
- package/service/mcp/connect.service.d.ts +7 -5
- package/service/mcp/connect.service.d.ts.map +1 -1
- package/service/mcp/connect.service.js +235 -27
- package/service/mcp/ocr.controller.d.ts +3 -4
- package/service/mcp/ocr.controller.d.ts.map +1 -1
- package/service/mcp/ocr.controller.js +11 -15
- package/service/mcp/ocr.dto.js +1 -2
- package/service/mcp/ocr.service.d.ts +2 -2
- package/service/mcp/ocr.service.d.ts.map +1 -1
- package/service/mcp/ocr.service.js +21 -64
- package/service/panel/panel.controller.d.ts +9 -9
- package/service/panel/panel.controller.d.ts.map +1 -1
- package/service/panel/panel.controller.js +28 -26
- package/service/panel/panel.dto.js +1 -2
- package/service/panel/panel.service.d.ts +3 -3
- package/service/panel/panel.service.d.ts.map +1 -1
- package/service/panel/panel.service.js +7 -44
- package/service/server.d.ts +7 -0
- package/service/server.d.ts.map +1 -0
- package/service/server.js +131 -0
- package/service/setting/setting.controller.d.ts +7 -7
- package/service/setting/setting.controller.d.ts.map +1 -1
- package/service/setting/setting.controller.js +15 -21
- package/service/setting/setting.dto.js +1 -2
- package/service/setting/setting.service.d.ts +1 -1
- package/service/setting/setting.service.d.ts.map +1 -1
- package/service/setting/setting.service.js +14 -49
- package/task-loop.d.ts +87 -3
- package/task-loop.js +8480 -205
- package/tools.js +8 -1
- package/task-loop.js.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1G,eAAO,MAAM,qBAAqB,wDAA+D,CAAC;AAElG,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,gBAAqB,IACrD,CAAC,EAAE,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,gBAAgB,CAAC,CAAC,CAAC,yBAUvF"}
|
@@ -1,7 +1,11 @@
|
|
1
|
-
import { PostMessageble } from "../hook/adapter";
|
2
|
-
import { McpClient } from "../mcp/client.service";
|
1
|
+
import { PostMessageble } from "../hook/adapter.js";
|
2
|
+
import { McpClient } from "../mcp/client.service.js";
|
3
3
|
export type RequestClientType = McpClient | undefined;
|
4
|
-
export
|
4
|
+
export interface RequestData {
|
5
|
+
clientId?: string;
|
6
|
+
[key: string]: any;
|
7
|
+
}
|
8
|
+
export type RequestHandler<T, R> = (data: T & RequestData, webview: PostMessageble) => Promise<R>;
|
5
9
|
export interface RequestHandlerStore<T, R> {
|
6
10
|
handler: RequestHandler<T, R>;
|
7
11
|
option?: ControllerOption;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.dto.d.ts","sourceRoot":"","sources":["../../src/common/index.dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,
|
1
|
+
{"version":3,"file":"index.dto.d.ts","sourceRoot":"","sources":["../../src/common/index.dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,SAAS,CAAC;AAEtD,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,MAAM,MAAM,cAAc,CAAC,CAAC,EAAE,CAAC,IAAI,CAC/B,IAAI,EAAE,CAAC,GAAG,WAAW,EACrB,OAAO,EAAE,cAAc,KACtB,OAAO,CAAC,CAAC,CAAC,CAAC;AAEhB,MAAM,WAAW,mBAAmB,CAAC,CAAC,EAAE,CAAC;IACrC,OAAO,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAC7B,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,IAAI,GAAG,CAAC;IACZ,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,GAAG,CAAC;CACZ;AAED,MAAM,WAAW,gBAAgB;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB"}
|
@@ -1,2 +1 @@
|
|
1
|
-
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
1
|
+
export {};
|
package/service/common/index.js
CHANGED
@@ -1,16 +1,12 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
exports.requestHandlerStorage = void 0;
|
4
|
-
exports.Controller = Controller;
|
5
|
-
exports.requestHandlerStorage = new Map();
|
6
|
-
function Controller(command, option = {}) {
|
1
|
+
export const requestHandlerStorage = new Map();
|
2
|
+
export function Controller(command, option = {}) {
|
7
3
|
return function (target, propertykey, descriptor) {
|
8
4
|
const handler = descriptor.value;
|
9
|
-
if (
|
5
|
+
if (requestHandlerStorage.has(command)) {
|
10
6
|
throw new Error(`Duplicate request handler for ${command}`);
|
11
7
|
}
|
12
8
|
if (handler) {
|
13
|
-
|
9
|
+
requestHandlerStorage.set(command, { handler, option });
|
14
10
|
}
|
15
11
|
return descriptor;
|
16
12
|
};
|
@@ -1,10 +1,10 @@
|
|
1
|
-
import type { PostMessageble } from "../hook/adapter";
|
2
|
-
import { LlmController } from "../llm/llm.controller";
|
3
|
-
import { ClientController } from "../mcp/client.controller";
|
4
|
-
import { ConnectController } from "../mcp/connect.controller";
|
5
|
-
import { OcrController } from "../mcp/ocr.controller";
|
6
|
-
import { PanelController } from "../panel/panel.controller";
|
7
|
-
import { SettingController } from "../setting/setting.controller";
|
1
|
+
import type { PostMessageble } from "../hook/adapter.js";
|
2
|
+
import { LlmController } from "../llm/llm.controller.js";
|
3
|
+
import { ClientController } from "../mcp/client.controller.js";
|
4
|
+
import { ConnectController } from "../mcp/connect.controller.js";
|
5
|
+
import { OcrController } from "../mcp/ocr.controller.js";
|
6
|
+
import { PanelController } from "../panel/panel.controller.js";
|
7
|
+
import { SettingController } from "../setting/setting.controller.js";
|
8
8
|
export declare const ModuleControllers: (typeof LlmController | typeof ClientController | typeof ConnectController | typeof OcrController | typeof PanelController | typeof SettingController)[];
|
9
9
|
export declare function routeMessage(command: string, data: any, webview: PostMessageble): Promise<void>;
|
10
10
|
//# sourceMappingURL=router.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/common/router.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/common/router.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE,eAAO,MAAM,iBAAiB,0JAO7B,CAAC;AAEF,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,iBAwBrF"}
|
package/service/common/router.js
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
"use strict";
|
2
1
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
2
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
3
|
return new (P || (P = Promise))(function (resolve, reject) {
|
@@ -8,39 +7,36 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
8
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
8
|
});
|
10
9
|
};
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
const
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
llm_controller_1.LlmController,
|
26
|
-
panel_controller_1.PanelController,
|
27
|
-
setting_controller_1.SettingController,
|
28
|
-
ocr_controller_1.OcrController
|
10
|
+
import { requestHandlerStorage } from "./index.js";
|
11
|
+
import { LlmController } from "../llm/llm.controller.js";
|
12
|
+
import { ClientController } from "../mcp/client.controller.js";
|
13
|
+
import { ConnectController } from "../mcp/connect.controller.js";
|
14
|
+
import { OcrController } from "../mcp/ocr.controller.js";
|
15
|
+
import { PanelController } from "../panel/panel.controller.js";
|
16
|
+
import { SettingController } from "../setting/setting.controller.js";
|
17
|
+
export const ModuleControllers = [
|
18
|
+
ConnectController,
|
19
|
+
ClientController,
|
20
|
+
LlmController,
|
21
|
+
PanelController,
|
22
|
+
SettingController,
|
23
|
+
OcrController
|
29
24
|
];
|
30
|
-
function routeMessage(command, data, webview) {
|
25
|
+
export function routeMessage(command, data, webview) {
|
31
26
|
return __awaiter(this, void 0, void 0, function* () {
|
32
|
-
const handlerStore =
|
27
|
+
const handlerStore = requestHandlerStorage.get(command);
|
33
28
|
if (handlerStore) {
|
34
29
|
const { handler, option = {} } = handlerStore;
|
35
30
|
try {
|
36
31
|
// TODO: select client based on something
|
37
|
-
const res = yield handler(
|
32
|
+
const res = yield handler(data, webview);
|
38
33
|
// res.code = -1 代表当前请求不需要返回发送
|
39
34
|
if (res.code >= 0) {
|
40
35
|
webview.postMessage({ command, data: res });
|
41
36
|
}
|
42
37
|
}
|
43
38
|
catch (error) {
|
39
|
+
// console.error(error);
|
44
40
|
webview.postMessage({
|
45
41
|
command, data: {
|
46
42
|
code: 500,
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { WebSocket } from 'ws';
|
2
2
|
import { EventEmitter } from 'events';
|
3
|
-
import {
|
3
|
+
import { ConnectionType } from '../mcp/client.dto.js';
|
4
4
|
export interface WebSocketMessage {
|
5
5
|
command: string;
|
6
6
|
data: any;
|
@@ -13,6 +13,13 @@ export interface WebSocketResponse {
|
|
13
13
|
export interface PostMessageble {
|
14
14
|
postMessage(message: any): void;
|
15
15
|
}
|
16
|
+
export interface IConnectionArgs {
|
17
|
+
connectionType: ConnectionType;
|
18
|
+
commandString?: string;
|
19
|
+
cwd?: string;
|
20
|
+
url?: string;
|
21
|
+
oauth?: string;
|
22
|
+
}
|
16
23
|
export type MessageHandler = (message: any) => void;
|
17
24
|
export declare class VSCodeWebViewLike {
|
18
25
|
private ws;
|
@@ -35,6 +42,7 @@ export declare class VSCodeWebViewLike {
|
|
35
42
|
export declare class TaskLoopAdapter {
|
36
43
|
emitter: EventEmitter;
|
37
44
|
private messageHandlers;
|
45
|
+
private connectionOptions;
|
38
46
|
constructor(option?: any);
|
39
47
|
/**
|
40
48
|
* @description 发送消息
|
@@ -53,21 +61,6 @@ export declare class TaskLoopAdapter {
|
|
53
61
|
* @description 连接到 mcp 服务端
|
54
62
|
* @param mcpOption
|
55
63
|
*/
|
56
|
-
|
57
|
-
/**
|
58
|
-
* @description 获取 mcp 服务器的工具列表
|
59
|
-
* @returns
|
60
|
-
*/
|
61
|
-
listTools(): Promise<{
|
62
|
-
enabled: boolean;
|
63
|
-
name: string;
|
64
|
-
inputSchema: {
|
65
|
-
type: "object";
|
66
|
-
properties?: import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough"> | undefined;
|
67
|
-
} & {
|
68
|
-
[k: string]: unknown;
|
69
|
-
};
|
70
|
-
description?: string | undefined;
|
71
|
-
}[]>;
|
64
|
+
addMcp(mcpOption: IConnectionArgs): void;
|
72
65
|
}
|
73
66
|
//# sourceMappingURL=adapter.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/hook/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/hook/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAc,MAAM,sBAAsB,CAAC;AAIlE,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,GAAG,CAAC;CACb;AAGD,MAAM,WAAW,iBAAiB;IAC9B,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC3B,WAAW,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC5B,cAAc,EAAE,cAAc,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;AAEpD,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,EAAE,CAAY;IACtB,OAAO,CAAC,eAAe,CAAsB;gBAEjC,EAAE,EAAE,SAAS;IAezB;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAQ5C;;;;OAIG;IACH,mBAAmB,CAAC,QAAQ,EAAE,cAAc,GAAG;QAAE,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE;CAMzE;AAGD,qBAAa,eAAe;IACjB,OAAO,EAAE,YAAY,CAAC;IAC7B,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,iBAAiB,CAAyB;gBAEtC,MAAM,CAAC,EAAE,GAAG;IAmCxB;;;OAGG;IACI,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAInD;;;;OAIG;IACI,mBAAmB,CAAC,QAAQ,EAAE,cAAc,GAAG;QAAE,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE;IAO7E;;;OAGG;IACI,MAAM,CAAC,SAAS,EAAE,eAAe;CAS3C"}
|
package/service/hook/adapter.js
CHANGED
@@ -1,20 +1,7 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
-
});
|
10
|
-
};
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
12
|
-
exports.TaskLoopAdapter = exports.VSCodeWebViewLike = void 0;
|
13
|
-
const ws_1 = require("ws");
|
14
|
-
const events_1 = require("events");
|
15
|
-
const router_1 = require("../common/router");
|
16
|
-
const connect_service_1 = require("../mcp/connect.service");
|
17
|
-
class VSCodeWebViewLike {
|
1
|
+
import { WebSocket } from 'ws';
|
2
|
+
import { EventEmitter } from 'events';
|
3
|
+
import { routeMessage } from '../common/router.js';
|
4
|
+
export class VSCodeWebViewLike {
|
18
5
|
constructor(ws) {
|
19
6
|
this.ws = ws;
|
20
7
|
this.messageHandlers = new Set();
|
@@ -34,7 +21,7 @@ class VSCodeWebViewLike {
|
|
34
21
|
* @param message - 包含 command 和 args 的消息
|
35
22
|
*/
|
36
23
|
postMessage(message) {
|
37
|
-
if (this.ws.readyState ===
|
24
|
+
if (this.ws.readyState === WebSocket.OPEN) {
|
38
25
|
this.ws.send(JSON.stringify(message));
|
39
26
|
}
|
40
27
|
else {
|
@@ -53,10 +40,10 @@ class VSCodeWebViewLike {
|
|
53
40
|
};
|
54
41
|
}
|
55
42
|
}
|
56
|
-
|
57
|
-
class TaskLoopAdapter {
|
43
|
+
export class TaskLoopAdapter {
|
58
44
|
constructor(option) {
|
59
|
-
this.
|
45
|
+
this.connectionOptions = [];
|
46
|
+
this.emitter = new EventEmitter(option);
|
60
47
|
this.messageHandlers = new Set();
|
61
48
|
this.emitter.on('message/renderer', (message) => {
|
62
49
|
this.messageHandlers.forEach((handler) => handler(message));
|
@@ -64,7 +51,23 @@ class TaskLoopAdapter {
|
|
64
51
|
// 默认需要将监听的消息导入到 routeMessage 中
|
65
52
|
this.onDidReceiveMessage((message) => {
|
66
53
|
const { command, data } = message;
|
67
|
-
|
54
|
+
switch (command) {
|
55
|
+
case 'nodejs/launch-signature':
|
56
|
+
this.postMessage({
|
57
|
+
command: 'nodejs/launch-signature',
|
58
|
+
data: {
|
59
|
+
code: 200,
|
60
|
+
msg: this.connectionOptions
|
61
|
+
}
|
62
|
+
});
|
63
|
+
break;
|
64
|
+
case 'nodejs/update-connection-signature':
|
65
|
+
// sdk 模式下不需要自动保存连接参数
|
66
|
+
break;
|
67
|
+
default:
|
68
|
+
routeMessage(command, data, this);
|
69
|
+
break;
|
70
|
+
}
|
68
71
|
});
|
69
72
|
}
|
70
73
|
/**
|
@@ -89,34 +92,11 @@ class TaskLoopAdapter {
|
|
89
92
|
* @description 连接到 mcp 服务端
|
90
93
|
* @param mcpOption
|
91
94
|
*/
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
console.log(version);
|
99
|
-
}
|
100
|
-
else {
|
101
|
-
console.error('❌ 连接 mcp 服务器失败:' + res.msg);
|
102
|
-
}
|
103
|
-
});
|
104
|
-
}
|
105
|
-
/**
|
106
|
-
* @description 获取 mcp 服务器的工具列表
|
107
|
-
* @returns
|
108
|
-
*/
|
109
|
-
listTools() {
|
110
|
-
return __awaiter(this, void 0, void 0, function* () {
|
111
|
-
const tools = yield (connect_service_1.client === null || connect_service_1.client === void 0 ? void 0 : connect_service_1.client.listTools());
|
112
|
-
if (tools === null || tools === void 0 ? void 0 : tools.tools) {
|
113
|
-
return tools.tools.map((tool) => {
|
114
|
-
const enabledTools = Object.assign(Object.assign({}, tool), { enabled: true });
|
115
|
-
return enabledTools;
|
116
|
-
});
|
117
|
-
}
|
118
|
-
return [];
|
119
|
-
});
|
95
|
+
addMcp(mcpOption) {
|
96
|
+
// 0.1.4 新版本开始,此处修改为懒加载连接
|
97
|
+
// 实际的连接移交给前端 mcpAdapter 中进行统一的调度
|
98
|
+
// 调度步骤如下:
|
99
|
+
// getLaunchSignature 先获取访问签名,访问签名通过当前函数 push 到 class 中
|
100
|
+
this.connectionOptions.push(mcpOption);
|
120
101
|
}
|
121
102
|
}
|
122
|
-
exports.TaskLoopAdapter = TaskLoopAdapter;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"axios-fetch.d.ts","sourceRoot":"","sources":["../../src/hook/axios-fetch.ts"],"names":[],"mappings":"AAyLA;;GAEG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,aAAa,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAsBlH"}
|
@@ -0,0 +1,162 @@
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
8
|
+
});
|
9
|
+
};
|
10
|
+
import axios from "axios";
|
11
|
+
import { HttpsProxyAgent } from 'https-proxy-agent';
|
12
|
+
/**
|
13
|
+
* 将 axios 配置转换为 fetch 风格的配置
|
14
|
+
*/
|
15
|
+
function adaptRequestOptions(url, options = {}) {
|
16
|
+
const axiosConfig = {
|
17
|
+
url,
|
18
|
+
method: options.method || 'GET',
|
19
|
+
headers: options.headers,
|
20
|
+
responseType: 'stream'
|
21
|
+
};
|
22
|
+
// 处理 body/data 转换
|
23
|
+
if (options.body) {
|
24
|
+
if (typeof options.body === 'string' || Buffer.isBuffer(options.body)) {
|
25
|
+
axiosConfig.data = options.body;
|
26
|
+
}
|
27
|
+
else if (typeof options.body === 'object') {
|
28
|
+
// 如果是 FormData、URLSearchParams 等特殊类型需要特殊处理
|
29
|
+
if (options.body instanceof FormData) {
|
30
|
+
axiosConfig.data = options.body;
|
31
|
+
axiosConfig.headers = Object.assign(Object.assign({}, axiosConfig.headers), { 'Content-Type': 'multipart/form-data' });
|
32
|
+
}
|
33
|
+
else if (options.body instanceof URLSearchParams) {
|
34
|
+
axiosConfig.data = options.body.toString();
|
35
|
+
axiosConfig.headers = Object.assign(Object.assign({}, axiosConfig.headers), { 'Content-Type': 'application/x-www-form-urlencoded' });
|
36
|
+
}
|
37
|
+
else {
|
38
|
+
// 普通 JSON 对象
|
39
|
+
axiosConfig.data = JSON.stringify(options.body);
|
40
|
+
axiosConfig.headers = Object.assign(Object.assign({}, axiosConfig.headers), { 'Content-Type': 'application/json' });
|
41
|
+
}
|
42
|
+
}
|
43
|
+
}
|
44
|
+
return axiosConfig;
|
45
|
+
}
|
46
|
+
/**
|
47
|
+
* 将 axios 响应转换为 fetch 风格的 Response 对象
|
48
|
+
*/
|
49
|
+
function adaptResponse(axiosResponse) {
|
50
|
+
// 创建 Headers 对象
|
51
|
+
const headers = new Headers();
|
52
|
+
Object.entries(axiosResponse.headers || {}).forEach(([key, value]) => {
|
53
|
+
headers.append(key, value);
|
54
|
+
});
|
55
|
+
// 创建符合 Fetch API 的 Response 对象
|
56
|
+
const fetchResponse = {
|
57
|
+
ok: axiosResponse.status >= 200 && axiosResponse.status < 300,
|
58
|
+
status: axiosResponse.status,
|
59
|
+
statusText: axiosResponse.statusText,
|
60
|
+
headers: headers,
|
61
|
+
url: axiosResponse.config.url,
|
62
|
+
redirected: false, // axios 不直接提供此信息
|
63
|
+
type: 'basic', // 简单类型
|
64
|
+
body: null,
|
65
|
+
// 标准方法
|
66
|
+
json: () => __awaiter(this, void 0, void 0, function* () {
|
67
|
+
if (typeof axiosResponse.data === 'object') {
|
68
|
+
return axiosResponse.data;
|
69
|
+
}
|
70
|
+
throw new Error('Response is not JSON');
|
71
|
+
}),
|
72
|
+
text: () => __awaiter(this, void 0, void 0, function* () {
|
73
|
+
if (typeof axiosResponse.data === 'string') {
|
74
|
+
return axiosResponse.data;
|
75
|
+
}
|
76
|
+
return JSON.stringify(axiosResponse.data);
|
77
|
+
}),
|
78
|
+
arrayBuffer: () => __awaiter(this, void 0, void 0, function* () {
|
79
|
+
throw new Error('arrayBuffer not implemented for streaming');
|
80
|
+
}),
|
81
|
+
// 流式支持
|
82
|
+
getReader: () => {
|
83
|
+
if (!axiosResponse.data.on || typeof axiosResponse.data.on !== 'function') {
|
84
|
+
throw new Error('Not a stream response');
|
85
|
+
}
|
86
|
+
// 将 Node.js 流转换为 Web Streams 的 ReadableStream
|
87
|
+
const nodeStream = axiosResponse.data;
|
88
|
+
let isCancelled = false;
|
89
|
+
return {
|
90
|
+
read: () => {
|
91
|
+
if (isCancelled) {
|
92
|
+
return Promise.resolve({ done: true });
|
93
|
+
}
|
94
|
+
return new Promise((resolve, reject) => {
|
95
|
+
const onData = (chunk) => {
|
96
|
+
cleanup();
|
97
|
+
resolve({ done: false, value: chunk });
|
98
|
+
};
|
99
|
+
const onEnd = () => {
|
100
|
+
cleanup();
|
101
|
+
resolve({ done: true });
|
102
|
+
};
|
103
|
+
const onError = (err) => {
|
104
|
+
cleanup();
|
105
|
+
reject(err);
|
106
|
+
};
|
107
|
+
const cleanup = () => {
|
108
|
+
nodeStream.off('data', onData);
|
109
|
+
nodeStream.off('end', onEnd);
|
110
|
+
nodeStream.off('error', onError);
|
111
|
+
};
|
112
|
+
nodeStream.once('data', onData);
|
113
|
+
nodeStream.once('end', onEnd);
|
114
|
+
nodeStream.once('error', onError);
|
115
|
+
});
|
116
|
+
},
|
117
|
+
cancel: () => {
|
118
|
+
isCancelled = true;
|
119
|
+
nodeStream.destroy();
|
120
|
+
return Promise.resolve();
|
121
|
+
},
|
122
|
+
releaseLock: () => {
|
123
|
+
// TODO: 实现 releaseLock 方法
|
124
|
+
},
|
125
|
+
get closed() {
|
126
|
+
return isCancelled;
|
127
|
+
}
|
128
|
+
};
|
129
|
+
}
|
130
|
+
};
|
131
|
+
// 设置 body 为可读流
|
132
|
+
if (axiosResponse.data.on && typeof axiosResponse.data.on === 'function') {
|
133
|
+
fetchResponse.body = {
|
134
|
+
getReader: fetchResponse.getReader
|
135
|
+
};
|
136
|
+
}
|
137
|
+
return fetchResponse;
|
138
|
+
}
|
139
|
+
/**
|
140
|
+
* @description 主函数 - 用 axios 实现 fetch
|
141
|
+
*/
|
142
|
+
export function axiosFetch(input_1, init_1) {
|
143
|
+
return __awaiter(this, arguments, void 0, function* (input, init, requestOption = {}) {
|
144
|
+
const axiosConfig = adaptRequestOptions(input, init);
|
145
|
+
const { proxyServer = '' } = requestOption;
|
146
|
+
if (proxyServer) {
|
147
|
+
const proxyAgent = new HttpsProxyAgent(proxyServer);
|
148
|
+
axiosConfig.httpsAgent = proxyAgent;
|
149
|
+
axiosConfig.httpAgent = proxyAgent;
|
150
|
+
}
|
151
|
+
try {
|
152
|
+
const response = yield axios(axiosConfig);
|
153
|
+
return adaptResponse(response);
|
154
|
+
}
|
155
|
+
catch (error) {
|
156
|
+
if (error.response) {
|
157
|
+
return adaptResponse(error.response);
|
158
|
+
}
|
159
|
+
throw error;
|
160
|
+
}
|
161
|
+
});
|
162
|
+
}
|
package/service/hook/db.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/hook/db.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,UAAU,MAAM;IACZ,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/hook/db.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,UAAU,MAAM;IACZ,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAKD,qBAAa,OAAO,CAAC,CAAC,SAAS,MAAM;IAGrB,OAAO,CAAC,SAAS;IAF7B,OAAO,CAAC,EAAE,CAAM;gBAEI,SAAS,EAAE,MAAM;YAIvB,IAAI;IAsBZ,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIrD,OAAO,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC;IAIvB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B;AAED,cAAM,WAAW;;;IAeA,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAQ7C,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1F,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO7C,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAQxC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,gBAAgB,GAAG,IAAI;IAUrF,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAIxC,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;CAM5C;AAED,UAAU,WAAY,SAAQ,MAAM;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,UAAU,OAAQ,SAAQ,MAAM;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,gBAAiB,SAAQ,MAAM;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,WAAW,aAAoB,CAAC;AAE7C,eAAO,MAAM,SAAS,sBAAsC,CAAC;AAC7D,eAAO,MAAM,KAAK,kBAA8B,CAAC;AACjD,eAAO,MAAM,cAAc,2BAAgD,CAAC"}
|
package/service/hook/db.js
CHANGED
@@ -1,37 +1,3 @@
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
-
}) : function(o, v) {
|
16
|
-
o["default"] = v;
|
17
|
-
});
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
19
|
-
var ownKeys = function(o) {
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
21
|
-
var ar = [];
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
23
|
-
return ar;
|
24
|
-
};
|
25
|
-
return ownKeys(o);
|
26
|
-
};
|
27
|
-
return function (mod) {
|
28
|
-
if (mod && mod.__esModule) return mod;
|
29
|
-
var result = {};
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
31
|
-
__setModuleDefault(result, mod);
|
32
|
-
return result;
|
33
|
-
};
|
34
|
-
})();
|
35
1
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
36
2
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
37
3
|
return new (P || (P = Promise))(function (resolve, reject) {
|
@@ -52,18 +18,14 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
52
18
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
53
19
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
54
20
|
};
|
55
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
56
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
57
|
-
};
|
58
21
|
var _DiskStorage_storageHome;
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
const path = __importStar(require("path"));
|
64
|
-
const fs = __importStar(require("fs"));
|
22
|
+
import Datastore from '@seald-io/nedb';
|
23
|
+
import * as os from 'os';
|
24
|
+
import * as path from 'path';
|
25
|
+
import * as fs from 'fs';
|
65
26
|
const dbConnections = {};
|
66
|
-
|
27
|
+
const DatastoreCtor = Datastore;
|
28
|
+
export class LocalDB {
|
67
29
|
constructor(tableName) {
|
68
30
|
this.tableName = tableName;
|
69
31
|
this.init();
|
@@ -77,7 +39,7 @@ class LocalDB {
|
|
77
39
|
}
|
78
40
|
const filename = path.join(dbPath, `${this.tableName}.db`);
|
79
41
|
if (!dbConnections[filename]) {
|
80
|
-
dbConnections[filename] = new
|
42
|
+
dbConnections[filename] = new DatastoreCtor({
|
81
43
|
filename,
|
82
44
|
autoload: true,
|
83
45
|
timestampData: true
|
@@ -113,7 +75,6 @@ class LocalDB {
|
|
113
75
|
});
|
114
76
|
}
|
115
77
|
}
|
116
|
-
exports.LocalDB = LocalDB;
|
117
78
|
class DiskStorage {
|
118
79
|
constructor() {
|
119
80
|
_DiskStorage_storageHome.set(this, void 0);
|
@@ -173,7 +134,7 @@ class DiskStorage {
|
|
173
134
|
}
|
174
135
|
}
|
175
136
|
_DiskStorage_storageHome = new WeakMap();
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
137
|
+
export const diskStorage = new DiskStorage();
|
138
|
+
export const settingDB = new LocalDB('setting');
|
139
|
+
export const ocrDB = new LocalDB('ocr');
|
140
|
+
export const systemPromptDB = new LocalDB('systemPrompt');
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../src/hook/llm.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI;;;;;;;;;;;
|
1
|
+
{"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../src/hook/llm.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI;;;;;;;;;;;GAqIhB,CAAC"}
|