@vibecheckai/cli 2.8.2 → 3.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.
Files changed (454) hide show
  1. package/README.md +8 -8
  2. package/bin/_deprecations.js +35 -0
  3. package/bin/_router.js +46 -0
  4. package/bin/cli-hygiene.js +241 -0
  5. package/bin/guardrail.js +834 -0
  6. package/bin/runners/cli-utils.js +1070 -0
  7. package/bin/runners/context/ai-task-decomposer.js +337 -0
  8. package/bin/runners/context/analyzer.js +462 -0
  9. package/bin/runners/context/api-contracts.js +427 -0
  10. package/bin/runners/context/context-diff.js +342 -0
  11. package/bin/runners/context/context-pruner.js +291 -0
  12. package/bin/runners/context/dependency-graph.js +414 -0
  13. package/bin/runners/context/generators/claude.js +107 -0
  14. package/bin/runners/context/generators/codex.js +108 -0
  15. package/bin/runners/context/generators/copilot.js +119 -0
  16. package/bin/runners/context/generators/cursor.js +514 -0
  17. package/bin/runners/context/generators/mcp.js +151 -0
  18. package/bin/runners/context/generators/windsurf.js +180 -0
  19. package/bin/runners/context/git-context.js +302 -0
  20. package/bin/runners/context/index.js +1042 -0
  21. package/bin/runners/context/insights.js +173 -0
  22. package/bin/runners/context/mcp-server/generate-rules.js +337 -0
  23. package/bin/runners/context/mcp-server/index.js +1176 -0
  24. package/bin/runners/context/mcp-server/package.json +24 -0
  25. package/bin/runners/context/memory.js +200 -0
  26. package/bin/runners/context/monorepo.js +215 -0
  27. package/bin/runners/context/multi-repo-federation.js +404 -0
  28. package/bin/runners/context/patterns.js +253 -0
  29. package/bin/runners/context/proof-context.js +972 -0
  30. package/bin/runners/context/security-scanner.js +303 -0
  31. package/bin/runners/context/semantic-search.js +350 -0
  32. package/bin/runners/context/shared.js +264 -0
  33. package/bin/runners/context/team-conventions.js +310 -0
  34. package/bin/runners/lib/ai-bridge.js +416 -0
  35. package/bin/runners/lib/analysis-core.js +271 -0
  36. package/bin/runners/lib/analyzers.js +541 -0
  37. package/bin/runners/lib/audit-bridge.js +391 -0
  38. package/bin/runners/lib/auth-truth.js +193 -0
  39. package/bin/runners/lib/auth.js +215 -0
  40. package/bin/runners/lib/backup.js +62 -0
  41. package/bin/runners/lib/billing.js +107 -0
  42. package/bin/runners/lib/claims.js +118 -0
  43. package/bin/runners/lib/cli-ui.js +540 -0
  44. package/bin/runners/lib/compliance-bridge-new.js +0 -0
  45. package/bin/runners/lib/compliance-bridge.js +165 -0
  46. package/bin/runners/lib/contracts/auth-contract.js +194 -0
  47. package/bin/runners/lib/contracts/env-contract.js +178 -0
  48. package/bin/runners/lib/contracts/external-contract.js +198 -0
  49. package/bin/runners/lib/contracts/guard.js +168 -0
  50. package/bin/runners/lib/contracts/index.js +89 -0
  51. package/bin/runners/lib/contracts/plan-validator.js +311 -0
  52. package/bin/runners/lib/contracts/route-contract.js +192 -0
  53. package/bin/runners/lib/detect.js +89 -0
  54. package/bin/runners/lib/doctor/autofix.js +254 -0
  55. package/bin/runners/lib/doctor/index.js +37 -0
  56. package/bin/runners/lib/doctor/modules/dependencies.js +325 -0
  57. package/bin/runners/lib/doctor/modules/index.js +46 -0
  58. package/bin/runners/lib/doctor/modules/network.js +250 -0
  59. package/bin/runners/lib/doctor/modules/project.js +312 -0
  60. package/bin/runners/lib/doctor/modules/runtime.js +224 -0
  61. package/bin/runners/lib/doctor/modules/security.js +348 -0
  62. package/bin/runners/lib/doctor/modules/system.js +213 -0
  63. package/bin/runners/lib/doctor/modules/vibecheck.js +394 -0
  64. package/bin/runners/lib/doctor/reporter.js +262 -0
  65. package/bin/runners/lib/doctor/service.js +262 -0
  66. package/bin/runners/lib/doctor/types.js +113 -0
  67. package/bin/runners/lib/doctor/ui.js +263 -0
  68. package/bin/runners/lib/doctor-enhanced.js +233 -0
  69. package/bin/runners/lib/doctor-v2.js +608 -0
  70. package/bin/runners/lib/enforcement.js +72 -0
  71. package/bin/runners/lib/enterprise-detect.js +603 -0
  72. package/bin/runners/lib/enterprise-init.js +942 -0
  73. package/bin/runners/lib/entitlements-v2.js +381 -0
  74. package/bin/runners/lib/entitlements.generated.js +0 -0
  75. package/bin/runners/lib/entitlements.js +332 -0
  76. package/bin/runners/lib/env-template.js +66 -0
  77. package/bin/runners/lib/env.js +189 -0
  78. package/bin/runners/lib/error-handler.js +320 -0
  79. package/bin/runners/lib/firewall-prompt.js +50 -0
  80. package/bin/runners/lib/graph/graph-builder.js +265 -0
  81. package/bin/runners/lib/graph/html-renderer.js +413 -0
  82. package/bin/runners/lib/graph/index.js +32 -0
  83. package/bin/runners/lib/graph/runtime-collector.js +215 -0
  84. package/bin/runners/lib/graph/static-extractor.js +518 -0
  85. package/bin/runners/lib/init-wizard.js +308 -0
  86. package/bin/runners/lib/json-output.js +76 -0
  87. package/bin/runners/lib/llm.js +75 -0
  88. package/bin/runners/lib/meter.js +61 -0
  89. package/bin/runners/lib/missions/evidence.js +126 -0
  90. package/bin/runners/lib/missions/plan.js +69 -0
  91. package/bin/runners/lib/missions/templates.js +147 -0
  92. package/bin/runners/lib/patch.js +40 -0
  93. package/bin/runners/lib/permissions/auth-model.js +213 -0
  94. package/bin/runners/lib/permissions/idor-prover.js +205 -0
  95. package/bin/runners/lib/permissions/index.js +45 -0
  96. package/bin/runners/lib/permissions/matrix-builder.js +198 -0
  97. package/bin/runners/lib/pkgjson.js +28 -0
  98. package/bin/runners/lib/preflight.js +142 -0
  99. package/bin/runners/lib/reality-findings.js +84 -0
  100. package/bin/runners/lib/redact.js +29 -0
  101. package/bin/runners/lib/replay/capsule-manager.js +154 -0
  102. package/bin/runners/lib/replay/index.js +263 -0
  103. package/bin/runners/lib/replay/player.js +348 -0
  104. package/bin/runners/lib/replay/recorder.js +331 -0
  105. package/bin/runners/lib/report-engine.js +447 -0
  106. package/bin/runners/lib/report-html.js +1117 -0
  107. package/bin/runners/lib/report-templates.js +964 -0
  108. package/bin/runners/lib/route-detection.js +1140 -0
  109. package/bin/runners/lib/route-truth.js +477 -0
  110. package/bin/runners/lib/sandbox/index.js +59 -0
  111. package/bin/runners/lib/sandbox/proof-chain.js +399 -0
  112. package/bin/runners/lib/sandbox/sandbox-runner.js +205 -0
  113. package/bin/runners/lib/sandbox/worktree.js +174 -0
  114. package/bin/runners/lib/scan-cache.js +330 -0
  115. package/bin/runners/lib/scan-output-schema.js +344 -0
  116. package/bin/runners/lib/score-history.js +282 -0
  117. package/bin/runners/lib/security-bridge.js +249 -0
  118. package/bin/runners/lib/server-usage.js +513 -0
  119. package/bin/runners/lib/share-pack.js +239 -0
  120. package/bin/runners/lib/snippets.js +67 -0
  121. package/bin/runners/lib/truth.js +667 -0
  122. package/bin/runners/lib/unified-output.js +189 -0
  123. package/bin/runners/lib/validate-patch.js +156 -0
  124. package/bin/runners/lib/verification.js +345 -0
  125. package/bin/runners/reality/engine.js +917 -0
  126. package/bin/runners/reality/flows.js +122 -0
  127. package/bin/runners/reality/report.js +378 -0
  128. package/bin/runners/reality/session.js +193 -0
  129. package/bin/runners/runAIAgent.js +2 -0
  130. package/bin/runners/runAudit.js +2 -0
  131. package/bin/runners/runAuth.js +106 -0
  132. package/bin/runners/runAutopilot.js +2 -0
  133. package/bin/runners/runBadge.js +2 -0
  134. package/bin/runners/runCertify.js +2 -0
  135. package/bin/runners/runClaimVerifier.js +483 -0
  136. package/bin/runners/runContext.js +56 -0
  137. package/bin/runners/runContextCompiler.js +385 -0
  138. package/bin/runners/runCtx.js +187 -0
  139. package/bin/runners/runCtxGuard.js +176 -0
  140. package/bin/runners/runCtxSync.js +116 -0
  141. package/bin/runners/runDashboard.js +10 -0
  142. package/bin/runners/runDoctor.js +245 -0
  143. package/bin/runners/runEnhancedShip.js +2 -0
  144. package/bin/runners/runFix.js +735 -0
  145. package/bin/runners/runFixPacks.js +2 -0
  146. package/bin/runners/runGate.js +17 -0
  147. package/bin/runners/runGraph.js +283 -0
  148. package/bin/runners/runInit.js +260 -0
  149. package/bin/runners/runInitGha.js +101 -0
  150. package/bin/runners/runInstall.js +76 -0
  151. package/bin/runners/runInteractive.js +388 -0
  152. package/bin/runners/runLaunch.js +2 -0
  153. package/bin/runners/runMcp.js +19 -0
  154. package/bin/runners/runMdc.js +2 -0
  155. package/bin/runners/runMissionGenerator.js +282 -0
  156. package/bin/runners/runNaturalLanguage.js +3 -0
  157. package/bin/runners/runPR.js +96 -0
  158. package/bin/runners/runPermissions.js +290 -0
  159. package/bin/runners/runPromptFirewall.js +211 -0
  160. package/bin/runners/runProof.js +2 -0
  161. package/bin/runners/runProve.js +392 -0
  162. package/bin/runners/runReality.js +489 -0
  163. package/bin/runners/runRealitySniff.js +2 -0
  164. package/bin/runners/runReplay.js +469 -0
  165. package/bin/runners/runReport.js +478 -0
  166. package/bin/runners/runScan.js +835 -0
  167. package/bin/runners/runShare.js +34 -0
  168. package/bin/runners/runShip.js +1062 -0
  169. package/bin/runners/runStatus.js +136 -0
  170. package/bin/runners/runTruthpack.js +634 -0
  171. package/bin/runners/runUpgrade.js +2 -0
  172. package/bin/runners/runValidate.js +2 -0
  173. package/bin/runners/runVerifyAgentOutput.js +2 -0
  174. package/bin/runners/runWatch.js +230 -0
  175. package/bin/runners/utils.js +360 -0
  176. package/bin/scan.js +612 -0
  177. package/bin/vibecheck.js +834 -0
  178. package/package.json +11 -11
  179. package/dist/autopatch/verified-autopatch.d.ts +0 -111
  180. package/dist/autopatch/verified-autopatch.d.ts.map +0 -1
  181. package/dist/autopatch/verified-autopatch.js +0 -503
  182. package/dist/autopatch/verified-autopatch.js.map +0 -1
  183. package/dist/bundles/index.js +0 -8
  184. package/dist/bundles/vibecheck-core.js +0 -25799
  185. package/dist/bundles/vibecheck-security.js +0 -208693
  186. package/dist/bundles/vibecheck-ship.js +0 -2318
  187. package/dist/commands/baseline.d.ts +0 -7
  188. package/dist/commands/baseline.d.ts.map +0 -1
  189. package/dist/commands/baseline.js +0 -79
  190. package/dist/commands/baseline.js.map +0 -1
  191. package/dist/commands/cache.d.ts +0 -13
  192. package/dist/commands/cache.d.ts.map +0 -1
  193. package/dist/commands/cache.js +0 -165
  194. package/dist/commands/cache.js.map +0 -1
  195. package/dist/commands/checkpoint.d.ts +0 -8
  196. package/dist/commands/checkpoint.d.ts.map +0 -1
  197. package/dist/commands/checkpoint.js +0 -35
  198. package/dist/commands/checkpoint.js.map +0 -1
  199. package/dist/commands/doctor.d.ts +0 -17
  200. package/dist/commands/doctor.d.ts.map +0 -1
  201. package/dist/commands/doctor.js +0 -226
  202. package/dist/commands/doctor.js.map +0 -1
  203. package/dist/commands/evidence.d.ts +0 -45
  204. package/dist/commands/evidence.d.ts.map +0 -1
  205. package/dist/commands/evidence.js +0 -197
  206. package/dist/commands/evidence.js.map +0 -1
  207. package/dist/commands/explain.d.ts +0 -8
  208. package/dist/commands/explain.d.ts.map +0 -1
  209. package/dist/commands/explain.js +0 -52
  210. package/dist/commands/explain.js.map +0 -1
  211. package/dist/commands/fix-consolidated.d.ts +0 -19
  212. package/dist/commands/fix-consolidated.d.ts.map +0 -1
  213. package/dist/commands/fix-consolidated.js +0 -165
  214. package/dist/commands/fix-consolidated.js.map +0 -1
  215. package/dist/commands/index.d.ts +0 -8
  216. package/dist/commands/index.d.ts.map +0 -1
  217. package/dist/commands/index.js +0 -15
  218. package/dist/commands/index.js.map +0 -1
  219. package/dist/commands/init.d.ts +0 -8
  220. package/dist/commands/init.d.ts.map +0 -1
  221. package/dist/commands/init.js +0 -125
  222. package/dist/commands/init.js.map +0 -1
  223. package/dist/commands/launcher.d.ts +0 -10
  224. package/dist/commands/launcher.d.ts.map +0 -1
  225. package/dist/commands/launcher.js +0 -174
  226. package/dist/commands/launcher.js.map +0 -1
  227. package/dist/commands/on.d.ts +0 -8
  228. package/dist/commands/on.d.ts.map +0 -1
  229. package/dist/commands/on.js +0 -123
  230. package/dist/commands/on.js.map +0 -1
  231. package/dist/commands/replay.d.ts +0 -8
  232. package/dist/commands/replay.d.ts.map +0 -1
  233. package/dist/commands/replay.js +0 -52
  234. package/dist/commands/replay.js.map +0 -1
  235. package/dist/commands/scan-consolidated.d.ts +0 -61
  236. package/dist/commands/scan-consolidated.d.ts.map +0 -1
  237. package/dist/commands/scan-consolidated.js +0 -243
  238. package/dist/commands/scan-consolidated.js.map +0 -1
  239. package/dist/commands/scan-secrets.d.ts +0 -47
  240. package/dist/commands/scan-secrets.d.ts.map +0 -1
  241. package/dist/commands/scan-secrets.js +0 -225
  242. package/dist/commands/scan-secrets.js.map +0 -1
  243. package/dist/commands/scan-vulnerabilities-enhanced.d.ts +0 -41
  244. package/dist/commands/scan-vulnerabilities-enhanced.d.ts.map +0 -1
  245. package/dist/commands/scan-vulnerabilities-enhanced.js +0 -368
  246. package/dist/commands/scan-vulnerabilities-enhanced.js.map +0 -1
  247. package/dist/commands/scan-vulnerabilities-osv.d.ts +0 -58
  248. package/dist/commands/scan-vulnerabilities-osv.d.ts.map +0 -1
  249. package/dist/commands/scan-vulnerabilities-osv.js +0 -722
  250. package/dist/commands/scan-vulnerabilities-osv.js.map +0 -1
  251. package/dist/commands/scan-vulnerabilities.d.ts +0 -32
  252. package/dist/commands/scan-vulnerabilities.d.ts.map +0 -1
  253. package/dist/commands/scan-vulnerabilities.js +0 -283
  254. package/dist/commands/scan-vulnerabilities.js.map +0 -1
  255. package/dist/commands/secrets-allowlist.d.ts +0 -7
  256. package/dist/commands/secrets-allowlist.d.ts.map +0 -1
  257. package/dist/commands/secrets-allowlist.js +0 -85
  258. package/dist/commands/secrets-allowlist.js.map +0 -1
  259. package/dist/commands/ship-consolidated.d.ts +0 -58
  260. package/dist/commands/ship-consolidated.d.ts.map +0 -1
  261. package/dist/commands/ship-consolidated.js +0 -515
  262. package/dist/commands/ship-consolidated.js.map +0 -1
  263. package/dist/commands/stats.d.ts +0 -8
  264. package/dist/commands/stats.d.ts.map +0 -1
  265. package/dist/commands/stats.js +0 -134
  266. package/dist/commands/stats.js.map +0 -1
  267. package/dist/commands/upgrade.d.ts +0 -8
  268. package/dist/commands/upgrade.d.ts.map +0 -1
  269. package/dist/commands/upgrade.js +0 -30
  270. package/dist/commands/upgrade.js.map +0 -1
  271. package/dist/fix/applicator.d.ts +0 -44
  272. package/dist/fix/applicator.d.ts.map +0 -1
  273. package/dist/fix/applicator.js +0 -144
  274. package/dist/fix/applicator.js.map +0 -1
  275. package/dist/fix/backup.d.ts +0 -38
  276. package/dist/fix/backup.d.ts.map +0 -1
  277. package/dist/fix/backup.js +0 -154
  278. package/dist/fix/backup.js.map +0 -1
  279. package/dist/fix/engine.d.ts +0 -55
  280. package/dist/fix/engine.d.ts.map +0 -1
  281. package/dist/fix/engine.js +0 -285
  282. package/dist/fix/engine.js.map +0 -1
  283. package/dist/fix/index.d.ts +0 -5
  284. package/dist/fix/index.d.ts.map +0 -1
  285. package/dist/fix/index.js +0 -12
  286. package/dist/fix/index.js.map +0 -1
  287. package/dist/fix/interactive.d.ts +0 -22
  288. package/dist/fix/interactive.d.ts.map +0 -1
  289. package/dist/fix/interactive.js +0 -172
  290. package/dist/fix/interactive.js.map +0 -1
  291. package/dist/formatters/index.d.ts +0 -6
  292. package/dist/formatters/index.d.ts.map +0 -1
  293. package/dist/formatters/index.js +0 -11
  294. package/dist/formatters/index.js.map +0 -1
  295. package/dist/formatters/sarif-enhanced.d.ts +0 -78
  296. package/dist/formatters/sarif-enhanced.d.ts.map +0 -1
  297. package/dist/formatters/sarif-enhanced.js +0 -144
  298. package/dist/formatters/sarif-enhanced.js.map +0 -1
  299. package/dist/formatters/sarif-v2.d.ts +0 -121
  300. package/dist/formatters/sarif-v2.d.ts.map +0 -1
  301. package/dist/formatters/sarif-v2.js +0 -356
  302. package/dist/formatters/sarif-v2.js.map +0 -1
  303. package/dist/formatters/sarif.d.ts +0 -72
  304. package/dist/formatters/sarif.d.ts.map +0 -1
  305. package/dist/formatters/sarif.js +0 -146
  306. package/dist/formatters/sarif.js.map +0 -1
  307. package/dist/index.d.ts +0 -61
  308. package/dist/index.d.ts.map +0 -1
  309. package/dist/index.js +0 -4388
  310. package/dist/index.js.map +0 -1
  311. package/dist/init/ci-generator.d.ts +0 -18
  312. package/dist/init/ci-generator.d.ts.map +0 -1
  313. package/dist/init/ci-generator.js +0 -317
  314. package/dist/init/ci-generator.js.map +0 -1
  315. package/dist/init/detect-framework.d.ts +0 -15
  316. package/dist/init/detect-framework.d.ts.map +0 -1
  317. package/dist/init/detect-framework.js +0 -301
  318. package/dist/init/detect-framework.js.map +0 -1
  319. package/dist/init/hooks-installer.d.ts +0 -22
  320. package/dist/init/hooks-installer.d.ts.map +0 -1
  321. package/dist/init/hooks-installer.js +0 -310
  322. package/dist/init/hooks-installer.js.map +0 -1
  323. package/dist/init/index.d.ts +0 -8
  324. package/dist/init/index.d.ts.map +0 -1
  325. package/dist/init/index.js +0 -22
  326. package/dist/init/index.js.map +0 -1
  327. package/dist/init/templates.d.ts +0 -402
  328. package/dist/init/templates.d.ts.map +0 -1
  329. package/dist/init/templates.js +0 -240
  330. package/dist/init/templates.js.map +0 -1
  331. package/dist/mcp/server.d.ts +0 -12
  332. package/dist/mcp/server.d.ts.map +0 -1
  333. package/dist/mcp/server.js +0 -42
  334. package/dist/mcp/server.js.map +0 -1
  335. package/dist/mcp/telemetry.d.ts +0 -40
  336. package/dist/mcp/telemetry.d.ts.map +0 -1
  337. package/dist/mcp/telemetry.js +0 -98
  338. package/dist/mcp/telemetry.js.map +0 -1
  339. package/dist/reality/no-dead-buttons/button-sweep-generator.d.ts +0 -32
  340. package/dist/reality/no-dead-buttons/button-sweep-generator.d.ts.map +0 -1
  341. package/dist/reality/no-dead-buttons/button-sweep-generator.js +0 -236
  342. package/dist/reality/no-dead-buttons/button-sweep-generator.js.map +0 -1
  343. package/dist/reality/no-dead-buttons/index.d.ts +0 -11
  344. package/dist/reality/no-dead-buttons/index.d.ts.map +0 -1
  345. package/dist/reality/no-dead-buttons/index.js +0 -18
  346. package/dist/reality/no-dead-buttons/index.js.map +0 -1
  347. package/dist/reality/no-dead-buttons/static-scanner.d.ts +0 -34
  348. package/dist/reality/no-dead-buttons/static-scanner.d.ts.map +0 -1
  349. package/dist/reality/no-dead-buttons/static-scanner.js +0 -230
  350. package/dist/reality/no-dead-buttons/static-scanner.js.map +0 -1
  351. package/dist/reality/reality-graph.d.ts +0 -192
  352. package/dist/reality/reality-graph.d.ts.map +0 -1
  353. package/dist/reality/reality-graph.js +0 -600
  354. package/dist/reality/reality-graph.js.map +0 -1
  355. package/dist/reality/reality-runner.d.ts +0 -89
  356. package/dist/reality/reality-runner.d.ts.map +0 -1
  357. package/dist/reality/reality-runner.js +0 -540
  358. package/dist/reality/reality-runner.js.map +0 -1
  359. package/dist/reality/receipt-generator.d.ts +0 -152
  360. package/dist/reality/receipt-generator.d.ts.map +0 -1
  361. package/dist/reality/receipt-generator.js +0 -495
  362. package/dist/reality/receipt-generator.js.map +0 -1
  363. package/dist/reality/runtime-tracer.d.ts +0 -75
  364. package/dist/reality/runtime-tracer.d.ts.map +0 -1
  365. package/dist/reality/runtime-tracer.js +0 -109
  366. package/dist/reality/runtime-tracer.js.map +0 -1
  367. package/dist/runtime/auth-utils.d.ts +0 -43
  368. package/dist/runtime/auth-utils.d.ts.map +0 -1
  369. package/dist/runtime/auth-utils.js +0 -130
  370. package/dist/runtime/auth-utils.js.map +0 -1
  371. package/dist/runtime/client.d.ts +0 -74
  372. package/dist/runtime/client.d.ts.map +0 -1
  373. package/dist/runtime/client.js +0 -222
  374. package/dist/runtime/client.js.map +0 -1
  375. package/dist/runtime/creds.d.ts +0 -48
  376. package/dist/runtime/creds.d.ts.map +0 -1
  377. package/dist/runtime/creds.js +0 -245
  378. package/dist/runtime/creds.js.map +0 -1
  379. package/dist/runtime/exit-codes.d.ts +0 -49
  380. package/dist/runtime/exit-codes.d.ts.map +0 -1
  381. package/dist/runtime/exit-codes.js +0 -93
  382. package/dist/runtime/exit-codes.js.map +0 -1
  383. package/dist/runtime/index.d.ts +0 -9
  384. package/dist/runtime/index.d.ts.map +0 -1
  385. package/dist/runtime/index.js +0 -25
  386. package/dist/runtime/index.js.map +0 -1
  387. package/dist/runtime/json-output.d.ts +0 -42
  388. package/dist/runtime/json-output.d.ts.map +0 -1
  389. package/dist/runtime/json-output.js +0 -59
  390. package/dist/runtime/json-output.js.map +0 -1
  391. package/dist/runtime/semver.d.ts +0 -37
  392. package/dist/runtime/semver.d.ts.map +0 -1
  393. package/dist/runtime/semver.js +0 -110
  394. package/dist/runtime/semver.js.map +0 -1
  395. package/dist/scan/dead-ui-detector.d.ts +0 -48
  396. package/dist/scan/dead-ui-detector.d.ts.map +0 -1
  397. package/dist/scan/dead-ui-detector.js +0 -170
  398. package/dist/scan/dead-ui-detector.js.map +0 -1
  399. package/dist/scan/playwright-sweep.d.ts +0 -40
  400. package/dist/scan/playwright-sweep.d.ts.map +0 -1
  401. package/dist/scan/playwright-sweep.js +0 -216
  402. package/dist/scan/playwright-sweep.js.map +0 -1
  403. package/dist/scan/proof-bundle.d.ts +0 -25
  404. package/dist/scan/proof-bundle.d.ts.map +0 -1
  405. package/dist/scan/proof-bundle.js +0 -203
  406. package/dist/scan/proof-bundle.js.map +0 -1
  407. package/dist/scan/proof-graph.d.ts +0 -59
  408. package/dist/scan/proof-graph.d.ts.map +0 -1
  409. package/dist/scan/proof-graph.js +0 -64
  410. package/dist/scan/proof-graph.js.map +0 -1
  411. package/dist/scan/reality-sniff.d.ts +0 -56
  412. package/dist/scan/reality-sniff.d.ts.map +0 -1
  413. package/dist/scan/reality-sniff.js +0 -200
  414. package/dist/scan/reality-sniff.js.map +0 -1
  415. package/dist/scan/structural-verifier.d.ts +0 -20
  416. package/dist/scan/structural-verifier.d.ts.map +0 -1
  417. package/dist/scan/structural-verifier.js +0 -112
  418. package/dist/scan/structural-verifier.js.map +0 -1
  419. package/dist/scan/verification-engine.d.ts +0 -47
  420. package/dist/scan/verification-engine.d.ts.map +0 -1
  421. package/dist/scan/verification-engine.js +0 -141
  422. package/dist/scan/verification-engine.js.map +0 -1
  423. package/dist/scanner/baseline.d.ts +0 -52
  424. package/dist/scanner/baseline.d.ts.map +0 -1
  425. package/dist/scanner/baseline.js +0 -85
  426. package/dist/scanner/baseline.js.map +0 -1
  427. package/dist/scanner/incremental.d.ts +0 -30
  428. package/dist/scanner/incremental.d.ts.map +0 -1
  429. package/dist/scanner/incremental.js +0 -82
  430. package/dist/scanner/incremental.js.map +0 -1
  431. package/dist/scanner/parallel.d.ts +0 -43
  432. package/dist/scanner/parallel.d.ts.map +0 -1
  433. package/dist/scanner/parallel.js +0 -99
  434. package/dist/scanner/parallel.js.map +0 -1
  435. package/dist/standalone.d.ts +0 -1
  436. package/dist/standalone.d.ts.map +0 -1
  437. package/dist/standalone.js +0 -1
  438. package/dist/standalone.js.map +0 -1
  439. package/dist/truth-pack/index.d.ts +0 -102
  440. package/dist/truth-pack/index.d.ts.map +0 -1
  441. package/dist/truth-pack/index.js +0 -694
  442. package/dist/truth-pack/index.js.map +0 -1
  443. package/dist/ui/frame.d.ts +0 -68
  444. package/dist/ui/frame.d.ts.map +0 -1
  445. package/dist/ui/frame.js +0 -165
  446. package/dist/ui/frame.js.map +0 -1
  447. package/dist/ui/index.d.ts +0 -5
  448. package/dist/ui/index.d.ts.map +0 -1
  449. package/dist/ui/index.js +0 -16
  450. package/dist/ui/index.js.map +0 -1
  451. package/dist/ui.d.ts +0 -36
  452. package/dist/ui.d.ts.map +0 -1
  453. package/dist/ui.js +0 -45
  454. package/dist/ui.js.map +0 -1
