qa360 2.1.2 → 2.1.4

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 (866) hide show
  1. package/.BETA_TESTING_FEEDBACK.md +256 -0
  2. package/.claude/settings.local.json +151 -0
  3. package/.editorconfig +21 -0
  4. package/.github/CODEOWNERS +23 -0
  5. package/.github/ISSUE_TEMPLATE/bug_report.yml +108 -0
  6. package/.github/ISSUE_TEMPLATE/feedback_dx.yml +121 -0
  7. package/.github/dependabot.yml +35 -0
  8. package/.github/workflows/mcp-dx.yml +106 -0
  9. package/.github/workflows/release.yml +26 -0
  10. package/.github/workflows/test.yml +93 -0
  11. package/.nvmrc +1 -0
  12. package/.qa360-artifacts/.gitkeep +0 -0
  13. package/.qa360-artifacts/baselines/.gitkeep +0 -0
  14. package/.qa360-artifacts/cache/.gitkeep +0 -0
  15. package/.qa360-artifacts/reports/.gitkeep +0 -0
  16. package/.qa360-artifacts/screenshots/.gitkeep +0 -0
  17. package/.qa360-baselines/www_xyqo_ai.baseline.json +33 -0
  18. package/CHANGELOG.md +234 -0
  19. package/CODEOWNERS +43 -0
  20. package/CONTRIBUTING.md +273 -0
  21. package/NOVICE_USER_GUIDE.md +272 -0
  22. package/QUICK_START.md +191 -0
  23. package/README.md +191 -163
  24. package/adapters/README.md +62 -0
  25. package/check-branches.sh +32 -0
  26. package/cli/CHANGELOG.md +84 -0
  27. package/cli/LICENSE +24 -0
  28. package/cli/README.md +222 -0
  29. package/cli/examples/README.md +160 -0
  30. package/cli/package.json +76 -0
  31. package/cli/scripts/bundle-for-npm.sh +51 -0
  32. package/cli/scripts/validate-package.js +116 -0
  33. package/cli/src/__tests__/commands/doctor.test.ts +97 -0
  34. package/cli/src/__tests__/index.test.ts +15 -0
  35. package/cli/src/cli-minimal.ts +44 -0
  36. package/cli/src/commands/__tests__/crawl.test.ts +412 -0
  37. package/cli/src/commands/__tests__/doctor-qa360-home.test.ts +156 -0
  38. package/cli/src/commands/__tests__/e2e-ui-tests.test.ts +494 -0
  39. package/cli/src/commands/__tests__/e2e.test.ts +187 -0
  40. package/cli/src/commands/__tests__/flakiness.test.ts +528 -0
  41. package/cli/src/commands/__tests__/generate.test.ts +507 -0
  42. package/cli/src/commands/__tests__/history.integration.test.ts +358 -0
  43. package/cli/src/commands/__tests__/history.test.ts +433 -0
  44. package/cli/src/commands/__tests__/monitor-realworld.test.ts +199 -0
  45. package/cli/src/commands/__tests__/monitor.test.ts +81 -0
  46. package/cli/src/commands/__tests__/ollama.test.ts +529 -0
  47. package/cli/src/commands/__tests__/repair.test.ts +225 -0
  48. package/cli/src/commands/__tests__/report.integration.test.ts +167 -0
  49. package/cli/src/commands/__tests__/report.test.ts +294 -0
  50. package/cli/src/commands/__tests__/report.vitest.ts +288 -0
  51. package/cli/src/commands/__tests__/retry.test.ts +78 -0
  52. package/cli/src/commands/__tests__/run.integration.test.ts +240 -0
  53. package/cli/src/commands/__tests__/run.test.ts +346 -0
  54. package/cli/src/commands/__tests__/run.vitest.ts +301 -0
  55. package/cli/src/commands/__tests__/secrets.test.ts +114 -0
  56. package/cli/src/commands/__tests__/serve.test.ts +80 -0
  57. package/cli/src/commands/__tests__/verify.test.ts +103 -0
  58. package/cli/src/commands/ai.ts +579 -0
  59. package/cli/src/commands/ask.ts +678 -0
  60. package/cli/src/commands/coverage.ts +305 -0
  61. package/cli/src/commands/crawl.ts +155 -0
  62. package/cli/src/commands/doctor.ts +610 -0
  63. package/cli/src/commands/examples.ts +248 -0
  64. package/cli/src/commands/explain.ts +710 -0
  65. package/cli/src/commands/flakiness.ts +560 -0
  66. package/cli/src/commands/generate.ts +566 -0
  67. package/cli/src/commands/history.ts +914 -0
  68. package/cli/src/commands/init.ts +763 -0
  69. package/cli/src/commands/monitor.ts +270 -0
  70. package/cli/src/commands/ollama.ts +337 -0
  71. package/cli/src/commands/pack.ts +497 -0
  72. package/cli/src/commands/regression.ts +400 -0
  73. package/cli/src/commands/repair.ts +356 -0
  74. package/cli/src/commands/report.ts +463 -0
  75. package/cli/src/commands/retry.ts +380 -0
  76. package/cli/src/commands/run.ts +218 -0
  77. package/cli/src/commands/scan.ts +177 -0
  78. package/cli/src/commands/secrets.ts +340 -0
  79. package/cli/src/commands/serve.ts +194 -0
  80. package/cli/src/commands/slo.ts +387 -0
  81. package/cli/src/commands/verify-temp-note.md +11 -0
  82. package/cli/src/commands/verify.ts +322 -0
  83. package/cli/src/generators/index.ts +6 -0
  84. package/cli/src/generators/json-reporter.ts +15 -0
  85. package/cli/src/generators/test-generator.ts +90 -0
  86. package/cli/src/index.ts +289 -0
  87. package/cli/src/scanners/dom-scanner.ts +360 -0
  88. package/cli/src/scanners/index.ts +5 -0
  89. package/cli/src/types/scan.ts +84 -0
  90. package/cli/src/utils/config.ts +145 -0
  91. package/cli/tsconfig.bundle.json +12 -0
  92. package/cli/tsconfig.json +23 -0
  93. package/cli/vitest.config.ts +57 -0
  94. package/core/LICENSE +24 -0
  95. package/core/README.md +64 -0
  96. package/core/package.json +81 -0
  97. package/core/src/__tests__/adapters-contract/adapters-contract.test.md +156 -0
  98. package/core/src/__tests__/index.test.ts +31 -0
  99. package/core/src/__tests__/integration/phase3.test.ts +405 -0
  100. package/core/src/__tests__/pack/validator.test.ts +312 -0
  101. package/core/src/__tests__/secrets/crypto.test.ts +190 -0
  102. package/core/src/__tests__/secrets/manager.test.ts +316 -0
  103. package/core/src/__tests__/security/redactor-phase3.test.ts +233 -0
  104. package/core/src/__tests__/serve/health-checker.test.ts +155 -0
  105. package/core/src/__tests__/serve/process-manager.test.ts +213 -0
  106. package/core/src/__tests__/serve/server.test.ts +103 -0
  107. package/core/src/__tests__/vault/cas.test.ts +178 -0
  108. package/core/src/__tests__/vault/vault.test.ts +296 -0
  109. package/core/src/adapters/__tests__/gitleaks-secrets.test.ts +452 -0
  110. package/core/src/adapters/__tests__/k6-perf.test.ts +538 -0
  111. package/core/src/adapters/__tests__/osv-deps.test.ts +471 -0
  112. package/core/src/adapters/__tests__/playwright-native-api.test.ts +792 -0
  113. package/core/src/adapters/__tests__/playwright-ui-e2e.test.ts +431 -0
  114. package/core/src/adapters/__tests__/playwright-ui.test.ts +1073 -0
  115. package/core/src/adapters/__tests__/semgrep-sast.test.ts +436 -0
  116. package/core/src/adapters/__tests__/zap-dast.test.ts +453 -0
  117. package/core/src/adapters/gitleaks-secrets.ts +521 -0
  118. package/core/src/adapters/k6-perf.ts +479 -0
  119. package/core/src/adapters/osv-deps.ts +467 -0
  120. package/core/src/adapters/playwright-native-adapter.ts +472 -0
  121. package/core/src/adapters/playwright-native-api.ts +619 -0
  122. package/core/src/adapters/playwright-ui.ts +1088 -0
  123. package/core/src/adapters/semgrep-sast.ts +410 -0
  124. package/core/src/adapters/zap-dast.ts +551 -0
  125. package/core/src/ai/__tests__/deepseek-provider.test.ts +586 -0
  126. package/core/src/ai/__tests__/ollama-provider.test.ts +641 -0
  127. package/core/src/ai/anthropic-provider.ts +248 -0
  128. package/core/src/ai/deepseek-provider.ts +301 -0
  129. package/core/src/ai/index.ts +87 -0
  130. package/core/src/ai/llm-client.ts +52 -0
  131. package/core/src/ai/mock-provider.ts +146 -0
  132. package/core/src/ai/ollama-provider.ts +255 -0
  133. package/core/src/ai/openai-provider.ts +226 -0
  134. package/core/src/ai/provider-factory.ts +408 -0
  135. package/core/src/artifacts/README.md +78 -0
  136. package/core/src/artifacts/index.ts +16 -0
  137. package/core/src/artifacts/ui-artifacts.ts +412 -0
  138. package/core/src/assertions/__tests__/engine.test.ts +360 -0
  139. package/core/src/assertions/engine.ts +577 -0
  140. package/core/src/assertions/index.ts +13 -0
  141. package/core/src/assertions/types.ts +229 -0
  142. package/core/src/auth/__tests__/api-key-provider.test.ts +282 -0
  143. package/core/src/auth/__tests__/auth-manager.test.ts +430 -0
  144. package/core/src/auth/__tests__/basic-auth-provider.test.ts +364 -0
  145. package/core/src/auth/__tests__/cloud-providers.test.ts +751 -0
  146. package/core/src/auth/__tests__/jwt-provider.test.ts +400 -0
  147. package/core/src/auth/__tests__/oauth2-provider.test.ts +383 -0
  148. package/core/src/auth/__tests__/totp-provider.test.ts +294 -0
  149. package/core/src/auth/__tests__/ui-login-provider.test.ts +323 -0
  150. package/core/src/auth/api-key-provider.ts +75 -0
  151. package/core/src/auth/aws-iam-provider.ts +212 -0
  152. package/core/src/auth/azure-ad-provider.ts +126 -0
  153. package/core/src/auth/basic-auth-provider.ts +133 -0
  154. package/core/src/auth/gcp-adc-provider.ts +146 -0
  155. package/core/src/auth/index.ts +342 -0
  156. package/core/src/auth/jwt-provider.ts +193 -0
  157. package/core/src/auth/manager.ts +281 -0
  158. package/core/src/auth/oauth2-provider.ts +141 -0
  159. package/core/src/auth/totp-provider.ts +163 -0
  160. package/core/src/auth/ui-login-provider.ts +242 -0
  161. package/core/src/cache/__tests__/lru-cache.test.ts +564 -0
  162. package/core/src/cache/index.ts +13 -0
  163. package/core/src/cache/lru-cache.ts +536 -0
  164. package/core/src/crawler/__tests__/journey-generator.test.ts +344 -0
  165. package/core/src/crawler/__tests__/selector-generator.test.ts +211 -0
  166. package/core/src/crawler/index.ts +335 -0
  167. package/core/src/crawler/journey-generator.ts +471 -0
  168. package/core/src/crawler/page-analyzer.ts +857 -0
  169. package/core/src/crawler/selector-generator.ts +280 -0
  170. package/core/src/crawler/types.ts +475 -0
  171. package/core/src/dashboard/__tests__/real-world.test.ts +430 -0
  172. package/core/src/dashboard/__tests__/server.test.ts +283 -0
  173. package/core/src/dashboard/__tests__/types.test.ts +208 -0
  174. package/core/src/dashboard/assets.ts +692 -0
  175. package/core/src/dashboard/index.ts +17 -0
  176. package/core/src/dashboard/server.ts +401 -0
  177. package/core/src/dashboard/types.ts +78 -0
  178. package/core/src/discoverer/__tests__/test-discoverer.test.ts +444 -0
  179. package/core/src/discoverer/index.ts +374 -0
  180. package/core/src/flakiness/__tests__/flakiness.test.ts +554 -0
  181. package/core/src/flakiness/index.ts +536 -0
  182. package/core/src/generation/__tests__/code-formatter.test.ts +170 -0
  183. package/core/src/generation/__tests__/code-generator-contract.test.ts +207 -0
  184. package/core/src/generation/__tests__/code-generator.test.ts +586 -0
  185. package/core/src/generation/__tests__/crawler-pack-generator.test.ts +479 -0
  186. package/core/src/generation/__tests__/generation-e2e-b2bshop.test.ts +718 -0
  187. package/core/src/generation/__tests__/generation-integration.test.ts +655 -0
  188. package/core/src/generation/__tests__/pack-generator.test.ts +408 -0
  189. package/core/src/generation/__tests__/prompt-builder.test.ts +200 -0
  190. package/core/src/generation/__tests__/real-provider-integration.test.ts +414 -0
  191. package/core/src/generation/__tests__/source-analyzer.test.ts +774 -0
  192. package/core/src/generation/__tests__/test-optimizer.test.ts +255 -0
  193. package/core/src/generation/code-formatter.ts +408 -0
  194. package/core/src/generation/code-generator.ts +470 -0
  195. package/core/src/generation/crawler-pack-generator.ts +289 -0
  196. package/core/src/generation/generator.ts +113 -0
  197. package/core/src/generation/index.ts +59 -0
  198. package/core/src/generation/pack-generator.ts +527 -0
  199. package/core/src/generation/prompt-builder.ts +772 -0
  200. package/core/src/generation/source-analyzer.ts +830 -0
  201. package/core/src/generation/test-optimizer.ts +474 -0
  202. package/core/src/generation/types.ts +217 -0
  203. package/core/src/hooks/__tests__/compose.test.ts +636 -0
  204. package/core/src/hooks/__tests__/runner.test.ts +478 -0
  205. package/core/src/hooks/compose.ts +268 -0
  206. package/core/src/hooks/runner.ts +364 -0
  207. package/core/src/index.ts +237 -0
  208. package/core/src/pack/__tests__/migrator.test.ts +594 -0
  209. package/core/src/pack/__tests__/validator.test.ts +759 -0
  210. package/core/src/pack/migrator.ts +353 -0
  211. package/core/src/pack/validator.ts +359 -0
  212. package/core/src/pack-v2/__tests__/loader.test.ts +533 -0
  213. package/core/src/pack-v2/__tests__/migrator.test.ts +455 -0
  214. package/core/src/pack-v2/__tests__/validator.test.ts +549 -0
  215. package/core/src/pack-v2/index.ts +41 -0
  216. package/core/src/pack-v2/loader.ts +321 -0
  217. package/core/src/pack-v2/migrator.ts +540 -0
  218. package/core/src/pack-v2/validator.ts +673 -0
  219. package/core/src/parallel/README.md +143 -0
  220. package/core/src/parallel/index.ts +16 -0
  221. package/core/src/parallel/parallel-runner.ts +282 -0
  222. package/core/src/proof/__tests__/proof-roundtrip.test.ts +149 -0
  223. package/core/src/proof/__tests__/schema-validation-manual.mjs +211 -0
  224. package/core/src/proof/__tests__/schema-validation.test.ts +336 -0
  225. package/core/src/proof/__tests__/signer.test.ts +486 -0
  226. package/core/src/proof/__tests__/temporal-regression.test.ts +537 -0
  227. package/core/src/proof/__tests__/verifier-advanced.test.ts +588 -0
  228. package/core/src/proof/__tests__/verifier.test.ts +413 -0
  229. package/core/src/proof/bundle.ts +290 -0
  230. package/core/src/proof/canonicalize.ts +116 -0
  231. package/core/src/proof/index.ts +74 -0
  232. package/core/src/proof/schema.ts +285 -0
  233. package/core/src/proof/signer.ts +293 -0
  234. package/core/src/proof/verifier.ts +380 -0
  235. package/core/src/regression/__tests__/detector.test.ts +396 -0
  236. package/core/src/regression/__tests__/trend-analyzer.test.ts +300 -0
  237. package/core/src/regression/detector.ts +629 -0
  238. package/core/src/regression/index.ts +34 -0
  239. package/core/src/regression/trend-analyzer.ts +468 -0
  240. package/core/src/regression/types.ts +295 -0
  241. package/core/src/regression/vault.ts +419 -0
  242. package/core/src/repair/__tests__/repairer.test.ts +572 -0
  243. package/core/src/repair/__tests__/types.test.ts +302 -0
  244. package/core/src/repair/engine/__tests__/fixer.test.ts +482 -0
  245. package/core/src/repair/engine/__tests__/suggestion-engine.test.ts +395 -0
  246. package/core/src/repair/engine/fixer.ts +271 -0
  247. package/core/src/repair/engine/suggestion-engine.ts +234 -0
  248. package/core/src/repair/index.ts +53 -0
  249. package/core/src/repair/repairer.ts +376 -0
  250. package/core/src/repair/types.ts +119 -0
  251. package/core/src/repair/utils/__tests__/error-analyzer.test.ts +454 -0
  252. package/core/src/repair/utils/error-analyzer.ts +308 -0
  253. package/core/src/reporting/README.md +144 -0
  254. package/core/src/reporting/html-reporter.ts +835 -0
  255. package/core/src/reporting/index.ts +16 -0
  256. package/core/src/retry/README.md +192 -0
  257. package/core/src/retry/__tests__/flakiness-integration.test.ts +475 -0
  258. package/core/src/retry/__tests__/retry-engine.test.ts +424 -0
  259. package/core/src/retry/flakiness-integration.ts +267 -0
  260. package/core/src/retry/index.ts +48 -0
  261. package/core/src/retry/retry-engine.ts +368 -0
  262. package/core/src/retry/types.ts +208 -0
  263. package/core/src/retry/vault.ts +413 -0
  264. package/core/src/runner/__tests__/flakiness-integration.test.ts +566 -0
  265. package/core/src/runner/__tests__/phase3-e2e-b2bshop.test.ts +218 -0
  266. package/core/src/runner/__tests__/phase3-e2e-reqres.test.ts +199 -0
  267. package/core/src/runner/__tests__/phase3-runner.test.ts +1118 -0
  268. package/core/src/runner/e2e-helpers.ts +216 -0
  269. package/core/src/runner/phase3-runner.ts +1236 -0
  270. package/core/src/schemas/gherkin-report.json +122 -0
  271. package/core/src/secrets/__tests__/crypto.test.ts +180 -0
  272. package/core/src/secrets/crypto.ts +289 -0
  273. package/core/src/secrets/manager.ts +272 -0
  274. package/core/src/security/__tests__/hardening.test.ts +480 -0
  275. package/core/src/security/redaction-patterns-extended.ts +278 -0
  276. package/core/src/security/redactor.ts +326 -0
  277. package/core/src/self-healing/assertion-healer.ts +485 -0
  278. package/core/src/self-healing/engine.ts +626 -0
  279. package/core/src/self-healing/index.ts +33 -0
  280. package/core/src/self-healing/selector-healer.ts +488 -0
  281. package/core/src/self-healing/types.ts +193 -0
  282. package/core/src/serve/diagnostics-collector.ts +201 -0
  283. package/core/src/serve/health-checker.ts +274 -0
  284. package/core/src/serve/index.ts +9 -0
  285. package/core/src/serve/metrics-collector.ts +386 -0
  286. package/core/src/serve/process-manager.ts +265 -0
  287. package/core/src/serve/server.ts +230 -0
  288. package/core/src/slo/config.ts +408 -0
  289. package/core/src/slo/index.ts +68 -0
  290. package/core/src/slo/sli-calculator.ts +474 -0
  291. package/core/src/slo/slo-tracker.ts +481 -0
  292. package/core/src/slo/types.ts +408 -0
  293. package/core/src/slo/vault.ts +600 -0
  294. package/core/src/tui/__tests__/monitor.test.ts +336 -0
  295. package/core/src/tui/__tests__/real-world.test.ts +376 -0
  296. package/core/src/tui/__tests__/renderer.test.ts +201 -0
  297. package/core/src/tui/__tests__/types.test.ts +295 -0
  298. package/core/src/tui/index.ts +19 -0
  299. package/core/src/tui/monitor.ts +331 -0
  300. package/core/src/tui/renderer.ts +269 -0
  301. package/core/src/tui/types.ts +68 -0
  302. package/core/src/types/pack-v1.ts +305 -0
  303. package/core/src/types/pack-v2.ts +491 -0
  304. package/core/src/types/trust-score.ts +258 -0
  305. package/core/src/vault/__tests__/flakiness-vault.test.ts +562 -0
  306. package/core/src/vault/__tests__/vault.test.ts +259 -0
  307. package/core/src/vault/cas.ts +323 -0
  308. package/core/src/vault/index.ts +1361 -0
  309. package/core/src/vault/schema.sql +168 -0
  310. package/core/src/visual/README.md +185 -0
  311. package/core/src/visual/index.ts +14 -0
  312. package/core/src/visual/visual-regression.ts +347 -0
  313. package/core/src/watch/__tests__/watch-mode.test.ts +192 -0
  314. package/core/src/watch/index.ts +14 -0
  315. package/core/src/watch/watch-mode.ts +565 -0
  316. package/core/tsconfig.json +12 -0
  317. package/core/vitest.config.ts +52 -0
  318. package/docs/ARCHITECTURE.md +901 -0
  319. package/docs/AUDIT-GLOBAL-DEC2025.md +271 -0
  320. package/docs/BETA_TESTING.md +257 -0
  321. package/docs/BETA_TESTING_PLAN.md +727 -0
  322. package/docs/CERTIFICATION-REPORT.md +142 -0
  323. package/docs/COMPLETE_AUDIT_REFACTORING.md +965 -0
  324. package/docs/DEVELOPMENT.md +331 -0
  325. package/docs/DEVELOPMENT_HISTORY.md +345 -0
  326. package/docs/LIMITATIONS.md +176 -0
  327. package/docs/MIGRATION.md +303 -0
  328. package/docs/OPTION_3_4_EXPLORATION.md +1257 -0
  329. package/docs/PHASE1_PERFORMANCE.md +144 -0
  330. package/docs/QA360_Cloud.postman_collection.json +89 -0
  331. package/docs/README.md +50 -0
  332. package/docs/STATUS.md +179 -0
  333. package/docs/STRATEGIC_STUDY_GOOSE_INTEGRATION.md +615 -0
  334. package/docs/USER_GUIDE.md +687 -0
  335. package/docs/WORK-DONE-ADAPTER-TESTS.md +136 -0
  336. package/docs/adapters-security.md +485 -0
  337. package/docs/architecture-diagram.mmd +168 -0
  338. package/docs/archive/ARCH-01-DAY6-BUILD-FIXES.md +396 -0
  339. package/docs/archive/ARCH-01-DAY6-FINAL-STATUS.md +324 -0
  340. package/docs/archive/ARCH-01_MCP_MERGE_ANALYSIS.md +644 -0
  341. package/docs/archive/ARCH-01_NEXT_STEPS.md +60 -0
  342. package/docs/archive/BRANCH_PROTECTION.md +183 -0
  343. package/docs/archive/CI_LOCKDOWN_CHECKLIST.md +222 -0
  344. package/docs/archive/HANDOFF_TEST-01.md +669 -0
  345. package/docs/archive/LEGAL_READY_PLACEHOLDERS.md +372 -0
  346. package/docs/archive/NODE_UPGRADE_GUIDE.md +188 -0
  347. package/docs/archive/PHASE1_COMPLETION.md +386 -0
  348. package/docs/archive/PHASE2_COMPLETION.md +404 -0
  349. package/docs/archive/PHASE3_AND_4_FINAL.md +360 -0
  350. package/docs/archive/PHASE3_COMPLETE.md +301 -0
  351. package/docs/archive/PHASE3_STATUS.md +255 -0
  352. package/docs/archive/PRE-WEEK2-AUDIT.md +364 -0
  353. package/docs/archive/README.md +33 -0
  354. package/docs/archive/SCHEMA_AJV_2020_FIX.md +245 -0
  355. package/docs/archive/TEST-01_AUDIT_REPORT.md +240 -0
  356. package/docs/archive/TEST-01_COVERAGE_PLAN.md +423 -0
  357. package/docs/budgets-advanced.md +308 -0
  358. package/docs/examples/history-export-gc.md +285 -0
  359. package/docs/examples/pack-v2-complete.yaml +158 -0
  360. package/docs/examples/pack-v2-quickstart.yaml +24 -0
  361. package/docs/examples/pack-v2-ui-login.yaml +81 -0
  362. package/docs/examples/qa360-report.json +50 -0
  363. package/docs/history.md +565 -0
  364. package/docs/hooks.md +304 -0
  365. package/docs/llm-providers.md +419 -0
  366. package/docs/mcp-server.md +651 -0
  367. package/docs/mcp-tools.md +1131 -0
  368. package/docs/pack-v1.md +383 -0
  369. package/docs/pack-v2.md +558 -0
  370. package/docs/proofs.md +670 -0
  371. package/docs/quickstart-5min.md +257 -0
  372. package/docs/readiness-ci.md +654 -0
  373. package/docs/rfc/README.md +20 -0
  374. package/docs/rfc/proof-bundle-v1.md +787 -0
  375. package/docs/secrets.md +392 -0
  376. package/docs/serve.md +494 -0
  377. package/docs/vault.md +491 -0
  378. package/e2e/qa360-e2e.test.ts +696 -0
  379. package/e2e/vitest.config.ts +18 -0
  380. package/examples/README.md +30 -140
  381. package/examples/ci/docker-compose-serve.yml +375 -0
  382. package/examples/ci/github-actions-serve.yml +345 -0
  383. package/examples/ci/gitlab-ci-serve.yml +407 -0
  384. package/examples/datasets/README.md +101 -0
  385. package/examples/datasets/b2bshop.ts +155 -0
  386. package/examples/datasets/index.ts +57 -0
  387. package/examples/datasets/reqres.ts +195 -0
  388. package/examples/future-api/README.md +16 -0
  389. package/examples/future-api/diag.js +7 -0
  390. package/examples/future-api/health.js +4 -0
  391. package/examples/future-api/packs.js +13 -0
  392. package/examples/future-api/runpack.js +10 -0
  393. package/examples/generation/README.md +148 -0
  394. package/examples/generation/pack-generator-example.js +115 -0
  395. package/examples/generation/source-analyzer-example.js +115 -0
  396. package/examples/httpbin/pack.yml +59 -0
  397. package/examples/load-testing/mcp-load.yml +115 -0
  398. package/examples/load-testing/mcp-stdio.yml +95 -0
  399. package/examples/mcp/claude-desktop-config.json +33 -0
  400. package/examples/mcp/claude-desktop.json +16 -0
  401. package/examples/mcp/conversation-sample.md +131 -0
  402. package/examples/mcp/demo-60s.md +330 -0
  403. package/examples/mcp/sample-conversation.jsonl +21 -0
  404. package/examples/mcp/vscode-settings.json +22 -0
  405. package/examples/pack-v2-complete.yml +242 -0
  406. package/examples/pack-v2-examples.md +244 -0
  407. package/examples/pack-v2-quickstart.yml +55 -0
  408. package/examples/packs-business/ecommerce-api.yml +121 -0
  409. package/examples/packs-business/saas-dashboard-ui.yml +133 -0
  410. package/examples/packs-conformance/compose-multi.yml +174 -0
  411. package/examples/packs-conformance/full.yml +152 -0
  412. package/examples/packs-conformance/heavy-artifacts.yml +152 -0
  413. package/examples/packs-conformance/minimal.yml +71 -0
  414. package/examples/packs-conformance/secrets-missing.yml +97 -0
  415. package/examples/packs-conformance/timeouts.yml +77 -0
  416. package/examples/proofs/e2e-playwright-proof.json +75 -0
  417. package/examples/proofs/httpbin-proof.json +69 -0
  418. package/examples/proofs/multi-adapter-proof.json +117 -0
  419. package/examples/proofs/test-proof.json +26 -0
  420. package/examples/restful-api-dev/README.md +102 -0
  421. package/examples/restful-api-dev/restful-api-advanced.yml +29 -0
  422. package/examples/restful-api-dev/restful-api-basic.yml +29 -0
  423. package/examples/web-lite/.github/workflows/qa360-phase3.yml +73 -0
  424. package/examples/web-lite/api-mock/server.js +258 -0
  425. package/examples/web-lite/pack.yml +71 -0
  426. package/examples/web-lite/services.yml +43 -0
  427. package/examples/web-lite/web-content/healthz +1 -0
  428. package/examples/web-lite/web-content/index.html +259 -0
  429. package/package.json +55 -45
  430. package/packages/mcp/CHANGELOG.md +109 -0
  431. package/packages/mcp/IMPLEMENTATION_SUMMARY.md +350 -0
  432. package/packages/mcp/LICENSE +21 -0
  433. package/packages/mcp/QUICK_START.md +291 -0
  434. package/packages/mcp/README.md +294 -0
  435. package/packages/mcp/TELEMETRY.md +220 -0
  436. package/packages/mcp/package.json +92 -0
  437. package/packages/mcp/scripts/generate-sbom-fallback.cjs +84 -0
  438. package/packages/mcp/scripts/safe-postinstall.cjs +32 -0
  439. package/packages/mcp/src/__tests__/contract.test.ts +902 -0
  440. package/packages/mcp/src/cli/cli.ts +137 -0
  441. package/packages/mcp/src/cli/doctor.ts +286 -0
  442. package/packages/mcp/src/cli/fix.ts +99 -0
  443. package/packages/mcp/src/cli/init.ts +233 -0
  444. package/packages/mcp/src/cli/postinstall.ts +14 -0
  445. package/packages/mcp/src/cli/reset.ts +44 -0
  446. package/packages/mcp/src/cli/telemetry.ts +166 -0
  447. package/packages/mcp/src/cli/test-dx.ts +94 -0
  448. package/packages/mcp/src/cli/uninstall.ts +80 -0
  449. package/packages/mcp/src/cli/up.ts +178 -0
  450. package/packages/mcp/src/index.ts +12 -0
  451. package/packages/mcp/src/scripts/e2e-local.ts +337 -0
  452. package/packages/mcp/src/scripts/verify-settings.ts +242 -0
  453. package/packages/mcp/src/security/audit.ts +244 -0
  454. package/packages/mcp/src/security/manager.ts +242 -0
  455. package/packages/mcp/src/server/full-server.ts +212 -0
  456. package/packages/mcp/src/server/minimal-server.ts +134 -0
  457. package/packages/mcp/src/tools/history.ts +388 -0
  458. package/packages/mcp/src/tools/pack.ts +449 -0
  459. package/packages/mcp/src/tools/registry.ts +638 -0
  460. package/packages/mcp/src/tools/report.ts +100 -0
  461. package/packages/mcp/src/tools/run.ts +268 -0
  462. package/packages/mcp/src/tools/secrets.ts +198 -0
  463. package/packages/mcp/src/tools/serve.ts +221 -0
  464. package/packages/mcp/src/tools/triage.ts +532 -0
  465. package/packages/mcp/src/tools/types.ts +26 -0
  466. package/packages/mcp/src/tools/vault.ts +164 -0
  467. package/packages/mcp/src/tools/verify.ts +166 -0
  468. package/packages/mcp/src/types/index.ts +311 -0
  469. package/packages/mcp/src/types/mcp-stubs.ts +83 -0
  470. package/packages/mcp/tsconfig.json +16 -0
  471. package/playwright.config.ts +20 -0
  472. package/pnpm-workspace.yaml +4 -0
  473. package/run-test-and-push.sh +20 -0
  474. package/scripts/build-proof-cli.sh +110 -0
  475. package/scripts/ci/check-windows-paths.js +92 -0
  476. package/scripts/ci/invariants.sh +124 -0
  477. package/scripts/ci/make-final-bundle.js +106 -0
  478. package/scripts/ci/mcp-run-multipack.js +305 -0
  479. package/scripts/ci/run-pack-suite.sh +103 -0
  480. package/scripts/ci/run-phase7-final.sh +190 -0
  481. package/scripts/ci/slo-assert.js +158 -0
  482. package/scripts/ci/test-fault-tolerance.sh +301 -0
  483. package/scripts/install-mcp.sh +66 -0
  484. package/scripts/mcp-smoke.mjs +27 -0
  485. package/scripts/smoke.sh +26 -0
  486. package/scripts/stress-test.js +288 -0
  487. package/scripts/validate-examples.mjs +404 -0
  488. package/scripts/validation/simple-pack-check.sh +51 -0
  489. package/scripts/validation/validate-universal-pack.mjs +77 -0
  490. package/scripts/verify-persistence.js +127 -0
  491. package/test-pack.yaml +43 -0
  492. package/test-results/.last-run.json +4 -0
  493. package/test-runner.mjs +87 -0
  494. package/tests/artifacts.spec.js +147 -0
  495. package/tests/contracts.spec.js +239 -0
  496. package/tests/e2e/assertions.test.mjs +370 -0
  497. package/tests/e2e/crawler.test.mjs +451 -0
  498. package/tests/e2e/playwright-plus-plus.test.mjs +604 -0
  499. package/tests/e2e/proof-bundle.test.mjs +258 -0
  500. package/tests/e2e/real-world/saucedemo.test.mjs +714 -0
  501. package/tests/e2e/real-world/the-internet-herokuapp.test.mjs +760 -0
  502. package/tests/e2e/ui-actions.test.mjs +546 -0
  503. package/tests/gherkin.e2e.spec.ts +310 -0
  504. package/tests/no-console-errors.spec.js +136 -0
  505. package/tests/pdf.spec.ts +252 -0
  506. package/tests/run-pack.spec.ts +58 -0
  507. package/tsconfig.base.json +15 -0
  508. package/tsconfig.build.json +8 -0
  509. package/tsconfig.json +37 -0
  510. package/tsconfig.test.json +18 -0
  511. package/typedoc.json +37 -0
  512. package/ui/README.md +51 -0
  513. package/verify-proof.mjs +60 -0
  514. package/dist/cli-minimal.d.ts +0 -6
  515. package/dist/cli-minimal.js +0 -36
  516. package/dist/commands/ai.d.ts +0 -41
  517. package/dist/commands/ai.js +0 -511
  518. package/dist/commands/ask.d.ts +0 -94
  519. package/dist/commands/ask.js +0 -582
  520. package/dist/commands/coverage.d.ts +0 -8
  521. package/dist/commands/coverage.js +0 -252
  522. package/dist/commands/crawl.d.ts +0 -24
  523. package/dist/commands/crawl.js +0 -121
  524. package/dist/commands/doctor.d.ts +0 -54
  525. package/dist/commands/doctor.js +0 -513
  526. package/dist/commands/examples.d.ts +0 -33
  527. package/dist/commands/examples.js +0 -193
  528. package/dist/commands/explain.d.ts +0 -27
  529. package/dist/commands/explain.js +0 -630
  530. package/dist/commands/flakiness.d.ts +0 -73
  531. package/dist/commands/flakiness.js +0 -435
  532. package/dist/commands/generate.d.ts +0 -66
  533. package/dist/commands/generate.js +0 -438
  534. package/dist/commands/history.d.ts +0 -76
  535. package/dist/commands/history.js +0 -757
  536. package/dist/commands/init.d.ts +0 -106
  537. package/dist/commands/init.js +0 -599
  538. package/dist/commands/monitor.d.ts +0 -27
  539. package/dist/commands/monitor.js +0 -225
  540. package/dist/commands/ollama.d.ts +0 -40
  541. package/dist/commands/ollama.js +0 -301
  542. package/dist/commands/pack.d.ts +0 -70
  543. package/dist/commands/pack.js +0 -413
  544. package/dist/commands/regression.d.ts +0 -8
  545. package/dist/commands/regression.js +0 -340
  546. package/dist/commands/repair.d.ts +0 -26
  547. package/dist/commands/repair.js +0 -307
  548. package/dist/commands/report.d.ts +0 -62
  549. package/dist/commands/report.js +0 -378
  550. package/dist/commands/retry.d.ts +0 -43
  551. package/dist/commands/retry.js +0 -275
  552. package/dist/commands/run.d.ts +0 -41
  553. package/dist/commands/run.js +0 -169
  554. package/dist/commands/scan.d.ts +0 -5
  555. package/dist/commands/scan.js +0 -155
  556. package/dist/commands/secrets.d.ts +0 -58
  557. package/dist/commands/secrets.js +0 -289
  558. package/dist/commands/serve.d.ts +0 -13
  559. package/dist/commands/serve.js +0 -156
  560. package/dist/commands/slo.d.ts +0 -8
  561. package/dist/commands/slo.js +0 -327
  562. package/dist/commands/verify.d.ts +0 -32
  563. package/dist/commands/verify.js +0 -278
  564. package/dist/core/adapters/gitleaks-secrets.d.ts +0 -114
  565. package/dist/core/adapters/gitleaks-secrets.js +0 -410
  566. package/dist/core/adapters/k6-perf.d.ts +0 -85
  567. package/dist/core/adapters/k6-perf.js +0 -398
  568. package/dist/core/adapters/osv-deps.d.ts +0 -123
  569. package/dist/core/adapters/osv-deps.js +0 -372
  570. package/dist/core/adapters/playwright-native-adapter.d.ts +0 -121
  571. package/dist/core/adapters/playwright-native-adapter.js +0 -339
  572. package/dist/core/adapters/playwright-native-api.d.ts +0 -183
  573. package/dist/core/adapters/playwright-native-api.js +0 -461
  574. package/dist/core/adapters/playwright-ui.d.ts +0 -197
  575. package/dist/core/adapters/playwright-ui.js +0 -840
  576. package/dist/core/adapters/semgrep-sast.d.ts +0 -99
  577. package/dist/core/adapters/semgrep-sast.js +0 -322
  578. package/dist/core/adapters/zap-dast.d.ts +0 -133
  579. package/dist/core/adapters/zap-dast.js +0 -424
  580. package/dist/core/ai/anthropic-provider.d.ts +0 -50
  581. package/dist/core/ai/anthropic-provider.js +0 -211
  582. package/dist/core/ai/deepseek-provider.d.ts +0 -81
  583. package/dist/core/ai/deepseek-provider.js +0 -254
  584. package/dist/core/ai/index.d.ts +0 -60
  585. package/dist/core/ai/index.js +0 -18
  586. package/dist/core/ai/llm-client.d.ts +0 -45
  587. package/dist/core/ai/llm-client.js +0 -7
  588. package/dist/core/ai/mock-provider.d.ts +0 -49
  589. package/dist/core/ai/mock-provider.js +0 -121
  590. package/dist/core/ai/ollama-provider.d.ts +0 -78
  591. package/dist/core/ai/ollama-provider.js +0 -192
  592. package/dist/core/ai/openai-provider.d.ts +0 -48
  593. package/dist/core/ai/openai-provider.js +0 -188
  594. package/dist/core/ai/provider-factory.d.ts +0 -160
  595. package/dist/core/ai/provider-factory.js +0 -269
  596. package/dist/core/artifacts/index.d.ts +0 -6
  597. package/dist/core/artifacts/index.js +0 -6
  598. package/dist/core/artifacts/ui-artifacts.d.ts +0 -133
  599. package/dist/core/artifacts/ui-artifacts.js +0 -304
  600. package/dist/core/assertions/engine.d.ts +0 -51
  601. package/dist/core/assertions/engine.js +0 -530
  602. package/dist/core/assertions/index.d.ts +0 -11
  603. package/dist/core/assertions/index.js +0 -11
  604. package/dist/core/assertions/types.d.ts +0 -121
  605. package/dist/core/assertions/types.js +0 -37
  606. package/dist/core/auth/api-key-provider.d.ts +0 -16
  607. package/dist/core/auth/api-key-provider.js +0 -63
  608. package/dist/core/auth/aws-iam-provider.d.ts +0 -35
  609. package/dist/core/auth/aws-iam-provider.js +0 -177
  610. package/dist/core/auth/azure-ad-provider.d.ts +0 -15
  611. package/dist/core/auth/azure-ad-provider.js +0 -99
  612. package/dist/core/auth/basic-auth-provider.d.ts +0 -26
  613. package/dist/core/auth/basic-auth-provider.js +0 -111
  614. package/dist/core/auth/gcp-adc-provider.d.ts +0 -27
  615. package/dist/core/auth/gcp-adc-provider.js +0 -126
  616. package/dist/core/auth/index.d.ts +0 -238
  617. package/dist/core/auth/index.js +0 -82
  618. package/dist/core/auth/jwt-provider.d.ts +0 -19
  619. package/dist/core/auth/jwt-provider.js +0 -160
  620. package/dist/core/auth/manager.d.ts +0 -84
  621. package/dist/core/auth/manager.js +0 -230
  622. package/dist/core/auth/oauth2-provider.d.ts +0 -17
  623. package/dist/core/auth/oauth2-provider.js +0 -114
  624. package/dist/core/auth/totp-provider.d.ts +0 -31
  625. package/dist/core/auth/totp-provider.js +0 -134
  626. package/dist/core/auth/ui-login-provider.d.ts +0 -26
  627. package/dist/core/auth/ui-login-provider.js +0 -198
  628. package/dist/core/cache/index.d.ts +0 -7
  629. package/dist/core/cache/index.js +0 -6
  630. package/dist/core/cache/lru-cache.d.ts +0 -203
  631. package/dist/core/cache/lru-cache.js +0 -397
  632. package/dist/core/core/coverage/analyzer.d.ts +0 -101
  633. package/dist/core/core/coverage/analyzer.js +0 -415
  634. package/dist/core/core/coverage/collector.d.ts +0 -74
  635. package/dist/core/core/coverage/collector.js +0 -459
  636. package/dist/core/core/coverage/config.d.ts +0 -37
  637. package/dist/core/core/coverage/config.js +0 -156
  638. package/dist/core/core/coverage/index.d.ts +0 -11
  639. package/dist/core/core/coverage/index.js +0 -15
  640. package/dist/core/core/coverage/types.d.ts +0 -267
  641. package/dist/core/core/coverage/types.js +0 -6
  642. package/dist/core/core/coverage/vault.d.ts +0 -95
  643. package/dist/core/core/coverage/vault.js +0 -405
  644. package/dist/core/coverage/analyzer.d.ts +0 -101
  645. package/dist/core/coverage/analyzer.js +0 -415
  646. package/dist/core/coverage/collector.d.ts +0 -74
  647. package/dist/core/coverage/collector.js +0 -459
  648. package/dist/core/coverage/config.d.ts +0 -37
  649. package/dist/core/coverage/config.js +0 -156
  650. package/dist/core/coverage/index.d.ts +0 -11
  651. package/dist/core/coverage/index.js +0 -15
  652. package/dist/core/coverage/types.d.ts +0 -267
  653. package/dist/core/coverage/types.js +0 -6
  654. package/dist/core/coverage/vault.d.ts +0 -95
  655. package/dist/core/coverage/vault.js +0 -405
  656. package/dist/core/crawler/index.d.ts +0 -57
  657. package/dist/core/crawler/index.js +0 -281
  658. package/dist/core/crawler/journey-generator.d.ts +0 -49
  659. package/dist/core/crawler/journey-generator.js +0 -412
  660. package/dist/core/crawler/page-analyzer.d.ts +0 -88
  661. package/dist/core/crawler/page-analyzer.js +0 -709
  662. package/dist/core/crawler/selector-generator.d.ts +0 -34
  663. package/dist/core/crawler/selector-generator.js +0 -240
  664. package/dist/core/crawler/types.d.ts +0 -353
  665. package/dist/core/crawler/types.js +0 -6
  666. package/dist/core/dashboard/assets.d.ts +0 -6
  667. package/dist/core/dashboard/assets.js +0 -690
  668. package/dist/core/dashboard/index.d.ts +0 -6
  669. package/dist/core/dashboard/index.js +0 -5
  670. package/dist/core/dashboard/server.d.ts +0 -72
  671. package/dist/core/dashboard/server.js +0 -354
  672. package/dist/core/dashboard/types.d.ts +0 -70
  673. package/dist/core/dashboard/types.js +0 -5
  674. package/dist/core/discoverer/index.d.ts +0 -115
  675. package/dist/core/discoverer/index.js +0 -250
  676. package/dist/core/flakiness/index.d.ts +0 -228
  677. package/dist/core/flakiness/index.js +0 -384
  678. package/dist/core/generation/code-formatter.d.ts +0 -111
  679. package/dist/core/generation/code-formatter.js +0 -307
  680. package/dist/core/generation/code-generator.d.ts +0 -144
  681. package/dist/core/generation/code-generator.js +0 -293
  682. package/dist/core/generation/crawler-pack-generator.d.ts +0 -44
  683. package/dist/core/generation/crawler-pack-generator.js +0 -231
  684. package/dist/core/generation/generator.d.ts +0 -40
  685. package/dist/core/generation/generator.js +0 -76
  686. package/dist/core/generation/index.d.ts +0 -32
  687. package/dist/core/generation/index.js +0 -30
  688. package/dist/core/generation/pack-generator.d.ts +0 -107
  689. package/dist/core/generation/pack-generator.js +0 -416
  690. package/dist/core/generation/prompt-builder.d.ts +0 -132
  691. package/dist/core/generation/prompt-builder.js +0 -672
  692. package/dist/core/generation/source-analyzer.d.ts +0 -213
  693. package/dist/core/generation/source-analyzer.js +0 -657
  694. package/dist/core/generation/test-optimizer.d.ts +0 -117
  695. package/dist/core/generation/test-optimizer.js +0 -328
  696. package/dist/core/generation/types.d.ts +0 -214
  697. package/dist/core/generation/types.js +0 -4
  698. package/dist/core/hooks/compose.d.ts +0 -61
  699. package/dist/core/hooks/compose.js +0 -225
  700. package/dist/core/hooks/runner.d.ts +0 -68
  701. package/dist/core/hooks/runner.js +0 -303
  702. package/dist/core/index.d.ts +0 -104
  703. package/dist/core/index.js +0 -91
  704. package/dist/core/pack/migrator.d.ts +0 -51
  705. package/dist/core/pack/migrator.js +0 -304
  706. package/dist/core/pack/validator.d.ts +0 -42
  707. package/dist/core/pack/validator.js +0 -322
  708. package/dist/core/pack-v2/index.d.ts +0 -9
  709. package/dist/core/pack-v2/index.js +0 -8
  710. package/dist/core/pack-v2/loader.d.ts +0 -62
  711. package/dist/core/pack-v2/loader.js +0 -259
  712. package/dist/core/pack-v2/migrator.d.ts +0 -61
  713. package/dist/core/pack-v2/migrator.js +0 -480
  714. package/dist/core/pack-v2/validator.d.ts +0 -61
  715. package/dist/core/pack-v2/validator.js +0 -577
  716. package/dist/core/parallel/index.d.ts +0 -6
  717. package/dist/core/parallel/index.js +0 -6
  718. package/dist/core/parallel/parallel-runner.d.ts +0 -107
  719. package/dist/core/parallel/parallel-runner.js +0 -192
  720. package/dist/core/proof/bundle.d.ts +0 -137
  721. package/dist/core/proof/bundle.js +0 -160
  722. package/dist/core/proof/canonicalize.d.ts +0 -47
  723. package/dist/core/proof/canonicalize.js +0 -105
  724. package/dist/core/proof/index.d.ts +0 -13
  725. package/dist/core/proof/index.js +0 -18
  726. package/dist/core/proof/schema.d.ts +0 -217
  727. package/dist/core/proof/schema.js +0 -263
  728. package/dist/core/proof/signer.d.ts +0 -111
  729. package/dist/core/proof/signer.js +0 -226
  730. package/dist/core/proof/verifier.d.ts +0 -97
  731. package/dist/core/proof/verifier.js +0 -308
  732. package/dist/core/regression/detector.d.ts +0 -107
  733. package/dist/core/regression/detector.js +0 -497
  734. package/dist/core/regression/index.d.ts +0 -9
  735. package/dist/core/regression/index.js +0 -11
  736. package/dist/core/regression/trend-analyzer.d.ts +0 -102
  737. package/dist/core/regression/trend-analyzer.js +0 -345
  738. package/dist/core/regression/types.d.ts +0 -222
  739. package/dist/core/regression/types.js +0 -7
  740. package/dist/core/regression/vault.d.ts +0 -87
  741. package/dist/core/regression/vault.js +0 -289
  742. package/dist/core/repair/engine/fixer.d.ts +0 -24
  743. package/dist/core/repair/engine/fixer.js +0 -226
  744. package/dist/core/repair/engine/suggestion-engine.d.ts +0 -18
  745. package/dist/core/repair/engine/suggestion-engine.js +0 -187
  746. package/dist/core/repair/index.d.ts +0 -10
  747. package/dist/core/repair/index.js +0 -13
  748. package/dist/core/repair/repairer.d.ts +0 -90
  749. package/dist/core/repair/repairer.js +0 -284
  750. package/dist/core/repair/types.d.ts +0 -91
  751. package/dist/core/repair/types.js +0 -6
  752. package/dist/core/repair/utils/error-analyzer.d.ts +0 -28
  753. package/dist/core/repair/utils/error-analyzer.js +0 -264
  754. package/dist/core/reporting/html-reporter.d.ts +0 -119
  755. package/dist/core/reporting/html-reporter.js +0 -737
  756. package/dist/core/reporting/index.d.ts +0 -6
  757. package/dist/core/reporting/index.js +0 -6
  758. package/dist/core/retry/flakiness-integration.d.ts +0 -60
  759. package/dist/core/retry/flakiness-integration.js +0 -228
  760. package/dist/core/retry/index.d.ts +0 -14
  761. package/dist/core/retry/index.js +0 -16
  762. package/dist/core/retry/retry-engine.d.ts +0 -80
  763. package/dist/core/retry/retry-engine.js +0 -296
  764. package/dist/core/retry/types.d.ts +0 -178
  765. package/dist/core/retry/types.js +0 -52
  766. package/dist/core/retry/vault.d.ts +0 -77
  767. package/dist/core/retry/vault.js +0 -304
  768. package/dist/core/runner/e2e-helpers.d.ts +0 -102
  769. package/dist/core/runner/e2e-helpers.js +0 -153
  770. package/dist/core/runner/phase3-runner.d.ts +0 -200
  771. package/dist/core/runner/phase3-runner.js +0 -1039
  772. package/dist/core/secrets/crypto.d.ts +0 -75
  773. package/dist/core/secrets/crypto.js +0 -223
  774. package/dist/core/secrets/manager.d.ts +0 -76
  775. package/dist/core/secrets/manager.js +0 -219
  776. package/dist/core/security/redaction-patterns-extended.d.ts +0 -27
  777. package/dist/core/security/redaction-patterns-extended.js +0 -247
  778. package/dist/core/security/redactor.d.ts +0 -71
  779. package/dist/core/security/redactor.js +0 -279
  780. package/dist/core/self-healing/assertion-healer.d.ts +0 -97
  781. package/dist/core/self-healing/assertion-healer.js +0 -371
  782. package/dist/core/self-healing/engine.d.ts +0 -122
  783. package/dist/core/self-healing/engine.js +0 -538
  784. package/dist/core/self-healing/index.d.ts +0 -10
  785. package/dist/core/self-healing/index.js +0 -11
  786. package/dist/core/self-healing/selector-healer.d.ts +0 -103
  787. package/dist/core/self-healing/selector-healer.js +0 -372
  788. package/dist/core/self-healing/types.d.ts +0 -152
  789. package/dist/core/self-healing/types.js +0 -6
  790. package/dist/core/serve/diagnostics-collector.d.ts +0 -32
  791. package/dist/core/serve/diagnostics-collector.js +0 -149
  792. package/dist/core/serve/health-checker.d.ts +0 -44
  793. package/dist/core/serve/health-checker.js +0 -219
  794. package/dist/core/serve/index.d.ts +0 -8
  795. package/dist/core/serve/index.js +0 -8
  796. package/dist/core/serve/metrics-collector.d.ts +0 -24
  797. package/dist/core/serve/metrics-collector.js +0 -322
  798. package/dist/core/serve/process-manager.d.ts +0 -36
  799. package/dist/core/serve/process-manager.js +0 -213
  800. package/dist/core/serve/server.d.ts +0 -36
  801. package/dist/core/serve/server.js +0 -191
  802. package/dist/core/slo/config.d.ts +0 -107
  803. package/dist/core/slo/config.js +0 -360
  804. package/dist/core/slo/index.d.ts +0 -11
  805. package/dist/core/slo/index.js +0 -15
  806. package/dist/core/slo/sli-calculator.d.ts +0 -92
  807. package/dist/core/slo/sli-calculator.js +0 -364
  808. package/dist/core/slo/slo-tracker.d.ts +0 -148
  809. package/dist/core/slo/slo-tracker.js +0 -379
  810. package/dist/core/slo/types.d.ts +0 -281
  811. package/dist/core/slo/types.js +0 -7
  812. package/dist/core/slo/vault.d.ts +0 -102
  813. package/dist/core/slo/vault.js +0 -427
  814. package/dist/core/tui/index.d.ts +0 -7
  815. package/dist/core/tui/index.js +0 -6
  816. package/dist/core/tui/monitor.d.ts +0 -92
  817. package/dist/core/tui/monitor.js +0 -271
  818. package/dist/core/tui/renderer.d.ts +0 -33
  819. package/dist/core/tui/renderer.js +0 -218
  820. package/dist/core/tui/types.d.ts +0 -63
  821. package/dist/core/tui/types.js +0 -5
  822. package/dist/core/types/pack-v1.d.ts +0 -251
  823. package/dist/core/types/pack-v1.js +0 -5
  824. package/dist/core/types/pack-v2.d.ts +0 -425
  825. package/dist/core/types/pack-v2.js +0 -8
  826. package/dist/core/types/trust-score.d.ts +0 -69
  827. package/dist/core/types/trust-score.js +0 -191
  828. package/dist/core/vault/cas.d.ts +0 -90
  829. package/dist/core/vault/cas.js +0 -261
  830. package/dist/core/vault/index.d.ts +0 -326
  831. package/dist/core/vault/index.js +0 -1042
  832. package/dist/core/visual/index.d.ts +0 -6
  833. package/dist/core/visual/index.js +0 -6
  834. package/dist/core/visual/visual-regression.d.ts +0 -113
  835. package/dist/core/visual/visual-regression.js +0 -236
  836. package/dist/core/watch/index.d.ts +0 -7
  837. package/dist/core/watch/index.js +0 -6
  838. package/dist/core/watch/watch-mode.d.ts +0 -213
  839. package/dist/core/watch/watch-mode.js +0 -389
  840. package/dist/generators/index.d.ts +0 -5
  841. package/dist/generators/index.js +0 -5
  842. package/dist/generators/json-reporter.d.ts +0 -10
  843. package/dist/generators/json-reporter.js +0 -12
  844. package/dist/generators/test-generator.d.ts +0 -18
  845. package/dist/generators/test-generator.js +0 -78
  846. package/dist/index.d.ts +0 -8
  847. package/dist/index.js +0 -246
  848. package/dist/scanners/dom-scanner.d.ts +0 -52
  849. package/dist/scanners/dom-scanner.js +0 -296
  850. package/dist/scanners/index.d.ts +0 -4
  851. package/dist/scanners/index.js +0 -4
  852. package/dist/schemas/pack.schema.json +0 -236
  853. package/dist/types/scan.d.ts +0 -68
  854. package/dist/types/scan.js +0 -4
  855. package/dist/utils/config.d.ts +0 -5
  856. package/dist/utils/config.js +0 -136
  857. /package/{bin → cli/bin}/qa360.js +0 -0
  858. /package/{examples → cli/examples}/accessibility.yml +0 -0
  859. /package/{examples → cli/examples}/api-basic.yml +0 -0
  860. /package/{examples → cli/examples}/complete.yml +0 -0
  861. /package/{examples → cli/examples}/crawler.yml +0 -0
  862. /package/{examples → cli/examples}/fullstack.yml +0 -0
  863. /package/{examples → cli/examples}/security.yml +0 -0
  864. /package/{examples → cli/examples}/ui-advanced.yml +0 -0
  865. /package/{examples → cli/examples}/ui-basic.yml +0 -0
  866. /package/{dist/core → core}/schemas/pack.schema.json +0 -0
