From 46115bcfba555f7c929952d5196993c01bb3a802 Mon Sep 17 00:00:00 2001 From: li1553770945 <1553770945@qq.com> Date: Fri, 30 May 2025 00:26:11 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=9B=B4=E6=96=B0=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- service/src/hook/db.ts | 2 +- service/src/index.ts | 8 ++++---- service/src/llm/llm.controller.ts | 11 ++++++----- service/src/llm/llm.service.ts | 12 ++++++------ service/src/mcp/client.controller.ts | 10 +++++----- service/src/mcp/client.dto.ts | 2 +- service/src/mcp/connect.controller.ts | 8 ++++---- service/src/mcp/connect.service.ts | 10 +++++----- service/src/mcp/ocr.controller.ts | 9 +++++---- service/src/mcp/ocr.service.ts | 8 ++++---- service/src/panel/panel.controller.ts | 12 ++++++------ service/src/panel/panel.service.ts | 8 ++++---- service/src/server.ts | 8 ++++---- service/src/setting/setting.controller.ts | 10 +++++----- service/src/setting/setting.service.ts | 6 +++--- 15 files changed, 63 insertions(+), 61 deletions(-) diff --git a/service/src/hook/db.ts b/service/src/hook/db.ts index a233196..6626a7c 100644 --- a/service/src/hook/db.ts +++ b/service/src/hook/db.ts @@ -28,7 +28,7 @@ export class LocalDB { const filename = path.join(dbPath, `${this.tableName}.db`); if (!dbConnections[filename]) { - dbConnections[filename] = new Datastore({ + dbConnections[filename] = new Datastore.default({ filename, autoload: true, timestampData: true diff --git a/service/src/index.ts b/service/src/index.ts index 900dcba..038cd47 100644 --- a/service/src/index.ts +++ b/service/src/index.ts @@ -1,5 +1,5 @@ -export { routeMessage } from './common/router'; -export { VSCodeWebViewLike, TaskLoopAdapter } from './hook/adapter'; -export { setVscodeWorkspace, setRunningCWD } from './hook/setting'; +export { routeMessage } from './common/router.js'; +export { VSCodeWebViewLike, TaskLoopAdapter } from './hook/adapter.js'; +export { setVscodeWorkspace, setRunningCWD } from './hook/setting.js'; // TODO: 更加规范 -export { clientMap } from './mcp/connect.service'; \ No newline at end of file +export { clientMap } from './mcp/connect.service.js'; \ No newline at end of file diff --git a/service/src/llm/llm.controller.ts b/service/src/llm/llm.controller.ts index aa895bd..099a6e1 100644 --- a/service/src/llm/llm.controller.ts +++ b/service/src/llm/llm.controller.ts @@ -1,8 +1,9 @@ -import { Controller, RequestClientType } from "../common"; -import { RequestData } from "../common/index.dto"; -import { PostMessageble } from "../hook/adapter"; -import { getClient } from "../mcp/connect.service"; -import { abortMessageService, streamingChatCompletion } from "./llm.service"; +import { RequestClientType } from "../common/index.dto.js"; +import { Controller } from "../common/index.js"; +import { RequestData } from "../common/index.dto.js"; +import { PostMessageble } from "../hook/adapter.js"; +import { getClient } from "../mcp/connect.service.js"; +import { abortMessageService, streamingChatCompletion } from "./llm.service.js"; export class LlmController { diff --git a/service/src/llm/llm.service.ts b/service/src/llm/llm.service.ts index 26952fb..6672197 100644 --- a/service/src/llm/llm.service.ts +++ b/service/src/llm/llm.service.ts @@ -1,10 +1,10 @@ -import { PostMessageble } from "../hook/adapter"; +import { PostMessageble } from "../hook/adapter.js"; import { OpenAI } from "openai"; -import { MyMessageType, MyToolMessageType } from "./llm.dto"; -import { RestfulResponse } from "../common/index.dto"; -import { ocrDB } from "../hook/db"; -import type { ToolCallContent } from "../mcp/client.dto"; -import { ocrWorkerStorage } from "../mcp/ocr.service"; +import { MyMessageType, MyToolMessageType } from "./llm.dto.js"; +import { RestfulResponse } from "../common/index.dto.js"; +import { ocrDB } from "../hook/db.js"; +import type { ToolCallContent } from "../mcp/client.dto.js"; +import { ocrWorkerStorage } from "../mcp/ocr.service.js"; export let currentStream: AsyncIterable | null = null; diff --git a/service/src/mcp/client.controller.ts b/service/src/mcp/client.controller.ts index 19efaf7..06dd877 100644 --- a/service/src/mcp/client.controller.ts +++ b/service/src/mcp/client.controller.ts @@ -1,8 +1,8 @@ -import { Controller } from "../common"; -import { RequestData } from "../common/index.dto"; -import { PostMessageble } from "../hook/adapter"; -import { postProcessMcpToolcallResponse } from "./client.service"; -import { getClient } from "./connect.service"; +import { Controller } from "../common/index.js"; +import { RequestData } from "../common/index.dto.js"; +import { PostMessageble } from "../hook/adapter.js"; +import { postProcessMcpToolcallResponse } from "./client.service.js"; +import { getClient } from "./connect.service.js"; export class ClientController { diff --git a/service/src/mcp/client.dto.ts b/service/src/mcp/client.dto.ts index cd30ce0..4f2764c 100644 --- a/service/src/mcp/client.dto.ts +++ b/service/src/mcp/client.dto.ts @@ -1,7 +1,7 @@ import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js"; import { SSEClientTransport } from "@modelcontextprotocol/sdk/client/sse.js"; import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"; -import { Implementation } from "@modelcontextprotocol/sdk/types"; +import { Implementation } from "@modelcontextprotocol/sdk/types.js"; export interface GetPromptOption { promptId: string; diff --git a/service/src/mcp/connect.controller.ts b/service/src/mcp/connect.controller.ts index 96df6c4..9b8acc5 100644 --- a/service/src/mcp/connect.controller.ts +++ b/service/src/mcp/connect.controller.ts @@ -1,7 +1,7 @@ -import { Controller } from '../common'; -import { PostMessageble } from '../hook/adapter'; -import { RequestData } from '../common/index.dto'; -import { connectService, getClient } from './connect.service'; +import { Controller } from '../common/index.js'; +import { PostMessageble } from '../hook/adapter.js'; +import { RequestData } from '../common/index.dto.js'; +import { connectService, getClient } from './connect.service.js'; export class ConnectController { diff --git a/service/src/mcp/connect.service.ts b/service/src/mcp/connect.service.ts index 5f7e50a..13c3e2b 100644 --- a/service/src/mcp/connect.service.ts +++ b/service/src/mcp/connect.service.ts @@ -1,13 +1,13 @@ import { exec, execSync, spawnSync } from 'node:child_process'; -import { RequestClientType } from '../common'; -import { connect } from './client.service'; -import { RestfulResponse } from '../common/index.dto'; -import { McpOptions } from './client.dto'; +import { RequestClientType } from '../common/index.dto.js'; +import { connect } from './client.service.js'; +import { RestfulResponse } from '../common/index.dto.js'; +import { McpOptions } from './client.dto.js'; import * as crypto from 'node:crypto'; import path from 'node:path'; import fs from 'node:fs'; import * as os from 'os'; -import { PostMessageble } from '../hook/adapter'; +import { PostMessageble } from '../hook/adapter.js'; export const clientMap: Map = new Map(); export function getClient(clientId?: string): RequestClientType | undefined { diff --git a/service/src/mcp/ocr.controller.ts b/service/src/mcp/ocr.controller.ts index 6a997bd..d762ecf 100644 --- a/service/src/mcp/ocr.controller.ts +++ b/service/src/mcp/ocr.controller.ts @@ -1,7 +1,8 @@ -import { Controller, RequestClientType } from "../common"; -import { PostMessageble } from "../hook/adapter"; -import { diskStorage } from "../hook/db"; -import { createOcrWorker, saveBase64ImageData } from "./ocr.service"; +import { RequestClientType } from "../common/index.dto.js"; +import { Controller } from "../common/index.js"; +import { PostMessageble } from "../hook/adapter.js"; +import { diskStorage } from "../hook/db.js"; +import { createOcrWorker, saveBase64ImageData } from "./ocr.service.js"; export class OcrController { @Controller('ocr/get-ocr-image') diff --git a/service/src/mcp/ocr.service.ts b/service/src/mcp/ocr.service.ts index 91225ce..48dad82 100644 --- a/service/src/mcp/ocr.service.ts +++ b/service/src/mcp/ocr.service.ts @@ -1,12 +1,12 @@ import Tesseract from 'tesseract.js'; -import { PostMessageble } from '../hook/adapter'; +import { PostMessageble } from '../hook/adapter.js'; import { v4 as uuidv4 } from 'uuid'; -import { OcrWorker } from './ocr.dto'; -import { diskStorage, ocrDB } from '../hook/db'; +import { OcrWorker } from './ocr.dto.js'; +import { diskStorage, ocrDB } from '../hook/db.js'; import * as fs from 'fs'; import * as os from 'os'; import * as path from 'path'; -import { RUNNING_CWD } from '../hook/setting'; +import { RUNNING_CWD } from '../hook/setting.js'; export const ocrWorkerStorage = new Map(); diff --git a/service/src/panel/panel.controller.ts b/service/src/panel/panel.controller.ts index 92332ef..a4909d4 100644 --- a/service/src/panel/panel.controller.ts +++ b/service/src/panel/panel.controller.ts @@ -1,9 +1,9 @@ -import { Controller } from "../common"; -import { PostMessageble } from "../hook/adapter"; -import { RequestData } from "../common/index.dto"; -import { getClient } from "../mcp/connect.service"; -import { systemPromptDB } from "../hook/db"; -import { loadTabSaveConfig, saveTabSaveConfig } from "./panel.service"; +import { Controller } from "../common/index.js"; +import { PostMessageble } from "../hook/adapter.js"; +import { RequestData } from "../common/index.dto.js"; +import { getClient } from "../mcp/connect.service.js"; +import { systemPromptDB } from "../hook/db.js"; +import { loadTabSaveConfig, saveTabSaveConfig } from "./panel.service.js"; export class PanelController { @Controller('panel/save') diff --git a/service/src/panel/panel.service.ts b/service/src/panel/panel.service.ts index 7d41096..5d12b59 100644 --- a/service/src/panel/panel.service.ts +++ b/service/src/panel/panel.service.ts @@ -1,9 +1,9 @@ import * as fs from 'fs'; import * as path from 'path'; -import { VSCODE_WORKSPACE } from '../hook/setting'; -import { IServerVersion } from '../mcp/client.dto'; -import { SaveTab } from './panel.dto'; -import { IConfig } from '../setting/setting.dto'; +import { VSCODE_WORKSPACE } from '../hook/setting.js'; +import { IServerVersion } from '../mcp/client.dto.js'; +import { SaveTab } from './panel.dto.js'; +import { IConfig } from '../setting/setting.dto.js'; const DEFAULT_TABS: SaveTab = { tabs: [], diff --git a/service/src/server.ts b/service/src/server.ts index 24f8fd5..f20c0a5 100644 --- a/service/src/server.ts +++ b/service/src/server.ts @@ -1,11 +1,11 @@ import { WebSocketServer } from 'ws'; import pino from 'pino'; -import { routeMessage } from './common/router'; -import { VSCodeWebViewLike } from './hook/adapter'; +import { routeMessage } from './common/router.js'; +import { VSCodeWebViewLike } from './hook/adapter.js'; import path from 'node:path'; import * as fs from 'node:fs'; -import { setRunningCWD } from './hook/setting'; +import { setRunningCWD } from './hook/setting.js'; import { exit } from 'node:process'; export interface VSCodeMessage { @@ -14,7 +14,7 @@ export interface VSCodeMessage { callbackId?: string; } -const logger = pino({ +const logger = pino.default({ transport: { target: 'pino-pretty', // 启用 pino-pretty options: { diff --git a/service/src/setting/setting.controller.ts b/service/src/setting/setting.controller.ts index 0b6ffa1..c275902 100644 --- a/service/src/setting/setting.controller.ts +++ b/service/src/setting/setting.controller.ts @@ -1,8 +1,8 @@ -import { Controller } from "../common"; -import { PostMessageble } from "../hook/adapter"; -import { RequestData } from "../common/index.dto"; -import { getClient } from "../mcp/connect.service"; -import { getTour, loadSetting, saveSetting, setTour } from "./setting.service"; +import { Controller } from "../common/index.js"; +import { PostMessageble } from "../hook/adapter.js"; +import { RequestData } from "../common/index.dto.js"; +import { getClient } from "../mcp/connect.service.js"; +import { getTour, loadSetting, saveSetting, setTour } from "./setting.service.js"; export class SettingController { diff --git a/service/src/setting/setting.service.ts b/service/src/setting/setting.service.ts index 1cc0f16..7c8856c 100644 --- a/service/src/setting/setting.service.ts +++ b/service/src/setting/setting.service.ts @@ -1,9 +1,9 @@ import * as fs from 'fs'; import * as os from 'os'; import * as path from 'path'; -import { VSCODE_WORKSPACE } from '../hook/setting'; -import { IConfig } from './setting.dto'; -import { llms } from '../hook/llm'; +import { VSCODE_WORKSPACE } from '../hook/setting.js'; +import { IConfig } from './setting.dto.js'; +import { llms } from '../hook/llm.js'; function getConfigurationPath() { const homeDir = os.homedir();