homegraph 1.5.6 → 1.5.7

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 (52) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.md +10 -4
  3. package/dist/context/index.d.ts.map +1 -1
  4. package/dist/context/index.js +120 -15
  5. package/dist/context/index.js.map +1 -1
  6. package/dist/extraction/languages/arkts.d.ts +25 -3
  7. package/dist/extraction/languages/arkts.d.ts.map +1 -1
  8. package/dist/extraction/languages/arkts.js +184 -22
  9. package/dist/extraction/languages/arkts.js.map +1 -1
  10. package/dist/mcp/evidence-rendering.d.ts +10 -0
  11. package/dist/mcp/evidence-rendering.d.ts.map +1 -0
  12. package/dist/mcp/evidence-rendering.js +71 -0
  13. package/dist/mcp/evidence-rendering.js.map +1 -0
  14. package/dist/mcp/explore-repeat-guard.d.ts +8 -13
  15. package/dist/mcp/explore-repeat-guard.d.ts.map +1 -1
  16. package/dist/mcp/explore-repeat-guard.js +54 -114
  17. package/dist/mcp/explore-repeat-guard.js.map +1 -1
  18. package/dist/mcp/explore-session-state.d.ts +26 -4
  19. package/dist/mcp/explore-session-state.d.ts.map +1 -1
  20. package/dist/mcp/explore-session-state.js +50 -4
  21. package/dist/mcp/explore-session-state.js.map +1 -1
  22. package/dist/mcp/query-cache.d.ts +1 -1
  23. package/dist/mcp/query-cache.d.ts.map +1 -1
  24. package/dist/mcp/query-cache.js +86 -3
  25. package/dist/mcp/query-cache.js.map +1 -1
  26. package/dist/mcp/server-instructions.d.ts +2 -2
  27. package/dist/mcp/server-instructions.d.ts.map +1 -1
  28. package/dist/mcp/server-instructions.js +34 -21
  29. package/dist/mcp/server-instructions.js.map +1 -1
  30. package/dist/mcp/tools.d.ts +19 -3
  31. package/dist/mcp/tools.d.ts.map +1 -1
  32. package/dist/mcp/tools.js +690 -107
  33. package/dist/mcp/tools.js.map +1 -1
  34. package/dist/search/literal-evidence.d.ts +44 -0
  35. package/dist/search/literal-evidence.d.ts.map +1 -0
  36. package/dist/search/literal-evidence.js +278 -0
  37. package/dist/search/literal-evidence.js.map +1 -0
  38. package/dist/search/query-plan-provider.d.ts +6 -0
  39. package/dist/search/query-plan-provider.d.ts.map +1 -0
  40. package/dist/search/query-plan-provider.js +289 -0
  41. package/dist/search/query-plan-provider.js.map +1 -0
  42. package/dist/search/query-plan.d.ts +98 -0
  43. package/dist/search/query-plan.d.ts.map +1 -0
  44. package/dist/search/query-plan.js +334 -0
  45. package/dist/search/query-plan.js.map +1 -0
  46. package/dist/search/query-utils.d.ts +6 -1
  47. package/dist/search/query-utils.d.ts.map +1 -1
  48. package/dist/search/query-utils.js +64 -5
  49. package/dist/search/query-utils.js.map +1 -1
  50. package/dist/types.d.ts +17 -0
  51. package/dist/types.d.ts.map +1 -1
  52. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"explore-session-state.d.ts","sourceRoot":"","sources":["../../src/mcp/explore-session-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAIH;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,uBAAuB,CAAC;AAEzD;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,sBAAsB,CAAC;AAE5D,iEAAiE;AACjE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,0CAA0C;AAC1C,MAAM,WAAW,mBAAmB;IAClC,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,sEAAsE;IACtE,KAAK,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qEAAqE;IACrE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,iEAAiE;AACjE,MAAM,WAAW,eAAe;IAC9B,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,aAAa,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,sEAAsE;AACtE,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD,kFAAkF;IAClF,KAAK,EAAE,MAAM,CAAC;CACf;AAED,sDAAsD;AACtD,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,oFAAoF;IACpF,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,aAAa,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,KAAK,EAAE,iBAAiB,EAAE,CAAC;CAC5B;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,mBAAmB,EAAE,CAAC;CACjC;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB;IACjC,6EAA6E;;IAE7E,kFAAkF;;IAElF,+DAA+D;;IAE/D,sEAAsE;;IAEtE,4EAA4E;;CAEpE,CAAC;AAEX;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAK7D;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,aAAa,CAAC,gBAAgB,CAAC,EACvC,GAAG,GAAE,MAAmD,GACvD;IAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAmBpD;AAED,yEAAyE;AACzE,wBAAgB,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAE1F;AASD;;;;;;;GAOG;AACH,qBAAa,mBAAmB;IAC9B,mFAAmF;IACnF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0C;IACnE;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA6B;IAE/D;;;OAGG;IACH,MAAM,CAAC,QAAQ,EAAE,eAAe,GAAG,iBAAiB,GAAG,IAAI;IA8B3D,oEAAoE;IACpE,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAQ5C,2EAA2E;IAC3E,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAK3C,kFAAkF;IAClF,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI;IAK3D,kFAAkF;IAClF,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAItC,yEAAyE;IACzE,QAAQ,IAAI,mBAAmB,EAAE;IAIjC;;;;;OAKG;IACH,IAAI,IAAI,kBAAkB;IAa1B,6EAA6E;IAC7E,KAAK,IAAI,IAAI;IAKb;;;;;OAKG;IACH,OAAO,CAAC,KAAK;IAiBb;;;;;OAKG;IACH,OAAO,CAAC,UAAU;CAgBnB;AAWD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,kBAAkB,GAAG,IAAI,CAM/F;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,kBAAkB,GAAG,IAAI,EAC/B,WAAW,EAAE,MAAM,GAClB,mBAAmB,GAAG,IAAI,CAK5B"}
1
+ {"version":3,"file":"explore-session-state.d.ts","sourceRoot":"","sources":["../../src/mcp/explore-session-state.ts"],"names":[],"mappings":"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"}
@@ -73,6 +73,7 @@ var __importStar = (this && this.__importStar) || (function () {
73
73
  })();
74
74
  Object.defineProperty(exports, "__esModule", { value: true });
75
75
  exports.ExploreSessionState = exports.EXPLORE_SESSION_LIMITS = exports.EXPLORE_SESSION_VIEW_ARG = exports.EXPLORE_EMISSION_KEY = void 0;
