homegraph 1.5.4 → 1.5.6

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 (74) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/README.md +4 -1
  3. package/dist/arkui/migrate-semantics.d.ts +8 -0
  4. package/dist/arkui/migrate-semantics.d.ts.map +1 -1
  5. package/dist/arkui/migrate-semantics.js +24 -1
  6. package/dist/arkui/migrate-semantics.js.map +1 -1
  7. package/dist/arkui/migrate-snapshot.d.ts.map +1 -1
  8. package/dist/arkui/migrate-snapshot.js +11 -4
  9. package/dist/arkui/migrate-snapshot.js.map +1 -1
  10. package/dist/bin/homegraph.js +6 -0
  11. package/dist/bin/homegraph.js.map +1 -1
  12. package/dist/db/migrations.d.ts +1 -1
  13. package/dist/db/migrations.d.ts.map +1 -1
  14. package/dist/db/migrations.js +37 -1
  15. package/dist/db/migrations.js.map +1 -1
  16. package/dist/db/queries.d.ts +25 -0
  17. package/dist/db/queries.d.ts.map +1 -1
  18. package/dist/db/queries.js +50 -2
  19. package/dist/db/queries.js.map +1 -1
  20. package/dist/db/schema.sql +24 -0
  21. package/dist/extraction/languages/arkts.d.ts +15 -0
  22. package/dist/extraction/languages/arkts.d.ts.map +1 -1
  23. package/dist/extraction/languages/arkts.js +118 -0
  24. package/dist/extraction/languages/arkts.js.map +1 -1
  25. package/dist/index.d.ts +31 -0
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +87 -1
  28. package/dist/index.js.map +1 -1
  29. package/dist/mcp/engine.d.ts +26 -0
  30. package/dist/mcp/engine.d.ts.map +1 -1
  31. package/dist/mcp/engine.js +231 -22
  32. package/dist/mcp/engine.js.map +1 -1
  33. package/dist/mcp/explore-repeat-guard.d.ts.map +1 -1
  34. package/dist/mcp/explore-repeat-guard.js +37 -0
  35. package/dist/mcp/explore-repeat-guard.js.map +1 -1
  36. package/dist/mcp/index.d.ts.map +1 -1
  37. package/dist/mcp/index.js +16 -1
  38. package/dist/mcp/index.js.map +1 -1
  39. package/dist/mcp/memory-budget.d.ts +9 -22
  40. package/dist/mcp/memory-budget.d.ts.map +1 -1
  41. package/dist/mcp/memory-budget.js +9 -59
  42. package/dist/mcp/memory-budget.js.map +1 -1
  43. package/dist/mcp/query-pool.js +4 -4
  44. package/dist/mcp/server-instructions.d.ts +2 -2
  45. package/dist/mcp/server-instructions.d.ts.map +1 -1
  46. package/dist/mcp/server-instructions.js +6 -0
  47. package/dist/mcp/server-instructions.js.map +1 -1
  48. package/dist/mcp/tools.d.ts +54 -3
  49. package/dist/mcp/tools.d.ts.map +1 -1
  50. package/dist/mcp/tools.js +1452 -81
  51. package/dist/mcp/tools.js.map +1 -1
  52. package/dist/project-map/index.d.ts +33 -0
  53. package/dist/project-map/index.d.ts.map +1 -0
  54. package/dist/project-map/index.js +260 -0
  55. package/dist/project-map/index.js.map +1 -0
  56. package/dist/search/query-utils.d.ts +10 -0
  57. package/dist/search/query-utils.d.ts.map +1 -1
  58. package/dist/search/query-utils.js +58 -5
  59. package/dist/search/query-utils.js.map +1 -1
  60. package/dist/sync/watcher.d.ts +15 -3
  61. package/dist/sync/watcher.d.ts.map +1 -1
  62. package/dist/sync/watcher.js +14 -1
  63. package/dist/sync/watcher.js.map +1 -1
  64. package/dist/types.d.ts +6 -0
  65. package/dist/types.d.ts.map +1 -1
  66. package/dist/upgrade/index.d.ts +23 -12
  67. package/dist/upgrade/index.d.ts.map +1 -1
  68. package/dist/upgrade/index.js +42 -48
  69. package/dist/upgrade/index.js.map +1 -1
  70. package/dist/upgrade/update-check.d.ts +4 -4
  71. package/dist/upgrade/update-check.d.ts.map +1 -1
  72. package/dist/upgrade/update-check.js +6 -5
  73. package/dist/upgrade/update-check.js.map +1 -1
  74. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"arkts.d.ts","sourceRoot":"","sources":["../../../src/extraction/languages/arkts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"arkts.d.ts","sourceRoot":"","sources":["../../../src/extraction/languages/arkts.ts"],"names":[],"mappings":"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"}
@@ -79,11 +79,13 @@ exports.isArkTSBatchCommitted = isArkTSBatchCommitted;
79
79
  exports.resetArkTSBatch = resetArkTSBatch;
80
80
  exports.shrinkArkTSBatchPostParse = shrinkArkTSBatchPostParse;
81
81
  exports.createArkRelPathNormalizer = createArkRelPathNormalizer;
82
+ exports.docstringFromArkModel = docstringFromArkModel;
82
83
  exports.collectExportedRtaEntryPointsFromFiles = collectExportedRtaEntryPointsFromFiles;
83
84
  exports.stateDecoratorKinds = stateDecoratorKinds;
84
85
  exports.fieldDecoratorEntries = fieldDecoratorEntries;
85
86
  exports.fieldDecoratorsEncoded = fieldDecoratorsEncoded;
86
87
  exports.stateTransferViaForField = stateTransferViaForField;
88
+ exports.viewTreeArkuiId = viewTreeArkuiId;
87
89
  exports.isUnclearArkClassSignature = isUnclearArkClassSignature;
88
90
  exports.isUnclearArkMethodSignature = isUnclearArkMethodSignature;
89
91
  exports.pickPreferredClassNodeId = pickPreferredClassNodeId;
@@ -1456,6 +1458,69 @@ function modelModifiersToNodeExtras(model) {
1456
1458
  extra.visibility = 'protected';
1457
1459
  return extra;
1458
1460
  }
1461
+ /** ArkMetadataKind values — package entry does not re-export the enum. */
1462
+ const ARK_META_LEADING_COMMENTS = 0;
1463
+ const ARK_META_JSDOC = 2;
1464
+ /** Strip line/block comment markers so FTS stores prose (aligned with tree-sitter helpers). */
1465
+ function cleanArkCommentContent(raw) {
1466
+ let c = raw.trim().replace(/\r\n/g, '\n');
1467
+ if (c.startsWith('/*'))
1468
+ c = c.replace(/^\/\*+!?/, '').replace(/\*+\/$/, '');
1469
+ return c
1470
+ .replace(/^\/\/[/!]?\s?/gm, '')
1471
+ .replace(/^\s*\*\s?/gm, '')
1472
+ .trim();
1473
+ }
1474
+ /**
1475
+ * Declaration-leading docstring from ArkAnalyzer metadata (Spec 0020).
1476
+ * Prefer leading comments; fall back to JSDoc description.
1477
+ *
1478
+ * Accepts `object` (not only models typed with `getMetadata`) so Local / AliasType
1479
+ * and other ArkAnalyzer types without that method in their .d.ts still type-check;
1480
+ * runtime skips when metadata is absent.
1481
+ */
1482
+ function docstringFromArkModel(model) {
1483
+ try {
1484
+ const meta = model;
1485
+ if (typeof meta.getMetadata !== 'function')
1486
+ return undefined;
1487
+ const leading = meta.getMetadata(ARK_META_LEADING_COMMENTS);
1488
+ if (leading && typeof leading.getComments === 'function') {
1489
+ const parts = leading
1490
+ .getComments()
1491
+ .map((c) => cleanArkCommentContent(String(c?.content ?? '')))
1492
+ .filter(Boolean);
1493
+ if (parts.length > 0)
1494
+ return parts.join('\n').trim();
1495
+ }
1496
+ const jsdoc = meta.getMetadata(ARK_META_JSDOC);
1497
+ const docs = [];
1498
+ const pushDesc = (j) => {
1499
+ if (j && typeof j.getDescription === 'function') {
1500
+ const d = String(j.getDescription() ?? '').trim();
1501
+ if (d)
1502
+ docs.push(d);
1503
+ }
1504
+ };
1505
+ if (Array.isArray(jsdoc)) {
1506
+ for (const j of jsdoc)
1507
+ pushDesc(j);
1508
+ }
1509
+ else {
1510
+ pushDesc(jsdoc);
1511
+ }
1512
+ if (docs.length > 0)
1513
+ return docs.join('\n').trim();
1514
+ }
1515
+ catch {
1516
+ // metadata access must not abort indexing
1517
+ }
1518
+ return undefined;
1519
+ }
1520
+ function docstringExtras(model) {
1521
+ const docstring = docstringFromArkModel(model);
1522
+ return docstring ? { docstring } : {};
1523
+ }
1459
1524
  function fieldNodeKind(field, cls) {
1460
1525
  switch (field.getCategory()) {
1461
1526
  case FIELD_CATEGORY.ENUM_MEMBER:
@@ -1790,6 +1855,45 @@ function stateTransferViaForField(field) {
1790
1855
  function viewTreeLineFromStmt(stmt) {
1791
1856
  return stmt?.getOriginFullPosition()?.getFirstLine() ?? 1;
1792
1857
  }
1858
+ /**
1859
+ * ArkUI `.id('…')` from ViewTree attributes (string Constant only).
1860
+ * Not the HomeGraph node primary key.
1861
+ */
1862
+ function viewTreeArkuiId(node) {
1863
+ try {
1864
+ const entry = node.attributes?.get('id');
1865
+ if (!entry)
1866
+ return undefined;
1867
+ const values = entry[1];
1868
+ if (!values?.length)
1869
+ return undefined;
1870
+ for (const v of values) {
1871
+ if (v == null)
1872
+ continue;
1873
+ const isConstant = v instanceof arkanalyzer_1.Constant ||
1874
+ typeof v.getValue === 'function';
1875
+ if (!isConstant)
1876
+ continue;
1877
+ const raw = String(v.getValue()).trim();
1878
+ if (!raw)
1879
+ continue;
1880
+ const unquoted = raw.replace(/^['"]|['"]$/g, '');
1881
+ if (unquoted)
1882
+ return unquoted;
1883
+ }
1884
+ }
1885
+ catch {
1886
+ // attribute map may throw on malformed IR
1887
+ }
1888
+ return undefined;
1889
+ }
1890
+ /** First non-empty `arkuiId` wins when the same component is used with multiple ids. */
1891
+ function assignArkuiId(result, nodeId, arkuiId) {
1892
+ const n = result.nodes.find((x) => x.id === nodeId);
1893
+ if (!n || n.arkuiId)
1894
+ return;
1895
+ n.arkuiId = arkuiId;
1896
+ }
1793
1897
  function isViewTreeClassSignature(sig) {
1794
1898
  // Prefer instanceof; duck-type fallback if duplicate arkanalyzer copies break instanceof.
1795
1899
  if (sig instanceof arkanalyzer_1.ClassSignature)
@@ -2171,6 +2275,9 @@ function indexViewTreeForClass(ctx, cls, result, relativePath) {
2171
2275
  // keep build() line
2172
2276
  }
2173
2277
  link(buildId, childId, 'references', 'child-component', line);
2278
+ const arkuiId = viewTreeArkuiId(node);
2279
+ if (arkuiId)
2280
+ assignArkuiId(result, childId, arkuiId);
2174
2281
  }
2175
2282
  }
2176
2283
  else {
@@ -3053,6 +3160,7 @@ class ArkTSAdapter {
3053
3160
  const localNode = makeNode(relativePath, language, kind, name, qn, line, endLine, col, {
3054
3161
  signature: local.getType()?.toString(),
3055
3162
  ...modelModifiersToNodeExtras(local),
3163
+ ...docstringExtras(local),
3056
3164
  });
3057
3165
  this.addNode(result, localNode);
3058
3166
  result.edges.push(arkEdge(parentId, localNode.id, 'contains'));
@@ -3071,6 +3179,7 @@ class ArkTSAdapter {
3071
3179
  const aliasNode = makeNode(relativePath, language, 'type_alias', name, qn, line, endLine, col, {
3072
3180
  signature: aliasType.getOriginalType()?.toString(),
3073
3181
  ...modelModifiersToNodeExtras(aliasType),
3182
+ ...docstringExtras(aliasType),
3074
3183
  });
3075
3184
  this.addNode(result, aliasNode);
3076
3185
  result.edges.push(arkEdge(parentId, aliasNode.id, 'contains'));
@@ -3102,6 +3211,7 @@ class ArkTSAdapter {
3102
3211
  const { line, endLine, col } = linesFromPosition(positions[0]);
3103
3212
  const nsNode = makeNode(relativePath, language, 'namespace', ns.getName(), qn, line, endLine, col, {
3104
3213
  ...modelModifiersToNodeExtras(ns),
3214
+ ...docstringExtras(ns),
3105
3215
  });
3106
3216
  this.addNode(result, nsNode);
3107
3217
  result.edges.push(arkEdge(parentId, nsNode.id, 'contains'));
@@ -3129,6 +3239,7 @@ class ArkTSAdapter {
3129
3239
  const classDecs = (0, migrate_semantics_1.encodeDecoratorEntries)(modelDecoratorEntries(cls));
3130
3240
  const classNode = makeNode(relativePath, language, kind, displayName, qn, line, endLine, col, {
3131
3241
  ...modelModifiersToNodeExtras(cls),
3242
+ ...docstringExtras(cls),
3132
3243
  ...(classDecs.length > 0 ? { decorators: classDecs } : {}),
3133
3244
  });
3134
3245
  this.addNode(result, classNode);
@@ -3159,6 +3270,7 @@ class ArkTSAdapter {
3159
3270
  if (cls.hasComponentDecorator()) {
3160
3271
  const componentNode = makeNode(relativePath, language, 'component', displayName, qn, line, endLine, col, {
3161
3272
  ...modelModifiersToNodeExtras(cls),
3273
+ ...docstringExtras(cls),
3162
3274
  ...(classDecs.length > 0 ? { decorators: classDecs } : {}),
3163
3275
  });
3164
3276
  this.addNode(result, componentNode);
@@ -3215,6 +3327,7 @@ class ArkTSAdapter {
3215
3327
  const aliasNode = makeNode(relativePath, language, 'type_alias', name, qn, line, endLine, col, {
3216
3328
  signature: aliasType.getOriginalType()?.toString(),
3217
3329
  ...modelModifiersToNodeExtras(aliasType),
3330
+ ...docstringExtras(aliasType),
3218
3331
  });
3219
3332
  this.addNode(result, aliasNode);
3220
3333
  result.edges.push(arkEdge(parentId, aliasNode.id, 'contains'));
@@ -3251,6 +3364,7 @@ class ArkTSAdapter {
3251
3364
  signature: field.getType()?.toString(),
3252
3365
  ...(encodedDecs.length > 0 ? { decorators: encodedDecs } : {}),
3253
3366
  ...modelModifiersToNodeExtras(field),
3367
+ ...docstringExtras(field),
3254
3368
  });
3255
3369
  this.addNode(result, fieldNode);
3256
3370
  this.fieldToId.set(field, fieldNode.id);
@@ -3568,6 +3682,7 @@ class ArkTSAdapter {
3568
3682
  ...(signature ? { signature } : {}),
3569
3683
  ...(returnType ? { returnType } : {}),
3570
3684
  ...modelModifiersToNodeExtras(method),
3685
+ ...docstringExtras(method),
3571
3686
  });
3572
3687
  this.addNode(result, methodNode);
3573
3688
  this.methodToId.set(method, methodNode.id);
@@ -3695,6 +3810,9 @@ function buildSceneConfig(rootDir, extra) {
3695
3810
  return (0, arkanalyzer_1.buildSceneConfigFromProject)(rootDir, process.env.OHOS_SDK_HOME, {
3696
3811
  supportFileExts: ['.ets', '.ts', '.d.ts'],
3697
3812
  enableMethodBodyBuild: true,
3813
+ // Spec 0020: feed nodes.docstring → nodes_fts (leading + JSDoc).
3814
+ enableLeadingComments: true,
3815
+ enableJSDoc: true,
3698
3816
  ...(extra?.memoryLimitMB !== undefined ? { memoryLimitMB: extra.memoryLimitMB } : {}),
3699
3817
  });
3700
3818
  }