kirograph 0.17.0 → 0.20.0
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/LICENSE +1 -1
- package/README.md +105 -1822
- package/dist/architecture/layers/dart.d.ts +10 -0
- package/dist/architecture/layers/dart.d.ts.map +1 -0
- package/dist/architecture/layers/dart.js +112 -0
- package/dist/architecture/layers/dart.js.map +7 -0
- package/dist/architecture/layers/elixir.d.ts +6 -0
- package/dist/architecture/layers/elixir.d.ts.map +1 -0
- package/dist/architecture/layers/index.d.ts.map +1 -1
- package/dist/architecture/layers/index.js +3 -1
- package/dist/architecture/layers/index.js.map +2 -2
- package/dist/architecture/layers/ocaml.d.ts +6 -0
- package/dist/architecture/layers/ocaml.d.ts.map +1 -0
- package/dist/architecture/layers/scala.d.ts +6 -0
- package/dist/architecture/layers/scala.d.ts.map +1 -0
- package/dist/architecture/layers/solidity.d.ts +6 -0
- package/dist/architecture/layers/solidity.d.ts.map +1 -0
- package/dist/architecture/layers/vue.d.ts +6 -0
- package/dist/architecture/layers/vue.d.ts.map +1 -0
- package/dist/architecture/manifest/elm.d.ts +3 -0
- package/dist/architecture/manifest/elm.d.ts.map +1 -0
- package/dist/architecture/manifest/index.d.ts.map +1 -1
- package/dist/architecture/manifest/ocaml.d.ts +3 -0
- package/dist/architecture/manifest/ocaml.d.ts.map +1 -0
- package/dist/architecture/manifest/scala.d.ts +3 -0
- package/dist/architecture/manifest/scala.d.ts.map +1 -0
- package/dist/bin/banner.d.ts.map +1 -1
- package/dist/bin/banner.js +74 -6
- package/dist/bin/banner.js.map +2 -2
- package/dist/bin/commands/affected.d.ts.map +1 -1
- package/dist/bin/commands/attack-surface.d.ts +3 -0
- package/dist/bin/commands/attack-surface.d.ts.map +1 -0
- package/dist/bin/commands/attack-surface.js +164 -0
- package/dist/bin/commands/attack-surface.js.map +7 -0
- package/dist/bin/commands/benchmark.d.ts +9 -0
- package/dist/bin/commands/benchmark.d.ts.map +1 -0
- package/dist/bin/commands/benchmark.js +206 -0
- package/dist/bin/commands/benchmark.js.map +7 -0
- package/dist/bin/commands/budget.d.ts +6 -0
- package/dist/bin/commands/budget.d.ts.map +1 -0
- package/dist/bin/commands/budget.js +70 -0
- package/dist/bin/commands/budget.js.map +7 -0
- package/dist/bin/commands/caveman.d.ts +7 -0
- package/dist/bin/commands/caveman.d.ts.map +1 -0
- package/dist/bin/commands/communities.d.ts +3 -0
- package/dist/bin/commands/communities.d.ts.map +1 -0
- package/dist/bin/commands/communities.js +77 -0
- package/dist/bin/commands/communities.js.map +7 -0
- package/dist/bin/commands/compression.d.ts +7 -0
- package/dist/bin/commands/compression.d.ts.map +1 -0
- package/dist/bin/commands/context.d.ts.map +1 -1
- package/dist/bin/commands/data.d.ts +3 -0
- package/dist/bin/commands/data.d.ts.map +1 -0
- package/dist/bin/commands/dead-code.d.ts +3 -0
- package/dist/bin/commands/dead-code.d.ts.map +1 -0
- package/dist/bin/commands/dep-confusion.d.ts +3 -0
- package/dist/bin/commands/dep-confusion.d.ts.map +1 -0
- package/dist/bin/commands/dep-confusion.js +119 -0
- package/dist/bin/commands/dep-confusion.js.map +7 -0
- package/dist/bin/commands/docs.d.ts +3 -0
- package/dist/bin/commands/docs.d.ts.map +1 -0
- package/dist/bin/commands/exec.d.ts +11 -0
- package/dist/bin/commands/exec.d.ts.map +1 -0
- package/dist/bin/commands/export.d.ts +3 -0
- package/dist/bin/commands/export.d.ts.map +1 -0
- package/dist/bin/commands/export.js +304 -10
- package/dist/bin/commands/export.js.map +2 -2
- package/dist/bin/commands/flows.d.ts +3 -0
- package/dist/bin/commands/flows.d.ts.map +1 -0
- package/dist/bin/commands/flows.js +97 -0
- package/dist/bin/commands/flows.js.map +7 -0
- package/dist/bin/commands/gain.d.ts +6 -0
- package/dist/bin/commands/gain.d.ts.map +1 -0
- package/dist/bin/commands/help.d.ts +7 -0
- package/dist/bin/commands/help.d.ts.map +1 -1
- package/dist/bin/commands/help.js +399 -101
- package/dist/bin/commands/help.js.map +2 -2
- package/dist/bin/commands/hotspots.d.ts +3 -0
- package/dist/bin/commands/hotspots.d.ts.map +1 -0
- package/dist/bin/commands/hotspots.js +94 -1
- package/dist/bin/commands/hotspots.js.map +3 -3
- package/dist/bin/commands/install.d.ts.map +1 -1
- package/dist/bin/commands/install.js +90 -8
- package/dist/bin/commands/install.js.map +2 -2
- package/dist/bin/commands/licenses.d.ts +3 -0
- package/dist/bin/commands/licenses.d.ts.map +1 -0
- package/dist/bin/commands/licenses.js +201 -0
- package/dist/bin/commands/licenses.js.map +7 -0
- package/dist/bin/commands/memory.d.ts +16 -0
- package/dist/bin/commands/memory.d.ts.map +1 -0
- package/dist/bin/commands/memory.js +151 -4
- package/dist/bin/commands/memory.js.map +2 -2
- package/dist/bin/commands/path.d.ts +3 -0
- package/dist/bin/commands/path.d.ts.map +1 -0
- package/dist/bin/commands/pattern.d.ts +3 -0
- package/dist/bin/commands/pattern.d.ts.map +1 -0
- package/dist/bin/commands/pattern.js +592 -0
- package/dist/bin/commands/pattern.js.map +7 -0
- package/dist/bin/commands/query.d.ts.map +1 -1
- package/dist/bin/commands/reachability.d.ts +3 -0
- package/dist/bin/commands/reachability.d.ts.map +1 -0
- package/dist/bin/commands/reachability.js +160 -0
- package/dist/bin/commands/reachability.js.map +7 -0
- package/dist/bin/commands/read.d.ts +6 -0
- package/dist/bin/commands/read.d.ts.map +1 -0
- package/dist/bin/commands/read.js +100 -0
- package/dist/bin/commands/read.js.map +7 -0
- package/dist/bin/commands/refactor.d.ts +3 -0
- package/dist/bin/commands/refactor.d.ts.map +1 -0
- package/dist/bin/commands/refactor.js +116 -0
- package/dist/bin/commands/refactor.js.map +7 -0
- package/dist/bin/commands/remediation.d.ts +3 -0
- package/dist/bin/commands/remediation.d.ts.map +1 -0
- package/dist/bin/commands/remediation.js +133 -0
- package/dist/bin/commands/remediation.js.map +7 -0
- package/dist/bin/commands/sbom.d.ts +3 -0
- package/dist/bin/commands/sbom.d.ts.map +1 -0
- package/dist/bin/commands/sbom.js +76 -0
- package/dist/bin/commands/sbom.js.map +7 -0
- package/dist/bin/commands/security-ci-report.d.ts +9 -0
- package/dist/bin/commands/security-ci-report.d.ts.map +1 -0
- package/dist/bin/commands/security-ci-report.js +267 -0
- package/dist/bin/commands/security-ci-report.js.map +7 -0
- package/dist/bin/commands/security-export.d.ts +2 -0
- package/dist/bin/commands/security-export.d.ts.map +1 -0
- package/dist/bin/commands/security-export.js +1349 -0
- package/dist/bin/commands/security-export.js.map +7 -0
- package/dist/bin/commands/security-flows.d.ts +3 -0
- package/dist/bin/commands/security-flows.d.ts.map +1 -0
- package/dist/bin/commands/security-flows.js +126 -0
- package/dist/bin/commands/security-flows.js.map +7 -0
- package/dist/bin/commands/security-secrets.d.ts +3 -0
- package/dist/bin/commands/security-secrets.d.ts.map +1 -0
- package/dist/bin/commands/security-secrets.js +170 -0
- package/dist/bin/commands/security-secrets.js.map +7 -0
- package/dist/bin/commands/security.d.ts +3 -0
- package/dist/bin/commands/security.d.ts.map +1 -0
- package/dist/bin/commands/security.js +208 -0
- package/dist/bin/commands/security.js.map +7 -0
- package/dist/bin/commands/snapshot.d.ts +3 -0
- package/dist/bin/commands/snapshot.d.ts.map +1 -0
- package/dist/bin/commands/staleness.d.ts +3 -0
- package/dist/bin/commands/staleness.d.ts.map +1 -0
- package/dist/bin/commands/staleness.js +144 -0
- package/dist/bin/commands/staleness.js.map +7 -0
- package/dist/bin/commands/status.d.ts.map +1 -1
- package/dist/bin/commands/status.js +129 -2
- package/dist/bin/commands/status.js.map +2 -2
- package/dist/bin/commands/supply-chain.d.ts +3 -0
- package/dist/bin/commands/supply-chain.d.ts.map +1 -0
- package/dist/bin/commands/supply-chain.js +138 -0
- package/dist/bin/commands/supply-chain.js.map +7 -0
- package/dist/bin/commands/surprising.d.ts +3 -0
- package/dist/bin/commands/surprising.d.ts.map +1 -0
- package/dist/bin/commands/sync.d.ts.map +1 -1
- package/dist/bin/commands/uninit.d.ts.map +1 -1
- package/dist/bin/commands/uninit.js +109 -60
- package/dist/bin/commands/uninit.js.map +2 -2
- package/dist/bin/commands/utils.d.ts +5 -0
- package/dist/bin/commands/utils.d.ts.map +1 -1
- package/dist/bin/commands/vex.d.ts +3 -0
- package/dist/bin/commands/vex.d.ts.map +1 -0
- package/dist/bin/commands/vex.js +76 -0
- package/dist/bin/commands/vex.js.map +7 -0
- package/dist/bin/commands/vuln-suppress.d.ts +3 -0
- package/dist/bin/commands/vuln-suppress.d.ts.map +1 -0
- package/dist/bin/commands/vuln-suppress.js +95 -0
- package/dist/bin/commands/vuln-suppress.js.map +7 -0
- package/dist/bin/commands/vulns.d.ts +3 -0
- package/dist/bin/commands/vulns.d.ts.map +1 -0
- package/dist/bin/commands/vulns.js +382 -0
- package/dist/bin/commands/vulns.js.map +7 -0
- package/dist/bin/installer/archive.d.ts +47 -0
- package/dist/bin/installer/archive.d.ts.map +1 -0
- package/dist/bin/installer/auto-detect.d.ts +16 -0
- package/dist/bin/installer/auto-detect.d.ts.map +1 -0
- package/dist/bin/installer/auto-detect.js +125 -0
- package/dist/bin/installer/auto-detect.js.map +7 -0
- package/dist/bin/installer/caveman.d.ts +12 -0
- package/dist/bin/installer/caveman.d.ts.map +1 -0
- package/dist/bin/installer/cli-agent.d.ts +7 -2
- package/dist/bin/installer/cli-agent.d.ts.map +1 -1
- package/dist/bin/installer/cli-agent.js +32 -5
- package/dist/bin/installer/cli-agent.js.map +2 -2
- package/dist/bin/installer/common.d.ts +36 -0
- package/dist/bin/installer/common.d.ts.map +1 -0
- package/dist/bin/installer/common.js +48 -0
- package/dist/bin/installer/common.js.map +2 -2
- package/dist/bin/installer/config-prompt.d.ts +1 -1
- package/dist/bin/installer/config-prompt.d.ts.map +1 -1
- package/dist/bin/installer/config-prompt.js +85 -2
- package/dist/bin/installer/config-prompt.js.map +2 -2
- package/dist/bin/installer/dashboard.d.ts.map +1 -1
- package/dist/bin/installer/detect.d.ts +30 -0
- package/dist/bin/installer/detect.d.ts.map +1 -0
- package/dist/bin/installer/detect.js +309 -0
- package/dist/bin/installer/detect.js.map +7 -0
- package/dist/bin/installer/hooks.d.ts +4 -1
- package/dist/bin/installer/hooks.d.ts.map +1 -1
- package/dist/bin/installer/hooks.js +34 -0
- package/dist/bin/installer/hooks.js.map +2 -2
- package/dist/bin/installer/index.d.ts +5 -4
- package/dist/bin/installer/index.d.ts.map +1 -1
- package/dist/bin/installer/index.js +46 -8
- package/dist/bin/installer/index.js.map +2 -2
- package/dist/bin/installer/instructions.d.ts +14 -0
- package/dist/bin/installer/instructions.d.ts.map +1 -0
- package/dist/bin/installer/instructions.js +209 -3
- package/dist/bin/installer/instructions.js.map +2 -2
- package/dist/bin/installer/mcp.d.ts.map +1 -1
- package/dist/bin/installer/prompts.d.ts +17 -0
- package/dist/bin/installer/prompts.d.ts.map +1 -1
- package/dist/bin/installer/qdrant-dashboard.d.ts.map +1 -1
- package/dist/bin/installer/steering.d.ts +14 -2
- package/dist/bin/installer/steering.d.ts.map +1 -1
- package/dist/bin/installer/steering.js +488 -0
- package/dist/bin/installer/steering.js.map +2 -2
- package/dist/bin/installer/targets/aider.d.ts +6 -0
- package/dist/bin/installer/targets/aider.d.ts.map +1 -0
- package/dist/bin/installer/targets/aider.js +3 -3
- package/dist/bin/installer/targets/aider.js.map +2 -2
- package/dist/bin/installer/targets/amp.d.ts +6 -0
- package/dist/bin/installer/targets/amp.d.ts.map +1 -0
- package/dist/bin/installer/targets/amp.js +3 -3
- package/dist/bin/installer/targets/amp.js.map +2 -2
- package/dist/bin/installer/targets/antigravity.d.ts +13 -0
- package/dist/bin/installer/targets/antigravity.d.ts.map +1 -0
- package/dist/bin/installer/targets/antigravity.js +35 -6
- package/dist/bin/installer/targets/antigravity.js.map +2 -2
- package/dist/bin/installer/targets/augment.d.ts +6 -0
- package/dist/bin/installer/targets/augment.d.ts.map +1 -0
- package/dist/bin/installer/targets/augment.js +3 -3
- package/dist/bin/installer/targets/augment.js.map +2 -2
- package/dist/bin/installer/targets/claude.d.ts +6 -0
- package/dist/bin/installer/targets/claude.d.ts.map +1 -0
- package/dist/bin/installer/targets/claude.js +49 -5
- package/dist/bin/installer/targets/claude.js.map +2 -2
- package/dist/bin/installer/targets/cline.d.ts +13 -0
- package/dist/bin/installer/targets/cline.d.ts.map +1 -0
- package/dist/bin/installer/targets/cline.js +32 -6
- package/dist/bin/installer/targets/cline.js.map +2 -2
- package/dist/bin/installer/targets/codex.d.ts +6 -0
- package/dist/bin/installer/targets/codex.d.ts.map +1 -0
- package/dist/bin/installer/targets/codex.js +64 -12
- package/dist/bin/installer/targets/codex.js.map +2 -2
- package/dist/bin/installer/targets/continue.d.ts +12 -0
- package/dist/bin/installer/targets/continue.d.ts.map +1 -0
- package/dist/bin/installer/targets/continue.js +2 -2
- package/dist/bin/installer/targets/continue.js.map +2 -2
- package/dist/bin/installer/targets/copilot-cli.d.ts +12 -0
- package/dist/bin/installer/targets/copilot-cli.d.ts.map +1 -0
- package/dist/bin/installer/targets/copilot-cli.js +101 -0
- package/dist/bin/installer/targets/copilot-cli.js.map +7 -0
- package/dist/bin/installer/targets/copilot.d.ts +6 -0
- package/dist/bin/installer/targets/copilot.d.ts.map +1 -0
- package/dist/bin/installer/targets/copilot.js +31 -5
- package/dist/bin/installer/targets/copilot.js.map +2 -2
- package/dist/bin/installer/targets/cursor.d.ts +6 -0
- package/dist/bin/installer/targets/cursor.d.ts.map +1 -0
- package/dist/bin/installer/targets/cursor.js +4 -4
- package/dist/bin/installer/targets/cursor.js.map +2 -2
- package/dist/bin/installer/targets/devin.d.ts +13 -0
- package/dist/bin/installer/targets/devin.d.ts.map +1 -0
- package/dist/bin/installer/targets/devin.js +2 -2
- package/dist/bin/installer/targets/devin.js.map +2 -2
- package/dist/bin/installer/targets/gemini-cli.d.ts +16 -0
- package/dist/bin/installer/targets/gemini-cli.d.ts.map +1 -0
- package/dist/bin/installer/targets/gemini-cli.js +2 -2
- package/dist/bin/installer/targets/gemini-cli.js.map +2 -2
- package/dist/bin/installer/targets/generic.d.ts +59 -0
- package/dist/bin/installer/targets/generic.d.ts.map +1 -0
- package/dist/bin/installer/targets/generic.js +2 -14
- package/dist/bin/installer/targets/generic.js.map +2 -2
- package/dist/bin/installer/targets/goose.d.ts +6 -0
- package/dist/bin/installer/targets/goose.d.ts.map +1 -0
- package/dist/bin/installer/targets/goose.js +3 -3
- package/dist/bin/installer/targets/goose.js.map +2 -2
- package/dist/bin/installer/targets/index.d.ts +11 -0
- package/dist/bin/installer/targets/index.d.ts.map +1 -0
- package/dist/bin/installer/targets/index.js +250 -0
- package/dist/bin/installer/targets/index.js.map +2 -2
- package/dist/bin/installer/targets/junie.d.ts +13 -0
- package/dist/bin/installer/targets/junie.d.ts.map +1 -0
- package/dist/bin/installer/targets/junie.js +2 -2
- package/dist/bin/installer/targets/junie.js.map +2 -2
- package/dist/bin/installer/targets/kilo.d.ts +12 -0
- package/dist/bin/installer/targets/kilo.d.ts.map +1 -0
- package/dist/bin/installer/targets/kilo.js +2 -2
- package/dist/bin/installer/targets/kilo.js.map +2 -2
- package/dist/bin/installer/targets/kiro.d.ts +5 -0
- package/dist/bin/installer/targets/kiro.d.ts.map +1 -0
- package/dist/bin/installer/targets/kiro.js +4 -4
- package/dist/bin/installer/targets/kiro.js.map +2 -2
- package/dist/bin/installer/targets/opencode.d.ts +13 -0
- package/dist/bin/installer/targets/opencode.d.ts.map +1 -0
- package/dist/bin/installer/targets/opencode.js +2 -2
- package/dist/bin/installer/targets/opencode.js.map +2 -2
- package/dist/bin/installer/targets/openhands.d.ts +6 -0
- package/dist/bin/installer/targets/openhands.d.ts.map +1 -0
- package/dist/bin/installer/targets/openhands.js +3 -3
- package/dist/bin/installer/targets/openhands.js.map +2 -2
- package/dist/bin/installer/targets/qoder.d.ts +12 -0
- package/dist/bin/installer/targets/qoder.d.ts.map +1 -0
- package/dist/bin/installer/targets/qoder.js +91 -0
- package/dist/bin/installer/targets/qoder.js.map +7 -0
- package/dist/bin/installer/targets/qwen.d.ts +12 -0
- package/dist/bin/installer/targets/qwen.d.ts.map +1 -0
- package/dist/bin/installer/targets/qwen.js +96 -0
- package/dist/bin/installer/targets/qwen.js.map +7 -0
- package/dist/bin/installer/targets/replit.d.ts +6 -0
- package/dist/bin/installer/targets/replit.d.ts.map +1 -0
- package/dist/bin/installer/targets/replit.js +3 -3
- package/dist/bin/installer/targets/replit.js.map +2 -2
- package/dist/bin/installer/targets/roo.d.ts +13 -0
- package/dist/bin/installer/targets/roo.d.ts.map +1 -0
- package/dist/bin/installer/targets/roo.js +2 -2
- package/dist/bin/installer/targets/roo.js.map +2 -2
- package/dist/bin/installer/targets/tabnine.d.ts +6 -0
- package/dist/bin/installer/targets/tabnine.d.ts.map +1 -0
- package/dist/bin/installer/targets/tabnine.js +3 -3
- package/dist/bin/installer/targets/tabnine.js.map +2 -2
- package/dist/bin/installer/targets/trae.d.ts +6 -0
- package/dist/bin/installer/targets/trae.d.ts.map +1 -0
- package/dist/bin/installer/targets/trae.js +5 -5
- package/dist/bin/installer/targets/trae.js.map +2 -2
- package/dist/bin/installer/targets/warp.d.ts +12 -0
- package/dist/bin/installer/targets/warp.d.ts.map +1 -0
- package/dist/bin/installer/targets/warp.js +2 -2
- package/dist/bin/installer/targets/warp.js.map +2 -2
- package/dist/bin/installer/targets/windsurf.d.ts +13 -0
- package/dist/bin/installer/targets/windsurf.d.ts.map +1 -0
- package/dist/bin/installer/targets/windsurf.js +35 -6
- package/dist/bin/installer/targets/windsurf.js.map +2 -2
- package/dist/bin/kirograph.js +74 -6
- package/dist/bin/kirograph.js.map +3 -3
- package/dist/bin/progress.d.ts +16 -1
- package/dist/bin/progress.d.ts.map +1 -1
- package/dist/compression/filters/aws.d.ts +9 -0
- package/dist/compression/filters/aws.d.ts.map +1 -0
- package/dist/compression/filters/docker.d.ts +6 -0
- package/dist/compression/filters/docker.d.ts.map +1 -0
- package/dist/compression/filters/files.d.ts +6 -0
- package/dist/compression/filters/files.d.ts.map +1 -0
- package/dist/compression/filters/generic.d.ts +7 -0
- package/dist/compression/filters/generic.d.ts.map +1 -0
- package/dist/compression/filters/git.d.ts +6 -0
- package/dist/compression/filters/git.d.ts.map +1 -0
- package/dist/compression/filters/github.d.ts +6 -0
- package/dist/compression/filters/github.d.ts.map +1 -0
- package/dist/compression/filters/lint.d.ts +6 -0
- package/dist/compression/filters/lint.d.ts.map +1 -0
- package/dist/compression/filters/misc.d.ts +6 -0
- package/dist/compression/filters/misc.d.ts.map +1 -0
- package/dist/compression/filters/package.d.ts +6 -0
- package/dist/compression/filters/package.d.ts.map +1 -0
- package/dist/compression/filters/test.d.ts +6 -0
- package/dist/compression/filters/test.d.ts.map +1 -0
- package/dist/compression/index.d.ts +29 -0
- package/dist/compression/index.d.ts.map +1 -0
- package/dist/compression/naive-cost.d.ts +26 -0
- package/dist/compression/naive-cost.d.ts.map +1 -0
- package/dist/compression/tracker.d.ts +155 -0
- package/dist/compression/tracker.d.ts.map +1 -0
- package/dist/compression/tracker.js +80 -0
- package/dist/compression/tracker.js.map +2 -2
- package/dist/compression/types.d.ts +49 -0
- package/dist/compression/types.d.ts.map +1 -0
- package/dist/config.d.ts +90 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +144 -3
- package/dist/config.js.map +2 -2
- package/dist/core/lock-manager.d.ts +2 -0
- package/dist/core/lock-manager.d.ts.map +1 -1
- package/dist/core/pipeline.d.ts +4 -1
- package/dist/core/pipeline.d.ts.map +1 -1
- package/dist/core/pipeline.js +78 -2
- package/dist/core/pipeline.js.map +2 -2
- package/dist/core/snapshot.d.ts +58 -0
- package/dist/core/snapshot.d.ts.map +1 -0
- package/dist/data/filters.d.ts +23 -0
- package/dist/data/filters.d.ts.map +1 -0
- package/dist/data/indexer.d.ts +25 -0
- package/dist/data/indexer.d.ts.map +1 -0
- package/dist/data/linker.d.ts +37 -0
- package/dist/data/linker.d.ts.map +1 -0
- package/dist/data/lint.d.ts +27 -0
- package/dist/data/lint.d.ts.map +1 -0
- package/dist/data/parsers/csv.d.ts +11 -0
- package/dist/data/parsers/csv.d.ts.map +1 -0
- package/dist/data/parsers/excel.d.ts +10 -0
- package/dist/data/parsers/excel.d.ts.map +1 -0
- package/dist/data/parsers/index.d.ts +28 -0
- package/dist/data/parsers/index.d.ts.map +1 -0
- package/dist/data/parsers/json-array.d.ts +9 -0
- package/dist/data/parsers/json-array.d.ts.map +1 -0
- package/dist/data/parsers/jsonl.d.ts +9 -0
- package/dist/data/parsers/jsonl.d.ts.map +1 -0
- package/dist/data/parsers/parquet.d.ts +10 -0
- package/dist/data/parsers/parquet.d.ts.map +1 -0
- package/dist/data/profiler.d.ts +29 -0
- package/dist/data/profiler.d.ts.map +1 -0
- package/dist/data/queries.d.ts +95 -0
- package/dist/data/queries.d.ts.map +1 -0
- package/dist/data/types.d.ts +103 -0
- package/dist/data/types.d.ts.map +1 -0
- package/dist/db/database.d.ts +57 -0
- package/dist/db/database.d.ts.map +1 -1
- package/dist/db/database.js +75 -5
- package/dist/db/database.js.map +2 -2
- package/dist/db/memory-schema.sql +5 -1
- package/dist/db/patterns-schema.sql +23 -0
- package/dist/db/schema.sql +3 -1
- package/dist/db/security-schema.sql +72 -0
- package/dist/docs/formats/asciidoc.d.ts +9 -0
- package/dist/docs/formats/asciidoc.d.ts.map +1 -0
- package/dist/docs/formats/html.d.ts +10 -0
- package/dist/docs/formats/html.d.ts.map +1 -0
- package/dist/docs/formats/index.d.ts +31 -0
- package/dist/docs/formats/index.d.ts.map +1 -0
- package/dist/docs/formats/markdown.d.ts +11 -0
- package/dist/docs/formats/markdown.d.ts.map +1 -0
- package/dist/docs/formats/openapi.d.ts +17 -0
- package/dist/docs/formats/openapi.d.ts.map +1 -0
- package/dist/docs/formats/org.d.ts +9 -0
- package/dist/docs/formats/org.d.ts.map +1 -0
- package/dist/docs/formats/plaintext.d.ts +11 -0
- package/dist/docs/formats/plaintext.d.ts.map +1 -0
- package/dist/docs/formats/rdoc.d.ts +10 -0
- package/dist/docs/formats/rdoc.d.ts.map +1 -0
- package/dist/docs/formats/rst.d.ts +11 -0
- package/dist/docs/formats/rst.d.ts.map +1 -0
- package/dist/docs/indexer.d.ts +49 -0
- package/dist/docs/indexer.d.ts.map +1 -0
- package/dist/docs/linker.d.ts +30 -0
- package/dist/docs/linker.d.ts.map +1 -0
- package/dist/docs/lint.d.ts +27 -0
- package/dist/docs/lint.d.ts.map +1 -0
- package/dist/docs/queries.d.ts +78 -0
- package/dist/docs/queries.d.ts.map +1 -0
- package/dist/docs/section-id.d.ts +48 -0
- package/dist/docs/section-id.d.ts.map +1 -0
- package/dist/docs/summarizer.d.ts +13 -0
- package/dist/docs/summarizer.d.ts.map +1 -0
- package/dist/docs/types.d.ts +71 -0
- package/dist/docs/types.d.ts.map +1 -0
- package/dist/docs/vectors.d.ts +54 -0
- package/dist/docs/vectors.d.ts.map +1 -0
- package/dist/extraction/extractor.d.ts +1 -1
- package/dist/extraction/extractor.d.ts.map +1 -1
- package/dist/extraction/extractor.js +81 -0
- package/dist/extraction/extractor.js.map +2 -2
- package/dist/extraction/grammars.d.ts +6 -0
- package/dist/extraction/grammars.d.ts.map +1 -1
- package/dist/extraction/grammars.js +32 -8
- package/dist/extraction/grammars.js.map +2 -2
- package/dist/extraction/languages.d.ts.map +1 -1
- package/dist/extraction/languages.js +43 -1
- package/dist/extraction/languages.js.map +2 -2
- package/dist/extraction/notebook.d.ts +14 -0
- package/dist/extraction/notebook.d.ts.map +1 -0
- package/dist/extraction/notebook.js +300 -0
- package/dist/extraction/notebook.js.map +7 -0
- package/dist/extraction/wasm/tree-sitter-astro.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-gdscript.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-julia.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-nix.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-perl.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-powershell.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-r.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-sql.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-verilog.wasm +0 -0
- package/dist/frameworks/amplify.d.ts +9 -0
- package/dist/frameworks/amplify.d.ts.map +1 -0
- package/dist/frameworks/angular.d.ts +9 -0
- package/dist/frameworks/angular.d.ts.map +1 -0
- package/dist/frameworks/ansible.d.ts +8 -0
- package/dist/frameworks/ansible.d.ts.map +1 -0
- package/dist/frameworks/cloudformation.d.ts +9 -0
- package/dist/frameworks/cloudformation.d.ts.map +1 -0
- package/dist/frameworks/docker.d.ts +9 -0
- package/dist/frameworks/docker.d.ts.map +1 -0
- package/dist/frameworks/elixir.d.ts +6 -0
- package/dist/frameworks/elixir.d.ts.map +1 -0
- package/dist/frameworks/flutter.d.ts +12 -0
- package/dist/frameworks/flutter.d.ts.map +1 -0
- package/dist/frameworks/flutter.js +130 -0
- package/dist/frameworks/flutter.js.map +7 -0
- package/dist/frameworks/iac.d.ts +10 -0
- package/dist/frameworks/iac.d.ts.map +1 -0
- package/dist/frameworks/index.d.ts +14 -0
- package/dist/frameworks/index.d.ts.map +1 -1
- package/dist/frameworks/index.js +7 -1
- package/dist/frameworks/index.js.map +3 -3
- package/dist/frameworks/kubernetes.d.ts +9 -0
- package/dist/frameworks/kubernetes.d.ts.map +1 -0
- package/dist/frameworks/pulumi.d.ts +9 -0
- package/dist/frameworks/pulumi.d.ts.map +1 -0
- package/dist/frameworks/scala.d.ts +6 -0
- package/dist/frameworks/scala.d.ts.map +1 -0
- package/dist/frameworks/solidity.d.ts +6 -0
- package/dist/frameworks/solidity.d.ts.map +1 -0
- package/dist/frameworks/terraform.d.ts +14 -0
- package/dist/frameworks/terraform.d.ts.map +1 -0
- package/dist/frameworks/vue.d.ts +7 -0
- package/dist/frameworks/vue.d.ts.map +1 -0
- package/dist/graph/communities.d.ts +43 -0
- package/dist/graph/communities.d.ts.map +1 -0
- package/dist/graph/communities.js +317 -0
- package/dist/graph/communities.js.map +7 -0
- package/dist/graph/flows.d.ts +55 -0
- package/dist/graph/flows.d.ts.map +1 -0
- package/dist/graph/flows.js +138 -0
- package/dist/graph/flows.js.map +7 -0
- package/dist/graph/refactor.d.ts +43 -0
- package/dist/graph/refactor.d.ts.map +1 -0
- package/dist/graph/refactor.js +155 -0
- package/dist/graph/refactor.js.map +7 -0
- package/dist/index.d.ts +36 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +2 -2
- package/dist/mcp/cache.d.ts +69 -0
- package/dist/mcp/cache.d.ts.map +1 -0
- package/dist/mcp/cache.js +172 -0
- package/dist/mcp/cache.js.map +7 -0
- package/dist/mcp/read-modes.d.ts +31 -0
- package/dist/mcp/read-modes.d.ts.map +1 -0
- package/dist/mcp/read-modes.js +295 -0
- package/dist/mcp/read-modes.js.map +7 -0
- package/dist/mcp/server.d.ts +1 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +17 -3
- package/dist/mcp/server.js.map +2 -2
- package/dist/mcp/tool-names.d.ts +2 -0
- package/dist/mcp/tool-names.d.ts.map +1 -0
- package/dist/mcp/tool-names.js +24 -1
- package/dist/mcp/tool-names.js.map +2 -2
- package/dist/mcp/tools.d.ts +12 -0
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +1560 -4
- package/dist/mcp/tools.js.map +3 -3
- package/dist/memory/compress.d.ts +19 -0
- package/dist/memory/compress.d.ts.map +1 -0
- package/dist/memory/database.d.ts +92 -0
- package/dist/memory/database.d.ts.map +1 -0
- package/dist/memory/database.js +70 -2
- package/dist/memory/database.js.map +2 -2
- package/dist/memory/index.d.ts +71 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +12 -2
- package/dist/memory/index.js.map +2 -2
- package/dist/memory/symbols.d.ts +21 -0
- package/dist/memory/symbols.d.ts.map +1 -0
- package/dist/memory/types.d.ts +78 -0
- package/dist/memory/types.d.ts.map +1 -0
- package/dist/memory/types.js.map +1 -1
- package/dist/memory/vectors.d.ts +43 -0
- package/dist/memory/vectors.d.ts.map +1 -0
- package/dist/patterns/graph.d.ts +16 -0
- package/dist/patterns/graph.d.ts.map +1 -0
- package/dist/patterns/graph.js +45 -0
- package/dist/patterns/graph.js.map +7 -0
- package/dist/patterns/index.d.ts +4 -0
- package/dist/patterns/index.d.ts.map +1 -0
- package/dist/patterns/index.js +39 -0
- package/dist/patterns/index.js.map +7 -0
- package/dist/patterns/indexer.d.ts +15 -0
- package/dist/patterns/indexer.d.ts.map +1 -0
- package/dist/patterns/indexer.js +97 -0
- package/dist/patterns/indexer.js.map +7 -0
- package/dist/patterns/library/command-injection-go.yaml +11 -0
- package/dist/patterns/library/dangerous-eval-js.yaml +14 -0
- package/dist/patterns/library/dangerous-exec-py.yaml +13 -0
- package/dist/patterns/library/dangerous-reflection-java.yaml +8 -0
- package/dist/patterns/library/path-traversal-go.yaml +11 -0
- package/dist/patterns/library/path-traversal-py.yaml +12 -0
- package/dist/patterns/library/path-traversal-readfile-js.yaml +14 -0
- package/dist/patterns/library/prototype-pollution-js.yaml +12 -0
- package/dist/patterns/library/sql-injection-concat-js.yaml +12 -0
- package/dist/patterns/library/sql-injection-java.yaml +13 -0
- package/dist/patterns/library/sql-injection-py.yaml +12 -0
- package/dist/patterns/library/sql-injection-template-js.yaml +13 -0
- package/dist/patterns/library/weak-crypto-md5-js.yaml +13 -0
- package/dist/patterns/library/weak-crypto-py.yaml +13 -0
- package/dist/patterns/loader.d.ts +18 -0
- package/dist/patterns/loader.d.ts.map +1 -0
- package/dist/patterns/loader.js +277 -0
- package/dist/patterns/loader.js.map +7 -0
- package/dist/patterns/runner.d.ts +42 -0
- package/dist/patterns/runner.d.ts.map +1 -0
- package/dist/patterns/runner.js +277 -0
- package/dist/patterns/runner.js.map +7 -0
- package/dist/patterns/types.d.ts +27 -0
- package/dist/patterns/types.d.ts.map +1 -0
- package/dist/patterns/types.js +34 -0
- package/dist/patterns/types.js.map +7 -0
- package/dist/resolution/bridges/android-rn.d.ts +13 -0
- package/dist/resolution/bridges/android-rn.d.ts.map +1 -0
- package/dist/resolution/bridges/android-rn.js +298 -0
- package/dist/resolution/bridges/android-rn.js.map +7 -0
- package/dist/resolution/bridges/expo-modules.d.ts +10 -0
- package/dist/resolution/bridges/expo-modules.d.ts.map +1 -0
- package/dist/resolution/bridges/expo-modules.js +155 -0
- package/dist/resolution/bridges/expo-modules.js.map +7 -0
- package/dist/resolution/bridges/flutter-channel.d.ts +14 -0
- package/dist/resolution/bridges/flutter-channel.d.ts.map +1 -0
- package/dist/resolution/bridges/flutter-channel.js +385 -0
- package/dist/resolution/bridges/flutter-channel.js.map +7 -0
- package/dist/resolution/bridges/index.d.ts +40 -0
- package/dist/resolution/bridges/index.d.ts.map +1 -0
- package/dist/resolution/bridges/index.js +80 -0
- package/dist/resolution/bridges/index.js.map +7 -0
- package/dist/resolution/bridges/native-events.d.ts +10 -0
- package/dist/resolution/bridges/native-events.d.ts.map +1 -0
- package/dist/resolution/bridges/native-events.js +188 -0
- package/dist/resolution/bridges/native-events.js.map +7 -0
- package/dist/resolution/bridges/native-views.d.ts +13 -0
- package/dist/resolution/bridges/native-views.d.ts.map +1 -0
- package/dist/resolution/bridges/native-views.js +244 -0
- package/dist/resolution/bridges/native-views.js.map +7 -0
- package/dist/resolution/bridges/react-native.d.ts +9 -0
- package/dist/resolution/bridges/react-native.d.ts.map +1 -0
- package/dist/resolution/bridges/react-native.js +161 -0
- package/dist/resolution/bridges/react-native.js.map +7 -0
- package/dist/resolution/bridges/swift-objc.d.ts +14 -0
- package/dist/resolution/bridges/swift-objc.d.ts.map +1 -0
- package/dist/resolution/bridges/swift-objc.js +227 -0
- package/dist/resolution/bridges/swift-objc.js.map +7 -0
- package/dist/resolution/bridges/turbomodules.d.ts +10 -0
- package/dist/resolution/bridges/turbomodules.d.ts.map +1 -0
- package/dist/resolution/bridges/turbomodules.js +216 -0
- package/dist/resolution/bridges/turbomodules.js.map +7 -0
- package/dist/resolution/index.d.ts +28 -3
- package/dist/resolution/index.d.ts.map +1 -1
- package/dist/resolution/index.js +61 -2
- package/dist/resolution/index.js.map +2 -2
- package/dist/security/attack-surface.d.ts +46 -0
- package/dist/security/attack-surface.d.ts.map +1 -0
- package/dist/security/attack-surface.js +206 -0
- package/dist/security/attack-surface.js.map +7 -0
- package/dist/security/context-warnings.d.ts +40 -0
- package/dist/security/context-warnings.d.ts.map +1 -0
- package/dist/security/context-warnings.js +123 -0
- package/dist/security/context-warnings.js.map +7 -0
- package/dist/security/data-flows.d.ts +33 -0
- package/dist/security/data-flows.d.ts.map +1 -0
- package/dist/security/data-flows.js +286 -0
- package/dist/security/data-flows.js.map +7 -0
- package/dist/security/dep-confusion.d.ts +23 -0
- package/dist/security/dep-confusion.d.ts.map +1 -0
- package/dist/security/dep-confusion.js +255 -0
- package/dist/security/dep-confusion.js.map +7 -0
- package/dist/security/errors.d.ts +16 -0
- package/dist/security/errors.d.ts.map +1 -0
- package/dist/security/errors.js +51 -0
- package/dist/security/errors.js.map +7 -0
- package/dist/security/export/fix-suggestions.d.ts +21 -0
- package/dist/security/export/fix-suggestions.d.ts.map +1 -0
- package/dist/security/export/fix-suggestions.js +58 -0
- package/dist/security/export/fix-suggestions.js.map +7 -0
- package/dist/security/export/sbom.d.ts +33 -0
- package/dist/security/export/sbom.d.ts.map +1 -0
- package/dist/security/export/sbom.js +230 -0
- package/dist/security/export/sbom.js.map +7 -0
- package/dist/security/export/serialization.d.ts +62 -0
- package/dist/security/export/serialization.d.ts.map +1 -0
- package/dist/security/export/serialization.js +142 -0
- package/dist/security/export/serialization.js.map +7 -0
- package/dist/security/export/vex.d.ts +58 -0
- package/dist/security/export/vex.d.ts.map +1 -0
- package/dist/security/export/vex.js +220 -0
- package/dist/security/export/vex.js.map +7 -0
- package/dist/security/index.d.ts +21 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +67 -0
- package/dist/security/index.js.map +7 -0
- package/dist/security/integrator.d.ts +63 -0
- package/dist/security/integrator.d.ts.map +1 -0
- package/dist/security/integrator.js +491 -0
- package/dist/security/integrator.js.map +7 -0
- package/dist/security/license.d.ts +33 -0
- package/dist/security/license.d.ts.map +1 -0
- package/dist/security/license.js +70 -0
- package/dist/security/license.js.map +7 -0
- package/dist/security/manifest/adapter.d.ts +92 -0
- package/dist/security/manifest/adapter.d.ts.map +1 -0
- package/dist/security/manifest/adapter.js +243 -0
- package/dist/security/manifest/adapter.js.map +7 -0
- package/dist/security/manifest/parser.d.ts +73 -0
- package/dist/security/manifest/parser.d.ts.map +1 -0
- package/dist/security/manifest/parser.js +376 -0
- package/dist/security/manifest/parser.js.map +7 -0
- package/dist/security/manifest/plugins/cargo.d.ts +11 -0
- package/dist/security/manifest/plugins/cargo.d.ts.map +1 -0
- package/dist/security/manifest/plugins/cargo.js +233 -0
- package/dist/security/manifest/plugins/cargo.js.map +7 -0
- package/dist/security/manifest/plugins/composer.d.ts +11 -0
- package/dist/security/manifest/plugins/composer.d.ts.map +1 -0
- package/dist/security/manifest/plugins/composer.js +152 -0
- package/dist/security/manifest/plugins/composer.js.map +7 -0
- package/dist/security/manifest/plugins/go.d.ts +12 -0
- package/dist/security/manifest/plugins/go.d.ts.map +1 -0
- package/dist/security/manifest/plugins/go.js +146 -0
- package/dist/security/manifest/plugins/go.js.map +7 -0
- package/dist/security/manifest/plugins/gradle.d.ts +12 -0
- package/dist/security/manifest/plugins/gradle.d.ts.map +1 -0
- package/dist/security/manifest/plugins/gradle.js +159 -0
- package/dist/security/manifest/plugins/gradle.js.map +7 -0
- package/dist/security/manifest/plugins/hex.d.ts +11 -0
- package/dist/security/manifest/plugins/hex.d.ts.map +1 -0
- package/dist/security/manifest/plugins/hex.js +159 -0
- package/dist/security/manifest/plugins/hex.js.map +7 -0
- package/dist/security/manifest/plugins/maven.d.ts +11 -0
- package/dist/security/manifest/plugins/maven.d.ts.map +1 -0
- package/dist/security/manifest/plugins/maven.js +128 -0
- package/dist/security/manifest/plugins/maven.js.map +7 -0
- package/dist/security/manifest/plugins/npm.d.ts +11 -0
- package/dist/security/manifest/plugins/npm.d.ts.map +1 -0
- package/dist/security/manifest/plugins/npm.js +284 -0
- package/dist/security/manifest/plugins/npm.js.map +7 -0
- package/dist/security/manifest/plugins/nuget.d.ts +12 -0
- package/dist/security/manifest/plugins/nuget.d.ts.map +1 -0
- package/dist/security/manifest/plugins/nuget.js +186 -0
- package/dist/security/manifest/plugins/nuget.js.map +7 -0
- package/dist/security/manifest/plugins/pip.d.ts +11 -0
- package/dist/security/manifest/plugins/pip.d.ts.map +1 -0
- package/dist/security/manifest/plugins/pip.js +123 -0
- package/dist/security/manifest/plugins/pip.js.map +7 -0
- package/dist/security/manifest/plugins/pubspec.d.ts +11 -0
- package/dist/security/manifest/plugins/pubspec.d.ts.map +1 -0
- package/dist/security/manifest/plugins/pubspec.js +212 -0
- package/dist/security/manifest/plugins/pubspec.js.map +7 -0
- package/dist/security/manifest/plugins/pyproject.d.ts +3 -0
- package/dist/security/manifest/plugins/pyproject.d.ts.map +1 -0
- package/dist/security/manifest/plugins/pyproject.js +261 -0
- package/dist/security/manifest/plugins/pyproject.js.map +7 -0
- package/dist/security/manifest/plugins/rubygems.d.ts +11 -0
- package/dist/security/manifest/plugins/rubygems.d.ts.map +1 -0
- package/dist/security/manifest/plugins/rubygems.js +185 -0
- package/dist/security/manifest/plugins/rubygems.js.map +7 -0
- package/dist/security/manifest/plugins/swift.d.ts +11 -0
- package/dist/security/manifest/plugins/swift.d.ts.map +1 -0
- package/dist/security/manifest/plugins/swift.js +200 -0
- package/dist/security/manifest/plugins/swift.js.map +7 -0
- package/dist/security/owasp.d.ts +16 -0
- package/dist/security/owasp.d.ts.map +1 -0
- package/dist/security/owasp.js +104 -0
- package/dist/security/owasp.js.map +7 -0
- package/dist/security/pipeline.d.ts +37 -0
- package/dist/security/pipeline.d.ts.map +1 -0
- package/dist/security/pipeline.js +125 -0
- package/dist/security/pipeline.js.map +7 -0
- package/dist/security/reachability.d.ts +67 -0
- package/dist/security/reachability.d.ts.map +1 -0
- package/dist/security/reachability.js +276 -0
- package/dist/security/reachability.js.map +7 -0
- package/dist/security/remediation.d.ts +51 -0
- package/dist/security/remediation.d.ts.map +1 -0
- package/dist/security/remediation.js +126 -0
- package/dist/security/remediation.js.map +7 -0
- package/dist/security/secrets.d.ts +38 -0
- package/dist/security/secrets.d.ts.map +1 -0
- package/dist/security/secrets.js +176 -0
- package/dist/security/secrets.js.map +7 -0
- package/dist/security/staleness.d.ts +43 -0
- package/dist/security/staleness.d.ts.map +1 -0
- package/dist/security/staleness.js +231 -0
- package/dist/security/staleness.js.map +7 -0
- package/dist/security/supply-chain.d.ts +34 -0
- package/dist/security/supply-chain.d.ts.map +1 -0
- package/dist/security/supply-chain.js +301 -0
- package/dist/security/supply-chain.js.map +7 -0
- package/dist/security/suppressions.d.ts +18 -0
- package/dist/security/suppressions.d.ts.map +1 -0
- package/dist/security/suppressions.js +106 -0
- package/dist/security/suppressions.js.map +7 -0
- package/dist/security/types.d.ts +144 -0
- package/dist/security/types.d.ts.map +1 -0
- package/dist/security/types.js +17 -0
- package/dist/security/types.js.map +7 -0
- package/dist/security/vuln/client.d.ts +90 -0
- package/dist/security/vuln/client.d.ts.map +1 -0
- package/dist/security/vuln/client.js +355 -0
- package/dist/security/vuln/client.js.map +7 -0
- package/dist/security/vuln/epss-client.d.ts +26 -0
- package/dist/security/vuln/epss-client.d.ts.map +1 -0
- package/dist/security/vuln/epss-client.js +95 -0
- package/dist/security/vuln/epss-client.js.map +7 -0
- package/dist/security/vuln/index.d.ts +6 -0
- package/dist/security/vuln/index.d.ts.map +1 -0
- package/dist/security/vuln/index.js +29 -0
- package/dist/security/vuln/index.js.map +7 -0
- package/dist/security/vuln/osv-adapter.d.ts +58 -0
- package/dist/security/vuln/osv-adapter.d.ts.map +1 -0
- package/dist/security/vuln/osv-adapter.js +321 -0
- package/dist/security/vuln/osv-adapter.js.map +7 -0
- package/dist/security/vuln/types.d.ts +29 -0
- package/dist/security/vuln/types.d.ts.map +1 -0
- package/dist/security/vuln/types.js +17 -0
- package/dist/security/vuln/types.js.map +7 -0
- package/dist/sync/index.d.ts +4 -2
- package/dist/sync/index.d.ts.map +1 -1
- package/dist/types.d.ts +10 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +2 -2
- package/dist/vectors/index.d.ts +11 -3
- package/dist/vectors/index.d.ts.map +1 -1
- package/dist/vectors/qdrant-index.d.ts +10 -3
- package/dist/vectors/qdrant-index.d.ts.map +1 -1
- package/dist/vectors/typesense-index.d.ts.map +1 -1
- package/dist/watchmen/index.js +83 -0
- package/dist/watchmen/index.js.map +7 -0
- package/dist/watchmen/synthesize.js +475 -0
- package/dist/watchmen/synthesize.js.map +7 -0
- package/package.json +6 -2
|
@@ -70,6 +70,14 @@ KiroGraph builds a semantic knowledge graph of your codebase. Use its MCP tools
|
|
|
70
70
|
| What columns does this dataset have? | \`kirograph_data_describe\` |
|
|
71
71
|
| Query rows with filters | \`kirograph_data_query\` |
|
|
72
72
|
| Aggregate data (sum, avg, count) | \`kirograph_data_aggregate\` |
|
|
73
|
+
| Are there vulnerable dependencies? | \`kirograph_security\` |
|
|
74
|
+
| Which CVEs affect my project? | \`kirograph_vulns\` |
|
|
75
|
+
| Is this vulnerability reachable? | \`kirograph_reachability\` |
|
|
76
|
+
| What licenses do my dependencies use? | \`kirograph_licenses\` |
|
|
77
|
+
| Are dependencies outdated? | \`kirograph_staleness\` |
|
|
78
|
+
| Generate SBOM/VEX | \`kirograph_sbom\` / \`kirograph_vex\` |
|
|
79
|
+
| Add a private CVE | \`kirograph_vuln_add\` |
|
|
80
|
+
| Find structural code patterns? | \`kirograph_live_search\` |
|
|
73
81
|
|
|
74
82
|
---
|
|
75
83
|
|
|
@@ -266,6 +274,32 @@ kirograph_package(package: "src/services", includeFiles: false)
|
|
|
266
274
|
|
|
267
275
|
---
|
|
268
276
|
|
|
277
|
+
## Workflow steering files
|
|
278
|
+
|
|
279
|
+
KiroGraph installs task-specific steering files in \`.kiro/steering/\`. They are not always active \u2014 load them on demand.
|
|
280
|
+
|
|
281
|
+
**In Kiro IDE:** type \`/kirograph-review\`, \`/kirograph-security\`, etc. to activate a workflow for the current session.
|
|
282
|
+
|
|
283
|
+
**In Kiro CLI / other agents:** when the user asks for a specific workflow or you recognize the intent, read the file directly:
|
|
284
|
+
|
|
285
|
+
\`\`\`
|
|
286
|
+
Read file: .kiro/steering/kirograph-security.md
|
|
287
|
+
Read file: .kiro/steering/kirograph-review.md
|
|
288
|
+
\`\`\`
|
|
289
|
+
|
|
290
|
+
| User intent | File to load |
|
|
291
|
+
|-------------|-------------|
|
|
292
|
+
| security audit, check vulnerabilities, CVE review | \`.kiro/steering/kirograph-security.md\` *(requires enableSecurity)* |
|
|
293
|
+
| code review, review this PR | \`.kiro/steering/kirograph-review.md\` |
|
|
294
|
+
| debug, trace this bug, root cause | \`.kiro/steering/kirograph-debug.md\` |
|
|
295
|
+
| architecture, understand structure, package map | \`.kiro/steering/kirograph-architecture.md\` *(requires enableArchitecture)* |
|
|
296
|
+
| onboard, understand this codebase | \`.kiro/steering/kirograph-onboard.md\` |
|
|
297
|
+
| refactor, rename, safe refactoring | \`.kiro/steering/kirograph-refactor.md\` |
|
|
298
|
+
|
|
299
|
+
Each file contains numbered steps, exact tool calls, and an interpretation reference. Follow the steps in order.
|
|
300
|
+
|
|
301
|
+
---
|
|
302
|
+
|
|
269
303
|
## If \`.kirograph/\` does NOT exist
|
|
270
304
|
|
|
271
305
|
Ask the user: "This project doesn't have KiroGraph initialized. Run \`kirograph init -i\` to build a code knowledge graph for faster exploration?"
|
|
@@ -342,6 +376,18 @@ function buildSteeringContent(opts) {
|
|
|
342
376
|
content = content.replace("| Run a command with token savings | `kirograph_exec` |\n", "");
|
|
343
377
|
content = content.replace("| Check token savings stats | `kirograph_gain` |\n", "");
|
|
344
378
|
}
|
|
379
|
+
if (!opts?.enableSecurity) {
|
|
380
|
+
content = content.replace("| Are there vulnerable dependencies? | `kirograph_security` |\n", "");
|
|
381
|
+
content = content.replace("| Which CVEs affect my project? | `kirograph_vulns` |\n", "");
|
|
382
|
+
content = content.replace("| Is this vulnerability reachable? | `kirograph_reachability` |\n", "");
|
|
383
|
+
content = content.replace("| What licenses do my dependencies use? | `kirograph_licenses` |\n", "");
|
|
384
|
+
content = content.replace("| Are dependencies outdated? | `kirograph_staleness` |\n", "");
|
|
385
|
+
content = content.replace("| Generate SBOM/VEX | `kirograph_sbom` / `kirograph_vex` |\n", "");
|
|
386
|
+
content = content.replace("| Add a private CVE | `kirograph_vuln_add` |\n", "");
|
|
387
|
+
}
|
|
388
|
+
if (!opts?.enablePatterns) {
|
|
389
|
+
content = content.replace("| Find structural code patterns? | `kirograph_live_search` |\n", "");
|
|
390
|
+
}
|
|
345
391
|
const caveman = cavemanMode && cavemanMode !== "off" ? import_caveman.CAVEMAN_RULES[cavemanMode] : null;
|
|
346
392
|
if (caveman) {
|
|
347
393
|
content = content.trimEnd() + "\n\n" + caveman + "\n";
|
|
@@ -415,6 +461,72 @@ kirograph_data_aggregate(dataset: "data-orders", groupBy: ["region"], metrics: [
|
|
|
415
461
|
`;
|
|
416
462
|
content = content.trimEnd() + "\n\n" + dataSection.trim() + "\n";
|
|
417
463
|
}
|
|
464
|
+
if (opts?.enablePatterns) {
|
|
465
|
+
const patternsSection = `
|
|
466
|
+
## Pattern Matching
|
|
467
|
+
|
|
468
|
+
KiroGraph can search for structural code patterns using @ast-grep/napi.
|
|
469
|
+
|
|
470
|
+
**Available tools (only when enablePatterns: true and @ast-grep/napi installed):**
|
|
471
|
+
- \`kirograph_live_search\` \u2014 search for any AST pattern across the codebase at query time
|
|
472
|
+
|
|
473
|
+
**CLI commands:**
|
|
474
|
+
- \`kirograph pattern "<pattern>"\` \u2014 live structural search
|
|
475
|
+
- \`kirograph pattern --list\` \u2014 browse bundled SAST rules
|
|
476
|
+
- \`kirograph pattern --library <id>\` \u2014 run a specific library rule
|
|
477
|
+
|
|
478
|
+
**When to use:** When you need to find code patterns that can't be expressed as symbol names or semantic queries \u2014 "all eval() calls", "all SQL string concatenation", "all readFile with request parameters".
|
|
479
|
+
`;
|
|
480
|
+
content = content.trimEnd() + "\n\n" + patternsSection.trim() + "\n";
|
|
481
|
+
}
|
|
482
|
+
if (opts?.enableSecurity) {
|
|
483
|
+
const securitySection = `
|
|
484
|
+
## Security
|
|
485
|
+
|
|
486
|
+
KiroGraph scans dependency manifests across 14 ecosystems for known vulnerabilities, performs
|
|
487
|
+
call-graph reachability analysis, tracks exploitation probability (EPSS), checks license
|
|
488
|
+
compliance, and monitors dependency staleness.
|
|
489
|
+
|
|
490
|
+
**Available tools:**
|
|
491
|
+
- \`kirograph_security\` \u2014 overview: dep count, CVE count, verdict breakdown, stale warnings
|
|
492
|
+
- \`kirograph_vulns\` \u2014 list CVEs with severity, EPSS score, reachability verdict, fix suggestion
|
|
493
|
+
- \`kirograph_reachability\` \u2014 deep-dive: call paths, entry points, affected layers for one CVE or package
|
|
494
|
+
- \`kirograph_licenses\` \u2014 list dependency licenses; flag policy violations (deny/warn by SPDX pattern)
|
|
495
|
+
- \`kirograph_staleness\` \u2014 identify outdated dependencies (staleness score 0.0\u20131.0)
|
|
496
|
+
- \`kirograph_sbom\` \u2014 export CycloneDX 1.5 SBOM for compliance/auditing
|
|
497
|
+
- \`kirograph_vex\` \u2014 export CycloneDX 1.5 VEX with reachability-derived analysis states
|
|
498
|
+
- \`kirograph_vuln_add\` \u2014 manually register a private/internal CVE not in public databases
|
|
499
|
+
|
|
500
|
+
**Proactive triggers \u2014 run \`kirograph_security\` when:**
|
|
501
|
+
- You or the user add/update/remove a dependency
|
|
502
|
+
- Before a production deploy or release branch cut
|
|
503
|
+
- The user asks about security, compliance, or "is it safe to upgrade X"
|
|
504
|
+
- \`kirograph_context\` surfaces a \u26A0 Security warning in its output
|
|
505
|
+
|
|
506
|
+
**Interpreting verdicts:**
|
|
507
|
+
- \`affected\` \u2014 a call path exists from an entry point to the vulnerable code. Act on this.
|
|
508
|
+
- \`not_affected\` \u2014 no reachable path found, no unresolved imports. Strong signal: likely safe.
|
|
509
|
+
- \`under_investigation\` \u2014 traversal hit unresolved symbols (dynamic dispatch, reflection). Treat with caution.
|
|
510
|
+
|
|
511
|
+
**Interpreting EPSS scores** (shown by \`kirograph_vulns\`):
|
|
512
|
+
- \`>= 0.5\` \u2014 actively exploited or very likely to be. Patch immediately regardless of CVSS.
|
|
513
|
+
- \`0.1 \u2013 0.5\` \u2014 elevated risk. Prioritize over low-EPSS vulns with higher CVSS.
|
|
514
|
+
- \`< 0.1\` \u2014 low exploitation probability. Use CVSS + reachability for triage.
|
|
515
|
+
|
|
516
|
+
**Recommended workflow:**
|
|
517
|
+
1. \`kirograph_security\` \u2014 get the big picture before diving in
|
|
518
|
+
2. \`kirograph_vulns --verdict affected\` \u2014 focus only on confirmed reachable CVEs
|
|
519
|
+
3. For each high-EPSS or high-CVSS result: \`kirograph_reachability <cve>\` to see exact call paths
|
|
520
|
+
4. \`kirograph_licenses --policy\` \u2014 check for license violations before shipping
|
|
521
|
+
5. \`kirograph_staleness --threshold 0.5\` \u2014 flag severely outdated dependencies
|
|
522
|
+
6. Fix, then \`kirograph_vulns --refresh\` to re-query OSV and confirm resolution
|
|
523
|
+
7. \`kirograph_vex\` / \`kirograph_sbom\` for compliance artifacts
|
|
524
|
+
|
|
525
|
+
**Staleness score guide:** 0.0 = current; 0.3+ = worth reviewing; 0.7+ = significantly behind.
|
|
526
|
+
A high staleness score alone is not a security issue, but old dependencies accumulate CVEs over time.
|
|
527
|
+
`;
|
|
528
|
+
content = content.trimEnd() + "\n\n" + securitySection.trim() + "\n";
|
|
529
|
+
}
|
|
418
530
|
return content;
|
|
419
531
|
}
|
|
420
532
|
function writeSteering(kiroDir, opts) {
|
|
@@ -424,6 +536,382 @@ function writeSteering(kiroDir, opts) {
|
|
|
424
536
|
const resolvedOpts = typeof opts === "string" ? { cavemanMode: opts } : opts ?? {};
|
|
425
537
|
fs.writeFileSync(steeringPath, buildSteeringContent(resolvedOpts));
|
|
426
538
|
console.log(` \u2713 Steering file written to ${steeringPath}`);
|
|
539
|
+
writeWorkflowSteering(steeringDir, resolvedOpts);
|
|
540
|
+
}
|
|
541
|
+
function writeWorkflowSteering(steeringDir, opts) {
|
|
542
|
+
const workflows = {
|
|
543
|
+
"kirograph-review.md": `---
|
|
544
|
+
inclusion: manual
|
|
545
|
+
---
|
|
546
|
+
|
|
547
|
+
# KiroGraph: Code Review Workflow
|
|
548
|
+
|
|
549
|
+
Follow these steps for a structured, risk-aware code review using the knowledge graph.
|
|
550
|
+
|
|
551
|
+
## Steps
|
|
552
|
+
|
|
553
|
+
1. **Understand the change scope**
|
|
554
|
+
\`\`\`
|
|
555
|
+
kirograph_context(task: "<describe what changed>")
|
|
556
|
+
\`\`\`
|
|
557
|
+
|
|
558
|
+
2. **Analyze blast radius**
|
|
559
|
+
For each key symbol that was modified:
|
|
560
|
+
\`\`\`
|
|
561
|
+
kirograph_impact(symbol: "<changed symbol>", depth: 2)
|
|
562
|
+
\`\`\`
|
|
563
|
+
|
|
564
|
+
3. **Check test coverage**
|
|
565
|
+
\`\`\`
|
|
566
|
+
kirograph_callers(symbol: "<changed symbol>")
|
|
567
|
+
\`\`\`
|
|
568
|
+
Look for test files among the callers. Flag untested changes.
|
|
569
|
+
|
|
570
|
+
4. **Look for surprising coupling**
|
|
571
|
+
\`\`\`
|
|
572
|
+
kirograph_surprising(limit: 10)
|
|
573
|
+
\`\`\`
|
|
574
|
+
|
|
575
|
+
5. **Produce findings** grouped by risk level (high/medium/low) with:
|
|
576
|
+
- What changed and why it matters
|
|
577
|
+
- Test coverage status
|
|
578
|
+
- Suggested improvements
|
|
579
|
+
- Overall merge recommendation
|
|
580
|
+
`,
|
|
581
|
+
"kirograph-debug.md": `---
|
|
582
|
+
inclusion: manual
|
|
583
|
+
---
|
|
584
|
+
|
|
585
|
+
# KiroGraph: Debug Workflow
|
|
586
|
+
|
|
587
|
+
Follow these steps to systematically trace and debug issues using the knowledge graph.
|
|
588
|
+
|
|
589
|
+
## Steps
|
|
590
|
+
|
|
591
|
+
1. **Find related code**
|
|
592
|
+
\`\`\`
|
|
593
|
+
kirograph_search(query: "<error message or symptom keywords>")
|
|
594
|
+
\`\`\`
|
|
595
|
+
|
|
596
|
+
2. **Get full context**
|
|
597
|
+
\`\`\`
|
|
598
|
+
kirograph_context(task: "<describe the bug>")
|
|
599
|
+
\`\`\`
|
|
600
|
+
|
|
601
|
+
3. **Trace the call chain**
|
|
602
|
+
\`\`\`
|
|
603
|
+
kirograph_callers(symbol: "<suspected function>")
|
|
604
|
+
kirograph_callees(symbol: "<suspected function>")
|
|
605
|
+
\`\`\`
|
|
606
|
+
|
|
607
|
+
4. **Check what changed recently**
|
|
608
|
+
\`\`\`
|
|
609
|
+
kirograph_diff()
|
|
610
|
+
\`\`\`
|
|
611
|
+
|
|
612
|
+
5. **Understand blast radius**
|
|
613
|
+
\`\`\`
|
|
614
|
+
kirograph_impact(symbol: "<root cause symbol>", depth: 3)
|
|
615
|
+
\`\`\`
|
|
616
|
+
|
|
617
|
+
## Tips
|
|
618
|
+
- Check both callers and callees to understand the full context
|
|
619
|
+
- Recent changes (via diff) are the most common source of new issues
|
|
620
|
+
- Use \`kirograph_path\` to trace how two symbols are connected
|
|
621
|
+
`,
|
|
622
|
+
"kirograph-architecture.md": `---
|
|
623
|
+
inclusion: manual
|
|
624
|
+
---
|
|
625
|
+
|
|
626
|
+
# KiroGraph: Architecture Exploration Workflow
|
|
627
|
+
|
|
628
|
+
Follow these steps to understand the high-level structure of the codebase.
|
|
629
|
+
|
|
630
|
+
## Steps
|
|
631
|
+
|
|
632
|
+
1. **Get project overview**
|
|
633
|
+
\`\`\`
|
|
634
|
+
kirograph_status()
|
|
635
|
+
\`\`\`
|
|
636
|
+
|
|
637
|
+
2. **View architecture**
|
|
638
|
+
\`\`\`
|
|
639
|
+
kirograph_architecture()
|
|
640
|
+
\`\`\`
|
|
641
|
+
|
|
642
|
+
3. **Check coupling health**
|
|
643
|
+
\`\`\`
|
|
644
|
+
kirograph_coupling(sortBy: "instability")
|
|
645
|
+
\`\`\`
|
|
646
|
+
|
|
647
|
+
4. **Find core abstractions**
|
|
648
|
+
\`\`\`
|
|
649
|
+
kirograph_hotspots(limit: 20)
|
|
650
|
+
\`\`\`
|
|
651
|
+
|
|
652
|
+
5. **Detect hidden dependencies**
|
|
653
|
+
\`\`\`
|
|
654
|
+
kirograph_surprising(limit: 15)
|
|
655
|
+
\`\`\`
|
|
656
|
+
|
|
657
|
+
6. **Check for cycles**
|
|
658
|
+
\`\`\`
|
|
659
|
+
kirograph_circular_deps()
|
|
660
|
+
\`\`\`
|
|
661
|
+
|
|
662
|
+
## Interpretation
|
|
663
|
+
- High Ca (afferent) = load-bearing, risky to change interface
|
|
664
|
+
- High Ce (efferent) = depends on many things, safe to refactor internals
|
|
665
|
+
- Surprising edges = hidden coupling that may break during refactoring
|
|
666
|
+
`,
|
|
667
|
+
"kirograph-onboard.md": `---
|
|
668
|
+
inclusion: manual
|
|
669
|
+
---
|
|
670
|
+
|
|
671
|
+
# KiroGraph: Onboarding Workflow
|
|
672
|
+
|
|
673
|
+
Follow these steps to quickly understand a new codebase.
|
|
674
|
+
|
|
675
|
+
## Steps
|
|
676
|
+
|
|
677
|
+
1. **Project overview**
|
|
678
|
+
\`\`\`
|
|
679
|
+
kirograph_status()
|
|
680
|
+
\`\`\`
|
|
681
|
+
|
|
682
|
+
2. **File structure**
|
|
683
|
+
\`\`\`
|
|
684
|
+
kirograph_files(format: "tree", maxDepth: 2)
|
|
685
|
+
\`\`\`
|
|
686
|
+
|
|
687
|
+
3. **Key entry points**
|
|
688
|
+
\`\`\`
|
|
689
|
+
kirograph_hotspots(limit: 15)
|
|
690
|
+
\`\`\`
|
|
691
|
+
|
|
692
|
+
4. **Architecture layers**
|
|
693
|
+
\`\`\`
|
|
694
|
+
kirograph_architecture()
|
|
695
|
+
\`\`\`
|
|
696
|
+
|
|
697
|
+
5. **Explore a specific area**
|
|
698
|
+
\`\`\`
|
|
699
|
+
kirograph_context(task: "<area you want to understand>")
|
|
700
|
+
\`\`\`
|
|
701
|
+
|
|
702
|
+
6. **Understand a key symbol**
|
|
703
|
+
\`\`\`
|
|
704
|
+
kirograph_node(symbol: "<symbol name>", includeCode: true)
|
|
705
|
+
\`\`\`
|
|
706
|
+
|
|
707
|
+
## Tips
|
|
708
|
+
- Start broad (status, files, hotspots) then narrow down
|
|
709
|
+
- Use \`kirograph_type_hierarchy\` to understand inheritance patterns
|
|
710
|
+
- Use \`kirograph_callees\` on entry points to trace execution flow
|
|
711
|
+
`,
|
|
712
|
+
"kirograph-refactor.md": `---
|
|
713
|
+
inclusion: manual
|
|
714
|
+
---
|
|
715
|
+
|
|
716
|
+
# KiroGraph: Refactoring Workflow
|
|
717
|
+
|
|
718
|
+
Follow these steps to plan and execute safe refactoring.
|
|
719
|
+
|
|
720
|
+
## Steps
|
|
721
|
+
|
|
722
|
+
1. **Understand what you're changing**
|
|
723
|
+
\`\`\`
|
|
724
|
+
kirograph_node(symbol: "<target symbol>", includeCode: true)
|
|
725
|
+
\`\`\`
|
|
726
|
+
|
|
727
|
+
2. **Check blast radius**
|
|
728
|
+
\`\`\`
|
|
729
|
+
kirograph_impact(symbol: "<target symbol>", depth: 3)
|
|
730
|
+
\`\`\`
|
|
731
|
+
|
|
732
|
+
3. **Find all callers (rename preview)**
|
|
733
|
+
\`\`\`
|
|
734
|
+
kirograph_callers(symbol: "<target symbol>", limit: 50)
|
|
735
|
+
\`\`\`
|
|
736
|
+
|
|
737
|
+
4. **Check for cycles that might complicate the refactor**
|
|
738
|
+
\`\`\`
|
|
739
|
+
kirograph_circular_deps()
|
|
740
|
+
\`\`\`
|
|
741
|
+
|
|
742
|
+
5. **Find dead code to clean up**
|
|
743
|
+
\`\`\`
|
|
744
|
+
kirograph_dead_code(limit: 30)
|
|
745
|
+
\`\`\`
|
|
746
|
+
|
|
747
|
+
6. **Verify after changes**
|
|
748
|
+
Run \`kirograph sync\` then:
|
|
749
|
+
\`\`\`
|
|
750
|
+
kirograph_diff()
|
|
751
|
+
\`\`\`
|
|
752
|
+
|
|
753
|
+
## Safety Checks
|
|
754
|
+
- Always check \`kirograph_impact\` before major refactors
|
|
755
|
+
- Use \`kirograph_callers\` as a rename preview (all locations that reference the symbol)
|
|
756
|
+
- After changes, use \`kirograph_diff\` to verify only intended symbols changed
|
|
757
|
+
`
|
|
758
|
+
};
|
|
759
|
+
if (opts?.enableArchitecture) {
|
|
760
|
+
fs.writeFileSync(path.join(steeringDir, "kirograph-architecture.md"), workflows["kirograph-architecture.md"]);
|
|
761
|
+
}
|
|
762
|
+
for (const [filename, content] of Object.entries(workflows)) {
|
|
763
|
+
if (filename === "kirograph-architecture.md") continue;
|
|
764
|
+
fs.writeFileSync(path.join(steeringDir, filename), content);
|
|
765
|
+
}
|
|
766
|
+
if (opts?.enableSecurity) {
|
|
767
|
+
fs.writeFileSync(path.join(steeringDir, "kirograph-security.md"), `---
|
|
768
|
+
inclusion: manual
|
|
769
|
+
---
|
|
770
|
+
|
|
771
|
+
# KiroGraph: Security Audit Workflow
|
|
772
|
+
|
|
773
|
+
Follow these steps for a structured security audit using the knowledge graph.
|
|
774
|
+
Activate this workflow before a release, after adding dependencies, or when asked to review security posture.
|
|
775
|
+
|
|
776
|
+
## Steps
|
|
777
|
+
|
|
778
|
+
### 1. Overview
|
|
779
|
+
\`\`\`
|
|
780
|
+
kirograph_security()
|
|
781
|
+
\`\`\`
|
|
782
|
+
Note: total dependencies, vulnerability count, verdict breakdown, stale warning count.
|
|
783
|
+
|
|
784
|
+
### 2. Triage reachable vulnerabilities
|
|
785
|
+
\`\`\`
|
|
786
|
+
kirograph_vulns(verdict: "affected")
|
|
787
|
+
\`\`\`
|
|
788
|
+
Focus only on confirmed reachable CVEs. Sort output by EPSS score (exploitation probability) first, then CVSS severity.
|
|
789
|
+
|
|
790
|
+
**Act immediately on:** EPSS >= 0.5 (actively exploited). Patch regardless of CVSS.
|
|
791
|
+
**Prioritize:** EPSS 0.1\u20130.5 over low-EPSS high-CVSS entries.
|
|
792
|
+
**Low urgency:** EPSS < 0.1 \u2014 use CVSS + reachability for triage.
|
|
793
|
+
|
|
794
|
+
### 3. Deep-dive reachability for critical CVEs
|
|
795
|
+
For each high-priority CVE from step 2:
|
|
796
|
+
\`\`\`
|
|
797
|
+
kirograph_reachability(target: "<CVE-ID or package name>")
|
|
798
|
+
\`\`\`
|
|
799
|
+
This shows: exact call paths from entry points, affected architectural layers, distinct path count.
|
|
800
|
+
|
|
801
|
+
- \`affected\` verdict with known entry points \u2192 fix this dependency
|
|
802
|
+
- \`not_affected\` \u2192 no reachable path, document and move on
|
|
803
|
+
- \`under_investigation\` \u2192 unresolved symbols, treat conservatively
|
|
804
|
+
|
|
805
|
+
### 4. Check for under-investigation CVEs
|
|
806
|
+
\`\`\`
|
|
807
|
+
kirograph_vulns(verdict: "under_investigation")
|
|
808
|
+
\`\`\`
|
|
809
|
+
For each: run \`kirograph_reachability\` to see what symbols are unresolved. If you can determine
|
|
810
|
+
the symbol is not called, you can downgrade to not_affected manually.
|
|
811
|
+
|
|
812
|
+
### 5. License compliance
|
|
813
|
+
\`\`\`
|
|
814
|
+
kirograph_licenses(policy: true)
|
|
815
|
+
\`\`\`
|
|
816
|
+
Review any DENY violations \u2014 these must be resolved before shipping.
|
|
817
|
+
WARN violations should be documented and approved by the team.
|
|
818
|
+
|
|
819
|
+
### 6. Dependency staleness
|
|
820
|
+
\`\`\`
|
|
821
|
+
kirograph_staleness(threshold: 0.5)
|
|
822
|
+
\`\`\`
|
|
823
|
+
Score guide: 0.3+ = worth reviewing, 0.7+ = significantly behind.
|
|
824
|
+
Cross-reference with step 2 results: stale + vulnerable = highest priority.
|
|
825
|
+
|
|
826
|
+
### 7. Refresh data if needed
|
|
827
|
+
If vulnerability data looks stale (flagged in step 1) or dependencies changed recently:
|
|
828
|
+
\`\`\`
|
|
829
|
+
kirograph_vulns(refresh: true)
|
|
830
|
+
\`\`\`
|
|
831
|
+
|
|
832
|
+
### 8. Export compliance artifacts
|
|
833
|
+
\`\`\`
|
|
834
|
+
kirograph_sbom() // Software Bill of Materials
|
|
835
|
+
kirograph_vex() // Vulnerability Exploitability eXchange
|
|
836
|
+
\`\`\`
|
|
837
|
+
|
|
838
|
+
## Interpretation Reference
|
|
839
|
+
|
|
840
|
+
| Signal | Meaning | Action |
|
|
841
|
+
|--------|---------|--------|
|
|
842
|
+
| \`affected\` + EPSS >= 0.5 | Actively exploited, reachable | Patch immediately |
|
|
843
|
+
| \`affected\` + CVSS >= 9.0 | Critical, reachable | Patch this sprint |
|
|
844
|
+
| \`affected\` + CVSS 7.0\u20138.9 | High, reachable | Plan fix within 2 weeks |
|
|
845
|
+
| \`not_affected\` | No reachable path found | Document, no action needed |
|
|
846
|
+
| \`under_investigation\` | Reachability unclear | Manual review required |
|
|
847
|
+
| Stale >= 0.7 | Very outdated | Review for accumulated CVEs |
|
|
848
|
+
| License DENY | Policy violation | Must resolve before release |
|
|
849
|
+
`);
|
|
850
|
+
console.log(` \u2713 Security workflow steering file written`);
|
|
851
|
+
}
|
|
852
|
+
if (opts?.enablePatterns) {
|
|
853
|
+
fs.writeFileSync(path.join(steeringDir, "kirograph-patterns.md"), `---
|
|
854
|
+
inclusion: manual
|
|
855
|
+
---
|
|
856
|
+
|
|
857
|
+
# KiroGraph: Pattern Search Workflow
|
|
858
|
+
|
|
859
|
+
Use this workflow to find structural code patterns using AST matching.
|
|
860
|
+
Activate with \`/kirograph-patterns\` in Kiro IDE or CLI.
|
|
861
|
+
|
|
862
|
+
## Steps
|
|
863
|
+
|
|
864
|
+
### 1. Browse available rules
|
|
865
|
+
\`\`\`
|
|
866
|
+
kirograph_live_search(pattern: "--list")
|
|
867
|
+
\`\`\`
|
|
868
|
+
Or use the CLI: \`kirograph pattern --list\`
|
|
869
|
+
|
|
870
|
+
### 2. Search for a specific structural pattern
|
|
871
|
+
\`\`\`
|
|
872
|
+
kirograph_live_search(pattern: "eval($X)", language: "typescript")
|
|
873
|
+
\`\`\`
|
|
874
|
+
|
|
875
|
+
### 3. Run a bundled library rule
|
|
876
|
+
\`\`\`
|
|
877
|
+
kirograph pattern --library sql-injection-concat-js
|
|
878
|
+
\`\`\`
|
|
879
|
+
|
|
880
|
+
### 4. Add a custom rule
|
|
881
|
+
Create a YAML file in your \`patternLibraryPath\` directory:
|
|
882
|
+
\`\`\`yaml
|
|
883
|
+
id: my-custom-rule
|
|
884
|
+
language: [javascript, typescript]
|
|
885
|
+
severity: high
|
|
886
|
+
owaspCategory: A03
|
|
887
|
+
description: Custom pattern description
|
|
888
|
+
fixHint: How to fix this issue.
|
|
889
|
+
rule:
|
|
890
|
+
pattern: dangerousFunction($ARG)
|
|
891
|
+
\`\`\`
|
|
892
|
+
|
|
893
|
+
## Pattern syntax examples
|
|
894
|
+
|
|
895
|
+
| Pattern | Matches |
|
|
896
|
+
|---------|---------|
|
|
897
|
+
| \`eval($X)\` | Any eval() call |
|
|
898
|
+
| \`$OBJ.query($A + $B)\` | String concat in any query method |
|
|
899
|
+
| \`fs.$F(req.$P, $$$)\` | Any fs method with request param |
|
|
900
|
+
| \`createHash('md5')\` | Hardcoded MD5 usage |
|
|
901
|
+
|
|
902
|
+
## Interpretation
|
|
903
|
+
|
|
904
|
+
- Findings mean the pattern was found in the AST \u2014 not a false positive from symbol name matching
|
|
905
|
+
- Check the surrounding context: \`kirograph_node(symbol: "...", includeCode: true)\`
|
|
906
|
+
- Use \`kirograph_callers\` to understand how the affected function is reached
|
|
907
|
+
`);
|
|
908
|
+
console.log(` \u2713 Patterns workflow steering file written`);
|
|
909
|
+
}
|
|
910
|
+
const written = ["review", "debug", "onboard", "refactor"];
|
|
911
|
+
if (opts?.enableArchitecture) written.push("architecture");
|
|
912
|
+
if (opts?.enableSecurity) written.push("security");
|
|
913
|
+
if (opts?.enablePatterns) written.push("patterns");
|
|
914
|
+
console.log(` \u2713 Workflow steering files written (${written.join(", ")})`);
|
|
427
915
|
}
|
|
428
916
|
// Annotate the CommonJS export names for ESM import in node:
|
|
429
917
|
0 && (module.exports = {
|