homegraph 1.5.1 → 1.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +131 -0
- package/LICENSE +21 -21
- package/README.md +312 -305
- package/dist/arkui/index.d.ts +4 -0
- package/dist/arkui/index.d.ts.map +1 -0
- package/dist/arkui/index.js +23 -0
- package/dist/arkui/index.js.map +1 -0
- package/dist/arkui/migrate-passage.d.ts +28 -0
- package/dist/arkui/migrate-passage.d.ts.map +1 -0
- package/dist/arkui/migrate-passage.js +310 -0
- package/dist/arkui/migrate-passage.js.map +1 -0
- package/dist/arkui/migrate-semantics.d.ts +47 -0
- package/dist/arkui/migrate-semantics.d.ts.map +1 -0
- package/dist/arkui/migrate-semantics.js +229 -0
- package/dist/arkui/migrate-semantics.js.map +1 -0
- package/dist/arkui/migrate-snapshot.d.ts +79 -0
- package/dist/arkui/migrate-snapshot.d.ts.map +1 -0
- package/dist/arkui/migrate-snapshot.js +340 -0
- package/dist/arkui/migrate-snapshot.js.map +1 -0
- package/dist/bin/fatal-handler.js +2 -2
- package/dist/bin/homegraph.js +111 -162
- package/dist/bin/homegraph.js.map +1 -1
- package/dist/bin/node-version-check.d.ts +6 -15
- package/dist/bin/node-version-check.d.ts.map +1 -1
- package/dist/bin/node-version-check.js +8 -37
- package/dist/bin/node-version-check.js.map +1 -1
- package/dist/db/index.d.ts +36 -1
- package/dist/db/index.d.ts.map +1 -1
- package/dist/db/index.js +124 -38
- 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 +52 -38
- package/dist/db/migrations.js.map +1 -1
- package/dist/db/queries.d.ts +42 -0
- package/dist/db/queries.d.ts.map +1 -1
- package/dist/db/queries.js +330 -163
- package/dist/db/queries.js.map +1 -1
- package/dist/db/schema.sql +208 -203
- package/dist/db/sqlite-adapter.d.ts +8 -3
- package/dist/db/sqlite-adapter.d.ts.map +1 -1
- package/dist/db/sqlite-adapter.js +45 -3
- package/dist/db/sqlite-adapter.js.map +1 -1
- package/dist/directory.js +5 -5
- package/dist/extraction/extraction-version.d.ts +1 -1
- package/dist/extraction/extraction-version.js +1 -1
- package/dist/extraction/generated-detection.d.ts +42 -11
- package/dist/extraction/generated-detection.d.ts.map +1 -1
- package/dist/extraction/generated-detection.js +141 -20
- package/dist/extraction/generated-detection.js.map +1 -1
- package/dist/extraction/index.d.ts +43 -1
- package/dist/extraction/index.d.ts.map +1 -1
- package/dist/extraction/index.js +150 -43
- package/dist/extraction/index.js.map +1 -1
- package/dist/extraction/languages/arkts.d.ts +70 -6
- package/dist/extraction/languages/arkts.d.ts.map +1 -1
- package/dist/extraction/languages/arkts.js +958 -108
- package/dist/extraction/languages/arkts.js.map +1 -1
- package/dist/extraction/wasm/tree-sitter-c_sharp.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-pascal.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-vbnet.wasm +0 -0
- package/dist/extraction/wasm-runtime-flags.d.ts.map +1 -1
- package/dist/extraction/wasm-runtime-flags.js +9 -6
- package/dist/extraction/wasm-runtime-flags.js.map +1 -1
- package/dist/graph-sources.d.ts +41 -0
- package/dist/graph-sources.d.ts.map +1 -0
- package/dist/graph-sources.js +82 -0
- package/dist/graph-sources.js.map +1 -0
- package/dist/index.d.ts +19 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +80 -9
- package/dist/index.js.map +1 -1
- package/dist/installer/index.d.ts.map +1 -1
- package/dist/installer/index.js +0 -48
- package/dist/installer/index.js.map +1 -1
- package/dist/installer/instructions-template.js +9 -9
- package/dist/installer/targets/antigravity.js +1 -1
- package/dist/installer/targets/antigravity.js.map +1 -1
- package/dist/installer/targets/deveco.js +1 -1
- package/dist/installer/targets/deveco.js.map +1 -1
- package/dist/installer/targets/hermes.d.ts +1 -1
- package/dist/installer/targets/hermes.js +2 -2
- package/dist/installer/targets/hermes.js.map +1 -1
- package/dist/installer/targets/opencode.js +1 -1
- package/dist/installer/targets/opencode.js.map +1 -1
- package/dist/installer/targets/shared.js +1 -1
- package/dist/installer/targets/shared.js.map +1 -1
- package/dist/mcp/daemon-paths.d.ts +5 -4
- package/dist/mcp/daemon-paths.d.ts.map +1 -1
- package/dist/mcp/daemon-paths.js +28 -13
- package/dist/mcp/daemon-paths.js.map +1 -1
- package/dist/mcp/daemon-registry.d.ts.map +1 -1
- package/dist/mcp/daemon-registry.js +4 -1
- package/dist/mcp/daemon-registry.js.map +1 -1
- package/dist/mcp/daemon.d.ts +1 -1
- package/dist/mcp/daemon.js +1 -1
- package/dist/mcp/diff-impact.d.ts +131 -0
- package/dist/mcp/diff-impact.d.ts.map +1 -0
- package/dist/mcp/diff-impact.js +385 -0
- package/dist/mcp/diff-impact.js.map +1 -0
- package/dist/mcp/engine.d.ts.map +1 -1
- package/dist/mcp/engine.js +12 -3
- package/dist/mcp/engine.js.map +1 -1
- package/dist/mcp/explore-dedup.d.ts +137 -0
- package/dist/mcp/explore-dedup.d.ts.map +1 -0
- package/dist/mcp/explore-dedup.js +236 -0
- package/dist/mcp/explore-dedup.js.map +1 -0
- package/dist/mcp/explore-session-state.d.ts +217 -0
- package/dist/mcp/explore-session-state.d.ts.map +1 -0
- package/dist/mcp/explore-session-state.js +322 -0
- package/dist/mcp/explore-session-state.js.map +1 -0
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +4 -7
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/liveness-watchdog.js +51 -51
- package/dist/mcp/proxy.d.ts.map +1 -1
- package/dist/mcp/proxy.js +5 -14
- package/dist/mcp/proxy.js.map +1 -1
- package/dist/mcp/query-worker.d.ts +1 -1
- package/dist/mcp/query-worker.js +1 -1
- package/dist/mcp/server-instructions.d.ts +7 -2
- package/dist/mcp/server-instructions.d.ts.map +1 -1
- package/dist/mcp/server-instructions.js +125 -47
- package/dist/mcp/server-instructions.js.map +1 -1
- package/dist/mcp/session.d.ts +14 -3
- package/dist/mcp/session.d.ts.map +1 -1
- package/dist/mcp/session.js +17 -14
- package/dist/mcp/session.js.map +1 -1
- package/dist/mcp/startup-handshake.d.ts +1 -1
- package/dist/mcp/startup-handshake.js +1 -1
- package/dist/mcp/tools.d.ts +138 -12
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +3279 -476
- package/dist/mcp/tools.js.map +1 -1
- package/dist/resolution/callback-synthesizer.d.ts +2 -1
- package/dist/resolution/callback-synthesizer.d.ts.map +1 -1
- package/dist/resolution/callback-synthesizer.js +153 -53
- package/dist/resolution/callback-synthesizer.js.map +1 -1
- package/dist/resolution/frameworks/arkts-entry.d.ts.map +1 -1
- package/dist/resolution/frameworks/arkts-entry.js +20 -9
- package/dist/resolution/frameworks/arkts-entry.js.map +1 -1
- package/dist/resolution/frameworks/arkts-napi.d.ts +14 -0
- package/dist/resolution/frameworks/arkts-napi.d.ts.map +1 -1
- package/dist/resolution/frameworks/arkts-napi.js +169 -49
- package/dist/resolution/frameworks/arkts-napi.js.map +1 -1
- package/dist/resolution/index.d.ts.map +1 -1
- package/dist/resolution/index.js +1 -1
- package/dist/resolution/index.js.map +1 -1
- package/dist/resolution/memory-budget.d.ts +33 -0
- package/dist/resolution/memory-budget.d.ts.map +1 -1
- package/dist/resolution/memory-budget.js +58 -0
- package/dist/resolution/memory-budget.js.map +1 -1
- package/dist/resolution/resolver-pool.d.ts +2 -0
- package/dist/resolution/resolver-pool.d.ts.map +1 -1
- package/dist/resolution/resolver-pool.js +4 -0
- package/dist/resolution/resolver-pool.js.map +1 -1
- package/dist/search/query-utils.d.ts +116 -4
- package/dist/search/query-utils.d.ts.map +1 -1
- package/dist/search/query-utils.js +869 -60
- package/dist/search/query-utils.js.map +1 -1
- package/dist/spec/db/commit-node.js +4 -4
- package/dist/spec/db/fragment-node.js +10 -10
- package/dist/spec/db/fts.js +8 -8
- package/dist/spec/db/relations.js +88 -88
- package/dist/spec/db/schema.js +6 -6
- package/dist/spec/db/schema.sql +121 -121
- package/dist/spec/db/spec-node.js +4 -4
- package/dist/spec/llm/prompts.js +53 -53
- package/dist/types.d.ts +8 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/ui/shimmer-progress.d.ts.map +1 -1
- package/dist/ui/shimmer-progress.js +4 -1
- package/dist/ui/shimmer-progress.js.map +1 -1
- package/dist/upgrade/index.d.ts +14 -26
- package/dist/upgrade/index.d.ts.map +1 -1
- package/dist/upgrade/index.js +28 -123
- package/dist/upgrade/index.js.map +1 -1
- package/dist/upgrade/remove-binary.d.ts +19 -19
- package/dist/upgrade/remove-binary.d.ts.map +1 -1
- package/dist/upgrade/remove-binary.js +20 -21
- package/dist/upgrade/remove-binary.js.map +1 -1
- package/dist/upgrade/update-check.d.ts +4 -3
- package/dist/upgrade/update-check.d.ts.map +1 -1
- package/dist/upgrade/update-check.js +4 -3
- package/dist/upgrade/update-check.js.map +1 -1
- package/package.json +65 -62
- package/dist/extraction/languages/arkts-viewtree.d.ts +0 -22
- package/dist/extraction/languages/arkts-viewtree.d.ts.map +0 -1
- package/dist/extraction/languages/arkts-viewtree.js +0 -133
- package/dist/extraction/languages/arkts-viewtree.js.map +0 -1
- package/dist/reasoning/config.d.ts +0 -45
- package/dist/reasoning/config.d.ts.map +0 -1
- package/dist/reasoning/config.js +0 -171
- package/dist/reasoning/config.js.map +0 -1
- package/dist/reasoning/credentials.d.ts +0 -5
- package/dist/reasoning/credentials.d.ts.map +0 -1
- package/dist/reasoning/credentials.js +0 -83
- package/dist/reasoning/credentials.js.map +0 -1
- package/dist/reasoning/login.d.ts +0 -21
- package/dist/reasoning/login.d.ts.map +0 -1
- package/dist/reasoning/login.js +0 -85
- package/dist/reasoning/login.js.map +0 -1
- package/dist/reasoning/reasoner.d.ts +0 -43
- package/dist/reasoning/reasoner.d.ts.map +0 -1
- package/dist/reasoning/reasoner.js +0 -308
- package/dist/reasoning/reasoner.js.map +0 -1
- package/dist/spec/evolve/llm-client.d.ts +0 -50
- package/dist/spec/evolve/llm-client.d.ts.map +0 -1
- package/dist/spec/evolve/llm-client.js +0 -176
- package/dist/spec/evolve/llm-client.js.map +0 -1
- package/dist/spec/evolve/logic-checker.d.ts +0 -12
- package/dist/spec/evolve/logic-checker.d.ts.map +0 -1
- package/dist/spec/evolve/logic-checker.js +0 -24
- package/dist/spec/evolve/logic-checker.js.map +0 -1
- package/dist/spec/llm/index.d.ts +0 -3
- package/dist/spec/llm/index.d.ts.map +0 -1
- package/dist/spec/llm/index.js +0 -11
- package/dist/spec/llm/index.js.map +0 -1
- package/dist/spec/mining/diff-parser.d.ts +0 -33
- package/dist/spec/mining/diff-parser.d.ts.map +0 -1
- package/dist/spec/mining/diff-parser.js +0 -166
- package/dist/spec/mining/diff-parser.js.map +0 -1
- package/dist/spec/mining/git-scanner.d.ts +0 -103
- package/dist/spec/mining/git-scanner.d.ts.map +0 -1
- package/dist/spec/mining/git-scanner.js +0 -307
- package/dist/spec/mining/git-scanner.js.map +0 -1
- package/dist/spec/mining/pipeline.d.ts +0 -53
- package/dist/spec/mining/pipeline.d.ts.map +0 -1
- package/dist/spec/mining/pipeline.js +0 -178
- package/dist/spec/mining/pipeline.js.map +0 -1
- package/dist/spec/mining/scope-resolver.d.ts +0 -45
- package/dist/spec/mining/scope-resolver.d.ts.map +0 -1
- package/dist/spec/mining/scope-resolver.js +0 -103
- package/dist/spec/mining/scope-resolver.js.map +0 -1
- package/dist/spec/mining/spec-extractor.d.ts +0 -69
- package/dist/spec/mining/spec-extractor.d.ts.map +0 -1
- package/dist/spec/mining/spec-extractor.js +0 -369
- package/dist/spec/mining/spec-extractor.js.map +0 -1
- package/dist/spec/utils.d.ts +0 -167
- package/dist/spec/utils.d.ts.map +0 -1
- package/dist/spec/utils.js +0 -463
- package/dist/spec/utils.js.map +0 -1
- package/dist/telemetry/index.d.ts +0 -143
- package/dist/telemetry/index.d.ts.map +0 -1
- package/dist/telemetry/index.js +0 -541
- package/dist/telemetry/index.js.map +0 -1
- package/scripts/_tmp-cfwk-resolve.log +0 -0
- package/scripts/_tmp-cfwk-sig.log +0 -0
- package/scripts/_tmp-cfwk-vt.log +0 -0
- package/scripts/add-lang/bench.sh +0 -60
- package/scripts/add-lang/check-grammar.mjs +0 -75
- package/scripts/add-lang/dump-ast.mjs +0 -103
- package/scripts/add-lang/verify-extraction.mjs +0 -70
- package/scripts/agent-eval/ab-adoption.sh +0 -91
- package/scripts/agent-eval/ab-hook.sh +0 -86
- package/scripts/agent-eval/ab-impl.sh +0 -78
- package/scripts/agent-eval/ab-new-vs-baseline.sh +0 -102
- package/scripts/agent-eval/ab-sufficiency.sh +0 -78
- package/scripts/agent-eval/arms-F.sh +0 -21
- package/scripts/agent-eval/arms-matrix.sh +0 -37
- package/scripts/agent-eval/audit.sh +0 -68
- package/scripts/agent-eval/bench-readme.sh +0 -28
- package/scripts/agent-eval/bench-why-repo.sh +0 -22
- package/scripts/agent-eval/block-read-hook.sh +0 -19
- package/scripts/agent-eval/hook-settings.json +0 -15
- package/scripts/agent-eval/itrun.sh +0 -120
- package/scripts/agent-eval/offload-eval-3arm.sh +0 -72
- package/scripts/agent-eval/offload-eval-cost.mjs +0 -133
- package/scripts/agent-eval/offload-eval-effort.mjs +0 -108
- package/scripts/agent-eval/offload-eval-frontload-matrix.sh +0 -25
- package/scripts/agent-eval/offload-eval-frontload.sh +0 -47
- package/scripts/agent-eval/offload-eval-ground-truth.json +0 -18
- package/scripts/agent-eval/offload-eval-hook.mjs +0 -84
- package/scripts/agent-eval/offload-eval-judge.mjs +0 -103
- package/scripts/agent-eval/offload-eval-matrix.sh +0 -20
- package/scripts/agent-eval/offload-eval-metrics.mjs +0 -94
- package/scripts/agent-eval/offload-eval-refs1.sh +0 -50
- package/scripts/agent-eval/offload-eval-setup.sh +0 -24
- package/scripts/agent-eval/offload-eval-styles.sh +0 -72
- package/scripts/agent-eval/offload-eval-summarize.mjs +0 -68
- package/scripts/agent-eval/offload-eval.md +0 -76
- package/scripts/agent-eval/parse-arms.mjs +0 -116
- package/scripts/agent-eval/parse-bench-readme.mjs +0 -84
- package/scripts/agent-eval/parse-run.mjs +0 -45
- package/scripts/agent-eval/parse-session.mjs +0 -93
- package/scripts/agent-eval/probe-context.mjs +0 -21
- package/scripts/agent-eval/probe-explore.mjs +0 -40
- package/scripts/agent-eval/probe-node.mjs +0 -20
- package/scripts/agent-eval/probe-sweep.mjs +0 -119
- package/scripts/agent-eval/probe-trace.mjs +0 -20
- package/scripts/agent-eval/redirect-read-hook.sh +0 -38
- package/scripts/agent-eval/repro-concurrent-explore.mjs +0 -119
- package/scripts/agent-eval/repro-daemon-clients.mjs +0 -125
- package/scripts/agent-eval/run-agent.sh +0 -34
- package/scripts/agent-eval/run-all.sh +0 -75
- package/scripts/agent-eval/run-arms.sh +0 -56
- package/scripts/agent-eval/seq-matrix.mjs +0 -137
- package/scripts/bench-arkts-init-rss.log +0 -0
- package/scripts/build-bundle.sh +0 -123
- package/scripts/exp_boundary_eval/README.md +0 -247
- package/scripts/exp_boundary_eval/__pycache__/_utils.cpython-310.pyc +0 -0
- package/scripts/exp_boundary_eval/__pycache__/_utils.cpython-38.pyc +0 -0
- package/scripts/exp_boundary_eval/__pycache__/analyze.cpython-310.pyc +0 -0
- package/scripts/exp_boundary_eval/__pycache__/analyze.cpython-38.pyc +0 -0
- package/scripts/exp_boundary_eval/__pycache__/deveco_arm.cpython-38.pyc +0 -0
- package/scripts/exp_boundary_eval/__pycache__/run_all.cpython-310.pyc +0 -0
- package/scripts/exp_boundary_eval/__pycache__/run_all.cpython-38.pyc +0 -0
- package/scripts/exp_boundary_eval/__pycache__/run_one.cpython-310.pyc +0 -0
- package/scripts/exp_boundary_eval/__pycache__/run_one.cpython-38.pyc +0 -0
- package/scripts/exp_boundary_eval/__pycache__/run_session.cpython-310.pyc +0 -0
- package/scripts/exp_boundary_eval/__pycache__/run_session.cpython-38.pyc +0 -0
- package/scripts/exp_boundary_eval/__pycache__/setup.cpython-310.pyc +0 -0
- package/scripts/exp_boundary_eval/__pycache__/setup.cpython-38.pyc +0 -0
- package/scripts/exp_boundary_eval/__pycache__/win_mcp_launcher.cpython-38.pyc +0 -0
- package/scripts/exp_boundary_eval/_test_mcp_chain.py +0 -78
- package/scripts/exp_boundary_eval/_test_stdin.py +0 -8
- package/scripts/exp_boundary_eval/_utils.py +0 -1116
- package/scripts/exp_boundary_eval/analyze.py +0 -1313
- package/scripts/exp_boundary_eval/deveco_arm.py +0 -519
- package/scripts/exp_boundary_eval/run_all.py +0 -378
- package/scripts/exp_boundary_eval/run_one.py +0 -165
- package/scripts/exp_boundary_eval/run_session.py +0 -158
- package/scripts/exp_boundary_eval/setup.py +0 -120
- package/scripts/exp_boundary_eval/win_mcp_launcher.py +0 -73
- package/scripts/exp_boundary_eval/win_mcp_stdio_wrap.js +0 -36
- package/scripts/exp_boundary_eval/win_node_launcher.py +0 -24
- package/scripts/extract-release-notes.mjs +0 -130
- package/scripts/local-install.sh +0 -41
- package/scripts/npm-sdk.js +0 -75
- package/scripts/npm-shim.js +0 -275
- package/scripts/ohos-sdk-publish.mjs +0 -133
- package/scripts/pack-npm.sh +0 -119
- package/scripts/prepare-release.mjs +0 -270
- package/scripts/probe-arkts-mem-why-run.log +0 -0
- package/scripts/probe-banner-livecard-ir.log +0 -0
- package/scripts/probe-cfwk-ast.stderr.log +0 -0
- package/scripts/probe-cfwk-ast.stdout.log +0 -0
- package/scripts/probe-cfwk-attr-shape.log +0 -0
- package/scripts/probe-cfwk-cfgdump.stderr.log +0 -0
- package/scripts/probe-cfwk-cfgdump.stdout.log +0 -0
- package/scripts/probe-cfwk-cvc.stderr.log +0 -0
- package/scripts/probe-cfwk-cvc.stdout.log +0 -0
- package/scripts/probe-cfwk-diag2.log +0 -0
- package/scripts/probe-cfwk-diag3.log +0 -0
- package/scripts/probe-cfwk-fedbg.stderr.log +0 -0
- package/scripts/probe-cfwk-fedbg.stdout.log +0 -0
- package/scripts/probe-cfwk-fileresult.log +0 -0
- package/scripts/probe-cfwk-fix.stderr.log +0 -0
- package/scripts/probe-cfwk-fix.stdout.log +0 -0
- package/scripts/probe-cfwk-fix2.stderr.log +0 -0
- package/scripts/probe-cfwk-fix2.stdout.log +0 -0
- package/scripts/probe-cfwk-fix3.stderr.log +0 -0
- package/scripts/probe-cfwk-fix3.stdout.log +0 -0
- package/scripts/probe-cfwk-foreach.log +0 -0
- package/scripts/probe-cfwk-getmethod-throw.log +0 -0
- package/scripts/probe-cfwk-hg-extract.log +0 -0
- package/scripts/probe-cfwk-pr1003-noprior.stderr.log +0 -0
- package/scripts/probe-cfwk-pr1003-noprior.stdout.log +0 -0
- package/scripts/probe-cfwk-pr1003.stderr.log +0 -0
- package/scripts/probe-cfwk-pr1003.stdout.log +0 -0
- package/scripts/probe-cfwk-preroot-noprior.stderr.log +0 -0
- package/scripts/probe-cfwk-preroot-noprior.stdout.log +0 -0
- package/scripts/probe-cfwk-preroot-prior.stderr.log +0 -0
- package/scripts/probe-cfwk-preroot-prior.stdout.log +0 -0
- package/scripts/probe-cfwk-preroot-skipstate.stderr.log +0 -0
- package/scripts/probe-cfwk-preroot-skipstate.stdout.log +0 -0
- package/scripts/probe-cfwk-resolve-sim.log +0 -0
- package/scripts/probe-cfwk-tree-shape.log +0 -0
- package/scripts/probe-cfwk-walk-abort.log +0 -0
- package/scripts/probe-cfwk.log +0 -0
- package/scripts/probe-force-index.log +0 -0
- package/scripts/probe-no-force-index.log +0 -0
- package/scripts/probe-samefile-ir.stderr.log +0 -0
- package/scripts/probe-samefile-ir.stdout.log +0 -224
- package/scripts/probe-sdk-vs-project.log +0 -0
- package/scripts/probe-viewtree-downgrade.log +0 -0
package/dist/spec/db/schema.sql
CHANGED
|
@@ -1,121 +1,121 @@
|
|
|
1
|
-
-- Commit4Spec Schema for HomeGraph
|
|
2
|
-
-- Version 2
|
|
3
|
-
--
|
|
4
|
-
-- Independent tables that coexist alongside HomeGraph's `nodes`/`edges`
|
|
5
|
-
-- core graph. These tables form a three-layer Spec→Commit→CodeFragment
|
|
6
|
-
-- relationship model — a higher-level semantic overlay on the code graph.
|
|
7
|
-
--
|
|
8
|
-
-- FTS5 uses a standalone virtual table (not external content) because
|
|
9
|
-
-- Spec text needs CJK character-level segmentation before indexing.
|
|
10
|
-
|
|
11
|
-
-- =============================================================================
|
|
12
|
-
-- Entity Tables
|
|
13
|
-
-- =============================================================================
|
|
14
|
-
|
|
15
|
-
CREATE TABLE IF NOT EXISTS spec_nodes (
|
|
16
|
-
id TEXT PRIMARY KEY,
|
|
17
|
-
title TEXT NOT NULL,
|
|
18
|
-
subtitles TEXT NOT NULL, -- JSON array of markdown heading + preview
|
|
19
|
-
status TEXT NOT NULL DEFAULT 'active', -- 'active' | 'deprecated'
|
|
20
|
-
version INTEGER NOT NULL DEFAULT 1,
|
|
21
|
-
file_path TEXT NOT NULL,
|
|
22
|
-
timestamp INTEGER NOT NULL -- Unix epoch milliseconds
|
|
23
|
-
);
|
|
24
|
-
|
|
25
|
-
CREATE TABLE IF NOT EXISTS commit_nodes (
|
|
26
|
-
hash TEXT PRIMARY KEY, -- Full 40-char commit hash
|
|
27
|
-
message TEXT NOT NULL, -- First line of commit message
|
|
28
|
-
author TEXT NOT NULL,
|
|
29
|
-
timestamp INTEGER NOT NULL -- Unix epoch milliseconds
|
|
30
|
-
);
|
|
31
|
-
|
|
32
|
-
CREATE TABLE IF NOT EXISTS code_fragment_nodes (
|
|
33
|
-
id TEXT PRIMARY KEY, -- 12-char hex UUID prefix
|
|
34
|
-
change_type TEXT NOT NULL, -- 'ADD' | 'MODIFY' | 'DELETE'
|
|
35
|
-
file_path TEXT NOT NULL,
|
|
36
|
-
start_line INTEGER NOT NULL,
|
|
37
|
-
end_line INTEGER NOT NULL,
|
|
38
|
-
code_diff TEXT NOT NULL -- Unified diff text
|
|
39
|
-
);
|
|
40
|
-
|
|
41
|
-
-- =============================================================================
|
|
42
|
-
-- Relation Tables
|
|
43
|
-
-- =============================================================================
|
|
44
|
-
|
|
45
|
-
CREATE TABLE IF NOT EXISTS spec_commit_relations (
|
|
46
|
-
spec_id TEXT NOT NULL,
|
|
47
|
-
commit_hash TEXT NOT NULL,
|
|
48
|
-
relation_type TEXT NOT NULL, -- 'GENERATE' | 'SUMMARIZED_FROM'
|
|
49
|
-
PRIMARY KEY (spec_id, commit_hash, relation_type),
|
|
50
|
-
FOREIGN KEY (spec_id) REFERENCES spec_nodes(id) ON DELETE CASCADE,
|
|
51
|
-
FOREIGN KEY (commit_hash) REFERENCES commit_nodes(hash) ON DELETE CASCADE
|
|
52
|
-
);
|
|
53
|
-
|
|
54
|
-
CREATE TABLE IF NOT EXISTS commit_fragment_relations (
|
|
55
|
-
commit_hash TEXT NOT NULL,
|
|
56
|
-
fragment_id TEXT NOT NULL,
|
|
57
|
-
relation_type TEXT NOT NULL,
|
|
58
|
-
PRIMARY KEY (commit_hash, fragment_id, relation_type),
|
|
59
|
-
FOREIGN KEY (commit_hash) REFERENCES commit_nodes(hash) ON DELETE CASCADE,
|
|
60
|
-
FOREIGN KEY (fragment_id) REFERENCES code_fragment_nodes(id) ON DELETE CASCADE
|
|
61
|
-
);
|
|
62
|
-
|
|
63
|
-
CREATE TABLE IF NOT EXISTS spec_spec_relations (
|
|
64
|
-
source_id TEXT NOT NULL,
|
|
65
|
-
target_id TEXT NOT NULL,
|
|
66
|
-
relation_type TEXT NOT NULL, -- 'SIMILAR_TO' | 'EVOLVED_FROM'
|
|
67
|
-
PRIMARY KEY (source_id, target_id, relation_type),
|
|
68
|
-
FOREIGN KEY (source_id) REFERENCES spec_nodes(id) ON DELETE CASCADE,
|
|
69
|
-
FOREIGN KEY (target_id) REFERENCES spec_nodes(id) ON DELETE CASCADE
|
|
70
|
-
);
|
|
71
|
-
|
|
72
|
-
-- =============================================================================
|
|
73
|
-
-- Full-Text Search (standalone — CJK-segmented on insert)
|
|
74
|
-
-- =============================================================================
|
|
75
|
-
|
|
76
|
-
CREATE VIRTUAL TABLE IF NOT EXISTS specs_fts USING fts5(
|
|
77
|
-
id,
|
|
78
|
-
title,
|
|
79
|
-
subtitles
|
|
80
|
-
);
|
|
81
|
-
|
|
82
|
-
-- NOTE: `runSpecMigrations` in schema.ts mirrors some of this DDL to patch
|
|
83
|
-
-- pre-existing databases. Keep the two in sync when adding migrations.
|
|
84
|
-
|
|
85
|
-
CREATE VIRTUAL TABLE IF NOT EXISTS code_fragments_fts USING fts5(
|
|
86
|
-
id,
|
|
87
|
-
file_path,
|
|
88
|
-
code_diff
|
|
89
|
-
);
|
|
90
|
-
|
|
91
|
-
-- =============================================================================
|
|
92
|
-
-- Indexes
|
|
93
|
-
-- =============================================================================
|
|
94
|
-
|
|
95
|
-
CREATE INDEX IF NOT EXISTS idx_spec_nodes_status ON spec_nodes(status);
|
|
96
|
-
CREATE INDEX IF NOT EXISTS idx_spec_nodes_file_path ON spec_nodes(file_path);
|
|
97
|
-
CREATE INDEX IF NOT EXISTS idx_commit_nodes_timestamp ON commit_nodes(timestamp);
|
|
98
|
-
CREATE INDEX IF NOT EXISTS idx_code_fragment_file_path ON code_fragment_nodes(file_path);
|
|
99
|
-
CREATE INDEX IF NOT EXISTS idx_code_fragment_path_lines ON code_fragment_nodes(file_path, start_line, end_line);
|
|
100
|
-
CREATE INDEX IF NOT EXISTS idx_scr_spec_id ON spec_commit_relations(spec_id);
|
|
101
|
-
CREATE INDEX IF NOT EXISTS idx_scr_commit_hash ON spec_commit_relations(commit_hash);
|
|
102
|
-
CREATE INDEX IF NOT EXISTS idx_cfr_commit_hash ON commit_fragment_relations(commit_hash);
|
|
103
|
-
CREATE INDEX IF NOT EXISTS idx_cfr_fragment_id ON commit_fragment_relations(fragment_id);
|
|
104
|
-
CREATE INDEX IF NOT EXISTS idx_ssr_source ON spec_spec_relations(source_id);
|
|
105
|
-
CREATE INDEX IF NOT EXISTS idx_ssr_target ON spec_spec_relations(target_id);
|
|
106
|
-
|
|
107
|
-
-- =============================================================================
|
|
108
|
-
-- Schema Version
|
|
109
|
-
-- =============================================================================
|
|
110
|
-
|
|
111
|
-
CREATE TABLE IF NOT EXISTS spec_schema_versions (
|
|
112
|
-
version INTEGER PRIMARY KEY,
|
|
113
|
-
applied_at INTEGER NOT NULL,
|
|
114
|
-
description TEXT
|
|
115
|
-
);
|
|
116
|
-
|
|
117
|
-
INSERT OR IGNORE INTO spec_schema_versions (version, applied_at, description)
|
|
118
|
-
VALUES (1, strftime('%s', 'now') * 1000, 'Initial Commit4Spec schema');
|
|
119
|
-
|
|
120
|
-
INSERT OR IGNORE INTO spec_schema_versions (version, applied_at, description)
|
|
121
|
-
VALUES (2, strftime('%s', 'now') * 1000, 'Add code_fragments_fts for content-based fragment search');
|
|
1
|
+
-- Commit4Spec Schema for HomeGraph
|
|
2
|
+
-- Version 2
|
|
3
|
+
--
|
|
4
|
+
-- Independent tables that coexist alongside HomeGraph's `nodes`/`edges`
|
|
5
|
+
-- core graph. These tables form a three-layer Spec→Commit→CodeFragment
|
|
6
|
+
-- relationship model — a higher-level semantic overlay on the code graph.
|
|
7
|
+
--
|
|
8
|
+
-- FTS5 uses a standalone virtual table (not external content) because
|
|
9
|
+
-- Spec text needs CJK character-level segmentation before indexing.
|
|
10
|
+
|
|
11
|
+
-- =============================================================================
|
|
12
|
+
-- Entity Tables
|
|
13
|
+
-- =============================================================================
|
|
14
|
+
|
|
15
|
+
CREATE TABLE IF NOT EXISTS spec_nodes (
|
|
16
|
+
id TEXT PRIMARY KEY,
|
|
17
|
+
title TEXT NOT NULL,
|
|
18
|
+
subtitles TEXT NOT NULL, -- JSON array of markdown heading + preview
|
|
19
|
+
status TEXT NOT NULL DEFAULT 'active', -- 'active' | 'deprecated'
|
|
20
|
+
version INTEGER NOT NULL DEFAULT 1,
|
|
21
|
+
file_path TEXT NOT NULL,
|
|
22
|
+
timestamp INTEGER NOT NULL -- Unix epoch milliseconds
|
|
23
|
+
);
|
|
24
|
+
|
|
25
|
+
CREATE TABLE IF NOT EXISTS commit_nodes (
|
|
26
|
+
hash TEXT PRIMARY KEY, -- Full 40-char commit hash
|
|
27
|
+
message TEXT NOT NULL, -- First line of commit message
|
|
28
|
+
author TEXT NOT NULL,
|
|
29
|
+
timestamp INTEGER NOT NULL -- Unix epoch milliseconds
|
|
30
|
+
);
|
|
31
|
+
|
|
32
|
+
CREATE TABLE IF NOT EXISTS code_fragment_nodes (
|
|
33
|
+
id TEXT PRIMARY KEY, -- 12-char hex UUID prefix
|
|
34
|
+
change_type TEXT NOT NULL, -- 'ADD' | 'MODIFY' | 'DELETE'
|
|
35
|
+
file_path TEXT NOT NULL,
|
|
36
|
+
start_line INTEGER NOT NULL,
|
|
37
|
+
end_line INTEGER NOT NULL,
|
|
38
|
+
code_diff TEXT NOT NULL -- Unified diff text
|
|
39
|
+
);
|
|
40
|
+
|
|
41
|
+
-- =============================================================================
|
|
42
|
+
-- Relation Tables
|
|
43
|
+
-- =============================================================================
|
|
44
|
+
|
|
45
|
+
CREATE TABLE IF NOT EXISTS spec_commit_relations (
|
|
46
|
+
spec_id TEXT NOT NULL,
|
|
47
|
+
commit_hash TEXT NOT NULL,
|
|
48
|
+
relation_type TEXT NOT NULL, -- 'GENERATE' | 'SUMMARIZED_FROM'
|
|
49
|
+
PRIMARY KEY (spec_id, commit_hash, relation_type),
|
|
50
|
+
FOREIGN KEY (spec_id) REFERENCES spec_nodes(id) ON DELETE CASCADE,
|
|
51
|
+
FOREIGN KEY (commit_hash) REFERENCES commit_nodes(hash) ON DELETE CASCADE
|
|
52
|
+
);
|
|
53
|
+
|
|
54
|
+
CREATE TABLE IF NOT EXISTS commit_fragment_relations (
|
|
55
|
+
commit_hash TEXT NOT NULL,
|
|
56
|
+
fragment_id TEXT NOT NULL,
|
|
57
|
+
relation_type TEXT NOT NULL,
|
|
58
|
+
PRIMARY KEY (commit_hash, fragment_id, relation_type),
|
|
59
|
+
FOREIGN KEY (commit_hash) REFERENCES commit_nodes(hash) ON DELETE CASCADE,
|
|
60
|
+
FOREIGN KEY (fragment_id) REFERENCES code_fragment_nodes(id) ON DELETE CASCADE
|
|
61
|
+
);
|
|
62
|
+
|
|
63
|
+
CREATE TABLE IF NOT EXISTS spec_spec_relations (
|
|
64
|
+
source_id TEXT NOT NULL,
|
|
65
|
+
target_id TEXT NOT NULL,
|
|
66
|
+
relation_type TEXT NOT NULL, -- 'SIMILAR_TO' | 'EVOLVED_FROM'
|
|
67
|
+
PRIMARY KEY (source_id, target_id, relation_type),
|
|
68
|
+
FOREIGN KEY (source_id) REFERENCES spec_nodes(id) ON DELETE CASCADE,
|
|
69
|
+
FOREIGN KEY (target_id) REFERENCES spec_nodes(id) ON DELETE CASCADE
|
|
70
|
+
);
|
|
71
|
+
|
|
72
|
+
-- =============================================================================
|
|
73
|
+
-- Full-Text Search (standalone — CJK-segmented on insert)
|
|
74
|
+
-- =============================================================================
|
|
75
|
+
|
|
76
|
+
CREATE VIRTUAL TABLE IF NOT EXISTS specs_fts USING fts5(
|
|
77
|
+
id,
|
|
78
|
+
title,
|
|
79
|
+
subtitles
|
|
80
|
+
);
|
|
81
|
+
|
|
82
|
+
-- NOTE: `runSpecMigrations` in schema.ts mirrors some of this DDL to patch
|
|
83
|
+
-- pre-existing databases. Keep the two in sync when adding migrations.
|
|
84
|
+
|
|
85
|
+
CREATE VIRTUAL TABLE IF NOT EXISTS code_fragments_fts USING fts5(
|
|
86
|
+
id,
|
|
87
|
+
file_path,
|
|
88
|
+
code_diff
|
|
89
|
+
);
|
|
90
|
+
|
|
91
|
+
-- =============================================================================
|
|
92
|
+
-- Indexes
|
|
93
|
+
-- =============================================================================
|
|
94
|
+
|
|
95
|
+
CREATE INDEX IF NOT EXISTS idx_spec_nodes_status ON spec_nodes(status);
|
|
96
|
+
CREATE INDEX IF NOT EXISTS idx_spec_nodes_file_path ON spec_nodes(file_path);
|
|
97
|
+
CREATE INDEX IF NOT EXISTS idx_commit_nodes_timestamp ON commit_nodes(timestamp);
|
|
98
|
+
CREATE INDEX IF NOT EXISTS idx_code_fragment_file_path ON code_fragment_nodes(file_path);
|
|
99
|
+
CREATE INDEX IF NOT EXISTS idx_code_fragment_path_lines ON code_fragment_nodes(file_path, start_line, end_line);
|
|
100
|
+
CREATE INDEX IF NOT EXISTS idx_scr_spec_id ON spec_commit_relations(spec_id);
|
|
101
|
+
CREATE INDEX IF NOT EXISTS idx_scr_commit_hash ON spec_commit_relations(commit_hash);
|
|
102
|
+
CREATE INDEX IF NOT EXISTS idx_cfr_commit_hash ON commit_fragment_relations(commit_hash);
|
|
103
|
+
CREATE INDEX IF NOT EXISTS idx_cfr_fragment_id ON commit_fragment_relations(fragment_id);
|
|
104
|
+
CREATE INDEX IF NOT EXISTS idx_ssr_source ON spec_spec_relations(source_id);
|
|
105
|
+
CREATE INDEX IF NOT EXISTS idx_ssr_target ON spec_spec_relations(target_id);
|
|
106
|
+
|
|
107
|
+
-- =============================================================================
|
|
108
|
+
-- Schema Version
|
|
109
|
+
-- =============================================================================
|
|
110
|
+
|
|
111
|
+
CREATE TABLE IF NOT EXISTS spec_schema_versions (
|
|
112
|
+
version INTEGER PRIMARY KEY,
|
|
113
|
+
applied_at INTEGER NOT NULL,
|
|
114
|
+
description TEXT
|
|
115
|
+
);
|
|
116
|
+
|
|
117
|
+
INSERT OR IGNORE INTO spec_schema_versions (version, applied_at, description)
|
|
118
|
+
VALUES (1, strftime('%s', 'now') * 1000, 'Initial Commit4Spec schema');
|
|
119
|
+
|
|
120
|
+
INSERT OR IGNORE INTO spec_schema_versions (version, applied_at, description)
|
|
121
|
+
VALUES (2, strftime('%s', 'now') * 1000, 'Add code_fragments_fts for content-based fragment search');
|
|
@@ -50,10 +50,10 @@ function rowToSpec(row) {
|
|
|
50
50
|
*/
|
|
51
51
|
function insertSpecNode(db, node) {
|
|
52
52
|
const subtitlesJson = JSON.stringify(node.subtitles);
|
|
53
|
-
db.prepare(`
|
|
54
|
-
INSERT OR REPLACE INTO spec_nodes
|
|
55
|
-
(id, title, subtitles, status, version, file_path, timestamp)
|
|
56
|
-
VALUES (@id, @title, @subtitles, @status, @version, @filePath, @timestamp)
|
|
53
|
+
db.prepare(`
|
|
54
|
+
INSERT OR REPLACE INTO spec_nodes
|
|
55
|
+
(id, title, subtitles, status, version, file_path, timestamp)
|
|
56
|
+
VALUES (@id, @title, @subtitles, @status, @version, @filePath, @timestamp)
|
|
57
57
|
`).run({
|
|
58
58
|
id: node.id,
|
|
59
59
|
title: node.title,
|
package/dist/spec/llm/prompts.js
CHANGED
|
@@ -13,43 +13,43 @@ const utils_1 = require("../utils");
|
|
|
13
13
|
// Spec generation prompt + template (mine pipeline)
|
|
14
14
|
// =============================================================================
|
|
15
15
|
/** Default markdown template for generated spec documents. */
|
|
16
|
-
exports.DEFAULT_SPEC_TEMPLATE = `# Spec: {{title}}
|
|
17
|
-
|
|
18
|
-
## Summary
|
|
19
|
-
{{summary}}
|
|
20
|
-
|
|
21
|
-
## Motivation
|
|
22
|
-
{{motivation}}
|
|
23
|
-
|
|
24
|
-
## Specification
|
|
25
|
-
|
|
26
|
-
### Functional Requirements
|
|
27
|
-
{{functional_requirements}}
|
|
28
|
-
|
|
29
|
-
### Acceptance Criteria (EARS format)
|
|
30
|
-
{{acceptance_criteria}}
|
|
31
|
-
|
|
32
|
-
## Implementation Notes
|
|
33
|
-
|
|
34
|
-
### Related Commits
|
|
35
|
-
{{commit_list}}
|
|
36
|
-
|
|
37
|
-
### Affected Files
|
|
38
|
-
{{file_list}}
|
|
39
|
-
|
|
40
|
-
### Key Symbols
|
|
41
|
-
{{symbol_list}}
|
|
16
|
+
exports.DEFAULT_SPEC_TEMPLATE = `# Spec: {{title}}
|
|
17
|
+
|
|
18
|
+
## Summary
|
|
19
|
+
{{summary}}
|
|
20
|
+
|
|
21
|
+
## Motivation
|
|
22
|
+
{{motivation}}
|
|
23
|
+
|
|
24
|
+
## Specification
|
|
25
|
+
|
|
26
|
+
### Functional Requirements
|
|
27
|
+
{{functional_requirements}}
|
|
28
|
+
|
|
29
|
+
### Acceptance Criteria (EARS format)
|
|
30
|
+
{{acceptance_criteria}}
|
|
31
|
+
|
|
32
|
+
## Implementation Notes
|
|
33
|
+
|
|
34
|
+
### Related Commits
|
|
35
|
+
{{commit_list}}
|
|
36
|
+
|
|
37
|
+
### Affected Files
|
|
38
|
+
{{file_list}}
|
|
39
|
+
|
|
40
|
+
### Key Symbols
|
|
41
|
+
{{symbol_list}}
|
|
42
42
|
`;
|
|
43
43
|
/** System prompt for LLM spec generation from a commit cluster. */
|
|
44
|
-
exports.SPEC_GENERATION_SYSTEM_PROMPT = `You are a technical documentation writer specializing in software design specifications. Given a cluster of related Git commits, generate a design specification in markdown format.
|
|
45
|
-
|
|
46
|
-
Guidelines:
|
|
47
|
-
- Focus on WHAT was built, not HOW it was implemented
|
|
48
|
-
- Use EARS (Easy Approach to Requirements Syntax) for acceptance criteria
|
|
49
|
-
- Be specific — reference real symbols, files, and commit messages
|
|
50
|
-
- Keep the spec concise but complete
|
|
51
|
-
- Output ONLY the spec document, no preamble or commentary
|
|
52
|
-
|
|
44
|
+
exports.SPEC_GENERATION_SYSTEM_PROMPT = `You are a technical documentation writer specializing in software design specifications. Given a cluster of related Git commits, generate a design specification in markdown format.
|
|
45
|
+
|
|
46
|
+
Guidelines:
|
|
47
|
+
- Focus on WHAT was built, not HOW it was implemented
|
|
48
|
+
- Use EARS (Easy Approach to Requirements Syntax) for acceptance criteria
|
|
49
|
+
- Be specific — reference real symbols, files, and commit messages
|
|
50
|
+
- Keep the spec concise but complete
|
|
51
|
+
- Output ONLY the spec document, no preamble or commentary
|
|
52
|
+
|
|
53
53
|
Output format — fill in the template exactly. Replace {{placeholders}} with real content. Do NOT include the placeholder braces in your output.`;
|
|
54
54
|
// =============================================================================
|
|
55
55
|
// Cluster spec evaluation prompt
|
|
@@ -58,24 +58,24 @@ Output format — fill in the template exactly. Replace {{placeholders}} with re
|
|
|
58
58
|
* (~16K tokens @ ~0.25 token/char). Exceedingly large spec documents are
|
|
59
59
|
* truncated to prevent context-window overflow. */
|
|
60
60
|
const MAX_SPEC_CONTENT_CHARS = 64000;
|
|
61
|
-
exports.SPEC_EVALUATION_CLUSTER_SYSTEM_PROMPT = `You are a technical documentation maintainer. Your task is to evaluate whether a GROUP of related git commits requires updating a software design specification.
|
|
62
|
-
|
|
63
|
-
Given the current content and a summary of multiple commits that affect this spec, determine:
|
|
64
|
-
1. Whether the spec needs to be updated (UPDATE), deprecated (DEPRECATE), or left unchanged (UNCHANGED).
|
|
65
|
-
2. If UPDATE: provide the new title, subtitles (as an array of heading-preview strings), and full rewritten spec_content that incorporates the changes from all commits.
|
|
66
|
-
3. If DEPRECATE: provide a brief explanation in the spec_content field.
|
|
67
|
-
|
|
68
|
-
Key considerations for batch evaluation:
|
|
69
|
-
- Multiple commits may partially overlap in their changes — synthesize the combined impact.
|
|
70
|
-
- Some commits may be bug fixes that revert earlier changes — look for the net effect.
|
|
71
|
-
- If the combined changes fundamentally alter the spec's scope, prefer DEPRECATE over UPDATE.
|
|
72
|
-
|
|
73
|
-
Response format (JSON):
|
|
74
|
-
{
|
|
75
|
-
"action": "UPDATE" | "DEPRECATE" | "UNCHANGED",
|
|
76
|
-
"title": "New spec title (for UPDATE)",
|
|
77
|
-
"subtitles": ["heading1 → heading2 - preview", ...],
|
|
78
|
-
"spec_content": "Full rewritten markdown content (for UPDATE) or deprecation reason (for DEPRECATE)"
|
|
61
|
+
exports.SPEC_EVALUATION_CLUSTER_SYSTEM_PROMPT = `You are a technical documentation maintainer. Your task is to evaluate whether a GROUP of related git commits requires updating a software design specification.
|
|
62
|
+
|
|
63
|
+
Given the current content and a summary of multiple commits that affect this spec, determine:
|
|
64
|
+
1. Whether the spec needs to be updated (UPDATE), deprecated (DEPRECATE), or left unchanged (UNCHANGED).
|
|
65
|
+
2. If UPDATE: provide the new title, subtitles (as an array of heading-preview strings), and full rewritten spec_content that incorporates the changes from all commits.
|
|
66
|
+
3. If DEPRECATE: provide a brief explanation in the spec_content field.
|
|
67
|
+
|
|
68
|
+
Key considerations for batch evaluation:
|
|
69
|
+
- Multiple commits may partially overlap in their changes — synthesize the combined impact.
|
|
70
|
+
- Some commits may be bug fixes that revert earlier changes — look for the net effect.
|
|
71
|
+
- If the combined changes fundamentally alter the spec's scope, prefer DEPRECATE over UPDATE.
|
|
72
|
+
|
|
73
|
+
Response format (JSON):
|
|
74
|
+
{
|
|
75
|
+
"action": "UPDATE" | "DEPRECATE" | "UNCHANGED",
|
|
76
|
+
"title": "New spec title (for UPDATE)",
|
|
77
|
+
"subtitles": ["heading1 → heading2 - preview", ...],
|
|
78
|
+
"spec_content": "Full rewritten markdown content (for UPDATE) or deprecation reason (for DEPRECATE)"
|
|
79
79
|
}`;
|
|
80
80
|
/**
|
|
81
81
|
* Build the user prompt for cluster-based spec evaluation.
|
package/dist/types.d.ts
CHANGED
|
@@ -114,6 +114,11 @@ export interface FileRecord {
|
|
|
114
114
|
nodeCount: number;
|
|
115
115
|
/** Any extraction errors */
|
|
116
116
|
errors?: ExtractionError[];
|
|
117
|
+
/**
|
|
118
|
+
* Tool-generated source (path convention OR content banner), decided at
|
|
119
|
+
* index time. Used as a ranking demotion signal — not a hard filter.
|
|
120
|
+
*/
|
|
121
|
+
generated?: boolean;
|
|
117
122
|
}
|
|
118
123
|
/**
|
|
119
124
|
* Result from parsing a source file
|
|
@@ -337,6 +342,9 @@ export interface GraphStats {
|
|
|
337
342
|
filesByLanguage: Record<Language, number>;
|
|
338
343
|
/** Database size in bytes */
|
|
339
344
|
dbSizeBytes: number;
|
|
345
|
+
/** Size of the SQLite `-wal` sidecar in bytes (0 when absent). A WAL far
|
|
346
|
+
* larger than the DB at rest means killed sessions left it behind (#1431). */
|
|
347
|
+
walSizeBytes: number;
|
|
340
348
|
/** Last update timestamp */
|
|
341
349
|
lastUpdated: number;
|
|
342
350
|
}
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,8PAuBb,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,QAAQ,GAChB,UAAU,GACV,OAAO,GACP,SAAS,GACT,SAAS,GACT,SAAS,GACT,YAAY,GACZ,YAAY,GACZ,SAAS,GACT,SAAS,GACT,cAAc,GACd,WAAW,GACX,WAAW,CAAC;AAEhB;;;GAGG;AACH,eAAO,MAAM,SAAS,8YA4CZ,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAMlD;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,6DAA6D;IAC7D,EAAE,EAAE,MAAM,CAAC;IAEX,2BAA2B;IAC3B,IAAI,EAAE,QAAQ,CAAC;IAEf,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IAEb,6EAA6E;IAC7E,aAAa,EAAE,MAAM,CAAC;IAEtB,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IAEjB,2BAA2B;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IAEnB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAElB,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAEhB,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IAEpB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAElB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,0BAA0B;IAC1B,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC;IAE7D,iCAAiC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,iCAAiC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB,8BAA8B;IAC9B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IAEf,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IAEf,2BAA2B;IAC3B,IAAI,EAAE,QAAQ,CAAC;IAEf,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,gCAAgC;IAChC,UAAU,CAAC,EAAE,aAAa,GAAG,MAAM,GAAG,WAAW,CAAC;CACnD;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IAEb,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;IAEpB,wBAAwB;IACxB,QAAQ,EAAE,QAAQ,CAAC;IAEnB,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IAEb,kCAAkC;IAClC,UAAU,EAAE,MAAM,CAAC;IAEnB,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;IAElB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAElB,4BAA4B;IAC5B,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shimmer-progress.d.ts","sourceRoot":"","sources":["../../src/ui/shimmer-progress.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shimmer-progress.d.ts","sourceRoot":"","sources":["../../src/ui/shimmer-progress.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAChC;AAeD,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC;IAC9C,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,wBAAgB,qBAAqB,IAAI,eAAe,CA0DvD"}
|
|
@@ -40,6 +40,7 @@ const PHASE_NAMES = {
|
|
|
40
40
|
scanning: 'Scanning files',
|
|
41
41
|
parsing: 'Parsing code',
|
|
42
42
|
'arkts-batch': 'Parsing ArkTS',
|
|
43
|
+
'ohos-api': 'Building OHOS API db',
|
|
43
44
|
storing: 'Storing data',
|
|
44
45
|
resolving: 'Resolving refs',
|
|
45
46
|
};
|
|
@@ -64,7 +65,9 @@ function createShimmerProgress() {
|
|
|
64
65
|
onProgress(progress) {
|
|
65
66
|
const phaseName = progress.phase === 'arkts-batch'
|
|
66
67
|
? formatArkTSBatchMessage(progress)
|
|
67
|
-
:
|
|
68
|
+
: progress.phase === 'ohos-api' && progress.currentFile
|
|
69
|
+
? `${PHASE_NAMES['ohos-api']} (${progress.currentFile})`
|
|
70
|
+
: PHASE_NAMES[progress.phase] || progress.phase;
|
|
68
71
|
if (progress.phase !== lastPhase && lastPhase) {
|
|
69
72
|
worker.postMessage({ type: 'finish-phase' });
|
|
70
73
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shimmer-progress.js","sourceRoot":"","sources":["../../src/ui/shimmer-progress.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"shimmer-progress.js","sourceRoot":"","sources":["../../src/ui/shimmer-progress.ts"],"names":[],"mappings":"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"}
|
package/dist/upgrade/index.d.ts
CHANGED
|
@@ -3,29 +3,20 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Self-update for the CLI, whatever way it was installed:
|
|
5
5
|
*
|
|
6
|
-
* - **
|
|
7
|
-
* (Linux/macOS) or `install.ps1` (Windows). Upgrading re-runs the SAME
|
|
8
|
-
* canonical installer script (single source of truth) so the download /
|
|
9
|
-
* version-resolution / PATH logic never drifts between first-install and
|
|
10
|
-
* upgrade.
|
|
11
|
-
* - **npm** — installed via `npm i -g homegraph`. Upgrading
|
|
12
|
-
* shells out to npm.
|
|
6
|
+
* - **npm** — installed via `npm i -g homegraph`. Upgrading shells out to npm.
|
|
13
7
|
* - **npx** — ephemeral; nothing to upgrade (next `npx` fetches latest).
|
|
14
8
|
* - **source** — a git checkout running its own `dist/`; `git pull` + rebuild.
|
|
9
|
+
* - **bundle** — legacy self-contained runtime+app layout (vendored node +
|
|
10
|
+
* launcher). Standalone installers are retired; upgrade refuses and points
|
|
11
|
+
* the user at `npm i -g homegraph` (and `homegraph uninstall` can still
|
|
12
|
+
* remove leftover bundle artifacts).
|
|
15
13
|
*
|
|
16
|
-
* Detection is structural (see `detectInstallMethod`): a bundle
|
|
17
|
-
* vendored `node` binary and a `bin/homegraph` launcher next to its
|
|
18
|
-
* we can recognize it from the running file's path without a marker
|
|
19
|
-
*
|
|
20
|
-
* Windows wrinkle: a running `node.exe` is locked and can't be deleted, so the
|
|
21
|
-
* bundle's `current\` dir can't be overwritten in place by the process doing
|
|
22
|
-
* the upgrade. We therefore spawn a DETACHED helper that waits for this
|
|
23
|
-
* process to exit (releasing the lock), then runs `install.ps1`. This is the
|
|
24
|
-
* conventional Windows self-update dance (rustup/nvm-windows do the same).
|
|
14
|
+
* Detection is structural (see `detectInstallMethod`): a leftover bundle still
|
|
15
|
+
* carries a vendored `node` binary and a `bin/homegraph` launcher next to its
|
|
16
|
+
* `lib/`, so we can recognize it from the running file's path without a marker.
|
|
25
17
|
*/
|
|
26
18
|
export declare const REPO = "homegraph/homegraph";
|
|
27
19
|
export declare const NPM_PACKAGE = "homegraph";
|
|
28
|
-
export declare const INSTALL_SH_URL = "https://raw.githubusercontent.com/homegraph/homegraph/main/install.sh";
|
|
29
20
|
export type InstallMethod = {
|
|
30
21
|
kind: 'bundle';
|
|
31
22
|
os: 'unix' | 'windows';
|
|
@@ -85,10 +76,9 @@ export declare function parseLatestTagFromLocation(location: string | undefined)
|
|
|
85
76
|
* Resolve the latest release tag (e.g. `v0.9.9`).
|
|
86
77
|
*
|
|
87
78
|
* Primary: read the redirect `Location` from `github.com/<repo>/releases/latest`
|
|
88
|
-
* —
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
* be read.
|
|
79
|
+
* — the unauthenticated GitHub API is rate-limited to 60 req/h/IP and 403s on
|
|
80
|
+
* shared/cloud hosts (issue #325); the redirect has no such limit. Fall back
|
|
81
|
+
* to the API only if the redirect can't be read.
|
|
92
82
|
*/
|
|
93
83
|
export declare function resolveLatestVersion(repo?: string, timeoutMs?: number): Promise<string>;
|
|
94
84
|
export interface UpgradeOptions {
|
|
@@ -128,13 +118,11 @@ type VersionProbe = 'match' | 'mismatch' | 'inconclusive';
|
|
|
128
118
|
* Prove the upgrade actually took: spawn the `homegraph` this terminal's PATH
|
|
129
119
|
* resolves and compare its reported version to the target. Catches the silent
|
|
130
120
|
* failure mode where ANOTHER install shadows the one we just upgraded (issue
|
|
131
|
-
* #1071 — e.g. a stale
|
|
132
|
-
*
|
|
133
|
-
*
|
|
121
|
+
* #1071 — e.g. a stale global copy earlier on PATH): the upgrade "succeeds"
|
|
122
|
+
* but `homegraph -v` — in this terminal and every future one — keeps serving
|
|
123
|
+
* the old version. Exported for unit tests.
|
|
134
124
|
*/
|
|
135
125
|
export declare function verifyResolvedVersion(latest: string, deps: UpgradeDeps): VersionProbe;
|
|
136
|
-
/** Build the in-place Windows upgrade script (exported for unit-testing). */
|
|
137
|
-
export declare function buildWindowsUpgradeScript(bundleRoot: string, version: string, arch: string): string;
|
|
138
126
|
/**
|
|
139
127
|
* How to invoke npm. On Windows npm is a .cmd batch file, which Node refuses
|
|
140
128
|
* to spawn without a shell (EINVAL since the CVE-2024-27980 hardening) — a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/upgrade/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/upgrade/index.ts"],"names":[],"mappings":"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"}
|