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,22 +1,36 @@
1
- // Tier-1 deterministic health oracle (DESIGN §6). Phase 2.2: classifies BOTH layers —
1
+ // Tier-1 deterministic health oracle. Phase 2.2: classifies BOTH layers:
2
2
  // NATIVE health (process: crash dialog / ANR / wrong foreground) and APP health (JS/UI:
3
3
  // RN RedBox / LogBox error / error-boundary fallback / WebView error). A green native
4
4
  // process with a broken app UI (e.g. an ErrorBoundary screen) is now a first-class finding,
5
5
  // so agents don't have to infer "healthy process but broken app" from raw snapshot text.
6
6
  import { parseSnapshot } from '../snapshot/parse.js';
7
+ import { isAbortError } from '../lib/abortScope.js';
8
+ /** The verdict-free result of a cancelled health check. */
9
+ function cancelledHealth() {
10
+ return {
11
+ healthy: true,
12
+ nativeHealthy: true,
13
+ appHealthy: true,
14
+ nativeStatus: 'ok',
15
+ appStatus: 'ok',
16
+ foreground: 'unknown',
17
+ findings: [],
18
+ cancelled: true,
19
+ };
20
+ }
7
21
  // APP-layer surfaces (JS/UI). Order matters: the first fatal RedBox variant wins over LogBox.
