homegraph 1.5.5 → 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 (83) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/README.md +10 -4
  3. package/dist/bin/homegraph.js +6 -0
  4. package/dist/bin/homegraph.js.map +1 -1
  5. package/dist/context/index.d.ts.map +1 -1
  6. package/dist/context/index.js +120 -15
  7. package/dist/context/index.js.map +1 -1
  8. package/dist/db/migrations.d.ts +1 -1
  9. package/dist/db/migrations.d.ts.map +1 -1
  10. package/dist/db/migrations.js +37 -1
  11. package/dist/db/migrations.js.map +1 -1
  12. package/dist/db/queries.d.ts +25 -0
  13. package/dist/db/queries.d.ts.map +1 -1
  14. package/dist/db/queries.js +50 -2
  15. package/dist/db/queries.js.map +1 -1
  16. package/dist/db/schema.sql +24 -0
  17. package/dist/extraction/languages/arkts.d.ts +40 -3
  18. package/dist/extraction/languages/arkts.d.ts.map +1 -1
  19. package/dist/extraction/languages/arkts.js +302 -22
  20. package/dist/extraction/languages/arkts.js.map +1 -1
  21. package/dist/index.d.ts +31 -0
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +87 -1
  24. package/dist/index.js.map +1 -1
  25. package/dist/mcp/engine.d.ts +26 -0
  26. package/dist/mcp/engine.d.ts.map +1 -1
  27. package/dist/mcp/engine.js +229 -8
  28. package/dist/mcp/engine.js.map +1 -1
  29. package/dist/mcp/evidence-rendering.d.ts +10 -0
  30. package/dist/mcp/evidence-rendering.d.ts.map +1 -0
  31. package/dist/mcp/evidence-rendering.js +71 -0
  32. package/dist/mcp/evidence-rendering.js.map +1 -0
  33. package/dist/mcp/explore-repeat-guard.d.ts +8 -13
  34. package/dist/mcp/explore-repeat-guard.d.ts.map +1 -1
  35. package/dist/mcp/explore-repeat-guard.js +54 -114
  36. package/dist/mcp/explore-repeat-guard.js.map +1 -1
  37. package/dist/mcp/explore-session-state.d.ts +26 -4
  38. package/dist/mcp/explore-session-state.d.ts.map +1 -1
  39. package/dist/mcp/explore-session-state.js +50 -4
  40. package/dist/mcp/explore-session-state.js.map +1 -1
  41. package/dist/mcp/index.d.ts.map +1 -1
  42. package/dist/mcp/index.js +16 -1
  43. package/dist/mcp/index.js.map +1 -1
  44. package/dist/mcp/query-cache.d.ts +1 -1
  45. package/dist/mcp/query-cache.d.ts.map +1 -1
  46. package/dist/mcp/query-cache.js +86 -3
  47. package/dist/mcp/query-cache.js.map +1 -1
  48. package/dist/mcp/query-pool.js +4 -4
  49. package/dist/mcp/server-instructions.d.ts +2 -2
  50. package/dist/mcp/server-instructions.d.ts.map +1 -1
  51. package/dist/mcp/server-instructions.js +36 -21
  52. package/dist/mcp/server-instructions.js.map +1 -1
  53. package/dist/mcp/tools.d.ts +29 -3
  54. package/dist/mcp/tools.d.ts.map +1 -1
  55. package/dist/mcp/tools.js +827 -109
  56. package/dist/mcp/tools.js.map +1 -1
  57. package/dist/project-map/index.d.ts +33 -0
  58. package/dist/project-map/index.d.ts.map +1 -0
  59. package/dist/project-map/index.js +260 -0
  60. package/dist/project-map/index.js.map +1 -0
  61. package/dist/search/literal-evidence.d.ts +44 -0
  62. package/dist/search/literal-evidence.d.ts.map +1 -0
  63. package/dist/search/literal-evidence.js +278 -0
  64. package/dist/search/literal-evidence.js.map +1 -0
  65. package/dist/search/query-plan-provider.d.ts +6 -0
  66. package/dist/search/query-plan-provider.d.ts.map +1 -0
  67. package/dist/search/query-plan-provider.js +289 -0
  68. package/dist/search/query-plan-provider.js.map +1 -0
  69. package/dist/search/query-plan.d.ts +98 -0
  70. package/dist/search/query-plan.d.ts.map +1 -0
  71. package/dist/search/query-plan.js +334 -0
  72. package/dist/search/query-plan.js.map +1 -0
  73. package/dist/search/query-utils.d.ts +6 -1
  74. package/dist/search/query-utils.d.ts.map +1 -1
  75. package/dist/search/query-utils.js +64 -5
  76. package/dist/search/query-utils.js.map +1 -1
  77. package/dist/sync/watcher.d.ts +15 -3
  78. package/dist/sync/watcher.d.ts.map +1 -1
  79. package/dist/sync/watcher.js +14 -1
  80. package/dist/sync/watcher.js.map +1 -1
  81. package/dist/types.d.ts +23 -0
  82. package/dist/types.d.ts.map +1 -1
  83. package/package.json +1 -1