@@ -1,402 +0,0 @@
1
- /**
2
- * Template Configuration Module
3
- * Defines startup/enterprise/oss templates with Zod schema validation
4
- */
5
- import { z } from 'zod';
6
- export declare const TemplateType: z.ZodEnum<["startup", "enterprise", "oss"]>;
7
- export type TemplateType = z.infer<typeof TemplateType>;
8
- export declare const ScanConfigSchema: z.ZodObject<{
9
- enabled: z.ZodBoolean;
10
- threshold: z.ZodOptional<z.ZodEnum<["critical", "high", "medium", "low"]>>;
11
- excludePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
12
- }, "strip", z.ZodTypeAny, {
13
- enabled?: boolean;
14
- threshold?: "critical" | "high" | "medium" | "low";
15
- excludePatterns?: string[];
16
- }, {
17
- enabled?: boolean;
18
- threshold?: "critical" | "high" | "medium" | "low";
19
- excludePatterns?: string[];
20
- }>;
21
- export declare const ComplianceConfigSchema: z.ZodObject<{
22
- enabled: z.ZodBoolean;
23
- frameworks: z.ZodOptional<z.ZodArray<z.ZodEnum<["soc2", "gdpr", "hipaa", "pci", "iso27001", "nist"]>, "many">>;
24
- autoEvidence: z.ZodOptional<z.ZodBoolean>;
25
- }, "strip", z.ZodTypeAny, {
26
- enabled?: boolean;
27
- frameworks?: ("soc2" | "gdpr" | "hipaa" | "pci" | "iso27001" | "nist")[];
28
- autoEvidence?: boolean;
29
- }, {
30
- enabled?: boolean;
31
- frameworks?: ("soc2" | "gdpr" | "hipaa" | "pci" | "iso27001" | "nist")[];
32
- autoEvidence?: boolean;
33
- }>;
34
- export declare const GatingConfigSchema: z.ZodObject<{
35
- enabled: z.ZodBoolean;
36
- blockOnCritical: z.ZodOptional<z.ZodBoolean>;
37
- blockOnHigh: z.ZodOptional<z.ZodBoolean>;
38
- baselineEnabled: z.ZodOptional<z.ZodBoolean>;
39
- allowlistEnabled: z.ZodOptional<z.ZodBoolean>;
40
- }, "strip", z.ZodTypeAny, {
41
- enabled?: boolean;
42
- blockOnCritical?: boolean;
43
- blockOnHigh?: boolean;
44
- baselineEnabled?: boolean;
45
- allowlistEnabled?: boolean;
46
- }, {
47
- enabled?: boolean;
48
- blockOnCritical?: boolean;
49
- blockOnHigh?: boolean;
50
- baselineEnabled?: boolean;
51
- allowlistEnabled?: boolean;
52
- }>;
53
- export declare const OutputConfigSchema: z.ZodObject<{
54
- format: z.ZodEnum<["table", "json", "sarif", "markdown"]>;
55
- sarifUpload: z.ZodOptional<z.ZodBoolean>;
56
- badgeGeneration: z.ZodOptional<z.ZodBoolean>;
57
- }, "strip", z.ZodTypeAny, {
58
- format?: "json" | "sarif" | "table" | "markdown";
59
- sarifUpload?: boolean;
60
- badgeGeneration?: boolean;
61
- }, {
62
- format?: "json" | "sarif" | "table" | "markdown";
63
- sarifUpload?: boolean;
64
- badgeGeneration?: boolean;
65
- }>;
66
- export declare const CIConfigSchema: z.ZodObject<{
67
- enabled: z.ZodBoolean;
68
- provider: z.ZodOptional<z.ZodEnum<["github", "gitlab", "azure", "bitbucket"]>>;
69
- runOnPush: z.ZodOptional<z.ZodBoolean>;
70
- runOnPR: z.ZodOptional<z.ZodBoolean>;
71
- sarifUpload: z.ZodOptional<z.ZodBoolean>;
72
- }, "strip", z.ZodTypeAny, {
73
- enabled?: boolean;
74
- sarifUpload?: boolean;
75
- provider?: "github" | "gitlab" | "azure" | "bitbucket";
76
- runOnPush?: boolean;
77
- runOnPR?: boolean;
78
- }, {
79
- enabled?: boolean;
80
- sarifUpload?: boolean;
81
- provider?: "github" | "gitlab" | "azure" | "bitbucket";
82
- runOnPush?: boolean;
83
- runOnPR?: boolean;
84
- }>;
85
- export declare const HooksConfigSchema: z.ZodObject<{
86
- enabled: z.ZodBoolean;
87
- runner: z.ZodOptional<z.ZodEnum<["husky", "lefthook"]>>;
88
- preCommit: z.ZodOptional<z.ZodBoolean>;
89
- prePush: z.ZodOptional<z.ZodBoolean>;
90
- }, "strip", z.ZodTypeAny, {
91
- enabled?: boolean;
92
- runner?: "husky" | "lefthook";
93
- preCommit?: boolean;
94
- prePush?: boolean;
95
- }, {
96
- enabled?: boolean;
97
- runner?: "husky" | "lefthook";
98
- preCommit?: boolean;
99
- prePush?: boolean;
100
- }>;
101
- export declare const VibecheckConfigSchema: z.ZodObject<{
102
- version: z.ZodString;
103
- template: z.ZodOptional<z.ZodEnum<["startup", "enterprise", "oss"]>>;
104
- framework: z.ZodOptional<z.ZodString>;
105
- scans: z.ZodObject<{
106
- secrets: z.ZodObject<{
107
- enabled: z.ZodBoolean;
108
- threshold: z.ZodOptional<z.ZodEnum<["critical", "high", "medium", "low"]>>;
109
- excludePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
110
- }, "strip", z.ZodTypeAny, {
111
- enabled?: boolean;
112
- threshold?: "critical" | "high" | "medium" | "low";
113
- excludePatterns?: string[];
114
- }, {
115
- enabled?: boolean;
116
- threshold?: "critical" | "high" | "medium" | "low";
117
- excludePatterns?: string[];
118
- }>;
119
- vulnerabilities: z.ZodObject<{
120
- enabled: z.ZodBoolean;
121
- threshold: z.ZodOptional<z.ZodEnum<["critical", "high", "medium", "low"]>>;
122
- excludePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
123
- }, "strip", z.ZodTypeAny, {
124
- enabled?: boolean;
125
- threshold?: "critical" | "high" | "medium" | "low";
126
- excludePatterns?: string[];
127
- }, {
128
- enabled?: boolean;
129
- threshold?: "critical" | "high" | "medium" | "low";
130
- excludePatterns?: string[];
131
- }>;
132
- compliance: z.ZodObject<{
133
- enabled: z.ZodBoolean;
134
- frameworks: z.ZodOptional<z.ZodArray<z.ZodEnum<["soc2", "gdpr", "hipaa", "pci", "iso27001", "nist"]>, "many">>;
135
- autoEvidence: z.ZodOptional<z.ZodBoolean>;
136
- }, "strip", z.ZodTypeAny, {
137
- enabled?: boolean;
138
- frameworks?: ("soc2" | "gdpr" | "hipaa" | "pci" | "iso27001" | "nist")[];
139
- autoEvidence?: boolean;
140
- }, {
141
- enabled?: boolean;
142
- frameworks?: ("soc2" | "gdpr" | "hipaa" | "pci" | "iso27001" | "nist")[];
143
- autoEvidence?: boolean;
144
- }>;
145
- sbom: z.ZodOptional<z.ZodObject<{
146
- enabled: z.ZodBoolean;
147
- }, "strip", z.ZodTypeAny, {
148
- enabled?: boolean;
149
- }, {
150
- enabled?: boolean;
151
- }>>;
152
- }, "strip", z.ZodTypeAny, {
153
- vulnerabilities?: {
154
- enabled?: boolean;
155
- threshold?: "critical" | "high" | "medium" | "low";
156
- excludePatterns?: string[];
157
- };
158
- secrets?: {
159
- enabled?: boolean;
160
- threshold?: "critical" | "high" | "medium" | "low";
161
- excludePatterns?: string[];
162
- };
163
- compliance?: {
164
- enabled?: boolean;
165
- frameworks?: ("soc2" | "gdpr" | "hipaa" | "pci" | "iso27001" | "nist")[];
166
- autoEvidence?: boolean;
167
- };
168
- sbom?: {
169
- enabled?: boolean;
170
- };
171
- }, {
172
- vulnerabilities?: {
173
- enabled?: boolean;
174
- threshold?: "critical" | "high" | "medium" | "low";
175
- excludePatterns?: string[];
176
- };
177
- secrets?: {
178
- enabled?: boolean;
179
- threshold?: "critical" | "high" | "medium" | "low";
180
- excludePatterns?: string[];
181
- };
182
- compliance?: {
183
- enabled?: boolean;
184
- frameworks?: ("soc2" | "gdpr" | "hipaa" | "pci" | "iso27001" | "nist")[];
185
- autoEvidence?: boolean;
186
- };
187
- sbom?: {
188
- enabled?: boolean;
189
- };
190
- }>;
191
- gating: z.ZodObject<{
192
- enabled: z.ZodBoolean;
193
- blockOnCritical: z.ZodOptional<z.ZodBoolean>;
194
- blockOnHigh: z.ZodOptional<z.ZodBoolean>;
195
- baselineEnabled: z.ZodOptional<z.ZodBoolean>;
196
- allowlistEnabled: z.ZodOptional<z.ZodBoolean>;
197
- }, "strip", z.ZodTypeAny, {
198
- enabled?: boolean;
199
- blockOnCritical?: boolean;
200
- blockOnHigh?: boolean;
201
- baselineEnabled?: boolean;
202
- allowlistEnabled?: boolean;
203
- }, {
204
- enabled?: boolean;
205
- blockOnCritical?: boolean;
206
- blockOnHigh?: boolean;
207
- baselineEnabled?: boolean;
208
- allowlistEnabled?: boolean;
209
- }>;
210
- output: z.ZodObject<{
211
- format: z.ZodEnum<["table", "json", "sarif", "markdown"]>;
212
- sarifUpload: z.ZodOptional<z.ZodBoolean>;
213
- badgeGeneration: z.ZodOptional<z.ZodBoolean>;
214
- }, "strip", z.ZodTypeAny, {
215
- format?: "json" | "sarif" | "table" | "markdown";
216
- sarifUpload?: boolean;
217
- badgeGeneration?: boolean;
218
- }, {
219
- format?: "json" | "sarif" | "table" | "markdown";
220
- sarifUpload?: boolean;
221
- badgeGeneration?: boolean;
222
- }>;
223
- ci: z.ZodOptional<z.ZodObject<{
224
- enabled: z.ZodBoolean;
225
- provider: z.ZodOptional<z.ZodEnum<["github", "gitlab", "azure", "bitbucket"]>>;
226
- runOnPush: z.ZodOptional<z.ZodBoolean>;
227
- runOnPR: z.ZodOptional<z.ZodBoolean>;
228
- sarifUpload: z.ZodOptional<z.ZodBoolean>;
229
- }, "strip", z.ZodTypeAny, {
230
- enabled?: boolean;
231
- sarifUpload?: boolean;
232
- provider?: "github" | "gitlab" | "azure" | "bitbucket";
233
- runOnPush?: boolean;
234
- runOnPR?: boolean;
235
- }, {
236
- enabled?: boolean;
237
- sarifUpload?: boolean;
238
- provider?: "github" | "gitlab" | "azure" | "bitbucket";
239
- runOnPush?: boolean;
240
- runOnPR?: boolean;
241
- }>>;
242
- hooks: z.ZodOptional<z.ZodObject<{
243
- enabled: z.ZodBoolean;
244
- runner: z.ZodOptional<z.ZodEnum<["husky", "lefthook"]>>;
245
- preCommit: z.ZodOptional<z.ZodBoolean>;
246
- prePush: z.ZodOptional<z.ZodBoolean>;
247
- }, "strip", z.ZodTypeAny, {
248
- enabled?: boolean;
249
- runner?: "husky" | "lefthook";
250
- preCommit?: boolean;
251
- prePush?: boolean;
252
- }, {
253
- enabled?: boolean;
254
- runner?: "husky" | "lefthook";
255
- preCommit?: boolean;
256
- prePush?: boolean;
257
- }>>;
258
- noise: z.ZodOptional<z.ZodObject<{
259
- suppressTestFiles: z.ZodOptional<z.ZodBoolean>;
260
- suppressLowConfidence: z.ZodOptional<z.ZodBoolean>;
261
- minEntropy: z.ZodOptional<z.ZodNumber>;
262
- }, "strip", z.ZodTypeAny, {
263
- suppressTestFiles?: boolean;
264
- suppressLowConfidence?: boolean;
265
- minEntropy?: number;
266
- }, {
267
- suppressTestFiles?: boolean;
268
- suppressLowConfidence?: boolean;
269
- minEntropy?: number;
270
- }>>;
271
- }, "strip", z.ZodTypeAny, {
272
- version?: string;
273
- output?: {
274
- format?: "json" | "sarif" | "table" | "markdown";
275
- sarifUpload?: boolean;
276
- badgeGeneration?: boolean;
277
- };
278
- template?: "enterprise" | "startup" | "oss";
279
- framework?: string;
280
- scans?: {
281
- vulnerabilities?: {
282
- enabled?: boolean;
283
- threshold?: "critical" | "high" | "medium" | "low";
284
- excludePatterns?: string[];
285
- };
286
- secrets?: {
287
- enabled?: boolean;
288
- threshold?: "critical" | "high" | "medium" | "low";
289
- excludePatterns?: string[];
290
- };
291
- compliance?: {
292
- enabled?: boolean;
293
- frameworks?: ("soc2" | "gdpr" | "hipaa" | "pci" | "iso27001" | "nist")[];
294
- autoEvidence?: boolean;
295
- };
296
- sbom?: {
297
- enabled?: boolean;
298
- };
299
- };
300
- gating?: {
301
- enabled?: boolean;
302
- blockOnCritical?: boolean;
303
- blockOnHigh?: boolean;
304
- baselineEnabled?: boolean;
305
- allowlistEnabled?: boolean;
306
- };
307
- ci?: {
308
- enabled?: boolean;
309
- sarifUpload?: boolean;
310
- provider?: "github" | "gitlab" | "azure" | "bitbucket";
311
- runOnPush?: boolean;
312
- runOnPR?: boolean;
313
- };
314
- hooks?: {
315
- enabled?: boolean;
316
- runner?: "husky" | "lefthook";
317
- preCommit?: boolean;
318
- prePush?: boolean;
319
- };
320
- noise?: {
321
- suppressTestFiles?: boolean;
322
- suppressLowConfidence?: boolean;
323
- minEntropy?: number;
324
- };
325
- }, {
326
- version?: string;
327
- output?: {
328
- format?: "json" | "sarif" | "table" | "markdown";
329
- sarifUpload?: boolean;
330
- badgeGeneration?: boolean;
331
- };
332
- template?: "enterprise" | "startup" | "oss";
333
- framework?: string;
334
- scans?: {
335
- vulnerabilities?: {
336
- enabled?: boolean;
337
- threshold?: "critical" | "high" | "medium" | "low";
338
- excludePatterns?: string[];
339
- };
340
- secrets?: {
341
- enabled?: boolean;
342
- threshold?: "critical" | "high" | "medium" | "low";
343
- excludePatterns?: string[];
344
- };
345
- compliance?: {
346
- enabled?: boolean;
347
- frameworks?: ("soc2" | "gdpr" | "hipaa" | "pci" | "iso27001" | "nist")[];
348
- autoEvidence?: boolean;
349
- };
350
- sbom?: {
351
- enabled?: boolean;
352
- };
353
- };
354
- gating?: {
355
- enabled?: boolean;
356
- blockOnCritical?: boolean;
357
- blockOnHigh?: boolean;
358
- baselineEnabled?: boolean;
359
- allowlistEnabled?: boolean;
360
- };
361
- ci?: {
362
- enabled?: boolean;
363
- sarifUpload?: boolean;
364
- provider?: "github" | "gitlab" | "azure" | "bitbucket";
365
- runOnPush?: boolean;
366
- runOnPR?: boolean;
367
- };
368
- hooks?: {
369
- enabled?: boolean;
370
- runner?: "husky" | "lefthook";
371
- preCommit?: boolean;
372
- prePush?: boolean;
373
- };
374
- noise?: {
375
- suppressTestFiles?: boolean;
376
- suppressLowConfidence?: boolean;
377
- minEntropy?: number;
378
- };
379
- }>;
380
- export type VibecheckConfig = z.infer<typeof VibecheckConfigSchema>;
381
- export type GuardrailConfig = VibecheckConfig;
382
- export interface TemplateDefinition {
383
- name: string;
384
- description: string;
385
- config: VibecheckConfig;
386
- }
387
- export declare const TEMPLATES: Record<TemplateType, TemplateDefinition>;
388
- export declare function getTemplate(templateType: TemplateType): TemplateDefinition;
389
- export declare function validateConfig(config: unknown): {
390
- success: true;
391
- data: VibecheckConfig;
392
- } | {
393
- success: false;
394
- error: z.ZodError;
395
- };
396
- export declare function mergeWithFrameworkDefaults(config: VibecheckConfig, framework: string, recommendedScans: string[]): VibecheckConfig;
397
- export declare function getTemplateChoices(): Array<{
398
- name: string;
399
- value: TemplateType;
400
- description: string;
401
- }>;
402
- //# sourceMappingURL=templates.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/init/templates.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,YAAY,6CAA2C,CAAC;AACrE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;EAI3B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;EAIjC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;EAM7B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EAI7B,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;EAMzB,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;EAK5B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,MAAM,MAAM,eAAe,GAAG,eAAe,CAAC;AAE9C,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC;CACzB;AA8HD,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,YAAY,EAAE,kBAAkB,CAI9D,CAAC;AAEF,wBAAgB,WAAW,CAAC,YAAY,EAAE,YAAY,GAAG,kBAAkB,CAE1E;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,eAAe,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAA;CAAE,CAMhI;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,eAAe,EACvB,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,MAAM,EAAE,GACzB,eAAe,CAkBjB;AAED,wBAAgB,kBAAkB,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,YAAY,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAkBtG"}
@@ -1,240 +0,0 @@
1
- "use strict";
2
- /**
3
- * Template Configuration Module
4
- * Defines startup/enterprise/oss templates with Zod schema validation
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.TEMPLATES = exports.VibecheckConfigSchema = exports.HooksConfigSchema = exports.CIConfigSchema = exports.OutputConfigSchema = exports.GatingConfigSchema = exports.ComplianceConfigSchema = exports.ScanConfigSchema = exports.TemplateType = void 0;
8
- exports.getTemplate = getTemplate;
9
- exports.validateConfig = validateConfig;
10
- exports.mergeWithFrameworkDefaults = mergeWithFrameworkDefaults;
11
- exports.getTemplateChoices = getTemplateChoices;
12
- const zod_1 = require("zod");
13
- exports.TemplateType = zod_1.z.enum(['startup', 'enterprise', 'oss']);
14
- exports.ScanConfigSchema = zod_1.z.object({
15
- enabled: zod_1.z.boolean(),
16
- threshold: zod_1.z.enum(['critical', 'high', 'medium', 'low']).optional(),
17
- excludePatterns: zod_1.z.array(zod_1.z.string()).optional(),
18
- });
19
- exports.ComplianceConfigSchema = zod_1.z.object({
20
- enabled: zod_1.z.boolean(),
21
- frameworks: zod_1.z.array(zod_1.z.enum(['soc2', 'gdpr', 'hipaa', 'pci', 'iso27001', 'nist'])).optional(),
22
- autoEvidence: zod_1.z.boolean().optional(),
23
- });
24
- exports.GatingConfigSchema = zod_1.z.object({
25
- enabled: zod_1.z.boolean(),
26
- blockOnCritical: zod_1.z.boolean().optional(),
27
- blockOnHigh: zod_1.z.boolean().optional(),
28
- baselineEnabled: zod_1.z.boolean().optional(),
29
- allowlistEnabled: zod_1.z.boolean().optional(),
30
- });
31
- exports.OutputConfigSchema = zod_1.z.object({
32
- format: zod_1.z.enum(['table', 'json', 'sarif', 'markdown']),
33
- sarifUpload: zod_1.z.boolean().optional(),
34
- badgeGeneration: zod_1.z.boolean().optional(),
35
- });
36
- exports.CIConfigSchema = zod_1.z.object({
37
- enabled: zod_1.z.boolean(),
38
- provider: zod_1.z.enum(['github', 'gitlab', 'azure', 'bitbucket']).optional(),
39
- runOnPush: zod_1.z.boolean().optional(),
40
- runOnPR: zod_1.z.boolean().optional(),
41
- sarifUpload: zod_1.z.boolean().optional(),
42
- });
43
- exports.HooksConfigSchema = zod_1.z.object({
44
- enabled: zod_1.z.boolean(),
45
- runner: zod_1.z.enum(['husky', 'lefthook']).optional(),
46
- preCommit: zod_1.z.boolean().optional(),
47
- prePush: zod_1.z.boolean().optional(),
48
- });
49
- exports.VibecheckConfigSchema = zod_1.z.object({
50
- version: zod_1.z.string(),
51
- template: exports.TemplateType.optional(),
52
- framework: zod_1.z.string().optional(),
53
- scans: zod_1.z.object({
54
- secrets: exports.ScanConfigSchema,
55
- vulnerabilities: exports.ScanConfigSchema,
56
- compliance: exports.ComplianceConfigSchema,
57
- sbom: zod_1.z.object({ enabled: zod_1.z.boolean() }).optional(),
58
- }),
59
- gating: exports.GatingConfigSchema,
60
- output: exports.OutputConfigSchema,
61
- ci: exports.CIConfigSchema.optional(),
62
- hooks: exports.HooksConfigSchema.optional(),
63
- noise: zod_1.z.object({
64
- suppressTestFiles: zod_1.z.boolean().optional(),
65
- suppressLowConfidence: zod_1.z.boolean().optional(),
66
- minEntropy: zod_1.z.number().optional(),
67
- }).optional(),
68
- });
69
- const STARTUP_TEMPLATE = {
70
- name: 'Startup',
71
- description: 'Fast scans, minimal compliance, friendly noise thresholds - ideal for early-stage teams',
72
- config: {
73
- version: '1.0.0',
74
- template: 'startup',
75
- scans: {
76
- secrets: {
77
- enabled: true,
78
- threshold: 'high',
79
- excludePatterns: ['**/*.test.*', '**/*.spec.*', '**/fixtures/**'],
80
- },
81
- vulnerabilities: {
82
- enabled: true,
83
- threshold: 'high',
84
- },
85
- compliance: {
86
- enabled: false,
87
- },
88
- },
89
- gating: {
90
- enabled: true,
91
- blockOnCritical: true,
92
- blockOnHigh: false,
93
- baselineEnabled: false,
94
- allowlistEnabled: false,
95
- },
96
- output: {
97
- format: 'table',
98
- badgeGeneration: true,
99
- },
100
- noise: {
101
- suppressTestFiles: true,
102
- suppressLowConfidence: true,
103
- minEntropy: 3.5,
104
- },
105
- },
106
- };
107
- const ENTERPRISE_TEMPLATE = {
108
- name: 'Enterprise',
109
- description: 'Strict gating, baseline/allowlist enabled, compliance on by default, SARIF output for CI',
110
- config: {
111
- version: '1.0.0',
112
- template: 'enterprise',
113
- scans: {
114
- secrets: {
115
- enabled: true,
116
- threshold: 'low',
117
- },
118
- vulnerabilities: {
119
- enabled: true,
120
- threshold: 'medium',
121
- },
122
- compliance: {
123
- enabled: true,
124
- frameworks: ['soc2'],
125
- autoEvidence: true,
126
- },
127
- sbom: {
128
- enabled: true,
129
- },
130
- },
131
- gating: {
132
- enabled: true,
133
- blockOnCritical: true,
134
- blockOnHigh: true,
135
- baselineEnabled: true,
136
- allowlistEnabled: true,
137
- },
138
- output: {
139
- format: 'sarif',
140
- sarifUpload: true,
141
- badgeGeneration: true,
142
- },
143
- noise: {
144
- suppressTestFiles: false,
145
- suppressLowConfidence: false,
146
- },
147
- },
148
- };
149
- const OSS_TEMPLATE = {
150
- name: 'OSS',
151
- description: 'Focus on supply chain (SBOM, vulns), permissive gating, contributor-friendly output',
152
- config: {
153
- version: '1.0.0',
154
- template: 'oss',
155
- scans: {
156
- secrets: {
157
- enabled: true,
158
- threshold: 'high',
159
- excludePatterns: ['**/*.example.*', '**/examples/**', '**/docs/**'],
160
- },
161
- vulnerabilities: {
162
- enabled: true,
163
- threshold: 'medium',
164
- },
165
- compliance: {
166
- enabled: false,
167
- },
168
- sbom: {
169
- enabled: true,
170
- },
171
- },
172
- gating: {
173
- enabled: true,
174
- blockOnCritical: true,
175
- blockOnHigh: false,
176
- baselineEnabled: true,
177
- allowlistEnabled: true,
178
- },
179
- output: {
180
- format: 'markdown',
181
- badgeGeneration: true,
182
- },
183
- noise: {
184
- suppressTestFiles: true,
185
- suppressLowConfidence: true,
186
- minEntropy: 3.0,
187
- },
188
- },
189
- };
190
- exports.TEMPLATES = {
191
- startup: STARTUP_TEMPLATE,
192
- enterprise: ENTERPRISE_TEMPLATE,
193
- oss: OSS_TEMPLATE,
194
- };
195
- function getTemplate(templateType) {
196
- return exports.TEMPLATES[templateType];
197
- }
198
- function validateConfig(config) {
199
- const result = exports.VibecheckConfigSchema.safeParse(config);
200
- if (result.success) {
201
- return { success: true, data: result.data };
202
- }
203
- return { success: false, error: result.error };
204
- }
205
- function mergeWithFrameworkDefaults(config, framework, recommendedScans) {
206
- const merged = { ...config, framework };
207
- if (recommendedScans.includes('reality')) {
208
- merged.scans = {
209
- ...merged.scans,
210
- };
211
- }
212
- if (recommendedScans.includes('compliance') && !merged.scans.compliance.enabled) {
213
- merged.scans.compliance = {
214
- ...merged.scans.compliance,
215
- enabled: true,
216
- frameworks: ['soc2'],
217
- };
218
- }
219
- return merged;
220
- }
221
- function getTemplateChoices() {
222
- return [
223
- {
224
- name: 'Startup',
225
- value: 'startup',
226
- description: STARTUP_TEMPLATE.description,
227
- },
228
- {
229
- name: 'Enterprise',
230
- value: 'enterprise',
231
- description: ENTERPRISE_TEMPLATE.description,
232
- },
233
- {
234
- name: 'OSS',
235
- value: 'oss',
236
- description: OSS_TEMPLATE.description,
237
- },
238
- ];
239
- }
240
- //# sourceMappingURL=templates.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/init/templates.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- /**
2
- * MCP Server for Context Mode
3
- *
4
- * Starts MCP server that AI tools can connect to
5
- */
6
- export interface MCPServerOptions {
7
- port?: number;
8
- telemetry?: boolean;
9
- }
10
- export declare function startMCPServer(projectPath: string, options?: MCPServerOptions): Promise<void>;
11
- export declare function stopMCPServer(): void;
12
- //# sourceMappingURL=server.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAID,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBvG;AAED,wBAAgB,aAAa,IAAI,IAAI,CAKpC"}