swipium 1.4.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (541) hide show
  1. package/CHANGELOG.md +313 -0
  2. package/README.md +175 -219
  3. package/THREAT_MODEL.md +223 -47
  4. package/dist/appMap/automationLink.js +39 -26
  5. package/dist/appMap/automationLink.js.map +1 -1
  6. package/dist/appMap/build.js +68 -20
  7. package/dist/appMap/build.js.map +1 -1
  8. package/dist/appMap/codeIndex.js +31 -5
  9. package/dist/appMap/codeIndex.js.map +1 -1
  10. package/dist/appMap/featureIndex.js +23 -5
  11. package/dist/appMap/featureIndex.js.map +1 -1
  12. package/dist/appMap/featureModel.js +44 -8
  13. package/dist/appMap/featureModel.js.map +1 -1
  14. package/dist/appMap/firstRunApply.js +24 -6
  15. package/dist/appMap/firstRunApply.js.map +1 -1
  16. package/dist/appMap/fsWalk.js +19 -2
  17. package/dist/appMap/fsWalk.js.map +1 -1
  18. package/dist/appMap/issues.js +10 -30
  19. package/dist/appMap/issues.js.map +1 -1
  20. package/dist/appMap/migrations.js +6 -6
  21. package/dist/appMap/migrations.js.map +1 -1
  22. package/dist/appMap/prelaunch.js +2 -2
  23. package/dist/appMap/prelaunch.js.map +1 -1
  24. package/dist/appMap/projectRegistry.js +83 -11
  25. package/dist/appMap/projectRegistry.js.map +1 -1
  26. package/dist/appMap/provenance.js +2 -2
  27. package/dist/appMap/provenance.js.map +1 -1
  28. package/dist/appMap/query.js +21 -5
  29. package/dist/appMap/query.js.map +1 -1
  30. package/dist/appMap/runtimeMerge.js +12 -5
  31. package/dist/appMap/runtimeMerge.js.map +1 -1
  32. package/dist/appMap/schema.js +1 -1
  33. package/dist/appMap/schema.js.map +1 -1
  34. package/dist/appMap/screenMatch.js +6 -2
  35. package/dist/appMap/screenMatch.js.map +1 -1
  36. package/dist/appMap/staticScan.js +151 -39
  37. package/dist/appMap/staticScan.js.map +1 -1
  38. package/dist/appMap/store.js +58 -85
  39. package/dist/appMap/store.js.map +1 -1
  40. package/dist/appMap/tsAstScan.js +34 -12
  41. package/dist/appMap/tsAstScan.js.map +1 -1
  42. package/dist/artifacts/bundletool.js +49 -12
  43. package/dist/artifacts/bundletool.js.map +1 -1
  44. package/dist/artifacts/resolve.js +41 -14
  45. package/dist/artifacts/resolve.js.map +1 -1
  46. package/dist/automation/capabilities.js +112 -30
  47. package/dist/automation/capabilities.js.map +1 -1
  48. package/dist/automation/gestures.js +6 -2
  49. package/dist/automation/gestures.js.map +1 -1
  50. package/dist/automation/plan.js +71 -23
  51. package/dist/automation/plan.js.map +1 -1
  52. package/dist/automation/report.js +15 -5
  53. package/dist/automation/report.js.map +1 -1
  54. package/dist/automation/selectors.js +22 -28
  55. package/dist/automation/selectors.js.map +1 -1
  56. package/dist/automation/types.js +1 -1
  57. package/dist/automation/types.js.map +1 -1
  58. package/dist/automation/waits.js +14 -8
  59. package/dist/automation/waits.js.map +1 -1
  60. package/dist/automation/webview.js +9 -3
  61. package/dist/automation/webview.js.map +1 -1
  62. package/dist/automationGen/appiumModel.js +16 -8
  63. package/dist/automationGen/appiumModel.js.map +1 -1
  64. package/dist/automationGen/ciEmitter.js +6 -6
  65. package/dist/automationGen/ciEmitter.js.map +1 -1
  66. package/dist/automationGen/identifiers.js +224 -0
  67. package/dist/automationGen/identifiers.js.map +1 -0
  68. package/dist/automationGen/jsEmitter.js +288 -121
  69. package/dist/automationGen/jsEmitter.js.map +1 -1
  70. package/dist/automationGen/packagePatch.js +2 -2
  71. package/dist/automationGen/packagePatch.js.map +1 -1
  72. package/dist/automationGen/platformResolve.js +36 -0
  73. package/dist/automationGen/platformResolve.js.map +1 -0
  74. package/dist/automationGen/projectProfile.js +76 -27
  75. package/dist/automationGen/projectProfile.js.map +1 -1
  76. package/dist/automationGen/pythonEmitter.js +278 -107
  77. package/dist/automationGen/pythonEmitter.js.map +1 -1
  78. package/dist/automationGen/readmeEmitter.js +7 -6
  79. package/dist/automationGen/readmeEmitter.js.map +1 -1
  80. package/dist/automationGen/run.js +388 -0
  81. package/dist/automationGen/run.js.map +1 -0
  82. package/dist/automationGen/suitePlan.js +17 -10
  83. package/dist/automationGen/suitePlan.js.map +1 -1
  84. package/dist/automationGen/validation.js +52 -12
  85. package/dist/automationGen/validation.js.map +1 -1
  86. package/dist/build/parseBuildLog.js +235 -31
  87. package/dist/build/parseBuildLog.js.map +1 -1
  88. package/dist/build/plan.js +39 -18
  89. package/dist/build/plan.js.map +1 -1
  90. package/dist/ci/preflight.js +13 -4
  91. package/dist/ci/preflight.js.map +1 -1
  92. package/dist/cli/gc.js +74 -0
  93. package/dist/cli/gc.js.map +1 -0
  94. package/dist/cli/init.js +217 -26
  95. package/dist/cli/init.js.map +1 -1
  96. package/dist/cli/main.js +50 -0
  97. package/dist/cli/main.js.map +1 -0
  98. package/dist/cli/report.js +218 -0
  99. package/dist/cli/report.js.map +1 -0
  100. package/dist/cli/scan.js +36 -15
  101. package/dist/cli/scan.js.map +1 -1
  102. package/dist/cli/suite.js +7 -7
  103. package/dist/cli/suite.js.map +1 -1
  104. package/dist/cli/verify.js +7 -7
  105. package/dist/cli/verify.js.map +1 -1
  106. package/dist/consent/consent.js +162 -5
  107. package/dist/consent/consent.js.map +1 -1
  108. package/dist/context/detect.js +55 -18
  109. package/dist/context/detect.js.map +1 -1
  110. package/dist/context/findApps.js +22 -8
  111. package/dist/context/findApps.js.map +1 -1
  112. package/dist/context/projectRoot.js +174 -19
  113. package/dist/context/projectRoot.js.map +1 -1
  114. package/dist/context/scan.js +1 -1
  115. package/dist/context/scan.js.map +1 -1
  116. package/dist/core/capabilityGroups.js +90 -0
  117. package/dist/core/capabilityGroups.js.map +1 -0
  118. package/dist/core/target.js +10 -8
  119. package/dist/core/target.js.map +1 -1
  120. package/dist/core/targetPlan.js +160 -39
  121. package/dist/core/targetPlan.js.map +1 -1
  122. package/dist/drivers/DirectDriver.js +317 -43
  123. package/dist/drivers/DirectDriver.js.map +1 -1
  124. package/dist/drivers/SimctlDriver.js +124 -8
  125. package/dist/drivers/SimctlDriver.js.map +1 -1
  126. package/dist/drivers/WdaDriver.js +365 -55
  127. package/dist/drivers/WdaDriver.js.map +1 -1
  128. package/dist/explore/candidates.js +7 -3
  129. package/dist/explore/candidates.js.map +1 -1
  130. package/dist/explore/graph.js +15 -6
  131. package/dist/explore/graph.js.map +1 -1
  132. package/dist/explore/memory.js +4 -1
  133. package/dist/explore/memory.js.map +1 -1
  134. package/dist/explore/planner.js +54 -9
  135. package/dist/explore/planner.js.map +1 -1
  136. package/dist/explore/policy.js +11 -6
  137. package/dist/explore/policy.js.map +1 -1
  138. package/dist/explore/runner.js +363 -190
  139. package/dist/explore/runner.js.map +1 -1
  140. package/dist/explore/signatures.js +4 -2
  141. package/dist/explore/signatures.js.map +1 -1
  142. package/dist/explore/suite.js +3 -1
  143. package/dist/explore/suite.js.map +1 -1
  144. package/dist/featureTesting/executionBootstrap.js +137 -29
  145. package/dist/featureTesting/executionBootstrap.js.map +1 -1
  146. package/dist/featureTesting/featureMap.js +6 -3
  147. package/dist/featureTesting/featureMap.js.map +1 -1
  148. package/dist/featureTesting/featureScope.js +101 -20
  149. package/dist/featureTesting/featureScope.js.map +1 -1
  150. package/dist/featureTesting/mapFeatureScope.js +44 -15
  151. package/dist/featureTesting/mapFeatureScope.js.map +1 -1
  152. package/dist/featureTesting/objectiveModel.js +15 -11
  153. package/dist/featureTesting/objectiveModel.js.map +1 -1
  154. package/dist/featureTesting/resultMerge.js +16 -8
  155. package/dist/featureTesting/resultMerge.js.map +1 -1
  156. package/dist/featureTesting/sources.js +8 -5
  157. package/dist/featureTesting/sources.js.map +1 -1
  158. package/dist/featureTesting/suiteBridge.js +8 -2
  159. package/dist/featureTesting/suiteBridge.js.map +1 -1
  160. package/dist/featureTesting/synonyms.js +32 -4
  161. package/dist/featureTesting/synonyms.js.map +1 -1
  162. package/dist/featureTesting/testCaseFactory.js +27 -15
  163. package/dist/featureTesting/testCaseFactory.js.map +1 -1
  164. package/dist/featureTesting/testPlan.js +34 -12
  165. package/dist/featureTesting/testPlan.js.map +1 -1
  166. package/dist/firstRun/authStateMachine.js +1 -1
  167. package/dist/firstRun/authStateMachine.js.map +1 -1
  168. package/dist/firstRun/classifyScreen.js +9 -6
  169. package/dist/firstRun/classifyScreen.js.map +1 -1
  170. package/dist/firstRun/firstRunPlanner.js +16 -13
  171. package/dist/firstRun/firstRunPlanner.js.map +1 -1
  172. package/dist/firstRun/firstRunRunner.js +92 -31
  173. package/dist/firstRun/firstRunRunner.js.map +1 -1
  174. package/dist/firstRun/generatedDataPolicy.js +25 -15
  175. package/dist/firstRun/generatedDataPolicy.js.map +1 -1
  176. package/dist/firstRun/inputPlanner.js +45 -11
  177. package/dist/firstRun/inputPlanner.js.map +1 -1
  178. package/dist/firstRun/onboardingStateMachine.js +1 -1
  179. package/dist/firstRun/onboardingStateMachine.js.map +1 -1
  180. package/dist/firstRun/paywallPolicy.js +3 -3
  181. package/dist/firstRun/paywallPolicy.js.map +1 -1
  182. package/dist/firstRun/types.js +1 -1
  183. package/dist/firstRun/types.js.map +1 -1
  184. package/dist/fixtures/catalog.js +72 -9
  185. package/dist/fixtures/catalog.js.map +1 -1
  186. package/dist/fixtures/load.js +50 -0
  187. package/dist/fixtures/load.js.map +1 -0
  188. package/dist/flows/discover.js +2 -2
  189. package/dist/flows/discover.js.map +1 -1
  190. package/dist/flows/generate.js +68 -17
  191. package/dist/flows/generate.js.map +1 -1
  192. package/dist/flows/lint.js +88 -14
  193. package/dist/flows/lint.js.map +1 -1
  194. package/dist/flows/pack.js +21 -5
  195. package/dist/flows/pack.js.map +1 -1
  196. package/dist/flows/paths.js +57 -0
  197. package/dist/flows/paths.js.map +1 -0
  198. package/dist/flows/repair.js +176 -37
  199. package/dist/flows/repair.js.map +1 -1
  200. package/dist/flows/run.js +308 -99
  201. package/dist/flows/run.js.map +1 -1
  202. package/dist/flows/schema.js +107 -25
  203. package/dist/flows/schema.js.map +1 -1
  204. package/dist/flows/seedExec.js +8 -4
  205. package/dist/flows/seedExec.js.map +1 -1
  206. package/dist/flows/templates.js +5 -5
  207. package/dist/index.js +50 -8
  208. package/dist/index.js.map +1 -1
  209. package/dist/ios/signing.js +32 -3
  210. package/dist/ios/signing.js.map +1 -1
  211. package/dist/issues/classify.js +28 -20
  212. package/dist/issues/classify.js.map +1 -1
  213. package/dist/issues/fingerprint.js +35 -9
  214. package/dist/issues/fingerprint.js.map +1 -1
  215. package/dist/issues/index.js +93 -46
  216. package/dist/issues/index.js.map +1 -1
  217. package/dist/issues/metrics.js +6 -5
  218. package/dist/issues/metrics.js.map +1 -1
  219. package/dist/issues/recurrence.js +35 -8
  220. package/dist/issues/recurrence.js.map +1 -1
  221. package/dist/issues/report.js +12 -8
  222. package/dist/issues/report.js.map +1 -1
  223. package/dist/issues/reportBridge.js +40 -9
  224. package/dist/issues/reportBridge.js.map +1 -1
  225. package/dist/issues/schema.js +2 -2
  226. package/dist/issues/schema.js.map +1 -1
  227. package/dist/issues/sourceRevision.js +2 -2
  228. package/dist/issues/sourceRevision.js.map +1 -1
  229. package/dist/issues/store.js +110 -32
  230. package/dist/issues/store.js.map +1 -1
  231. package/dist/lib/abortScope.js +48 -0
  232. package/dist/lib/abortScope.js.map +1 -0
  233. package/dist/lib/android.js +84 -8
  234. package/dist/lib/android.js.map +1 -1
  235. package/dist/lib/coordSpace.js +1 -1
  236. package/dist/lib/coordSpace.js.map +1 -1
  237. package/dist/lib/device.js +53 -12
  238. package/dist/lib/device.js.map +1 -1
  239. package/dist/lib/gestures.js +141 -0
  240. package/dist/lib/gestures.js.map +1 -0
  241. package/dist/lib/gitignore.js +4 -3
  242. package/dist/lib/gitignore.js.map +1 -1
  243. package/dist/lib/image.js +12 -3
  244. package/dist/lib/image.js.map +1 -1
  245. package/dist/lib/lockfile.js +399 -0
  246. package/dist/lib/lockfile.js.map +1 -0
  247. package/dist/lib/needsInput.js +9 -6
  248. package/dist/lib/needsInput.js.map +1 -1
  249. package/dist/lib/png.js +4 -3
  250. package/dist/lib/png.js.map +1 -1
  251. package/dist/lib/redact.js +170 -9
  252. package/dist/lib/redact.js.map +1 -1
  253. package/dist/lib/result.js +94 -10
  254. package/dist/lib/result.js.map +1 -1
  255. package/dist/lib/schemaHash.js +7 -5
  256. package/dist/lib/schemaHash.js.map +1 -1
  257. package/dist/lib/sensitive.js +6 -3
  258. package/dist/lib/sensitive.js.map +1 -1
  259. package/dist/lib/simctl.js +3 -3
  260. package/dist/lib/simctl.js.map +1 -1
  261. package/dist/lib/spawn.js +78 -17
  262. package/dist/lib/spawn.js.map +1 -1
  263. package/dist/lib/toolAnnotations.js +114 -0
  264. package/dist/lib/toolAnnotations.js.map +1 -0
  265. package/dist/lib/wda.js +321 -25
  266. package/dist/lib/wda.js.map +1 -1
  267. package/dist/lib/wdaConfig.js +12 -5
  268. package/dist/lib/wdaConfig.js.map +1 -1
  269. package/dist/lib/wdaTune.js +52 -23
  270. package/dist/lib/wdaTune.js.map +1 -1
  271. package/dist/mobileAudit/checks.js +150 -28
  272. package/dist/mobileAudit/checks.js.map +1 -1
  273. package/dist/mobileAudit/evidence.js +4 -4
  274. package/dist/mobileAudit/evidence.js.map +1 -1
  275. package/dist/mobileAudit/profiles.js +121 -20
  276. package/dist/mobileAudit/profiles.js.map +1 -1
  277. package/dist/mobileAudit/results.js +9 -4
  278. package/dist/mobileAudit/results.js.map +1 -1
  279. package/dist/mobileAudit/runner.js +214 -35
  280. package/dist/mobileAudit/runner.js.map +1 -1
  281. package/dist/oracle/auth.js +1 -1
  282. package/dist/oracle/auth.js.map +1 -1
  283. package/dist/oracle/failures.js +1085 -145
  284. package/dist/oracle/failures.js.map +1 -1
  285. package/dist/oracle/health.js +148 -26
  286. package/dist/oracle/health.js.map +1 -1
  287. package/dist/oracle/locator.js +148 -19
  288. package/dist/oracle/locator.js.map +1 -1
  289. package/dist/oracle/record.js +3 -3
  290. package/dist/oracle/record.js.map +1 -1
  291. package/dist/orchestration/envelope.js +2 -2
  292. package/dist/orchestration/envelope.js.map +1 -1
  293. package/dist/orchestration/goal.js +7 -13
  294. package/dist/orchestration/goal.js.map +1 -1
  295. package/dist/orchestration/testThis/execute.js +167 -0
  296. package/dist/orchestration/testThis/execute.js.map +1 -0
  297. package/dist/orchestration/testThis/pipeline.js +413 -0
  298. package/dist/orchestration/testThis/pipeline.js.map +1 -0
  299. package/dist/orchestration/testThis/plan.js +519 -0
  300. package/dist/orchestration/testThis/plan.js.map +1 -0
  301. package/dist/orchestration/testThis/sessionIntent.js +72 -0
  302. package/dist/orchestration/testThis/sessionIntent.js.map +1 -0
  303. package/dist/orchestration/testThis/terminal.js +136 -0
  304. package/dist/orchestration/testThis/terminal.js.map +1 -0
  305. package/dist/orchestration/testThis/types.js +12 -0
  306. package/dist/orchestration/testThis/types.js.map +1 -0
  307. package/dist/plan/plan.js +9 -9
  308. package/dist/plan/plan.js.map +1 -1
  309. package/dist/prompts/index.js +24 -24
  310. package/dist/prompts/index.js.map +1 -1
  311. package/dist/report/coverage.js +0 -1
  312. package/dist/report/coverage.js.map +1 -1
  313. package/dist/report/evidence.js.map +1 -1
  314. package/dist/report/export.js +449 -72
  315. package/dist/report/export.js.map +1 -1
  316. package/dist/report/findingsDedupe.js +41 -0
  317. package/dist/report/findingsDedupe.js.map +1 -0
  318. package/dist/report/flake.js +13 -14
  319. package/dist/report/flake.js.map +1 -1
  320. package/dist/report/history.js +72 -38
  321. package/dist/report/history.js.map +1 -1
  322. package/dist/report/policy.js +18 -7
  323. package/dist/report/policy.js.map +1 -1
  324. package/dist/report/qaLevel.js +10 -16
  325. package/dist/report/qaLevel.js.map +1 -1
  326. package/dist/report/readiness.js +42 -12
  327. package/dist/report/readiness.js.map +1 -1
  328. package/dist/report/sarifSources.js +160 -0
  329. package/dist/report/sarifSources.js.map +1 -0
  330. package/dist/report/summary.js +2 -2
  331. package/dist/report/summary.js.map +1 -1
  332. package/dist/report/testCatalog.js +4 -4
  333. package/dist/report/testCatalog.js.map +1 -1
  334. package/dist/report/timing.js +23 -23
  335. package/dist/report/timing.js.map +1 -1
  336. package/dist/report/toolHealth.js +124 -0
  337. package/dist/report/toolHealth.js.map +1 -0
  338. package/dist/server.js +501 -69
  339. package/dist/server.js.map +1 -1
  340. package/dist/services/automationGenerate.js +8 -2
  341. package/dist/services/automationGenerate.js.map +1 -1
  342. package/dist/services/build.js +10 -4
  343. package/dist/services/build.js.map +1 -1
  344. package/dist/services/flowGenerate.js +75 -0
  345. package/dist/services/flowGenerate.js.map +1 -0
  346. package/dist/services/preflight.js +40 -8
  347. package/dist/services/preflight.js.map +1 -1
  348. package/dist/services/prepareAndroid.js +92 -18
  349. package/dist/services/prepareAndroid.js.map +1 -1
  350. package/dist/services/prepareIos.js +94 -17
  351. package/dist/services/prepareIos.js.map +1 -1
  352. package/dist/services/report.js +271 -80
  353. package/dist/services/report.js.map +1 -1
  354. package/dist/services/smoke.js +68 -22
  355. package/dist/services/smoke.js.map +1 -1
  356. package/dist/services/suiteGenerate.js +43 -6
  357. package/dist/services/suiteGenerate.js.map +1 -1
  358. package/dist/services/testSuiteKnowledge.js +78 -33
  359. package/dist/services/testSuiteKnowledge.js.map +1 -1
  360. package/dist/session/attach.js +284 -4
  361. package/dist/session/attach.js.map +1 -1
  362. package/dist/session/processRegistry.js +433 -0
  363. package/dist/session/processRegistry.js.map +1 -0
  364. package/dist/session/progress.js +1 -1
  365. package/dist/session/progress.js.map +1 -1
  366. package/dist/session/retention.js +201 -0
  367. package/dist/session/retention.js.map +1 -0
  368. package/dist/session/store.js +459 -59
  369. package/dist/session/store.js.map +1 -1
  370. package/dist/snapshot/overlays.js +60 -10
  371. package/dist/snapshot/overlays.js.map +1 -1
  372. package/dist/snapshot/parse.js +30 -12
  373. package/dist/snapshot/parse.js.map +1 -1
  374. package/dist/snapshot/present.js +36 -6
  375. package/dist/snapshot/present.js.map +1 -1
  376. package/dist/snapshot/settle.js +39 -9
  377. package/dist/snapshot/settle.js.map +1 -1
  378. package/dist/state/consent.js +99 -0
  379. package/dist/state/consent.js.map +1 -0
  380. package/dist/state/profile.js +82 -11
  381. package/dist/state/profile.js.map +1 -1
  382. package/dist/suite/compile.js +15 -6
  383. package/dist/suite/compile.js.map +1 -1
  384. package/dist/suite/lint.js +22 -4
  385. package/dist/suite/lint.js.map +1 -1
  386. package/dist/suite/pom.js +75 -44
  387. package/dist/suite/pom.js.map +1 -1
  388. package/dist/suite/secretGuard.js +266 -0
  389. package/dist/suite/secretGuard.js.map +1 -0
  390. package/dist/suite/testcase.js +15 -11
  391. package/dist/suite/testcase.js.map +1 -1
  392. package/dist/testSuite/exporter.js +7 -3
  393. package/dist/testSuite/exporter.js.map +1 -1
  394. package/dist/testSuite/generator.js +43 -14
  395. package/dist/testSuite/generator.js.map +1 -1
  396. package/dist/testSuite/history.js +1 -1
  397. package/dist/testSuite/history.js.map +1 -1
  398. package/dist/testSuite/issueLinks.js +3 -3
  399. package/dist/testSuite/issueLinks.js.map +1 -1
  400. package/dist/testSuite/lint.js +4 -4
  401. package/dist/testSuite/lint.js.map +1 -1
  402. package/dist/testSuite/merge.js +13 -7
  403. package/dist/testSuite/merge.js.map +1 -1
  404. package/dist/testSuite/schema.js +21 -16
  405. package/dist/testSuite/schema.js.map +1 -1
  406. package/dist/testSuite/store.js +12 -4
  407. package/dist/testSuite/store.js.map +1 -1
  408. package/dist/testSuite/traceability.js +2 -2
  409. package/dist/testSuite/traceability.js.map +1 -1
  410. package/dist/tools/act.js +868 -174
  411. package/dist/tools/act.js.map +1 -1
  412. package/dist/tools/agent.js +521 -112
  413. package/dist/tools/agent.js.map +1 -1
  414. package/dist/tools/appControl.js +82 -19
  415. package/dist/tools/appControl.js.map +1 -1
  416. package/dist/tools/appMap.js +393 -189
  417. package/dist/tools/appMap.js.map +1 -1
  418. package/dist/tools/build.js +92 -51
  419. package/dist/tools/build.js.map +1 -1
  420. package/dist/tools/bundletool.js +141 -40
  421. package/dist/tools/bundletool.js.map +1 -1
  422. package/dist/tools/clearOverlay.js +98 -18
  423. package/dist/tools/clearOverlay.js.map +1 -1
  424. package/dist/tools/device.js +108 -19
  425. package/dist/tools/device.js.map +1 -1
  426. package/dist/tools/doctor.js +98 -35
  427. package/dist/tools/doctor.js.map +1 -1
  428. package/dist/tools/explore.js +110 -42
  429. package/dist/tools/explore.js.map +1 -1
  430. package/dist/tools/featureTesting.js +152 -130
  431. package/dist/tools/featureTesting.js.map +1 -1
  432. package/dist/tools/firstRun.js +94 -66
  433. package/dist/tools/firstRun.js.map +1 -1
  434. package/dist/tools/flow.js +347 -132
  435. package/dist/tools/flow.js.map +1 -1
  436. package/dist/tools/flowRepair.js +42 -10
  437. package/dist/tools/flowRepair.js.map +1 -1
  438. package/dist/tools/generate.js +199 -0
  439. package/dist/tools/generate.js.map +1 -0
  440. package/dist/tools/getArtifact.js +37 -8
  441. package/dist/tools/getArtifact.js.map +1 -1
  442. package/dist/tools/health.js +17 -12
  443. package/dist/tools/health.js.map +1 -1
  444. package/dist/tools/ios.js +148 -194
  445. package/dist/tools/ios.js.map +1 -1
  446. package/dist/tools/issues.js +256 -171
  447. package/dist/tools/issues.js.map +1 -1
  448. package/dist/tools/jobs.js +55 -11
  449. package/dist/tools/jobs.js.map +1 -1
  450. package/dist/tools/metro.js +84 -38
  451. package/dist/tools/metro.js.map +1 -1
  452. package/dist/tools/mobileAudit.js +83 -26
  453. package/dist/tools/mobileAudit.js.map +1 -1
  454. package/dist/tools/network.js +36 -14
  455. package/dist/tools/network.js.map +1 -1
  456. package/dist/tools/note.js +31 -17
  457. package/dist/tools/note.js.map +1 -1
  458. package/dist/tools/prepareIosTarget.js +31 -14
  459. package/dist/tools/prepareIosTarget.js.map +1 -1
  460. package/dist/tools/prepareTarget.js +193 -47
  461. package/dist/tools/prepareTarget.js.map +1 -1
  462. package/dist/tools/report.js +16 -8
  463. package/dist/tools/report.js.map +1 -1
  464. package/dist/tools/resolveArtifact.js +12 -12
  465. package/dist/tools/resolveArtifact.js.map +1 -1
  466. package/dist/tools/resolveTarget.js +81 -18
  467. package/dist/tools/resolveTarget.js.map +1 -1
  468. package/dist/tools/screenRecord.js +85 -20
  469. package/dist/tools/screenRecord.js.map +1 -1
  470. package/dist/tools/screenshot.js +42 -18
  471. package/dist/tools/screenshot.js.map +1 -1
  472. package/dist/tools/smoke.js +29 -12
  473. package/dist/tools/smoke.js.map +1 -1
  474. package/dist/tools/snapshot.js +157 -107
  475. package/dist/tools/snapshot.js.map +1 -1
  476. package/dist/tools/startSession.js +117 -84
  477. package/dist/tools/startSession.js.map +1 -1
  478. package/dist/tools/suite.js +391 -310
  479. package/dist/tools/suite.js.map +1 -1
  480. package/dist/tools/testSuite.js +112 -36
  481. package/dist/tools/testSuite.js.map +1 -1
  482. package/dist/tools/testThis.js +35 -802
  483. package/dist/tools/testThis.js.map +1 -1
  484. package/dist/tools/visual.js +698 -116
  485. package/dist/tools/visual.js.map +1 -1
  486. package/dist/tools/wait.js +9 -23
  487. package/dist/tools/wait.js.map +1 -1
  488. package/dist/tools/wda.js +312 -54
  489. package/dist/tools/wda.js.map +1 -1
  490. package/dist/version.js +37 -64
  491. package/dist/version.js.map +1 -1
  492. package/dist/visual/ocr.js +65 -8
  493. package/dist/visual/ocr.js.map +1 -1
  494. package/dist/visual/provider.js +87 -15
  495. package/dist/visual/provider.js.map +1 -1
  496. package/docs/README.md +24 -10
  497. package/docs/ci-reports.md +328 -0
  498. package/docs/concepts.md +227 -0
  499. package/docs/flows.md +153 -0
  500. package/docs/mcp-server.md +210 -104
  501. package/docs/physical-devices.md +84 -0
  502. package/docs/tools.md +808 -217
  503. package/package.json +16 -6
  504. package/dist/appMap/diff.js +0 -60
  505. package/dist/appMap/diff.js.map +0 -1
  506. package/dist/automation/maestroIr.js +0 -282
  507. package/dist/automation/maestroIr.js.map +0 -1
  508. package/dist/interop/maestro.js +0 -151
  509. package/dist/interop/maestro.js.map +0 -1
  510. package/dist/tools/assertVisual.js +0 -74
  511. package/dist/tools/assertVisual.js.map +0 -1
  512. package/dist/tools/automationGenerate.js +0 -394
  513. package/dist/tools/automationGenerate.js.map +0 -1
  514. package/dist/tools/capabilities.js +0 -209
  515. package/dist/tools/capabilities.js.map +0 -1
  516. package/dist/tools/detectContext.js +0 -41
  517. package/dist/tools/detectContext.js.map +0 -1
  518. package/dist/tools/flowGenerate.js +0 -55
  519. package/dist/tools/flowGenerate.js.map +0 -1
  520. package/dist/tools/history.js +0 -56
  521. package/dist/tools/history.js.map +0 -1
  522. package/dist/tools/idling.js +0 -104
  523. package/dist/tools/idling.js.map +0 -1
  524. package/dist/tools/inputCapabilities.js +0 -30
  525. package/dist/tools/inputCapabilities.js.map +0 -1
  526. package/dist/tools/locator.js +0 -57
  527. package/dist/tools/locator.js.map +0 -1
  528. package/dist/tools/maestro.js +0 -78
  529. package/dist/tools/maestro.js.map +0 -1
  530. package/dist/tools/permissions.js +0 -149
  531. package/dist/tools/permissions.js.map +0 -1
  532. package/dist/tools/plan.js +0 -49
  533. package/dist/tools/plan.js.map +0 -1
  534. package/dist/tools/screenInfo.js +0 -70
  535. package/dist/tools/screenInfo.js.map +0 -1
  536. package/dist/tools/seed.js +0 -101
  537. package/dist/tools/seed.js.map +0 -1
  538. package/dist/tools/state.js +0 -170
  539. package/dist/tools/state.js.map +0 -1
  540. package/dist/tools/visualText.js +0 -61
  541. package/dist/tools/visualText.js.map +0 -1
