feihong-code 7.2.0 → 7.5.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.
- package/.github/workflows/ci.yml +180 -140
- package/.github/workflows/release.yml +200 -173
- package/CHANGELOG.md +94 -115
- package/README.md +609 -586
- package/dist/agent/completion-engine.js +76 -45
- package/dist/agent/completion-engine.js.map +1 -1
- package/dist/agent/completion-postprocess.js +109 -0
- package/dist/agent/completion-postprocess.js.map +1 -0
- package/dist/agent/context-budget.js +121 -0
- package/dist/agent/context-budget.js.map +1 -0
- package/dist/agent/context-compactor.js +47 -0
- package/dist/agent/context-compactor.js.map +1 -1
- package/dist/agent/custom-agent.js +52 -52
- package/dist/agent/design-to-code.js +40 -40
- package/dist/agent/lint.js +121 -0
- package/dist/agent/lint.js.map +1 -0
- package/dist/agent/multi-agent.js +44 -44
- package/dist/agent/orchestrator.js +20 -20
- package/dist/agent/prompts.js +54 -54
- package/dist/agent/self-correction.js +24 -24
- package/dist/agent/self-heal.js +27 -27
- package/dist/cli/commands.js +9 -0
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/index.js +9 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/multi-pane-tui.js +217 -0
- package/dist/cli/multi-pane-tui.js.map +1 -0
- package/dist/cli/run.js +129 -40
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/tui-run.js +79 -0
- package/dist/cli/tui-run.js.map +1 -0
- package/dist/cli/tui.js.map +1 -1
- package/dist/cli/version.js +1 -1
- package/dist/lsp/lsp-client.js +183 -0
- package/dist/lsp/lsp-client.js.map +1 -0
- package/dist/lsp/lsp-service.js +159 -0
- package/dist/lsp/lsp-service.js.map +1 -0
- package/dist/plugins/manager.js +50 -2
- package/dist/plugins/manager.js.map +1 -1
- package/dist/shared/i18n.js +108 -100
- package/dist/shared/i18n.js.map +1 -1
- package/dist/tools/generator/code-generator.js +40 -40
- package/dist/tools/generator/test-generator.js +9 -9
- package/dist/tools/shell/exec.js +23 -1
- package/dist/tools/shell/exec.js.map +1 -1
- package/dist/web/extra-apis.js +440 -0
- package/dist/web/extra-apis.js.map +1 -0
- package/dist/web/public/css/style.css +1715 -1715
- package/dist/web/public/index.html +1242 -1200
- package/dist/web/public/js/api.js +555 -496
- package/dist/web/public/js/app.js +2210 -2210
- package/dist/web/public/js/mock-api.js +234 -234
- package/dist/web/public/js/monaco-editor.js +363 -203
- package/dist/web/public/js/ui.js +2251 -1981
- package/dist/web/public/js/utils.js +214 -214
- package/dist/web/public/manifest.json +59 -59
- package/dist/web/public/service-worker.js +173 -173
- package/dist/web/server.js +97 -45
- package/dist/web/server.js.map +1 -1
- package/docs/BENCHMARK_REPORT_en.md +386 -329
- package/docs/BENCHMARK_REPORT_zh.md +386 -329
- package/docs/DPA.md +63 -0
- package/docs/DPA/346/225/260/346/215/256/345/244/204/347/220/206/345/215/217/350/256/256/346/250/241/346/235/277_v1.0.md +67 -0
- package/docs/SECURITY_WHITEPAPER.md +74 -0
- package/docs/SWE_BENCH_REPORT.md +55 -0
- package/docs/TECHNICAL_SPEC_en.md +292 -292
- package/docs/TECHNICAL_SPEC_zh.md +292 -292
- package/docs/UPDATE_NOTES_en.md +159 -159
- package/docs/UPDATE_NOTES_zh.md +159 -159
- package/docs/UPGRADE_7.2.0.md +309 -0
- package/docs/UPGRADE_GUIDE_7_5.md +86 -0
- package/docs/geo-feihong-code.html +391 -0
- package/docs//345/205/250/351/235/242/345/244/215/347/233/230_50/350/275/256/346/267/261/345/272/246/345/256/241/350/256/241_v7.2.0.md +208 -0
- package/docs//345/205/250/351/235/242/345/244/215/347/233/230_6/351/241/271/351/207/215/347/202/271/346/240/270/346/237/245_v7.2.0.md +152 -0
- package/docs//345/205/250/351/235/242/345/244/215/347/233/230_/350/277/220/350/241/214/346/227/266/345/256/236/346/265/213/347/211/210_v7.2.0.md +271 -0
- package/docs//345/220/210/350/247/204/350/256/244/350/257/201/345/207/206/345/244/207/346/270/205/345/215/225_v7.2.0.md +59 -0
- package/docs//345/256/211/345/205/250/347/231/275/347/232/256/344/271/246_v7.2.0.md +82 -0
- package/electron/main.js +404 -602
- package/package.json +175 -172
- package/templates/skills/api-design/SKILL.md +27 -0
- package/templates/skills/code-review/SKILL.md +35 -0
- package/templates/skills/dependency-upgrade/SKILL.md +29 -0
- package/templates/skills/doc-gen/SKILL.md +29 -0
- package/templates/skills/git-flow/SKILL.md +26 -0
- package/templates/skills/onboarding/SKILL.md +27 -0
- package/templates/skills/performance/SKILL.md +29 -0
- package/templates/skills/refactor/SKILL.md +28 -0
- package/templates/skills/security-audit/SKILL.md +28 -0
- package/templates/skills/test-gen/SKILL.md +30 -0
- package/tool-schema.json +197 -197
- package/dist/hello.js +0 -14
- package/dist/hello.js.map +0 -1
- package/dist/self-evolve/hook.ts +0 -80
- package/dist/self-evolve/manager.d.ts +0 -8
- package/dist/web/public/vendor/monaco/vs/abap-D-t0cyap.js +0 -1
- package/dist/web/public/vendor/monaco/vs/apex-CcIm7xu6.js +0 -1
- package/dist/web/public/vendor/monaco/vs/assets/css.worker-URu8fCFR.js +0 -97
- package/dist/web/public/vendor/monaco/vs/assets/editor.worker-lj3bdIIn.js +0 -30
- package/dist/web/public/vendor/monaco/vs/assets/editorWebWorkerMain-CA_vMoUU.js +0 -30
- package/dist/web/public/vendor/monaco/vs/assets/html.worker-D1SL3iM8.js +0 -474
- package/dist/web/public/vendor/monaco/vs/assets/json.worker-CoJx_OPf.js +0 -62
- package/dist/web/public/vendor/monaco/vs/assets/ts.worker-BWKtMYOk.js +0 -67722
- package/dist/web/public/vendor/monaco/vs/azcli-BA0tQDCg.js +0 -1
- package/dist/web/public/vendor/monaco/vs/basic-languages/monaco.contribution.js +0 -1
- package/dist/web/public/vendor/monaco/vs/bat-C397hTD6.js +0 -1
- package/dist/web/public/vendor/monaco/vs/bicep-DF5aW17k.js +0 -2
- package/dist/web/public/vendor/monaco/vs/cameligo-plsz8qhj.js +0 -1
- package/dist/web/public/vendor/monaco/vs/clojure-Y2auQMzK.js +0 -1
- package/dist/web/public/vendor/monaco/vs/coffee-Bu45yuWE.js +0 -1
- package/dist/web/public/vendor/monaco/vs/cpp-CkKPQIni.js +0 -1
- package/dist/web/public/vendor/monaco/vs/csharp-CX28MZyh.js +0 -1
- package/dist/web/public/vendor/monaco/vs/csp-D8uWnyxW.js +0 -1
- package/dist/web/public/vendor/monaco/vs/css-CaeNmE3S.js +0 -3
- package/dist/web/public/vendor/monaco/vs/css.worker-CyhWkhHo.js +0 -1
- package/dist/web/public/vendor/monaco/vs/cssMode-CV6Ay48H.js +0 -1
- package/dist/web/public/vendor/monaco/vs/cypher-DVThT8BS.js +0 -1
- package/dist/web/public/vendor/monaco/vs/dart-CmGfCvrO.js +0 -1
- package/dist/web/public/vendor/monaco/vs/dockerfile-CZqqYdch.js +0 -1
- package/dist/web/public/vendor/monaco/vs/ecl-30fUercY.js +0 -1
- package/dist/web/public/vendor/monaco/vs/editor/editor.main.css +0 -1
- package/dist/web/public/vendor/monaco/vs/editor/editor.main.js +0 -1
- package/dist/web/public/vendor/monaco/vs/editor/editor.worker.js +0 -1
- package/dist/web/public/vendor/monaco/vs/editor-KLE6jdfb.js +0 -831
- package/dist/web/public/vendor/monaco/vs/editor.js +0 -1
- package/dist/web/public/vendor/monaco/vs/editorWorkerHost-fVE1cjcC.js +0 -35
- package/dist/web/public/vendor/monaco/vs/elixir-xjPaIfzF.js +0 -1
- package/dist/web/public/vendor/monaco/vs/flow9-DqtmStfK.js +0 -1
- package/dist/web/public/vendor/monaco/vs/freemarker2-FWreY7v7.js +0 -3
- package/dist/web/public/vendor/monaco/vs/fsharp-BOMdg4U1.js +0 -1
- package/dist/web/public/vendor/monaco/vs/go-D_hbi-Jt.js +0 -1
- package/dist/web/public/vendor/monaco/vs/graphql-CKUU4kLG.js +0 -1
- package/dist/web/public/vendor/monaco/vs/handlebars-CZi4pHCH.js +0 -1
- package/dist/web/public/vendor/monaco/vs/hcl-DTaboeZW.js +0 -1
- package/dist/web/public/vendor/monaco/vs/html-j_7ZTNRU.js +0 -1
- package/dist/web/public/vendor/monaco/vs/html.worker-CA3iAimZ.js +0 -1
- package/dist/web/public/vendor/monaco/vs/htmlMode-27by_KM4.js +0 -1
- package/dist/web/public/vendor/monaco/vs/index-049xrXrp.js +0 -1
- package/dist/web/public/vendor/monaco/vs/index-CBVt3dzv.js +0 -5
- package/dist/web/public/vendor/monaco/vs/index.js +0 -1
- package/dist/web/public/vendor/monaco/vs/ini-CsNwO04R.js +0 -1
- package/dist/web/public/vendor/monaco/vs/initialize-DL0l1TGY.js +0 -1
- package/dist/web/public/vendor/monaco/vs/java-CI4ZMsH9.js +0 -1
- package/dist/web/public/vendor/monaco/vs/javascript-DTJl4Jn1.js +0 -1
- package/dist/web/public/vendor/monaco/vs/json.worker-BizpAl9O.js +0 -1
- package/dist/web/public/vendor/monaco/vs/jsonMode-DLUiMUrI.js +0 -1
- package/dist/web/public/vendor/monaco/vs/julia-BwzEvaQw.js +0 -1
- package/dist/web/public/vendor/monaco/vs/kotlin-IUYPiTV8.js +0 -1
- package/dist/web/public/vendor/monaco/vs/language/css/css.worker.js +0 -66
- package/dist/web/public/vendor/monaco/vs/language/css/monaco.contribution.js +0 -1
- package/dist/web/public/vendor/monaco/vs/language/html/html.worker.js +0 -443
- package/dist/web/public/vendor/monaco/vs/language/html/monaco.contribution.js +0 -1
- package/dist/web/public/vendor/monaco/vs/language/json/json.worker.js +0 -17
- package/dist/web/public/vendor/monaco/vs/language/json/monaco.contribution.js +0 -1
- package/dist/web/public/vendor/monaco/vs/language/typescript/monaco.contribution.js +0 -1
- package/dist/web/public/vendor/monaco/vs/language/typescript/ts.worker.js +0 -67693
- package/dist/web/public/vendor/monaco/vs/less-C0eDYdqa.js +0 -2
- package/dist/web/public/vendor/monaco/vs/lexon-iON-Kj97.js +0 -1
- package/dist/web/public/vendor/monaco/vs/liquid-CLJYelW6.js +0 -1
- package/dist/web/public/vendor/monaco/vs/loader.js +0 -1368
- package/dist/web/public/vendor/monaco/vs/lspLanguageFeatures-BIkJOWLw.js +0 -2
- package/dist/web/public/vendor/monaco/vs/lua-DtygF91M.js +0 -1
- package/dist/web/public/vendor/monaco/vs/m3-CsR4AuFi.js +0 -1
- package/dist/web/public/vendor/monaco/vs/main-BEx-Fmlo.js +0 -15
- package/dist/web/public/vendor/monaco/vs/main-DsK8pnKg.js +0 -3
- package/dist/web/public/vendor/monaco/vs/markdown-C_rD0bIw.js +0 -1
- package/dist/web/public/vendor/monaco/vs/mdx-CpzZIPHF.js +0 -1
- package/dist/web/public/vendor/monaco/vs/mips-CiYP61RB.js +0 -1
- package/dist/web/public/vendor/monaco/vs/monaco.contribution-9cKT3C7t.js +0 -1
- package/dist/web/public/vendor/monaco/vs/monaco.contribution-BE88ZNGY.js +0 -1
- package/dist/web/public/vendor/monaco/vs/monaco.contribution-BPhsneLd.js +0 -1
- package/dist/web/public/vendor/monaco/vs/monaco.contribution-BgRy6xDf.js +0 -1
- package/dist/web/public/vendor/monaco/vs/msdax-C38-sJlp.js +0 -1
- package/dist/web/public/vendor/monaco/vs/mysql-CdtbpvbG.js +0 -1
- package/dist/web/public/vendor/monaco/vs/nls/lang/cs.d.ts +0 -1
- package/dist/web/public/vendor/monaco/vs/nls/lang/cs.js +0 -9
- package/dist/web/public/vendor/monaco/vs/nls/lang/de.d.ts +0 -1
- package/dist/web/public/vendor/monaco/vs/nls/lang/de.js +0 -9
- package/dist/web/public/vendor/monaco/vs/nls/lang/es.d.ts +0 -1
- package/dist/web/public/vendor/monaco/vs/nls/lang/es.js +0 -9
- package/dist/web/public/vendor/monaco/vs/nls/lang/fr.d.ts +0 -1
- package/dist/web/public/vendor/monaco/vs/nls/lang/fr.js +0 -9
- package/dist/web/public/vendor/monaco/vs/nls/lang/it.d.ts +0 -1
- package/dist/web/public/vendor/monaco/vs/nls/lang/it.js +0 -9
- package/dist/web/public/vendor/monaco/vs/nls/lang/ja.d.ts +0 -1
- package/dist/web/public/vendor/monaco/vs/nls/lang/ja.js +0 -9
- package/dist/web/public/vendor/monaco/vs/nls/lang/ko.d.ts +0 -1
- package/dist/web/public/vendor/monaco/vs/nls/lang/ko.js +0 -9
- package/dist/web/public/vendor/monaco/vs/nls/lang/pl.d.ts +0 -1
- package/dist/web/public/vendor/monaco/vs/nls/lang/pl.js +0 -9
- package/dist/web/public/vendor/monaco/vs/nls/lang/pt-br.d.ts +0 -1
- package/dist/web/public/vendor/monaco/vs/nls/lang/pt-br.js +0 -9
- package/dist/web/public/vendor/monaco/vs/nls/lang/ru.d.ts +0 -1
- package/dist/web/public/vendor/monaco/vs/nls/lang/ru.js +0 -9
- package/dist/web/public/vendor/monaco/vs/nls/lang/tr.d.ts +0 -1
- package/dist/web/public/vendor/monaco/vs/nls/lang/tr.js +0 -9
- package/dist/web/public/vendor/monaco/vs/nls/lang/zh-cn.d.ts +0 -1
- package/dist/web/public/vendor/monaco/vs/nls/lang/zh-cn.js +0 -9
- package/dist/web/public/vendor/monaco/vs/nls/lang/zh-tw.d.ts +0 -1
- package/dist/web/public/vendor/monaco/vs/nls/lang/zh-tw.js +0 -9
- package/dist/web/public/vendor/monaco/vs/nls.messages-loader.js +0 -1
- package/dist/web/public/vendor/monaco/vs/objective-c-CntZFaHX.js +0 -1
- package/dist/web/public/vendor/monaco/vs/pascal-r6kuqfl_.js +0 -1
- package/dist/web/public/vendor/monaco/vs/pascaligo-BiXoTmXh.js +0 -1
- package/dist/web/public/vendor/monaco/vs/perl-DABw_TcH.js +0 -1
- package/dist/web/public/vendor/monaco/vs/pgsql-me_jFXeX.js +0 -1
- package/dist/web/public/vendor/monaco/vs/php-D_kh-9LK.js +0 -1
- package/dist/web/public/vendor/monaco/vs/pla-VfZjczW0.js +0 -1
- package/dist/web/public/vendor/monaco/vs/postiats-BBSzz8Pk.js +0 -1
- package/dist/web/public/vendor/monaco/vs/powerquery-Dt-g_2cc.js +0 -1
- package/dist/web/public/vendor/monaco/vs/powershell-B-7ap1zc.js +0 -1
- package/dist/web/public/vendor/monaco/vs/protobuf-BmtuEB1A.js +0 -2
- package/dist/web/public/vendor/monaco/vs/pug-BRpRNeEb.js +0 -1
- package/dist/web/public/vendor/monaco/vs/python-CqWUUgfu.js +0 -1
- package/dist/web/public/vendor/monaco/vs/qsharp-BzsFaUU9.js +0 -1
- package/dist/web/public/vendor/monaco/vs/r-f8dDdrp4.js +0 -1
- package/dist/web/public/vendor/monaco/vs/razor-hok5y9Km.js +0 -1
- package/dist/web/public/vendor/monaco/vs/redis-fvZQY4PI.js +0 -1
- package/dist/web/public/vendor/monaco/vs/redshift-45Et0LQi.js +0 -1
- package/dist/web/public/vendor/monaco/vs/restructuredtext-C7UUFKFD.js +0 -1
- package/dist/web/public/vendor/monaco/vs/ruby-CZO8zYTz.js +0 -1
- package/dist/web/public/vendor/monaco/vs/rust-Bfetafyc.js +0 -1
- package/dist/web/public/vendor/monaco/vs/sb-3GYllVck.js +0 -1
- package/dist/web/public/vendor/monaco/vs/scala-foMgrKo1.js +0 -1
- package/dist/web/public/vendor/monaco/vs/scheme-CHdMtr7p.js +0 -1
- package/dist/web/public/vendor/monaco/vs/scss-C1cmLt9V.js +0 -3
- package/dist/web/public/vendor/monaco/vs/shell-ClXCKCEW.js +0 -1
- package/dist/web/public/vendor/monaco/vs/solidity-MZ6ExpPy.js +0 -1
- package/dist/web/public/vendor/monaco/vs/sophia-DWkuSsPQ.js +0 -1
- package/dist/web/public/vendor/monaco/vs/sparql-AUGFYSyk.js +0 -1
- package/dist/web/public/vendor/monaco/vs/sql-32GpJSV2.js +0 -1
- package/dist/web/public/vendor/monaco/vs/st-CuDFIVZ_.js +0 -1
- package/dist/web/public/vendor/monaco/vs/swift-t-PfMj7W.js +0 -1
- package/dist/web/public/vendor/monaco/vs/systemverilog-Ch4vA8Yt.js +0 -1
- package/dist/web/public/vendor/monaco/vs/tcl-D74tq1nH.js +0 -1
- package/dist/web/public/vendor/monaco/vs/toggleHighContrast-qGX7E9o7.js +0 -61
- package/dist/web/public/vendor/monaco/vs/ts.worker-2QLmBukE.js +0 -1
- package/dist/web/public/vendor/monaco/vs/tsMode-B0S_kp2q.js +0 -11
- package/dist/web/public/vendor/monaco/vs/twig-C6taOxMV.js +0 -1
- package/dist/web/public/vendor/monaco/vs/typescript-_2t_511t.js +0 -1
- package/dist/web/public/vendor/monaco/vs/typespec-8OfoLt6R.js +0 -1
- package/dist/web/public/vendor/monaco/vs/vb-Dyb2648j.js +0 -1
- package/dist/web/public/vendor/monaco/vs/wgsl-BhLXMOR0.js +0 -298
- package/dist/web/public/vendor/monaco/vs/workers-BBttULjf.js +0 -1
- package/dist/web/public/vendor/monaco/vs/xml-cZjNDqDT.js +0 -1
- package/dist/web/public/vendor/monaco/vs/yaml-A1fOIdH6.js +0 -1
- package/dist/web/web-config.js +0 -143
- package/dist/web/web-config.js.map +0 -1
- package/docs/DEPLOYMENT.md +0 -382
- package/docs/MODEL_FINETUNING.md +0 -405
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LspClient = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* 飞虹 Code (Muse Code 参照复刻)
|
|
6
|
+
* 晋江市飞虹智科技企业管理有限公司 · 飞扬企源研发中心 · 负责人:吴赐虹
|
|
7
|
+
*
|
|
8
|
+
* P1-1 LSP 客户端:对接真实 LSP 服务器(typescript-language-server),
|
|
9
|
+
* 使 lsp-service 从"自建语义层"升级为"编译器级代码理解"(对标 OpenCode)。
|
|
10
|
+
*
|
|
11
|
+
* 实现:
|
|
12
|
+
* - spawn typescript-language-server --stdio,通过 stdin/stdout 通信
|
|
13
|
+
* - JSON-RPC 2.0 over stdio(Content-Length 帧编解码)
|
|
14
|
+
* - initialize → initialized → didOpen → hover / definition
|
|
15
|
+
* - 请求/响应按 id 匹配,带超时;非 TTY 可单测
|
|
16
|
+
*/
|
|
17
|
+
const child_process_1 = require("child_process");
|
|
18
|
+
/** 轻量 LSP 客户端(JSON-RPC 2.0 over stdio) */
|
|
19
|
+
class LspClient {
|
|
20
|
+
proc = null;
|
|
21
|
+
buffer = Buffer.alloc(0);
|
|
22
|
+
pending = new Map();
|
|
23
|
+
nextId = 1;
|
|
24
|
+
started = false;
|
|
25
|
+
stderrTail = [];
|
|
26
|
+
get isRunning() {
|
|
27
|
+
return this.started;
|
|
28
|
+
}
|
|
29
|
+
get lastStderr() {
|
|
30
|
+
return this.stderrTail.slice(-3).join('\n');
|
|
31
|
+
}
|
|
32
|
+
/** 启动并完成 initialize 握手(真实 LSP 服务器) */
|
|
33
|
+
async start(projectRoot, opts = {}) {
|
|
34
|
+
const timeoutMs = opts.timeoutMs ?? 15000;
|
|
35
|
+
// 用 node 直接执行 tls 入口(require.resolve 定位,跨平台稳定,不依赖 npx/全局 PATH)
|
|
36
|
+
let cliPath;
|
|
37
|
+
try {
|
|
38
|
+
cliPath = opts.bin ?? require.resolve('typescript-language-server/lib/cli.mjs');
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
this.started = false;
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
this.proc = (0, child_process_1.spawn)(process.execPath, [cliPath, '--stdio'], {
|
|
45
|
+
cwd: projectRoot,
|
|
46
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
47
|
+
});
|
|
48
|
+
if (!this.proc.stdout || !this.proc.stdin) {
|
|
49
|
+
this.started = false;
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
this.proc.stdout.on('data', (d) => this.onData(d));
|
|
53
|
+
this.proc.stderr.on('data', (d) => {
|
|
54
|
+
this.stderrTail.push(d.toString());
|
|
55
|
+
if (this.stderrTail.length > 20)
|
|
56
|
+
this.stderrTail.shift();
|
|
57
|
+
});
|
|
58
|
+
this.proc.on('exit', () => {
|
|
59
|
+
this.started = false;
|
|
60
|
+
for (const [, p] of this.pending) {
|
|
61
|
+
clearTimeout(p.timer);
|
|
62
|
+
p.reject(new Error('LSP server exited'));
|
|
63
|
+
}
|
|
64
|
+
this.pending.clear();
|
|
65
|
+
});
|
|
66
|
+
try {
|
|
67
|
+
const rootUri = 'file:///' + projectRoot.replace(/\\/g, '/').replace(/^\/+/, '');
|
|
68
|
+
await this.request('initialize', {
|
|
69
|
+
processId: null,
|
|
70
|
+
rootUri,
|
|
71
|
+
capabilities: {},
|
|
72
|
+
workspaceFolders: [{ uri: rootUri, name: projectRoot.split(/[\\/]/).pop() || 'ws' }],
|
|
73
|
+
}, timeoutMs);
|
|
74
|
+
this.sendNotification('initialized', {});
|
|
75
|
+
this.started = true;
|
|
76
|
+
return true;
|
|
77
|
+
}
|
|
78
|
+
catch (e) {
|
|
79
|
+
this.close();
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/** 打开文档(服务端建立诊断/语义上下文) */
|
|
84
|
+
didOpen(uri, text, languageId = 'typescript') {
|
|
85
|
+
this.sendNotification('textDocument/didOpen', {
|
|
86
|
+
textDocument: { uri, languageId, version: 1, text },
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
/** hover:编译器级类型签名信息(对标 LSP textDocument/hover) */
|
|
90
|
+
async hover(uri, line, character, timeoutMs = 10000) {
|
|
91
|
+
try {
|
|
92
|
+
return (await this.request('textDocument/hover', {
|
|
93
|
+
textDocument: { uri },
|
|
94
|
+
position: { line, character },
|
|
95
|
+
}, timeoutMs));
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
/** definition:符号精确定位(对标 LSP textDocument/definition) */
|
|
102
|
+
async definition(uri, line, character, timeoutMs = 10000) {
|
|
103
|
+
try {
|
|
104
|
+
return (await this.request('textDocument/definition', {
|
|
105
|
+
textDocument: { uri },
|
|
106
|
+
position: { line, character },
|
|
107
|
+
}, timeoutMs));
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
close() {
|
|
114
|
+
try {
|
|
115
|
+
this.proc?.stdin?.end();
|
|
116
|
+
this.proc?.kill();
|
|
117
|
+
}
|
|
118
|
+
catch {
|
|
119
|
+
/* ignore */
|
|
120
|
+
}
|
|
121
|
+
this.proc = null;
|
|
122
|
+
this.started = false;
|
|
123
|
+
}
|
|
124
|
+
onData(chunk) {
|
|
125
|
+
this.buffer = Buffer.concat([this.buffer, chunk]);
|
|
126
|
+
for (;;) {
|
|
127
|
+
const headerEnd = this.buffer.indexOf('\r\n\r\n');
|
|
128
|
+
if (headerEnd < 0)
|
|
129
|
+
return;
|
|
130
|
+
const header = this.buffer.slice(0, headerEnd).toString();
|
|
131
|
+
const m = /Content-Length:\s*(\d+)/i.exec(header);
|
|
132
|
+
if (!m)
|
|
133
|
+
return;
|
|
134
|
+
const len = Number(m[1]);
|
|
135
|
+
const bodyStart = headerEnd + 4;
|
|
136
|
+
if (this.buffer.length < bodyStart + len)
|
|
137
|
+
return;
|
|
138
|
+
const body = this.buffer.slice(bodyStart, bodyStart + len).toString();
|
|
139
|
+
this.buffer = this.buffer.slice(bodyStart + len);
|
|
140
|
+
try {
|
|
141
|
+
this.handleMessage(JSON.parse(body));
|
|
142
|
+
}
|
|
143
|
+
catch {
|
|
144
|
+
/* 非 JSON 帧忽略 */
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
handleMessage(msg) {
|
|
149
|
+
const id = msg.id;
|
|
150
|
+
if (id !== undefined && this.pending.has(id)) {
|
|
151
|
+
const p = this.pending.get(id);
|
|
152
|
+
this.pending.delete(id);
|
|
153
|
+
clearTimeout(p.timer);
|
|
154
|
+
if (msg.error)
|
|
155
|
+
p.reject(new Error(JSON.stringify(msg.error)));
|
|
156
|
+
else
|
|
157
|
+
p.resolve(msg.result);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
request(method, params, timeoutMs) {
|
|
161
|
+
const id = this.nextId++;
|
|
162
|
+
return new Promise((resolve, reject) => {
|
|
163
|
+
const timer = setTimeout(() => {
|
|
164
|
+
if (this.pending.has(id)) {
|
|
165
|
+
this.pending.delete(id);
|
|
166
|
+
reject(new Error(`LSP timeout: ${method}`));
|
|
167
|
+
}
|
|
168
|
+
}, timeoutMs);
|
|
169
|
+
this.pending.set(id, { resolve, reject, timer });
|
|
170
|
+
this.send({ jsonrpc: '2.0', id, method, params });
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
sendNotification(method, params) {
|
|
174
|
+
this.send({ jsonrpc: '2.0', method, params });
|
|
175
|
+
}
|
|
176
|
+
send(obj) {
|
|
177
|
+
const body = JSON.stringify(obj);
|
|
178
|
+
const header = `Content-Length: ${Buffer.byteLength(body)}\r\n\r\n`;
|
|
179
|
+
this.proc?.stdin?.write(header + body);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
exports.LspClient = LspClient;
|
|
183
|
+
//# sourceMappingURL=lsp-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lsp-client.js","sourceRoot":"","sources":["../../src/lsp/lsp-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LspService = void 0;
|
|
4
|
+
exports.createLspService = createLspService;
|
|
5
|
+
exports.readFileContent = readFileContent;
|
|
6
|
+
/**
|
|
7
|
+
* 飞虹 Code v7.2.0 LSP 语义服务层(P0-2 修复)
|
|
8
|
+
*
|
|
9
|
+
* 补齐"标准 LSP 服务层"缺口:复用项目已有的语义底座(symbol-index 代码图 +
|
|
10
|
+
* type-checker 类型诊断),对外提供 LSP 风格接口,供 agent 循环 / Web API / IDE 使用:
|
|
11
|
+
* - diagnostics:文件级语义诊断(对标 LSP textDocument/publishDiagnostics)
|
|
12
|
+
* - symbols:文件符号列表(对标 LSP documentSymbol)
|
|
13
|
+
* - definition:符号定义定位(对标 LSP definition)
|
|
14
|
+
* - hover:符号签名信息(对标 LSP hover)
|
|
15
|
+
* - graph / search:代码图谱与跨文件符号搜索(对标全仓库语义检索)
|
|
16
|
+
*/
|
|
17
|
+
const fs_1 = require("fs");
|
|
18
|
+
const path_1 = require("path");
|
|
19
|
+
const symbol_index_1 = require("../agent/symbol-index");
|
|
20
|
+
const type_checker_1 = require("../agent/type-checker");
|
|
21
|
+
const DEFAULT_OPTS = {
|
|
22
|
+
enableDiagnostics: true,
|
|
23
|
+
diagTimeoutMs: 20000,
|
|
24
|
+
};
|
|
25
|
+
class LspService {
|
|
26
|
+
opts;
|
|
27
|
+
_graph = null;
|
|
28
|
+
_graphCwd = '';
|
|
29
|
+
constructor(opts = {}) {
|
|
30
|
+
this.opts = { ...DEFAULT_OPTS, ...opts };
|
|
31
|
+
}
|
|
32
|
+
/** 获取(并缓存)代码图谱,带增量更新 */
|
|
33
|
+
getGraph(cwd, forceRefresh = false) {
|
|
34
|
+
if (!this._graph || this._graphCwd !== cwd || forceRefresh) {
|
|
35
|
+
this._graph = (0, symbol_index_1.loadCachedCodeGraph)(cwd) ?? (0, symbol_index_1.buildCodeGraph)(cwd, { maxFiles: 3000 });
|
|
36
|
+
try {
|
|
37
|
+
(0, symbol_index_1.cacheCodeGraph)(this._graph);
|
|
38
|
+
}
|
|
39
|
+
catch { /* 缓存失败不影响主流程 */ }
|
|
40
|
+
this._graphCwd = cwd;
|
|
41
|
+
}
|
|
42
|
+
return this._graph;
|
|
43
|
+
}
|
|
44
|
+
/** 增量刷新图谱(文件写入后调用,保持语义最新) */
|
|
45
|
+
refreshGraph(cwd) {
|
|
46
|
+
const current = this.getGraph(cwd);
|
|
47
|
+
this._graph = (0, symbol_index_1.incrementalUpdate)(current, cwd, { maxFiles: 3000 });
|
|
48
|
+
try {
|
|
49
|
+
(0, symbol_index_1.cacheCodeGraph)(this._graph);
|
|
50
|
+
}
|
|
51
|
+
catch { /* ignore */ }
|
|
52
|
+
return this._graph;
|
|
53
|
+
}
|
|
54
|
+
/** 文件级语义诊断(LSP publishDiagnostics 风格)。非 .ts/.tsx 返回空。 */
|
|
55
|
+
getDiagnostics(cwd, filePath) {
|
|
56
|
+
if (!this.opts.enableDiagnostics)
|
|
57
|
+
return [];
|
|
58
|
+
const ext = (0, path_1.extname)(filePath).toLowerCase();
|
|
59
|
+
if (ext !== '.ts' && ext !== '.tsx')
|
|
60
|
+
return [];
|
|
61
|
+
let errors = [];
|
|
62
|
+
try {
|
|
63
|
+
const result = (0, type_checker_1.checkFileTypes)(cwd, filePath);
|
|
64
|
+
errors = result.errors;
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
return [];
|
|
68
|
+
}
|
|
69
|
+
return errors.map((e) => ({
|
|
70
|
+
file: e.file,
|
|
71
|
+
line: e.line,
|
|
72
|
+
column: e.column,
|
|
73
|
+
message: e.message,
|
|
74
|
+
severity: e.severity,
|
|
75
|
+
source: 'typescript',
|
|
76
|
+
relative: this.relative(cwd, e.file),
|
|
77
|
+
}));
|
|
78
|
+
}
|
|
79
|
+
/** 文件符号列表(LSP documentSymbol) */
|
|
80
|
+
getSymbols(cwd, filePath) {
|
|
81
|
+
const graph = this.getGraph(cwd);
|
|
82
|
+
const symbols = (0, symbol_index_1.symbolsForFile)(graph, this.toGraphKey(cwd, filePath));
|
|
83
|
+
return this.toLspSymbols(symbols);
|
|
84
|
+
}
|
|
85
|
+
/** 全仓库符号搜索(LSP workspace/symbol) */
|
|
86
|
+
search(cwd, query, limit = 20) {
|
|
87
|
+
const graph = this.getGraph(cwd);
|
|
88
|
+
return this.toLspSymbols((0, symbol_index_1.searchSymbols)(graph, query, limit));
|
|
89
|
+
}
|
|
90
|
+
/** 定义定位(LSP definition):找目标文件中指定行附近的符号 */
|
|
91
|
+
getDefinition(cwd, filePath, line) {
|
|
92
|
+
const graph = this.getGraph(cwd);
|
|
93
|
+
const symbols = (0, symbol_index_1.symbolsForFile)(graph, this.toGraphKey(cwd, filePath));
|
|
94
|
+
const hit = symbols
|
|
95
|
+
.filter((s) => Math.abs(s.line - line) <= 2)
|
|
96
|
+
.sort((a, b) => Math.abs(a.line - line) - Math.abs(b.line - line))[0];
|
|
97
|
+
if (!hit)
|
|
98
|
+
return null;
|
|
99
|
+
return { name: hit.name, file: hit.file, line: hit.line, signature: hit.signature };
|
|
100
|
+
}
|
|
101
|
+
/** 悬停信息(LSP hover) */
|
|
102
|
+
getHover(cwd, filePath, line) {
|
|
103
|
+
const def = this.getDefinition(cwd, filePath, line);
|
|
104
|
+
if (!def)
|
|
105
|
+
return null;
|
|
106
|
+
return { name: def.name, kind: 'symbol', line: def.line, signature: def.signature, file: def.file };
|
|
107
|
+
}
|
|
108
|
+
/** 图谱摘要 */
|
|
109
|
+
getGraphSummary(cwd) {
|
|
110
|
+
const graph = this.getGraph(cwd);
|
|
111
|
+
const files = graph.files ?? {};
|
|
112
|
+
const edgeCount = Object.values(files).reduce((n, f) => n + (f.imports ?? []).length, 0);
|
|
113
|
+
return {
|
|
114
|
+
fileCount: Object.keys(files).length,
|
|
115
|
+
symbolCount: (0, symbol_index_1.getAllSymbols)(graph).length,
|
|
116
|
+
edgeCount,
|
|
117
|
+
root: cwd,
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
toGraphKey(cwd, file) {
|
|
121
|
+
const f = file.replace(/\\/g, '/');
|
|
122
|
+
const c = cwd.replace(/\\/g, '/').replace(/\/$/, '');
|
|
123
|
+
if (f.startsWith(c + '/'))
|
|
124
|
+
return f.slice(c.length + 1);
|
|
125
|
+
return f;
|
|
126
|
+
}
|
|
127
|
+
toLspSymbols(symbols) {
|
|
128
|
+
return symbols.map((s) => ({
|
|
129
|
+
name: s.name,
|
|
130
|
+
kind: s.kind,
|
|
131
|
+
file: s.file,
|
|
132
|
+
line: s.line,
|
|
133
|
+
signature: s.signature,
|
|
134
|
+
}));
|
|
135
|
+
}
|
|
136
|
+
relative(cwd, file) {
|
|
137
|
+
try {
|
|
138
|
+
const rel = file.startsWith(cwd) ? file.slice(cwd.length).replace(/^[\\/]+/, '') : file;
|
|
139
|
+
return rel;
|
|
140
|
+
}
|
|
141
|
+
catch {
|
|
142
|
+
return file;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
exports.LspService = LspService;
|
|
147
|
+
function createLspService(opts) {
|
|
148
|
+
return new LspService(opts);
|
|
149
|
+
}
|
|
150
|
+
/** 便捷函数:读取文件内容(供诊断/符号上下文展示) */
|
|
151
|
+
function readFileContent(filePath) {
|
|
152
|
+
try {
|
|
153
|
+
return (0, fs_1.readFileSync)(filePath, 'utf8');
|
|
154
|
+
}
|
|
155
|
+
catch {
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=lsp-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lsp-service.js","sourceRoot":"","sources":["../../src/lsp/lsp-service.ts"],"names":[],"mappings":"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"}
|
package/dist/plugins/manager.js
CHANGED
|
@@ -23,6 +23,10 @@ class PluginManager {
|
|
|
23
23
|
installed = new Map();
|
|
24
24
|
registryPath;
|
|
25
25
|
commands = new Map();
|
|
26
|
+
/** P2-2: 插件注册的视图 / 补全提供者 / 代码操作(第三方生态消费点) */
|
|
27
|
+
views = new Map();
|
|
28
|
+
completionProviders = new Map();
|
|
29
|
+
codeActions = new Map();
|
|
26
30
|
constructor(baseDir) {
|
|
27
31
|
this.baseDir = baseDir;
|
|
28
32
|
this.pluginsDir = (0, path_1.join)(baseDir, 'plugins');
|
|
@@ -146,14 +150,28 @@ class PluginManager {
|
|
|
146
150
|
}
|
|
147
151
|
/**
|
|
148
152
|
* 激活插件
|
|
153
|
+
* P2-2 真实执行:加载插件入口 JS 并调用 activate(api),
|
|
154
|
+
* 第三方插件通过 PluginAPI 注册命令/视图/补全提供者/代码操作。
|
|
149
155
|
*/
|
|
150
156
|
activatePlugin(plugin) {
|
|
151
157
|
try {
|
|
152
158
|
const pluginDir = (0, path_1.join)(this.pluginsDir, plugin.id);
|
|
153
159
|
const entryPath = (0, path_1.join)(pluginDir, plugin.entry || 'index.js');
|
|
154
160
|
if ((0, fs_1.existsSync)(entryPath)) {
|
|
155
|
-
|
|
156
|
-
|
|
161
|
+
const resolved = require.resolve(entryPath);
|
|
162
|
+
delete require.cache[resolved]; // 热重载:避免 require 缓存
|
|
163
|
+
const mod = require(resolved);
|
|
164
|
+
if (mod && typeof mod.activate === 'function') {
|
|
165
|
+
const api = this.buildPluginApi(plugin);
|
|
166
|
+
mod.activate(api);
|
|
167
|
+
logger_1.logger.info('plugin activated (real)', { id: plugin.id });
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
logger_1.logger.warn('plugin entry missing activate()', { id: plugin.id });
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
logger_1.logger.warn('plugin entry missing, skip', { id: plugin.id, entryPath });
|
|
157
175
|
}
|
|
158
176
|
}
|
|
159
177
|
catch (error) {
|
|
@@ -163,6 +181,36 @@ class PluginManager {
|
|
|
163
181
|
logger_1.logger.error('plugin activation error', { id: plugin.id, error: String(error) });
|
|
164
182
|
}
|
|
165
183
|
}
|
|
184
|
+
/** P2-2: 构建传给插件 activate(api) 的 PluginAPI(命令带插件命名空间) */
|
|
185
|
+
buildPluginApi(plugin) {
|
|
186
|
+
const self = this;
|
|
187
|
+
return {
|
|
188
|
+
registerCommand: (id, handler) => self.commands.set(`plugin:${plugin.id}:${id}`, handler),
|
|
189
|
+
registerView: (id, options) => self.views.set(`plugin:${plugin.id}:${id}`, options),
|
|
190
|
+
registerCompletionProvider: (language, provider) => self.completionProviders.set(`plugin:${plugin.id}:${language}`, provider),
|
|
191
|
+
registerCodeAction: (id, action) => self.codeActions.set(`plugin:${plugin.id}:${id}`, action),
|
|
192
|
+
showNotification: (msg, type) => logger_1.logger.info('plugin notification', { plugin: plugin.id, msg, type }),
|
|
193
|
+
showQuickPick: async () => undefined,
|
|
194
|
+
showInputBox: async () => undefined,
|
|
195
|
+
getWorkspacePath: () => self.baseDir,
|
|
196
|
+
readFile: async (p) => (0, fs_1.readFileSync)(p, 'utf8'),
|
|
197
|
+
writeFile: async (p, c) => (0, fs_1.writeFileSync)(p, c, 'utf8'),
|
|
198
|
+
executeCommand: (cmd, ...args) => self.executeCommand(cmd, ...args),
|
|
199
|
+
log: (msg) => logger_1.logger.info('plugin log', { plugin: plugin.id, msg }),
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
/** P2-2: 插件注册的视图列表 */
|
|
203
|
+
getViews() {
|
|
204
|
+
return Array.from(this.views.keys());
|
|
205
|
+
}
|
|
206
|
+
/** P2-2: 插件注册的补全提供者列表 */
|
|
207
|
+
getCompletionProviders() {
|
|
208
|
+
return Array.from(this.completionProviders.keys());
|
|
209
|
+
}
|
|
210
|
+
/** P2-2: 插件注册的代码操作列表 */
|
|
211
|
+
getCodeActions() {
|
|
212
|
+
return Array.from(this.codeActions.keys());
|
|
213
|
+
}
|
|
166
214
|
/**
|
|
167
215
|
* 获取已安装插件
|
|
168
216
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/plugins/manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/plugins/manager.ts"],"names":[],"mappings":"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"}
|