saasgadget 0.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/LICENSE.md +21 -0
- package/README.md +48 -0
- package/dist/agents/business-analyst.d.ts +14 -0
- package/dist/agents/business-analyst.d.ts.map +1 -0
- package/dist/agents/business-analyst.js +70 -0
- package/dist/agents/business-analyst.js.map +1 -0
- package/dist/agents/code-inspector.d.ts +19 -0
- package/dist/agents/code-inspector.d.ts.map +1 -0
- package/dist/agents/code-inspector.js +149 -0
- package/dist/agents/code-inspector.js.map +1 -0
- package/dist/agents/competitor-tracker.d.ts +19 -0
- package/dist/agents/competitor-tracker.d.ts.map +1 -0
- package/dist/agents/competitor-tracker.js +190 -0
- package/dist/agents/competitor-tracker.js.map +1 -0
- package/dist/agents/finance-auditor.d.ts +14 -0
- package/dist/agents/finance-auditor.d.ts.map +1 -0
- package/dist/agents/finance-auditor.js +73 -0
- package/dist/agents/finance-auditor.js.map +1 -0
- package/dist/agents/gtm-strategist.d.ts +14 -0
- package/dist/agents/gtm-strategist.d.ts.map +1 -0
- package/dist/agents/gtm-strategist.js +73 -0
- package/dist/agents/gtm-strategist.js.map +1 -0
- package/dist/agents/orchestrator.d.ts +52 -0
- package/dist/agents/orchestrator.d.ts.map +1 -0
- package/dist/agents/orchestrator.js +174 -0
- package/dist/agents/orchestrator.js.map +1 -0
- package/dist/agents/sdk-client.d.ts +48 -0
- package/dist/agents/sdk-client.d.ts.map +1 -0
- package/dist/agents/sdk-client.js +119 -0
- package/dist/agents/sdk-client.js.map +1 -0
- package/dist/agents/security-compliance.d.ts +14 -0
- package/dist/agents/security-compliance.d.ts.map +1 -0
- package/dist/agents/security-compliance.js +87 -0
- package/dist/agents/security-compliance.js.map +1 -0
- package/dist/agents/skeptic-reviewer.d.ts +14 -0
- package/dist/agents/skeptic-reviewer.d.ts.map +1 -0
- package/dist/agents/skeptic-reviewer.js +65 -0
- package/dist/agents/skeptic-reviewer.js.map +1 -0
- package/dist/agents/skills-directory.d.ts +36 -0
- package/dist/agents/skills-directory.d.ts.map +1 -0
- package/dist/agents/skills-directory.js +108 -0
- package/dist/agents/skills-directory.js.map +1 -0
- package/dist/cli/commands/auth.d.ts +8 -0
- package/dist/cli/commands/auth.d.ts.map +1 -0
- package/dist/cli/commands/auth.js +90 -0
- package/dist/cli/commands/auth.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts +10 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -0
- package/dist/cli/commands/doctor.js +240 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/fix.d.ts +4 -0
- package/dist/cli/commands/fix.d.ts.map +1 -0
- package/dist/cli/commands/fix.js +344 -0
- package/dist/cli/commands/fix.js.map +1 -0
- package/dist/cli/commands/init.d.ts +8 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +109 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/mcp.d.ts +4 -0
- package/dist/cli/commands/mcp.d.ts.map +1 -0
- package/dist/cli/commands/mcp.js +441 -0
- package/dist/cli/commands/mcp.js.map +1 -0
- package/dist/cli/commands/new.d.ts +4 -0
- package/dist/cli/commands/new.d.ts.map +1 -0
- package/dist/cli/commands/new.js +193 -0
- package/dist/cli/commands/new.js.map +1 -0
- package/dist/cli/commands/pack.d.ts +4 -0
- package/dist/cli/commands/pack.d.ts.map +1 -0
- package/dist/cli/commands/pack.js +312 -0
- package/dist/cli/commands/pack.js.map +1 -0
- package/dist/cli/commands/plan.d.ts +4 -0
- package/dist/cli/commands/plan.d.ts.map +1 -0
- package/dist/cli/commands/plan.js +250 -0
- package/dist/cli/commands/plan.js.map +1 -0
- package/dist/cli/commands/research.d.ts +7 -0
- package/dist/cli/commands/research.d.ts.map +1 -0
- package/dist/cli/commands/research.js +331 -0
- package/dist/cli/commands/research.js.map +1 -0
- package/dist/cli/commands/scan.d.ts +4 -0
- package/dist/cli/commands/scan.d.ts.map +1 -0
- package/dist/cli/commands/scan.js +434 -0
- package/dist/cli/commands/scan.js.map +1 -0
- package/dist/cli/commands/session.d.ts +4 -0
- package/dist/cli/commands/session.d.ts.map +1 -0
- package/dist/cli/commands/session.js +343 -0
- package/dist/cli/commands/session.js.map +1 -0
- package/dist/cli/commands/settings.d.ts +8 -0
- package/dist/cli/commands/settings.d.ts.map +1 -0
- package/dist/cli/commands/settings.js +302 -0
- package/dist/cli/commands/settings.js.map +1 -0
- package/dist/cli/commands/start.d.ts +10 -0
- package/dist/cli/commands/start.d.ts.map +1 -0
- package/dist/cli/commands/start.js +185 -0
- package/dist/cli/commands/start.js.map +1 -0
- package/dist/cli/commands/types.d.ts +15 -0
- package/dist/cli/commands/types.d.ts.map +1 -0
- package/dist/cli/commands/types.js +2 -0
- package/dist/cli/commands/types.js.map +1 -0
- package/dist/cli/flag-resolver.d.ts +17 -0
- package/dist/cli/flag-resolver.d.ts.map +1 -0
- package/dist/cli/flag-resolver.js +57 -0
- package/dist/cli/flag-resolver.js.map +1 -0
- package/dist/cli/output/formatter.d.ts +22 -0
- package/dist/cli/output/formatter.d.ts.map +1 -0
- package/dist/cli/output/formatter.js +40 -0
- package/dist/cli/output/formatter.js.map +1 -0
- package/dist/cli/output/hints.d.ts +7 -0
- package/dist/cli/output/hints.d.ts.map +1 -0
- package/dist/cli/output/hints.js +27 -0
- package/dist/cli/output/hints.js.map +1 -0
- package/dist/cli/output/json-writer.d.ts +7 -0
- package/dist/cli/output/json-writer.d.ts.map +1 -0
- package/dist/cli/output/json-writer.js +19 -0
- package/dist/cli/output/json-writer.js.map +1 -0
- package/dist/cli/output/markdown-writer.d.ts +7 -0
- package/dist/cli/output/markdown-writer.d.ts.map +1 -0
- package/dist/cli/output/markdown-writer.js +75 -0
- package/dist/cli/output/markdown-writer.js.map +1 -0
- package/dist/cli/tui/banner.d.ts +2 -0
- package/dist/cli/tui/banner.d.ts.map +1 -0
- package/dist/cli/tui/banner.js +46 -0
- package/dist/cli/tui/banner.js.map +1 -0
- package/dist/cli/tui/colors.d.ts +22 -0
- package/dist/cli/tui/colors.d.ts.map +1 -0
- package/dist/cli/tui/colors.js +79 -0
- package/dist/cli/tui/colors.js.map +1 -0
- package/dist/cli/tui/dashboard.d.ts +20 -0
- package/dist/cli/tui/dashboard.d.ts.map +1 -0
- package/dist/cli/tui/dashboard.js +140 -0
- package/dist/cli/tui/dashboard.js.map +1 -0
- package/dist/cli/tui/prompt.d.ts +55 -0
- package/dist/cli/tui/prompt.d.ts.map +1 -0
- package/dist/cli/tui/prompt.js +193 -0
- package/dist/cli/tui/prompt.js.map +1 -0
- package/dist/cli/tui/slash-commands.d.ts +43 -0
- package/dist/cli/tui/slash-commands.d.ts.map +1 -0
- package/dist/cli/tui/slash-commands.js +439 -0
- package/dist/cli/tui/slash-commands.js.map +1 -0
- package/dist/config/config-store.d.ts +27 -0
- package/dist/config/config-store.d.ts.map +1 -0
- package/dist/config/config-store.js +125 -0
- package/dist/config/config-store.js.map +1 -0
- package/dist/config/presets.d.ts +15 -0
- package/dist/config/presets.d.ts.map +1 -0
- package/dist/config/presets.js +91 -0
- package/dist/config/presets.js.map +1 -0
- package/dist/config/tool-profiles.d.ts +29 -0
- package/dist/config/tool-profiles.d.ts.map +1 -0
- package/dist/config/tool-profiles.js +56 -0
- package/dist/config/tool-profiles.js.map +1 -0
- package/dist/contracts/agent-invoker.d.ts +9 -0
- package/dist/contracts/agent-invoker.d.ts.map +1 -0
- package/dist/contracts/agent-invoker.js +2 -0
- package/dist/contracts/agent-invoker.js.map +1 -0
- package/dist/contracts/agent.d.ts +36 -0
- package/dist/contracts/agent.d.ts.map +1 -0
- package/dist/contracts/agent.js +2 -0
- package/dist/contracts/agent.js.map +1 -0
- package/dist/contracts/config-store.d.ts +13 -0
- package/dist/contracts/config-store.d.ts.map +1 -0
- package/dist/contracts/config-store.js +2 -0
- package/dist/contracts/config-store.js.map +1 -0
- package/dist/contracts/crawler.d.ts +17 -0
- package/dist/contracts/crawler.d.ts.map +1 -0
- package/dist/contracts/crawler.js +2 -0
- package/dist/contracts/crawler.js.map +1 -0
- package/dist/contracts/exporter.d.ts +18 -0
- package/dist/contracts/exporter.d.ts.map +1 -0
- package/dist/contracts/exporter.js +11 -0
- package/dist/contracts/exporter.js.map +1 -0
- package/dist/contracts/index.d.ts +14 -0
- package/dist/contracts/index.d.ts.map +1 -0
- package/dist/contracts/index.js +2 -0
- package/dist/contracts/index.js.map +1 -0
- package/dist/contracts/mcp-tool-provider.d.ts +18 -0
- package/dist/contracts/mcp-tool-provider.d.ts.map +1 -0
- package/dist/contracts/mcp-tool-provider.js +2 -0
- package/dist/contracts/mcp-tool-provider.js.map +1 -0
- package/dist/contracts/report-pack-generator.d.ts +20 -0
- package/dist/contracts/report-pack-generator.d.ts.map +1 -0
- package/dist/contracts/report-pack-generator.js +2 -0
- package/dist/contracts/report-pack-generator.js.map +1 -0
- package/dist/contracts/search-provider.d.ts +15 -0
- package/dist/contracts/search-provider.d.ts.map +1 -0
- package/dist/contracts/search-provider.js +2 -0
- package/dist/contracts/search-provider.js.map +1 -0
- package/dist/contracts/session-manager.d.ts +36 -0
- package/dist/contracts/session-manager.d.ts.map +1 -0
- package/dist/contracts/session-manager.js +2 -0
- package/dist/contracts/session-manager.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +299 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/ai/provider-factory.d.ts +64 -0
- package/dist/lib/ai/provider-factory.d.ts.map +1 -0
- package/dist/lib/ai/provider-factory.js +249 -0
- package/dist/lib/ai/provider-factory.js.map +1 -0
- package/dist/lib/audit-logger.d.ts +10 -0
- package/dist/lib/audit-logger.d.ts.map +1 -0
- package/dist/lib/audit-logger.js +101 -0
- package/dist/lib/audit-logger.js.map +1 -0
- package/dist/lib/auth.d.ts +39 -0
- package/dist/lib/auth.d.ts.map +1 -0
- package/dist/lib/auth.js +219 -0
- package/dist/lib/auth.js.map +1 -0
- package/dist/lib/competitor-scheduler.d.ts +73 -0
- package/dist/lib/competitor-scheduler.d.ts.map +1 -0
- package/dist/lib/competitor-scheduler.js +235 -0
- package/dist/lib/competitor-scheduler.js.map +1 -0
- package/dist/lib/crawler.d.ts +17 -0
- package/dist/lib/crawler.d.ts.map +1 -0
- package/dist/lib/crawler.js +168 -0
- package/dist/lib/crawler.js.map +1 -0
- package/dist/lib/errors.d.ts +34 -0
- package/dist/lib/errors.d.ts.map +1 -0
- package/dist/lib/errors.js +63 -0
- package/dist/lib/errors.js.map +1 -0
- package/dist/lib/exporter.d.ts +9 -0
- package/dist/lib/exporter.d.ts.map +1 -0
- package/dist/lib/exporter.js +100 -0
- package/dist/lib/exporter.js.map +1 -0
- package/dist/lib/html-cleaner.d.ts +19 -0
- package/dist/lib/html-cleaner.d.ts.map +1 -0
- package/dist/lib/html-cleaner.js +144 -0
- package/dist/lib/html-cleaner.js.map +1 -0
- package/dist/lib/http.d.ts +18 -0
- package/dist/lib/http.d.ts.map +1 -0
- package/dist/lib/http.js +83 -0
- package/dist/lib/http.js.map +1 -0
- package/dist/lib/lockfile.d.ts +10 -0
- package/dist/lib/lockfile.d.ts.map +1 -0
- package/dist/lib/lockfile.js +56 -0
- package/dist/lib/lockfile.js.map +1 -0
- package/dist/lib/mcp-registry.d.ts +47 -0
- package/dist/lib/mcp-registry.d.ts.map +1 -0
- package/dist/lib/mcp-registry.js +212 -0
- package/dist/lib/mcp-registry.js.map +1 -0
- package/dist/lib/profile-resolver.d.ts +28 -0
- package/dist/lib/profile-resolver.d.ts.map +1 -0
- package/dist/lib/profile-resolver.js +72 -0
- package/dist/lib/profile-resolver.js.map +1 -0
- package/dist/lib/profile-store.d.ts +14 -0
- package/dist/lib/profile-store.d.ts.map +1 -0
- package/dist/lib/profile-store.js +80 -0
- package/dist/lib/profile-store.js.map +1 -0
- package/dist/lib/rate-limiter.d.ts +32 -0
- package/dist/lib/rate-limiter.d.ts.map +1 -0
- package/dist/lib/rate-limiter.js +124 -0
- package/dist/lib/rate-limiter.js.map +1 -0
- package/dist/lib/sandbox.d.ts +25 -0
- package/dist/lib/sandbox.d.ts.map +1 -0
- package/dist/lib/sandbox.js +134 -0
- package/dist/lib/sandbox.js.map +1 -0
- package/dist/lib/search.d.ts +22 -0
- package/dist/lib/search.d.ts.map +1 -0
- package/dist/lib/search.js +147 -0
- package/dist/lib/search.js.map +1 -0
- package/dist/lib/secret-scanner.d.ts +26 -0
- package/dist/lib/secret-scanner.d.ts.map +1 -0
- package/dist/lib/secret-scanner.js +74 -0
- package/dist/lib/secret-scanner.js.map +1 -0
- package/dist/lib/url.d.ts +17 -0
- package/dist/lib/url.d.ts.map +1 -0
- package/dist/lib/url.js +51 -0
- package/dist/lib/url.js.map +1 -0
- package/dist/mcp/progressive-discovery.d.ts +21 -0
- package/dist/mcp/progressive-discovery.d.ts.map +1 -0
- package/dist/mcp/progressive-discovery.js +86 -0
- package/dist/mcp/progressive-discovery.js.map +1 -0
- package/dist/mcp/ptc-executor.d.ts +92 -0
- package/dist/mcp/ptc-executor.d.ts.map +1 -0
- package/dist/mcp/ptc-executor.js +199 -0
- package/dist/mcp/ptc-executor.js.map +1 -0
- package/dist/mcp/server.d.ts +29 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +299 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tool-codegen.d.ts +33 -0
- package/dist/mcp/tool-codegen.d.ts.map +1 -0
- package/dist/mcp/tool-codegen.js +129 -0
- package/dist/mcp/tool-codegen.js.map +1 -0
- package/dist/mcp/tool-examples.d.ts +22 -0
- package/dist/mcp/tool-examples.d.ts.map +1 -0
- package/dist/mcp/tool-examples.js +117 -0
- package/dist/mcp/tool-examples.js.map +1 -0
- package/dist/mcp/tools/classify-signals.d.ts +67 -0
- package/dist/mcp/tools/classify-signals.d.ts.map +1 -0
- package/dist/mcp/tools/classify-signals.js +124 -0
- package/dist/mcp/tools/classify-signals.js.map +1 -0
- package/dist/mcp/tools/compute-risk-score.d.ts +97 -0
- package/dist/mcp/tools/compute-risk-score.d.ts.map +1 -0
- package/dist/mcp/tools/compute-risk-score.js +171 -0
- package/dist/mcp/tools/compute-risk-score.js.map +1 -0
- package/dist/mcp/tools/generate-plan.d.ts +99 -0
- package/dist/mcp/tools/generate-plan.d.ts.map +1 -0
- package/dist/mcp/tools/generate-plan.js +200 -0
- package/dist/mcp/tools/generate-plan.js.map +1 -0
- package/dist/mcp/tools/generate-report-pack.d.ts +119 -0
- package/dist/mcp/tools/generate-report-pack.d.ts.map +1 -0
- package/dist/mcp/tools/generate-report-pack.js +304 -0
- package/dist/mcp/tools/generate-report-pack.js.map +1 -0
- package/dist/mcp/tools/run-skeptic-review.d.ts +33 -0
- package/dist/mcp/tools/run-skeptic-review.d.ts.map +1 -0
- package/dist/mcp/tools/run-skeptic-review.js +157 -0
- package/dist/mcp/tools/run-skeptic-review.js.map +1 -0
- package/dist/mcp/tools/scan-saas-repo.d.ts +103 -0
- package/dist/mcp/tools/scan-saas-repo.d.ts.map +1 -0
- package/dist/mcp/tools/scan-saas-repo.js +421 -0
- package/dist/mcp/tools/scan-saas-repo.js.map +1 -0
- package/dist/mcp/tools/scrape-competitor.d.ts +38 -0
- package/dist/mcp/tools/scrape-competitor.d.ts.map +1 -0
- package/dist/mcp/tools/scrape-competitor.js +124 -0
- package/dist/mcp/tools/scrape-competitor.js.map +1 -0
- package/dist/mcp/tools/search-tools.d.ts +37 -0
- package/dist/mcp/tools/search-tools.d.ts.map +1 -0
- package/dist/mcp/tools/search-tools.js +109 -0
- package/dist/mcp/tools/search-tools.js.map +1 -0
- package/dist/packs/business-viability.d.ts +30 -0
- package/dist/packs/business-viability.d.ts.map +1 -0
- package/dist/packs/business-viability.js +37 -0
- package/dist/packs/business-viability.js.map +1 -0
- package/dist/packs/competitor-intel.d.ts +34 -0
- package/dist/packs/competitor-intel.d.ts.map +1 -0
- package/dist/packs/competitor-intel.js +72 -0
- package/dist/packs/competitor-intel.js.map +1 -0
- package/dist/packs/financial-audit.d.ts +40 -0
- package/dist/packs/financial-audit.d.ts.map +1 -0
- package/dist/packs/financial-audit.js +74 -0
- package/dist/packs/financial-audit.js.map +1 -0
- package/dist/packs/pitch-deck.d.ts +38 -0
- package/dist/packs/pitch-deck.d.ts.map +1 -0
- package/dist/packs/pitch-deck.js +80 -0
- package/dist/packs/pitch-deck.js.map +1 -0
- package/dist/packs/smm-gtm.d.ts +38 -0
- package/dist/packs/smm-gtm.d.ts.map +1 -0
- package/dist/packs/smm-gtm.js +83 -0
- package/dist/packs/smm-gtm.js.map +1 -0
- package/dist/packs/tech-audit.d.ts +34 -0
- package/dist/packs/tech-audit.d.ts.map +1 -0
- package/dist/packs/tech-audit.js +43 -0
- package/dist/packs/tech-audit.js.map +1 -0
- package/dist/project-templates/build-proof.d.ts +24 -0
- package/dist/project-templates/build-proof.d.ts.map +1 -0
- package/dist/project-templates/build-proof.js +108 -0
- package/dist/project-templates/build-proof.js.map +1 -0
- package/dist/project-templates/quickstart-renderer.d.ts +16 -0
- package/dist/project-templates/quickstart-renderer.d.ts.map +1 -0
- package/dist/project-templates/quickstart-renderer.js +57 -0
- package/dist/project-templates/quickstart-renderer.js.map +1 -0
- package/dist/project-templates/registry.d.ts +68 -0
- package/dist/project-templates/registry.d.ts.map +1 -0
- package/dist/project-templates/registry.js +328 -0
- package/dist/project-templates/registry.js.map +1 -0
- package/dist/project-templates/templates.d.ts +3 -0
- package/dist/project-templates/templates.d.ts.map +1 -0
- package/dist/project-templates/templates.js +188 -0
- package/dist/project-templates/templates.js.map +1 -0
- package/dist/prompts/biz-viability.d.ts +10 -0
- package/dist/prompts/biz-viability.d.ts.map +1 -0
- package/dist/prompts/biz-viability.js +35 -0
- package/dist/prompts/biz-viability.js.map +1 -0
- package/dist/prompts/catalog.d.ts +16 -0
- package/dist/prompts/catalog.d.ts.map +1 -0
- package/dist/prompts/catalog.js +17 -0
- package/dist/prompts/catalog.js.map +1 -0
- package/dist/prompts/competitor-intel.d.ts +10 -0
- package/dist/prompts/competitor-intel.d.ts.map +1 -0
- package/dist/prompts/competitor-intel.js +37 -0
- package/dist/prompts/competitor-intel.js.map +1 -0
- package/dist/prompts/finance-audit.d.ts +10 -0
- package/dist/prompts/finance-audit.d.ts.map +1 -0
- package/dist/prompts/finance-audit.js +35 -0
- package/dist/prompts/finance-audit.js.map +1 -0
- package/dist/prompts/fix-sprint-plan.d.ts +10 -0
- package/dist/prompts/fix-sprint-plan.d.ts.map +1 -0
- package/dist/prompts/fix-sprint-plan.js +45 -0
- package/dist/prompts/fix-sprint-plan.js.map +1 -0
- package/dist/prompts/gtm-smm.d.ts +10 -0
- package/dist/prompts/gtm-smm.d.ts.map +1 -0
- package/dist/prompts/gtm-smm.js +35 -0
- package/dist/prompts/gtm-smm.js.map +1 -0
- package/dist/prompts/orchestrator-dispatch.d.ts +40 -0
- package/dist/prompts/orchestrator-dispatch.d.ts.map +1 -0
- package/dist/prompts/orchestrator-dispatch.js +92 -0
- package/dist/prompts/orchestrator-dispatch.js.map +1 -0
- package/dist/prompts/pitch-deck.d.ts +10 -0
- package/dist/prompts/pitch-deck.d.ts.map +1 -0
- package/dist/prompts/pitch-deck.js +36 -0
- package/dist/prompts/pitch-deck.js.map +1 -0
- package/dist/prompts/prompt-template.d.ts +16 -0
- package/dist/prompts/prompt-template.d.ts.map +1 -0
- package/dist/prompts/prompt-template.js +22 -0
- package/dist/prompts/prompt-template.js.map +1 -0
- package/dist/prompts/repo-audit-deep.d.ts +10 -0
- package/dist/prompts/repo-audit-deep.d.ts.map +1 -0
- package/dist/prompts/repo-audit-deep.js +39 -0
- package/dist/prompts/repo-audit-deep.js.map +1 -0
- package/dist/prompts/repo-scan-quick.d.ts +35 -0
- package/dist/prompts/repo-scan-quick.d.ts.map +1 -0
- package/dist/prompts/repo-scan-quick.js +69 -0
- package/dist/prompts/repo-scan-quick.js.map +1 -0
- package/dist/prompts/skeptic-review.d.ts +10 -0
- package/dist/prompts/skeptic-review.d.ts.map +1 -0
- package/dist/prompts/skeptic-review.js +40 -0
- package/dist/prompts/skeptic-review.js.map +1 -0
- package/dist/schemas/agent-step-sequence.d.ts +41 -0
- package/dist/schemas/agent-step-sequence.d.ts.map +1 -0
- package/dist/schemas/agent-step-sequence.js +25 -0
- package/dist/schemas/agent-step-sequence.js.map +1 -0
- package/dist/schemas/artifact-envelope.v1.d.ts +69 -0
- package/dist/schemas/artifact-envelope.v1.d.ts.map +1 -0
- package/dist/schemas/artifact-envelope.v1.js +24 -0
- package/dist/schemas/artifact-envelope.v1.js.map +1 -0
- package/dist/schemas/business-viability.v1.d.ts +223 -0
- package/dist/schemas/business-viability.v1.d.ts.map +1 -0
- package/dist/schemas/business-viability.v1.js +47 -0
- package/dist/schemas/business-viability.v1.js.map +1 -0
- package/dist/schemas/common.d.ts +9 -0
- package/dist/schemas/common.d.ts.map +1 -0
- package/dist/schemas/common.js +8 -0
- package/dist/schemas/common.js.map +1 -0
- package/dist/schemas/competitor-intel.v1.d.ts +239 -0
- package/dist/schemas/competitor-intel.v1.d.ts.map +1 -0
- package/dist/schemas/competitor-intel.v1.js +59 -0
- package/dist/schemas/competitor-intel.v1.js.map +1 -0
- package/dist/schemas/config.d.ts +133 -0
- package/dist/schemas/config.d.ts.map +1 -0
- package/dist/schemas/config.js +142 -0
- package/dist/schemas/config.js.map +1 -0
- package/dist/schemas/financial-audit.v1.d.ts +139 -0
- package/dist/schemas/financial-audit.v1.d.ts.map +1 -0
- package/dist/schemas/financial-audit.v1.js +50 -0
- package/dist/schemas/financial-audit.v1.js.map +1 -0
- package/dist/schemas/fix-result.v1.d.ts +104 -0
- package/dist/schemas/fix-result.v1.d.ts.map +1 -0
- package/dist/schemas/fix-result.v1.js +41 -0
- package/dist/schemas/fix-result.v1.js.map +1 -0
- package/dist/schemas/founder-profile.d.ts +76 -0
- package/dist/schemas/founder-profile.d.ts.map +1 -0
- package/dist/schemas/founder-profile.js +54 -0
- package/dist/schemas/founder-profile.js.map +1 -0
- package/dist/schemas/investor-readiness.v1.d.ts +20 -0
- package/dist/schemas/investor-readiness.v1.d.ts.map +1 -0
- package/dist/schemas/investor-readiness.v1.js +15 -0
- package/dist/schemas/investor-readiness.v1.js.map +1 -0
- package/dist/schemas/mcp-server-entry.d.ts +37 -0
- package/dist/schemas/mcp-server-entry.d.ts.map +1 -0
- package/dist/schemas/mcp-server-entry.js +23 -0
- package/dist/schemas/mcp-server-entry.js.map +1 -0
- package/dist/schemas/pitch-deck.v1.d.ts +141 -0
- package/dist/schemas/pitch-deck.v1.d.ts.map +1 -0
- package/dist/schemas/pitch-deck.v1.js +57 -0
- package/dist/schemas/pitch-deck.v1.js.map +1 -0
- package/dist/schemas/plan.v1.d.ts +97 -0
- package/dist/schemas/plan.v1.d.ts.map +1 -0
- package/dist/schemas/plan.v1.js +41 -0
- package/dist/schemas/plan.v1.js.map +1 -0
- package/dist/schemas/project-template.d.ts +101 -0
- package/dist/schemas/project-template.d.ts.map +1 -0
- package/dist/schemas/project-template.js +59 -0
- package/dist/schemas/project-template.js.map +1 -0
- package/dist/schemas/research-result.v1.d.ts +45 -0
- package/dist/schemas/research-result.v1.d.ts.map +1 -0
- package/dist/schemas/research-result.v1.js +20 -0
- package/dist/schemas/research-result.v1.js.map +1 -0
- package/dist/schemas/roadmap.v1.d.ts +49 -0
- package/dist/schemas/roadmap.v1.d.ts.map +1 -0
- package/dist/schemas/roadmap.v1.js +22 -0
- package/dist/schemas/roadmap.v1.js.map +1 -0
- package/dist/schemas/scan-result.v1.d.ts +87 -0
- package/dist/schemas/scan-result.v1.d.ts.map +1 -0
- package/dist/schemas/scan-result.v1.js +22 -0
- package/dist/schemas/scan-result.v1.js.map +1 -0
- package/dist/schemas/session.d.ts +165 -0
- package/dist/schemas/session.d.ts.map +1 -0
- package/dist/schemas/session.js +70 -0
- package/dist/schemas/session.js.map +1 -0
- package/dist/schemas/smm-gtm.v1.d.ts +175 -0
- package/dist/schemas/smm-gtm.v1.d.ts.map +1 -0
- package/dist/schemas/smm-gtm.v1.js +60 -0
- package/dist/schemas/smm-gtm.v1.js.map +1 -0
- package/dist/schemas/tech-audit.v1.d.ts +254 -0
- package/dist/schemas/tech-audit.v1.d.ts.map +1 -0
- package/dist/schemas/tech-audit.v1.js +61 -0
- package/dist/schemas/tech-audit.v1.js.map +1 -0
- package/dist/session/agent-session.d.ts +20 -0
- package/dist/session/agent-session.d.ts.map +1 -0
- package/dist/session/agent-session.js +53 -0
- package/dist/session/agent-session.js.map +1 -0
- package/dist/session/compaction/memory-pointers.d.ts +17 -0
- package/dist/session/compaction/memory-pointers.d.ts.map +1 -0
- package/dist/session/compaction/memory-pointers.js +46 -0
- package/dist/session/compaction/memory-pointers.js.map +1 -0
- package/dist/session/compaction/selective-retention.d.ts +19 -0
- package/dist/session/compaction/selective-retention.d.ts.map +1 -0
- package/dist/session/compaction/selective-retention.js +36 -0
- package/dist/session/compaction/selective-retention.js.map +1 -0
- package/dist/session/compaction/trajectory-summarizer.d.ts +22 -0
- package/dist/session/compaction/trajectory-summarizer.d.ts.map +1 -0
- package/dist/session/compaction/trajectory-summarizer.js +34 -0
- package/dist/session/compaction/trajectory-summarizer.js.map +1 -0
- package/dist/session/sdk-hooks.d.ts +31 -0
- package/dist/session/sdk-hooks.d.ts.map +1 -0
- package/dist/session/sdk-hooks.js +56 -0
- package/dist/session/sdk-hooks.js.map +1 -0
- package/dist/session/session-manager.d.ts +42 -0
- package/dist/session/session-manager.d.ts.map +1 -0
- package/dist/session/session-manager.js +236 -0
- package/dist/session/session-manager.js.map +1 -0
- package/dist/session/token-tracker.d.ts +31 -0
- package/dist/session/token-tracker.d.ts.map +1 -0
- package/dist/session/token-tracker.js +66 -0
- package/dist/session/token-tracker.js.map +1 -0
- package/package.json +80 -0
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* compute_risk_score MCP tool — blended scoring from deterministic rules + agent analysis.
|
|
3
|
+
* @module mcp/tools/compute-risk-score
|
|
4
|
+
*/
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
import { SignalSchema } from '../../schemas/common.js';
|
|
7
|
+
// --- Input / Output schemas ---
|
|
8
|
+
export const ComputeRiskScoreInputSchema = z.object({
|
|
9
|
+
domain: z.enum(['tech', 'security', 'code-health', 'business', 'finance']),
|
|
10
|
+
signals: z.array(SignalSchema),
|
|
11
|
+
rulesBaseline: z.object({
|
|
12
|
+
score: z.enum(['green', 'yellow', 'red']),
|
|
13
|
+
rulesFired: z.array(z.string()),
|
|
14
|
+
}),
|
|
15
|
+
});
|
|
16
|
+
export const ComputeRiskScoreOutputSchema = z.object({
|
|
17
|
+
domain: z.string(),
|
|
18
|
+
finalRisk: z.enum(['green', 'yellow', 'red']),
|
|
19
|
+
confidence: z.number().min(0).max(1),
|
|
20
|
+
baselineSource: z.literal('rules'),
|
|
21
|
+
agentAdjustmentSource: z.literal('agent'),
|
|
22
|
+
citedSignals: z.array(z.string()),
|
|
23
|
+
summary: z.string(),
|
|
24
|
+
});
|
|
25
|
+
export const BASELINE_RULES = [
|
|
26
|
+
{
|
|
27
|
+
id: 'no-auth-middleware',
|
|
28
|
+
domain: 'security',
|
|
29
|
+
rating: 'red',
|
|
30
|
+
condition: 'No authentication middleware detected',
|
|
31
|
+
check: (signals) => !signals.some((s) => s.category === 'auth' && s.agentConfidence >= 0.5),
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
id: 'no-https-enforcement',
|
|
35
|
+
domain: 'security',
|
|
36
|
+
rating: 'red',
|
|
37
|
+
condition: 'No HTTPS enforcement',
|
|
38
|
+
check: (signals) => !signals.some((s) => s.finding.toLowerCase().includes('https') ||
|
|
39
|
+
s.finding.toLowerCase().includes('tls') ||
|
|
40
|
+
s.finding.toLowerCase().includes('ssl')),
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
id: 'known-vulnerable-dep',
|
|
44
|
+
domain: 'security',
|
|
45
|
+
rating: 'red',
|
|
46
|
+
condition: 'Known vulnerable dependency (critical CVE)',
|
|
47
|
+
check: (signals) => signals.some((s) => s.category === 'security' &&
|
|
48
|
+
s.severity === 'critical' &&
|
|
49
|
+
(s.finding.toLowerCase().includes('cve') || s.finding.toLowerCase().includes('vulnerability'))),
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
id: 'no-billing-integration',
|
|
53
|
+
domain: 'business',
|
|
54
|
+
rating: 'yellow',
|
|
55
|
+
condition: 'No billing/payment integration',
|
|
56
|
+
check: (signals) => !signals.some((s) => s.category === 'billing' && s.agentConfidence >= 0.5),
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
id: 'no-multi-tenancy',
|
|
60
|
+
domain: 'tech',
|
|
61
|
+
rating: 'yellow',
|
|
62
|
+
condition: 'No multi-tenancy pattern',
|
|
63
|
+
check: (signals) => !signals.some((s) => s.category === 'tenancy' && s.agentConfidence >= 0.5),
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
id: 'no-error-monitoring',
|
|
67
|
+
domain: 'code-health',
|
|
68
|
+
rating: 'yellow',
|
|
69
|
+
condition: 'No error monitoring/logging',
|
|
70
|
+
check: (signals) => !signals.some((s) => s.finding.toLowerCase().includes('logging') ||
|
|
71
|
+
s.finding.toLowerCase().includes('sentry') ||
|
|
72
|
+
s.finding.toLowerCase().includes('datadog') ||
|
|
73
|
+
s.finding.toLowerCase().includes('winston') ||
|
|
74
|
+
s.finding.toLowerCase().includes('pino')),
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
id: 'no-ci-cd',
|
|
78
|
+
domain: 'code-health',
|
|
79
|
+
rating: 'yellow',
|
|
80
|
+
condition: 'No CI/CD pipeline',
|
|
81
|
+
check: (signals) => !signals.some((s) => s.finding.toLowerCase().includes('ci') ||
|
|
82
|
+
s.finding.toLowerCase().includes('github/workflows') ||
|
|
83
|
+
s.finding.toLowerCase().includes('jenkins') ||
|
|
84
|
+
s.finding.toLowerCase().includes('gitlab-ci')),
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
id: 'no-test-files',
|
|
88
|
+
domain: 'code-health',
|
|
89
|
+
rating: 'yellow',
|
|
90
|
+
condition: 'No test files detected',
|
|
91
|
+
check: (signals) => !signals.some((s) => s.category === 'code-health' &&
|
|
92
|
+
(s.finding.toLowerCase().includes('test') || s.finding.toLowerCase().includes('spec'))),
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
id: 'outdated-major-dep',
|
|
96
|
+
domain: 'code-health',
|
|
97
|
+
rating: 'yellow',
|
|
98
|
+
condition: 'Outdated major dependency (>2 major versions behind)',
|
|
99
|
+
check: (signals) => signals.some((s) => s.finding.toLowerCase().includes('outdated') ||
|
|
100
|
+
s.finding.toLowerCase().includes('deprecated')),
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
id: 'hardcoded-secrets',
|
|
104
|
+
domain: 'security',
|
|
105
|
+
rating: 'red',
|
|
106
|
+
condition: 'Hardcoded secrets in source',
|
|
107
|
+
check: (signals) => signals.some((s) => s.category === 'security' &&
|
|
108
|
+
s.severity === 'critical' &&
|
|
109
|
+
s.finding.toLowerCase().includes('hardcoded')),
|
|
110
|
+
},
|
|
111
|
+
];
|
|
112
|
+
/**
|
|
113
|
+
* Apply baseline rules to determine the deterministic risk score for a domain.
|
|
114
|
+
*/
|
|
115
|
+
export function applyBaselineRules(domain, signals) {
|
|
116
|
+
const domainRules = BASELINE_RULES.filter((r) => r.domain === domain);
|
|
117
|
+
const fired = [];
|
|
118
|
+
let score = 'green';
|
|
119
|
+
for (const rule of domainRules) {
|
|
120
|
+
if (rule.check(signals)) {
|
|
121
|
+
fired.push(rule.id);
|
|
122
|
+
if (rule.rating === 'red')
|
|
123
|
+
score = 'red';
|
|
124
|
+
else if (rule.rating === 'yellow' && score !== 'red')
|
|
125
|
+
score = 'yellow';
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
return { score, rulesFired: fired };
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Compute the blended risk score from rules baseline + signal analysis.
|
|
132
|
+
* Agent analysis can elevate but NOT lower a rule-anchored baseline rating.
|
|
133
|
+
*/
|
|
134
|
+
export function computeRiskScore(input) {
|
|
135
|
+
const { domain, signals, rulesBaseline } = input;
|
|
136
|
+
// Agent-derived severity from signals
|
|
137
|
+
let agentRisk = 'green';
|
|
138
|
+
const hasCritical = signals.some((s) => s.severity === 'critical' || s.severity === 'high');
|
|
139
|
+
const hasMedium = signals.some((s) => s.severity === 'medium');
|
|
140
|
+
if (hasCritical)
|
|
141
|
+
agentRisk = 'red';
|
|
142
|
+
else if (hasMedium)
|
|
143
|
+
agentRisk = 'yellow';
|
|
144
|
+
// Blended: agent can elevate but not lower baseline
|
|
145
|
+
const riskOrder = { green: 0, yellow: 1, red: 2 };
|
|
146
|
+
const finalRisk = (riskOrder[agentRisk] ?? 0) > (riskOrder[rulesBaseline.score] ?? 0)
|
|
147
|
+
? agentRisk
|
|
148
|
+
: rulesBaseline.score;
|
|
149
|
+
// Confidence: higher when more signals confirm the rating
|
|
150
|
+
const relevantSignals = signals.filter((s) => s.agentConfidence >= 0.5);
|
|
151
|
+
const avgConfidence = relevantSignals.length > 0
|
|
152
|
+
? relevantSignals.reduce((sum, s) => sum + s.agentConfidence, 0) / relevantSignals.length
|
|
153
|
+
: 0.5;
|
|
154
|
+
const citedSignals = signals.map((s) => s.id);
|
|
155
|
+
const summaryParts = [];
|
|
156
|
+
if (rulesBaseline.rulesFired.length > 0) {
|
|
157
|
+
summaryParts.push(`Baseline rules fired: ${rulesBaseline.rulesFired.join(', ')}`);
|
|
158
|
+
}
|
|
159
|
+
summaryParts.push(`${signals.length} signal(s) analyzed`);
|
|
160
|
+
summaryParts.push(`Final risk: ${finalRisk}`);
|
|
161
|
+
return {
|
|
162
|
+
domain,
|
|
163
|
+
finalRisk,
|
|
164
|
+
confidence: Math.round(avgConfidence * 100) / 100,
|
|
165
|
+
baselineSource: 'rules',
|
|
166
|
+
agentAdjustmentSource: 'agent',
|
|
167
|
+
citedSignals,
|
|
168
|
+
summary: summaryParts.join('. ') + '.',
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=compute-risk-score.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compute-risk-score.js","sourceRoot":"","sources":["../../../src/mcp/tools/compute-risk-score.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* generate_plan MCP tool — remediation step decomposition.
|
|
3
|
+
* @module mcp/tools/generate-plan
|
|
4
|
+
*/
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
import type { IAgentInvoker } from '../../contracts/agent-invoker.js';
|
|
7
|
+
export declare const GeneratePlanInputSchema: z.ZodObject<{
|
|
8
|
+
request: z.ZodString;
|
|
9
|
+
repo: z.ZodString;
|
|
10
|
+
ref: z.ZodDefault<z.ZodString>;
|
|
11
|
+
scanResult: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
12
|
+
detail: z.ZodDefault<z.ZodEnum<{
|
|
13
|
+
concise: "concise";
|
|
14
|
+
balanced: "balanced";
|
|
15
|
+
exhaustive: "exhaustive";
|
|
16
|
+
}>>;
|
|
17
|
+
}, z.core.$strip>;
|
|
18
|
+
export type GeneratePlanInput = z.infer<typeof GeneratePlanInputSchema>;
|
|
19
|
+
export declare const GeneratePlanOutputSchema: z.ZodObject<{
|
|
20
|
+
id: z.ZodString;
|
|
21
|
+
request: z.ZodString;
|
|
22
|
+
repo: z.ZodString;
|
|
23
|
+
generatedAt: z.ZodString;
|
|
24
|
+
steps: z.ZodArray<z.ZodObject<{
|
|
25
|
+
order: z.ZodNumber;
|
|
26
|
+
action: z.ZodString;
|
|
27
|
+
filePath: z.ZodString;
|
|
28
|
+
lineRange: z.ZodNullable<z.ZodObject<{
|
|
29
|
+
start: z.ZodNumber;
|
|
30
|
+
end: z.ZodNumber;
|
|
31
|
+
}, z.core.$strip>>;
|
|
32
|
+
codeLocation: z.ZodString;
|
|
33
|
+
rationale: z.ZodString;
|
|
34
|
+
doNothingTradeoff: z.ZodString;
|
|
35
|
+
riskTier: z.ZodEnum<{
|
|
36
|
+
safe: "safe";
|
|
37
|
+
moderate: "moderate";
|
|
38
|
+
advanced: "advanced";
|
|
39
|
+
}>;
|
|
40
|
+
confidence: z.ZodNumber;
|
|
41
|
+
}, z.core.$strip>>;
|
|
42
|
+
riskItems: z.ZodArray<z.ZodObject<{
|
|
43
|
+
description: z.ZodString;
|
|
44
|
+
confidence: z.ZodNumber;
|
|
45
|
+
suggestedValidation: z.ZodString;
|
|
46
|
+
}, z.core.$strip>>;
|
|
47
|
+
affectedFiles: z.ZodArray<z.ZodString>;
|
|
48
|
+
estimatedComplexity: z.ZodEnum<{
|
|
49
|
+
low: "low";
|
|
50
|
+
medium: "medium";
|
|
51
|
+
high: "high";
|
|
52
|
+
}>;
|
|
53
|
+
status: z.ZodEnum<{
|
|
54
|
+
draft: "draft";
|
|
55
|
+
approved: "approved";
|
|
56
|
+
executing: "executing";
|
|
57
|
+
completed: "completed";
|
|
58
|
+
aborted: "aborted";
|
|
59
|
+
}>;
|
|
60
|
+
promptVersions: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
61
|
+
nextActions: z.ZodArray<z.ZodObject<{
|
|
62
|
+
rank: z.ZodNumber;
|
|
63
|
+
action: z.ZodString;
|
|
64
|
+
impact: z.ZodEnum<{
|
|
65
|
+
low: "low";
|
|
66
|
+
medium: "medium";
|
|
67
|
+
high: "high";
|
|
68
|
+
}>;
|
|
69
|
+
file: z.ZodNullable<z.ZodString>;
|
|
70
|
+
lineRef: z.ZodNullable<z.ZodString>;
|
|
71
|
+
doNothingTradeoff: z.ZodString;
|
|
72
|
+
}, z.core.$strip>>;
|
|
73
|
+
sevenDayTimeline: z.ZodArray<z.ZodObject<{
|
|
74
|
+
day: z.ZodNumber;
|
|
75
|
+
action: z.ZodString;
|
|
76
|
+
priority: z.ZodEnum<{
|
|
77
|
+
medium: "medium";
|
|
78
|
+
high: "high";
|
|
79
|
+
critical: "critical";
|
|
80
|
+
}>;
|
|
81
|
+
}, z.core.$strip>>;
|
|
82
|
+
assumptions: z.ZodArray<z.ZodObject<{
|
|
83
|
+
statement: z.ZodString;
|
|
84
|
+
confidence: z.ZodNumber;
|
|
85
|
+
source: z.ZodEnum<{
|
|
86
|
+
rule: "rule";
|
|
87
|
+
agent: "agent";
|
|
88
|
+
profile: "profile";
|
|
89
|
+
inferred: "inferred";
|
|
90
|
+
}>;
|
|
91
|
+
}, z.core.$strip>>;
|
|
92
|
+
}, z.core.$strip>;
|
|
93
|
+
export type GeneratePlanOutput = z.infer<typeof GeneratePlanOutputSchema>;
|
|
94
|
+
/**
|
|
95
|
+
* Execute the generate_plan tool.
|
|
96
|
+
* Decomposes a change request into ordered remediation steps with risk tiers.
|
|
97
|
+
*/
|
|
98
|
+
export declare function executeGeneratePlan(args: GeneratePlanInput, invoker: IAgentInvoker, log: (level: string, msg: string) => Promise<void>): Promise<GeneratePlanOutput>;
|
|
99
|
+
//# sourceMappingURL=generate-plan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-plan.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/generate-plan.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAOtE,eAAO,MAAM,uBAAuB;;;;;;;;;;iBAMlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAcnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,aAAa,EACtB,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GACjD,OAAO,CAAC,kBAAkB,CAAC,CAmE7B"}
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* generate_plan MCP tool — remediation step decomposition.
|
|
3
|
+
* @module mcp/tools/generate-plan
|
|
4
|
+
*/
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
import { NextActionSchema, TimelineItemSchema, AssumptionSchema } from '../../schemas/common.js';
|
|
7
|
+
import { PlanStepSchema, RiskItemSchema } from '../../schemas/plan.v1.js';
|
|
8
|
+
// --- Input / Output schemas ---
|
|
9
|
+
export const GeneratePlanInputSchema = z.object({
|
|
10
|
+
request: z.string(),
|
|
11
|
+
repo: z.string(),
|
|
12
|
+
ref: z.string().default('main'),
|
|
13
|
+
scanResult: z.record(z.string(), z.unknown()).nullable().default(null),
|
|
14
|
+
detail: z.enum(['concise', 'balanced', 'exhaustive']).default('balanced'),
|
|
15
|
+
});
|
|
16
|
+
export const GeneratePlanOutputSchema = z.object({
|
|
17
|
+
id: z.string(),
|
|
18
|
+
request: z.string(),
|
|
19
|
+
repo: z.string(),
|
|
20
|
+
generatedAt: z.string(),
|
|
21
|
+
steps: z.array(PlanStepSchema),
|
|
22
|
+
riskItems: z.array(RiskItemSchema),
|
|
23
|
+
affectedFiles: z.array(z.string()),
|
|
24
|
+
estimatedComplexity: z.enum(['low', 'medium', 'high']),
|
|
25
|
+
status: z.enum(['draft', 'approved', 'executing', 'completed', 'aborted']),
|
|
26
|
+
promptVersions: z.record(z.string(), z.string()),
|
|
27
|
+
nextActions: z.array(NextActionSchema),
|
|
28
|
+
sevenDayTimeline: z.array(TimelineItemSchema),
|
|
29
|
+
assumptions: z.array(AssumptionSchema),
|
|
30
|
+
});
|
|
31
|
+
/**
|
|
32
|
+
* Execute the generate_plan tool.
|
|
33
|
+
* Decomposes a change request into ordered remediation steps with risk tiers.
|
|
34
|
+
*/
|
|
35
|
+
export async function executeGeneratePlan(args, invoker, log) {
|
|
36
|
+
await log('info', `Generating plan for: ${args.request.slice(0, 80)}`);
|
|
37
|
+
// Parse repo owner/name
|
|
38
|
+
const repoParts = args.repo.split('/');
|
|
39
|
+
const owner = repoParts.length > 1 ? (repoParts[0] ?? '') : '';
|
|
40
|
+
const name = repoParts.length > 1 ? (repoParts[1] ?? args.repo) : args.repo;
|
|
41
|
+
const context = {
|
|
42
|
+
repo: { owner, name, ref: args.ref },
|
|
43
|
+
scanResult: args.scanResult,
|
|
44
|
+
founderProfile: null,
|
|
45
|
+
toolProfile: {
|
|
46
|
+
name: 'plan',
|
|
47
|
+
allowedTools: ['grep', 'glob', 'view'],
|
|
48
|
+
requireApproval: [],
|
|
49
|
+
description: 'Plan generation (read-only)',
|
|
50
|
+
},
|
|
51
|
+
sessionId: '',
|
|
52
|
+
detail: args.detail,
|
|
53
|
+
tokenBudget: 1_000_000,
|
|
54
|
+
};
|
|
55
|
+
// Invoke the agent for plan generation
|
|
56
|
+
const agentResult = await invoker.invoke('plan', context, {
|
|
57
|
+
request: args.request,
|
|
58
|
+
});
|
|
59
|
+
await log('info', `Agent returned ${agentResult.findings.length} findings`);
|
|
60
|
+
// Build plan steps from agent findings
|
|
61
|
+
const steps = buildPlanSteps(agentResult, args.request);
|
|
62
|
+
// Identify affected files from steps
|
|
63
|
+
const affectedFiles = [...new Set(steps.map((s) => s.filePath))];
|
|
64
|
+
// Assess risk items
|
|
65
|
+
const riskItems = buildRiskItems(agentResult);
|
|
66
|
+
// Determine complexity
|
|
67
|
+
const estimatedComplexity = assessComplexity(steps, riskItems);
|
|
68
|
+
// Generate next actions
|
|
69
|
+
const nextActions = buildPlanNextActions(steps);
|
|
70
|
+
// Generate timeline
|
|
71
|
+
const sevenDayTimeline = buildPlanTimeline(steps, estimatedComplexity);
|
|
72
|
+
const planId = `plan-${Date.now().toString(36)}`;
|
|
73
|
+
return {
|
|
74
|
+
id: planId,
|
|
75
|
+
request: args.request,
|
|
76
|
+
repo: args.repo,
|
|
77
|
+
generatedAt: new Date().toISOString(),
|
|
78
|
+
steps,
|
|
79
|
+
riskItems,
|
|
80
|
+
affectedFiles,
|
|
81
|
+
estimatedComplexity,
|
|
82
|
+
status: 'draft',
|
|
83
|
+
promptVersions: {
|
|
84
|
+
'fix.sprint.plan': '1.0.0',
|
|
85
|
+
},
|
|
86
|
+
nextActions,
|
|
87
|
+
sevenDayTimeline,
|
|
88
|
+
assumptions: agentResult.assumptions,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
// --- Helper functions ---
|
|
92
|
+
function buildPlanSteps(result, request) {
|
|
93
|
+
if (result.findings.length === 0) {
|
|
94
|
+
// No findings — create a single investigation step
|
|
95
|
+
return [{
|
|
96
|
+
order: 1,
|
|
97
|
+
action: `Investigate: ${request}`,
|
|
98
|
+
filePath: '.',
|
|
99
|
+
lineRange: null,
|
|
100
|
+
codeLocation: 'project root',
|
|
101
|
+
rationale: 'No specific signals detected — manual investigation recommended',
|
|
102
|
+
doNothingTradeoff: 'Change request remains unaddressed',
|
|
103
|
+
riskTier: 'safe',
|
|
104
|
+
confidence: 0.5,
|
|
105
|
+
}];
|
|
106
|
+
}
|
|
107
|
+
return result.findings
|
|
108
|
+
.sort((a, b) => severityRank(b.severity) - severityRank(a.severity))
|
|
109
|
+
.slice(0, 20) // Max 20 steps per contract
|
|
110
|
+
.map((signal, i) => {
|
|
111
|
+
const filePath = signal.evidence[0]?.filePath ?? '.';
|
|
112
|
+
const lineRange = signal.evidence[0]?.lineRange ?? null;
|
|
113
|
+
return {
|
|
114
|
+
order: i + 1,
|
|
115
|
+
action: signal.finding,
|
|
116
|
+
filePath,
|
|
117
|
+
lineRange,
|
|
118
|
+
codeLocation: `${filePath}${lineRange ? `:${lineRange.start}-${lineRange.end}` : ''}`,
|
|
119
|
+
rationale: `${signal.severity} severity ${signal.category} finding`,
|
|
120
|
+
doNothingTradeoff: signal.severity === 'critical'
|
|
121
|
+
? 'Critical risk remains — potential security or stability issue'
|
|
122
|
+
: signal.severity === 'high'
|
|
123
|
+
? 'High-priority issue persists — may compound over time'
|
|
124
|
+
: 'Minor improvement deferred — low impact',
|
|
125
|
+
riskTier: classifyRiskTier(signal),
|
|
126
|
+
confidence: signal.agentConfidence,
|
|
127
|
+
};
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
function classifyRiskTier(signal) {
|
|
131
|
+
if (signal.severity === 'info' || signal.severity === 'low')
|
|
132
|
+
return 'safe';
|
|
133
|
+
if (signal.severity === 'medium')
|
|
134
|
+
return 'moderate';
|
|
135
|
+
return 'advanced';
|
|
136
|
+
}
|
|
137
|
+
function buildRiskItems(result) {
|
|
138
|
+
const highSeverity = result.findings.filter((s) => s.severity === 'critical' || s.severity === 'high');
|
|
139
|
+
return highSeverity.slice(0, 5).map((s) => ({
|
|
140
|
+
description: s.finding,
|
|
141
|
+
confidence: s.agentConfidence,
|
|
142
|
+
suggestedValidation: `Verify ${s.category} finding in ${s.evidence[0]?.filePath ?? 'affected files'}`,
|
|
143
|
+
}));
|
|
144
|
+
}
|
|
145
|
+
function assessComplexity(steps, risks) {
|
|
146
|
+
const advancedCount = steps.filter((s) => s.riskTier === 'advanced').length;
|
|
147
|
+
const highRiskCount = risks.length;
|
|
148
|
+
if (advancedCount > 3 || highRiskCount > 3 || steps.length > 10)
|
|
149
|
+
return 'high';
|
|
150
|
+
if (advancedCount > 0 || highRiskCount > 1 || steps.length > 5)
|
|
151
|
+
return 'medium';
|
|
152
|
+
return 'low';
|
|
153
|
+
}
|
|
154
|
+
function buildPlanNextActions(steps) {
|
|
155
|
+
return steps.slice(0, 3).map((step, i) => ({
|
|
156
|
+
rank: i + 1,
|
|
157
|
+
action: step.action,
|
|
158
|
+
impact: step.riskTier === 'advanced' ? 'high' : step.riskTier === 'moderate' ? 'medium' : 'low',
|
|
159
|
+
file: step.filePath,
|
|
160
|
+
lineRef: step.lineRange ? `L${step.lineRange.start}` : null,
|
|
161
|
+
doNothingTradeoff: step.doNothingTradeoff,
|
|
162
|
+
}));
|
|
163
|
+
}
|
|
164
|
+
function buildPlanTimeline(steps, complexity) {
|
|
165
|
+
const safeSteps = steps.filter((s) => s.riskTier === 'safe');
|
|
166
|
+
const moderateSteps = steps.filter((s) => s.riskTier === 'moderate');
|
|
167
|
+
const advancedSteps = steps.filter((s) => s.riskTier === 'advanced');
|
|
168
|
+
const timeline = [];
|
|
169
|
+
if (safeSteps.length > 0) {
|
|
170
|
+
timeline.push({
|
|
171
|
+
day: 1,
|
|
172
|
+
action: `Apply ${safeSteps.length} safe change(s)`,
|
|
173
|
+
priority: 'critical',
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
if (moderateSteps.length > 0) {
|
|
177
|
+
timeline.push({
|
|
178
|
+
day: complexity === 'low' ? 2 : 3,
|
|
179
|
+
action: `Review and apply ${moderateSteps.length} moderate change(s)`,
|
|
180
|
+
priority: 'high',
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
if (advancedSteps.length > 0) {
|
|
184
|
+
timeline.push({
|
|
185
|
+
day: 5,
|
|
186
|
+
action: `Plan and execute ${advancedSteps.length} advanced change(s)`,
|
|
187
|
+
priority: 'high',
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
timeline.push({
|
|
191
|
+
day: 7,
|
|
192
|
+
action: 'Validate all changes — re-scan repository',
|
|
193
|
+
priority: 'medium',
|
|
194
|
+
});
|
|
195
|
+
return timeline;
|
|
196
|
+
}
|
|
197
|
+
function severityRank(sev) {
|
|
198
|
+
return { info: 0, low: 1, medium: 2, high: 3, critical: 4 }[sev];
|
|
199
|
+
}
|
|
200
|
+
//# sourceMappingURL=generate-plan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-plan.js","sourceRoot":"","sources":["../../../src/mcp/tools/generate-plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* generate_report_pack MCP tool — orchestrate specialist agents to produce a report pack.
|
|
3
|
+
* @module mcp/tools/generate-report-pack
|
|
4
|
+
*/
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
import type { IAgentInvoker } from '../../contracts/agent-invoker.js';
|
|
7
|
+
export declare const GenerateReportPackInputSchema: z.ZodObject<{
|
|
8
|
+
packType: z.ZodEnum<{
|
|
9
|
+
"tech-audit": "tech-audit";
|
|
10
|
+
"business-viability": "business-viability";
|
|
11
|
+
"financial-audit": "financial-audit";
|
|
12
|
+
"pitch-deck": "pitch-deck";
|
|
13
|
+
"smm-gtm": "smm-gtm";
|
|
14
|
+
"competitor-intel": "competitor-intel";
|
|
15
|
+
}>;
|
|
16
|
+
repo: z.ZodString;
|
|
17
|
+
ref: z.ZodDefault<z.ZodString>;
|
|
18
|
+
detail: z.ZodDefault<z.ZodEnum<{
|
|
19
|
+
concise: "concise";
|
|
20
|
+
balanced: "balanced";
|
|
21
|
+
exhaustive: "exhaustive";
|
|
22
|
+
}>>;
|
|
23
|
+
investorReady: z.ZodDefault<z.ZodBoolean>;
|
|
24
|
+
maxCompetitors: z.ZodDefault<z.ZodNumber>;
|
|
25
|
+
scanResult: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
26
|
+
founderProfile: z.ZodDefault<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
27
|
+
}, z.core.$strip>;
|
|
28
|
+
export type GenerateReportPackInput = z.infer<typeof GenerateReportPackInputSchema>;
|
|
29
|
+
export declare const GenerateReportPackOutputSchema: z.ZodObject<{
|
|
30
|
+
packType: z.ZodEnum<{
|
|
31
|
+
"tech-audit": "tech-audit";
|
|
32
|
+
"business-viability": "business-viability";
|
|
33
|
+
"financial-audit": "financial-audit";
|
|
34
|
+
"pitch-deck": "pitch-deck";
|
|
35
|
+
"smm-gtm": "smm-gtm";
|
|
36
|
+
"competitor-intel": "competitor-intel";
|
|
37
|
+
}>;
|
|
38
|
+
schemaVersion: z.ZodString;
|
|
39
|
+
data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
40
|
+
nextActions: z.ZodArray<z.ZodObject<{
|
|
41
|
+
rank: z.ZodNumber;
|
|
42
|
+
action: z.ZodString;
|
|
43
|
+
impact: z.ZodEnum<{
|
|
44
|
+
low: "low";
|
|
45
|
+
medium: "medium";
|
|
46
|
+
high: "high";
|
|
47
|
+
}>;
|
|
48
|
+
file: z.ZodNullable<z.ZodString>;
|
|
49
|
+
lineRef: z.ZodNullable<z.ZodString>;
|
|
50
|
+
doNothingTradeoff: z.ZodString;
|
|
51
|
+
}, z.core.$strip>>;
|
|
52
|
+
sevenDayTimeline: z.ZodArray<z.ZodObject<{
|
|
53
|
+
day: z.ZodNumber;
|
|
54
|
+
action: z.ZodString;
|
|
55
|
+
priority: z.ZodEnum<{
|
|
56
|
+
medium: "medium";
|
|
57
|
+
high: "high";
|
|
58
|
+
critical: "critical";
|
|
59
|
+
}>;
|
|
60
|
+
}, z.core.$strip>>;
|
|
61
|
+
assumptions: z.ZodArray<z.ZodObject<{
|
|
62
|
+
statement: z.ZodString;
|
|
63
|
+
confidence: z.ZodNumber;
|
|
64
|
+
source: z.ZodEnum<{
|
|
65
|
+
rule: "rule";
|
|
66
|
+
agent: "agent";
|
|
67
|
+
profile: "profile";
|
|
68
|
+
inferred: "inferred";
|
|
69
|
+
}>;
|
|
70
|
+
}, z.core.$strip>>;
|
|
71
|
+
completeness: z.ZodEnum<{
|
|
72
|
+
complete: "complete";
|
|
73
|
+
partial: "partial";
|
|
74
|
+
"budget-limited": "budget-limited";
|
|
75
|
+
}>;
|
|
76
|
+
promptVersions: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
77
|
+
roadmap: z.ZodNullable<z.ZodObject<{
|
|
78
|
+
items: z.ZodArray<z.ZodObject<{
|
|
79
|
+
id: z.ZodString;
|
|
80
|
+
title: z.ZodString;
|
|
81
|
+
description: z.ZodString;
|
|
82
|
+
priority: z.ZodEnum<{
|
|
83
|
+
now: "now";
|
|
84
|
+
next: "next";
|
|
85
|
+
later: "later";
|
|
86
|
+
}>;
|
|
87
|
+
effort: z.ZodEnum<{
|
|
88
|
+
small: "small";
|
|
89
|
+
medium: "medium";
|
|
90
|
+
large: "large";
|
|
91
|
+
}>;
|
|
92
|
+
dependencies: z.ZodArray<z.ZodString>;
|
|
93
|
+
sourceSignalId: z.ZodNullable<z.ZodString>;
|
|
94
|
+
category: z.ZodString;
|
|
95
|
+
}, z.core.$strip>>;
|
|
96
|
+
generatedFrom: z.ZodString;
|
|
97
|
+
totalDeferredCount: z.ZodNumber;
|
|
98
|
+
}, z.core.$strip>>;
|
|
99
|
+
investorReadiness: z.ZodNullable<z.ZodObject<{
|
|
100
|
+
summary: z.ZodString;
|
|
101
|
+
vcCritique: z.ZodString;
|
|
102
|
+
objections: z.ZodArray<z.ZodObject<{
|
|
103
|
+
objection: z.ZodString;
|
|
104
|
+
founderResponse: z.ZodString;
|
|
105
|
+
}, z.core.$strip>>;
|
|
106
|
+
riskLevel: z.ZodEnum<{
|
|
107
|
+
low: "low";
|
|
108
|
+
medium: "medium";
|
|
109
|
+
high: "high";
|
|
110
|
+
}>;
|
|
111
|
+
}, z.core.$strip>>;
|
|
112
|
+
}, z.core.$strip>;
|
|
113
|
+
export type GenerateReportPackOutput = z.infer<typeof GenerateReportPackOutputSchema>;
|
|
114
|
+
/**
|
|
115
|
+
* Execute the generate_report_pack tool.
|
|
116
|
+
* Routes to specialist agents via IAgentInvoker, collects results, builds the pack.
|
|
117
|
+
*/
|
|
118
|
+
export declare function executeGenerateReportPack(args: GenerateReportPackInput, invoker: IAgentInvoker, log: (level: string, msg: string) => Promise<void>): Promise<GenerateReportPackOutput>;
|
|
119
|
+
//# sourceMappingURL=generate-report-pack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-report-pack.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/generate-report-pack.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAiBtE,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;iBASxC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAWzC,CAAC;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEtF;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,uBAAuB,EAC7B,OAAO,EAAE,aAAa,EACtB,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GACjD,OAAO,CAAC,wBAAwB,CAAC,CAmEnC"}
|