@@ -45,8 +45,11 @@ var __importStar = (this && this.__importStar) || (function () {
45
45
  })();
46
46
  Object.defineProperty(exports, "__esModule", { value: true });
47
47
  exports.MCPEngine = void 0;
48
+ exports.parseFixedWindowEnv = parseFixedWindowEnv;
48
49
  exports.parseDebounceEnv = parseDebounceEnv;
49
50
  const os = __importStar(require("os"));
51
+ const path = __importStar(require("path"));
52
+ const child_process_1 = require("child_process");
50
53
  const directory_1 = require("../directory");
51
54
  const sync_1 = require("../sync");
52
55
  const tools_1 = require("./tools");
@@ -54,6 +57,7 @@ const query_pool_1 = require("./query-pool");
54
57
  const memory_budget_1 = require("./memory-budget");
55
58
  const db_1 = require("../db");
56
59
  const graph_sources_1 = require("../graph-sources");
60
+ const utils_1 = require("../utils");
57
61
  // Lazy-load the heavy HomeGraph chain (sqlite + query/graph/context layers) OFF
58
62
  // the MCP startup path. It's only needed once a tool actually opens a project —
59
63
  // not to answer initialize/tools-list — so deferring it lets `serve mcp` (and
@@ -228,7 +232,15 @@ class MCPEngine {
228
232
  }
