qa360 2.3.0 → 2.3.2

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 (507) hide show
  1. package/README.md +155 -262
  2. package/{cli/dist → dist}/commands/ai.js +1 -1
  3. package/{cli/dist → dist}/commands/ask.js +49 -22
  4. package/{cli/dist → dist}/commands/coverage.js +17 -4
  5. package/{cli/dist → dist}/commands/crawl.js +2 -2
  6. package/{cli/dist → dist}/commands/doctor.js +2 -2
  7. package/{cli/dist → dist}/commands/explain.js +2 -2
  8. package/{cli/dist → dist}/commands/flakiness.js +1 -1
  9. package/{cli/dist → dist}/commands/generate.js +12 -5
  10. package/{cli/dist → dist}/commands/history.js +1 -1
  11. package/{cli/dist → dist}/commands/monitor.js +3 -3
  12. package/{cli/dist → dist}/commands/ollama.js +14 -6
  13. package/{cli/dist → dist}/commands/pack.js +2 -2
  14. package/{cli/dist → dist}/commands/regression.js +1 -1
  15. package/{cli/dist → dist}/commands/repair.js +1 -1
  16. package/{cli/dist → dist}/commands/retry.js +1 -1
  17. package/{cli/dist → dist}/commands/run.d.ts +5 -1
  18. package/{cli/dist → dist}/commands/run.js +87 -1
  19. package/{cli/dist → dist}/commands/secrets.js +1 -1
  20. package/{cli/dist → dist}/commands/serve.js +1 -1
  21. package/{cli/dist → dist}/commands/slo.js +1 -1
  22. package/{cli/dist → dist}/commands/verify.js +1 -1
  23. package/{cli/dist → dist}/core/adapters/playwright-native-api.d.ts +2 -0
  24. package/{cli/dist → dist}/core/adapters/playwright-native-api.js +20 -1
  25. package/{cli/dist → dist}/core/adapters/playwright-ui.d.ts +21 -0
  26. package/dist/core/adapters/playwright-ui.js +2050 -0
  27. package/{cli/dist → dist}/core/ai/ollama-provider.d.ts +4 -0
  28. package/{cli/dist → dist}/core/ai/ollama-provider.js +41 -8
  29. package/{cli/dist → dist}/core/artifacts/ui-artifacts.js +24 -4
  30. package/dist/core/auth/backup-codes-provider.d.ts +91 -0
  31. package/dist/core/auth/backup-codes-provider.js +215 -0
  32. package/{cli/dist → dist}/core/auth/basic-auth-provider.d.ts +6 -0
  33. package/{cli/dist → dist}/core/auth/basic-auth-provider.js +24 -6
  34. package/dist/core/auth/digest-auth-provider.d.ts +116 -0
  35. package/dist/core/auth/digest-auth-provider.js +244 -0
  36. package/dist/core/auth/hcaptcha-handler.d.ts +103 -0
  37. package/dist/core/auth/hcaptcha-handler.js +288 -0
  38. package/{cli/dist → dist}/core/auth/index.d.ts +81 -4
  39. package/{cli/dist → dist}/core/auth/index.js +15 -1
  40. package/dist/core/auth/oauth-handler.d.ts +408 -0
  41. package/dist/core/auth/oauth-handler.js +636 -0
  42. package/{cli/dist → dist}/core/auth/oauth2-provider.d.ts +9 -0
  43. package/dist/core/auth/oauth2-provider.js +227 -0
  44. package/dist/core/auth/otp-provider.d.ts +93 -0
  45. package/dist/core/auth/otp-provider.js +288 -0
  46. package/dist/core/auth/recaptcha-handler.d.ts +119 -0
  47. package/dist/core/auth/recaptcha-handler.js +301 -0
  48. package/dist/core/auth/remember-me-handler.d.ts +142 -0
  49. package/dist/core/auth/remember-me-handler.js +255 -0
  50. package/dist/core/auth/saml-handler.d.ts +173 -0
  51. package/dist/core/auth/saml-handler.js +364 -0
  52. package/dist/core/auth/webauthn-handler.d.ts +182 -0
  53. package/dist/core/auth/webauthn-handler.js +310 -0
  54. package/dist/core/crawler/advanced-interactions.d.ts +342 -0
  55. package/dist/core/crawler/advanced-interactions.js +1069 -0
  56. package/dist/core/crawler/blob-url-download-handler.d.ts +145 -0
  57. package/dist/core/crawler/blob-url-download-handler.js +392 -0
  58. package/dist/core/crawler/consent-handler.d.ts +49 -0
  59. package/dist/core/crawler/consent-handler.js +258 -0
  60. package/dist/core/crawler/cookie-manager.d.ts +166 -0
  61. package/dist/core/crawler/cookie-manager.js +353 -0
  62. package/dist/core/crawler/coop-coep-handler.d.ts +136 -0
  63. package/dist/core/crawler/coop-coep-handler.js +338 -0
  64. package/dist/core/crawler/csp-handler.d.ts +151 -0
  65. package/dist/core/crawler/csp-handler.js +415 -0
  66. package/dist/core/crawler/download-handler.d.ts +155 -0
  67. package/dist/core/crawler/download-handler.js +370 -0
  68. package/dist/core/crawler/email-testing-handler.d.ts +214 -0
  69. package/dist/core/crawler/email-testing-handler.js +398 -0
  70. package/dist/core/crawler/error-tracking-handler.d.ts +177 -0
  71. package/dist/core/crawler/error-tracking-handler.js +378 -0
  72. package/dist/core/crawler/form-handler.d.ts +100 -0
  73. package/dist/core/crawler/form-handler.js +465 -0
  74. package/dist/core/crawler/framework-wait-handler.d.ts +96 -0
  75. package/dist/core/crawler/framework-wait-handler.js +464 -0
  76. package/dist/core/crawler/geolocation-handler.d.ts +112 -0
  77. package/dist/core/crawler/geolocation-handler.js +276 -0
  78. package/dist/core/crawler/index.d.ts +78 -0
  79. package/{cli/dist → dist}/core/crawler/index.js +74 -1
  80. package/dist/core/crawler/intelligent-selector-generator.d.ts +164 -0
  81. package/dist/core/crawler/intelligent-selector-generator.js +612 -0
  82. package/{cli/dist → dist}/core/crawler/journey-generator.js +44 -1
  83. package/{cli/dist → dist}/core/crawler/page-analyzer.d.ts +16 -1
  84. package/{cli/dist → dist}/core/crawler/page-analyzer.js +469 -17
  85. package/dist/core/crawler/permissions-handler.d.ts +112 -0
  86. package/dist/core/crawler/permissions-handler.js +236 -0
  87. package/dist/core/crawler/permissions-policy-handler.d.ts +113 -0
  88. package/dist/core/crawler/permissions-policy-handler.js +402 -0
  89. package/dist/core/crawler/presets.d.ts +100 -0
  90. package/dist/core/crawler/presets.js +887 -0
  91. package/dist/core/crawler/repl-debug-handler.d.ts +105 -0
  92. package/dist/core/crawler/repl-debug-handler.js +552 -0
  93. package/dist/core/crawler/reporting-api-handler.d.ts +212 -0
  94. package/dist/core/crawler/reporting-api-handler.js +344 -0
  95. package/{cli/dist → dist}/core/crawler/selector-generator.d.ts +9 -0
  96. package/{cli/dist → dist}/core/crawler/selector-generator.js +99 -23
  97. package/dist/core/crawler/site-profiler.d.ts +89 -0
  98. package/dist/core/crawler/site-profiler.js +290 -0
  99. package/dist/core/crawler/sourcemaps-handler.d.ts +144 -0
  100. package/dist/core/crawler/sourcemaps-handler.js +420 -0
  101. package/dist/core/crawler/stacked-modals-handler.d.ts +118 -0
  102. package/dist/core/crawler/stacked-modals-handler.js +429 -0
  103. package/dist/core/crawler/trusted-types-handler.d.ts +149 -0
  104. package/dist/core/crawler/trusted-types-handler.js +413 -0
  105. package/{cli/dist → dist}/core/crawler/types.d.ts +68 -2
  106. package/dist/core/crawler/wait-strategies.d.ts +108 -0
  107. package/dist/core/crawler/wait-strategies.js +399 -0
  108. package/dist/core/fixtures/factories.d.ts +180 -0
  109. package/dist/core/fixtures/factories.js +279 -0
  110. package/dist/core/fixtures/index.d.ts +6 -0
  111. package/dist/core/fixtures/index.js +6 -0
  112. package/{cli/dist → dist}/core/generation/crawler-pack-generator.d.ts +13 -3
  113. package/dist/core/generation/crawler-pack-generator.js +232 -0
  114. package/{cli/dist → dist}/core/generation/index.d.ts +2 -0
  115. package/{cli/dist → dist}/core/generation/index.js +2 -0
  116. package/{cli/dist → dist}/core/index.d.ts +2 -0
  117. package/{cli/dist → dist}/core/index.js +4 -0
  118. package/dist/core/network/index.d.ts +7 -0
  119. package/dist/core/network/index.js +7 -0
  120. package/dist/core/network/network-manager.d.ts +237 -0
  121. package/dist/core/network/network-manager.js +343 -0
  122. package/dist/core/network/network-simulator.d.ts +158 -0
  123. package/dist/core/network/network-simulator.js +261 -0
  124. package/{cli/dist → dist}/core/pack/validator.js +2 -2
  125. package/{cli/dist → dist}/core/pack-v2/migrator.d.ts +5 -0
  126. package/{cli/dist → dist}/core/pack-v2/migrator.js +81 -6
  127. package/{cli/dist → dist}/core/pack-v2/validator.js +4 -3
  128. package/{cli/dist → dist}/core/pom/base-page.js +1 -1
  129. package/{cli/dist → dist}/core/pom/loader.js +1 -1
  130. package/dist/core/reporting/index.d.ts +9 -0
  131. package/dist/core/reporting/index.js +10 -0
  132. package/dist/core/reporting/junit-reporter.d.ts +114 -0
  133. package/dist/core/reporting/junit-reporter.js +306 -0
  134. package/{cli/dist → dist}/core/runner/e2e-helpers.d.ts +1 -1
  135. package/{cli/dist → dist}/core/runner/e2e-helpers.js +2 -2
  136. package/{cli/dist → dist}/core/runner/phase3-runner.d.ts +3 -0
  137. package/{cli/dist → dist}/core/runner/phase3-runner.js +45 -14
  138. package/dist/core/sharding/test-sharding.d.ts +137 -0
  139. package/dist/core/sharding/test-sharding.js +233 -0
  140. package/dist/core/storage/cookie-manager.d.ts +160 -0
  141. package/dist/core/storage/cookie-manager.js +268 -0
  142. package/dist/core/storage/index.d.ts +7 -0
  143. package/dist/core/storage/index.js +7 -0
  144. package/dist/core/storage/storage-helpers.d.ts +138 -0
  145. package/dist/core/storage/storage-helpers.js +315 -0
  146. package/dist/core/test-helpers/index.d.ts +6 -0
  147. package/dist/core/test-helpers/index.js +6 -0
  148. package/dist/core/test-helpers/state-reset.d.ts +119 -0
  149. package/dist/core/test-helpers/state-reset.js +234 -0
  150. package/{cli/dist → dist}/core/types/pack-v1.d.ts +15 -2
  151. package/{cli/dist → dist}/core/types/pack-v2.d.ts +1 -1
  152. package/dist/core/upload/chunked-uploader.d.ts +150 -0
  153. package/dist/core/upload/chunked-uploader.js +289 -0
  154. package/dist/core/upload/index.d.ts +11 -0
  155. package/dist/core/upload/index.js +8 -0
  156. package/dist/core/upload/mime-validator.d.ts +119 -0
  157. package/dist/core/upload/mime-validator.js +373 -0
  158. package/dist/core/upload/presigned-uploader.d.ts +118 -0
  159. package/dist/core/upload/presigned-uploader.js +274 -0
  160. package/dist/core/utils/device-emulation.d.ts +194 -0
  161. package/dist/core/utils/device-emulation.js +380 -0
  162. package/dist/core/utils/index.d.ts +8 -0
  163. package/dist/core/utils/index.js +8 -0
  164. package/dist/core/utils/retry.d.ts +145 -0
  165. package/dist/core/utils/retry.js +242 -0
  166. package/dist/core/utils/smart-wait.d.ts +133 -0
  167. package/dist/core/utils/smart-wait.js +417 -0
  168. package/dist/core/visual/index.d.ts +7 -0
  169. package/dist/core/visual/index.js +7 -0
  170. package/dist/core/visual/pixel-diff.d.ts +87 -0
  171. package/dist/core/visual/pixel-diff.js +213 -0
  172. package/dist/core/visual/screenshot-helper.d.ts +130 -0
  173. package/dist/core/visual/screenshot-helper.js +223 -0
  174. package/{cli/dist → dist}/index.js +2 -3
  175. package/{cli/dist → dist}/utils/config.d.ts +1 -1
  176. package/{cli/dist → dist}/utils/config.js +36 -3
  177. package/examples/README.md +160 -0
  178. package/examples/accessibility.yml +48 -0
  179. package/examples/api-basic.yml +27 -0
  180. package/examples/complete.yml +146 -0
  181. package/examples/crawler.yml +38 -0
  182. package/examples/fullstack.yml +78 -0
  183. package/examples/security.yml +58 -0
  184. package/examples/ui-advanced.yml +49 -0
  185. package/examples/ui-basic.yml +24 -0
  186. package/package.json +33 -67
  187. package/CHANGELOG.md +0 -330
  188. package/CONTRIBUTING.md +0 -273
  189. package/QUICK_START.md +0 -191
  190. package/cli/CHANGELOG.md +0 -84
  191. package/cli/LICENSE +0 -24
  192. package/cli/README.md +0 -222
  193. package/cli/dist/core/adapters/playwright-ui.js +0 -864
  194. package/cli/dist/core/auth/oauth2-provider.js +0 -114
  195. package/cli/dist/core/coverage/analyzer.d.ts +0 -101
  196. package/cli/dist/core/coverage/analyzer.js +0 -415
  197. package/cli/dist/core/coverage/collector.d.ts +0 -74
  198. package/cli/dist/core/coverage/collector.js +0 -459
  199. package/cli/dist/core/coverage/config.d.ts +0 -37
  200. package/cli/dist/core/coverage/config.js +0 -156
  201. package/cli/dist/core/coverage/index.d.ts +0 -11
  202. package/cli/dist/core/coverage/index.js +0 -15
  203. package/cli/dist/core/coverage/types.d.ts +0 -267
  204. package/cli/dist/core/coverage/types.js +0 -6
  205. package/cli/dist/core/coverage/vault.d.ts +0 -95
  206. package/cli/dist/core/coverage/vault.js +0 -405
  207. package/cli/dist/core/crawler/index.d.ts +0 -57
  208. package/cli/dist/core/fixtures/index.d.ts +0 -8
  209. package/cli/dist/core/fixtures/index.js +0 -8
  210. package/cli/dist/core/generation/crawler-pack-generator.js +0 -231
  211. package/cli/dist/core/reporting/index.d.ts +0 -6
  212. package/cli/dist/core/reporting/index.js +0 -6
  213. package/cli/dist/core/visual/index.d.ts +0 -6
  214. package/cli/dist/core/visual/index.js +0 -6
  215. package/cli/package.json +0 -76
  216. package/core/LICENSE +0 -24
  217. package/core/README.md +0 -105
  218. package/core/package.json +0 -90
  219. package/core/schemas/pack.schema.json +0 -236
  220. /package/{cli/bin → bin}/qa360.js +0 -0
  221. /package/{cli/dist → dist}/cli-minimal.d.ts +0 -0
  222. /package/{cli/dist → dist}/cli-minimal.js +0 -0
  223. /package/{cli/dist → dist}/commands/ai.d.ts +0 -0
  224. /package/{cli/dist → dist}/commands/ask.d.ts +0 -0
  225. /package/{cli/dist → dist}/commands/coverage.d.ts +0 -0
  226. /package/{cli/dist → dist}/commands/crawl.d.ts +0 -0
  227. /package/{cli/dist → dist}/commands/doctor.d.ts +0 -0
  228. /package/{cli/dist → dist}/commands/examples.d.ts +0 -0
  229. /package/{cli/dist → dist}/commands/examples.js +0 -0
  230. /package/{cli/dist → dist}/commands/explain.d.ts +0 -0
  231. /package/{cli/dist → dist}/commands/flakiness.d.ts +0 -0
  232. /package/{cli/dist → dist}/commands/generate.d.ts +0 -0
  233. /package/{cli/dist → dist}/commands/history.d.ts +0 -0
  234. /package/{cli/dist → dist}/commands/init.d.ts +0 -0
  235. /package/{cli/dist → dist}/commands/init.js +0 -0
  236. /package/{cli/dist → dist}/commands/monitor.d.ts +0 -0
  237. /package/{cli/dist → dist}/commands/ollama.d.ts +0 -0
  238. /package/{cli/dist → dist}/commands/pack.d.ts +0 -0
  239. /package/{cli/dist → dist}/commands/regression.d.ts +0 -0
  240. /package/{cli/dist → dist}/commands/repair.d.ts +0 -0
  241. /package/{cli/dist → dist}/commands/report.d.ts +0 -0
  242. /package/{cli/dist → dist}/commands/report.js +0 -0
  243. /package/{cli/dist → dist}/commands/retry.d.ts +0 -0
  244. /package/{cli/dist → dist}/commands/scan.d.ts +0 -0
  245. /package/{cli/dist → dist}/commands/scan.js +0 -0
  246. /package/{cli/dist → dist}/commands/secrets.d.ts +0 -0
  247. /package/{cli/dist → dist}/commands/serve.d.ts +0 -0
  248. /package/{cli/dist → dist}/commands/slo.d.ts +0 -0
  249. /package/{cli/dist → dist}/commands/verify.d.ts +0 -0
  250. /package/{cli/dist → dist}/core/adapters/gitleaks-secrets.d.ts +0 -0
  251. /package/{cli/dist → dist}/core/adapters/gitleaks-secrets.js +0 -0
  252. /package/{cli/dist → dist}/core/adapters/jest-adapter.d.ts +0 -0
  253. /package/{cli/dist → dist}/core/adapters/jest-adapter.js +0 -0
  254. /package/{cli/dist → dist}/core/adapters/k6-perf.d.ts +0 -0
  255. /package/{cli/dist → dist}/core/adapters/k6-perf.js +0 -0
  256. /package/{cli/dist → dist}/core/adapters/osv-deps.d.ts +0 -0
  257. /package/{cli/dist → dist}/core/adapters/osv-deps.js +0 -0
  258. /package/{cli/dist → dist}/core/adapters/playwright-native-adapter.d.ts +0 -0
  259. /package/{cli/dist → dist}/core/adapters/playwright-native-adapter.js +0 -0
  260. /package/{cli/dist → dist}/core/adapters/pytest-adapter.d.ts +0 -0
  261. /package/{cli/dist → dist}/core/adapters/pytest-adapter.js +0 -0
  262. /package/{cli/dist → dist}/core/adapters/semgrep-sast.d.ts +0 -0
  263. /package/{cli/dist → dist}/core/adapters/semgrep-sast.js +0 -0
  264. /package/{cli/dist → dist}/core/adapters/unit-test-types.d.ts +0 -0
  265. /package/{cli/dist → dist}/core/adapters/unit-test-types.js +0 -0
  266. /package/{cli/dist → dist}/core/adapters/vitest-adapter.d.ts +0 -0
  267. /package/{cli/dist → dist}/core/adapters/vitest-adapter.js +0 -0
  268. /package/{cli/dist → dist}/core/adapters/zap-dast.d.ts +0 -0
  269. /package/{cli/dist → dist}/core/adapters/zap-dast.js +0 -0
  270. /package/{cli/dist → dist}/core/ai/anthropic-provider.d.ts +0 -0
  271. /package/{cli/dist → dist}/core/ai/anthropic-provider.js +0 -0
  272. /package/{cli/dist → dist}/core/ai/deepseek-provider.d.ts +0 -0
  273. /package/{cli/dist → dist}/core/ai/deepseek-provider.js +0 -0
  274. /package/{cli/dist → dist}/core/ai/index.d.ts +0 -0
  275. /package/{cli/dist → dist}/core/ai/index.js +0 -0
  276. /package/{cli/dist → dist}/core/ai/llm-client.d.ts +0 -0
  277. /package/{cli/dist → dist}/core/ai/llm-client.js +0 -0
  278. /package/{cli/dist → dist}/core/ai/mock-provider.d.ts +0 -0
  279. /package/{cli/dist → dist}/core/ai/mock-provider.js +0 -0
  280. /package/{cli/dist → dist}/core/ai/openai-provider.d.ts +0 -0
  281. /package/{cli/dist → dist}/core/ai/openai-provider.js +0 -0
  282. /package/{cli/dist → dist}/core/ai/provider-factory.d.ts +0 -0
  283. /package/{cli/dist → dist}/core/ai/provider-factory.js +0 -0
  284. /package/{cli/dist → dist}/core/artifacts/index.d.ts +0 -0
  285. /package/{cli/dist → dist}/core/artifacts/index.js +0 -0
  286. /package/{cli/dist → dist}/core/artifacts/ui-artifacts.d.ts +0 -0
  287. /package/{cli/dist → dist}/core/assertions/engine.d.ts +0 -0
  288. /package/{cli/dist → dist}/core/assertions/engine.js +0 -0
  289. /package/{cli/dist → dist}/core/assertions/index.d.ts +0 -0
  290. /package/{cli/dist → dist}/core/assertions/index.js +0 -0
  291. /package/{cli/dist → dist}/core/assertions/types.d.ts +0 -0
  292. /package/{cli/dist → dist}/core/assertions/types.js +0 -0
  293. /package/{cli/dist → dist}/core/auth/api-key-provider.d.ts +0 -0
  294. /package/{cli/dist → dist}/core/auth/api-key-provider.js +0 -0
  295. /package/{cli/dist → dist}/core/auth/aws-iam-provider.d.ts +0 -0
  296. /package/{cli/dist → dist}/core/auth/aws-iam-provider.js +0 -0
  297. /package/{cli/dist → dist}/core/auth/azure-ad-provider.d.ts +0 -0
  298. /package/{cli/dist → dist}/core/auth/azure-ad-provider.js +0 -0
  299. /package/{cli/dist → dist}/core/auth/gcp-adc-provider.d.ts +0 -0
  300. /package/{cli/dist → dist}/core/auth/gcp-adc-provider.js +0 -0
  301. /package/{cli/dist → dist}/core/auth/jwt-provider.d.ts +0 -0
  302. /package/{cli/dist → dist}/core/auth/jwt-provider.js +0 -0
  303. /package/{cli/dist → dist}/core/auth/manager.d.ts +0 -0
  304. /package/{cli/dist → dist}/core/auth/manager.js +0 -0
  305. /package/{cli/dist → dist}/core/auth/totp-provider.d.ts +0 -0
  306. /package/{cli/dist → dist}/core/auth/totp-provider.js +0 -0
  307. /package/{cli/dist → dist}/core/auth/ui-login-provider.d.ts +0 -0
  308. /package/{cli/dist → dist}/core/auth/ui-login-provider.js +0 -0
  309. /package/{cli/dist → dist}/core/cache/index.d.ts +0 -0
  310. /package/{cli/dist → dist}/core/cache/index.js +0 -0
  311. /package/{cli/dist → dist}/core/cache/lru-cache.d.ts +0 -0
  312. /package/{cli/dist → dist}/core/cache/lru-cache.js +0 -0
  313. /package/{cli/dist/core → dist}/core/coverage/analyzer.d.ts +0 -0
  314. /package/{cli/dist/core → dist}/core/coverage/analyzer.js +0 -0
  315. /package/{cli/dist/core → dist}/core/coverage/collector.d.ts +0 -0
  316. /package/{cli/dist/core → dist}/core/coverage/collector.js +0 -0
  317. /package/{cli/dist/core → dist}/core/coverage/config.d.ts +0 -0
  318. /package/{cli/dist/core → dist}/core/coverage/config.js +0 -0
  319. /package/{cli/dist/core → dist}/core/coverage/index.d.ts +0 -0
  320. /package/{cli/dist/core → dist}/core/coverage/index.js +0 -0
  321. /package/{cli/dist/core → dist}/core/coverage/types.d.ts +0 -0
  322. /package/{cli/dist/core → dist}/core/coverage/types.js +0 -0
  323. /package/{cli/dist/core → dist}/core/coverage/vault.d.ts +0 -0
  324. /package/{cli/dist/core → dist}/core/coverage/vault.js +0 -0
  325. /package/{cli/dist → dist}/core/crawler/journey-generator.d.ts +0 -0
  326. /package/{cli/dist → dist}/core/crawler/types.js +0 -0
  327. /package/{cli/dist → dist}/core/dashboard/assets.d.ts +0 -0
  328. /package/{cli/dist → dist}/core/dashboard/assets.js +0 -0
  329. /package/{cli/dist → dist}/core/dashboard/index.d.ts +0 -0
  330. /package/{cli/dist → dist}/core/dashboard/index.js +0 -0
  331. /package/{cli/dist → dist}/core/dashboard/server.d.ts +0 -0
  332. /package/{cli/dist → dist}/core/dashboard/server.js +0 -0
  333. /package/{cli/dist → dist}/core/dashboard/types.d.ts +0 -0
  334. /package/{cli/dist → dist}/core/dashboard/types.js +0 -0
  335. /package/{cli/dist → dist}/core/discoverer/index.d.ts +0 -0
  336. /package/{cli/dist → dist}/core/discoverer/index.js +0 -0
  337. /package/{cli/dist → dist}/core/fixtures/loader.d.ts +0 -0
  338. /package/{cli/dist → dist}/core/fixtures/loader.js +0 -0
  339. /package/{cli/dist → dist}/core/fixtures/resolver.d.ts +0 -0
  340. /package/{cli/dist → dist}/core/fixtures/resolver.js +0 -0
  341. /package/{cli/dist → dist}/core/fixtures/types.d.ts +0 -0
  342. /package/{cli/dist → dist}/core/fixtures/types.js +0 -0
  343. /package/{cli/dist → dist}/core/flakiness/index.d.ts +0 -0
  344. /package/{cli/dist → dist}/core/flakiness/index.js +0 -0
  345. /package/{cli/dist → dist}/core/generation/code-formatter.d.ts +0 -0
  346. /package/{cli/dist → dist}/core/generation/code-formatter.js +0 -0
  347. /package/{cli/dist → dist}/core/generation/code-generator.d.ts +0 -0
  348. /package/{cli/dist → dist}/core/generation/code-generator.js +0 -0
  349. /package/{cli/dist → dist}/core/generation/generator.d.ts +0 -0
  350. /package/{cli/dist → dist}/core/generation/generator.js +0 -0
  351. /package/{cli/dist → dist}/core/generation/pack-generator.d.ts +0 -0
  352. /package/{cli/dist → dist}/core/generation/pack-generator.js +0 -0
  353. /package/{cli/dist → dist}/core/generation/prompt-builder.d.ts +0 -0
  354. /package/{cli/dist → dist}/core/generation/prompt-builder.js +0 -0
  355. /package/{cli/dist → dist}/core/generation/source-analyzer.d.ts +0 -0
  356. /package/{cli/dist → dist}/core/generation/source-analyzer.js +0 -0
  357. /package/{cli/dist → dist}/core/generation/test-optimizer.d.ts +0 -0
  358. /package/{cli/dist → dist}/core/generation/test-optimizer.js +0 -0
  359. /package/{cli/dist → dist}/core/generation/types.d.ts +0 -0
  360. /package/{cli/dist → dist}/core/generation/types.js +0 -0
  361. /package/{cli/dist → dist}/core/hooks/compose.d.ts +0 -0
  362. /package/{cli/dist → dist}/core/hooks/compose.js +0 -0
  363. /package/{cli/dist → dist}/core/hooks/runner.d.ts +0 -0
  364. /package/{cli/dist → dist}/core/hooks/runner.js +0 -0
  365. /package/{cli/dist → dist}/core/pack/migrator.d.ts +0 -0
  366. /package/{cli/dist → dist}/core/pack/migrator.js +0 -0
  367. /package/{cli/dist → dist}/core/pack/validator.d.ts +0 -0
  368. /package/{cli/dist → dist}/core/pack-v2/index.d.ts +0 -0
  369. /package/{cli/dist → dist}/core/pack-v2/index.js +0 -0
  370. /package/{cli/dist → dist}/core/pack-v2/loader.d.ts +0 -0
  371. /package/{cli/dist → dist}/core/pack-v2/loader.js +0 -0
  372. /package/{cli/dist → dist}/core/pack-v2/validator.d.ts +0 -0
  373. /package/{cli/dist → dist}/core/parallel/index.d.ts +0 -0
  374. /package/{cli/dist → dist}/core/parallel/index.js +0 -0
  375. /package/{cli/dist → dist}/core/parallel/parallel-runner.d.ts +0 -0
  376. /package/{cli/dist → dist}/core/parallel/parallel-runner.js +0 -0
  377. /package/{cli/dist → dist}/core/pom/base-page.d.ts +0 -0
  378. /package/{cli/dist → dist}/core/pom/index.d.ts +0 -0
  379. /package/{cli/dist → dist}/core/pom/index.js +0 -0
  380. /package/{cli/dist → dist}/core/pom/loader.d.ts +0 -0
  381. /package/{cli/dist → dist}/core/pom/types.d.ts +0 -0
  382. /package/{cli/dist → dist}/core/pom/types.js +0 -0
  383. /package/{cli/dist → dist}/core/proof/bundle.d.ts +0 -0
  384. /package/{cli/dist → dist}/core/proof/bundle.js +0 -0
  385. /package/{cli/dist → dist}/core/proof/canonicalize.d.ts +0 -0
  386. /package/{cli/dist → dist}/core/proof/canonicalize.js +0 -0
  387. /package/{cli/dist → dist}/core/proof/index.d.ts +0 -0
  388. /package/{cli/dist → dist}/core/proof/index.js +0 -0
  389. /package/{cli/dist → dist}/core/proof/schema.d.ts +0 -0
  390. /package/{cli/dist → dist}/core/proof/schema.js +0 -0
  391. /package/{cli/dist → dist}/core/proof/signer.d.ts +0 -0
  392. /package/{cli/dist → dist}/core/proof/signer.js +0 -0
  393. /package/{cli/dist → dist}/core/proof/verifier.d.ts +0 -0
  394. /package/{cli/dist → dist}/core/proof/verifier.js +0 -0
  395. /package/{cli/dist → dist}/core/regression/detector.d.ts +0 -0
  396. /package/{cli/dist → dist}/core/regression/detector.js +0 -0
  397. /package/{cli/dist → dist}/core/regression/index.d.ts +0 -0
  398. /package/{cli/dist → dist}/core/regression/index.js +0 -0
  399. /package/{cli/dist → dist}/core/regression/trend-analyzer.d.ts +0 -0
  400. /package/{cli/dist → dist}/core/regression/trend-analyzer.js +0 -0
  401. /package/{cli/dist → dist}/core/regression/types.d.ts +0 -0
  402. /package/{cli/dist → dist}/core/regression/types.js +0 -0
  403. /package/{cli/dist → dist}/core/regression/vault.d.ts +0 -0
  404. /package/{cli/dist → dist}/core/regression/vault.js +0 -0
  405. /package/{cli/dist → dist}/core/repair/engine/fixer.d.ts +0 -0
  406. /package/{cli/dist → dist}/core/repair/engine/fixer.js +0 -0
  407. /package/{cli/dist → dist}/core/repair/engine/suggestion-engine.d.ts +0 -0
  408. /package/{cli/dist → dist}/core/repair/engine/suggestion-engine.js +0 -0
  409. /package/{cli/dist → dist}/core/repair/index.d.ts +0 -0
  410. /package/{cli/dist → dist}/core/repair/index.js +0 -0
  411. /package/{cli/dist → dist}/core/repair/repairer.d.ts +0 -0
  412. /package/{cli/dist → dist}/core/repair/repairer.js +0 -0
  413. /package/{cli/dist → dist}/core/repair/types.d.ts +0 -0
  414. /package/{cli/dist → dist}/core/repair/types.js +0 -0
  415. /package/{cli/dist → dist}/core/repair/utils/error-analyzer.d.ts +0 -0
  416. /package/{cli/dist → dist}/core/repair/utils/error-analyzer.js +0 -0
  417. /package/{cli/dist → dist}/core/reporting/html-reporter.d.ts +0 -0
  418. /package/{cli/dist → dist}/core/reporting/html-reporter.js +0 -0
  419. /package/{cli/dist → dist}/core/retry/flakiness-integration.d.ts +0 -0
  420. /package/{cli/dist → dist}/core/retry/flakiness-integration.js +0 -0
  421. /package/{cli/dist → dist}/core/retry/index.d.ts +0 -0
  422. /package/{cli/dist → dist}/core/retry/index.js +0 -0
  423. /package/{cli/dist → dist}/core/retry/retry-engine.d.ts +0 -0
  424. /package/{cli/dist → dist}/core/retry/retry-engine.js +0 -0
  425. /package/{cli/dist → dist}/core/retry/types.d.ts +0 -0
  426. /package/{cli/dist → dist}/core/retry/types.js +0 -0
  427. /package/{cli/dist → dist}/core/retry/vault.d.ts +0 -0
  428. /package/{cli/dist → dist}/core/retry/vault.js +0 -0
  429. /package/{cli/dist → dist}/core/schemas/pack.schema.json +0 -0
  430. /package/{cli/dist → dist}/core/secrets/crypto.d.ts +0 -0
  431. /package/{cli/dist → dist}/core/secrets/crypto.js +0 -0
  432. /package/{cli/dist → dist}/core/secrets/manager.d.ts +0 -0
  433. /package/{cli/dist → dist}/core/secrets/manager.js +0 -0
  434. /package/{cli/dist → dist}/core/security/redaction-patterns-extended.d.ts +0 -0
  435. /package/{cli/dist → dist}/core/security/redaction-patterns-extended.js +0 -0
  436. /package/{cli/dist → dist}/core/security/redactor.d.ts +0 -0
  437. /package/{cli/dist → dist}/core/security/redactor.js +0 -0
  438. /package/{cli/dist → dist}/core/self-healing/assertion-healer.d.ts +0 -0
  439. /package/{cli/dist → dist}/core/self-healing/assertion-healer.js +0 -0
  440. /package/{cli/dist → dist}/core/self-healing/engine.d.ts +0 -0
  441. /package/{cli/dist → dist}/core/self-healing/engine.js +0 -0
  442. /package/{cli/dist → dist}/core/self-healing/index.d.ts +0 -0
  443. /package/{cli/dist → dist}/core/self-healing/index.js +0 -0
  444. /package/{cli/dist → dist}/core/self-healing/selector-healer.d.ts +0 -0
  445. /package/{cli/dist → dist}/core/self-healing/selector-healer.js +0 -0
  446. /package/{cli/dist → dist}/core/self-healing/types.d.ts +0 -0
  447. /package/{cli/dist → dist}/core/self-healing/types.js +0 -0
  448. /package/{cli/dist → dist}/core/serve/diagnostics-collector.d.ts +0 -0
  449. /package/{cli/dist → dist}/core/serve/diagnostics-collector.js +0 -0
  450. /package/{cli/dist → dist}/core/serve/health-checker.d.ts +0 -0
  451. /package/{cli/dist → dist}/core/serve/health-checker.js +0 -0
  452. /package/{cli/dist → dist}/core/serve/index.d.ts +0 -0
  453. /package/{cli/dist → dist}/core/serve/index.js +0 -0
  454. /package/{cli/dist → dist}/core/serve/metrics-collector.d.ts +0 -0
  455. /package/{cli/dist → dist}/core/serve/metrics-collector.js +0 -0
  456. /package/{cli/dist → dist}/core/serve/process-manager.d.ts +0 -0
  457. /package/{cli/dist → dist}/core/serve/process-manager.js +0 -0
  458. /package/{cli/dist → dist}/core/serve/server.d.ts +0 -0
  459. /package/{cli/dist → dist}/core/serve/server.js +0 -0
  460. /package/{cli/dist → dist}/core/slo/config.d.ts +0 -0
  461. /package/{cli/dist → dist}/core/slo/config.js +0 -0
  462. /package/{cli/dist → dist}/core/slo/index.d.ts +0 -0
  463. /package/{cli/dist → dist}/core/slo/index.js +0 -0
  464. /package/{cli/dist → dist}/core/slo/sli-calculator.d.ts +0 -0
  465. /package/{cli/dist → dist}/core/slo/sli-calculator.js +0 -0
  466. /package/{cli/dist → dist}/core/slo/slo-tracker.d.ts +0 -0
  467. /package/{cli/dist → dist}/core/slo/slo-tracker.js +0 -0
  468. /package/{cli/dist → dist}/core/slo/types.d.ts +0 -0
  469. /package/{cli/dist → dist}/core/slo/types.js +0 -0
  470. /package/{cli/dist → dist}/core/slo/vault.d.ts +0 -0
  471. /package/{cli/dist → dist}/core/slo/vault.js +0 -0
  472. /package/{cli/dist → dist}/core/tui/index.d.ts +0 -0
  473. /package/{cli/dist → dist}/core/tui/index.js +0 -0
  474. /package/{cli/dist → dist}/core/tui/monitor.d.ts +0 -0
  475. /package/{cli/dist → dist}/core/tui/monitor.js +0 -0
  476. /package/{cli/dist → dist}/core/tui/renderer.d.ts +0 -0
  477. /package/{cli/dist → dist}/core/tui/renderer.js +0 -0
  478. /package/{cli/dist → dist}/core/tui/types.d.ts +0 -0
  479. /package/{cli/dist → dist}/core/tui/types.js +0 -0
  480. /package/{cli/dist → dist}/core/types/pack-v1.js +0 -0
  481. /package/{cli/dist → dist}/core/types/pack-v2.js +0 -0
  482. /package/{cli/dist → dist}/core/types/trust-score.d.ts +0 -0
  483. /package/{cli/dist → dist}/core/types/trust-score.js +0 -0
  484. /package/{cli/dist → dist}/core/vault/cas.d.ts +0 -0
  485. /package/{cli/dist → dist}/core/vault/cas.js +0 -0
  486. /package/{cli/dist → dist}/core/vault/index.d.ts +0 -0
  487. /package/{cli/dist → dist}/core/vault/index.js +0 -0
  488. /package/{cli/dist → dist}/core/visual/visual-regression.d.ts +0 -0
  489. /package/{cli/dist → dist}/core/visual/visual-regression.js +0 -0
  490. /package/{cli/dist → dist}/core/watch/index.d.ts +0 -0
  491. /package/{cli/dist → dist}/core/watch/index.js +0 -0
  492. /package/{cli/dist → dist}/core/watch/watch-mode.d.ts +0 -0
  493. /package/{cli/dist → dist}/core/watch/watch-mode.js +0 -0
  494. /package/{cli/dist → dist}/generators/index.d.ts +0 -0
  495. /package/{cli/dist → dist}/generators/index.js +0 -0
  496. /package/{cli/dist → dist}/generators/json-reporter.d.ts +0 -0
  497. /package/{cli/dist → dist}/generators/json-reporter.js +0 -0
  498. /package/{cli/dist → dist}/generators/test-generator.d.ts +0 -0
  499. /package/{cli/dist → dist}/generators/test-generator.js +0 -0
  500. /package/{cli/dist → dist}/index.d.ts +0 -0
  501. /package/{cli/dist → dist}/scanners/dom-scanner.d.ts +0 -0
  502. /package/{cli/dist → dist}/scanners/dom-scanner.js +0 -0
  503. /package/{cli/dist → dist}/scanners/index.d.ts +0 -0
  504. /package/{cli/dist → dist}/scanners/index.js +0 -0
  505. /package/{cli/dist → dist}/schemas/pack.schema.json +0 -0
  506. /package/{cli/dist → dist}/types/scan.d.ts +0 -0
  507. /package/{cli/dist → dist}/types/scan.js +0 -0