@@ -0,0 +1,965 @@
1
+ # QA360 - Audit Complet & Plan de Refactorisation
2
+
3
+ **Date** : 31 Décembre 2024
4
+ **Version** : 2.0 (Architecture Ollama + Auth)
5
+ **Statut** : Proposition de refonte
6
+
7
+ ---
8
+
9
+ ## Résumé Exécutif
10
+
11
+ QA360 doit évoluer d'un orchestrateur de tests avec templates vers une plateforme AI-native avec génération de code. Ce audit identifie ce qui doit être **gardé**, **refactorisé**, ou **supprimé**.
12
+
13
+ ```
14
+ ┌─────────────────────────────────────────────────────────────────────────┐
15
+ │ Architecture Future QA360 │
16
+ ├─────────────────────────────────────────────────────────────────────────┤
17
+ │ │
18
+ │ ┌────────────────────────────────────────────────────────────────────┐ │
19
+ │ │ Ollama AI Layer │ │
20
+ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │
21
+ │ │ │ Code │ │ Test │ │ Smart │ │ Chat │ │ │
22
+ │ │ │ Generator │ │ Optimizer │ │ Triage │ │ Assistant │ │ │
23
+ │ │ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ │ │
24
+ │ └────────────────────────────────────────────────────────────────────┘ │
25
+ │ ↓ │
26
+ │ ┌────────────────────────────────────────────────────────────────────┐ │
27
+ │ │ Auth Module (NOUVEAU) │ │
28
+ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │
29
+ │ │ │ JWT/OAuth2 │ │ Cloud ADC │ │ TOTP │ │ UI Login │ │ │
30
+ │ │ │ Manager │ │ Manager │ │ Manager │ │ Manager │ │ │
31
+ │ │ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ │ │
32
+ │ └────────────────────────────────────────────────────────────────────┘ │
33
+ │ ↓ │
34
+ │ ┌────────────────────────────────────────────────────────────────────┐ │
35
+ │ │ Core (Conservé) │ │
36
+ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │
37
+ │ │ │ Proof │ │ Evidence │ │ Pack │ │ │
38
+ │ │ │ System │ │ Vault │ │ Validator │ │ │
39
+ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │
40
+ │ └────────────────────────────────────────────────────────────────────┘ │
41
+ │ ↓ │
42
+ │ ┌────────────────────────────────────────────────────────────────────┐ │
43
+ │ │ Adapters (Refactorisés) │ │
44
+ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │
45
+ │ │ │ Playwright │ │ K6 │ │ Semgrep │ │ Zap │ │ │
46
+ │ │ │ (API+UI) │ │ (Perf) │ │ (SAST) │ │ (DAST) │ │ │
47
+ │ │ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ │ │
48
+ │ └────────────────────────────────────────────────────────────────────┘ │
49
+ │ ↓ │
50
+ │ ┌────────────────────────────────────────────────────────────────────┐ │
51
+ │ │ CLI (Nouvelles commandes) │ │
52
+ │ │ run | verify | generate | ollama | chat | analyze │ │
53
+ │ └────────────────────────────────────────────────────────────────────┘ │
54
+ │ │
55
+ └─────────────────────────────────────────────────────────────────────────┘
56
+ ```
57
+
58
+ ---
59
+
60
+ ## Table des Matières
61
+
62
+ 1. [Audit CLI](#1-audit-cli)
63
+ 2. [Audit Core](#2-audit-core)
64
+ 3. [Audit MCP Server](#3-audit-mcp-server)
65
+ 4. [Nouveaux Modules](#4-nouveaux-modules)
66
+ 5. [Plan de Refactorisation](#5-plan-de-refactorisation)
67
+ 6. [Nouvelle Structure de Projet](#6-nouvelle-structure)
68
+
69
+ ---
70
+
71
+ ## 1. Audit CLI
72
+
73
+ ### 1.1 Commandes Actuelles
74
+
75
+ | Commande | Fichier | Action | Priorité |
76
+ |----------|---------|--------|----------|
77
+ | **run** | `commands/run.ts` | ✅ GARDER | Core |
78
+ | **verify** | `commands/verify.ts` | ✅ GARDER | Core |
79
+ | **doctor** | `commands/doctor.ts` | ✅ GARDER | Core |
80
+ | **init** | `commands/init.ts` | ✅ GARDER | Core |
81
+ | **examples** | `commands/examples.ts` | ✅ GARDER | Utility |
82
+ | **history** | `commands/history.ts` | ✅ GARDER | Utility |
83
+ | **report** | `commands/report.ts` | 🔧 REFACTOR | Medium |
84
+ | **ask** | `commands/ask.ts` | 🔄 RÉÉCRIRE | **HIGH** |
85
+ | **serve** | `commands/serve.ts` | ❌ SUPPRIMER | Low |
86
+ | **pack** | `commands/pack.ts` | ✅ GARDER | Utility |
87
+ | **secrets** | `commands/secrets.ts` | 🔧 REFACTOR | High |
88
+ | **proof** | `commands/proof.ts` | ✅ GARDER | Core |
89
+
90
+ ### 1.2 Nouvelles Commandes
91
+
92
+ | Commande | Description | Priorité |
93
+ |----------|-------------|----------|
94
+ | **generate** | Génère des tests avec Ollama | **CRITICAL** |
95
+ | **ollama** | Gère la connexion Ollama | **HIGH** |
96
+ | **chat** | Assistant conversationnel | Medium |
97
+ | **analyze** | Analyse les résultats avec IA | Medium |
98
+ | **auth** | Gère les configurations d'auth | **HIGH** |
99
+
100
+ ### 1.3 Changements CLI
101
+
102
+ ```typescript
103
+ // cli/src/index.ts - Nouvelle structure
104
+
105
+ import { Command } from 'commander';
106
+
107
+ // Core (inchangées)
108
+ program.addCommand(runCommand);
109
+ program.addCommand(verifyCommand);
110
+ program.addCommand(doctorCommand);
111
+ program.addCommand(initCommand);
112
+
113
+ // IA (nouvelles)
114
+ program.addCommand(generateCommand); // ← NOUVEAU
115
+ program.addCommand(ollamaCommand); // ← NOUVEAU
116
+ program.addCommand(chatCommand); // ← NOUVEAU
117
+ program.addCommand(analyzeCommand); // ← NOUVEAU
118
+
119
+ // Auth (nouveau)
120
+ program.addCommand(authCommand); // ← NOUVEAU
121
+
122
+ // Utilities (refactorisées)
123
+ program.addCommand(historyCommand); // Améliorer
124
+ program.addCommand(secretsCommand); // Intégrer avec Auth
125
+ program.addCommand(packCommand); // Mettre à jour pour v2
126
+
127
+ // Supprimés
128
+ // - serveCommand (serveur obsolète)
129
+ ```
130
+
131
+ ---
132
+
133
+ ## 2. Audit Core
134
+
135
+ ### 2.1 Modules à Garder (Intacts)
136
+
137
+ ```
138
+ core/src/
139
+ ├── proof/ ✅ GARDER - Coeur de la valeur
140
+ │ ├── signer.ts Signatures Ed25519
141
+ │ ├── verifier.ts Vérification
142
+ │ ├── canonicalize.ts Canonicalisation JSON
143
+ │ └── bundle.ts Preuves
144
+
145
+ ├── vault/ ✅ GARDER - Stockage immuable
146
+ │ ├── index.ts Opérations Vault
147
+ │ └── cas.ts Content-addressable storage
148
+
149
+ ├── security/ ✅ GARDER
150
+ │ └── redactor.ts Masquage des secrets
151
+
152
+ ├── pack/ 🔧 METTRE À JOUR pour v2
153
+ │ ├── validator.ts Ajouter support v2
154
+ │ └── migrator.ts Migration v1 → v2
155
+
156
+ └── types/ 🔧 METTRE À JOUR
157
+ └── pack-v1.ts Ajouter pack-v2.ts
158
+ ```
159
+
160
+ ### 2.2 Modules à Refactoriser
161
+
162
+ ```
163
+ core/src/
164
+ ├── runner/ 🔧 REFACTOR MAJEUR
165
+ │ └── phase3-runner.ts
166
+ │ → Passer à exécution parallèle
167
+ │ → Support test_files pattern
168
+ │ → Intégrer auto-discovery
169
+
170
+ ├── adapters/ 🔧 REFACTOR
171
+ │ ├── playwright-api.ts → Injecter auth
172
+ │ ├── playwright-ui.ts → Injecter auth + session
173
+ │ ├── k6-perf.ts → Optimisation IA
174
+ │ ├── semgrep-sast.ts → Garder
175
+ │ ├── zap-dast.ts → Garder
176
+ │ ├── gitleaks-secrets.ts → Garder
177
+ │ └── osv-deps.ts → Garder
178
+
179
+ └── hooks/ 🔧 SIMPLIFIER
180
+ ├── compose.ts → Rendre plus générique
181
+ └── runner.ts → Fusionner avec compose
182
+ ```
183
+
184
+ ### 2.3 Modules à Supprimer
185
+
186
+ ```
187
+ core/src/
188
+ ├── serve/ ❌ SUPPRIMER - Serveur d'observabilité
189
+ │ ├── server.ts
190
+ │ ├── health-checker.ts
191
+ │ ├── diagnostics-collector.ts
192
+ │ ├── metrics-collector.ts
193
+ │ └── process-manager.ts
194
+
195
+ └── security/
196
+ └── redaction-patterns-extended.ts ❌ SUPPRIMER - Doublon
197
+ ```
198
+
199
+ ---
200
+
201
+ ## 3. Audit MCP Server
202
+
203
+ ### 3.1 Outils à Garder (15 → 35)
204
+
205
+ ```
206
+ packages/mcp/src/tools/
207
+
208
+ ├── History (6) ✅ GARDER
209
+ │ ├── list.ts
210
+ │ ├── get.ts
211
+ │ ├── diff.ts
212
+ │ ├── trend.ts
213
+ │ ├── pin.ts
214
+ │ └── gc.ts
215
+
216
+ ├── Pack (3) ✅ GARDER
217
+ │ ├── ask.ts → Refactor pour appeler Ollama
218
+ │ ├── validate.ts
219
+ │ └── lint.ts
220
+
221
+ ├── Execution (1) ✅ GARDER
222
+ │ └── run.ts
223
+
224
+ ├── Triage (1) ✅ GARDER
225
+ │ └── explain_code.ts
226
+
227
+ ├── Vault (2) ✅ GARDER
228
+ │ ├── get_run.ts
229
+ │ └── get_artifacts.ts
230
+
231
+ └── Server (3) ✅ GARDER
232
+ ├── health.ts
233
+ ├── diag.ts
234
+ └── metrics.ts
235
+ ```
236
+
237
+ ### 3.2 Outils à Supprimer
238
+
239
+ ```
240
+ ❌ SUPPRIMER :
241
+ ├── history/export.ts → Peu utilisé
242
+ ├── history/migrate.ts → Peu pertinent
243
+ ├── pack/migrate.ts → Rarement nécessaire
244
+ ├── report/sign.ts → CLI-focused
245
+ └── verify.ts → CLI-focused
246
+ ```
247
+
248
+ ### 3.3 Nouveaux Outils
249
+
250
+ ```
251
+ packages/mcp/src/tools/
252
+
253
+ ├── generation/ (NOUVEAU)
254
+ │ ├── from_openapi.ts Génération depuis OpenAPI
255
+ │ ├── from_crawl.ts Génération par crawling
256
+ │ ├── from_stories.ts Génération depuis user stories
257
+ │ └── suggest.ts Suggestions de tests
258
+
259
+ ├── analysis/ (NOUVEAU)
260
+ │ ├── testability.ts Analyse de testabilité
261
+ │ ├── coverage.ts Analyse de couverture
262
+ │ ├── fragile_selectors.ts Sélecteurs fragiles
263
+ │ └── patterns.ts Patterns de code
264
+
265
+ ├── smart_triage/ (NOUVEAU)
266
+ │ ├── analyze.ts Analyse profonde échec
267
+ │ ├── root_cause.ts Cause racine IA
268
+ │ └── fix.ts Génération de correctif
269
+
270
+ └── collaboration/ (NOUVEAU)
271
+ ├── team_report.ts Rapport équipe
272
+ ├── compare_runs.ts Comparaison exécutions
273
+ └── export_slack.ts Export Slack
274
+ ```
275
+
276
+ ### 3.4 Rôle du MCP Server
277
+
278
+ **Positionnement : ADD-ON, pas Core**
279
+
280
+ ```
281
+ ┌─────────────────────────────────────────────────────────────┐
282
+ │ QA360 MCP Server │
283
+ ├─────────────────────────────────────────────────────────────┤
284
+ │ │
285
+ │ Usage Primaire : │
286
+ │ └─ Intégration avec autres agents (Cursor, ) │
287
+ │ │
288
+ │ Usage Secondaire : │
289
+ │ └─ Extensions pour utilisateurs avancés │
290
+ │ │
291
+ │ N'EST PAS : │
292
+ │ └─ Le moyen principal d'utiliser QA360 (CLI est) │
293
+ │ │
294
+ └─────────────────────────────────────────────────────────────┘
295
+ ```
296
+
297
+ ---
298
+
299
+ ## 4. Nouveaux Modules
300
+
301
+ ### 4.1 AI Module (Ollama)
302
+
303
+ ```typescript
304
+ // core/src/ai/ - NOUVEAU MODULE
305
+
306
+ core/src/ai/
307
+ ├── index.ts Point d'entrée
308
+ ├── providers/
309
+ │ ├── base.ts Interface LLM Provider
310
+ │ ├── ollama.ts Provider Ollama (PRINCIPAL)
311
+ │ ├── openai.ts Provider OpenAI (optionnel)
312
+ │ └── anthropic.ts Provider Anthropic (optionnel)
313
+ ├── generators/
314
+ │ ├── base.ts Interface Generator
315
+ │ ├── code-generator.ts Génération de code test
316
+ │ ├── pack-generator.ts Génération de pack YAML
317
+ │ └── prompt-templates.ts Templates de prompts
318
+ ├── optimizers/
319
+ │ ├── test-optimizer.ts Optimisation de tests
320
+ │ └── param-tuner.ts Réglage paramètres
321
+ └── analyzers/
322
+ ├── failure-analyzer.ts Analyse échecs
323
+ ├── pattern-detector.ts Détection patterns
324
+ └── triage.ts Analyse intelligente
325
+ ```
326
+
327
+ **Dépendances :**
328
+ ```json
329
+ {
330
+ "ollama": "^0.5.0",
331
+ "openai": "^4.0.0"
332
+ }
333
+ ```
334
+
335
+ ### 4.2 Auth Module
336
+
337
+ ```typescript
338
+ // core/src/auth/ - NOUVEAU MODULE
339
+
340
+ core/src/auth/
341
+ ├── index.ts Point d'entrée
342
+ ├── managers/
343
+ │ ├── base.ts Interface Auth Manager
344
+ │ ├── jwt-manager.ts JWT avec auto-refresh
345
+ │ ├── oauth2-manager.ts OAuth2 flows
346
+ │ ├── api-key-manager.ts Gestion API Keys
347
+ │ └── totp-manager.ts Génération TOTP
348
+ ├── cloud/
349
+ │ ├── gcp-adc.ts GCP Application Default Credentials
350
+ │ ├── aws-iam.ts AWS IAM credentials
351
+ │ └── azure-ad.ts Azure AD token
352
+ ├── ui/
353
+ │ ├── login-manager.ts Login UI自动化
354
+ │ ├── session-store.ts Stockage sessions/cookies
355
+ │ └── form-handler.ts Gestion formulaires
356
+ ├── storage/
357
+ │ └── credential-store.ts Stockage sécurisé (chiffré)
358
+ └── types/
359
+ └── auth-config.ts Types de configuration
360
+ ```
361
+
362
+ **Dépendances :**
363
+ ```json
364
+ {
365
+ "jsonwebtoken": "^9.0.0",
366
+ "otpauth": "^9.0.0",
367
+ "google-auth-library": "^9.0.0",
368
+ "aws-sdk": "^2.0.0",
369
+ "@azure/identity": "^4.0.0"
370
+ }
371
+ ```
372
+
373
+ ### 4.3 Test Discoverer
374
+
375
+ ```typescript
376
+ // core/src/discoverer/ - NOUVEAU MODULE
377
+
378
+ core/src/discoverer/
379
+ ├── index.ts Point d'entrée
380
+ ├── test-discoverer.ts Découverte fichiers de test
381
+ ├── type-detector.ts Détection type de test
382
+ ├── adapter-router.ts Routage vers bon adapter
383
+ └── parsers/
384
+ ├── playwright.ts Parseur fichiers Playwright
385
+ ├── k6.ts Parseur fichiers K6
386
+ └── cypress.ts Parseur fichiers Cypress
387
+ ```
388
+
389
+ ### 4.4 Config Manager
390
+
391
+ ```typescript
392
+ // core/src/config/ - NOUVEAU MODULE
393
+
394
+ core/src/config/
395
+ ├── index.ts Point d'entrée
396
+ ├── config-loader.ts Chargement config
397
+ ├── config-validator.ts Validation config
398
+ ├── environment.ts Gestion environnements
399
+ └── types/
400
+ └── config.ts Types de configuration
401
+ ```
402
+
403
+ ---
404
+
405
+ ## 5. Plan de Refactorisation
406
+
407
+ ### Phase 1 : Fondations (Semaines 1-2)
408
+
409
+ ```
410
+ ┌─────────────────────────────────────────────────────────────┐
411
+ │ Semaine 1 │
412
+ ├─────────────────────────────────────────────────────────────┤
413
+ │ ✅ Créer core/src/ai/ avec provider Ollama │
414
+ │ ✅ Créer core/src/discoverer/ pour auto-découverte │
415
+ │ ✅ Mise à jour core/src/types/ pour pack-v2 │
416
+ └─────────────────────────────────────────────────────────────┘
417
+
418
+ ┌─────────────────────────────────────────────────────────────┐
419
+ │ Semaine 2 │
420
+ ├─────────────────────────────────────────────────────────────┤
421
+ │ ✅ Créer core/src/auth/ structure de base │
422
+ │ ✅ Implémenter JWT Manager │
423
+ │ ✅ Implémenter API Key Manager │
424
+ │ ✅ Migrer core/src/pack/ vers v2 │
425
+ └─────────────────────────────────────────────────────────────┘
426
+ ```
427
+
428
+ **Livraison :**
429
+ - OllamaProvider fonctionnel
430
+ - TestDiscoverer fonctionnel
431
+ - PackV2 types définis
432
+ - JWT/Auth basic
433
+
434
+ ### Phase 2 : Génération de Code (Semaines 3-4)
435
+
436
+ ```
437
+ ┌─────────────────────────────────────────────────────────────┐
438
+ │ Semaine 3 │
439
+ ├─────────────────────────────────────────────────────────────┤
440
+ │ ✅ CodeGenerator pour Playwright │
441
+ │ ✅ CodeGenerator pour K6 │
442
+ │ ✅ Prompt templates pour génération │
443
+ └─────────────────────────────────────────────────────────────┘
444
+
445
+ ┌─────────────────────────────────────────────────────────────┐
446
+ │ Semaine 4 │
447
+ ├─────────────────────────────────────────────────────────────┤
448
+ │ ✅ Réécrire cli/src/commands/ask.ts avec Ollama │
449
+ │ ✅ Créer cli/src/commands/generate.ts │
450
+ │ ✅ Créer cli/src/commands/ollama.ts │
451
+ └─────────────────────────────────────────────────────────────┘
452
+ ```
453
+
454
+ **Livraison :**
455
+ - Génération de code fonctionnelle
456
+ - Commande `qa360 generate` fonctionnelle
457
+ - Commande `qa360 ollama` fonctionnelle
458
+
459
+ ### Phase 3 : Auth Complet (Semaines 5-6)
460
+
461
+ ```
462
+ ┌─────────────────────────────────────────────────────────────┐
463
+ │ Semaine 5 │
464
+ ├─────────────────────────────────────────────────────────────┤
465
+ │ ✅ OAuth2 Manager │
466
+ │ ✅ TOTP Manager │
467
+ │ ✅ Cloud ADC (GCP, AWS) │
468
+ └─────────────────────────────────────────────────────────────┘
469
+
470
+ ┌─────────────────────────────────────────────────────────────┐
471
+ │ Semaine 6 │
472
+ ├─────────────────────────────────────────────────────────────┤
473
+ │ ✅ UI Login Manager │
474
+ │ ✅ Session Store │
475
+ │ ✅ Intégration Auth dans Adapters │
476
+ │ ✅ Créer cli/src/commands/auth.ts │
477
+ └─────────────────────────────────────────────────────────────┘
478
+ ```
479
+
480
+ **Livraison :**
481
+ - Module Auth complet
482
+ - Adapters avec injection auth
483
+ - Commande `qa360 auth` fonctionnelle
484
+
485
+ ### Phase 4 : Refactor Core (Semaines 7-8)
486
+
487
+ ```
488
+ ┌─────────────────────────────────────────────────────────────┐
489
+ │ Semaine 7 │
490
+ ├─────────────────────────────────────────────────────────────┤
491
+ │ ✅ Refactor Phase3Runner pour test_files pattern │
492
+ │ ✅ Exécution parallèle des gates │
493
+ │ ✅ Intégration TestDiscoverer │
494
+ └─────────────────────────────────────────────────────────────┘
495
+
496
+ ┌─────────────────────────────────────────────────────────────┐
497
+ │ Semaine 8 │
498
+ ├─────────────────────────────────────────────────────────────┤
499
+ │ ✅ Refactor Adapters avec injection Auth │
500
+ │ ✅ Mettre à jour MCP tools │
501
+ │ ✅ Supprimer modules obsolètes │
502
+ └─────────────────────────────────────────────────────────────┘
503
+ ```
504
+
505
+ **Livraison :**
506
+ - Phase3Runner refactorisé
507
+ - Adapters auth-aware
508
+ - MCP tools mis à jour
509
+
510
+ ### Phase 5 : UX Avancée (Semaines 9-10)
511
+
512
+ ```
513
+ ┌─────────────────────────────────────────────────────────────┐
514
+ │ Semaine 9 │
515
+ ├─────────────────────────────────────────────────────────────┤
516
+ │ ✅ Commande qa360 chat │
517
+ │ ✅ Commande qa360 analyze │
518
+ │ ✅ Smart Triage avec IA │
519
+ └─────────────────────────────────────────────────────────────┘
520
+
521
+ ┌─────────────────────────────────────────────────────────────┐
522
+ │ Semaine 10 │
523
+ ├─────────────────────────────────────────────────────────────┤
524
+ │ ✅ Améliorer sortie CLI │
525
+ │ ✅ Ajouter progress bars │
526
+ │ ✅ Messages d'erreur pédagogiques │
527
+ └─────────────────────────────────────────────────────────────┘
528
+ ```
529
+
530
+ **Livraison :**
531
+ - Chat interface fonctionnelle
532
+ - Analyse IA des échecs
533
+ - Améliorations UX
534
+
535
+ ---
536
+
537
+ ## 6. Nouvelle Structure de Projet
538
+
539
+ ### Structure Complète Après Refactorisation
540
+
541
+ ```
542
+ qa360/
543
+ ├── cli/ # CLI (interface utilisateur)
544
+ │ ├── src/
545
+ │ │ ├── commands/
546
+ │ │ │ ├── run.ts # Exécuter les tests
547
+ │ │ │ ├── verify.ts # Vérifier les preuves
548
+ │ │ │ ├── doctor.ts # Diagnostic
549
+ │ │ │ ├── init.ts # Initialiser projet
550
+ │ │ │ ├── generate.ts # ← NOUVEAU : Générer tests
551
+ │ │ │ ├── ollama.ts # ← NOUVEAU : Gérer Ollama
552
+ │ │ │ ├── chat.ts # ← NOUVEAU : Chat IA
553
+ │ │ │ ├── analyze.ts # ← NOUVEAU : Analyser résultats
554
+ │ │ │ ├── auth.ts # ← NOUVEAU : Gérer auth
555
+ │ │ │ ├── history.ts # Historique
556
+ │ │ │ ├── secrets.ts # Secrets (fusion avec auth)
557
+ │ │ │ ├── pack.ts # Gestion des packs
558
+ │ │ │ └── report.ts # Rapports
559
+ │ │ ├── index.ts
560
+ │ │ └── utils/
561
+ │ ├── bin/
562
+ │ │ └── qa360.js
563
+ │ └── package.json
564
+
565
+ ├── core/ # Moteur core
566
+ │ ├── src/
567
+ │ │ ├── ai/ # ← NOUVEAU : Module IA
568
+ │ │ │ ├── index.ts
569
+ │ │ │ ├── providers/
570
+ │ │ │ │ ├── base.ts
571
+ │ │ │ │ ├── ollama.ts # Provider Ollama
572
+ │ │ │ │ ├── openai.ts # Provider OpenAI (option)
573
+ │ │ │ │ └── anthropic.ts # Provider Anthropic (option)
574
+ │ │ │ ├── generators/
575
+ │ │ │ │ ├── code-generator.ts # Génération code
576
+ │ │ │ │ ├── pack-generator.ts # Génération pack
577
+ │ │ │ │ └── prompt-templates.ts # Templates prompts
578
+ │ │ │ ├── analyzers/
579
+ │ │ │ │ ├── failure-analyzer.ts
580
+ │ │ │ │ ├── pattern-detector.ts
581
+ │ │ │ │ └── triage.ts
582
+ │ │ │ └── optimizers/
583
+ │ │ │ ├── test-optimizer.ts
584
+ │ │ │ └── param-tuner.ts
585
+ │ │ │
586
+ │ │ ├── auth/ # ← NOUVEAU : Module Auth
587
+ │ │ │ ├── index.ts
588
+ │ │ │ ├── managers/
589
+ │ │ │ │ ├── base.ts
590
+ │ │ │ │ ├── jwt-manager.ts
591
+ │ │ │ │ ├── oauth2-manager.ts
592
+ │ │ │ │ ├── api-key-manager.ts
593
+ │ │ │ │ └── totp-manager.ts
594
+ │ │ │ ├── cloud/
595
+ │ │ │ │ ├── gcp-adc.ts
596
+ │ │ │ │ ├── aws-iam.ts
597
+ │ │ │ │ └── azure-ad.ts
598
+ │ │ │ ├── ui/
599
+ │ │ │ │ ├── login-manager.ts
600
+ │ │ │ │ ├── session-store.ts
601
+ │ │ │ │ └── form-handler.ts
602
+ │ │ │ └── storage/
603
+ │ │ │ └── credential-store.ts
604
+ │ │ │
605
+ │ │ ├── discoverer/ # ← NOUVEAU : Découverte tests
606
+ │ │ │ ├── index.ts
607
+ │ │ │ ├── test-discoverer.ts
608
+ │ │ │ ├── type-detector.ts
609
+ │ │ │ ├── adapter-router.ts
610
+ │ │ │ └── parsers/
611
+ │ │ │ ├── playwright.ts
612
+ │ │ │ ├── k6.ts
613
+ │ │ │ └── cypress.ts
614
+ │ │ │
615
+ │ │ ├── config/ # ← NOUVEAU : Configuration
616
+ │ │ │ ├── index.ts
617
+ │ │ │ ├── config-loader.ts
618
+ │ │ │ ├── config-validator.ts
619
+ │ │ │ └── environment.ts
620
+ │ │ │
621
+ │ │ ├── proof/ # ✅ GARDER : Preuves
622
+ │ │ │ ├── index.ts
623
+ │ │ │ ├── signer.ts
624
+ │ │ │ ├── verifier.ts
625
+ │ │ │ ├── canonicalize.ts
626
+ │ │ │ └── bundle.ts
627
+ │ │ │
628
+ │ │ ├── vault/ # ✅ GARDER : Vault
629
+ │ │ │ ├── index.ts
630
+ │ │ │ ├── cas.ts
631
+ │ │ │ └── schema.sql
632
+ │ │ │
633
+ │ │ ├── pack/ # 🔧 METTRE À JOUR
634
+ │ │ │ ├── validator.ts # Ajouter support v2
635
+ │ │ │ └── migrator.ts # Migration v1→v2
636
+ │ │ │
637
+ │ │ ├── types/ # 🔧 METTRE À JOUR
638
+ │ │ │ ├── pack-v1.ts # Garder pour compat
639
+ │ │ │ └── pack-v2.ts # ← NOUVEAU
640
+ │ │ │
641
+ │ │ ├── adapters/ # 🔧 REFACTOR
642
+ │ │ │ ├── base.ts # ← NOUVEAU : Interface commune
643
+ │ │ │ ├── playwright-api.ts # + Auth injection
644
+ │ │ │ ├── playwright-ui.ts # + Auth + Session
645
+ │ │ │ ├── k6-perf.ts # + Optimisation IA
646
+ │ │ │ ├── semgrep-sast.ts
647
+ │ │ │ ├── zap-dast.ts
648
+ │ │ │ ├── gitleaks-secrets.ts
649
+ │ │ │ └── osv-deps.ts
650
+ │ │ │
651
+ │ │ ├── runner/ # 🔧 REFACTOR MAJEUR
652
+ │ │ │ └── phase3-runner.ts # + test_files, parallèle
653
+ │ │ │
654
+ │ │ ├── hooks/ # 🔧 SIMPLIFIER
655
+ │ │ │ ├── compose.ts
656
+ │ │ │ └── runner.ts
657
+ │ │ │
658
+ │ │ ├── security/ # ✅ GARDER
659
+ │ │ │ └── redactor.ts
660
+ │ │ │
661
+ │ │ └── index.ts
662
+ │ │
663
+ │ ├── schemas/
664
+ │ │ └── pack.schema.json # ← Mettre à jour v2
665
+ │ │
666
+ │ └── package.json
667
+
668
+ ├── packages/
669
+ │ ├── mcp/ # 🔧 MCP : ADD-ON (pas core)
670
+ │ │ └── src/
671
+ │ │ ├── tools/
672
+ │ │ │ ├── history/ # ✅ Garder
673
+ │ │ │ ├── pack/ # ✅ Garder + refactor ask
674
+ │ │ │ ├── execution/ # ✅ Garder
675
+ │ │ │ ├── generation/ # ← NOUVEAU
676
+ │ │ │ ├── analysis/ # ← NOUVEAU
677
+ │ │ │ ├── smart_triage/ # ← NOUVEAU
678
+ │ │ │ └── collaboration/ # ← NOUVEAU
679
+ │ │ ├── security/
680
+ │ │ └── server/
681
+ │ │
682
+ │ └── (autres packages...)
683
+
684
+ ├── examples/
685
+ │ ├── packs/ # Exemples packs v2
686
+ │ │ ├── simple.yml
687
+ │ │ ├── full.yml
688
+ │ │ └── with-auth.yml # ← NOUVEAU
689
+ │ │
690
+ │ └── generated-tests/ # ← NOUVEAU : Exemples générés
691
+ │ ├── api/
692
+ │ ├── ui/
693
+ │ └── perf/
694
+
695
+ ├── docs/
696
+ │ ├── ARCHITECTURE.md
697
+ │ ├── AI_INTEGRATION.md # ← NOUVEAU
698
+ │ ├── AUTH_GUIDE.md # ← NOUVEAU
699
+ │ └── MIGRATION_V1_V2.md # ← NOUVEAU
700
+
701
+ ├── .qa360/ # Config globale (nouveau)
702
+ │ ├── config.yml # ← NOUVEAU
703
+ │ ├── auth.yml # ← NOUVEAU : Configs auth
704
+ │ └── models.json # ← NOUVEAU : Modèles IA
705
+
706
+ ├── package.json
707
+ ├── pnpm-workspace.yaml
708
+ ├── tsconfig.base.json
709
+ └── tsconfig.build.json
710
+ ```
711
+
712
+ ---
713
+
714
+ ## 7. Nouveaux Fichiers de Configuration
715
+
716
+ ### 7.1 Config Globale QA360
717
+
718
+ ```yaml
719
+ # .qa360/config.yml
720
+
721
+ version: 1
722
+ profile: default
723
+
724
+ # IA Configuration
725
+ ai:
726
+ enabled: true
727
+ provider: ollama # ollama | openai | anthropic
728
+ model: deepseek-coder # Modèle pour génération de code
729
+ fallback_model: llama3.2 # Modèle de secours
730
+
731
+ ollama:
732
+ base_url: http://localhost:11434
733
+ timeout: 120000 # 2 minutes
734
+
735
+ cost_optimization:
736
+ use_small_for_summaries: true
737
+ cache_enabled: true
738
+
739
+ # Auth Configuration
740
+ auth:
741
+ default_profile: default
742
+ profiles:
743
+ default:
744
+ type: none
745
+ api-staging:
746
+ type: jwt
747
+ issuer: https://auth-staging.example.com
748
+ client_id: ${JWT_CLIENT_ID}
749
+ client_secret: ${JWT_CLIENT_SECRET}
750
+ auto_refresh: true
751
+ api-prod:
752
+ type: oauth2
753
+ token_url: https://auth.example.com/oauth/token
754
+ client_id: ${OAUTH_CLIENT_ID}
755
+ client_secret: ${OAUTH_CLIENT_SECRET}
756
+ gcp:
757
+ type: gcp_adc
758
+ project_id: my-project
759
+ ui-staging:
760
+ type: ui_login
761
+ url: https://staging.example.com/login
762
+ username: ${LOGIN_USER}
763
+ password: ${LOGIN_PASSWORD}
764
+ totp_secret: ${TOTP_SECRET}
765
+
766
+ # Execution Configuration
767
+ execution:
768
+ parallel_gates: true
769
+ max_concurrency: 4
770
+ default_timeout: 30000
771
+ default_retries: 2
772
+
773
+ # Reporting
774
+ reporting:
775
+ formats: ["json", "html"]
776
+ output_dir: ".qa360/reports"
777
+ include_screenshots: true
778
+ include_logs: true
779
+
780
+ # Security
781
+ security:
782
+ scan_paths: ["src", "lib", "tests"]
783
+ exclude_patterns: ["node_modules", "dist", ".git"]
784
+ redaction_enabled: true
785
+ ```
786
+
787
+ ### 7.2 Pack V2
788
+
789
+ ```yaml
790
+ # pack.yml (version 2)
791
+
792
+ version: 2
793
+ name: "my-app-tests"
794
+ description: "Complete test suite for my application"
795
+ profile: development
796
+
797
+ # Auth par défaut pour tous les tests
798
+ auth:
799
+ api: api-staging # Référence au profil dans config
800
+ ui: ui-staging
801
+
802
+ # Gates avec test_files
803
+ gates:
804
+ api_smoke:
805
+ adapter: playwright
806
+ test_files: ["tests/api/**/*.spec.ts"]
807
+ budgets:
808
+ max_duration_ms: 10000
809
+ parallel: true
810
+
811
+ ui_e2e:
812
+ adapter: playwright
813
+ test_files: ["tests/e2e/**/*.spec.ts"]
814
+ budgets:
815
+ max_duration_ms: 30000
816
+ auth: ui-staging # Override par défaut
817
+
818
+ perf:
819
+ adapter: k6
820
+ test_files: ["tests/perf/**/*.js"]
821
+ budgets:
822
+ p95_ms: 2000
823
+
824
+ security:
825
+ adapter: semgrep
826
+ test_files: ["tests/security/**/*.yaml"]
827
+ budgets:
828
+ max_high: 3
829
+ max_critical: 0
830
+
831
+ # Hooks (inchangés)
832
+ hooks:
833
+ beforeAll:
834
+ - run: "docker compose up -d"
835
+ timeout: 60000
836
+ afterAll:
837
+ - run: "docker compose down"
838
+ timeout: 30000
839
+
840
+ # Exécution
841
+ execution:
842
+ parallel: true
843
+ max_concurrency: 4
844
+ on_failure: continue
845
+ ```
846
+
847
+ ---
848
+
849
+ ## 8. Dépendances
850
+
851
+ ### 8.1 À Ajouter
852
+
853
+ ```json
854
+ {
855
+ "dependencies": {
856
+ "ollama": "^0.5.0",
857
+ "openai": "^4.0.0",
858
+ "@anthropic-ai/sdk": "^0.30.0",
859
+ "jsonwebtoken": "^9.0.0",
860
+ "otpauth": "^9.0.0",
861
+ "google-auth-library": "^9.0.0",
862
+ "@aws-sdk/credential-providers": "^3.0.0",
863
+ "@azure/identity": "^4.0.0",
864
+ "zod": "^3.0.0"
865
+ }
866
+ }
867
+ ```
868
+
869
+ ### 8.2 À Supprimer
870
+
871
+ ```json
872
+ {
873
+ "dependencies": {
874
+ "sqlite3": "garder pour vault",
875
+ "adm-zip": "évaluer si toujours nécessaire"
876
+ }
877
+ }
878
+ ```
879
+
880
+ ### 8.3 Versions Minimum
881
+
882
+ ```json
883
+ {
884
+ "engines": {
885
+ "node": ">=20.0.0"
886
+ },
887
+ "packageManager": "pnpm@9.12.2"
888
+ }
889
+ ```
890
+
891
+ ---
892
+
893
+ ## 9. Checklist de Migration
894
+
895
+ ```
896
+ Phase 1 - Fondations:
897
+ □ Créer core/src/ai/
898
+ □ Créer core/src/discoverer/
899
+ □ Créer core/src/config/
900
+ □ Créer core/src/auth/ (structure de base)
901
+ □ Mettre à jour types pour pack-v2
902
+
903
+ Phase 2 - Génération:
904
+ □ Implémenter OllamaProvider
905
+ □ Implémenter CodeGenerator
906
+ □ Réécrire command ask
907
+ □ Créer commande generate
908
+ □ Créer commande ollama
909
+
910
+ Phase 3 - Auth:
911
+ □ Implémenter JWTManager
912
+ □ Implémenter OAuth2Manager
913
+ □ Implémenter TOTPManager
914
+ □ Implémenter Cloud ADC managers
915
+ □ Implémenter UI LoginManager
916
+ □ Créer commande auth
917
+ □ Intégrer Auth dans Adapters
918
+
919
+ Phase 4 - Core Refactor:
920
+ □ Refactor Phase3Runner pour test_files
921
+ □ Ajouter exécution parallèle
922
+ □ Intégrer TestDiscoverer
923
+ □ Mettre à jour Adapters avec Auth
924
+ □ Supprimer modules obsolètes
925
+
926
+ Phase 5 - UX:
927
+ □ Créer commande chat
928
+ □ Créer commande analyze
929
+ □ Smart Triage avec IA
930
+ □ Améliorer messages d'erreur
931
+ □ Ajouter progress bars
932
+
933
+ Phase 6 - Documentation:
934
+ □ Documenter AI integration
935
+ □ Documenter Auth module
936
+ □ Guide de migration v1 → v2
937
+ □ Exemples packs v2
938
+ │ Exemples avec auth
939
+ ```
940
+
941
+ ---
942
+
943
+ ## 10. Risques et Atténuation
944
+
945
+ | Risque | Impact | Atténuation |
946
+ |--------|--------|-------------|
947
+ | Dépendance Ollama | Performance locale | Documenter requis, fallback sur LLM cloud |
948
+ | Complexité Auth | Courbe d'apprentissage | Templates, documentation, exemples |
949
+ | Breaking changes | Utilisateurs existants | Migration guide, compat v1 |
950
+ | Nouvelles dépendances | Taille du projet | Minimaliser, options |
951
+
952
+ ---
953
+
954
+ ## Conclusion
955
+
956
+ Ce plan de refactorisation transforme QA360 en :
957
+
958
+ 1. **Plateforme AI-native** avec Ollama (gratuit, local)
959
+ 2. **Génération de code** de test (pas juste templates)
960
+ 3. **Auth complète** (JWT, OAuth2, TOTP, Cloud, UI)
961
+ 4. **Expérience unifiée** (CLI principal, MCP en add-on)
962
+
963
+ **Le cœur de valeur (preuves, vault) est préservé.**
964
+
965
+ **La durée estimée est de 10 semaines pour une mise en œuvre complète.**