8
22
  const APP_SURFACES = [
9
23
  {
10
24
  re: /unable to load script|could not connect to development server|loadJSBundleFromAssets|index\.android\.bundle/i,
11
25
  kind: 'rn_redbox',
12
26
  severity: 'high',
13
- detail: 'RN RedBox — JS bundle failed to load (Metro/bundle issue)',
27
+ detail: 'RN RedBox: JS bundle failed to load (Metro/bundle issue)',
14
28
  },
15
29
  {
16
30
  re: /unhandled (js|javascript) exception|invariant violation|TypeError:|ReferenceError|undefined is not an object|is not a function/i,
17
31
  kind: 'rn_redbox',
18
32
  severity: 'high',
19
- detail: 'RN RedBox — unhandled JS exception',
33
+ detail: 'RN RedBox: unhandled JS exception',
20
34
  },
21
35
  {
22
36
  re: /we encountered an error|something went wrong|this screen (crashed|encountered)|oops[!,. ].{0,40}(wrong|error|crash)/i,
@@ -50,20 +64,52 @@ function firstMatch(nodes, re) {
50
64
  }
51
65
  return undefined;
52
66
  }
53
- export async function checkHealth(driver, appId, xml) {
54
- const foreground = await driver.foregroundOwner().catch(() => 'unknown');
67
+ /** The package that owns the dumped window (Android uiautomator root `package=`), or undefined. */
68
+ export function dumpRootPackage(nodes) {
69
+ const pkg = nodes?.[0]?.attrs?.package;
70
+ return pkg ? pkg : undefined;
71
+ }
72
+ /**
73
+ * Health check. `opts.nodes` = the ALREADY-PARSED allNodes of `xml` (callers that just parsed the
74
+ * post-action dump pass them). Re-parsing a big screen cost ~60 ms per action.
75
+ *
76
+ * Foreground: on Android the dump's root `package=` already says which app owns the window. When
77
+ * it IS the app under test and no crash/ANR copy is on screen, the heavy `dumpsys activity
78
+ * activities` (foregroundOwner) is skipped (foreground = the package); it still runs whenever the
79
+ * caller did not supply the dump, the root package differs from appId, is absent (WDA / older
80
+ * dumps), or a crash/ANR pattern matched.
81
+ */
82
+ export async function checkHealth(driver, appId, xml, opts = {}) {
55
83
  let source = xml;
84
+ let dumpAborted = false;
56
85
  if (source === undefined)
57
- source = await driver.dumpXml().catch(() => '');
58
- // Parse to nodes so evidence is the VISIBLE text (not attribute names) — best-effort.
59
- let nodes = [];
60
- try {
61
- nodes = parseSnapshot(source).allNodes.map((n) => ({ text: n.text, desc: n.desc, cls: n.cls, id: n.id }));
62
- }
63
- catch {
64
- nodes = [];
86
+ source = await driver.dumpXml().catch((e) => {
87
+ dumpAborted = isAbortError(e);
88
+ return '';
89
+ });
90
+ // Cancelled work is not evidence: an aborted dump (or a check whose call/job was cancelled) must
91
+ // never become a `wda_unreachable` finding / BLOCK verdict.
92
+ if (dumpAborted || isAbortError(undefined))
93
+ return cancelledHealth();
94
+ // Parse to nodes so evidence is the VISIBLE text (not attribute names). Best-effort.
95
+ let raw = opts.nodes;
96
+ if (!raw) {
97
+ try {
98
+ raw = parseSnapshot(source).allNodes;
99
+ }
100
+ catch {
101
+ raw = [];
102
+ }
65
103
  }
104
+ const nodes = raw.map((n) => ({ text: n.text, desc: n.desc, cls: n.cls, id: n.id }));
66
105
  const joined = nodes.map((n) => `${n.text} ${n.desc} ${n.cls ?? ''} ${n.id ?? ''}`).join(' ') || source;
106
+ const rootPkg = dumpRootPackage(raw);
107
+ // Only on the post-action path (caller supplied the dump): a standalone health check (no xml)
108
+ // keeps the full dumpsys answer, which also names the resumed activity.
109
+ const trustRoot = xml !== undefined && !!appId && rootPkg === appId && !ANR_RE.test(joined) && !CRASH_RE.test(joined);
110
+ const foreground = trustRoot ? rootPkg : await driver.foregroundOwner().catch(() => 'unknown');
111
+ if (isAbortError(undefined))
112
+ return cancelledHealth();
67
113
  const findings = [];
68
114
  // ---- NATIVE layer ----
69
115
  let nativeStatus = 'ok';
@@ -131,7 +177,7 @@ export async function checkHealth(driver, appId, xml) {
131
177
  severity: 'high',
132
178
  layer: 'native',
133
179
  kind: 'wrong_foreground_app',
134
- detail: `app left to the launcher (possible crash) — foreground=${foreground}`,
180
+ detail: `app left to the launcher (possible crash), foreground=${foreground}`,
135
181
  });
136
182
  if (nativeStatus === 'ok')
137
183
  nativeStatus = 'wrong_foreground_app';
@@ -141,7 +187,7 @@ export async function checkHealth(driver, appId, xml) {
141
187
  severity: 'medium',
142
188
  layer: 'native',
143
189
  kind: 'permission_dialog',
144
- detail: `Android runtime permission dialog is visible — foreground=${foreground}`,
190
+ detail: `Android runtime permission dialog is visible, foreground=${foreground}`,
145
191
  });
146
192
  }
147
193
  else if (/packageinstaller|systemui|com\.android\.|inputmethod/i.test(foreground)) {
@@ -152,7 +198,7 @@ export async function checkHealth(driver, appId, xml) {
152
198
  severity: 'medium',
153
199
  layer: 'native',
154
200
  kind: 'wrong_foreground_app',
155
- detail: `foreground is a different app — foreground=${foreground}`,
201
+ detail: `foreground is a different app, foreground=${foreground}`,
156
202
  });
157
203
  if (nativeStatus === 'ok')
158
204
  nativeStatus = 'wrong_foreground_app';
@@ -168,7 +214,7 @@ export async function checkHealth(driver, appId, xml) {
168
214
  findings.push({ severity: s.severity, layer: 'app', kind: s.kind, detail: s.detail, evidence: firstMatch(nodes, s.re) });
169
215
  appStatus = s.severity === 'high' ? 'error' : appStatus === 'error' ? 'error' : 'degraded';
170
216
  matched = true;
171
- // RedBox/error-boundary are terminal for the screen — don't also report lesser surfaces.
217
+ // RedBox/error-boundary are terminal for the screen; don't also report lesser surfaces.
172
218
  if (s.severity === 'high')
173
219
  break;
174
220
  }
@@ -1 +1 @@
1
- {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/oracle/health.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/oracle/health.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- // Locator suggestions + durability scoring (NEXT-PLAN: Locator And Maintainability). For each
1
+ // Locator suggestions + durability scoring (Locator And Maintainability). For each
2
2
  // element, recommend the most durable way to target it and score how brittle that is, following
3
3
  // the QA-standard priority: accessibility id / content-desc > resource-id / test tag > stable
4
4
  // visible text > relative structure > coordinate/image (last resort). The screen-level
@@ -77,7 +77,7 @@ export function suggestLocator(el, opts = {}) {
77
77
  tier: 'accessibility',
78
78
  durability: TIER_DURABILITY.accessibility,
79
79
  locator: el.id,
80
- rationale: 'accessibilityIdentifier — preferred durable iOS/XCUITest locator',
80
+ rationale: 'accessibilityIdentifier: preferred durable iOS/XCUITest locator',
81
81
  needsTestId: false,
82
82
  };
83
83
  }
@@ -89,7 +89,7 @@ export function suggestLocator(el, opts = {}) {
89
89
  tier: 'accessibility',
90
90
  durability: 78,
91
91
  locator: el.label,
92
- rationale: 'accessibility label/name — usable, but add an accessibilityIdentifier for CI-stable iOS flows',
92
+ rationale: 'accessibility label/name: usable, but add an accessibilityIdentifier for CI-stable iOS flows',
93
93
  needsTestId: el.clickable,
94
94
  suggestedTestId: el.clickable ? suggestedHandle(el, platform) : undefined,
95
95
  };
@@ -104,8 +104,8 @@ export function suggestLocator(el, opts = {}) {
104
104
  durability: short ? 35 : 58,
105
105
  locator: el.text,
106
106
  rationale: short
107
- ? 'visible value/text is short or numeric — brittle on iOS; add an accessibilityIdentifier'
108
- : 'visible value/text — usable but copy/localization dependent; prefer accessibilityIdentifier',
107
+ ? 'visible value/text is short or numeric, brittle on iOS; add an accessibilityIdentifier'
108
+ : 'visible value/text: usable but copy/localization dependent; prefer accessibilityIdentifier',
109
109
  needsTestId: el.clickable,
110
110
  suggestedTestId: el.clickable ? suggestedHandle(el, platform) : undefined,
111
111
  };
@@ -118,7 +118,7 @@ export function suggestLocator(el, opts = {}) {
118
118
  tier: 'structure',
119
119
  durability: TIER_DURABILITY.structure,
120
120
  locator: null,
121
- rationale: 'hittable control has no accessibilityIdentifier, label, or text — predicate/class-chain/coordinates only; add an accessibilityIdentifier',
121
+ rationale: 'hittable control has no accessibilityIdentifier, label, or text. Predicate/class-chain/coordinates only; add an accessibilityIdentifier',
122
122
  needsTestId: true,
123
123
  suggestedTestId: suggestedHandle(el, platform),
124
124
  };
@@ -130,7 +130,7 @@ export function suggestLocator(el, opts = {}) {
130
130
  tier: 'coordinate',
131
131
  durability: TIER_DURABILITY.coordinate,
132
132
  locator: null,
133
- rationale: 'no durable iOS handle — visual/coordinate targeting only',
133
+ rationale: 'no durable iOS handle, visual/coordinate targeting only',
134
134
  needsTestId: el.clickable,
135
135
  suggestedTestId: el.clickable ? suggestedHandle(el, platform) : undefined,
136
136
  };
@@ -144,7 +144,7 @@ export function suggestLocator(el, opts = {}) {
144
144
  tier: 'accessibility',
145
145
  durability: TIER_DURABILITY.accessibility,
146
146
  locator: el.label,
147
- rationale: 'content-desc / accessibility label — durable and a11y-friendly',
147
+ rationale: 'content-desc / accessibility label: durable and a11y-friendly',
148
148
  needsTestId: false,
149
149
  };
150
150
  }
