homegraph 1.5.2 → 1.5.3

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 (150) hide show
  1. package/CHANGELOG.md +131 -0
  2. package/README.md +15 -8
  3. package/dist/arkui/index.d.ts +4 -0
  4. package/dist/arkui/index.d.ts.map +1 -0
  5. package/dist/arkui/index.js +23 -0
  6. package/dist/arkui/index.js.map +1 -0
  7. package/dist/arkui/migrate-passage.d.ts +28 -0
  8. package/dist/arkui/migrate-passage.d.ts.map +1 -0
  9. package/dist/arkui/migrate-passage.js +310 -0
  10. package/dist/arkui/migrate-passage.js.map +1 -0
  11. package/dist/arkui/migrate-semantics.d.ts +47 -0
  12. package/dist/arkui/migrate-semantics.d.ts.map +1 -0
  13. package/dist/arkui/migrate-semantics.js +229 -0
  14. package/dist/arkui/migrate-semantics.js.map +1 -0
  15. package/dist/arkui/migrate-snapshot.d.ts +79 -0
  16. package/dist/arkui/migrate-snapshot.d.ts.map +1 -0
  17. package/dist/arkui/migrate-snapshot.js +340 -0
  18. package/dist/arkui/migrate-snapshot.js.map +1 -0
  19. package/dist/bin/fatal-handler.js +2 -2
  20. package/dist/bin/homegraph.js +105 -156
  21. package/dist/bin/homegraph.js.map +1 -1
  22. package/dist/bin/node-version-check.d.ts +6 -15
  23. package/dist/bin/node-version-check.d.ts.map +1 -1
  24. package/dist/bin/node-version-check.js +8 -37
  25. package/dist/bin/node-version-check.js.map +1 -1
  26. package/dist/db/index.d.ts +36 -1
  27. package/dist/db/index.d.ts.map +1 -1
  28. package/dist/db/index.js +92 -6
  29. package/dist/db/index.js.map +1 -1
  30. package/dist/db/migrations.d.ts +1 -1
  31. package/dist/db/migrations.d.ts.map +1 -1
  32. package/dist/db/migrations.js +15 -1
  33. package/dist/db/migrations.js.map +1 -1
  34. package/dist/db/queries.d.ts +42 -0
  35. package/dist/db/queries.d.ts.map +1 -1
  36. package/dist/db/queries.js +177 -10
  37. package/dist/db/queries.js.map +1 -1
  38. package/dist/db/schema.sql +6 -1
  39. package/dist/db/sqlite-adapter.d.ts +8 -3
  40. package/dist/db/sqlite-adapter.d.ts.map +1 -1
  41. package/dist/db/sqlite-adapter.js +45 -3
  42. package/dist/db/sqlite-adapter.js.map +1 -1
  43. package/dist/extraction/extraction-version.d.ts +1 -1
  44. package/dist/extraction/extraction-version.js +1 -1
  45. package/dist/extraction/generated-detection.d.ts +42 -11
  46. package/dist/extraction/generated-detection.d.ts.map +1 -1
  47. package/dist/extraction/generated-detection.js +141 -20
  48. package/dist/extraction/generated-detection.js.map +1 -1
  49. package/dist/extraction/index.d.ts +42 -0
  50. package/dist/extraction/index.d.ts.map +1 -1
  51. package/dist/extraction/index.js +96 -0
  52. package/dist/extraction/index.js.map +1 -1
  53. package/dist/extraction/languages/arkts.d.ts +19 -2
  54. package/dist/extraction/languages/arkts.d.ts.map +1 -1
  55. package/dist/extraction/languages/arkts.js +460 -110
  56. package/dist/extraction/languages/arkts.js.map +1 -1
  57. package/dist/extraction/wasm-runtime-flags.d.ts.map +1 -1
  58. package/dist/extraction/wasm-runtime-flags.js +9 -6
  59. package/dist/extraction/wasm-runtime-flags.js.map +1 -1
  60. package/dist/graph-sources.d.ts +41 -0
  61. package/dist/graph-sources.d.ts.map +1 -0
  62. package/dist/graph-sources.js +82 -0
  63. package/dist/graph-sources.js.map +1 -0
  64. package/dist/index.d.ts +19 -1
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +79 -9
  67. package/dist/index.js.map +1 -1
  68. package/dist/installer/index.d.ts.map +1 -1
  69. package/dist/installer/index.js +0 -48
  70. package/dist/installer/index.js.map +1 -1
  71. package/dist/installer/targets/antigravity.js +1 -1
  72. package/dist/installer/targets/antigravity.js.map +1 -1
  73. package/dist/installer/targets/deveco.js +1 -1
  74. package/dist/installer/targets/deveco.js.map +1 -1
  75. package/dist/installer/targets/hermes.d.ts +1 -1
  76. package/dist/installer/targets/hermes.js +2 -2
  77. package/dist/installer/targets/hermes.js.map +1 -1
  78. package/dist/installer/targets/opencode.js +1 -1
  79. package/dist/installer/targets/opencode.js.map +1 -1
  80. package/dist/installer/targets/shared.js +1 -1
  81. package/dist/installer/targets/shared.js.map +1 -1
  82. package/dist/mcp/daemon-paths.d.ts +5 -4
  83. package/dist/mcp/daemon-paths.d.ts.map +1 -1
  84. package/dist/mcp/daemon-paths.js +28 -13
  85. package/dist/mcp/daemon-paths.js.map +1 -1
  86. package/dist/mcp/daemon-registry.d.ts.map +1 -1
  87. package/dist/mcp/daemon-registry.js +4 -1
  88. package/dist/mcp/daemon-registry.js.map +1 -1
  89. package/dist/mcp/daemon.d.ts +1 -1
  90. package/dist/mcp/daemon.js +1 -1
  91. package/dist/mcp/engine.d.ts.map +1 -1
  92. package/dist/mcp/engine.js +12 -3
  93. package/dist/mcp/engine.js.map +1 -1
  94. package/dist/mcp/explore-dedup.d.ts +137 -0
  95. package/dist/mcp/explore-dedup.d.ts.map +1 -0
  96. package/dist/mcp/explore-dedup.js +236 -0
  97. package/dist/mcp/explore-dedup.js.map +1 -0
  98. package/dist/mcp/explore-session-state.d.ts +217 -0
  99. package/dist/mcp/explore-session-state.d.ts.map +1 -0
  100. package/dist/mcp/explore-session-state.js +322 -0
  101. package/dist/mcp/explore-session-state.js.map +1 -0
  102. package/dist/mcp/index.d.ts.map +1 -1
  103. package/dist/mcp/index.js +4 -7
  104. package/dist/mcp/index.js.map +1 -1
  105. package/dist/mcp/proxy.d.ts.map +1 -1
  106. package/dist/mcp/proxy.js +5 -14
  107. package/dist/mcp/proxy.js.map +1 -1
  108. package/dist/mcp/query-worker.d.ts +1 -1
  109. package/dist/mcp/query-worker.js +1 -1
  110. package/dist/mcp/server-instructions.d.ts +7 -2
  111. package/dist/mcp/server-instructions.d.ts.map +1 -1
  112. package/dist/mcp/server-instructions.js +104 -28
  113. package/dist/mcp/server-instructions.js.map +1 -1
  114. package/dist/mcp/session.d.ts +14 -3
  115. package/dist/mcp/session.d.ts.map +1 -1
  116. package/dist/mcp/session.js +17 -14
  117. package/dist/mcp/session.js.map +1 -1
  118. package/dist/mcp/startup-handshake.d.ts +1 -1
  119. package/dist/mcp/startup-handshake.js +1 -1
  120. package/dist/mcp/tools.d.ts +117 -7
  121. package/dist/mcp/tools.d.ts.map +1 -1
  122. package/dist/mcp/tools.js +3056 -503
  123. package/dist/mcp/tools.js.map +1 -1
  124. package/dist/resolution/frameworks/arkts-napi.d.ts +14 -0
  125. package/dist/resolution/frameworks/arkts-napi.d.ts.map +1 -1
  126. package/dist/resolution/frameworks/arkts-napi.js +169 -49
  127. package/dist/resolution/frameworks/arkts-napi.js.map +1 -1
  128. package/dist/search/query-utils.d.ts +116 -4
  129. package/dist/search/query-utils.d.ts.map +1 -1
  130. package/dist/search/query-utils.js +869 -60
  131. package/dist/search/query-utils.js.map +1 -1
  132. package/dist/types.d.ts +8 -0
  133. package/dist/types.d.ts.map +1 -1
  134. package/dist/upgrade/index.d.ts +14 -26
  135. package/dist/upgrade/index.d.ts.map +1 -1
  136. package/dist/upgrade/index.js +28 -123
  137. package/dist/upgrade/index.js.map +1 -1
  138. package/dist/upgrade/remove-binary.d.ts +19 -19
  139. package/dist/upgrade/remove-binary.d.ts.map +1 -1
  140. package/dist/upgrade/remove-binary.js +20 -21
  141. package/dist/upgrade/remove-binary.js.map +1 -1
  142. package/dist/upgrade/update-check.d.ts +4 -3
  143. package/dist/upgrade/update-check.d.ts.map +1 -1
  144. package/dist/upgrade/update-check.js +4 -3
  145. package/dist/upgrade/update-check.js.map +1 -1
  146. package/package.json +12 -8
  147. package/dist/telemetry/index.d.ts +0 -143
  148. package/dist/telemetry/index.d.ts.map +0 -1
  149. package/dist/telemetry/index.js +0 -541
  150. package/dist/telemetry/index.js.map +0 -1
