swipium 1.5.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 (498) hide show
  1. package/CHANGELOG.md +171 -0
  2. package/README.md +173 -280
  3. package/THREAT_MODEL.md +223 -47
  4. package/dist/appMap/automationLink.js +30 -27
  5. package/dist/appMap/automationLink.js.map +1 -1
  6. package/dist/appMap/build.js +47 -21
  7. package/dist/appMap/build.js.map +1 -1
  8. package/dist/appMap/codeIndex.js +2 -2
  9. package/dist/appMap/codeIndex.js.map +1 -1
  10. package/dist/appMap/featureIndex.js +3 -3
  11. package/dist/appMap/featureIndex.js.map +1 -1
  12. package/dist/appMap/featureModel.js +2 -2
  13. package/dist/appMap/featureModel.js.map +1 -1
  14. package/dist/appMap/firstRunApply.js +2 -2
  15. package/dist/appMap/firstRunApply.js.map +1 -1
  16. package/dist/appMap/issues.js +10 -10
  17. package/dist/appMap/issues.js.map +1 -1
  18. package/dist/appMap/migrations.js +5 -5
  19. package/dist/appMap/migrations.js.map +1 -1
  20. package/dist/appMap/prelaunch.js +2 -2
  21. package/dist/appMap/prelaunch.js.map +1 -1
  22. package/dist/appMap/projectRegistry.js +77 -11
  23. package/dist/appMap/projectRegistry.js.map +1 -1
  24. package/dist/appMap/provenance.js +2 -2
  25. package/dist/appMap/provenance.js.map +1 -1
  26. package/dist/appMap/query.js +2 -2
  27. package/dist/appMap/query.js.map +1 -1
  28. package/dist/appMap/runtimeMerge.js +3 -3
  29. package/dist/appMap/runtimeMerge.js.map +1 -1
  30. package/dist/appMap/schema.js +1 -1
  31. package/dist/appMap/schema.js.map +1 -1
  32. package/dist/appMap/screenMatch.js +1 -1
  33. package/dist/appMap/screenMatch.js.map +1 -1
  34. package/dist/appMap/staticScan.js +17 -17
  35. package/dist/appMap/staticScan.js.map +1 -1
  36. package/dist/appMap/store.js +55 -7
  37. package/dist/appMap/store.js.map +1 -1
  38. package/dist/appMap/tsAstScan.js +3 -3
  39. package/dist/appMap/tsAstScan.js.map +1 -1
  40. package/dist/artifacts/bundletool.js +5 -5
  41. package/dist/artifacts/bundletool.js.map +1 -1
  42. package/dist/artifacts/resolve.js +10 -10
  43. package/dist/artifacts/resolve.js.map +1 -1
  44. package/dist/automation/capabilities.js +3 -3
  45. package/dist/automation/capabilities.js.map +1 -1
  46. package/dist/automation/gestures.js +1 -1
  47. package/dist/automation/gestures.js.map +1 -1
  48. package/dist/automation/plan.js +7 -7
  49. package/dist/automation/plan.js.map +1 -1
  50. package/dist/automation/report.js +3 -3
  51. package/dist/automation/report.js.map +1 -1
  52. package/dist/automation/selectors.js +14 -25
  53. package/dist/automation/selectors.js.map +1 -1
  54. package/dist/automation/types.js +1 -1
  55. package/dist/automation/types.js.map +1 -1
  56. package/dist/automation/waits.js +5 -5
  57. package/dist/automation/waits.js.map +1 -1
  58. package/dist/automation/webview.js +2 -2
  59. package/dist/automation/webview.js.map +1 -1
  60. package/dist/automationGen/appiumModel.js +13 -7
  61. package/dist/automationGen/appiumModel.js.map +1 -1
  62. package/dist/automationGen/ciEmitter.js +5 -5
  63. package/dist/automationGen/ciEmitter.js.map +1 -1
  64. package/dist/automationGen/identifiers.js +224 -0
  65. package/dist/automationGen/identifiers.js.map +1 -0
  66. package/dist/automationGen/jsEmitter.js +265 -106
  67. package/dist/automationGen/jsEmitter.js.map +1 -1
  68. package/dist/automationGen/packagePatch.js +2 -2
  69. package/dist/automationGen/packagePatch.js.map +1 -1
  70. package/dist/automationGen/platformResolve.js +36 -0
  71. package/dist/automationGen/platformResolve.js.map +1 -0
  72. package/dist/automationGen/projectProfile.js +71 -26
  73. package/dist/automationGen/projectProfile.js.map +1 -1
  74. package/dist/automationGen/pythonEmitter.js +276 -105
  75. package/dist/automationGen/pythonEmitter.js.map +1 -1
  76. package/dist/automationGen/readmeEmitter.js +7 -6
  77. package/dist/automationGen/readmeEmitter.js.map +1 -1
  78. package/dist/{tools/automationGenerate.js → automationGen/run.js} +72 -113
  79. package/dist/automationGen/run.js.map +1 -0
  80. package/dist/automationGen/suitePlan.js +6 -4
  81. package/dist/automationGen/suitePlan.js.map +1 -1
  82. package/dist/automationGen/validation.js +20 -8
  83. package/dist/automationGen/validation.js.map +1 -1
  84. package/dist/build/parseBuildLog.js +2 -2
  85. package/dist/build/parseBuildLog.js.map +1 -1
  86. package/dist/build/plan.js +7 -7
  87. package/dist/build/plan.js.map +1 -1
  88. package/dist/ci/preflight.js +13 -4
  89. package/dist/ci/preflight.js.map +1 -1
  90. package/dist/cli/gc.js +74 -0
  91. package/dist/cli/gc.js.map +1 -0
  92. package/dist/cli/init.js +217 -26
  93. package/dist/cli/init.js.map +1 -1
  94. package/dist/cli/main.js +50 -0
  95. package/dist/cli/main.js.map +1 -0
  96. package/dist/cli/report.js +218 -0
  97. package/dist/cli/report.js.map +1 -0
  98. package/dist/cli/scan.js +35 -14
  99. package/dist/cli/scan.js.map +1 -1
  100. package/dist/cli/suite.js +6 -6
  101. package/dist/cli/suite.js.map +1 -1
  102. package/dist/cli/verify.js +7 -7
  103. package/dist/cli/verify.js.map +1 -1
  104. package/dist/consent/consent.js +162 -5
  105. package/dist/consent/consent.js.map +1 -1
  106. package/dist/context/detect.js +45 -14
  107. package/dist/context/detect.js.map +1 -1
  108. package/dist/context/findApps.js +6 -6
  109. package/dist/context/findApps.js.map +1 -1
  110. package/dist/context/projectRoot.js +174 -19
  111. package/dist/context/projectRoot.js.map +1 -1
  112. package/dist/context/scan.js +1 -1
  113. package/dist/context/scan.js.map +1 -1
  114. package/dist/core/capabilityGroups.js +90 -0
  115. package/dist/core/capabilityGroups.js.map +1 -0
  116. package/dist/core/target.js +3 -3
  117. package/dist/core/target.js.map +1 -1
  118. package/dist/core/targetPlan.js +65 -62
  119. package/dist/core/targetPlan.js.map +1 -1
  120. package/dist/drivers/DirectDriver.js +300 -36
  121. package/dist/drivers/DirectDriver.js.map +1 -1
  122. package/dist/drivers/SimctlDriver.js +120 -7
  123. package/dist/drivers/SimctlDriver.js.map +1 -1
  124. package/dist/drivers/WdaDriver.js +350 -50
  125. package/dist/drivers/WdaDriver.js.map +1 -1
  126. package/dist/explore/candidates.js +2 -2
  127. package/dist/explore/candidates.js.map +1 -1
  128. package/dist/explore/graph.js +5 -5
  129. package/dist/explore/graph.js.map +1 -1
  130. package/dist/explore/policy.js +5 -5
  131. package/dist/explore/policy.js.map +1 -1
  132. package/dist/explore/runner.js +301 -284
  133. package/dist/explore/runner.js.map +1 -1
  134. package/dist/explore/signatures.js +1 -1
  135. package/dist/featureTesting/executionBootstrap.js +29 -30
  136. package/dist/featureTesting/executionBootstrap.js.map +1 -1
  137. package/dist/featureTesting/featureMap.js +2 -2
  138. package/dist/featureTesting/featureMap.js.map +1 -1
  139. package/dist/featureTesting/featureScope.js +12 -12
  140. package/dist/featureTesting/featureScope.js.map +1 -1
  141. package/dist/featureTesting/mapFeatureScope.js +7 -7
  142. package/dist/featureTesting/mapFeatureScope.js.map +1 -1
  143. package/dist/featureTesting/objectiveModel.js +10 -10
  144. package/dist/featureTesting/objectiveModel.js.map +1 -1
  145. package/dist/featureTesting/resultMerge.js +6 -6
  146. package/dist/featureTesting/resultMerge.js.map +1 -1
  147. package/dist/featureTesting/sources.js +4 -4
  148. package/dist/featureTesting/sources.js.map +1 -1
  149. package/dist/featureTesting/suiteBridge.js +1 -1
  150. package/dist/featureTesting/suiteBridge.js.map +1 -1
  151. package/dist/featureTesting/synonyms.js +1 -1
  152. package/dist/featureTesting/synonyms.js.map +1 -1
  153. package/dist/featureTesting/testCaseFactory.js +11 -11
  154. package/dist/featureTesting/testCaseFactory.js.map +1 -1
  155. package/dist/featureTesting/testPlan.js +3 -3
  156. package/dist/featureTesting/testPlan.js.map +1 -1
  157. package/dist/firstRun/authStateMachine.js +1 -1
  158. package/dist/firstRun/authStateMachine.js.map +1 -1
  159. package/dist/firstRun/classifyScreen.js +5 -5
  160. package/dist/firstRun/classifyScreen.js.map +1 -1
  161. package/dist/firstRun/firstRunPlanner.js +11 -11
  162. package/dist/firstRun/firstRunPlanner.js.map +1 -1
  163. package/dist/firstRun/firstRunRunner.js +8 -8
  164. package/dist/firstRun/firstRunRunner.js.map +1 -1
  165. package/dist/firstRun/generatedDataPolicy.js +9 -9
  166. package/dist/firstRun/generatedDataPolicy.js.map +1 -1
  167. package/dist/firstRun/inputPlanner.js +5 -5
  168. package/dist/firstRun/inputPlanner.js.map +1 -1
  169. package/dist/firstRun/onboardingStateMachine.js +1 -1
  170. package/dist/firstRun/onboardingStateMachine.js.map +1 -1
  171. package/dist/firstRun/paywallPolicy.js +3 -3
  172. package/dist/firstRun/paywallPolicy.js.map +1 -1
  173. package/dist/firstRun/types.js +1 -1
  174. package/dist/firstRun/types.js.map +1 -1
  175. package/dist/fixtures/catalog.js +33 -3
  176. package/dist/fixtures/catalog.js.map +1 -1
  177. package/dist/fixtures/load.js +50 -0
  178. package/dist/fixtures/load.js.map +1 -0
  179. package/dist/flows/discover.js +2 -2
  180. package/dist/flows/discover.js.map +1 -1
  181. package/dist/flows/generate.js +20 -10
  182. package/dist/flows/generate.js.map +1 -1
  183. package/dist/flows/pack.js +3 -3
  184. package/dist/flows/pack.js.map +1 -1
  185. package/dist/flows/paths.js +57 -0
  186. package/dist/flows/paths.js.map +1 -0
  187. package/dist/flows/repair.js +111 -23
  188. package/dist/flows/repair.js.map +1 -1
  189. package/dist/flows/run.js +153 -57
  190. package/dist/flows/run.js.map +1 -1
  191. package/dist/flows/schema.js +50 -5
  192. package/dist/flows/schema.js.map +1 -1
  193. package/dist/flows/seedExec.js +4 -4
  194. package/dist/flows/seedExec.js.map +1 -1
  195. package/dist/flows/templates.js +5 -5
  196. package/dist/index.js +50 -8
  197. package/dist/index.js.map +1 -1
  198. package/dist/issues/classify.js +16 -16
  199. package/dist/issues/classify.js.map +1 -1
  200. package/dist/issues/fingerprint.js +24 -4
  201. package/dist/issues/fingerprint.js.map +1 -1
  202. package/dist/issues/index.js +94 -31
  203. package/dist/issues/index.js.map +1 -1
  204. package/dist/issues/metrics.js +4 -4
  205. package/dist/issues/metrics.js.map +1 -1
  206. package/dist/issues/recurrence.js +35 -8
  207. package/dist/issues/recurrence.js.map +1 -1
  208. package/dist/issues/report.js +4 -4
  209. package/dist/issues/report.js.map +1 -1
  210. package/dist/issues/reportBridge.js +4 -4
  211. package/dist/issues/reportBridge.js.map +1 -1
  212. package/dist/issues/schema.js +2 -2
  213. package/dist/issues/schema.js.map +1 -1
  214. package/dist/issues/sourceRevision.js +2 -2
  215. package/dist/issues/sourceRevision.js.map +1 -1
  216. package/dist/issues/store.js +110 -32
  217. package/dist/issues/store.js.map +1 -1
  218. package/dist/lib/abortScope.js +48 -0
  219. package/dist/lib/abortScope.js.map +1 -0
  220. package/dist/lib/android.js +75 -7
  221. package/dist/lib/android.js.map +1 -1
  222. package/dist/lib/coordSpace.js +1 -1
  223. package/dist/lib/coordSpace.js.map +1 -1
  224. package/dist/lib/device.js +32 -7
  225. package/dist/lib/device.js.map +1 -1
  226. package/dist/lib/gestures.js +141 -0
  227. package/dist/lib/gestures.js.map +1 -0
  228. package/dist/lib/gitignore.js +4 -3
  229. package/dist/lib/gitignore.js.map +1 -1
  230. package/dist/lib/image.js +1 -1
  231. package/dist/lib/image.js.map +1 -1
  232. package/dist/lib/lockfile.js +370 -31
  233. package/dist/lib/lockfile.js.map +1 -1
  234. package/dist/lib/needsInput.js +3 -3
  235. package/dist/lib/needsInput.js.map +1 -1
  236. package/dist/lib/png.js +2 -2
  237. package/dist/lib/png.js.map +1 -1
  238. package/dist/lib/redact.js +170 -9
  239. package/dist/lib/redact.js.map +1 -1
  240. package/dist/lib/result.js +79 -10
  241. package/dist/lib/result.js.map +1 -1
  242. package/dist/lib/schemaHash.js +3 -3
  243. package/dist/lib/schemaHash.js.map +1 -1
  244. package/dist/lib/sensitive.js +3 -2
  245. package/dist/lib/sensitive.js.map +1 -1
  246. package/dist/lib/simctl.js +3 -3
  247. package/dist/lib/simctl.js.map +1 -1
  248. package/dist/lib/spawn.js +52 -10
  249. package/dist/lib/spawn.js.map +1 -1
  250. package/dist/lib/toolAnnotations.js +114 -0
  251. package/dist/lib/toolAnnotations.js.map +1 -0
  252. package/dist/lib/wda.js +294 -15
  253. package/dist/lib/wda.js.map +1 -1
  254. package/dist/mobileAudit/checks.js +12 -12
  255. package/dist/mobileAudit/checks.js.map +1 -1
  256. package/dist/mobileAudit/evidence.js +4 -4
  257. package/dist/mobileAudit/evidence.js.map +1 -1
  258. package/dist/mobileAudit/profiles.js +1 -1
  259. package/dist/mobileAudit/profiles.js.map +1 -1
  260. package/dist/mobileAudit/results.js +3 -3
  261. package/dist/mobileAudit/results.js.map +1 -1
  262. package/dist/mobileAudit/runner.js +72 -18
  263. package/dist/mobileAudit/runner.js.map +1 -1
  264. package/dist/oracle/auth.js +1 -1
  265. package/dist/oracle/auth.js.map +1 -1
  266. package/dist/oracle/failures.js +219 -36
  267. package/dist/oracle/failures.js.map +1 -1
  268. package/dist/oracle/health.js +63 -17
  269. package/dist/oracle/health.js.map +1 -1
  270. package/dist/oracle/locator.js +13 -13
  271. package/dist/oracle/locator.js.map +1 -1
  272. package/dist/oracle/record.js +3 -3
  273. package/dist/oracle/record.js.map +1 -1
  274. package/dist/orchestration/envelope.js +2 -2
  275. package/dist/orchestration/envelope.js.map +1 -1
  276. package/dist/orchestration/goal.js +4 -4
  277. package/dist/orchestration/goal.js.map +1 -1
  278. package/dist/orchestration/testThis/execute.js +62 -21
  279. package/dist/orchestration/testThis/execute.js.map +1 -1
  280. package/dist/orchestration/testThis/pipeline.js +119 -30
  281. package/dist/orchestration/testThis/pipeline.js.map +1 -1
  282. package/dist/orchestration/testThis/plan.js +162 -73
  283. package/dist/orchestration/testThis/plan.js.map +1 -1
  284. package/dist/orchestration/testThis/sessionIntent.js +72 -0
  285. package/dist/orchestration/testThis/sessionIntent.js.map +1 -0
  286. package/dist/orchestration/testThis/terminal.js +34 -16
  287. package/dist/orchestration/testThis/terminal.js.map +1 -1
  288. package/dist/orchestration/testThis/types.js +1 -1
  289. package/dist/orchestration/testThis/types.js.map +1 -1
  290. package/dist/plan/plan.js +9 -9
  291. package/dist/plan/plan.js.map +1 -1
  292. package/dist/prompts/index.js +22 -22
  293. package/dist/prompts/index.js.map +1 -1
  294. package/dist/report/export.js +392 -37
  295. package/dist/report/export.js.map +1 -1
  296. package/dist/report/findingsDedupe.js +41 -0
  297. package/dist/report/findingsDedupe.js.map +1 -0
  298. package/dist/report/policy.js +7 -4
  299. package/dist/report/policy.js.map +1 -1
  300. package/dist/report/qaLevel.js +8 -8
  301. package/dist/report/qaLevel.js.map +1 -1
  302. package/dist/report/sarifSources.js +160 -0
  303. package/dist/report/sarifSources.js.map +1 -0
  304. package/dist/report/summary.js +2 -2
  305. package/dist/report/summary.js.map +1 -1
  306. package/dist/report/testCatalog.js +4 -4
  307. package/dist/report/testCatalog.js.map +1 -1
  308. package/dist/report/toolHealth.js +124 -0
  309. package/dist/report/toolHealth.js.map +1 -0
  310. package/dist/server.js +472 -45
  311. package/dist/server.js.map +1 -1
  312. package/dist/services/automationGenerate.js +8 -2
  313. package/dist/services/automationGenerate.js.map +1 -1
  314. package/dist/services/build.js +2 -2
  315. package/dist/services/build.js.map +1 -1
  316. package/dist/{tools → services}/flowGenerate.js +29 -13
  317. package/dist/services/flowGenerate.js.map +1 -0
  318. package/dist/services/preflight.js +4 -4
  319. package/dist/services/preflight.js.map +1 -1
  320. package/dist/services/prepareAndroid.js +46 -8
  321. package/dist/services/prepareAndroid.js.map +1 -1
  322. package/dist/services/prepareIos.js +24 -9
  323. package/dist/services/prepareIos.js.map +1 -1
  324. package/dist/services/report.js +100 -45
  325. package/dist/services/report.js.map +1 -1
  326. package/dist/services/smoke.js +32 -16
  327. package/dist/services/smoke.js.map +1 -1
  328. package/dist/services/suiteGenerate.js +28 -3
  329. package/dist/services/suiteGenerate.js.map +1 -1
  330. package/dist/services/testSuiteKnowledge.js +40 -27
  331. package/dist/services/testSuiteKnowledge.js.map +1 -1
  332. package/dist/session/attach.js +270 -6
  333. package/dist/session/attach.js.map +1 -1
  334. package/dist/session/processRegistry.js +317 -48
  335. package/dist/session/processRegistry.js.map +1 -1
  336. package/dist/session/progress.js +1 -1
  337. package/dist/session/retention.js +201 -0
  338. package/dist/session/retention.js.map +1 -0
  339. package/dist/session/store.js +275 -48
  340. package/dist/session/store.js.map +1 -1
  341. package/dist/snapshot/overlays.js +53 -8
  342. package/dist/snapshot/overlays.js.map +1 -1
  343. package/dist/snapshot/parse.js +28 -4
  344. package/dist/snapshot/parse.js.map +1 -1
  345. package/dist/snapshot/present.js +11 -5
  346. package/dist/snapshot/present.js.map +1 -1
  347. package/dist/snapshot/settle.js +39 -9
  348. package/dist/snapshot/settle.js.map +1 -1
  349. package/dist/state/consent.js +99 -0
  350. package/dist/state/consent.js.map +1 -0
  351. package/dist/state/profile.js +46 -2
  352. package/dist/state/profile.js.map +1 -1
  353. package/dist/suite/compile.js +9 -5
  354. package/dist/suite/compile.js.map +1 -1
  355. package/dist/suite/lint.js +4 -4
  356. package/dist/suite/lint.js.map +1 -1
  357. package/dist/suite/pom.js +50 -41
  358. package/dist/suite/pom.js.map +1 -1
  359. package/dist/suite/secretGuard.js +266 -0
  360. package/dist/suite/secretGuard.js.map +1 -0
  361. package/dist/suite/testcase.js +9 -7
  362. package/dist/suite/testcase.js.map +1 -1
  363. package/dist/testSuite/exporter.js +4 -4
  364. package/dist/testSuite/exporter.js.map +1 -1
  365. package/dist/testSuite/generator.js +13 -9
  366. package/dist/testSuite/generator.js.map +1 -1
  367. package/dist/testSuite/history.js +1 -1
  368. package/dist/testSuite/history.js.map +1 -1
  369. package/dist/testSuite/issueLinks.js +3 -3
  370. package/dist/testSuite/issueLinks.js.map +1 -1
  371. package/dist/testSuite/lint.js +4 -4
  372. package/dist/testSuite/lint.js.map +1 -1
  373. package/dist/testSuite/merge.js +5 -5
  374. package/dist/testSuite/merge.js.map +1 -1
  375. package/dist/testSuite/schema.js +5 -5
  376. package/dist/testSuite/schema.js.map +1 -1
  377. package/dist/testSuite/store.js +3 -3
  378. package/dist/testSuite/store.js.map +1 -1
  379. package/dist/testSuite/traceability.js +2 -2
  380. package/dist/testSuite/traceability.js.map +1 -1
  381. package/dist/tools/act.js +794 -164
  382. package/dist/tools/act.js.map +1 -1
  383. package/dist/tools/agent.js +451 -128
  384. package/dist/tools/agent.js.map +1 -1
  385. package/dist/tools/appControl.js +69 -19
  386. package/dist/tools/appControl.js.map +1 -1
  387. package/dist/tools/appMap.js +188 -130
  388. package/dist/tools/appMap.js.map +1 -1
  389. package/dist/tools/build.js +32 -42
  390. package/dist/tools/build.js.map +1 -1
  391. package/dist/tools/bundletool.js +21 -31
  392. package/dist/tools/bundletool.js.map +1 -1
  393. package/dist/tools/clearOverlay.js +55 -12
  394. package/dist/tools/clearOverlay.js.map +1 -1
  395. package/dist/tools/device.js +76 -24
  396. package/dist/tools/device.js.map +1 -1
  397. package/dist/tools/doctor.js +68 -28
  398. package/dist/tools/doctor.js.map +1 -1
  399. package/dist/tools/explore.js +41 -47
  400. package/dist/tools/explore.js.map +1 -1
  401. package/dist/tools/featureTesting.js +31 -48
  402. package/dist/tools/featureTesting.js.map +1 -1
  403. package/dist/tools/firstRun.js +34 -41
  404. package/dist/tools/firstRun.js.map +1 -1
  405. package/dist/tools/flow.js +183 -103
  406. package/dist/tools/flow.js.map +1 -1
  407. package/dist/tools/flowRepair.js +25 -13
  408. package/dist/tools/flowRepair.js.map +1 -1
  409. package/dist/tools/generate.js +52 -89
  410. package/dist/tools/generate.js.map +1 -1
  411. package/dist/tools/getArtifact.js +16 -5
  412. package/dist/tools/getArtifact.js.map +1 -1
  413. package/dist/tools/health.js +15 -12
  414. package/dist/tools/health.js.map +1 -1
  415. package/dist/tools/ios.js +45 -223
  416. package/dist/tools/ios.js.map +1 -1
  417. package/dist/tools/issues.js +251 -35
  418. package/dist/tools/issues.js.map +1 -1
  419. package/dist/tools/jobs.js +41 -16
  420. package/dist/tools/jobs.js.map +1 -1
  421. package/dist/tools/metro.js +36 -35
  422. package/dist/tools/metro.js.map +1 -1
  423. package/dist/tools/mobileAudit.js +50 -45
  424. package/dist/tools/mobileAudit.js.map +1 -1
  425. package/dist/tools/network.js +31 -14
  426. package/dist/tools/network.js.map +1 -1
  427. package/dist/tools/note.js +26 -26
  428. package/dist/tools/note.js.map +1 -1
  429. package/dist/tools/prepareIosTarget.js +10 -16
  430. package/dist/tools/prepareIosTarget.js.map +1 -1
  431. package/dist/tools/prepareTarget.js +117 -50
  432. package/dist/tools/prepareTarget.js.map +1 -1
  433. package/dist/tools/report.js +11 -22
  434. package/dist/tools/report.js.map +1 -1
  435. package/dist/tools/resolveArtifact.js +11 -15
  436. package/dist/tools/resolveArtifact.js.map +1 -1
  437. package/dist/tools/resolveTarget.js +78 -24
  438. package/dist/tools/resolveTarget.js.map +1 -1
  439. package/dist/tools/screenRecord.js +23 -21
  440. package/dist/tools/screenRecord.js.map +1 -1
  441. package/dist/tools/screenshot.js +23 -16
  442. package/dist/tools/screenshot.js.map +1 -1
  443. package/dist/tools/smoke.js +20 -16
  444. package/dist/tools/smoke.js.map +1 -1
  445. package/dist/tools/snapshot.js +155 -118
  446. package/dist/tools/snapshot.js.map +1 -1
  447. package/dist/tools/startSession.js +104 -116
  448. package/dist/tools/startSession.js.map +1 -1
  449. package/dist/tools/suite.js +72 -43
  450. package/dist/tools/suite.js.map +1 -1
  451. package/dist/tools/testSuite.js +30 -20
  452. package/dist/tools/testSuite.js.map +1 -1
  453. package/dist/tools/testThis.js +24 -28
  454. package/dist/tools/testThis.js.map +1 -1
  455. package/dist/tools/visual.js +686 -210
  456. package/dist/tools/visual.js.map +1 -1
  457. package/dist/tools/wait.js +9 -38
  458. package/dist/tools/wait.js.map +1 -1
  459. package/dist/tools/wda.js +187 -57
  460. package/dist/tools/wda.js.map +1 -1
  461. package/dist/version.js +31 -22
  462. package/dist/version.js.map +1 -1
  463. package/dist/visual/ocr.js +53 -6
  464. package/dist/visual/ocr.js.map +1 -1
  465. package/dist/visual/provider.js +80 -12
  466. package/dist/visual/provider.js.map +1 -1
  467. package/docs/README.md +24 -10
  468. package/docs/ci-reports.md +328 -0
  469. package/docs/concepts.md +227 -0
  470. package/docs/flows.md +153 -0
  471. package/docs/mcp-server.md +194 -128
  472. package/docs/physical-devices.md +84 -0
  473. package/docs/tools.md +812 -152
  474. package/package.json +3 -2
  475. package/dist/tools/assertVisual.js +0 -84
  476. package/dist/tools/assertVisual.js.map +0 -1
  477. package/dist/tools/automationGenerate.js.map +0 -1
  478. package/dist/tools/capabilities.js +0 -179
  479. package/dist/tools/capabilities.js.map +0 -1
  480. package/dist/tools/detectContext.js +0 -41
  481. package/dist/tools/detectContext.js.map +0 -1
  482. package/dist/tools/flowGenerate.js.map +0 -1
  483. package/dist/tools/history.js +0 -86
  484. package/dist/tools/history.js.map +0 -1
  485. package/dist/tools/locator.js +0 -85
  486. package/dist/tools/locator.js.map +0 -1
  487. package/dist/tools/permissions.js +0 -174
  488. package/dist/tools/permissions.js.map +0 -1
  489. package/dist/tools/plan.js +0 -52
  490. package/dist/tools/plan.js.map +0 -1
  491. package/dist/tools/screenInfo.js +0 -76
  492. package/dist/tools/screenInfo.js.map +0 -1
  493. package/dist/tools/seed.js +0 -133
  494. package/dist/tools/seed.js.map +0 -1
  495. package/dist/tools/state.js +0 -217
  496. package/dist/tools/state.js.map +0 -1
  497. package/dist/tools/visualText.js +0 -106
  498. package/dist/tools/visualText.js.map +0 -1