@@ -157,7 +157,7 @@ export function suggestLocator(el, opts = {}) {
157
157
  tier: 'resource_id',
158
158
  durability: TIER_DURABILITY.resource_id,
159
159
  locator: el.id,
160
- rationale: 'resource-id / testID — durable',
160
+ rationale: 'resource-id / testID: durable',
161
161
  needsTestId: false,
162
162
  };
163
163
  }
@@ -172,8 +172,8 @@ export function suggestLocator(el, opts = {}) {
172
172
  durability: short ? 40 : TIER_DURABILITY.visible_text,
173
173
  locator: el.text,
174
174
  rationale: short
175
- ? 'visible text, but very short/numeric — brittle; add a testID'
176
- : 'visible text — usable but breaks if copy/localization changes',
175
+ ? 'visible text, but very short/numeric, brittle; add a testID'
176
+ : 'visible text: usable but breaks if copy/localization changes',
177
177
  needsTestId: el.clickable,
178
178
  suggestedTestId: el.clickable ? suggestedHandle(el, platform) : undefined,
179
179
  };
@@ -187,7 +187,7 @@ export function suggestLocator(el, opts = {}) {
187
187
  tier: 'structure',
188
188
  durability: TIER_DURABILITY.structure,
189
189
  locator: null,
190
- rationale: 'clickable but has no id/label/text — only structural/coordinate targeting; add a testID',
190
+ rationale: 'clickable but has no id/label/text. Only structural/coordinate targeting; add a testID',
191
191
  needsTestId: true,
192
192
  suggestedTestId: suggestedHandle(el, platform),
193
193
  };