76
+ exports.inferExploreEvidenceStatus = inferExploreEvidenceStatus;
76
77
  exports.exploreProjectKey = exploreProjectKey;
77
78
  exports.coalesceRanges = coalesceRanges;
78
79
  exports.rangesCover = rangesCover;
@@ -113,7 +114,31 @@ exports.EXPLORE_SESSION_LIMITS = {
113
114
  MAX_RANGES_PER_FILE: 24,
114
115
  /** Most-recent calls per project included in {@link ExploreSessionView}. */
115
116
  MAX_VIEW_CALLS: 4,
117
+ MAX_LOCATED_NODES: 64,
118
+ MAX_OBLIGATIONS: 12,
116
119
  };
120
+ /** Conservative fallback for older renderers that have not supplied a receipt. */
121
+ function inferExploreEvidenceStatus(emission) {
122
+ if (emission.evidenceStatus === 'empty' || emission.evidenceStatus === 'sdk-only') {
123
+ return emission.evidenceStatus;
124
+ }
125
+ if (emission.partial || emission.uncoveredObligations?.length || emission.evidenceStatus === 'partial') {
126
+ return 'partial';
127
+ }
128
+ if (emission.evidenceStatus === 'complete')
129
+ return 'complete';
130
+ const paths = [
131
+ ...(Array.isArray(emission.files) ? emission.files : [])
132
+ .filter((f) => f && f.bytes > 0 && f.ranges?.length > 0).map((f) => f.path),
133
+ ...(Array.isArray(emission.locatedNodes) ? emission.locatedNodes : [])
134
+ .filter((n) => n && typeof n.filePath === 'string').map((n) => n.filePath),
135
+ ];
136
+ if (paths.length === 0)
137
+ return 'empty';
138
+ if (paths.every((p) => /^(?:ohos-sdk|sdk):/i.test(p)))
139
+ return 'sdk-only';
140
+ return 'complete';
141
+ }
117
142
  /**
118
143
  * Key a project root is filed under. Resolved so `/repo` and `/repo/` agree;
119
144
  * case-folded on the two platforms whose filesystems are case-insensitive, so a
@@ -195,7 +220,13 @@ class ExploreSessionState {
195
220
  files: this.boundFiles(emission.files),
196
221
  sourceBytes: Math.max(0, emission.sourceBytes || 0),
197
222
  responseBytes: Math.max(0, emission.responseBytes || 0),
198
- partial: emission.partial === true,
223
+ evidenceStatus: inferExploreEvidenceStatus(emission),
224
+ coveredObligations: boundObligations(emission.coveredObligations),
225
+ uncoveredObligations: boundObligations(emission.uncoveredObligations),
226
+ locatedNodes: (Array.isArray(emission.locatedNodes) ? emission.locatedNodes : []).filter((n) => n && typeof n.id === 'string'
227
+ && typeof n.name === 'string' && typeof n.filePath === 'string' && Number.isFinite(n.startLine))
228
+ .slice(0, exports.EXPLORE_SESSION_LIMITS.MAX_LOCATED_NODES).map((n) => ({ ...n })),
229
+ partial: inferExploreEvidenceStatus(emission) !== 'complete',
199
230
  nextAnchor: typeof emission.nextAnchor === 'string' && emission.nextAnchor.trim()
200
231
  ? emission.nextAnchor.trim().slice(0, 120)
201
232
  : undefined,
@@ -204,7 +235,7 @@ class ExploreSessionState {
204
235
  if (state.calls.length > exports.EXPLORE_SESSION_LIMITS.MAX_CALLS_RETAINED) {
205
236
  state.calls.splice(0, state.calls.length - exports.EXPLORE_SESSION_LIMITS.MAX_CALLS_RETAINED);
206
237
  }
207
- // Fresh explore → reset depth fuse window (Partial gets one drill; closed clears).
238
+ // Fresh retrieval resets the bounded recovery window; task completion is unrelated.
208
239
  if (record.partial)
209
240
  this.depthAfterPartial.set(key, 0);
210
241
  else
@@ -253,7 +284,7 @@ class ExploreSessionState {
253
284
  responseBytes: state.responseBytes,
254
285
  calls: state.calls
255
286
  .slice(-exports.EXPLORE_SESSION_LIMITS.MAX_VIEW_CALLS)
256
- .map((c) => ({ ...c, files: c.files.map((f) => ({ ...f, ranges: [...f.ranges] })) })),
287
+ .map(cloneCall),
257
288
  })),
258
289
  };
259
290
  }
@@ -318,7 +349,22 @@ function cloneProject(state) {
318
349
  projectRoot: state.projectRoot,
319
350
  callCount: state.callCount,
320
351
  responseBytes: state.responseBytes,
321
- calls: state.calls.map((c) => ({ ...c, files: c.files.map((f) => ({ ...f, ranges: [...f.ranges] })) })),
352
+ calls: state.calls.map(cloneCall),
353
+ };
354
+ }
355
+ function boundObligations(values) {
356
+ if (!Array.isArray(values))
357
+ return undefined;
358
+ return [...new Set(values.filter((s) => typeof s === 'string' && s.trim())
359
+ .map((s) => s.trim().slice(0, 240)))].slice(0, exports.EXPLORE_SESSION_LIMITS.MAX_OBLIGATIONS);
360
+ }
361
+ function cloneCall(c) {
362
+ return {
363
+ ...c,
364
+ files: c.files.map((f) => ({ ...f, ranges: f.ranges.map((r) => ({ ...r })) })),
365
+ locatedNodes: c.locatedNodes?.map((n) => ({ ...n })),
366
+ coveredObligations: c.coveredObligations ? [...c.coveredObligations] : undefined,
367
+ uncoveredObligations: c.uncoveredObligations ? [...c.uncoveredObligations] : undefined,
322
368
  };
323
369
  }
324
370
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"explore-session-state.js","sourceRoot":"","sources":["../../src/mcp/explore-session-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"explore-session-state.js","sourceRoot":"","sources":["../../src/mcp/explore-session-state.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@
15
15
  import type { QueryBuilder } from '../db/queries';
16
16
  import type { ToolResult } from './tools';
17
17
  /** Bump when cache-key normalization or cached payload shape changes. */
18
- export declare const QUERY_CACHE_FORMAT_VERSION = 1;
18
+ export declare const QUERY_CACHE_FORMAT_VERSION = 3;
19
19
  export declare function isMcpQueryCacheEnabled(): boolean;