package/CONTRIBUTING.md DELETED
@@ -1,273 +0,0 @@
1
- # Contributing to QA360
2
-
3
- ## 🚀 IMPORTANT - AI INTEGRATION IN PROGRESS
4
-
5
- **Status**: Phases 1-3 terminées | Phase 4 en préparation
6
-
7
- QA360 est en cours de **transformation AI-native** avec Ollama (100% gratuit, local).
8
-
9
- **Progression**: Voir [`docs/OLLAMA_REFACTORING_ROADMAP.md`](./docs/OLLAMA_REFACTORING_ROADMAP.md)
10
-
11
- ---
12
-
13
- ## Mission Statement
14
-
15
- QA360 transforms software testing into **verifiable, signed, and traceable proofs**.
16
-
17
- Our goal: Make quality **executable, measurable, and legally provable** while remaining **simple, portable, and sovereign**.
18
-
19
- ## 🔄 Architecture Pivot (2025)
20
-
21
- ### Bilan des Phases Terminées
22
-
23
- | Phase | Composant | Tests | Statut |
24
- |-------|-----------|-------|--------|
25
- | **Phase 1** | Ollama Provider | 96 | ✅ Terminé |
26
- | **Phase 2** | Auth Module (9 providers) | 92 | ✅ Terminé |
27
- | **Phase 3** | Pack Validation | 210 | ✅ Terminé |
28
-
29
- **Total Phases 1-3**: 398 tests ajoutés
30
-
31
- ### Ce qui a changé
32
-
33
- | Aspect | Avant | Après |
34
- |--------|-------|-------|
35
- | **AI Provider** | Non | OllamaProvider (retry, timeout) |
36
- | **Test Discovery** | Manuel (pack.yml) | TestDiscoverer (auto-détection) |
37
- | **Authentification** | Secrets chiffrés simples | 9 providers (JWT, OAuth2, TOTP, Cloud, UI Login) |
38
- | **Pack Format** | Simple (array-based) | Complet (object-based + auth profiles) |
39
- | **Validation** | PackValidator basic | PackValidator (36 codes d'erreur) |
40
-
41
- ### Ce qui est PRÉSERVÉ (Le cœur de QA360)
42
-
43
- ✅ **Proof System** - Signatures Ed25519, vérification, canonicalisation
44
- ✅ **Evidence Vault** - SQLite + CAS, stockage immuable
45
- ✅ **Pack System** - Configuration déclarative
46
- ✅ **Security Redactor** - Protection des secrets
47
- ✅ **Adapters** - Playwright, k6, Semgrep, ZAP, Gitleaks, OSV
48
-
49
- ### Prochaines Phases
50
-
51
- | Phase | Sujet | Statut |
52
- |-------|-------|--------|
53
- | **Phase 4** | AI Test Generation | ⏳ À faire |
54
- | **Phase 5** | Integration & Polish | ⏳ À faire |
55
-
56
- ---
57
-
58
- ## Development Principles
59
-
60
- ### 📌 Versioning System
61
-
62
- **IMPORTANT**: QA360 uses **Node.js-style versioning** (Major.Minor.Patch).
63
-
64
- Example: `v1.4.5` (similar to Node.js `v18.20.5`)
65
-
66
- - **Major** (X.0.0): Breaking changes, major rewrites
67
- - **Minor** (1.X.0): New features, backward compatible
68
- - **Patch** (1.4.X): Bug fixes, minor improvements
69
-
70
- Always reference versions with the **`v`** prefix in documentation and commits.
71
-
72
- ### 🎯 Core Values
73
- - **Simplicity**: One command, one file, one proof
74
- - **Auditability**: Every action is traceable and verifiable
75
- - **Elegance**: Clean code that speaks for itself
76
- - **Portability**: Works everywhere, depends on nothing external
77
- - **AI-Native**: Utilise Ollama pour une génération intelligente
78
- - **Auth-Complete**: Gère tous les scénarios d'authentification
79
-
80
- ### 🏗️ Architecture Guidelines
81
- - **Local-first**: Ollama runs locally, no cloud dependency for AI
82
- - **BYOCI**: Bring Your Own CI/CD integration
83
- - **Monorepo**: All components in one repository
84
- - **TypeScript**: Type safety and developer experience
85
- - **AI-Enhanced**: Generation de code via Ollama (DeepSeek Coder)
86
-
87
- ---
88
-
89
- ## Development Workflow
90
-
91
- ### Branch Strategy (SIMPLIFIED)
92
-
93
- ```
94
- main ← Production releases (STABLE)
95
-
96
- develop ← Development branch (WORK HERE)
97
- ```
98
-
99
- **IMPORTANT - Workflow simplifié**:
100
- 1. Travailler **directement sur `develop`**
101
- 2. Committer et pousser sur `develop`
102
- 3. Vérifier que la **CI est verte** sur `develop`
103
- 4. Merger `develop` vers `main` **uniquement quand tout est vert**
104
- 5. Vérifier que la **CI est aussi verte** sur `main`
105
- 6. **Supprimer toutes les autres branches** (pas de `feature/*`, pas de confusion)
106
-
107
- ### Workflow complet
108
-
109
- ```bash
110
- # 1. S'assurer d'être sur develop
111
- git checkout develop
112
- git pull origin develop
113
-
114
- # 2. Travailler sur develop
115
- # ... faire les modifications ...
116
-
117
- # 3. Committer
118
- git add .
119
- git commit -m "fix(scope): description"
120
-
121
- # 4. Pusher
122
- git push origin develop
123
-
124
- # 5. Attendre que la CI soit verte sur develop
125
-
126
- # 6. Merger vers main
127
- git checkout main
128
- git pull origin main
129
- git merge develop
130
- git push origin main
131
-
132
- # 7. Vérifier que la CI est verte sur main
133
-
134
- # 8. Nettoyer les branches locales (supprimer feature/*)
135
- git branch | grep -E 'feature/' | xargs git branch -D 2>/dev/null || true
136
- ```
137
-
138
- ### ⚠️ Règles strictes
139
-
140
- **OBLIGATOIRE**:
141
- - ✅ Travailler sur `develop` uniquement
142
- - ✅ CI verte sur `develop` avant merge vers `main`
143
- - ✅ CI verte sur `main` après merge
144
- - ✅ Supprimer les branches `feature/*` locales et distantes
145
-
146
- **INTERDIT**:
147
- - ❌ Créer des branches `feature/*`
148
- - ❌ Travailler directement sur `main`
149
- - ❌ Merge vers `main` si la CI n'est pas verte
150
- - ❌ Laisser des branches orphelines
151
-
152
- ### Commit Convention
153
-
154
- Nous utilisons [Conventional Commits](https://www.conventionalcommits.org/):
155
-
156
- ```
157
- feat(ai): add Ollama provider with DeepSeek Coder support
158
- feat(auth): implement JWT manager with auto-refresh
159
- feat(cli): add generate command for AI test generation
160
- fix(core): resolve signature verification edge case
161
- refactor(adapters): inject auth manager into playwright adapter
162
- docs(auth): add authentication guide
163
- test(vault): add evidence storage integration tests
164
- chore(deps): add ollama dependency
165
- ```
166
-
167
- ### ⛔ Publication NPM - DÉACTIVÉ
168
-
169
- **ATTENTION**: Les publications NPM sont temporairement désactivées pendant la refactorisation.
170
-
171
- Le workflow `.github/workflows/release.yml` est désactivé via `if: false`.
172
-
173
- **Ne PAS**:
174
- - ❌ Créer de tag `v*` sur `main`
175
- - ❌ Publier sur npm
176
- - ❌ Incrémenter la version dans `package.json`
177
-
178
- **Oui, continuez à**:
179
- - ✅ Travailler sur `develop`
180
- - ✅ Committer et pousser régulièrement
181
- - ✅ Faire des commits conventionnels
182
-
183
- ---
184
-
185
- ## Phase-by-Phase Development
186
-
187
- **Phase actuelle**: **Phase 3 terminée, Phase 4 en préparation**
188
-
189
- | Phase | Status | Description | Tests |
190
- |-------|--------|-------------|-------|
191
- | **Phase 1** | ✅ Terminé | Ollama Provider, TestDiscoverer, PackConfig | 96 |
192
- | **Phase 2** | ✅ Terminé | Auth Module (9 providers) | 92 |
193
- | **Phase 3** | ✅ Terminé | Pack Validation, Migration, Loader | 210 |
194
- | **Phase 4** | ⏳ À faire | AI Test Generation | - |
195
- | **Phase 5** | ⏳ À faire | Integration & Polish | - |
196
-
197
- **Tests Globaux**: 1859 passing (CLI: 358, Core: 1455, MCP: 46)
198
-
199
- ---
200
-
201
- ## Code Standards
202
-
203
- ### TypeScript Configuration
204
- - Strict mode enabled
205
- - No `any` types allowed
206
- - Comprehensive error handling
207
-
208
- ### Testing Requirements
209
- - Unit tests for all core functions
210
- - Integration tests for CLI commands
211
- - End-to-end tests for complete workflows
212
-
213
- ### Documentation Standards
214
- - Every module has a README.md
215
- - Usage examples for all public APIs
216
- - Error messages are pedagogical and guiding
217
-
218
- ---
219
-
220
- ## Getting Started
221
-
222
- ### Prerequisites
223
-
224
- **Obligatoire**:
225
- - Node.js 18+
226
- - TypeScript 5+
227
- - pnpm 9+
228
-
229
- **Optionnel mais recommandé pour le développement**:
230
- - Ollama (pour IA locale) - `brew install ollama`
231
- - DeepSeek Coder model - `ollama pull deepseek-coder`
232
-
233
- ### Setup
234
- ```bash
235
- git clone <repository>
236
- cd QA360
237
- pnpm install
238
- pnpm run build
239
- pnpm test
240
- ```
241
-
242
- ### Ollama Setup (pour développement IA)
243
- ```bash
244
- # Installer Ollama
245
- brew install ollama # macOS
246
- # Ou https://ollama.com pour d'autres OS
247
-
248
- # Démarrer Ollama
249
- ollama serve
250
-
251
- # Télécharger le modèle de code
252
- ollama pull deepseek-coder
253
-
254
- # Vérifier
255
- ollama list
256
- ```
257
-
258
- ---
259
-
260
- ## Running Tests
261
-
262
- ```bash
263
- pnpm test # Tous les tests
264
- pnpm test:core # Tests core uniquement
265
- pnpm test:cli # Tests CLI uniquement
266
- pnpm lint # Code quality
267
- pnpm type-check # TypeScript validation
268
- pnpm test:all # Tout (lint + type-check + test)
269
- ```
270
-
271
- ---
272
-
273
- ## Code Standards
package/QUICK_START.md DELETED
@@ -1,191 +0,0 @@
1
- # 🚀 QA360 - Guide de Démarrage Simple
2
-
3
- Transformez vos tests en preuves vérifiables en 5 minutes.
4
-
5
- > **🚀 Beta Testing (15 Jan - 26 Fév 2025)** - Rejoignez le programme ! [Voir le plan beta](./docs/BETA_TESTING.md)
6
-
7
- ---
8
-
9
- ## ⚡ Installation (2 minutes)
10
-
11
- ### Windows
12
-
13
- 1. Ouvrez **PowerShell** en administrateur
14
- 2. Installez QA360 :
15
-
16
- ```powershell
17
- npm install -g xyqotech/qa360#develop
18
- ```
19
-
20
- ### Mac / Linux
21
-
22
- 1. Ouvrez le **Terminal**
23
- 2. Installez QA360 :
24
-
25
- ```bash
26
- npm install -g xyqotech/qa360#develop
27
- ```
28
-
29
- ### Vérifier l'installation
30
-
31
- ```bash
32
- qa360 --version
33
- ```
34
-
35
- Vous devriez voir : `v1.4.5` ou plus.
36
-
37
- > **Problème ?** Lancez `qa360 doctor --fix` pour un diagnostic automatique
38
-
39
- ---
40
-
41
- ## 🧪 Votre Premier Test (3 minutes)
42
-
43
- ### Étape 1 : Créer un dossier
44
-
45
- ```bash
46
- mkdir mon-test
47
- cd mon-test
48
- ```
49
-
50
- ### Étape 2 : Créer votre fichier de test
51
-
52
- Créez un fichier `test.yml` :
53
-
54
- ```yaml
55
- name: "Mon Premier Test"
56
- description: "Test simple d'API"
57
-
58
- gates:
59
- - api_health
60
-
61
- targets:
62
- api:
63
- baseUrl: "https://httpbin.org"
64
- smoke:
65
- - "GET /status/200 -> 200"
66
- - "GET /get -> 200"
67
- ```
68
-
69
- ### Étape 3 : Lancer le test
70
-
71
- ```bash
72
- qa360 run test.yml
73
- ```
74
-
75
- ### Résultat attendu
76
-
77
- ```
78
- ✅ API Health : PASSED (2/2)
79
- ✅ Preuve générée : .qa360/runs/xxxxx-proof.json
80
- ```
81
-
82
- ---
83
-
84
- ## 🎓 Ce que vous venez de faire
85
-
86
- 1. **Tester une API** - Vous avez vérifié que httpbin.org fonctionne
87
- 2. **Générer une preuve** - QA360 a signé cryptographiquement les résultats
88
- 3. **Sauvegarder l'historique** - Les résultats sont stockés localement
89
-
90
- ---
91
-
92
- ## 🔐 Vérifier la Preuve
93
-
94
- ```bash
95
- qa360 verify .qa360/runs/<dernier>-proof.json
96
- ```
97
-
98
- Résultat :
99
-
100
- ```
101
- ✅ Preuve VALIDE
102
- ✅ Signature : Ed25519
103
- ✅ Date : 2025-01-03
104
- ```
105
-
106
- ---
107
-
108
- ## 📋 Commandes Utiles
109
-
110
- | Commande | Ce que ça fait |
111
- |----------|---------------|
112
- | `qa360 run <fichier.yml>` | Lance les tests |
113
- | `qa360 verify <preuve.json>` | Vérifie une preuve |
114
- | `qa360 history list` | Voir les tests passés |
115
- | `qa360 doctor` | Diagnostic système |
116
- | `qa360 examples list` | Voir les exemples |
117
- | `qa360 init --beginner` | Créer un test facilement |
118
-
119
- ---
120
-
121
- ## 📁 Exemples Disponibles
122
-
123
- ```bash
124
- # Voir tous les exemples
125
- qa360 examples list
126
-
127
- # Copier un exemple
128
- qa360 examples copy api-basic
129
- qa360 examples copy fullstack
130
- qa360 examples copy perf-test
131
-
132
- # Lancer un exemple
133
- qa360 run api-basic/qa360.yml
134
- ```
135
-
136
- ---
137
-
138
- ## 🎯 Prochaines Étapes
139
-
140
- 1. **Tester votre propre API** : Modifiez `baseUrl` dans le fichier `test.yml`
141
- 2. **Explorer les exemples** : `qa360 examples list`
142
- 3. **Créer des tests complexes** : Consultez le [Guide Utilisateur](./docs/USER_GUIDE.md)
143
-
144
- ---
145
-
146
- ## 🐛 Un Problème ?
147
-
148
- ### Erreur : `command not found: qa360`
149
-
150
- ```bash
151
- # Vérifiez que npm est dans le PATH
152
- npm config get prefix
153
-
154
- # Si besoin, ajoutez à votre PATH :
155
- # Windows : $env:Path += ";C:\Users\<votre-user>\AppData\Roaming\npm"
156
- # Mac/Linux : export PATH="$PATH:$(npm config get prefix)/bin"
157
- ```
158
-
159
- ### Erreur : `EACCES` (permission refusée)
160
-
161
- ```bash
162
- # Mac/Linux : utilisez sudo
163
- sudo npm install -g xyqotech/qa360#develop
164
-
165
- # Ou corrigez les permissions npm
166
- mkdir ~/.npm-global
167
- npm config set prefix '~/.npm-global'
168
- export PATH=~/.npm-global/bin:$PATH
169
- ```
170
-
171
- ### Autre erreur
172
-
173
- ```bash
174
- qa360 doctor --fix > diagnostic.txt
175
- ```
176
-
177
- Envoyez `diagnostic.txt` sur :
178
- - Discord : https://discord.gg/qa360
179
- - GitHub : https://github.com/xyqotech/qa360/issues
180
-
181
- ---
182
-
183
- ## 📚 En Savoir Plus
184
-
185
- - [Programme Beta Test](./docs/BETA_TESTING.md) - Participez au beta !
186
- - [Guide Utilisateur Complet](./docs/USER_GUIDE.md) - Toutes les fonctionnalités
187
- - [Documentation Technique](./docs/ARCHITECTURE.md) - Comment ça marche
188
-
189
- ---
190
-
191
- **C'est tout !** Vous savez utiliser QA360 en 5 minutes 🚀
package/cli/CHANGELOG.md DELETED
@@ -1,84 +0,0 @@
1
- # Changelog
2
-
3
- All notable changes to QA360 Proof CLI will be documented in this file.
4
-
5
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
- and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
-
8
- ## [1.1.0] - 2025-10-26
9
-
10
- ### Added
11
- - **AJV 2020-12 Support**: Full JSON Schema Draft 2020-12 validation (RFC-compliant)
12
- - **CI Matrix**: 9-job validation matrix (3 OS × 3 Node versions)
13
- - **Comprehensive Tests**: 11 unit tests + 3 smoke tests
14
- - **Cross-platform Build**: Automated build script with OS detection
15
- - **Dependency Lock**: Frozen AJV versions (anti-regression)
16
- - **CI Badges**: Status badges in README
17
-
18
- ### Changed
19
- - **Schema Validation**: Migrated from draft-07 to draft-2020-12
20
- - **Build System**: Idempotent cross-platform build script
21
- - **prepublishOnly**: Added doctor --strict validation before publish
22
-
23
- ### Fixed
24
- - **ESM Imports**: Fixed AJV 2020 import for Node.js ESM compatibility
25
- - **Schema Path**: Corrected import paths in test files
26
-
27
- ### Security
28
- - **Provenance**: Added npm provenance for supply chain security
29
- - **Dependency Freeze**: Locked ajv@8.17.1, ajv-formats@2.1.1, ajv-draft-04@1.0.0
30
-
31
- ## [1.1.0-rc] - 2025-10-25
32
-
33
- ### Added
34
- - **Initial Release Candidate**: First public release
35
- - **Commands**: `doctor`, `verify`
36
- - **Flags**: `--json`, `--strict`, `--verbose`
37
- - **Documentation**: Complete guides and examples
38
-
39
- ### Features
40
- - 🔒 **Local-first**: 100% offline, no network dependencies
41
- - 🔐 **Cryptographic trust**: Ed25519 signatures, SHA-256 hashing
42
- - 🌍 **Cross-OS**: Windows, macOS, Linux validated
43
- - ⚡ **Zero friction**: Auto-generates keys
44
- -
45
-
46
- ## [Unreleased]
47
-
48
- ### Planned
49
- - RFC 3161 TSA timestamp support (Phase 6)
50
- - W3C DID / Sigstore identity (Phase 6)
51
- - Revocation mechanism (Phase 6)
52
- - Compliance metadata (Phase 6)
53
-
54
- ---
55
-
56
- ## Version History
57
-
58
- - **1.1.0** (2025-10-26): Stable release with AJV 2020-12 + CI lockdown
59
- - **1.1.0-rc** (2025-10-25): Release candidate
60
- - **0.9.0-core** (2025-10-24): Internal development version
61
-
62
- ---
63
-
64
- ## Quick Validation
65
-
66
- ```bash
67
- # Install
68
- npm i -g @qa360/cli@1.1.0
69
-
70
- # Verify version
71
- qa360 --version
72
-
73
- # System check
74
- qa360 doctor --strict
75
-
76
- # Verify proof
77
- qa360 verify examples/proofs/httpbin-proof.json --json
78
- ```
79
-
80
- **Expected**: All commands succeed, proof validates correctly.
81
-
82
- ---
83
-
84
- For detailed changes, see [GitHub Releases](https://github.com/qa360/qa360/releases).
package/cli/LICENSE DELETED
@@ -1,24 +0,0 @@
1
- Business Source License 1.1
2
-
3
- Licensor: XyqoTech
4
- Licensed Work: QA360 Cloud Preview
5
- Change Date: 2027-10-01
6
- Change License: MIT
7
-
8
- Terms
9
-
10
- The Licensor hereby grants you the right to copy, modify, create derivative works, redistribute, and make non-production use of the Licensed Work. The Licensor may make an Additional Use Grant, above, permitting limited production use.
11
-
12
- Effective on the Change Date, or the fourth anniversary of the first publicly available distribution of a specific version of the Licensed Work under this License, whichever comes first, the Licensor hereby grants you rights under the terms of the Change License, and the rights granted in the paragraph above terminate.
13
-
14
- If your use of the Licensed Work does not comply with the requirements currently in effect as described in this License, you must purchase a commercial license from the Licensor, its affiliated entities, or authorized resellers, or you must refrain from using the Licensed Work.
15
-
16
- All copies of the original and modified Licensed Work, and derivative works of the Licensed Work, are subject to this License. This License applies separately for each version of the Licensed Work and the Change Date may vary for each version of the Licensed Work released by Licensor.
17
-
18
- You must conspicuously display this License on each original or modified copy of the Licensed Work. If you receive the Licensed Work in original or modified form from a third party, the terms and conditions set forth in this License apply to your use of that work.
19
-
20
- Any use of the Licensed Work in violation of this License will automatically terminate your rights under this License for the current and all other versions of the Licensed Work.
21
-
22
- This License does not grant you any right in any trademark or logo of Licensor or its affiliates (provided that you may use a trademark or logo of Licensor as expressly required by this License).
23
-
24
- TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON AN "AS IS" BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND TITLE.