@wuyanbin/ai-code-review-cli-remote 1.1.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/core/confidence.d.ts +40 -0
  2. package/dist/core/confidence.d.ts.map +1 -0
  3. package/dist/core/confidence.js +74 -0
  4. package/dist/core/confidence.js.map +1 -0
  5. package/dist/core/context.js +1 -1
  6. package/dist/core/context.js.map +1 -1
  7. package/dist/core/diff.d.ts +5 -0
  8. package/dist/core/diff.d.ts.map +1 -1
  9. package/dist/core/diff.js +24 -0
  10. package/dist/core/diff.js.map +1 -1
  11. package/dist/core/import-resolve.d.ts +20 -9
  12. package/dist/core/import-resolve.d.ts.map +1 -1
  13. package/dist/core/import-resolve.js +96 -15
  14. package/dist/core/import-resolve.js.map +1 -1
  15. package/dist/core/incremental.d.ts.map +1 -1
  16. package/dist/core/incremental.js +6 -0
  17. package/dist/core/incremental.js.map +1 -1
  18. package/dist/core/prompt.d.ts.map +1 -1
  19. package/dist/core/prompt.js +3 -1
  20. package/dist/core/prompt.js.map +1 -1
  21. package/dist/core/reviewer.d.ts.map +1 -1
  22. package/dist/core/reviewer.js +22 -4
  23. package/dist/core/reviewer.js.map +1 -1
  24. package/dist/core/swift-index.d.ts +45 -0
  25. package/dist/core/swift-index.d.ts.map +1 -0
  26. package/dist/core/swift-index.js +151 -0
  27. package/dist/core/swift-index.js.map +1 -0
  28. package/dist/core/symbol-context.d.ts +4 -0
  29. package/dist/core/symbol-context.d.ts.map +1 -1
  30. package/dist/core/symbol-context.js +98 -14
  31. package/dist/core/symbol-context.js.map +1 -1
  32. package/dist/core/symbols.d.ts +3 -3
  33. package/dist/core/symbols.d.ts.map +1 -1
  34. package/dist/core/symbols.js +428 -37
  35. package/dist/core/symbols.js.map +1 -1
  36. package/dist/core/tree-sitter.d.ts +5 -1
  37. package/dist/core/tree-sitter.d.ts.map +1 -1
  38. package/dist/core/tree-sitter.js +10 -1
  39. package/dist/core/tree-sitter.js.map +1 -1
  40. package/dist/gitlab/api.d.ts.map +1 -1
  41. package/dist/gitlab/api.js +8 -1
  42. package/dist/gitlab/api.js.map +1 -1
  43. package/dist/platform/findings.d.ts.map +1 -1
  44. package/dist/platform/findings.js +3 -0
  45. package/dist/platform/findings.js.map +1 -1
  46. package/dist/tree-sitter/tree-sitter-kotlin.wasm +0 -0
  47. package/dist/tree-sitter/tree-sitter-swift.wasm +0 -0
  48. package/dist/types.d.ts +6 -0
  49. package/dist/types.d.ts.map +1 -1
  50. package/package.json +2 -1
