@avi770/testteam 3.0.0 → 3.2.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 (1201) hide show
  1. package/CHANGELOG.md +166 -5
  2. package/README.md +92 -19
  3. package/bin/testteam.js +32 -4
  4. package/dist/agents/01-analyst.d.ts +2 -2
  5. package/dist/agents/01-analyst.js +1 -1
  6. package/dist/agents/02-seed-architect.d.ts +2 -2
  7. package/dist/agents/02-seed-architect.js +2 -2
  8. package/dist/agents/03-test-generator.d.ts +2 -2
  9. package/dist/agents/03-test-generator.js +2 -2
  10. package/dist/agents/04-unit-runner.d.ts +2 -2
  11. package/dist/agents/04-unit-runner.d.ts.map +1 -1
  12. package/dist/agents/04-unit-runner.js +12 -3
  13. package/dist/agents/04-unit-runner.js.map +1 -1
  14. package/dist/agents/05-browser-crawler.d.ts +2 -2
  15. package/dist/agents/05-browser-crawler.d.ts.map +1 -1
  16. package/dist/agents/05-browser-crawler.js +24 -12
  17. package/dist/agents/05-browser-crawler.js.map +1 -1
  18. package/dist/agents/06-api-exerciser.d.ts +2 -2
  19. package/dist/agents/06-api-exerciser.js +2 -2
  20. package/dist/agents/07-security-scout.d.ts +2 -2
  21. package/dist/agents/07-security-scout.js +2 -2
  22. package/dist/agents/08-a11y-guardian.d.ts +2 -2
  23. package/dist/agents/08-a11y-guardian.d.ts.map +1 -1
  24. package/dist/agents/08-a11y-guardian.js +9 -5
  25. package/dist/agents/08-a11y-guardian.js.map +1 -1
  26. package/dist/agents/09-healer.d.ts +2 -2
  27. package/dist/agents/09-healer.js +2 -2
  28. package/dist/agents/10-reporter.d.ts +2 -2
  29. package/dist/agents/10-reporter.d.ts.map +1 -1
  30. package/dist/agents/10-reporter.js +55 -27
  31. package/dist/agents/10-reporter.js.map +1 -1
  32. package/dist/agents/100-error-handling-auditor.d.ts +63 -0
  33. package/dist/agents/100-error-handling-auditor.d.ts.map +1 -0
  34. package/dist/agents/100-error-handling-auditor.js +334 -0
  35. package/dist/agents/100-error-handling-auditor.js.map +1 -0
  36. package/dist/agents/101-rate-limit-auditor.d.ts +72 -0
  37. package/dist/agents/101-rate-limit-auditor.d.ts.map +1 -0
  38. package/dist/agents/101-rate-limit-auditor.js +295 -0
  39. package/dist/agents/101-rate-limit-auditor.js.map +1 -0
  40. package/dist/agents/102-dockerfile-auditor.d.ts +62 -0
  41. package/dist/agents/102-dockerfile-auditor.d.ts.map +1 -0
  42. package/dist/agents/102-dockerfile-auditor.js +337 -0
  43. package/dist/agents/102-dockerfile-auditor.js.map +1 -0
  44. package/dist/agents/103-ci-workflow-auditor.d.ts +57 -0
  45. package/dist/agents/103-ci-workflow-auditor.d.ts.map +1 -0
  46. package/dist/agents/103-ci-workflow-auditor.js +247 -0
  47. package/dist/agents/103-ci-workflow-auditor.js.map +1 -0
  48. package/dist/agents/104-n-plus-one-detector.d.ts +57 -0
  49. package/dist/agents/104-n-plus-one-detector.d.ts.map +1 -0
  50. package/dist/agents/104-n-plus-one-detector.js +329 -0
  51. package/dist/agents/104-n-plus-one-detector.js.map +1 -0
  52. package/dist/agents/105-unbounded-query-auditor.d.ts +50 -0
  53. package/dist/agents/105-unbounded-query-auditor.d.ts.map +1 -0
  54. package/dist/agents/105-unbounded-query-auditor.js +284 -0
  55. package/dist/agents/105-unbounded-query-auditor.js.map +1 -0
  56. package/dist/agents/106-hardcoded-config-auditor.d.ts +54 -0
  57. package/dist/agents/106-hardcoded-config-auditor.d.ts.map +1 -0
  58. package/dist/agents/106-hardcoded-config-auditor.js +251 -0
  59. package/dist/agents/106-hardcoded-config-auditor.js.map +1 -0
  60. package/dist/agents/107-open-redirect-detector.d.ts +52 -0
  61. package/dist/agents/107-open-redirect-detector.d.ts.map +1 -0
  62. package/dist/agents/107-open-redirect-detector.js +263 -0
  63. package/dist/agents/107-open-redirect-detector.js.map +1 -0
  64. package/dist/agents/108-sql-injection-detector.d.ts +51 -0
  65. package/dist/agents/108-sql-injection-detector.d.ts.map +1 -0
  66. package/dist/agents/108-sql-injection-detector.js +323 -0
  67. package/dist/agents/108-sql-injection-detector.js.map +1 -0
  68. package/dist/agents/109-path-traversal-detector.d.ts +51 -0
  69. package/dist/agents/109-path-traversal-detector.d.ts.map +1 -0
  70. package/dist/agents/109-path-traversal-detector.js +244 -0
  71. package/dist/agents/109-path-traversal-detector.js.map +1 -0
  72. package/dist/agents/11-fixer.d.ts +4 -2
  73. package/dist/agents/11-fixer.d.ts.map +1 -1
  74. package/dist/agents/11-fixer.js +52 -11
  75. package/dist/agents/11-fixer.js.map +1 -1
  76. package/dist/agents/110-mass-assignment-detector.d.ts +52 -0
  77. package/dist/agents/110-mass-assignment-detector.d.ts.map +1 -0
  78. package/dist/agents/110-mass-assignment-detector.js +199 -0
  79. package/dist/agents/110-mass-assignment-detector.js.map +1 -0
  80. package/dist/agents/111-dynamic-eval-detector.d.ts +46 -0
  81. package/dist/agents/111-dynamic-eval-detector.d.ts.map +1 -0
  82. package/dist/agents/111-dynamic-eval-detector.js +233 -0
  83. package/dist/agents/111-dynamic-eval-detector.js.map +1 -0
  84. package/dist/agents/112-taint-tracker.d.ts +226 -0
  85. package/dist/agents/112-taint-tracker.d.ts.map +1 -0
  86. package/dist/agents/112-taint-tracker.js +1273 -0
  87. package/dist/agents/112-taint-tracker.js.map +1 -0
  88. package/dist/agents/113-response-contract-auditor.d.ts +92 -0
  89. package/dist/agents/113-response-contract-auditor.d.ts.map +1 -0
  90. package/dist/agents/113-response-contract-auditor.js +694 -0
  91. package/dist/agents/113-response-contract-auditor.js.map +1 -0
  92. package/dist/agents/114-static-a11y-auditor.d.ts +66 -0
  93. package/dist/agents/114-static-a11y-auditor.d.ts.map +1 -0
  94. package/dist/agents/114-static-a11y-auditor.js +377 -0
  95. package/dist/agents/114-static-a11y-auditor.js.map +1 -0
  96. package/dist/agents/115-multihop-taint-tracker.d.ts +84 -0
  97. package/dist/agents/115-multihop-taint-tracker.d.ts.map +1 -0
  98. package/dist/agents/115-multihop-taint-tracker.js +340 -0
  99. package/dist/agents/115-multihop-taint-tracker.js.map +1 -0
  100. package/dist/agents/116-runtime-contract-capture.d.ts +79 -0
  101. package/dist/agents/116-runtime-contract-capture.d.ts.map +1 -0
  102. package/dist/agents/116-runtime-contract-capture.js +274 -0
  103. package/dist/agents/116-runtime-contract-capture.js.map +1 -0
  104. package/dist/agents/117-aria-rule-engine.d.ts +52 -0
  105. package/dist/agents/117-aria-rule-engine.d.ts.map +1 -0
  106. package/dist/agents/117-aria-rule-engine.js +415 -0
  107. package/dist/agents/117-aria-rule-engine.js.map +1 -0
  108. package/dist/agents/118-insecure-crypto-auditor.d.ts +48 -0
  109. package/dist/agents/118-insecure-crypto-auditor.d.ts.map +1 -0
  110. package/dist/agents/118-insecure-crypto-auditor.js +232 -0
  111. package/dist/agents/118-insecure-crypto-auditor.js.map +1 -0
  112. package/dist/agents/119-secrets-scanner.d.ts +44 -0
  113. package/dist/agents/119-secrets-scanner.d.ts.map +1 -0
  114. package/dist/agents/119-secrets-scanner.js +242 -0
  115. package/dist/agents/119-secrets-scanner.js.map +1 -0
  116. package/dist/agents/12-ux-inspector.d.ts +2 -2
  117. package/dist/agents/12-ux-inspector.d.ts.map +1 -1
  118. package/dist/agents/12-ux-inspector.js +8 -4
  119. package/dist/agents/12-ux-inspector.js.map +1 -1
  120. package/dist/agents/120-async-safety-auditor.d.ts +48 -0
  121. package/dist/agents/120-async-safety-auditor.d.ts.map +1 -0
  122. package/dist/agents/120-async-safety-auditor.js +250 -0
  123. package/dist/agents/120-async-safety-auditor.js.map +1 -0
  124. package/dist/agents/13-performance-profiler.d.ts +2 -2
  125. package/dist/agents/13-performance-profiler.d.ts.map +1 -1
  126. package/dist/agents/13-performance-profiler.js +5 -4
  127. package/dist/agents/13-performance-profiler.js.map +1 -1
  128. package/dist/agents/14-data-integrity-auditor.d.ts +2 -2
  129. package/dist/agents/14-data-integrity-auditor.js +4 -4
  130. package/dist/agents/14-data-integrity-auditor.js.map +1 -1
  131. package/dist/agents/15-regression-sentinel.d.ts +6 -5
  132. package/dist/agents/15-regression-sentinel.d.ts.map +1 -1
  133. package/dist/agents/15-regression-sentinel.js +5 -4
  134. package/dist/agents/15-regression-sentinel.js.map +1 -1
  135. package/dist/agents/16-chaos-agent.d.ts +2 -2
  136. package/dist/agents/16-chaos-agent.d.ts.map +1 -1
  137. package/dist/agents/16-chaos-agent.js +11 -4
  138. package/dist/agents/16-chaos-agent.js.map +1 -1
  139. package/dist/agents/17-documentation-validator.d.ts +2 -2
  140. package/dist/agents/17-documentation-validator.d.ts.map +1 -1
  141. package/dist/agents/17-documentation-validator.js +5 -2
  142. package/dist/agents/17-documentation-validator.js.map +1 -1
  143. package/dist/agents/18-integration-watchdog.d.ts +2 -2
  144. package/dist/agents/18-integration-watchdog.d.ts.map +1 -1
  145. package/dist/agents/18-integration-watchdog.js +5 -2
  146. package/dist/agents/18-integration-watchdog.js.map +1 -1
  147. package/dist/agents/19-tenant-isolation-auditor.d.ts +2 -2
  148. package/dist/agents/19-tenant-isolation-auditor.js +4 -4
  149. package/dist/agents/19-tenant-isolation-auditor.js.map +1 -1
  150. package/dist/agents/20-workflow-completion-tester.d.ts +2 -2
  151. package/dist/agents/20-workflow-completion-tester.d.ts.map +1 -1
  152. package/dist/agents/20-workflow-completion-tester.js +10 -6
  153. package/dist/agents/20-workflow-completion-tester.js.map +1 -1
  154. package/dist/agents/21-state-session-tester.d.ts +2 -2
  155. package/dist/agents/21-state-session-tester.d.ts.map +1 -1
  156. package/dist/agents/21-state-session-tester.js +15 -5
  157. package/dist/agents/21-state-session-tester.js.map +1 -1
  158. package/dist/agents/22-email-notification-verifier.d.ts +2 -2
  159. package/dist/agents/22-email-notification-verifier.js +2 -2
  160. package/dist/agents/23-migration-tester.d.ts +2 -2
  161. package/dist/agents/23-migration-tester.js +1 -1
  162. package/dist/agents/24-signup-onboarding-tester.d.ts +2 -2
  163. package/dist/agents/24-signup-onboarding-tester.d.ts.map +1 -1
  164. package/dist/agents/24-signup-onboarding-tester.js +13 -10
  165. package/dist/agents/24-signup-onboarding-tester.js.map +1 -1
  166. package/dist/agents/25-crud-flow-tester.d.ts +2 -2
  167. package/dist/agents/25-crud-flow-tester.d.ts.map +1 -1
  168. package/dist/agents/25-crud-flow-tester.js +12 -6
  169. package/dist/agents/25-crud-flow-tester.js.map +1 -1
  170. package/dist/agents/26-form-validator.d.ts +2 -2
  171. package/dist/agents/26-form-validator.d.ts.map +1 -1
  172. package/dist/agents/26-form-validator.js +12 -6
  173. package/dist/agents/26-form-validator.js.map +1 -1
  174. package/dist/agents/27-search-filter-tester.d.ts +2 -2
  175. package/dist/agents/27-search-filter-tester.d.ts.map +1 -1
  176. package/dist/agents/27-search-filter-tester.js +12 -6
  177. package/dist/agents/27-search-filter-tester.js.map +1 -1
  178. package/dist/agents/28-navigation-routing-tester.d.ts +2 -2
  179. package/dist/agents/28-navigation-routing-tester.d.ts.map +1 -1
  180. package/dist/agents/28-navigation-routing-tester.js +12 -6
  181. package/dist/agents/28-navigation-routing-tester.js.map +1 -1
  182. package/dist/agents/29-responsive-interaction-tester.d.ts +2 -2
  183. package/dist/agents/29-responsive-interaction-tester.d.ts.map +1 -1
  184. package/dist/agents/29-responsive-interaction-tester.js +12 -6
  185. package/dist/agents/29-responsive-interaction-tester.js.map +1 -1
  186. package/dist/agents/30-multi-user-scenario-tester.d.ts +2 -2
  187. package/dist/agents/30-multi-user-scenario-tester.d.ts.map +1 -1
  188. package/dist/agents/30-multi-user-scenario-tester.js +20 -13
  189. package/dist/agents/30-multi-user-scenario-tester.js.map +1 -1
  190. package/dist/agents/31-load-tester.d.ts +2 -2
  191. package/dist/agents/31-load-tester.js +2 -2
  192. package/dist/agents/32-memory-leak-detector.d.ts +2 -2
  193. package/dist/agents/32-memory-leak-detector.d.ts.map +1 -1
  194. package/dist/agents/32-memory-leak-detector.js +5 -4
  195. package/dist/agents/32-memory-leak-detector.js.map +1 -1
  196. package/dist/agents/33-bundle-analyzer.d.ts +2 -2
  197. package/dist/agents/33-bundle-analyzer.js +1 -1
  198. package/dist/agents/34-xss-scanner.d.ts +2 -2
  199. package/dist/agents/34-xss-scanner.d.ts.map +1 -1
  200. package/dist/agents/34-xss-scanner.js +12 -6
  201. package/dist/agents/34-xss-scanner.js.map +1 -1
  202. package/dist/agents/35-csrf-tester.d.ts +2 -2
  203. package/dist/agents/35-csrf-tester.js +2 -2
  204. package/dist/agents/36-auth-fuzzer.d.ts +2 -2
  205. package/dist/agents/36-auth-fuzzer.js +2 -2
  206. package/dist/agents/37-dependency-scanner.d.ts +2 -2
  207. package/dist/agents/37-dependency-scanner.js +1 -1
  208. package/dist/agents/38-secrets-scanner.d.ts +2 -2
  209. package/dist/agents/38-secrets-scanner.d.ts.map +1 -1
  210. package/dist/agents/38-secrets-scanner.js +39 -4
  211. package/dist/agents/38-secrets-scanner.js.map +1 -1
  212. package/dist/agents/39-api-contract-tester.d.ts +2 -2
  213. package/dist/agents/39-api-contract-tester.js +2 -2
  214. package/dist/agents/40-rate-limit-tester.d.ts +2 -2
  215. package/dist/agents/40-rate-limit-tester.js +2 -2
  216. package/dist/agents/41-api-pagination-tester.d.ts +2 -2
  217. package/dist/agents/41-api-pagination-tester.js +2 -2
  218. package/dist/agents/42-graphql-tester.d.ts +2 -2
  219. package/dist/agents/42-graphql-tester.js +2 -2
  220. package/dist/agents/43-data-consistency-checker.d.ts +2 -2
  221. package/dist/agents/43-data-consistency-checker.js +3 -3
  222. package/dist/agents/44-backup-recovery-tester.d.ts +2 -2
  223. package/dist/agents/44-backup-recovery-tester.js +1 -1
  224. package/dist/agents/45-data-privacy-scanner.d.ts +2 -2
  225. package/dist/agents/45-data-privacy-scanner.js +3 -3
  226. package/dist/agents/46-seo-auditor.d.ts +2 -2
  227. package/dist/agents/46-seo-auditor.d.ts.map +1 -1
  228. package/dist/agents/46-seo-auditor.js +12 -6
  229. package/dist/agents/46-seo-auditor.js.map +1 -1
  230. package/dist/agents/47-social-preview-tester.d.ts +2 -2
  231. package/dist/agents/47-social-preview-tester.d.ts.map +1 -1
  232. package/dist/agents/47-social-preview-tester.js +12 -6
  233. package/dist/agents/47-social-preview-tester.js.map +1 -1
  234. package/dist/agents/48-lighthouse-auditor.d.ts +2 -2
  235. package/dist/agents/48-lighthouse-auditor.d.ts.map +1 -1
  236. package/dist/agents/48-lighthouse-auditor.js +5 -4
  237. package/dist/agents/48-lighthouse-auditor.js.map +1 -1
  238. package/dist/agents/49-i18n-tester.d.ts +2 -2
  239. package/dist/agents/49-i18n-tester.d.ts.map +1 -1
  240. package/dist/agents/49-i18n-tester.js +12 -6
  241. package/dist/agents/49-i18n-tester.js.map +1 -1
  242. package/dist/agents/50-timezone-tester.d.ts +2 -2
  243. package/dist/agents/50-timezone-tester.d.ts.map +1 -1
  244. package/dist/agents/50-timezone-tester.js +40 -33
  245. package/dist/agents/50-timezone-tester.js.map +1 -1
  246. package/dist/agents/51-error-recovery-tester.d.ts +2 -2
  247. package/dist/agents/51-error-recovery-tester.d.ts.map +1 -1
  248. package/dist/agents/51-error-recovery-tester.js +12 -7
  249. package/dist/agents/51-error-recovery-tester.js.map +1 -1
  250. package/dist/agents/52-offline-mode-tester.d.ts +2 -2
  251. package/dist/agents/52-offline-mode-tester.d.ts.map +1 -1
  252. package/dist/agents/52-offline-mode-tester.js +12 -7
  253. package/dist/agents/52-offline-mode-tester.js.map +1 -1
  254. package/dist/agents/53-graceful-degradation-tester.d.ts +2 -2
  255. package/dist/agents/53-graceful-degradation-tester.d.ts.map +1 -1
  256. package/dist/agents/53-graceful-degradation-tester.js +10 -3
  257. package/dist/agents/53-graceful-degradation-tester.js.map +1 -1
  258. package/dist/agents/54-websocket-tester.d.ts +2 -2
  259. package/dist/agents/54-websocket-tester.d.ts.map +1 -1
  260. package/dist/agents/54-websocket-tester.js +12 -6
  261. package/dist/agents/54-websocket-tester.js.map +1 -1
  262. package/dist/agents/55-realtime-sync-tester.d.ts +2 -2
  263. package/dist/agents/55-realtime-sync-tester.d.ts.map +1 -1
  264. package/dist/agents/55-realtime-sync-tester.js +101 -96
  265. package/dist/agents/55-realtime-sync-tester.js.map +1 -1
  266. package/dist/agents/56-file-upload-tester.d.ts +2 -2
  267. package/dist/agents/56-file-upload-tester.d.ts.map +1 -1
  268. package/dist/agents/56-file-upload-tester.js +17 -13
  269. package/dist/agents/56-file-upload-tester.js.map +1 -1
  270. package/dist/agents/57-export-tester.d.ts +2 -2
  271. package/dist/agents/57-export-tester.d.ts.map +1 -1
  272. package/dist/agents/57-export-tester.js +8 -4
  273. package/dist/agents/57-export-tester.js.map +1 -1
  274. package/dist/agents/58-payment-flow-tester.d.ts +2 -2
  275. package/dist/agents/58-payment-flow-tester.d.ts.map +1 -1
  276. package/dist/agents/58-payment-flow-tester.js +8 -4
  277. package/dist/agents/58-payment-flow-tester.js.map +1 -1
  278. package/dist/agents/59-ssl-tls-auditor.d.ts +2 -2
  279. package/dist/agents/59-ssl-tls-auditor.js +2 -2
  280. package/dist/agents/60-dns-cdn-tester.d.ts +2 -2
  281. package/dist/agents/60-dns-cdn-tester.js +2 -2
  282. package/dist/agents/61-docker-health-checker.d.ts +2 -2
  283. package/dist/agents/61-docker-health-checker.js +1 -1
  284. package/dist/agents/62-env-config-validator.d.ts +2 -2
  285. package/dist/agents/62-env-config-validator.js +1 -1
  286. package/dist/agents/63-log-quality-auditor.d.ts +2 -2
  287. package/dist/agents/63-log-quality-auditor.js +1 -1
  288. package/dist/agents/64-analytics-tracker-tester.d.ts +2 -2
  289. package/dist/agents/64-analytics-tracker-tester.d.ts.map +1 -1
  290. package/dist/agents/64-analytics-tracker-tester.js +8 -4
  291. package/dist/agents/64-analytics-tracker-tester.js.map +1 -1
  292. package/dist/agents/65-gdpr-compliance-tester.d.ts +2 -2
  293. package/dist/agents/65-gdpr-compliance-tester.d.ts.map +1 -1
  294. package/dist/agents/65-gdpr-compliance-tester.js +55 -40
  295. package/dist/agents/65-gdpr-compliance-tester.js.map +1 -1
  296. package/dist/agents/66-soc2-control-validator.d.ts +2 -2
  297. package/dist/agents/66-soc2-control-validator.d.ts.map +1 -1
  298. package/dist/agents/66-soc2-control-validator.js +29 -21
  299. package/dist/agents/66-soc2-control-validator.js.map +1 -1
  300. package/dist/agents/67-wcag-aaa-tester.d.ts +2 -2
  301. package/dist/agents/67-wcag-aaa-tester.d.ts.map +1 -1
  302. package/dist/agents/67-wcag-aaa-tester.js +12 -6
  303. package/dist/agents/67-wcag-aaa-tester.js.map +1 -1
  304. package/dist/agents/68-dead-code-detector.d.ts +2 -2
  305. package/dist/agents/68-dead-code-detector.d.ts.map +1 -1
  306. package/dist/agents/68-dead-code-detector.js +6 -3
  307. package/dist/agents/68-dead-code-detector.js.map +1 -1
  308. package/dist/agents/69-type-safety-auditor.d.ts +2 -2
  309. package/dist/agents/69-type-safety-auditor.js +1 -1
  310. package/dist/agents/70-complexity-analyzer.d.ts +2 -2
  311. package/dist/agents/70-complexity-analyzer.js +1 -1
  312. package/dist/agents/71-unit-testing-agent.d.ts +15 -0
  313. package/dist/agents/71-unit-testing-agent.d.ts.map +1 -0
  314. package/dist/agents/71-unit-testing-agent.js +220 -0
  315. package/dist/agents/71-unit-testing-agent.js.map +1 -0
  316. package/dist/agents/72-integration-testing-agent.d.ts +13 -0
  317. package/dist/agents/72-integration-testing-agent.d.ts.map +1 -0
  318. package/dist/agents/72-integration-testing-agent.js +243 -0
  319. package/dist/agents/72-integration-testing-agent.js.map +1 -0
  320. package/dist/agents/73-system-testing-agent.d.ts +11 -0
  321. package/dist/agents/73-system-testing-agent.d.ts.map +1 -0
  322. package/dist/agents/73-system-testing-agent.js +175 -0
  323. package/dist/agents/73-system-testing-agent.js.map +1 -0
  324. package/dist/agents/74-acceptance-testing-agent.d.ts +13 -0
  325. package/dist/agents/74-acceptance-testing-agent.d.ts.map +1 -0
  326. package/dist/agents/74-acceptance-testing-agent.js +254 -0
  327. package/dist/agents/74-acceptance-testing-agent.js.map +1 -0
  328. package/dist/agents/75-sanity-testing-agent.d.ts +15 -0
  329. package/dist/agents/75-sanity-testing-agent.d.ts.map +1 -0
  330. package/dist/agents/75-sanity-testing-agent.js +240 -0
  331. package/dist/agents/75-sanity-testing-agent.js.map +1 -0
  332. package/dist/agents/76-regression-testing-agent.d.ts +14 -0
  333. package/dist/agents/76-regression-testing-agent.d.ts.map +1 -0
  334. package/dist/agents/76-regression-testing-agent.js +230 -0
  335. package/dist/agents/76-regression-testing-agent.js.map +1 -0
  336. package/dist/agents/77-browser-load-testing-agent.d.ts +11 -0
  337. package/dist/agents/77-browser-load-testing-agent.d.ts.map +1 -0
  338. package/dist/agents/77-browser-load-testing-agent.js +128 -0
  339. package/dist/agents/77-browser-load-testing-agent.js.map +1 -0
  340. package/dist/agents/78-stress-testing-agent.d.ts +11 -0
  341. package/dist/agents/78-stress-testing-agent.d.ts.map +1 -0
  342. package/dist/agents/78-stress-testing-agent.js +146 -0
  343. package/dist/agents/78-stress-testing-agent.js.map +1 -0
  344. package/dist/agents/79-endurance-testing-agent.d.ts +12 -0
  345. package/dist/agents/79-endurance-testing-agent.d.ts.map +1 -0
  346. package/dist/agents/79-endurance-testing-agent.js +165 -0
  347. package/dist/agents/79-endurance-testing-agent.js.map +1 -0
  348. package/dist/agents/80-usability-testing-agent.d.ts +11 -0
  349. package/dist/agents/80-usability-testing-agent.d.ts.map +1 -0
  350. package/dist/agents/80-usability-testing-agent.js +196 -0
  351. package/dist/agents/80-usability-testing-agent.js.map +1 -0
  352. package/dist/agents/81-compatibility-testing-agent.d.ts +11 -0
  353. package/dist/agents/81-compatibility-testing-agent.d.ts.map +1 -0
  354. package/dist/agents/81-compatibility-testing-agent.js +224 -0
  355. package/dist/agents/81-compatibility-testing-agent.js.map +1 -0
  356. package/dist/agents/82-exploratory-testing-agent.d.ts +14 -0
  357. package/dist/agents/82-exploratory-testing-agent.d.ts.map +1 -0
  358. package/dist/agents/82-exploratory-testing-agent.js +345 -0
  359. package/dist/agents/82-exploratory-testing-agent.js.map +1 -0
  360. package/dist/agents/83-static-analysis-agent.d.ts +14 -0
  361. package/dist/agents/83-static-analysis-agent.d.ts.map +1 -0
  362. package/dist/agents/83-static-analysis-agent.js +261 -0
  363. package/dist/agents/83-static-analysis-agent.js.map +1 -0
  364. package/dist/agents/84-governance-testing-agent.d.ts +28 -0
  365. package/dist/agents/84-governance-testing-agent.d.ts.map +1 -0
  366. package/dist/agents/84-governance-testing-agent.js +591 -0
  367. package/dist/agents/84-governance-testing-agent.js.map +1 -0
  368. package/dist/agents/85-stagehand-agent.d.ts +22 -0
  369. package/dist/agents/85-stagehand-agent.d.ts.map +1 -0
  370. package/dist/agents/85-stagehand-agent.js +81 -0
  371. package/dist/agents/85-stagehand-agent.js.map +1 -0
  372. package/dist/agents/86-browser-use-agent.d.ts +31 -0
  373. package/dist/agents/86-browser-use-agent.d.ts.map +1 -0
  374. package/dist/agents/86-browser-use-agent.js +121 -0
  375. package/dist/agents/86-browser-use-agent.js.map +1 -0
  376. package/dist/agents/87-connection-mapper.d.ts +93 -0
  377. package/dist/agents/87-connection-mapper.d.ts.map +1 -0
  378. package/dist/agents/87-connection-mapper.js +658 -0
  379. package/dist/agents/87-connection-mapper.js.map +1 -0
  380. package/dist/agents/88-localhost-walkthrough.d.ts +272 -0
  381. package/dist/agents/88-localhost-walkthrough.d.ts.map +1 -0
  382. package/dist/agents/88-localhost-walkthrough.js +1203 -0
  383. package/dist/agents/88-localhost-walkthrough.js.map +1 -0
  384. package/dist/agents/89-repair-retest.d.ts +63 -0
  385. package/dist/agents/89-repair-retest.d.ts.map +1 -0
  386. package/dist/agents/89-repair-retest.js +227 -0
  387. package/dist/agents/89-repair-retest.js.map +1 -0
  388. package/dist/agents/90-response-shape-validator.d.ts +35 -0
  389. package/dist/agents/90-response-shape-validator.d.ts.map +1 -0
  390. package/dist/agents/90-response-shape-validator.js +156 -0
  391. package/dist/agents/90-response-shape-validator.js.map +1 -0
  392. package/dist/agents/91-boundary-fuzzer.d.ts +99 -0
  393. package/dist/agents/91-boundary-fuzzer.d.ts.map +1 -0
  394. package/dist/agents/91-boundary-fuzzer.js +0 -0
  395. package/dist/agents/91-boundary-fuzzer.js.map +1 -0
  396. package/dist/agents/92-repair-simulator.d.ts +89 -0
  397. package/dist/agents/92-repair-simulator.d.ts.map +1 -0
  398. package/dist/agents/92-repair-simulator.js +401 -0
  399. package/dist/agents/92-repair-simulator.js.map +1 -0
  400. package/dist/agents/93-env-var-auditor.d.ts +64 -0
  401. package/dist/agents/93-env-var-auditor.d.ts.map +1 -0
  402. package/dist/agents/93-env-var-auditor.js +435 -0
  403. package/dist/agents/93-env-var-auditor.js.map +1 -0
  404. package/dist/agents/94-schema-validator.d.ts +148 -0
  405. package/dist/agents/94-schema-validator.d.ts.map +1 -0
  406. package/dist/agents/94-schema-validator.js +567 -0
  407. package/dist/agents/94-schema-validator.js.map +1 -0
  408. package/dist/agents/95-contract-drift.d.ts +87 -0
  409. package/dist/agents/95-contract-drift.d.ts.map +1 -0
  410. package/dist/agents/95-contract-drift.js +335 -0
  411. package/dist/agents/95-contract-drift.js.map +1 -0
  412. package/dist/agents/96-cookie-security-auditor.d.ts +86 -0
  413. package/dist/agents/96-cookie-security-auditor.d.ts.map +1 -0
  414. package/dist/agents/96-cookie-security-auditor.js +339 -0
  415. package/dist/agents/96-cookie-security-auditor.js.map +1 -0
  416. package/dist/agents/97-healthcheck-validator.d.ts +62 -0
  417. package/dist/agents/97-healthcheck-validator.d.ts.map +1 -0
  418. package/dist/agents/97-healthcheck-validator.js +204 -0
  419. package/dist/agents/97-healthcheck-validator.js.map +1 -0
  420. package/dist/agents/98-cors-csp-auditor.d.ts +70 -0
  421. package/dist/agents/98-cors-csp-auditor.d.ts.map +1 -0
  422. package/dist/agents/98-cors-csp-auditor.js +308 -0
  423. package/dist/agents/98-cors-csp-auditor.js.map +1 -0
  424. package/dist/agents/99-logging-hygiene-auditor.d.ts +67 -0
  425. package/dist/agents/99-logging-hygiene-auditor.d.ts.map +1 -0
  426. package/dist/agents/99-logging-hygiene-auditor.js +325 -0
  427. package/dist/agents/99-logging-hygiene-auditor.js.map +1 -0
  428. package/dist/agents/base-agent.d.ts +74 -4
  429. package/dist/agents/base-agent.d.ts.map +1 -1
  430. package/dist/agents/base-agent.js +106 -1
  431. package/dist/agents/base-agent.js.map +1 -1
  432. package/dist/agents/browser-use-client.d.ts +68 -0
  433. package/dist/agents/browser-use-client.d.ts.map +1 -0
  434. package/dist/agents/browser-use-client.js +92 -0
  435. package/dist/agents/browser-use-client.js.map +1 -0
  436. package/dist/agents/lib/source-scan.d.ts +53 -0
  437. package/dist/agents/lib/source-scan.d.ts.map +1 -0
  438. package/dist/agents/lib/source-scan.js +279 -0
  439. package/dist/agents/lib/source-scan.js.map +1 -0
  440. package/dist/agents/registry.d.ts +27 -9
  441. package/dist/agents/registry.d.ts.map +1 -1
  442. package/dist/agents/registry.js +365 -151
  443. package/dist/agents/registry.js.map +1 -1
  444. package/dist/agents/stagehand-runner.d.ts +104 -0
  445. package/dist/agents/stagehand-runner.d.ts.map +1 -0
  446. package/dist/agents/stagehand-runner.js +153 -0
  447. package/dist/agents/stagehand-runner.js.map +1 -0
  448. package/dist/bridge/agent-registry.d.ts +21 -0
  449. package/dist/bridge/agent-registry.d.ts.map +1 -0
  450. package/dist/bridge/agent-registry.js +224 -0
  451. package/dist/bridge/agent-registry.js.map +1 -0
  452. package/dist/bridge/api-contract-reader.d.ts +55 -0
  453. package/dist/bridge/api-contract-reader.d.ts.map +1 -0
  454. package/dist/bridge/api-contract-reader.js +103 -0
  455. package/dist/bridge/api-contract-reader.js.map +1 -0
  456. package/dist/bridge/compliance-reader.d.ts +47 -0
  457. package/dist/bridge/compliance-reader.d.ts.map +1 -0
  458. package/dist/bridge/compliance-reader.js +91 -0
  459. package/dist/bridge/compliance-reader.js.map +1 -0
  460. package/dist/bridge/data-integrity-reader.d.ts +77 -0
  461. package/dist/bridge/data-integrity-reader.d.ts.map +1 -0
  462. package/dist/bridge/data-integrity-reader.js +110 -0
  463. package/dist/bridge/data-integrity-reader.js.map +1 -0
  464. package/dist/bridge/design-reader.d.ts +51 -0
  465. package/dist/bridge/design-reader.d.ts.map +1 -0
  466. package/dist/bridge/design-reader.js +105 -0
  467. package/dist/bridge/design-reader.js.map +1 -0
  468. package/dist/bridge/file-scanner.d.ts +21 -0
  469. package/dist/bridge/file-scanner.d.ts.map +1 -0
  470. package/dist/bridge/file-scanner.js +117 -0
  471. package/dist/bridge/file-scanner.js.map +1 -0
  472. package/dist/bridge/finding-normalize.d.ts +24 -0
  473. package/dist/bridge/finding-normalize.d.ts.map +1 -0
  474. package/dist/bridge/finding-normalize.js +46 -0
  475. package/dist/bridge/finding-normalize.js.map +1 -0
  476. package/dist/bridge/http-client.d.ts +44 -0
  477. package/dist/bridge/http-client.d.ts.map +1 -0
  478. package/dist/bridge/http-client.js +130 -0
  479. package/dist/bridge/http-client.js.map +1 -0
  480. package/dist/bridge/knowledge-reader.d.ts +10 -0
  481. package/dist/bridge/knowledge-reader.d.ts.map +1 -0
  482. package/dist/bridge/knowledge-reader.js +46 -0
  483. package/dist/bridge/knowledge-reader.js.map +1 -0
  484. package/dist/bridge/loop-engine-reader.d.ts +77 -0
  485. package/dist/bridge/loop-engine-reader.d.ts.map +1 -0
  486. package/dist/bridge/loop-engine-reader.js +73 -0
  487. package/dist/bridge/loop-engine-reader.js.map +1 -0
  488. package/dist/bridge/playwright-pool.d.ts +33 -0
  489. package/dist/bridge/playwright-pool.d.ts.map +1 -0
  490. package/dist/bridge/playwright-pool.js +89 -0
  491. package/dist/bridge/playwright-pool.js.map +1 -0
  492. package/dist/bridge/rate-limiter.d.ts +40 -0
  493. package/dist/bridge/rate-limiter.d.ts.map +1 -0
  494. package/dist/bridge/rate-limiter.js +33 -0
  495. package/dist/bridge/rate-limiter.js.map +1 -0
  496. package/dist/bridge/reliability-reader.d.ts +67 -0
  497. package/dist/bridge/reliability-reader.d.ts.map +1 -0
  498. package/dist/bridge/reliability-reader.js +146 -0
  499. package/dist/bridge/reliability-reader.js.map +1 -0
  500. package/dist/bridge/router.d.ts +26 -0
  501. package/dist/bridge/router.d.ts.map +1 -0
  502. package/dist/bridge/router.js +137 -0
  503. package/dist/bridge/router.js.map +1 -0
  504. package/dist/bridge/run-stream.d.ts +47 -0
  505. package/dist/bridge/run-stream.d.ts.map +1 -0
  506. package/dist/bridge/run-stream.js +67 -0
  507. package/dist/bridge/run-stream.js.map +1 -0
  508. package/dist/bridge/runs-reader.d.ts +41 -0
  509. package/dist/bridge/runs-reader.d.ts.map +1 -0
  510. package/dist/bridge/runs-reader.js +185 -0
  511. package/dist/bridge/runs-reader.js.map +1 -0
  512. package/dist/bridge/sentinel-reader.d.ts +55 -0
  513. package/dist/bridge/sentinel-reader.d.ts.map +1 -0
  514. package/dist/bridge/sentinel-reader.js +88 -0
  515. package/dist/bridge/sentinel-reader.js.map +1 -0
  516. package/dist/bridge/server.d.ts +83 -0
  517. package/dist/bridge/server.d.ts.map +1 -0
  518. package/dist/bridge/server.js +1103 -0
  519. package/dist/bridge/server.js.map +1 -0
  520. package/dist/bridge/shell-executor.d.ts +49 -0
  521. package/dist/bridge/shell-executor.d.ts.map +1 -0
  522. package/dist/bridge/shell-executor.js +181 -0
  523. package/dist/bridge/shell-executor.js.map +1 -0
  524. package/dist/bridge/tech-debt-reader.d.ts +57 -0
  525. package/dist/bridge/tech-debt-reader.d.ts.map +1 -0
  526. package/dist/bridge/tech-debt-reader.js +119 -0
  527. package/dist/bridge/tech-debt-reader.js.map +1 -0
  528. package/dist/bridge/types.d.ts +63 -0
  529. package/dist/bridge/types.d.ts.map +1 -0
  530. package/dist/bridge/types.js +7 -0
  531. package/dist/bridge/types.js.map +1 -0
  532. package/dist/clients/agent-mvp.d.ts +3 -1
  533. package/dist/clients/agent-mvp.d.ts.map +1 -1
  534. package/dist/clients/agent-mvp.js +16 -5
  535. package/dist/clients/agent-mvp.js.map +1 -1
  536. package/dist/clients/llm-council.d.ts +47 -0
  537. package/dist/clients/llm-council.d.ts.map +1 -0
  538. package/dist/clients/llm-council.js +52 -0
  539. package/dist/clients/llm-council.js.map +1 -0
  540. package/dist/clients/total-recall.d.ts +2 -2
  541. package/dist/clients/total-recall.d.ts.map +1 -1
  542. package/dist/clients/total-recall.js +18 -3
  543. package/dist/clients/total-recall.js.map +1 -1
  544. package/dist/core/agent-contract.d.ts +21 -0
  545. package/dist/core/agent-contract.d.ts.map +1 -0
  546. package/dist/core/agent-contract.js +18 -0
  547. package/dist/core/agent-contract.js.map +1 -0
  548. package/dist/core/api-contract/api-contract-validator.d.ts +178 -0
  549. package/dist/core/api-contract/api-contract-validator.d.ts.map +1 -0
  550. package/dist/core/api-contract/api-contract-validator.js +796 -0
  551. package/dist/core/api-contract/api-contract-validator.js.map +1 -0
  552. package/dist/core/api-contract/index.d.ts +16 -0
  553. package/dist/core/api-contract/index.d.ts.map +1 -0
  554. package/dist/core/api-contract/index.js +24 -0
  555. package/dist/core/api-contract/index.js.map +1 -0
  556. package/dist/core/api-contract/types.d.ts +235 -0
  557. package/dist/core/api-contract/types.d.ts.map +1 -0
  558. package/dist/core/api-contract/types.js +27 -0
  559. package/dist/core/api-contract/types.js.map +1 -0
  560. package/dist/core/blackboard/blackboard.d.ts +34 -0
  561. package/dist/core/blackboard/blackboard.d.ts.map +1 -0
  562. package/dist/core/blackboard/blackboard.js +133 -0
  563. package/dist/core/blackboard/blackboard.js.map +1 -0
  564. package/dist/core/blackboard/coordination.d.ts +27 -0
  565. package/dist/core/blackboard/coordination.d.ts.map +1 -0
  566. package/dist/core/blackboard/coordination.js +31 -0
  567. package/dist/core/blackboard/coordination.js.map +1 -0
  568. package/dist/core/blackboard/direct-channel.d.ts +26 -0
  569. package/dist/core/blackboard/direct-channel.d.ts.map +1 -0
  570. package/dist/core/blackboard/direct-channel.js +26 -0
  571. package/dist/core/blackboard/direct-channel.js.map +1 -0
  572. package/dist/core/blackboard/index.d.ts +10 -0
  573. package/dist/core/blackboard/index.d.ts.map +1 -0
  574. package/dist/core/blackboard/index.js +4 -0
  575. package/dist/core/blackboard/index.js.map +1 -0
  576. package/dist/core/blackboard/types.d.ts +36 -0
  577. package/dist/core/blackboard/types.d.ts.map +1 -0
  578. package/dist/core/blackboard/types.js +2 -0
  579. package/dist/core/blackboard/types.js.map +1 -0
  580. package/dist/core/canvas/schema.d.ts +81 -0
  581. package/dist/core/canvas/schema.d.ts.map +1 -0
  582. package/dist/core/canvas/schema.js +144 -0
  583. package/dist/core/canvas/schema.js.map +1 -0
  584. package/dist/core/canvas/store.d.ts +41 -0
  585. package/dist/core/canvas/store.d.ts.map +1 -0
  586. package/dist/core/canvas/store.js +121 -0
  587. package/dist/core/canvas/store.js.map +1 -0
  588. package/dist/core/ci-output.d.ts +1 -1
  589. package/dist/core/ci-output.d.ts.map +1 -1
  590. package/dist/core/ci-output.js +2 -0
  591. package/dist/core/ci-output.js.map +1 -1
  592. package/dist/core/cli.d.ts +12 -1
  593. package/dist/core/cli.d.ts.map +1 -1
  594. package/dist/core/cli.js +308 -43
  595. package/dist/core/cli.js.map +1 -1
  596. package/dist/core/compliance/auditor.d.ts +119 -0
  597. package/dist/core/compliance/auditor.d.ts.map +1 -0
  598. package/dist/core/compliance/auditor.js +577 -0
  599. package/dist/core/compliance/auditor.js.map +1 -0
  600. package/dist/core/compliance/index.d.ts +11 -0
  601. package/dist/core/compliance/index.d.ts.map +1 -0
  602. package/dist/core/compliance/index.js +10 -0
  603. package/dist/core/compliance/index.js.map +1 -0
  604. package/dist/core/compliance/types.d.ts +174 -0
  605. package/dist/core/compliance/types.d.ts.map +1 -0
  606. package/dist/core/compliance/types.js +12 -0
  607. package/dist/core/compliance/types.js.map +1 -0
  608. package/dist/core/conductor/conductor.d.ts +37 -0
  609. package/dist/core/conductor/conductor.d.ts.map +1 -0
  610. package/dist/core/conductor/conductor.js +96 -0
  611. package/dist/core/conductor/conductor.js.map +1 -0
  612. package/dist/core/conductor/index.d.ts +9 -0
  613. package/dist/core/conductor/index.d.ts.map +1 -0
  614. package/dist/core/conductor/index.js +3 -0
  615. package/dist/core/conductor/index.js.map +1 -0
  616. package/dist/core/conductor/model-router.d.ts +17 -0
  617. package/dist/core/conductor/model-router.d.ts.map +1 -0
  618. package/dist/core/conductor/model-router.js +29 -0
  619. package/dist/core/conductor/model-router.js.map +1 -0
  620. package/dist/core/conductor/types.d.ts +33 -0
  621. package/dist/core/conductor/types.d.ts.map +1 -0
  622. package/dist/core/conductor/types.js +2 -0
  623. package/dist/core/conductor/types.js.map +1 -0
  624. package/dist/core/config.d.ts +148 -1
  625. package/dist/core/config.d.ts.map +1 -1
  626. package/dist/core/config.js +53 -4
  627. package/dist/core/config.js.map +1 -1
  628. package/dist/core/data-integrity/data-integrity.d.ts +291 -0
  629. package/dist/core/data-integrity/data-integrity.d.ts.map +1 -0
  630. package/dist/core/data-integrity/data-integrity.js +892 -0
  631. package/dist/core/data-integrity/data-integrity.js.map +1 -0
  632. package/dist/core/data-integrity/index.d.ts +16 -0
  633. package/dist/core/data-integrity/index.d.ts.map +1 -0
  634. package/dist/core/data-integrity/index.js +17 -0
  635. package/dist/core/data-integrity/index.js.map +1 -0
  636. package/dist/core/data-integrity/types.d.ts +236 -0
  637. package/dist/core/data-integrity/types.d.ts.map +1 -0
  638. package/dist/core/data-integrity/types.js +14 -0
  639. package/dist/core/data-integrity/types.js.map +1 -0
  640. package/dist/core/disaster-recovery/index.d.ts +13 -0
  641. package/dist/core/disaster-recovery/index.d.ts.map +1 -0
  642. package/dist/core/disaster-recovery/index.js +3 -0
  643. package/dist/core/disaster-recovery/index.js.map +1 -0
  644. package/dist/core/disaster-recovery/simulator.d.ts +158 -0
  645. package/dist/core/disaster-recovery/simulator.d.ts.map +1 -0
  646. package/dist/core/disaster-recovery/simulator.js +553 -0
  647. package/dist/core/disaster-recovery/simulator.js.map +1 -0
  648. package/dist/core/disaster-recovery/types.d.ts +299 -0
  649. package/dist/core/disaster-recovery/types.d.ts.map +1 -0
  650. package/dist/core/disaster-recovery/types.js +33 -0
  651. package/dist/core/disaster-recovery/types.js.map +1 -0
  652. package/dist/core/escalation/heal-or-ask.d.ts +20 -0
  653. package/dist/core/escalation/heal-or-ask.d.ts.map +1 -0
  654. package/dist/core/escalation/heal-or-ask.js +19 -0
  655. package/dist/core/escalation/heal-or-ask.js.map +1 -0
  656. package/dist/core/escalation/index.d.ts +9 -0
  657. package/dist/core/escalation/index.d.ts.map +1 -0
  658. package/dist/core/escalation/index.js +3 -0
  659. package/dist/core/escalation/index.js.map +1 -0
  660. package/dist/core/escalation/pause-gate.d.ts +48 -0
  661. package/dist/core/escalation/pause-gate.d.ts.map +1 -0
  662. package/dist/core/escalation/pause-gate.js +96 -0
  663. package/dist/core/escalation/pause-gate.js.map +1 -0
  664. package/dist/core/escalation/types.d.ts +33 -0
  665. package/dist/core/escalation/types.d.ts.map +1 -0
  666. package/dist/core/escalation/types.js +9 -0
  667. package/dist/core/escalation/types.js.map +1 -0
  668. package/dist/core/evidence.d.ts +32 -1
  669. package/dist/core/evidence.d.ts.map +1 -1
  670. package/dist/core/evidence.js +99 -1
  671. package/dist/core/evidence.js.map +1 -1
  672. package/dist/core/feature-bdd/fix.d.ts +84 -0
  673. package/dist/core/feature-bdd/fix.d.ts.map +1 -0
  674. package/dist/core/feature-bdd/fix.js +121 -0
  675. package/dist/core/feature-bdd/fix.js.map +1 -0
  676. package/dist/core/feature-bdd/generate.d.ts +96 -0
  677. package/dist/core/feature-bdd/generate.d.ts.map +1 -0
  678. package/dist/core/feature-bdd/generate.js +228 -0
  679. package/dist/core/feature-bdd/generate.js.map +1 -0
  680. package/dist/core/feature-bdd/llm-provider.d.ts +92 -0
  681. package/dist/core/feature-bdd/llm-provider.d.ts.map +1 -0
  682. package/dist/core/feature-bdd/llm-provider.js +187 -0
  683. package/dist/core/feature-bdd/llm-provider.js.map +1 -0
  684. package/dist/core/feature-bdd/run.d.ts +56 -0
  685. package/dist/core/feature-bdd/run.d.ts.map +1 -0
  686. package/dist/core/feature-bdd/run.js +175 -0
  687. package/dist/core/feature-bdd/run.js.map +1 -0
  688. package/dist/core/feature-bdd/schema.d.ts +111 -0
  689. package/dist/core/feature-bdd/schema.d.ts.map +1 -0
  690. package/dist/core/feature-bdd/schema.js +272 -0
  691. package/dist/core/feature-bdd/schema.js.map +1 -0
  692. package/dist/core/feature-bdd/store.d.ts +145 -0
  693. package/dist/core/feature-bdd/store.d.ts.map +1 -0
  694. package/dist/core/feature-bdd/store.js +470 -0
  695. package/dist/core/feature-bdd/store.js.map +1 -0
  696. package/dist/core/finding-correlation.d.ts +55 -0
  697. package/dist/core/finding-correlation.d.ts.map +1 -0
  698. package/dist/core/finding-correlation.js +96 -0
  699. package/dist/core/finding-correlation.js.map +1 -0
  700. package/dist/core/fix-loop.d.ts +20 -1
  701. package/dist/core/fix-loop.d.ts.map +1 -1
  702. package/dist/core/fix-loop.js +34 -0
  703. package/dist/core/fix-loop.js.map +1 -1
  704. package/dist/core/governance/calibration.d.ts +31 -0
  705. package/dist/core/governance/calibration.d.ts.map +1 -0
  706. package/dist/core/governance/calibration.js +78 -0
  707. package/dist/core/governance/calibration.js.map +1 -0
  708. package/dist/core/governance/degradation.d.ts +35 -0
  709. package/dist/core/governance/degradation.d.ts.map +1 -0
  710. package/dist/core/governance/degradation.js +25 -0
  711. package/dist/core/governance/degradation.js.map +1 -0
  712. package/dist/core/governance/ethical-constraint.d.ts +55 -0
  713. package/dist/core/governance/ethical-constraint.d.ts.map +1 -0
  714. package/dist/core/governance/ethical-constraint.js +98 -0
  715. package/dist/core/governance/ethical-constraint.js.map +1 -0
  716. package/dist/core/governance/index.d.ts +9 -0
  717. package/dist/core/governance/index.d.ts.map +1 -0
  718. package/dist/core/governance/index.js +9 -0
  719. package/dist/core/governance/index.js.map +1 -0
  720. package/dist/core/harness/audit-log.d.ts +12 -0
  721. package/dist/core/harness/audit-log.d.ts.map +1 -0
  722. package/dist/core/harness/audit-log.js +62 -0
  723. package/dist/core/harness/audit-log.js.map +1 -0
  724. package/dist/core/harness/authorization.d.ts +24 -0
  725. package/dist/core/harness/authorization.d.ts.map +1 -0
  726. package/dist/core/harness/authorization.js +48 -0
  727. package/dist/core/harness/authorization.js.map +1 -0
  728. package/dist/core/harness/harness.d.ts +64 -0
  729. package/dist/core/harness/harness.d.ts.map +1 -0
  730. package/dist/core/harness/harness.js +188 -0
  731. package/dist/core/harness/harness.js.map +1 -0
  732. package/dist/core/harness/index.d.ts +10 -0
  733. package/dist/core/harness/index.d.ts.map +1 -0
  734. package/dist/core/harness/index.js +4 -0
  735. package/dist/core/harness/index.js.map +1 -0
  736. package/dist/core/harness/types.d.ts +88 -0
  737. package/dist/core/harness/types.d.ts.map +1 -0
  738. package/dist/core/harness/types.js +2 -0
  739. package/dist/core/harness/types.js.map +1 -0
  740. package/dist/core/health-check.d.ts +6 -0
  741. package/dist/core/health-check.d.ts.map +1 -1
  742. package/dist/core/health-check.js +14 -2
  743. package/dist/core/health-check.js.map +1 -1
  744. package/dist/core/init.d.ts.map +1 -1
  745. package/dist/core/init.js +58 -18
  746. package/dist/core/init.js.map +1 -1
  747. package/dist/core/knowledge/cached-map.d.ts +17 -0
  748. package/dist/core/knowledge/cached-map.d.ts.map +1 -0
  749. package/dist/core/knowledge/cached-map.js +23 -0
  750. package/dist/core/knowledge/cached-map.js.map +1 -0
  751. package/dist/core/knowledge/index.d.ts +10 -0
  752. package/dist/core/knowledge/index.d.ts.map +1 -0
  753. package/dist/core/knowledge/index.js +4 -0
  754. package/dist/core/knowledge/index.js.map +1 -0
  755. package/dist/core/knowledge/system-map.d.ts +50 -0
  756. package/dist/core/knowledge/system-map.d.ts.map +1 -0
  757. package/dist/core/knowledge/system-map.js +121 -0
  758. package/dist/core/knowledge/system-map.js.map +1 -0
  759. package/dist/core/knowledge/traversal.d.ts +12 -0
  760. package/dist/core/knowledge/traversal.d.ts.map +1 -0
  761. package/dist/core/knowledge/traversal.js +37 -0
  762. package/dist/core/knowledge/traversal.js.map +1 -0
  763. package/dist/core/knowledge/types.d.ts +41 -0
  764. package/dist/core/knowledge/types.d.ts.map +1 -0
  765. package/dist/core/knowledge/types.js +2 -0
  766. package/dist/core/knowledge/types.js.map +1 -0
  767. package/dist/core/license-gen.d.ts +1 -1
  768. package/dist/core/license-gen.d.ts.map +1 -1
  769. package/dist/core/license-gen.js +10 -5
  770. package/dist/core/license-gen.js.map +1 -1
  771. package/dist/core/license.d.ts +12 -2
  772. package/dist/core/license.d.ts.map +1 -1
  773. package/dist/core/license.js +104 -28
  774. package/dist/core/license.js.map +1 -1
  775. package/dist/core/loop-engine/circuit-breaker.d.ts +24 -0
  776. package/dist/core/loop-engine/circuit-breaker.d.ts.map +1 -0
  777. package/dist/core/loop-engine/circuit-breaker.js +48 -0
  778. package/dist/core/loop-engine/circuit-breaker.js.map +1 -0
  779. package/dist/core/loop-engine/demo.d.ts +35 -0
  780. package/dist/core/loop-engine/demo.d.ts.map +1 -0
  781. package/dist/core/loop-engine/demo.js +71 -0
  782. package/dist/core/loop-engine/demo.js.map +1 -0
  783. package/dist/core/loop-engine/event-store.d.ts +8 -0
  784. package/dist/core/loop-engine/event-store.d.ts.map +1 -0
  785. package/dist/core/loop-engine/event-store.js +9 -0
  786. package/dist/core/loop-engine/event-store.js.map +1 -0
  787. package/dist/core/loop-engine/index.d.ts +11 -0
  788. package/dist/core/loop-engine/index.d.ts.map +1 -0
  789. package/dist/core/loop-engine/index.js +11 -0
  790. package/dist/core/loop-engine/index.js.map +1 -0
  791. package/dist/core/loop-engine/kernel.d.ts +66 -0
  792. package/dist/core/loop-engine/kernel.d.ts.map +1 -0
  793. package/dist/core/loop-engine/kernel.js +196 -0
  794. package/dist/core/loop-engine/kernel.js.map +1 -0
  795. package/dist/core/loop-engine/tracing.d.ts +12 -0
  796. package/dist/core/loop-engine/tracing.d.ts.map +1 -0
  797. package/dist/core/loop-engine/tracing.js +15 -0
  798. package/dist/core/loop-engine/tracing.js.map +1 -0
  799. package/dist/core/loop-engine/types.d.ts +92 -0
  800. package/dist/core/loop-engine/types.d.ts.map +1 -0
  801. package/dist/core/loop-engine/types.js +21 -0
  802. package/dist/core/loop-engine/types.js.map +1 -0
  803. package/dist/core/messages.d.ts +1 -1
  804. package/dist/core/messages.d.ts.map +1 -1
  805. package/dist/core/messages.js +101 -1
  806. package/dist/core/messages.js.map +1 -1
  807. package/dist/core/orchestrator.d.ts +79 -8
  808. package/dist/core/orchestrator.d.ts.map +1 -1
  809. package/dist/core/orchestrator.js +340 -33
  810. package/dist/core/orchestrator.js.map +1 -1
  811. package/dist/core/phase-gate.d.ts +2 -2
  812. package/dist/core/quality-score/calculator.d.ts +125 -0
  813. package/dist/core/quality-score/calculator.d.ts.map +1 -0
  814. package/dist/core/quality-score/calculator.js +489 -0
  815. package/dist/core/quality-score/calculator.js.map +1 -0
  816. package/dist/core/quality-score/from-run.d.ts +27 -0
  817. package/dist/core/quality-score/from-run.d.ts.map +1 -0
  818. package/dist/core/quality-score/from-run.js +64 -0
  819. package/dist/core/quality-score/from-run.js.map +1 -0
  820. package/dist/core/quality-score/index.d.ts +9 -0
  821. package/dist/core/quality-score/index.d.ts.map +1 -0
  822. package/dist/core/quality-score/index.js +9 -0
  823. package/dist/core/quality-score/index.js.map +1 -0
  824. package/dist/core/quality-score/types.d.ts +225 -0
  825. package/dist/core/quality-score/types.d.ts.map +1 -0
  826. package/dist/core/quality-score/types.js +26 -0
  827. package/dist/core/quality-score/types.js.map +1 -0
  828. package/dist/core/report-html-script.d.ts +3 -0
  829. package/dist/core/report-html-script.d.ts.map +1 -0
  830. package/dist/core/report-html-script.js +47 -0
  831. package/dist/core/report-html-script.js.map +1 -0
  832. package/dist/core/report-html-styles.d.ts +3 -0
  833. package/dist/core/report-html-styles.d.ts.map +1 -0
  834. package/dist/core/report-html-styles.js +231 -0
  835. package/dist/core/report-html-styles.js.map +1 -0
  836. package/dist/core/report-html.d.ts +1 -1
  837. package/dist/core/report-html.d.ts.map +1 -1
  838. package/dist/core/report-html.js +5 -280
  839. package/dist/core/report-html.js.map +1 -1
  840. package/dist/core/report-upload.d.ts +8 -0
  841. package/dist/core/report-upload.d.ts.map +1 -1
  842. package/dist/core/report-upload.js +17 -4
  843. package/dist/core/report-upload.js.map +1 -1
  844. package/dist/core/run-counter.d.ts.map +1 -1
  845. package/dist/core/run-counter.js +25 -1
  846. package/dist/core/run-counter.js.map +1 -1
  847. package/dist/core/run-events/emitter.d.ts +112 -0
  848. package/dist/core/run-events/emitter.d.ts.map +1 -0
  849. package/dist/core/run-events/emitter.js +234 -0
  850. package/dist/core/run-events/emitter.js.map +1 -0
  851. package/dist/core/run-events/frame-sink.d.ts +24 -0
  852. package/dist/core/run-events/frame-sink.d.ts.map +1 -0
  853. package/dist/core/run-events/frame-sink.js +32 -0
  854. package/dist/core/run-events/frame-sink.js.map +1 -0
  855. package/dist/core/run-events/index.d.ts +7 -0
  856. package/dist/core/run-events/index.d.ts.map +1 -0
  857. package/dist/core/run-events/index.js +5 -0
  858. package/dist/core/run-events/index.js.map +1 -0
  859. package/dist/core/run-events/loop-event-sink.d.ts +56 -0
  860. package/dist/core/run-events/loop-event-sink.d.ts.map +1 -0
  861. package/dist/core/run-events/loop-event-sink.js +60 -0
  862. package/dist/core/run-events/loop-event-sink.js.map +1 -0
  863. package/dist/core/run-events/sse.d.ts +47 -0
  864. package/dist/core/run-events/sse.d.ts.map +1 -0
  865. package/dist/core/run-events/sse.js +64 -0
  866. package/dist/core/run-events/sse.js.map +1 -0
  867. package/dist/core/run-events/types.d.ts +147 -0
  868. package/dist/core/run-events/types.d.ts.map +1 -0
  869. package/dist/core/run-events/types.js +17 -0
  870. package/dist/core/run-events/types.js.map +1 -0
  871. package/dist/core/run-mode/capture.d.ts +37 -0
  872. package/dist/core/run-mode/capture.d.ts.map +1 -0
  873. package/dist/core/run-mode/capture.js +43 -0
  874. package/dist/core/run-mode/capture.js.map +1 -0
  875. package/dist/core/run-mode/index.d.ts +9 -0
  876. package/dist/core/run-mode/index.d.ts.map +1 -0
  877. package/dist/core/run-mode/index.js +3 -0
  878. package/dist/core/run-mode/index.js.map +1 -0
  879. package/dist/core/run-mode/run-mode.d.ts +35 -0
  880. package/dist/core/run-mode/run-mode.d.ts.map +1 -0
  881. package/dist/core/run-mode/run-mode.js +51 -0
  882. package/dist/core/run-mode/run-mode.js.map +1 -0
  883. package/dist/core/run-mode/types.d.ts +36 -0
  884. package/dist/core/run-mode/types.d.ts.map +1 -0
  885. package/dist/core/run-mode/types.js +15 -0
  886. package/dist/core/run-mode/types.js.map +1 -0
  887. package/dist/core/run-quota.d.ts +22 -0
  888. package/dist/core/run-quota.d.ts.map +1 -0
  889. package/dist/core/run-quota.js +44 -0
  890. package/dist/core/run-quota.js.map +1 -0
  891. package/dist/core/security-audit/index.d.ts +9 -0
  892. package/dist/core/security-audit/index.d.ts.map +1 -0
  893. package/dist/core/security-audit/index.js +10 -0
  894. package/dist/core/security-audit/index.js.map +1 -0
  895. package/dist/core/security-audit/sentinel.d.ts +196 -0
  896. package/dist/core/security-audit/sentinel.d.ts.map +1 -0
  897. package/dist/core/security-audit/sentinel.js +725 -0
  898. package/dist/core/security-audit/sentinel.js.map +1 -0
  899. package/dist/core/security-audit/types.d.ts +240 -0
  900. package/dist/core/security-audit/types.d.ts.map +1 -0
  901. package/dist/core/security-audit/types.js +42 -0
  902. package/dist/core/security-audit/types.js.map +1 -0
  903. package/dist/core/tech-debt/index.d.ts +11 -0
  904. package/dist/core/tech-debt/index.d.ts.map +1 -0
  905. package/dist/core/tech-debt/index.js +11 -0
  906. package/dist/core/tech-debt/index.js.map +1 -0
  907. package/dist/core/tech-debt/tech-debt-tracker.d.ts +46 -0
  908. package/dist/core/tech-debt/tech-debt-tracker.d.ts.map +1 -0
  909. package/dist/core/tech-debt/tech-debt-tracker.js +533 -0
  910. package/dist/core/tech-debt/tech-debt-tracker.js.map +1 -0
  911. package/dist/core/tech-debt/types.d.ts +263 -0
  912. package/dist/core/tech-debt/types.d.ts.map +1 -0
  913. package/dist/core/tech-debt/types.js +2 -0
  914. package/dist/core/tech-debt/types.js.map +1 -0
  915. package/dist/core/tester/diff-planner.d.ts +18 -0
  916. package/dist/core/tester/diff-planner.d.ts.map +1 -0
  917. package/dist/core/tester/diff-planner.js +37 -0
  918. package/dist/core/tester/diff-planner.js.map +1 -0
  919. package/dist/core/tester/honest-report.d.ts +13 -0
  920. package/dist/core/tester/honest-report.d.ts.map +1 -0
  921. package/dist/core/tester/honest-report.js +64 -0
  922. package/dist/core/tester/honest-report.js.map +1 -0
  923. package/dist/core/tester/index.d.ts +9 -0
  924. package/dist/core/tester/index.d.ts.map +1 -0
  925. package/dist/core/tester/index.js +3 -0
  926. package/dist/core/tester/index.js.map +1 -0
  927. package/dist/core/tester/types.d.ts +55 -0
  928. package/dist/core/tester/types.d.ts.map +1 -0
  929. package/dist/core/tester/types.js +8 -0
  930. package/dist/core/tester/types.js.map +1 -0
  931. package/dist/core/triggers/index.d.ts +9 -0
  932. package/dist/core/triggers/index.d.ts.map +1 -0
  933. package/dist/core/triggers/index.js +3 -0
  934. package/dist/core/triggers/index.js.map +1 -0
  935. package/dist/core/triggers/trigger-bus.d.ts +49 -0
  936. package/dist/core/triggers/trigger-bus.d.ts.map +1 -0
  937. package/dist/core/triggers/trigger-bus.js +167 -0
  938. package/dist/core/triggers/trigger-bus.js.map +1 -0
  939. package/dist/core/triggers/types.d.ts +56 -0
  940. package/dist/core/triggers/types.d.ts.map +1 -0
  941. package/dist/core/triggers/types.js +13 -0
  942. package/dist/core/triggers/types.js.map +1 -0
  943. package/dist/core/trust.d.ts +12 -0
  944. package/dist/core/trust.d.ts.map +1 -0
  945. package/dist/core/trust.js +13 -0
  946. package/dist/core/trust.js.map +1 -0
  947. package/dist/core/types.d.ts +24 -2
  948. package/dist/core/types.d.ts.map +1 -1
  949. package/dist/core/ui-ux/index.d.ts +12 -0
  950. package/dist/core/ui-ux/index.d.ts.map +1 -0
  951. package/dist/core/ui-ux/index.js +13 -0
  952. package/dist/core/ui-ux/index.js.map +1 -0
  953. package/dist/core/ui-ux/orchestrator.d.ts +206 -0
  954. package/dist/core/ui-ux/orchestrator.d.ts.map +1 -0
  955. package/dist/core/ui-ux/orchestrator.js +672 -0
  956. package/dist/core/ui-ux/orchestrator.js.map +1 -0
  957. package/dist/core/ui-ux/types.d.ts +339 -0
  958. package/dist/core/ui-ux/types.d.ts.map +1 -0
  959. package/dist/core/ui-ux/types.js +17 -0
  960. package/dist/core/ui-ux/types.js.map +1 -0
  961. package/dist/enterprise/audit-trail.d.ts +31 -0
  962. package/dist/enterprise/audit-trail.d.ts.map +1 -0
  963. package/dist/enterprise/audit-trail.js +111 -0
  964. package/dist/enterprise/audit-trail.js.map +1 -0
  965. package/dist/enterprise/sla.d.ts +26 -0
  966. package/dist/enterprise/sla.d.ts.map +1 -0
  967. package/dist/enterprise/sla.js +101 -0
  968. package/dist/enterprise/sla.js.map +1 -0
  969. package/dist/helpers/element-discovery.js +1 -1
  970. package/dist/helpers/element-discovery.js.map +1 -1
  971. package/dist/helpers/env-resolver.d.ts +2 -2
  972. package/dist/helpers/quality-gate.d.ts.map +1 -1
  973. package/dist/helpers/quality-gate.js +21 -3
  974. package/dist/helpers/quality-gate.js.map +1 -1
  975. package/dist/helpers/shape-fingerprint.d.ts +18 -0
  976. package/dist/helpers/shape-fingerprint.d.ts.map +1 -0
  977. package/dist/helpers/shape-fingerprint.js +40 -0
  978. package/dist/helpers/shape-fingerprint.js.map +1 -0
  979. package/dist/sdk/custom-agent.d.ts +51 -0
  980. package/dist/sdk/custom-agent.d.ts.map +1 -0
  981. package/dist/sdk/custom-agent.js +94 -0
  982. package/dist/sdk/custom-agent.js.map +1 -0
  983. package/dist/sdk/index.d.ts +5 -0
  984. package/dist/sdk/index.d.ts.map +1 -0
  985. package/dist/sdk/index.js +3 -0
  986. package/dist/sdk/index.js.map +1 -0
  987. package/dist/sdk/loader.d.ts +28 -0
  988. package/dist/sdk/loader.d.ts.map +1 -0
  989. package/dist/sdk/loader.js +140 -0
  990. package/dist/sdk/loader.js.map +1 -0
  991. package/package.json +46 -20
  992. package/agents/01-analyst.ts +0 -100
  993. package/agents/02-seed-architect.ts +0 -59
  994. package/agents/03-test-generator.ts +0 -191
  995. package/agents/04-unit-runner.ts +0 -160
  996. package/agents/05-browser-crawler.ts +0 -790
  997. package/agents/06-api-exerciser.ts +0 -311
  998. package/agents/07-security-scout.ts +0 -188
  999. package/agents/08-a11y-guardian.ts +0 -212
  1000. package/agents/09-healer.ts +0 -228
  1001. package/agents/10-reporter.ts +0 -266
  1002. package/agents/11-fixer.ts +0 -253
  1003. package/agents/12-ux-inspector.ts +0 -444
  1004. package/agents/13-performance-profiler.ts +0 -271
  1005. package/agents/14-data-integrity-auditor.ts +0 -417
  1006. package/agents/15-regression-sentinel.ts +0 -308
  1007. package/agents/16-chaos-agent.ts +0 -228
  1008. package/agents/17-documentation-validator.ts +0 -266
  1009. package/agents/18-integration-watchdog.ts +0 -178
  1010. package/agents/19-tenant-isolation-auditor.ts +0 -199
  1011. package/agents/20-workflow-completion-tester.ts +0 -203
  1012. package/agents/21-state-session-tester.ts +0 -262
  1013. package/agents/22-email-notification-verifier.ts +0 -244
  1014. package/agents/23-migration-tester.ts +0 -80
  1015. package/agents/24-signup-onboarding-tester.ts +0 -429
  1016. package/agents/25-crud-flow-tester.ts +0 -302
  1017. package/agents/26-form-validator.ts +0 -297
  1018. package/agents/27-search-filter-tester.ts +0 -326
  1019. package/agents/28-navigation-routing-tester.ts +0 -425
  1020. package/agents/29-responsive-interaction-tester.ts +0 -350
  1021. package/agents/30-multi-user-scenario-tester.ts +0 -319
  1022. package/agents/31-load-tester.ts +0 -134
  1023. package/agents/32-memory-leak-detector.ts +0 -194
  1024. package/agents/33-bundle-analyzer.ts +0 -132
  1025. package/agents/34-xss-scanner.ts +0 -191
  1026. package/agents/35-csrf-tester.ts +0 -82
  1027. package/agents/36-auth-fuzzer.ts +0 -194
  1028. package/agents/37-dependency-scanner.ts +0 -176
  1029. package/agents/38-secrets-scanner.ts +0 -137
  1030. package/agents/39-api-contract-tester.ts +0 -199
  1031. package/agents/40-rate-limit-tester.ts +0 -94
  1032. package/agents/41-api-pagination-tester.ts +0 -97
  1033. package/agents/42-graphql-tester.ts +0 -222
  1034. package/agents/43-data-consistency-checker.ts +0 -205
  1035. package/agents/44-backup-recovery-tester.ts +0 -152
  1036. package/agents/45-data-privacy-scanner.ts +0 -125
  1037. package/agents/46-seo-auditor.ts +0 -294
  1038. package/agents/47-social-preview-tester.ts +0 -232
  1039. package/agents/48-lighthouse-auditor.ts +0 -213
  1040. package/agents/49-i18n-tester.ts +0 -198
  1041. package/agents/50-timezone-tester.ts +0 -173
  1042. package/agents/51-error-recovery-tester.ts +0 -155
  1043. package/agents/52-offline-mode-tester.ts +0 -180
  1044. package/agents/53-graceful-degradation-tester.ts +0 -156
  1045. package/agents/54-websocket-tester.ts +0 -151
  1046. package/agents/55-realtime-sync-tester.ts +0 -194
  1047. package/agents/56-file-upload-tester.ts +0 -194
  1048. package/agents/57-export-tester.ts +0 -174
  1049. package/agents/58-payment-flow-tester.ts +0 -183
  1050. package/agents/59-ssl-tls-auditor.ts +0 -141
  1051. package/agents/60-dns-cdn-tester.ts +0 -117
  1052. package/agents/61-docker-health-checker.ts +0 -111
  1053. package/agents/62-env-config-validator.ts +0 -152
  1054. package/agents/63-log-quality-auditor.ts +0 -136
  1055. package/agents/64-analytics-tracker-tester.ts +0 -165
  1056. package/agents/65-gdpr-compliance-tester.ts +0 -215
  1057. package/agents/66-soc2-control-validator.ts +0 -210
  1058. package/agents/67-wcag-aaa-tester.ts +0 -241
  1059. package/agents/68-dead-code-detector.ts +0 -135
  1060. package/agents/69-type-safety-auditor.ts +0 -164
  1061. package/agents/70-complexity-analyzer.ts +0 -179
  1062. package/agents/__tests__/01-analyst.test.ts +0 -188
  1063. package/agents/__tests__/02-seed-architect.test.ts +0 -152
  1064. package/agents/__tests__/03-test-generator-full.test.ts +0 -321
  1065. package/agents/__tests__/03-test-generator.test.ts +0 -318
  1066. package/agents/__tests__/04-unit-runner.test.ts +0 -320
  1067. package/agents/__tests__/05-browser-crawler-beta.test.ts +0 -492
  1068. package/agents/__tests__/05-browser-crawler-release.test.ts +0 -412
  1069. package/agents/__tests__/05-browser-crawler-uat.test.ts +0 -578
  1070. package/agents/__tests__/05-browser-crawler.test.ts +0 -518
  1071. package/agents/__tests__/06-api-exerciser.test.ts +0 -619
  1072. package/agents/__tests__/07-security-scout.test.ts +0 -382
  1073. package/agents/__tests__/08-a11y-guardian.test.ts +0 -530
  1074. package/agents/__tests__/09-healer.test.ts +0 -384
  1075. package/agents/__tests__/10-reporter.test.ts +0 -366
  1076. package/agents/__tests__/11-fixer.test.ts +0 -406
  1077. package/agents/__tests__/12-ux-inspector-extended.test.ts +0 -465
  1078. package/agents/__tests__/12-ux-inspector.test.ts +0 -443
  1079. package/agents/__tests__/13-performance-profiler.test.ts +0 -411
  1080. package/agents/__tests__/14-data-integrity-auditor-extended.test.ts +0 -573
  1081. package/agents/__tests__/14-data-integrity-auditor.test.ts +0 -407
  1082. package/agents/__tests__/15-regression-sentinel.test.ts +0 -657
  1083. package/agents/__tests__/16-chaos-agent.test.ts +0 -427
  1084. package/agents/__tests__/17-documentation-validator.test.ts +0 -402
  1085. package/agents/__tests__/18-integration-watchdog.test.ts +0 -263
  1086. package/agents/__tests__/19-tenant-isolation-auditor.test.ts +0 -400
  1087. package/agents/__tests__/20-workflow-completion-tester.test.ts +0 -586
  1088. package/agents/__tests__/21-state-session-tester.test.ts +0 -374
  1089. package/agents/__tests__/22-email-notification-verifier.test.ts +0 -441
  1090. package/agents/__tests__/23-migration-tester.test.ts +0 -145
  1091. package/agents/__tests__/24-signup-onboarding-tester.test.ts +0 -274
  1092. package/agents/__tests__/25-crud-flow-tester.test.ts +0 -322
  1093. package/agents/__tests__/26-form-validator.test.ts +0 -345
  1094. package/agents/__tests__/27-search-filter-tester.test.ts +0 -311
  1095. package/agents/__tests__/28-navigation-routing-tester.test.ts +0 -328
  1096. package/agents/__tests__/29-responsive-interaction-tester.test.ts +0 -297
  1097. package/agents/__tests__/30-multi-user-scenario-tester.test.ts +0 -328
  1098. package/agents/__tests__/31-load-tester.test.ts +0 -189
  1099. package/agents/__tests__/32-memory-leak-detector.test.ts +0 -251
  1100. package/agents/__tests__/33-bundle-analyzer.test.ts +0 -237
  1101. package/agents/__tests__/34-xss-scanner.test.ts +0 -258
  1102. package/agents/__tests__/35-csrf-tester.test.ts +0 -200
  1103. package/agents/__tests__/36-auth-fuzzer.test.ts +0 -214
  1104. package/agents/__tests__/37-dependency-scanner.test.ts +0 -266
  1105. package/agents/__tests__/38-secrets-scanner.test.ts +0 -224
  1106. package/agents/__tests__/39-api-contract-tester.test.ts +0 -312
  1107. package/agents/__tests__/40-rate-limit-tester.test.ts +0 -192
  1108. package/agents/__tests__/41-api-pagination-tester.test.ts +0 -198
  1109. package/agents/__tests__/42-graphql-tester.test.ts +0 -252
  1110. package/agents/__tests__/43-data-consistency-checker.test.ts +0 -232
  1111. package/agents/__tests__/44-backup-recovery-tester.test.ts +0 -222
  1112. package/agents/__tests__/45-data-privacy-scanner.test.ts +0 -223
  1113. package/agents/__tests__/46-seo-auditor.test.ts +0 -261
  1114. package/agents/__tests__/47-social-preview-tester.test.ts +0 -245
  1115. package/agents/__tests__/48-lighthouse-auditor.test.ts +0 -276
  1116. package/agents/__tests__/49-i18n-tester.test.ts +0 -201
  1117. package/agents/__tests__/50-timezone-tester.test.ts +0 -172
  1118. package/agents/__tests__/51-error-recovery-tester.test.ts +0 -162
  1119. package/agents/__tests__/52-offline-mode-tester.test.ts +0 -164
  1120. package/agents/__tests__/53-graceful-degradation-tester.test.ts +0 -168
  1121. package/agents/__tests__/54-websocket-tester.test.ts +0 -157
  1122. package/agents/__tests__/55-realtime-sync-tester.test.ts +0 -181
  1123. package/agents/__tests__/56-file-upload-tester.test.ts +0 -172
  1124. package/agents/__tests__/57-export-tester.test.ts +0 -169
  1125. package/agents/__tests__/58-payment-flow-tester.test.ts +0 -182
  1126. package/agents/__tests__/59-ssl-tls-auditor.test.ts +0 -179
  1127. package/agents/__tests__/60-dns-cdn-tester.test.ts +0 -176
  1128. package/agents/__tests__/61-docker-health-checker.test.ts +0 -150
  1129. package/agents/__tests__/62-env-config-validator.test.ts +0 -166
  1130. package/agents/__tests__/63-log-quality-auditor.test.ts +0 -175
  1131. package/agents/__tests__/64-analytics-tracker-tester.test.ts +0 -158
  1132. package/agents/__tests__/65-gdpr-compliance-tester.test.ts +0 -174
  1133. package/agents/__tests__/66-soc2-control-validator.test.ts +0 -183
  1134. package/agents/__tests__/67-wcag-aaa-tester.test.ts +0 -190
  1135. package/agents/__tests__/68-dead-code-detector.test.ts +0 -174
  1136. package/agents/__tests__/69-type-safety-auditor.test.ts +0 -173
  1137. package/agents/__tests__/70-complexity-analyzer.test.ts +0 -177
  1138. package/agents/__tests__/base-agent.test.ts +0 -188
  1139. package/agents/__tests__/registry.test.ts +0 -218
  1140. package/agents/base-agent.ts +0 -85
  1141. package/agents/registry.ts +0 -279
  1142. package/baselines/api-schemas/.gitkeep +0 -0
  1143. package/baselines/performance/.gitkeep +0 -0
  1144. package/baselines/screenshots/.gitkeep +0 -0
  1145. package/core/__tests__/ci-output.test.ts +0 -430
  1146. package/core/__tests__/cli.test.ts +0 -387
  1147. package/core/__tests__/config.test.ts +0 -78
  1148. package/core/__tests__/cost-tracker.test.ts +0 -158
  1149. package/core/__tests__/evidence.test.ts +0 -265
  1150. package/core/__tests__/fix-loop.test.ts +0 -210
  1151. package/core/__tests__/health-check.test.ts +0 -44
  1152. package/core/__tests__/init.test.ts +0 -609
  1153. package/core/__tests__/integration.test.ts +0 -204
  1154. package/core/__tests__/license-gen.test.ts +0 -227
  1155. package/core/__tests__/license.test.ts +0 -326
  1156. package/core/__tests__/multi-browser.test.ts +0 -278
  1157. package/core/__tests__/orchestrator.test.ts +0 -520
  1158. package/core/__tests__/phase-gate.test.ts +0 -43
  1159. package/core/__tests__/report-html.test.ts +0 -398
  1160. package/core/__tests__/report-upload.test.ts +0 -325
  1161. package/core/__tests__/run-counter.test.ts +0 -234
  1162. package/core/ci-output.ts +0 -240
  1163. package/core/cli.ts +0 -354
  1164. package/core/config.ts +0 -178
  1165. package/core/cost-tracker.ts +0 -59
  1166. package/core/evidence.ts +0 -132
  1167. package/core/fix-loop.ts +0 -85
  1168. package/core/health-check.ts +0 -54
  1169. package/core/init.ts +0 -546
  1170. package/core/license-gen.ts +0 -212
  1171. package/core/license.ts +0 -208
  1172. package/core/messages.ts +0 -67
  1173. package/core/multi-browser.ts +0 -136
  1174. package/core/orchestrator.ts +0 -427
  1175. package/core/phase-gate.ts +0 -55
  1176. package/core/report-html.ts +0 -657
  1177. package/core/report-upload.ts +0 -188
  1178. package/core/run-counter.ts +0 -175
  1179. package/core/types.ts +0 -57
  1180. package/dist/core/multi-browser.d.ts +0 -36
  1181. package/dist/core/multi-browser.d.ts.map +0 -1
  1182. package/dist/core/multi-browser.js +0 -88
  1183. package/dist/core/multi-browser.js.map +0 -1
  1184. package/helpers/__tests__/api-client.test.ts +0 -199
  1185. package/helpers/__tests__/element-discovery.test.ts +0 -202
  1186. package/helpers/__tests__/form-filler-extended.test.ts +0 -212
  1187. package/helpers/__tests__/form-filler.test.ts +0 -99
  1188. package/helpers/__tests__/modal-handler.test.ts +0 -152
  1189. package/helpers/__tests__/navigation.test.ts +0 -214
  1190. package/helpers/__tests__/quality-gate.test.ts +0 -117
  1191. package/helpers/__tests__/screenshot.test.ts +0 -139
  1192. package/helpers/__tests__/seed-validator.test.ts +0 -114
  1193. package/helpers/api-client.ts +0 -111
  1194. package/helpers/element-discovery.ts +0 -105
  1195. package/helpers/env-resolver.ts +0 -69
  1196. package/helpers/form-filler.ts +0 -126
  1197. package/helpers/modal-handler.ts +0 -108
  1198. package/helpers/navigation.ts +0 -100
  1199. package/helpers/quality-gate.ts +0 -180
  1200. package/helpers/screenshot.ts +0 -111
  1201. package/helpers/seed-validator.ts +0 -70
