swipium 1.3.0 → 1.5.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 (438) hide show
  1. package/CHANGELOG.md +142 -0
  2. package/README.md +89 -25
  3. package/THREAT_MODEL.md +1 -1
  4. package/dist/appMap/automationLink.js +13 -3
  5. package/dist/appMap/automationLink.js.map +1 -1
  6. package/dist/appMap/build.js +28 -6
  7. package/dist/appMap/build.js.map +1 -1
  8. package/dist/appMap/codeIndex.js +29 -3
  9. package/dist/appMap/codeIndex.js.map +1 -1
  10. package/dist/appMap/featureIndex.js +20 -2
  11. package/dist/appMap/featureIndex.js.map +1 -1
  12. package/dist/appMap/featureModel.js +42 -6
  13. package/dist/appMap/featureModel.js.map +1 -1
  14. package/dist/appMap/firstRunApply.js +22 -4
  15. package/dist/appMap/firstRunApply.js.map +1 -1
  16. package/dist/appMap/fsWalk.js +19 -2
  17. package/dist/appMap/fsWalk.js.map +1 -1
  18. package/dist/appMap/issues.js +0 -20
  19. package/dist/appMap/issues.js.map +1 -1
  20. package/dist/appMap/migrations.js +1 -1
  21. package/dist/appMap/migrations.js.map +1 -1
  22. package/dist/appMap/prelaunch.js.map +1 -1
  23. package/dist/appMap/projectRegistry.js +8 -2
  24. package/dist/appMap/projectRegistry.js.map +1 -1
  25. package/dist/appMap/query.js +20 -4
  26. package/dist/appMap/query.js.map +1 -1
  27. package/dist/appMap/runtimeMerge.js +9 -2
  28. package/dist/appMap/runtimeMerge.js.map +1 -1
  29. package/dist/appMap/schema.js.map +1 -1
  30. package/dist/appMap/screenMatch.js +5 -1
  31. package/dist/appMap/screenMatch.js.map +1 -1
  32. package/dist/appMap/staticScan.js +134 -22
  33. package/dist/appMap/staticScan.js.map +1 -1
  34. package/dist/appMap/store.js +4 -79
  35. package/dist/appMap/store.js.map +1 -1
  36. package/dist/appMap/tsAstScan.js +31 -9
  37. package/dist/appMap/tsAstScan.js.map +1 -1
  38. package/dist/artifacts/bundletool.js +44 -7
  39. package/dist/artifacts/bundletool.js.map +1 -1
  40. package/dist/artifacts/resolve.js +33 -6
  41. package/dist/artifacts/resolve.js.map +1 -1
  42. package/dist/automation/capabilities.js +109 -27
  43. package/dist/automation/capabilities.js.map +1 -1
  44. package/dist/automation/gestures.js +5 -1
  45. package/dist/automation/gestures.js.map +1 -1
  46. package/dist/automation/plan.js +65 -17
  47. package/dist/automation/plan.js.map +1 -1
  48. package/dist/automation/report.js +12 -2
  49. package/dist/automation/report.js.map +1 -1
  50. package/dist/automation/selectors.js +8 -3
  51. package/dist/automation/selectors.js.map +1 -1
  52. package/dist/automation/types.js.map +1 -1
  53. package/dist/automation/waits.js +9 -3
  54. package/dist/automation/waits.js.map +1 -1
  55. package/dist/automation/webview.js +7 -1
  56. package/dist/automation/webview.js.map +1 -1
  57. package/dist/automationGen/appiumModel.js +3 -1
  58. package/dist/automationGen/appiumModel.js.map +1 -1
  59. package/dist/automationGen/ciEmitter.js +1 -1
  60. package/dist/automationGen/ciEmitter.js.map +1 -1
  61. package/dist/automationGen/jsEmitter.js +29 -21
  62. package/dist/automationGen/jsEmitter.js.map +1 -1
  63. package/dist/automationGen/projectProfile.js +5 -1
  64. package/dist/automationGen/projectProfile.js.map +1 -1
  65. package/dist/automationGen/pythonEmitter.js +3 -3
  66. package/dist/automationGen/pythonEmitter.js.map +1 -1
  67. package/dist/automationGen/readmeEmitter.js.map +1 -1
  68. package/dist/automationGen/suitePlan.js +11 -6
  69. package/dist/automationGen/suitePlan.js.map +1 -1
  70. package/dist/automationGen/validation.js +33 -5
  71. package/dist/automationGen/validation.js.map +1 -1
  72. package/dist/build/parseBuildLog.js +234 -30
  73. package/dist/build/parseBuildLog.js.map +1 -1
  74. package/dist/build/plan.js +33 -12
  75. package/dist/build/plan.js.map +1 -1
  76. package/dist/ci/preflight.js.map +1 -1
  77. package/dist/cli/init.js.map +1 -1
  78. package/dist/cli/scan.js +1 -1
  79. package/dist/cli/scan.js.map +1 -1
  80. package/dist/cli/suite.js +2 -2
  81. package/dist/cli/suite.js.map +1 -1
  82. package/dist/cli/verify.js.map +1 -1
  83. package/dist/context/detect.js +10 -4
  84. package/dist/context/detect.js.map +1 -1
  85. package/dist/context/findApps.js +16 -2
  86. package/dist/context/findApps.js.map +1 -1
  87. package/dist/context/scan.js.map +1 -1
  88. package/dist/core/target.js +7 -5
  89. package/dist/core/target.js.map +1 -1
  90. package/dist/core/targetPlan.js +135 -17
  91. package/dist/core/targetPlan.js.map +1 -1
  92. package/dist/drivers/DirectDriver.js +17 -7
  93. package/dist/drivers/DirectDriver.js.map +1 -1
  94. package/dist/drivers/SimctlDriver.js +4 -1
  95. package/dist/drivers/SimctlDriver.js.map +1 -1
  96. package/dist/drivers/WdaDriver.js +15 -5
  97. package/dist/drivers/WdaDriver.js.map +1 -1
  98. package/dist/explore/candidates.js +5 -1
  99. package/dist/explore/candidates.js.map +1 -1
  100. package/dist/explore/graph.js +11 -2
  101. package/dist/explore/graph.js.map +1 -1
  102. package/dist/explore/memory.js +4 -1
  103. package/dist/explore/memory.js.map +1 -1
  104. package/dist/explore/planner.js +54 -9
  105. package/dist/explore/planner.js.map +1 -1
  106. package/dist/explore/policy.js +6 -1
  107. package/dist/explore/policy.js.map +1 -1
  108. package/dist/explore/runner.js +179 -23
  109. package/dist/explore/runner.js.map +1 -1
  110. package/dist/explore/signatures.js +3 -1
  111. package/dist/explore/signatures.js.map +1 -1
  112. package/dist/explore/suite.js +3 -1
  113. package/dist/explore/suite.js.map +1 -1
  114. package/dist/featureTesting/executionBootstrap.js +128 -19
  115. package/dist/featureTesting/executionBootstrap.js.map +1 -1
  116. package/dist/featureTesting/featureMap.js +4 -1
  117. package/dist/featureTesting/featureMap.js.map +1 -1
  118. package/dist/featureTesting/featureScope.js +94 -13
  119. package/dist/featureTesting/featureScope.js.map +1 -1
  120. package/dist/featureTesting/mapFeatureScope.js +37 -8
  121. package/dist/featureTesting/mapFeatureScope.js.map +1 -1
  122. package/dist/featureTesting/objectiveModel.js +5 -1
  123. package/dist/featureTesting/objectiveModel.js.map +1 -1
  124. package/dist/featureTesting/resultMerge.js +10 -2
  125. package/dist/featureTesting/resultMerge.js.map +1 -1
  126. package/dist/featureTesting/sources.js +4 -1
  127. package/dist/featureTesting/sources.js.map +1 -1
  128. package/dist/featureTesting/suiteBridge.js +7 -1
  129. package/dist/featureTesting/suiteBridge.js.map +1 -1
  130. package/dist/featureTesting/synonyms.js +31 -3
  131. package/dist/featureTesting/synonyms.js.map +1 -1
  132. package/dist/featureTesting/testCaseFactory.js +16 -4
  133. package/dist/featureTesting/testCaseFactory.js.map +1 -1
  134. package/dist/featureTesting/testPlan.js +32 -10
  135. package/dist/featureTesting/testPlan.js.map +1 -1
  136. package/dist/firstRun/classifyScreen.js +4 -1
  137. package/dist/firstRun/classifyScreen.js.map +1 -1
  138. package/dist/firstRun/firstRunPlanner.js +5 -2
  139. package/dist/firstRun/firstRunPlanner.js.map +1 -1
  140. package/dist/firstRun/firstRunRunner.js +84 -23
  141. package/dist/firstRun/firstRunRunner.js.map +1 -1
  142. package/dist/firstRun/generatedDataPolicy.js +16 -6
  143. package/dist/firstRun/generatedDataPolicy.js.map +1 -1
  144. package/dist/firstRun/inputPlanner.js +40 -6
  145. package/dist/firstRun/inputPlanner.js.map +1 -1
  146. package/dist/firstRun/paywallPolicy.js.map +1 -1
  147. package/dist/fixtures/catalog.js +39 -6
  148. package/dist/fixtures/catalog.js.map +1 -1
  149. package/dist/flows/generate.js +53 -12
  150. package/dist/flows/generate.js.map +1 -1
  151. package/dist/flows/lint.js +88 -14
  152. package/dist/flows/lint.js.map +1 -1
  153. package/dist/flows/pack.js +18 -2
  154. package/dist/flows/pack.js.map +1 -1
  155. package/dist/flows/repair.js +71 -20
  156. package/dist/flows/repair.js.map +1 -1
  157. package/dist/flows/run.js +164 -51
  158. package/dist/flows/run.js.map +1 -1
  159. package/dist/flows/schema.js +57 -20
  160. package/dist/flows/schema.js.map +1 -1
  161. package/dist/flows/seedExec.js +5 -1
  162. package/dist/flows/seedExec.js.map +1 -1
  163. package/dist/ios/signing.js +32 -3
  164. package/dist/ios/signing.js.map +1 -1
  165. package/dist/issues/classify.js +12 -4
  166. package/dist/issues/classify.js.map +1 -1
  167. package/dist/issues/fingerprint.js +11 -5
  168. package/dist/issues/fingerprint.js.map +1 -1
  169. package/dist/issues/index.js +4 -20
  170. package/dist/issues/index.js.map +1 -1
  171. package/dist/issues/metrics.js +2 -1
  172. package/dist/issues/metrics.js.map +1 -1
  173. package/dist/issues/recurrence.js.map +1 -1
  174. package/dist/issues/report.js +8 -4
  175. package/dist/issues/report.js.map +1 -1
  176. package/dist/issues/reportBridge.js +36 -5
  177. package/dist/issues/reportBridge.js.map +1 -1
  178. package/dist/issues/schema.js.map +1 -1
  179. package/dist/issues/store.js.map +1 -1
  180. package/dist/lib/android.js +9 -1
  181. package/dist/lib/android.js.map +1 -1
  182. package/dist/lib/device.js +21 -5
  183. package/dist/lib/device.js.map +1 -1
  184. package/dist/lib/image.js +11 -2
  185. package/dist/lib/image.js.map +1 -1
  186. package/dist/lib/lockfile.js +60 -0
  187. package/dist/lib/lockfile.js.map +1 -0
  188. package/dist/lib/needsInput.js +6 -3
  189. package/dist/lib/needsInput.js.map +1 -1
  190. package/dist/lib/png.js +2 -1
  191. package/dist/lib/png.js.map +1 -1
  192. package/dist/lib/result.js +16 -1
  193. package/dist/lib/result.js.map +1 -1
  194. package/dist/lib/schemaHash.js +4 -2
  195. package/dist/lib/schemaHash.js.map +1 -1
  196. package/dist/lib/sensitive.js +3 -1
  197. package/dist/lib/sensitive.js.map +1 -1
  198. package/dist/lib/simctl.js.map +1 -1
  199. package/dist/lib/spawn.js +29 -10
  200. package/dist/lib/spawn.js.map +1 -1
  201. package/dist/lib/wda.js +27 -10
  202. package/dist/lib/wda.js.map +1 -1
  203. package/dist/lib/wdaConfig.js +12 -5
  204. package/dist/lib/wdaConfig.js.map +1 -1
  205. package/dist/lib/wdaTune.js +52 -23
  206. package/dist/lib/wdaTune.js.map +1 -1
  207. package/dist/mobileAudit/checks.js +141 -19
  208. package/dist/mobileAudit/checks.js.map +1 -1
  209. package/dist/mobileAudit/profiles.js +120 -19
  210. package/dist/mobileAudit/profiles.js.map +1 -1
  211. package/dist/mobileAudit/results.js +7 -2
  212. package/dist/mobileAudit/results.js.map +1 -1
  213. package/dist/mobileAudit/runner.js +144 -19
  214. package/dist/mobileAudit/runner.js.map +1 -1
  215. package/dist/oracle/auth.js.map +1 -1
  216. package/dist/oracle/failures.js +888 -131
  217. package/dist/oracle/failures.js.map +1 -1
  218. package/dist/oracle/health.js +90 -14
  219. package/dist/oracle/health.js.map +1 -1
  220. package/dist/oracle/locator.js +147 -18
  221. package/dist/oracle/locator.js.map +1 -1
  222. package/dist/oracle/record.js.map +1 -1
  223. package/dist/orchestration/goal.js +3 -9
  224. package/dist/orchestration/goal.js.map +1 -1
  225. package/dist/orchestration/testThis/execute.js +126 -0
  226. package/dist/orchestration/testThis/execute.js.map +1 -0
  227. package/dist/orchestration/testThis/pipeline.js +324 -0
  228. package/dist/orchestration/testThis/pipeline.js.map +1 -0
  229. package/dist/orchestration/testThis/plan.js +430 -0
  230. package/dist/orchestration/testThis/plan.js.map +1 -0
  231. package/dist/orchestration/testThis/terminal.js +118 -0
  232. package/dist/orchestration/testThis/terminal.js.map +1 -0
  233. package/dist/orchestration/testThis/types.js +12 -0
  234. package/dist/orchestration/testThis/types.js.map +1 -0
  235. package/dist/plan/plan.js.map +1 -1
  236. package/dist/prompts/index.js +3 -3
  237. package/dist/prompts/index.js.map +1 -1
  238. package/dist/report/coverage.js +0 -1
  239. package/dist/report/coverage.js.map +1 -1
  240. package/dist/report/evidence.js.map +1 -1
  241. package/dist/report/export.js +59 -37
  242. package/dist/report/export.js.map +1 -1
  243. package/dist/report/flake.js +13 -14
  244. package/dist/report/flake.js.map +1 -1
  245. package/dist/report/history.js +72 -38
  246. package/dist/report/history.js.map +1 -1
  247. package/dist/report/policy.js +11 -3
  248. package/dist/report/policy.js.map +1 -1
  249. package/dist/report/qaLevel.js +2 -8
  250. package/dist/report/qaLevel.js.map +1 -1
  251. package/dist/report/readiness.js +42 -12
  252. package/dist/report/readiness.js.map +1 -1
  253. package/dist/report/summary.js.map +1 -1
  254. package/dist/report/timing.js +23 -23
  255. package/dist/report/timing.js.map +1 -1
  256. package/dist/server.js +42 -37
  257. package/dist/server.js.map +1 -1
  258. package/dist/services/automationGenerate.js.map +1 -1
  259. package/dist/services/build.js +8 -2
  260. package/dist/services/build.js.map +1 -1
  261. package/dist/services/preflight.js +38 -6
  262. package/dist/services/preflight.js.map +1 -1
  263. package/dist/services/prepareAndroid.js +46 -10
  264. package/dist/services/prepareAndroid.js.map +1 -1
  265. package/dist/services/prepareIos.js +72 -10
  266. package/dist/services/prepareIos.js.map +1 -1
  267. package/dist/services/report.js +173 -37
  268. package/dist/services/report.js.map +1 -1
  269. package/dist/services/smoke.js +36 -6
  270. package/dist/services/smoke.js.map +1 -1
  271. package/dist/services/suiteGenerate.js +16 -4
  272. package/dist/services/suiteGenerate.js.map +1 -1
  273. package/dist/services/testSuiteKnowledge.js +38 -6
  274. package/dist/services/testSuiteKnowledge.js.map +1 -1
  275. package/dist/session/attach.js +16 -0
  276. package/dist/session/attach.js.map +1 -1
  277. package/dist/session/processRegistry.js +164 -0
  278. package/dist/session/processRegistry.js.map +1 -0
  279. package/dist/session/progress.js +1 -1
  280. package/dist/session/progress.js.map +1 -1
  281. package/dist/session/store.js +216 -43
  282. package/dist/session/store.js.map +1 -1
  283. package/dist/snapshot/overlays.js +7 -2
  284. package/dist/snapshot/overlays.js.map +1 -1
  285. package/dist/snapshot/parse.js +2 -8
  286. package/dist/snapshot/parse.js.map +1 -1
  287. package/dist/snapshot/present.js +27 -3
  288. package/dist/snapshot/present.js.map +1 -1
  289. package/dist/state/profile.js +36 -9
  290. package/dist/state/profile.js.map +1 -1
  291. package/dist/suite/compile.js +7 -2
  292. package/dist/suite/compile.js.map +1 -1
  293. package/dist/suite/lint.js +21 -3
  294. package/dist/suite/lint.js.map +1 -1
  295. package/dist/suite/pom.js +26 -4
  296. package/dist/suite/pom.js.map +1 -1
  297. package/dist/suite/testcase.js +6 -4
  298. package/dist/suite/testcase.js.map +1 -1
  299. package/dist/testSuite/exporter.js +6 -2
  300. package/dist/testSuite/exporter.js.map +1 -1
  301. package/dist/testSuite/generator.js +31 -6
  302. package/dist/testSuite/generator.js.map +1 -1
  303. package/dist/testSuite/issueLinks.js.map +1 -1
  304. package/dist/testSuite/lint.js +1 -1
  305. package/dist/testSuite/lint.js.map +1 -1
  306. package/dist/testSuite/merge.js +8 -2
  307. package/dist/testSuite/merge.js.map +1 -1
  308. package/dist/testSuite/schema.js +16 -11
  309. package/dist/testSuite/schema.js.map +1 -1
  310. package/dist/testSuite/store.js +9 -1
  311. package/dist/testSuite/store.js.map +1 -1
  312. package/dist/tools/act.js +107 -43
  313. package/dist/tools/act.js.map +1 -1
  314. package/dist/tools/agent.js +123 -25
  315. package/dist/tools/agent.js.map +1 -1
  316. package/dist/tools/appControl.js +16 -3
  317. package/dist/tools/appControl.js.map +1 -1
  318. package/dist/tools/appMap.js +331 -63
  319. package/dist/tools/appMap.js.map +1 -1
  320. package/dist/tools/assertVisual.js +12 -2
  321. package/dist/tools/assertVisual.js.map +1 -1
  322. package/dist/tools/automationGenerate.js +276 -241
  323. package/dist/tools/automationGenerate.js.map +1 -1
  324. package/dist/tools/build.js +92 -41
  325. package/dist/tools/build.js.map +1 -1
  326. package/dist/tools/bundletool.js +139 -28
  327. package/dist/tools/bundletool.js.map +1 -1
  328. package/dist/tools/capabilities.js +45 -71
  329. package/dist/tools/capabilities.js.map +1 -1
  330. package/dist/tools/clearOverlay.js +45 -8
  331. package/dist/tools/clearOverlay.js.map +1 -1
  332. package/dist/tools/detectContext.js +1 -1
  333. package/dist/tools/detectContext.js.map +1 -1
  334. package/dist/tools/device.js +44 -7
  335. package/dist/tools/device.js.map +1 -1
  336. package/dist/tools/doctor.js +38 -15
  337. package/dist/tools/doctor.js.map +1 -1
  338. package/dist/tools/explore.js +96 -22
  339. package/dist/tools/explore.js.map +1 -1
  340. package/dist/tools/featureTesting.js +153 -114
  341. package/dist/tools/featureTesting.js.map +1 -1
  342. package/dist/tools/firstRun.js +95 -60
  343. package/dist/tools/firstRun.js.map +1 -1
  344. package/dist/tools/flow.js +236 -101
  345. package/dist/tools/flow.js.map +1 -1
  346. package/dist/tools/flowGenerate.js +51 -47
  347. package/dist/tools/flowGenerate.js.map +1 -1
  348. package/dist/tools/flowRepair.js +24 -4
  349. package/dist/tools/flowRepair.js.map +1 -1
  350. package/dist/tools/generate.js +236 -0
  351. package/dist/tools/generate.js.map +1 -0
  352. package/dist/tools/getArtifact.js +21 -3
  353. package/dist/tools/getArtifact.js.map +1 -1
  354. package/dist/tools/health.js +3 -1
  355. package/dist/tools/health.js.map +1 -1
  356. package/dist/tools/history.js +40 -10
  357. package/dist/tools/history.js.map +1 -1
  358. package/dist/tools/ios.js +157 -25
  359. package/dist/tools/ios.js.map +1 -1
  360. package/dist/tools/issues.js +19 -150
  361. package/dist/tools/issues.js.map +1 -1
  362. package/dist/tools/jobs.js +23 -4
  363. package/dist/tools/jobs.js.map +1 -1
  364. package/dist/tools/locator.js +36 -8
  365. package/dist/tools/locator.js.map +1 -1
  366. package/dist/tools/metro.js +61 -16
  367. package/dist/tools/metro.js.map +1 -1
  368. package/dist/tools/mobileAudit.js +67 -15
  369. package/dist/tools/mobileAudit.js.map +1 -1
  370. package/dist/tools/network.js +6 -1
  371. package/dist/tools/network.js.map +1 -1
  372. package/dist/tools/note.js +20 -6
  373. package/dist/tools/note.js.map +1 -1
  374. package/dist/tools/permissions.js +31 -6
  375. package/dist/tools/permissions.js.map +1 -1
  376. package/dist/tools/plan.js +5 -2
  377. package/dist/tools/plan.js.map +1 -1
  378. package/dist/tools/prepareIosTarget.js +31 -8
  379. package/dist/tools/prepareIosTarget.js.map +1 -1
  380. package/dist/tools/prepareTarget.js +97 -18
  381. package/dist/tools/prepareTarget.js.map +1 -1
  382. package/dist/tools/report.js +24 -5
  383. package/dist/tools/report.js.map +1 -1
  384. package/dist/tools/resolveArtifact.js +9 -5
  385. package/dist/tools/resolveArtifact.js.map +1 -1
  386. package/dist/tools/resolveTarget.js +11 -2
  387. package/dist/tools/resolveTarget.js.map +1 -1
  388. package/dist/tools/screenInfo.js +8 -2
  389. package/dist/tools/screenInfo.js.map +1 -1
  390. package/dist/tools/screenRecord.js +74 -11
  391. package/dist/tools/screenRecord.js.map +1 -1
  392. package/dist/tools/screenshot.js +23 -6
  393. package/dist/tools/screenshot.js.map +1 -1
  394. package/dist/tools/seed.js +38 -6
  395. package/dist/tools/seed.js.map +1 -1
  396. package/dist/tools/smoke.js +16 -3
  397. package/dist/tools/smoke.js.map +1 -1
  398. package/dist/tools/snapshot.js +59 -6
  399. package/dist/tools/snapshot.js.map +1 -1
  400. package/dist/tools/startSession.js +54 -9
  401. package/dist/tools/startSession.js.map +1 -1
  402. package/dist/tools/state.js +62 -15
  403. package/dist/tools/state.js.map +1 -1
  404. package/dist/tools/suite.js +350 -298
  405. package/dist/tools/suite.js.map +1 -1
  406. package/dist/tools/testSuite.js +94 -28
  407. package/dist/tools/testSuite.js.map +1 -1
  408. package/dist/tools/testThis.js +30 -793
  409. package/dist/tools/testThis.js.map +1 -1
  410. package/dist/tools/visual.js +124 -18
  411. package/dist/tools/visual.js.map +1 -1
  412. package/dist/tools/visualText.js +51 -6
  413. package/dist/tools/visualText.js.map +1 -1
  414. package/dist/tools/wait.js +18 -3
  415. package/dist/tools/wait.js.map +1 -1
  416. package/dist/tools/wda.js +157 -29
  417. package/dist/tools/wda.js.map +1 -1
  418. package/dist/version.js +17 -49
  419. package/dist/version.js.map +1 -1
  420. package/dist/visual/ocr.js +12 -2
  421. package/dist/visual/ocr.js.map +1 -1
  422. package/dist/visual/provider.js +7 -3
  423. package/dist/visual/provider.js.map +1 -1
  424. package/docs/mcp-server.md +44 -4
  425. package/docs/tools.md +42 -100
  426. package/package.json +14 -5
  427. package/dist/appMap/diff.js +0 -60
  428. package/dist/appMap/diff.js.map +0 -1
  429. package/dist/automation/maestroIr.js +0 -282
  430. package/dist/automation/maestroIr.js.map +0 -1
  431. package/dist/interop/maestro.js +0 -151
  432. package/dist/interop/maestro.js.map +0 -1
  433. package/dist/tools/idling.js +0 -104
  434. package/dist/tools/idling.js.map +0 -1
  435. package/dist/tools/inputCapabilities.js +0 -30
  436. package/dist/tools/inputCapabilities.js.map +0 -1
  437. package/dist/tools/maestro.js +0 -78
  438. package/dist/tools/maestro.js.map +0 -1