@@ -200,7 +200,7 @@ export function suggestLocator(el, opts = {}) {
200
200
  tier: 'coordinate',
201
201
  durability: TIER_DURABILITY.coordinate,
202
202
  locator: null,
203
- rationale: 'no durable handle — coordinate/image match only',
203
+ rationale: 'no durable handle, coordinate/image match only',
204
204
  needsTestId: el.clickable,
205
205
  suggestedTestId: el.clickable ? suggestedHandle(el, platform) : undefined,
206
206
  };
@@ -1 +1 @@
1
- {"version":3,"file":"locator.js","sourceRoot":"","sources":["../../src/oracle/locator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"locator.js","sourceRoot":"","sources":["../../src/oracle/locator.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  // Record health findings into the session for qa_report (review #3, Phase 2.2).
2
2
  // Shared by qa_act (auto after each action) and qa_check_health (on demand). Carries the
3
- // native/app layer + visible-text evidence, and — for app-layer error surfaces — captures
3
+ // native/app layer + visible-text evidence, and (for app-layer error surfaces) captures
4
4
  // ONE screenshot as evidence and attaches its URI to those findings.
5
5
  export async function recordHealthFindings(sessions, session, findings, driver, screen) {
6
6
  // Capture one screenshot of an app-layer error surface (RedBox / error-boundary / etc.)
7
- // so the report shows WHAT broke, not just that something did. Evidence — not budgeted.
7
+ // so the report shows WHAT broke, not just that something did. Evidence, not budgeted.
8
8
  let evidenceUri;
9
9
  const appError = findings.find((f) => f.layer === 'app' && (f.severity === 'high' || f.severity === 'medium'));
10
10
  // Sensitive mode: record the finding but DON'T capture pixels.
@@ -14,7 +14,7 @@ export async function recordHealthFindings(sessions, session, findings, driver,
14
14
  evidenceUri = sessions.saveArtifact(session, 'screenshot', `app-error-${Date.now()}.png`, png, 'image/png', `app-health: ${appError.kind}`);
15
15
  }
16
16
  catch {
17
- /* best-effort — evidence is a bonus, not required */
17
+ /* best-effort; evidence is a bonus, not required */
18
18
  }
19
19
  }
20
20
  for (const f of findings) {
@@ -1 +1 @@
1
- {"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/oracle/record.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,yFAAyF;AACzF,0FAA0F;AAC1F,qEAAqE;AAMrE,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,QAAsB,EACtB,OAAgB,EAChB,QAAmB,EACnB,MAAe,EACf,MAAe;IAEf,wFAAwF;IACxF,wFAAwF;IACxF,IAAI,WAA+B,CAAC;IACpC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC;IAC/G,+DAA+D;IAC/D,IAAI,QAAQ,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;YACtC,WAAW,GAAG,QAAQ,CAAC,YAAY,CACjC,OAAO,EACP,YAAY,EACZ,aAAa,IAAI,CAAC,GAAG,EAAE,MAAM,EAC7B,GAAG,EACH,WAAW,EACX,eAAe,QAAQ,CAAC,IAAI,EAAE,CAC/B,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,qDAAqD;QACvD,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,QAAQ,KAAK,MAAM;YAAE,SAAS;QACpC,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QAC7F,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE;YAC3B,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;YACd,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,MAAM;YACN,aAAa;SACd,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/oracle/record.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,yFAAyF;AACzF,wFAAwF;AACxF,qEAAqE;AAMrE,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,QAAsB,EACtB,OAAgB,EAChB,QAAmB,EACnB,MAAe,EACf,MAAe;IAEf,wFAAwF;IACxF,uFAAuF;IACvF,IAAI,WAA+B,CAAC;IACpC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC;IAC/G,+DAA+D;IAC/D,IAAI,QAAQ,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;YACtC,WAAW,GAAG,QAAQ,CAAC,YAAY,CACjC,OAAO,EACP,YAAY,EACZ,aAAa,IAAI,CAAC,GAAG,EAAE,MAAM,EAC7B,GAAG,EACH,WAAW,EACX,eAAe,QAAQ,CAAC,IAAI,EAAE,CAC/B,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,oDAAoD;QACtD,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,QAAQ,KAAK,MAAM;YAAE,SAAS;QACpC,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QAC7F,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE;YAC3B,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;YACd,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,MAAM;YACN,aAAa;SACd,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
@@ -1,5 +1,5 @@
1
- // Uniform terminal result envelope for qa_test_this (Developer 1, roadmap §3.1 Milestone B).
2
- // Every terminal orchestration state — completed | blocked | unsafe | needs_input | running —
1
+ // Uniform terminal result envelope for qa_test_this (Developer 1, Milestone B).
2
+ // Every terminal orchestration state (completed | blocked | unsafe | needs_input | running)
3
3
  // is summarizable from STRUCTURED output, with no log parsing: what was attempted, what safe
4
4
  // fallbacks were taken, which artifact/target was chosen and why, typed blockers with owner +
5
5
  // fix, the report URI, and the single exact next call.
@@ -1 +1 @@
1
- {"version":3,"file":"envelope.js","sourceRoot":"","sources":["../../src/orchestration/envelope.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,8FAA8F;AAC9F,6FAA6F;AAC7F,8FAA8F;AAC9F,uDAAuD;AACvD,EAAE;AACF,8FAA8F;AAC9F,8FAA8F;AAC9F,yDAAyD;AAEzD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAoB,MAAM,uBAAuB,CAAC;AAmEhG;oFACoF;AACpF,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,QAAgC;IACjF,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAmB,CAAC,CAAC;IAC3C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,WAAW,EAAE,IAAI;YACjB,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,IAAI;YACf,aAAa,EAAE,KAAK;YACpB,WAAW,EAAE,4BAA4B;YACzC,QAAQ,EAAE,+DAA+D;YACzE,GAAG,QAAQ;SACZ,CAAC;IACJ,CAAC;IACD,OAAO;QACL,WAAW,EAAE,IAAI;QACjB,KAAK,EAAE,YAAY,CAAC,IAAmB,CAAC;QACxC,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,aAAa,EAAE,aAAa,CAAC,IAAmB,CAAC;QACjD,WAAW,EAAE,IAAI,CAAC,OAAO;QACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,GAAG,QAAQ;KACZ,CAAC;AACJ,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,qBAAqB,CAAC,KAAoB;IACxD,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI;QAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE;QAChC,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,IAAI,EAAE;QACtD,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,IAAI;QAC5C,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,IAAI;QACxC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE;QAC9B,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;QAClC,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,IAAI,IAAI;KAC3D,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"envelope.js","sourceRoot":"","sources":["../../src/orchestration/envelope.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,4FAA4F;AAC5F,6FAA6F;AAC7F,8FAA8F;AAC9F,uDAAuD;AACvD,EAAE;AACF,8FAA8F;AAC9F,8FAA8F;AAC9F,yDAAyD;AAEzD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAoB,MAAM,uBAAuB,CAAC;AAmEhG;oFACoF;AACpF,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,QAAgC;IACjF,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAmB,CAAC,CAAC;IAC3C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,WAAW,EAAE,IAAI;YACjB,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,IAAI;YACf,aAAa,EAAE,KAAK;YACpB,WAAW,EAAE,4BAA4B;YACzC,QAAQ,EAAE,+DAA+D;YACzE,GAAG,QAAQ;SACZ,CAAC;IACJ,CAAC;IACD,OAAO;QACL,WAAW,EAAE,IAAI;QACjB,KAAK,EAAE,YAAY,CAAC,IAAmB,CAAC;QACxC,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,aAAa,EAAE,aAAa,CAAC,IAAmB,CAAC;QACjD,WAAW,EAAE,IAAI,CAAC,OAAO;QACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,GAAG,QAAQ;KACZ,CAAC;AACJ,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,qBAAqB,CAAC,KAAoB;IACxD,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI;QAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE;QAChC,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,IAAI,EAAE;QACtD,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,IAAI;QAC5C,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,IAAI;QACxC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE;QAC9B,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;QAClC,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,IAAI,IAAI;KAC3D,CAAC;AACJ,CAAC"}
@@ -1,5 +1,5 @@
1
- // qa_test_this goal routing (Developer 1, roadmap §3.1 Milestone C). A `goal` adjusts ORCHESTRATION
2
- // FLAGS and REQUIRED OUTPUTS only — it never duplicates suite/report/platform logic (those stay in
1
+ // qa_test_this goal routing (Developer 1, Milestone C). A `goal` adjusts ORCHESTRATION
2
+ // FLAGS and REQUIRED OUTPUTS only. It never duplicates suite/report/platform logic (those stay in
3
3
  // the services Developer 2/3 own). Keeping the mapping a pure, exported helper makes goal behavior
4
4
  // unit-testable without a device, and keeps `qa_test_this` an orchestrator rather than a switchboard.
5
5
  export const TEST_GOALS = ['smoke', 'explore', 'create_automation_suite', 'release_gate', 'test_login', 'reproduce_bug'];
@@ -57,7 +57,7 @@ const BASE = {
57
57
  * Resolve a goal into orchestration flags. Explicit per-flag overrides win, so existing callers
58
58
  * passing `explore`/`generateSuite`/`stopOnNeedsInput` keep working unchanged.
59
59
  *
60
- * DEFAULT POLICY (no explicit goal): "leave behind automation when possible" — the run still does
60
+ * DEFAULT POLICY (no explicit goal): "leave behind automation when possible". The run still does
61
61
  * a fast launch + smoke, but ALSO attempts POM suite generation afterward (the suite service skips
62
62
  * honestly when no actions were recorded). Opt out with `goal:"smoke"` (fast, explicit) or
63
63
  * `policy.fastSmoke:true`.
@@ -75,7 +75,7 @@ export function resolveGoalFlags(goal, overrides = {}, policy = {}) {
75
75
  'Default autopilot: fast launch + smoke, then generate a POM suite when actions exist (goal:"smoke" or fastSmoke:true to skip).';
76
76
  }
77
77
  if (policy.fastSmoke) {
78
- // Strongest "just smoke, fast" signal — overrides the default automation attempt.
78
+ // Strongest "just smoke, fast" signal; it overrides the default automation attempt.
79
79
  base.generateSuite = false;
80
80
  base.explore = false;
81
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"goal.js","sourceRoot":"","sources":["../../src/orchestration/goal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"goal.js","sourceRoot":"","sources":["../../src/orchestration/goal.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- // qa_test_this execute/interactive mode gate — handles the synchronous half of execution:
1
+ // qa_test_this execute/interactive mode gate. Handles the synchronous half of execution:
2
2
  // the auth question, the unified consent preflight (Milestone A), job creation, and the
3
3
  // optional waitForCompletion window. The heavy pipeline itself runs in ./pipeline.js.
4
4
  import { qaOk } from '../../lib/result.js';
@@ -6,25 +6,45 @@ import { qaNeedsInput, NeedsInput } from '../../lib/needsInput.js';
6
6
  import { buildPlan } from '../../build/plan.js';
7
7
  import { requireConsent, consumeConsent } from '../../consent/consent.js';
8
8
  import { buildTestThisPreflight } from '../../services/preflight.js';
9
- import { existsSync, readFileSync } from 'node:fs';
10
- import { sep } from 'node:path';
9
+ import { existsSync, readFileSync, realpathSync } from 'node:fs';
10
+ import { isAbsolute, relative, resolve } from 'node:path';
11
11
  import { createHash } from 'node:crypto';
12
12
  import { runExecutePipeline } from './pipeline.js';
13
- /** Whether the secure store already has login credentials (so we don't re-ask). */
14
- function hasCredentials(session) {
15
- return session.inputs.some((i) => /EMAIL|PASSWORD/.test(i.varName));
13
+ import { hasUsableCredentials, credentialsLostOnRestart, isLoginDeclined } from './sessionIntent.js';
14
+ import { runWithSignal } from '../../lib/abortScope.js';
15
+ function realOrResolved(p) {
16
+ try {
17
+ return realpathSync(p);
18
+ }
19
+ catch {
20
+ return resolve(p);
21
+ }
22
+ }
23
+ /** Whether `p` is inside `root` after resolving `..` segments and symlinks (a plain string prefix
24
+ * check lets `<root>/../../x.apk` count as in-root). */
25
+ export function isWithinRoot(p, root) {
26
+ const rel = relative(realOrResolved(root), realOrResolved(p));
27
+ return rel === '' || (!rel.startsWith('..') && !isAbsolute(rel));
16
28
  }
17
29
  /** Execute / interactive orchestration: handle questions + consent synchronously, then run the
18
- * build/convert → prepare → smoke → report pipeline as a job. */
30
+ * build/convert > prepare > smoke > report pipeline as a job. */
19
31
  export async function runExecuteMode(server, sessions, session, a) {
20
- // 1. Auth question — interactive (or stopOnNeedsInput / goal:test_login) asks; execute proceeds pre-login.
21
- if (a.scan.likelyAuth && !hasCredentials(session) && (a.mode === 'interactive' || a.stopOnNeedsInput)) {
32
+ // 1. Auth question: interactive (or stopOnNeedsInput / goal:test_login) asks; execute proceeds pre-login.
33
+ if (a.scan.likelyAuth &&
34
+ !isLoginDeclined(session) &&
35
+ !hasUsableCredentials(session) &&
36
+ (a.mode === 'interactive' || a.stopOnNeedsInput)) {
37
+ // Stored credential METADATA survives a restart but the values do not. Re-ask, and say why.
38
+ const lost = credentialsLostOnRestart(session);
22
39
  const attempted = [
23
40
  `scanned project (framework=${a.scan.framework}; detected likely auth: ${a.scan.authSignals.slice(0, 3).join(', ') || 'login UI'})`,
24
41
  `resolved artifact + target (${a.target.selected ?? 'unknown'})`,
25
42
  ...session.workarounds,
43
+ ...(lost ? ['found stored credential metadata, but the values were not kept across the server restart (secrets never persist)'] : []),
26
44
  ];
27
- return qaNeedsInput(NeedsInput.credentials('Authenticated workflows need a test account.'), {
45
+ return qaNeedsInput(NeedsInput.credentials(lost
46
+ ? 'Credentials were provided earlier, but their values are gone after a server restart (secrets are never persisted).'
47
+ : 'Authenticated workflows need a test account.'), {
28
48
  sessionId: session.id,
29
49
  state: 'needs_input',
30
50
  attempted,
@@ -43,12 +63,12 @@ export async function runExecuteMode(server, sessions, session, a) {
43
63
  }
44
64
  // Hash an external (outside-root) APK so the consent shows what is being installed.
45
65
  let externalApk;
46
- if (a.isAndroid && !a.needBuild && a.effectiveApk && existsSync(a.effectiveApk) && !a.effectiveApk.startsWith(session.root + sep)) {
66
+ if (a.isAndroid && !a.needBuild && a.effectiveApk && existsSync(a.effectiveApk) && !isWithinRoot(a.effectiveApk, session.root)) {
47
67
  try {
48
68
  externalApk = { path: a.effectiveApk, sha256: createHash('sha256').update(readFileSync(a.effectiveApk)).digest('hex') };
49
69
  }
50
70
  catch {
51
- /* unreadable — treated as in-root install */
71
+ /* unreadable: treated as in-root install */
52
72
  }
53
73
  }
54
74
  const iosApp = !a.isAndroid && !a.isIosReal ? a.art.best?.path : undefined;
@@ -63,7 +83,7 @@ export async function runExecuteMode(server, sessions, session, a) {
63
83
  apkPath: a.isAndroid ? a.effectiveApk : undefined,
64
84
  externalApk,
65
85
  iosApp,
66
- iosAppOutsideRoot: iosApp ? !iosApp.startsWith(session.root + sep) : undefined,
86
+ iosAppOutsideRoot: iosApp ? !isWithinRoot(iosApp, session.root) : undefined,
67
87
  iosReal: a.isIosReal,
68
88
  iosRealUdid: a.isIosReal ? a.target.device : undefined,
69
89
  iosRealApp: a.isIosReal ? a.art.best?.path : undefined,
@@ -88,10 +108,28 @@ export async function runExecuteMode(server, sessions, session, a) {
88
108
  affects: preflight.consentAffects,
89
109
  explain: `Running "test this" needs these privileged steps (approved together so they don't re-prompt):\n${preflight.exactCommand}\nApprove to start; Swipium then installs, smokes, reports${a.generateSuite ? ', and generates a suite' : ''}.`,
90
110
  });
91
- // The static app map was already built pre-launch — keep its URI on the consent result (Fix 1).
92
- if (a.appMapUri && consentResult.structuredContent) {
93
- consentResult.structuredContent = { ...consentResult.structuredContent, appMapUri: a.appMapUri };
94
- }
111
+ // A supplied consentId that could not be used must be explained, never a silent re-challenge.
112
+ const staleNote = a.consentId
113
+ ? `consent ${a.consentId} ${/unknown|expired|already-used/i.test(gate.reason ?? '') ? 'unknown or expired' : `not applied (${gate.reason ?? 'not usable'})`}; new challenge issued`
114
+ : undefined;
115
+ // sessionId rides on the consent result so the approving re-call reuses THIS session (no
116
+ // projectRoot needed); the static app map URI stays visible too (Fix 1).
117
+ const sc = (consentResult.structuredContent ?? {});
118
+ consentResult.structuredContent = {
119
+ ...sc,
120
+ sessionId: session.id,
121
+ ...(a.appMapUri ? { appMapUri: a.appMapUri } : {}),
122
+ ...(staleNote ? { consentNote: staleNote, previousConsentId: a.consentId } : {}),
123
+ };
124
+ const approveCall = { sessionId: session.id, mode: a.mode, consentId: sc.consentId, approve: true };
125
+ consentResult.content = [
126
+ ...(staleNote ? [{ type: 'text', text: `⚠️ ${staleNote}.` }] : []),
127
+ ...(consentResult.content ?? []),
128
+ {
129
+ type: 'text',
130
+ text: `After the user agrees: qa_test_this ${JSON.stringify(approveCall)} (plus your original goal/flags).`,
131
+ },
132
+ ];
95
133
  return consentResult;
96
134
  }
97
135
  mutationConsent = { required: true, consentId: a.consentId, approved: true };
@@ -107,7 +145,10 @@ export async function runExecuteMode(server, sessions, session, a) {
107
145
  }
108
146
  const job = sessions.createJob(session, `test_this:${a.mode}`);
109
147
  const execArgs = { ...a, mutationConsent, testThisPlanMutation };
110
- const run = runExecutePipeline(sessions, session, job, execArgs);
148
+ // The job's cancellation signal is scoped to its own async context (abortScope): driver calls
149
+ // made by the pipeline are cancelled with the job, and interactive calls made concurrently on
150
+ // the shared driver keep their own signal.
151
+ const run = runWithSignal(sessions.abortSignal(session, job.jobId), () => runExecutePipeline(sessions, session, job, execArgs));
111
152
  // Optional blocking mode for short paths (Milestone D). Default = return the running job.
112
153
  if (a.waitForCompletion) {
113
154
  const deadline = Date.now() + (a.timeoutMs ?? 120_000);
@@ -117,10 +158,10 @@ export async function runExecuteMode(server, sessions, session, a) {
117
158
  const res = (cur.result ?? {});
118
159
  return qaOk({ sessionId: session.id, mode: a.mode, jobId: job.jobId, appMapUri: a.appMapUri, ...res }, cur.resultText ?? `test-this ${a.mode} ${res.state ?? cur.status}.`);
119
160
  }
120
- // Timed out — leave the job running and tell the agent to poll.
121
- return qaOk({ sessionId: session.id, state: 'running', mode: a.mode, jobId: job.jobId, appMapUri: a.appMapUri, timedOutWaiting: true }, `⏳ test-this ${a.mode} still running after the wait window — poll qa_job_status { sessionId:"${session.id}", jobId:"${job.jobId}" }.`);
161
+ // Timed out: leave the job running and tell the agent to poll.
162
+ return qaOk({ sessionId: session.id, state: 'running', mode: a.mode, jobId: job.jobId, appMapUri: a.appMapUri, timedOutWaiting: true }, `⏳ test-this ${a.mode} still running after the wait window. Poll qa_job_status { sessionId:"${session.id}", jobId:"${job.jobId}" }.`);
122
163
  }
123
164
  void run;
124
- return qaOk({ sessionId: session.id, state: 'running', mode: a.mode, jobId: job.jobId, kind: job.kind, appMapUri: a.appMapUri, target: a.target }, `🚀 test-this ${a.mode} started as job ${job.jobId} (${a.isAndroid ? 'Android' : 'iOS'} · ${a.target.selected}). Poll qa_job_status { sessionId:"${session.id}", jobId:"${job.jobId}" } for the terminal result (state: completed | blocked | unsafe).`);
165
+ return qaOk({ sessionId: session.id, state: 'running', mode: a.mode, jobId: job.jobId, kind: job.kind, appMapUri: a.appMapUri, target: a.target }, `🚀 test-this ${a.mode} started as job ${job.jobId} (${a.isAndroid ? 'Android' : 'iOS'} · ${a.target.selected}). Poll qa_job_status { sessionId:"${session.id}", jobId:"${job.jobId}" } for the terminal result (state: completed | blocked | unsafe | needs_input).`);
125
166
  }
126
167
  //# sourceMappingURL=execute.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../src/orchestration/testThis/execute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../src/orchestration/testThis/execute.ts"],"names":[],"mappings":"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"}