@vibecheckai/cli 2.5.1

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 (415) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +532 -0
  3. package/dist/autopatch/verified-autopatch.d.ts +111 -0
  4. package/dist/autopatch/verified-autopatch.d.ts.map +1 -0
  5. package/dist/autopatch/verified-autopatch.js +503 -0
  6. package/dist/autopatch/verified-autopatch.js.map +1 -0
  7. package/dist/bundles/guardrail-core.js +25799 -0
  8. package/dist/bundles/guardrail-security.js +208687 -0
  9. package/dist/bundles/guardrail-ship.js +2318 -0
  10. package/dist/bundles/index.js +8 -0
  11. package/dist/commands/autopilot-decision.d.ts +24 -0
  12. package/dist/commands/autopilot-decision.d.ts.map +1 -0
  13. package/dist/commands/autopilot-decision.js +304 -0
  14. package/dist/commands/autopilot-decision.js.map +1 -0
  15. package/dist/commands/autopilot.d.ts +33 -0
  16. package/dist/commands/autopilot.d.ts.map +1 -0
  17. package/dist/commands/autopilot.js +1539 -0
  18. package/dist/commands/autopilot.js.map +1 -0
  19. package/dist/commands/baseline.d.ts +7 -0
  20. package/dist/commands/baseline.d.ts.map +1 -0
  21. package/dist/commands/baseline.js +79 -0
  22. package/dist/commands/baseline.js.map +1 -0
  23. package/dist/commands/cache.d.ts +13 -0
  24. package/dist/commands/cache.d.ts.map +1 -0
  25. package/dist/commands/cache.js +165 -0
  26. package/dist/commands/cache.js.map +1 -0
  27. package/dist/commands/checkpoint.d.ts +8 -0
  28. package/dist/commands/checkpoint.d.ts.map +1 -0
  29. package/dist/commands/checkpoint.js +35 -0
  30. package/dist/commands/checkpoint.js.map +1 -0
  31. package/dist/commands/context.d.ts +8 -0
  32. package/dist/commands/context.d.ts.map +1 -0
  33. package/dist/commands/context.js +340 -0
  34. package/dist/commands/context.js.map +1 -0
  35. package/dist/commands/debug.d.ts +78 -0
  36. package/dist/commands/debug.d.ts.map +1 -0
  37. package/dist/commands/debug.js +381 -0
  38. package/dist/commands/debug.js.map +1 -0
  39. package/dist/commands/doctor.d.ts +17 -0
  40. package/dist/commands/doctor.d.ts.map +1 -0
  41. package/dist/commands/doctor.js +226 -0
  42. package/dist/commands/doctor.js.map +1 -0
  43. package/dist/commands/evidence.d.ts +45 -0
  44. package/dist/commands/evidence.d.ts.map +1 -0
  45. package/dist/commands/evidence.js +197 -0
  46. package/dist/commands/evidence.js.map +1 -0
  47. package/dist/commands/explain.d.ts +8 -0
  48. package/dist/commands/explain.d.ts.map +1 -0
  49. package/dist/commands/explain.js +52 -0
  50. package/dist/commands/explain.js.map +1 -0
  51. package/dist/commands/fix-consolidated.d.ts +19 -0
  52. package/dist/commands/fix-consolidated.d.ts.map +1 -0
  53. package/dist/commands/fix-consolidated.js +165 -0
  54. package/dist/commands/fix-consolidated.js.map +1 -0
  55. package/dist/commands/index.d.ts +8 -0
  56. package/dist/commands/index.d.ts.map +1 -0
  57. package/dist/commands/index.js +15 -0
  58. package/dist/commands/index.js.map +1 -0
  59. package/dist/commands/init.d.ts +8 -0
  60. package/dist/commands/init.d.ts.map +1 -0
  61. package/dist/commands/init.js +125 -0
  62. package/dist/commands/init.js.map +1 -0
  63. package/dist/commands/launcher.d.ts +10 -0
  64. package/dist/commands/launcher.d.ts.map +1 -0
  65. package/dist/commands/launcher.js +174 -0
  66. package/dist/commands/launcher.js.map +1 -0
  67. package/dist/commands/on.d.ts +8 -0
  68. package/dist/commands/on.d.ts.map +1 -0
  69. package/dist/commands/on.js +123 -0
  70. package/dist/commands/on.js.map +1 -0
  71. package/dist/commands/preview.d.ts +54 -0
  72. package/dist/commands/preview.d.ts.map +1 -0
  73. package/dist/commands/preview.js +352 -0
  74. package/dist/commands/preview.js.map +1 -0
  75. package/dist/commands/quality/check.d.ts +31 -0
  76. package/dist/commands/quality/check.d.ts.map +1 -0
  77. package/dist/commands/quality/check.js +242 -0
  78. package/dist/commands/quality/check.js.map +1 -0
  79. package/dist/commands/quality/index.d.ts +8 -0
  80. package/dist/commands/quality/index.d.ts.map +1 -0
  81. package/dist/commands/quality/index.js +14 -0
  82. package/dist/commands/quality/index.js.map +1 -0
  83. package/dist/commands/quality/setup-quality.d.ts +23 -0
  84. package/dist/commands/quality/setup-quality.d.ts.map +1 -0
  85. package/dist/commands/quality/setup-quality.js +452 -0
  86. package/dist/commands/quality/setup-quality.js.map +1 -0
  87. package/dist/commands/quality/tidy.d.ts +41 -0
  88. package/dist/commands/quality/tidy.d.ts.map +1 -0
  89. package/dist/commands/quality/tidy.js +466 -0
  90. package/dist/commands/quality/tidy.js.map +1 -0
  91. package/dist/commands/quality/utils.d.ts +73 -0
  92. package/dist/commands/quality/utils.d.ts.map +1 -0
  93. package/dist/commands/quality/utils.js +158 -0
  94. package/dist/commands/quality/utils.js.map +1 -0
  95. package/dist/commands/replay.d.ts +8 -0
  96. package/dist/commands/replay.d.ts.map +1 -0
  97. package/dist/commands/replay.js +52 -0
  98. package/dist/commands/replay.js.map +1 -0
  99. package/dist/commands/scan-consolidated.d.ts +61 -0
  100. package/dist/commands/scan-consolidated.d.ts.map +1 -0
  101. package/dist/commands/scan-consolidated.js +243 -0
  102. package/dist/commands/scan-consolidated.js.map +1 -0
  103. package/dist/commands/scan-secrets.d.ts +47 -0
  104. package/dist/commands/scan-secrets.d.ts.map +1 -0
  105. package/dist/commands/scan-secrets.js +225 -0
  106. package/dist/commands/scan-secrets.js.map +1 -0
  107. package/dist/commands/scan-vulnerabilities-enhanced.d.ts +41 -0
  108. package/dist/commands/scan-vulnerabilities-enhanced.d.ts.map +1 -0
  109. package/dist/commands/scan-vulnerabilities-enhanced.js +368 -0
  110. package/dist/commands/scan-vulnerabilities-enhanced.js.map +1 -0
  111. package/dist/commands/scan-vulnerabilities-osv.d.ts +58 -0
  112. package/dist/commands/scan-vulnerabilities-osv.d.ts.map +1 -0
  113. package/dist/commands/scan-vulnerabilities-osv.js +716 -0
  114. package/dist/commands/scan-vulnerabilities-osv.js.map +1 -0
  115. package/dist/commands/scan-vulnerabilities.d.ts +32 -0
  116. package/dist/commands/scan-vulnerabilities.d.ts.map +1 -0
  117. package/dist/commands/scan-vulnerabilities.js +283 -0
  118. package/dist/commands/scan-vulnerabilities.js.map +1 -0
  119. package/dist/commands/secrets-allowlist.d.ts +7 -0
  120. package/dist/commands/secrets-allowlist.d.ts.map +1 -0
  121. package/dist/commands/secrets-allowlist.js +85 -0
  122. package/dist/commands/secrets-allowlist.js.map +1 -0
  123. package/dist/commands/ship-consolidated.d.ts +58 -0
  124. package/dist/commands/ship-consolidated.d.ts.map +1 -0
  125. package/dist/commands/ship-consolidated.js +515 -0
  126. package/dist/commands/ship-consolidated.js.map +1 -0
  127. package/dist/commands/stats.d.ts +8 -0
  128. package/dist/commands/stats.d.ts.map +1 -0
  129. package/dist/commands/stats.js +134 -0
  130. package/dist/commands/stats.js.map +1 -0
  131. package/dist/commands/upgrade.d.ts +8 -0
  132. package/dist/commands/upgrade.d.ts.map +1 -0
  133. package/dist/commands/upgrade.js +30 -0
  134. package/dist/commands/upgrade.js.map +1 -0
  135. package/dist/fix/analytics.d.ts +121 -0
  136. package/dist/fix/analytics.d.ts.map +1 -0
  137. package/dist/fix/analytics.js +289 -0
  138. package/dist/fix/analytics.js.map +1 -0
  139. package/dist/fix/applicator.d.ts +44 -0
  140. package/dist/fix/applicator.d.ts.map +1 -0
  141. package/dist/fix/applicator.js +144 -0
  142. package/dist/fix/applicator.js.map +1 -0
  143. package/dist/fix/audit.d.ts +61 -0
  144. package/dist/fix/audit.d.ts.map +1 -0
  145. package/dist/fix/audit.js +149 -0
  146. package/dist/fix/audit.js.map +1 -0
  147. package/dist/fix/backup.d.ts +38 -0
  148. package/dist/fix/backup.d.ts.map +1 -0
  149. package/dist/fix/backup.js +154 -0
  150. package/dist/fix/backup.js.map +1 -0
  151. package/dist/fix/config.d.ts +78 -0
  152. package/dist/fix/config.d.ts.map +1 -0
  153. package/dist/fix/config.js +200 -0
  154. package/dist/fix/config.js.map +1 -0
  155. package/dist/fix/engine.d.ts +55 -0
  156. package/dist/fix/engine.d.ts.map +1 -0
  157. package/dist/fix/engine.js +285 -0
  158. package/dist/fix/engine.js.map +1 -0
  159. package/dist/fix/impact.d.ts +74 -0
  160. package/dist/fix/impact.d.ts.map +1 -0
  161. package/dist/fix/impact.js +281 -0
  162. package/dist/fix/impact.js.map +1 -0
  163. package/dist/fix/index.d.ts +5 -0
  164. package/dist/fix/index.d.ts.map +1 -0
  165. package/dist/fix/index.js +12 -0
  166. package/dist/fix/index.js.map +1 -0
  167. package/dist/fix/interactive.d.ts +22 -0
  168. package/dist/fix/interactive.d.ts.map +1 -0
  169. package/dist/fix/interactive.js +172 -0
  170. package/dist/fix/interactive.js.map +1 -0
  171. package/dist/fix/learning.d.ts +109 -0
  172. package/dist/fix/learning.d.ts.map +1 -0
  173. package/dist/fix/learning.js +296 -0
  174. package/dist/fix/learning.js.map +1 -0
  175. package/dist/fix/metrics.d.ts +106 -0
  176. package/dist/fix/metrics.d.ts.map +1 -0
  177. package/dist/fix/metrics.js +138 -0
  178. package/dist/fix/metrics.js.map +1 -0
  179. package/dist/fix/parallel.d.ts +69 -0
  180. package/dist/fix/parallel.d.ts.map +1 -0
  181. package/dist/fix/parallel.js +203 -0
  182. package/dist/fix/parallel.js.map +1 -0
  183. package/dist/fix/report.d.ts +40 -0
  184. package/dist/fix/report.d.ts.map +1 -0
  185. package/dist/fix/report.js +212 -0
  186. package/dist/fix/report.js.map +1 -0
  187. package/dist/fix/strategy.d.ts +53 -0
  188. package/dist/fix/strategy.d.ts.map +1 -0
  189. package/dist/fix/strategy.js +143 -0
  190. package/dist/fix/strategy.js.map +1 -0
  191. package/dist/fix/templates.d.ts +58 -0
  192. package/dist/fix/templates.d.ts.map +1 -0
  193. package/dist/fix/templates.js +259 -0
  194. package/dist/fix/templates.js.map +1 -0
  195. package/dist/fix/testing.d.ts +68 -0
  196. package/dist/fix/testing.d.ts.map +1 -0
  197. package/dist/fix/testing.js +245 -0
  198. package/dist/fix/testing.js.map +1 -0
  199. package/dist/fix/validation.d.ts +71 -0
  200. package/dist/fix/validation.d.ts.map +1 -0
  201. package/dist/fix/validation.js +267 -0
  202. package/dist/fix/validation.js.map +1 -0
  203. package/dist/fix/visualization.d.ts +73 -0
  204. package/dist/fix/visualization.d.ts.map +1 -0
  205. package/dist/fix/visualization.js +243 -0
  206. package/dist/fix/visualization.js.map +1 -0
  207. package/dist/formatters/index.d.ts +6 -0
  208. package/dist/formatters/index.d.ts.map +1 -0
  209. package/dist/formatters/index.js +11 -0
  210. package/dist/formatters/index.js.map +1 -0
  211. package/dist/formatters/sarif-enhanced.d.ts +78 -0
  212. package/dist/formatters/sarif-enhanced.d.ts.map +1 -0
  213. package/dist/formatters/sarif-enhanced.js +144 -0
  214. package/dist/formatters/sarif-enhanced.js.map +1 -0
  215. package/dist/formatters/sarif-v2.d.ts +121 -0
  216. package/dist/formatters/sarif-v2.d.ts.map +1 -0
  217. package/dist/formatters/sarif-v2.js +356 -0
  218. package/dist/formatters/sarif-v2.js.map +1 -0
  219. package/dist/formatters/sarif.d.ts +72 -0
  220. package/dist/formatters/sarif.d.ts.map +1 -0
  221. package/dist/formatters/sarif.js +146 -0
  222. package/dist/formatters/sarif.js.map +1 -0
  223. package/dist/index.d.ts +61 -0
  224. package/dist/index.d.ts.map +1 -0
  225. package/dist/index.js +4455 -0
  226. package/dist/index.js.map +1 -0
  227. package/dist/init/ci-generator.d.ts +18 -0
  228. package/dist/init/ci-generator.d.ts.map +1 -0
  229. package/dist/init/ci-generator.js +317 -0
  230. package/dist/init/ci-generator.js.map +1 -0
  231. package/dist/init/detect-framework.d.ts +15 -0
  232. package/dist/init/detect-framework.d.ts.map +1 -0
  233. package/dist/init/detect-framework.js +301 -0
  234. package/dist/init/detect-framework.js.map +1 -0
  235. package/dist/init/hooks-installer.d.ts +22 -0
  236. package/dist/init/hooks-installer.d.ts.map +1 -0
  237. package/dist/init/hooks-installer.js +310 -0
  238. package/dist/init/hooks-installer.js.map +1 -0
  239. package/dist/init/index.d.ts +8 -0
  240. package/dist/init/index.d.ts.map +1 -0
  241. package/dist/init/index.js +22 -0
  242. package/dist/init/index.js.map +1 -0
  243. package/dist/init/templates.d.ts +401 -0
  244. package/dist/init/templates.d.ts.map +1 -0
  245. package/dist/init/templates.js +240 -0
  246. package/dist/init/templates.js.map +1 -0
  247. package/dist/mcp/server.d.ts +12 -0
  248. package/dist/mcp/server.d.ts.map +1 -0
  249. package/dist/mcp/server.js +42 -0
  250. package/dist/mcp/server.js.map +1 -0
  251. package/dist/mcp/telemetry.d.ts +40 -0
  252. package/dist/mcp/telemetry.d.ts.map +1 -0
  253. package/dist/mcp/telemetry.js +98 -0
  254. package/dist/mcp/telemetry.js.map +1 -0
  255. package/dist/reality/no-dead-buttons/button-sweep-generator.d.ts +32 -0
  256. package/dist/reality/no-dead-buttons/button-sweep-generator.d.ts.map +1 -0
  257. package/dist/reality/no-dead-buttons/button-sweep-generator.js +236 -0
  258. package/dist/reality/no-dead-buttons/button-sweep-generator.js.map +1 -0
  259. package/dist/reality/no-dead-buttons/index.d.ts +11 -0
  260. package/dist/reality/no-dead-buttons/index.d.ts.map +1 -0
  261. package/dist/reality/no-dead-buttons/index.js +18 -0
  262. package/dist/reality/no-dead-buttons/index.js.map +1 -0
  263. package/dist/reality/no-dead-buttons/static-scanner.d.ts +34 -0
  264. package/dist/reality/no-dead-buttons/static-scanner.d.ts.map +1 -0
  265. package/dist/reality/no-dead-buttons/static-scanner.js +230 -0
  266. package/dist/reality/no-dead-buttons/static-scanner.js.map +1 -0
  267. package/dist/reality/reality-graph.d.ts +192 -0
  268. package/dist/reality/reality-graph.d.ts.map +1 -0
  269. package/dist/reality/reality-graph.js +600 -0
  270. package/dist/reality/reality-graph.js.map +1 -0
  271. package/dist/reality/reality-runner.d.ts +89 -0
  272. package/dist/reality/reality-runner.d.ts.map +1 -0
  273. package/dist/reality/reality-runner.js +540 -0
  274. package/dist/reality/reality-runner.js.map +1 -0
  275. package/dist/reality/receipt-generator.d.ts +152 -0
  276. package/dist/reality/receipt-generator.d.ts.map +1 -0
  277. package/dist/reality/receipt-generator.js +495 -0
  278. package/dist/reality/receipt-generator.js.map +1 -0
  279. package/dist/reality/runtime-tracer.d.ts +75 -0
  280. package/dist/reality/runtime-tracer.d.ts.map +1 -0
  281. package/dist/reality/runtime-tracer.js +109 -0
  282. package/dist/reality/runtime-tracer.js.map +1 -0
  283. package/dist/runtime/auth-utils.d.ts +43 -0
  284. package/dist/runtime/auth-utils.d.ts.map +1 -0
  285. package/dist/runtime/auth-utils.js +130 -0
  286. package/dist/runtime/auth-utils.js.map +1 -0
  287. package/dist/runtime/cli-errors.d.ts +38 -0
  288. package/dist/runtime/cli-errors.d.ts.map +1 -0
  289. package/dist/runtime/cli-errors.js +354 -0
  290. package/dist/runtime/cli-errors.js.map +1 -0
  291. package/dist/runtime/client.d.ts +74 -0
  292. package/dist/runtime/client.d.ts.map +1 -0
  293. package/dist/runtime/client.js +222 -0
  294. package/dist/runtime/client.js.map +1 -0
  295. package/dist/runtime/creds.d.ts +48 -0
  296. package/dist/runtime/creds.d.ts.map +1 -0
  297. package/dist/runtime/creds.js +245 -0
  298. package/dist/runtime/creds.js.map +1 -0
  299. package/dist/runtime/exit-codes.d.ts +49 -0
  300. package/dist/runtime/exit-codes.d.ts.map +1 -0
  301. package/dist/runtime/exit-codes.js +93 -0
  302. package/dist/runtime/exit-codes.js.map +1 -0
  303. package/dist/runtime/index.d.ts +9 -0
  304. package/dist/runtime/index.d.ts.map +1 -0
  305. package/dist/runtime/index.js +25 -0
  306. package/dist/runtime/index.js.map +1 -0
  307. package/dist/runtime/json-output.d.ts +42 -0
  308. package/dist/runtime/json-output.d.ts.map +1 -0
  309. package/dist/runtime/json-output.js +59 -0
  310. package/dist/runtime/json-output.js.map +1 -0
  311. package/dist/runtime/owner-mode.d.ts +48 -0
  312. package/dist/runtime/owner-mode.d.ts.map +1 -0
  313. package/dist/runtime/owner-mode.js +284 -0
  314. package/dist/runtime/owner-mode.js.map +1 -0
  315. package/dist/runtime/semver.d.ts +37 -0
  316. package/dist/runtime/semver.d.ts.map +1 -0
  317. package/dist/runtime/semver.js +110 -0
  318. package/dist/runtime/semver.js.map +1 -0
  319. package/dist/scan/dead-ui-detector.d.ts +48 -0
  320. package/dist/scan/dead-ui-detector.d.ts.map +1 -0
  321. package/dist/scan/dead-ui-detector.js +170 -0
  322. package/dist/scan/dead-ui-detector.js.map +1 -0
  323. package/dist/scan/playwright-sweep.d.ts +40 -0
  324. package/dist/scan/playwright-sweep.d.ts.map +1 -0
  325. package/dist/scan/playwright-sweep.js +216 -0
  326. package/dist/scan/playwright-sweep.js.map +1 -0
  327. package/dist/scan/proof-bundle.d.ts +25 -0
  328. package/dist/scan/proof-bundle.d.ts.map +1 -0
  329. package/dist/scan/proof-bundle.js +203 -0
  330. package/dist/scan/proof-bundle.js.map +1 -0
  331. package/dist/scan/proof-graph.d.ts +59 -0
  332. package/dist/scan/proof-graph.d.ts.map +1 -0
  333. package/dist/scan/proof-graph.js +64 -0
  334. package/dist/scan/proof-graph.js.map +1 -0
  335. package/dist/scan/reality-sniff.d.ts +56 -0
  336. package/dist/scan/reality-sniff.d.ts.map +1 -0
  337. package/dist/scan/reality-sniff.js +200 -0
  338. package/dist/scan/reality-sniff.js.map +1 -0
  339. package/dist/scan/structural-verifier.d.ts +20 -0
  340. package/dist/scan/structural-verifier.d.ts.map +1 -0
  341. package/dist/scan/structural-verifier.js +112 -0
  342. package/dist/scan/structural-verifier.js.map +1 -0
  343. package/dist/scan/verification-engine.d.ts +47 -0
  344. package/dist/scan/verification-engine.d.ts.map +1 -0
  345. package/dist/scan/verification-engine.js +141 -0
  346. package/dist/scan/verification-engine.js.map +1 -0
  347. package/dist/scanner/baseline.d.ts +52 -0
  348. package/dist/scanner/baseline.d.ts.map +1 -0
  349. package/dist/scanner/baseline.js +85 -0
  350. package/dist/scanner/baseline.js.map +1 -0
  351. package/dist/scanner/incremental.d.ts +30 -0
  352. package/dist/scanner/incremental.d.ts.map +1 -0
  353. package/dist/scanner/incremental.js +82 -0
  354. package/dist/scanner/incremental.js.map +1 -0
  355. package/dist/scanner/index.d.ts +8 -0
  356. package/dist/scanner/index.d.ts.map +1 -0
  357. package/dist/scanner/index.js +15 -0
  358. package/dist/scanner/index.js.map +1 -0
  359. package/dist/scanner/parallel.d.ts +43 -0
  360. package/dist/scanner/parallel.d.ts.map +1 -0
  361. package/dist/scanner/parallel.js +99 -0
  362. package/dist/scanner/parallel.js.map +1 -0
  363. package/dist/scanner/placeholder-detector.d.ts +56 -0
  364. package/dist/scanner/placeholder-detector.d.ts.map +1 -0
  365. package/dist/scanner/placeholder-detector.js +220 -0
  366. package/dist/scanner/placeholder-detector.js.map +1 -0
  367. package/dist/scanner/route-detector.d.ts +100 -0
  368. package/dist/scanner/route-detector.d.ts.map +1 -0
  369. package/dist/scanner/route-detector.js +455 -0
  370. package/dist/scanner/route-detector.js.map +1 -0
  371. package/dist/scanner/scoring.d.ts +67 -0
  372. package/dist/scanner/scoring.d.ts.map +1 -0
  373. package/dist/scanner/scoring.js +284 -0
  374. package/dist/scanner/scoring.js.map +1 -0
  375. package/dist/ship-baseline.d.ts +56 -0
  376. package/dist/ship-baseline.d.ts.map +1 -0
  377. package/dist/ship-baseline.js +194 -0
  378. package/dist/ship-baseline.js.map +1 -0
  379. package/dist/ship-config.d.ts +91 -0
  380. package/dist/ship-config.d.ts.map +1 -0
  381. package/dist/ship-config.js +133 -0
  382. package/dist/ship-config.js.map +1 -0
  383. package/dist/ship-data-loader.d.ts +70 -0
  384. package/dist/ship-data-loader.d.ts.map +1 -0
  385. package/dist/ship-data-loader.js +301 -0
  386. package/dist/ship-data-loader.js.map +1 -0
  387. package/dist/standalone.d.ts +1 -0
  388. package/dist/standalone.d.ts.map +1 -0
  389. package/dist/standalone.js +1 -0
  390. package/dist/standalone.js.map +1 -0
  391. package/dist/truth-pack/index.d.ts +102 -0
  392. package/dist/truth-pack/index.d.ts.map +1 -0
  393. package/dist/truth-pack/index.js +694 -0
  394. package/dist/truth-pack/index.js.map +1 -0
  395. package/dist/ui/frame.d.ts +68 -0
  396. package/dist/ui/frame.d.ts.map +1 -0
  397. package/dist/ui/frame.js +165 -0
  398. package/dist/ui/frame.js.map +1 -0
  399. package/dist/ui/index.d.ts +5 -0
  400. package/dist/ui/index.d.ts.map +1 -0
  401. package/dist/ui/index.js +16 -0
  402. package/dist/ui/index.js.map +1 -0
  403. package/dist/ui.d.ts +36 -0
  404. package/dist/ui.d.ts.map +1 -0
  405. package/dist/ui.js +45 -0
  406. package/dist/ui.js.map +1 -0
  407. package/dist/utils/ai-helpers.d.ts +72 -0
  408. package/dist/utils/ai-helpers.d.ts.map +1 -0
  409. package/dist/utils/ai-helpers.js +339 -0
  410. package/dist/utils/ai-helpers.js.map +1 -0
  411. package/dist/utils/validation.d.ts +34 -0
  412. package/dist/utils/validation.d.ts.map +1 -0
  413. package/dist/utils/validation.js +160 -0
  414. package/dist/utils/validation.js.map +1 -0
  415. package/package.json +66 -0