package/dist/tools/wda.js CHANGED
@@ -6,11 +6,12 @@ import { qaError, qaOk } from '../lib/result.js';
6
6
  import { consumeConsent, requireConsent } from '../consent/consent.js';
7
7
  import { sensitiveRefusal } from '../lib/sensitive.js';
8
8
  import { run } from '../lib/spawn.js';
9
- import { checkWda, classifyWdaBuildFailure, classifyWdaConnectionFailure, createWdaSession, discoverWdaProjects, managedWdaBuildArgs, managedWdaStartArgs, waitForWdaReady, wdaSessionUdidMismatch, xcodeAvailable } from '../lib/wda.js';
9
+ import { checkWda, classifyWdaBuildFailure, classifyWdaConnectionFailure, createWdaSession, discoverWdaProjects, managedWdaBuildArgs, managedWdaStartArgs, waitForWdaReady, wdaSessionUdidMismatch, xcodeAvailable, } from '../lib/wda.js';
10
10
  import { loadWdaConfig, wdaSigningStatus, wdaUrlAllowedByConfig } from '../lib/wdaConfig.js';
11
11
  import { recordWdaTiming, wdaRecommendations, wdaTimingSummary } from '../lib/wdaTune.js';
12
12
  import { WdaDriver } from '../drivers/WdaDriver.js';