@@ -0,0 +1,40 @@
1
+ import type { AIComment, Confidence } from "../types";
2
+ /**
3
+ * 审查意见置信度:模型自报 high / medium / low,并给出依据行号(evidence)。
4
+ * 这里只做两件事——校验 evidence 是否落在模型真正看得到的行上、据此下调 confidence;
5
+ * confidence 之后只用于 MR 评论标注与平台度量,不参与发布集、准入与 fingerprint。
6
+ */
7
+ export declare const CONFIDENCE_LEVELS: readonly Confidence[];
8
+ export declare function isConfidence(value: unknown): value is Confidence;
9
+ export declare function downgradeConfidence(confidence: Confidence): Confidence;
10
+ export interface EvidenceCheck {
11
+ confidence: Confidence | undefined;
12
+ /** 模型没给 evidence(缺失或空数组):不降级,只计数 */
13
+ evidenceMissing: boolean;
14
+ /** 因不可见行占半数以上而被下调 */
15
+ downgraded: boolean;
16
+ }
17
+ /** 解析阶段的评论:比 AIComment 多一个只在 CLI 内部存在的 evidence */
18
+ export interface ParsedComment extends AIComment {
19
+ evidence?: number[];
20
+ }
21
+ /**
22
+ * 可见行集合 = 注解 diff 的 [ADD] / [CTX] 行 ∪ 变更源码上下文渲染的行(按新文件侧行号、
23
+ * 归一化路径)。evidence 非空且其中不可见的行号占半数以上 → confidence 降一级。
24
+ */
25
+ export declare function checkEvidence(comment: {
26
+ file: string;
27
+ confidence?: Confidence;
28
+ evidence?: number[];
29
+ }, visible: Map<string, Set<number>>): EvidenceCheck;
30
+ export interface ConfidenceCheckStats {
31
+ evidenceMissing: number;
32
+ confidenceDowngraded: number;
33
+ }
34
+ /** 对整批解析结果做校验,并剥掉 evidence——它不进入对齐、发布与对账 */
35
+ export declare function applyConfidenceChecks(comments: ParsedComment[], visible: Map<string, Set<number>>): {
36
+ comments: AIComment[];
37
+ stats: ConfidenceCheckStats;
38
+ };
39
+ export declare function mergeVisibleLines(...sources: Array<Map<string, Set<number>>>): Map<string, Set<number>>;
40
+ //# sourceMappingURL=confidence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confidence.d.ts","sourceRoot":"","sources":["../../src/core/confidence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGtD;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,UAAU,EAA8B,CAAC;AAElF,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAEhE;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,CAGtE;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC;IACnC,oCAAoC;IACpC,eAAe,EAAE,OAAO,CAAC;IACzB,qBAAqB;IACrB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,mDAAmD;AACnD,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC9C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,EACvE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GAChC,aAAa,CAYf;AAED,MAAM,WAAW,oBAAoB;IACnC,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,4CAA4C;AAC5C,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,aAAa,EAAE,EACzB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GAChC;IAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAAC,KAAK,EAAE,oBAAoB,CAAA;CAAE,CAaxD;AAED,wBAAgB,iBAAiB,CAC/B,GAAG,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAC1C,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAc1B"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CONFIDENCE_LEVELS = void 0;
4
+ exports.isConfidence = isConfidence;
5
+ exports.downgradeConfidence = downgradeConfidence;
6
+ exports.checkEvidence = checkEvidence;
7
+ exports.applyConfidenceChecks = applyConfidenceChecks;
8
+ exports.mergeVisibleLines = mergeVisibleLines;
9
+ const diff_1 = require("./diff");
10
+ /**
11
+ * 审查意见置信度:模型自报 high / medium / low,并给出依据行号(evidence)。
12
+ * 这里只做两件事——校验 evidence 是否落在模型真正看得到的行上、据此下调 confidence;
13
+ * confidence 之后只用于 MR 评论标注与平台度量,不参与发布集、准入与 fingerprint。
14
+ */
15
+ exports.CONFIDENCE_LEVELS = ["high", "medium", "low"];
16
+ function isConfidence(value) {
17
+ return value === "high" || value === "medium" || value === "low";
18
+ }
19
+ function downgradeConfidence(confidence) {
20
+ if (confidence === "high")
21
+ return "medium";
22
+ return "low";
23
+ }
24
+ /**
25
+ * 可见行集合 = 注解 diff 的 [ADD] / [CTX] 行 ∪ 变更源码上下文渲染的行(按新文件侧行号、
26
+ * 归一化路径)。evidence 非空且其中不可见的行号占半数以上 → confidence 降一级。
27
+ */
28
+ function checkEvidence(comment, visible) {
29
+ const evidence = comment.evidence ?? [];
30
+ if (evidence.length === 0) {
31
+ return { confidence: comment.confidence, evidenceMissing: true, downgraded: false };
32
+ }
33
+ const lines = visible.get((0, diff_1.normalizePath)(comment.file));
34
+ const invalid = evidence.filter((line) => !lines?.has(line)).length;
35
+ if (invalid * 2 < evidence.length || comment.confidence === undefined) {
36
+ return { confidence: comment.confidence, evidenceMissing: false, downgraded: false };
37
+ }
38
+ const next = downgradeConfidence(comment.confidence);
39
+ return { confidence: next, evidenceMissing: false, downgraded: next !== comment.confidence };
40
+ }
41
+ /** 对整批解析结果做校验,并剥掉 evidence——它不进入对齐、发布与对账 */
42
+ function applyConfidenceChecks(comments, visible) {
43
+ const stats = { evidenceMissing: 0, confidenceDowngraded: 0 };
44
+ const out = [];
45
+ for (const comment of comments) {
46
+ const check = checkEvidence(comment, visible);
47
+ if (check.evidenceMissing)
48
+ stats.evidenceMissing += 1;
49
+ if (check.downgraded)
50
+ stats.confidenceDowngraded += 1;
51
+ const { evidence: _evidence, confidence: _confidence, ...rest } = comment;
52
+ void _evidence;
53
+ void _confidence;
54
+ out.push(check.confidence ? { ...rest, confidence: check.confidence } : rest);
55
+ }
56
+ return { comments: out, stats };
57
+ }
58
+ function mergeVisibleLines(...sources) {
59
+ const merged = new Map();
60
+ for (const source of sources) {
61
+ for (const [file, lines] of source) {
62
+ const key = (0, diff_1.normalizePath)(file);
63
+ let target = merged.get(key);
64
+ if (!target) {
65
+ target = new Set();
66
+ merged.set(key, target);
67
+ }
68
+ for (const line of lines)
69
+ target.add(line);
70
+ }
71
+ }
72
+ return merged;
73
+ }
74
+ //# sourceMappingURL=confidence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confidence.js","sourceRoot":"","sources":["../../src/core/confidence.ts"],"names":[],"mappings":";;;AAUA,oCAEC;AAED,kDAGC;AAmBD,sCAeC;AAQD,sDAgBC;AAED,8CAgBC;AA5FD,iCAAuC;AAEvC;;;;GAIG;AACU,QAAA,iBAAiB,GAA0B,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AAElF,SAAgB,YAAY,CAAC,KAAc;IACzC,OAAO,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,KAAK,CAAC;AACnE,CAAC;AAED,SAAgB,mBAAmB,CAAC,UAAsB;IACxD,IAAI,UAAU,KAAK,MAAM;QAAE,OAAO,QAAQ,CAAC;IAC3C,OAAO,KAAK,CAAC;AACf,CAAC;AAeD;;;GAGG;AACH,SAAgB,aAAa,CAC3B,OAAuE,EACvE,OAAiC;IAEjC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;IACxC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IACtF,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAA,oBAAa,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IACpE,IAAI,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACtE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IACvF,CAAC;IACD,MAAM,IAAI,GAAG,mBAAmB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACrD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC;AAC/F,CAAC;AAOD,4CAA4C;AAC5C,SAAgB,qBAAqB,CACnC,QAAyB,EACzB,OAAiC;IAEjC,MAAM,KAAK,GAAyB,EAAE,eAAe,EAAE,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,CAAC;IACpF,MAAM,GAAG,GAAgB,EAAE,CAAC;IAC5B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9C,IAAI,KAAK,CAAC,eAAe;YAAE,KAAK,CAAC,eAAe,IAAI,CAAC,CAAC;QACtD,IAAI,KAAK,CAAC,UAAU;YAAE,KAAK,CAAC,oBAAoB,IAAI,CAAC,CAAC;QACtD,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QAC1E,KAAK,SAAS,CAAC;QACf,KAAK,WAAW,CAAC;QACjB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;AAClC,CAAC;AAED,SAAgB,iBAAiB,CAC/B,GAAG,OAAwC;IAE3C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC9C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,IAAA,oBAAa,EAAC,IAAI,CAAC,CAAC;YAChC,IAAI,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;gBAC3B,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC1B,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,KAAK;gBAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -128,7 +128,7 @@ async function collectShardSourceContextDetailed(diff, options = {}) {
128
128
  });