@@ -0,0 +1,600 @@
1
+ "use strict";
2
+ /**
3
+ * Reality Graph - Evidence-Based Dependency + Behavior Graph
4
+ *
5
+ * Nodes: files, routes, handlers, DB tables, external APIs, permissions, secrets, feature flags
6
+ * Edges: "this route calls this handler", "this handler writes this table", "this flow hits this external API"
7
+ *
8
+ * Each edge gets a "proof score" based on observed execution + static certainty.
9
+ *
10
+ * Enables queries like:
11
+ * - "These 3 endpoints exist but were never executed in any proof run."
12
+ * - "This permission check is declared but not enforced on write paths."
13
+ * - "This feature flag guards UI but not API."
14
+ */
15
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ var desc = Object.getOwnPropertyDescriptor(m, k);
18
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
19
+ desc = { enumerable: true, get: function() { return m[k]; } };
20
+ }
21
+ Object.defineProperty(o, k2, desc);
22
+ }) : (function(o, m, k, k2) {
23
+ if (k2 === undefined) k2 = k;
24
+ o[k2] = m[k];
25
+ }));
26
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
27
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
28
+ }) : function(o, v) {
29
+ o["default"] = v;
30
+ });
31
+ var __importStar = (this && this.__importStar) || (function () {
32
+ var ownKeys = function(o) {
33
+ ownKeys = Object.getOwnPropertyNames || function (o) {
34
+ var ar = [];
35
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
36
+ return ar;
37
+ };
38
+ return ownKeys(o);
39
+ };
40
+ return function (mod) {
41
+ if (mod && mod.__esModule) return mod;
42
+ var result = {};
43
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
44
+ __setModuleDefault(result, mod);
45
+ return result;
46
+ };
47
+ })();
48
+ Object.defineProperty(exports, "__esModule", { value: true });
49
+ exports.RealityGraphBuilder = void 0;
50
+ const fs = __importStar(require("fs"));
51
+ const path = __importStar(require("path"));
52
+ class RealityGraphBuilder {
53
+ constructor(projectPath) {
54
+ this.projectPath = projectPath;
55
+ this.graph = {
56
+ nodes: new Map(),
57
+ edges: new Map(),
58
+ snapshots: [],
59
+ };
60
+ }
61
+ /**
62
+ * Add a node to the graph
63
+ */
64
+ addNode(node) {
65
+ const existing = this.graph.nodes.get(node.id);
66
+ if (existing) {
67
+ // Update existing node
68
+ existing.label = node.label;
69
+ existing.metadata = { ...existing.metadata, ...node.metadata };
70
+ existing.proofScore = this.combineProofScores(existing.proofScore, node.proofScore);
71
+ existing.lastSeenAt = new Date().toISOString();
72
+ }
73
+ else {
74
+ // Add new node
75
+ this.graph.nodes.set(node.id, {
76
+ ...node,
77
+ discoveredAt: new Date().toISOString(),
78
+ });
79
+ }
80
+ }
81
+ /**
82
+ * Add an edge to the graph
83
+ */
84
+ addEdge(sourceId, targetId, type, label, proofScore, metadata) {
85
+ // Ensure nodes exist
86
+ if (!this.graph.nodes.has(sourceId)) {
87
+ throw new Error(`Source node ${sourceId} does not exist`);
88
+ }
89
+ if (!this.graph.nodes.has(targetId)) {
90
+ throw new Error(`Target node ${targetId} does not exist`);
91
+ }
92
+ const edgeId = `${sourceId}->${targetId}:${type}`;
93
+ const existing = this.graph.edges.get(edgeId);
94
+ const defaultProofScore = {
95
+ static: proofScore?.static ?? 0,
96
+ observed: proofScore?.observed ?? 0,
97
+ combined: 0,
98
+ evidence: proofScore?.evidence || [],
99
+ };
100
+ defaultProofScore.combined = this.calculateCombinedScore(defaultProofScore);
101
+ if (existing) {
102
+ // Update existing edge
103
+ existing.label = label;
104
+ existing.metadata = { ...existing.metadata, ...metadata };
105
+ existing.proofScore = this.combineProofScores(existing.proofScore, defaultProofScore);
106
+ existing.lastSeenAt = new Date().toISOString();
107
+ }
108
+ else {
109
+ // Add new edge
110
+ this.graph.edges.set(edgeId, {
111
+ id: edgeId,
112
+ source: sourceId,
113
+ target: targetId,
114
+ type,
115
+ label,
116
+ proofScore: defaultProofScore,
117
+ metadata: metadata || {},
118
+ discoveredAt: new Date().toISOString(),
119
+ });
120
+ }
121
+ }
122
+ /**
123
+ * Discover nodes from static analysis
124
+ */
125
+ discoverStaticNodes() {
126
+ // Discover routes from framework files
127
+ this.discoverRoutes();
128
+ // Discover handlers from route files
129
+ this.discoverHandlers();
130
+ // Discover DB tables from Prisma schema
131
+ this.discoverDatabaseTables();
132
+ // Discover external APIs from code
133
+ this.discoverExternalAPIs();
134
+ // Discover permissions from code
135
+ this.discoverPermissions();
136
+ // Discover secrets from code
137
+ this.discoverSecrets();
138
+ // Discover feature flags from code
139
+ this.discoverFeatureFlags();
140
+ }
141
+ /**
142
+ * Update graph from runtime traces
143
+ */
144
+ updateFromRuntimeTraces(traces) {
145
+ // Update route nodes with observed execution
146
+ if (traces.routes) {
147
+ for (const route of traces.routes) {
148
+ if (route.hit) {
149
+ const nodeId = `route:${route.method}:${route.path}`;
150
+ const node = this.graph.nodes.get(nodeId);
151
+ if (node) {
152
+ node.proofScore.observed = Math.min(100, node.proofScore.observed + 10);
153
+ node.proofScore.combined = this.calculateCombinedScore(node.proofScore);
154
+ node.lastSeenAt = route.timestamp;
155
+ }
156
+ }
157
+ }
158
+ }
159
+ // Update DB table nodes with observed queries
160
+ if (traces.dbQueries) {
161
+ for (const query of traces.dbQueries) {
162
+ if (query.table) {
163
+ const nodeId = `db_table:${query.table}`;
164
+ const node = this.graph.nodes.get(nodeId);
165
+ if (node) {
166
+ node.proofScore.observed = Math.min(100, node.proofScore.observed + 5);
167
+ node.proofScore.combined = this.calculateCombinedScore(node.proofScore);
168
+ node.lastSeenAt = query.timestamp;
169
+ }
170
+ }
171
+ }
172
+ }
173
+ // Update external API nodes with observed requests
174
+ if (traces.requests) {
175
+ for (const req of traces.requests) {
176
+ try {
177
+ const url = new URL(req.url);
178
+ if (!url.hostname.includes('localhost') && !url.hostname.includes('127.0.0.1')) {
179
+ const nodeId = `external_api:${url.hostname}`;
180
+ const node = this.graph.nodes.get(nodeId);
181
+ if (node) {
182
+ node.proofScore.observed = Math.min(100, node.proofScore.observed + 5);
183
+ node.proofScore.combined = this.calculateCombinedScore(node.proofScore);
184
+ node.lastSeenAt = req.timestamp;
185
+ }
186
+ }
187
+ }
188
+ catch {
189
+ // Invalid URL, skip
190
+ }
191
+ }
192
+ }
193
+ }
194
+ /**
195
+ * Discover routes from framework files
196
+ */
197
+ discoverRoutes() {
198
+ // Next.js routes
199
+ const nextRoutesPath = path.join(this.projectPath, 'app');
200
+ if (fs.existsSync(nextRoutesPath)) {
201
+ this.discoverNextRoutes(nextRoutesPath);
202
+ }
203
+ // Express/Fastify routes
204
+ const routesPath = path.join(this.projectPath, 'src', 'routes');
205
+ if (fs.existsSync(routesPath)) {
206
+ this.discoverExpressRoutes(routesPath);
207
+ }
208
+ }
209
+ /**
210
+ * Discover Next.js routes
211
+ */
212
+ discoverNextRoutes(dir, prefix = '') {
213
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
214
+ for (const entry of entries) {
215
+ const fullPath = path.join(dir, entry.name);
216
+ const routePath = prefix + '/' + entry.name.replace(/\.(tsx?|jsx?)$/, '');
217
+ if (entry.isDirectory()) {
218
+ this.discoverNextRoutes(fullPath, routePath);
219
+ }
220
+ else if (entry.name.match(/^(page|route|layout)\.(tsx?|jsx?)$/)) {
221
+ const method = entry.name === 'route.ts' || entry.name === 'route.tsx' ? 'GET' : 'GET';
222
+ const nodeId = `route:${method}:${routePath}`;
223
+ this.addNode({
224
+ id: nodeId,
225
+ type: 'route',
226
+ label: `${method} ${routePath}`,
227
+ metadata: {
228
+ file: fullPath,
229
+ route: routePath,
230
+ method,
231
+ },
232
+ proofScore: {
233
+ static: 100, // Found in filesystem
234
+ observed: 0,
235
+ combined: 50,
236
+ evidence: [],
237
+ },
238
+ });
239
+ }
240
+ }
241
+ }
242
+ /**
243
+ * Discover Express/Fastify routes
244
+ */
245
+ discoverExpressRoutes(dir) {
246
+ const routeFiles = this.getAllFiles(dir, ['.ts', '.js']);
247
+ for (const file of routeFiles) {
248
+ const content = fs.readFileSync(file, 'utf-8');
249
+ // Match route definitions: fastify.get('/path', ...) or app.get('/path', ...)
250
+ const routeRegex = /(?:fastify|app|router)\.(get|post|put|delete|patch|all)\s*\(\s*['"]([^'"]+)['"]/g;
251
+ let match;
252
+ while ((match = routeRegex.exec(content)) !== null) {
253
+ const method = match[1].toUpperCase();
254
+ const routePath = match[2];
255
+ const nodeId = `route:${method}:${routePath}`;
256
+ this.addNode({
257
+ id: nodeId,
258
+ type: 'route',
259
+ label: `${method} ${routePath}`,
260
+ metadata: {
261
+ file,
262
+ route: routePath,
263
+ method,
264
+ },
265
+ proofScore: {
266
+ static: 100,
267
+ observed: 0,
268
+ combined: 50,
269
+ evidence: [],
270
+ },
271
+ });
272
+ }
273
+ }
274
+ }
275
+ /**
276
+ * Discover handlers from route files
277
+ */
278
+ discoverHandlers() {
279
+ const routeFiles = this.getAllFiles(this.projectPath, ['.ts', '.js', '.tsx', '.jsx']);
280
+ for (const file of routeFiles) {
281
+ const content = fs.readFileSync(file, 'utf-8');
282
+ // Match handler functions: export async function handler(...) or const handler = ...
283
+ const handlerRegex = /(?:export\s+)?(?:async\s+)?function\s+(\w+Handler|\w+Controller|\w+Action)/g;
284
+ let match;
285
+ while ((match = handlerRegex.exec(content)) !== null) {
286
+ const handlerName = match[1];
287
+ const nodeId = `handler:${handlerName}`;
288
+ this.addNode({
289
+ id: nodeId,
290
+ type: 'handler',
291
+ label: handlerName,
292
+ metadata: {
293
+ file,
294
+ handler: handlerName,
295
+ },
296
+ proofScore: {
297
+ static: 80, // Found in code
298
+ observed: 0,
299
+ combined: 40,
300
+ evidence: [],
301
+ },
302
+ });
303
+ }
304
+ }
305
+ }
306
+ /**
307
+ * Discover database tables from Prisma schema
308
+ */
309
+ discoverDatabaseTables() {
310
+ const schemaPath = path.join(this.projectPath, 'prisma', 'schema.prisma');
311
+ if (!fs.existsSync(schemaPath)) {
312
+ return;
313
+ }
314
+ const content = fs.readFileSync(schemaPath, 'utf-8');
315
+ const modelRegex = /model\s+(\w+)\s*\{/g;
316
+ let match;
317
+ while ((match = modelRegex.exec(content)) !== null) {
318
+ const tableName = match[1];
319
+ const nodeId = `db_table:${tableName}`;
320
+ this.addNode({
321
+ id: nodeId,
322
+ type: 'db_table',
323
+ label: tableName,
324
+ metadata: {
325
+ table: tableName,
326
+ file: schemaPath,
327
+ },
328
+ proofScore: {
329
+ static: 100, // Found in schema
330
+ observed: 0,
331
+ combined: 50,
332
+ evidence: [],
333
+ },
334
+ });
335
+ }
336
+ }
337
+ /**
338
+ * Discover external APIs from code
339
+ */
340
+ discoverExternalAPIs() {
341
+ const codeFiles = this.getAllFiles(this.projectPath, ['.ts', '.js', '.tsx', '.jsx']);
342
+ for (const file of codeFiles) {
343
+ const content = fs.readFileSync(file, 'utf-8');
344
+ // Match API URLs: https://api.example.com or fetch('https://...')
345
+ const apiRegex = /https?:\/\/([a-zA-Z0-9.-]+)/g;
346
+ let match;
347
+ while ((match = apiRegex.exec(content)) !== null) {
348
+ const hostname = match[1];
349
+ if (!hostname.includes('localhost') && !hostname.includes('127.0.0.1')) {
350
+ const nodeId = `external_api:${hostname}`;
351
+ this.addNode({
352
+ id: nodeId,
353
+ type: 'external_api',
354
+ label: hostname,
355
+ metadata: {
356
+ api: hostname,
357
+ file,
358
+ },
359
+ proofScore: {
360
+ static: 60, // Found in code
361
+ observed: 0,
362
+ combined: 30,
363
+ evidence: [],
364
+ },
365
+ });
366
+ }
367
+ }
368
+ }
369
+ }
370
+ /**
371
+ * Discover permissions from code
372
+ */
373
+ discoverPermissions() {
374
+ const codeFiles = this.getAllFiles(this.projectPath, ['.ts', '.js', '.tsx', '.jsx']);
375
+ for (const file of codeFiles) {
376
+ const content = fs.readFileSync(file, 'utf-8');
377
+ // Match permission checks: hasPermission('read:users') or checkPermission(...)
378
+ const permRegex = /(?:hasPermission|checkPermission|requirePermission|can)\s*\(['"]([^'"]+)['"]/g;
379
+ let match;
380
+ while ((match = permRegex.exec(content)) !== null) {
381
+ const permission = match[1];
382
+ const nodeId = `permission:${permission}`;
383
+ this.addNode({
384
+ id: nodeId,
385
+ type: 'permission',
386
+ label: permission,
387
+ metadata: {
388
+ permission,
389
+ file,
390
+ },
391
+ proofScore: {
392
+ static: 70, // Found in code
393
+ observed: 0,
394
+ combined: 35,
395
+ evidence: [],
396
+ },
397
+ });
398
+ }
399
+ }
400
+ }
401
+ /**
402
+ * Discover secrets from code
403
+ */
404
+ discoverSecrets() {
405
+ const codeFiles = this.getAllFiles(this.projectPath, ['.ts', '.js', '.tsx', '.jsx']);
406
+ for (const file of codeFiles) {
407
+ const content = fs.readFileSync(file, 'utf-8');
408
+ // Match secret references: process.env.SECRET_KEY or getSecret('key')
409
+ const secretRegex = /(?:process\.env\.|getSecret|getSecretValue)\s*\(?['"]?([A-Z_][A-Z0-9_]+)['"]?\)?/g;
410
+ let match;
411
+ while ((match = secretRegex.exec(content)) !== null) {
412
+ const secret = match[1];
413
+ const nodeId = `secret:${secret}`;
414
+ this.addNode({
415
+ id: nodeId,
416
+ type: 'secret',
417
+ label: secret,
418
+ metadata: {
419
+ secret,
420
+ file,
421
+ },
422
+ proofScore: {
423
+ static: 80, // Found in code
424
+ observed: 0,
425
+ combined: 40,
426
+ evidence: [],
427
+ },
428
+ });
429
+ }
430
+ }
431
+ }
432
+ /**
433
+ * Discover feature flags from code
434
+ */
435
+ discoverFeatureFlags() {
436
+ const codeFiles = this.getAllFiles(this.projectPath, ['.ts', '.js', '.tsx', '.jsx']);
437
+ for (const file of codeFiles) {
438
+ const content = fs.readFileSync(file, 'utf-8');
439
+ // Match feature flags: isFeatureEnabled('flag') or featureFlags.get('flag')
440
+ const flagRegex = /(?:isFeatureEnabled|featureFlags\.(?:get|has)|hasFeature)\s*\(['"]([^'"]+)['"]/g;
441
+ let match;
442
+ while ((match = flagRegex.exec(content)) !== null) {
443
+ const flag = match[1];
444
+ const nodeId = `feature_flag:${flag}`;
445
+ this.addNode({
446
+ id: nodeId,
447
+ type: 'feature_flag',
448
+ label: flag,
449
+ metadata: {
450
+ flag,
451
+ file,
452
+ },
453
+ proofScore: {
454
+ static: 70, // Found in code
455
+ observed: 0,
456
+ combined: 35,
457
+ evidence: [],
458
+ },
459
+ });
460
+ }
461
+ }
462
+ }
463
+ /**
464
+ * Query: Find nodes that exist but were never executed
465
+ */
466
+ findUnexecutedNodes() {
467
+ const unexecuted = [];
468
+ for (const node of this.graph.nodes.values()) {
469
+ if (node.proofScore.static > 0 && node.proofScore.observed === 0) {
470
+ unexecuted.push(node);
471
+ }
472
+ }
473
+ return unexecuted;
474
+ }
475
+ /**
476
+ * Query: Find routes that exist but were never hit
477
+ */
478
+ findUnhitRoutes() {
479
+ const unhit = [];
480
+ for (const node of this.graph.nodes.values()) {
481
+ if (node.type === 'route' && node.proofScore.static > 0 && node.proofScore.observed === 0) {
482
+ unhit.push(node);
483
+ }
484
+ }
485
+ return unhit;
486
+ }
487
+ /**
488
+ * Query: Find permission checks that are declared but not enforced
489
+ */
490
+ findUnguardedWritePaths() {
491
+ const unguarded = [];
492
+ // Find write routes (POST, PUT, DELETE, PATCH)
493
+ const writeRoutes = Array.from(this.graph.nodes.values()).filter(node => node.type === 'route' &&
494
+ ['POST', 'PUT', 'DELETE', 'PATCH'].includes(node.metadata.method || ''));
495
+ // Find permissions
496
+ const permissions = Array.from(this.graph.nodes.values()).filter(node => node.type === 'permission');
497
+ // Check if routes have permission edges
498
+ for (const route of writeRoutes) {
499
+ const hasPermissionEdge = Array.from(this.graph.edges.values()).some(edge => edge.source === route.id && edge.type === 'requires' && edge.target.startsWith('permission:'));
500
+ if (!hasPermissionEdge) {
501
+ // Find relevant permission
502
+ const relevantPermission = permissions.find(p => route.metadata.route?.includes(p.metadata.permission || ''));
503
+ if (relevantPermission) {
504
+ unguarded.push({ route, permission: relevantPermission });
505
+ }
506
+ }
507
+ }
508
+ return unguarded;
509
+ }
510
+ /**
511
+ * Query: Find feature flags that guard UI but not API
512
+ */
513
+ findIncompleteFeatureFlags() {
514
+ const incomplete = [];
515
+ const flags = Array.from(this.graph.nodes.values()).filter(node => node.type === 'feature_flag');
516
+ for (const flag of flags) {
517
+ const uiEdges = Array.from(this.graph.edges.values()).filter(edge => edge.target === flag.id && edge.type === 'guards' &&
518
+ (edge.source.includes('page') || edge.source.includes('component')));
519
+ const apiEdges = Array.from(this.graph.edges.values()).filter(edge => edge.target === flag.id && edge.type === 'guards' &&
520
+ edge.source.startsWith('route:'));
521
+ if (uiEdges.length > 0 && apiEdges.length === 0) {
522
+ incomplete.push({
523
+ flag,
524
+ uiGuarded: true,
525
+ apiGuarded: false,
526
+ });
527
+ }
528
+ }
529
+ return incomplete;
530
+ }
531
+ /**
532
+ * Get the graph
533
+ */
534
+ getGraph() {
535
+ return this.graph;
536
+ }
537
+ /**
538
+ * Export graph to JSON
539
+ */
540
+ export() {
541
+ return JSON.stringify({
542
+ nodes: Array.from(this.graph.nodes.values()),
543
+ edges: Array.from(this.graph.edges.values()),
544
+ snapshots: this.graph.snapshots,
545
+ }, null, 2);
546
+ }
547
+ /**
548
+ * Save graph snapshot
549
+ */
550
+ saveSnapshot() {
551
+ this.graph.snapshots.push({
552
+ timestamp: new Date().toISOString(),
553
+ nodeCount: this.graph.nodes.size,
554
+ edgeCount: this.graph.edges.size,
555
+ });
556
+ }
557
+ /**
558
+ * Helper: Get all files recursively
559
+ */
560
+ getAllFiles(dir, extensions) {
561
+ const files = [];
562
+ if (!fs.existsSync(dir)) {
563
+ return files;
564
+ }
565
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
566
+ for (const entry of entries) {
567
+ const fullPath = path.join(dir, entry.name);
568
+ if (entry.isDirectory()) {
569
+ // Skip node_modules, .git, etc.
570
+ if (!entry.name.startsWith('.') && entry.name !== 'node_modules') {
571
+ files.push(...this.getAllFiles(fullPath, extensions));
572
+ }
573
+ }
574
+ else if (extensions.some(ext => entry.name.endsWith(ext))) {
575
+ files.push(fullPath);
576
+ }
577
+ }
578
+ return files;
579
+ }
580
+ /**
581
+ * Calculate combined proof score
582
+ */
583
+ calculateCombinedScore(score) {
584
+ // Weight: 40% static, 60% observed (execution is stronger proof)
585
+ return Math.round(score.static * 0.4 + score.observed * 0.6);
586
+ }
587
+ /**
588
+ * Combine two proof scores (take maximum observed, average static)
589
+ */
590
+ combineProofScores(existing, newScore) {
591
+ return {
592
+ static: Math.max(existing.static, newScore.static),
593
+ observed: Math.max(existing.observed, newScore.observed),
594
+ combined: 0, // Will be recalculated
595
+ evidence: [...new Set([...existing.evidence, ...newScore.evidence])],
596
+ };
597
+ }
598
+ }
599
+ exports.RealityGraphBuilder = RealityGraphBuilder;
600
+ //# sourceMappingURL=reality-graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reality-graph.js","sourceRoot":"","sources":["../../src/reality/reality-graph.ts"],"names":[],"mappings":"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"}