13
13
  import * as sim from '../lib/simctl.js';
14
+ import { registerManagedProcess, unregisterManagedProcess } from '../session/processRegistry.js';
14
15
  const managedProcesses = new Map();
15
16
  function isLoopback(raw) {
16
17
  try {
@@ -80,20 +81,37 @@ export function registerWda(server, sessions) {
80
81
  inputSchema: {
81
82
  sessionId: z.string(),
82
83
  action: z.enum(['status', 'doctor', 'build', 'start', 'stop', 'attach', 'diagnose', 'logs', 'tune']),
83
- webDriverAgentUrl: z.string().optional().describe('External WDA base URL. Defaults to http://127.0.0.1:8100. Non-loopback URLs are refused by default.'),
84
- udid: z.string().optional().describe('Simulator/device UDID expected behind this WDA endpoint.'),
84
+ webDriverAgentUrl: z
85
+ .string()
86
+ .optional()
87
+ .describe('External WDA base URL. Defaults to http://127.0.0.1:8100. Non-loopback URLs are refused by default.'),
88
+ udid: z
89
+ .string()
90
+ .optional()
91
+ .describe('iOS simulator UDID expected behind this WDA endpoint (this tool is iOS-only; other tools use `device`).'),
85
92
  bundleId: z.string().optional().describe('App bundle id for session creation. Defaults to the session appId.'),
86
- wdaProjectPath: z.string().optional().describe('Path to WebDriverAgent.xcodeproj for managed build/start. Relative paths resolve from project root.'),
87
- derivedDataPath: z.string().optional().describe('Optional xcodebuild -derivedDataPath for WDA caching/reuse. Relative paths resolve from project root.'),
93
+ wdaProjectPath: z
94
+ .string()
95
+ .optional()
96
+ .describe('Path to WebDriverAgent.xcodeproj for managed build/start. Relative paths resolve from project root.'),
97
+ derivedDataPath: z
98
+ .string()
99
+ .optional()
100
+ .describe('Optional xcodebuild -derivedDataPath for WDA caching/reuse. Relative paths resolve from project root.'),
88
101
  scheme: z.string().optional().describe('WDA xcodebuild scheme. Defaults to WebDriverAgentRunner.'),
89
102
  allowNonLoopback: z.boolean().optional().describe('Required to use a non-loopback external WDA URL.'),
90
103
  consentId: z.string().optional(),
91
104
  approve: z.boolean().optional(),
92
105
  },
93
- }, async ({ sessionId, action, webDriverAgentUrl, udid, bundleId, wdaProjectPath, derivedDataPath, scheme, allowNonLoopback, consentId, approve }) => {
106
+ }, async ({ sessionId, action, webDriverAgentUrl, udid, bundleId, wdaProjectPath, derivedDataPath, scheme, allowNonLoopback, consentId, approve, }) => {
94
107
  const session = sessions.get(sessionId);
95
108
  if (!session)
96
- return qaError({ what: `Unknown sessionId ${sessionId}`, changedState: false, retrySafe: true, nextSteps: ['Call qa_start_session first.'] });
109
+ return qaError({
110
+ what: `Unknown sessionId ${sessionId}`,
111
+ changedState: false,
112
+ retrySafe: true,
113
+ nextSteps: ['Call qa_start_session first.'],
114
+ });
97
115
  const configured = loadWdaConfig(session.root);
98
116
  const url = webDriverAgentUrl ?? configured.url;
99
117
  const loopback = isLoopback(url);
@@ -104,7 +122,9 @@ export function registerWda(server, sessions) {
104
122
  changedState: false,
105
123
  retrySafe: false,
106
124
  failureCode: 'DESTRUCTIVE_REFUSED',
107
- nextSteps: ['Use a localhost WDA URL, pass allowNonLoopback with explicit consent, or add this exact URL to ios.wda.allowNonLoopbackUrls for a trusted isolated automation network.'],
125
+ nextSteps: [
126
+ 'Use a localhost WDA URL, pass allowNonLoopback with explicit consent, or add this exact URL to ios.wda.allowNonLoopbackUrls for a trusted isolated automation network.',
127
+ ],
108
128
  });
109
129
  }
110
130
  if (!loopback && !configAllowed) {
@@ -119,7 +139,7 @@ export function registerWda(server, sessions) {
119
139
  });
120
140
  }
