homegraph 1.2.0 → 1.4.1
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.
- package/dist/bin/homegraph.js +3 -0
- package/dist/bin/homegraph.js.map +1 -1
- package/dist/context/index.d.ts.map +1 -1
- package/dist/context/index.js +85 -0
- package/dist/context/index.js.map +1 -1
- package/dist/db/index.d.ts +64 -5
- package/dist/db/index.d.ts.map +1 -1
- package/dist/db/index.js +178 -14
- package/dist/db/index.js.map +1 -1
- package/dist/db/migrations.d.ts +1 -1
- package/dist/db/migrations.d.ts.map +1 -1
- package/dist/db/migrations.js +19 -1
- package/dist/db/migrations.js.map +1 -1
- package/dist/db/queries.d.ts +117 -2
- package/dist/db/queries.d.ts.map +1 -1
- package/dist/db/queries.js +299 -6
- package/dist/db/queries.js.map +1 -1
- package/dist/db/schema.sql +32 -1
- package/dist/db/wal-valve.d.ts +106 -0
- package/dist/db/wal-valve.d.ts.map +1 -0
- package/dist/db/wal-valve.js +208 -0
- package/dist/db/wal-valve.js.map +1 -0
- package/dist/directory.d.ts +9 -5
- package/dist/directory.d.ts.map +1 -1
- package/dist/directory.js +210 -19
- package/dist/directory.js.map +1 -1
- package/dist/extraction/cfml-extractor.d.ts +107 -0
- package/dist/extraction/cfml-extractor.d.ts.map +1 -0
- package/dist/extraction/cfml-extractor.js +494 -0
- package/dist/extraction/cfml-extractor.js.map +1 -0
- package/dist/extraction/grammars.d.ts +25 -1
- package/dist/extraction/grammars.d.ts.map +1 -1
- package/dist/extraction/grammars.js +177 -24
- package/dist/extraction/grammars.js.map +1 -1
- package/dist/extraction/index.d.ts +43 -4
- package/dist/extraction/index.d.ts.map +1 -1
- package/dist/extraction/index.js +308 -5
- package/dist/extraction/index.js.map +1 -1
- package/dist/extraction/languages/c-cpp.d.ts +42 -0
- package/dist/extraction/languages/c-cpp.d.ts.map +1 -1
- package/dist/extraction/languages/c-cpp.js +369 -4
- package/dist/extraction/languages/c-cpp.js.map +1 -1
- package/dist/extraction/languages/cfquery.d.ts +12 -0
- package/dist/extraction/languages/cfquery.d.ts.map +1 -0
- package/dist/extraction/languages/cfquery.js +28 -0
- package/dist/extraction/languages/cfquery.js.map +1 -0
- package/dist/extraction/languages/cfscript.d.ts +3 -0
- package/dist/extraction/languages/cfscript.d.ts.map +1 -0
- package/dist/extraction/languages/cfscript.js +73 -0
- package/dist/extraction/languages/cfscript.js.map +1 -0
- package/dist/extraction/languages/cobol.d.ts +33 -0
- package/dist/extraction/languages/cobol.d.ts.map +1 -0
- package/dist/extraction/languages/cobol.js +499 -0
- package/dist/extraction/languages/cobol.js.map +1 -0
- package/dist/extraction/languages/erlang.d.ts +3 -0
- package/dist/extraction/languages/erlang.d.ts.map +1 -0
- package/dist/extraction/languages/erlang.js +350 -0
- package/dist/extraction/languages/erlang.js.map +1 -0
- package/dist/extraction/languages/index.d.ts.map +1 -1
- package/dist/extraction/languages/index.js +16 -0
- package/dist/extraction/languages/index.js.map +1 -1
- package/dist/extraction/languages/nix.d.ts +3 -0
- package/dist/extraction/languages/nix.d.ts.map +1 -0
- package/dist/extraction/languages/nix.js +294 -0
- package/dist/extraction/languages/nix.js.map +1 -0
- package/dist/extraction/languages/solidity.d.ts +3 -0
- package/dist/extraction/languages/solidity.d.ts.map +1 -0
- package/dist/extraction/languages/solidity.js +293 -0
- package/dist/extraction/languages/solidity.js.map +1 -0
- package/dist/extraction/languages/terraform.d.ts +3 -0
- package/dist/extraction/languages/terraform.d.ts.map +1 -0
- package/dist/extraction/languages/terraform.js +641 -0
- package/dist/extraction/languages/terraform.js.map +1 -0
- package/dist/extraction/languages/vbnet.d.ts +11 -0
- package/dist/extraction/languages/vbnet.d.ts.map +1 -0
- package/dist/extraction/languages/vbnet.js +141 -0
- package/dist/extraction/languages/vbnet.js.map +1 -0
- package/dist/extraction/mybatis-extractor.d.ts +30 -10
- package/dist/extraction/mybatis-extractor.d.ts.map +1 -1
- package/dist/extraction/mybatis-extractor.js +140 -38
- package/dist/extraction/mybatis-extractor.js.map +1 -1
- package/dist/extraction/parse-pool.d.ts +27 -1
- package/dist/extraction/parse-pool.d.ts.map +1 -1
- package/dist/extraction/parse-pool.js +75 -7
- package/dist/extraction/parse-pool.js.map +1 -1
- package/dist/extraction/parse-worker.js +9 -2
- package/dist/extraction/parse-worker.js.map +1 -1
- package/dist/extraction/tree-sitter-helpers.d.ts.map +1 -1
- package/dist/extraction/tree-sitter-helpers.js +1 -0
- package/dist/extraction/tree-sitter-helpers.js.map +1 -1
- package/dist/extraction/tree-sitter-types.d.ts +3 -1
- package/dist/extraction/tree-sitter-types.d.ts.map +1 -1
- package/dist/extraction/tree-sitter.d.ts +38 -0
- package/dist/extraction/tree-sitter.d.ts.map +1 -1
- package/dist/extraction/tree-sitter.js +754 -10
- package/dist/extraction/tree-sitter.js.map +1 -1
- package/dist/extraction/wasm/tree-sitter-arkts.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-cfml.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-cfquery.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-cfscript.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-cobol.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-erlang.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-nix.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-terraform.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-vbnet.wasm +0 -0
- package/dist/graph/traversal.d.ts.map +1 -1
- package/dist/graph/traversal.js +1 -1
- package/dist/graph/traversal.js.map +1 -1
- package/dist/index.d.ts +60 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +348 -5
- package/dist/index.js.map +1 -1
- package/dist/installer/index.d.ts +42 -0
- package/dist/installer/index.d.ts.map +1 -1
- package/dist/installer/index.js +97 -2
- package/dist/installer/index.js.map +1 -1
- package/dist/mcp/daemon.d.ts +25 -3
- package/dist/mcp/daemon.d.ts.map +1 -1
- package/dist/mcp/daemon.js +62 -8
- package/dist/mcp/daemon.js.map +1 -1
- package/dist/mcp/dynamic-boundaries.d.ts.map +1 -1
- package/dist/mcp/dynamic-boundaries.js +2 -1
- package/dist/mcp/dynamic-boundaries.js.map +1 -1
- package/dist/mcp/early-ppid.d.ts +26 -0
- package/dist/mcp/early-ppid.d.ts.map +1 -0
- package/dist/mcp/early-ppid.js +29 -0
- package/dist/mcp/early-ppid.js.map +1 -0
- package/dist/mcp/engine.d.ts +4 -5
- package/dist/mcp/engine.d.ts.map +1 -1
- package/dist/mcp/engine.js +27 -1
- package/dist/mcp/engine.js.map +1 -1
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +41 -6
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/liveness-watchdog.d.ts +18 -1
- package/dist/mcp/liveness-watchdog.d.ts.map +1 -1
- package/dist/mcp/liveness-watchdog.js +73 -13
- package/dist/mcp/liveness-watchdog.js.map +1 -1
- package/dist/mcp/memory-budget.d.ts +30 -0
- package/dist/mcp/memory-budget.d.ts.map +1 -0
- package/dist/mcp/memory-budget.js +123 -0
- package/dist/mcp/memory-budget.js.map +1 -0
- package/dist/mcp/proxy.d.ts.map +1 -1
- package/dist/mcp/proxy.js +88 -4
- package/dist/mcp/proxy.js.map +1 -1
- package/dist/mcp/query-cache.d.ts +35 -4
- package/dist/mcp/query-cache.d.ts.map +1 -1
- package/dist/mcp/query-cache.js +89 -19
- package/dist/mcp/query-cache.js.map +1 -1
- package/dist/mcp/query-pool.d.ts +46 -12
- package/dist/mcp/query-pool.d.ts.map +1 -1
- package/dist/mcp/query-pool.js +100 -23
- package/dist/mcp/query-pool.js.map +1 -1
- package/dist/mcp/server-instructions.d.ts +4 -27
- package/dist/mcp/server-instructions.d.ts.map +1 -1
- package/dist/mcp/server-instructions.js +39 -84
- package/dist/mcp/server-instructions.js.map +1 -1
- package/dist/mcp/session.d.ts +14 -0
- package/dist/mcp/session.d.ts.map +1 -1
- package/dist/mcp/session.js +28 -1
- package/dist/mcp/session.js.map +1 -1
- package/dist/mcp/startup-handshake.d.ts +44 -0
- package/dist/mcp/startup-handshake.d.ts.map +1 -0
- package/dist/mcp/startup-handshake.js +73 -0
- package/dist/mcp/startup-handshake.js.map +1 -0
- package/dist/mcp/tools.d.ts +104 -4
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +2390 -191
- package/dist/mcp/tools.js.map +1 -1
- package/dist/mcp/transport.d.ts.map +1 -1
- package/dist/mcp/transport.js +18 -0
- package/dist/mcp/transport.js.map +1 -1
- package/dist/project-config.d.ts +38 -0
- package/dist/project-config.d.ts.map +1 -1
- package/dist/project-config.js +101 -2
- package/dist/project-config.js.map +1 -1
- package/dist/resolution/c-fnptr-synthesizer.d.ts +2 -1
- package/dist/resolution/c-fnptr-synthesizer.d.ts.map +1 -1
- package/dist/resolution/c-fnptr-synthesizer.js +178 -146
- package/dist/resolution/c-fnptr-synthesizer.js.map +1 -1
- package/dist/resolution/callback-synthesizer.d.ts +9 -1
- package/dist/resolution/callback-synthesizer.d.ts.map +1 -1
- package/dist/resolution/callback-synthesizer.js +1164 -176
- package/dist/resolution/callback-synthesizer.js.map +1 -1
- package/dist/resolution/frameworks/cics.d.ts +20 -0
- package/dist/resolution/frameworks/cics.d.ts.map +1 -0
- package/dist/resolution/frameworks/cics.js +90 -0
- package/dist/resolution/frameworks/cics.js.map +1 -0
- package/dist/resolution/frameworks/index.d.ts.map +1 -1
- package/dist/resolution/frameworks/index.js +3 -0
- package/dist/resolution/frameworks/index.js.map +1 -1
- package/dist/resolution/frameworks/java.d.ts.map +1 -1
- package/dist/resolution/frameworks/java.js +14 -6
- package/dist/resolution/frameworks/java.js.map +1 -1
- package/dist/resolution/frameworks/terraform.d.ts +38 -0
- package/dist/resolution/frameworks/terraform.d.ts.map +1 -0
- package/dist/resolution/frameworks/terraform.js +277 -0
- package/dist/resolution/frameworks/terraform.js.map +1 -0
- package/dist/resolution/goframe-synthesizer.d.ts +2 -1
- package/dist/resolution/goframe-synthesizer.d.ts.map +1 -1
- package/dist/resolution/goframe-synthesizer.js +8 -3
- package/dist/resolution/goframe-synthesizer.js.map +1 -1
- package/dist/resolution/import-resolver.d.ts +7 -0
- package/dist/resolution/import-resolver.d.ts.map +1 -1
- package/dist/resolution/import-resolver.js +129 -4
- package/dist/resolution/import-resolver.js.map +1 -1
- package/dist/resolution/index.d.ts +60 -7
- package/dist/resolution/index.d.ts.map +1 -1
- package/dist/resolution/index.js +430 -80
- package/dist/resolution/index.js.map +1 -1
- package/dist/resolution/name-matcher.d.ts +0 -3
- package/dist/resolution/name-matcher.d.ts.map +1 -1
- package/dist/resolution/name-matcher.js +354 -33
- package/dist/resolution/name-matcher.js.map +1 -1
- package/dist/resolution/strip-comments.d.ts +1 -1
- package/dist/resolution/strip-comments.d.ts.map +1 -1
- package/dist/resolution/strip-comments.js +49 -0
- package/dist/resolution/strip-comments.js.map +1 -1
- package/dist/resolution/types.d.ts +29 -0
- package/dist/resolution/types.d.ts.map +1 -1
- package/dist/resolution/workspace-packages.d.ts +10 -0
- package/dist/resolution/workspace-packages.d.ts.map +1 -1
- package/dist/resolution/workspace-packages.js +142 -4
- package/dist/resolution/workspace-packages.js.map +1 -1
- package/dist/search/identifier-segments.d.ts +60 -0
- package/dist/search/identifier-segments.d.ts.map +1 -0
- package/dist/search/identifier-segments.js +176 -0
- package/dist/search/identifier-segments.js.map +1 -0
- package/dist/search/query-utils.d.ts +201 -0
- package/dist/search/query-utils.d.ts.map +1 -1
- package/dist/search/query-utils.js +919 -2
- package/dist/search/query-utils.js.map +1 -1
- package/dist/sync/git-hooks.d.ts.map +1 -1
- package/dist/sync/git-hooks.js +2 -0
- package/dist/sync/git-hooks.js.map +1 -1
- package/dist/sync/watcher.d.ts +10 -5
- package/dist/sync/watcher.d.ts.map +1 -1
- package/dist/sync/watcher.js +51 -14
- package/dist/sync/watcher.js.map +1 -1
- package/dist/sync/worktree.d.ts.map +1 -1
- package/dist/sync/worktree.js +5 -0
- package/dist/sync/worktree.js.map +1 -1
- package/dist/types.d.ts +19 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +10 -0
- package/dist/types.js.map +1 -1
- package/dist/upgrade/index.d.ts +32 -0
- package/dist/upgrade/index.d.ts.map +1 -1
- package/dist/upgrade/index.js +162 -14
- package/dist/upgrade/index.js.map +1 -1
- package/dist/upgrade/remove-binary.d.ts +87 -0
- package/dist/upgrade/remove-binary.d.ts.map +1 -0
- package/dist/upgrade/remove-binary.js +289 -0
- package/dist/upgrade/remove-binary.js.map +1 -0
- package/dist/upgrade/update-check.d.ts +92 -0
- package/dist/upgrade/update-check.d.ts.map +1 -0
- package/dist/upgrade/update-check.js +258 -0
- package/dist/upgrade/update-check.js.map +1 -0
- package/package.json +2 -2
- package/scripts/agent-eval/run-all.sh +6 -0
- package/scripts/build-bundle.sh +5 -0
- package/scripts/npm-shim.js +8 -1
- package/scripts/exp_boundary_eval/__pycache__/_utils.cpython-310.pyc +0 -0
- package/scripts/exp_boundary_eval/__pycache__/analyze.cpython-310.pyc +0 -0
- package/scripts/exp_boundary_eval/__pycache__/deveco_arm.cpython-310.pyc +0 -0
- package/scripts/exp_boundary_eval/__pycache__/run_one.cpython-310.pyc +0 -0
- package/scripts/exp_boundary_eval/__pycache__/run_session.cpython-310.pyc +0 -0
- package/scripts/exp_boundary_eval/__pycache__/setup.cpython-310.pyc +0 -0
- package/scripts/exp_boundary_eval/data/agents.json +0 -109
- package/scripts/exp_boundary_eval/data/experiments.json +0 -140
- package/scripts/qa_eval/README.md +0 -407
- package/scripts/qa_eval/_test_deveco_probe.py +0 -41
- package/scripts/qa_eval/agent_runner.py +0 -526
- package/scripts/qa_eval/data/.gitignore +0 -4
- package/scripts/qa_eval/data/test-set.jsonl +0 -2
- package/scripts/qa_eval/eval_metrics.py +0 -274
- package/scripts/qa_eval/external_agent.py +0 -976
- package/scripts/qa_eval/llm_config.py +0 -92
- package/scripts/qa_eval/memory_monitor.py +0 -132
- package/scripts/qa_eval/my_answer_accuracy.py +0 -187
- package/scripts/qa_eval/requirements.txt +0 -2
- package/scripts/qa_eval/run_pipeline.py +0 -804
- package/scripts/qa_eval/stats_efficiency.py +0 -279
- package/scripts/qa_eval/stats_scores.py +0 -207
package/dist/index.js
CHANGED
|
@@ -58,6 +58,8 @@ const sync_1 = require("./sync");
|
|
|
58
58
|
const extraction_version_1 = require("./extraction/extraction-version");
|
|
59
59
|
const directory_2 = require("./directory");
|
|
60
60
|
const query_utils_1 = require("./search/query-utils");
|
|
61
|
+
const identifier_segments_1 = require("./search/identifier-segments");
|
|
62
|
+
const cooperative_yield_1 = require("./resolution/cooperative-yield");
|
|
61
63
|
const version_1 = require("./mcp/version");
|
|
62
64
|
// Re-export types for consumers
|
|
63
65
|
__exportStar(require("./types"), exports);
|
|
@@ -377,6 +379,17 @@ class HomeGraph {
|
|
|
377
379
|
}
|
|
378
380
|
try {
|
|
379
381
|
const before = this.queries.getNodeAndEdgeCount();
|
|
382
|
+
// Mark the index as in-flight BEFORE any writes: a run killed mid-index
|
|
383
|
+
// leaves this marker behind so `homegraph status` can tell a truncated
|
|
384
|
+
// index from a completed one.
|
|
385
|
+
try {
|
|
386
|
+
this.queries.setMetadata('index_state', 'indexing');
|
|
387
|
+
}
|
|
388
|
+
catch { /* metadata is advisory */ }
|
|
389
|
+
try {
|
|
390
|
+
this.queries.clearNameSegmentVocab();
|
|
391
|
+
}
|
|
392
|
+
catch { /* vocab is advisory — never fail an index over it */ }
|
|
380
393
|
const result = await this.orchestrator.indexAll(options.onProgress, options.signal, options.verbose);
|
|
381
394
|
// Re-detect frameworks now that the index is populated. The resolver
|
|
382
395
|
// is constructed with createResolver() before any files exist, so
|
|
@@ -448,6 +461,35 @@ class HomeGraph {
|
|
|
448
461
|
result.errors.push({ message: ohosBinding.message, severity: 'warning', code: ohosBinding.code });
|
|
449
462
|
}
|
|
450
463
|
}
|
|
464
|
+
// Reconcile the scan's ground truth against what the pipeline accounted for.
|
|
465
|
+
try {
|
|
466
|
+
if (!result.success) {
|
|
467
|
+
this.queries.setMetadata('index_state', 'failed');
|
|
468
|
+
}
|
|
469
|
+
else {
|
|
470
|
+
const accounted = result.filesIndexed + result.filesSkipped + result.filesErrored;
|
|
471
|
+
const discovered = result.filesDiscovered;
|
|
472
|
+
const shortfall = discovered !== undefined ? discovered - accounted : 0;
|
|
473
|
+
if (discovered !== undefined && shortfall > 0) {
|
|
474
|
+
this.queries.setMetadata('index_state', 'partial');
|
|
475
|
+
this.queries.setMetadata('index_files_discovered', String(discovered));
|
|
476
|
+
this.queries.setMetadata('index_files_accounted', String(accounted));
|
|
477
|
+
result.errors.push({
|
|
478
|
+
message: `Index is missing ${shortfall} of ${discovered} discovered files (indexed ${result.filesIndexed}, skipped ${result.filesSkipped}, errored ${result.filesErrored}). The index is PARTIAL — re-run \`homegraph index\`.`,
|
|
479
|
+
severity: 'warning',
|
|
480
|
+
code: 'index_partial',
|
|
481
|
+
});
|
|
482
|
+
}
|
|
483
|
+
else {
|
|
484
|
+
this.queries.setMetadata('index_state', 'complete');
|
|
485
|
+
if (discovered !== undefined) {
|
|
486
|
+
this.queries.setMetadata('index_files_discovered', String(discovered));
|
|
487
|
+
this.queries.setMetadata('index_files_accounted', String(accounted));
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
catch { /* metadata is advisory — never fail an index over it */ }
|
|
451
493
|
return result;
|
|
452
494
|
}
|
|
453
495
|
finally {
|
|
@@ -490,6 +532,18 @@ class HomeGraph {
|
|
|
490
532
|
return { filesChecked: 0, filesAdded: 0, filesModified: 0, filesRemoved: 0, nodesUpdated: 0, durationMs: 0 };
|
|
491
533
|
}
|
|
492
534
|
try {
|
|
535
|
+
// Captured BEFORE the sync runs: the sync's own incremental writes
|
|
536
|
+
// populate vocab rows for the files it touches, so an end-of-sync
|
|
537
|
+
// emptiness check would see "non-empty" and skip the backfill forever,
|
|
538
|
+
// leaving every unchanged file's names unsegmented.
|
|
539
|
+
const vocabWasEmpty = (() => {
|
|
540
|
+
try {
|
|
541
|
+
return this.queries.isNameSegmentVocabEmpty();
|
|
542
|
+
}
|
|
543
|
+
catch {
|
|
544
|
+
return false;
|
|
545
|
+
}
|
|
546
|
+
})();
|
|
493
547
|
const result = await this.orchestrator.sync(options.onProgress);
|
|
494
548
|
// Cross-file finalization (e.g. NestJS RouterModule prefixes). Run on
|
|
495
549
|
// every sync that touched files so edits to `app.module.ts` propagate
|
|
@@ -498,11 +552,25 @@ class HomeGraph {
|
|
|
498
552
|
if (result.filesAdded > 0 || result.filesModified > 0) {
|
|
499
553
|
this.resolver.runPostExtract();
|
|
500
554
|
}
|
|
555
|
+
else if (result.filesRemoved > 0) {
|
|
556
|
+
// A pure-removal sync still resolves refs below — the deletion path
|
|
557
|
+
// resurrects the removed file's incoming edges as pending refs
|
|
558
|
+
// (#1240 removal case) and the orphan sweep consumes them. In a
|
|
559
|
+
// long-lived process (daemon) the resolver's name caches were
|
|
560
|
+
// warmed against the pre-removal graph; drop them so resolution
|
|
561
|
+
// sees the post-removal state. (runPostExtract above clears caches
|
|
562
|
+
// itself, so the changed-files branch is already covered.)
|
|
563
|
+
this.resolver.clearCaches();
|
|
564
|
+
}
|
|
501
565
|
// Resolve references if files were updated
|
|
502
|
-
|
|
566
|
+
const filesChanged = result.filesAdded > 0 || result.filesModified > 0;
|
|
567
|
+
if (filesChanged) {
|
|
503
568
|
if (result.changedFilePaths) {
|
|
504
569
|
// Scope resolution to changed files (git fast path — bounded set)
|
|
570
|
+
const tRefLoad = Date.now();
|
|
505
571
|
const unresolvedRefs = this.queries.getUnresolvedReferencesByFiles(result.changedFilePaths);
|
|
572
|
+
if (process.env.HOMEGRAPH_SYNTH_TIMINGS)
|
|
573
|
+
console.error(`[phase-timing] sync-ref-load: ${Date.now() - tRefLoad}ms (${unresolvedRefs.length} refs)`);
|
|
506
574
|
options.onProgress?.({
|
|
507
575
|
phase: 'resolving',
|
|
508
576
|
current: 0,
|
|
@@ -515,6 +583,32 @@ class HomeGraph {
|
|
|
515
583
|
total,
|
|
516
584
|
});
|
|
517
585
|
});
|
|
586
|
+
// Retry previously-failed refs the changed files may now satisfy
|
|
587
|
+
// (#1240). Scoped resolution above only re-resolves refs FROM the
|
|
588
|
+
// changed files — but when a changed file gains an export/symbol,
|
|
589
|
+
// refs in UNCHANGED files that failed against the old graph can
|
|
590
|
+
// now resolve, and nothing else ever revisits them (their rows
|
|
591
|
+
// were parked as status='failed' by an earlier completed pass).
|
|
592
|
+
// Look them up by the symbol names the changed files now carry
|
|
593
|
+
// and re-resolve just that set. On a sync where no failed ref
|
|
594
|
+
// matches, this is one indexed lookup.
|
|
595
|
+
const tRetry = Date.now();
|
|
596
|
+
const retryable = this.queries.getRetryableFailedReferences(this.queries.getNodeNamesByFiles(result.changedFilePaths));
|
|
597
|
+
if (retryable.length > 0) {
|
|
598
|
+
options.onProgress?.({
|
|
599
|
+
phase: 'resolving',
|
|
600
|
+
current: 0,
|
|
601
|
+
total: retryable.length,
|
|
602
|
+
});
|
|
603
|
+
await this.resolver.resolveAndPersistListYielding(retryable);
|
|
604
|
+
options.onProgress?.({
|
|
605
|
+
phase: 'resolving',
|
|
606
|
+
current: retryable.length,
|
|
607
|
+
total: retryable.length,
|
|
608
|
+
});
|
|
609
|
+
}
|
|
610
|
+
if (process.env.HOMEGRAPH_SYNTH_TIMINGS)
|
|
611
|
+
console.error(`[phase-timing] sync-failed-ref-retry: ${Date.now() - tRetry}ms (${retryable.length} refs)`);
|
|
518
612
|
}
|
|
519
613
|
else {
|
|
520
614
|
// No git info — use batched resolution to avoid OOM
|
|
@@ -530,8 +624,50 @@ class HomeGraph {
|
|
|
530
624
|
current,
|
|
531
625
|
total,
|
|
532
626
|
});
|
|
627
|
+
}, (done, totalPasses) => {
|
|
628
|
+
options.onProgress?.({
|
|
629
|
+
phase: 'linking',
|
|
630
|
+
current: done,
|
|
631
|
+
total: totalPasses,
|
|
632
|
+
});
|
|
533
633
|
});
|
|
534
634
|
}
|
|
635
|
+
}
|
|
636
|
+
// Orphan sweep (#1187). A resolution pass that dies mid-run — the #850
|
|
637
|
+
// daemon liveness watchdog's SIGKILL (#1122), Ctrl-C, a crash — leaves
|
|
638
|
+
// the refs it never reached in unresolved_refs, and the git-scoped fast
|
|
639
|
+
// path above never revisits them (it reads only the changed files'
|
|
640
|
+
// rows). Those files' call edges were then missing PERMANENTLY, with
|
|
641
|
+
// nothing to see except a too-small blast radius, until a full
|
|
642
|
+
// re-index. A completed pass takes every row it processed out of the
|
|
643
|
+
// PENDING set (resolved rows are deleted, unresolvable ones parked as
|
|
644
|
+
// status='failed' for the #1240 retry above), so any pending row now
|
|
645
|
+
// is such an orphan — or a row from an older engine's scoped pass.
|
|
646
|
+
// Grind them down with the batched resolver; this also makes a bare
|
|
647
|
+
// `homegraph sync` the recovery command for a wedged index. On a
|
|
648
|
+
// healthy index this is one COUNT query.
|
|
649
|
+
const orphanCount = this.queries.getUnresolvedReferencesCount();
|
|
650
|
+
if (orphanCount > 0) {
|
|
651
|
+
options.onProgress?.({
|
|
652
|
+
phase: 'resolving',
|
|
653
|
+
current: 0,
|
|
654
|
+
total: orphanCount,
|
|
655
|
+
});
|
|
656
|
+
await this.resolveReferencesBatched((current, total) => {
|
|
657
|
+
options.onProgress?.({
|
|
658
|
+
phase: 'resolving',
|
|
659
|
+
current,
|
|
660
|
+
total,
|
|
661
|
+
});
|
|
662
|
+
}, (done, totalPasses) => {
|
|
663
|
+
options.onProgress?.({
|
|
664
|
+
phase: 'linking',
|
|
665
|
+
current: done,
|
|
666
|
+
total: totalPasses,
|
|
667
|
+
});
|
|
668
|
+
});
|
|
669
|
+
}
|
|
670
|
+
if (filesChanged || orphanCount > 0) {
|
|
535
671
|
// Second pass: chained calls whose method lives on a supertype the
|
|
536
672
|
// receiver conforms to (protocol-extension / inherited). Needs the
|
|
537
673
|
// implements/extends edges built above (#750).
|
|
@@ -541,9 +677,22 @@ class HomeGraph {
|
|
|
541
677
|
await this.resolver.resolveDeferredThisMemberRefs();
|
|
542
678
|
}
|
|
543
679
|
// Refresh planner stats + checkpoint the WAL after bulk writes.
|
|
544
|
-
|
|
545
|
-
|
|
680
|
+
// Off-thread — see indexAll's call site.
|
|
681
|
+
if (filesChanged || result.filesRemoved > 0 || orphanCount > 0) {
|
|
682
|
+
await this.db.runMaintenance();
|
|
683
|
+
}
|
|
684
|
+
// Heal the segment vocabulary on indexes built before the table
|
|
685
|
+
// existed (upgrade path): incremental writes above only cover changed
|
|
686
|
+
// files, so a vocab that was empty when this sync STARTED means the
|
|
687
|
+
// bulk was never segmented — backfill it (INSERT OR IGNORE, so the
|
|
688
|
+
// rows the sync just wrote are fine). Batched + yielding — sync can
|
|
689
|
+
// run on the daemon's liveness-watchdog thread (#850/#1091).
|
|
690
|
+
try {
|
|
691
|
+
if (vocabWasEmpty && this.queries.getNodeAndEdgeCount().nodes > 0) {
|
|
692
|
+
await this.rebuildNameSegmentVocab();
|
|
693
|
+
}
|
|
546
694
|
}
|
|
695
|
+
catch { /* vocab is advisory — never fail a sync over it */ }
|
|
547
696
|
return result;
|
|
548
697
|
}
|
|
549
698
|
finally {
|
|
@@ -660,6 +809,18 @@ class HomeGraph {
|
|
|
660
809
|
getQueryBuilder() {
|
|
661
810
|
return this.queries;
|
|
662
811
|
}
|
|
812
|
+
/**
|
|
813
|
+
* Completeness of the last full index run. `'complete'` is the only good
|
|
814
|
+
* state. `'indexing'` after the fact means a run was killed mid-index;
|
|
815
|
+
* `'partial'` means the run finished but silently dropped files;
|
|
816
|
+
* `'failed'` means it reported failure. `null` = index predates this marker.
|
|
817
|
+
*/
|
|
818
|
+
getIndexState() {
|
|
819
|
+
const raw = this.queries.getMetadata('index_state');
|
|
820
|
+
return raw === 'indexing' || raw === 'complete' || raw === 'partial' || raw === 'failed'
|
|
821
|
+
? raw
|
|
822
|
+
: null;
|
|
823
|
+
}
|
|
663
824
|
/**
|
|
664
825
|
* Which engine built the current index: the package version + extraction
|
|
665
826
|
* version stamped at the last full `indexAll`. Either field is null for an
|
|
@@ -725,12 +886,22 @@ class HomeGraph {
|
|
|
725
886
|
* Resolve references in batches to keep memory bounded on large codebases.
|
|
726
887
|
* Processes chunks of unresolved refs, persisting results after each batch.
|
|
727
888
|
*/
|
|
728
|
-
async resolveReferencesBatched(onProgress) {
|
|
729
|
-
return this.resolver.resolveAndPersistBatched(onProgress);
|
|
889
|
+
async resolveReferencesBatched(onProgress, onSynthesisProgress) {
|
|
890
|
+
return this.resolver.resolveAndPersistBatched(onProgress, undefined, onSynthesisProgress);
|
|
730
891
|
}
|
|
731
892
|
/**
|
|
732
893
|
* Get detected frameworks in the project
|
|
733
894
|
*/
|
|
895
|
+
/**
|
|
896
|
+
* References extracted but never attempted by a resolution pass. Zero on a
|
|
897
|
+
* healthy index — a completed pass consumes every pending row (resolving it
|
|
898
|
+
* or parking it as failed, #1240). Non-zero at rest means a pass was
|
|
899
|
+
* interrupted mid-run (#1187), so some files' call edges are missing; the
|
|
900
|
+
* next `sync` sweeps them.
|
|
901
|
+
*/
|
|
902
|
+
getPendingReferenceCount() {
|
|
903
|
+
return this.queries.getUnresolvedReferencesCount();
|
|
904
|
+
}
|
|
734
905
|
getDetectedFrameworks() {
|
|
735
906
|
return this.resolver.getDetectedFrameworks();
|
|
736
907
|
}
|
|
@@ -810,6 +981,178 @@ class HomeGraph {
|
|
|
810
981
|
* bias, which would otherwise pull overloaded tokens toward whichever stack
|
|
811
982
|
* embeds the project name.
|
|
812
983
|
*/
|
|
984
|
+
/**
|
|
985
|
+
* Graph-derived prompt matching for the front-load hook's MEDIUM tier:
|
|
986
|
+
* which indexed symbols do these prose words name? "state machine des
|
|
987
|
+
* commandes" → `OrderStateMachine`, in any human language whose technical
|
|
988
|
+
* nouns are Latin script — no keyword list involved.
|
|
989
|
+
*
|
|
990
|
+
* Precision comes from the repo's own naming statistics, not vocabulary:
|
|
991
|
+
* - CO-OCCURRENCE: ≥2 words that are segments of the SAME name ("state" +
|
|
992
|
+
* "machine" → OrderStateMachine) is strong evidence and always qualifies.
|
|
993
|
+
* - RARITY: a single matched word qualifies only when its segment is
|
|
994
|
+
* discriminative here (≤ {@link SEGMENT_RARITY_CEILING} distinct names) —
|
|
995
|
+
* "checkout" in a shop backend yes, "state" in a react app no.
|
|
996
|
+
* Every candidate is re-verified against `nodes` before being returned
|
|
997
|
+
* (vocab rows are proposals; deletions leave orphans by design), so a
|
|
998
|
+
* returned symbol is guaranteed to exist right now.
|
|
999
|
+
*/
|
|
1000
|
+
getSegmentMatches(words, limit = 6) {
|
|
1001
|
+
if (words.length === 0)
|
|
1002
|
+
return [];
|
|
1003
|
+
// Variant → original word (plural folding), for coverage accounting.
|
|
1004
|
+
const variantToWord = new Map();
|
|
1005
|
+
for (const word of words) {
|
|
1006
|
+
for (const variant of (0, identifier_segments_1.segmentLookupVariants)(word)) {
|
|
1007
|
+
if (!variantToWord.has(variant))
|
|
1008
|
+
variantToWord.set(variant, word);
|
|
1009
|
+
}
|
|
1010
|
+
}
|
|
1011
|
+
const variants = [...variantToWord.keys()];
|
|
1012
|
+
// Tier A: co-occurrence. The SQL folds variants back to their original
|
|
1013
|
+
// word (#1146), so minWords=2 means two distinct PROMPT WORDS — a name
|
|
1014
|
+
// matching both `service` and `services` can't tie with (or crowd past
|
|
1015
|
+
// the LIMIT) a genuine two-word match. The JS re-check below recomputes
|
|
1016
|
+
// the fold from live segments as the honesty layer.
|
|
1017
|
+
const variantPairs = [...variantToWord.entries()].map(([segment, word]) => ({ segment, word }));
|
|
1018
|
+
const candidates = [];
|
|
1019
|
+
for (const hit of this.queries.getSegmentCoOccurrence(variantPairs, 2, 24)) {
|
|
1020
|
+
const matched = this.wordsMatchingName(hit.name, variantToWord);
|
|
1021
|
+
if (matched.size >= 2)
|
|
1022
|
+
candidates.push({ name: hit.name, matchedWords: matched });
|
|
1023
|
+
}
|
|
1024
|
+
// Tier B: single rare word. Only when co-occurrence found nothing — a
|
|
1025
|
+
// co-occurring name is categorically stronger evidence — and under
|
|
1026
|
+
// stricter rules, because one word is thin: the word must be ≥5 chars
|
|
1027
|
+
// (measured FPs: "this", "typo"); the segment must appear in AT LEAST TWO
|
|
1028
|
+
// names (a concept the codebase is about clusters across names —
|
|
1029
|
+
// CheckoutService/CheckoutController — while a prose coincidence is a
|
|
1030
|
+
// singleton: measured FP "deploy to PRODUCTION" → the one name
|
|
1031
|
+
// matchesNonProductionDir); and the candidate name must have ≥2 segments
|
|
1032
|
+
// (a bare common verb matching a bare function name — "write" → `write` —
|
|
1033
|
+
// is prose coincidence, not the user naming a symbol).
|
|
1034
|
+
if (candidates.length === 0) {
|
|
1035
|
+
const singleWordVariants = variants.filter((v) => variantToWord.get(v).length >= 5);
|
|
1036
|
+
const counts = this.queries.getSegmentNameCounts(singleWordVariants);
|
|
1037
|
+
const rare = [...counts.entries()]
|
|
1038
|
+
.filter(([, n]) => n >= 2 && n <= HomeGraph.SEGMENT_RARITY_CEILING)
|
|
1039
|
+
.sort((a, b) => a[1] - b[1])
|
|
1040
|
+
.slice(0, 2);
|
|
1041
|
+
for (const [variant] of rare) {
|
|
1042
|
+
const word = variantToWord.get(variant);
|
|
1043
|
+
for (const name of this.queries.getNamesForSegment(variant, 12)) {
|
|
1044
|
+
if ((0, identifier_segments_1.splitIdentifierSegments)(name).length < 2)
|
|
1045
|
+
continue;
|
|
1046
|
+
candidates.push({ name, matchedWords: new Set([word]) });
|
|
1047
|
+
}
|
|
1048
|
+
}
|
|
1049
|
+
}
|
|
1050
|
+
// Verify against nodes (the honesty gate) and pick a representative
|
|
1051
|
+
// definition per name. A name whose only nodes are file/import kind has
|
|
1052
|
+
// no real definition to point at — surfacing the import statement instead
|
|
1053
|
+
// reads as a matched symbol but isn't one (#1144) — so it's skipped, the
|
|
1054
|
+
// same way an orphaned vocab row is. (Import names no longer enter the
|
|
1055
|
+
// vocab at write time, but rows written before that exclusion persist
|
|
1056
|
+
// until the next full index.)
|
|
1057
|
+
const out = [];
|
|
1058
|
+
const seen = new Set();
|
|
1059
|
+
candidates.sort((a, b) => b.matchedWords.size - a.matchedWords.size || a.name.length - b.name.length);
|
|
1060
|
+
for (const candidate of candidates) {
|
|
1061
|
+
if (out.length >= limit)
|
|
1062
|
+
break;
|
|
1063
|
+
if (seen.has(candidate.name))
|
|
1064
|
+
continue;
|
|
1065
|
+
seen.add(candidate.name);
|
|
1066
|
+
const nodes = this.queries.getNodesByName(candidate.name);
|
|
1067
|
+
if (nodes.length === 0)
|
|
1068
|
+
continue; // orphaned vocab row — name no longer exists
|
|
1069
|
+
const rep = nodes.find((n) => n.kind !== 'file' && n.kind !== 'import');
|
|
1070
|
+
if (!rep)
|
|
1071
|
+
continue; // no real definition — don't surface an import/file as one
|
|
1072
|
+
out.push({
|
|
1073
|
+
name: candidate.name,
|
|
1074
|
+
kind: rep.kind,
|
|
1075
|
+
filePath: rep.filePath,
|
|
1076
|
+
startLine: rep.startLine ?? 0,
|
|
1077
|
+
matchedWords: [...candidate.matchedWords].sort(),
|
|
1078
|
+
});
|
|
1079
|
+
}
|
|
1080
|
+
return out;
|
|
1081
|
+
}
|
|
1082
|
+
/** A single word ("state") can match hundreds of names in a big repo — that
|
|
1083
|
+
* is noise, not signal. Ceiling for the single-word tier; co-occurrence is
|
|
1084
|
+
* exempt because two words on one name is already discriminative. */
|
|
1085
|
+
static SEGMENT_RARITY_CEILING = 25;
|
|
1086
|
+
/** Which of the prompt's original words match `name`'s segments (via
|
|
1087
|
+
* variants). Segments are recomputed in JS — a name-keyed vocab lookup
|
|
1088
|
+
* would scan the (segment, name) primary key. */
|
|
1089
|
+
wordsMatchingName(name, variantToWord) {
|
|
1090
|
+
const segments = new Set((0, identifier_segments_1.splitIdentifierSegments)(name));
|
|
1091
|
+
const matched = new Set();
|
|
1092
|
+
for (const [variant, word] of variantToWord) {
|
|
1093
|
+
if (segments.has(variant))
|
|
1094
|
+
matched.add(word);
|
|
1095
|
+
}
|
|
1096
|
+
return matched;
|
|
1097
|
+
}
|
|
1098
|
+
/**
|
|
1099
|
+
* One-shot upgrade heal for callers that open the graph WITHOUT syncing —
|
|
1100
|
+
* concretely the prompt hook, whose MEDIUM tier reads the segment
|
|
1101
|
+
* vocabulary: a database migrated from before the vocab table existed
|
|
1102
|
+
* starts with it empty, and the only other backfill lives inside `sync()`,
|
|
1103
|
+
* which such callers never run (#1142). Returns true when the vocab is
|
|
1104
|
+
* usable (already populated — the overwhelmingly common one-SELECT case —
|
|
1105
|
+
* or healed here); false when it isn't (empty graph, or another process
|
|
1106
|
+
* holds the index lock — that process's own sync heals it).
|
|
1107
|
+
*/
|
|
1108
|
+
async healSegmentVocabIfEmpty() {
|
|
1109
|
+
const empty = (() => {
|
|
1110
|
+
try {
|
|
1111
|
+
return this.queries.isNameSegmentVocabEmpty();
|
|
1112
|
+
}
|
|
1113
|
+
catch {
|
|
1114
|
+
return false;
|
|
1115
|
+
}
|
|
1116
|
+
})();
|
|
1117
|
+
if (!empty)
|
|
1118
|
+
return true;
|
|
1119
|
+
if (this.queries.getNodeAndEdgeCount().nodes === 0)
|
|
1120
|
+
return false;
|
|
1121
|
+
return this.indexMutex.withLock(async () => {
|
|
1122
|
+
try {
|
|
1123
|
+
this.fileLock.acquire();
|
|
1124
|
+
}
|
|
1125
|
+
catch {
|
|
1126
|
+
return false; // an index/sync is running — it backfills the vocab itself
|
|
1127
|
+
}
|
|
1128
|
+
try {
|
|
1129
|
+
if (!this.queries.isNameSegmentVocabEmpty())
|
|
1130
|
+
return true; // raced: healed meanwhile
|
|
1131
|
+
await this.rebuildNameSegmentVocab();
|
|
1132
|
+
return true;
|
|
1133
|
+
}
|
|
1134
|
+
finally {
|
|
1135
|
+
this.fileLock.release();
|
|
1136
|
+
}
|
|
1137
|
+
});
|
|
1138
|
+
}
|
|
1139
|
+
/**
|
|
1140
|
+
* Rebuild the segment vocabulary from the current graph, batched and
|
|
1141
|
+
* yielding — the upgrade-heal path for indexes built before the vocab table
|
|
1142
|
+
* existed. Runs inside the index mutex/lock (sync and
|
|
1143
|
+
* healSegmentVocabIfEmpty hold them).
|
|
1144
|
+
*/
|
|
1145
|
+
async rebuildNameSegmentVocab() {
|
|
1146
|
+
const maybeYield = (0, cooperative_yield_1.createYielder)();
|
|
1147
|
+
const BATCH = 2000;
|
|
1148
|
+
for (let offset = 0;; offset += BATCH) {
|
|
1149
|
+
const names = this.queries.getDistinctNodeNames(BATCH, offset);
|
|
1150
|
+
if (names.length === 0)
|
|
1151
|
+
break;
|
|
1152
|
+
this.queries.insertNameSegmentsBatch(names);
|
|
1153
|
+
await maybeYield();
|
|
1154
|
+
}
|
|
1155
|
+
}
|
|
813
1156
|
getProjectNameTokens() {
|
|
814
1157
|
return this.queries.getProjectNameTokens();
|
|
815
1158
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,6 +46,13 @@ export interface RunUninstallerOptions {
|
|
|
46
46
|
location?: Location;
|
|
47
47
|
/** Non-interactive: location=global, target=all, no prompts. */
|
|
48
48
|
yes?: boolean;
|
|
49
|
+
/** Remove agent configs only — leave the CLI binary installed. */
|
|
50
|
+
keepCli?: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* `__filename` of the CLI entry (dist/bin/homegraph.js) — install-method
|
|
53
|
+
* detection is keyed off the running binary's real location.
|
|
54
|
+
*/
|
|
55
|
+
cliFilename?: string;
|
|
49
56
|
}
|
|
50
57
|
export type UninstallStatus = 'removed' | 'not-configured' | 'unsupported';
|
|
51
58
|
/**
|
|
@@ -74,6 +81,41 @@ export interface UninstallReport {
|
|
|
74
81
|
* across every target unconditionally.
|
|
75
82
|
*/
|
|
76
83
|
export declare function uninstallTargets(targets: readonly AgentTarget[], location: Location): UninstallReport[];
|
|
84
|
+
export type RefreshStatus = 'refreshed' | 'unchanged' | 'not-configured' | 'unsupported';
|
|
85
|
+
/**
|
|
86
|
+
* Per-target outcome of a refresh sweep. `refreshed` means at least one
|
|
87
|
+
* filesystem entry was created, updated, or removed; `unchanged` means the target was
|
|
88
|
+
* already current (every write reported byte-identical); the other two
|
|
89
|
+
* mirror `UninstallStatus`.
|
|
90
|
+
*/
|
|
91
|
+
export interface RefreshReport {
|
|
92
|
+
id: TargetId;
|
|
93
|
+
displayName: string;
|
|
94
|
+
location: Location;
|
|
95
|
+
status: RefreshStatus;
|
|
96
|
+
/** Absolute paths created, updated, or removed by the refresh. */
|
|
97
|
+
changedPaths: string[];
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Pure refresh sweep — re-runs `install()` for every target that is
|
|
101
|
+
* ALREADY configured at `location`, so the surfaces a previous version
|
|
102
|
+
* wrote (the marker-fenced instructions section, the MCP server entry,
|
|
103
|
+
* the legacy-hook cleanups) match the binary that will serve them.
|
|
104
|
+
* Without this, those files keep the wording — and the tool names — of
|
|
105
|
+
* whatever version first wrote them, no matter how many upgrades later.
|
|
106
|
+
*
|
|
107
|
+
* Strictly a refresh, never a first install:
|
|
108
|
+
* - targets that aren't `alreadyConfigured` are skipped untouched;
|
|
109
|
+
* - permissions are not written (`autoAllow: false`) and the prompt
|
|
110
|
+
* hook is left as-is (`promptHook: undefined`), so choices the user
|
|
111
|
+
* made at install time — or by hand since — are preserved.
|
|
112
|
+
*
|
|
113
|
+
* Every write underneath is the targets' own idempotent upsert, so a
|
|
114
|
+
* re-run on an already-current machine reports `unchanged` everywhere.
|
|
115
|
+
* Exposed (and unit-tested) separately from the CLI wiring, same as
|
|
116
|
+
* `uninstallTargets`.
|
|
117
|
+
*/
|
|
118
|
+
export declare function refreshTargets(targets: readonly AgentTarget[], location: Location): RefreshReport[];
|
|
77
119
|
/**
|
|
78
120
|
* Interactive uninstaller — the inverse of `runInstallerWithOptions`.
|
|
79
121
|
* Asks global-vs-local first (unless `--location`/`--yes` is given),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/installer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAWH,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAYvE,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAmBvD,MAAM,WAAW,mBAAmB;IAClC,+DAA+D;IAC/D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAElD;AAED,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/installer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAWH,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAYvE,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAmBvD,MAAM,WAAW,mBAAmB;IAClC,+DAA+D;IAC/D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAElD;AAED,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6MtF;AAED,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,gEAAgE;IAChE,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,kEAAkE;IAClE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,gBAAgB,GAAG,aAAa,CAAC;AAE3E;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,QAAQ,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC;IACxB,wEAAwE;IACxE,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,2DAA2D;IAC3D,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,SAAS,WAAW,EAAE,EAC/B,QAAQ,EAAE,QAAQ,GACjB,eAAe,EAAE,CAwBnB;AAED,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,WAAW,GAAG,gBAAgB,GAAG,aAAa,CAAC;AAEzF;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,QAAQ,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,aAAa,CAAC;IACtB,kEAAkE;IAClE,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,SAAS,WAAW,EAAE,EAC/B,QAAQ,EAAE,QAAQ,GACjB,aAAa,EAAE,CAmBjB;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyI/E;AA8DD;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,cAAc,gBAAgB,CAAC,EACtC,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAO,GAC3B,OAAO,CAAC,IAAI,CAAC,CAwDf"}
|