@@ -1,3 +1,17 @@
1
1
  import { FrameworkResolver } from '../types';
2
+ export interface NapiExport {
3
+ jsName: string;
4
+ nativeName: string;
5
+ line: number;
6
+ kind: 'flat' | 'class';
7
+ className?: string;
8
+ }
9
+ /**
10
+ * Conservative S2: `NapiAddVerticalRuler` → `AddVerticalRuler` when the
11
+ * stripped name appears as a same-file def/call that is not the `Napi*` wrapper.
12
+ */
13
+ export declare function suggestSecondHop(nativeSimpleName: string, source: string): string | null;
14
+ /** Parse all supported NAPI registration frontends in one file's source. */
15
+ export declare function parseNapiExports(source: string): NapiExport[];
2
16
  export declare const arktsNapiResolver: FrameworkResolver;
3
17
  //# sourceMappingURL=arkts-napi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"arkts-napi.d.ts","sourceRoot":"","sources":["../../../src/resolution/frameworks/arkts-napi.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,iBAAiB,EAIlB,MAAM,UAAU,CAAC;AAsGlB,eAAO,MAAM,iBAAiB,EAAE,iBA+E/B,CAAC"}
1
+ {"version":3,"file":"arkts-napi.d.ts","sourceRoot":"","sources":["../../../src/resolution/frameworks/arkts-napi.ts"],"names":[],"mappings":"AAoBA,OAAO,EAEL,iBAAiB,EAIlB,MAAM,UAAU,CAAC;AAuClB,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAuBD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAcxF;AAiCD,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE,CA+B7D;AAsDD,eAAO,MAAM,iBAAiB,EAAE,iBAwH/B,CAAC"}
@@ -1,16 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.arktsNapiResolver = void 0;
4
- /** JS-visible NAPI export: `ClassName_methodName`. */
5
- const NAPI_SYMBOL_RE = /^[A-Z][A-Za-z0-9_]*_[A-Za-z0-9_]+$/;
6
- /** `{"Asset_setCropRect", nullptr, Asset_setCropRect, …}` descriptor rows. */
7
- const NAPI_DESC_RE = /\{\s*["']([A-Z][A-Za-z0-9_]*(?:_[A-Za-z0-9_]+)+)["']\s*,\s*nullptr\s*,\s*([A-Za-z_][A-Za-z0-9_]*)/g;
8
- /** `static napi_value Asset_setCropRect(` callback definitions. */
9
- const NAPI_FUNC_RE = /(?:static\s+)?napi_value\s+([A-Z][A-Za-z0-9_]*(?:_[A-Za-z0-9_]+)+)\s*\(/g;
4
+ exports.suggestSecondHop = suggestSecondHop;
5
+ exports.parseNapiExports = parseNapiExports;
10
6
  const CPP_LANGUAGES = new Set(['cpp', 'c']);
11
- function isNapiSymbol(name) {
12
- return NAPI_SYMBOL_RE.test(name);
13
- }
7
+ const NAPI_FILE_RE = /\.(?:c|cc|cpp|cxx)$/i;
8
+ /** File-level cue that NAPI registration (or OH macros) may be present. */
9
+ const NAPI_CUE_RE = /\b(?:napi_define_properties|napi_define_(?:sendable_)?class|napi_module_register|napi_create_function|napi_set_named_property|DECLARE_NAPI_(?:FUNCTION|METHOD|PROPERTY|GETTER|SETTER)|NAPI_MODULE)\b/;
10
+ /** Photos-style `ClassName_methodName` (compat frontend). */
11
+ const CLASS_METHOD_RE = /^[A-Z][A-Za-z0-9_]*_[A-Za-z0-9_]+$/;
12
+ /**
13
+ * F1: `{"jsName", nullptr|NULL, NativeSym, …}` descriptor rows.
14
+ * NativeSym may be qualified (`PluginManager::NapiDraw`).
15
+ */
16
+ const NAPI_DESC_RE = /\{\s*["']([A-Za-z_][A-Za-z0-9_]*)["']\s*,\s*(?:nullptr|NULL)\s*,\s*([A-Za-z_][A-Za-z0-9_:]*)/g;
17
+ /** F3: OpenHarmony DECLARE_NAPI_* macros. */
18
+ const NAPI_MACRO_RE = /DECLARE_NAPI_(?:FUNCTION|METHOD|PROPERTY|GETTER|SETTER)\s*\(\s*["']([A-Za-z_][A-Za-z0-9_]*)["']\s*,\s*([A-Za-z_][A-Za-z0-9_]*)/g;
19
+ /**
20
+ * F4: `napi_create_function(env, "run", NAPI_AUTO_LENGTH, NapiRun, …)`.
21
+ * The 4th argument is the native callback (after env, name, length).
22
+ */
23
+ const NAPI_CREATE_FN_RE = /napi_create_function\s*\(\s*[^,]+,\s*["']([A-Za-z_][A-Za-z0-9_]*)["']\s*,\s*[^,]+,\s*([A-Za-z_][A-Za-z0-9_:]*)/g;
24
+ /** F2: class registration (name used only for kind / docs). */
25
+ const NAPI_DEFINE_CLASS_RE = /napi_define_(?:sendable_)?class\s*\(\s*[^,]+,\s*["']([A-Za-z_][A-Za-z0-9_]*)["']/g;
26
+ /** Compat: `static napi_value Asset_setCropRect(` when descriptor row is missing. */
27
+ const NAPI_CLASS_METHOD_FUNC_RE = /(?:static\s+)?napi_value\s+([A-Z][A-Za-z0-9_]*(?:_[A-Za-z0-9_]+)+)\s*\(/g;
14
28
  function lineOf(source, idx) {
15
29
  let line = 1;
16
30
  for (let i = 0; i < idx && i < source.length; i++) {
@@ -19,33 +33,96 @@ function lineOf(source, idx) {
19
33
  }
20
34
  return line;
21
35
  }
36
+ function isNapiFile(filePath) {
37
+ return NAPI_FILE_RE.test(filePath);
38
+ }
39
+ function simpleNativeName(nativeName) {
40
+ const idx = nativeName.lastIndexOf('::');
41
+ return idx >= 0 ? nativeName.slice(idx + 2) : nativeName;
42
+ }
43
+ function isClassMethodName(name) {
44
+ return CLASS_METHOD_RE.test(name);
45
+ }
46
+ /**
47
+ * Conservative S2: `NapiAddVerticalRuler` → `AddVerticalRuler` when the
48
+ * stripped name appears as a same-file def/call that is not the `Napi*` wrapper.
49
+ */
50
+ function suggestSecondHop(nativeSimpleName, source) {
51
+ if (!nativeSimpleName.startsWith('Napi') || nativeSimpleName.length <= 4)
52
+ return null;
53
+ const next = nativeSimpleName.charAt(4);
54
+ if (next < 'A' || next > 'Z')
55
+ return null;
56
+ const business = nativeSimpleName.slice(4);
57
+ if (!business || business === nativeSimpleName)
58
+ return null;
59
+ const callRe = new RegExp(`\\b${business}\\s*\\(`);
60
+ for (const line of source.split('\n')) {
61
+ // Skip the NAPI wrapper declaration/definition line.
62
+ if (line.includes(nativeSimpleName))
63
+ continue;
64
+ if (callRe.test(line))
65
+ return business;
66
+ }
67
+ return null;
68
+ }
69
+ function collectClassNames(source) {
70
+ const names = new Set();
71
+ NAPI_DEFINE_CLASS_RE.lastIndex = 0;
72
+ let m;
73
+ while ((m = NAPI_DEFINE_CLASS_RE.exec(source)) !== null) {
74
+ names.add(m[1]);
75
+ }
76
+ return names;
77
+ }
78
+ function pushExport(results, seen, jsName, nativeName, line, kind, className) {
79
+ if (!jsName || !nativeName)
80
+ return;
81
+ if (seen.has(jsName))
82
+ return;
83
+ seen.add(jsName);
84
+ results.push({
85
+ jsName,
86
+ nativeName: simpleNativeName(nativeName),
87
+ line,
88
+ kind,
89
+ className,
90
+ });
91
+ }
92
+ /** Parse all supported NAPI registration frontends in one file's source. */
22
93
  function parseNapiExports(source) {
23
94
  const results = [];
24
95
  const seen = new Set();
96
+ const classNames = collectClassNames(source);
97
+ const kindFor = () => (classNames.size > 0 ? 'class' : 'flat');
98
+ const className = classNames.size === 1 ? [...classNames][0] : undefined;
25
99
  NAPI_DESC_RE.lastIndex = 0;
26
100
  let m;
27
101
  while ((m = NAPI_DESC_RE.exec(source)) !== null) {
28
- const jsName = m[1];
29
- const nativeName = m[2];
30
- if (!isNapiSymbol(jsName))
31
- continue;
32
- if (seen.has(jsName))
33
- continue;
34
- seen.add(jsName);
35
- results.push({ jsName, nativeName, line: lineOf(source, m.index) });
102
+ pushExport(results, seen, m[1], m[2], lineOf(source, m.index), kindFor(), className);
103
+ }
104
+ NAPI_MACRO_RE.lastIndex = 0;
105
+ while ((m = NAPI_MACRO_RE.exec(source)) !== null) {
106
+ pushExport(results, seen, m[1], m[2], lineOf(source, m.index), kindFor(), className);
107
+ }
108
+ NAPI_CREATE_FN_RE.lastIndex = 0;
109
+ while ((m = NAPI_CREATE_FN_RE.exec(source)) !== null) {
110
+ pushExport(results, seen, m[1], m[2], lineOf(source, m.index), 'flat');
36
111
  }
37
- NAPI_FUNC_RE.lastIndex = 0;
38
- while ((m = NAPI_FUNC_RE.exec(source)) !== null) {
112
+ NAPI_CLASS_METHOD_FUNC_RE.lastIndex = 0;
113
+ while ((m = NAPI_CLASS_METHOD_FUNC_RE.exec(source)) !== null) {
39
114
  const name = m[1];
40
- if (!isNapiSymbol(name))
115
+ if (!isClassMethodName(name))
41
116
  continue;
42
- if (seen.has(name))
43
- continue;
44
- seen.add(name);
45
- results.push({ jsName: name, nativeName: name, line: lineOf(source, m.index) });
117
+ pushExport(results, seen, name, name, lineOf(source, m.index), 'flat');
46
118
  }
47
119
  return results;
48
120
  }
121
+ function jsNameFromRef(ref) {
122
+ return ref.referenceName.includes('.')
123
+ ? ref.referenceName.slice(ref.referenceName.lastIndexOf('.') + 1)
124
+ : ref.referenceName;
125
+ }
49
126
  const napiBySymbol = new WeakMap();
50
127
  function buildNapiMap(context) {
51
128
  const cached = napiBySymbol.get(context);
@@ -59,20 +136,31 @@ function buildNapiMap(context) {
59
136
  else
60
137
  bySymbol.set(symbol, [node]);
61
138
  };
139
+ // Compat: Class_method-named C/C++ functions are themselves the wrapper.
62
140
  for (const node of context.getNodesByKind('function')) {
63
141
  if (!CPP_LANGUAGES.has(node.language))
64
142
  continue;
65
- if (isNapiSymbol(node.name))
143
+ if (isClassMethodName(node.name))
144
+ add(node.name, node);
145
+ }
146
+ for (const node of context.getNodesByKind('method')) {
147
+ if (!CPP_LANGUAGES.has(node.language))
148
+ continue;
149
+ if (isClassMethodName(node.name))
66
150
  add(node.name, node);
67
151
  }
68
152
  for (const file of context.getAllFiles()) {
69
- if (!file.endsWith('.cpp') && !file.endsWith('.cc') && !file.endsWith('.cxx'))
153
+ if (!isNapiFile(file))
70
154
  continue;
71
155
  const source = context.readFile(file);
72
- if (!source || !/\bnapi_(define_properties|module_register)\b/.test(source))
156
+ if (!source || !NAPI_CUE_RE.test(source))
73
157
  continue;
74
158
  for (const exp of parseNapiExports(source)) {
75
- const candidates = context.getNodesByName(exp.nativeName).filter((n) => CPP_LANGUAGES.has(n.language) && n.filePath === file);
159
+ const native = exp.nativeName;
160
+ const candidates = [
161
+ ...context.getNodesByName(native),
162
+ // Some extractors store the leaf method name only.
163
+ ].filter((n) => CPP_LANGUAGES.has(n.language) && n.filePath === file);
76
164
  const node = candidates[0];
77
165
  if (node)
78
166
  add(exp.jsName, node);
@@ -81,48 +169,59 @@ function buildNapiMap(context) {
81
169
  napiBySymbol.set(context, bySymbol);
82
170
  return bySymbol;
83
171
  }
84
- function napiSymbolFromRef(ref) {
85
- const name = ref.referenceName.includes('.')
86
- ? ref.referenceName.slice(ref.referenceName.lastIndexOf('.') + 1)
87
- : ref.referenceName;
88
- return isNapiSymbol(name) ? name : null;
172
+ function pickTarget(entries) {
173
+ return entries.find((n) => /napi/i.test(n.filePath)) ?? entries[0];
89
174
  }
90
175
  exports.arktsNapiResolver = {
91
176
  name: 'arkts-napi',
92
- languages: ['arkts', 'cpp', 'c'],
177
+ languages: ['arkts', 'typescript', 'cpp', 'c'],
93
178
  extract(filePath, source) {
94
- if (!filePath.endsWith('.cpp') && !filePath.endsWith('.cc') && !filePath.endsWith('.cxx')) {
95
- return { nodes: [], references: [] };
96
- }
97
- if (!/\bnapi_(define_properties|module_register)\b/.test(source)) {
179
+ if (!isNapiFile(filePath) || !NAPI_CUE_RE.test(source)) {
98
180
  return { nodes: [], references: [] };
99
181
  }
100
182
  const exports = parseNapiExports(source);
101
183
  const now = Date.now();
102
184
  const nodes = [];
185
+ const references = [];
103
186
  const seen = new Set();
104
187
  for (const exp of exports) {
105
188
  if (seen.has(exp.jsName))
106
189
  continue;
107
190
  seen.add(exp.jsName);
191
+ const id = `arkts-napi:${filePath}:${exp.jsName}`;
192
+ const classDoc = exp.className ? ` (class ${exp.className})` : '';
108
193
  nodes.push({
109
- id: `arkts-napi:${filePath}:${exp.jsName}`,
194
+ id,
110
195
  kind: 'function',
111
196
  name: exp.jsName,
112
- qualifiedName: `${filePath}::${exp.jsName}`,
197
+ qualifiedName: exp.className
198
+ ? `${filePath}::${exp.className}.${exp.jsName}`
199
+ : `${filePath}::${exp.jsName}`,
113
200
  filePath,
114
- language: 'cpp',
201
+ language: filePath.endsWith('.c') ? 'c' : 'cpp',
115
202
  startLine: exp.line,
116
203
  endLine: exp.line,
117
204
  startColumn: 0,
118
205
  endColumn: 0,
119
206
  isExported: true,
120
- docstring: `NAPI export ${exp.jsName}`,
207
+ docstring: `NAPI export ${exp.jsName}${classDoc} → ${exp.nativeName}`,
121
208
  signature: `napi_value ${exp.nativeName}(napi_env, napi_callback_info)`,
122
209
  updatedAt: now,
123
210
  });
211
+ const second = suggestSecondHop(exp.nativeName, source);
212
+ if (second) {
213
+ references.push({
214
+ fromNodeId: id,
215
+ referenceName: second,
216
+ referenceKind: 'calls',
217
+ line: exp.line,
218
+ column: 0,
219
+ filePath,
220
+ language: filePath.endsWith('.c') ? 'c' : 'cpp',
221
+ });
222
+ }
124
223
  }
125
- return { nodes, references: [] };
224
+ return { nodes, references };
126
225
  },
127
226
  detect(context) {
128
227
  for (const file of context.getAllFiles()) {
@@ -131,28 +230,49 @@ exports.arktsNapiResolver = {
131
230
  if (src && /['"]lib[A-Za-z0-9_]+\.so['"]/.test(src))
132
231
  return true;
133
232
  }
134
- if (file.endsWith('.cpp') || file.endsWith('.cc') || file.endsWith('.cxx')) {
233
+ if (isNapiFile(file)) {
135
234
  const src = context.readFile(file);
136
- if (src && /\bnapi_(define_properties|module_register)\b/.test(src))
235
+ if (src && NAPI_CUE_RE.test(src))
137
236
  return true;
138
237
  }
139
238
  }
140
239
  return false;
141
240
  },
142
241
  claimsReference(name) {
242
+ // Ordinary camelCase exports become knownNames via extract(); Class_method
243
+ // names still need an opt-in so refs reach resolve before/without extract.
143
244
  const symbol = name.includes('.') ? name.slice(name.lastIndexOf('.') + 1) : name;
144
- return isNapiSymbol(symbol);
245
+ return isClassMethodName(symbol);
145
246
  },
146
247
  resolve(ref, context) {
147
- if (ref.language !== 'arkts' || ref.referenceKind !== 'calls')
248
+ // S2: export node same-file business callee
249
+ if (ref.referenceKind === 'calls' &&
250
+ ref.fromNodeId.startsWith('arkts-napi:') &&
251
+ (ref.language === 'cpp' || ref.language === 'c')) {
252
+ const candidates = context
253
+ .getNodesByName(ref.referenceName)
254
+ .filter((n) => CPP_LANGUAGES.has(n.language) && n.filePath === ref.filePath);
255
+ const target = candidates[0];
256
+ if (!target)
257
+ return null;
258
+ return {
259
+ original: ref,
260
+ targetNodeId: target.id,
261
+ confidence: 0.7,
262
+ resolvedBy: 'framework',
263
+ };
264
+ }
265
+ if ((ref.language !== 'arkts' && ref.language !== 'typescript') ||
266
+ ref.referenceKind !== 'calls') {
148
267
  return null;
149
- const symbol = napiSymbolFromRef(ref);
268
+ }
269
+ const symbol = jsNameFromRef(ref);
150
270
  if (!symbol)
151
271
  return null;
152
272
  const entries = buildNapiMap(context).get(symbol);
153
273
  if (!entries || entries.length === 0)
154
274
  return null;
155
- const target = entries.find((n) => n.filePath.includes('napi')) ?? entries[0];
275
+ const target = pickTarget(entries);
156
276
  if (!target)
157
277
  return null;
158
278
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"arkts-napi.js","sourceRoot":"","sources":["../../../src/resolution/frameworks/arkts-napi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"arkts-napi.js","sourceRoot":"","sources":["../../../src/resolution/frameworks/arkts-napi.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,9 @@ export declare function queryMentionsCodeContext(query: string): boolean;
30
30
  * (e.g. ServiceCollaborationKit in "调用 ServiceCollaborationKit 需要…").
31
31
  */
32
32
  export declare function extractKitModuleNamesFromQuery(query: string): string[];
33
- /** Submodule tokens from queries like `util模块` / `util 模块`. */
33
+ /** Submodule / named-export tokens from kit usage questions.
34
+ * Covers `util模块`, `util 模块`, and `@kit.Foo的bar` / `@kit.Foo bar` (export focus).
35
+ */
34
36
  export declare function extractKitSubmoduleNamesFromQuery(query: string): string[];
35
37
  /**
36
38
  * "@kit.X 的 Y 模块有哪些功能" — SDK API docs are outside the repo; answer from
@@ -49,6 +51,12 @@ export declare function queryAsKitModuleCapabilitySurvey(query: string): boolean
49
51
  * back to Grep.
50
52
  */
51
53
  export declare function isMemberLikeIdentifier(token: string): boolean;
54
+ /**
55
+ * Owning Type + co-named PascalCase methods (CanPlace/Place ↔ BinaryGrid).
56
+ * Not Type.member dotted form — agents name methods as sibling Types.
57
+ * Must stay on compact explore — 「是怎么」alone would light-mechanism dump.
58
+ */
59
+ export declare function queryAsCoNamedTypeMethodInteraction(query: string): boolean;
52
60
  /**
53
61
  * Named Type + member (dot form, or co-named Type + member-like token).
54
62
  * Structural — no product/question nouns.
@@ -63,17 +71,49 @@ export declare function queryAsNamedComponentAction(query: string): boolean;
63
71
  * Out-of-repo SDK catalog (kept for survey omit logic — not as a refuse list).
64
72
  */
65
73
  export declare function queryAsOutOfRepoSdkCatalog(query: string): boolean;
74
+ /**
75
+ * Query shapes where HomeGraph usually loses to Grep/Glob/SDK docs.
76
+ * Shape-driven only — no product nouns, no eval-corpus fingerprints.
77
+ * Short-circuits explore/search with success-shaped "do not retry" guidance.
78
+ */
79
+ export type HomeGraphDeferKind = 'sdk-catalog' | 'file-listing' | 'concept-or-existence';
80
+ export declare function queryShouldDeferToBuiltinTools(query: string): HomeGraphDeferKind | null;
81
+ /** Short success-shaped reply when explore/search should not run. */
82
+ export declare function homegraphDeferGuidance(kind: HomeGraphDeferKind, query: string): string;
66
83
  /**
67
84
  * Question already names files/symbols/@kit — prefer explore over FTS search.
68
85
  */
69
86
  export declare function queryShouldPreferExploreOverSearch(query: string): boolean;
70
87
  /**
71
- * In-repo kit/import **usage** inventory (call sites / which files import).
88
+ * In-repo pointer/hover handler inventory no named Type yet, but the graph
89
+ * still has onHover / Hover* symbols. Soft-skip→Grep lost accuracy; inventory wins.
72
90
  */
73
- export declare function shouldBuildKitModuleUsageSurvey(query: string): boolean;
91
+ export declare function shouldBuildHoverHandlerSurvey(query: string): boolean;
74
92
  /**
75
- * Member-access patterns from a query — `obj.method`, `Type.method`, or `.member`.
93
+ * Framework decorator / ambient UI names agents paste `@CustomDialog` etc.
94
+ * Keep real *Page/*Dialog types; drop these when counting UI surfaces / anchors.
76
95
  */
96
+ export declare const FRAMEWORK_UI_DECORATOR_NAMES: Set<string>;
97
+ export declare function isFrameworkUiDecoratorName(name: string): boolean;
98
+ /** PascalCase names that look like UI surfaces (Page / View / … / ThemeHome). */
99
+ export declare function queryLooksLikeUiComponentType(name: string): boolean;
100
+ /**
101
+ * 2–3 concrete UI Types named together (Page+Dialog, View+Panel, …).
102
+ * Must stay on compact explore — full findRelevantContext is a 15–30k / multi-minute
103
+ * dump for what is a local composition / resource question.
104
+ */
105
+ export declare function queryAsFocusedUiCluster(query: string): boolean;
106
+ /**
107
+ * Named Page/Component overview: which UI children / where does it navigate /
108
+ * how does Page embed Dialog. Needs component bodies, not full-graph explore.
109
+ */
110
+ export declare function queryAsComponentSurfaceSurvey(query: string): boolean;
111
+ /**
112
+ * In-repo kit/import **usage** inventory (call sites / which files import).
113
+ */
114
+ export declare function shouldBuildKitModuleUsageSurvey(query: string): boolean;
115
+ /** "需要额外安装哪些依赖" — kit survey must include oh-package, not only imports. */
116
+ export declare function queryAsksKitInstallDeps(query: string): boolean;
77
117
  export declare function extractMemberAccessFromQuery(query: string): QueryMemberAccess[];
78
118
  /** Terms for targeted import-node FTS (kit modules and their @kit.* paths). */
79
119
  export declare function extractImportSearchTerms(query: string): string[];
@@ -107,6 +147,12 @@ export declare const STOP_WORDS: Set<string>;
107
147
  * Lowercase API / import symbol names in a dependency question (taskpool, formInfo).
108
148
  * Used to filter import sites to the symbol actually asked about, not every @kit.ArkTS import.
109
149
  */
150
+ /**
151
+ * Generic verbs agents put in rewritten how-implemented bags ("xml parse").
152
+ * Not useful as dependency/import inventory filters or local-detail anchors —
153
+ * they match every `parse`/`load` method and drown the distinctive token (xml).
154
+ */
155
+ export declare const GENERIC_VERB_ANCHOR_NOISE: Set<string>;
110
156
  export declare function extractDependencySymbolsFromQuery(query: string): string[];
111
157
  /**
112
158
  * Query text names a config/manifest file by basename + extension (structural, not a hardcoded whitelist).
@@ -118,6 +164,67 @@ export declare function hasSymbolFilterInQuery(query: string): boolean;
118
164
  export declare function hasImportInventoryFilter(query: string): boolean;
119
165
  /** Where-is-API-used / call-site intent (statfs, snake_case APIs, "哪里使用了 X"). */
120
166
  export declare function queryAsApiUsageSurvey(query: string): boolean;
167
+ /**
168
+ * Member / field symbols agents paste for cross-file usage hunts (`m_eglMutex`,
169
+ * `drawModifier`). Distinct from PascalCase Types.
170
+ */
171
+ export declare function extractFieldLikeSymbolsFromQuery(query: string): string[];
172
+ /** Named Type + declaration / id / native-binding sites across files. */
173
+ export declare function queryAsDeclarationSiteSurvey(query: string): boolean;
174
+ /**
175
+ * How-to get a system setting/capability *as used in this repo* (language/locale/…).
176
+ * Must NOT become a light-mechanism dump of every `language` import.
177
+ */
178
+ export declare function queryAsInRepoSystemCapabilityHowto(query: string): boolean;
179
+ /**
180
+ * "Who uses the return value of Type.member / fn" — callers of the member, not a
181
+ * create→get flow dump or an import flood on leftover words like `state`.
182
+ */
183
+ export declare function queryAsReturnValueConsumerSurvey(query: string): boolean;
184
+ /** ALL_CAPS constants — where used / which scenarios (not "what does this macro mean"). */
185
+ export declare function queryAsConstantUsageSurvey(query: string): boolean;
186
+ /** Field / mutex / lock — which other functions also touch it. */
187
+ export declare function queryAsFieldUsageSurvey(query: string): boolean;
188
+ /**
189
+ * Native shared lib + GL/EGL thread questions (`libfoo.so` … OpenGL … 哪个线程).
190
+ * Light-mechanism (CMake + EGLCore/PluginRender), not `.so` member survey.
191
+ */
192
+ export declare function queryAsNativeRenderThreadSurvey(query: string): boolean;
193
+ /** Named `.d.ts` wrap — what calls / imports it in-repo. */
194
+ export declare function queryAsDtsWrapSurvey(query: string): boolean;
195
+ /**
196
+ * Assigned flag / boolean field impact on later call timing
197
+ * (`isChangeSurface = true` … 如何影响 … 时序).
198
+ */
199
+ export declare function queryAsAssignedFlagImpactSurvey(query: string): boolean;
200
+ /**
201
+ * Named Toggle/control kept consistent across surfaces — which module guarantees it.
202
+ */
203
+ export declare function queryAsNamedControlStateSyncSurvey(query: string): boolean;
204
+ /**
205
+ * Methods listed beside a Type for caller inventories
206
+ * (`BinaryGrid … Set、Test 或 Fill` — including short verbs normally treated as noise).
207
+ */
208
+ export declare function extractListedTypeMethodsFromQuery(query: string): string[];
209
+ /** Path module + NAPI / exported API surface (or named Type + NAPI/expose). */
210
+ export declare function queryAsModuleExportSurvey(query: string): boolean;
211
+ /** Multi-module path interdependence (A/B/C… mutual deps). */
212
+ export declare function queryAsModuleDependencySurvey(query: string): boolean;
213
+ /**
214
+ * Single named Type + state/lifecycle/callback surface — needs the type body,
215
+ * not a thin callers stub.
216
+ */
217
+ /**
218
+ * Repo-wide literal / copy / "imported text object" hunts — Grep territory.
219
+ * Shape-only: no PascalCase Type / file / member / kit anchors.
220
+ */
221
+ export declare function queryLooksLikeLiteralOrCopyHunt(query: string): boolean;
222
+ export declare function queryAsTypeLifecycleSurvey(query: string): boolean;
223
+ /**
224
+ * Member-access inventory ("which files use .drawModifier") — not Type×method
225
+ * interaction / Export fail wiring / Release↔dtor (those need compact bodies).
226
+ */
227
+ export declare function shouldPreferMemberUsageInventory(query: string): boolean;
121
228
  /** API / SDK tokens named in the query — lowercase deps + PascalCase modules (Telephony). */
122
229
  export declare function extractApiUsageTokens(query: string): string[];
123
230
  export declare function shouldBuildApiUsageSurvey(query: string): boolean;
@@ -174,7 +281,12 @@ export declare function extractMechanismEntrySeeds(query: string): string[];
174
281
  /**
175
282
  * Lightweight mechanism explore — seed symbols + flow spine only, no full
176
283
  * findRelevantContext (keeps MCP calls fast and avoids agent grep fallback).
284
+ *
285
+ * Domain-mechanism *bag*: agents often strip the how-phrase and keep only
286
+ * keywords (`xml parse`, `foo convert`). Structural — distinctive ASCII token
287
+ * plus an action verb or a CJK domain token; named Types take other paths.
177
288
  */
289
+ export declare function queryAsDomainMechanismBag(query: string): boolean;
178
290
  export declare function shouldTryLightMechanismExplore(query: string): boolean;
179
291
  /**
180
292
  * Skip expensive subgraph gathering — inventory sections alone answer the query.
@@ -1 +1 @@
1
- {"version":3,"file":"query-utils.d.ts","sourceRoot":"","sources":["../../src/search/query-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query-utils.d.ts","sourceRoot":"","sources":["../../src/search/query-utils.ts"],"names":[],"mappings":"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"}