129
129
  return result.text
130
130
  ? result
131
- : { text: "(无源码上下文)", stats: result.stats };
131
+ : { text: "(无源码上下文)", stats: result.stats, renderedLines: result.renderedLines };
132
132
  }
133
133
  /** 兼容旧调用方:只要文本 */
134
134
  async function collectShardSourceContext(diff, options = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"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"}
@@ -81,6 +81,11 @@ export type DiffEvent = {
81
81
  */
82
82
  export declare function walkDiff(diff: string): Generator<DiffEvent>;
83
83
  export declare function collectAddedLines(diff: string): Map<string, AddedLine[]>;
84
+ /**
85
+ * 模型在注解 diff 里能看到的新文件侧行号([ADD] 与 [CTX];[DEL] 没有新侧行号)。
86
+ * 与 symbol-context 渲染的行合并后构成 evidence 校验的可见行集合。
87
+ */
88
+ export declare function collectVisibleLines(diff: string): Map<string, Set<number>>;
84
89
  export declare function getChangedFiles(diff: string): string[];
85
90
  export declare function splitDiffByMaxBytes(diff: string, maxBytes: number): string[];
86
91
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/core/diff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/core/diff.ts"],"names":[],"mappings":"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"}
package/dist/core/diff.js CHANGED
@@ -7,6 +7,7 @@ exports.filterDiffByIgnore = filterDiffByIgnore;
7
7
  exports.normalizePath = normalizePath;
8
8
  exports.walkDiff = walkDiff;
9
9
  exports.collectAddedLines = collectAddedLines;
10
+ exports.collectVisibleLines = collectVisibleLines;
10
11
  exports.getChangedFiles = getChangedFiles;
11
12
  exports.splitDiffByMaxBytes = splitDiffByMaxBytes;
12
13
  exports.projectShardRequestBytes = projectShardRequestBytes;
@@ -198,6 +199,29 @@ function collectAddedLines(diff) {
198
199
  }
199
200
  return files;
200
201
  }