@@ -1,15 +1,15 @@
1
- // Failure taxonomy (PHASE3-PLAN §4.3 / roadmap §6). Every failure Swipium can detect maps to a
1
+ // Failure taxonomy. Every failure Swipium can detect maps to a
2
2
  // stable code with: a bucket (so qa_report can group failures the way a developer triages them),
3
3
  // a severity, a default retry-safety, and an actionable recovery line. This turns "something
4
- // failed" into "this class of failure, here's whether to retry, here's the fix" — the
4
+ // failed" into "this class of failure, here's whether to retry, here's the fix". The
5
5
  // structured/actionable error practice, applied to mobile QA.
6
6
  //
7
7
  // Buckets (what a developer does about it):
8
- // app_bug — the app is broken; fix the app.
9
- // environment — device/toolchain/network/build setup; fix the environment.
10
- // missing_data — a precondition / test account / fixture is absent; provide it.
11
- // mcp_limitation — automation couldn't proceed (opaque UI, stale ref, overlay); adjust approach.
12
- // unsafe_refused — a guardrail intentionally refused a destructive action; expected, not a bug.
8
+ // app_bug : the app is broken; fix the app.
9
+ // environment : device/toolchain/network/build setup; fix the environment.
10
+ // missing_data : a precondition / test account / fixture is absent; provide it.
11
+ // mcp_limitation : automation couldn't proceed (opaque UI, stale ref, overlay); adjust approach.
12
+ // unsafe_refused : a guardrail intentionally refused a destructive action; expected, not a bug.
13
13
  export const FAILURES = {
14
14
  NATIVE_CRASH: {
15
15
  bucket: 'app_bug',
@@ -23,63 +23,70 @@ export const FAILURES = {
23
23
  severity: 'high',
24
24
  retrySafe: false,
25
25
  summary: 'App not responding (ANR)',
26
- recovery: 'Main thread is blocked — profile the slow work; retrying will not help.',
26
+ recovery: 'Main thread is blocked. Profile the slow work; retrying will not help.',
27
27
  },
28
28
  ERROR_BOUNDARY: {
29
29
  bucket: 'app_bug',
30
30
  severity: 'high',
31
31
  retrySafe: false,
32
32
  summary: 'App error screen / error boundary',
33
- recovery: 'A render/runtime error surfaced to the user — inspect logs and fix the failing screen.',
33
+ recovery: 'A render/runtime error surfaced to the user. Inspect logs and fix the failing screen.',
34
34
  },
35
35
  REDBOX: {
36
36
  bucket: 'app_bug',
37
37
  severity: 'high',
38
38
  retrySafe: false,
39
39
  summary: 'Framework red-box error',
40
- recovery: 'A fatal JS/runtime error — read the error text; often a bad bundle or thrown error.',
40
+ recovery: 'A fatal JS/runtime error. Read the error text; often a bad bundle or thrown error.',
41
41
  },
42
42
  LOGBOX: {
43
43
  bucket: 'app_bug',
44
44
  severity: 'medium',
45
45
  retrySafe: true,
46
46
  summary: 'Framework warning overlay',
47
- recovery: 'Non-fatal warning(s) — dismiss with qa_clear_overlay; review before release.',
47
+ recovery: 'Non-fatal warning(s). Dismiss with qa_clear_overlay; review before release.',
48
48
  },
49
49
  BACKEND_ERROR: {
50
50
  bucket: 'app_bug',
51
51
  severity: 'high',
52
52
  retrySafe: false,
53
53
  summary: 'Backend/error surface shown to the user',
54
- recovery: 'An error toast/banner/HTTP-error screen appeared — check the API response and error handling.',
54
+ recovery: 'An error toast/banner/HTTP-error screen appeared. Check the API response and error handling.',
55
55
  },
56
56
  BLANK_SCREEN: {
57
57
  bucket: 'app_bug',
58
58
  severity: 'high',
59
59
  retrySafe: false,
60
60
  summary: 'Blank/empty screen',
61
- recovery: 'Nothing rendered — check for a failed initial fetch, missing data state, or a swallowed error.',
61
+ recovery: 'Nothing rendered. Check for a failed initial fetch, missing data state, or a swallowed error.',
62
62
  },
63
63
  INFINITE_SPINNER: {
64
64
  bucket: 'app_bug',
65
65
  severity: 'high',
66
66
  retrySafe: false,
67
67
  summary: 'Stuck loading indicator',
68
- recovery: 'A loading state never resolved — check the pending request/timeout handling.',
68
+ recovery: 'A loading state never resolved. Check the pending request/timeout handling.',
69
69
  },
70
70
  ASSERTION_FAILED: {
71
71
  bucket: 'app_bug',
72
72
  severity: 'high',
73
73
  retrySafe: false,
74
74
  summary: 'Expected UI was not present',
75
- recovery: 'The asserted text/element was missing — either a real regression or the flow needs updating for a UI change.',
75
+ recovery: 'The asserted text/element was missing. Either a real regression or the flow needs updating for a UI change.',
76
76
  },
77
77
  NO_DEVICE: {
78
78
  bucket: 'environment',
79
79
  severity: 'high',
80
80
  retrySafe: true,
81
81
  summary: 'No online device or bootable emulator',
82
- recovery: 'Boot/create a device (qa_doctor), then qa_prepare_target.',
82
+ recovery: 'Create an Android AVD (Android Studio > Device Manager, or avdmanager create avd …) or an iOS Simulator (Xcode), then re-run qa_test_this. It boots it for you.',
83
+ },
84
+ ADB_NOT_FOUND: {
85
+ bucket: 'environment',
86
+ severity: 'high',
87
+ retrySafe: true,
88
+ summary: 'adb (Android platform-tools) is not installed or not on PATH',
89
+ recovery: 'Install Android platform-tools + emulator (Android Studio SDK Manager or sdkmanager), put them on PATH or set ANDROID_HOME, create an AVD, then re-run qa_test_this.',
83
90
  },
84
91
  NO_ARTIFACT: {
85
92
  bucket: 'environment',
@@ -305,6 +312,14 @@ export const FAILURES = {
305
312
  summary: 'CI report upload or publication was skipped',
306
313
  recovery: 'Use if: always()/equivalent artifact upload steps and upload the full Swipium run directory even when tests fail.',
307
314
  },
315
+ SECRET_IN_GENERATED_OUTPUT: {
316
+ bucket: 'unsafe_refused',
317
+ severity: 'high',
318
+ retrySafe: false,
319
+ owner: 'swipium',
320
+ summary: 'Generated test asset would contain a registered secret value in plaintext; nothing was written',
321
+ recovery: 'Report this as a Swipium bug (the recorded step should have become a ${VAR}); meanwhile re-record the credential step through a secure field or provide it via qa_continue_from_blocker so it is recorded as a variable.',
322
+ },
308
323
  SECRET_ARTIFACT_IN_EVIDENCE: {
309
324
  bucket: 'unsafe_refused',
310
325
  severity: 'high',
@@ -334,7 +349,7 @@ export const FAILURES = {
334
349
  severity: 'medium',
335
350
  retrySafe: false,
336
351
  summary: 'Login required, no usable credentials',
337
- recovery: 'Provide a test account (a fixture with a testAccount, plus TEST_EMAIL/TEST_PASSWORD).',
352
+ recovery: 'Provide a test account (a fixture with a testAccount, plus SWIPIUM_TEST_EMAIL/SWIPIUM_TEST_PASSWORD).',
338
353
  },
339
354
  MISSING_FIXTURE: {
340
355
  bucket: 'missing_data',
@@ -348,14 +363,38 @@ export const FAILURES = {
348
363
  severity: 'medium',
349
364
  retrySafe: false,
350
365
  summary: 'Required secret or flow variable is missing',
351
- recovery: 'Provide the variable through the CI environment, --secret-file, SWIPIUM_SECRET_FILE, or .swipium/secrets.json; never inline secrets in flows.',
366
+ recovery: 'Provide the variable as an environment variable of the Swipium server/CI job (e.g. SWIPIUM_TEST_PASSWORD), or answer the needs_input question via qa_continue_from_blocker; never inline secrets in flows.',
367
+ },
368
+ OCR_NOT_CONFIGURED: {
369
+ bucket: 'environment',
370
+ severity: 'low',
371
+ retrySafe: false,
372
+ owner: 'user',
373
+ summary: 'No local OCR provider is configured (none is bundled)',
374
+ recovery: 'Set ocrCommand in .swipium/config.json (argv array with an {image} placeholder) or SWIPIUM_OCR_CMD; the command must print JSON regions [{text, confidence 0..1, bbox:{x,y,width,height} in screenshot px}]. Or use qa_visual mode:"find_image".',
375
+ },
376
+ OCR_PROVIDER_FAILED: {
377
+ bucket: 'environment',
378
+ severity: 'medium',
379
+ retrySafe: false,
380
+ owner: 'user',
381
+ summary: 'The configured OCR/visual-mask provider exited non-zero or timed out (its result was not trusted as "text not found")',
382
+ recovery: 'Read the returned exitCode + stderr, run the provider standalone from the project root on a PNG, and fix it (missing tesseract, bad script path, Python error). Relative argv paths resolve against the project root.',
383
+ },
384
+ FLOW_NOT_FOUND: {
385
+ bucket: 'environment',
386
+ severity: 'low',
387
+ retrySafe: true,
388
+ owner: 'user',
389
+ summary: 'The named flow file does not exist under the resolved project root',
390
+ recovery: 'Pass an existing flow name (.swipium/flows/<name>.yaml) or path, inline flowYaml, or projectRoot / sessionId so the flow can be resolved (SWIPIUM_PROJECT_ROOT also works).',
352
391
  },
353
392
  VISUAL_ONLY_SCREEN: {
354
393
  bucket: 'mcp_limitation',
355
394
  severity: 'low',
356
395
  retrySafe: false,
357
396
  summary: 'Screen has no usable UI tree (canvas/map/webview)',
358
- recovery: 'Use qa_screenshot, coordinate taps, and qa_assert_visual.',
397
+ recovery: 'Use qa_screenshot, coordinate taps, and qa_visual mode:"assert".',
359
398
  },
360
399
  VISUAL_LOCATOR_DRIFT: {
361
400
  bucket: 'mcp_limitation',
@@ -425,7 +464,14 @@ export const FAILURES = {
425
464
  severity: 'low',
426
465
  retrySafe: true,
427
466
  summary: 'Keyboard is covering the target',
428
- recovery: 'Dismiss the keyboard or press enter/back before interacting with the covered element.',
467
+ recovery: 'qa_act already tried hiding the keyboard, so it could not be hidden or the target is still covered. Submit (press enter), scroll the target above the keyboard, or qa_clear_overlay hide_keyboard, then retry.',
468
+ },
469
+ KEYBOARD_NOT_DISMISSIBLE: {
470
+ bucket: 'mcp_limitation',
471
+ severity: 'low',
472
+ retrySafe: false,
473
+ summary: 'The soft keyboard is up and the backend could not dismiss it',
474
+ recovery: 'The app offers no generic dismiss (e.g. WDA "Did not know how to dismiss the keyboard"): submit with qa_act press key:"enter", tap outside the field (qa_clear_overlay strategy:"tap_outside") or the app\'s own Done button, then retry.',
429
475
  },
430
476
  TEXT_INPUT_UNSUPPORTED: {
431
477
  bucket: 'mcp_limitation',
@@ -453,7 +499,7 @@ export const FAILURES = {
453
499
  severity: 'medium',
454
500
  retrySafe: false,
455
501
  summary: 'Repeated actions changed nothing',
456
- recovery: 'Likely wrong coordinates, a disabled control, an overlay, or an auth wall — stop and inspect.',
502
+ recovery: 'Likely wrong coordinates, a disabled control, an overlay, or an auth wall. Stop and inspect.',
457
503
  },
458
504
  OVERLAY_OBSTRUCTION: {
459
505
  bucket: 'mcp_limitation',
@@ -474,21 +520,21 @@ export const FAILURES = {
474
520
  severity: 'low',
475
521
  retrySafe: false,
476
522
  summary: 'Operation not supported by the current backend',
477
- recovery: 'For structured iOS tap/type/snapshot, attach WebDriverAgent with qa_wda. Without WDA, use qa_assert_visual and qa_ios lifecycle/deep links.',
523
+ recovery: 'For structured iOS tap/type/snapshot, attach WebDriverAgent with qa_wda. Without WDA, use qa_visual mode:"assert" and qa_ios lifecycle/deep links.',
478
524
  },
479
525
  BUNDLE_LOSS_REFUSED: {
480
526
  bucket: 'unsafe_refused',
481
527
  severity: 'low',
482
528
  retrySafe: false,
483
529
  summary: 'Refused a clear/reset that would wipe a debug bundle',
484
- recovery: 'Expected guardrail — use a release build for clean-state tests, or run destructive steps last.',
530
+ recovery: 'Expected guardrail. Use a release build for clean-state tests, or run destructive steps last.',
485
531
  },
486
532
  DESTRUCTIVE_REFUSED: {
487
533
  bucket: 'unsafe_refused',
488
534
  severity: 'low',
489
535
  retrySafe: false,
490
536
  summary: 'Refused a destructive action pending consent',
491
- recovery: 'Expected guardrail — approve the consent prompt only if you intend the side effect.',
537
+ recovery: 'Expected guardrail. Approve the consent prompt only if you intend the side effect.',
492
538
  },
493
539
  GIT_SCOPE_FORBIDDEN: {
494
540
  bucket: 'unsafe_refused',
@@ -504,9 +550,73 @@ export const FAILURES = {
504
550
  retrySafe: false,
505
551
  owner: 'user',
506
552
  summary: 'Refused an unsafe action (purchase/delete/send) during exploration',
507
- recovery: 'Expected guardrail — explicitly allow this action class (e.g. allowDestructive) only if you intend its side effect.',
553
+ recovery: 'Expected guardrail. Explicitly allow this action class (e.g. allowDestructive) only if you intend its side effect.',
508
554
  },
509
- // --- roadmap §10: project detection ---
555
+ CONSENT_DECLINED: {
556
+ bucket: 'unsafe_refused',
557
+ severity: 'low',
558
+ retrySafe: false,
559
+ owner: 'user',
560
+ summary: 'The user declined a consent prompt (MCP elicitation); nothing ran',
561
+ recovery: 'Expected guardrail. Do not retry; ask the user before attempting the action again.',
562
+ },
563
+ CONSENT_CANCELLED: {
564
+ bucket: 'unsafe_refused',
565
+ severity: 'low',
566
+ retrySafe: true,
567
+ owner: 'user',
568
+ summary: 'A consent prompt was dismissed, timed out, or failed. Treated as a refusal; nothing ran',
569
+ recovery: 'Re-call the tool (without consentId) to show the user a fresh consent prompt.',
570
+ },
571
+ CANCELLED: {
572
+ // Not a failure: the MCP request was aborted or the job cancelled. Never recorded as a tool
573
+ // error, snapshot failure, finding or health verdict (lib/abortScope.ts isAbortError).
574
+ bucket: 'unsafe_refused',
575
+ severity: 'low',
576
+ retrySafe: true,
577
+ owner: 'user',
578
+ summary: 'The call or job was cancelled before it finished. Not a failure; nothing was recorded against the app or the tool',
579
+ recovery: 'Re-run the call if you still need its result.',
580
+ },
581
+ CONSENT_REFUSED: {
582
+ bucket: 'unsafe_refused',
583
+ severity: 'low',
584
+ retrySafe: false,
585
+ owner: 'user',
586
+ summary: 'SWIPIUM_REQUIRE_ELICITATION=1 refused a consent-gated action because the client cannot elicit',
587
+ recovery: 'Connect with an MCP client that supports elicitation, or unset SWIPIUM_REQUIRE_ELICITATION.',
588
+ },
589
+ VISUAL_PATH_REFUSED: {
590
+ bucket: 'unsafe_refused',
591
+ severity: 'medium',
592
+ retrySafe: false,
593
+ summary: 'Visual baseline name or template path escapes the allowed directory',
594
+ recovery: 'Use a plain baseline name matching [A-Za-z0-9._-]{1,64} (no leading dot) and a find_image template inside the project root or a swipium:// artifact URI from this session.',
595
+ },
596
+ SENSITIVE_MODE_REFUSED: {
597
+ bucket: 'unsafe_refused',
598
+ severity: 'low',
599
+ retrySafe: false,
600
+ owner: 'user',
601
+ summary: 'Pixel/video/log capture refused because the session was started in sensitive mode',
602
+ recovery: 'Expected guardrail: rely on structured snapshot + health (no screen contents), or start a non-sensitive session (omit sensitive:true) to capture pixels/logs.',
603
+ },
604
+ CAPTURE_WITHHELD_SECURE: {
605
+ bucket: 'unsafe_refused',
606
+ severity: 'low',
607
+ retrySafe: false,
608
+ summary: 'Screen capture withheld because a secure field (password/OTP) is on screen',
609
+ recovery: 'Expected guardrail (pixels cannot be redacted): capture a non-sensitive screen, or pass force:true only if the artifact may contain the secret.',
610
+ },
611
+ PHYSICAL_DEVICE_UNSUPPORTED: {
612
+ bucket: 'unsafe_refused',
613
+ severity: 'low',
614
+ retrySafe: false,
615
+ owner: 'user',
616
+ summary: 'A physical device is visible but Swipium is simulator/emulator-only by policy',
617
+ recovery: 'Expected scope guardrail (THREAT_MODEL.md non-goals, docs/physical-devices.md): real devices carry real user data. Test on an emulator/simulator, or unplug the device if it was selected by accident.',
618
+ },
619
+ // --- project detection ---
510
620
  NOT_MOBILE_PROJECT: {
511
621
  bucket: 'environment',
512
622
  severity: 'high',
@@ -520,7 +630,7 @@ export const FAILURES = {
520
630
  severity: 'medium',
521
631
  retrySafe: true,
522
632
  owner: 'user',
523
- summary: 'Monorepo has multiple app targets — none chosen',
633
+ summary: 'Monorepo has multiple app targets, none chosen',
524
634
  recovery: 'Specify which app/package to test (projectRoot or target) so Swipium does not guess.',
525
635
  },
526
636
  PROJECT_ROOT_EMPTY: {
@@ -531,6 +641,14 @@ export const FAILURES = {
531
641
  summary: 'Project root is empty',
532
642
  recovery: 'Run inside a project directory or pass projectRoot to a real app.',
533
643
  },
644
+ PROJECT_ROOT_UNRESOLVED: {
645
+ bucket: 'environment',
646
+ severity: 'high',
647
+ retrySafe: true,
648
+ owner: 'user',
649
+ summary: 'Could not resolve a project root (no projectRoot arg, MCP roots, SWIPIUM_PROJECT_ROOT, or usable cwd)',
650
+ recovery: 'Pass projectRoot="/absolute/path/to/app", or set SWIPIUM_PROJECT_ROOT in the MCP server env.',
651
+ },
534
652
  UNSUPPORTED_FRAMEWORK: {
535
653
  bucket: 'environment',
536
654
  severity: 'high',
@@ -539,7 +657,7 @@ export const FAILURES = {
539
657
  summary: 'Project framework is not supported',
540
658
  recovery: 'Swipium supports Expo, bare React Native, native Android, native iOS, and Flutter. File a request for other frameworks.',
541
659
  },
542
- // --- roadmap §10: artifact resolution / install ---
660
+ // --- artifact resolution / install ---
543
661
  NO_BUILD_ARTIFACT: {
544
662
  bucket: 'environment',
545
663
  severity: 'high',
@@ -554,7 +672,7 @@ export const FAILURES = {
554
672
  severity: 'medium',
555
673
  retrySafe: true,
556
674
  owner: 'user',
557
- summary: 'Multiple candidate artifacts found — none clearly newest/best',
675
+ summary: 'Multiple candidate artifacts found, none clearly newest/best',
558
676
  recovery: 'Pass an explicit artifact path, or accept the ranked top candidate Swipium proposes.',
559
677
  },
560
678
  ARTIFACT_OUTSIDE_ROOT_REQUIRES_APPROVAL: {
@@ -712,7 +830,7 @@ export const FAILURES = {
712
830
  summary: 'Signing team does not match the provisioning profile team',
713
831
  recovery: 'Re-sign the .ipa so the codesign team identifier matches the provisioning profile team, then retry.',
714
832
  },
715
- // --- roadmap §10: build-from-source ---
833
+ // --- build-from-source ---
716
834
  BUILD_COMMAND_UNAVAILABLE: {
717
835
  bucket: 'environment',
718
836
  severity: 'high',
@@ -788,7 +906,7 @@ export const FAILURES = {
788
906
  summary: 'flutter build failed',
789
907
  recovery: 'Open the flutter build log artifact and fix the reported error, then retry.',
790
908
  },
791
- // --- roadmap §10: runtime ---
909
+ // --- runtime ---
792
910
  METRO_REQUIRED: {
793
911
  bucket: 'environment',
794
912
  severity: 'high',
@@ -823,7 +941,7 @@ export const FAILURES = {
823
941
  summary: 'App was installed but failed to launch',
824
942
  recovery: 'Confirm the bundle/app id, check the device log for the launch error, and verify Metro (for debug builds) is reachable.',
825
943
  },
826
- // --- roadmap §10: automation / durability ---
944
+ // --- automation / durability ---
827
945
  MISSING_DURABLE_LOCATOR: {
828
946
  bucket: 'mcp_limitation',
829
947
  severity: 'medium',
@@ -846,7 +964,7 @@ export const FAILURES = {
846
964
  retrySafe: false,
847
965
  owner: 'swipium',
848
966
  summary: 'Verification was visual-only, not structurally asserted',
849
- recovery: 'Treat as weaker evidence — add structured assertions where the UI tree is available; keep the screenshot as evidence.',
967
+ recovery: 'Treat as weaker evidence. Add structured assertions where the UI tree is available; keep the screenshot as evidence.',
850
968
  },
851
969
  AUTH_REQUIRED: {
852
970
  bucket: 'missing_data',
@@ -854,7 +972,7 @@ export const FAILURES = {
854
972
  retrySafe: false,
855
973
  owner: 'user',
856
974
  summary: 'Login required to reach this workflow',
857
- recovery: 'Provide test credentials (TEST_EMAIL/TEST_PASSWORD via a secret file), or accept pre-login-only coverage.',
975
+ recovery: 'Provide test credentials (SWIPIUM_TEST_EMAIL/SWIPIUM_TEST_PASSWORD in the server env, or via qa_continue_from_blocker), or accept pre-login-only coverage.',
858
976
  },
859
977
  MISSING_TEST_DATA: {
860
978
  bucket: 'missing_data',
@@ -864,6 +982,71 @@ export const FAILURES = {
864
982
  summary: 'Required test data/fixture is missing',
865
983
  recovery: 'Seed or provide the required state (account, record, entitlement), then re-run; do not fake coverage.',
866
984
  },
985
+ // --- tool-local codes ---
986
+ ISSUE_LOG_TOO_VAGUE: {
987
+ bucket: 'missing_data',
988
+ severity: 'low',
989
+ retrySafe: true,
990
+ owner: 'user',
991
+ summary: 'The issue title has no identifying words once ids/numbers are scrubbed, so it would merge with unrelated issues',
992
+ recovery: 'Log it with a descriptive title (what broke, where), or pass a failureCode.',
993
+ },
994
+ ISSUE_NOT_FOUND: {
995
+ bucket: 'missing_data',
996
+ severity: 'low',
997
+ retrySafe: true,
998
+ owner: 'user',
999
+ summary: 'No issue in the project ledger matches the given issueId/fingerprint',
1000
+ recovery: 'List issues with qa_issue_log mode:"history" and pass an existing issueId.',
1001
+ },
1002
+ ISSUE_STATE_INVALID: {
1003
+ bucket: 'unsafe_refused',
1004
+ severity: 'low',
1005
+ retrySafe: false,
1006
+ owner: 'user',
1007
+ summary: "The requested lifecycle transition is not allowed from the issue's current state",
1008
+ recovery: 'mark_fixed only applies to an active issue, verify_fixed only to a fixed one, unsuppress only to a suppressed one. Check the state with mode:"history".',
1009
+ },
1010
+ ISSUE_EVIDENCE_REQUIRED: {
1011
+ bucket: 'missing_data',
1012
+ severity: 'low',
1013
+ retrySafe: true,
1014
+ owner: 'user',
1015
+ summary: 'verify_fixed needs evidence from the current run',
1016
+ recovery: 'Pass a reportUri, testCaseId, auditCheckId, or evidenceUris from the run that proves the fix.',
1017
+ },
1018
+ NO_APP_MAP: {
1019
+ bucket: 'missing_data',
1020
+ severity: 'low',
1021
+ retrySafe: true,
1022
+ owner: 'swipium',
1023
+ selfFixable: true,
1024
+ summary: 'No app knowledge map exists for this project yet',
1025
+ recovery: 'Build it with qa_app_map_build (qa_test_this and qa_explore also update it).',
1026
+ },
1027
+ NO_RECORDED_ACTIONS: {
1028
+ bucket: 'missing_data',
1029
+ severity: 'low',
1030
+ retrySafe: true,
1031
+ owner: 'swipium',
1032
+ summary: 'The session has no recorded actions to generate assets from',
1033
+ recovery: 'Drive the app first (qa_smoke / qa_explore / qa_act), or let qa_generate target:"appium" bootstrap from projectRoot.',
1034
+ },
1035
+ UNEMITTABLE_STEP: {
1036
+ bucket: 'mcp_limitation',
1037
+ severity: 'medium',
1038
+ retrySafe: false,
1039
+ summary: 'A recorded step cannot be emitted as Appium code (no selector or gesture the target language can express)',
1040
+ recovery: 'Re-record the step with a durable selector (testID / accessibilityIdentifier), or remove it before generating.',
1041
+ },
1042
+ INVALID_ARGUMENT: {
1043
+ bucket: 'unsafe_refused',
1044
+ severity: 'low',
1045
+ retrySafe: true,
1046
+ owner: 'user',
1047
+ summary: 'A tool argument is malformed (e.g. a timestamp that does not parse)',
1048
+ recovery: 'Fix the argument as described in the error and re-call the tool.',
1049
+ },
867
1050
  UNKNOWN: {
868
1051
  bucket: 'mcp_limitation',
869
1052
  severity: 'low',
@@ -880,12 +1063,12 @@ const OWNER_BY_BUCKET = {
880
1063
  mcp_limitation: 'swipium',
881
1064
  unsafe_refused: 'user',
882
1065
  };
883
- /** Likely owner of a failure code's fix (roadmap §10). */
1066
+ /** Likely owner of a failure code's fix. */
884
1067
  export function failureOwner(code) {
885
1068
  const info = FAILURES[code];
886
1069
  return info.owner ?? OWNER_BY_BUCKET[info.bucket];
887
1070
  }
888
- /** Whether Swipium can plausibly fix this itself (roadmap §3.4). */
1071
+ /** Whether Swipium can plausibly fix this itself. */
889
1072
  export function isSelfFixable(code) {
890
1073
  return FAILURES[code].selfFixable ?? false;
891
1074
  }
@@ -1 +1 @@
1
- {"version":3,"file":"failures.js","sourceRoot":"","sources":["../../src/oracle/failures.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"failures.js","sourceRoot":"","sources":["../../src/oracle/failures.ts"],"names":[],"mappings":"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"}