121
141
  }
122
- const resolvePath = (p) => p ? (isAbsolute(p) ? p : join(session.root, p)) : undefined;
142
+ const resolvePath = (p) => (p ? (isAbsolute(p) ? p : join(session.root, p)) : undefined);
123
143
  const projectPath = resolvePath(wdaProjectPath);
124
144
  const ddPath = resolvePath(derivedDataPath) ?? configured.derivedDataPath;
125
145
  const targetUdid = udid ?? session.device;
@@ -162,6 +182,7 @@ export function registerWda(server, sessions) {
162
182
  catch {
163
183
  /* already gone */
164
184
  }
185
+ unregisterManagedProcess(proc.pid);
165
186
  managedProcesses.delete(session.id);
166
187
  sessions.addEnvChange(session, `wda stop pid ${proc.pid}`);
167
188
  sessions.recordMutation(session, {
@@ -176,7 +197,13 @@ export function registerWda(server, sessions) {
176
197
  }
177
198
  if (action === 'build' || action === 'start') {
178
199
  if (!targetUdid) {
179
- return qaError({ what: `qa_wda ${action} requires a simulator/device UDID`, changedState: false, retrySafe: true, failureCode: 'NO_DEVICE', nextSteps: ['Boot/select a simulator with qa_ios boot, or pass udid explicitly.'] });
200
+ return qaError({
201
+ what: `qa_wda ${action} requires a simulator/device UDID`,
202
+ changedState: false,
203
+ retrySafe: true,
204
+ failureCode: 'NO_DEVICE',
205
+ nextSteps: ['Boot/select a simulator with qa_ios boot, or pass udid explicitly.'],
206
+ });
180
207
  }
181
208
  if (action === 'start' && configured.reuse) {
182
209
  const reuseStartedAt = Date.now();
@@ -184,19 +211,52 @@ export function registerWda(server, sessions) {
184
211
  const reuseCheckMs = Date.now() - reuseStartedAt;
185
212
  sessions.addMilestoneDuration(session, 'wda_reuse_check_ms', reuseCheckMs);
186
213
  if (existing.reachable && existing.ready) {
187
- return qaOk({ started: false, reused: true, ready: true, webDriverAgentUrl: url, udid: targetUdid, wda: existing, wdaConfig: configured, reuseCheckMs }, `reused existing WDA at ${url}; /status is ready\nNext: qa_wda attach.`);
214
+ return qaOk({
215
+ started: false,
216
+ reused: true,
217
+ ready: true,
218
+ webDriverAgentUrl: url,
219
+ udid: targetUdid,
220
+ wda: existing,
221
+ wdaConfig: configured,
222
+ reuseCheckMs,
223
+ }, `reused existing WDA at ${url}; /status is ready\nNext: qa_wda attach.`);
188
224
  }
189
225
  }
190
226
  const xcode = await xcodeAvailable();
191
227
  if (!xcode.available) {
192
- return qaError({ what: 'Xcode command line tools are unavailable', changedState: false, retrySafe: true, failureCode: 'BACKEND_UNSUPPORTED', nextSteps: [xcode.error ?? 'Install Xcode and select it with xcode-select.'] }, { xcode });
228
+ return qaError({
229
+ what: 'Xcode command line tools are unavailable',
230
+ changedState: false,
231
+ retrySafe: true,
232
+ failureCode: 'BACKEND_UNSUPPORTED',
233
+ nextSteps: [xcode.error ?? 'Install Xcode and select it with xcode-select.'],
234
+ }, { xcode });
193
235
  }
194
236
  if (!projectPath || !existsSync(projectPath)) {
195
- return qaError({ what: `qa_wda ${action} requires wdaProjectPath pointing to WebDriverAgent.xcodeproj`, changedState: false, retrySafe: true, failureCode: 'NO_ARTIFACT', nextSteps: ['Pass wdaProjectPath, for example path/to/WebDriverAgent.xcodeproj.'] }, { xcode, wdaProjectPath: projectPath ?? null });
237
+ return qaError({
238
+ what: `qa_wda ${action} requires wdaProjectPath pointing to WebDriverAgent.xcodeproj`,
239
+ changedState: false,
240
+ retrySafe: true,
241
+ failureCode: 'NO_ARTIFACT',
242
+ nextSteps: ['Pass wdaProjectPath, for example path/to/WebDriverAgent.xcodeproj.'],
243
+ }, { xcode, wdaProjectPath: projectPath ?? null });
196
244
  }
197
245
  const args = action === 'build'
198
- ? managedWdaBuildArgs({ projectPath, udid: targetUdid, derivedDataPath: ddPath, scheme, developmentTeam: configured.developmentTeam })
199
- : managedWdaStartArgs({ projectPath, udid: targetUdid, derivedDataPath: ddPath, scheme, developmentTeam: configured.developmentTeam });
246
+ ? managedWdaBuildArgs({
247
+ projectPath,
248
+ udid: targetUdid,
249
+ derivedDataPath: ddPath,
250
+ scheme,
251
+ developmentTeam: configured.developmentTeam,
252
+ })
253
+ : managedWdaStartArgs({
254
+ projectPath,
255
+ udid: targetUdid,
256
+ derivedDataPath: ddPath,
257
+ scheme,
258
+ developmentTeam: configured.developmentTeam,
259
+ });
200
260
  const gate = consumeConsent(consentId, approve, { action: `wda_${action}`, affects: { udid: targetUdid, projectPath } });
201
261
  if (!gate.approved) {
202
262
  sessions.recordMutation(session, {
@@ -207,7 +267,13 @@ export function registerWda(server, sessions) {
207
267
  consent: { required: true, approved: false },
208
268
  status: 'requested',
209
269
  });
210
- return requireConsent({ action: `wda_${action}`, risk: 'medium', exactCommand: `xcodebuild ${args.join(' ')}`, affects: { udid: targetUdid, projectPath }, explain: `${action === 'build' ? 'Build' : 'Start'} WebDriverAgent with xcodebuild? This can use local signing context and run for a while.` });
270
+ return requireConsent({
271
+ action: `wda_${action}`,
272
+ risk: 'medium',
273
+ exactCommand: `xcodebuild ${args.join(' ')}`,
274
+ affects: { udid: targetUdid, projectPath },
275
+ explain: `${action === 'build' ? 'Build' : 'Start'} WebDriverAgent with xcodebuild? This can use local signing context and run for a while.`,
276
+ });
211
277
  }
212
278
  sessions.recordMutation(session, {
213
279
  tool: 'qa_wda',
@@ -237,13 +303,17 @@ export function registerWda(server, sessions) {
237
303
  detail: `${failureCode}: exit ${r.code}`,
238
304
  });
239
305
  return qaError({
240
- what: failureCode === 'WDA_SIGNING_FAILED' ? `WDA signing/provisioning failed with exit ${r.code}` : `WDA build failed with exit ${r.code}`,
306
+ what: failureCode === 'WDA_SIGNING_FAILED'
307
+ ? `WDA signing/provisioning failed with exit ${r.code}`
308
+ : `WDA build failed with exit ${r.code}`,
241
309
  changedState: true,
242
310
  retrySafe: failureCode !== 'WDA_SIGNING_FAILED',
243
311
  failureCode,
244
312
  artifactUri: logUri,
245
313
  nextSteps: failureCode === 'WDA_SIGNING_FAILED'
246
- ? ['Open the WDA build log artifact, configure a valid development team/certificate/provisioning profile for the device, then retry.']
314
+ ? [
315
+ 'Open the WDA build log artifact, configure a valid development team/certificate/provisioning profile for the device, then retry.',
316
+ ]
247
317
  : ['Open the WDA build log artifact, fix the Xcode build error, then retry.'],
248
318
  }, { xcode, logUri, timedOut: r.timedOut });
249
319
  }
@@ -266,12 +336,20 @@ export function registerWda(server, sessions) {
266
336
  sessions.milestone(session, 'wda_start_end');
267
337
  child.unref();
268
338
  managedProcesses.set(session.id, { pid: child.pid ?? -1, logUri });
339
+ registerManagedProcess(child.pid, 'wda', session.id); // reapable if this server crashes
269
340
  sessions.addEnvChange(session, `wda start pid ${child.pid ?? 'unknown'} ${projectPath} ${targetUdid}`);
270
341
  sessions.recordMutation(session, {
271
342
  tool: 'qa_wda',
272
343
  action: 'wda_start',
273
344
  risk: 'medium',
274
- target: { udid: targetUdid, projectPath, derivedDataPath: ddPath, scheme: scheme ?? null, pid: child.pid ?? null, webDriverAgentUrl: url },
345
+ target: {
346
+ udid: targetUdid,
347
+ projectPath,
348
+ derivedDataPath: ddPath,
349
+ scheme: scheme ?? null,
350
+ pid: child.pid ?? null,
351
+ webDriverAgentUrl: url,
352
+ },
275
353
  consent: { required: true, consentId, approved: true },
276
354
  status: 'executed',
277
355
  ledgerUri: logUri,
@@ -284,7 +362,14 @@ export function registerWda(server, sessions) {
284
362
  tool: 'qa_wda',
285
363
  action: 'wda_start',
286
364
  risk: 'medium',
287
- target: { udid: targetUdid, projectPath, derivedDataPath: ddPath, scheme: scheme ?? null, pid: child.pid ?? null, webDriverAgentUrl: url },
365
+ target: {
366
+ udid: targetUdid,
367
+ projectPath,
368
+ derivedDataPath: ddPath,
369
+ scheme: scheme ?? null,
370
+ pid: child.pid ?? null,
371
+ webDriverAgentUrl: url,
372
+ },
288
373
  consent: { required: true, consentId, approved: true },
289
374
  status: 'blocked',
290
375
  ledgerUri: logUri,
@@ -296,10 +381,32 @@ export function registerWda(server, sessions) {
296
381
  retrySafe: true,
297
382
  failureCode: 'WDA_START_FAILED',
298
383
  artifactUri: logUri,
299
- nextSteps: ['Open the WDA start log artifact, fix the launch/signing/device issue, then retry qa_wda start. If WDA eventually becomes ready, qa_wda attach can still use this managed process.'],
300
- }, { started: true, ready: false, pid: child.pid ?? null, logUri, webDriverAgentUrl: url, command: ['xcodebuild', ...args], wdaConfig: configured, wda: waited.status, startupWaitMs: waited.durationMs });
384
+ nextSteps: [
385
+ 'Open the WDA start log artifact, fix the launch/signing/device issue, then retry qa_wda start. If WDA eventually becomes ready, qa_wda attach can still use this managed process.',
386
+ ],
387
+ }, {
388
+ started: true,
389
+ ready: false,
390
+ pid: child.pid ?? null,
391
+ logUri,
392
+ webDriverAgentUrl: url,
393
+ command: ['xcodebuild', ...args],
394
+ wdaConfig: configured,
395
+ wda: waited.status,
396
+ startupWaitMs: waited.durationMs,
397
+ });
301
398
  }
302
- return qaOk({ started: true, ready: true, pid: child.pid ?? null, logUri, webDriverAgentUrl: url, command: ['xcodebuild', ...args], wdaConfig: configured, wda: waited.status, startupWaitMs: waited.durationMs }, `started managed WDA pid ${child.pid ?? 'unknown'} and /status is ready → ${logUri}\nNext: qa_wda attach.`);
399
+ return qaOk({
400
+ started: true,
401
+ ready: true,
402
+ pid: child.pid ?? null,
403
+ logUri,
404
+ webDriverAgentUrl: url,
405
+ command: ['xcodebuild', ...args],
406
+ wdaConfig: configured,
407
+ wda: waited.status,
408
+ startupWaitMs: waited.durationMs,
409
+ }, `started managed WDA pid ${child.pid ?? 'unknown'} and /status is ready → ${logUri}\nNext: qa_wda attach.`);
303
410
  }
304
411
  const status = await checkWda(url);
305
412
  const xcode = await xcodeAvailable();
@@ -307,7 +414,7 @@ export function registerWda(server, sessions) {
307
414
  const appId = bundleId ?? session.appId ?? null;
308
415
  const artifactSummary = latestWdaArtifacts(session);
309
416
  const wdaProjectDiscovery = discoverWdaProjects(session.root, projectPath ? [projectPath] : []);
310
- const wdaBuildProduct = (configured.mode === 'managed' || !!projectPath) ? managedWdaBuildProductStatus(ddPath) : null;
417
+ const wdaBuildProduct = configured.mode === 'managed' || !!projectPath ? managedWdaBuildProductStatus(ddPath) : null;
311
418
  const simctlOk = await sim.simctlAvailable().catch(() => false);
312
419
  const simulators = simctlOk ? await sim.listSimulators().catch(() => []) : [];
313
420
  const bootedSimulators = simulators.filter((s) => s.state === 'Booted');
@@ -357,7 +464,11 @@ export function registerWda(server, sessions) {
357
464
  issues.push(issue('NO_UDID', 'no simulator/device UDID is bound to this session', 'Boot/select a simulator with qa_ios boot, or pass udid explicitly.'));
358
465
  if (wantsManaged && (!projectPath || !existsSync(projectPath))) {
359
466
  const discovered = wdaProjectDiscovery.candidates[0];
360
- issues.push(issue('WDA_PROJECT_MISSING', discovered ? `managed WDA needs wdaProjectPath; discovered candidate ${discovered}` : 'managed WDA needs a WebDriverAgent.xcodeproj path; no local candidate was discovered', discovered ? `Pass wdaProjectPath: "${discovered}", or configure ios.wda for that checked-out WebDriverAgent project.` : 'Check out WebDriverAgent/Appium WDA, pass wdaProjectPath, or provide an external WDA URL.'));
467
+ issues.push(issue('WDA_PROJECT_MISSING', discovered
468
+ ? `managed WDA needs wdaProjectPath; discovered candidate ${discovered}`
469
+ : 'managed WDA needs a WebDriverAgent.xcodeproj path; no local candidate was discovered', discovered
470
+ ? `Pass wdaProjectPath: "${discovered}", or configure ios.wda for that checked-out WebDriverAgent project.`
471
+ : 'Check out WebDriverAgent/Appium WDA, pass wdaProjectPath, or provide an external WDA URL.'));
361
472
  }
362
473
  if (wantsManaged && projectPath && existsSync(projectPath) && wdaBuildProduct && !wdaBuildProduct.built)
363
474
  issues.push(issue('WDA_NOT_BUILT', `no WebDriverAgentRunner .app was found under derivedDataPath ${wdaBuildProduct.checkedPath}`, 'Run qa_wda build first, or point ios.wda.derivedDataPath at a cache containing a built WebDriverAgentRunner product.'));
@@ -395,7 +506,9 @@ export function registerWda(server, sessions) {
395
506
  changedState: false,
396
507
  retrySafe: true,
397
508
  failureCode: 'MULTIPLE_DEVICES',
398
- nextSteps: ['Pass udid explicitly, or bind the session to a device first. This prevents attaching to a stale WDA for the wrong device.'],
509
+ nextSteps: [
510
+ 'Pass udid explicitly, or bind the session to a device first. This prevents attaching to a stale WDA for the wrong device.',
511
+ ],
399
512
  }, base);
400
513
  }
401
514
  if (!status.reachable) {
@@ -408,7 +521,12 @@ export function registerWda(server, sessions) {
408
521
  }, base);
409
522
  }
410
523
  try {
411
- const sessionOptions = { bundleId: appId ?? undefined, udid: targetUdid, capabilities: configured.capabilities, settings: configured.settings };
524
+ const sessionOptions = {
525
+ bundleId: appId ?? undefined,
526
+ udid: targetUdid,
527
+ capabilities: configured.capabilities,
528
+ settings: configured.settings,
529
+ };
412
530
  const createStarted = Date.now();
413
531
  let created;
414
532
  try {
@@ -436,7 +554,11 @@ export function registerWda(server, sessions) {
436
554
  nextSteps: ['Stop the stale WDA process or start a new WDA session for the intended UDID.'],
437
555
  }, { ...base, capabilities: created.capabilities ?? null, wdaSessionId: created.sessionId });
438
556
  }
439
- const driver = new WdaDriver(url, { ...sessionOptions, sessionId: created.sessionId, onTiming: (kind, ms) => recordWdaTiming(session, kind, ms, sessions) });
557
+ const driver = new WdaDriver(url, {
558
+ ...sessionOptions,
559
+ sessionId: created.sessionId,
560
+ onTiming: (kind, ms) => recordWdaTiming(session, kind, ms, sessions),
561
+ });
440
562
  session.driver = driver;
441
563
  session.device = targetUdid;
442
564
  if (appId)
@@ -447,7 +569,13 @@ export function registerWda(server, sessions) {
447
569
  tool: 'qa_wda',
448
570
  action: 'wda_attach',
449
571
  risk: 'medium',
450
- target: { webDriverAgentUrl: url, udid: targetUdid, bundleId: appId ?? null, wdaSessionId: created.sessionId, capabilities: created.capabilities ?? null },
572
+ target: {
573
+ webDriverAgentUrl: url,
574
+ udid: targetUdid,
575
+ bundleId: appId ?? null,
576
+ wdaSessionId: created.sessionId,
577
+ capabilities: created.capabilities ?? null,
578
+ },
451
579
  consent: { required: !loopback && !configAllowed, consentId, approved: true },
452
580
  status: 'executed',
453
581
  });
@@ -1 +1 @@
1
- {"version":3,"file":"wda.js","sourceRoot":"","sources":["../../src/tools/wda.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wda.js","sourceRoot":"","sources":["../../src/tools/wda.ts"],"names":[],"mappings":"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"}
package/dist/version.js CHANGED
@@ -1,6 +1,6 @@
1
1
  // Single source of truth for the Swipium version and the public tool surface. Used by the
2
2
  // server identity, qa_doctor / qa_start_session, qa_capabilities, and `swipium verify`.
3
- export const SWIPIUM_VERSION = '1.3.0';
3
+ export const SWIPIUM_VERSION = '1.5.0';
4
4
  export const TOOL_NAMES = [
5
5
  'qa_agent_brief',
6
6
  'qa_capabilities',
@@ -10,6 +10,7 @@ export const TOOL_NAMES = [
10
10
  'qa_status',
11
11
  'qa_explain_blocker',
12
12
  'qa_continue_from_blocker',
13
+ 'qa_next_best_action',
13
14
  'qa_get_artifact',
14
15
  'qa_doctor',
15
16
  'qa_start_session',
@@ -22,87 +23,52 @@ export const TOOL_NAMES = [
22
23
  // Local build + artifact resolution (REQ "test this app")
23
24
  'qa_resolve_target',
24
25
  'qa_resolve_artifact',
25
- 'qa_build_plan',
26
26
  'qa_build',
27
27
  'qa_bundletool',
28
28
  // Device / app environment parity (Phase 5)
29
29
  'qa_device_info',
30
- 'qa_permissions',
31
30
  'qa_orientation',
32
31
  'qa_geolocation',
33
32
  'qa_network',
34
33
  'qa_metro',
35
34
  'qa_app_control',
36
- 'qa_screen_info',
37
35
  'qa_screen_record',
38
36
  'qa_snapshot',
37
+ 'qa_inspect',
39
38
  'qa_act',
40
39
  'qa_clear_overlay',
41
40
  'qa_check_health',
42
41
  'qa_screenshot',
43
42
  'qa_note',
44
43
  'qa_assert_visual',
45
- // Visual intelligence (Phase 8, local-first OCR + coordinate audit)
46
- 'qa_visual',
47
- 'qa_visual_find_text',
48
44
  // Agent-efficiency helpers (Phase 7)
49
- 'qa_locator_suggest',
50
45
  'qa_wait',
51
- 'qa_idling_status',
52
- 'qa_input_capabilities',
53
46
  'qa_smoke',
54
47
  'qa_explore',
55
48
  'qa_report',
56
- // Report 2.0: durable history and run comparison (Phase 10)
57
- 'qa_report_compare',
58
- 'qa_run_history',
59
- // Seeded state (Phase 9)
60
- 'qa_seed',
61
- 'qa_state_prepare',
62
- 'qa_state_verify',
63
- 'qa_state_teardown',
64
49
  'qa_app_map_build',
65
50
  'qa_app_map_read',
66
51
  'qa_app_map_query',
67
52
  'qa_app_map_feature_scope',
68
- 'qa_app_map_validate',
53
+ 'qa_app_map_update',
69
54
  // Feature-focused testing (REQ-03: "test the X feature")
70
- 'qa_feature_scope',
71
- 'qa_feature_test_plan',
72
55
  'qa_test_feature',
73
56
  // Repeatable flow system (Phase 4)
74
57
  'qa_flow_check',
75
- 'qa_flow_plan',
76
58
  'qa_flow_run',
77
- 'qa_flow_generate',
59
+ 'qa_flow_compile',
78
60
  'qa_flow_repair',
79
- // Persistent test suite + POM (REQ-06)
61
+ // Per-run asset generation from recorded actions (1.5.0 consolidation)
62
+ 'qa_generate',
63
+ // Persistent test suite (REQ-06, durable .swipium/test-suite.json)
64
+ 'qa_suite_read',
65
+ 'qa_suite_update',
80
66
  'qa_suite_generate',
81
- 'qa_suite_compile',
67
+ 'qa_suite_export',
82
68
  'qa_suite_lint',
83
- 'qa_pom_generate',
84
- 'qa_testcase_generate',
85
- 'qa_test_suite_read',
86
- 'qa_test_suite_update',
87
- 'qa_test_suite_generate',
88
- 'qa_test_suite_export',
89
- 'qa_test_suite_lint',
90
- 'qa_first_run_plan',
91
- 'qa_first_run_continue',
92
- 'qa_automation_plan',
93
- 'qa_automation_generate',
94
- 'qa_automation_validate',
95
- // Maestro interop
96
- 'qa_maestro_import',
97
- 'qa_maestro_export',
69
+ 'qa_first_run',
98
70
  // Durable issue memory + executable mobile audit (REQ-07/08)
99
71
  'qa_issue_log',
100
- 'qa_issue_history',
101
- 'qa_issue_mark_fixed',
102
- 'qa_issue_triage',
103
- 'qa_issue_suppress',
104
- 'qa_issue_verify_fixed',
105
- 'qa_issue_metrics',
106
72
  'qa_mobile_audit',
107
73
  ];
108
74
  export const TOOL_COUNT = TOOL_NAMES.length;
@@ -117,7 +83,9 @@ export const PROMPT_NAMES = [
117
83
  ];
118
84
  export const PROMPT_COUNT = PROMPT_NAMES.length;
119
85
  /** Shown when a client may be running an older build than what's installed on disk. */
120
- export const STALE_CLIENT_HINT = `Swipium v${SWIPIUM_VERSION} exposes ${TOOL_COUNT} tools + ${PROMPT_COUNT} prompts. If your MCP client lists fewer ` +
121
- `(e.g. qa_test_feature / qa_feature_scope / qa_build / qa_resolve_target / qa_bundletool missing), it is running a server ` +
122
- `spawned before the upgrade. Restart the client to reload Swipium.`;
86
+ export const STALE_CLIENT_HINT = `Swipium v${SWIPIUM_VERSION} exposes ${TOOL_COUNT} tools + ${PROMPT_COUNT} prompts. If your MCP client lists a ` +
87
+ `different set (e.g. qa_generate / qa_first_run / qa_flow_compile / qa_test_feature missing, or tools ` +
88
+ `removed or merged in the 1.5.0 consolidation still present — including the old _plan/_run/_continue twins ` +
89
+ `now folded into qa_build, qa_flow_run, and qa_first_run), it is running a server spawned before the upgrade. ` +
90
+ `Restart the client to reload Swipium.`;
123
91
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,wFAAwF;AAExF,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC;AAEvC,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,gBAAgB;IAChB,iBAAiB;IACjB,cAAc;IACd,eAAe;IACf,eAAe;IACf,WAAW;IACX,oBAAoB;IACpB,0BAA0B;IAC1B,iBAAiB;IACjB,WAAW;IACX,kBAAkB;IAClB,mBAAmB;IACnB,SAAS;IACT,mBAAmB;IACnB,uBAAuB;IACvB,QAAQ;IACR,QAAQ;IACR,0DAA0D;IAC1D,mBAAmB;IACnB,qBAAqB;IACrB,eAAe;IACf,UAAU;IACV,eAAe;IACf,4CAA4C;IAC5C,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,YAAY;IACZ,UAAU;IACV,gBAAgB;IAChB,gBAAgB;IAChB,kBAAkB;IAClB,aAAa;IACb,QAAQ;IACR,kBAAkB;IAClB,iBAAiB;IACjB,eAAe;IACf,SAAS;IACT,kBAAkB;IAClB,oEAAoE;IACpE,WAAW;IACX,qBAAqB;IACrB,qCAAqC;IACrC,oBAAoB;IACpB,SAAS;IACT,kBAAkB;IAClB,uBAAuB;IACvB,UAAU;IACV,YAAY;IACZ,WAAW;IACX,4DAA4D;IAC5D,mBAAmB;IACnB,gBAAgB;IAChB,yBAAyB;IACzB,SAAS;IACT,kBAAkB;IAClB,iBAAiB;IACjB,mBAAmB;IACnB,kBAAkB;IAClB,iBAAiB;IACjB,kBAAkB;IAClB,0BAA0B;IAC1B,qBAAqB;IACrB,yDAAyD;IACzD,kBAAkB;IAClB,sBAAsB;IACtB,iBAAiB;IACjB,mCAAmC;IACnC,eAAe;IACf,cAAc;IACd,aAAa;IACb,kBAAkB;IAClB,gBAAgB;IAChB,uCAAuC;IACvC,mBAAmB;IACnB,kBAAkB;IAClB,eAAe;IACf,iBAAiB;IACjB,sBAAsB;IACtB,oBAAoB;IACpB,sBAAsB;IACtB,wBAAwB;IACxB,sBAAsB;IACtB,oBAAoB;IACpB,mBAAmB;IACnB,uBAAuB;IACvB,oBAAoB;IACpB,wBAAwB;IACxB,wBAAwB;IACxB,kBAAkB;IAClB,mBAAmB;IACnB,mBAAmB;IACnB,6DAA6D;IAC7D,cAAc;IACd,kBAAkB;IAClB,qBAAqB;IACrB,iBAAiB;IACjB,mBAAmB;IACnB,uBAAuB;IACvB,kBAAkB;IAClB,iBAAiB;CACT,CAAC;AAEX,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;AAC5C,MAAM,CAAC,MAAM,aAAa,GAAwB,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;AAEtE,oEAAoE;AACpE,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,qBAAqB;IACrB,8BAA8B;IAC9B,oBAAoB;IACpB,mBAAmB;IACnB,6BAA6B;CACrB,CAAC;AAEX,MAAM,CAAC,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC;AAEhD,uFAAuF;AACvF,MAAM,CAAC,MAAM,iBAAiB,GAC5B,YAAY,eAAe,YAAY,UAAU,YAAY,YAAY,2CAA2C;IACpH,2HAA2H;IAC3H,mEAAmE,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,wFAAwF;AAExF,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC;AAEvC,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,gBAAgB;IAChB,iBAAiB;IACjB,cAAc;IACd,eAAe;IACf,eAAe;IACf,WAAW;IACX,oBAAoB;IACpB,0BAA0B;IAC1B,qBAAqB;IACrB,iBAAiB;IACjB,WAAW;IACX,kBAAkB;IAClB,mBAAmB;IACnB,SAAS;IACT,mBAAmB;IACnB,uBAAuB;IACvB,QAAQ;IACR,QAAQ;IACR,0DAA0D;IAC1D,mBAAmB;IACnB,qBAAqB;IACrB,UAAU;IACV,eAAe;IACf,4CAA4C;IAC5C,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,YAAY;IACZ,UAAU;IACV,gBAAgB;IAChB,kBAAkB;IAClB,aAAa;IACb,YAAY;IACZ,QAAQ;IACR,kBAAkB;IAClB,iBAAiB;IACjB,eAAe;IACf,SAAS;IACT,kBAAkB;IAClB,qCAAqC;IACrC,SAAS;IACT,UAAU;IACV,YAAY;IACZ,WAAW;IACX,kBAAkB;IAClB,iBAAiB;IACjB,kBAAkB;IAClB,0BAA0B;IAC1B,mBAAmB;IACnB,yDAAyD;IACzD,iBAAiB;IACjB,mCAAmC;IACnC,eAAe;IACf,aAAa;IACb,iBAAiB;IACjB,gBAAgB;IAChB,uEAAuE;IACvE,aAAa;IACb,mEAAmE;IACnE,eAAe;IACf,iBAAiB;IACjB,mBAAmB;IACnB,iBAAiB;IACjB,eAAe;IACf,cAAc;IACd,6DAA6D;IAC7D,cAAc;IACd,iBAAiB;CACT,CAAC;AAEX,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;AAC5C,MAAM,CAAC,MAAM,aAAa,GAAwB,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;AAEtE,oEAAoE;AACpE,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,qBAAqB;IACrB,8BAA8B;IAC9B,oBAAoB;IACpB,mBAAmB;IACnB,6BAA6B;CACrB,CAAC;AAEX,MAAM,CAAC,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC;AAEhD,uFAAuF;AACvF,MAAM,CAAC,MAAM,iBAAiB,GAC5B,YAAY,eAAe,YAAY,UAAU,YAAY,YAAY,uCAAuC;IAChH,uGAAuG;IACvG,4GAA4G;IAC5G,+GAA+G;IAC/G,uCAAuC,CAAC"}
@@ -14,10 +14,20 @@ export function parseOcrOutput(stdout) {
14
14
  return { text: '', regions: [] };
15
15
  try {
16
16
  const json = JSON.parse(trimmed);
17
- const arr = Array.isArray(json) ? json : Array.isArray(json?.regions) ? json.regions : [];
17
+ const arr = Array.isArray(json)
18
+ ? json
19
+ : Array.isArray(json?.regions)
20
+ ? json.regions
21
+ : [];
18
22
  const regions = arr
19
23
  .map((r) => r)
20
- .filter((r) => typeof r.text === 'string' && typeof r.confidence === 'number' && !!r.bbox && typeof r.bbox.x === 'number' && typeof r.bbox.y === 'number' && typeof r.bbox.width === 'number' && typeof r.bbox.height === 'number')
24
+ .filter((r) => typeof r.text === 'string' &&
25
+ typeof r.confidence === 'number' &&
26
+ !!r.bbox &&
27
+ typeof r.bbox.x === 'number' &&
28
+ typeof r.bbox.y === 'number' &&
29
+ typeof r.bbox.width === 'number' &&
30
+ typeof r.bbox.height === 'number')
21
31
  .map((r) => ({ ...r, coordinateSpace: 'screenshot_px' }));
22
32
  const text = typeof json?.text === 'string' ? json.text : regions.map((r) => r.text).join('\n');
23
33
  return { text, regions };