202
+ /**
203
+ * 模型在注解 diff 里能看到的新文件侧行号([ADD] 与 [CTX];[DEL] 没有新侧行号)。
204
+ * 与 symbol-context 渲染的行合并后构成 evidence 校验的可见行集合。
205
+ */
206
+ function collectVisibleLines(diff) {
207
+ const visible = new Map();
208
+ let currentFile = "";
209
+ for (const event of walkDiff(diff)) {
210
+ if (event.kind === "file") {
211
+ currentFile = normalizePath(event.newPath || event.oldPath || "");
212
+ continue;
213
+ }
214
+ if (!currentFile || (event.kind !== "add" && event.kind !== "ctx"))
215
+ continue;
216
+ let lines = visible.get(currentFile);
217
+ if (!lines) {
218
+ lines = new Set();
219
+ visible.set(currentFile, lines);
220
+ }
221
+ lines.add(event.line);
222
+ }
223
+ return visible;
224
+ }
201
225
  function getChangedFiles(diff) {
202
226
  const files = new Set();
203
227
  for (const raw of diff.split("\n")) {
@@ -1 +1 @@
1
- {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/core/diff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/core/diff.ts"],"names":[],"mappings":"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"}
@@ -4,18 +4,20 @@ import { type SupportedLanguage } from "./tree-sitter";
4
4
  * 把 import 绑定解析成仓库内的候选源码文件(绝对路径、按优先级)。
5
5
  *
6
6
  * 只覆盖「仓库内」的解析:TS 相对路径 / tsconfig paths / npm workspace 包名;
7
- * Go 用 go.mod 的 module 路径;Java 用引用文件自己的 package 反推源码根,
8
- * 兜底 `git ls-files`。第三方依赖(node_modules、GOPATH、jar)一律不解析——
9
- * 那不是本仓库的代码,也不在可读边界内。
7
+ * Go 用 go.mod 的 module 路径;Java / Kotlin 用引用文件自己的 package 反推源码根
8
+ * (.kt 与 .java 互查,Kotlin 文件名不必与声明同名时再扫包目录),兜底 `git ls-files`;
9
+ * Swift 的 import 是模块级的,改为查仓库内类型声明索引(swift-index.ts)。
10
+ * 第三方依赖(node_modules、GOPATH、jar、Pods)一律不解析——那不是本仓库的代码,
11
+ * 也不在可读边界内。
10
12
  */
11
13
  export interface ResolveInput {
12
14
  binding: ImportBinding;
13
15
  /** 引用文件的绝对路径 */
14
16
  fromFile: string;
15
17
  language: SupportedLanguage;
16
- /** Go 包名 / Java 包路径;TS 为 null */
18
+ /** Go 包名 / Java、Kotlin 包路径;TS、Swift 为 null */
17
19
  fromPackage: string | null;
18
- /** Java 通配导入 / 同包引用时要找的类名 */
20
+ /** Java、Kotlin 通配导入 / 同包引用时要找的类名;Swift 为要查索引的类型名 */
19
21
  className?: string;
20
22
  }
21
23
  /**
@@ -28,7 +30,8 @@ export declare class ImportResolver {
28
30
  private readonly tsconfigCache;
29
31
  private readonly goModCache;
30
32
  private workspacePackages;
31
- private readonly javaSourceRoots;
33
+ private readonly jvmSourceRoots;
34
+ private swiftIndex;
32
35
  constructor(cwd: string);
33
36
  resolve(input: ResolveInput): string[];
34
37
  /**
@@ -42,10 +45,18 @@ export declare class ImportResolver {
42
45
  private workspacePackageFor;
43
46
  private resolveGo;
44
47
  private goModuleFor;
45
- private resolveJava;
46
- /** `<root>/com/a/b/Bar.java` 且 package com.a.b → root;跨文件累积,当前文件的根优先 */
47
- private javaSourceRootsFor;
48
+ private resolveJvm;
49
+ /** 包目录里声明了该名字的 .kt 文件(不含引用文件自身),按文件名排序、封顶数量 */
50
+ private scanKotlinPackage;
51
+ /** `<root>/com/a/b/Bar.kt` 且 package com.a.b → root;跨文件累积,当前文件的根优先 */
52
+ private jvmSourceRootsFor;
53
+ private resolveSwift;
48
54
  }
55
+ /**
56
+ * 某段 Kotlin 源码是否在行首级别声明了该名字(class / interface / object / fun / val /
57
+ * var / typealias,允许修饰符、类型参数与扩展接收者)。只做候选筛选,精确判断交给语法树。
58
+ */
59
+ export declare function declaresKotlinSymbol(text: string, name: string): boolean;
49
60
  /** `@/*` 对 `@/lib/fmt` → "lib/fmt";无 `*` 时要求全等 → "";不匹配 → null */
50
61
  export declare function matchPathPattern(pattern: string, source: string): string | null;
51
62
  //# sourceMappingURL=import-resolve.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"import-resolve.d.ts","sourceRoot":"","sources":["../../src/core/import-resolve.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAwB,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE7E;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,aAAa,CAAC;IACvB,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,iCAAiC;IACjC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA6BD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAI/D;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA2C;IACzE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsC;IACjE,OAAO,CAAC,iBAAiB,CAAoC;IAC7D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgB;gBAEpC,GAAG,EAAE,MAAM;IAIvB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,EAAE;IAUtC;;;OAGG;IACH,OAAO,CAAC,KAAK;IA0Bb,OAAO,CAAC,SAAS;IA8BjB,wEAAwE;IACxE,OAAO,CAAC,WAAW;IAsBnB,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,SAAS;IA8BjB,OAAO,CAAC,WAAW;IAuBnB,OAAO,CAAC,WAAW;IA4BnB,wEAAwE;IACxE,OAAO,CAAC,kBAAkB;CAgB3B;AAED,kEAAkE;AAClE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQ/E"}
1
+ {"version":3,"file":"import-resolve.d.ts","sourceRoot":"","sources":["../../src/core/import-resolve.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,EAAwB,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE7E;;;;;;;;;GASG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,aAAa,CAAC;IACvB,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,8CAA8C;IAC9C,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAmCD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAI/D;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA2C;IACzE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsC;IACjE,OAAO,CAAC,iBAAiB,CAAoC;IAC7D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,UAAU,CAAsC;gBAE5C,GAAG,EAAE,MAAM;IAIvB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,EAAE;IAWtC;;;OAGG;IACH,OAAO,CAAC,KAAK;IA0Bb,OAAO,CAAC,SAAS;IA8BjB,wEAAwE;IACxE,OAAO,CAAC,WAAW;IAsBnB,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,SAAS;IA8BjB,OAAO,CAAC,WAAW;IAuBnB,OAAO,CAAC,UAAU;IA0ClB,+CAA+C;IAC/C,OAAO,CAAC,iBAAiB;IAqCzB,sEAAsE;IACtE,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,YAAY;CAQrB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAMxE;AAED,kEAAkE;AAClE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQ/E"}
@@ -2,15 +2,23 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ImportResolver = void 0;
4
4
  exports.isInsideRepo = isInsideRepo;
5
+ exports.declaresKotlinSymbol = declaresKotlinSymbol;
5
6
  exports.matchPathPattern = matchPathPattern;
6
7
  const node_child_process_1 = require("node:child_process");
7
8
  const node_fs_1 = require("node:fs");
8
9
  const node_path_1 = require("node:path");
9
10
  const jsonrepair_1 = require("jsonrepair");
11
+ const swift_index_1 = require("./swift-index");
10
12
  const tree_sitter_1 = require("./tree-sitter");
11
13
  const TS_EXTENSIONS = [".ts", ".tsx", ".d.ts", ".js", ".jsx", ".mjs", ".cjs"];
12
14
  const MAX_GO_PACKAGE_FILES = 40;
13
15
  const GIT_LS_FILES_TIMEOUT_MS = 3000;
16
+ /** 引用方语言决定优先扩展名,另一种兜底:Android 混编项目里 Kotlin 与 Java 互相引用 */
17
+ const JVM_EXTENSIONS_KOTLIN_FIRST = [".kt", ".java"];
18
+ const JVM_EXTENSIONS_JAVA_FIRST = [".java", ".kt"];
19
+ const MAX_JVM_PACKAGE_FILES = 40;
20
+ const MAX_JVM_SCAN_CANDIDATES = 5;
21
+ const MAX_SCAN_FILE_BYTES = 1000000;
14
22
  function safeRealpath(path) {
15
23
  try {
16
24
  return (0, node_fs_1.realpathSync)(path);
@@ -37,15 +45,18 @@ class ImportResolver {
37
45
  this.tsconfigCache = new Map();
38
46
  this.goModCache = new Map();
39
47
  this.workspacePackages = null;
40
- this.javaSourceRoots = [];
48
+ this.jvmSourceRoots = [];
49
+ this.swiftIndex = null;
41
50
  this.cwd = (0, node_path_1.resolve)(cwd);
42
51
  }
43
52
  resolve(input) {
44
53
  try {
45
54
  if (input.language === "go")
46
55
  return this.resolveGo(input.binding.source, input.fromFile);
47
- if (input.language === "java")
48
- return this.resolveJava(input);
56
+ if (input.language === "java" || input.language === "kotlin")
57
+ return this.resolveJvm(input);
58
+ if (input.language === "swift")
59
+ return this.resolveSwift(input);
49
60
  return this.resolveTs(input.binding.source, input.fromFile);
50
61
  }
51
62
  catch {
@@ -217,9 +228,9 @@ class ImportResolver {
217
228
  this.goModCache.set(dir, result);
218
229
  return result;
219
230
  }
220
- // —— Java ——
221
- resolveJava(input) {
222
- const { binding, fromFile, fromPackage, className } = input;
231
+ // —— Java / Kotlin(共用 package → 目录 的映射,混编项目互相引用)——
232
+ resolveJvm(input) {
233
+ const { binding, fromFile, fromPackage, className, language } = input;
223
234
  let fqcn = null;
224
235
  if (binding.kind === "class")
225
236
  fqcn = binding.source;
@@ -228,14 +239,29 @@ class ImportResolver {
228
239
  }
229
240
  if (!fqcn)
230
241
  return [];
231
- const relPath = `${fqcn.split(".").join("/")}.java`;
232
- const roots = this.javaSourceRootsFor(fromFile, fromPackage);
233
- const direct = this.admit(roots.map((root) => (0, node_path_1.join)(root, relPath)));
242
+ const segments = fqcn.split(".");
243
+ const simpleName = segments[segments.length - 1];
244
+ const packagePath = segments.slice(0, -1).join("/");
245
+ const extensions = language === "kotlin" ? JVM_EXTENSIONS_KOTLIN_FIRST : JVM_EXTENSIONS_JAVA_FIRST;
246
+ const relPaths = extensions.map((ext) => `${segments.join("/")}${ext}`);
247
+ const roots = this.jvmSourceRootsFor(fromFile, fromPackage);
248
+ const direct = this.admit(roots.flatMap((root) => relPaths.map((rel) => (0, node_path_1.join)(root, rel))));
234
249
  if (direct.length > 0)
235
250
  return direct;
251
+ // Kotlin 不要求文件名与声明同名(Models.kt 里放多个类、Ext.kt 里放顶层函数):
252
+ // 按声明正则扫包目录里的 .kt 文件
253
+ const scanned = this.admit(this.scanKotlinPackage(roots, packagePath, simpleName, fromFile));
254
+ if (scanned.length > 0)
255
+ return scanned;
236
256
  // 源码根推不出来(多模块、非常规布局)时用 git 索引兜底:一次子进程、3 秒超时
237
257
  try {
238
- const out = (0, node_child_process_1.execFileSync)("git", ["ls-files", "-z", "--", `:(glob)**/${relPath}`, relPath], { cwd: this.cwd, timeout: GIT_LS_FILES_TIMEOUT_MS, encoding: "utf8", stdio: ["ignore", "pipe", "ignore"] });
258
+ const patterns = relPaths.flatMap((rel) => [`:(glob)**/${rel}`, rel]);
259
+ const out = (0, node_child_process_1.execFileSync)("git", ["ls-files", "-z", "--", ...patterns], {
260
+ cwd: this.cwd,
261
+ timeout: GIT_LS_FILES_TIMEOUT_MS,
262
+ encoding: "utf8",
263
+ stdio: ["ignore", "pipe", "ignore"],
264
+ });
239
265
  const hits = out.split("\0").filter(Boolean).map((p) => (0, node_path_1.join)(this.cwd, p));
240
266
  return this.admit(hits);
241
267
  }
@@ -243,8 +269,46 @@ class ImportResolver {
243
269
  return [];
244
270
  }
245
271
  }
246
- /** `<root>/com/a/b/Bar.java` 且 package com.a.b → root;跨文件累积,当前文件的根优先 */
247
- javaSourceRootsFor(fromFile, fromPackage) {
272
+ /** 包目录里声明了该名字的 .kt 文件(不含引用文件自身),按文件名排序、封顶数量 */
273
+ scanKotlinPackage(roots, packagePath, name, fromFile) {
274
+ const out = [];
275
+ for (const root of roots) {
276
+ const dir = packagePath ? (0, node_path_1.join)(root, packagePath) : root;
277
+ let entries;
278
+ try {
279
+ entries = (0, node_fs_1.readdirSync)(dir);
280
+ }
281
+ catch {
282
+ continue;
283
+ }
284
+ const files = entries
285
+ .filter((f) => f.endsWith(".kt"))
286
+ .sort()
287
+ .slice(0, MAX_JVM_PACKAGE_FILES);
288
+ for (const f of files) {
289
+ const abs = (0, node_path_1.join)(dir, f);
290
+ if (abs === fromFile)
291
+ continue;
292
+ let text;
293
+ try {
294
+ if ((0, node_fs_1.statSync)(abs).size > MAX_SCAN_FILE_BYTES)
295
+ continue;
296
+ text = (0, node_fs_1.readFileSync)(abs, "utf8");
297
+ }
298
+ catch {
299
+ continue;
300
+ }
301
+ if (!text.includes(name) || !declaresKotlinSymbol(text, name))
302
+ continue;
303
+ out.push(abs);
304
+ if (out.length >= MAX_JVM_SCAN_CANDIDATES)
305
+ return out;
306
+ }
307
+ }
308
+ return out;
309
+ }
310
+ /** `<root>/com/a/b/Bar.kt` 且 package com.a.b → root;跨文件累积,当前文件的根优先 */
311
+ jvmSourceRootsFor(fromFile, fromPackage) {
248
312
  const roots = [];
249
313
  const dir = (0, node_path_1.dirname)(fromFile);
250
314
  if (fromPackage) {
@@ -252,20 +316,37 @@ class ImportResolver {
252
316
  if (dir === pkgDir || dir.endsWith(`${node_path_1.sep}${pkgDir}`)) {
253
317
  const root = dir.slice(0, dir.length - pkgDir.length).replace(/[\\/]+$/, "") || node_path_1.sep;
254
318
  roots.push(root);
255
- if (!this.javaSourceRoots.includes(root))
256
- this.javaSourceRoots.push(root);
319
+ if (!this.jvmSourceRoots.includes(root))
320
+ this.jvmSourceRoots.push(root);
257
321
  }
258
322
  }
259
323
  else {
260
324
  roots.push(dir);
261
325
  }
262
- for (const known of this.javaSourceRoots)
326
+ for (const known of this.jvmSourceRoots)
263
327
  if (!roots.includes(known))
264
328
  roots.push(known);
265
329
  return roots;
266
330
  }
331
+ // —— Swift:import 是模块级的,映射不到文件;按仓库内类型声明索引找 ——
332
+ resolveSwift(input) {
333
+ const name = input.className ?? input.binding.local;
334
+ if (!name || name === "*")
335
+ return [];
336
+ if (!this.swiftIndex)
337
+ this.swiftIndex = new swift_index_1.SwiftDeclarationIndex(this.cwd);
338
+ return this.admit(this.swiftIndex.lookup(name).filter((abs) => abs !== input.fromFile));
339
+ }
267
340
  }
268
341
  exports.ImportResolver = ImportResolver;
342
+ /**
343
+ * 某段 Kotlin 源码是否在行首级别声明了该名字(class / interface / object / fun / val /
344
+ * var / typealias,允许修饰符、类型参数与扩展接收者)。只做候选筛选,精确判断交给语法树。
345
+ */
346
+ function declaresKotlinSymbol(text, name) {
347
+ const escaped = name.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
348
+ return new RegExp(`(^|\\s)(?:class|interface|object|typealias|fun|val|var)\\b[^\\n=({]*\\b${escaped}\\b`, "m").test(text);
349
+ }
269
350
  /** `@/*` 对 `@/lib/fmt` → "lib/fmt";无 `*` 时要求全等 → "";不匹配 → null */
270
351
  function matchPathPattern(pattern, source) {
271
352
  const star = pattern.indexOf("*");