kirograph 0.27.2 → 0.28.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/README.md +14 -7
- package/dist/bin/commands/annotations.js +56 -0
- package/dist/bin/commands/annotations.js.map +7 -0
- package/dist/bin/commands/ast-rewrite.js +55 -0
- package/dist/bin/commands/ast-rewrite.js.map +7 -0
- package/dist/bin/commands/bench.js +103 -0
- package/dist/bin/commands/bench.js.map +7 -0
- package/dist/bin/commands/branch.js +133 -0
- package/dist/bin/commands/branch.js.map +7 -0
- package/dist/bin/commands/changelog.js +55 -0
- package/dist/bin/commands/changelog.js.map +7 -0
- package/dist/bin/commands/commit-context.js +55 -0
- package/dist/bin/commands/commit-context.js.map +7 -0
- package/dist/bin/commands/complexity.js +60 -0
- package/dist/bin/commands/complexity.js.map +7 -0
- package/dist/bin/commands/cost.js +146 -0
- package/dist/bin/commands/cost.js.map +7 -0
- package/dist/bin/commands/dependency-depth.js +55 -0
- package/dist/bin/commands/dependency-depth.js.map +7 -0
- package/dist/bin/commands/diff-context.js +55 -0
- package/dist/bin/commands/diff-context.js.map +7 -0
- package/dist/bin/commands/distribution.js +56 -0
- package/dist/bin/commands/distribution.js.map +7 -0
- package/dist/bin/commands/doc-coverage.js +56 -0
- package/dist/bin/commands/doc-coverage.js.map +7 -0
- package/dist/bin/commands/doctor.js +202 -0
- package/dist/bin/commands/doctor.js.map +7 -0
- package/dist/bin/commands/dsm.js +56 -0
- package/dist/bin/commands/dsm.js.map +7 -0
- package/dist/bin/commands/gini.js +55 -0
- package/dist/bin/commands/gini.js.map +7 -0
- package/dist/bin/commands/god-class.js +56 -0
- package/dist/bin/commands/god-class.js.map +7 -0
- package/dist/bin/commands/health.js +55 -0
- package/dist/bin/commands/health.js.map +7 -0
- package/dist/bin/commands/help.js +224 -45
- package/dist/bin/commands/help.js.map +2 -2
- package/dist/bin/commands/inheritance-depth.js +56 -0
- package/dist/bin/commands/inheritance-depth.js.map +7 -0
- package/dist/bin/commands/insert-at.js +55 -0
- package/dist/bin/commands/insert-at.js.map +7 -0
- package/dist/bin/commands/largest.js +56 -0
- package/dist/bin/commands/largest.js.map +7 -0
- package/dist/bin/commands/manifest.js +158 -0
- package/dist/bin/commands/manifest.js.map +7 -0
- package/dist/bin/commands/module-api.js +57 -0
- package/dist/bin/commands/module-api.js.map +7 -0
- package/dist/bin/commands/monitor.js +91 -0
- package/dist/bin/commands/monitor.js.map +7 -0
- package/dist/bin/commands/multi-replace.js +66 -0
- package/dist/bin/commands/multi-replace.js.map +7 -0
- package/dist/bin/commands/pr-context.js +55 -0
- package/dist/bin/commands/pr-context.js.map +7 -0
- package/dist/bin/commands/query.js +19 -1
- package/dist/bin/commands/query.js.map +3 -3
- package/dist/bin/commands/rank.js +56 -0
- package/dist/bin/commands/rank.js.map +7 -0
- package/dist/bin/commands/read.js +1 -1
- package/dist/bin/commands/read.js.map +2 -2
- package/dist/bin/commands/recursion.js +56 -0
- package/dist/bin/commands/recursion.js.map +7 -0
- package/dist/bin/commands/rename-preview.js +56 -0
- package/dist/bin/commands/rename-preview.js.map +7 -0
- package/dist/bin/commands/session.js +60 -0
- package/dist/bin/commands/session.js.map +7 -0
- package/dist/bin/commands/simplify-scan.js +56 -0
- package/dist/bin/commands/simplify-scan.js.map +7 -0
- package/dist/bin/commands/str-replace.js +55 -0
- package/dist/bin/commands/str-replace.js.map +7 -0
- package/dist/bin/commands/test-coverage.js +59 -0
- package/dist/bin/commands/test-coverage.js.map +7 -0
- package/dist/bin/commands/test-map.js +56 -0
- package/dist/bin/commands/test-map.js.map +7 -0
- package/dist/bin/commands/test-risk.js +59 -0
- package/dist/bin/commands/test-risk.js.map +7 -0
- package/dist/bin/commands/unused-imports.js +55 -0
- package/dist/bin/commands/unused-imports.js.map +7 -0
- package/dist/bin/commands/upgrade.js +78 -0
- package/dist/bin/commands/upgrade.js.map +7 -0
- package/dist/bin/installer/common.js +5 -1
- package/dist/bin/installer/common.js.map +2 -2
- package/dist/bin/installer/config-prompt.js +239 -93
- package/dist/bin/installer/config-prompt.js.map +3 -3
- package/dist/bin/installer/index.js +38 -6
- package/dist/bin/installer/index.js.map +2 -2
- package/dist/bin/installer/instructions.js +7 -11
- package/dist/bin/installer/instructions.js.map +2 -2
- package/dist/bin/installer/mcp.js.map +2 -2
- package/dist/bin/installer/steering.js +531 -100
- package/dist/bin/installer/steering.js.map +2 -2
- package/dist/bin/installer/targets/kiro.js +7 -3
- package/dist/bin/installer/targets/kiro.js.map +2 -2
- package/dist/bin/kirograph.js +73 -1
- package/dist/bin/kirograph.js.map +3 -3
- package/dist/config.js +26 -8
- package/dist/config.js.map +2 -2
- package/dist/core/branch-manager.js +111 -0
- package/dist/core/branch-manager.js.map +7 -0
- package/dist/core/pipeline.js +3 -3
- package/dist/core/pipeline.js.map +2 -2
- package/dist/db/database.js +34 -7
- package/dist/db/database.js.map +2 -2
- package/dist/db/schema.sql +7 -1
- package/dist/extraction/complexity.js +116 -0
- package/dist/extraction/complexity.js.map +7 -0
- package/dist/extraction/extractor.js +52 -1
- package/dist/extraction/extractor.js.map +2 -2
- package/dist/graph/git-context.js +229 -0
- package/dist/graph/git-context.js.map +7 -0
- package/dist/index.js +4 -2
- package/dist/index.js.map +2 -2
- package/dist/mcp/handler.js +446 -0
- package/dist/mcp/handler.js.map +7 -0
- package/dist/mcp/handlers/architecture.js +297 -0
- package/dist/mcp/handlers/architecture.js.map +7 -0
- package/dist/mcp/handlers/branch.js +175 -0
- package/dist/mcp/handlers/branch.js.map +7 -0
- package/dist/mcp/handlers/code-health.js +563 -0
- package/dist/mcp/handlers/code-health.js.map +7 -0
- package/dist/mcp/handlers/complexity.js +267 -0
- package/dist/mcp/handlers/complexity.js.map +7 -0
- package/dist/mcp/handlers/core.js +611 -0
- package/dist/mcp/handlers/core.js.map +7 -0
- package/dist/mcp/handlers/data.js +337 -0
- package/dist/mcp/handlers/data.js.map +7 -0
- package/dist/mcp/handlers/docs.js +159 -0
- package/dist/mcp/handlers/docs.js.map +7 -0
- package/dist/mcp/handlers/edit-primitives.js +200 -0
- package/dist/mcp/handlers/edit-primitives.js.map +7 -0
- package/dist/mcp/handlers/git-context.js +286 -0
- package/dist/mcp/handlers/git-context.js.map +7 -0
- package/dist/mcp/handlers/memory.js +363 -0
- package/dist/mcp/handlers/memory.js.map +7 -0
- package/dist/mcp/handlers/patterns.js +310 -0
- package/dist/mcp/handlers/patterns.js.map +7 -0
- package/dist/mcp/handlers/security.js +699 -0
- package/dist/mcp/handlers/security.js.map +7 -0
- package/dist/mcp/handlers/utils.js +97 -0
- package/dist/mcp/handlers/utils.js.map +7 -0
- package/dist/mcp/handlers/watchmen.js +104 -0
- package/dist/mcp/handlers/watchmen.js.map +7 -0
- package/dist/mcp/handlers/wiki.js +242 -0
- package/dist/mcp/handlers/wiki.js.map +7 -0
- package/dist/mcp/server.js +72 -3
- package/dist/mcp/server.js.map +2 -2
- package/dist/mcp/tool-names.js +94 -7
- package/dist/mcp/tool-names.js.map +2 -2
- package/dist/mcp/tools.js +445 -3210
- package/dist/mcp/tools.js.map +3 -3
- package/dist/types.js.map +2 -2
- package/package.json +36 -10
- package/dist/architecture/index.d.ts +0 -11
- package/dist/architecture/index.d.ts.map +0 -1
- package/dist/architecture/layers/csharp.d.ts +0 -6
- package/dist/architecture/layers/csharp.d.ts.map +0 -1
- package/dist/architecture/layers/dart.d.ts +0 -10
- package/dist/architecture/layers/dart.d.ts.map +0 -1
- package/dist/architecture/layers/elixir.d.ts +0 -6
- package/dist/architecture/layers/elixir.d.ts.map +0 -1
- package/dist/architecture/layers/go.d.ts +0 -7
- package/dist/architecture/layers/go.d.ts.map +0 -1
- package/dist/architecture/layers/index.d.ts +0 -30
- package/dist/architecture/layers/index.d.ts.map +0 -1
- package/dist/architecture/layers/java.d.ts +0 -7
- package/dist/architecture/layers/java.d.ts.map +0 -1
- package/dist/architecture/layers/ocaml.d.ts +0 -6
- package/dist/architecture/layers/ocaml.d.ts.map +0 -1
- package/dist/architecture/layers/python.d.ts +0 -7
- package/dist/architecture/layers/python.d.ts.map +0 -1
- package/dist/architecture/layers/ruby.d.ts +0 -6
- package/dist/architecture/layers/ruby.d.ts.map +0 -1
- package/dist/architecture/layers/rust.d.ts +0 -6
- package/dist/architecture/layers/rust.d.ts.map +0 -1
- package/dist/architecture/layers/scala.d.ts +0 -6
- package/dist/architecture/layers/scala.d.ts.map +0 -1
- package/dist/architecture/layers/solidity.d.ts +0 -6
- package/dist/architecture/layers/solidity.d.ts.map +0 -1
- package/dist/architecture/layers/types.d.ts +0 -2
- package/dist/architecture/layers/types.d.ts.map +0 -1
- package/dist/architecture/layers/typescript.d.ts +0 -9
- package/dist/architecture/layers/typescript.d.ts.map +0 -1
- package/dist/architecture/layers/vue.d.ts +0 -6
- package/dist/architecture/layers/vue.d.ts.map +0 -1
- package/dist/architecture/manifest/cargo.d.ts +0 -3
- package/dist/architecture/manifest/cargo.d.ts.map +0 -1
- package/dist/architecture/manifest/csproj.d.ts +0 -3
- package/dist/architecture/manifest/csproj.d.ts.map +0 -1
- package/dist/architecture/manifest/elm.d.ts +0 -3
- package/dist/architecture/manifest/elm.d.ts.map +0 -1
- package/dist/architecture/manifest/go.d.ts +0 -3
- package/dist/architecture/manifest/go.d.ts.map +0 -1
- package/dist/architecture/manifest/gradle.d.ts +0 -3
- package/dist/architecture/manifest/gradle.d.ts.map +0 -1
- package/dist/architecture/manifest/index.d.ts +0 -12
- package/dist/architecture/manifest/index.d.ts.map +0 -1
- package/dist/architecture/manifest/maven.d.ts +0 -3
- package/dist/architecture/manifest/maven.d.ts.map +0 -1
- package/dist/architecture/manifest/npm.d.ts +0 -3
- package/dist/architecture/manifest/npm.d.ts.map +0 -1
- package/dist/architecture/manifest/ocaml.d.ts +0 -3
- package/dist/architecture/manifest/ocaml.d.ts.map +0 -1
- package/dist/architecture/manifest/python.d.ts +0 -3
- package/dist/architecture/manifest/python.d.ts.map +0 -1
- package/dist/architecture/manifest/scala.d.ts +0 -3
- package/dist/architecture/manifest/scala.d.ts.map +0 -1
- package/dist/architecture/manifest/types.d.ts +0 -2
- package/dist/architecture/manifest/types.d.ts.map +0 -1
- package/dist/architecture/types.d.ts +0 -91
- package/dist/architecture/types.d.ts.map +0 -1
- package/dist/banner.d.ts +0 -6
- package/dist/banner.d.ts.map +0 -1
- package/dist/banner.js +0 -67
- package/dist/banner.js.map +0 -1
- package/dist/bin/banner.d.ts +0 -6
- package/dist/bin/banner.d.ts.map +0 -1
- package/dist/bin/commands/affected.d.ts +0 -3
- package/dist/bin/commands/affected.d.ts.map +0 -1
- package/dist/bin/commands/architecture.d.ts +0 -3
- package/dist/bin/commands/architecture.d.ts.map +0 -1
- package/dist/bin/commands/attack-surface.d.ts +0 -3
- package/dist/bin/commands/attack-surface.d.ts.map +0 -1
- package/dist/bin/commands/benchmark.d.ts +0 -9
- package/dist/bin/commands/benchmark.d.ts.map +0 -1
- package/dist/bin/commands/budget.d.ts +0 -6
- package/dist/bin/commands/budget.d.ts.map +0 -1
- package/dist/bin/commands/caveman.d.ts +0 -7
- package/dist/bin/commands/caveman.d.ts.map +0 -1
- package/dist/bin/commands/communities.d.ts +0 -3
- package/dist/bin/commands/communities.d.ts.map +0 -1
- package/dist/bin/commands/compression.d.ts +0 -7
- package/dist/bin/commands/compression.d.ts.map +0 -1
- package/dist/bin/commands/configure-mcp.js +0 -104
- package/dist/bin/commands/configure-mcp.js.map +0 -7
- package/dist/bin/commands/context.d.ts +0 -3
- package/dist/bin/commands/context.d.ts.map +0 -1
- package/dist/bin/commands/coupling.d.ts +0 -3
- package/dist/bin/commands/coupling.d.ts.map +0 -1
- package/dist/bin/commands/dashboard.d.ts +0 -3
- package/dist/bin/commands/dashboard.d.ts.map +0 -1
- package/dist/bin/commands/data.d.ts +0 -3
- package/dist/bin/commands/data.d.ts.map +0 -1
- package/dist/bin/commands/dead-code.d.ts +0 -3
- package/dist/bin/commands/dead-code.d.ts.map +0 -1
- package/dist/bin/commands/dep-confusion.d.ts +0 -3
- package/dist/bin/commands/dep-confusion.d.ts.map +0 -1
- package/dist/bin/commands/docs.d.ts +0 -3
- package/dist/bin/commands/docs.d.ts.map +0 -1
- package/dist/bin/commands/exec.d.ts +0 -11
- package/dist/bin/commands/exec.d.ts.map +0 -1
- package/dist/bin/commands/export.d.ts +0 -3
- package/dist/bin/commands/export.d.ts.map +0 -1
- package/dist/bin/commands/files.d.ts +0 -3
- package/dist/bin/commands/files.d.ts.map +0 -1
- package/dist/bin/commands/flows.d.ts +0 -3
- package/dist/bin/commands/flows.d.ts.map +0 -1
- package/dist/bin/commands/gain.d.ts +0 -6
- package/dist/bin/commands/gain.d.ts.map +0 -1
- package/dist/bin/commands/help.d.ts +0 -11
- package/dist/bin/commands/help.d.ts.map +0 -1
- package/dist/bin/commands/hotspots.d.ts +0 -3
- package/dist/bin/commands/hotspots.d.ts.map +0 -1
- package/dist/bin/commands/index.d.ts +0 -3
- package/dist/bin/commands/index.d.ts.map +0 -1
- package/dist/bin/commands/init.d.ts +0 -3
- package/dist/bin/commands/init.d.ts.map +0 -1
- package/dist/bin/commands/install.d.ts +0 -3
- package/dist/bin/commands/install.d.ts.map +0 -1
- package/dist/bin/commands/licenses.d.ts +0 -3
- package/dist/bin/commands/licenses.d.ts.map +0 -1
- package/dist/bin/commands/mark-dirty.d.ts +0 -3
- package/dist/bin/commands/mark-dirty.d.ts.map +0 -1
- package/dist/bin/commands/memory.d.ts +0 -16
- package/dist/bin/commands/memory.d.ts.map +0 -1
- package/dist/bin/commands/package.d.ts +0 -3
- package/dist/bin/commands/package.d.ts.map +0 -1
- package/dist/bin/commands/path.d.ts +0 -3
- package/dist/bin/commands/path.d.ts.map +0 -1
- package/dist/bin/commands/pattern.d.ts +0 -3
- package/dist/bin/commands/pattern.d.ts.map +0 -1
- package/dist/bin/commands/qdrant.d.ts +0 -3
- package/dist/bin/commands/qdrant.d.ts.map +0 -1
- package/dist/bin/commands/qdrant.js +0 -159
- package/dist/bin/commands/qdrant.js.map +0 -1
- package/dist/bin/commands/query.d.ts +0 -3
- package/dist/bin/commands/query.d.ts.map +0 -1
- package/dist/bin/commands/reachability.d.ts +0 -3
- package/dist/bin/commands/reachability.d.ts.map +0 -1
- package/dist/bin/commands/read.d.ts +0 -6
- package/dist/bin/commands/read.d.ts.map +0 -1
- package/dist/bin/commands/refactor.d.ts +0 -3
- package/dist/bin/commands/refactor.d.ts.map +0 -1
- package/dist/bin/commands/remediation.d.ts +0 -3
- package/dist/bin/commands/remediation.d.ts.map +0 -1
- package/dist/bin/commands/sbom.d.ts +0 -3
- package/dist/bin/commands/sbom.d.ts.map +0 -1
- package/dist/bin/commands/security-ci-report.d.ts +0 -9
- package/dist/bin/commands/security-ci-report.d.ts.map +0 -1
- package/dist/bin/commands/security-export.d.ts +0 -2
- package/dist/bin/commands/security-export.d.ts.map +0 -1
- package/dist/bin/commands/security-flows.d.ts +0 -3
- package/dist/bin/commands/security-flows.d.ts.map +0 -1
- package/dist/bin/commands/security-secrets.d.ts +0 -3
- package/dist/bin/commands/security-secrets.d.ts.map +0 -1
- package/dist/bin/commands/security.d.ts +0 -3
- package/dist/bin/commands/security.d.ts.map +0 -1
- package/dist/bin/commands/serve.d.ts +0 -3
- package/dist/bin/commands/serve.d.ts.map +0 -1
- package/dist/bin/commands/snapshot.d.ts +0 -3
- package/dist/bin/commands/snapshot.d.ts.map +0 -1
- package/dist/bin/commands/staleness.d.ts +0 -3
- package/dist/bin/commands/staleness.d.ts.map +0 -1
- package/dist/bin/commands/status.d.ts +0 -3
- package/dist/bin/commands/status.d.ts.map +0 -1
- package/dist/bin/commands/stop.d.ts +0 -3
- package/dist/bin/commands/stop.d.ts.map +0 -1
- package/dist/bin/commands/stop.js +0 -81
- package/dist/bin/commands/stop.js.map +0 -1
- package/dist/bin/commands/supply-chain.d.ts +0 -3
- package/dist/bin/commands/supply-chain.d.ts.map +0 -1
- package/dist/bin/commands/surprising.d.ts +0 -3
- package/dist/bin/commands/surprising.d.ts.map +0 -1
- package/dist/bin/commands/sync-if-dirty.d.ts +0 -3
- package/dist/bin/commands/sync-if-dirty.d.ts.map +0 -1
- package/dist/bin/commands/sync.d.ts +0 -3
- package/dist/bin/commands/sync.d.ts.map +0 -1
- package/dist/bin/commands/typesense.d.ts +0 -3
- package/dist/bin/commands/typesense.d.ts.map +0 -1
- package/dist/bin/commands/typesense.js +0 -126
- package/dist/bin/commands/typesense.js.map +0 -1
- package/dist/bin/commands/uninit.d.ts +0 -4
- package/dist/bin/commands/uninit.d.ts.map +0 -1
- package/dist/bin/commands/unlock.d.ts +0 -3
- package/dist/bin/commands/unlock.d.ts.map +0 -1
- package/dist/bin/commands/utils.d.ts +0 -17
- package/dist/bin/commands/utils.d.ts.map +0 -1
- package/dist/bin/commands/vex.d.ts +0 -3
- package/dist/bin/commands/vex.d.ts.map +0 -1
- package/dist/bin/commands/vuln-suppress.d.ts +0 -3
- package/dist/bin/commands/vuln-suppress.d.ts.map +0 -1
- package/dist/bin/commands/vulns.d.ts +0 -3
- package/dist/bin/commands/vulns.d.ts.map +0 -1
- package/dist/bin/installer/archive.d.ts +0 -47
- package/dist/bin/installer/archive.d.ts.map +0 -1
- package/dist/bin/installer/auto-detect.d.ts +0 -16
- package/dist/bin/installer/auto-detect.d.ts.map +0 -1
- package/dist/bin/installer/caveman.d.ts +0 -12
- package/dist/bin/installer/caveman.d.ts.map +0 -1
- package/dist/bin/installer/cli-agent.d.ts +0 -20
- package/dist/bin/installer/cli-agent.d.ts.map +0 -1
- package/dist/bin/installer/common.d.ts +0 -36
- package/dist/bin/installer/common.d.ts.map +0 -1
- package/dist/bin/installer/config-prompt.d.ts +0 -13
- package/dist/bin/installer/config-prompt.d.ts.map +0 -1
- package/dist/bin/installer/dashboard.d.ts +0 -3
- package/dist/bin/installer/dashboard.d.ts.map +0 -1
- package/dist/bin/installer/detect.d.ts +0 -30
- package/dist/bin/installer/detect.d.ts.map +0 -1
- package/dist/bin/installer/hooks.d.ts +0 -8
- package/dist/bin/installer/hooks.d.ts.map +0 -1
- package/dist/bin/installer/index.d.ts +0 -12
- package/dist/bin/installer/index.d.ts.map +0 -1
- package/dist/bin/installer/instructions.d.ts +0 -14
- package/dist/bin/installer/instructions.d.ts.map +0 -1
- package/dist/bin/installer/mcp.d.ts +0 -5
- package/dist/bin/installer/mcp.d.ts.map +0 -1
- package/dist/bin/installer/prompts.d.ts +0 -45
- package/dist/bin/installer/prompts.d.ts.map +0 -1
- package/dist/bin/installer/qdrant-dashboard.d.ts +0 -4
- package/dist/bin/installer/qdrant-dashboard.d.ts.map +0 -1
- package/dist/bin/installer/steering.d.ts +0 -17
- package/dist/bin/installer/steering.d.ts.map +0 -1
- package/dist/bin/installer/targets/aider.d.ts +0 -6
- package/dist/bin/installer/targets/aider.d.ts.map +0 -1
- package/dist/bin/installer/targets/amp.d.ts +0 -6
- package/dist/bin/installer/targets/amp.d.ts.map +0 -1
- package/dist/bin/installer/targets/antigravity.d.ts +0 -13
- package/dist/bin/installer/targets/antigravity.d.ts.map +0 -1
- package/dist/bin/installer/targets/augment.d.ts +0 -6
- package/dist/bin/installer/targets/augment.d.ts.map +0 -1
- package/dist/bin/installer/targets/claude.d.ts +0 -6
- package/dist/bin/installer/targets/claude.d.ts.map +0 -1
- package/dist/bin/installer/targets/cline.d.ts +0 -13
- package/dist/bin/installer/targets/cline.d.ts.map +0 -1
- package/dist/bin/installer/targets/codex.d.ts +0 -6
- package/dist/bin/installer/targets/codex.d.ts.map +0 -1
- package/dist/bin/installer/targets/continue.d.ts +0 -12
- package/dist/bin/installer/targets/continue.d.ts.map +0 -1
- package/dist/bin/installer/targets/copilot-cli.d.ts +0 -12
- package/dist/bin/installer/targets/copilot-cli.d.ts.map +0 -1
- package/dist/bin/installer/targets/copilot.d.ts +0 -6
- package/dist/bin/installer/targets/copilot.d.ts.map +0 -1
- package/dist/bin/installer/targets/cursor.d.ts +0 -6
- package/dist/bin/installer/targets/cursor.d.ts.map +0 -1
- package/dist/bin/installer/targets/devin.d.ts +0 -13
- package/dist/bin/installer/targets/devin.d.ts.map +0 -1
- package/dist/bin/installer/targets/gemini-cli.d.ts +0 -16
- package/dist/bin/installer/targets/gemini-cli.d.ts.map +0 -1
- package/dist/bin/installer/targets/generic.d.ts +0 -59
- package/dist/bin/installer/targets/generic.d.ts.map +0 -1
- package/dist/bin/installer/targets/goose.d.ts +0 -6
- package/dist/bin/installer/targets/goose.d.ts.map +0 -1
- package/dist/bin/installer/targets/index.d.ts +0 -11
- package/dist/bin/installer/targets/index.d.ts.map +0 -1
- package/dist/bin/installer/targets/junie.d.ts +0 -13
- package/dist/bin/installer/targets/junie.d.ts.map +0 -1
- package/dist/bin/installer/targets/kilo.d.ts +0 -12
- package/dist/bin/installer/targets/kilo.d.ts.map +0 -1
- package/dist/bin/installer/targets/kiro.d.ts +0 -5
- package/dist/bin/installer/targets/kiro.d.ts.map +0 -1
- package/dist/bin/installer/targets/opencode.d.ts +0 -13
- package/dist/bin/installer/targets/opencode.d.ts.map +0 -1
- package/dist/bin/installer/targets/openhands.d.ts +0 -6
- package/dist/bin/installer/targets/openhands.d.ts.map +0 -1
- package/dist/bin/installer/targets/qoder.d.ts +0 -12
- package/dist/bin/installer/targets/qoder.d.ts.map +0 -1
- package/dist/bin/installer/targets/qwen.d.ts +0 -12
- package/dist/bin/installer/targets/qwen.d.ts.map +0 -1
- package/dist/bin/installer/targets/replit.d.ts +0 -6
- package/dist/bin/installer/targets/replit.d.ts.map +0 -1
- package/dist/bin/installer/targets/roo.d.ts +0 -13
- package/dist/bin/installer/targets/roo.d.ts.map +0 -1
- package/dist/bin/installer/targets/tabnine.d.ts +0 -6
- package/dist/bin/installer/targets/tabnine.d.ts.map +0 -1
- package/dist/bin/installer/targets/trae.d.ts +0 -6
- package/dist/bin/installer/targets/trae.d.ts.map +0 -1
- package/dist/bin/installer/targets/warp.d.ts +0 -12
- package/dist/bin/installer/targets/warp.d.ts.map +0 -1
- package/dist/bin/installer/targets/windsurf.d.ts +0 -13
- package/dist/bin/installer/targets/windsurf.d.ts.map +0 -1
- package/dist/bin/kirograph.d.ts +0 -6
- package/dist/bin/kirograph.d.ts.map +0 -1
- package/dist/bin/progress.d.ts +0 -29
- package/dist/bin/progress.d.ts.map +0 -1
- package/dist/bin/ui.d.ts +0 -11
- package/dist/bin/ui.d.ts.map +0 -1
- package/dist/compression/filters/aws.d.ts +0 -9
- package/dist/compression/filters/aws.d.ts.map +0 -1
- package/dist/compression/filters/docker.d.ts +0 -6
- package/dist/compression/filters/docker.d.ts.map +0 -1
- package/dist/compression/filters/files.d.ts +0 -6
- package/dist/compression/filters/files.d.ts.map +0 -1
- package/dist/compression/filters/generic.d.ts +0 -7
- package/dist/compression/filters/generic.d.ts.map +0 -1
- package/dist/compression/filters/git.d.ts +0 -6
- package/dist/compression/filters/git.d.ts.map +0 -1
- package/dist/compression/filters/github.d.ts +0 -6
- package/dist/compression/filters/github.d.ts.map +0 -1
- package/dist/compression/filters/lint.d.ts +0 -6
- package/dist/compression/filters/lint.d.ts.map +0 -1
- package/dist/compression/filters/misc.d.ts +0 -6
- package/dist/compression/filters/misc.d.ts.map +0 -1
- package/dist/compression/filters/package.d.ts +0 -6
- package/dist/compression/filters/package.d.ts.map +0 -1
- package/dist/compression/filters/test.d.ts +0 -6
- package/dist/compression/filters/test.d.ts.map +0 -1
- package/dist/compression/index.d.ts +0 -29
- package/dist/compression/index.d.ts.map +0 -1
- package/dist/compression/naive-cost.d.ts +0 -26
- package/dist/compression/naive-cost.d.ts.map +0 -1
- package/dist/compression/tracker.d.ts +0 -155
- package/dist/compression/tracker.d.ts.map +0 -1
- package/dist/compression/types.d.ts +0 -49
- package/dist/compression/types.d.ts.map +0 -1
- package/dist/config.d.ts +0 -138
- package/dist/config.d.ts.map +0 -1
- package/dist/context/index.d.ts +0 -61
- package/dist/context/index.d.ts.map +0 -1
- package/dist/core/file-tree.d.ts +0 -15
- package/dist/core/file-tree.d.ts.map +0 -1
- package/dist/core/lock-manager.d.ts +0 -22
- package/dist/core/lock-manager.d.ts.map +0 -1
- package/dist/core/pipeline.d.ts +0 -40
- package/dist/core/pipeline.d.ts.map +0 -1
- package/dist/core/snapshot.d.ts +0 -58
- package/dist/core/snapshot.d.ts.map +0 -1
- package/dist/data/filters.d.ts +0 -23
- package/dist/data/filters.d.ts.map +0 -1
- package/dist/data/indexer.d.ts +0 -25
- package/dist/data/indexer.d.ts.map +0 -1
- package/dist/data/linker.d.ts +0 -37
- package/dist/data/linker.d.ts.map +0 -1
- package/dist/data/linker.test.js +0 -60
- package/dist/data/linker.test.js.map +0 -7
- package/dist/data/lint.d.ts +0 -27
- package/dist/data/lint.d.ts.map +0 -1
- package/dist/data/parsers/__fixtures__/pdf-inspector-stub.js +0 -41
- package/dist/data/parsers/__fixtures__/pdf-inspector-stub.js.map +0 -7
- package/dist/data/parsers/csv.d.ts +0 -11
- package/dist/data/parsers/csv.d.ts.map +0 -1
- package/dist/data/parsers/excel.d.ts +0 -10
- package/dist/data/parsers/excel.d.ts.map +0 -1
- package/dist/data/parsers/index.d.ts +0 -28
- package/dist/data/parsers/index.d.ts.map +0 -1
- package/dist/data/parsers/json-array.d.ts +0 -9
- package/dist/data/parsers/json-array.d.ts.map +0 -1
- package/dist/data/parsers/jsonl.d.ts +0 -9
- package/dist/data/parsers/jsonl.d.ts.map +0 -1
- package/dist/data/parsers/parquet.d.ts +0 -10
- package/dist/data/parsers/parquet.d.ts.map +0 -1
- package/dist/data/parsers/pdf.test.js +0 -125
- package/dist/data/parsers/pdf.test.js.map +0 -7
- package/dist/data/profiler.d.ts +0 -29
- package/dist/data/profiler.d.ts.map +0 -1
- package/dist/data/queries.d.ts +0 -95
- package/dist/data/queries.d.ts.map +0 -1
- package/dist/data/types.d.ts +0 -103
- package/dist/data/types.d.ts.map +0 -1
- package/dist/db/database.d.ts +0 -190
- package/dist/db/database.d.ts.map +0 -1
- package/dist/docs/formats/asciidoc.d.ts +0 -9
- package/dist/docs/formats/asciidoc.d.ts.map +0 -1
- package/dist/docs/formats/html.d.ts +0 -10
- package/dist/docs/formats/html.d.ts.map +0 -1
- package/dist/docs/formats/index.d.ts +0 -31
- package/dist/docs/formats/index.d.ts.map +0 -1
- package/dist/docs/formats/markdown.d.ts +0 -11
- package/dist/docs/formats/markdown.d.ts.map +0 -1
- package/dist/docs/formats/openapi.d.ts +0 -17
- package/dist/docs/formats/openapi.d.ts.map +0 -1
- package/dist/docs/formats/org.d.ts +0 -9
- package/dist/docs/formats/org.d.ts.map +0 -1
- package/dist/docs/formats/plaintext.d.ts +0 -11
- package/dist/docs/formats/plaintext.d.ts.map +0 -1
- package/dist/docs/formats/rdoc.d.ts +0 -10
- package/dist/docs/formats/rdoc.d.ts.map +0 -1
- package/dist/docs/formats/rst.d.ts +0 -11
- package/dist/docs/formats/rst.d.ts.map +0 -1
- package/dist/docs/indexer.d.ts +0 -49
- package/dist/docs/indexer.d.ts.map +0 -1
- package/dist/docs/linker.d.ts +0 -30
- package/dist/docs/linker.d.ts.map +0 -1
- package/dist/docs/lint.d.ts +0 -27
- package/dist/docs/lint.d.ts.map +0 -1
- package/dist/docs/queries.d.ts +0 -78
- package/dist/docs/queries.d.ts.map +0 -1
- package/dist/docs/section-id.d.ts +0 -48
- package/dist/docs/section-id.d.ts.map +0 -1
- package/dist/docs/summarizer.d.ts +0 -13
- package/dist/docs/summarizer.d.ts.map +0 -1
- package/dist/docs/types.d.ts +0 -71
- package/dist/docs/types.d.ts.map +0 -1
- package/dist/docs/vectors.d.ts +0 -54
- package/dist/docs/vectors.d.ts.map +0 -1
- package/dist/errors.d.ts +0 -49
- package/dist/errors.d.ts.map +0 -1
- package/dist/extraction/extractor.d.ts +0 -29
- package/dist/extraction/extractor.d.ts.map +0 -1
- package/dist/extraction/grammars.d.ts +0 -54
- package/dist/extraction/grammars.d.ts.map +0 -1
- package/dist/extraction/languages.d.ts +0 -9
- package/dist/extraction/languages.d.ts.map +0 -1
- package/dist/extraction/notebook.d.ts +0 -14
- package/dist/extraction/notebook.d.ts.map +0 -1
- package/dist/frameworks/amplify.d.ts +0 -9
- package/dist/frameworks/amplify.d.ts.map +0 -1
- package/dist/frameworks/angular.d.ts +0 -9
- package/dist/frameworks/angular.d.ts.map +0 -1
- package/dist/frameworks/ansible.d.ts +0 -8
- package/dist/frameworks/ansible.d.ts.map +0 -1
- package/dist/frameworks/cloudformation.d.ts +0 -9
- package/dist/frameworks/cloudformation.d.ts.map +0 -1
- package/dist/frameworks/csharp.d.ts +0 -8
- package/dist/frameworks/csharp.d.ts.map +0 -1
- package/dist/frameworks/docker.d.ts +0 -9
- package/dist/frameworks/docker.d.ts.map +0 -1
- package/dist/frameworks/elixir.d.ts +0 -6
- package/dist/frameworks/elixir.d.ts.map +0 -1
- package/dist/frameworks/express.d.ts +0 -8
- package/dist/frameworks/express.d.ts.map +0 -1
- package/dist/frameworks/flutter.d.ts +0 -12
- package/dist/frameworks/flutter.d.ts.map +0 -1
- package/dist/frameworks/go.d.ts +0 -8
- package/dist/frameworks/go.d.ts.map +0 -1
- package/dist/frameworks/iac.d.ts +0 -10
- package/dist/frameworks/iac.d.ts.map +0 -1
- package/dist/frameworks/index.d.ts +0 -44
- package/dist/frameworks/index.d.ts.map +0 -1
- package/dist/frameworks/java.d.ts +0 -8
- package/dist/frameworks/java.d.ts.map +0 -1
- package/dist/frameworks/kubernetes.d.ts +0 -9
- package/dist/frameworks/kubernetes.d.ts.map +0 -1
- package/dist/frameworks/laravel.d.ts +0 -9
- package/dist/frameworks/laravel.d.ts.map +0 -1
- package/dist/frameworks/pulumi.d.ts +0 -9
- package/dist/frameworks/pulumi.d.ts.map +0 -1
- package/dist/frameworks/python.d.ts +0 -10
- package/dist/frameworks/python.d.ts.map +0 -1
- package/dist/frameworks/react.d.ts +0 -9
- package/dist/frameworks/react.d.ts.map +0 -1
- package/dist/frameworks/ruby.d.ts +0 -8
- package/dist/frameworks/ruby.d.ts.map +0 -1
- package/dist/frameworks/rust.d.ts +0 -8
- package/dist/frameworks/rust.d.ts.map +0 -1
- package/dist/frameworks/scala.d.ts +0 -6
- package/dist/frameworks/scala.d.ts.map +0 -1
- package/dist/frameworks/solidity.d.ts +0 -6
- package/dist/frameworks/solidity.d.ts.map +0 -1
- package/dist/frameworks/svelte.d.ts +0 -8
- package/dist/frameworks/svelte.d.ts.map +0 -1
- package/dist/frameworks/swift.d.ts +0 -10
- package/dist/frameworks/swift.d.ts.map +0 -1
- package/dist/frameworks/terraform.d.ts +0 -14
- package/dist/frameworks/terraform.d.ts.map +0 -1
- package/dist/frameworks/types.d.ts +0 -37
- package/dist/frameworks/types.d.ts.map +0 -1
- package/dist/frameworks/vue.d.ts +0 -7
- package/dist/frameworks/vue.d.ts.map +0 -1
- package/dist/graph/communities.d.ts +0 -43
- package/dist/graph/communities.d.ts.map +0 -1
- package/dist/graph/flows.d.ts +0 -55
- package/dist/graph/flows.d.ts.map +0 -1
- package/dist/graph/queries.d.ts +0 -53
- package/dist/graph/queries.d.ts.map +0 -1
- package/dist/graph/refactor.d.ts +0 -43
- package/dist/graph/refactor.d.ts.map +0 -1
- package/dist/graph/traversal.d.ts +0 -35
- package/dist/graph/traversal.d.ts.map +0 -1
- package/dist/index.d.ts +0 -134
- package/dist/index.d.ts.map +0 -1
- package/dist/installer/index.d.ts +0 -10
- package/dist/installer/index.d.ts.map +0 -1
- package/dist/installer/index.js +0 -526
- package/dist/installer/index.js.map +0 -1
- package/dist/mcp/cache.d.ts +0 -69
- package/dist/mcp/cache.d.ts.map +0 -1
- package/dist/mcp/read-modes.d.ts +0 -31
- package/dist/mcp/read-modes.d.ts.map +0 -1
- package/dist/mcp/server.d.ts +0 -17
- package/dist/mcp/server.d.ts.map +0 -1
- package/dist/mcp/tool-names.d.ts +0 -2
- package/dist/mcp/tool-names.d.ts.map +0 -1
- package/dist/mcp/tools.d.ts +0 -49
- package/dist/mcp/tools.d.ts.map +0 -1
- package/dist/mcp/transport.d.ts +0 -29
- package/dist/mcp/transport.d.ts.map +0 -1
- package/dist/memory/compress.d.ts +0 -19
- package/dist/memory/compress.d.ts.map +0 -1
- package/dist/memory/database.d.ts +0 -92
- package/dist/memory/database.d.ts.map +0 -1
- package/dist/memory/index.d.ts +0 -71
- package/dist/memory/index.d.ts.map +0 -1
- package/dist/memory/symbols.d.ts +0 -21
- package/dist/memory/symbols.d.ts.map +0 -1
- package/dist/memory/types.d.ts +0 -78
- package/dist/memory/types.d.ts.map +0 -1
- package/dist/memory/vectors.d.ts +0 -43
- package/dist/memory/vectors.d.ts.map +0 -1
- package/dist/patterns/graph.d.ts +0 -16
- package/dist/patterns/graph.d.ts.map +0 -1
- package/dist/patterns/index.d.ts +0 -4
- package/dist/patterns/index.d.ts.map +0 -1
- package/dist/patterns/indexer.d.ts +0 -15
- package/dist/patterns/indexer.d.ts.map +0 -1
- package/dist/patterns/loader.d.ts +0 -18
- package/dist/patterns/loader.d.ts.map +0 -1
- package/dist/patterns/runner.d.ts +0 -42
- package/dist/patterns/runner.d.ts.map +0 -1
- package/dist/patterns/types.d.ts +0 -27
- package/dist/patterns/types.d.ts.map +0 -1
- package/dist/resolution/bridges/android-rn.d.ts +0 -13
- package/dist/resolution/bridges/android-rn.d.ts.map +0 -1
- package/dist/resolution/bridges/expo-modules.d.ts +0 -10
- package/dist/resolution/bridges/expo-modules.d.ts.map +0 -1
- package/dist/resolution/bridges/flutter-channel.d.ts +0 -14
- package/dist/resolution/bridges/flutter-channel.d.ts.map +0 -1
- package/dist/resolution/bridges/index.d.ts +0 -40
- package/dist/resolution/bridges/index.d.ts.map +0 -1
- package/dist/resolution/bridges/native-events.d.ts +0 -10
- package/dist/resolution/bridges/native-events.d.ts.map +0 -1
- package/dist/resolution/bridges/native-views.d.ts +0 -13
- package/dist/resolution/bridges/native-views.d.ts.map +0 -1
- package/dist/resolution/bridges/react-native.d.ts +0 -9
- package/dist/resolution/bridges/react-native.d.ts.map +0 -1
- package/dist/resolution/bridges/swift-objc.d.ts +0 -14
- package/dist/resolution/bridges/swift-objc.d.ts.map +0 -1
- package/dist/resolution/bridges/turbomodules.d.ts +0 -10
- package/dist/resolution/bridges/turbomodules.d.ts.map +0 -1
- package/dist/resolution/index.d.ts +0 -81
- package/dist/resolution/index.d.ts.map +0 -1
- package/dist/resolution/name-matcher.d.ts +0 -25
- package/dist/resolution/name-matcher.d.ts.map +0 -1
- package/dist/scripts/postinstall.js +0 -64
- package/dist/search/query-utils.d.ts +0 -21
- package/dist/search/query-utils.d.ts.map +0 -1
- package/dist/search/searcher.d.ts +0 -15
- package/dist/search/searcher.d.ts.map +0 -1
- package/dist/security/attack-surface.d.ts +0 -46
- package/dist/security/attack-surface.d.ts.map +0 -1
- package/dist/security/context-warnings.d.ts +0 -40
- package/dist/security/context-warnings.d.ts.map +0 -1
- package/dist/security/data-flows.d.ts +0 -33
- package/dist/security/data-flows.d.ts.map +0 -1
- package/dist/security/dep-confusion.d.ts +0 -23
- package/dist/security/dep-confusion.d.ts.map +0 -1
- package/dist/security/errors.d.ts +0 -16
- package/dist/security/errors.d.ts.map +0 -1
- package/dist/security/export/fix-suggestions.d.ts +0 -21
- package/dist/security/export/fix-suggestions.d.ts.map +0 -1
- package/dist/security/export/sbom.d.ts +0 -33
- package/dist/security/export/sbom.d.ts.map +0 -1
- package/dist/security/export/serialization.d.ts +0 -62
- package/dist/security/export/serialization.d.ts.map +0 -1
- package/dist/security/export/vex.d.ts +0 -58
- package/dist/security/export/vex.d.ts.map +0 -1
- package/dist/security/index.d.ts +0 -21
- package/dist/security/index.d.ts.map +0 -1
- package/dist/security/integrator.d.ts +0 -63
- package/dist/security/integrator.d.ts.map +0 -1
- package/dist/security/license.d.ts +0 -33
- package/dist/security/license.d.ts.map +0 -1
- package/dist/security/manifest/adapter.d.ts +0 -92
- package/dist/security/manifest/adapter.d.ts.map +0 -1
- package/dist/security/manifest/parser.d.ts +0 -73
- package/dist/security/manifest/parser.d.ts.map +0 -1
- package/dist/security/manifest/plugins/cargo.d.ts +0 -11
- package/dist/security/manifest/plugins/cargo.d.ts.map +0 -1
- package/dist/security/manifest/plugins/composer.d.ts +0 -11
- package/dist/security/manifest/plugins/composer.d.ts.map +0 -1
- package/dist/security/manifest/plugins/go.d.ts +0 -12
- package/dist/security/manifest/plugins/go.d.ts.map +0 -1
- package/dist/security/manifest/plugins/gradle.d.ts +0 -12
- package/dist/security/manifest/plugins/gradle.d.ts.map +0 -1
- package/dist/security/manifest/plugins/hex.d.ts +0 -11
- package/dist/security/manifest/plugins/hex.d.ts.map +0 -1
- package/dist/security/manifest/plugins/maven.d.ts +0 -11
- package/dist/security/manifest/plugins/maven.d.ts.map +0 -1
- package/dist/security/manifest/plugins/npm.d.ts +0 -11
- package/dist/security/manifest/plugins/npm.d.ts.map +0 -1
- package/dist/security/manifest/plugins/nuget.d.ts +0 -12
- package/dist/security/manifest/plugins/nuget.d.ts.map +0 -1
- package/dist/security/manifest/plugins/pip.d.ts +0 -11
- package/dist/security/manifest/plugins/pip.d.ts.map +0 -1
- package/dist/security/manifest/plugins/pubspec.d.ts +0 -11
- package/dist/security/manifest/plugins/pubspec.d.ts.map +0 -1
- package/dist/security/manifest/plugins/pyproject.d.ts +0 -3
- package/dist/security/manifest/plugins/pyproject.d.ts.map +0 -1
- package/dist/security/manifest/plugins/rubygems.d.ts +0 -11
- package/dist/security/manifest/plugins/rubygems.d.ts.map +0 -1
- package/dist/security/manifest/plugins/swift.d.ts +0 -11
- package/dist/security/manifest/plugins/swift.d.ts.map +0 -1
- package/dist/security/owasp.d.ts +0 -16
- package/dist/security/owasp.d.ts.map +0 -1
- package/dist/security/pipeline.d.ts +0 -37
- package/dist/security/pipeline.d.ts.map +0 -1
- package/dist/security/reachability.d.ts +0 -67
- package/dist/security/reachability.d.ts.map +0 -1
- package/dist/security/remediation.d.ts +0 -51
- package/dist/security/remediation.d.ts.map +0 -1
- package/dist/security/secrets.d.ts +0 -38
- package/dist/security/secrets.d.ts.map +0 -1
- package/dist/security/staleness.d.ts +0 -43
- package/dist/security/staleness.d.ts.map +0 -1
- package/dist/security/supply-chain.d.ts +0 -34
- package/dist/security/supply-chain.d.ts.map +0 -1
- package/dist/security/suppressions.d.ts +0 -18
- package/dist/security/suppressions.d.ts.map +0 -1
- package/dist/security/types.d.ts +0 -144
- package/dist/security/types.d.ts.map +0 -1
- package/dist/security/vuln/client.d.ts +0 -90
- package/dist/security/vuln/client.d.ts.map +0 -1
- package/dist/security/vuln/epss-client.d.ts +0 -26
- package/dist/security/vuln/epss-client.d.ts.map +0 -1
- package/dist/security/vuln/index.d.ts +0 -6
- package/dist/security/vuln/index.d.ts.map +0 -1
- package/dist/security/vuln/osv-adapter.d.ts +0 -58
- package/dist/security/vuln/osv-adapter.d.ts.map +0 -1
- package/dist/security/vuln/types.d.ts +0 -29
- package/dist/security/vuln/types.d.ts.map +0 -1
- package/dist/sync/index.d.ts +0 -35
- package/dist/sync/index.d.ts.map +0 -1
- package/dist/types.d.ts +0 -137
- package/dist/types.d.ts.map +0 -1
- package/dist/utils.d.ts +0 -52
- package/dist/utils.d.ts.map +0 -1
- package/dist/vectors/index.d.ts +0 -79
- package/dist/vectors/index.d.ts.map +0 -1
- package/dist/vectors/lancedb-index.d.ts +0 -50
- package/dist/vectors/lancedb-index.d.ts.map +0 -1
- package/dist/vectors/orama-index.d.ts +0 -54
- package/dist/vectors/orama-index.d.ts.map +0 -1
- package/dist/vectors/pglite-index.d.ts +0 -53
- package/dist/vectors/pglite-index.d.ts.map +0 -1
- package/dist/vectors/qdrant-index.d.ts +0 -77
- package/dist/vectors/qdrant-index.d.ts.map +0 -1
- package/dist/vectors/typesense-index.d.ts +0 -75
- package/dist/vectors/typesense-index.d.ts.map +0 -1
- package/dist/vectors/vec-index.d.ts +0 -52
- package/dist/vectors/vec-index.d.ts.map +0 -1
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var git_context_exports = {};
|
|
30
|
+
__export(git_context_exports, {
|
|
31
|
+
handleGitContext: () => handleGitContext
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(git_context_exports);
|
|
34
|
+
var import_utils = require("./utils");
|
|
35
|
+
function formatChangedSymbol(s) {
|
|
36
|
+
const lines = [` ${(0, import_utils.mapKind)(s.kind)} \`${s.name}\` (${s.changeType}) \u2014 ${s.filePath}:${s.startLine}`];
|
|
37
|
+
if (s.callers.length > 0) lines.push(` callers: ${s.callers.map((c) => `\`${c.name}\``).join(", ")}`);
|
|
38
|
+
if (s.callees.length > 0) lines.push(` calls: ${s.callees.map((c) => `\`${c.name}\``).join(", ")}`);
|
|
39
|
+
return lines.join("\n");
|
|
40
|
+
}
|
|
41
|
+
async function handleGitContext(toolName, args, cg) {
|
|
42
|
+
const { getChangedSymbols, getCommitContext, getPRContext, getCommitLog, findTestFiles, findUncoveredSymbols } = await Promise.resolve().then(() => require("../../graph/git-context.js"));
|
|
43
|
+
const projectRoot = cg.getProjectRoot();
|
|
44
|
+
const db = cg.getDatabase();
|
|
45
|
+
switch (toolName) {
|
|
46
|
+
case "kirograph_diff_context": {
|
|
47
|
+
const staged = args.staged ?? false;
|
|
48
|
+
let result;
|
|
49
|
+
try {
|
|
50
|
+
result = getChangedSymbols(projectRoot, db, { staged });
|
|
51
|
+
} catch (err) {
|
|
52
|
+
return `git diff failed: ${err.message}. Ensure this is a git repository with git installed.`;
|
|
53
|
+
}
|
|
54
|
+
if (result.changedSymbols.length === 0) {
|
|
55
|
+
return staged ? "No staged changes found." : "No unstaged changes found.";
|
|
56
|
+
}
|
|
57
|
+
const lines = [
|
|
58
|
+
`${staged ? "Staged" : "Unstaged"} changes \u2014 ${result.changedSymbols.length} affected symbol(s):
|
|
59
|
+
`
|
|
60
|
+
];
|
|
61
|
+
for (const s of result.changedSymbols) lines.push(formatChangedSymbol(s));
|
|
62
|
+
return lines.join("\n");
|
|
63
|
+
}
|
|
64
|
+
case "kirograph_commit_context": {
|
|
65
|
+
let ctx;
|
|
66
|
+
try {
|
|
67
|
+
ctx = getCommitContext(projectRoot, db);
|
|
68
|
+
} catch (err) {
|
|
69
|
+
return `git diff failed: ${err.message}. Ensure this is a git repository with staged changes.`;
|
|
70
|
+
}
|
|
71
|
+
if (ctx.stagedFiles.length === 0) return "No staged changes. Stage files with `git add` first.";
|
|
72
|
+
const lines = [
|
|
73
|
+
`Staged files (${ctx.stagedFiles.length}):
|
|
74
|
+
`,
|
|
75
|
+
...ctx.stagedFiles.map((f) => ` ${f}`),
|
|
76
|
+
"\nDiff summary:",
|
|
77
|
+
ctx.diffStat
|
|
78
|
+
];
|
|
79
|
+
if (ctx.changedSymbols.length > 0) {
|
|
80
|
+
lines.push(`
|
|
81
|
+
Affected symbols (${ctx.changedSymbols.length}):
|
|
82
|
+
`);
|
|
83
|
+
for (const s of ctx.changedSymbols) lines.push(formatChangedSymbol(s));
|
|
84
|
+
}
|
|
85
|
+
return lines.join("\n");
|
|
86
|
+
}
|
|
87
|
+
case "kirograph_pr_context": {
|
|
88
|
+
const base = args.base;
|
|
89
|
+
const head = args.head ?? "HEAD";
|
|
90
|
+
let result;
|
|
91
|
+
try {
|
|
92
|
+
result = getPRContext(projectRoot, db, base, head);
|
|
93
|
+
} catch (err) {
|
|
94
|
+
return `PR context failed: ${err.message}`;
|
|
95
|
+
}
|
|
96
|
+
if (result.changedSymbols.length === 0) return `No symbol changes found between ${base} and ${head}.`;
|
|
97
|
+
const lines = [
|
|
98
|
+
`Semantic diff: ${result.ref} \u2014 ${result.changedSymbols.length} affected symbol(s):
|
|
99
|
+
`
|
|
100
|
+
];
|
|
101
|
+
for (const s of result.changedSymbols) lines.push(formatChangedSymbol(s));
|
|
102
|
+
return lines.join("\n");
|
|
103
|
+
}
|
|
104
|
+
case "kirograph_changelog": {
|
|
105
|
+
const ref1 = args.ref1;
|
|
106
|
+
const ref2 = args.ref2 ?? "HEAD";
|
|
107
|
+
let commits;
|
|
108
|
+
try {
|
|
109
|
+
commits = getCommitLog(projectRoot, ref1, ref2);
|
|
110
|
+
} catch (err) {
|
|
111
|
+
return `git log failed: ${err.message}`;
|
|
112
|
+
}
|
|
113
|
+
if (commits.length === 0) return `No commits found between ${ref1} and ${ref2}.`;
|
|
114
|
+
let result;
|
|
115
|
+
try {
|
|
116
|
+
result = getPRContext(projectRoot, db, ref1, ref2);
|
|
117
|
+
} catch {
|
|
118
|
+
result = null;
|
|
119
|
+
}
|
|
120
|
+
const lines = [
|
|
121
|
+
`## Changelog: ${ref1}..${ref2} (${commits.length} commits)
|
|
122
|
+
`,
|
|
123
|
+
...commits.map((c) => `- ${c.shortHash} ${c.date} ${c.subject} (${c.author})`)
|
|
124
|
+
];
|
|
125
|
+
if (result && result.changedSymbols.length > 0) {
|
|
126
|
+
lines.push(`
|
|
127
|
+
## Affected symbols (${result.changedSymbols.length}):
|
|
128
|
+
`);
|
|
129
|
+
for (const s of result.changedSymbols.slice(0, 30)) lines.push(formatChangedSymbol(s));
|
|
130
|
+
if (result.changedSymbols.length > 30) lines.push(` \u2026and ${result.changedSymbols.length - 30} more`);
|
|
131
|
+
}
|
|
132
|
+
return lines.join("\n");
|
|
133
|
+
}
|
|
134
|
+
case "kirograph_test_map": {
|
|
135
|
+
const symbol = args.symbol;
|
|
136
|
+
if (symbol) {
|
|
137
|
+
const results = cg.searchNodes(symbol, void 0, 5);
|
|
138
|
+
if (results.length === 0) return `Symbol "${symbol}" not found in index.`;
|
|
139
|
+
const node = results[0].node;
|
|
140
|
+
const testFiles = findTestFiles(db, node.id);
|
|
141
|
+
if (testFiles.length === 0) return `No test files found that reference \`${node.name}\`.`;
|
|
142
|
+
return `Test files covering \`${node.name}\` (${testFiles.length}):
|
|
143
|
+
|
|
144
|
+
` + testFiles.map((f) => ` ${f}`).join("\n");
|
|
145
|
+
} else {
|
|
146
|
+
const uncovered = findUncoveredSymbols(db, 40);
|
|
147
|
+
if (uncovered.length === 0) return "All exported symbols appear to have test coverage.";
|
|
148
|
+
const lines = [`Exported symbols with no test coverage (${uncovered.length}):
|
|
149
|
+
`];
|
|
150
|
+
let lastFile = "";
|
|
151
|
+
for (const s of uncovered) {
|
|
152
|
+
if (s.filePath !== lastFile) {
|
|
153
|
+
lines.push(`
|
|
154
|
+
${s.filePath}`);
|
|
155
|
+
lastFile = s.filePath;
|
|
156
|
+
}
|
|
157
|
+
lines.push(` ${(0, import_utils.mapKind)(s.kind)} \`${s.name}\` \u2014 line ${s.startLine}`);
|
|
158
|
+
}
|
|
159
|
+
return lines.join("\n");
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
case "kirograph_flows": {
|
|
163
|
+
const { getExecutionFlows, traceFlow } = await Promise.resolve().then(() => require("../../graph/flows.js"));
|
|
164
|
+
const db2 = cg.getDatabase();
|
|
165
|
+
if (args.entryPoint) {
|
|
166
|
+
const results = cg.searchNodes(args.entryPoint, void 0, 5);
|
|
167
|
+
if (results.length === 0) return `Symbol "${args.entryPoint}" not found in index.`;
|
|
168
|
+
const hops = traceFlow(db2, results[0].node.id, args.maxDepth ?? 10);
|
|
169
|
+
if (hops.length < 2) return `No outgoing call chain found from "${args.entryPoint}".`;
|
|
170
|
+
const lines2 = [`## Execution flow from \`${args.entryPoint}\``, ""];
|
|
171
|
+
for (let i = 0; i < hops.length; i++) {
|
|
172
|
+
const hop = hops[i];
|
|
173
|
+
const indent = " ".repeat(i);
|
|
174
|
+
const arrow = i === 0 ? "\u2192" : "\u21B3";
|
|
175
|
+
const conf = hop.confidence && hop.confidence !== "extracted" ? ` [${hop.confidence}]` : "";
|
|
176
|
+
lines2.push(`${indent}${arrow} ${hop.kind} \`${hop.symbol}\` \u2014 ${hop.filePath}:${hop.line}${conf}`);
|
|
177
|
+
}
|
|
178
|
+
return lines2.join("\n");
|
|
179
|
+
}
|
|
180
|
+
const flows = getExecutionFlows(db2, { maxFlows: args.maxFlows ?? 10, maxDepth: args.maxDepth ?? 10 });
|
|
181
|
+
if (flows.length === 0) return "No execution flows detected. The graph may be too small or have no call edges.";
|
|
182
|
+
const lines = [`## Execution Flows (${flows.length} detected)`, ""];
|
|
183
|
+
for (const flow of flows) {
|
|
184
|
+
lines.push(`### \`${flow.entryPoint}\` (${flow.entryPointKind}) \u2014 criticality: ${flow.criticality.toFixed(2)}`);
|
|
185
|
+
lines.push(`File: ${flow.entryPointFile}`, "");
|
|
186
|
+
for (let i = 0; i < flow.hops.length; i++) {
|
|
187
|
+
const hop = flow.hops[i];
|
|
188
|
+
const indent = " ".repeat(Math.min(i, 5));
|
|
189
|
+
const arrow = i === 0 ? "\u2192" : "\u21B3";
|
|
190
|
+
const conf = hop.confidence && hop.confidence !== "extracted" ? ` [${hop.confidence}]` : "";
|
|
191
|
+
lines.push(`${indent}${arrow} \`${hop.symbol}\` (${hop.kind}) \u2014 ${hop.filePath}:${hop.line}${conf}`);
|
|
192
|
+
}
|
|
193
|
+
lines.push("");
|
|
194
|
+
}
|
|
195
|
+
return lines.join("\n");
|
|
196
|
+
}
|
|
197
|
+
case "kirograph_test_coverage": {
|
|
198
|
+
const fs = await import("fs");
|
|
199
|
+
const path = await import("path");
|
|
200
|
+
const sortBy = args.sortBy ?? "asc";
|
|
201
|
+
const limitN = typeof args.limit === "number" ? Math.max(1, Math.min(args.limit, 200)) : 30;
|
|
202
|
+
const candidates = [
|
|
203
|
+
"lcov.info",
|
|
204
|
+
"coverage/lcov.info",
|
|
205
|
+
".nyc_output/lcov.info",
|
|
206
|
+
"coverage/coverage-final.json"
|
|
207
|
+
];
|
|
208
|
+
let foundPath = null;
|
|
209
|
+
let fileType = null;
|
|
210
|
+
for (const rel of candidates) {
|
|
211
|
+
const full = path.join(projectRoot, rel);
|
|
212
|
+
if (fs.existsSync(full)) {
|
|
213
|
+
foundPath = full;
|
|
214
|
+
fileType = rel.endsWith(".json") ? "istanbul" : "lcov";
|
|
215
|
+
break;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
if (!foundPath || !fileType) {
|
|
219
|
+
return "No coverage file found. Generate one with: nyc report --reporter=lcov, jest --coverage, or vitest run --coverage.";
|
|
220
|
+
}
|
|
221
|
+
const content = fs.readFileSync(foundPath, "utf8");
|
|
222
|
+
const fileCoverage = [];
|
|
223
|
+
if (fileType === "lcov") {
|
|
224
|
+
let currentFile = "";
|
|
225
|
+
let covered = 0;
|
|
226
|
+
let total = 0;
|
|
227
|
+
for (const line of content.split("\n")) {
|
|
228
|
+
if (line.startsWith("SF:")) {
|
|
229
|
+
currentFile = line.slice(3).trim();
|
|
230
|
+
covered = 0;
|
|
231
|
+
total = 0;
|
|
232
|
+
} else if (line.startsWith("DA:")) {
|
|
233
|
+
const parts = line.slice(3).split(",");
|
|
234
|
+
if (parts.length >= 2) {
|
|
235
|
+
total++;
|
|
236
|
+
if (parseInt(parts[1], 10) > 0) covered++;
|
|
237
|
+
}
|
|
238
|
+
} else if (line.startsWith("end_of_record") && currentFile) {
|
|
239
|
+
const pct = total > 0 ? covered / total * 100 : 0;
|
|
240
|
+
fileCoverage.push({ file: currentFile, covered, total, pct });
|
|
241
|
+
currentFile = "";
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
} else {
|
|
245
|
+
let json;
|
|
246
|
+
try {
|
|
247
|
+
json = JSON.parse(content);
|
|
248
|
+
} catch {
|
|
249
|
+
return "Failed to parse coverage-final.json \u2014 invalid JSON.";
|
|
250
|
+
}
|
|
251
|
+
for (const [filePath, data] of Object.entries(json)) {
|
|
252
|
+
const statements = data?.s;
|
|
253
|
+
if (!statements) continue;
|
|
254
|
+
const vals = Object.values(statements);
|
|
255
|
+
const total = vals.length;
|
|
256
|
+
const covered = vals.filter((v) => v > 0).length;
|
|
257
|
+
const pct = total > 0 ? covered / total * 100 : 0;
|
|
258
|
+
fileCoverage.push({ file: filePath, covered, total, pct });
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
if (fileCoverage.length === 0) return "Coverage file found but no data could be parsed.";
|
|
262
|
+
fileCoverage.sort((a, b) => sortBy === "desc" ? b.pct - a.pct : a.pct - b.pct);
|
|
263
|
+
const totalLines = fileCoverage.reduce((s, f) => s + f.total, 0);
|
|
264
|
+
const totalCovered = fileCoverage.reduce((s, f) => s + f.covered, 0);
|
|
265
|
+
const overallPct = totalLines > 0 ? totalCovered / totalLines * 100 : 0;
|
|
266
|
+
const lines = [
|
|
267
|
+
`## Test Coverage Report (from ${path.relative(projectRoot, foundPath)})`,
|
|
268
|
+
`Overall: ${overallPct.toFixed(1)}% (${totalCovered}/${totalLines} lines)`,
|
|
269
|
+
`Sorted by coverage ${sortBy === "desc" ? "DESC (highest first)" : "ASC (lowest first)"}, showing top ${limitN}
|
|
270
|
+
`
|
|
271
|
+
];
|
|
272
|
+
for (const f of fileCoverage.slice(0, limitN)) {
|
|
273
|
+
const relFile = f.file.startsWith(projectRoot) ? f.file.slice(projectRoot.length + 1) : f.file;
|
|
274
|
+
lines.push(` ${f.pct.toFixed(1).padStart(5)}% ${relFile} (${f.covered}/${f.total} lines)`);
|
|
275
|
+
}
|
|
276
|
+
return lines.join("\n");
|
|
277
|
+
}
|
|
278
|
+
default:
|
|
279
|
+
return `Unknown tool: ${toolName}`;
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
283
|
+
0 && (module.exports = {
|
|
284
|
+
handleGitContext
|
|
285
|
+
});
|
|
286
|
+
//# sourceMappingURL=git-context.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/mcp/handlers/git-context.ts"],
|
|
4
|
+
"sourcesContent": ["import KiroGraph from '../../index';\nimport { mapKind } from './utils';\nimport type { ChangedSymbol } from '../../graph/git-context';\n\nfunction formatChangedSymbol(s: ChangedSymbol): string {\n const lines = [` ${mapKind(s.kind as any)} \\`${s.name}\\` (${s.changeType}) \u2014 ${s.filePath}:${s.startLine}`];\n if (s.callers.length > 0) lines.push(` callers: ${s.callers.map(c => `\\`${c.name}\\``).join(', ')}`);\n if (s.callees.length > 0) lines.push(` calls: ${s.callees.map(c => `\\`${c.name}\\``).join(', ')}`);\n return lines.join('\\n');\n}\n\nexport async function handleGitContext(toolName: string, args: Record<string, unknown>, cg: KiroGraph): Promise<string> {\n const { getChangedSymbols, getCommitContext, getPRContext, getCommitLog, findTestFiles, findUncoveredSymbols } = await Promise.resolve().then(() => require('../../graph/git-context.js'));\n const projectRoot = cg.getProjectRoot();\n const db = cg.getDatabase();\n\n switch (toolName) {\n case 'kirograph_diff_context': {\n const staged = (args.staged as boolean) ?? false;\n let result;\n try {\n result = getChangedSymbols(projectRoot, db, { staged });\n } catch (err: any) {\n return `git diff failed: ${err.message}. Ensure this is a git repository with git installed.`;\n }\n if (result.changedSymbols.length === 0) {\n return staged ? 'No staged changes found.' : 'No unstaged changes found.';\n }\n const lines = [\n `${staged ? 'Staged' : 'Unstaged'} changes \u2014 ${result.changedSymbols.length} affected symbol(s):\\n`,\n ];\n for (const s of result.changedSymbols) lines.push(formatChangedSymbol(s));\n return lines.join('\\n');\n }\n\n case 'kirograph_commit_context': {\n let ctx;\n try {\n ctx = getCommitContext(projectRoot, db);\n } catch (err: any) {\n return `git diff failed: ${err.message}. Ensure this is a git repository with staged changes.`;\n }\n if (ctx.stagedFiles.length === 0) return 'No staged changes. Stage files with `git add` first.';\n const lines = [\n `Staged files (${ctx.stagedFiles.length}):\\n`,\n ...ctx.stagedFiles.map(f => ` ${f}`),\n '\\nDiff summary:',\n ctx.diffStat,\n ];\n if (ctx.changedSymbols.length > 0) {\n lines.push(`\\nAffected symbols (${ctx.changedSymbols.length}):\\n`);\n for (const s of ctx.changedSymbols) lines.push(formatChangedSymbol(s));\n }\n return lines.join('\\n');\n }\n\n case 'kirograph_pr_context': {\n const base = args.base as string;\n const head = (args.head as string) ?? 'HEAD';\n let result;\n try {\n result = getPRContext(projectRoot, db, base, head);\n } catch (err: any) {\n return `PR context failed: ${err.message}`;\n }\n if (result.changedSymbols.length === 0) return `No symbol changes found between ${base} and ${head}.`;\n const lines = [\n `Semantic diff: ${result.ref} \u2014 ${result.changedSymbols.length} affected symbol(s):\\n`,\n ];\n for (const s of result.changedSymbols) lines.push(formatChangedSymbol(s));\n return lines.join('\\n');\n }\n\n case 'kirograph_changelog': {\n const ref1 = args.ref1 as string;\n const ref2 = (args.ref2 as string) ?? 'HEAD';\n let commits;\n try {\n commits = getCommitLog(projectRoot, ref1, ref2);\n } catch (err: any) {\n return `git log failed: ${err.message}`;\n }\n if (commits.length === 0) return `No commits found between ${ref1} and ${ref2}.`;\n let result;\n try {\n result = getPRContext(projectRoot, db, ref1, ref2);\n } catch { result = null; }\n const lines = [\n `## Changelog: ${ref1}..${ref2} (${commits.length} commits)\\n`,\n ...commits.map(c => `- ${c.shortHash} ${c.date} ${c.subject} (${c.author})`),\n ];\n if (result && result.changedSymbols.length > 0) {\n lines.push(`\\n## Affected symbols (${result.changedSymbols.length}):\\n`);\n for (const s of result.changedSymbols.slice(0, 30)) lines.push(formatChangedSymbol(s));\n if (result.changedSymbols.length > 30) lines.push(` \u2026and ${result.changedSymbols.length - 30} more`);\n }\n return lines.join('\\n');\n }\n\n case 'kirograph_test_map': {\n const symbol = args.symbol as string | undefined;\n if (symbol) {\n const results = cg.searchNodes(symbol, undefined, 5);\n if (results.length === 0) return `Symbol \"${symbol}\" not found in index.`;\n const node = results[0].node;\n const testFiles = findTestFiles(db, node.id);\n if (testFiles.length === 0) return `No test files found that reference \\`${node.name}\\`.`;\n return `Test files covering \\`${node.name}\\` (${testFiles.length}):\\n\\n` +\n testFiles.map(f => ` ${f}`).join('\\n');\n } else {\n const uncovered = findUncoveredSymbols(db, 40);\n if (uncovered.length === 0) return 'All exported symbols appear to have test coverage.';\n const lines = [`Exported symbols with no test coverage (${uncovered.length}):\\n`];\n let lastFile = '';\n for (const s of uncovered) {\n if (s.filePath !== lastFile) { lines.push(`\\n${s.filePath}`); lastFile = s.filePath; }\n lines.push(` ${mapKind(s.kind as any)} \\`${s.name}\\` \u2014 line ${s.startLine}`);\n }\n return lines.join('\\n');\n }\n }\n\n case 'kirograph_flows': {\n const { getExecutionFlows, traceFlow } = await Promise.resolve().then(() => require('../../graph/flows.js'));\n const db = cg.getDatabase();\n if (args.entryPoint) {\n const results = cg.searchNodes(args.entryPoint as string, undefined, 5);\n if (results.length === 0) return `Symbol \"${args.entryPoint}\" not found in index.`;\n const hops = traceFlow(db, results[0].node.id, (args.maxDepth as number) ?? 10);\n if (hops.length < 2) return `No outgoing call chain found from \"${args.entryPoint}\".`;\n const lines = [`## Execution flow from \\`${args.entryPoint}\\``, ''];\n for (let i = 0; i < hops.length; i++) {\n const hop = hops[i];\n const indent = ' '.repeat(i);\n const arrow = i === 0 ? '\u2192' : '\u21B3';\n const conf = hop.confidence && hop.confidence !== 'extracted' ? ` [${hop.confidence}]` : '';\n lines.push(`${indent}${arrow} ${hop.kind} \\`${hop.symbol}\\` \u2014 ${hop.filePath}:${hop.line}${conf}`);\n }\n return lines.join('\\n');\n }\n const flows = getExecutionFlows(db, { maxFlows: (args.maxFlows as number) ?? 10, maxDepth: (args.maxDepth as number) ?? 10 });\n if (flows.length === 0) return 'No execution flows detected. The graph may be too small or have no call edges.';\n const lines = [`## Execution Flows (${flows.length} detected)`, ''];\n for (const flow of flows) {\n lines.push(`### \\`${flow.entryPoint}\\` (${flow.entryPointKind}) \u2014 criticality: ${flow.criticality.toFixed(2)}`);\n lines.push(`File: ${flow.entryPointFile}`, '');\n for (let i = 0; i < flow.hops.length; i++) {\n const hop = flow.hops[i];\n const indent = ' '.repeat(Math.min(i, 5));\n const arrow = i === 0 ? '\u2192' : '\u21B3';\n const conf = hop.confidence && hop.confidence !== 'extracted' ? ` [${hop.confidence}]` : '';\n lines.push(`${indent}${arrow} \\`${hop.symbol}\\` (${hop.kind}) \u2014 ${hop.filePath}:${hop.line}${conf}`);\n }\n lines.push('');\n }\n return lines.join('\\n');\n }\n\n case 'kirograph_test_coverage': {\n const fs = await import('fs');\n const path = await import('path');\n const sortBy = (args.sortBy as string) ?? 'asc';\n const limitN = typeof args.limit === 'number' ? Math.max(1, Math.min(args.limit, 200)) : 30;\n\n // Search for coverage files\n const candidates = [\n 'lcov.info',\n 'coverage/lcov.info',\n '.nyc_output/lcov.info',\n 'coverage/coverage-final.json',\n ];\n\n let foundPath: string | null = null;\n let fileType: 'lcov' | 'istanbul' | null = null;\n for (const rel of candidates) {\n const full = path.join(projectRoot, rel);\n if (fs.existsSync(full)) {\n foundPath = full;\n fileType = rel.endsWith('.json') ? 'istanbul' : 'lcov';\n break;\n }\n }\n\n if (!foundPath || !fileType) {\n return 'No coverage file found. Generate one with: nyc report --reporter=lcov, jest --coverage, or vitest run --coverage.';\n }\n\n const content = fs.readFileSync(foundPath, 'utf8');\n const fileCoverage: Array<{ file: string; covered: number; total: number; pct: number }> = [];\n\n if (fileType === 'lcov') {\n let currentFile = '';\n let covered = 0;\n let total = 0;\n for (const line of content.split('\\n')) {\n if (line.startsWith('SF:')) {\n currentFile = line.slice(3).trim();\n covered = 0;\n total = 0;\n } else if (line.startsWith('DA:')) {\n const parts = line.slice(3).split(',');\n if (parts.length >= 2) {\n total++;\n if (parseInt(parts[1], 10) > 0) covered++;\n }\n } else if (line.startsWith('end_of_record') && currentFile) {\n const pct = total > 0 ? (covered / total) * 100 : 0;\n fileCoverage.push({ file: currentFile, covered, total, pct });\n currentFile = '';\n }\n }\n } else {\n // Istanbul JSON\n let json: Record<string, any>;\n try {\n json = JSON.parse(content);\n } catch {\n return 'Failed to parse coverage-final.json \u2014 invalid JSON.';\n }\n for (const [filePath, data] of Object.entries(json)) {\n const statements = data?.s as Record<string, number> | undefined;\n if (!statements) continue;\n const vals = Object.values(statements);\n const total = vals.length;\n const covered = vals.filter(v => v > 0).length;\n const pct = total > 0 ? (covered / total) * 100 : 0;\n fileCoverage.push({ file: filePath, covered, total, pct });\n }\n }\n\n if (fileCoverage.length === 0) return 'Coverage file found but no data could be parsed.';\n\n // Sort\n fileCoverage.sort((a, b) => sortBy === 'desc' ? b.pct - a.pct : a.pct - b.pct);\n\n // Overall coverage\n const totalLines = fileCoverage.reduce((s, f) => s + f.total, 0);\n const totalCovered = fileCoverage.reduce((s, f) => s + f.covered, 0);\n const overallPct = totalLines > 0 ? (totalCovered / totalLines) * 100 : 0;\n\n const lines = [\n `## Test Coverage Report (from ${path.relative(projectRoot, foundPath)})`,\n `Overall: ${overallPct.toFixed(1)}% (${totalCovered}/${totalLines} lines)`,\n `Sorted by coverage ${sortBy === 'desc' ? 'DESC (highest first)' : 'ASC (lowest first)'}, showing top ${limitN}\\n`,\n ];\n\n for (const f of fileCoverage.slice(0, limitN)) {\n const relFile = f.file.startsWith(projectRoot) ? f.file.slice(projectRoot.length + 1) : f.file;\n lines.push(` ${f.pct.toFixed(1).padStart(5)}% ${relFile} (${f.covered}/${f.total} lines)`);\n }\n\n return lines.join('\\n');\n }\n\n default:\n return `Unknown tool: ${toolName}`;\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["db", "lines"]
|
|
7
|
+
}
|