@@ -1,4 +1,4 @@
1
- // Test-case documentation (roadmap §7) — turn a generated POM suite + the session's observed
1
+ // Test-case documentation: turn a generated POM suite + the session's observed
2
2
  // state into an industry-style test case catalog (TC-xxx) with preconditions, steps, expected
3
3
  // result, automation status, known blockers, and last-run evidence. PURE; callers serialize.
4
4
  import { stringify } from 'yaml';
@@ -18,6 +18,8 @@ function humanStep(s) {
18
18
  return `Open ${s.url}`;
19
19
  case 'assertVisible':
20
20
  return `Verify "${s.text}" is visible on ${s.page}`;
21
+ case 'visualCheck':
22
+ return `MANUAL visual check on ${s.page}: ${s.text}`;
21
23
  }
22
24
  }
23
25
  export function generateTestCases(pom, opts) {
@@ -25,24 +27,22 @@ export function generateTestCases(pom, opts) {
25
27
  const fixtures = opts.fixtures ?? [];
26
28
  const notes = opts.notes ?? [];
27
29
  const replayStatus = opts.replayStatus ?? 'not_replayed';
28
- // Automation status from the locator audit: any brittle locator → partial, else automated.
30
+ // Automation status from the locator audit: any brittle locator > partial, else automated.
29
31
  const status = pom.audit.brittle > 0 ? 'partial' : 'automated';
30
32
  const knownBlockers = notes
31
33
  .filter((n) => n.outcome === 'blocked' || n.category === 'missing_test_data')
32
- .map((n) => `${n.workflow}: ${n.reason ?? n.missingPrecondition ?? 'blocked'}${n.recommendedSetup ? ` — ${n.recommendedSetup}` : ''}`);
34
+ .map((n) => `${n.workflow}: ${n.reason ?? n.missingPrecondition ?? 'blocked'}${n.recommendedSetup ? `: ${n.recommendedSetup}` : ''}`);
33
35
  const evidence = notes.flatMap((n) => n.artifactUris ?? []);
34
36
  const verifiedVisualOnly = notes.some((n) => n.method === 'visual' || n.verifiedVisually);
35
- const expected = pom.steps
36
- .filter((s) => s.action === 'assertVisible' && s.text)
37
- .map((s) => `${s.text} is visible`);
37
+ const expected = pom.steps.filter((s) => s.action === 'assertVisible' && s.text).map((s) => `${s.text} is visible`);
38
38
  if (expected.length === 0)
39
39
  expected.push('App reaches the expected post-flow screen without an error surface');
40
40
  // Actual result = what THIS run observed (Deliverable 4). Kept separate from `expected` so a
41
41
  // reviewer/QA can compare intent vs. outcome. When the flow was only recorded (not executed as a
42
42
  // discrete test), say so honestly rather than implying a pass.
43
43
  const actualResult = notes.length
44
- ? notes.map((n) => `${n.workflow}: ${n.outcome}${n.reason ? ` — ${n.reason}` : ''}`)
45
- : ['Not executed as a discrete test in this run — generated from recorded actions; replay to capture an actual result.'];
44
+ ? notes.map((n) => `${n.workflow}: ${n.outcome}${n.reason ? `: ${n.reason}` : ''}`)
45
+ : ['Not executed as a discrete test in this run. Generated from recorded actions; replay to capture an actual result.'];
46
46
  const tc = {
47
47
  id: `TC-${(opts.appId ?? 'APP').split('.').pop().slice(0, 6).toUpperCase()}-001`,
48
48
  title: pom.testName.replace(/[-_]/g, ' '),
@@ -56,11 +56,15 @@ export function generateTestCases(pom, opts) {
56
56
  actualResult,
57
57
  cleanup: ['return to home/initial screen', ...(verifiedVisualOnly ? [] : [])],
58
58
  risks: [
59
- ...(pom.audit.brittle > 0 ? [`${pom.audit.brittle} brittle locator(s) — flow may break on UI changes (see locator audit)`] : []),
60
- ...(verifiedVisualOnly ? ['some verification was visual-only — weaker than a structured assertion'] : []),
59
+ ...(pom.audit.brittle > 0 ? [`${pom.audit.brittle} brittle locator(s): flow may break on UI changes (see locator audit)`] : []),
60
+ ...(verifiedVisualOnly ? ['some verification was visual-only, which is weaker than a structured assertion'] : []),
61
61
  ...(pom.variables.length ? [`requires test data: ${pom.variables.join(', ')}`] : []),
62
62
  ],
63
- automation: { status, test: `tests/${kebab(pom.testName)}.smoke.yaml`, pageObjects: pom.pages.map((p) => `pages/${kebab(p.name)}.page.yaml`) },
63
+ automation: {
64
+ status,
65
+ test: `tests/${kebab(pom.testName)}.smoke.yaml`,
66
+ pageObjects: pom.pages.map((p) => `pages/${kebab(p.name)}.page.yaml`),
67
+ },
64
68
  replayStatus,
65
69
  knownBlockers,
66
70
  evidence,
@@ -1 +1 @@
1
- {"version":3,"file":"testcase.js","sourceRoot":"","sources":["../../src/suite/testcase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testcase.js","sourceRoot":"","sources":["../../src/suite/testcase.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- // Exporters for the persistent suite (SWIPIUM-REQ-06 "qa_test_suite_export"). PURE: serialize the
1
+ // Exporters for the persistent suite. PURE: serialize the
2
2
  // canonical suite to Markdown (review-ready), a per-functionality YAML directory, JSON, and a
3
- // JUnit-like results doc. TestRail CSV / Jira-Xray are explicitly deferred (Non-Goals) — the shapes
3
+ // JUnit-like results doc. TestRail CSV / Jira-Xray are explicitly deferred (Non-Goals); the shapes
4
4
  // here are the v1 surface other tools can build on.
5
5
  import { stringify } from 'yaml';
6
6
  import { functionalitySlug } from './schema.js';
@@ -20,7 +20,11 @@ export function exportMarkdown(suite) {
20
20
  for (const [functionality, cases] of groupByFunctionality(suite.cases)) {
21
21
  out.push(`## ${functionality}`, '');
22
22
  for (const c of cases) {
23
- out.push(`### ${c.id}: ${c.title}`, '', `- **Priority:** ${c.priority} **Type:** ${c.type} **Creativity:** ${c.creativityLevel} **Status:** ${c.status}`, `- **Platforms:** ${c.platforms.join(', ')} **Automation:** ${c.automation.status} (locators ${c.automation.locatorReadiness}, replay ${c.automation.replayStatus})`, `- **Objective:** ${c.objective}`, '', '**Preconditions:**', ...(c.preconditions.length ? c.preconditions.map((p) => `- ${p}`) : ['- _none_']), '', '**Steps:**', ...(c.steps.length ? c.steps.map((s) => `${s.index}. ${s.action}${s.target ? ` → ${s.target}` : ''}${s.data ? ` [${s.data}]` : ''}`) : ['- _none_']), '', '**Expected:**', ...c.expectedResult.map((e) => `- ${e}`), '', `**Actual:** ${c.actualResult.status} — ${c.actualResult.summary}`, ...(c.evidence.length ? ['', `**Evidence:** ${c.evidence.map((e) => e.uri).join(', ')}`] : []), ...(c.ticketRefs.length ? [`**Tickets:** ${c.ticketRefs.join(', ')}`] : []), ...(c.requirementRefs.length ? [`**Requirements:** ${c.requirementRefs.join(', ')}`] : []), ...(c.issueRefs?.length ? [`**Linked issues:** ${c.issueRefs.map((r) => `${r.issueId} (${r.relationship}, ${r.lastIssueState})`).join(', ')}`] : []), ...(c.risk.length ? ['', '**Risks:**', ...c.risk.map((r) => `- ${r}`)] : []), `- **History:** ${c.history.length} run(s)`, '');
23
+ out.push(`### ${c.id}: ${c.title}`, '', `- **Priority:** ${c.priority} **Type:** ${c.type} **Creativity:** ${c.creativityLevel} **Status:** ${c.status}`, `- **Platforms:** ${c.platforms.join(', ')} **Automation:** ${c.automation.status} (locators ${c.automation.locatorReadiness}, replay ${c.automation.replayStatus})`, `- **Objective:** ${c.objective}`, '', '**Preconditions:**', ...(c.preconditions.length ? c.preconditions.map((p) => `- ${p}`) : ['- _none_']), '', '**Steps:**', ...(c.steps.length
24
+ ? c.steps.map((s) => `${s.index}. ${s.action}${s.target ? ` > ${s.target}` : ''}${s.data ? ` [${s.data}]` : ''}`)
25
+ : ['- _none_']), '', '**Expected:**', ...c.expectedResult.map((e) => `- ${e}`), '', `**Actual:** ${c.actualResult.status}: ${c.actualResult.summary}`, ...(c.evidence.length ? ['', `**Evidence:** ${c.evidence.map((e) => e.uri).join(', ')}`] : []), ...(c.ticketRefs.length ? [`**Tickets:** ${c.ticketRefs.join(', ')}`] : []), ...(c.requirementRefs.length ? [`**Requirements:** ${c.requirementRefs.join(', ')}`] : []), ...(c.issueRefs?.length
26
+ ? [`**Linked issues:** ${c.issueRefs.map((r) => `${r.issueId} (${r.relationship}, ${r.lastIssueState})`).join(', ')}`]
27
+ : []), ...(c.risk.length ? ['', '**Risks:**', ...c.risk.map((r) => `- ${r}`)] : []), `- **History:** ${c.history.length} run(s)`, '');
24
28
  }
25
29
  }
26
30
  return out.join('\n');
@@ -1 +1 @@
1
- {"version":3,"file":"exporter.js","sourceRoot":"","sources":["../../src/testSuite/exporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exporter.js","sourceRoot":"","sources":["../../src/testSuite/exporter.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- // Canonical-case generator (SWIPIUM-REQ-06 "qa_test_suite_generate" + integration hooks). PURE:
1
+ // Canonical-case generator (qa_suite_generate + integration hooks). PURE:
2
2
  // turns a generated POM, the session's observed outcomes (notes), declared fixtures, and guided
3
- // exploration coverage into CanonicalTestCase candidates with a blank id (`''`) — merge.ts assigns a
3
+ // exploration coverage into CanonicalTestCase candidates with a blank id (`''`); merge.ts assigns a
4
4
  // stable id and dedupes. Mirrors src/suite/testcase.ts's intent vs. actual discipline but emits the
5
5
  // long-lived canonical schema (creativity level, traceability, automation readiness, history seed).
6
6
  import { TEST_SUITE_SCHEMA_VERSION, functionalitySlug, } from './schema.js';
@@ -29,7 +29,7 @@ function actualFromNotes(notes, now) {
29
29
  if (!notes.length) {
30
30
  return {
31
31
  status: 'not_run',
32
- summary: 'Generated from recorded actions; not executed as a discrete test — replay to capture an actual result.',
32
+ summary: 'Generated from recorded actions; not executed as a discrete test. Replay to capture an actual result.',
33
33
  evidence: [],
34
34
  };
35
35
  }
@@ -41,7 +41,7 @@ function actualFromNotes(notes, now) {
41
41
  : statuses.every((s) => s === 'skipped')
42
42
  ? 'skipped'
43
43
  : 'pass';
44
- const summary = notes.map((n) => `${n.workflow}: ${n.outcome}${n.reason ? ` — ${n.reason}` : ''}`).join('; ');
44
+ const summary = notes.map((n) => `${n.workflow}: ${n.outcome}${n.reason ? ` (${n.reason})` : ''}`).join('; ');
45
45
  const evidence = notes.flatMap((n) => n.artifactUris ?? []);
46
46
  const failureCode = notes.find((n) => n.outcome === 'fail' || n.outcome === 'blocked')?.category;
47
47
  return { status, summary, lastRunAt: now, evidence, failureCode };
@@ -63,7 +63,11 @@ export function caseFromPom(input) {
63
63
  action: s.action,
64
64
  target: s.element ?? (s.coords ? `(${s.coords[0]},${s.coords[1]})` : undefined),
65
65
  data: s.secret ? '••• (secret)' : (s.text ?? s.url ?? s.key ?? s.direction),
66
- expected: s.action === 'assertVisible' && s.text ? `${s.text} is visible` : undefined,
66
+ expected: s.action === 'assertVisible' && s.text
67
+ ? `${s.text} is visible`
68
+ : s.action === 'visualCheck' && s.text
69
+ ? `MANUAL visual check: ${s.text}`
70
+ : undefined,
67
71
  mapScreenId: s.page,
68
72
  automationSelector: s.element,
69
73
  }));
@@ -88,7 +92,12 @@ export function caseFromPom(input) {
88
92
  preconditions: ['app installed', ...(input.appId ? [`app id ${input.appId}`] : []), ...fixtures.map((f) => f.requiredState ?? f.name)],
89
93
  fixtures: fixtures.map((f) => f.name),
90
94
  testData: [
91
- ...fixtures.flatMap((f) => Object.entries(f.fields ?? {}).map(([k, v]) => ({ name: k, value: v.secret ? undefined : v.value, secret: v.secret, source: f.name }))),
95
+ ...fixtures.flatMap((f) => Object.entries(f.fields ?? {}).map(([k, v]) => ({
96
+ name: k,
97
+ value: v.secret ? undefined : v.value,
98
+ secret: v.secret,
99
+ source: f.name,
100
+ }))),
92
101
  ...pom.variables.map((v) => ({ name: v, secret: true, source: 'flow-variable' })),
93
102
  ],
94
103
  steps,
@@ -104,8 +113,8 @@ export function caseFromPom(input) {
104
113
  },
105
114
  status: input.status ?? 'active',
106
115
  risk: [
107
- ...(pom.audit.brittle > 0 ? [`${pom.audit.brittle} brittle locator(s) — flow may break on UI changes`] : []),
108
- ...(visualOnly ? ['some verification was visual-only — weaker than a structured assertion'] : []),
116
+ ...(pom.audit.brittle > 0 ? [`${pom.audit.brittle} brittle locator(s), flow may break on UI changes`] : []),
117
+ ...(visualOnly ? ['some verification was visual-only, weaker than a structured assertion'] : []),
109
118
  ...(pom.variables.length ? [`requires test data: ${pom.variables.join(', ')}`] : []),
110
119
  ],
111
120
  cleanup: ['return to home/initial screen'],
@@ -120,7 +129,7 @@ export function caseFromPom(input) {
120
129
  provenance: [],
121
130
  };
122
131
  }
123
- /** Draft cases promoted from guided exploration's per-feature coverage (confidence → draft vs active). */
132
+ /** Draft cases promoted from guided exploration's per-feature coverage (confidence picks draft vs active). */
124
133
  export function casesFromExploration(input) {
125
134
  const exp = input.exploration;
126
135
  const coverage = exp?.summary.featureCoverage;
@@ -130,7 +139,7 @@ export function casesFromExploration(input) {
130
139
  return Object.entries(coverage).map(([feature, conf]) => {
131
140
  const functionality = feature;
132
141
  const featureId = functionalitySlug(functionality);
133
- // "covered"/"verified" → active; "partial"/"seen"/anything weaker → draft.
142
+ // "covered"/"verified" is active; "partial"/"seen"/anything weaker is draft.
134
143
  const status = /cover|verif|pass|done/i.test(conf) ? 'active' : 'draft';
135
144
  return {
136
145
  schemaVersion: TEST_SUITE_SCHEMA_VERSION,
@@ -147,7 +156,14 @@ export function casesFromExploration(input) {
147
156
  preconditions: ['app installed'],
148
157
  fixtures: [],
149
158
  testData: [],
150
- steps: [{ index: 1, action: 'explore', target: functionality, expected: `${functionality} is reachable and renders without an error surface` }],
159
+ steps: [
160
+ {
161
+ index: 1,
162
+ action: 'explore',
163
+ target: functionality,
164
+ expected: `${functionality} is reachable and renders without an error surface`,
165
+ },
166
+ ],
151
167
  expectedResult: [`${functionality} is reachable and renders without an error surface`],
152
168
  actualResult: {
153
169
  status: (exp.summary.appErrors > 0 ? 'fail' : 'pass'),
@@ -155,7 +171,14 @@ export function casesFromExploration(input) {
155
171
  lastRunAt: input.now,
156
172
  evidence: [],
157
173
  },
158
- automation: { status: 'candidate', framework: 'swipium_flow', pageObjects: [], testFiles: [], locatorReadiness: 'D', replayStatus: 'not_replayed' },
174
+ automation: {
175
+ status: 'candidate',
176
+ framework: 'swipium_flow',
177
+ pageObjects: [],
178
+ testFiles: [],
179
+ locatorReadiness: 'D',
180
+ replayStatus: 'not_replayed',
181
+ },
159
182
  status,
160
183
  risk: [],
161
184
  cleanup: [],
@@ -171,7 +194,7 @@ export function casesFromExploration(input) {
171
194
  };
172
195
  });
173
196
  }
174
- /** Fill a partial/manual case (e.g. from qa_test_suite_update input) into a complete CanonicalTestCase. */
197
+ /** Fill a partial/manual case (e.g. from qa_suite_update input) into a complete CanonicalTestCase. */
175
198
  export function normalizeCase(input, now) {
176
199
  const functionality = input.functionality ?? input.title ?? 'general';
177
200
  const featureId = input.featureId ?? functionalitySlug(functionality);
@@ -193,7 +216,13 @@ export function normalizeCase(input, now) {
193
216
  steps: (input.steps ?? []).map((s, i) => ({ ...s, index: s.index ?? i + 1 })),
194
217
  expectedResult: input.expectedResult ?? [],
195
218
  actualResult: input.actualResult ?? { status: 'not_run', summary: 'Authored manually; not yet run.', evidence: [] },
196
- automation: input.automation ?? { status: 'manual', pageObjects: [], testFiles: [], locatorReadiness: 'D', replayStatus: 'not_replayed' },
219
+ automation: input.automation ?? {
220
+ status: 'manual',
221
+ pageObjects: [],
222
+ testFiles: [],
223
+ locatorReadiness: 'D',
224
+ replayStatus: 'not_replayed',
225
+ },
197
226
  status: input.status ?? 'draft',
198
227
  risk: input.risk ?? [],
199
228
  cleanup: input.cleanup ?? [],
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/testSuite/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/testSuite/generator.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- // Per-case run-history ledger helpers (SWIPIUM-REQ-06 "Keep a run history ledger for each case").
1
+ // Per-case run-history ledger helpers.
2
2
  // PURE. A TestRunRef is appended on every merge that carries a real run result (merge.ts); these
3
3
  // helpers summarize the ledger for reporting and for the persisted per-run files (store.recordRun).
4
4
  export function summarizeCaseHistory(c) {
@@ -1 +1 @@
1
- {"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/testSuite/history.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,iGAAiG;AACjG,oGAAoG;AAYpG,MAAM,UAAU,oBAAoB,CAAC,CAAoB;IACvD,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC;IACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAChF,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IAClE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnC,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,IAAI,EAAE,IAAI,CAAC,MAAM;QACjB,UAAU,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM;QACjD,SAAS,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,YAAY,CAAC,SAAS;QAC/C,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;KACzD,CAAC;AACJ,CAAC;AAcD,gFAAgF;AAChF,MAAM,UAAU,cAAc,CAC5B,KAA0B,EAC1B,IAAmI;IAEnI,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,KAAK;SAClB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7C,OAAO;YACL,MAAM,EAAE,CAAC,CAAC,EAAE;YACZ,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,CAAC,EAAE;YACvB,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC7B,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO;YAC/B,QAAQ,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ;SAClC,CAAC;IACJ,CAAC,CAAC,CAAC;IACL,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,OAAO;KACR,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/testSuite/history.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,iGAAiG;AACjG,oGAAoG;AAYpG,MAAM,UAAU,oBAAoB,CAAC,CAAoB;IACvD,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC;IACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAChF,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IAClE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnC,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,IAAI,EAAE,IAAI,CAAC,MAAM;QACjB,UAAU,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM;QACjD,SAAS,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,YAAY,CAAC,SAAS;QAC/C,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;KACzD,CAAC;AACJ,CAAC;AAcD,gFAAgF;AAChF,MAAM,UAAU,cAAc,CAC5B,KAA0B,EAC1B,IAAmI;IAEnI,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,KAAK;SAClB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7C,OAAO;YACL,MAAM,EAAE,CAAC,CAAC,EAAE;YACZ,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,CAAC,EAAE;YACvB,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC7B,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO;YAC/B,QAAQ,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ;SAClC,CAAC;IACJ,CAAC,CAAC,CAAC;IACL,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,OAAO;KACR,CAAC;AACJ,CAAC"}
@@ -1,10 +1,10 @@
1
- // SWIPIUM-REQ-08 — link persistent test cases to issue-ledger records.
1
+ // Link persistent test cases to issue-ledger records.
2
2
  //
3
3
  // The issue ledger (src/issues) stays the source of truth for issue lifecycle. This layer records,
4
- // on a canonical test case, WHICH issues caused/blocked it and — crucially — lets a passing run that
4
+ // on a canonical test case, WHICH issues caused/blocked it and (crucially) lets a passing run that
5
5
  // is linked to a previously-fixed issue prove the fix held ("verified_fixed"). PURE: mutates the
6
6
  // passed case/run objects, takes `now` as input, never touches the clock or fs.
7
- /** Map an issue category + case outcome to the durable case→issue relationship. */
7
+ /** Map an issue category + case outcome to the durable case>issue relationship. */
8
8
  export function relationshipForCase(category) {
9
9
  switch (category) {
10
10
  case 'app_bug':
@@ -1 +1 @@
1
- {"version":3,"file":"issueLinks.js","sourceRoot":"","sources":["../../src/testSuite/issueLinks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"issueLinks.js","sourceRoot":"","sources":["../../src/testSuite/issueLinks.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- // Linter for the persistent suite (SWIPIUM-REQ-06 "qa_test_suite_lint"). PURE. Catches the failure
1
+ // Linter for the persistent suite. PURE. Catches the failure
2
2
  // modes that make a maintained suite untrustworthy: missing expected/actual results, unlinked or
3
- // stale map links, duplicate ids, brittle automation above threshold, and — most importantly —
3
+ // stale map links, duplicate ids, brittle automation above threshold, and (most importantly)
4
4
  // `adversarial` cases that lack the safety metadata Swipium requires before it will ever run them.
5
5
  /** A case may run adversarially only with explicit disposable-state / consent metadata. */
6
6
  function hasAdversarialSafety(c) {
@@ -40,10 +40,10 @@ export function lintSuite(suite, opts = {}) {
40
40
  add('warn', 'brittle_automation', `Automated case has brittle locators (grade ${c.automation.locatorReadiness})`, c.id);
41
41
  }
42
42
  if (c.automation.status === 'automated' && (c.automation.replayStatus === 'failed' || c.automation.replayStatus === 'blocked')) {
43
- add('warn', 'unreplayable_automation', `Automated case has replayStatus ${c.automation.replayStatus} — not release-gate proof`, c.id);
43
+ add('warn', 'unreplayable_automation', `Automated case has replayStatus ${c.automation.replayStatus}, not release-gate proof`, c.id);
44
44
  }
45
45
  if (c.creativityLevel === 'adversarial' && !hasAdversarialSafety(c)) {
46
- add('error', 'unsafe_adversarial', 'Adversarial case lacks disposable-state/consent safety metadata — Swipium will refuse to run it', c.id);
46
+ add('error', 'unsafe_adversarial', 'Adversarial case lacks disposable-state/consent safety metadata. Swipium will refuse to run it', c.id);
47
47
  }
48
48
  }
49
49
  const errorCount = findings.filter((f) => f.severity === 'error').length;
@@ -1 +1 @@
1
- {"version":3,"file":"lint.js","sourceRoot":"","sources":["../../src/testSuite/lint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lint.js","sourceRoot":"","sources":["../../src/testSuite/lint.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- // Merge engine for the persistent suite (SWIPIUM-REQ-06 "Merge and Maintenance Requirements"). PURE
1
+ // Merge engine for the persistent suite. PURE
2
2
  // + deterministic: given the existing suite and a batch of incoming cases, decide what is created,
3
3
  // updated, deprecated, and which fields conflict with human edits. Every run that observes or
4
4
  // generates QA knowledge funnels through here so stable IDs, dedup, provenance, and the per-case run
@@ -55,7 +55,7 @@ function runRefFrom(c, opts) {
55
55
  function applyUpdate(existing, incoming, opts, conflicts) {
56
56
  const protect = !!existing.manuallyEdited && opts.mode !== 'replace_generated';
57
57
  const next = { ...existing };
58
- // Generated content fields — protected when a human has curated them (unless replace_generated).
58
+ // Generated content fields. Protected when a human has curated them (unless replace_generated).
59
59
  const existingRec = existing;
60
60
  const incomingRec = incoming;
61
61
  const nextRec = next;
@@ -68,12 +68,12 @@ function applyUpdate(existing, incoming, opts, conflicts) {
68
68
  continue;
69
69
  }
70
70
  if (protect && JSON.stringify(existingRec[field]) !== JSON.stringify(inVal)) {
71
- conflicts.push({ id: existing.id, field, reason: 'manually curated — not overwritten (use mergeMode replace_generated to force)' });
71
+ conflicts.push({ id: existing.id, field, reason: 'manually curated, not overwritten (use mergeMode replace_generated to force)' });
72
72
  continue;
73
73
  }
74
74
  nextRec[field] = inVal;
75
75
  }
76
- // Run facts always update — they describe reality, not curated intent.
76
+ // Run facts always update: they describe reality, not curated intent.
77
77
  if (incoming.actualResult.status !== 'not_run' || existing.actualResult.status === 'not_run') {
78
78
  next.actualResult = {
79
79
  ...incoming.actualResult,
@@ -93,7 +93,10 @@ function applyUpdate(existing, incoming, opts, conflicts) {
93
93
  const run = runRefFrom(incoming, opts);
94
94
  if (run)
95
95
  next.history = [...existing.history, run];
96
- next.provenance = [...existing.provenance, { source: opts.source, at: opts.now, sourceUri: opts.sourceUri, fields: GENERATED_FIELDS.slice() }];
96
+ next.provenance = [
97
+ ...existing.provenance,
98
+ { source: opts.source, at: opts.now, sourceUri: opts.sourceUri, fields: GENERATED_FIELDS.slice() },
99
+ ];
97
100
  next.updatedAt = opts.now;
98
101
  return next;
99
102
  }
@@ -109,7 +112,7 @@ function dedupeEvidence(items) {
109
112
  return out;
110
113
  }
111
114
  /**
112
- * Merge `incoming` canonical cases into `suite`. Incoming cases may carry a blank id (`''`) — a new
115
+ * Merge `incoming` canonical cases into `suite`. Incoming cases may carry a blank id (`''`); a new
113
116
  * stable id is allocated; a non-blank id or an identity match updates the existing case instead of
114
117
  * creating a duplicate.
115
118
  */
@@ -172,7 +175,10 @@ export function mergeCases(suite, incoming, opts) {
172
175
  if (!live.has(c.featureId)) {
173
176
  c.status = 'deprecated';
174
177
  c.updatedAt = opts.now;
175
- c.provenance = [...c.provenance, { source: opts.source, at: opts.now, note: 'auto-deprecated: linked feature no longer in app map' }];
178
+ c.provenance = [
179
+ ...c.provenance,
180
+ { source: opts.source, at: opts.now, note: 'auto-deprecated: linked feature no longer in app map' },
181
+ ];
176
182
  deprecated.push(c.id);
177
183
  retiredIds.add(c.id);
178
184
  }
@@ -1 +1 @@
1
- {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/testSuite/merge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/testSuite/merge.ts"],"names":[],"mappings":"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"}
@@ -1,31 +1,33 @@
1
- // Canonical persistent QA test-case suite schema (SWIPIUM-REQ-06). This is the long-lived,
2
- // project-level QA knowledge that grows with the app map — distinct from the per-run test catalog
1
+ // Canonical persistent QA test-case suite schema. This is the long-lived,
2
+ // project-level QA knowledge that grows with the app map. Distinct from the per-run test catalog
3
3
  // (src/report/testCatalog.ts) and the per-suite POM catalog (src/suite/testcase.ts), which are
4
4
  // snapshots. A CanonicalTestCase carries manual + automated coverage, expected vs. actual results,
5
5
  // creativity level, automation readiness, traceability to the app/tickets/requirements, and a
6
6
  // historical run ledger. PURE: types + validation + id helpers only; the store (store.ts) does IO.
7
7
  export const TEST_SUITE_SCHEMA_VERSION = 1;
8
8
  export const PRIORITIES = ['P0', 'P1', 'P2', 'P3'];
9
- export const CASE_TYPES = ['smoke', 'functional', 'regression', 'negative', 'edge', 'accessibility', 'visual', 'performance', 'security'];
9
+ export const CASE_TYPES = [
10
+ 'smoke',
11
+ 'functional',
12
+ 'regression',
13
+ 'negative',
14
+ 'edge',
15
+ 'accessibility',
16
+ 'visual',
17
+ 'performance',
18
+ 'security',
19
+ ];
10
20
  export const CREATIVITY_LEVELS = ['conservative', 'standard', 'creative', 'adversarial'];
11
21
  export const CASE_STATUSES = ['active', 'draft', 'deprecated', 'blocked', 'manual_only'];
12
22
  export const ACTUAL_STATUSES = ['pass', 'fail', 'blocked', 'skipped', 'not_run'];
13
23
  export const AUTOMATION_STATUSES = ['automated', 'partial', 'manual', 'candidate', 'not_automatable_yet'];
14
24
  export const LOCATOR_READINESS = ['A', 'B', 'C', 'D'];
15
25
  /** Fields populated by generation; everything else is curated/manual and never overwritten silently. */
16
- export const GENERATED_FIELDS = [
17
- 'steps',
18
- 'expectedResult',
19
- 'automation',
20
- 'mapLinks',
21
- 'preconditions',
22
- 'fixtures',
23
- 'testData',
24
- ];
26
+ export const GENERATED_FIELDS = ['steps', 'expectedResult', 'automation', 'mapLinks', 'preconditions', 'fixtures', 'testData'];
25
27
  export function emptySuite(appId, now = new Date().toISOString()) {
26
28
  return { schemaVersion: TEST_SUITE_SCHEMA_VERSION, updatedAt: now, appId, cases: [], retiredIds: [] };
27
29
  }
28
- /** Slugify a functionality label into a stable, filesystem-safe segment (e.g. "Weather Analysis" → "weather-analysis"). */
30
+ /** Slugify a functionality label into a stable, filesystem-safe segment (e.g. "Weather Analysis" > "weather-analysis"). */
29
31
  export function functionalitySlug(functionality) {
30
32
  return (functionality
31
33
  .replace(/([a-z0-9])([A-Z])/g, '$1-$2')
@@ -33,13 +35,16 @@ export function functionalitySlug(functionality) {
33
35
  .replace(/^-+|-+$/g, '')
34
36
  .toLowerCase() || 'general');
35
37
  }
36
- /** Derive the ID prefix token for a functionality (e.g. "weather-analysis" → "WEATHER"). */
38
+ /** Derive the ID prefix token for a functionality (e.g. "weather-analysis" > "WEATHER"). */
37
39
  export function idPrefix(functionality) {
38
40
  const slug = functionalitySlug(functionality);
39
41
  const token = slug.split('-')[0] || 'gen';
40
- return token.replace(/[^a-z0-9]/g, '').slice(0, 10).toUpperCase() || 'GEN';
42
+ return (token
43
+ .replace(/[^a-z0-9]/g, '')
44
+ .slice(0, 10)
45
+ .toUpperCase() || 'GEN');
41
46
  }
42
- /** A normalized identity key for de-duplication: feature + objective + ordered (action→target) steps. */
47
+ /** A normalized identity key for de-duplication: feature + objective + ordered (action>target) steps. */
43
48
  export function caseIdentity(c) {
44
49
  const norm = (s) => s.trim().toLowerCase().replace(/\s+/g, ' ');
45
50
  const stepKey = c.steps.map((s) => `${norm(s.action)}>${norm(s.target ?? '')}`).join('|');