@@ -1,108 +0,0 @@
1
- import type { Page } from 'playwright';
2
-
3
- /** CSS selectors used to detect an open modal or dialog. */
4
- const MODAL_SELECTORS = [
5
- '[role="dialog"]',
6
- '[role="alertdialog"]',
7
- '.modal',
8
- '[data-modal]',
9
- '[data-testid="modal"]',
10
- ];
11
-
12
- /** CSS selectors used to locate the close (×) button inside a modal. */
13
- const CLOSE_BUTTON_SELECTORS = [
14
- '[aria-label="Close"]',
15
- '[aria-label="close"]',
16
- '[data-testid="modal-close"]',
17
- 'button.modal-close',
18
- 'button[class*="close"]',
19
- '[role="dialog"] button:first-of-type',
20
- ];
21
-
22
- /** CSS selectors for the overlay/backdrop behind a modal. */
23
- const OVERLAY_SELECTORS = [
24
- '[data-testid="modal-overlay"]',
25
- '.modal-overlay',
26
- '.modal-backdrop',
27
- '[class*="overlay"]',
28
- '[class*="backdrop"]',
29
- ];
30
-
31
- /**
32
- * Clicks the trigger element and waits for a modal/dialog to become visible.
33
- * Returns true if a modal is detected within 5 seconds; false otherwise.
34
- */
35
- export async function openModal(page: Page, triggerSelector: string): Promise<boolean> {
36
- await page.click(triggerSelector);
37
-
38
- for (const selector of MODAL_SELECTORS) {
39
- try {
40
- await page.waitForSelector(selector, { state: 'visible', timeout: 5000 });
41
- return true;
42
- } catch {
43
- // Selector not found — try the next candidate
44
- }
45
- }
46
-
47
- return false;
48
- }
49
-
50
- /**
51
- * Closes the currently open modal using the specified method.
52
- * Returns true if the modal is no longer visible after the action; false otherwise.
53
- */
54
- export async function closeModal(
55
- page: Page,
56
- method: 'x-button' | 'escape' | 'overlay',
57
- ): Promise<boolean> {
58
- switch (method) {
59
- case 'x-button': {
60
- for (const selector of CLOSE_BUTTON_SELECTORS) {
61
- const button = page.locator(selector);
62
- if (await button.isVisible().catch(() => false)) {
63
- await button.click();
64
- break;
65
- }
66
- }
67
- break;
68
- }
69
-
70
- case 'escape': {
71
- await page.keyboard.press('Escape');
72
- break;
73
- }
74
-
75
- case 'overlay': {
76
- for (const selector of OVERLAY_SELECTORS) {
77
- const overlay = page.locator(selector);
78
- if (await overlay.isVisible().catch(() => false)) {
79
- await overlay.click({ position: { x: 1, y: 1 } });
80
- break;
81
- }
82
- }
83
- break;
84
- }
85
- }
86
-
87
- // Give the DOM a moment to react then verify the modal is gone
88
- await page.waitForTimeout(300);
89
- return !(await isModalOpen(page));
90
- }
91
-
92
- /**
93
- * Returns true if any recognised modal or dialog element is currently visible.
94
- */
95
- export async function isModalOpen(page: Page): Promise<boolean> {
96
- for (const selector of MODAL_SELECTORS) {
97
- try {
98
- const locator = page.locator(selector);
99
- if (await locator.isVisible()) {
100
- return true;
101
- }
102
- } catch {
103
- // Element not present — continue checking
104
- }
105
- }
106
-
107
- return false;
108
- }
@@ -1,100 +0,0 @@
1
- import type { Page } from 'playwright';
2
-
3
- /** Default milliseconds to wait for all loading indicators to disappear. */
4
- const DEFAULT_WAIT_TIMEOUT_MS = 10_000;
5
-
6
- /**
7
- * Selectors that represent loading / skeleton states produced by React Suspense
8
- * fallback components. All must be absent before `waitForSectionLoad` resolves.
9
- */
10
- const LOADING_SELECTORS = [
11
- '[aria-label="Loading"]',
12
- '[data-testid="loading-spinner"]',
13
- '[data-testid="skeleton"]',
14
- '.loading-spinner',
15
- '.skeleton',
16
- ] as const;
17
-
18
- /**
19
- * Navigate to `loginUrl`, fill the email and password inputs, submit the form,
20
- * and wait for the browser to navigate away from the login page.
21
- */
22
- export async function login(
23
- page: Page,
24
- credentials: { email: string; password: string },
25
- loginUrl: string,
26
- ): Promise<void> {
27
- await page.goto(loginUrl, { waitUntil: 'domcontentloaded', timeout: 10000 });
28
- await page.fill('input[type="email"], input[name="email"], #login-email', credentials.email);
29
- await page.fill('input[type="password"], input[name="password"], #login-password', credentials.password);
30
- // Use Promise.race — SPAs may not trigger a traditional navigation after login
31
- await Promise.all([
32
- page.waitForURL((url) => !url.toString().includes('/login'), { timeout: 10000 }).catch(() => {
33
- // SPA fallback: wait for the login form to disappear
34
- return page.waitForSelector('input[type="email"], #login-email', { state: 'hidden', timeout: 5000 }).catch(() => {
35
- // Graceful return — login may have failed (wrong credentials, no API)
36
- // Caller should check page URL to determine if login succeeded
37
- });
38
- }),
39
- page.click('button[type="submit"]'),
40
- ]);
41
- }
42
-
43
- /**
44
- * Resolve `moduleId` to its route via `config.modules`, navigate to that route,
45
- * and wait for the section's lazy-loaded content to appear.
46
- *
47
- * @throws {Error} when `moduleId` is not found in `config.modules`.
48
- */
49
- export async function navigateToSection(
50
- page: Page,
51
- moduleId: string,
52
- config: { modules: Array<{ id: string; route: string }> },
53
- ): Promise<void> {
54
- const module = config.modules.find((m) => m.id === moduleId);
55
- if (module === undefined) {
56
- throw new Error(
57
- `navigateToSection: moduleId "${moduleId}" not found in config. ` +
58
- `Available ids: [${config.modules.map((m) => m.id).join(', ')}]`,
59
- );
60
- }
61
- // Resolve relative routes against the current page origin
62
- const currentUrl = page.url();
63
- const origin = currentUrl.startsWith('http') ? new URL(currentUrl).origin : '';
64
- const fullUrl = module.route.startsWith('http') ? module.route : `${origin}${module.route}`;
65
- await page.goto(fullUrl);
66
- await waitForSectionLoad(page);
67
- }
68
-
69
- /**
70
- * Wait for all React Suspense loading fallbacks (spinners, skeletons) to
71
- * disappear, indicating that lazy-loaded section content has fully rendered.
72
- *
73
- * @param timeout Maximum time in milliseconds to wait (default: 10 000 ms).
74
- */
75
- export async function waitForSectionLoad(page: Page, timeout = DEFAULT_WAIT_TIMEOUT_MS): Promise<void> {
76
- for (const selector of LOADING_SELECTORS) {
77
- // waitForSelector with state "hidden" resolves immediately if the element
78
- // is already absent, so this is safe even when the spinner never appears.
79
- await page.waitForSelector(selector, { state: 'hidden', timeout });
80
- }
81
- }
82
-
83
- /**
84
- * Switch between the bookkeeper portal and the client portal by manipulating
85
- * the `portal` query-string parameter on the current page URL.
86
- *
87
- * @param portalQueryParam Pass `"client"` (or any portal slug) to set
88
- * `?portal=<value>`, or `null` to remove the query parameter entirely.
89
- */
90
- export async function switchPortal(page: Page, portalQueryParam: string | null): Promise<void> {
91
- const currentUrl = new URL(page.url());
92
-
93
- if (portalQueryParam === null) {
94
- currentUrl.searchParams.delete('portal');
95
- } else {
96
- currentUrl.searchParams.set('portal', portalQueryParam);
97
- }
98
-
99
- await page.goto(currentUrl.toString());
100
- }
@@ -1,180 +0,0 @@
1
- import { readFileSync } from 'fs';
2
-
3
- export interface QualityViolation {
4
- rule: string;
5
- message: string;
6
- line?: number;
7
- severity: 'error' | 'warning';
8
- }
9
-
10
- // Matches `: any` type annotations
11
- const ANY_TYPE_PATTERN = /:\s*any\b/;
12
-
13
- // Matches function declarations and arrow functions that open a block body on the same line
14
- const FUNCTION_START_PATTERN =
15
- /(?:function\s+\w+\s*\([^)]*\)\s*\{|(?:\([^)]*\)|\w+)\s*=>\s*\{)/;
16
-
17
- // Matches hardcoded secret assignments with literal string values
18
- const HARDCODED_SECRET_PATTERN =
19
- /(?:password|secret|apiKey|api_key|token)\s*=\s*['"][^'"]+['"]/i;
20
-
21
- // Matches lines that safely read from process.env
22
- const PROCESS_ENV_PATTERN = /process\.env\./;
23
-
24
- // Maximum lines allowed inside a single function body before a violation is raised
25
- const MAX_FUNCTION_LINES = 30;
26
-
27
- // Maximum brace-nesting depth before a violation is raised
28
- const MAX_NESTING_DEPTH = 3;
29
-
30
- function isCommentLine(line: string): boolean {
31
- const trimmed = line.trim();
32
- return (
33
- trimmed.startsWith('//') ||
34
- trimmed.startsWith('*') ||
35
- trimmed.startsWith('/*')
36
- );
37
- }
38
-
39
- function checkAnyType(lines: string[]): QualityViolation[] {
40
- const violations: QualityViolation[] = [];
41
- for (let i = 0; i < lines.length; i++) {
42
- const line = lines[i];
43
- if (isCommentLine(line)) continue;
44
- // Strip string literals to avoid false positives from values containing "any"
45
- const stripped = line.replace(/(['"`])(?:(?!\1)[^\\]|\\.)*\1/g, '""');
46
- if (ANY_TYPE_PATTERN.test(stripped)) {
47
- violations.push({
48
- rule: 'no-any',
49
- message: `Avoid \`any\` type — use explicit types to preserve TypeScript safety (line ${i + 1}).`,
50
- line: i + 1,
51
- severity: 'error',
52
- });
53
- }
54
- }
55
- return violations;
56
- }
57
-
58
- function checkLongFunctions(lines: string[]): QualityViolation[] {
59
- const violations: QualityViolation[] = [];
60
-
61
- // Stack entries: { startLine (0-based), braceDepthAtStart }
62
- const stack: Array<{ startLine: number; braceDepthAtStart: number }> = [];
63
- let braceDepth = 0;
64
-
65
- for (let i = 0; i < lines.length; i++) {
66
- const line = lines[i];
67
- const opens = (line.match(/\{/g) ?? []).length;
68
- const closes = (line.match(/\}/g) ?? []).length;
69
-
70
- if (FUNCTION_START_PATTERN.test(line)) {
71
- // Record function start; its body starts at the `{` on this line, so the
72
- // depth before processing this line's braces is `braceDepth`.
73
- stack.push({ startLine: i, braceDepthAtStart: braceDepth });
74
- }
75
-
76
- braceDepth += opens - closes;
77
-
78
- // Pop any functions whose body just closed (depth returned to start level)
79
- while (stack.length > 0) {
80
- const top = stack[stack.length - 1];
81
- if (braceDepth <= top.braceDepthAtStart) {
82
- const functionLineCount = i - top.startLine + 1;
83
- if (functionLineCount > MAX_FUNCTION_LINES) {
84
- violations.push({
85
- rule: 'max-function-lines',
86
- message:
87
- `Function starting at line ${top.startLine + 1} is ${functionLineCount} lines long ` +
88
- `— keep functions under ${MAX_FUNCTION_LINES + 1} lines.`,
89
- line: top.startLine + 1,
90
- severity: 'warning',
91
- });
92
- }
93
- stack.pop();
94
- } else {
95
- break;
96
- }
97
- }
98
- }
99
-
100
- return violations;
101
- }
102
-
103
- function checkHardcodedSecrets(lines: string[]): QualityViolation[] {
104
- const violations: QualityViolation[] = [];
105
- for (let i = 0; i < lines.length; i++) {
106
- const line = lines[i];
107
- if (isCommentLine(line)) continue;
108
- if (PROCESS_ENV_PATTERN.test(line)) continue;
109
- if (HARDCODED_SECRET_PATTERN.test(line)) {
110
- violations.push({
111
- rule: 'no-hardcoded-secrets',
112
- message: `Hardcoded secret detected at line ${i + 1} — use environment variables instead.`,
113
- line: i + 1,
114
- severity: 'error',
115
- });
116
- }
117
- }
118
- return violations;
119
- }
120
-
121
- function checkDeepNesting(lines: string[]): QualityViolation[] {
122
- const violations: QualityViolation[] = [];
123
- let depth = 0;
124
- let violationActive = false;
125
-
126
- for (let i = 0; i < lines.length; i++) {
127
- const line = lines[i];
128
- const opens = (line.match(/\{/g) ?? []).length;
129
- const closes = (line.match(/\}/g) ?? []).length;
130
-
131
- depth += opens - closes;
132
-
133
- if (depth > MAX_NESTING_DEPTH && !violationActive) {
134
- violations.push({
135
- rule: 'max-nesting-depth',
136
- message:
137
- `Nesting depth exceeds ${MAX_NESTING_DEPTH} levels at line ${i + 1} ` +
138
- `— refactor to reduce complexity.`,
139
- line: i + 1,
140
- severity: 'warning',
141
- });
142
- violationActive = true;
143
- }
144
-
145
- if (depth <= MAX_NESTING_DEPTH) {
146
- violationActive = false;
147
- }
148
- }
149
-
150
- return violations;
151
- }
152
-
153
- /**
154
- * Validates the given source code content against AVI-OS coding quality rules.
155
- * Returns an array of QualityViolation objects; an empty array means the code
156
- * passes all checks.
157
- */
158
- export function validateCodeQuality(
159
- fileContent: string,
160
- filePath: string,
161
- ): QualityViolation[] {
162
- // filePath is available for future rule extensions (e.g. path-based exclusions)
163
- void filePath;
164
-
165
- const lines = fileContent.split('\n');
166
- return [
167
- ...checkAnyType(lines),
168
- ...checkHardcodedSecrets(lines),
169
- ...checkLongFunctions(lines),
170
- ...checkDeepNesting(lines),
171
- ];
172
- }
173
-
174
- /**
175
- * Reads a file from disk and runs validateCodeQuality on its contents.
176
- */
177
- export function runQualityGate(filePath: string): QualityViolation[] {
178
- const content = readFileSync(filePath, 'utf-8');
179
- return validateCodeQuality(content, filePath);
180
- }
@@ -1,111 +0,0 @@
1
- import { mkdir, copyFile, readFile, writeFile, stat } from 'node:fs/promises';
2
- import { join, basename } from 'path';
3
- import pixelmatch from 'pixelmatch';
4
- import { PNG } from 'pngjs';
5
- import type { Page } from 'playwright';
6
-
7
- export interface ScreenshotCompareResult {
8
- match: boolean;
9
- diffPercentage: number;
10
- diffPath?: string;
11
- }
12
-
13
- async function fileExists(p: string): Promise<boolean> {
14
- try { await stat(p); return true; } catch { return false; }
15
- }
16
-
17
- /**
18
- * Captures a screenshot of the current page state and saves it to outputDir.
19
- * Returns the absolute file path of the saved screenshot.
20
- */
21
- export async function captureScreenshot(
22
- page: Page,
23
- name: string,
24
- outputDir: string,
25
- ): Promise<string> {
26
- const dirExists = await fileExists(outputDir);
27
- if (!dirExists) {
28
- await mkdir(outputDir, { recursive: true });
29
- }
30
-
31
- const safeName = name.replace(/[^a-zA-Z0-9_-]/g, '_');
32
- const filePath = join(outputDir, `${safeName}.png`);
33
-
34
- await page.screenshot({ path: filePath, fullPage: false });
35
-
36
- return filePath;
37
- }
38
-
39
- /**
40
- * Compares two PNG screenshots using pixelmatch.
41
- * Returns match=true when the diff percentage is at or below the threshold.
42
- * Default threshold: 0.1 (0.1% pixel difference).
43
- * Writes a diff PNG alongside the current screenshot when images differ.
44
- */
45
- export async function compareScreenshots(
46
- currentPath: string,
47
- baselinePath: string,
48
- threshold = 0.1,
49
- ): Promise<ScreenshotCompareResult> {
50
- const currentData = await readFile(currentPath);
51
- const baselineData = await readFile(baselinePath);
52
-
53
- const current = PNG.sync.read(currentData);
54
- const baseline = PNG.sync.read(baselineData);
55
-
56
- if (current.width !== baseline.width || current.height !== baseline.height) {
57
- return {
58
- match: false,
59
- diffPercentage: 100,
60
- };
61
- }
62
-
63
- const { width, height } = current;
64
- const diff = new PNG({ width, height });
65
-
66
- const diffPixels = pixelmatch(
67
- current.data,
68
- baseline.data,
69
- diff.data,
70
- width,
71
- height,
72
- { threshold: 0.1 },
73
- );
74
-
75
- const totalPixels = width * height;
76
- const diffPercentage = totalPixels > 0 ? (diffPixels / totalPixels) * 100 : 0;
77
- const match = diffPercentage <= threshold;
78
-
79
- let diffPath: string | undefined;
80
- if (!match) {
81
- diffPath = currentPath.replace(/\.png$/, '_diff.png');
82
- await writeFile(diffPath, PNG.sync.write(diff));
83
- }
84
-
85
- return {
86
- match,
87
- diffPercentage,
88
- ...(diffPath ? { diffPath } : {}),
89
- };
90
- }
91
-
92
- /**
93
- * Copies the current screenshot to the baseline directory, establishing it
94
- * as the new reference image. Returns the path of the new baseline file.
95
- */
96
- export async function updateBaseline(
97
- currentPath: string,
98
- baselineDir: string,
99
- ): Promise<string> {
100
- const dirExists = await fileExists(baselineDir);
101
- if (!dirExists) {
102
- await mkdir(baselineDir, { recursive: true });
103
- }
104
-
105
- const fileName = basename(currentPath);
106
- const baselinePath = join(baselineDir, fileName);
107
-
108
- await copyFile(currentPath, baselinePath);
109
-
110
- return baselinePath;
111
- }
@@ -1,70 +0,0 @@
1
- import { readFileSync } from 'fs';
2
-
3
- export interface SeedValidationResult {
4
- covered: string[];
5
- missing: string[];
6
- }
7
-
8
- /**
9
- * Validates that a Prisma seed file contains data creation entries for each
10
- * of the supplied module IDs.
11
- *
12
- * Detection heuristic: for each moduleId the function looks for the module
13
- * identifier (case-insensitive) appearing in a data-creation context — i.e.
14
- * adjacent to keywords such as create, createMany, insert, upsert, seed, or
15
- * model within 120 characters. This covers common Prisma and raw-SQL patterns.
16
- */
17
- export async function validateSeedCompleteness(
18
- seedFilePath: string,
19
- moduleIds: string[],
20
- ): Promise<SeedValidationResult> {
21
- const content = readFileSync(seedFilePath, 'utf-8');
22
- const contentLower = content.toLowerCase();
23
-
24
- const covered: string[] = [];
25
- const missing: string[] = [];
26
-
27
- for (const moduleId of moduleIds) {
28
- if (isCoveredByContent(contentLower, moduleId.toLowerCase())) {
29
- covered.push(moduleId);
30
- } else {
31
- missing.push(moduleId);
32
- }
33
- }
34
-
35
- return { covered, missing };
36
- }
37
-
38
- /**
39
- * Returns true if the seed content appears to create data for the given module.
40
- * Checks for the module name near data-creation keywords or as a Prisma model reference.
41
- */
42
- function isCoveredByContent(contentLower: string, moduleIdLower: string): boolean {
43
- const creationKeywords = ['create', 'createmany', 'insert', 'upsert', 'seed', 'model'];
44
-
45
- let searchStart = 0;
46
- const moduleIndex = contentLower.indexOf(moduleIdLower, searchStart);
47
-
48
- if (moduleIndex === -1) {
49
- return false;
50
- }
51
-
52
- // Scan all occurrences of the module name for a nearby creation keyword
53
- let idx = moduleIndex;
54
- while (idx !== -1) {
55
- const windowStart = Math.max(0, idx - 120);
56
- const windowEnd = Math.min(contentLower.length, idx + moduleIdLower.length + 120);
57
- const window = contentLower.slice(windowStart, windowEnd);
58
-
59
- for (const keyword of creationKeywords) {
60
- if (window.includes(keyword)) {
61
- return true;
62
- }
63
- }
64
-
65
- searchStart = idx + 1;
66
- idx = contentLower.indexOf(moduleIdLower, searchStart);
67
- }
68
-
69
- return false;
70
- }