229
233
  async doInitialize(searchFrom) {
230
234
  this.toolHandler.setDefaultProjectHint(searchFrom);
231
- const resolvedRoot = (0, directory_1.findNearestHomeGraphRoot)(searchFrom);
235
+ let resolvedRoot = (0, directory_1.findNearestHomeGraphRoot)(searchFrom);
236
+ if (!resolvedRoot && autoInitEnabled()) {
237
+ const created = await this.tryAutoInit(searchFrom);
238
+ if (created)
239
+ return; // cg + watch + background index already running
240
+ // fall through — still no index; tools return NotIndexed guidance
241
+ this.projectPath = searchFrom;
242
+ return;
243
+ }
232
244
  if (!resolvedRoot) {
233
245
  // No .homegraph/ above searchFrom. Sessions may still discover one later via roots/list
234
246
  this.projectPath = searchFrom;
@@ -243,6 +255,7 @@ class MCPEngine {
243
255
  }
244
256
  this.cg = await loadHomeGraph().open(resolvedRoot, { sources: mode });
245
257
  this.toolHandler.setDefaultHomeGraph(this.cg);
258
+ this.healBuildPhase(this.cg);
246
259
  this.startWatching();
247
260
  this.catchUpSync();
248
261
  this.maybeStartPool(resolvedRoot);
@@ -252,6 +265,190 @@ class MCPEngine {
252
265
  process.stderr.write(`[HomeGraph MCP] Failed to open project at ${resolvedRoot}: ${msg}\n`);
253
266
  }
254
267
  }
268
+ /**
269
+ * Product hosts (e.g. DevEco Code) pass `--auto-init` / HOMEGRAPH_AUTO_INIT=1 so
270
+ * opening an unindexed workspace creates `.homegraph/`, builds a fast project
271
+ * map (modules + files), then starts a background full index + watcher —
272
+ * no separate `homegraph init` step for the user.
273
+ *
274
+ * @returns true if the engine is fully wired to a new (or racing) index
275
+ */
276
+ async tryAutoInit(searchFrom) {
277
+ const root = path.resolve(searchFrom);
278
+ const invalid = (0, utils_1.validateProjectPath)(root);
279
+ if (invalid) {
280
+ process.stderr.write(`[HomeGraph MCP] Auto-init skipped — ${invalid}\n`);
281
+ return false;
282
+ }
283
+ if ((0, directory_1.isInitialized)(root)) {
284
+ // Race: another process finished init between our findNearest and here.
285
+ return false;
286
+ }
287
+ try {
288
+ process.stderr.write(`[HomeGraph MCP] Auto-init at ${root}\n`);
289
+ const HomeGraph = loadHomeGraph();
290
+ // Create DB immediately so tools/open succeed; index in background.
291
+ const cg = await HomeGraph.init(root, { index: false });
292
+ this.cg = cg;
293
+ this.projectPath = root;
294
+ this.toolHandler.setDefaultHomeGraph(cg);
295
+ this.startWatching();
296
+ this.maybeStartPool(root);
297
+ // Fast map in-process (seconds, MCP stays up). Full index in a *detached*
298
+ // child — in-process indexAll wedges the MCP event loop on large repos,
299
+ // so DevEco marks the server "Connection closed" and agents fall back.
300
+ void (async () => {
301
+ try {
302
+ cg.setBuildPhase('building_fast');
303
+ const map = cg.buildProjectMap();
304
+ cg.setBuildPhase('fast');
305
+ process.stderr.write(`[HomeGraph MCP] Fast project map ready — modules=${map.modules.length} files=${map.files.length} (${map.durationMs}ms)\n`);
306
+ }
307
+ catch (err) {
308
+ const msg = err instanceof Error ? err.message : String(err);
309
+ process.stderr.write(`[HomeGraph MCP] Fast project map failed: ${msg}\n`);
310
+ }
311
+ this.startDetachedFullIndex(cg, root);
312
+ })();
313
+ return true;
314
+ }
315
+ catch (err) {
316
+ // Concurrent init from another process — treat as success path via open.
317
+ if ((0, directory_1.isInitialized)(root)) {
318
+ process.stderr.write(`[HomeGraph MCP] Auto-init raced; opening existing index at ${root}\n`);
319
+ try {
320
+ const mode = (0, graph_sources_1.resolveGraphSources)();
321
+ if (!(0, graph_sources_1.graphSourceFlags)(mode).openProjectDb)
322
+ return false;
323
+ this.cg = await loadHomeGraph().open(root, { sources: mode });
324
+ this.projectPath = root;
325
+ this.toolHandler.setDefaultHomeGraph(this.cg);
326
+ this.healBuildPhase(this.cg);
327
+ this.startWatching();
328
+ this.catchUpSync();
329
+ this.maybeStartPool(root);
330
+ return true;
331
+ }
332
+ catch (openErr) {
333
+ const msg = openErr instanceof Error ? openErr.message : String(openErr);
334
+ process.stderr.write(`[HomeGraph MCP] Auto-init open-after-race failed: ${msg}\n`);
335
+ return false;
336
+ }
337
+ }
338
+ const msg = err instanceof Error ? err.message : String(err);
339
+ process.stderr.write(`[HomeGraph MCP] Auto-init failed: ${msg}\n`);
340
+ return false;
341
+ }
342
+ }
343
+ /**
344
+ * If a previous auto-init child finished indexing but never flipped
345
+ * build_phase (MCP died mid-flight), heal so deep tools unlock.
346
+ */
347
+ healBuildPhase(cg) {
348
+ try {
349
+ const phase = cg.getBuildPhase();
350
+ if (phase === 'full')
351
+ return;
352
+ const state = cg.getQueryBuilder().getMetadata('index_state');
353
+ if (state === 'complete' || state === 'partial') {
354
+ cg.setBuildPhase('full');
355
+ process.stderr.write(`[HomeGraph MCP] Healed build_phase → full (index_state=${state})\n`);
356
+ return;
357
+ }
358
+ // Index finished enough to have symbols but metadata stuck on indexing.
359
+ if ((phase === 'indexing' || phase === 'fast') && cg.getStats().nodeCount > 0 && state !== 'indexing') {
360
+ cg.setBuildPhase('full');
361
+ process.stderr.write(`[HomeGraph MCP] Healed build_phase → full (nodes present, index_state=${state ?? 'null'})\n`);
362
+ }
363
+ }
364
+ catch {
365
+ /* advisory */
366
+ }
367
+ }
368
+ /**
369
+ * Run `homegraph index` in a detached sibling process so the MCP stdio
370
+ * server stays responsive (fast map + homegraph_project keep working).
371
+ */
372
+ startDetachedFullIndex(cg, root) {
373
+ cg.setBuildPhase('indexing');
374
+ const scriptPath = process.argv[1];
375
+ if (!scriptPath) {
376
+ process.stderr.write('[HomeGraph MCP] No script path — falling back to in-process indexAll\n');
377
+ this.startInProcessFullIndex(cg);
378
+ return;
379
+ }
380
+ const args = [...process.execArgv, scriptPath, 'index', root];
381
+ const env = { ...process.env };
382
+ delete env.HOMEGRAPH_AUTO_INIT;
383
+ process.stderr.write(`[HomeGraph MCP] Spawning background full index (detached) for ${root}\n`);
384
+ try {
385
+ const child = (0, child_process_1.spawn)(process.execPath, args, {
386
+ detached: true,
387
+ stdio: 'ignore',
388
+ windowsHide: true,
389
+ env,
390
+ });
391
+ child.on('error', (err) => {
392
+ process.stderr.write(`[HomeGraph MCP] Detached index spawn error: ${err.message}; falling back in-process\n`);
393
+ this.startInProcessFullIndex(cg);
394
+ });
395
+ child.unref();
396
+ this.watchIndexCompletion(cg);
397
+ }
398
+ catch (err) {
399
+ const msg = err instanceof Error ? err.message : String(err);
400
+ process.stderr.write(`[HomeGraph MCP] Detached index spawn failed (${msg}); falling back in-process\n`);
401
+ this.startInProcessFullIndex(cg);
402
+ }
403
+ }
404
+ startInProcessFullIndex(cg) {
405
+ cg.setBuildPhase('indexing');
406
+ void cg
407
+ .indexAll()
408
+ .then((result) => {
409
+ cg.setBuildPhase('full');
410
+ const files = result && typeof result === 'object' && 'filesIndexed' in result
411
+ ? String(result.filesIndexed)
412
+ : '?';
413
+ process.stderr.write(`[HomeGraph MCP] Auto-init index complete — files=${files}\n`);
414
+ })
415
+ .catch((err) => {
416
+ const msg = err instanceof Error ? err.message : String(err);
417
+ process.stderr.write(`[HomeGraph MCP] Auto-init index failed: ${msg}\n`);
418
+ try {
419
+ cg.setBuildPhase('fast');
420
+ }
421
+ catch {
422
+ /* ignore */
423
+ }
424
+ });
425
+ }
426
+ watchIndexCompletion(cg) {
427
+ const started = Date.now();
428
+ const maxMs = 3 * 60 * 60 * 1000;
429
+ const timer = setInterval(() => {
430
+ try {
431
+ const state = cg.getQueryBuilder().getMetadata('index_state');
432
+ if (state === 'complete' || state === 'partial') {
433
+ cg.setBuildPhase('full');
434
+ clearInterval(timer);
435
+ process.stderr.write(`[HomeGraph MCP] Auto-init index complete — index_state=${state}\n`);
436
+ return;
437
+ }
438
+ if (state === 'failed') {
439
+ cg.setBuildPhase('fast');
440
+ clearInterval(timer);
441
+ process.stderr.write('[HomeGraph MCP] Auto-init index failed — index_state=failed\n');
442
+ return;
443
+ }
444
+ }
445
+ catch {
446
+ /* lock / transient */
447
+ }
448
+ if (Date.now() - started > maxMs)
449
+ clearInterval(timer);
450
+ }, 2000);
451
+ }
255
452
  /**
256
453
  * Start file watching on the active HomeGraph instance. Idempotent — the
257
454
  * watcher is per-engine, not per-session, which is why the daemon path
@@ -269,17 +466,22 @@ class MCPEngine {
269
466
  this.watcherStarted = true;
270
467
  return;
271
468
  }
272
- // Optional override for the debounce window via env var (issue #403).
273
- // Useful for workspaces with bursty writes (formatter-on-save chains,
274
- // large generated outputs) where the 2s default fires too often. Clamped
275
- // to [100ms, 60s]; out-of-range / non-numeric values fall back to the
276
- // FileWatcher default. We log the active value so it's discoverable.
277
- const debounceMs = parseDebounceEnv(process.env.HOMEGRAPH_WATCH_DEBOUNCE_MS);
278
- if (debounceMs !== undefined) {
469
+ // Optional overrides:
470
+ // - HOMEGRAPH_WATCH_FIXED_WINDOW_MS: first-change fixed window (e.g. 300000 = 5min),
471
+ // later edits in the window do not extend the timer (product hosts / DevEco).
472
+ // - HOMEGRAPH_WATCH_DEBOUNCE_MS: classic trailing quiet window ([100ms, 60s]).
473
+ const fixedWindowMs = parseFixedWindowEnv(process.env.HOMEGRAPH_WATCH_FIXED_WINDOW_MS);
474
+ const debounceMs = fixedWindowMs ?? parseDebounceEnv(process.env.HOMEGRAPH_WATCH_DEBOUNCE_MS);
475
+ if (fixedWindowMs !== undefined) {
476
+ process.stderr.write(`[HomeGraph MCP] File watcher fixed window: ${fixedWindowMs}ms ` +
477
+ `(HOMEGRAPH_WATCH_FIXED_WINDOW_MS; first change starts timer, later changes do not extend)\n`);
478
+ }
479
+ else if (debounceMs !== undefined) {
279
480
  process.stderr.write(`[HomeGraph MCP] File watcher debounce: ${debounceMs}ms (HOMEGRAPH_WATCH_DEBOUNCE_MS)\n`);
280
481
  }
281
482
  const started = this.cg.watch({
282
483
  debounceMs,
484
+ fixedWindow: fixedWindowMs !== undefined,
283
485
  onSyncComplete: (result) => {
284
486
  if (result.filesChanged > 0) {
285
487
  process.stderr.write(`[HomeGraph MCP] Auto-synced ${result.filesChanged} file(s) in ${result.durationMs}ms\n`);
@@ -347,6 +549,25 @@ class MCPEngine {
347
549
  }
348
550
  }
349
551
  exports.MCPEngine = MCPEngine;
552
+ /** DevEco / product hosts opt in via `--auto-init` or HOMEGRAPH_AUTO_INIT=1. */
553
+ function autoInitEnabled() {
554
+ const v = (process.env.HOMEGRAPH_AUTO_INIT ?? '').trim().toLowerCase();
555
+ return v === '1' || v === 'true' || v === 'yes';
556
+ }
557
+ /**
558
+ * Parse HOMEGRAPH_WATCH_FIXED_WINDOW_MS — first-change fixed coalesce window.
559
+ * Range: 1s … 30min. Used by product hosts (e.g. DevEco Code = 5 minutes).
560
+ */
561
+ function parseFixedWindowEnv(raw) {
562
+ if (!raw || !raw.trim())
563
+ return undefined;
564
+ const n = Number(raw);
565
+ if (!Number.isFinite(n) || !Number.isInteger(n))
566
+ return undefined;
567
+ if (n < 1000 || n > 30 * 60 * 1000)
568
+ return undefined;
569
+ return n;
570
+ }
350
571
  /**
351
572
  * Parse and clamp the HOMEGRAPH_WATCH_DEBOUNCE_MS env override.
352
573
  *
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/mcp/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/mcp/engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { Node } from '../types';
2
+ /** Multiple parser roles for one source declaration are not overloads. */
3
+ export declare function canonicalSourceDeclarations(nodes: Node[]): Node[];
4
+ /** Guidance describes retrieval; it must never close the host's coding task.
5
+ * Source fences are byte-preserved, including strings that resemble guidance.
6
+ */
7
+ export declare function neutralRetrievalGuidance(text: string): string;
8
+ /** Preserve complete lines at a shared output limit; never forge a full body. */
9
+ export declare function trimEvidenceAtLine(text: string, limit: number): string;
10
+ //# sourceMappingURL=evidence-rendering.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidence-rendering.d.ts","sourceRoot":"","sources":["../../src/mcp/evidence-rendering.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAErC,0EAA0E;AAC1E,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,CAcjE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAsB7D;AAED,iFAAiF;AACjF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAQtE"}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.canonicalSourceDeclarations = canonicalSourceDeclarations;
4
+ exports.neutralRetrievalGuidance = neutralRetrievalGuidance;
5
+ exports.trimEvidenceAtLine = trimEvidenceAtLine;
6
+ /** Multiple parser roles for one source declaration are not overloads. */
7
+ function canonicalSourceDeclarations(nodes) {
8
+ const out = [];
9
+ const roles = new Map();
10
+ const ids = new Set();
11
+ for (const node of nodes) {
12
+ if (ids.has(node.id))
13
+ continue;
14
+ ids.add(node.id);
15
+ if (node.kind !== 'struct' && node.kind !== 'component') {
16
+ out.push(node);
17
+ continue;
18
+ }
19
+ const key = `${node.filePath}:${node.startLine}:${node.name}`;
20
+ const prior = roles.get(key);
21
+ if (prior === undefined) {
22
+ roles.set(key, out.length);
23
+ out.push(node);
24
+ }
25
+ else if (node.kind === 'component')
26
+ out[prior] = node;
27
+ }
28
+ return out;
29
+ }
30
+ /** Guidance describes retrieval; it must never close the host's coding task.
31
+ * Source fences are byte-preserved, including strings that resemble guidance.
32
+ */
33
+ function neutralRetrievalGuidance(text) {
34
+ let fence = '';
35
+ return text.split('\n').map((line) => {
36
+ const marker = line.match(/^\s*(`{3,}|~{3,})/);
37
+ if (marker) {
38
+ if (!fence)
39
+ fence = marker[1][0];
40
+ else if (marker[1][0] === fence)
41
+ fence = '';
42
+ return line;
43
+ }
44
+ if (fence)
45
+ return line;
46
+ if (/^>\s*\*\*Explore complete/i.test(line)) {
47
+ return '> Retrieval returned the evidence shown above. Check missing requirements, continue the requested edits, and verify the resulting code.';
48
+ }
49
+ if (/^>/.test(line) && /treat as already Read|treat it as already Read/i.test(line)) {
50
+ return '> The displayed source ranges are available as evidence. Inspect omitted ranges or changed files when needed; avoid repeating unchanged ranges.';
51
+ }
52
+ return line
53
+ .replace(/\*{0,2}ANSWER NOW\*{0,2}/g, 'use the evidence shown')
54
+ .replace(/Flow \+ Source above are authoritative for this query\./g, 'Source coverage is limited to the displayed ranges.')
55
+ .replace(/Do \*\*not\*\* grep\/read\/`homegraph_node`\/`homegraph_search`[^.]*\./gi, 'Inspect missing evidence as needed.')
56
+ .replace(/do\s+\*{0,2}not\*{0,2}\s+(?:re-)?(?:grep|read|glob)(?:\/[^.;]+)?[^.;]*[.;]/gi, 'Avoid duplicate reads of unchanged ranges;');
57
+ }).join('\n');
58
+ }
59
+ /** Preserve complete lines at a shared output limit; never forge a full body. */
60
+ function trimEvidenceAtLine(text, limit) {
61
+ if (text.length <= limit)
62
+ return text;
63
+ const note = '\n[Partial source: shared output budget reached; omitted ranges remain available for a focused lookup.]';
64
+ const cut = text.slice(0, Math.max(0, limit - note.length - 5));
65
+ const boundary = cut.lastIndexOf('\n');
66
+ let kept = boundary >= 0 ? cut.slice(0, boundary) : '';
67
+ if ((kept.match(/^\s*```/gm)?.length ?? 0) % 2)
68
+ kept += '\n```';
69
+ return kept + note;
70
+ }
71
+ //# sourceMappingURL=evidence-rendering.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidence-rendering.js","sourceRoot":"","sources":["../../src/mcp/evidence-rendering.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,9 @@
1
1
  /**
2
2
  * Session-level explore repeat / partial guidance (generic).
3
3
  *
4
- * Stops agents from treating `homegraph_explore` as an iterative keyword
5
- * searcher: overlapping queries after a successful explore get a short refuse
6
- * instead of another multi-kB payload. Partial/busy replies carry concrete
7
- * retry anchors extracted from the query — never an empty 242-char shell.
8
- *
9
- * Failure fuse (post A/B): hard-cap explores per session, require tight
10
- * single-Type follow-ups after 2 calls, and bind Partial → named Next anchor.
4
+ * Repeated evidence is deduplicated; lexical overlap alone cannot prove that a
5
+ * follow-up's evidence obligation is already covered. Incomplete retrieval gets
6
+ * one bounded recovery, including when the first response was short or SDK-only.
11
7
  *
12
8
  * Shape-driven only — no product nouns.
13
9
  */
@@ -65,10 +61,10 @@ export declare function latestCountedExplore(prior: ExploreProjectState | null |
65
61
  * Whether `homegraph_node` / callers / callees should short-refuse after a
66
62
  * Partial explore (same failure class as explore×N — depth fan-out).
67
63
  *
68
- * After Partial: callers/callees are refused immediately (wrong tool + often a
69
- * multi-def token bomb). `homegraph_node` gets one shot, then refuse.
64
+ * Any one focused depth tool may recover missing evidence. The shared budget
65
+ * prevents fan-out without declaring callers/callees intrinsically invalid.
70
66
  */
71
- export declare function decideDepthToolFuse(prior: ExploreProjectState | null | undefined, depthCallCount: number, toolName?: string): DepthToolFuseDecision;
67
+ export declare function decideDepthToolFuse(prior: ExploreProjectState | null | undefined, depthCallCount: number, _toolName?: string): DepthToolFuseDecision;
72
68
  /** Success-shaped refuse when Partial already spent its one depth drill. */
73
69
  export declare function formatDepthToolRefuse(decision: DepthToolFuseDecision, toolName: string, symbolHint?: string): string;
74
70
  /** Candidate Type for Partial **Next anchor** / digest preference. */
@@ -92,12 +88,11 @@ export declare function pickBestDomainRoleAnchor(candidates: ReadonlyArray<Domai
92
88
  /** Format Next anchor caption used in Partial / soft-close footers. */
93
89
  export declare function formatNextAnchorCaption(c: DomainRoleAnchorCandidate): string;
94
90
  /**
95
- * Soft-close opening banner (must match footer — never pair with Partial locator).
91
+ * Coarse retrieval banner: source reuse is separate from task completion.
96
92
  */
97
93
  export declare function formatMechanismSoftCloseHeader(): string;
98
94
  /**
99
- * Soft-close footer: enough inventory + digest to answer without another explore.
100
- * Must NOT contain "Partial locator" so the session fuse treats the call as closed.
95
+ * Coarse retrieval footer; never claims that an inventory completes the task.
101
96
  */
102
97
  export declare function formatMechanismSoftCloseFooter(next?: DomainRoleAnchorCandidate): string;
103
98
  /** Honest Partial footer with a single Next anchor + ONE Grep. */
@@ -1 +1 @@
1
- {"version":3,"file":"explore-repeat-guard.d.ts","sourceRoot":"","sources":["../../src/mcp/explore-repeat-guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"explore-repeat-guard.d.ts","sourceRoot":"","sources":["../../src/mcp/explore-repeat-guard.ts"],"names":[],"mappings":"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"}