circle-ir-ai 1.1.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/CHANGELOG.md +105 -0
- package/LICENSE +15 -0
- package/README.md +336 -0
- package/dist/action-queue/aggregator.d.ts +40 -0
- package/dist/action-queue/aggregator.d.ts.map +1 -0
- package/dist/action-queue/aggregator.js +375 -0
- package/dist/action-queue/aggregator.js.map +1 -0
- package/dist/action-queue/index.d.ts +14 -0
- package/dist/action-queue/index.d.ts.map +1 -0
- package/dist/action-queue/index.js +17 -0
- package/dist/action-queue/index.js.map +1 -0
- package/dist/action-queue/queue.d.ts +74 -0
- package/dist/action-queue/queue.d.ts.map +1 -0
- package/dist/action-queue/queue.js +433 -0
- package/dist/action-queue/queue.js.map +1 -0
- package/dist/action-queue/types.d.ts +162 -0
- package/dist/action-queue/types.d.ts.map +1 -0
- package/dist/action-queue/types.js +44 -0
- package/dist/action-queue/types.js.map +1 -0
- package/dist/agents/enrichment-agent.d.ts +16 -0
- package/dist/agents/enrichment-agent.d.ts.map +1 -0
- package/dist/agents/enrichment-agent.js +102 -0
- package/dist/agents/enrichment-agent.js.map +1 -0
- package/dist/agents/index.d.ts +12 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +15 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/mastra/agents.d.ts +373 -0
- package/dist/agents/mastra/agents.d.ts.map +1 -0
- package/dist/agents/mastra/agents.js +347 -0
- package/dist/agents/mastra/agents.js.map +1 -0
- package/dist/agents/mastra/index.d.ts +12 -0
- package/dist/agents/mastra/index.d.ts.map +1 -0
- package/dist/agents/mastra/index.js +17 -0
- package/dist/agents/mastra/index.js.map +1 -0
- package/dist/agents/mastra/instance.d.ts +383 -0
- package/dist/agents/mastra/instance.d.ts.map +1 -0
- package/dist/agents/mastra/instance.js +37 -0
- package/dist/agents/mastra/instance.js.map +1 -0
- package/dist/agents/mastra/steps.d.ts +300 -0
- package/dist/agents/mastra/steps.d.ts.map +1 -0
- package/dist/agents/mastra/steps.js +468 -0
- package/dist/agents/mastra/steps.js.map +1 -0
- package/dist/agents/mastra/swarm.d.ts +106 -0
- package/dist/agents/mastra/swarm.d.ts.map +1 -0
- package/dist/agents/mastra/swarm.js +501 -0
- package/dist/agents/mastra/swarm.js.map +1 -0
- package/dist/agents/mastra/workflow.d.ts +81 -0
- package/dist/agents/mastra/workflow.d.ts.map +1 -0
- package/dist/agents/mastra/workflow.js +460 -0
- package/dist/agents/mastra/workflow.js.map +1 -0
- package/dist/agents/multi/agents/security.d.ts +29 -0
- package/dist/agents/multi/agents/security.d.ts.map +1 -0
- package/dist/agents/multi/agents/security.js +830 -0
- package/dist/agents/multi/agents/security.js.map +1 -0
- package/dist/agents/multi/extractor.d.ts +21 -0
- package/dist/agents/multi/extractor.d.ts.map +1 -0
- package/dist/agents/multi/extractor.js +483 -0
- package/dist/agents/multi/extractor.js.map +1 -0
- package/dist/agents/multi/index.d.ts +32 -0
- package/dist/agents/multi/index.d.ts.map +1 -0
- package/dist/agents/multi/index.js +34 -0
- package/dist/agents/multi/index.js.map +1 -0
- package/dist/agents/multi/runner.d.ts +79 -0
- package/dist/agents/multi/runner.d.ts.map +1 -0
- package/dist/agents/multi/runner.js +323 -0
- package/dist/agents/multi/runner.js.map +1 -0
- package/dist/agents/security-agent.d.ts +16 -0
- package/dist/agents/security-agent.d.ts.map +1 -0
- package/dist/agents/security-agent.js +299 -0
- package/dist/agents/security-agent.js.map +1 -0
- package/dist/agents/types.d.ts +373 -0
- package/dist/agents/types.d.ts.map +1 -0
- package/dist/agents/types.js +14 -0
- package/dist/agents/types.js.map +1 -0
- package/dist/agents/verification-agent.d.ts +23 -0
- package/dist/agents/verification-agent.d.ts.map +1 -0
- package/dist/agents/verification-agent.js +217 -0
- package/dist/agents/verification-agent.js.map +1 -0
- package/dist/agents/workflow.d.ts +30 -0
- package/dist/agents/workflow.d.ts.map +1 -0
- package/dist/agents/workflow.js +79 -0
- package/dist/agents/workflow.js.map +1 -0
- package/dist/analysis/enriched.d.ts +16 -0
- package/dist/analysis/enriched.d.ts.map +1 -0
- package/dist/analysis/enriched.js +297 -0
- package/dist/analysis/enriched.js.map +1 -0
- package/dist/analysis/llm-correlated-predicates.d.ts +80 -0
- package/dist/analysis/llm-correlated-predicates.d.ts.map +1 -0
- package/dist/analysis/llm-correlated-predicates.js +255 -0
- package/dist/analysis/llm-correlated-predicates.js.map +1 -0
- package/dist/analysis/llm-cross-file-taint.d.ts +86 -0
- package/dist/analysis/llm-cross-file-taint.d.ts.map +1 -0
- package/dist/analysis/llm-cross-file-taint.js +264 -0
- package/dist/analysis/llm-cross-file-taint.js.map +1 -0
- package/dist/analysis/pattern-discovery.d.ts +79 -0
- package/dist/analysis/pattern-discovery.d.ts.map +1 -0
- package/dist/analysis/pattern-discovery.js +447 -0
- package/dist/analysis/pattern-discovery.js.map +1 -0
- package/dist/cache/file-cache.d.ts +89 -0
- package/dist/cache/file-cache.d.ts.map +1 -0
- package/dist/cache/file-cache.js +208 -0
- package/dist/cache/file-cache.js.map +1 -0
- package/dist/cache/index.d.ts +6 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +5 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/cli/args.d.ts +52 -0
- package/dist/cli/args.d.ts.map +1 -0
- package/dist/cli/args.js +422 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/colors.d.ts +31 -0
- package/dist/cli/colors.d.ts.map +1 -0
- package/dist/cli/colors.js +80 -0
- package/dist/cli/colors.js.map +1 -0
- package/dist/cli/commands/analyze-skill.d.ts +33 -0
- package/dist/cli/commands/analyze-skill.d.ts.map +1 -0
- package/dist/cli/commands/analyze-skill.js +217 -0
- package/dist/cli/commands/analyze-skill.js.map +1 -0
- package/dist/cli/commands/analyze.d.ts +18 -0
- package/dist/cli/commands/analyze.d.ts.map +1 -0
- package/dist/cli/commands/analyze.js +30 -0
- package/dist/cli/commands/analyze.js.map +1 -0
- package/dist/cli/commands/benchmark-runner.d.ts +42 -0
- package/dist/cli/commands/benchmark-runner.d.ts.map +1 -0
- package/dist/cli/commands/benchmark-runner.js +18 -0
- package/dist/cli/commands/benchmark-runner.js.map +1 -0
- package/dist/cli/commands/benchmark.d.ts +11 -0
- package/dist/cli/commands/benchmark.d.ts.map +1 -0
- package/dist/cli/commands/benchmark.js +90 -0
- package/dist/cli/commands/benchmark.js.map +1 -0
- package/dist/cli/commands/dead-code.d.ts +11 -0
- package/dist/cli/commands/dead-code.d.ts.map +1 -0
- package/dist/cli/commands/dead-code.js +65 -0
- package/dist/cli/commands/dead-code.js.map +1 -0
- package/dist/cli/commands/generate-spec.d.ts +11 -0
- package/dist/cli/commands/generate-spec.d.ts.map +1 -0
- package/dist/cli/commands/generate-spec.js +67 -0
- package/dist/cli/commands/generate-spec.js.map +1 -0
- package/dist/cli/commands/health.d.ts +11 -0
- package/dist/cli/commands/health.d.ts.map +1 -0
- package/dist/cli/commands/health.js +67 -0
- package/dist/cli/commands/health.js.map +1 -0
- package/dist/cli/commands/project.d.ts +21 -0
- package/dist/cli/commands/project.d.ts.map +1 -0
- package/dist/cli/commands/project.js +92 -0
- package/dist/cli/commands/project.js.map +1 -0
- package/dist/cli/commands/scan.d.ts +11 -0
- package/dist/cli/commands/scan.d.ts.map +1 -0
- package/dist/cli/commands/scan.js +68 -0
- package/dist/cli/commands/scan.js.map +1 -0
- package/dist/cli/commands/secrets.d.ts +11 -0
- package/dist/cli/commands/secrets.d.ts.map +1 -0
- package/dist/cli/commands/secrets.js +71 -0
- package/dist/cli/commands/secrets.js.map +1 -0
- package/dist/cli/commands/swarm.d.ts +20 -0
- package/dist/cli/commands/swarm.d.ts.map +1 -0
- package/dist/cli/commands/swarm.js +174 -0
- package/dist/cli/commands/swarm.js.map +1 -0
- package/dist/cli/config.d.ts +103 -0
- package/dist/cli/config.d.ts.map +1 -0
- package/dist/cli/config.js +307 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/discovery.d.ts +31 -0
- package/dist/cli/discovery.d.ts.map +1 -0
- package/dist/cli/discovery.js +212 -0
- package/dist/cli/discovery.js.map +1 -0
- package/dist/cli/formatters/index.d.ts +15 -0
- package/dist/cli/formatters/index.d.ts.map +1 -0
- package/dist/cli/formatters/index.js +51 -0
- package/dist/cli/formatters/index.js.map +1 -0
- package/dist/cli/formatters/json.d.ts +11 -0
- package/dist/cli/formatters/json.d.ts.map +1 -0
- package/dist/cli/formatters/json.js +12 -0
- package/dist/cli/formatters/json.js.map +1 -0
- package/dist/cli/formatters/project-json.d.ts +11 -0
- package/dist/cli/formatters/project-json.d.ts.map +1 -0
- package/dist/cli/formatters/project-json.js +12 -0
- package/dist/cli/formatters/project-json.js.map +1 -0
- package/dist/cli/formatters/project-sarif.d.ts +11 -0
- package/dist/cli/formatters/project-sarif.d.ts.map +1 -0
- package/dist/cli/formatters/project-sarif.js +127 -0
- package/dist/cli/formatters/project-sarif.js.map +1 -0
- package/dist/cli/formatters/project-summary.d.ts +11 -0
- package/dist/cli/formatters/project-summary.d.ts.map +1 -0
- package/dist/cli/formatters/project-summary.js +202 -0
- package/dist/cli/formatters/project-summary.js.map +1 -0
- package/dist/cli/formatters/sarif-shared.d.ts +101 -0
- package/dist/cli/formatters/sarif-shared.d.ts.map +1 -0
- package/dist/cli/formatters/sarif-shared.js +57 -0
- package/dist/cli/formatters/sarif-shared.js.map +1 -0
- package/dist/cli/formatters/sarif.d.ts +12 -0
- package/dist/cli/formatters/sarif.d.ts.map +1 -0
- package/dist/cli/formatters/sarif.js +92 -0
- package/dist/cli/formatters/sarif.js.map +1 -0
- package/dist/cli/formatters/summary.d.ts +11 -0
- package/dist/cli/formatters/summary.d.ts.map +1 -0
- package/dist/cli/formatters/summary.js +240 -0
- package/dist/cli/formatters/summary.js.map +1 -0
- package/dist/cli/formatters/two-phase-summary.d.ts +11 -0
- package/dist/cli/formatters/two-phase-summary.d.ts.map +1 -0
- package/dist/cli/formatters/two-phase-summary.js +188 -0
- package/dist/cli/formatters/two-phase-summary.js.map +1 -0
- package/dist/cli/index.d.ts +15 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +555 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/components/clustering.d.ts +60 -0
- package/dist/components/clustering.d.ts.map +1 -0
- package/dist/components/clustering.js +129 -0
- package/dist/components/clustering.js.map +1 -0
- package/dist/components/enrichment.d.ts +45 -0
- package/dist/components/enrichment.d.ts.map +1 -0
- package/dist/components/enrichment.js +193 -0
- package/dist/components/enrichment.js.map +1 -0
- package/dist/components/index.d.ts +29 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +56 -0
- package/dist/components/index.js.map +1 -0
- package/dist/dead-code/detector.d.ts +200 -0
- package/dist/dead-code/detector.d.ts.map +1 -0
- package/dist/dead-code/detector.js +1003 -0
- package/dist/dead-code/detector.js.map +1 -0
- package/dist/dead-code/index.d.ts +7 -0
- package/dist/dead-code/index.d.ts.map +1 -0
- package/dist/dead-code/index.js +7 -0
- package/dist/dead-code/index.js.map +1 -0
- package/dist/extractors/index.d.ts +15 -0
- package/dist/extractors/index.d.ts.map +1 -0
- package/dist/extractors/index.js +14 -0
- package/dist/extractors/index.js.map +1 -0
- package/dist/extractors/natural-language.d.ts +46 -0
- package/dist/extractors/natural-language.d.ts.map +1 -0
- package/dist/extractors/natural-language.js +228 -0
- package/dist/extractors/natural-language.js.map +1 -0
- package/dist/extractors/tree-sitter.d.ts +33 -0
- package/dist/extractors/tree-sitter.d.ts.map +1 -0
- package/dist/extractors/tree-sitter.js +69 -0
- package/dist/extractors/tree-sitter.js.map +1 -0
- package/dist/extractors/types.d.ts +62 -0
- package/dist/extractors/types.d.ts.map +1 -0
- package/dist/extractors/types.js +54 -0
- package/dist/extractors/types.js.map +1 -0
- package/dist/health-score/calculator.d.ts +123 -0
- package/dist/health-score/calculator.d.ts.map +1 -0
- package/dist/health-score/calculator.js +444 -0
- package/dist/health-score/calculator.js.map +1 -0
- package/dist/health-score/index.d.ts +12 -0
- package/dist/health-score/index.d.ts.map +1 -0
- package/dist/health-score/index.js +14 -0
- package/dist/health-score/index.js.map +1 -0
- package/dist/health-score/metrics.d.ts +142 -0
- package/dist/health-score/metrics.d.ts.map +1 -0
- package/dist/health-score/metrics.js +332 -0
- package/dist/health-score/metrics.js.map +1 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +43 -0
- package/dist/index.js.map +1 -0
- package/dist/llm/ax-client.d.ts +477 -0
- package/dist/llm/ax-client.d.ts.map +1 -0
- package/dist/llm/ax-client.js +1641 -0
- package/dist/llm/ax-client.js.map +1 -0
- package/dist/llm/config.d.ts +58 -0
- package/dist/llm/config.d.ts.map +1 -0
- package/dist/llm/config.js +97 -0
- package/dist/llm/config.js.map +1 -0
- package/dist/llm/discovery.d.ts +123 -0
- package/dist/llm/discovery.d.ts.map +1 -0
- package/dist/llm/discovery.js +505 -0
- package/dist/llm/discovery.js.map +1 -0
- package/dist/llm/enrichment.d.ts +108 -0
- package/dist/llm/enrichment.d.ts.map +1 -0
- package/dist/llm/enrichment.js +312 -0
- package/dist/llm/enrichment.js.map +1 -0
- package/dist/llm/index.d.ts +13 -0
- package/dist/llm/index.d.ts.map +1 -0
- package/dist/llm/index.js +22 -0
- package/dist/llm/index.js.map +1 -0
- package/dist/llm/language-context.d.ts +64 -0
- package/dist/llm/language-context.d.ts.map +1 -0
- package/dist/llm/language-context.js +492 -0
- package/dist/llm/language-context.js.map +1 -0
- package/dist/llm/pattern-verification.d.ts +39 -0
- package/dist/llm/pattern-verification.d.ts.map +1 -0
- package/dist/llm/pattern-verification.js +127 -0
- package/dist/llm/pattern-verification.js.map +1 -0
- package/dist/llm/prompt-security.d.ts +120 -0
- package/dist/llm/prompt-security.d.ts.map +1 -0
- package/dist/llm/prompt-security.js +301 -0
- package/dist/llm/prompt-security.js.map +1 -0
- package/dist/llm/prompts/index.d.ts +31 -0
- package/dist/llm/prompts/index.d.ts.map +1 -0
- package/dist/llm/prompts/index.js +92 -0
- package/dist/llm/prompts/index.js.map +1 -0
- package/dist/llm/prompts/rust.d.ts +30 -0
- package/dist/llm/prompts/rust.d.ts.map +1 -0
- package/dist/llm/prompts/rust.js +121 -0
- package/dist/llm/prompts/rust.js.map +1 -0
- package/dist/llm/schemas.d.ts +892 -0
- package/dist/llm/schemas.d.ts.map +1 -0
- package/dist/llm/schemas.js +258 -0
- package/dist/llm/schemas.js.map +1 -0
- package/dist/llm/verification.d.ts +127 -0
- package/dist/llm/verification.d.ts.map +1 -0
- package/dist/llm/verification.js +394 -0
- package/dist/llm/verification.js.map +1 -0
- package/dist/project/analyzer.d.ts +30 -0
- package/dist/project/analyzer.d.ts.map +1 -0
- package/dist/project/analyzer.js +358 -0
- package/dist/project/analyzer.js.map +1 -0
- package/dist/project/call-graph.d.ts +22 -0
- package/dist/project/call-graph.d.ts.map +1 -0
- package/dist/project/call-graph.js +246 -0
- package/dist/project/call-graph.js.map +1 -0
- package/dist/project/index.d.ts +18 -0
- package/dist/project/index.d.ts.map +1 -0
- package/dist/project/index.js +20 -0
- package/dist/project/index.js.map +1 -0
- package/dist/project/taint-paths.d.ts +22 -0
- package/dist/project/taint-paths.d.ts.map +1 -0
- package/dist/project/taint-paths.js +265 -0
- package/dist/project/taint-paths.js.map +1 -0
- package/dist/project/two-phase-analyzer.d.ts +143 -0
- package/dist/project/two-phase-analyzer.d.ts.map +1 -0
- package/dist/project/two-phase-analyzer.js +646 -0
- package/dist/project/two-phase-analyzer.js.map +1 -0
- package/dist/project/type-hierarchy.d.ts +28 -0
- package/dist/project/type-hierarchy.d.ts.map +1 -0
- package/dist/project/type-hierarchy.js +218 -0
- package/dist/project/type-hierarchy.js.map +1 -0
- package/dist/secret-scan/index.d.ts +12 -0
- package/dist/secret-scan/index.d.ts.map +1 -0
- package/dist/secret-scan/index.js +14 -0
- package/dist/secret-scan/index.js.map +1 -0
- package/dist/secret-scan/patterns.d.ts +38 -0
- package/dist/secret-scan/patterns.d.ts.map +1 -0
- package/dist/secret-scan/patterns.js +473 -0
- package/dist/secret-scan/patterns.js.map +1 -0
- package/dist/secret-scan/scanner.d.ts +162 -0
- package/dist/secret-scan/scanner.d.ts.map +1 -0
- package/dist/secret-scan/scanner.js +511 -0
- package/dist/secret-scan/scanner.js.map +1 -0
- package/dist/security-scan/index.d.ts +12 -0
- package/dist/security-scan/index.d.ts.map +1 -0
- package/dist/security-scan/index.js +15 -0
- package/dist/security-scan/index.js.map +1 -0
- package/dist/security-scan/owasp-mapping.d.ts +29 -0
- package/dist/security-scan/owasp-mapping.d.ts.map +1 -0
- package/dist/security-scan/owasp-mapping.js +246 -0
- package/dist/security-scan/owasp-mapping.js.map +1 -0
- package/dist/security-scan/scanner.d.ts +204 -0
- package/dist/security-scan/scanner.d.ts.map +1 -0
- package/dist/security-scan/scanner.js +693 -0
- package/dist/security-scan/scanner.js.map +1 -0
- package/dist/security-scan/trend-tracker.d.ts +150 -0
- package/dist/security-scan/trend-tracker.d.ts.map +1 -0
- package/dist/security-scan/trend-tracker.js +299 -0
- package/dist/security-scan/trend-tracker.js.map +1 -0
- package/dist/skills/bundle-loader.d.ts +26 -0
- package/dist/skills/bundle-loader.d.ts.map +1 -0
- package/dist/skills/bundle-loader.js +284 -0
- package/dist/skills/bundle-loader.js.map +1 -0
- package/dist/skills/capability-mismatch.d.ts +21 -0
- package/dist/skills/capability-mismatch.d.ts.map +1 -0
- package/dist/skills/capability-mismatch.js +188 -0
- package/dist/skills/capability-mismatch.js.map +1 -0
- package/dist/skills/index.d.ts +10 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js +9 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/skill-analyzer.d.ts +16 -0
- package/dist/skills/skill-analyzer.d.ts.map +1 -0
- package/dist/skills/skill-analyzer.js +361 -0
- package/dist/skills/skill-analyzer.js.map +1 -0
- package/dist/skills/types.d.ts +195 -0
- package/dist/skills/types.d.ts.map +1 -0
- package/dist/skills/types.js +7 -0
- package/dist/skills/types.js.map +1 -0
- package/dist/specifica/conflict-resolver.d.ts +23 -0
- package/dist/specifica/conflict-resolver.d.ts.map +1 -0
- package/dist/specifica/conflict-resolver.js +129 -0
- package/dist/specifica/conflict-resolver.js.map +1 -0
- package/dist/specifica/evidence-aggregator.d.ts +33 -0
- package/dist/specifica/evidence-aggregator.d.ts.map +1 -0
- package/dist/specifica/evidence-aggregator.js +236 -0
- package/dist/specifica/evidence-aggregator.js.map +1 -0
- package/dist/specifica/evidence-extractor.d.ts +13 -0
- package/dist/specifica/evidence-extractor.d.ts.map +1 -0
- package/dist/specifica/evidence-extractor.js +431 -0
- package/dist/specifica/evidence-extractor.js.map +1 -0
- package/dist/specifica/feature-clustering.d.ts +19 -0
- package/dist/specifica/feature-clustering.d.ts.map +1 -0
- package/dist/specifica/feature-clustering.js +231 -0
- package/dist/specifica/feature-clustering.js.map +1 -0
- package/dist/specifica/generator.d.ts +16 -0
- package/dist/specifica/generator.d.ts.map +1 -0
- package/dist/specifica/generator.js +277 -0
- package/dist/specifica/generator.js.map +1 -0
- package/dist/specifica/index.d.ts +15 -0
- package/dist/specifica/index.d.ts.map +1 -0
- package/dist/specifica/index.js +18 -0
- package/dist/specifica/index.js.map +1 -0
- package/dist/specifica/prompts.d.ts +21 -0
- package/dist/specifica/prompts.d.ts.map +1 -0
- package/dist/specifica/prompts.js +196 -0
- package/dist/specifica/prompts.js.map +1 -0
- package/dist/specifica/spec-generator.d.ts +22 -0
- package/dist/specifica/spec-generator.d.ts.map +1 -0
- package/dist/specifica/spec-generator.js +229 -0
- package/dist/specifica/spec-generator.js.map +1 -0
- package/dist/specifica/types.d.ts +213 -0
- package/dist/specifica/types.d.ts.map +1 -0
- package/dist/specifica/types.js +7 -0
- package/dist/specifica/types.js.map +1 -0
- package/dist/utils/logger.d.ts +17 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +51 -0
- package/dist/utils/logger.js.map +1 -0
- package/package.json +99 -0
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mastra AI Agents
|
|
3
|
+
*
|
|
4
|
+
* Defines Mastra Agent instances for security analysis operations.
|
|
5
|
+
* These agents wrap the existing ax-llm client for LLM operations.
|
|
6
|
+
*/
|
|
7
|
+
import { Agent } from '@mastra/core/agent';
|
|
8
|
+
import { createTool } from '@mastra/core/tools';
|
|
9
|
+
import { z } from 'zod';
|
|
10
|
+
// ============================================================================
|
|
11
|
+
// Default Model Configuration
|
|
12
|
+
// ============================================================================
|
|
13
|
+
/**
|
|
14
|
+
* Get the default model configuration from environment or use fallback
|
|
15
|
+
*/
|
|
16
|
+
function getDefaultModel() {
|
|
17
|
+
return process.env.MASTRA_MODEL || process.env.LLM_MODEL || 'cognium/gemini-pro-latest';
|
|
18
|
+
}
|
|
19
|
+
// ============================================================================
|
|
20
|
+
// Tools for Agents
|
|
21
|
+
// ============================================================================
|
|
22
|
+
/**
|
|
23
|
+
* Tool: Classify Code Role
|
|
24
|
+
* Determines if a class is a controller, service, repository, etc.
|
|
25
|
+
*/
|
|
26
|
+
const classifyRoleTool = createTool({
|
|
27
|
+
id: 'classify-role',
|
|
28
|
+
description: 'Classify the architectural role of a Java class (controller, service, repository, utility, entity)',
|
|
29
|
+
inputSchema: z.object({
|
|
30
|
+
className: z.string().describe('Name of the class'),
|
|
31
|
+
methodNames: z.string().describe('Comma-separated list of method names'),
|
|
32
|
+
annotations: z.string().describe('Comma-separated list of annotations'),
|
|
33
|
+
imports: z.string().describe('Import statements'),
|
|
34
|
+
}),
|
|
35
|
+
outputSchema: z.object({
|
|
36
|
+
role: z.enum(['controller', 'service', 'repository', 'utility', 'entity', 'unknown']),
|
|
37
|
+
confidence: z.number(),
|
|
38
|
+
reasoning: z.string(),
|
|
39
|
+
indicators: z.array(z.string()),
|
|
40
|
+
}),
|
|
41
|
+
execute: async (inputData) => {
|
|
42
|
+
const { getAxLLMClient } = await import('../../llm/ax-client.js');
|
|
43
|
+
const client = getAxLLMClient();
|
|
44
|
+
return client.classifyRole({
|
|
45
|
+
className: inputData.className,
|
|
46
|
+
methodNames: inputData.methodNames,
|
|
47
|
+
annotations: inputData.annotations,
|
|
48
|
+
imports: inputData.imports,
|
|
49
|
+
});
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
/**
|
|
53
|
+
* Tool: Discover Taint Sources
|
|
54
|
+
* Finds additional user-controlled input sources in code
|
|
55
|
+
*/
|
|
56
|
+
const discoverSourcesTool = createTool({
|
|
57
|
+
id: 'discover-sources',
|
|
58
|
+
description: 'Discover additional taint sources (user-controlled inputs) in Java code',
|
|
59
|
+
inputSchema: z.object({
|
|
60
|
+
methodCode: z.string().describe('The method source code to analyze'),
|
|
61
|
+
methodName: z.string().describe('Name of the method'),
|
|
62
|
+
classRole: z.string().describe('Role of the class (controller, service, etc.)'),
|
|
63
|
+
existingSources: z.string().describe('Already identified sources'),
|
|
64
|
+
}),
|
|
65
|
+
outputSchema: z.object({
|
|
66
|
+
sources: z.array(z.object({
|
|
67
|
+
line: z.number(),
|
|
68
|
+
variable: z.string(),
|
|
69
|
+
type: z.string(),
|
|
70
|
+
confidence: z.number(),
|
|
71
|
+
reasoning: z.string(),
|
|
72
|
+
})),
|
|
73
|
+
}),
|
|
74
|
+
execute: async (inputData) => {
|
|
75
|
+
const { getAxLLMClient } = await import('../../llm/ax-client.js');
|
|
76
|
+
const client = getAxLLMClient();
|
|
77
|
+
const sources = await client.discoverSources({
|
|
78
|
+
methodCode: inputData.methodCode,
|
|
79
|
+
methodName: inputData.methodName,
|
|
80
|
+
classRole: inputData.classRole,
|
|
81
|
+
existingSources: inputData.existingSources,
|
|
82
|
+
});
|
|
83
|
+
return { sources };
|
|
84
|
+
},
|
|
85
|
+
});
|
|
86
|
+
/**
|
|
87
|
+
* Tool: Discover Taint Sinks
|
|
88
|
+
* Finds dangerous operations that could be vulnerable
|
|
89
|
+
*/
|
|
90
|
+
const discoverSinksTool = createTool({
|
|
91
|
+
id: 'discover-sinks',
|
|
92
|
+
description: 'Discover dangerous operations (sinks) that could be vulnerable in Java code',
|
|
93
|
+
inputSchema: z.object({
|
|
94
|
+
methodCode: z.string().describe('The method source code to analyze'),
|
|
95
|
+
methodName: z.string().describe('Name of the method'),
|
|
96
|
+
methodCalls: z.string().describe('List of method calls in the code'),
|
|
97
|
+
existingSinks: z.string().describe('Already identified sinks'),
|
|
98
|
+
}),
|
|
99
|
+
outputSchema: z.object({
|
|
100
|
+
sinks: z.array(z.object({
|
|
101
|
+
line: z.number(),
|
|
102
|
+
method: z.string(),
|
|
103
|
+
type: z.string(),
|
|
104
|
+
cwe: z.string(),
|
|
105
|
+
argPositions: z.array(z.number()),
|
|
106
|
+
confidence: z.number(),
|
|
107
|
+
reasoning: z.string(),
|
|
108
|
+
})),
|
|
109
|
+
}),
|
|
110
|
+
execute: async (inputData) => {
|
|
111
|
+
const { getAxLLMClient } = await import('../../llm/ax-client.js');
|
|
112
|
+
const client = getAxLLMClient();
|
|
113
|
+
const sinks = await client.discoverSinks({
|
|
114
|
+
methodCode: inputData.methodCode,
|
|
115
|
+
methodName: inputData.methodName,
|
|
116
|
+
methodCalls: inputData.methodCalls,
|
|
117
|
+
existingSinks: inputData.existingSinks,
|
|
118
|
+
});
|
|
119
|
+
return { sinks };
|
|
120
|
+
},
|
|
121
|
+
});
|
|
122
|
+
/**
|
|
123
|
+
* Tool: Verify Vulnerability
|
|
124
|
+
* Determines if a potential vulnerability is exploitable
|
|
125
|
+
*/
|
|
126
|
+
const verifyVulnerabilityTool = createTool({
|
|
127
|
+
id: 'verify-vulnerability',
|
|
128
|
+
description: 'Verify if a potential security vulnerability is actually exploitable',
|
|
129
|
+
inputSchema: z.object({
|
|
130
|
+
sourceCode: z.string().describe('Code at the taint source'),
|
|
131
|
+
sourceLine: z.number().describe('Line number of the source'),
|
|
132
|
+
sourceType: z.string().describe('Type of source (http_param, etc.)'),
|
|
133
|
+
sinkCode: z.string().describe('Code at the dangerous sink'),
|
|
134
|
+
sinkLine: z.number().describe('Line number of the sink'),
|
|
135
|
+
sinkType: z.string().describe('Type of sink (sql_injection, etc.)'),
|
|
136
|
+
cwe: z.string().describe('CWE identifier'),
|
|
137
|
+
methodCode: z.string().describe('Full method code for context'),
|
|
138
|
+
methodName: z.string().describe('Name of the method'),
|
|
139
|
+
className: z.string().describe('Name of the class'),
|
|
140
|
+
sanitizersInPath: z.array(z.string()).describe('Known sanitizers in the data flow path'),
|
|
141
|
+
}),
|
|
142
|
+
outputSchema: z.object({
|
|
143
|
+
verdict: z.enum(['TRUE_POSITIVE', 'FALSE_POSITIVE', 'UNCERTAIN']),
|
|
144
|
+
confidence: z.number(),
|
|
145
|
+
reasoning: z.string(),
|
|
146
|
+
exploitability: z.enum(['high', 'medium', 'low', 'none']),
|
|
147
|
+
sanitizersFound: z.array(z.string()),
|
|
148
|
+
attackVector: z.string(),
|
|
149
|
+
}),
|
|
150
|
+
execute: async (inputData) => {
|
|
151
|
+
const { getAxLLMClient } = await import('../../llm/ax-client.js');
|
|
152
|
+
const client = getAxLLMClient();
|
|
153
|
+
return client.verify({
|
|
154
|
+
sourceCode: inputData.sourceCode,
|
|
155
|
+
sourceLine: inputData.sourceLine,
|
|
156
|
+
sourceType: inputData.sourceType,
|
|
157
|
+
sinkCode: inputData.sinkCode,
|
|
158
|
+
sinkLine: inputData.sinkLine,
|
|
159
|
+
sinkType: inputData.sinkType,
|
|
160
|
+
cwe: inputData.cwe,
|
|
161
|
+
methodCode: inputData.methodCode,
|
|
162
|
+
methodName: inputData.methodName,
|
|
163
|
+
className: inputData.className,
|
|
164
|
+
sanitizersInPath: inputData.sanitizersInPath,
|
|
165
|
+
});
|
|
166
|
+
},
|
|
167
|
+
});
|
|
168
|
+
/**
|
|
169
|
+
* Tool: Analyze Cross-File Taint
|
|
170
|
+
* Tracks taint flow between files
|
|
171
|
+
*/
|
|
172
|
+
const crossFileTaintTool = createTool({
|
|
173
|
+
id: 'cross-file-taint',
|
|
174
|
+
description: 'Analyze taint flow between two source files',
|
|
175
|
+
inputSchema: z.object({
|
|
176
|
+
sourceFile: z.string().describe('Path of the source file'),
|
|
177
|
+
sourceCode: z.string().describe('Content of the source file'),
|
|
178
|
+
targetFile: z.string().describe('Path of the target file'),
|
|
179
|
+
targetCode: z.string().describe('Content of the target file'),
|
|
180
|
+
exportedTaint: z.array(z.object({
|
|
181
|
+
symbol: z.string(),
|
|
182
|
+
type: z.string(),
|
|
183
|
+
line: z.number(),
|
|
184
|
+
})).describe('Tainted data exported from source'),
|
|
185
|
+
importedSymbols: z.array(z.string()).describe('Symbols imported by target'),
|
|
186
|
+
}),
|
|
187
|
+
outputSchema: z.object({
|
|
188
|
+
taintFlows: z.array(z.object({
|
|
189
|
+
sourceSymbol: z.string(),
|
|
190
|
+
targetSymbol: z.string(),
|
|
191
|
+
flowType: z.enum(['direct', 'transitive', 'conditional']),
|
|
192
|
+
confidence: z.number(),
|
|
193
|
+
})),
|
|
194
|
+
reasoning: z.string(),
|
|
195
|
+
}),
|
|
196
|
+
execute: async (inputData) => {
|
|
197
|
+
const { getAxLLMClient } = await import('../../llm/ax-client.js');
|
|
198
|
+
const client = getAxLLMClient();
|
|
199
|
+
return client.analyzeCrossFileTaint({
|
|
200
|
+
sourceFile: inputData.sourceFile,
|
|
201
|
+
sourceCode: inputData.sourceCode,
|
|
202
|
+
targetFile: inputData.targetFile,
|
|
203
|
+
targetCode: inputData.targetCode,
|
|
204
|
+
exportedTaint: inputData.exportedTaint,
|
|
205
|
+
importedSymbols: inputData.importedSymbols,
|
|
206
|
+
});
|
|
207
|
+
},
|
|
208
|
+
});
|
|
209
|
+
// ============================================================================
|
|
210
|
+
// Agents
|
|
211
|
+
// ============================================================================
|
|
212
|
+
/**
|
|
213
|
+
* Enrichment Agent
|
|
214
|
+
*
|
|
215
|
+
* Specializes in discovering additional security-relevant patterns in code
|
|
216
|
+
* that static analysis might miss.
|
|
217
|
+
*/
|
|
218
|
+
export const enrichmentAgent = new Agent({
|
|
219
|
+
id: 'enrichment-agent',
|
|
220
|
+
name: 'Security Enrichment Agent',
|
|
221
|
+
model: getDefaultModel(),
|
|
222
|
+
instructions: `You are a security expert specialized in code analysis.
|
|
223
|
+
Your role is to discover additional taint sources and sinks that static pattern matching might miss.
|
|
224
|
+
|
|
225
|
+
For SOURCES, look for:
|
|
226
|
+
- HTTP request parameters, headers, cookies
|
|
227
|
+
- File uploads and input streams
|
|
228
|
+
- Database query results
|
|
229
|
+
- Environment variables and system properties
|
|
230
|
+
- User session data
|
|
231
|
+
|
|
232
|
+
For SINKS, look for:
|
|
233
|
+
- SQL query construction without parameterization
|
|
234
|
+
- Command execution with string concatenation
|
|
235
|
+
- File path construction with user input
|
|
236
|
+
- Response output without encoding
|
|
237
|
+
- Deserialization of untrusted data
|
|
238
|
+
|
|
239
|
+
Always explain your reasoning and provide confidence scores.`,
|
|
240
|
+
tools: {
|
|
241
|
+
classifyRole: classifyRoleTool,
|
|
242
|
+
discoverSources: discoverSourcesTool,
|
|
243
|
+
discoverSinks: discoverSinksTool,
|
|
244
|
+
},
|
|
245
|
+
});
|
|
246
|
+
/**
|
|
247
|
+
* Verification Agent
|
|
248
|
+
*
|
|
249
|
+
* Specializes in determining whether potential vulnerabilities are actually
|
|
250
|
+
* exploitable by analyzing data flow and sanitization.
|
|
251
|
+
*/
|
|
252
|
+
export const verificationAgent = new Agent({
|
|
253
|
+
id: 'verification-agent',
|
|
254
|
+
name: 'Vulnerability Verification Agent',
|
|
255
|
+
model: getDefaultModel(),
|
|
256
|
+
instructions: `You are a security expert specialized in vulnerability verification.
|
|
257
|
+
Your role is to determine whether potential vulnerabilities identified by static analysis are actually exploitable.
|
|
258
|
+
|
|
259
|
+
When verifying a vulnerability:
|
|
260
|
+
1. TRACE the data flow from source to sink step by step
|
|
261
|
+
2. IDENTIFY any sanitization, encoding, or validation
|
|
262
|
+
3. EVALUATE conditions that might prevent exploitation
|
|
263
|
+
4. CONSIDER the context (is this test code, production code, etc.)
|
|
264
|
+
|
|
265
|
+
Key sanitization patterns to recognize:
|
|
266
|
+
- SQL: PreparedStatement, parameterized queries, ORMs
|
|
267
|
+
- XSS: HTML encoding, escapeHtml, ESAPI
|
|
268
|
+
- Command: Array-based exec, input validation
|
|
269
|
+
- Path: Canonical path checks, whitelist validation
|
|
270
|
+
|
|
271
|
+
Be conservative: only mark TRUE_POSITIVE if clearly exploitable.
|
|
272
|
+
Mark FALSE_POSITIVE if any effective sanitization exists.
|
|
273
|
+
Mark UNCERTAIN if you cannot determine with confidence.`,
|
|
274
|
+
tools: {
|
|
275
|
+
verifyVulnerability: verifyVulnerabilityTool,
|
|
276
|
+
},
|
|
277
|
+
});
|
|
278
|
+
/**
|
|
279
|
+
* Cross-File Analysis Agent
|
|
280
|
+
*
|
|
281
|
+
* Specializes in tracking taint flow across file boundaries.
|
|
282
|
+
*/
|
|
283
|
+
export const crossFileAgent = new Agent({
|
|
284
|
+
id: 'cross-file-agent',
|
|
285
|
+
name: 'Cross-File Taint Analysis Agent',
|
|
286
|
+
model: getDefaultModel(),
|
|
287
|
+
instructions: `You are a security expert specialized in cross-file taint analysis.
|
|
288
|
+
Your role is to track how tainted data flows between source files through imports, exports, and method calls.
|
|
289
|
+
|
|
290
|
+
When analyzing cross-file taint:
|
|
291
|
+
1. IDENTIFY tainted data exported from the source file
|
|
292
|
+
2. TRACE imports and dependencies in the target file
|
|
293
|
+
3. DETERMINE if tainted data reaches dangerous sinks
|
|
294
|
+
4. CONSIDER indirect flows through intermediate variables
|
|
295
|
+
|
|
296
|
+
Pay attention to:
|
|
297
|
+
- Method parameters that carry taint
|
|
298
|
+
- Return values from tainted operations
|
|
299
|
+
- Shared state and class fields
|
|
300
|
+
- Dependency injection patterns`,
|
|
301
|
+
tools: {
|
|
302
|
+
crossFileTaint: crossFileTaintTool,
|
|
303
|
+
},
|
|
304
|
+
});
|
|
305
|
+
/**
|
|
306
|
+
* Orchestrator Agent
|
|
307
|
+
*
|
|
308
|
+
* Coordinates the analysis workflow and makes high-level decisions.
|
|
309
|
+
*/
|
|
310
|
+
export const orchestratorAgent = new Agent({
|
|
311
|
+
id: 'orchestrator-agent',
|
|
312
|
+
name: 'Security Analysis Orchestrator',
|
|
313
|
+
model: getDefaultModel(),
|
|
314
|
+
instructions: `You are the orchestrator for security analysis workflows.
|
|
315
|
+
Your role is to coordinate enrichment and verification agents to analyze code for vulnerabilities.
|
|
316
|
+
|
|
317
|
+
Workflow steps:
|
|
318
|
+
1. Run static pattern matching first
|
|
319
|
+
2. Use enrichment agent to discover additional sources/sinks
|
|
320
|
+
3. Merge pattern and LLM results
|
|
321
|
+
4. Prioritize verification targets by severity
|
|
322
|
+
5. Use verification agent to confirm exploitability
|
|
323
|
+
6. Generate final vulnerability report
|
|
324
|
+
|
|
325
|
+
Make efficient decisions about which findings need verification based on:
|
|
326
|
+
- Confidence levels from both tracks
|
|
327
|
+
- Severity of the potential vulnerability
|
|
328
|
+
- Code patterns that indicate real vs. test code`,
|
|
329
|
+
tools: {
|
|
330
|
+
classifyRole: classifyRoleTool,
|
|
331
|
+
discoverSources: discoverSourcesTool,
|
|
332
|
+
discoverSinks: discoverSinksTool,
|
|
333
|
+
verifyVulnerability: verifyVulnerabilityTool,
|
|
334
|
+
crossFileTaint: crossFileTaintTool,
|
|
335
|
+
},
|
|
336
|
+
});
|
|
337
|
+
// ============================================================================
|
|
338
|
+
// Agent Registry
|
|
339
|
+
// ============================================================================
|
|
340
|
+
export const agents = {
|
|
341
|
+
enrichment: enrichmentAgent,
|
|
342
|
+
verification: verificationAgent,
|
|
343
|
+
crossFile: crossFileAgent,
|
|
344
|
+
orchestrator: orchestratorAgent,
|
|
345
|
+
};
|
|
346
|
+
export default agents;
|
|
347
|
+
//# sourceMappingURL=agents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../../../src/agents/mastra/agents.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mastra Integration Module
|
|
3
|
+
*
|
|
4
|
+
* Exports Mastra-based workflows, agents, and swarm capabilities
|
|
5
|
+
* for security analysis.
|
|
6
|
+
*/
|
|
7
|
+
export { patternMatchStep, enrichStep, mergeStep, verifyStep, reportStep, } from './steps.js';
|
|
8
|
+
export { securityAnalysisWorkflow, analyzeFile, analyzeFileStream, } from './workflow.js';
|
|
9
|
+
export { swarmAnalysisWorkflow, analyzeFilesSwarm, analyzeFilesSwarmStream, analyzeFilesInBatches, type FileInput, type SwarmOptions, } from './swarm.js';
|
|
10
|
+
export { enrichmentAgent, verificationAgent, crossFileAgent, orchestratorAgent, agents, } from './agents.js';
|
|
11
|
+
export { createMastraInstance } from './instance.js';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agents/mastra/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,SAAS,EACT,UAAU,EACV,UAAU,GACX,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,wBAAwB,EACxB,WAAW,EACX,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,KAAK,SAAS,EACd,KAAK,YAAY,GAClB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,MAAM,GACP,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mastra Integration Module
|
|
3
|
+
*
|
|
4
|
+
* Exports Mastra-based workflows, agents, and swarm capabilities
|
|
5
|
+
* for security analysis.
|
|
6
|
+
*/
|
|
7
|
+
// Steps
|
|
8
|
+
export { patternMatchStep, enrichStep, mergeStep, verifyStep, reportStep, } from './steps.js';
|
|
9
|
+
// Single-file workflow
|
|
10
|
+
export { securityAnalysisWorkflow, analyzeFile, analyzeFileStream, } from './workflow.js';
|
|
11
|
+
// Swarm (multi-file parallel) workflow
|
|
12
|
+
export { swarmAnalysisWorkflow, analyzeFilesSwarm, analyzeFilesSwarmStream, analyzeFilesInBatches, } from './swarm.js';
|
|
13
|
+
// Agents
|
|
14
|
+
export { enrichmentAgent, verificationAgent, crossFileAgent, orchestratorAgent, agents, } from './agents.js';
|
|
15
|
+
// Re-export Mastra instance setup
|
|
16
|
+
export { createMastraInstance } from './instance.js';
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agents/mastra/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,QAAQ;AACR,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,SAAS,EACT,UAAU,EACV,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,uBAAuB;AACvB,OAAO,EACL,wBAAwB,EACxB,WAAW,EACX,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAEvB,uCAAuC;AACvC,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,GAGtB,MAAM,YAAY,CAAC;AAEpB,SAAS;AACT,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,MAAM,GACP,MAAM,aAAa,CAAC;AAErB,kCAAkC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC"}
|