vaspera 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +184 -0
- package/LICENSE +21 -0
- package/README.md +809 -0
- package/dist/__tests__/integration/certification-flow.test.d.ts +5 -0
- package/dist/__tests__/integration/certification-flow.test.d.ts.map +1 -0
- package/dist/__tests__/integration/certification-flow.test.js +245 -0
- package/dist/__tests__/integration/certification-flow.test.js.map +1 -0
- package/dist/__tests__/integration/commands.test.d.ts +5 -0
- package/dist/__tests__/integration/commands.test.d.ts.map +1 -0
- package/dist/__tests__/integration/commands.test.js +93 -0
- package/dist/__tests__/integration/commands.test.js.map +1 -0
- package/dist/action/diff-mode.d.ts +34 -0
- package/dist/action/diff-mode.d.ts.map +1 -0
- package/dist/action/diff-mode.js +201 -0
- package/dist/action/diff-mode.js.map +1 -0
- package/dist/action/diff-mode.test.d.ts +5 -0
- package/dist/action/diff-mode.test.d.ts.map +1 -0
- package/dist/action/diff-mode.test.js +162 -0
- package/dist/action/diff-mode.test.js.map +1 -0
- package/dist/action/index.d.ts +10 -0
- package/dist/action/index.d.ts.map +1 -0
- package/dist/action/index.js +231 -0
- package/dist/action/index.js.map +1 -0
- package/dist/action/pr-comment.d.ts +30 -0
- package/dist/action/pr-comment.d.ts.map +1 -0
- package/dist/action/pr-comment.js +301 -0
- package/dist/action/pr-comment.js.map +1 -0
- package/dist/action/pr-comment.test.d.ts +5 -0
- package/dist/action/pr-comment.test.d.ts.map +1 -0
- package/dist/action/pr-comment.test.js +189 -0
- package/dist/action/pr-comment.test.js.map +1 -0
- package/dist/action/sarif-upload.d.ts +104 -0
- package/dist/action/sarif-upload.d.ts.map +1 -0
- package/dist/action/sarif-upload.js +188 -0
- package/dist/action/sarif-upload.js.map +1 -0
- package/dist/action/sarif-upload.test.d.ts +5 -0
- package/dist/action/sarif-upload.test.d.ts.map +1 -0
- package/dist/action/sarif-upload.test.js +206 -0
- package/dist/action/sarif-upload.test.js.map +1 -0
- package/dist/action/types.d.ts +104 -0
- package/dist/action/types.d.ts.map +1 -0
- package/dist/action/types.js +33 -0
- package/dist/action/types.js.map +1 -0
- package/dist/action/types.test.d.ts +5 -0
- package/dist/action/types.test.d.ts.map +1 -0
- package/dist/action/types.test.js +79 -0
- package/dist/action/types.test.js.map +1 -0
- package/dist/agents/agent-integrity.d.ts +111 -0
- package/dist/agents/agent-integrity.d.ts.map +1 -0
- package/dist/agents/agent-integrity.js +308 -0
- package/dist/agents/agent-integrity.js.map +1 -0
- package/dist/agents/agent-privacy.d.ts +68 -0
- package/dist/agents/agent-privacy.d.ts.map +1 -0
- package/dist/agents/agent-privacy.js +345 -0
- package/dist/agents/agent-privacy.js.map +1 -0
- package/dist/agents/exploit-chain.d.ts +64 -0
- package/dist/agents/exploit-chain.d.ts.map +1 -0
- package/dist/agents/exploit-chain.js +477 -0
- package/dist/agents/exploit-chain.js.map +1 -0
- package/dist/agents/exploit-chain.test.d.ts +5 -0
- package/dist/agents/exploit-chain.test.d.ts.map +1 -0
- package/dist/agents/exploit-chain.test.js +455 -0
- package/dist/agents/exploit-chain.test.js.map +1 -0
- package/dist/agents/index.d.ts +14 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +19 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/logic-flaw-detector.d.ts +55 -0
- package/dist/agents/logic-flaw-detector.d.ts.map +1 -0
- package/dist/agents/logic-flaw-detector.js +454 -0
- package/dist/agents/logic-flaw-detector.js.map +1 -0
- package/dist/agents/zero-day-hunter.d.ts +69 -0
- package/dist/agents/zero-day-hunter.d.ts.map +1 -0
- package/dist/agents/zero-day-hunter.js +591 -0
- package/dist/agents/zero-day-hunter.js.map +1 -0
- package/dist/certification/artifacts.d.ts +21 -0
- package/dist/certification/artifacts.d.ts.map +1 -0
- package/dist/certification/artifacts.js +275 -0
- package/dist/certification/artifacts.js.map +1 -0
- package/dist/certification/autofix.d.ts +122 -0
- package/dist/certification/autofix.d.ts.map +1 -0
- package/dist/certification/autofix.js +476 -0
- package/dist/certification/autofix.js.map +1 -0
- package/dist/certification/badge.d.ts +56 -0
- package/dist/certification/badge.d.ts.map +1 -0
- package/dist/certification/badge.js +155 -0
- package/dist/certification/badge.js.map +1 -0
- package/dist/certification/cache.d.ts +121 -0
- package/dist/certification/cache.d.ts.map +1 -0
- package/dist/certification/cache.js +275 -0
- package/dist/certification/cache.js.map +1 -0
- package/dist/certification/cache.test.d.ts +5 -0
- package/dist/certification/cache.test.d.ts.map +1 -0
- package/dist/certification/cache.test.js +270 -0
- package/dist/certification/cache.test.js.map +1 -0
- package/dist/certification/consensus.d.ts +105 -0
- package/dist/certification/consensus.d.ts.map +1 -0
- package/dist/certification/consensus.js +353 -0
- package/dist/certification/consensus.js.map +1 -0
- package/dist/certification/consensus.test.d.ts +5 -0
- package/dist/certification/consensus.test.d.ts.map +1 -0
- package/dist/certification/consensus.test.js +342 -0
- package/dist/certification/consensus.test.js.map +1 -0
- package/dist/certification/index.d.ts +14 -0
- package/dist/certification/index.d.ts.map +1 -0
- package/dist/certification/index.js +14 -0
- package/dist/certification/index.js.map +1 -0
- package/dist/certification/rules.d.ts +89 -0
- package/dist/certification/rules.d.ts.map +1 -0
- package/dist/certification/rules.js +317 -0
- package/dist/certification/rules.js.map +1 -0
- package/dist/certification/sarif.d.ts +107 -0
- package/dist/certification/sarif.d.ts.map +1 -0
- package/dist/certification/sarif.js +191 -0
- package/dist/certification/sarif.js.map +1 -0
- package/dist/certification/store.d.ts +255 -0
- package/dist/certification/store.d.ts.map +1 -0
- package/dist/certification/store.js +835 -0
- package/dist/certification/store.js.map +1 -0
- package/dist/certification/store.test.d.ts +5 -0
- package/dist/certification/store.test.d.ts.map +1 -0
- package/dist/certification/store.test.js +468 -0
- package/dist/certification/store.test.js.map +1 -0
- package/dist/certification/summary.d.ts +72 -0
- package/dist/certification/summary.d.ts.map +1 -0
- package/dist/certification/summary.js +296 -0
- package/dist/certification/summary.js.map +1 -0
- package/dist/certification/types.d.ts +138 -0
- package/dist/certification/types.d.ts.map +1 -0
- package/dist/certification/types.js +34 -0
- package/dist/certification/types.js.map +1 -0
- package/dist/commands/audits/api-check.d.ts +3 -0
- package/dist/commands/audits/api-check.d.ts.map +1 -0
- package/dist/commands/audits/api-check.js +71 -0
- package/dist/commands/audits/api-check.js.map +1 -0
- package/dist/commands/audits/deadcode.d.ts +3 -0
- package/dist/commands/audits/deadcode.d.ts.map +1 -0
- package/dist/commands/audits/deadcode.js +63 -0
- package/dist/commands/audits/deadcode.js.map +1 -0
- package/dist/commands/audits/deps.d.ts +3 -0
- package/dist/commands/audits/deps.d.ts.map +1 -0
- package/dist/commands/audits/deps.js +56 -0
- package/dist/commands/audits/deps.js.map +1 -0
- package/dist/commands/audits/errors.d.ts +3 -0
- package/dist/commands/audits/errors.d.ts.map +1 -0
- package/dist/commands/audits/errors.js +65 -0
- package/dist/commands/audits/errors.js.map +1 -0
- package/dist/commands/audits/index.d.ts +3 -0
- package/dist/commands/audits/index.d.ts.map +1 -0
- package/dist/commands/audits/index.js +15 -0
- package/dist/commands/audits/index.js.map +1 -0
- package/dist/commands/audits/perf.d.ts +3 -0
- package/dist/commands/audits/perf.d.ts.map +1 -0
- package/dist/commands/audits/perf.js +85 -0
- package/dist/commands/audits/perf.js.map +1 -0
- package/dist/commands/audits/secrets.d.ts +3 -0
- package/dist/commands/audits/secrets.d.ts.map +1 -0
- package/dist/commands/audits/secrets.js +71 -0
- package/dist/commands/audits/secrets.js.map +1 -0
- package/dist/commands/certification/certify.d.ts +3 -0
- package/dist/commands/certification/certify.d.ts.map +1 -0
- package/dist/commands/certification/certify.js +108 -0
- package/dist/commands/certification/certify.js.map +1 -0
- package/dist/commands/certification/index.d.ts +3 -0
- package/dist/commands/certification/index.d.ts.map +1 -0
- package/dist/commands/certification/index.js +17 -0
- package/dist/commands/certification/index.js.map +1 -0
- package/dist/commands/certification/performance.d.ts +3 -0
- package/dist/commands/certification/performance.d.ts.map +1 -0
- package/dist/commands/certification/performance.js +89 -0
- package/dist/commands/certification/performance.js.map +1 -0
- package/dist/commands/certification/quality.d.ts +3 -0
- package/dist/commands/certification/quality.d.ts.map +1 -0
- package/dist/commands/certification/quality.js +92 -0
- package/dist/commands/certification/quality.js.map +1 -0
- package/dist/commands/certification/redteam.d.ts +3 -0
- package/dist/commands/certification/redteam.d.ts.map +1 -0
- package/dist/commands/certification/redteam.js +114 -0
- package/dist/commands/certification/redteam.js.map +1 -0
- package/dist/commands/certification/reliability.d.ts +3 -0
- package/dist/commands/certification/reliability.d.ts.map +1 -0
- package/dist/commands/certification/reliability.js +93 -0
- package/dist/commands/certification/reliability.js.map +1 -0
- package/dist/commands/certification/security.d.ts +3 -0
- package/dist/commands/certification/security.d.ts.map +1 -0
- package/dist/commands/certification/security.js +90 -0
- package/dist/commands/certification/security.js.map +1 -0
- package/dist/commands/certification/typesafety.d.ts +3 -0
- package/dist/commands/certification/typesafety.d.ts.map +1 -0
- package/dist/commands/certification/typesafety.js +87 -0
- package/dist/commands/certification/typesafety.js.map +1 -0
- package/dist/commands/core/add-tests.d.ts +3 -0
- package/dist/commands/core/add-tests.d.ts.map +1 -0
- package/dist/commands/core/add-tests.js +29 -0
- package/dist/commands/core/add-tests.js.map +1 -0
- package/dist/commands/core/audit.d.ts +3 -0
- package/dist/commands/core/audit.d.ts.map +1 -0
- package/dist/commands/core/audit.js +64 -0
- package/dist/commands/core/audit.js.map +1 -0
- package/dist/commands/core/fix-critical.d.ts +3 -0
- package/dist/commands/core/fix-critical.d.ts.map +1 -0
- package/dist/commands/core/fix-critical.js +22 -0
- package/dist/commands/core/fix-critical.js.map +1 -0
- package/dist/commands/core/fix-high.d.ts +3 -0
- package/dist/commands/core/fix-high.d.ts.map +1 -0
- package/dist/commands/core/fix-high.js +32 -0
- package/dist/commands/core/fix-high.js.map +1 -0
- package/dist/commands/core/fix-medium.d.ts +3 -0
- package/dist/commands/core/fix-medium.d.ts.map +1 -0
- package/dist/commands/core/fix-medium.js +29 -0
- package/dist/commands/core/fix-medium.js.map +1 -0
- package/dist/commands/core/fix-rls.d.ts +3 -0
- package/dist/commands/core/fix-rls.d.ts.map +1 -0
- package/dist/commands/core/fix-rls.js +17 -0
- package/dist/commands/core/fix-rls.js.map +1 -0
- package/dist/commands/core/harden.d.ts +3 -0
- package/dist/commands/core/harden.d.ts.map +1 -0
- package/dist/commands/core/harden.js +19 -0
- package/dist/commands/core/harden.js.map +1 -0
- package/dist/commands/core/index.d.ts +3 -0
- package/dist/commands/core/index.d.ts.map +1 -0
- package/dist/commands/core/index.js +21 -0
- package/dist/commands/core/index.js.map +1 -0
- package/dist/commands/core/preflight.d.ts +3 -0
- package/dist/commands/core/preflight.d.ts.map +1 -0
- package/dist/commands/core/preflight.js +50 -0
- package/dist/commands/core/preflight.js.map +1 -0
- package/dist/commands/core/verify.d.ts +3 -0
- package/dist/commands/core/verify.d.ts.map +1 -0
- package/dist/commands/core/verify.js +32 -0
- package/dist/commands/core/verify.js.map +1 -0
- package/dist/commands/index.d.ts +28 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +37 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/types.d.ts +9 -0
- package/dist/commands/types.d.ts.map +1 -0
- package/dist/commands/types.js +5 -0
- package/dist/commands/types.js.map +1 -0
- package/dist/compliance/cis.d.ts +29 -0
- package/dist/compliance/cis.d.ts.map +1 -0
- package/dist/compliance/cis.js +316 -0
- package/dist/compliance/cis.js.map +1 -0
- package/dist/compliance/frameworks/eu-ai-act.d.ts +55 -0
- package/dist/compliance/frameworks/eu-ai-act.d.ts.map +1 -0
- package/dist/compliance/frameworks/eu-ai-act.js +621 -0
- package/dist/compliance/frameworks/eu-ai-act.js.map +1 -0
- package/dist/compliance/frameworks/index.d.ts +67 -0
- package/dist/compliance/frameworks/index.d.ts.map +1 -0
- package/dist/compliance/frameworks/index.js +97 -0
- package/dist/compliance/frameworks/index.js.map +1 -0
- package/dist/compliance/frameworks/iso-42001.d.ts +59 -0
- package/dist/compliance/frameworks/iso-42001.d.ts.map +1 -0
- package/dist/compliance/frameworks/iso-42001.js +719 -0
- package/dist/compliance/frameworks/iso-42001.js.map +1 -0
- package/dist/compliance/frameworks/mitre-atlas.d.ts +58 -0
- package/dist/compliance/frameworks/mitre-atlas.d.ts.map +1 -0
- package/dist/compliance/frameworks/mitre-atlas.js +686 -0
- package/dist/compliance/frameworks/mitre-atlas.js.map +1 -0
- package/dist/compliance/frameworks/nist-ai-rmf.d.ts +51 -0
- package/dist/compliance/frameworks/nist-ai-rmf.d.ts.map +1 -0
- package/dist/compliance/frameworks/nist-ai-rmf.js +677 -0
- package/dist/compliance/frameworks/nist-ai-rmf.js.map +1 -0
- package/dist/compliance/frameworks/owasp-llm.d.ts +58 -0
- package/dist/compliance/frameworks/owasp-llm.d.ts.map +1 -0
- package/dist/compliance/frameworks/owasp-llm.js +399 -0
- package/dist/compliance/frameworks/owasp-llm.js.map +1 -0
- package/dist/compliance/gdpr.d.ts +34 -0
- package/dist/compliance/gdpr.d.ts.map +1 -0
- package/dist/compliance/gdpr.js +319 -0
- package/dist/compliance/gdpr.js.map +1 -0
- package/dist/compliance/hipaa.d.ts +29 -0
- package/dist/compliance/hipaa.d.ts.map +1 -0
- package/dist/compliance/hipaa.js +205 -0
- package/dist/compliance/hipaa.js.map +1 -0
- package/dist/compliance/index.d.ts +18 -0
- package/dist/compliance/index.d.ts.map +1 -0
- package/dist/compliance/index.js +26 -0
- package/dist/compliance/index.js.map +1 -0
- package/dist/compliance/iso27001.d.ts +30 -0
- package/dist/compliance/iso27001.d.ts.map +1 -0
- package/dist/compliance/iso27001.js +332 -0
- package/dist/compliance/iso27001.js.map +1 -0
- package/dist/compliance/mapper.d.ts +42 -0
- package/dist/compliance/mapper.d.ts.map +1 -0
- package/dist/compliance/mapper.js +269 -0
- package/dist/compliance/mapper.js.map +1 -0
- package/dist/compliance/mapper.test.d.ts +5 -0
- package/dist/compliance/mapper.test.d.ts.map +1 -0
- package/dist/compliance/mapper.test.js +360 -0
- package/dist/compliance/mapper.test.js.map +1 -0
- package/dist/compliance/pci-dss.d.ts +29 -0
- package/dist/compliance/pci-dss.d.ts.map +1 -0
- package/dist/compliance/pci-dss.js +247 -0
- package/dist/compliance/pci-dss.js.map +1 -0
- package/dist/compliance/report.d.ts +25 -0
- package/dist/compliance/report.d.ts.map +1 -0
- package/dist/compliance/report.js +254 -0
- package/dist/compliance/report.js.map +1 -0
- package/dist/compliance/report.test.d.ts +5 -0
- package/dist/compliance/report.test.d.ts.map +1 -0
- package/dist/compliance/report.test.js +128 -0
- package/dist/compliance/report.test.js.map +1 -0
- package/dist/compliance/soc2.d.ts +30 -0
- package/dist/compliance/soc2.d.ts.map +1 -0
- package/dist/compliance/soc2.js +262 -0
- package/dist/compliance/soc2.js.map +1 -0
- package/dist/compliance/soc2.test.d.ts +5 -0
- package/dist/compliance/soc2.test.d.ts.map +1 -0
- package/dist/compliance/soc2.test.js +86 -0
- package/dist/compliance/soc2.test.js.map +1 -0
- package/dist/compliance/types.d.ts +125 -0
- package/dist/compliance/types.d.ts.map +1 -0
- package/dist/compliance/types.js +10 -0
- package/dist/compliance/types.js.map +1 -0
- package/dist/config/flags.d.ts +456 -0
- package/dist/config/flags.d.ts.map +1 -0
- package/dist/config/flags.js +464 -0
- package/dist/config/flags.js.map +1 -0
- package/dist/config/index.d.ts +10 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +10 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/severity-overrides.d.ts +209 -0
- package/dist/config/severity-overrides.d.ts.map +1 -0
- package/dist/config/severity-overrides.js +380 -0
- package/dist/config/severity-overrides.js.map +1 -0
- package/dist/cost/index.d.ts +11 -0
- package/dist/cost/index.d.ts.map +1 -0
- package/dist/cost/index.js +12 -0
- package/dist/cost/index.js.map +1 -0
- package/dist/cost/pricing.d.ts +57 -0
- package/dist/cost/pricing.d.ts.map +1 -0
- package/dist/cost/pricing.js +196 -0
- package/dist/cost/pricing.js.map +1 -0
- package/dist/cost/pricing.test.d.ts +5 -0
- package/dist/cost/pricing.test.d.ts.map +1 -0
- package/dist/cost/pricing.test.js +195 -0
- package/dist/cost/pricing.test.js.map +1 -0
- package/dist/cost/tracker.d.ts +100 -0
- package/dist/cost/tracker.d.ts.map +1 -0
- package/dist/cost/tracker.js +366 -0
- package/dist/cost/tracker.js.map +1 -0
- package/dist/cost/tracker.test.d.ts +5 -0
- package/dist/cost/tracker.test.d.ts.map +1 -0
- package/dist/cost/tracker.test.js +360 -0
- package/dist/cost/tracker.test.js.map +1 -0
- package/dist/cost/types.d.ts +135 -0
- package/dist/cost/types.d.ts.map +1 -0
- package/dist/cost/types.js +9 -0
- package/dist/cost/types.js.map +1 -0
- package/dist/enterprise/auth/oidc.d.ts +231 -0
- package/dist/enterprise/auth/oidc.d.ts.map +1 -0
- package/dist/enterprise/auth/oidc.js +372 -0
- package/dist/enterprise/auth/oidc.js.map +1 -0
- package/dist/enterprise/auth/oidc.test.d.ts +5 -0
- package/dist/enterprise/auth/oidc.test.d.ts.map +1 -0
- package/dist/enterprise/auth/oidc.test.js +435 -0
- package/dist/enterprise/auth/oidc.test.js.map +1 -0
- package/dist/enterprise/index.d.ts +14 -0
- package/dist/enterprise/index.d.ts.map +1 -0
- package/dist/enterprise/index.js +19 -0
- package/dist/enterprise/index.js.map +1 -0
- package/dist/enterprise/integrations/chat.d.ts +205 -0
- package/dist/enterprise/integrations/chat.d.ts.map +1 -0
- package/dist/enterprise/integrations/chat.js +624 -0
- package/dist/enterprise/integrations/chat.js.map +1 -0
- package/dist/enterprise/integrations/chat.test.d.ts +5 -0
- package/dist/enterprise/integrations/chat.test.d.ts.map +1 -0
- package/dist/enterprise/integrations/chat.test.js +557 -0
- package/dist/enterprise/integrations/chat.test.js.map +1 -0
- package/dist/enterprise/integrations/ticketing.d.ts +257 -0
- package/dist/enterprise/integrations/ticketing.d.ts.map +1 -0
- package/dist/enterprise/integrations/ticketing.js +548 -0
- package/dist/enterprise/integrations/ticketing.js.map +1 -0
- package/dist/enterprise/integrations/ticketing.test.d.ts +5 -0
- package/dist/enterprise/integrations/ticketing.test.d.ts.map +1 -0
- package/dist/enterprise/integrations/ticketing.test.js +693 -0
- package/dist/enterprise/integrations/ticketing.test.js.map +1 -0
- package/dist/enterprise/policy/opa.d.ts +194 -0
- package/dist/enterprise/policy/opa.d.ts.map +1 -0
- package/dist/enterprise/policy/opa.js +385 -0
- package/dist/enterprise/policy/opa.js.map +1 -0
- package/dist/enterprise/policy/opa.test.d.ts +5 -0
- package/dist/enterprise/policy/opa.test.d.ts.map +1 -0
- package/dist/enterprise/policy/opa.test.js +702 -0
- package/dist/enterprise/policy/opa.test.js.map +1 -0
- package/dist/enterprise/signing/kms.d.ts +211 -0
- package/dist/enterprise/signing/kms.d.ts.map +1 -0
- package/dist/enterprise/signing/kms.js +480 -0
- package/dist/enterprise/signing/kms.js.map +1 -0
- package/dist/enterprise/signing/kms.test.d.ts +5 -0
- package/dist/enterprise/signing/kms.test.d.ts.map +1 -0
- package/dist/enterprise/signing/kms.test.js +511 -0
- package/dist/enterprise/signing/kms.test.js.map +1 -0
- package/dist/eval/fixtures.d.ts +58 -0
- package/dist/eval/fixtures.d.ts.map +1 -0
- package/dist/eval/fixtures.js +571 -0
- package/dist/eval/fixtures.js.map +1 -0
- package/dist/eval/fixtures.test.d.ts +5 -0
- package/dist/eval/fixtures.test.d.ts.map +1 -0
- package/dist/eval/fixtures.test.js +193 -0
- package/dist/eval/fixtures.test.js.map +1 -0
- package/dist/eval/harness.d.ts +30 -0
- package/dist/eval/harness.d.ts.map +1 -0
- package/dist/eval/harness.js +221 -0
- package/dist/eval/harness.js.map +1 -0
- package/dist/eval/harness.test.d.ts +5 -0
- package/dist/eval/harness.test.d.ts.map +1 -0
- package/dist/eval/harness.test.js +314 -0
- package/dist/eval/harness.test.js.map +1 -0
- package/dist/eval/index.d.ts +15 -0
- package/dist/eval/index.d.ts.map +1 -0
- package/dist/eval/index.js +18 -0
- package/dist/eval/index.js.map +1 -0
- package/dist/eval/metrics.d.ts +56 -0
- package/dist/eval/metrics.d.ts.map +1 -0
- package/dist/eval/metrics.js +298 -0
- package/dist/eval/metrics.js.map +1 -0
- package/dist/eval/metrics.test.d.ts +5 -0
- package/dist/eval/metrics.test.d.ts.map +1 -0
- package/dist/eval/metrics.test.js +426 -0
- package/dist/eval/metrics.test.js.map +1 -0
- package/dist/eval/report.d.ts +30 -0
- package/dist/eval/report.d.ts.map +1 -0
- package/dist/eval/report.js +333 -0
- package/dist/eval/report.js.map +1 -0
- package/dist/eval/report.test.d.ts +5 -0
- package/dist/eval/report.test.d.ts.map +1 -0
- package/dist/eval/report.test.js +275 -0
- package/dist/eval/report.test.js.map +1 -0
- package/dist/eval/types.d.ts +234 -0
- package/dist/eval/types.d.ts.map +1 -0
- package/dist/eval/types.js +27 -0
- package/dist/eval/types.js.map +1 -0
- package/dist/http-server.d.ts +3 -0
- package/dist/http-server.d.ts.map +1 -0
- package/dist/http-server.js +127 -0
- package/dist/http-server.js.map +1 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4120 -0
- package/dist/index.js.map +1 -0
- package/dist/logger.d.ts +46 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +131 -0
- package/dist/logger.js.map +1 -0
- package/dist/multimodel/consensus.d.ts +49 -0
- package/dist/multimodel/consensus.d.ts.map +1 -0
- package/dist/multimodel/consensus.js +454 -0
- package/dist/multimodel/consensus.js.map +1 -0
- package/dist/multimodel/consensus.test.d.ts +5 -0
- package/dist/multimodel/consensus.test.d.ts.map +1 -0
- package/dist/multimodel/consensus.test.js +415 -0
- package/dist/multimodel/consensus.test.js.map +1 -0
- package/dist/multimodel/index.d.ts +13 -0
- package/dist/multimodel/index.d.ts.map +1 -0
- package/dist/multimodel/index.js +14 -0
- package/dist/multimodel/index.js.map +1 -0
- package/dist/multimodel/runner.d.ts +95 -0
- package/dist/multimodel/runner.d.ts.map +1 -0
- package/dist/multimodel/runner.js +312 -0
- package/dist/multimodel/runner.js.map +1 -0
- package/dist/multimodel/runner.test.d.ts +5 -0
- package/dist/multimodel/runner.test.d.ts.map +1 -0
- package/dist/multimodel/runner.test.js +224 -0
- package/dist/multimodel/runner.test.js.map +1 -0
- package/dist/multimodel/types.d.ts +202 -0
- package/dist/multimodel/types.d.ts.map +1 -0
- package/dist/multimodel/types.js +10 -0
- package/dist/multimodel/types.js.map +1 -0
- package/dist/observability/index.d.ts +9 -0
- package/dist/observability/index.d.ts.map +1 -0
- package/dist/observability/index.js +9 -0
- package/dist/observability/index.js.map +1 -0
- package/dist/observability/otel.d.ts +102 -0
- package/dist/observability/otel.d.ts.map +1 -0
- package/dist/observability/otel.js +284 -0
- package/dist/observability/otel.js.map +1 -0
- package/dist/plugins/index.d.ts +10 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +10 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/loader.d.ts +78 -0
- package/dist/plugins/loader.d.ts.map +1 -0
- package/dist/plugins/loader.js +470 -0
- package/dist/plugins/loader.js.map +1 -0
- package/dist/plugins/types.d.ts +304 -0
- package/dist/plugins/types.d.ts.map +1 -0
- package/dist/plugins/types.js +100 -0
- package/dist/plugins/types.js.map +1 -0
- package/dist/sbom/cyclonedx.d.ts +30 -0
- package/dist/sbom/cyclonedx.d.ts.map +1 -0
- package/dist/sbom/cyclonedx.js +392 -0
- package/dist/sbom/cyclonedx.js.map +1 -0
- package/dist/sbom/cyclonedx.test.d.ts +5 -0
- package/dist/sbom/cyclonedx.test.d.ts.map +1 -0
- package/dist/sbom/cyclonedx.test.js +244 -0
- package/dist/sbom/cyclonedx.test.js.map +1 -0
- package/dist/sbom/index.d.ts +13 -0
- package/dist/sbom/index.d.ts.map +1 -0
- package/dist/sbom/index.js +15 -0
- package/dist/sbom/index.js.map +1 -0
- package/dist/sbom/provenance.d.ts +37 -0
- package/dist/sbom/provenance.d.ts.map +1 -0
- package/dist/sbom/provenance.js +268 -0
- package/dist/sbom/provenance.js.map +1 -0
- package/dist/sbom/provenance.test.d.ts +5 -0
- package/dist/sbom/provenance.test.d.ts.map +1 -0
- package/dist/sbom/provenance.test.js +189 -0
- package/dist/sbom/provenance.test.js.map +1 -0
- package/dist/sbom/signing.d.ts +87 -0
- package/dist/sbom/signing.d.ts.map +1 -0
- package/dist/sbom/signing.js +354 -0
- package/dist/sbom/signing.js.map +1 -0
- package/dist/sbom/signing.test.d.ts +5 -0
- package/dist/sbom/signing.test.d.ts.map +1 -0
- package/dist/sbom/signing.test.js +170 -0
- package/dist/sbom/signing.test.js.map +1 -0
- package/dist/sbom/types.d.ts +384 -0
- package/dist/sbom/types.d.ts.map +1 -0
- package/dist/sbom/types.js +17 -0
- package/dist/sbom/types.js.map +1 -0
- package/dist/scanners/agent/credential-scope-audit.d.ts +40 -0
- package/dist/scanners/agent/credential-scope-audit.d.ts.map +1 -0
- package/dist/scanners/agent/credential-scope-audit.js +404 -0
- package/dist/scanners/agent/credential-scope-audit.js.map +1 -0
- package/dist/scanners/agent/exfil-path-graph.d.ts +50 -0
- package/dist/scanners/agent/exfil-path-graph.d.ts.map +1 -0
- package/dist/scanners/agent/exfil-path-graph.js +764 -0
- package/dist/scanners/agent/exfil-path-graph.js.map +1 -0
- package/dist/scanners/agent/index.d.ts +43 -0
- package/dist/scanners/agent/index.d.ts.map +1 -0
- package/dist/scanners/agent/index.js +616 -0
- package/dist/scanners/agent/index.js.map +1 -0
- package/dist/scanners/agent/manifest-audit.d.ts +43 -0
- package/dist/scanners/agent/manifest-audit.d.ts.map +1 -0
- package/dist/scanners/agent/manifest-audit.js +403 -0
- package/dist/scanners/agent/manifest-audit.js.map +1 -0
- package/dist/scanners/agent/payloads/index.d.ts +44 -0
- package/dist/scanners/agent/payloads/index.d.ts.map +1 -0
- package/dist/scanners/agent/payloads/index.js +184 -0
- package/dist/scanners/agent/payloads/index.js.map +1 -0
- package/dist/scanners/agent/permission-minimiser.d.ts +48 -0
- package/dist/scanners/agent/permission-minimiser.d.ts.map +1 -0
- package/dist/scanners/agent/permission-minimiser.js +551 -0
- package/dist/scanners/agent/permission-minimiser.js.map +1 -0
- package/dist/scanners/agent/prompt-injection-fuzzer.d.ts +39 -0
- package/dist/scanners/agent/prompt-injection-fuzzer.d.ts.map +1 -0
- package/dist/scanners/agent/prompt-injection-fuzzer.js +720 -0
- package/dist/scanners/agent/prompt-injection-fuzzer.js.map +1 -0
- package/dist/scanners/agent/sandbox-audit.d.ts +44 -0
- package/dist/scanners/agent/sandbox-audit.d.ts.map +1 -0
- package/dist/scanners/agent/sandbox-audit.js +425 -0
- package/dist/scanners/agent/sandbox-audit.js.map +1 -0
- package/dist/scanners/agent/supply-chain-mcp.d.ts +53 -0
- package/dist/scanners/agent/supply-chain-mcp.d.ts.map +1 -0
- package/dist/scanners/agent/supply-chain-mcp.js +479 -0
- package/dist/scanners/agent/supply-chain-mcp.js.map +1 -0
- package/dist/scanners/agent/tool-description-drift.d.ts +62 -0
- package/dist/scanners/agent/tool-description-drift.d.ts.map +1 -0
- package/dist/scanners/agent/tool-description-drift.js +365 -0
- package/dist/scanners/agent/tool-description-drift.js.map +1 -0
- package/dist/scanners/agent/types.d.ts +840 -0
- package/dist/scanners/agent/types.d.ts.map +1 -0
- package/dist/scanners/agent/types.js +149 -0
- package/dist/scanners/agent/types.js.map +1 -0
- package/dist/scanners/bandit.d.ts +25 -0
- package/dist/scanners/bandit.d.ts.map +1 -0
- package/dist/scanners/bandit.js +129 -0
- package/dist/scanners/bandit.js.map +1 -0
- package/dist/scanners/binary-analysis.d.ts +41 -0
- package/dist/scanners/binary-analysis.d.ts.map +1 -0
- package/dist/scanners/binary-analysis.js +587 -0
- package/dist/scanners/binary-analysis.js.map +1 -0
- package/dist/scanners/binary-analysis.test.d.ts +5 -0
- package/dist/scanners/binary-analysis.test.d.ts.map +1 -0
- package/dist/scanners/binary-analysis.test.js +291 -0
- package/dist/scanners/binary-analysis.test.js.map +1 -0
- package/dist/scanners/brakeman.d.ts +30 -0
- package/dist/scanners/brakeman.d.ts.map +1 -0
- package/dist/scanners/brakeman.js +271 -0
- package/dist/scanners/brakeman.js.map +1 -0
- package/dist/scanners/dependencies.d.ts +22 -0
- package/dist/scanners/dependencies.d.ts.map +1 -0
- package/dist/scanners/dependencies.js +202 -0
- package/dist/scanners/dependencies.js.map +1 -0
- package/dist/scanners/dependencies.test.d.ts +5 -0
- package/dist/scanners/dependencies.test.d.ts.map +1 -0
- package/dist/scanners/dependencies.test.js +185 -0
- package/dist/scanners/dependencies.test.js.map +1 -0
- package/dist/scanners/eslint.d.ts +25 -0
- package/dist/scanners/eslint.d.ts.map +1 -0
- package/dist/scanners/eslint.js +220 -0
- package/dist/scanners/eslint.js.map +1 -0
- package/dist/scanners/gosec.d.ts +25 -0
- package/dist/scanners/gosec.d.ts.map +1 -0
- package/dist/scanners/gosec.js +128 -0
- package/dist/scanners/gosec.js.map +1 -0
- package/dist/scanners/index.d.ts +128 -0
- package/dist/scanners/index.d.ts.map +1 -0
- package/dist/scanners/index.js +811 -0
- package/dist/scanners/index.js.map +1 -0
- package/dist/scanners/index.test.d.ts +5 -0
- package/dist/scanners/index.test.d.ts.map +1 -0
- package/dist/scanners/index.test.js +424 -0
- package/dist/scanners/index.test.js.map +1 -0
- package/dist/scanners/memory-safety.d.ts +44 -0
- package/dist/scanners/memory-safety.d.ts.map +1 -0
- package/dist/scanners/memory-safety.js +571 -0
- package/dist/scanners/memory-safety.js.map +1 -0
- package/dist/scanners/memory-safety.test.d.ts +5 -0
- package/dist/scanners/memory-safety.test.d.ts.map +1 -0
- package/dist/scanners/memory-safety.test.js +321 -0
- package/dist/scanners/memory-safety.test.js.map +1 -0
- package/dist/scanners/race-condition.d.ts +25 -0
- package/dist/scanners/race-condition.d.ts.map +1 -0
- package/dist/scanners/race-condition.js +443 -0
- package/dist/scanners/race-condition.js.map +1 -0
- package/dist/scanners/race-condition.test.d.ts +5 -0
- package/dist/scanners/race-condition.test.d.ts.map +1 -0
- package/dist/scanners/race-condition.test.js +428 -0
- package/dist/scanners/race-condition.test.js.map +1 -0
- package/dist/scanners/secrets.d.ts +25 -0
- package/dist/scanners/secrets.d.ts.map +1 -0
- package/dist/scanners/secrets.js +367 -0
- package/dist/scanners/secrets.js.map +1 -0
- package/dist/scanners/secrets.test.d.ts +5 -0
- package/dist/scanners/secrets.test.d.ts.map +1 -0
- package/dist/scanners/secrets.test.js +160 -0
- package/dist/scanners/secrets.test.js.map +1 -0
- package/dist/scanners/semgrep.d.ts +33 -0
- package/dist/scanners/semgrep.d.ts.map +1 -0
- package/dist/scanners/semgrep.js +350 -0
- package/dist/scanners/semgrep.js.map +1 -0
- package/dist/scanners/semgrep.test.d.ts +8 -0
- package/dist/scanners/semgrep.test.d.ts.map +1 -0
- package/dist/scanners/semgrep.test.js +254 -0
- package/dist/scanners/semgrep.test.js.map +1 -0
- package/dist/scanners/trivy.d.ts +26 -0
- package/dist/scanners/trivy.d.ts.map +1 -0
- package/dist/scanners/trivy.js +187 -0
- package/dist/scanners/trivy.js.map +1 -0
- package/dist/scanners/types.d.ts +210 -0
- package/dist/scanners/types.d.ts.map +1 -0
- package/dist/scanners/types.js +106 -0
- package/dist/scanners/types.js.map +1 -0
- package/dist/scanners/types.test.d.ts +5 -0
- package/dist/scanners/types.test.d.ts.map +1 -0
- package/dist/scanners/types.test.js +103 -0
- package/dist/scanners/types.test.js.map +1 -0
- package/dist/scanners/typescript.d.ts +32 -0
- package/dist/scanners/typescript.d.ts.map +1 -0
- package/dist/scanners/typescript.js +300 -0
- package/dist/scanners/typescript.js.map +1 -0
- package/dist/scanners/typescript.test.d.ts +5 -0
- package/dist/scanners/typescript.test.d.ts.map +1 -0
- package/dist/scanners/typescript.test.js +296 -0
- package/dist/scanners/typescript.test.js.map +1 -0
- package/dist/transcripts/index.d.ts +13 -0
- package/dist/transcripts/index.d.ts.map +1 -0
- package/dist/transcripts/index.js +17 -0
- package/dist/transcripts/index.js.map +1 -0
- package/dist/transcripts/logger.d.ts +190 -0
- package/dist/transcripts/logger.d.ts.map +1 -0
- package/dist/transcripts/logger.js +385 -0
- package/dist/transcripts/logger.js.map +1 -0
- package/dist/transcripts/logger.test.d.ts +5 -0
- package/dist/transcripts/logger.test.d.ts.map +1 -0
- package/dist/transcripts/logger.test.js +227 -0
- package/dist/transcripts/logger.test.js.map +1 -0
- package/dist/transcripts/redaction.d.ts +125 -0
- package/dist/transcripts/redaction.d.ts.map +1 -0
- package/dist/transcripts/redaction.js +416 -0
- package/dist/transcripts/redaction.js.map +1 -0
- package/dist/transcripts/redaction.test.d.ts +5 -0
- package/dist/transcripts/redaction.test.d.ts.map +1 -0
- package/dist/transcripts/redaction.test.js +267 -0
- package/dist/transcripts/redaction.test.js.map +1 -0
- package/dist/transcripts/signing.d.ts +108 -0
- package/dist/transcripts/signing.d.ts.map +1 -0
- package/dist/transcripts/signing.js +173 -0
- package/dist/transcripts/signing.js.map +1 -0
- package/dist/transcripts/verifier.d.ts +133 -0
- package/dist/transcripts/verifier.d.ts.map +1 -0
- package/dist/transcripts/verifier.js +489 -0
- package/dist/transcripts/verifier.js.map +1 -0
- package/dist/transcripts/verifier.test.d.ts +5 -0
- package/dist/transcripts/verifier.test.d.ts.map +1 -0
- package/dist/transcripts/verifier.test.js +330 -0
- package/dist/transcripts/verifier.test.js.map +1 -0
- package/dist/util/concurrency.d.ts +221 -0
- package/dist/util/concurrency.d.ts.map +1 -0
- package/dist/util/concurrency.js +339 -0
- package/dist/util/concurrency.js.map +1 -0
- package/dist/util/index.d.ts +12 -0
- package/dist/util/index.d.ts.map +1 -0
- package/dist/util/index.js +12 -0
- package/dist/util/index.js.map +1 -0
- package/dist/util/json.d.ts +63 -0
- package/dist/util/json.d.ts.map +1 -0
- package/dist/util/json.js +134 -0
- package/dist/util/json.js.map +1 -0
- package/dist/util/paths.d.ts +56 -0
- package/dist/util/paths.d.ts.map +1 -0
- package/dist/util/paths.js +128 -0
- package/dist/util/paths.js.map +1 -0
- package/dist/util/retry.d.ts +185 -0
- package/dist/util/retry.d.ts.map +1 -0
- package/dist/util/retry.js +338 -0
- package/dist/util/retry.js.map +1 -0
- package/package.json +79 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../../../src/commands/audits/deps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,eAAO,MAAM,IAAI,EAAE,gBAsDlB,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export const deps = {
|
|
2
|
+
name: "deps",
|
|
3
|
+
description: "Dependency audit — outdated packages, vulnerabilities, unused deps, missing peers",
|
|
4
|
+
content: `Perform a comprehensive dependency audit.
|
|
5
|
+
|
|
6
|
+
## 1. Security Vulnerabilities
|
|
7
|
+
- Run \`npm audit\` or \`pnpm audit\`
|
|
8
|
+
- List all vulnerabilities by severity (critical, high, moderate, low)
|
|
9
|
+
- For each: package name, vulnerability, fix available?
|
|
10
|
+
- Run \`npm audit fix\` for safe auto-fixes (no breaking changes)
|
|
11
|
+
- List vulnerabilities that require manual intervention
|
|
12
|
+
|
|
13
|
+
## 2. Outdated Packages
|
|
14
|
+
- Run \`npm outdated\` or equivalent
|
|
15
|
+
- Categorize:
|
|
16
|
+
- **CRITICAL**: Major versions behind on security-sensitive packages (next, react, supabase, auth libs)
|
|
17
|
+
- **RECOMMENDED**: Minor/patch updates available
|
|
18
|
+
- **OPTIONAL**: Major version updates that may have breaking changes
|
|
19
|
+
- For critical packages, check changelogs for breaking changes
|
|
20
|
+
|
|
21
|
+
## 3. Unused Dependencies
|
|
22
|
+
- Scan package.json dependencies
|
|
23
|
+
- For each, search the codebase for actual usage
|
|
24
|
+
- List packages that appear unused (no imports found)
|
|
25
|
+
- Check for packages only used in config files (postcss, tailwind plugins, etc.)
|
|
26
|
+
|
|
27
|
+
## 4. Missing Peer Dependencies
|
|
28
|
+
- Check for peer dependency warnings
|
|
29
|
+
- Ensure all required peers are installed
|
|
30
|
+
|
|
31
|
+
## 5. Duplicate Packages
|
|
32
|
+
- Check for multiple versions of the same package in node_modules
|
|
33
|
+
- List duplicates and which packages require them
|
|
34
|
+
|
|
35
|
+
## Output: DEPS-AUDIT.md
|
|
36
|
+
|
|
37
|
+
### Summary
|
|
38
|
+
- Vulnerabilities: X critical, X high, X moderate
|
|
39
|
+
- Outdated: X packages
|
|
40
|
+
- Unused: X packages (X KB potential savings)
|
|
41
|
+
- Missing peers: X
|
|
42
|
+
|
|
43
|
+
### Action Items (prioritized)
|
|
44
|
+
1. [CRITICAL] Update package-x to fix CVE-XXXX
|
|
45
|
+
2. [HIGH] Remove unused dep-y
|
|
46
|
+
...
|
|
47
|
+
|
|
48
|
+
### Safe to Auto-Fix
|
|
49
|
+
List commands that can be run safely:
|
|
50
|
+
\`\`\`bash
|
|
51
|
+
npm audit fix
|
|
52
|
+
npm update package-a package-b
|
|
53
|
+
npm uninstall unused-package
|
|
54
|
+
\`\`\``
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=deps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deps.js","sourceRoot":"","sources":["../../../src/commands/audits/deps.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,IAAI,GAAqB;IACpC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,mFAAmF;IAChG,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkDJ;CACN,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/commands/audits/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,eAAO,MAAM,MAAM,EAAE,gBA+DpB,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
export const errors = {
|
|
2
|
+
name: "errors",
|
|
3
|
+
description: "Error handling audit — unhandled promises, missing boundaries, incomplete error states",
|
|
4
|
+
content: `Audit error handling completeness across the codebase.
|
|
5
|
+
|
|
6
|
+
## 1. Unhandled Promise Rejections
|
|
7
|
+
Scan every async function and Promise for:
|
|
8
|
+
- await without try/catch
|
|
9
|
+
- .then() without .catch()
|
|
10
|
+
- Promise.all/race/allSettled without error handling
|
|
11
|
+
- Supabase queries without checking .error
|
|
12
|
+
- fetch() calls without checking response.ok
|
|
13
|
+
|
|
14
|
+
For each: file:line, the async operation, what could fail
|
|
15
|
+
|
|
16
|
+
## 2. React Error Boundaries
|
|
17
|
+
- Check if root layout has an Error Boundary
|
|
18
|
+
- Check if major data-fetching sections have boundaries
|
|
19
|
+
- Check if error.tsx exists for each route segment (Next.js)
|
|
20
|
+
- Verify boundaries have useful fallback UI, not just "Something went wrong"
|
|
21
|
+
|
|
22
|
+
## 3. API Route Error Handling
|
|
23
|
+
For every API route and server action:
|
|
24
|
+
- Does it have a top-level try/catch?
|
|
25
|
+
- Does it return consistent error shapes?
|
|
26
|
+
- Does it avoid leaking stack traces to client?
|
|
27
|
+
- Does it log errors with context?
|
|
28
|
+
- Does it return appropriate HTTP status codes?
|
|
29
|
+
|
|
30
|
+
## 4. Form Error States
|
|
31
|
+
For every form component:
|
|
32
|
+
- Does it display validation errors?
|
|
33
|
+
- Does it handle submission errors?
|
|
34
|
+
- Does it disable submit button during submission?
|
|
35
|
+
- Does it show error messages clearly?
|
|
36
|
+
|
|
37
|
+
## 5. Data Fetching Error States
|
|
38
|
+
For every component that fetches data:
|
|
39
|
+
- Does it handle loading state?
|
|
40
|
+
- Does it handle error state with retry option?
|
|
41
|
+
- Does it handle empty state?
|
|
42
|
+
- Does it handle partial failures (some data loads, some fails)?
|
|
43
|
+
|
|
44
|
+
## 6. External Service Failures
|
|
45
|
+
For every external API call (Stripe, SendGrid, etc.):
|
|
46
|
+
- Is there timeout handling?
|
|
47
|
+
- Is there retry logic for transient failures?
|
|
48
|
+
- Is there graceful degradation?
|
|
49
|
+
|
|
50
|
+
## Output: ERROR-HANDLING-REPORT.md
|
|
51
|
+
|
|
52
|
+
### Risk Summary
|
|
53
|
+
- Unhandled async operations: X (CRITICAL if > 0)
|
|
54
|
+
- Missing error boundaries: X locations
|
|
55
|
+
- API routes without proper error handling: X
|
|
56
|
+
- Forms without error display: X
|
|
57
|
+
- Components without error states: X
|
|
58
|
+
|
|
59
|
+
### Critical Fixes Required
|
|
60
|
+
[List each unhandled async operation with fix]
|
|
61
|
+
|
|
62
|
+
### Recommended Improvements
|
|
63
|
+
[Prioritized list of error handling improvements]`
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/commands/audits/errors.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,MAAM,GAAqB;IACtC,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,wFAAwF;IACrG,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kDA2DuC;CACjD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/audits/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAQpD,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAOrD,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { deps } from "./deps.js";
|
|
2
|
+
import { deadcode } from "./deadcode.js";
|
|
3
|
+
import { errors } from "./errors.js";
|
|
4
|
+
import { secrets } from "./secrets.js";
|
|
5
|
+
import { apiCheck } from "./api-check.js";
|
|
6
|
+
import { perf } from "./perf.js";
|
|
7
|
+
export const COMMANDS = {
|
|
8
|
+
deps,
|
|
9
|
+
deadcode,
|
|
10
|
+
errors,
|
|
11
|
+
secrets,
|
|
12
|
+
"api-check": apiCheck,
|
|
13
|
+
perf,
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/audits/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,CAAC,MAAM,QAAQ,GAAqC;IACxD,IAAI;IACJ,QAAQ;IACR,MAAM;IACN,OAAO;IACP,WAAW,EAAE,QAAQ;IACrB,IAAI;CACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"perf.d.ts","sourceRoot":"","sources":["../../../src/commands/audits/perf.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,eAAO,MAAM,IAAI,EAAE,gBAmFlB,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
export const perf = {
|
|
2
|
+
name: "perf",
|
|
3
|
+
description: "Performance audit — N+1 queries, bundle size, missing pagination, unoptimized images",
|
|
4
|
+
content: `Audit for common performance issues.
|
|
5
|
+
|
|
6
|
+
## 1. Database Query Analysis
|
|
7
|
+
Scan for N+1 query patterns:
|
|
8
|
+
- Loops that make database calls (for/forEach/map containing await supabase)
|
|
9
|
+
- Multiple sequential queries that could be joined
|
|
10
|
+
- Missing .select() specificity (selecting * when only needing 2 fields)
|
|
11
|
+
- Missing indexes (queries filtering on non-indexed columns)
|
|
12
|
+
|
|
13
|
+
For Supabase specifically:
|
|
14
|
+
- .single() calls that could fail on 0 or 2+ results
|
|
15
|
+
- Missing .limit() on potentially large result sets
|
|
16
|
+
- Realtime subscriptions on entire tables vs filtered
|
|
17
|
+
|
|
18
|
+
## 2. Missing Pagination
|
|
19
|
+
Find all data-fetching operations that:
|
|
20
|
+
- Return unbounded arrays
|
|
21
|
+
- Don't accept page/limit parameters
|
|
22
|
+
- Could return 1000+ rows
|
|
23
|
+
|
|
24
|
+
## 3. Bundle Size Analysis
|
|
25
|
+
- Check for large dependencies imported unnecessarily
|
|
26
|
+
- Identify dynamic imports that should be used (heavy components loaded on all pages)
|
|
27
|
+
- Find barrel imports that include unused code (import { x } from 'lodash' vs 'lodash/x')
|
|
28
|
+
- Check if next/dynamic or React.lazy is used for heavy components
|
|
29
|
+
|
|
30
|
+
## 4. Image Optimization
|
|
31
|
+
Scan for:
|
|
32
|
+
- Images not using next/image (or equivalent)
|
|
33
|
+
- Missing width/height props (causes layout shift)
|
|
34
|
+
- Large images served without srcset
|
|
35
|
+
- Images in public/ that should be optimized
|
|
36
|
+
- Missing blur placeholder for LCP images
|
|
37
|
+
|
|
38
|
+
## 5. API Response Size
|
|
39
|
+
Check API routes for:
|
|
40
|
+
- Returning more data than needed (full objects when only ID needed)
|
|
41
|
+
- Missing field selection
|
|
42
|
+
- No response compression
|
|
43
|
+
- Large payloads that should be paginated
|
|
44
|
+
|
|
45
|
+
## 6. Client-Side Performance
|
|
46
|
+
Scan components for:
|
|
47
|
+
- Heavy computations without useMemo
|
|
48
|
+
- Unnecessary re-renders (object/array literals in deps)
|
|
49
|
+
- Event handlers recreated on every render
|
|
50
|
+
- Missing key props on lists
|
|
51
|
+
- Expensive operations in render (should be in useEffect)
|
|
52
|
+
|
|
53
|
+
## 7. Caching Opportunities
|
|
54
|
+
Identify:
|
|
55
|
+
- Repeated identical API calls
|
|
56
|
+
- Data that changes rarely but is fetched frequently
|
|
57
|
+
- Missing revalidation strategies
|
|
58
|
+
- No ISR on mostly-static pages
|
|
59
|
+
|
|
60
|
+
## Output: PERF-AUDIT.md
|
|
61
|
+
|
|
62
|
+
### Critical Issues (will cause production problems)
|
|
63
|
+
- N+1 queries: X locations
|
|
64
|
+
- Unbounded queries: X locations
|
|
65
|
+
|
|
66
|
+
### High Impact Improvements
|
|
67
|
+
| Issue | Location | Impact | Fix |
|
|
68
|
+
|-------|----------|--------|-----|
|
|
69
|
+
| N+1 in user list | pages/users.tsx:45 | High | Use .in() query |
|
|
70
|
+
|
|
71
|
+
### Bundle Size
|
|
72
|
+
- Largest dependencies: [list]
|
|
73
|
+
- Candidates for dynamic import: [list]
|
|
74
|
+
- Unused imports: [list]
|
|
75
|
+
|
|
76
|
+
### Image Optimization
|
|
77
|
+
- X images not using next/image
|
|
78
|
+
- X images missing dimensions
|
|
79
|
+
|
|
80
|
+
### Recommended Actions (prioritized by impact)
|
|
81
|
+
1. Fix N+1 query in X
|
|
82
|
+
2. Add pagination to Y endpoint
|
|
83
|
+
3. Dynamic import Z component`
|
|
84
|
+
};
|
|
85
|
+
//# sourceMappingURL=perf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"perf.js","sourceRoot":"","sources":["../../../src/commands/audits/perf.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,IAAI,GAAqB;IACpC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,sFAAsF;IACnG,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BA+EmB;CAC7B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../../src/commands/audits/secrets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,eAAO,MAAM,OAAO,EAAE,gBAqErB,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
export const secrets = {
|
|
2
|
+
name: "secrets",
|
|
3
|
+
description: "Secrets and environment audit — hardcoded keys, env validation, missing documentation",
|
|
4
|
+
content: `Audit secrets management and environment configuration.
|
|
5
|
+
|
|
6
|
+
## 1. Hardcoded Secrets Scan
|
|
7
|
+
Search entire codebase for:
|
|
8
|
+
- API keys (patterns: sk_live, pk_live, api_key=, apiKey:, Bearer)
|
|
9
|
+
- Database URLs (postgres://, mysql://, mongodb://)
|
|
10
|
+
- AWS credentials (AKIA, aws_secret)
|
|
11
|
+
- Private keys (-----BEGIN RSA PRIVATE KEY-----)
|
|
12
|
+
- OAuth secrets (client_secret)
|
|
13
|
+
- Webhook secrets
|
|
14
|
+
- JWT secrets
|
|
15
|
+
- Encryption keys
|
|
16
|
+
- Service account JSON
|
|
17
|
+
|
|
18
|
+
CRITICAL: Any match in non-env files is a security incident.
|
|
19
|
+
|
|
20
|
+
## 2. Environment Variable Usage
|
|
21
|
+
Scan for all process.env.* usage:
|
|
22
|
+
- List every environment variable the app expects
|
|
23
|
+
- Check if each has a fallback or throws on missing
|
|
24
|
+
- Check if validation exists (Zod schema, t3-env, etc.)
|
|
25
|
+
- Identify variables used but not documented
|
|
26
|
+
|
|
27
|
+
## 3. Env File Analysis
|
|
28
|
+
Check .env.example or .env.template:
|
|
29
|
+
- Does it exist?
|
|
30
|
+
- Does it list ALL required variables?
|
|
31
|
+
- Are there variables in code not in the template?
|
|
32
|
+
- Are there template variables no longer used?
|
|
33
|
+
|
|
34
|
+
## 4. Client-Side Exposure
|
|
35
|
+
In Next.js/React:
|
|
36
|
+
- Check for NEXT_PUBLIC_* variables
|
|
37
|
+
- Ensure no secret should be NEXT_PUBLIC_
|
|
38
|
+
- Verify client-side code doesn't access non-public env vars
|
|
39
|
+
|
|
40
|
+
## 5. Git History Check
|
|
41
|
+
- Check if .env files were ever committed (even if now in .gitignore)
|
|
42
|
+
- Check if secrets appear in any committed file's history
|
|
43
|
+
- Warn: if secrets were committed, they must be rotated
|
|
44
|
+
|
|
45
|
+
## 6. Doppler/Secrets Manager Integration
|
|
46
|
+
- Check if using Doppler, Vault, AWS Secrets Manager, etc.
|
|
47
|
+
- Verify all production secrets are in secrets manager, not env files
|
|
48
|
+
- Check for proper environment separation (dev/staging/prod)
|
|
49
|
+
|
|
50
|
+
## Output: SECRETS-AUDIT.md
|
|
51
|
+
|
|
52
|
+
### CRITICAL ISSUES (fix immediately)
|
|
53
|
+
- Hardcoded secrets found: [list with file:line]
|
|
54
|
+
- Secrets committed to git history: [list]
|
|
55
|
+
|
|
56
|
+
### Environment Variables
|
|
57
|
+
| Variable | Used In | Documented | Has Validation |
|
|
58
|
+
|----------|---------|------------|----------------|
|
|
59
|
+
| DATABASE_URL | lib/db.ts | ✓ | ✗ |
|
|
60
|
+
|
|
61
|
+
### Missing from .env.example
|
|
62
|
+
- STRIPE_WEBHOOK_SECRET
|
|
63
|
+
- RESEND_API_KEY
|
|
64
|
+
|
|
65
|
+
### Recommendations
|
|
66
|
+
1. Rotate any exposed secrets
|
|
67
|
+
2. Add env validation with Zod
|
|
68
|
+
3. Update .env.example
|
|
69
|
+
4. Set up Doppler for production`
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=secrets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../../src/commands/audits/secrets.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,OAAO,GAAqB;IACvC,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,uFAAuF;IACpG,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAiEsB;CAChC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"certify.d.ts","sourceRoot":"","sources":["../../../src/commands/certification/certify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,eAAO,MAAM,OAAO,EAAE,gBA0GrB,CAAC"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
export const certify = {
|
|
2
|
+
name: "certify",
|
|
3
|
+
description: "Full enterprise certification pipeline — runs all agents and produces certification",
|
|
4
|
+
content: `Run the complete enterprise certification pipeline.
|
|
5
|
+
|
|
6
|
+
## Overview
|
|
7
|
+
|
|
8
|
+
This command orchestrates a multi-agent validation process to certify a codebase for enterprise deployment. Multiple specialized agents run in parallel, cross-verify findings, and an adversarial red team validates the results.
|
|
9
|
+
|
|
10
|
+
## Process
|
|
11
|
+
|
|
12
|
+
### Phase 1: Initialize Certification
|
|
13
|
+
- Generate certification ID: cert-{project}-{timestamp}
|
|
14
|
+
- Create certification directory: .vaspera/certifications/{id}/
|
|
15
|
+
- Call certification_start to initialize
|
|
16
|
+
|
|
17
|
+
### Phase 2: Parallel Agent Execution
|
|
18
|
+
Run these agents IN PARALLEL (use Claude Code's Task tool with multiple agents):
|
|
19
|
+
|
|
20
|
+
1. **Security Agent** - Run /certification-security
|
|
21
|
+
2. **Reliability Agent** - Run /certification-reliability
|
|
22
|
+
3. **TypeSafety Agent** - Run /certification-typesafety
|
|
23
|
+
4. **Performance Agent** - Run /certification-performance
|
|
24
|
+
5. **Quality Agent** - Run /certification-quality
|
|
25
|
+
|
|
26
|
+
Each agent scans the codebase and outputs findings. There are two modes:
|
|
27
|
+
|
|
28
|
+
**Option A: Direct MCP (if running in main session)**
|
|
29
|
+
- Agents call agent_submit_finding for each finding
|
|
30
|
+
- Agents call agent_complete with summary
|
|
31
|
+
|
|
32
|
+
**Option B: JSON Output (if running as subagents via Task tool)**
|
|
33
|
+
Since subagents don't have MCP tool access, they output findings as JSON.
|
|
34
|
+
After ALL agents complete, YOU (the main orchestrator) must:
|
|
35
|
+
1. Parse the JSON output from each subagent's response
|
|
36
|
+
2. Call agent_submit_finding for EACH finding from each agent
|
|
37
|
+
3. Call agent_complete for each agent's summary
|
|
38
|
+
|
|
39
|
+
The JSON format each agent outputs:
|
|
40
|
+
\`\`\`json
|
|
41
|
+
{
|
|
42
|
+
"agent": "security",
|
|
43
|
+
"findings": [...],
|
|
44
|
+
"summary": {...}
|
|
45
|
+
}
|
|
46
|
+
\`\`\`
|
|
47
|
+
|
|
48
|
+
Submit each finding and summary via MCP tools before proceeding to Phase 3
|
|
49
|
+
|
|
50
|
+
### Phase 3: Cross-Verification
|
|
51
|
+
After all 5 agents complete, critical findings must be cross-verified:
|
|
52
|
+
|
|
53
|
+
**Option A: Automatic (Recommended)**
|
|
54
|
+
- Call certification_cross_verify with mode: "auto"
|
|
55
|
+
- System automatically verifies critical findings based on agent domain overlap
|
|
56
|
+
- Security findings verified by Reliability + RedTeam
|
|
57
|
+
- Reliability findings verified by Security + Quality
|
|
58
|
+
- TypeSafety findings verified by Quality + Performance
|
|
59
|
+
- Performance findings verified by Reliability + Quality
|
|
60
|
+
- Quality findings verified by TypeSafety + Reliability
|
|
61
|
+
|
|
62
|
+
**Option B: Manual**
|
|
63
|
+
- Use agent_cross_verify for individual findings
|
|
64
|
+
- Required when auto-verification cannot determine validity
|
|
65
|
+
|
|
66
|
+
**Note:** certification_consensus will auto-trigger cross-verification if blocked
|
|
67
|
+
|
|
68
|
+
### Phase 4: Red Team
|
|
69
|
+
- Run /certification-redteam agent
|
|
70
|
+
- Has access to all prior findings
|
|
71
|
+
- Challenges clean areas
|
|
72
|
+
- Submits new findings and disputes
|
|
73
|
+
|
|
74
|
+
### Phase 5: Consensus Calculation
|
|
75
|
+
- Call certification_consensus to calculate scores
|
|
76
|
+
- Auto-cross-verification runs if needed (enabled by default)
|
|
77
|
+
- Weighted scoring: Security 30%, Reliability 25%, TypeSafety 15%, Performance 15%, Quality 10%, RedTeam 5%
|
|
78
|
+
- Determine certification level
|
|
79
|
+
|
|
80
|
+
### Phase 6: Finalize
|
|
81
|
+
- Call certification_finalize
|
|
82
|
+
- Generate CERTIFICATION.md with full report
|
|
83
|
+
- Generate CERTIFICATION.json for machine reading
|
|
84
|
+
|
|
85
|
+
## Certification Levels
|
|
86
|
+
|
|
87
|
+
| Level | Score | Criteria |
|
|
88
|
+
|-------|-------|----------|
|
|
89
|
+
| CERTIFIED | 90-100 | No critical/high issues, red team clear |
|
|
90
|
+
| APPROVED | 70-89 | No critical, high mitigated |
|
|
91
|
+
| REVIEW_REQUIRED | 40-69 | Multiple issues, action required |
|
|
92
|
+
| BLOCKED | 0-39 | Critical vulnerabilities found |
|
|
93
|
+
|
|
94
|
+
## Output
|
|
95
|
+
|
|
96
|
+
After completion:
|
|
97
|
+
- .vaspera/certifications/{id}/ - Full audit trail
|
|
98
|
+
- CERTIFICATION.md - Human-readable report
|
|
99
|
+
- CERTIFICATION.json - Machine-readable data
|
|
100
|
+
|
|
101
|
+
## Important
|
|
102
|
+
|
|
103
|
+
- Do NOT skip any agent
|
|
104
|
+
- Cross-verification is required for critical findings
|
|
105
|
+
- Red team must complete before finalization
|
|
106
|
+
- Certification expires after 30 days OR when project files change (whichever comes first)`
|
|
107
|
+
};
|
|
108
|
+
//# sourceMappingURL=certify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"certify.js","sourceRoot":"","sources":["../../../src/commands/certification/certify.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,OAAO,GAAqB;IACvC,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,qFAAqF;IAClG,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2FAsGgF;CAC1F,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/certification/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AASpD,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAQrD,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { certificationSecurity } from "./security.js";
|
|
2
|
+
import { certificationReliability } from "./reliability.js";
|
|
3
|
+
import { certificationTypesafety } from "./typesafety.js";
|
|
4
|
+
import { certificationPerformance } from "./performance.js";
|
|
5
|
+
import { certificationQuality } from "./quality.js";
|
|
6
|
+
import { certificationRedteam } from "./redteam.js";
|
|
7
|
+
import { certify } from "./certify.js";
|
|
8
|
+
export const COMMANDS = {
|
|
9
|
+
"certification-security": certificationSecurity,
|
|
10
|
+
"certification-reliability": certificationReliability,
|
|
11
|
+
"certification-typesafety": certificationTypesafety,
|
|
12
|
+
"certification-performance": certificationPerformance,
|
|
13
|
+
"certification-quality": certificationQuality,
|
|
14
|
+
"certification-redteam": certificationRedteam,
|
|
15
|
+
certify,
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/certification/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,CAAC,MAAM,QAAQ,GAAqC;IACxD,wBAAwB,EAAE,qBAAqB;IAC/C,2BAA2B,EAAE,wBAAwB;IACrD,0BAA0B,EAAE,uBAAuB;IACnD,2BAA2B,EAAE,wBAAwB;IACrD,uBAAuB,EAAE,oBAAoB;IAC7C,uBAAuB,EAAE,oBAAoB;IAC7C,OAAO;CACR,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"performance.d.ts","sourceRoot":"","sources":["../../../src/commands/certification/performance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,eAAO,MAAM,wBAAwB,EAAE,gBAuFtC,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
export const certificationPerformance = {
|
|
2
|
+
name: "certification-performance",
|
|
3
|
+
description: "Performance validation agent for enterprise certification",
|
|
4
|
+
content: `You are the PERFORMANCE VALIDATION AGENT for enterprise certification.
|
|
5
|
+
|
|
6
|
+
Your mission: Find performance issues that will cause production problems at scale.
|
|
7
|
+
|
|
8
|
+
## What to Scan
|
|
9
|
+
|
|
10
|
+
### Database Performance
|
|
11
|
+
- N+1 query patterns
|
|
12
|
+
- Missing pagination on large datasets
|
|
13
|
+
- Unbounded result sets
|
|
14
|
+
- Missing database indexes (inferred from query patterns)
|
|
15
|
+
- Inefficient Supabase queries
|
|
16
|
+
|
|
17
|
+
### Bundle Performance
|
|
18
|
+
- Large dependencies
|
|
19
|
+
- Missing code splitting
|
|
20
|
+
- Barrel imports pulling entire libraries
|
|
21
|
+
- Missing dynamic imports for heavy components
|
|
22
|
+
|
|
23
|
+
### Rendering Performance
|
|
24
|
+
- Missing React.memo where needed
|
|
25
|
+
- Expensive computations in render
|
|
26
|
+
- Unnecessary re-renders
|
|
27
|
+
- Missing useMemo/useCallback
|
|
28
|
+
- Large list rendering without virtualization
|
|
29
|
+
|
|
30
|
+
### API Performance
|
|
31
|
+
- Overfetching data
|
|
32
|
+
- Missing response caching
|
|
33
|
+
- No ISR/SSR optimization
|
|
34
|
+
- Large payloads without compression
|
|
35
|
+
|
|
36
|
+
### Image Performance
|
|
37
|
+
- Unoptimized images
|
|
38
|
+
- Missing next/image usage
|
|
39
|
+
- Missing lazy loading
|
|
40
|
+
- Missing width/height causing CLS
|
|
41
|
+
|
|
42
|
+
## Execution
|
|
43
|
+
|
|
44
|
+
1. Search for database query patterns
|
|
45
|
+
2. Analyze bundle imports
|
|
46
|
+
3. Document each finding with:
|
|
47
|
+
- Unique ID (perf-001, perf-002, etc.)
|
|
48
|
+
- Evidence with file:line references
|
|
49
|
+
- Confidence score
|
|
50
|
+
- Severity
|
|
51
|
+
|
|
52
|
+
### If you have MCP tool access:
|
|
53
|
+
- Call agent_submit_finding for each finding
|
|
54
|
+
- Call agent_complete with your summary when done
|
|
55
|
+
|
|
56
|
+
### If running as a subagent (no MCP access):
|
|
57
|
+
Output your findings as JSON at the end in this exact format:
|
|
58
|
+
\`\`\`json
|
|
59
|
+
{
|
|
60
|
+
"agent": "performance",
|
|
61
|
+
"findings": [
|
|
62
|
+
{
|
|
63
|
+
"id": "perf-001",
|
|
64
|
+
"severity": "high|medium|low|info|critical",
|
|
65
|
+
"category": "category name",
|
|
66
|
+
"file": "path/to/file.ts",
|
|
67
|
+
"line": 42,
|
|
68
|
+
"description": "What the issue is",
|
|
69
|
+
"evidence": "Code snippet or explanation",
|
|
70
|
+
"confidence": 85
|
|
71
|
+
}
|
|
72
|
+
],
|
|
73
|
+
"summary": {
|
|
74
|
+
"total_findings": 3,
|
|
75
|
+
"by_severity": {"critical": 0, "high": 1, "medium": 2, "low": 0, "info": 0},
|
|
76
|
+
"confidence_score": 85,
|
|
77
|
+
"coverage_areas": ["database", "bundle-size"]
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
\`\`\`
|
|
81
|
+
|
|
82
|
+
## Confidence Scoring
|
|
83
|
+
- 95-100: Measurable performance impact proven
|
|
84
|
+
- 80-94: Will definitely degrade at scale
|
|
85
|
+
- 60-79: High probability performance hit
|
|
86
|
+
- 40-59: May cause issues under specific conditions
|
|
87
|
+
- <40: Optimization opportunity, not a problem`
|
|
88
|
+
};
|
|
89
|
+
//# sourceMappingURL=performance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"performance.js","sourceRoot":"","sources":["../../../src/commands/certification/performance.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,wBAAwB,GAAqB;IACxD,IAAI,EAAE,2BAA2B;IACjC,WAAW,EAAE,2DAA2D;IACxE,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+CAmFoC;CAC9C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quality.d.ts","sourceRoot":"","sources":["../../../src/commands/certification/quality.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,eAAO,MAAM,oBAAoB,EAAE,gBA0FlC,CAAC"}
|