20
20
  export declare function isCacheableMcpTool(toolName: string): boolean;
21
21
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"query-cache.d.ts","sourceRoot":"","sources":["../../src/mcp/query-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAS1C,yEAAyE;AACzE,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAW5C,wBAAgB,sBAAsB,IAAI,OAAO,CAGhD;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED;;;;GAIG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,IAAI,CAAqB;IACjC,yEAAyE;IACzE,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,YAAY,CAAuB;IAE3C,8DAA8D;IAC9D,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI9B;;;;OAIG;IACH,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI;IAuB5E,yEAAyE;IACzE,KAAK,IAAI,IAAI;IAMb,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAKpE,QAAQ,CACN,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,UAAU,GACjB,IAAI;IAKP,OAAO,CAAC,cAAc;CAMvB;AAED,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,CAO7E;AAED,gEAAgE;AAChE,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAQlE;AAwBD,oEAAoE;AACpE,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CAqER;AAUD,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CAGR"}
1
+ {"version":3,"file":"query-cache.d.ts","sourceRoot":"","sources":["../../src/mcp/query-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAa1C,yEAAyE;AACzE,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAW5C,wBAAgB,sBAAsB,IAAI,OAAO,CAGhD;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED;;;;GAIG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,IAAI,CAAqB;IACjC,yEAAyE;IACzE,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,YAAY,CAAuB;IAE3C,8DAA8D;IAC9D,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI9B;;;;OAIG;IACH,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI;IAuB5E,yEAAyE;IACzE,KAAK,IAAI,IAAI;IAMb,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAKpE,QAAQ,CACN,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,UAAU,GACjB,IAAI;IAKP,OAAO,CAAC,cAAc;CAMvB;AAED,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,CAO7E;AAED,gEAAgE;AAChE,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAQlE;AAwFD,oEAAoE;AACpE,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CA+ER;AAUD,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CAGR"}
@@ -23,6 +23,9 @@ exports.normalizeExploreQueryTerms = normalizeExploreQueryTerms;
23
23
  exports.buildMcpQueryCacheFingerprint = buildMcpQueryCacheFingerprint;
24
24
  exports.buildMcpQueryCacheKey = buildMcpQueryCacheKey;
25
25
  const node_crypto_1 = require("node:crypto");
26
+ const query_plan_1 = require("../search/query-plan");
27
+ const PLAN_RELATIONS = new Set(query_plan_1.QUERY_RELATIONS);
28
+ const PLAN_SOURCE_SCOPES = new Set(query_plan_1.QUERY_SOURCE_SCOPES);
26
29
  /** Mirrors `getExploreOutputBudget` tier breakpoints — cache-key only. */
27
30
  function defaultExploreMaxFiles(fileCount) {
28
31
  if (fileCount < 150)
@@ -32,7 +35,7 @@ function defaultExploreMaxFiles(fileCount) {
32
35
  return 8;
33
36
  }
34
37
  /** Bump when cache-key normalization or cached payload shape changes. */
35
- exports.QUERY_CACHE_FORMAT_VERSION = 1;
38
+ exports.QUERY_CACHE_FORMAT_VERSION = 3;
36
39
  const METADATA_INDEX_STAMP = 'query_cache_index_stamp';
37
40
  const METADATA_FORMAT_VERSION = 'query_cache_format_version';
38
41
  /** Tools that must stay live — never cached. */
@@ -140,7 +143,8 @@ function exploreEnvFingerprint() {
140
143
  ? '0'
141
144
  : '1';
142
145
  const rankMultiterm = process.env.HOMEGRAPH_RANK_NO_MULTITERM === '1' ? '0' : '1';
143
- return `linums:${linums}|adaptive:${adaptive}|rankMultiterm:${rankMultiterm}`;
146
+ const fullSource = process.env.HOMEGRAPH_EXPLORE_FULL_SOURCE === '1' ? '1' : '0';
147
+ return `linums:${linums}|adaptive:${adaptive}|rankMultiterm:${rankMultiterm}|fullSource:${fullSource}`;
144
148
  }
145
149
  function normalizeString(value) {
146
150
  if (typeof value !== 'string')
@@ -152,13 +156,92 @@ function intParam(value, fallback) {
152
156
  const n = Number(value);
153
157
  return Number.isFinite(n) && n > 0 ? Math.floor(Math.floor(n)) : fallback;
154
158
  }
159
+ /**
160
+ * Project the execution semantics of an internal plan, not its per-call timing.
161
+ * Ordered queries/steps/anchors preserve direction (A calls B != B calls A).
162
+ * Explicit projection also keeps telemetry, deadlines and unknown fields out of
163
+ * keys, and is safe on malformed/cyclic values at a worker or library boundary.
164
+ */
165
+ function queryPlanFingerprint(value) {
166
+ const record = (v) => v !== null && typeof v === 'object' && !Array.isArray(v)
167
+ ? v : undefined;
168
+ const strings = (v, limit) => {
169
+ if (!Array.isArray(v) || v.length > limit)
170
+ return undefined;
171
+ return v.every(item => typeof item === 'string' && item.length <= 256)
172
+ ? v : undefined;
173
+ };
174
+ const query = (v) => typeof v === 'string' && v.length <= 16_384 ? v : undefined;
175
+ const validRetrievalFields = (v) => (v.searchTerms === undefined || strings(v.searchTerms, 32) !== undefined)
176
+ && (v.literalTexts === undefined || strings(v.literalTexts, 16) !== undefined)
177
+ && (v.relation === undefined || (typeof v.relation === 'string' && PLAN_RELATIONS.has(v.relation)))
178
+ && (v.sourceScope === undefined || (typeof v.sourceScope === 'string' && PLAN_SOURCE_SCOPES.has(v.sourceScope)));
179
+ const plan = record(value);
180
+ if (!plan || !validRetrievalFields(plan))
181
+ return undefined;
182
+ if ((typeof plan.version !== 'number' || !Number.isFinite(plan.version))
183
+ && (typeof plan.version !== 'string' || plan.version.length > 64))
184
+ return undefined;
185
+ const originalQuery = query(plan.originalQuery);
186
+ const canonicalQuery = query(plan.canonicalQuery);
187
+ const intent = normalizeString(plan.intent);
188
+ const route = normalizeString(plan.route);
189
+ const anchors = strings(plan.anchors, 32);
190
+ const searchTerms = strings(plan.searchTerms, 32);
191
+ if (originalQuery === undefined || canonicalQuery === undefined || !intent || !route
192
+ || !anchors || !searchTerms || !Array.isArray(plan.steps) || plan.steps.length > 3)
193
+ return undefined;
194
+ const steps = [];
195
+ for (const value of plan.steps) {
196
+ const step = record(value);
197
+ if (!step || !validRetrievalFields(step))
198
+ return undefined;
199
+ const id = normalizeString(step.id);
200
+ const stepQuery = query(step.query);
201
+ const stepIntent = normalizeString(step.intent);
202
+ const stepAnchors = strings(step.anchors, 32);
203
+ const dependsOn = strings(step.dependsOn, 3);
204
+ if (!id || stepQuery === undefined || !stepIntent || !stepAnchors || !dependsOn)
205
+ return undefined;
206
+ steps.push({ id, query: stepQuery, intent: stepIntent, anchors: stepAnchors, dependsOn,
207
+ searchTerms: strings(step.searchTerms, 32), literalTexts: strings(step.literalTexts, 16),
208
+ relation: normalizeString(step.relation), sourceScope: normalizeString(step.sourceScope) });
209
+ }
210
+ const features = record(plan.features);
211
+ if (!features || Object.keys(features).length > 64
212
+ || !Object.values(features).every(v => typeof v === 'boolean'))
213
+ return undefined;
214
+ return stableJson({
215
+ version: plan.version, originalQuery, canonicalQuery, intent, route,
216
+ taskContext: query(plan.taskContext),
217
+ anchors, searchTerms, steps, features,
218
+ literalTexts: strings(plan.literalTexts, 16), relation: normalizeString(plan.relation),
219
+ sourceScope: normalizeString(plan.sourceScope),
220
+ source: typeof plan.source === 'string' ? plan.source : undefined,
221
+ confidence: typeof plan.confidence === 'number' || typeof plan.confidence === 'string'
222
+ ? plan.confidence : undefined,
223
+ });
224
+ }
155
225
  /** Build the pre-hash fingerprint string for a tool + args pair. */
156
226
  function buildMcpQueryCacheFingerprint(toolName, args, fileCount) {
157
227
  const parts = [toolName.replace(/^homegraph_/, '')];
158
228
  switch (toolName) {
159
229
  case 'homegraph_explore': {
160
230
  const query = normalizeString(args.query) ?? '';
161
- parts.push(`terms:${normalizeExploreQueryTerms(query).join(',')}`);
231
+ const plan = queryPlanFingerprint(args.__homegraphQueryPlan);
232
+ if (plan) {
233
+ parts.push(`plan:${plan}`);
234
+ }
235
+ else {
236
+ // Preserve order-independent legacy keys for calls without a valid plan.
237
+ parts.push(`terms:${normalizeExploreQueryTerms(query).join(',')}`);
238
+ const taskContext = normalizeString(args.taskContext);
239
+ if (taskContext)
240
+ parts.push(`taskContext:${taskContext.slice(0, 4000)}`);
241
+ }
242
+ const indexState = normalizeString(args.__homegraphQueryIndexState);
243
+ if (indexState)
244
+ parts.push(`indexState:${JSON.stringify(indexState)}`);
162
245
  if (args.maxFiles != null) {
163
246
  parts.push(`maxFiles:${intParam(args.maxFiles, 12)}`);
164
247
  }
@@ -1 +1 @@
1
- {"version":3,"file":"query-cache.js","sourceRoot":"","sources":["../../src/mcp/query-cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query-cache.js","sourceRoot":"","sources":["../../src/mcp/query-cache.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,6 @@
7
7
  * Keep this short: long essays are low-salience and rarely change tool choice.
8
8
  * Prefer concrete habits (query shape, which tool, when to stop).
9
9
  */
10
- export declare const SERVER_INSTRUCTIONS = "# HomeGraph \u2014 structural locator for THIS repo\n\nLocal symbol graph (defs / calls / imports / files). Use it to **coarse-locate** in-repo symbols (`file:line` + short source), then answer. Not general Q&A, not SDK docs.\n\n## Call first (do not Grep/Glob/Read first)\n\nWill you **explain or edit in-repo code**? \u2192 `homegraph_explore` **once** with the user task as `query` (Chinese OK; add English Type / `Type.member` / `@kit` / `@ohos` tokens when you know them).\n\nAlready know **one** exact symbol? Prefer smaller tools: `homegraph_callers` / `homegraph_callees` / `homegraph_node`. Spelling unknown \u2192 `homegraph_search` last.\n\nFor a narrow inventory, call `homegraph_usages` (where-used), `homegraph_modules` (named module deps/cycles), or `homegraph_native` (NAPI exports). Existing clients may keep calling `homegraph_explore`: high-confidence shapes route to the same bounded handlers.\n\nEngineering overview / module\u2192file map (including while the full index is still building) \u2192 `homegraph_project`.\n\n**Must explore-first:** how/mechanism wiring, named Type / `.member`, in-repo `@kit`/`@ohos` **usages**, deps/cycles, NAPI / `.d.ts` wrap sites, pre-edit orientation.\n\nArkUI V1\u2194V2 / state-decorator migration on a named component \u2192 `homegraph_arkui_migrate` once (not explore stitching).\n\n## How to write `query`\n\n- Put **concrete anchors** in the bag: `FooManager`, `BarEvent`, `Type.member`, `feature/foo`, `@kit.X`.\n- Map Chinese entities to English symbol stems when you can (`\u8BBE\u7F6E`\u2192`Setting`, `\u65B0\u5EFA`\u2192`New`) \u2014 search/explore cluster `Entity` / `EntityManager` / `EntityViewModel`.\n- Keep **intent words** with the Type (`\u6765\u6E90` / `\u5206\u53D1` / `\u4F9D\u8D56` / `NAPI` / `\u9A71\u52A8`) \u2014 bare Type alone may drop survey routing.\n- Multi-app monorepo: pass `projectPath` to the app root; ignore sibling-app paths as noise.\n\n## After one explore\n\n- Returned line-numbered source = **already Read** for those symbols \u2014 do not re-Grep/Read/node the **same** symbols.\n- **Coarse locate / ANSWER NOW** \u2192 answer/edit from anchors; do not verify with a Grep storm.\n- **Partial locator** \u2192 **ONE** tighter follow-up with the named **Next anchor** only \u2014 never a paraphrase or a different Type (server refuses). After Partial: **no** `homegraph_callers`/`callees`; at most **one** `homegraph_node`. A **second** Partial \u2192 stop HomeGraph; ONE narrow Grep then answer \u2014 never a repo-wide glob/Read storm.\n- Busy/deadline \u2192 retry **once** tighter; then answer from anchors (narrow Grep OK for residuals).\n\nPrefer smallest tool when the name is known: callers/callees/node \u226A explore \u226A search. Prefer **one** Type-wide inventory explore over fanning `homegraph_callers` per method. Session fuse: **\u22642** `homegraph_explore` per project; after Partial follow-ups must name the **Next anchor**; **\u22641** `homegraph_node` after Partial \u2014 further calls are refused.\n\n## Do not call HomeGraph\n\nRuntime Skip is a short blacklist (everything else is served if you call):\n\n- Topic \u2192 file list with no Type/file basename\n- Literal / layout copy hunts with no Type/file/`@kit`/`@ohos`\n- Pure existence / concept-compare with no graph anchors\n- Official website/docs only \u00B7 scaffold empty project \u00B7 git/blame/diff \u00B7 media/binary inventories\n\n`@kit` / OHOS **API usage in this repo** \u2192 explore (not Skip). Feature **catalogs** of an SDK \u2192 SDK docs, not HomeGraph.\n\nIf a tool returns **Skip HomeGraph**, stop \u2014 do not retry `homegraph_*`.\n\n## Tips\n\n- Empty callers/callees = **edges not indexed**, not \u201Cmissing symbol\u201D \u2014 use the definition anchor; narrow Grep for registration if needed.\n- **Staleness banner** \u2014 Read only listed edited files.\n- **Not indexed** \u2014 use built-ins; user runs `homegraph init` (you do not).\n";
11
- export declare const SERVER_INSTRUCTIONS_NO_ROOT_INDEX = "# HomeGraph \u2014 per-project (pass projectPath)\n\nPass `projectPath` to a folder that has `.homegraph/`.\n\n**Call first:** explain/edit in-repo code \u2192 `homegraph_explore` with task keywords (no Grep-first). Named Type / `Type.member` / usages / deps / NAPI / `@kit` \u2192 explore.\n\nNarrow inventories may call `homegraph_usages`, `homegraph_modules`, or `homegraph_native` directly; pass the same `projectPath`.\n\n**Skip:** topic file-lists, concept compares, literal hunts, git history, media. No index \u2192 Read/Grep/Glob; user runs `homegraph init`.\n\n**Query habit:** Chinese OK; add English Type/`@kit` tokens when known. Explore = coarse locate. Partial \u2192 one tighter follow-up with a concrete name from the list. ONE narrow Grep OK for residual unindexed wiring \u2014 not a Grep storm.\n";
10
+ export declare const SERVER_INSTRUCTIONS = "# HomeGraph \u2014 structural locator for THIS repo\n\nLocal symbol graph (defs / calls / imports / files). Use it to locate in-repo symbols (`file:line` + source), then continue the user's requested explanation, edits and validation. Retrieval completion is not task completion.\n\n## When to call (path-first): choose exactly ONE first tool\n\n- User task already names an in-repo relative path to one source file and requests a code change \u2192 Read that file and edit (Skip HomeGraph).\n- Otherwise, use the narrow tool or explore below to locate the missing source evidence.\n\nUse the narrow tool when the task is exactly one of these inventories:\n\n- **Where is this named API/member/constant/field used?** \u2192 `homegraph_usages`\n- **How do these named modules depend on each other / is there a cycle?** \u2192 `homegraph_modules`\n- **Which NAPI/native exports or registration sites does this named path/Type expose?** \u2192 `homegraph_native`\n\nOtherwise, if you will **explain or edit in-repo code**, call `homegraph_explore` **once** with the user task as `query` (Chinese OK; add English Type / `Type.member` / `@kit` / `@ohos` tokens when known). Do not call explore after a focused tool already answered the inventory. Older clients that call explore still get the same focused handler through conservative compatibility routing.\n\nEngineering overview / module\u2192file map (including while the full index is still building) \u2192 `homegraph_project`.\n\nAlready know **one** exact symbol body or call direction? Prefer `homegraph_callers` / `homegraph_callees` / `homegraph_node`. Spelling unknown \u2192 `homegraph_search` last.\n\n**Prefer explore when locating (without a path-pinned single-file edit):** how/mechanism wiring, cross-Type/component behavior, `.d.ts` wrap flows, and general pre-edit orientation that is not one of the three narrow inventories above.\n\nArkUI V1\u2194V2 / state-decorator migration on a named component \u2192 `homegraph_arkui_migrate` once (not explore stitching).\n\n## How to write `query`\n\n- Preserve the task's intent, relation direction and scope; do not stuff keywords or invent symbols. For edits, include the requested action, target product/module, exclusions and acceptance requirements in query or optional taskContext. Do not replace a deletion/refactoring request with a bare component name. When optional query planning is enabled, explore can plan bounded dependent lookups internally; scoped natural-language queries can be planned even when a lexical route matches, while exact symbol/path lookups stay cheap. No extra tool or explicit depth tier is required. Planned subquestion evidence is not a completeness claim for the whole task.\n- Planned steps keep separate retrieval focuses. Located source candidates carry file/line identity, not proof that the intended business feature is correct; check them against the original task constraints before editing. A missing dependency is reported as unexecuted, not as evidence that the code does not exist.\n- Before editing, verify that the evidence belongs to the requested product/module and that referenced symbols actually exist. A project map is only navigation, not proof that a feature has been located. If source evidence is ambiguous or belongs to another product, use a bounded follow-up instead of editing that hit. Read-duplication guidance never forbids checks needed to avoid an incorrect edit.\n- Put **concrete anchors** in the bag: `FooManager`, `BarEvent`, `Type.member`, `feature/foo`, `path/to/File.ets`, `@kit.X`.\n- Map Chinese entities to English symbol stems when you can (`\u8BBE\u7F6E`\u2192`Setting`, `\u65B0\u5EFA`\u2192`New`) \u2014 search/explore cluster `Entity` / `EntityManager` / `EntityViewModel`.\n- Keep **intent words** with the Type (`\u6765\u6E90` / `\u5206\u53D1` / `\u4F9D\u8D56` / `NAPI` / `\u9A71\u52A8`) \u2014 bare Type alone may drop survey routing.\n- Multi-app monorepo: pass `projectPath` to the app root; ignore sibling-app paths as noise.\n\n## After one explore\n\n- Digests concern named / hit files; unrelated neighboring pages are not required reading.\n\n- Reuse returned line-numbered source for the ranges actually shown. An outline, anchor, candidate list, truncated body or SDK declaration is not a substitute for missing business code.\n- Check source relevance and every requested change before editing. A retrieval status or completion banner never authorizes ending a coding task or skipping implementation and validation.\n- Empty, SDK-only or partial evidence \u2192 **one** bounded recovery aimed at the missing evidence. The suggested **Next anchor** is advisory; a newly scoped obligation may need another file or Type. One focused `homegraph_node`, `homegraph_callers` or `homegraph_callees` can recover a missing body or relation.\n- If evidence is still missing after the retrieval budget, inspect it with targeted Read/Grep and continue the requested work. Do not infer that the feature is absent or that the task is complete.\n- Busy/deadline \u2192 retry **once** tighter; then inspect the missing source directly.\n\nPrefer the smallest tool when the name is known and reuse unchanged evidence. Session budget: **\u22642** `homegraph_explore` attempts per project, including empty responses; **\u22641** focused depth recovery after incomplete evidence. Identical requests with usable evidence may be deduplicated; lexical overlap alone does not prove a new obligation was answered.\n\n## Do not call HomeGraph\n\nRuntime Skip is a short blacklist (everything else is served if you call):\n\n- Single-file path pinned in a code-change task \u2192 Read + edit (Skip HomeGraph)\n\n- Topic \u2192 file list with no Type/file basename\n- Pure layout-copy or media hunts with no code behavior to locate\n- Pure existence / concept-compare with no graph anchors\n- Official website/docs only \u00B7 scaffold empty project \u00B7 git/blame/diff \u00B7 media/binary inventories\n\n`@kit` / OHOS **API usage in this repo** is not Skip: exact where-used \u2192 `homegraph_usages`; mechanism/API-symbol flow \u2192 `homegraph_explore`. Feature **catalogs** of an SDK \u2192 SDK docs, not HomeGraph.\n\nFor UI behavior, preserve the verbatim label in the query: resource strings may lead to their source references, event handler and route. If a tool reports unsupported scope or an exhausted budget, use targeted built-ins for the missing evidence and continue the user's task.\n\n## Tips\n\n- Empty callers/callees = **edges not indexed**, not \u201Cmissing symbol\u201D \u2014 use the definition anchor; narrow Grep for registration if needed.\n- **Staleness banner** \u2014 refresh the listed changed source before relying on it.\n- **Not indexed** \u2014 use built-ins; user runs `homegraph init` (you do not).\n";
11
+ export declare const SERVER_INSTRUCTIONS_NO_ROOT_INDEX = "# HomeGraph \u2014 per-project (pass projectPath)\n\nPass `projectPath` to a folder that has `.homegraph/`.\n\n**When to call (path-first):** a single-file path-pinned edit \u2192 Read + edit (Skip HomeGraph). Otherwise choose exactly one first tool: named where-used \u2192 `homegraph_usages`; named module deps/cycles \u2192 `homegraph_modules`; named NAPI/native exports \u2192 `homegraph_native`; every other in-repo explanation/edit \u2192 `homegraph_explore`. Pass the same `projectPath`. Do not call explore after a focused inventory already answered.\n\n**Skip:** path-pinned single-file edits, topic file-lists, concept compares, git history, media. No index \u2192 Read/Grep/Glob; user runs `homegraph init`.\n\n**Query habit:** Chinese OK; keep UI labels verbatim and add English Type/`@kit` tokens only when known. Preserve requested edits and scope. Empty/SDK-only/partial evidence permits one focused recovery, then targeted source inspection. Retrieval completion is not task completion: continue the requested edits and validation.\n";
12
12
  //# sourceMappingURL=server-instructions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-instructions.d.ts","sourceRoot":"","sources":["../../src/mcp/server-instructions.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,mBAAmB,k3HAoD/B,CAAC;AAEF,eAAO,MAAM,iCAAiC,qzBAW7C,CAAC"}
1
+ {"version":3,"file":"server-instructions.d.ts","sourceRoot":"","sources":["../../src/mcp/server-instructions.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,mBAAmB,mqNAmE/B,CAAC;AAEF,eAAO,MAAM,iCAAiC,8hCAS7C,CAAC"}
@@ -12,67 +12,80 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.SERVER_INSTRUCTIONS_NO_ROOT_INDEX = exports.SERVER_INSTRUCTIONS = void 0;
13
13
  exports.SERVER_INSTRUCTIONS = `# HomeGraph — structural locator for THIS repo
14
14
 
15
- Local symbol graph (defs / calls / imports / files). Use it to **coarse-locate** in-repo symbols (\`file:line\` + short source), then answer. Not general Q&A, not SDK docs.
15
+ Local symbol graph (defs / calls / imports / files). Use it to locate in-repo symbols (\`file:line\` + source), then continue the user's requested explanation, edits and validation. Retrieval completion is not task completion.
16
16
 
17
- ## Call first (do not Grep/Glob/Read first)
17
+ ## When to call (path-first): choose exactly ONE first tool
18
18
 
19
- Will you **explain or edit in-repo code**? → \`homegraph_explore\` **once** with the user task as \`query\` (Chinese OK; add English Type / \`Type.member\` / \`@kit\` / \`@ohos\` tokens when you know them).
19
+ - User task already names an in-repo relative path to one source file and requests a code change → Read that file and edit (Skip HomeGraph).
20
+ - Otherwise, use the narrow tool or explore below to locate the missing source evidence.
20
21
 
21
- Already know **one** exact symbol? Prefer smaller tools: \`homegraph_callers\` / \`homegraph_callees\` / \`homegraph_node\`. Spelling unknown → \`homegraph_search\` last.
22
+ Use the narrow tool when the task is exactly one of these inventories:
22
23
 
23
- For a narrow inventory, call \`homegraph_usages\` (where-used), \`homegraph_modules\` (named module deps/cycles), or \`homegraph_native\` (NAPI exports). Existing clients may keep calling \`homegraph_explore\`: high-confidence shapes route to the same bounded handlers.
24
+ - **Where is this named API/member/constant/field used?** → \`homegraph_usages\`
25
+ - **How do these named modules depend on each other / is there a cycle?** → \`homegraph_modules\`
26
+ - **Which NAPI/native exports or registration sites does this named path/Type expose?** → \`homegraph_native\`
27
+
28
+ Otherwise, if you will **explain or edit in-repo code**, call \`homegraph_explore\` **once** with the user task as \`query\` (Chinese OK; add English Type / \`Type.member\` / \`@kit\` / \`@ohos\` tokens when known). Do not call explore after a focused tool already answered the inventory. Older clients that call explore still get the same focused handler through conservative compatibility routing.
24
29
 
25
30
  Engineering overview / module→file map (including while the full index is still building) → \`homegraph_project\`.
26
31
 
27
- **Must explore-first:** how/mechanism wiring, named Type / \`.member\`, in-repo \`@kit\`/\`@ohos\` **usages**, deps/cycles, NAPI / \`.d.ts\` wrap sites, pre-edit orientation.
32
+ Already know **one** exact symbol body or call direction? Prefer \`homegraph_callers\` / \`homegraph_callees\` / \`homegraph_node\`. Spelling unknown → \`homegraph_search\` last.
33
+
34
+ **Prefer explore when locating (without a path-pinned single-file edit):** how/mechanism wiring, cross-Type/component behavior, \`.d.ts\` wrap flows, and general pre-edit orientation that is not one of the three narrow inventories above.
28
35
 
29
36
  ArkUI V1↔V2 / state-decorator migration on a named component → \`homegraph_arkui_migrate\` once (not explore stitching).
30
37
 
31
38
  ## How to write \`query\`
32
39
 
33
- - Put **concrete anchors** in the bag: \`FooManager\`, \`BarEvent\`, \`Type.member\`, \`feature/foo\`, \`@kit.X\`.
40
+ - Preserve the task's intent, relation direction and scope; do not stuff keywords or invent symbols. For edits, include the requested action, target product/module, exclusions and acceptance requirements in query or optional taskContext. Do not replace a deletion/refactoring request with a bare component name. When optional query planning is enabled, explore can plan bounded dependent lookups internally; scoped natural-language queries can be planned even when a lexical route matches, while exact symbol/path lookups stay cheap. No extra tool or explicit depth tier is required. Planned subquestion evidence is not a completeness claim for the whole task.
41
+ - Planned steps keep separate retrieval focuses. Located source candidates carry file/line identity, not proof that the intended business feature is correct; check them against the original task constraints before editing. A missing dependency is reported as unexecuted, not as evidence that the code does not exist.
42
+ - Before editing, verify that the evidence belongs to the requested product/module and that referenced symbols actually exist. A project map is only navigation, not proof that a feature has been located. If source evidence is ambiguous or belongs to another product, use a bounded follow-up instead of editing that hit. Read-duplication guidance never forbids checks needed to avoid an incorrect edit.
43
+ - Put **concrete anchors** in the bag: \`FooManager\`, \`BarEvent\`, \`Type.member\`, \`feature/foo\`, \`path/to/File.ets\`, \`@kit.X\`.
34
44
  - Map Chinese entities to English symbol stems when you can (\`设置\`→\`Setting\`, \`新建\`→\`New\`) — search/explore cluster \`Entity\` / \`EntityManager\` / \`EntityViewModel\`.
35
45
  - Keep **intent words** with the Type (\`来源\` / \`分发\` / \`依赖\` / \`NAPI\` / \`驱动\`) — bare Type alone may drop survey routing.
36
46
  - Multi-app monorepo: pass \`projectPath\` to the app root; ignore sibling-app paths as noise.
37
47
 
38
48
  ## After one explore
39
49
 
40
- - Returned line-numbered source = **already Read** for those symbols — do not re-Grep/Read/node the **same** symbols.
41
- - **Coarse locate / ANSWER NOW** → answer/edit from anchors; do not verify with a Grep storm.
42
- - **Partial locator** → **ONE** tighter follow-up with the named **Next anchor** only — never a paraphrase or a different Type (server refuses). After Partial: **no** \`homegraph_callers\`/\`callees\`; at most **one** \`homegraph_node\`. A **second** Partial → stop HomeGraph; ONE narrow Grep then answer — never a repo-wide glob/Read storm.
43
- - Busy/deadline → retry **once** tighter; then answer from anchors (narrow Grep OK for residuals).
50
+ - Digests concern named / hit files; unrelated neighboring pages are not required reading.
51
+
52
+ - Reuse returned line-numbered source for the ranges actually shown. An outline, anchor, candidate list, truncated body or SDK declaration is not a substitute for missing business code.
53
+ - Check source relevance and every requested change before editing. A retrieval status or completion banner never authorizes ending a coding task or skipping implementation and validation.
54
+ - Empty, SDK-only or partial evidence → **one** bounded recovery aimed at the missing evidence. The suggested **Next anchor** is advisory; a newly scoped obligation may need another file or Type. One focused \`homegraph_node\`, \`homegraph_callers\` or \`homegraph_callees\` can recover a missing body or relation.
55
+ - If evidence is still missing after the retrieval budget, inspect it with targeted Read/Grep and continue the requested work. Do not infer that the feature is absent or that the task is complete.
56
+ - Busy/deadline → retry **once** tighter; then inspect the missing source directly.
44
57
 
45
- Prefer smallest tool when the name is known: callers/callees/node ≪ explore ≪ search. Prefer **one** Type-wide inventory explore over fanning \`homegraph_callers\` per method. Session fuse: **≤2** \`homegraph_explore\` per project; after Partial follow-ups must name the **Next anchor**; **≤1** \`homegraph_node\` after Partial — further calls are refused.
58
+ Prefer the smallest tool when the name is known and reuse unchanged evidence. Session budget: **≤2** \`homegraph_explore\` attempts per project, including empty responses; **≤1** focused depth recovery after incomplete evidence. Identical requests with usable evidence may be deduplicated; lexical overlap alone does not prove a new obligation was answered.
46
59
 
47
60
  ## Do not call HomeGraph
48
61
 
49
62
  Runtime Skip is a short blacklist (everything else is served if you call):
50
63
 
64
+ - Single-file path pinned in a code-change task → Read + edit (Skip HomeGraph)
65
+
51
66
  - Topic → file list with no Type/file basename
52
- - Literal / layout copy hunts with no Type/file/\`@kit\`/\`@ohos\`
67
+ - Pure layout-copy or media hunts with no code behavior to locate
53
68
  - Pure existence / concept-compare with no graph anchors
54
69
  - Official website/docs only · scaffold empty project · git/blame/diff · media/binary inventories
55
70
 
56
- \`@kit\` / OHOS **API usage in this repo** → explore (not Skip). Feature **catalogs** of an SDK → SDK docs, not HomeGraph.
71
+ \`@kit\` / OHOS **API usage in this repo** is not Skip: exact where-used → \`homegraph_usages\`; mechanism/API-symbol flow → \`homegraph_explore\`. Feature **catalogs** of an SDK → SDK docs, not HomeGraph.
57
72
 
58
- If a tool returns **Skip HomeGraph**, stop — do not retry \`homegraph_*\`.
73
+ For UI behavior, preserve the verbatim label in the query: resource strings may lead to their source references, event handler and route. If a tool reports unsupported scope or an exhausted budget, use targeted built-ins for the missing evidence and continue the user's task.
59
74
 
60
75
  ## Tips
61
76
 
62
77
  - Empty callers/callees = **edges not indexed**, not “missing symbol” — use the definition anchor; narrow Grep for registration if needed.
63
- - **Staleness banner** — Read only listed edited files.
78
+ - **Staleness banner** — refresh the listed changed source before relying on it.
64
79
  - **Not indexed** — use built-ins; user runs \`homegraph init\` (you do not).
65
80
  `;
66
81
  exports.SERVER_INSTRUCTIONS_NO_ROOT_INDEX = `# HomeGraph — per-project (pass projectPath)
67
82
 
68
83
  Pass \`projectPath\` to a folder that has \`.homegraph/\`.
69
84
 
70
- **Call first:** explain/edit in-repo code → \`homegraph_explore\` with task keywords (no Grep-first). Named Type / \`Type.member\` / usages / deps / NAPI / \`@kit\` → explore.
71
-
72
- Narrow inventories may call \`homegraph_usages\`, \`homegraph_modules\`, or \`homegraph_native\` directly; pass the same \`projectPath\`.
85
+ **When to call (path-first):** a single-file path-pinned edit → Read + edit (Skip HomeGraph). Otherwise choose exactly one first tool: named where-used → \`homegraph_usages\`; named module deps/cycles → \`homegraph_modules\`; named NAPI/native exports → \`homegraph_native\`; every other in-repo explanation/edit → \`homegraph_explore\`. Pass the same \`projectPath\`. Do not call explore after a focused inventory already answered.
73
86
 
74
- **Skip:** topic file-lists, concept compares, literal hunts, git history, media. No index → Read/Grep/Glob; user runs \`homegraph init\`.
87
+ **Skip:** path-pinned single-file edits, topic file-lists, concept compares, git history, media. No index → Read/Grep/Glob; user runs \`homegraph init\`.
75
88
 
76
- **Query habit:** Chinese OK; add English Type/\`@kit\` tokens when known. Explore = coarse locate. Partial → one tighter follow-up with a concrete name from the list. ONE narrow Grep OK for residual unindexed wiring — not a Grep storm.
89
+ **Query habit:** Chinese OK; keep UI labels verbatim and add English Type/\`@kit\` tokens only when known. Preserve requested edits and scope. Empty/SDK-only/partial evidence permits one focused recovery, then targeted source inspection. Retrieval completion is not task completion: continue the requested edits and validation.
77
90
  `;
78
91
  //# sourceMappingURL=server-instructions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-instructions.js","sourceRoot":"","sources":["../../src/mcp/server-instructions.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEU,QAAA,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDlC,CAAC;AAEW,QAAA,iCAAiC,GAAG;;;;;;;;;;;CAWhD,CAAC"}
1
+ {"version":3,"file":"server-instructions.js","sourceRoot":"","sources":["../../src/mcp/server-instructions.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEU,QAAA,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmElC,CAAC;AAEW,QAAA,iCAAiC,GAAG;;;;;;;;;CAShD,CAAC"}
@@ -202,6 +202,8 @@ export interface ToolResult {
202
202
  text: string;
203
203
  }>;
204
204
  isError?: boolean;
205
+ /** Compact diagnostics for hosts/evaluators; never credentials or source dumps. */
206
+ _meta?: Record<string, unknown>;
205
207
  /**
206
208
  * Internal: what an explore call emitted (CG-17). {@link ToolHandler.execute}
207
209
  * records it into the calling session's state and deletes it before the result
@@ -422,6 +424,8 @@ export declare class ToolHandler {
422
424
  * once the session's one allowed depth drill is spent.
423
425
  */
424
426
  private tryDepthToolFuse;
427
+ /** A repeated query is duplicate evidence only while its source is unchanged. */
428
+ private shouldRefuseRepeatedEvidence;
425
429
  /** Count a successful depth-tool call when the latest explore was Partial. */
426
430
  private noteDepthToolUse;
427
431
  /**
@@ -612,14 +616,24 @@ export declare class ToolHandler {
612
616
  * Avoids fat multi-body compact that hits the soft deadline (D60).
613
617
  */
614
618
  private buildMultiTypeDependencySection;
615
- /**
616
- * Main-thread fast path for inventory surveys — skips the worker queue.
617
- */
619
+ /** Exact validation for model-proposed names: a fuzzy hit is not proof. */
620
+ private isExactPlanAnchor;
621
+ /** Bind only declarations returned by this step, not input or global fuzzy hits. */
622
+ private locatedPlanBindings;
623
+ private withQueryPlanDiagnostics;
624
+ /** Select once; legacy section builders consume the same canonical query/features. */
625
+ private tryPlannedFastPath;
626
+ /** Internal execution only: no recursive MCP calls, model requests or new deadline. */
627
+ private executePlannedStep;
628
+ private executeQueryPlan;
629
+ /** Main-thread fast path for inventory surveys — skips the worker queue. */
618
630
  private tryFastPathResult;
619
631
  /** Conservative compatibility router: ambiguous mechanism queries stay broad. */
620
632
  private specializedExploreRouteForQuery;
621
633
  /** Run exactly one bounded survey family and expose the selected route. */
622
634
  private runSpecializedExploreRoute;
635
+ /** Directed file import witnesses for an explicit module-import relation. */
636
+ private renderModuleImports;
623
637
  /** Usage sites for a bare symbol bag, including non-call textual references. */
624
638
  private buildBareSymbolUsageSection;
625
639
  private trySpecializedExploreRoute;
@@ -740,6 +754,8 @@ export declare class ToolHandler {
740
754
  * tax on small projects while earning its keep on large ones.
741
755
  */
742
756
  private handleExplore;
757
+ /** Render literal witnesses before graph-heavy sections, including unindexed UI. */
758
+ private renderLiteralSource;
743
759
  /**
744
760
  * An explore response plus the record of what it emitted (CG-17). The record
745
761
  * rides the result only as far as {@link execute}, which files it into the