vibecheck-ai 2.0.2 → 5.0.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/bin/.generated +25 -0
- package/bin/_deprecations.js +463 -0
- package/bin/_router.js +46 -0
- package/bin/cli-hygiene.js +241 -0
- package/bin/dev/run-v2-torture.js +30 -0
- package/bin/registry.js +656 -0
- package/bin/runners/CLI_REFACTOR_SUMMARY.md +229 -0
- package/bin/runners/ENHANCEMENT_GUIDE.md +121 -0
- package/bin/runners/REPORT_AUDIT.md +64 -0
- package/bin/runners/cli-utils.js +1070 -0
- package/bin/runners/context/ai-task-decomposer.js +337 -0
- package/bin/runners/context/analyzer.js +513 -0
- package/bin/runners/context/api-contracts.js +427 -0
- package/bin/runners/context/context-diff.js +342 -0
- package/bin/runners/context/context-pruner.js +291 -0
- package/bin/runners/context/dependency-graph.js +414 -0
- package/bin/runners/context/generators/claude.js +107 -0
- package/bin/runners/context/generators/codex.js +108 -0
- package/bin/runners/context/generators/copilot.js +119 -0
- package/bin/runners/context/generators/cursor-enhanced.js +2525 -0
- package/bin/runners/context/generators/cursor.js +514 -0
- package/bin/runners/context/generators/mcp.js +169 -0
- package/bin/runners/context/generators/windsurf.js +180 -0
- package/bin/runners/context/git-context.js +304 -0
- package/bin/runners/context/index.js +1110 -0
- package/bin/runners/context/insights.js +173 -0
- package/bin/runners/context/mcp-server/generate-rules.js +337 -0
- package/bin/runners/context/mcp-server/index.js +1176 -0
- package/bin/runners/context/mcp-server/package.json +24 -0
- package/bin/runners/context/memory.js +200 -0
- package/bin/runners/context/monorepo.js +215 -0
- package/bin/runners/context/multi-repo-federation.js +404 -0
- package/bin/runners/context/patterns.js +253 -0
- package/bin/runners/context/proof-context.js +1264 -0
- package/bin/runners/context/security-scanner.js +541 -0
- package/bin/runners/context/semantic-search.js +350 -0
- package/bin/runners/context/shared.js +264 -0
- package/bin/runners/context/team-conventions.js +336 -0
- package/bin/runners/lib/__tests__/entitlements-v2.test.js +295 -0
- package/bin/runners/lib/agent-firewall/ai/false-positive-analyzer.js +474 -0
- package/bin/runners/lib/agent-firewall/change-packet/builder.js +488 -0
- package/bin/runners/lib/agent-firewall/change-packet/schema.json +228 -0
- package/bin/runners/lib/agent-firewall/change-packet/store.js +200 -0
- package/bin/runners/lib/agent-firewall/claims/claim-types.js +21 -0
- package/bin/runners/lib/agent-firewall/claims/extractor.js +303 -0
- package/bin/runners/lib/agent-firewall/claims/patterns.js +24 -0
- package/bin/runners/lib/agent-firewall/critic/index.js +151 -0
- package/bin/runners/lib/agent-firewall/critic/judge.js +432 -0
- package/bin/runners/lib/agent-firewall/critic/prompts.js +305 -0
- package/bin/runners/lib/agent-firewall/enforcement/gateway.js +1059 -0
- package/bin/runners/lib/agent-firewall/enforcement/index.js +98 -0
- package/bin/runners/lib/agent-firewall/enforcement/mode.js +318 -0
- package/bin/runners/lib/agent-firewall/enforcement/orchestrator.js +484 -0
- package/bin/runners/lib/agent-firewall/enforcement/proof-artifact.js +418 -0
- package/bin/runners/lib/agent-firewall/enforcement/schemas/change-event.schema.json +173 -0
- package/bin/runners/lib/agent-firewall/enforcement/schemas/intent.schema.json +181 -0
- package/bin/runners/lib/agent-firewall/enforcement/schemas/verdict.schema.json +222 -0
- package/bin/runners/lib/agent-firewall/enforcement/verdict-v2.js +333 -0
- package/bin/runners/lib/agent-firewall/evidence/auth-evidence.js +88 -0
- package/bin/runners/lib/agent-firewall/evidence/contract-evidence.js +75 -0
- package/bin/runners/lib/agent-firewall/evidence/env-evidence.js +127 -0
- package/bin/runners/lib/agent-firewall/evidence/resolver.js +102 -0
- package/bin/runners/lib/agent-firewall/evidence/route-evidence.js +213 -0
- package/bin/runners/lib/agent-firewall/evidence/side-effect-evidence.js +145 -0
- package/bin/runners/lib/agent-firewall/fs-hook/daemon.js +19 -0
- package/bin/runners/lib/agent-firewall/fs-hook/installer.js +87 -0
- package/bin/runners/lib/agent-firewall/fs-hook/watcher.js +184 -0
- package/bin/runners/lib/agent-firewall/git-hook/pre-commit.js +163 -0
- package/bin/runners/lib/agent-firewall/ide-extension/cursor.js +107 -0
- package/bin/runners/lib/agent-firewall/ide-extension/vscode.js +68 -0
- package/bin/runners/lib/agent-firewall/ide-extension/windsurf.js +66 -0
- package/bin/runners/lib/agent-firewall/index.js +200 -0
- package/bin/runners/lib/agent-firewall/integration/index.js +20 -0
- package/bin/runners/lib/agent-firewall/integration/ship-gate.js +437 -0
- package/bin/runners/lib/agent-firewall/intent/alignment-engine.js +634 -0
- package/bin/runners/lib/agent-firewall/intent/auto-detect.js +426 -0
- package/bin/runners/lib/agent-firewall/intent/index.js +102 -0
- package/bin/runners/lib/agent-firewall/intent/schema.js +352 -0
- package/bin/runners/lib/agent-firewall/intent/store.js +283 -0
- package/bin/runners/lib/agent-firewall/interception/fs-interceptor.js +502 -0
- package/bin/runners/lib/agent-firewall/interception/index.js +23 -0
- package/bin/runners/lib/agent-firewall/interceptor/base.js +308 -0
- package/bin/runners/lib/agent-firewall/interceptor/cursor.js +35 -0
- package/bin/runners/lib/agent-firewall/interceptor/vscode.js +35 -0
- package/bin/runners/lib/agent-firewall/interceptor/windsurf.js +34 -0
- package/bin/runners/lib/agent-firewall/lawbook/distributor.js +465 -0
- package/bin/runners/lib/agent-firewall/lawbook/evaluator.js +604 -0
- package/bin/runners/lib/agent-firewall/lawbook/index.js +304 -0
- package/bin/runners/lib/agent-firewall/lawbook/registry.js +514 -0
- package/bin/runners/lib/agent-firewall/lawbook/schema.js +420 -0
- package/bin/runners/lib/agent-firewall/logger.js +141 -0
- package/bin/runners/lib/agent-firewall/policy/default-policy.json +90 -0
- package/bin/runners/lib/agent-firewall/policy/engine.js +103 -0
- package/bin/runners/lib/agent-firewall/policy/loader.js +451 -0
- package/bin/runners/lib/agent-firewall/policy/rules/auth-drift.js +50 -0
- package/bin/runners/lib/agent-firewall/policy/rules/contract-drift.js +50 -0
- package/bin/runners/lib/agent-firewall/policy/rules/fake-success.js +79 -0
- package/bin/runners/lib/agent-firewall/policy/rules/ghost-env.js +227 -0
- package/bin/runners/lib/agent-firewall/policy/rules/ghost-route.js +191 -0
- package/bin/runners/lib/agent-firewall/policy/rules/scope.js +93 -0
- package/bin/runners/lib/agent-firewall/policy/rules/unsafe-side-effect.js +57 -0
- package/bin/runners/lib/agent-firewall/policy/schema.json +183 -0
- package/bin/runners/lib/agent-firewall/policy/verdict.js +54 -0
- package/bin/runners/lib/agent-firewall/proposal/extractor.js +394 -0
- package/bin/runners/lib/agent-firewall/proposal/index.js +212 -0
- package/bin/runners/lib/agent-firewall/proposal/schema.js +251 -0
- package/bin/runners/lib/agent-firewall/proposal/validator.js +386 -0
- package/bin/runners/lib/agent-firewall/reality/index.js +332 -0
- package/bin/runners/lib/agent-firewall/reality/state.js +625 -0
- package/bin/runners/lib/agent-firewall/reality/watcher.js +322 -0
- package/bin/runners/lib/agent-firewall/risk/index.js +173 -0
- package/bin/runners/lib/agent-firewall/risk/scorer.js +328 -0
- package/bin/runners/lib/agent-firewall/risk/thresholds.js +322 -0
- package/bin/runners/lib/agent-firewall/risk/vectors.js +421 -0
- package/bin/runners/lib/agent-firewall/session/collector.js +451 -0
- package/bin/runners/lib/agent-firewall/session/index.js +26 -0
- package/bin/runners/lib/agent-firewall/simulator/diff-simulator.js +472 -0
- package/bin/runners/lib/agent-firewall/simulator/import-resolver.js +346 -0
- package/bin/runners/lib/agent-firewall/simulator/index.js +181 -0
- package/bin/runners/lib/agent-firewall/simulator/route-validator.js +380 -0
- package/bin/runners/lib/agent-firewall/time-machine/incident-correlator.js +661 -0
- package/bin/runners/lib/agent-firewall/time-machine/index.js +267 -0
- package/bin/runners/lib/agent-firewall/time-machine/replay-engine.js +436 -0
- package/bin/runners/lib/agent-firewall/time-machine/state-reconstructor.js +490 -0
- package/bin/runners/lib/agent-firewall/time-machine/timeline-builder.js +530 -0
- package/bin/runners/lib/agent-firewall/truthpack/index.js +67 -0
- package/bin/runners/lib/agent-firewall/truthpack/loader.js +137 -0
- package/bin/runners/lib/agent-firewall/unblock/planner.js +337 -0
- package/bin/runners/lib/agent-firewall/utils/ignore-checker.js +118 -0
- package/bin/runners/lib/ai-bridge.js +416 -0
- package/bin/runners/lib/analysis-core.js +309 -0
- package/bin/runners/lib/analyzers.js +2500 -0
- package/bin/runners/lib/api-client.js +269 -0
- package/bin/runners/lib/approve-output.js +235 -0
- package/bin/runners/lib/artifact-envelope.js +540 -0
- package/bin/runners/lib/assets/vibecheck-logo.png +0 -0
- package/bin/runners/lib/audit-bridge.js +391 -0
- package/bin/runners/lib/auth-shared.js +977 -0
- package/bin/runners/lib/auth-truth.js +193 -0
- package/bin/runners/lib/auth.js +215 -0
- package/bin/runners/lib/authority-badge.js +425 -0
- package/bin/runners/lib/backup.js +62 -0
- package/bin/runners/lib/billing.js +107 -0
- package/bin/runners/lib/checkpoint.js +941 -0
- package/bin/runners/lib/claims.js +118 -0
- package/bin/runners/lib/classify-output.js +204 -0
- package/bin/runners/lib/cleanup/engine.js +571 -0
- package/bin/runners/lib/cleanup/index.js +53 -0
- package/bin/runners/lib/cleanup/output.js +375 -0
- package/bin/runners/lib/cleanup/rules.js +1060 -0
- package/bin/runners/lib/cli-output.js +400 -0
- package/bin/runners/lib/cli-ui.js +540 -0
- package/bin/runners/lib/compliance-bridge-new.js +0 -0
- package/bin/runners/lib/compliance-bridge.js +165 -0
- package/bin/runners/lib/contracts/auth-contract.js +202 -0
- package/bin/runners/lib/contracts/env-contract.js +181 -0
- package/bin/runners/lib/contracts/external-contract.js +206 -0
- package/bin/runners/lib/contracts/guard.js +168 -0
- package/bin/runners/lib/contracts/index.js +89 -0
- package/bin/runners/lib/contracts/plan-validator.js +311 -0
- package/bin/runners/lib/contracts/route-contract.js +199 -0
- package/bin/runners/lib/contracts.js +804 -0
- package/bin/runners/lib/default-config.js +127 -0
- package/bin/runners/lib/detect.js +89 -0
- package/bin/runners/lib/detectors-v2.js +622 -0
- package/bin/runners/lib/doctor/autofix.js +254 -0
- package/bin/runners/lib/doctor/diagnosis-receipt.js +454 -0
- package/bin/runners/lib/doctor/failure-signatures.js +526 -0
- package/bin/runners/lib/doctor/fix-script.js +336 -0
- package/bin/runners/lib/doctor/index.js +37 -0
- package/bin/runners/lib/doctor/modules/build-tools.js +453 -0
- package/bin/runners/lib/doctor/modules/dependencies.js +325 -0
- package/bin/runners/lib/doctor/modules/index.js +105 -0
- package/bin/runners/lib/doctor/modules/network.js +250 -0
- package/bin/runners/lib/doctor/modules/os-quirks.js +706 -0
- package/bin/runners/lib/doctor/modules/project.js +312 -0
- package/bin/runners/lib/doctor/modules/repo-integrity.js +485 -0
- package/bin/runners/lib/doctor/modules/runtime.js +224 -0
- package/bin/runners/lib/doctor/modules/security.js +350 -0
- package/bin/runners/lib/doctor/modules/system.js +213 -0
- package/bin/runners/lib/doctor/modules/vibecheck.js +394 -0
- package/bin/runners/lib/doctor/reporter.js +262 -0
- package/bin/runners/lib/doctor/safe-repair.js +384 -0
- package/bin/runners/lib/doctor/service.js +262 -0
- package/bin/runners/lib/doctor/types.js +113 -0
- package/bin/runners/lib/doctor/ui.js +263 -0
- package/bin/runners/lib/doctor-enhanced.js +233 -0
- package/bin/runners/lib/doctor-output.js +226 -0
- package/bin/runners/lib/doctor-v2.js +608 -0
- package/bin/runners/lib/drift.js +425 -0
- package/bin/runners/lib/enforcement.js +72 -0
- package/bin/runners/lib/engine/ast-cache.js +210 -0
- package/bin/runners/lib/engine/auth-extractor.js +211 -0
- package/bin/runners/lib/engine/billing-extractor.js +112 -0
- package/bin/runners/lib/engine/enforcement-extractor.js +100 -0
- package/bin/runners/lib/engine/env-extractor.js +207 -0
- package/bin/runners/lib/engine/express-extractor.js +208 -0
- package/bin/runners/lib/engine/extractors.js +849 -0
- package/bin/runners/lib/engine/index.js +207 -0
- package/bin/runners/lib/engine/repo-index.js +514 -0
- package/bin/runners/lib/engine/types.js +124 -0
- package/bin/runners/lib/engines/accessibility-engine.js +190 -0
- package/bin/runners/lib/engines/api-consistency-engine.js +162 -0
- package/bin/runners/lib/engines/ast-cache.js +99 -0
- package/bin/runners/lib/engines/attack-detector.js +1192 -0
- package/bin/runners/lib/engines/code-quality-engine.js +255 -0
- package/bin/runners/lib/engines/console-logs-engine.js +115 -0
- package/bin/runners/lib/engines/cross-file-analysis-engine.js +268 -0
- package/bin/runners/lib/engines/dead-code-engine.js +198 -0
- package/bin/runners/lib/engines/deprecated-api-engine.js +226 -0
- package/bin/runners/lib/engines/empty-catch-engine.js +150 -0
- package/bin/runners/lib/engines/file-filter.js +131 -0
- package/bin/runners/lib/engines/hardcoded-secrets-engine.js +251 -0
- package/bin/runners/lib/engines/mock-data-engine.js +272 -0
- package/bin/runners/lib/engines/parallel-processor.js +71 -0
- package/bin/runners/lib/engines/performance-issues-engine.js +265 -0
- package/bin/runners/lib/engines/security-vulnerabilities-engine.js +243 -0
- package/bin/runners/lib/engines/todo-fixme-engine.js +115 -0
- package/bin/runners/lib/engines/type-aware-engine.js +152 -0
- package/bin/runners/lib/engines/unsafe-regex-engine.js +225 -0
- package/bin/runners/lib/engines/vibecheck-engines/README.md +53 -0
- package/bin/runners/lib/engines/vibecheck-engines/index.js +15 -0
- package/bin/runners/lib/engines/vibecheck-engines/lib/ast-cache.js +164 -0
- package/bin/runners/lib/engines/vibecheck-engines/lib/code-quality-engine.js +291 -0
- package/bin/runners/lib/engines/vibecheck-engines/lib/console-logs-engine.js +83 -0
- package/bin/runners/lib/engines/vibecheck-engines/lib/dead-code-engine.js +198 -0
- package/bin/runners/lib/engines/vibecheck-engines/lib/deprecated-api-engine.js +275 -0
- package/bin/runners/lib/engines/vibecheck-engines/lib/empty-catch-engine.js +167 -0
- package/bin/runners/lib/engines/vibecheck-engines/lib/file-filter.js +217 -0
- package/bin/runners/lib/engines/vibecheck-engines/lib/hardcoded-secrets-engine.js +139 -0
- package/bin/runners/lib/engines/vibecheck-engines/lib/mock-data-engine.js +140 -0
- package/bin/runners/lib/engines/vibecheck-engines/lib/parallel-processor.js +164 -0
- package/bin/runners/lib/engines/vibecheck-engines/lib/performance-issues-engine.js +234 -0
- package/bin/runners/lib/engines/vibecheck-engines/lib/type-aware-engine.js +217 -0
- package/bin/runners/lib/engines/vibecheck-engines/lib/unsafe-regex-engine.js +78 -0
- package/bin/runners/lib/engines/vibecheck-engines/package.json +13 -0
- package/bin/runners/lib/enterprise-detect.js +603 -0
- package/bin/runners/lib/enterprise-init.js +942 -0
- package/bin/runners/lib/entitlements-v2.js +265 -0
- package/bin/runners/lib/entitlements.generated.js +0 -0
- package/bin/runners/lib/entitlements.js +340 -0
- package/bin/runners/lib/env-resolver.js +417 -0
- package/bin/runners/lib/env-template.js +66 -0
- package/bin/runners/lib/env.js +189 -0
- package/bin/runners/lib/error-handler.js +368 -0
- package/bin/runners/lib/error-messages.js +289 -0
- package/bin/runners/lib/evidence-pack.js +684 -0
- package/bin/runners/lib/exit-codes.js +275 -0
- package/bin/runners/lib/extractors/client-calls.js +990 -0
- package/bin/runners/lib/extractors/fastify-route-dump.js +573 -0
- package/bin/runners/lib/extractors/fastify-routes.js +426 -0
- package/bin/runners/lib/extractors/index.js +363 -0
- package/bin/runners/lib/extractors/next-routes.js +524 -0
- package/bin/runners/lib/extractors/proof-graph.js +431 -0
- package/bin/runners/lib/extractors/route-matcher.js +451 -0
- package/bin/runners/lib/extractors/truthpack-v2.js +377 -0
- package/bin/runners/lib/extractors/ui-bindings.js +547 -0
- package/bin/runners/lib/finding-id.js +69 -0
- package/bin/runners/lib/finding-sorter.js +89 -0
- package/bin/runners/lib/findings-schema.js +281 -0
- package/bin/runners/lib/fingerprint.js +377 -0
- package/bin/runners/lib/firewall-prompt.js +50 -0
- package/bin/runners/lib/fix-output.js +228 -0
- package/bin/runners/lib/global-flags.js +250 -0
- package/bin/runners/lib/graph/graph-builder.js +265 -0
- package/bin/runners/lib/graph/html-renderer.js +413 -0
- package/bin/runners/lib/graph/index.js +32 -0
- package/bin/runners/lib/graph/runtime-collector.js +215 -0
- package/bin/runners/lib/graph/static-extractor.js +518 -0
- package/bin/runners/lib/help-formatter.js +413 -0
- package/bin/runners/lib/html-proof-report.js +913 -0
- package/bin/runners/lib/html-report.js +650 -0
- package/bin/runners/lib/init-wizard.js +601 -0
- package/bin/runners/lib/interactive-menu.js +1496 -0
- package/bin/runners/lib/json-output.js +76 -0
- package/bin/runners/lib/llm.js +75 -0
- package/bin/runners/lib/logger.js +38 -0
- package/bin/runners/lib/meter.js +61 -0
- package/bin/runners/lib/missions/briefing.js +427 -0
- package/bin/runners/lib/missions/checkpoint.js +753 -0
- package/bin/runners/lib/missions/evidence.js +126 -0
- package/bin/runners/lib/missions/hardening.js +851 -0
- package/bin/runners/lib/missions/plan.js +648 -0
- package/bin/runners/lib/missions/safety-gates.js +645 -0
- package/bin/runners/lib/missions/schema.js +478 -0
- package/bin/runners/lib/missions/templates.js +317 -0
- package/bin/runners/lib/next-action.js +560 -0
- package/bin/runners/lib/packs/bundle.js +675 -0
- package/bin/runners/lib/packs/evidence-pack.js +671 -0
- package/bin/runners/lib/packs/pack-factory.js +837 -0
- package/bin/runners/lib/packs/permissions-pack.js +686 -0
- package/bin/runners/lib/packs/proof-graph-pack.js +779 -0
- package/bin/runners/lib/patch.js +40 -0
- package/bin/runners/lib/permissions/auth-model.js +213 -0
- package/bin/runners/lib/permissions/idor-prover.js +205 -0
- package/bin/runners/lib/permissions/index.js +45 -0
- package/bin/runners/lib/permissions/matrix-builder.js +198 -0
- package/bin/runners/lib/pkgjson.js +28 -0
- package/bin/runners/lib/policy.js +295 -0
- package/bin/runners/lib/polish/accessibility.js +62 -0
- package/bin/runners/lib/polish/analyzer.js +93 -0
- package/bin/runners/lib/polish/backend.js +87 -0
- package/bin/runners/lib/polish/configuration.js +83 -0
- package/bin/runners/lib/polish/documentation.js +83 -0
- package/bin/runners/lib/polish/frontend.js +817 -0
- package/bin/runners/lib/polish/index.js +27 -0
- package/bin/runners/lib/polish/infrastructure.js +80 -0
- package/bin/runners/lib/polish/internationalization.js +85 -0
- package/bin/runners/lib/polish/libraries.js +180 -0
- package/bin/runners/lib/polish/observability.js +75 -0
- package/bin/runners/lib/polish/performance.js +64 -0
- package/bin/runners/lib/polish/privacy.js +110 -0
- package/bin/runners/lib/polish/resilience.js +92 -0
- package/bin/runners/lib/polish/security.js +78 -0
- package/bin/runners/lib/polish/seo.js +71 -0
- package/bin/runners/lib/polish/styles.js +62 -0
- package/bin/runners/lib/polish/utils.js +104 -0
- package/bin/runners/lib/preflight.js +142 -0
- package/bin/runners/lib/prerequisites.js +149 -0
- package/bin/runners/lib/prove-output.js +220 -0
- package/bin/runners/lib/reality/correlation-detectors.js +359 -0
- package/bin/runners/lib/reality/index.js +318 -0
- package/bin/runners/lib/reality/request-hashing.js +416 -0
- package/bin/runners/lib/reality/request-mapper.js +453 -0
- package/bin/runners/lib/reality/safety-rails.js +463 -0
- package/bin/runners/lib/reality/semantic-snapshot.js +408 -0
- package/bin/runners/lib/reality/toast-detector.js +393 -0
- package/bin/runners/lib/reality-findings.js +84 -0
- package/bin/runners/lib/reality-output.js +231 -0
- package/bin/runners/lib/receipts.js +179 -0
- package/bin/runners/lib/redact.js +29 -0
- package/bin/runners/lib/replay/capsule-manager.js +154 -0
- package/bin/runners/lib/replay/index.js +263 -0
- package/bin/runners/lib/replay/player.js +348 -0
- package/bin/runners/lib/replay/recorder.js +331 -0
- package/bin/runners/lib/report-engine.js +626 -0
- package/bin/runners/lib/report-html.js +1233 -0
- package/bin/runners/lib/report-output.js +366 -0
- package/bin/runners/lib/report-templates.js +967 -0
- package/bin/runners/lib/report.js +135 -0
- package/bin/runners/lib/route-detection.js +1209 -0
- package/bin/runners/lib/route-truth.js +1322 -0
- package/bin/runners/lib/safelist/index.js +96 -0
- package/bin/runners/lib/safelist/integration.js +334 -0
- package/bin/runners/lib/safelist/matcher.js +696 -0
- package/bin/runners/lib/safelist/schema.js +948 -0
- package/bin/runners/lib/safelist/store.js +438 -0
- package/bin/runners/lib/sandbox/index.js +59 -0
- package/bin/runners/lib/sandbox/proof-chain.js +399 -0
- package/bin/runners/lib/sandbox/sandbox-runner.js +205 -0
- package/bin/runners/lib/sandbox/worktree.js +174 -0
- package/bin/runners/lib/scan-cache.js +330 -0
- package/bin/runners/lib/scan-output-schema.js +344 -0
- package/bin/runners/lib/scan-output.js +631 -0
- package/bin/runners/lib/scan-runner.js +135 -0
- package/bin/runners/lib/schema-validator.js +350 -0
- package/bin/runners/lib/schemas/ajv-validator.js +464 -0
- package/bin/runners/lib/schemas/contracts.schema.json +160 -0
- package/bin/runners/lib/schemas/error-envelope.schema.json +105 -0
- package/bin/runners/lib/schemas/finding-v3.schema.json +151 -0
- package/bin/runners/lib/schemas/finding.schema.json +100 -0
- package/bin/runners/lib/schemas/mission-pack.schema.json +206 -0
- package/bin/runners/lib/schemas/proof-graph.schema.json +176 -0
- package/bin/runners/lib/schemas/reality-report.schema.json +162 -0
- package/bin/runners/lib/schemas/report-artifact.schema.json +120 -0
- package/bin/runners/lib/schemas/run-request.schema.json +108 -0
- package/bin/runners/lib/schemas/share-pack.schema.json +180 -0
- package/bin/runners/lib/schemas/ship-manifest.schema.json +251 -0
- package/bin/runners/lib/schemas/ship-report.schema.json +117 -0
- package/bin/runners/lib/schemas/truthpack-v2.schema.json +303 -0
- package/bin/runners/lib/schemas/validator.js +465 -0
- package/bin/runners/lib/schemas/verdict.schema.json +140 -0
- package/bin/runners/lib/score-history.js +282 -0
- package/bin/runners/lib/security-bridge.js +249 -0
- package/bin/runners/lib/server-usage.js +513 -0
- package/bin/runners/lib/share-pack.js +239 -0
- package/bin/runners/lib/ship-gate.js +832 -0
- package/bin/runners/lib/ship-manifest.js +1153 -0
- package/bin/runners/lib/ship-output-enterprise.js +239 -0
- package/bin/runners/lib/ship-output.js +1128 -0
- package/bin/runners/lib/snippets.js +67 -0
- package/bin/runners/lib/status-output.js +340 -0
- package/bin/runners/lib/terminal-ui.js +356 -0
- package/bin/runners/lib/truth.js +1691 -0
- package/bin/runners/lib/ui.js +562 -0
- package/bin/runners/lib/unified-cli-output.js +947 -0
- package/bin/runners/lib/unified-output.js +197 -0
- package/bin/runners/lib/upsell.js +410 -0
- package/bin/runners/lib/usage.js +153 -0
- package/bin/runners/lib/validate-patch.js +156 -0
- package/bin/runners/lib/verdict-engine.js +628 -0
- package/bin/runners/lib/verification.js +345 -0
- package/bin/runners/lib/why-tree.js +650 -0
- package/bin/runners/reality/engine.js +917 -0
- package/bin/runners/reality/flows.js +122 -0
- package/bin/runners/reality/report.js +378 -0
- package/bin/runners/reality/session.js +193 -0
- package/bin/runners/runAIAgent.js +229 -0
- package/bin/runners/runAgent.d.ts +5 -0
- package/bin/runners/runAgent.js +161 -0
- package/bin/runners/runAllowlist.js +418 -0
- package/bin/runners/runApprove.js +320 -0
- package/bin/runners/runAudit.js +692 -0
- package/bin/runners/runAuth.js +731 -0
- package/bin/runners/runCI.js +353 -0
- package/bin/runners/runCheckpoint.js +530 -0
- package/bin/runners/runClassify.js +928 -0
- package/bin/runners/runCleanup.js +343 -0
- package/bin/runners/runContext.d.ts +4 -0
- package/bin/runners/runContext.js +175 -0
- package/bin/runners/runDoctor.js +877 -0
- package/bin/runners/runEvidencePack.js +362 -0
- package/bin/runners/runFirewall.d.ts +5 -0
- package/bin/runners/runFirewall.js +134 -0
- package/bin/runners/runFirewallHook.d.ts +5 -0
- package/bin/runners/runFirewallHook.js +56 -0
- package/bin/runners/runFix.js +1355 -0
- package/bin/runners/runForge.js +451 -0
- package/bin/runners/runGuard.js +262 -0
- package/bin/runners/runInit.js +1927 -0
- package/bin/runners/runIntent.js +906 -0
- package/bin/runners/runKickoff.js +878 -0
- package/bin/runners/runLabs.js +424 -0
- package/bin/runners/runLaunch.js +2000 -0
- package/bin/runners/runLink.js +785 -0
- package/bin/runners/runMcp.js +1875 -0
- package/bin/runners/runPacks.js +2089 -0
- package/bin/runners/runPolish.d.ts +4 -0
- package/bin/runners/runPolish.js +390 -0
- package/bin/runners/runPromptFirewall.js +211 -0
- package/bin/runners/runProve.js +1411 -0
- package/bin/runners/runQuickstart.js +531 -0
- package/bin/runners/runReality.js +2260 -0
- package/bin/runners/runReport.js +726 -0
- package/bin/runners/runRuntime.js +110 -0
- package/bin/runners/runSafelist.js +1190 -0
- package/bin/runners/runScan.js +688 -0
- package/bin/runners/runShield.js +1282 -0
- package/bin/runners/runShip.js +1660 -0
- package/bin/runners/runTruth.d.ts +5 -0
- package/bin/runners/runTruth.js +101 -0
- package/bin/runners/runValidate.js +179 -0
- package/bin/runners/runWatch.js +478 -0
- package/bin/runners/utils.js +360 -0
- package/bin/scan.js +617 -0
- package/bin/vibecheck.js +1617 -0
- package/dist/guardrail/index.d.ts +2405 -0
- package/dist/guardrail/index.js +9747 -0
- package/dist/guardrail/index.js.map +1 -0
- package/dist/scanner/index.d.ts +282 -0
- package/dist/scanner/index.js +3395 -0
- package/dist/scanner/index.js.map +1 -0
- package/package.json +123 -104
- package/README.md +0 -491
- package/dist/index.js +0 -99711
- package/dist/index.js.map +0 -1
|
@@ -0,0 +1,317 @@
|
|
|
1
|
+
// bin/runners/lib/missions/templates.js
|
|
2
|
+
function templateForMissionType(type) {
|
|
3
|
+
switch (type) {
|
|
4
|
+
case "REMOVE_OWNER_MODE":
|
|
5
|
+
return {
|
|
6
|
+
intent: "Remove any env-based entitlement bypass. Ship must not allow secretless unlocks.",
|
|
7
|
+
do: [
|
|
8
|
+
"Delete OWNER_MODE logic or gate it with signed admin token AND non-production check.",
|
|
9
|
+
"Ensure entitlement checks require real verification (API key / token / server-side).",
|
|
10
|
+
"Add/adjust tests if present (at minimum remove bypass path)."
|
|
11
|
+
],
|
|
12
|
+
dont: [
|
|
13
|
+
"Do not replace with another env var.",
|
|
14
|
+
"Do not add 'temporary' backdoor."
|
|
15
|
+
],
|
|
16
|
+
success: [
|
|
17
|
+
"Owner mode bypass finding disappears from ship results."
|
|
18
|
+
]
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
case "FIX_STRIPE_WEBHOOKS":
|
|
22
|
+
return {
|
|
23
|
+
intent: "Make Stripe webhooks real: signature verified + raw body + idempotent event handling.",
|
|
24
|
+
do: [
|
|
25
|
+
"Use stripe.webhooks.constructEvent(rawBody, sigHeader, secret).",
|
|
26
|
+
"Ensure raw body is used (Next pages: bodyParser false; Next app: req.text()/arrayBuffer()).",
|
|
27
|
+
"Persist processed event.id and short-circuit on replays."
|
|
28
|
+
],
|
|
29
|
+
dont: [
|
|
30
|
+
"Do not trust parsed JSON body for signature verification.",
|
|
31
|
+
"Do not mutate billing state without dedupe."
|
|
32
|
+
],
|
|
33
|
+
success: [
|
|
34
|
+
"Webhook verification + idempotency findings disappear."
|
|
35
|
+
]
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
case "ENFORCE_PAID_SURFACE":
|
|
39
|
+
return {
|
|
40
|
+
intent: "Move paid gating to the server handler BEFORE doing work.",
|
|
41
|
+
do: [
|
|
42
|
+
"Add enforceFeature/enforceLimit (or equivalent) at top of handler.",
|
|
43
|
+
"Return a structured 402/403 error code used by CLI/UI to upsell.",
|
|
44
|
+
"Keep logic minimal; don't refactor unrelated code."
|
|
45
|
+
],
|
|
46
|
+
dont: [
|
|
47
|
+
"Do not rely on client/CLI-only gating.",
|
|
48
|
+
"Do not introduce new plans/tiers in this step."
|
|
49
|
+
],
|
|
50
|
+
success: [
|
|
51
|
+
"Paid surface missing enforcement finding disappears."
|
|
52
|
+
]
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
case "ADD_SERVER_AUTH":
|
|
56
|
+
return {
|
|
57
|
+
intent: "Ensure sensitive endpoints have real server-side auth enforcement.",
|
|
58
|
+
do: [
|
|
59
|
+
"Add session/JWT verification in handler or route hook.",
|
|
60
|
+
"If using Next middleware, ensure matcher covers the sensitive paths (but do not over-widen blindly).",
|
|
61
|
+
"Return 401/403 on missing/invalid auth."
|
|
62
|
+
],
|
|
63
|
+
dont: [
|
|
64
|
+
"Do not only hide UI routes.",
|
|
65
|
+
"Do not add fake auth helpers without evidence."
|
|
66
|
+
],
|
|
67
|
+
success: [
|
|
68
|
+
"GhostAuth findings disappear."
|
|
69
|
+
]
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
case "FIX_MISSING_ROUTE":
|
|
73
|
+
return {
|
|
74
|
+
intent: "Make the referenced route real OR stop referencing it.",
|
|
75
|
+
do: [
|
|
76
|
+
"If the UI calls /api/x, ensure server route exists and matches method/path.",
|
|
77
|
+
"If the route should not exist, remove the client reference safely.",
|
|
78
|
+
"Prefer minimal handler that returns correct status and shape if needed."
|
|
79
|
+
],
|
|
80
|
+
dont: [
|
|
81
|
+
"Do not invent new API surface unless required by evidence.",
|
|
82
|
+
"Do not add broad wildcard routes."
|
|
83
|
+
],
|
|
84
|
+
success: [
|
|
85
|
+
"MissingRoute findings disappear."
|
|
86
|
+
]
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
case "FIX_FAKE_SUCCESS":
|
|
90
|
+
return {
|
|
91
|
+
intent: "Remove success UI lies: success must be gated on awaited + verified network result.",
|
|
92
|
+
do: [
|
|
93
|
+
"Await the network call.",
|
|
94
|
+
"Gate toast.success / navigation behind res.ok/status checks.",
|
|
95
|
+
"Surface error toast on failure."
|
|
96
|
+
],
|
|
97
|
+
dont: [
|
|
98
|
+
"Do not just delete success feedback.",
|
|
99
|
+
"Do not swallow errors silently."
|
|
100
|
+
],
|
|
101
|
+
success: [
|
|
102
|
+
"FakeSuccess findings disappear."
|
|
103
|
+
]
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
case "FIX_ENV_CONTRACT":
|
|
107
|
+
return {
|
|
108
|
+
intent: "Make env reality explicit: used env vars must be declared in .env.example/.env.template.",
|
|
109
|
+
do: [
|
|
110
|
+
"Add missing used vars to env template with safe defaults or comments.",
|
|
111
|
+
"If truly optional, ensure code has explicit fallback and document it."
|
|
112
|
+
],
|
|
113
|
+
dont: [
|
|
114
|
+
"Do not introduce new env var usage unrelated to the finding."
|
|
115
|
+
],
|
|
116
|
+
success: [
|
|
117
|
+
"EnvContract findings disappear."
|
|
118
|
+
]
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
case "FIX_DEAD_UI":
|
|
122
|
+
return {
|
|
123
|
+
intent: "Make UI actions real: clicks must trigger real handler + real success criteria.",
|
|
124
|
+
do: [
|
|
125
|
+
"If click calls /api/*: ensure route exists server-side and returns success only on real ok.",
|
|
126
|
+
"If click should navigate: ensure href/router push is correct and target route exists.",
|
|
127
|
+
"If click should open modal: ensure state toggles and modal renders.",
|
|
128
|
+
"If action is disabled: remove click affordance or add aria-disabled + disabled styling consistently."
|
|
129
|
+
],
|
|
130
|
+
dont: [
|
|
131
|
+
"Do not silence by removing UI without replacing the feature.",
|
|
132
|
+
"Do not show success toast before awaiting and verifying."
|
|
133
|
+
],
|
|
134
|
+
success: ["Dead UI findings disappear from ship (after running reality again)."]
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
case "SYNC_CONTRACTS":
|
|
138
|
+
return {
|
|
139
|
+
intent: "Update contracts to match current code reality. Drift causes AI hallucinations.",
|
|
140
|
+
do: [
|
|
141
|
+
"Run 'vibecheck ctx sync' to regenerate contracts from truthpack.",
|
|
142
|
+
"Review the diff to ensure changes are intentional.",
|
|
143
|
+
"Commit updated contracts alongside code changes."
|
|
144
|
+
],
|
|
145
|
+
dont: [
|
|
146
|
+
"Do not manually edit contract JSON files.",
|
|
147
|
+
"Do not ignore drift - it will cause AI to generate broken code."
|
|
148
|
+
],
|
|
149
|
+
success: ["Contract drift findings disappear from ship."]
|
|
150
|
+
};
|
|
151
|
+
|
|
152
|
+
case "FIX_ROUTE_DRIFT":
|
|
153
|
+
return {
|
|
154
|
+
intent: "Align route contract with actual server routes.",
|
|
155
|
+
do: [
|
|
156
|
+
"If route was intentionally added: run 'vibecheck ctx sync'.",
|
|
157
|
+
"If route was accidentally removed: restore it or update client refs.",
|
|
158
|
+
"If client refs fake route: fix the client to use real routes."
|
|
159
|
+
],
|
|
160
|
+
dont: [
|
|
161
|
+
"Do not invent routes to match client refs.",
|
|
162
|
+
"Do not remove routes without updating all client references."
|
|
163
|
+
],
|
|
164
|
+
success: ["Route drift findings disappear."]
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
case "FIX_AUTH_DRIFT":
|
|
168
|
+
return {
|
|
169
|
+
intent: "Align auth contract with actual middleware patterns.",
|
|
170
|
+
do: [
|
|
171
|
+
"If auth pattern was intentionally changed: run 'vibecheck ctx sync'.",
|
|
172
|
+
"If auth was accidentally removed: RESTORE IT IMMEDIATELY (security risk).",
|
|
173
|
+
"Verify all sensitive routes are still protected."
|
|
174
|
+
],
|
|
175
|
+
dont: [
|
|
176
|
+
"Do not remove auth patterns without security review.",
|
|
177
|
+
"Do not ignore auth drift - it may indicate a security regression."
|
|
178
|
+
],
|
|
179
|
+
success: ["Auth drift findings disappear."]
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
183
|
+
// ENHANCED MISSION TYPES - World-class detection and fixing
|
|
184
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
185
|
+
|
|
186
|
+
case "FIX_EMPTY_CATCH":
|
|
187
|
+
return {
|
|
188
|
+
intent: "Add proper error handling to empty catch blocks. Silent failures hide bugs and security issues.",
|
|
189
|
+
do: [
|
|
190
|
+
"Add error logging: console.error('Context:', err) or use structured logger.",
|
|
191
|
+
"Re-throw the error OR return a meaningful error response to caller.",
|
|
192
|
+
"If intentionally ignoring, add explicit comment explaining WHY (e.g., // Expected: optional feature).",
|
|
193
|
+
"Consider adding error tracking (Sentry, etc.) for production visibility."
|
|
194
|
+
],
|
|
195
|
+
dont: [
|
|
196
|
+
"Do not just add a comment without actual handling.",
|
|
197
|
+
"Do not swallow errors in auth, payment, or data mutation paths.",
|
|
198
|
+
"Do not use console.log for errors (use console.error)."
|
|
199
|
+
],
|
|
200
|
+
success: ["Empty catch findings disappear and errors become visible."]
|
|
201
|
+
};
|
|
202
|
+
|
|
203
|
+
case "FIX_TEST_KEYS":
|
|
204
|
+
return {
|
|
205
|
+
intent: "Replace test/demo API keys with environment variable references. Test keys in production = security breach.",
|
|
206
|
+
do: [
|
|
207
|
+
"Replace sk_test_*, pk_test_*, api_key_test with process.env.STRIPE_SECRET_KEY etc.",
|
|
208
|
+
"Add the env var to .env.example with a placeholder comment.",
|
|
209
|
+
"Ensure the code fails fast if env var is missing (no silent fallback to test key).",
|
|
210
|
+
"Add runtime validation: if (!process.env.STRIPE_SECRET_KEY) throw new Error('Missing STRIPE_SECRET_KEY')."
|
|
211
|
+
],
|
|
212
|
+
dont: [
|
|
213
|
+
"Do not leave test keys as fallback defaults.",
|
|
214
|
+
"Do not commit .env files with real keys.",
|
|
215
|
+
"Do not use generic names like API_KEY - be specific (STRIPE_SECRET_KEY, SENDGRID_API_KEY)."
|
|
216
|
+
],
|
|
217
|
+
success: ["Test key findings disappear and production uses real credentials."]
|
|
218
|
+
};
|
|
219
|
+
|
|
220
|
+
case "FIX_MOCK_DOMAINS":
|
|
221
|
+
return {
|
|
222
|
+
intent: "Replace hardcoded mock/localhost URLs with configurable endpoints. Mock domains in production = broken features.",
|
|
223
|
+
do: [
|
|
224
|
+
"Replace localhost:*, jsonplaceholder.typicode.com, mockapi.io with process.env.API_BASE_URL.",
|
|
225
|
+
"Add the env var to .env.example: API_BASE_URL=https://api.yourproduct.com",
|
|
226
|
+
"Add URL validation at startup to catch misconfiguration early.",
|
|
227
|
+
"For development, use .env.local with localhost values."
|
|
228
|
+
],
|
|
229
|
+
dont: [
|
|
230
|
+
"Do not use localhost as a fallback default.",
|
|
231
|
+
"Do not hardcode staging URLs - use env vars for all environments.",
|
|
232
|
+
"Do not mix mock and real endpoints in the same codebase without clear separation."
|
|
233
|
+
],
|
|
234
|
+
success: ["Mock domain findings disappear and API calls hit real backends."]
|
|
235
|
+
};
|
|
236
|
+
|
|
237
|
+
case "FIX_PLACEHOLDER_DATA":
|
|
238
|
+
return {
|
|
239
|
+
intent: "Replace lorem ipsum and placeholder data with real data fetching or meaningful defaults.",
|
|
240
|
+
do: [
|
|
241
|
+
"Replace 'Lorem ipsum', 'John Doe', 'user@example.com' with actual data bindings.",
|
|
242
|
+
"If data comes from API: ensure proper loading states and error handling.",
|
|
243
|
+
"If truly static: use real, contextually appropriate content.",
|
|
244
|
+
"For avatars/images: use real assets or proper placeholder services with fallbacks."
|
|
245
|
+
],
|
|
246
|
+
dont: [
|
|
247
|
+
"Do not show placeholder data to real users.",
|
|
248
|
+
"Do not use obviously fake data (123-456-7890, test@test.com) in production UI.",
|
|
249
|
+
"Do not remove placeholder without adding real data source."
|
|
250
|
+
],
|
|
251
|
+
success: ["Placeholder data findings disappear and UI shows real content."]
|
|
252
|
+
};
|
|
253
|
+
|
|
254
|
+
case "FIX_HARDCODED_SECRETS":
|
|
255
|
+
return {
|
|
256
|
+
intent: "Move hardcoded secrets to environment variables. Secrets in code = compromised on first commit.",
|
|
257
|
+
do: [
|
|
258
|
+
"Extract secret to environment variable with descriptive name.",
|
|
259
|
+
"Add to .env.example with CHANGEME or empty placeholder.",
|
|
260
|
+
"Add .env to .gitignore if not already present.",
|
|
261
|
+
"Add startup validation to fail fast on missing secrets.",
|
|
262
|
+
"Consider using a secrets manager (Vault, AWS Secrets Manager) for production."
|
|
263
|
+
],
|
|
264
|
+
dont: [
|
|
265
|
+
"Do not leave secrets in code comments.",
|
|
266
|
+
"Do not use generic names (SECRET, PASSWORD) - be specific.",
|
|
267
|
+
"Do not commit the actual secret value anywhere.",
|
|
268
|
+
"Do not use base64 encoding as 'encryption' - it's not."
|
|
269
|
+
],
|
|
270
|
+
success: ["Hardcoded secret findings disappear and secrets are externalized."]
|
|
271
|
+
};
|
|
272
|
+
|
|
273
|
+
case "FIX_SIMULATED_BILLING":
|
|
274
|
+
return {
|
|
275
|
+
intent: "Replace simulated billing responses with real payment processor integration.",
|
|
276
|
+
do: [
|
|
277
|
+
"Connect to real Stripe/payment processor in production mode.",
|
|
278
|
+
"Ensure webhook handlers verify signatures and process real events.",
|
|
279
|
+
"Add proper error handling for payment failures.",
|
|
280
|
+
"Implement idempotency to prevent double charges."
|
|
281
|
+
],
|
|
282
|
+
dont: [
|
|
283
|
+
"Do not show 'Payment successful' without real charge.",
|
|
284
|
+
"Do not skip signature verification in production.",
|
|
285
|
+
"Do not trust client-side payment confirmations."
|
|
286
|
+
],
|
|
287
|
+
success: ["Simulated billing findings disappear and payments are real."]
|
|
288
|
+
};
|
|
289
|
+
|
|
290
|
+
case "FIX_SILENT_FALLBACK":
|
|
291
|
+
return {
|
|
292
|
+
intent: "Make failures visible instead of silently returning success. Silent fallbacks hide broken features.",
|
|
293
|
+
do: [
|
|
294
|
+
"Remove catch blocks that return { success: true } or empty data.",
|
|
295
|
+
"Surface errors to the UI with appropriate messaging.",
|
|
296
|
+
"Log errors with context for debugging.",
|
|
297
|
+
"Consider graceful degradation that's VISIBLE (e.g., 'Feature temporarily unavailable')."
|
|
298
|
+
],
|
|
299
|
+
dont: [
|
|
300
|
+
"Do not return success: true when operation failed.",
|
|
301
|
+
"Do not show success toast/UI when API returned error.",
|
|
302
|
+
"Do not hide errors from users entirely - they need to know something went wrong."
|
|
303
|
+
],
|
|
304
|
+
success: ["Silent fallback findings disappear and failures become visible."]
|
|
305
|
+
};
|
|
306
|
+
|
|
307
|
+
default:
|
|
308
|
+
return {
|
|
309
|
+
intent: "Fix the specific finding with smallest correct patch.",
|
|
310
|
+
do: ["Keep it minimal, evidence-based, and verifiable."],
|
|
311
|
+
dont: ["Do not refactor unrelated code."],
|
|
312
|
+
success: ["Target finding disappears."]
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
module.exports = { templateForMissionType };
|