taphound 0.2.0-dev.1 → 0.2.0-dev.12

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 (467) hide show
  1. package/README.md +49 -149
  2. package/README.zh-CN.md +47 -147
  3. package/assets/skills/taphound-case-suite/SKILL.md +363 -0
  4. package/assets/skills/taphound-case-suite/schemas/base-flow-record.schema.json +22 -0
  5. package/assets/skills/taphound-case-suite/schemas/case-catalog.schema.json +26 -0
  6. package/assets/skills/taphound-case-suite/schemas/case-ledger.schema.json +158 -0
  7. package/assets/skills/taphound-case-suite/schemas/suite-input.schema.json +41 -0
  8. package/assets/skills/taphound-case-suite/schemas/transition.schema.json +61 -0
  9. package/assets/skills/taphound-case-suite/scripts/ledger.mjs +1207 -0
  10. package/assets/skills/taphound-case-suite/templates/base-flow-record.example.json +20 -0
  11. package/assets/skills/taphound-case-suite/templates/suite-input.example.json +27 -0
  12. package/assets/skills/taphound-case-suite/templates/transition.example.json +8 -0
  13. package/assets/skills/taphound-flash/SKILL.md +115 -0
  14. package/assets/skills/taphound-flash/scripts/flash.mjs +585 -0
  15. package/assets/skills/taphound-flash/templates/flash-plan.example.json +15 -0
  16. package/assets/skills/taphound-journey-brief-author/CONTEXT-GUIDE.md +471 -0
  17. package/assets/skills/taphound-journey-brief-author/SKILL.md +494 -0
  18. package/assets/skills/taphound-journey-brief-author/prompts/brief-author-role.md +96 -0
  19. package/assets/skills/taphound-journey-brief-author/prompts/brief-author-role.zh-CN.md +80 -0
  20. package/assets/skills/taphound-journey-brief-author/prompts/context-analyze-project.md +309 -0
  21. package/assets/skills/taphound-journey-brief-author/schemas/context-refresh-result.json +123 -0
  22. package/assets/skills/taphound-journey-brief-author/schemas/project-context-module.json +192 -0
  23. package/assets/skills/taphound-journey-brief-author/schemas/project-context.json +152 -0
  24. package/assets/skills/taphound-journey-brief-author/templates/project-context-module.example.json +58 -0
  25. package/assets/skills/taphound-journey-brief-author/templates/project-context.example.json +51 -0
  26. package/assets/skills/taphound-journey-brief-author/templates/taphound-journey-brief.template.md +63 -0
  27. package/assets/skills/taphound-journey-generator/SKILL.md +507 -0
  28. package/assets/skills/{taphound-ai-journey → taphound-journey-generator}/prompts/check-completion.md +3 -0
  29. package/assets/skills/taphound-journey-generator/prompts/consume-journey-brief.md +52 -0
  30. package/assets/skills/taphound-journey-generator/prompts/generate-step.md +211 -0
  31. package/assets/skills/taphound-journey-generator/prompts/select-flow.md +91 -0
  32. package/assets/skills/taphound-journey-generator/references/bridge.md +35 -0
  33. package/assets/skills/taphound-journey-generator/references/mid-session.md +44 -0
  34. package/assets/skills/taphound-journey-generator/schemas/external-flow.json +37 -0
  35. package/assets/skills/taphound-journey-generator/schemas/flow.json +28 -0
  36. package/assets/skills/taphound-journey-generator/schemas/journey-source.json +25 -0
  37. package/assets/skills/{taphound-ai-journey → taphound-journey-generator}/schemas/observe-output.json +13 -4
  38. package/assets/skills/{taphound-ai-journey → taphound-journey-generator}/schemas/proposed-step-envelope.json +127 -5
  39. package/assets/skills/taphound-journey-generator/scripts/envelope.mjs +578 -0
  40. package/assets/skills/taphound-journey-generator/templates/external-flow.example.json +22 -0
  41. package/assets/skills/taphound-journey-generator/templates/flow.example.json +22 -0
  42. package/assets/skills/taphound-journey-generator/templates/journey-source.example.json +17 -0
  43. package/assets/skills/taphound-journey-generator/templates/taphound-journey-brief.example.md +70 -0
  44. package/assets/skills/taphound-verify-change/SKILL.md +91 -0
  45. package/assets/skills/taphound-verify-change/references/accept.md +38 -0
  46. package/assets/skills/taphound-verify-change/references/preserve.md +357 -0
  47. package/assets/skills/taphound-verify-change/schemas/workflow-manifest.schema.json +295 -0
  48. package/assets/skills/taphound-verify-change/scripts/handoff.mjs +482 -0
  49. package/assets/skills/taphound-verify-change/scripts/ui-refactor.mjs +505 -0
  50. package/dist/adapters/adb/adb-adapter.d.ts +16 -2
  51. package/dist/adapters/adb/adb-adapter.js +199 -0
  52. package/dist/adapters/adb/system-uiautomator-snapshot-provider.d.ts +13 -0
  53. package/dist/adapters/adb/system-uiautomator-snapshot-provider.js +122 -0
  54. package/dist/adapters/adb/ui-automator-parser.d.ts +3 -0
  55. package/dist/adapters/adb/ui-automator-parser.js +160 -0
  56. package/dist/adapters/adb/window-topology-parser.d.ts +2 -0
  57. package/dist/adapters/adb/window-topology-parser.js +101 -0
  58. package/dist/adapters/android-cli/android-cli-adapter.d.ts +16 -8
  59. package/dist/adapters/android-cli/android-cli-adapter.js +137 -15
  60. package/dist/adapters/android-cli/android-cli-snapshot-provider.d.ts +9 -0
  61. package/dist/adapters/android-cli/android-cli-snapshot-provider.js +99 -0
  62. package/dist/adapters/android-cli/layout-parser.js +12 -8
  63. package/dist/adapters/appium/appium-doctor.d.ts +7 -0
  64. package/dist/adapters/appium/appium-doctor.js +128 -0
  65. package/dist/adapters/appium/appium-ui-snapshot-provider.d.ts +42 -0
  66. package/dist/adapters/appium/appium-ui-snapshot-provider.js +309 -0
  67. package/dist/adapters/camera/camera-probe-adapter.d.ts +18 -0
  68. package/dist/adapters/camera/camera-probe-adapter.js +286 -0
  69. package/dist/adapters/filesystem/artifact-store.js +40 -1
  70. package/dist/adapters/filesystem/context-document-writer.d.ts +15 -0
  71. package/dist/adapters/filesystem/context-document-writer.js +112 -0
  72. package/dist/adapters/filesystem/diagnostics-journal.d.ts +17 -0
  73. package/dist/adapters/filesystem/diagnostics-journal.js +130 -0
  74. package/dist/adapters/filesystem/external-flow-registry.d.ts +17 -0
  75. package/dist/adapters/filesystem/external-flow-registry.js +325 -0
  76. package/dist/adapters/filesystem/generation-session-store.d.ts +17 -11
  77. package/dist/adapters/filesystem/generation-session-store.js +281 -855
  78. package/dist/adapters/filesystem/generation-store/session-lock.d.ts +29 -0
  79. package/dist/adapters/filesystem/generation-store/session-lock.js +202 -0
  80. package/dist/adapters/filesystem/generation-store/session-transitions.d.ts +24 -0
  81. package/dist/adapters/filesystem/generation-store/session-transitions.js +340 -0
  82. package/dist/adapters/filesystem/generation-store/store-files.d.ts +50 -0
  83. package/dist/adapters/filesystem/generation-store/store-files.js +363 -0
  84. package/dist/adapters/filesystem/journey-composition-store.d.ts +23 -0
  85. package/dist/adapters/filesystem/journey-composition-store.js +151 -0
  86. package/dist/adapters/filesystem/knowledge-registry.d.ts +12 -0
  87. package/dist/adapters/filesystem/knowledge-registry.js +223 -0
  88. package/dist/adapters/filesystem/project-bound-file.js +3 -5
  89. package/dist/adapters/filesystem/project-file-inspector.d.ts +2 -0
  90. package/dist/adapters/filesystem/project-file-inspector.js +57 -28
  91. package/dist/adapters/filesystem/project-identity-inspector.d.ts +7 -0
  92. package/dist/adapters/filesystem/project-identity-inspector.js +215 -0
  93. package/dist/adapters/filesystem/project-inventory-inspector.d.ts +8 -0
  94. package/dist/adapters/filesystem/project-inventory-inspector.js +93 -0
  95. package/dist/adapters/filesystem/project-module-discoverer.d.ts +6 -0
  96. package/dist/adapters/filesystem/project-module-discoverer.js +158 -0
  97. package/dist/adapters/filesystem/skill-installer.d.ts +7 -2
  98. package/dist/adapters/filesystem/skill-installer.js +40 -11
  99. package/dist/adapters/filesystem/workspace-layout.d.ts +7 -0
  100. package/dist/adapters/filesystem/workspace-layout.js +57 -0
  101. package/dist/adapters/git/node-git-diff.d.ts +17 -0
  102. package/dist/adapters/git/node-git-diff.js +114 -0
  103. package/dist/adapters/process/node-detached-process-launcher.d.ts +6 -0
  104. package/dist/adapters/process/node-detached-process-launcher.js +96 -0
  105. package/dist/adapters/process/node-process-runner.js +11 -2
  106. package/dist/adapters/prompt/inquirer-align-prompt.d.ts +27 -0
  107. package/dist/adapters/prompt/inquirer-align-prompt.js +65 -0
  108. package/dist/adapters/prompt/inquirer-generation-prompt.js +3 -0
  109. package/dist/adapters/prompt/inquirer-recorder-prompt.d.ts +9 -1
  110. package/dist/adapters/prompt/inquirer-recorder-prompt.js +63 -0
  111. package/dist/adapters/runtime/adb-runtime-backend.d.ts +67 -0
  112. package/dist/adapters/runtime/adb-runtime-backend.js +206 -0
  113. package/dist/adapters/runtime/fake-runtime-backend.d.ts +87 -0
  114. package/dist/adapters/runtime/fake-runtime-backend.js +240 -0
  115. package/dist/adapters/runtime/mobile-mcp/mcp-tool-client.d.ts +45 -0
  116. package/dist/adapters/runtime/mobile-mcp/mcp-tool-client.js +153 -0
  117. package/dist/adapters/runtime/mobile-mcp/mobile-mcp-errors.d.ts +23 -0
  118. package/dist/adapters/runtime/mobile-mcp/mobile-mcp-errors.js +39 -0
  119. package/dist/adapters/runtime/mobile-mcp/mobile-mcp-responses.d.ts +20 -0
  120. package/dist/adapters/runtime/mobile-mcp/mobile-mcp-responses.js +180 -0
  121. package/dist/adapters/runtime/mobile-mcp/mobile-mcp-runtime-backend.d.ts +78 -0
  122. package/dist/adapters/runtime/mobile-mcp/mobile-mcp-runtime-backend.js +379 -0
  123. package/dist/adapters/runtime/mobile-mcp/mobile-mcp-tools.d.ts +46 -0
  124. package/dist/adapters/runtime/session-adb-view.d.ts +53 -0
  125. package/dist/adapters/runtime/session-adb-view.js +193 -0
  126. package/dist/adapters/runtime/session-backed-ports.d.ts +21 -0
  127. package/dist/adapters/runtime/session-backed-ports.js +43 -0
  128. package/dist/adapters/runtime/shared-session-runtime-backend.d.ts +12 -0
  129. package/dist/adapters/runtime/shared-session-runtime-backend.js +64 -0
  130. package/dist/adapters/ui/auto-ui-snapshot-provider.d.ts +8 -0
  131. package/dist/adapters/ui/auto-ui-snapshot-provider.js +48 -0
  132. package/dist/adapters/ui/device-layout-temp.d.ts +6 -0
  133. package/dist/adapters/ui/device-layout-temp.js +18 -0
  134. package/dist/adapters/ui/device-ui-environment.d.ts +13 -0
  135. package/dist/adapters/ui/device-ui-environment.js +81 -0
  136. package/dist/adapters/ui/layout-normalization.d.ts +9 -0
  137. package/dist/adapters/ui/layout-normalization.js +44 -0
  138. package/dist/adapters/ui/ui-snapshot-error.d.ts +11 -0
  139. package/dist/adapters/ui/ui-snapshot-error.js +12 -0
  140. package/dist/adapters/ui/ui-snapshot-support.d.ts +15 -0
  141. package/dist/adapters/ui/ui-snapshot-support.js +12 -0
  142. package/dist/application/align/align-service.d.ts +42 -0
  143. package/dist/application/align/align-service.js +106 -0
  144. package/dist/application/assertion/expectation-evaluator.d.ts +18 -5
  145. package/dist/application/assertion/expectation-evaluator.js +156 -18
  146. package/dist/application/assertion/guarded-expectation.d.ts +45 -0
  147. package/dist/application/assertion/guarded-expectation.js +74 -0
  148. package/dist/application/checkpoint/baseline-capturer.d.ts +26 -0
  149. package/dist/application/checkpoint/baseline-capturer.js +163 -0
  150. package/dist/application/checkpoint/baseline-error.d.ts +5 -0
  151. package/dist/application/checkpoint/baseline-error.js +8 -0
  152. package/dist/application/checkpoint/baseline-service.d.ts +31 -0
  153. package/dist/application/checkpoint/baseline-service.js +147 -0
  154. package/dist/application/checkpoint/checkpoint-evaluator.d.ts +35 -0
  155. package/dist/application/checkpoint/checkpoint-evaluator.js +415 -0
  156. package/dist/application/checkpoint/regression-comparator.d.ts +18 -0
  157. package/dist/application/checkpoint/regression-comparator.js +192 -0
  158. package/dist/application/collector/logcat-collector.d.ts +22 -1
  159. package/dist/application/collector/logcat-collector.js +103 -15
  160. package/dist/application/collector/logcat-event.d.ts +8 -0
  161. package/dist/application/collector/logcat-event.js +79 -0
  162. package/dist/application/collector/logcat-stop.d.ts +2 -0
  163. package/dist/application/collector/logcat-stop.js +11 -0
  164. package/dist/application/context/context-generator.d.ts +45 -0
  165. package/dist/application/context/context-generator.js +228 -0
  166. package/dist/application/context/context-loader.d.ts +40 -0
  167. package/dist/application/context/context-loader.js +223 -0
  168. package/dist/application/context/context-refresher.d.ts +59 -0
  169. package/dist/application/context/context-refresher.js +349 -0
  170. package/dist/application/context/context-rehasher.d.ts +36 -0
  171. package/dist/application/context/context-rehasher.js +110 -0
  172. package/dist/application/context/context-validator.d.ts +23 -1
  173. package/dist/application/context/context-validator.js +116 -9
  174. package/dist/application/context/evidence-hash.d.ts +1 -0
  175. package/dist/application/context/evidence-hash.js +125 -0
  176. package/dist/application/context/evidence-match.d.ts +9 -0
  177. package/dist/application/context/evidence-match.js +8 -0
  178. package/dist/application/context/shard-identity.d.ts +2 -0
  179. package/dist/application/context/shard-identity.js +7 -0
  180. package/dist/application/contract/contract-loader.d.ts +25 -0
  181. package/dist/application/contract/contract-loader.js +68 -0
  182. package/dist/application/contract/contract-review.d.ts +25 -0
  183. package/dist/application/contract/contract-review.js +51 -0
  184. package/dist/application/contract/contract-verifier.d.ts +53 -0
  185. package/dist/application/contract/contract-verifier.js +645 -0
  186. package/dist/application/devices/resolve-device-assignments.d.ts +21 -0
  187. package/dist/application/devices/resolve-device-assignments.js +60 -0
  188. package/dist/application/diagnosis/failure-classifier.d.ts +23 -0
  189. package/dist/application/diagnosis/failure-classifier.js +179 -0
  190. package/dist/application/diagnostics/diagnostics-exporter.d.ts +29 -0
  191. package/dist/application/diagnostics/diagnostics-exporter.js +283 -0
  192. package/dist/application/diagnostics/ui-capture-telemetry.d.ts +16 -0
  193. package/dist/application/diagnostics/ui-capture-telemetry.js +81 -0
  194. package/dist/application/doctor/doctor-service.d.ts +36 -3
  195. package/dist/application/doctor/doctor-service.js +255 -25
  196. package/dist/application/generation/generation-app-preparer.d.ts +20 -0
  197. package/dist/application/generation/generation-app-preparer.js +28 -0
  198. package/dist/application/generation/generation-config-service.d.ts +21 -0
  199. package/dist/application/generation/generation-config-service.js +53 -0
  200. package/dist/application/generation/generation-confirmation-service.d.ts +14 -3
  201. package/dist/application/generation/generation-confirmation-service.js +109 -24
  202. package/dist/application/generation/generation-context-snapshot.d.ts +6 -0
  203. package/dist/application/generation/generation-context-snapshot.js +29 -0
  204. package/dist/application/generation/generation-finalizer.d.ts +15 -9
  205. package/dist/application/generation/generation-finalizer.js +167 -70
  206. package/dist/application/generation/generation-publisher.js +12 -8
  207. package/dist/application/generation/generation-recovery-service.d.ts +35 -0
  208. package/dist/application/generation/generation-recovery-service.js +144 -0
  209. package/dist/application/generation/generation-reopen-service.d.ts +15 -0
  210. package/dist/application/generation/generation-reopen-service.js +37 -0
  211. package/dist/application/generation/generation-replace-service.d.ts +32 -0
  212. package/dist/application/generation/generation-replace-service.js +116 -0
  213. package/dist/application/generation/generation-starter.d.ts +44 -4
  214. package/dist/application/generation/generation-starter.js +175 -8
  215. package/dist/application/generation/generation-step-executor.d.ts +67 -5
  216. package/dist/application/generation/generation-step-executor.js +471 -108
  217. package/dist/application/generation/proposed-step-validator.js +96 -30
  218. package/dist/application/generation/replay-policy-loader.d.ts +16 -0
  219. package/dist/application/generation/replay-policy-loader.js +29 -0
  220. package/dist/application/generation/risk-evaluator.d.ts +4 -1
  221. package/dist/application/generation/risk-evaluator.js +118 -3
  222. package/dist/application/generation/runtime-observer.d.ts +39 -7
  223. package/dist/application/generation/runtime-observer.js +193 -24
  224. package/dist/application/impact/impact-resolver.d.ts +32 -0
  225. package/dist/application/impact/impact-resolver.js +160 -0
  226. package/dist/application/init/init-service.js +26 -13
  227. package/dist/application/interaction/action-executor.d.ts +3 -2
  228. package/dist/application/interaction/action-executor.js +11 -1
  229. package/dist/application/interaction/action-target.d.ts +17 -0
  230. package/dist/application/interaction/action-target.js +40 -0
  231. package/dist/application/interaction/external-step-runner.d.ts +153 -0
  232. package/dist/application/interaction/external-step-runner.js +332 -0
  233. package/dist/application/interaction/fallback-resolver.d.ts +6 -3
  234. package/dist/application/interaction/fallback-resolver.js +7 -5
  235. package/dist/application/interaction/scroll-to-executor.d.ts +17 -3
  236. package/dist/application/interaction/scroll-to-executor.js +118 -36
  237. package/dist/application/journey/external-flow-resolver.d.ts +25 -0
  238. package/dist/application/journey/external-flow-resolver.js +22 -0
  239. package/dist/application/journey/journey-check-service.d.ts +54 -0
  240. package/dist/application/journey/journey-check-service.js +207 -0
  241. package/dist/application/journey/journey-promoter.d.ts +26 -0
  242. package/dist/application/journey/journey-promoter.js +123 -0
  243. package/dist/application/journey/journey-resolver.d.ts +42 -0
  244. package/dist/application/journey/journey-resolver.js +239 -0
  245. package/dist/application/journey/journey-retirer.d.ts +25 -0
  246. package/dist/application/journey/journey-retirer.js +87 -0
  247. package/dist/application/knowledge/anchor-resolver.d.ts +36 -0
  248. package/dist/application/knowledge/anchor-resolver.js +110 -0
  249. package/dist/application/knowledge/knowledge-loader.d.ts +16 -0
  250. package/dist/application/knowledge/knowledge-loader.js +36 -0
  251. package/dist/application/locator/layout-failure-summary.d.ts +2 -0
  252. package/dist/application/locator/layout-failure-summary.js +67 -0
  253. package/dist/application/locator/layout-traversal.d.ts +11 -0
  254. package/dist/application/locator/layout-traversal.js +18 -0
  255. package/dist/application/locator/locator-resolver.d.ts +13 -1
  256. package/dist/application/locator/locator-resolver.js +182 -18
  257. package/dist/application/observe/observe-service.d.ts +20 -0
  258. package/dist/application/observe/observe-service.js +91 -0
  259. package/dist/application/project/project-describer.d.ts +14 -6
  260. package/dist/application/project/project-describer.js +38 -5
  261. package/dist/application/recognition/screen-detector.d.ts +28 -0
  262. package/dist/application/recognition/screen-detector.js +111 -0
  263. package/dist/application/recorder/locator-selector.js +151 -17
  264. package/dist/application/recorder/recorder-service.d.ts +16 -4
  265. package/dist/application/recorder/recorder-service.js +420 -128
  266. package/dist/application/report/report-writer.d.ts +5 -0
  267. package/dist/application/report/report-writer.js +17 -1
  268. package/dist/application/runtime/cold-launch.d.ts +28 -0
  269. package/dist/application/runtime/cold-launch.js +59 -0
  270. package/dist/application/runtime/step-runner.d.ts +49 -4
  271. package/dist/application/runtime/step-runner.js +721 -130
  272. package/dist/application/runtime/verify-runtime.d.ts +57 -7
  273. package/dist/application/runtime/verify-runtime.js +577 -175
  274. package/dist/application/ui/cached-ui-snapshot-provider.d.ts +45 -0
  275. package/dist/application/ui/cached-ui-snapshot-provider.js +111 -0
  276. package/dist/application/ui/observed-ui-snapshot-provider.d.ts +15 -0
  277. package/dist/application/ui/observed-ui-snapshot-provider.js +66 -0
  278. package/dist/application/ui/ui-snapshot-lifecycle.d.ts +2 -0
  279. package/dist/application/ui/ui-snapshot-lifecycle.js +8 -0
  280. package/dist/application/ui/ui-stability-probe.d.ts +9 -0
  281. package/dist/application/ui/ui-stability-probe.js +24 -0
  282. package/dist/application/wait/idle-advice.d.ts +6 -0
  283. package/dist/application/wait/idle-advice.js +27 -0
  284. package/dist/application/wait/idle-profiles.d.ts +15 -0
  285. package/dist/application/wait/idle-profiles.js +75 -0
  286. package/dist/application/wait/idle-waiter.d.ts +28 -4
  287. package/dist/application/wait/idle-waiter.js +201 -15
  288. package/dist/cli/commands/align.d.ts +3 -0
  289. package/dist/cli/commands/align.js +124 -0
  290. package/dist/cli/commands/baseline.d.ts +3 -0
  291. package/dist/cli/commands/baseline.js +130 -0
  292. package/dist/cli/commands/context.js +300 -27
  293. package/dist/cli/commands/contract.d.ts +3 -0
  294. package/dist/cli/commands/contract.js +120 -0
  295. package/dist/cli/commands/diagnose.d.ts +3 -0
  296. package/dist/cli/commands/diagnose.js +84 -0
  297. package/dist/cli/commands/doctor.js +16 -9
  298. package/dist/cli/commands/failure.d.ts +3 -0
  299. package/dist/cli/commands/failure.js +63 -0
  300. package/dist/cli/commands/generation/lifecycle-commands.d.ts +5 -0
  301. package/dist/cli/commands/generation/lifecycle-commands.js +211 -0
  302. package/dist/cli/commands/generation/session-commands.d.ts +11 -0
  303. package/dist/cli/commands/generation/session-commands.js +472 -0
  304. package/dist/cli/commands/generation/shared.d.ts +1414 -0
  305. package/dist/cli/commands/generation/shared.js +291 -0
  306. package/dist/cli/commands/generation/step-commands.d.ts +8 -0
  307. package/dist/cli/commands/generation/step-commands.js +315 -0
  308. package/dist/cli/commands/generation.js +10 -507
  309. package/dist/cli/commands/impact.d.ts +3 -0
  310. package/dist/cli/commands/impact.js +87 -0
  311. package/dist/cli/commands/init.js +13 -6
  312. package/dist/cli/commands/journey.d.ts +3 -0
  313. package/dist/cli/commands/journey.js +382 -0
  314. package/dist/cli/commands/knowledge.d.ts +3 -0
  315. package/dist/cli/commands/knowledge.js +93 -0
  316. package/dist/cli/commands/observe.d.ts +3 -0
  317. package/dist/cli/commands/observe.js +127 -0
  318. package/dist/cli/commands/project.js +2 -1
  319. package/dist/cli/commands/record.js +18 -5
  320. package/dist/cli/commands/verify.js +326 -64
  321. package/dist/cli/dependencies.d.ts +136 -1
  322. package/dist/cli/dependencies.js +504 -52
  323. package/dist/cli/diagnostics-recorder.d.ts +31 -0
  324. package/dist/cli/diagnostics-recorder.js +82 -0
  325. package/dist/cli/diff-verification.d.ts +41 -0
  326. package/dist/cli/diff-verification.js +192 -0
  327. package/dist/cli/main.d.ts +1 -1
  328. package/dist/cli/main.js +107 -2
  329. package/dist/cli/output.d.ts +5 -3
  330. package/dist/cli/output.js +12 -0
  331. package/dist/cli/program.js +21 -1
  332. package/dist/cli/project-root.d.ts +1 -0
  333. package/dist/cli/project-root.js +6 -0
  334. package/dist/cli/runtime-selection.d.ts +22 -0
  335. package/dist/cli/runtime-selection.js +92 -0
  336. package/dist/cli/version.d.ts +1 -0
  337. package/dist/cli/version.js +14 -0
  338. package/dist/cli/workspace-guard.d.ts +2 -0
  339. package/dist/cli/workspace-guard.js +3 -0
  340. package/dist/domain/binding-reference.d.ts +4 -0
  341. package/dist/domain/binding-reference.js +23 -0
  342. package/dist/domain/checkpoint.d.ts +404 -0
  343. package/dist/domain/checkpoint.js +297 -0
  344. package/dist/domain/config.d.ts +107 -1
  345. package/dist/domain/config.js +52 -6
  346. package/dist/domain/contract.d.ts +413 -0
  347. package/dist/domain/contract.js +196 -0
  348. package/dist/domain/diagnostics.d.ts +1396 -0
  349. package/dist/domain/diagnostics.js +193 -0
  350. package/dist/domain/external-flow.d.ts +493 -0
  351. package/dist/domain/external-flow.js +15 -0
  352. package/dist/domain/failure-classification.d.ts +176 -0
  353. package/dist/domain/failure-classification.js +169 -0
  354. package/dist/domain/failure.d.ts +2 -1
  355. package/dist/domain/failure.js +123 -0
  356. package/dist/domain/generation.d.ts +1671 -132
  357. package/dist/domain/generation.js +202 -13
  358. package/dist/domain/geometry.d.ts +13 -0
  359. package/dist/domain/geometry.js +16 -0
  360. package/dist/domain/impact.d.ts +71 -0
  361. package/dist/domain/impact.js +76 -0
  362. package/dist/domain/init.d.ts +12 -4
  363. package/dist/domain/init.js +24 -18
  364. package/dist/domain/journey-composition.d.ts +2285 -0
  365. package/dist/domain/journey-composition.js +85 -0
  366. package/dist/domain/journey-lifecycle.d.ts +10 -0
  367. package/dist/domain/journey-lifecycle.js +9 -0
  368. package/dist/domain/journey.d.ts +2419 -212
  369. package/dist/domain/journey.js +384 -14
  370. package/dist/domain/knowledge.d.ts +165 -0
  371. package/dist/domain/knowledge.js +188 -0
  372. package/dist/domain/layout.d.ts +34 -5
  373. package/dist/domain/layout.js +64 -6
  374. package/dist/domain/locator-evidence.d.ts +3 -0
  375. package/dist/domain/locator-evidence.js +36 -0
  376. package/dist/domain/logcat-event.d.ts +54 -0
  377. package/dist/domain/logcat-event.js +40 -0
  378. package/dist/domain/observation.d.ts +33 -0
  379. package/dist/domain/observation.js +18 -0
  380. package/dist/domain/project-context.d.ts +219 -1
  381. package/dist/domain/project-context.js +209 -6
  382. package/dist/domain/proposed-step.d.ts +340 -60
  383. package/dist/domain/proposed-step.js +23 -3
  384. package/dist/domain/report.d.ts +1455 -28
  385. package/dist/domain/report.js +211 -14
  386. package/dist/domain/runtime-snapshot.d.ts +58 -1
  387. package/dist/domain/runtime-snapshot.js +14 -3
  388. package/dist/domain/runtime.d.ts +50 -0
  389. package/dist/domain/runtime.js +36 -0
  390. package/dist/domain/system-app-profiles.d.ts +6 -0
  391. package/dist/domain/system-app-profiles.js +43 -0
  392. package/dist/domain/ui-backend.d.ts +28 -0
  393. package/dist/domain/ui-backend.js +33 -0
  394. package/dist/domain/ui-cache.d.ts +11 -0
  395. package/dist/domain/ui-cache.js +10 -0
  396. package/dist/domain/verify-receipt.d.ts +17 -0
  397. package/dist/domain/verify-receipt.js +17 -0
  398. package/dist/domain/window-hierarchy.d.ts +84 -0
  399. package/dist/domain/window-hierarchy.js +172 -0
  400. package/dist/domain/workflow-manifest.d.ts +77 -0
  401. package/dist/domain/workflow-manifest.js +136 -0
  402. package/dist/domain/workspace.d.ts +30 -0
  403. package/dist/domain/workspace.js +74 -0
  404. package/dist/ports/adb.d.ts +34 -1
  405. package/dist/ports/align-prompt.d.ts +11 -0
  406. package/dist/ports/align-prompt.js +6 -0
  407. package/dist/ports/anchor-resolver.d.ts +30 -0
  408. package/dist/ports/anchor-resolver.js +1 -0
  409. package/dist/ports/annotated-screen-resolver.d.ts +4 -0
  410. package/dist/ports/annotated-screen-resolver.js +1 -0
  411. package/dist/ports/camera-probe.d.ts +23 -0
  412. package/dist/ports/camera-probe.js +8 -0
  413. package/dist/ports/context-document-writer.d.ts +24 -0
  414. package/dist/ports/context-document-writer.js +1 -0
  415. package/dist/ports/detached-process-launcher.d.ts +12 -0
  416. package/dist/ports/detached-process-launcher.js +1 -0
  417. package/dist/ports/diagnostics.d.ts +15 -0
  418. package/dist/ports/diagnostics.js +1 -0
  419. package/dist/ports/external-flow-registry.d.ts +37 -0
  420. package/dist/ports/external-flow-registry.js +1 -0
  421. package/dist/ports/generation-prompt.d.ts +2 -1
  422. package/dist/ports/generation-session-store.d.ts +12 -2
  423. package/dist/ports/git-diff.d.ts +9 -0
  424. package/dist/ports/git-diff.js +1 -0
  425. package/dist/ports/journey-composition-store.d.ts +17 -0
  426. package/dist/ports/journey-composition-store.js +1 -0
  427. package/dist/ports/knowledge-registry.d.ts +20 -0
  428. package/dist/ports/knowledge-registry.js +1 -0
  429. package/dist/ports/process-runner.d.ts +7 -0
  430. package/dist/ports/project-file-inspector.d.ts +1 -0
  431. package/dist/ports/project-identity-inspector.d.ts +24 -0
  432. package/dist/ports/project-identity-inspector.js +1 -0
  433. package/dist/ports/project-inventory-inspector.d.ts +21 -0
  434. package/dist/ports/project-inventory-inspector.js +1 -0
  435. package/dist/ports/project-module-discoverer.d.ts +26 -0
  436. package/dist/ports/project-module-discoverer.js +1 -0
  437. package/dist/ports/recorder-prompt.d.ts +10 -1
  438. package/dist/ports/runtime-backend.d.ts +89 -0
  439. package/dist/ports/runtime-backend.js +13 -0
  440. package/dist/ports/runtime-capability.d.ts +12 -0
  441. package/dist/ports/runtime-capability.js +20 -0
  442. package/dist/ports/runtime-session-ports.d.ts +25 -0
  443. package/dist/ports/runtime-session-ports.js +1 -0
  444. package/dist/ports/screenshot.d.ts +11 -0
  445. package/dist/ports/screenshot.js +1 -0
  446. package/dist/ports/skill-installer.d.ts +2 -2
  447. package/dist/ports/ui-snapshot.d.ts +35 -0
  448. package/dist/ports/ui-snapshot.js +1 -0
  449. package/dist/ports/ui-stability.d.ts +19 -0
  450. package/dist/ports/ui-stability.js +1 -0
  451. package/dist/ports/workspace-layout.d.ts +4 -0
  452. package/dist/ports/workspace-layout.js +1 -0
  453. package/dist/shared/errors.d.ts +2 -0
  454. package/dist/shared/errors.js +22 -0
  455. package/dist/shared/paths.d.ts +2 -0
  456. package/dist/shared/paths.js +24 -0
  457. package/dist/shared/strings.d.ts +2 -0
  458. package/dist/shared/strings.js +16 -0
  459. package/package.json +7 -2
  460. package/assets/skills/taphound-ai-journey/GUIDE.md +0 -862
  461. package/assets/skills/taphound-ai-journey/SKILL.md +0 -377
  462. package/assets/skills/taphound-ai-journey/prompts/analyze-project.md +0 -526
  463. package/assets/skills/taphound-ai-journey/prompts/generate-step.md +0 -109
  464. package/assets/skills/taphound-ai-journey/schemas/project-context.json +0 -81
  465. package/assets/skills/taphound-ai-journey/templates/project-context.example.json +0 -49
  466. package/dist/ports/android-cli.d.ts +0 -21
  467. /package/dist/{ports/android-cli.js → adapters/runtime/mobile-mcp/mobile-mcp-tools.js} +0 -0
@@ -0,0 +1,1396 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Diagnostics exist so a user can attach evidence to TapHound feedback
4
+ * without leaking their project. Every schema here is an allowlist: a field
5
+ * that is not declared cannot reach the journal or an exported bundle, and
6
+ * no field carries a path, package, Activity, Journey name, locator value,
7
+ * device serial, or free-text message.
8
+ */
9
+ export declare const DIAGNOSTICS_EVENTS_FILE = "events.jsonl";
10
+ export declare const DIAGNOSTICS_EVENTS_ROTATED_FILE = "events.1.jsonl";
11
+ export declare const DIAGNOSTICS_SALT_FILE = "salt";
12
+ export declare const DIAGNOSTICS_DISABLE_ENV_VAR = "TAPHOUND_DIAGNOSTICS";
13
+ /** Upper bounds (exclusive) of the capture latency buckets; the last bucket is open. */
14
+ export declare const UI_CAPTURE_LATENCY_BUCKETS_MS: readonly [250, 500, 1000, 2000, 5000];
15
+ export declare const UI_CAPTURE_FAILURE_KINDS: readonly ["timeout", "cancelled", "http4xx", "http5xx", "error"];
16
+ export type UiCaptureFailureKind = typeof UI_CAPTURE_FAILURE_KINDS[number];
17
+ export declare const DiagnosticsHostSchema: z.ZodObject<{
18
+ platform: z.ZodString;
19
+ arch: z.ZodString;
20
+ node: z.ZodString;
21
+ }, z.core.$strict>;
22
+ export declare const UiBackendTelemetrySchema: z.ZodObject<{
23
+ backend: z.ZodEnum<{
24
+ "system-uiautomator": "system-uiautomator";
25
+ "android-cli": "android-cli";
26
+ "appium-uiautomator2": "appium-uiautomator2";
27
+ "mobile-mcp": "mobile-mcp";
28
+ }>;
29
+ captures: z.ZodNumber;
30
+ failures: z.ZodObject<{
31
+ timeout: z.ZodNumber;
32
+ cancelled: z.ZodNumber;
33
+ http4xx: z.ZodNumber;
34
+ http5xx: z.ZodNumber;
35
+ error: z.ZodNumber;
36
+ }, z.core.$strict>;
37
+ totalMs: z.ZodNumber;
38
+ maxMs: z.ZodNumber;
39
+ latencyBuckets: z.ZodArray<z.ZodNumber>;
40
+ sessionRecoveries: z.ZodNumber;
41
+ sessionRecoveryFailures: z.ZodNumber;
42
+ }, z.core.$strict>;
43
+ export type UiBackendTelemetry = z.infer<typeof UiBackendTelemetrySchema>;
44
+ /** One journal line: a finished CLI invocation. */
45
+ export declare const CommandEventSchema: z.ZodObject<{
46
+ version: z.ZodLiteral<1>;
47
+ kind: z.ZodLiteral<"command">;
48
+ at: z.ZodISODateTime;
49
+ taphoundVersion: z.ZodString;
50
+ host: z.ZodObject<{
51
+ platform: z.ZodString;
52
+ arch: z.ZodString;
53
+ node: z.ZodString;
54
+ }, z.core.$strict>;
55
+ command: z.ZodString;
56
+ flags: z.ZodArray<z.ZodString>;
57
+ durationMs: z.ZodNumber;
58
+ exitCode: z.ZodNumber;
59
+ status: z.ZodOptional<z.ZodString>;
60
+ failureCode: z.ZodOptional<z.ZodEnum<{
61
+ UI_BACKEND_UNAVAILABLE: "UI_BACKEND_UNAVAILABLE";
62
+ UI_SNAPSHOT_FAILED: "UI_SNAPSHOT_FAILED";
63
+ UI_SNAPSHOT_INVALID: "UI_SNAPSHOT_INVALID";
64
+ CONFIG_INVALID: "CONFIG_INVALID";
65
+ ENVIRONMENT_MISSING_TOOL: "ENVIRONMENT_MISSING_TOOL";
66
+ DEVICE_UNAVAILABLE: "DEVICE_UNAVAILABLE";
67
+ RUNTIME_CAPABILITY_MISSING: "RUNTIME_CAPABILITY_MISSING";
68
+ APP_NOT_INSTALLED: "APP_NOT_INSTALLED";
69
+ APP_LAUNCH_FAILED: "APP_LAUNCH_FAILED";
70
+ APP_CRASHED: "APP_CRASHED";
71
+ LOCATOR_NOT_FOUND: "LOCATOR_NOT_FOUND";
72
+ LOCATOR_AMBIGUOUS: "LOCATOR_AMBIGUOUS";
73
+ ANCHOR_NOT_FOUND: "ANCHOR_NOT_FOUND";
74
+ ANCHOR_AMBIGUOUS: "ANCHOR_AMBIGUOUS";
75
+ SCROLL_TARGET_NOT_FOUND: "SCROLL_TARGET_NOT_FOUND";
76
+ ACTION_FAILED: "ACTION_FAILED";
77
+ IDLE_TIMEOUT: "IDLE_TIMEOUT";
78
+ ACTIVITY_BEFORE_MISMATCH: "ACTIVITY_BEFORE_MISMATCH";
79
+ ACTIVITY_AFTER_MISMATCH: "ACTIVITY_AFTER_MISMATCH";
80
+ EXPECT_ACTIVITY_FAILED: "EXPECT_ACTIVITY_FAILED";
81
+ EXPECT_ELEMENT_FAILED: "EXPECT_ELEMENT_FAILED";
82
+ EXPECT_LOGCAT_FAILED: "EXPECT_LOGCAT_FAILED";
83
+ EXPECT_LOGCAT_AMBIGUOUS: "EXPECT_LOGCAT_AMBIGUOUS";
84
+ BRIDGE_NO_ESCAPE: "BRIDGE_NO_ESCAPE";
85
+ BRIDGE_NOT_RETURNED: "BRIDGE_NOT_RETURNED";
86
+ WAIT_TIMEOUT: "WAIT_TIMEOUT";
87
+ DEVICE_ROLE_UNMAPPED: "DEVICE_ROLE_UNMAPPED";
88
+ EXTERNAL_FLOW_NOT_FOUND: "EXTERNAL_FLOW_NOT_FOUND";
89
+ EXTERNAL_FLOW_STALE: "EXTERNAL_FLOW_STALE";
90
+ EXTERNAL_LOCATOR_STRICTNESS: "EXTERNAL_LOCATOR_STRICTNESS";
91
+ EXTERNAL_PACKAGE_MISMATCH: "EXTERNAL_PACKAGE_MISMATCH";
92
+ EXTERNAL_ACTIVITY_MISMATCH: "EXTERNAL_ACTIVITY_MISMATCH";
93
+ EXTERNAL_STEP_FAILED: "EXTERNAL_STEP_FAILED";
94
+ CONTEXT_INVALID: "CONTEXT_INVALID";
95
+ CONTEXT_STALE: "CONTEXT_STALE";
96
+ BRIEF_INVALID: "BRIEF_INVALID";
97
+ CONTEXT_MODULE_NOT_FOUND: "CONTEXT_MODULE_NOT_FOUND";
98
+ CONTEXT_MODULE_INCOMPLETE: "CONTEXT_MODULE_INCOMPLETE";
99
+ CONTEXT_SCHEMA_INVALID: "CONTEXT_SCHEMA_INVALID";
100
+ CONTEXT_IDENTITY_MISMATCH: "CONTEXT_IDENTITY_MISMATCH";
101
+ PROJECT_ROOT_UNREADABLE: "PROJECT_ROOT_UNREADABLE";
102
+ PROJECT_ROOT_NOT_DIRECTORY: "PROJECT_ROOT_NOT_DIRECTORY";
103
+ EVIDENCE_SECRET_PATH: "EVIDENCE_SECRET_PATH";
104
+ EVIDENCE_NOT_FOUND: "EVIDENCE_NOT_FOUND";
105
+ EVIDENCE_UNREADABLE: "EVIDENCE_UNREADABLE";
106
+ EVIDENCE_NOT_FILE: "EVIDENCE_NOT_FILE";
107
+ EVIDENCE_PATH_ESCAPE: "EVIDENCE_PATH_ESCAPE";
108
+ EVIDENCE_CHANGED_IDENTITY: "EVIDENCE_CHANGED_IDENTITY";
109
+ EVIDENCE_TOO_LARGE: "EVIDENCE_TOO_LARGE";
110
+ EVIDENCE_HASH_MISMATCH: "EVIDENCE_HASH_MISMATCH";
111
+ MANUAL_STEP_REQUIRED: "MANUAL_STEP_REQUIRED";
112
+ ALIGN_DEVICE_UNAVAILABLE: "ALIGN_DEVICE_UNAVAILABLE";
113
+ ALIGN_CAMERA_INTENT_FAILED: "ALIGN_CAMERA_INTENT_FAILED";
114
+ ALIGN_CAMERA_NOT_LAUNCHED: "ALIGN_CAMERA_NOT_LAUNCHED";
115
+ ALIGN_SHUTTER_NOT_FOUND: "ALIGN_SHUTTER_NOT_FOUND";
116
+ ALIGN_SHUTTER_AMBIGUOUS: "ALIGN_SHUTTER_AMBIGUOUS";
117
+ ALIGN_SHUTTER_NO_RESOURCE_ID: "ALIGN_SHUTTER_NO_RESOURCE_ID";
118
+ ALIGN_CONFIRM_NOT_FOUND: "ALIGN_CONFIRM_NOT_FOUND";
119
+ ALIGN_CONFIRM_AMBIGUOUS: "ALIGN_CONFIRM_AMBIGUOUS";
120
+ ALIGN_CONFIRM_NO_RESOURCE_ID: "ALIGN_CONFIRM_NO_RESOURCE_ID";
121
+ ALIGN_FLOW_EXISTS: "ALIGN_FLOW_EXISTS";
122
+ CONTRACT_INVALID: "CONTRACT_INVALID";
123
+ CONTRACT_JOURNEY_MISSING: "CONTRACT_JOURNEY_MISSING";
124
+ CONTRACT_JOURNEY_DRIFT: "CONTRACT_JOURNEY_DRIFT";
125
+ CONTRACT_EVIDENCE_INSUFFICIENT: "CONTRACT_EVIDENCE_INSUFFICIENT";
126
+ CONTRACT_KNOWLEDGE_UNAVAILABLE: "CONTRACT_KNOWLEDGE_UNAVAILABLE";
127
+ REPLAY_POLICY_UNAVAILABLE: "REPLAY_POLICY_UNAVAILABLE";
128
+ CHECKPOINT_FAILED: "CHECKPOINT_FAILED";
129
+ CHECKPOINT_UNRESOLVED: "CHECKPOINT_UNRESOLVED";
130
+ BASELINE_INCOMPARABLE: "BASELINE_INCOMPARABLE";
131
+ BASELINE_EMPTY: "BASELINE_EMPTY";
132
+ GIT_ROOT_NOT_FOUND: "GIT_ROOT_NOT_FOUND";
133
+ GIT_REF_INVALID: "GIT_REF_INVALID";
134
+ COLLECTION_FAILED: "COLLECTION_FAILED";
135
+ INTERNAL_ERROR: "INTERNAL_ERROR";
136
+ }>>;
137
+ runId: z.ZodOptional<z.ZodString>;
138
+ ui: z.ZodArray<z.ZodObject<{
139
+ backend: z.ZodEnum<{
140
+ "system-uiautomator": "system-uiautomator";
141
+ "android-cli": "android-cli";
142
+ "appium-uiautomator2": "appium-uiautomator2";
143
+ "mobile-mcp": "mobile-mcp";
144
+ }>;
145
+ captures: z.ZodNumber;
146
+ failures: z.ZodObject<{
147
+ timeout: z.ZodNumber;
148
+ cancelled: z.ZodNumber;
149
+ http4xx: z.ZodNumber;
150
+ http5xx: z.ZodNumber;
151
+ error: z.ZodNumber;
152
+ }, z.core.$strict>;
153
+ totalMs: z.ZodNumber;
154
+ maxMs: z.ZodNumber;
155
+ latencyBuckets: z.ZodArray<z.ZodNumber>;
156
+ sessionRecoveries: z.ZodNumber;
157
+ sessionRecoveryFailures: z.ZodNumber;
158
+ }, z.core.$strict>>;
159
+ }, z.core.$strict>;
160
+ export type CommandEvent = z.infer<typeof CommandEventSchema>;
161
+ export declare const StepSummarySchema: z.ZodObject<{
162
+ index: z.ZodNumber;
163
+ action: z.ZodEnum<{
164
+ swipe: "swipe";
165
+ click: "click";
166
+ longClick: "longClick";
167
+ inputText: "inputText";
168
+ scrollTo: "scrollTo";
169
+ back: "back";
170
+ wait: "wait";
171
+ bridge: "bridge";
172
+ }>;
173
+ status: z.ZodEnum<{
174
+ passed: "passed";
175
+ failed: "failed";
176
+ notRun: "notRun";
177
+ manualRequired: "manualRequired";
178
+ }>;
179
+ device: z.ZodOptional<z.ZodString>;
180
+ durationMs: z.ZodNumber;
181
+ locator: z.ZodOptional<z.ZodObject<{
182
+ status: z.ZodEnum<{
183
+ failed: "failed";
184
+ notRun: "notRun";
185
+ found: "found";
186
+ }>;
187
+ matchedBy: z.ZodOptional<z.ZodEnum<{
188
+ anchor: "anchor";
189
+ resourceId: "resourceId";
190
+ text: "text";
191
+ contentDescription: "contentDescription";
192
+ }>>;
193
+ requestedFields: z.ZodArray<z.ZodEnum<{
194
+ resourceId: "resourceId";
195
+ text: "text";
196
+ contentDescription: "contentDescription";
197
+ index: "index";
198
+ within: "within";
199
+ }>>;
200
+ locatorId: z.ZodOptional<z.ZodString>;
201
+ anchorStatus: z.ZodOptional<z.ZodEnum<{
202
+ failed: "failed";
203
+ resolved: "resolved";
204
+ locatorFallback: "locatorFallback";
205
+ }>>;
206
+ fallbackUsed: z.ZodBoolean;
207
+ }, z.core.$strict>>;
208
+ idle: z.ZodOptional<z.ZodObject<{
209
+ status: z.ZodEnum<{
210
+ cancelled: "cancelled";
211
+ timeout: "timeout";
212
+ notRun: "notRun";
213
+ stable: "stable";
214
+ }>;
215
+ polls: z.ZodNumber;
216
+ durationMs: z.ZodOptional<z.ZodNumber>;
217
+ samplingDurationMs: z.ZodOptional<z.ZodNumber>;
218
+ strategy: z.ZodOptional<z.ZodEnum<{
219
+ frameStats: "frameStats";
220
+ hybrid: "hybrid";
221
+ layoutDiff: "layoutDiff";
222
+ structural: "structural";
223
+ }>>;
224
+ backend: z.ZodOptional<z.ZodEnum<{
225
+ uiautomator: "uiautomator";
226
+ androidCli: "androidCli";
227
+ gfxFrameStats: "gfxFrameStats";
228
+ mobileMcp: "mobileMcp";
229
+ }>>;
230
+ fallbackUsed: z.ZodOptional<z.ZodBoolean>;
231
+ frameActivityDetected: z.ZodOptional<z.ZodBoolean>;
232
+ lastDiffCount: z.ZodOptional<z.ZodNumber>;
233
+ }, z.core.$strict>>;
234
+ activity: z.ZodOptional<z.ZodObject<{
235
+ before: z.ZodObject<{
236
+ status: z.ZodEnum<{
237
+ passed: "passed";
238
+ failed: "failed";
239
+ notRun: "notRun";
240
+ manualRequired: "manualRequired";
241
+ }>;
242
+ expected: z.ZodString;
243
+ actual: z.ZodOptional<z.ZodString>;
244
+ }, z.core.$strict>;
245
+ after: z.ZodObject<{
246
+ status: z.ZodEnum<{
247
+ passed: "passed";
248
+ failed: "failed";
249
+ notRun: "notRun";
250
+ manualRequired: "manualRequired";
251
+ }>;
252
+ expected: z.ZodString;
253
+ actual: z.ZodOptional<z.ZodString>;
254
+ }, z.core.$strict>;
255
+ }, z.core.$strict>>;
256
+ expectation: z.ZodOptional<z.ZodObject<{
257
+ type: z.ZodEnum<{
258
+ activity: "activity";
259
+ logcat: "logcat";
260
+ element: "element";
261
+ logcatEvent: "logcatEvent";
262
+ }>;
263
+ status: z.ZodEnum<{
264
+ passed: "passed";
265
+ failed: "failed";
266
+ notRun: "notRun";
267
+ manualRequired: "manualRequired";
268
+ }>;
269
+ code: z.ZodOptional<z.ZodEnum<{
270
+ UI_BACKEND_UNAVAILABLE: "UI_BACKEND_UNAVAILABLE";
271
+ UI_SNAPSHOT_FAILED: "UI_SNAPSHOT_FAILED";
272
+ UI_SNAPSHOT_INVALID: "UI_SNAPSHOT_INVALID";
273
+ CONFIG_INVALID: "CONFIG_INVALID";
274
+ ENVIRONMENT_MISSING_TOOL: "ENVIRONMENT_MISSING_TOOL";
275
+ DEVICE_UNAVAILABLE: "DEVICE_UNAVAILABLE";
276
+ RUNTIME_CAPABILITY_MISSING: "RUNTIME_CAPABILITY_MISSING";
277
+ APP_NOT_INSTALLED: "APP_NOT_INSTALLED";
278
+ APP_LAUNCH_FAILED: "APP_LAUNCH_FAILED";
279
+ APP_CRASHED: "APP_CRASHED";
280
+ LOCATOR_NOT_FOUND: "LOCATOR_NOT_FOUND";
281
+ LOCATOR_AMBIGUOUS: "LOCATOR_AMBIGUOUS";
282
+ ANCHOR_NOT_FOUND: "ANCHOR_NOT_FOUND";
283
+ ANCHOR_AMBIGUOUS: "ANCHOR_AMBIGUOUS";
284
+ SCROLL_TARGET_NOT_FOUND: "SCROLL_TARGET_NOT_FOUND";
285
+ ACTION_FAILED: "ACTION_FAILED";
286
+ IDLE_TIMEOUT: "IDLE_TIMEOUT";
287
+ ACTIVITY_BEFORE_MISMATCH: "ACTIVITY_BEFORE_MISMATCH";
288
+ ACTIVITY_AFTER_MISMATCH: "ACTIVITY_AFTER_MISMATCH";
289
+ EXPECT_ACTIVITY_FAILED: "EXPECT_ACTIVITY_FAILED";
290
+ EXPECT_ELEMENT_FAILED: "EXPECT_ELEMENT_FAILED";
291
+ EXPECT_LOGCAT_FAILED: "EXPECT_LOGCAT_FAILED";
292
+ EXPECT_LOGCAT_AMBIGUOUS: "EXPECT_LOGCAT_AMBIGUOUS";
293
+ BRIDGE_NO_ESCAPE: "BRIDGE_NO_ESCAPE";
294
+ BRIDGE_NOT_RETURNED: "BRIDGE_NOT_RETURNED";
295
+ WAIT_TIMEOUT: "WAIT_TIMEOUT";
296
+ DEVICE_ROLE_UNMAPPED: "DEVICE_ROLE_UNMAPPED";
297
+ EXTERNAL_FLOW_NOT_FOUND: "EXTERNAL_FLOW_NOT_FOUND";
298
+ EXTERNAL_FLOW_STALE: "EXTERNAL_FLOW_STALE";
299
+ EXTERNAL_LOCATOR_STRICTNESS: "EXTERNAL_LOCATOR_STRICTNESS";
300
+ EXTERNAL_PACKAGE_MISMATCH: "EXTERNAL_PACKAGE_MISMATCH";
301
+ EXTERNAL_ACTIVITY_MISMATCH: "EXTERNAL_ACTIVITY_MISMATCH";
302
+ EXTERNAL_STEP_FAILED: "EXTERNAL_STEP_FAILED";
303
+ CONTEXT_INVALID: "CONTEXT_INVALID";
304
+ CONTEXT_STALE: "CONTEXT_STALE";
305
+ BRIEF_INVALID: "BRIEF_INVALID";
306
+ CONTEXT_MODULE_NOT_FOUND: "CONTEXT_MODULE_NOT_FOUND";
307
+ CONTEXT_MODULE_INCOMPLETE: "CONTEXT_MODULE_INCOMPLETE";
308
+ CONTEXT_SCHEMA_INVALID: "CONTEXT_SCHEMA_INVALID";
309
+ CONTEXT_IDENTITY_MISMATCH: "CONTEXT_IDENTITY_MISMATCH";
310
+ PROJECT_ROOT_UNREADABLE: "PROJECT_ROOT_UNREADABLE";
311
+ PROJECT_ROOT_NOT_DIRECTORY: "PROJECT_ROOT_NOT_DIRECTORY";
312
+ EVIDENCE_SECRET_PATH: "EVIDENCE_SECRET_PATH";
313
+ EVIDENCE_NOT_FOUND: "EVIDENCE_NOT_FOUND";
314
+ EVIDENCE_UNREADABLE: "EVIDENCE_UNREADABLE";
315
+ EVIDENCE_NOT_FILE: "EVIDENCE_NOT_FILE";
316
+ EVIDENCE_PATH_ESCAPE: "EVIDENCE_PATH_ESCAPE";
317
+ EVIDENCE_CHANGED_IDENTITY: "EVIDENCE_CHANGED_IDENTITY";
318
+ EVIDENCE_TOO_LARGE: "EVIDENCE_TOO_LARGE";
319
+ EVIDENCE_HASH_MISMATCH: "EVIDENCE_HASH_MISMATCH";
320
+ MANUAL_STEP_REQUIRED: "MANUAL_STEP_REQUIRED";
321
+ ALIGN_DEVICE_UNAVAILABLE: "ALIGN_DEVICE_UNAVAILABLE";
322
+ ALIGN_CAMERA_INTENT_FAILED: "ALIGN_CAMERA_INTENT_FAILED";
323
+ ALIGN_CAMERA_NOT_LAUNCHED: "ALIGN_CAMERA_NOT_LAUNCHED";
324
+ ALIGN_SHUTTER_NOT_FOUND: "ALIGN_SHUTTER_NOT_FOUND";
325
+ ALIGN_SHUTTER_AMBIGUOUS: "ALIGN_SHUTTER_AMBIGUOUS";
326
+ ALIGN_SHUTTER_NO_RESOURCE_ID: "ALIGN_SHUTTER_NO_RESOURCE_ID";
327
+ ALIGN_CONFIRM_NOT_FOUND: "ALIGN_CONFIRM_NOT_FOUND";
328
+ ALIGN_CONFIRM_AMBIGUOUS: "ALIGN_CONFIRM_AMBIGUOUS";
329
+ ALIGN_CONFIRM_NO_RESOURCE_ID: "ALIGN_CONFIRM_NO_RESOURCE_ID";
330
+ ALIGN_FLOW_EXISTS: "ALIGN_FLOW_EXISTS";
331
+ CONTRACT_INVALID: "CONTRACT_INVALID";
332
+ CONTRACT_JOURNEY_MISSING: "CONTRACT_JOURNEY_MISSING";
333
+ CONTRACT_JOURNEY_DRIFT: "CONTRACT_JOURNEY_DRIFT";
334
+ CONTRACT_EVIDENCE_INSUFFICIENT: "CONTRACT_EVIDENCE_INSUFFICIENT";
335
+ CONTRACT_KNOWLEDGE_UNAVAILABLE: "CONTRACT_KNOWLEDGE_UNAVAILABLE";
336
+ REPLAY_POLICY_UNAVAILABLE: "REPLAY_POLICY_UNAVAILABLE";
337
+ CHECKPOINT_FAILED: "CHECKPOINT_FAILED";
338
+ CHECKPOINT_UNRESOLVED: "CHECKPOINT_UNRESOLVED";
339
+ BASELINE_INCOMPARABLE: "BASELINE_INCOMPARABLE";
340
+ BASELINE_EMPTY: "BASELINE_EMPTY";
341
+ GIT_ROOT_NOT_FOUND: "GIT_ROOT_NOT_FOUND";
342
+ GIT_REF_INVALID: "GIT_REF_INVALID";
343
+ COLLECTION_FAILED: "COLLECTION_FAILED";
344
+ INTERNAL_ERROR: "INTERNAL_ERROR";
345
+ }>>;
346
+ }, z.core.$strict>>;
347
+ scroll: z.ZodOptional<z.ZodObject<{
348
+ swipesUsed: z.ZodNumber;
349
+ maxSwipes: z.ZodNumber;
350
+ }, z.core.$strict>>;
351
+ }, z.core.$strict>;
352
+ export type StepSummary = z.infer<typeof StepSummarySchema>;
353
+ export declare const RunSummarySchema: z.ZodObject<{
354
+ run: z.ZodString;
355
+ status: z.ZodEnum<{
356
+ error: "error";
357
+ passed: "passed";
358
+ failed: "failed";
359
+ manualRequired: "manualRequired";
360
+ }>;
361
+ durationMs: z.ZodNumber;
362
+ journey: z.ZodString;
363
+ devices: z.ZodArray<z.ZodObject<{
364
+ device: z.ZodString;
365
+ uiBackend: z.ZodOptional<z.ZodObject<{
366
+ id: z.ZodEnum<{
367
+ "system-uiautomator": "system-uiautomator";
368
+ "android-cli": "android-cli";
369
+ "appium-uiautomator2": "appium-uiautomator2";
370
+ "mobile-mcp": "mobile-mcp";
371
+ }>;
372
+ adapterVersion: z.ZodString;
373
+ engineVersion: z.ZodOptional<z.ZodString>;
374
+ }, z.core.$strict>>;
375
+ uiCache: z.ZodOptional<z.ZodObject<{
376
+ hits: z.ZodNumber;
377
+ misses: z.ZodNumber;
378
+ stale: z.ZodNumber;
379
+ relearns: z.ZodNumber;
380
+ capturesSaved: z.ZodNumber;
381
+ validationDurationMs: z.ZodNumber;
382
+ }, z.core.$strict>>;
383
+ }, z.core.$strict>>;
384
+ tools: z.ZodRecord<z.ZodEnum<{
385
+ adb: "adb";
386
+ node: "node";
387
+ android: "android";
388
+ }> & z.core.$partial, z.ZodString>;
389
+ layers: z.ZodObject<{
390
+ run: z.ZodEnum<{
391
+ passed: "passed";
392
+ failed: "failed";
393
+ notRun: "notRun";
394
+ manualRequired: "manualRequired";
395
+ }>;
396
+ structural: z.ZodEnum<{
397
+ passed: "passed";
398
+ failed: "failed";
399
+ notRun: "notRun";
400
+ manualRequired: "manualRequired";
401
+ }>;
402
+ activityCheckpoint: z.ZodEnum<{
403
+ passed: "passed";
404
+ failed: "failed";
405
+ notRun: "notRun";
406
+ manualRequired: "manualRequired";
407
+ }>;
408
+ explicitExpect: z.ZodEnum<{
409
+ passed: "passed";
410
+ failed: "failed";
411
+ notRun: "notRun";
412
+ manualRequired: "manualRequired";
413
+ }>;
414
+ collection: z.ZodEnum<{
415
+ passed: "passed";
416
+ failed: "failed";
417
+ notRun: "notRun";
418
+ manualRequired: "manualRequired";
419
+ }>;
420
+ }, z.core.$strict>;
421
+ primaryFailure: z.ZodOptional<z.ZodObject<{
422
+ code: z.ZodEnum<{
423
+ UI_BACKEND_UNAVAILABLE: "UI_BACKEND_UNAVAILABLE";
424
+ UI_SNAPSHOT_FAILED: "UI_SNAPSHOT_FAILED";
425
+ UI_SNAPSHOT_INVALID: "UI_SNAPSHOT_INVALID";
426
+ CONFIG_INVALID: "CONFIG_INVALID";
427
+ ENVIRONMENT_MISSING_TOOL: "ENVIRONMENT_MISSING_TOOL";
428
+ DEVICE_UNAVAILABLE: "DEVICE_UNAVAILABLE";
429
+ RUNTIME_CAPABILITY_MISSING: "RUNTIME_CAPABILITY_MISSING";
430
+ APP_NOT_INSTALLED: "APP_NOT_INSTALLED";
431
+ APP_LAUNCH_FAILED: "APP_LAUNCH_FAILED";
432
+ APP_CRASHED: "APP_CRASHED";
433
+ LOCATOR_NOT_FOUND: "LOCATOR_NOT_FOUND";
434
+ LOCATOR_AMBIGUOUS: "LOCATOR_AMBIGUOUS";
435
+ ANCHOR_NOT_FOUND: "ANCHOR_NOT_FOUND";
436
+ ANCHOR_AMBIGUOUS: "ANCHOR_AMBIGUOUS";
437
+ SCROLL_TARGET_NOT_FOUND: "SCROLL_TARGET_NOT_FOUND";
438
+ ACTION_FAILED: "ACTION_FAILED";
439
+ IDLE_TIMEOUT: "IDLE_TIMEOUT";
440
+ ACTIVITY_BEFORE_MISMATCH: "ACTIVITY_BEFORE_MISMATCH";
441
+ ACTIVITY_AFTER_MISMATCH: "ACTIVITY_AFTER_MISMATCH";
442
+ EXPECT_ACTIVITY_FAILED: "EXPECT_ACTIVITY_FAILED";
443
+ EXPECT_ELEMENT_FAILED: "EXPECT_ELEMENT_FAILED";
444
+ EXPECT_LOGCAT_FAILED: "EXPECT_LOGCAT_FAILED";
445
+ EXPECT_LOGCAT_AMBIGUOUS: "EXPECT_LOGCAT_AMBIGUOUS";
446
+ BRIDGE_NO_ESCAPE: "BRIDGE_NO_ESCAPE";
447
+ BRIDGE_NOT_RETURNED: "BRIDGE_NOT_RETURNED";
448
+ WAIT_TIMEOUT: "WAIT_TIMEOUT";
449
+ DEVICE_ROLE_UNMAPPED: "DEVICE_ROLE_UNMAPPED";
450
+ EXTERNAL_FLOW_NOT_FOUND: "EXTERNAL_FLOW_NOT_FOUND";
451
+ EXTERNAL_FLOW_STALE: "EXTERNAL_FLOW_STALE";
452
+ EXTERNAL_LOCATOR_STRICTNESS: "EXTERNAL_LOCATOR_STRICTNESS";
453
+ EXTERNAL_PACKAGE_MISMATCH: "EXTERNAL_PACKAGE_MISMATCH";
454
+ EXTERNAL_ACTIVITY_MISMATCH: "EXTERNAL_ACTIVITY_MISMATCH";
455
+ EXTERNAL_STEP_FAILED: "EXTERNAL_STEP_FAILED";
456
+ CONTEXT_INVALID: "CONTEXT_INVALID";
457
+ CONTEXT_STALE: "CONTEXT_STALE";
458
+ BRIEF_INVALID: "BRIEF_INVALID";
459
+ CONTEXT_MODULE_NOT_FOUND: "CONTEXT_MODULE_NOT_FOUND";
460
+ CONTEXT_MODULE_INCOMPLETE: "CONTEXT_MODULE_INCOMPLETE";
461
+ CONTEXT_SCHEMA_INVALID: "CONTEXT_SCHEMA_INVALID";
462
+ CONTEXT_IDENTITY_MISMATCH: "CONTEXT_IDENTITY_MISMATCH";
463
+ PROJECT_ROOT_UNREADABLE: "PROJECT_ROOT_UNREADABLE";
464
+ PROJECT_ROOT_NOT_DIRECTORY: "PROJECT_ROOT_NOT_DIRECTORY";
465
+ EVIDENCE_SECRET_PATH: "EVIDENCE_SECRET_PATH";
466
+ EVIDENCE_NOT_FOUND: "EVIDENCE_NOT_FOUND";
467
+ EVIDENCE_UNREADABLE: "EVIDENCE_UNREADABLE";
468
+ EVIDENCE_NOT_FILE: "EVIDENCE_NOT_FILE";
469
+ EVIDENCE_PATH_ESCAPE: "EVIDENCE_PATH_ESCAPE";
470
+ EVIDENCE_CHANGED_IDENTITY: "EVIDENCE_CHANGED_IDENTITY";
471
+ EVIDENCE_TOO_LARGE: "EVIDENCE_TOO_LARGE";
472
+ EVIDENCE_HASH_MISMATCH: "EVIDENCE_HASH_MISMATCH";
473
+ MANUAL_STEP_REQUIRED: "MANUAL_STEP_REQUIRED";
474
+ ALIGN_DEVICE_UNAVAILABLE: "ALIGN_DEVICE_UNAVAILABLE";
475
+ ALIGN_CAMERA_INTENT_FAILED: "ALIGN_CAMERA_INTENT_FAILED";
476
+ ALIGN_CAMERA_NOT_LAUNCHED: "ALIGN_CAMERA_NOT_LAUNCHED";
477
+ ALIGN_SHUTTER_NOT_FOUND: "ALIGN_SHUTTER_NOT_FOUND";
478
+ ALIGN_SHUTTER_AMBIGUOUS: "ALIGN_SHUTTER_AMBIGUOUS";
479
+ ALIGN_SHUTTER_NO_RESOURCE_ID: "ALIGN_SHUTTER_NO_RESOURCE_ID";
480
+ ALIGN_CONFIRM_NOT_FOUND: "ALIGN_CONFIRM_NOT_FOUND";
481
+ ALIGN_CONFIRM_AMBIGUOUS: "ALIGN_CONFIRM_AMBIGUOUS";
482
+ ALIGN_CONFIRM_NO_RESOURCE_ID: "ALIGN_CONFIRM_NO_RESOURCE_ID";
483
+ ALIGN_FLOW_EXISTS: "ALIGN_FLOW_EXISTS";
484
+ CONTRACT_INVALID: "CONTRACT_INVALID";
485
+ CONTRACT_JOURNEY_MISSING: "CONTRACT_JOURNEY_MISSING";
486
+ CONTRACT_JOURNEY_DRIFT: "CONTRACT_JOURNEY_DRIFT";
487
+ CONTRACT_EVIDENCE_INSUFFICIENT: "CONTRACT_EVIDENCE_INSUFFICIENT";
488
+ CONTRACT_KNOWLEDGE_UNAVAILABLE: "CONTRACT_KNOWLEDGE_UNAVAILABLE";
489
+ REPLAY_POLICY_UNAVAILABLE: "REPLAY_POLICY_UNAVAILABLE";
490
+ CHECKPOINT_FAILED: "CHECKPOINT_FAILED";
491
+ CHECKPOINT_UNRESOLVED: "CHECKPOINT_UNRESOLVED";
492
+ BASELINE_INCOMPARABLE: "BASELINE_INCOMPARABLE";
493
+ BASELINE_EMPTY: "BASELINE_EMPTY";
494
+ GIT_ROOT_NOT_FOUND: "GIT_ROOT_NOT_FOUND";
495
+ GIT_REF_INVALID: "GIT_REF_INVALID";
496
+ COLLECTION_FAILED: "COLLECTION_FAILED";
497
+ INTERNAL_ERROR: "INTERNAL_ERROR";
498
+ }>;
499
+ phase: z.ZodString;
500
+ stepIndex: z.ZodOptional<z.ZodNumber>;
501
+ }, z.core.$strict>>;
502
+ secondaryErrorCodes: z.ZodArray<z.ZodEnum<{
503
+ UI_BACKEND_UNAVAILABLE: "UI_BACKEND_UNAVAILABLE";
504
+ UI_SNAPSHOT_FAILED: "UI_SNAPSHOT_FAILED";
505
+ UI_SNAPSHOT_INVALID: "UI_SNAPSHOT_INVALID";
506
+ CONFIG_INVALID: "CONFIG_INVALID";
507
+ ENVIRONMENT_MISSING_TOOL: "ENVIRONMENT_MISSING_TOOL";
508
+ DEVICE_UNAVAILABLE: "DEVICE_UNAVAILABLE";
509
+ RUNTIME_CAPABILITY_MISSING: "RUNTIME_CAPABILITY_MISSING";
510
+ APP_NOT_INSTALLED: "APP_NOT_INSTALLED";
511
+ APP_LAUNCH_FAILED: "APP_LAUNCH_FAILED";
512
+ APP_CRASHED: "APP_CRASHED";
513
+ LOCATOR_NOT_FOUND: "LOCATOR_NOT_FOUND";
514
+ LOCATOR_AMBIGUOUS: "LOCATOR_AMBIGUOUS";
515
+ ANCHOR_NOT_FOUND: "ANCHOR_NOT_FOUND";
516
+ ANCHOR_AMBIGUOUS: "ANCHOR_AMBIGUOUS";
517
+ SCROLL_TARGET_NOT_FOUND: "SCROLL_TARGET_NOT_FOUND";
518
+ ACTION_FAILED: "ACTION_FAILED";
519
+ IDLE_TIMEOUT: "IDLE_TIMEOUT";
520
+ ACTIVITY_BEFORE_MISMATCH: "ACTIVITY_BEFORE_MISMATCH";
521
+ ACTIVITY_AFTER_MISMATCH: "ACTIVITY_AFTER_MISMATCH";
522
+ EXPECT_ACTIVITY_FAILED: "EXPECT_ACTIVITY_FAILED";
523
+ EXPECT_ELEMENT_FAILED: "EXPECT_ELEMENT_FAILED";
524
+ EXPECT_LOGCAT_FAILED: "EXPECT_LOGCAT_FAILED";
525
+ EXPECT_LOGCAT_AMBIGUOUS: "EXPECT_LOGCAT_AMBIGUOUS";
526
+ BRIDGE_NO_ESCAPE: "BRIDGE_NO_ESCAPE";
527
+ BRIDGE_NOT_RETURNED: "BRIDGE_NOT_RETURNED";
528
+ WAIT_TIMEOUT: "WAIT_TIMEOUT";
529
+ DEVICE_ROLE_UNMAPPED: "DEVICE_ROLE_UNMAPPED";
530
+ EXTERNAL_FLOW_NOT_FOUND: "EXTERNAL_FLOW_NOT_FOUND";
531
+ EXTERNAL_FLOW_STALE: "EXTERNAL_FLOW_STALE";
532
+ EXTERNAL_LOCATOR_STRICTNESS: "EXTERNAL_LOCATOR_STRICTNESS";
533
+ EXTERNAL_PACKAGE_MISMATCH: "EXTERNAL_PACKAGE_MISMATCH";
534
+ EXTERNAL_ACTIVITY_MISMATCH: "EXTERNAL_ACTIVITY_MISMATCH";
535
+ EXTERNAL_STEP_FAILED: "EXTERNAL_STEP_FAILED";
536
+ CONTEXT_INVALID: "CONTEXT_INVALID";
537
+ CONTEXT_STALE: "CONTEXT_STALE";
538
+ BRIEF_INVALID: "BRIEF_INVALID";
539
+ CONTEXT_MODULE_NOT_FOUND: "CONTEXT_MODULE_NOT_FOUND";
540
+ CONTEXT_MODULE_INCOMPLETE: "CONTEXT_MODULE_INCOMPLETE";
541
+ CONTEXT_SCHEMA_INVALID: "CONTEXT_SCHEMA_INVALID";
542
+ CONTEXT_IDENTITY_MISMATCH: "CONTEXT_IDENTITY_MISMATCH";
543
+ PROJECT_ROOT_UNREADABLE: "PROJECT_ROOT_UNREADABLE";
544
+ PROJECT_ROOT_NOT_DIRECTORY: "PROJECT_ROOT_NOT_DIRECTORY";
545
+ EVIDENCE_SECRET_PATH: "EVIDENCE_SECRET_PATH";
546
+ EVIDENCE_NOT_FOUND: "EVIDENCE_NOT_FOUND";
547
+ EVIDENCE_UNREADABLE: "EVIDENCE_UNREADABLE";
548
+ EVIDENCE_NOT_FILE: "EVIDENCE_NOT_FILE";
549
+ EVIDENCE_PATH_ESCAPE: "EVIDENCE_PATH_ESCAPE";
550
+ EVIDENCE_CHANGED_IDENTITY: "EVIDENCE_CHANGED_IDENTITY";
551
+ EVIDENCE_TOO_LARGE: "EVIDENCE_TOO_LARGE";
552
+ EVIDENCE_HASH_MISMATCH: "EVIDENCE_HASH_MISMATCH";
553
+ MANUAL_STEP_REQUIRED: "MANUAL_STEP_REQUIRED";
554
+ ALIGN_DEVICE_UNAVAILABLE: "ALIGN_DEVICE_UNAVAILABLE";
555
+ ALIGN_CAMERA_INTENT_FAILED: "ALIGN_CAMERA_INTENT_FAILED";
556
+ ALIGN_CAMERA_NOT_LAUNCHED: "ALIGN_CAMERA_NOT_LAUNCHED";
557
+ ALIGN_SHUTTER_NOT_FOUND: "ALIGN_SHUTTER_NOT_FOUND";
558
+ ALIGN_SHUTTER_AMBIGUOUS: "ALIGN_SHUTTER_AMBIGUOUS";
559
+ ALIGN_SHUTTER_NO_RESOURCE_ID: "ALIGN_SHUTTER_NO_RESOURCE_ID";
560
+ ALIGN_CONFIRM_NOT_FOUND: "ALIGN_CONFIRM_NOT_FOUND";
561
+ ALIGN_CONFIRM_AMBIGUOUS: "ALIGN_CONFIRM_AMBIGUOUS";
562
+ ALIGN_CONFIRM_NO_RESOURCE_ID: "ALIGN_CONFIRM_NO_RESOURCE_ID";
563
+ ALIGN_FLOW_EXISTS: "ALIGN_FLOW_EXISTS";
564
+ CONTRACT_INVALID: "CONTRACT_INVALID";
565
+ CONTRACT_JOURNEY_MISSING: "CONTRACT_JOURNEY_MISSING";
566
+ CONTRACT_JOURNEY_DRIFT: "CONTRACT_JOURNEY_DRIFT";
567
+ CONTRACT_EVIDENCE_INSUFFICIENT: "CONTRACT_EVIDENCE_INSUFFICIENT";
568
+ CONTRACT_KNOWLEDGE_UNAVAILABLE: "CONTRACT_KNOWLEDGE_UNAVAILABLE";
569
+ REPLAY_POLICY_UNAVAILABLE: "REPLAY_POLICY_UNAVAILABLE";
570
+ CHECKPOINT_FAILED: "CHECKPOINT_FAILED";
571
+ CHECKPOINT_UNRESOLVED: "CHECKPOINT_UNRESOLVED";
572
+ BASELINE_INCOMPARABLE: "BASELINE_INCOMPARABLE";
573
+ BASELINE_EMPTY: "BASELINE_EMPTY";
574
+ GIT_ROOT_NOT_FOUND: "GIT_ROOT_NOT_FOUND";
575
+ GIT_REF_INVALID: "GIT_REF_INVALID";
576
+ COLLECTION_FAILED: "COLLECTION_FAILED";
577
+ INTERNAL_ERROR: "INTERNAL_ERROR";
578
+ }>>;
579
+ fallbackUsed: z.ZodBoolean;
580
+ logcatEvidence: z.ZodArray<z.ZodObject<{
581
+ device: z.ZodString;
582
+ droppedLines: z.ZodNumber;
583
+ droppedBytes: z.ZodNumber;
584
+ }, z.core.$strict>>;
585
+ steps: z.ZodArray<z.ZodObject<{
586
+ index: z.ZodNumber;
587
+ action: z.ZodEnum<{
588
+ swipe: "swipe";
589
+ click: "click";
590
+ longClick: "longClick";
591
+ inputText: "inputText";
592
+ scrollTo: "scrollTo";
593
+ back: "back";
594
+ wait: "wait";
595
+ bridge: "bridge";
596
+ }>;
597
+ status: z.ZodEnum<{
598
+ passed: "passed";
599
+ failed: "failed";
600
+ notRun: "notRun";
601
+ manualRequired: "manualRequired";
602
+ }>;
603
+ device: z.ZodOptional<z.ZodString>;
604
+ durationMs: z.ZodNumber;
605
+ locator: z.ZodOptional<z.ZodObject<{
606
+ status: z.ZodEnum<{
607
+ failed: "failed";
608
+ notRun: "notRun";
609
+ found: "found";
610
+ }>;
611
+ matchedBy: z.ZodOptional<z.ZodEnum<{
612
+ anchor: "anchor";
613
+ resourceId: "resourceId";
614
+ text: "text";
615
+ contentDescription: "contentDescription";
616
+ }>>;
617
+ requestedFields: z.ZodArray<z.ZodEnum<{
618
+ resourceId: "resourceId";
619
+ text: "text";
620
+ contentDescription: "contentDescription";
621
+ index: "index";
622
+ within: "within";
623
+ }>>;
624
+ locatorId: z.ZodOptional<z.ZodString>;
625
+ anchorStatus: z.ZodOptional<z.ZodEnum<{
626
+ failed: "failed";
627
+ resolved: "resolved";
628
+ locatorFallback: "locatorFallback";
629
+ }>>;
630
+ fallbackUsed: z.ZodBoolean;
631
+ }, z.core.$strict>>;
632
+ idle: z.ZodOptional<z.ZodObject<{
633
+ status: z.ZodEnum<{
634
+ cancelled: "cancelled";
635
+ timeout: "timeout";
636
+ notRun: "notRun";
637
+ stable: "stable";
638
+ }>;
639
+ polls: z.ZodNumber;
640
+ durationMs: z.ZodOptional<z.ZodNumber>;
641
+ samplingDurationMs: z.ZodOptional<z.ZodNumber>;
642
+ strategy: z.ZodOptional<z.ZodEnum<{
643
+ frameStats: "frameStats";
644
+ hybrid: "hybrid";
645
+ layoutDiff: "layoutDiff";
646
+ structural: "structural";
647
+ }>>;
648
+ backend: z.ZodOptional<z.ZodEnum<{
649
+ uiautomator: "uiautomator";
650
+ androidCli: "androidCli";
651
+ gfxFrameStats: "gfxFrameStats";
652
+ mobileMcp: "mobileMcp";
653
+ }>>;
654
+ fallbackUsed: z.ZodOptional<z.ZodBoolean>;
655
+ frameActivityDetected: z.ZodOptional<z.ZodBoolean>;
656
+ lastDiffCount: z.ZodOptional<z.ZodNumber>;
657
+ }, z.core.$strict>>;
658
+ activity: z.ZodOptional<z.ZodObject<{
659
+ before: z.ZodObject<{
660
+ status: z.ZodEnum<{
661
+ passed: "passed";
662
+ failed: "failed";
663
+ notRun: "notRun";
664
+ manualRequired: "manualRequired";
665
+ }>;
666
+ expected: z.ZodString;
667
+ actual: z.ZodOptional<z.ZodString>;
668
+ }, z.core.$strict>;
669
+ after: z.ZodObject<{
670
+ status: z.ZodEnum<{
671
+ passed: "passed";
672
+ failed: "failed";
673
+ notRun: "notRun";
674
+ manualRequired: "manualRequired";
675
+ }>;
676
+ expected: z.ZodString;
677
+ actual: z.ZodOptional<z.ZodString>;
678
+ }, z.core.$strict>;
679
+ }, z.core.$strict>>;
680
+ expectation: z.ZodOptional<z.ZodObject<{
681
+ type: z.ZodEnum<{
682
+ activity: "activity";
683
+ logcat: "logcat";
684
+ element: "element";
685
+ logcatEvent: "logcatEvent";
686
+ }>;
687
+ status: z.ZodEnum<{
688
+ passed: "passed";
689
+ failed: "failed";
690
+ notRun: "notRun";
691
+ manualRequired: "manualRequired";
692
+ }>;
693
+ code: z.ZodOptional<z.ZodEnum<{
694
+ UI_BACKEND_UNAVAILABLE: "UI_BACKEND_UNAVAILABLE";
695
+ UI_SNAPSHOT_FAILED: "UI_SNAPSHOT_FAILED";
696
+ UI_SNAPSHOT_INVALID: "UI_SNAPSHOT_INVALID";
697
+ CONFIG_INVALID: "CONFIG_INVALID";
698
+ ENVIRONMENT_MISSING_TOOL: "ENVIRONMENT_MISSING_TOOL";
699
+ DEVICE_UNAVAILABLE: "DEVICE_UNAVAILABLE";
700
+ RUNTIME_CAPABILITY_MISSING: "RUNTIME_CAPABILITY_MISSING";
701
+ APP_NOT_INSTALLED: "APP_NOT_INSTALLED";
702
+ APP_LAUNCH_FAILED: "APP_LAUNCH_FAILED";
703
+ APP_CRASHED: "APP_CRASHED";
704
+ LOCATOR_NOT_FOUND: "LOCATOR_NOT_FOUND";
705
+ LOCATOR_AMBIGUOUS: "LOCATOR_AMBIGUOUS";
706
+ ANCHOR_NOT_FOUND: "ANCHOR_NOT_FOUND";
707
+ ANCHOR_AMBIGUOUS: "ANCHOR_AMBIGUOUS";
708
+ SCROLL_TARGET_NOT_FOUND: "SCROLL_TARGET_NOT_FOUND";
709
+ ACTION_FAILED: "ACTION_FAILED";
710
+ IDLE_TIMEOUT: "IDLE_TIMEOUT";
711
+ ACTIVITY_BEFORE_MISMATCH: "ACTIVITY_BEFORE_MISMATCH";
712
+ ACTIVITY_AFTER_MISMATCH: "ACTIVITY_AFTER_MISMATCH";
713
+ EXPECT_ACTIVITY_FAILED: "EXPECT_ACTIVITY_FAILED";
714
+ EXPECT_ELEMENT_FAILED: "EXPECT_ELEMENT_FAILED";
715
+ EXPECT_LOGCAT_FAILED: "EXPECT_LOGCAT_FAILED";
716
+ EXPECT_LOGCAT_AMBIGUOUS: "EXPECT_LOGCAT_AMBIGUOUS";
717
+ BRIDGE_NO_ESCAPE: "BRIDGE_NO_ESCAPE";
718
+ BRIDGE_NOT_RETURNED: "BRIDGE_NOT_RETURNED";
719
+ WAIT_TIMEOUT: "WAIT_TIMEOUT";
720
+ DEVICE_ROLE_UNMAPPED: "DEVICE_ROLE_UNMAPPED";
721
+ EXTERNAL_FLOW_NOT_FOUND: "EXTERNAL_FLOW_NOT_FOUND";
722
+ EXTERNAL_FLOW_STALE: "EXTERNAL_FLOW_STALE";
723
+ EXTERNAL_LOCATOR_STRICTNESS: "EXTERNAL_LOCATOR_STRICTNESS";
724
+ EXTERNAL_PACKAGE_MISMATCH: "EXTERNAL_PACKAGE_MISMATCH";
725
+ EXTERNAL_ACTIVITY_MISMATCH: "EXTERNAL_ACTIVITY_MISMATCH";
726
+ EXTERNAL_STEP_FAILED: "EXTERNAL_STEP_FAILED";
727
+ CONTEXT_INVALID: "CONTEXT_INVALID";
728
+ CONTEXT_STALE: "CONTEXT_STALE";
729
+ BRIEF_INVALID: "BRIEF_INVALID";
730
+ CONTEXT_MODULE_NOT_FOUND: "CONTEXT_MODULE_NOT_FOUND";
731
+ CONTEXT_MODULE_INCOMPLETE: "CONTEXT_MODULE_INCOMPLETE";
732
+ CONTEXT_SCHEMA_INVALID: "CONTEXT_SCHEMA_INVALID";
733
+ CONTEXT_IDENTITY_MISMATCH: "CONTEXT_IDENTITY_MISMATCH";
734
+ PROJECT_ROOT_UNREADABLE: "PROJECT_ROOT_UNREADABLE";
735
+ PROJECT_ROOT_NOT_DIRECTORY: "PROJECT_ROOT_NOT_DIRECTORY";
736
+ EVIDENCE_SECRET_PATH: "EVIDENCE_SECRET_PATH";
737
+ EVIDENCE_NOT_FOUND: "EVIDENCE_NOT_FOUND";
738
+ EVIDENCE_UNREADABLE: "EVIDENCE_UNREADABLE";
739
+ EVIDENCE_NOT_FILE: "EVIDENCE_NOT_FILE";
740
+ EVIDENCE_PATH_ESCAPE: "EVIDENCE_PATH_ESCAPE";
741
+ EVIDENCE_CHANGED_IDENTITY: "EVIDENCE_CHANGED_IDENTITY";
742
+ EVIDENCE_TOO_LARGE: "EVIDENCE_TOO_LARGE";
743
+ EVIDENCE_HASH_MISMATCH: "EVIDENCE_HASH_MISMATCH";
744
+ MANUAL_STEP_REQUIRED: "MANUAL_STEP_REQUIRED";
745
+ ALIGN_DEVICE_UNAVAILABLE: "ALIGN_DEVICE_UNAVAILABLE";
746
+ ALIGN_CAMERA_INTENT_FAILED: "ALIGN_CAMERA_INTENT_FAILED";
747
+ ALIGN_CAMERA_NOT_LAUNCHED: "ALIGN_CAMERA_NOT_LAUNCHED";
748
+ ALIGN_SHUTTER_NOT_FOUND: "ALIGN_SHUTTER_NOT_FOUND";
749
+ ALIGN_SHUTTER_AMBIGUOUS: "ALIGN_SHUTTER_AMBIGUOUS";
750
+ ALIGN_SHUTTER_NO_RESOURCE_ID: "ALIGN_SHUTTER_NO_RESOURCE_ID";
751
+ ALIGN_CONFIRM_NOT_FOUND: "ALIGN_CONFIRM_NOT_FOUND";
752
+ ALIGN_CONFIRM_AMBIGUOUS: "ALIGN_CONFIRM_AMBIGUOUS";
753
+ ALIGN_CONFIRM_NO_RESOURCE_ID: "ALIGN_CONFIRM_NO_RESOURCE_ID";
754
+ ALIGN_FLOW_EXISTS: "ALIGN_FLOW_EXISTS";
755
+ CONTRACT_INVALID: "CONTRACT_INVALID";
756
+ CONTRACT_JOURNEY_MISSING: "CONTRACT_JOURNEY_MISSING";
757
+ CONTRACT_JOURNEY_DRIFT: "CONTRACT_JOURNEY_DRIFT";
758
+ CONTRACT_EVIDENCE_INSUFFICIENT: "CONTRACT_EVIDENCE_INSUFFICIENT";
759
+ CONTRACT_KNOWLEDGE_UNAVAILABLE: "CONTRACT_KNOWLEDGE_UNAVAILABLE";
760
+ REPLAY_POLICY_UNAVAILABLE: "REPLAY_POLICY_UNAVAILABLE";
761
+ CHECKPOINT_FAILED: "CHECKPOINT_FAILED";
762
+ CHECKPOINT_UNRESOLVED: "CHECKPOINT_UNRESOLVED";
763
+ BASELINE_INCOMPARABLE: "BASELINE_INCOMPARABLE";
764
+ BASELINE_EMPTY: "BASELINE_EMPTY";
765
+ GIT_ROOT_NOT_FOUND: "GIT_ROOT_NOT_FOUND";
766
+ GIT_REF_INVALID: "GIT_REF_INVALID";
767
+ COLLECTION_FAILED: "COLLECTION_FAILED";
768
+ INTERNAL_ERROR: "INTERNAL_ERROR";
769
+ }>>;
770
+ }, z.core.$strict>>;
771
+ scroll: z.ZodOptional<z.ZodObject<{
772
+ swipesUsed: z.ZodNumber;
773
+ maxSwipes: z.ZodNumber;
774
+ }, z.core.$strict>>;
775
+ }, z.core.$strict>>;
776
+ }, z.core.$strict>;
777
+ export type RunSummary = z.infer<typeof RunSummarySchema>;
778
+ export declare const DiagnosticsConfigSummarySchema: z.ZodObject<{
779
+ idle: z.ZodObject<{
780
+ strategy: z.ZodEnum<{
781
+ frameStats: "frameStats";
782
+ hybrid: "hybrid";
783
+ layoutDiff: "layoutDiff";
784
+ structural: "structural";
785
+ }>;
786
+ pollIntervalMs: z.ZodNumber;
787
+ stablePolls: z.ZodNumber;
788
+ timeoutMs: z.ZodNumber;
789
+ ignoreCursorBlink: z.ZodOptional<z.ZodBoolean>;
790
+ ignoreLayoutDrift: z.ZodOptional<z.ZodBoolean>;
791
+ deviceProfiles: z.ZodNumber;
792
+ }, z.core.$strict>;
793
+ ui: z.ZodOptional<z.ZodObject<{
794
+ backend: z.ZodEnum<{
795
+ "system-uiautomator": "system-uiautomator";
796
+ "android-cli": "android-cli";
797
+ "appium-uiautomator2": "appium-uiautomator2";
798
+ auto: "auto";
799
+ }>;
800
+ snapshotTimeoutMs: z.ZodOptional<z.ZodNumber>;
801
+ cacheEnabled: z.ZodOptional<z.ZodBoolean>;
802
+ }, z.core.$strict>>;
803
+ runtime: z.ZodOptional<z.ZodObject<{
804
+ backend: z.ZodEnum<{
805
+ adb: "adb";
806
+ "mobile-mcp": "mobile-mcp";
807
+ auto: "auto";
808
+ }>;
809
+ }, z.core.$strict>>;
810
+ }, z.core.$strict>;
811
+ export declare const DiagnosticsBundleSchema: z.ZodObject<{
812
+ version: z.ZodLiteral<1>;
813
+ generatedAt: z.ZodISODateTime;
814
+ taphoundVersion: z.ZodString;
815
+ host: z.ZodObject<{
816
+ platform: z.ZodString;
817
+ arch: z.ZodString;
818
+ node: z.ZodString;
819
+ }, z.core.$strict>;
820
+ config: z.ZodOptional<z.ZodObject<{
821
+ idle: z.ZodObject<{
822
+ strategy: z.ZodEnum<{
823
+ frameStats: "frameStats";
824
+ hybrid: "hybrid";
825
+ layoutDiff: "layoutDiff";
826
+ structural: "structural";
827
+ }>;
828
+ pollIntervalMs: z.ZodNumber;
829
+ stablePolls: z.ZodNumber;
830
+ timeoutMs: z.ZodNumber;
831
+ ignoreCursorBlink: z.ZodOptional<z.ZodBoolean>;
832
+ ignoreLayoutDrift: z.ZodOptional<z.ZodBoolean>;
833
+ deviceProfiles: z.ZodNumber;
834
+ }, z.core.$strict>;
835
+ ui: z.ZodOptional<z.ZodObject<{
836
+ backend: z.ZodEnum<{
837
+ "system-uiautomator": "system-uiautomator";
838
+ "android-cli": "android-cli";
839
+ "appium-uiautomator2": "appium-uiautomator2";
840
+ auto: "auto";
841
+ }>;
842
+ snapshotTimeoutMs: z.ZodOptional<z.ZodNumber>;
843
+ cacheEnabled: z.ZodOptional<z.ZodBoolean>;
844
+ }, z.core.$strict>>;
845
+ runtime: z.ZodOptional<z.ZodObject<{
846
+ backend: z.ZodEnum<{
847
+ adb: "adb";
848
+ "mobile-mcp": "mobile-mcp";
849
+ auto: "auto";
850
+ }>;
851
+ }, z.core.$strict>>;
852
+ }, z.core.$strict>>;
853
+ journal: z.ZodObject<{
854
+ events: z.ZodArray<z.ZodObject<{
855
+ version: z.ZodLiteral<1>;
856
+ kind: z.ZodLiteral<"command">;
857
+ at: z.ZodISODateTime;
858
+ taphoundVersion: z.ZodString;
859
+ host: z.ZodObject<{
860
+ platform: z.ZodString;
861
+ arch: z.ZodString;
862
+ node: z.ZodString;
863
+ }, z.core.$strict>;
864
+ command: z.ZodString;
865
+ flags: z.ZodArray<z.ZodString>;
866
+ durationMs: z.ZodNumber;
867
+ exitCode: z.ZodNumber;
868
+ status: z.ZodOptional<z.ZodString>;
869
+ failureCode: z.ZodOptional<z.ZodEnum<{
870
+ UI_BACKEND_UNAVAILABLE: "UI_BACKEND_UNAVAILABLE";
871
+ UI_SNAPSHOT_FAILED: "UI_SNAPSHOT_FAILED";
872
+ UI_SNAPSHOT_INVALID: "UI_SNAPSHOT_INVALID";
873
+ CONFIG_INVALID: "CONFIG_INVALID";
874
+ ENVIRONMENT_MISSING_TOOL: "ENVIRONMENT_MISSING_TOOL";
875
+ DEVICE_UNAVAILABLE: "DEVICE_UNAVAILABLE";
876
+ RUNTIME_CAPABILITY_MISSING: "RUNTIME_CAPABILITY_MISSING";
877
+ APP_NOT_INSTALLED: "APP_NOT_INSTALLED";
878
+ APP_LAUNCH_FAILED: "APP_LAUNCH_FAILED";
879
+ APP_CRASHED: "APP_CRASHED";
880
+ LOCATOR_NOT_FOUND: "LOCATOR_NOT_FOUND";
881
+ LOCATOR_AMBIGUOUS: "LOCATOR_AMBIGUOUS";
882
+ ANCHOR_NOT_FOUND: "ANCHOR_NOT_FOUND";
883
+ ANCHOR_AMBIGUOUS: "ANCHOR_AMBIGUOUS";
884
+ SCROLL_TARGET_NOT_FOUND: "SCROLL_TARGET_NOT_FOUND";
885
+ ACTION_FAILED: "ACTION_FAILED";
886
+ IDLE_TIMEOUT: "IDLE_TIMEOUT";
887
+ ACTIVITY_BEFORE_MISMATCH: "ACTIVITY_BEFORE_MISMATCH";
888
+ ACTIVITY_AFTER_MISMATCH: "ACTIVITY_AFTER_MISMATCH";
889
+ EXPECT_ACTIVITY_FAILED: "EXPECT_ACTIVITY_FAILED";
890
+ EXPECT_ELEMENT_FAILED: "EXPECT_ELEMENT_FAILED";
891
+ EXPECT_LOGCAT_FAILED: "EXPECT_LOGCAT_FAILED";
892
+ EXPECT_LOGCAT_AMBIGUOUS: "EXPECT_LOGCAT_AMBIGUOUS";
893
+ BRIDGE_NO_ESCAPE: "BRIDGE_NO_ESCAPE";
894
+ BRIDGE_NOT_RETURNED: "BRIDGE_NOT_RETURNED";
895
+ WAIT_TIMEOUT: "WAIT_TIMEOUT";
896
+ DEVICE_ROLE_UNMAPPED: "DEVICE_ROLE_UNMAPPED";
897
+ EXTERNAL_FLOW_NOT_FOUND: "EXTERNAL_FLOW_NOT_FOUND";
898
+ EXTERNAL_FLOW_STALE: "EXTERNAL_FLOW_STALE";
899
+ EXTERNAL_LOCATOR_STRICTNESS: "EXTERNAL_LOCATOR_STRICTNESS";
900
+ EXTERNAL_PACKAGE_MISMATCH: "EXTERNAL_PACKAGE_MISMATCH";
901
+ EXTERNAL_ACTIVITY_MISMATCH: "EXTERNAL_ACTIVITY_MISMATCH";
902
+ EXTERNAL_STEP_FAILED: "EXTERNAL_STEP_FAILED";
903
+ CONTEXT_INVALID: "CONTEXT_INVALID";
904
+ CONTEXT_STALE: "CONTEXT_STALE";
905
+ BRIEF_INVALID: "BRIEF_INVALID";
906
+ CONTEXT_MODULE_NOT_FOUND: "CONTEXT_MODULE_NOT_FOUND";
907
+ CONTEXT_MODULE_INCOMPLETE: "CONTEXT_MODULE_INCOMPLETE";
908
+ CONTEXT_SCHEMA_INVALID: "CONTEXT_SCHEMA_INVALID";
909
+ CONTEXT_IDENTITY_MISMATCH: "CONTEXT_IDENTITY_MISMATCH";
910
+ PROJECT_ROOT_UNREADABLE: "PROJECT_ROOT_UNREADABLE";
911
+ PROJECT_ROOT_NOT_DIRECTORY: "PROJECT_ROOT_NOT_DIRECTORY";
912
+ EVIDENCE_SECRET_PATH: "EVIDENCE_SECRET_PATH";
913
+ EVIDENCE_NOT_FOUND: "EVIDENCE_NOT_FOUND";
914
+ EVIDENCE_UNREADABLE: "EVIDENCE_UNREADABLE";
915
+ EVIDENCE_NOT_FILE: "EVIDENCE_NOT_FILE";
916
+ EVIDENCE_PATH_ESCAPE: "EVIDENCE_PATH_ESCAPE";
917
+ EVIDENCE_CHANGED_IDENTITY: "EVIDENCE_CHANGED_IDENTITY";
918
+ EVIDENCE_TOO_LARGE: "EVIDENCE_TOO_LARGE";
919
+ EVIDENCE_HASH_MISMATCH: "EVIDENCE_HASH_MISMATCH";
920
+ MANUAL_STEP_REQUIRED: "MANUAL_STEP_REQUIRED";
921
+ ALIGN_DEVICE_UNAVAILABLE: "ALIGN_DEVICE_UNAVAILABLE";
922
+ ALIGN_CAMERA_INTENT_FAILED: "ALIGN_CAMERA_INTENT_FAILED";
923
+ ALIGN_CAMERA_NOT_LAUNCHED: "ALIGN_CAMERA_NOT_LAUNCHED";
924
+ ALIGN_SHUTTER_NOT_FOUND: "ALIGN_SHUTTER_NOT_FOUND";
925
+ ALIGN_SHUTTER_AMBIGUOUS: "ALIGN_SHUTTER_AMBIGUOUS";
926
+ ALIGN_SHUTTER_NO_RESOURCE_ID: "ALIGN_SHUTTER_NO_RESOURCE_ID";
927
+ ALIGN_CONFIRM_NOT_FOUND: "ALIGN_CONFIRM_NOT_FOUND";
928
+ ALIGN_CONFIRM_AMBIGUOUS: "ALIGN_CONFIRM_AMBIGUOUS";
929
+ ALIGN_CONFIRM_NO_RESOURCE_ID: "ALIGN_CONFIRM_NO_RESOURCE_ID";
930
+ ALIGN_FLOW_EXISTS: "ALIGN_FLOW_EXISTS";
931
+ CONTRACT_INVALID: "CONTRACT_INVALID";
932
+ CONTRACT_JOURNEY_MISSING: "CONTRACT_JOURNEY_MISSING";
933
+ CONTRACT_JOURNEY_DRIFT: "CONTRACT_JOURNEY_DRIFT";
934
+ CONTRACT_EVIDENCE_INSUFFICIENT: "CONTRACT_EVIDENCE_INSUFFICIENT";
935
+ CONTRACT_KNOWLEDGE_UNAVAILABLE: "CONTRACT_KNOWLEDGE_UNAVAILABLE";
936
+ REPLAY_POLICY_UNAVAILABLE: "REPLAY_POLICY_UNAVAILABLE";
937
+ CHECKPOINT_FAILED: "CHECKPOINT_FAILED";
938
+ CHECKPOINT_UNRESOLVED: "CHECKPOINT_UNRESOLVED";
939
+ BASELINE_INCOMPARABLE: "BASELINE_INCOMPARABLE";
940
+ BASELINE_EMPTY: "BASELINE_EMPTY";
941
+ GIT_ROOT_NOT_FOUND: "GIT_ROOT_NOT_FOUND";
942
+ GIT_REF_INVALID: "GIT_REF_INVALID";
943
+ COLLECTION_FAILED: "COLLECTION_FAILED";
944
+ INTERNAL_ERROR: "INTERNAL_ERROR";
945
+ }>>;
946
+ ui: z.ZodArray<z.ZodObject<{
947
+ backend: z.ZodEnum<{
948
+ "system-uiautomator": "system-uiautomator";
949
+ "android-cli": "android-cli";
950
+ "appium-uiautomator2": "appium-uiautomator2";
951
+ "mobile-mcp": "mobile-mcp";
952
+ }>;
953
+ captures: z.ZodNumber;
954
+ failures: z.ZodObject<{
955
+ timeout: z.ZodNumber;
956
+ cancelled: z.ZodNumber;
957
+ http4xx: z.ZodNumber;
958
+ http5xx: z.ZodNumber;
959
+ error: z.ZodNumber;
960
+ }, z.core.$strict>;
961
+ totalMs: z.ZodNumber;
962
+ maxMs: z.ZodNumber;
963
+ latencyBuckets: z.ZodArray<z.ZodNumber>;
964
+ sessionRecoveries: z.ZodNumber;
965
+ sessionRecoveryFailures: z.ZodNumber;
966
+ }, z.core.$strict>>;
967
+ runId: z.ZodOptional<z.ZodString>;
968
+ }, z.core.$strict>>;
969
+ skippedLines: z.ZodNumber;
970
+ }, z.core.$strict>;
971
+ runs: z.ZodArray<z.ZodObject<{
972
+ run: z.ZodString;
973
+ status: z.ZodEnum<{
974
+ error: "error";
975
+ passed: "passed";
976
+ failed: "failed";
977
+ manualRequired: "manualRequired";
978
+ }>;
979
+ durationMs: z.ZodNumber;
980
+ journey: z.ZodString;
981
+ devices: z.ZodArray<z.ZodObject<{
982
+ device: z.ZodString;
983
+ uiBackend: z.ZodOptional<z.ZodObject<{
984
+ id: z.ZodEnum<{
985
+ "system-uiautomator": "system-uiautomator";
986
+ "android-cli": "android-cli";
987
+ "appium-uiautomator2": "appium-uiautomator2";
988
+ "mobile-mcp": "mobile-mcp";
989
+ }>;
990
+ adapterVersion: z.ZodString;
991
+ engineVersion: z.ZodOptional<z.ZodString>;
992
+ }, z.core.$strict>>;
993
+ uiCache: z.ZodOptional<z.ZodObject<{
994
+ hits: z.ZodNumber;
995
+ misses: z.ZodNumber;
996
+ stale: z.ZodNumber;
997
+ relearns: z.ZodNumber;
998
+ capturesSaved: z.ZodNumber;
999
+ validationDurationMs: z.ZodNumber;
1000
+ }, z.core.$strict>>;
1001
+ }, z.core.$strict>>;
1002
+ tools: z.ZodRecord<z.ZodEnum<{
1003
+ adb: "adb";
1004
+ node: "node";
1005
+ android: "android";
1006
+ }> & z.core.$partial, z.ZodString>;
1007
+ layers: z.ZodObject<{
1008
+ run: z.ZodEnum<{
1009
+ passed: "passed";
1010
+ failed: "failed";
1011
+ notRun: "notRun";
1012
+ manualRequired: "manualRequired";
1013
+ }>;
1014
+ structural: z.ZodEnum<{
1015
+ passed: "passed";
1016
+ failed: "failed";
1017
+ notRun: "notRun";
1018
+ manualRequired: "manualRequired";
1019
+ }>;
1020
+ activityCheckpoint: z.ZodEnum<{
1021
+ passed: "passed";
1022
+ failed: "failed";
1023
+ notRun: "notRun";
1024
+ manualRequired: "manualRequired";
1025
+ }>;
1026
+ explicitExpect: z.ZodEnum<{
1027
+ passed: "passed";
1028
+ failed: "failed";
1029
+ notRun: "notRun";
1030
+ manualRequired: "manualRequired";
1031
+ }>;
1032
+ collection: z.ZodEnum<{
1033
+ passed: "passed";
1034
+ failed: "failed";
1035
+ notRun: "notRun";
1036
+ manualRequired: "manualRequired";
1037
+ }>;
1038
+ }, z.core.$strict>;
1039
+ primaryFailure: z.ZodOptional<z.ZodObject<{
1040
+ code: z.ZodEnum<{
1041
+ UI_BACKEND_UNAVAILABLE: "UI_BACKEND_UNAVAILABLE";
1042
+ UI_SNAPSHOT_FAILED: "UI_SNAPSHOT_FAILED";
1043
+ UI_SNAPSHOT_INVALID: "UI_SNAPSHOT_INVALID";
1044
+ CONFIG_INVALID: "CONFIG_INVALID";
1045
+ ENVIRONMENT_MISSING_TOOL: "ENVIRONMENT_MISSING_TOOL";
1046
+ DEVICE_UNAVAILABLE: "DEVICE_UNAVAILABLE";
1047
+ RUNTIME_CAPABILITY_MISSING: "RUNTIME_CAPABILITY_MISSING";
1048
+ APP_NOT_INSTALLED: "APP_NOT_INSTALLED";
1049
+ APP_LAUNCH_FAILED: "APP_LAUNCH_FAILED";
1050
+ APP_CRASHED: "APP_CRASHED";
1051
+ LOCATOR_NOT_FOUND: "LOCATOR_NOT_FOUND";
1052
+ LOCATOR_AMBIGUOUS: "LOCATOR_AMBIGUOUS";
1053
+ ANCHOR_NOT_FOUND: "ANCHOR_NOT_FOUND";
1054
+ ANCHOR_AMBIGUOUS: "ANCHOR_AMBIGUOUS";
1055
+ SCROLL_TARGET_NOT_FOUND: "SCROLL_TARGET_NOT_FOUND";
1056
+ ACTION_FAILED: "ACTION_FAILED";
1057
+ IDLE_TIMEOUT: "IDLE_TIMEOUT";
1058
+ ACTIVITY_BEFORE_MISMATCH: "ACTIVITY_BEFORE_MISMATCH";
1059
+ ACTIVITY_AFTER_MISMATCH: "ACTIVITY_AFTER_MISMATCH";
1060
+ EXPECT_ACTIVITY_FAILED: "EXPECT_ACTIVITY_FAILED";
1061
+ EXPECT_ELEMENT_FAILED: "EXPECT_ELEMENT_FAILED";
1062
+ EXPECT_LOGCAT_FAILED: "EXPECT_LOGCAT_FAILED";
1063
+ EXPECT_LOGCAT_AMBIGUOUS: "EXPECT_LOGCAT_AMBIGUOUS";
1064
+ BRIDGE_NO_ESCAPE: "BRIDGE_NO_ESCAPE";
1065
+ BRIDGE_NOT_RETURNED: "BRIDGE_NOT_RETURNED";
1066
+ WAIT_TIMEOUT: "WAIT_TIMEOUT";
1067
+ DEVICE_ROLE_UNMAPPED: "DEVICE_ROLE_UNMAPPED";
1068
+ EXTERNAL_FLOW_NOT_FOUND: "EXTERNAL_FLOW_NOT_FOUND";
1069
+ EXTERNAL_FLOW_STALE: "EXTERNAL_FLOW_STALE";
1070
+ EXTERNAL_LOCATOR_STRICTNESS: "EXTERNAL_LOCATOR_STRICTNESS";
1071
+ EXTERNAL_PACKAGE_MISMATCH: "EXTERNAL_PACKAGE_MISMATCH";
1072
+ EXTERNAL_ACTIVITY_MISMATCH: "EXTERNAL_ACTIVITY_MISMATCH";
1073
+ EXTERNAL_STEP_FAILED: "EXTERNAL_STEP_FAILED";
1074
+ CONTEXT_INVALID: "CONTEXT_INVALID";
1075
+ CONTEXT_STALE: "CONTEXT_STALE";
1076
+ BRIEF_INVALID: "BRIEF_INVALID";
1077
+ CONTEXT_MODULE_NOT_FOUND: "CONTEXT_MODULE_NOT_FOUND";
1078
+ CONTEXT_MODULE_INCOMPLETE: "CONTEXT_MODULE_INCOMPLETE";
1079
+ CONTEXT_SCHEMA_INVALID: "CONTEXT_SCHEMA_INVALID";
1080
+ CONTEXT_IDENTITY_MISMATCH: "CONTEXT_IDENTITY_MISMATCH";
1081
+ PROJECT_ROOT_UNREADABLE: "PROJECT_ROOT_UNREADABLE";
1082
+ PROJECT_ROOT_NOT_DIRECTORY: "PROJECT_ROOT_NOT_DIRECTORY";
1083
+ EVIDENCE_SECRET_PATH: "EVIDENCE_SECRET_PATH";
1084
+ EVIDENCE_NOT_FOUND: "EVIDENCE_NOT_FOUND";
1085
+ EVIDENCE_UNREADABLE: "EVIDENCE_UNREADABLE";
1086
+ EVIDENCE_NOT_FILE: "EVIDENCE_NOT_FILE";
1087
+ EVIDENCE_PATH_ESCAPE: "EVIDENCE_PATH_ESCAPE";
1088
+ EVIDENCE_CHANGED_IDENTITY: "EVIDENCE_CHANGED_IDENTITY";
1089
+ EVIDENCE_TOO_LARGE: "EVIDENCE_TOO_LARGE";
1090
+ EVIDENCE_HASH_MISMATCH: "EVIDENCE_HASH_MISMATCH";
1091
+ MANUAL_STEP_REQUIRED: "MANUAL_STEP_REQUIRED";
1092
+ ALIGN_DEVICE_UNAVAILABLE: "ALIGN_DEVICE_UNAVAILABLE";
1093
+ ALIGN_CAMERA_INTENT_FAILED: "ALIGN_CAMERA_INTENT_FAILED";
1094
+ ALIGN_CAMERA_NOT_LAUNCHED: "ALIGN_CAMERA_NOT_LAUNCHED";
1095
+ ALIGN_SHUTTER_NOT_FOUND: "ALIGN_SHUTTER_NOT_FOUND";
1096
+ ALIGN_SHUTTER_AMBIGUOUS: "ALIGN_SHUTTER_AMBIGUOUS";
1097
+ ALIGN_SHUTTER_NO_RESOURCE_ID: "ALIGN_SHUTTER_NO_RESOURCE_ID";
1098
+ ALIGN_CONFIRM_NOT_FOUND: "ALIGN_CONFIRM_NOT_FOUND";
1099
+ ALIGN_CONFIRM_AMBIGUOUS: "ALIGN_CONFIRM_AMBIGUOUS";
1100
+ ALIGN_CONFIRM_NO_RESOURCE_ID: "ALIGN_CONFIRM_NO_RESOURCE_ID";
1101
+ ALIGN_FLOW_EXISTS: "ALIGN_FLOW_EXISTS";
1102
+ CONTRACT_INVALID: "CONTRACT_INVALID";
1103
+ CONTRACT_JOURNEY_MISSING: "CONTRACT_JOURNEY_MISSING";
1104
+ CONTRACT_JOURNEY_DRIFT: "CONTRACT_JOURNEY_DRIFT";
1105
+ CONTRACT_EVIDENCE_INSUFFICIENT: "CONTRACT_EVIDENCE_INSUFFICIENT";
1106
+ CONTRACT_KNOWLEDGE_UNAVAILABLE: "CONTRACT_KNOWLEDGE_UNAVAILABLE";
1107
+ REPLAY_POLICY_UNAVAILABLE: "REPLAY_POLICY_UNAVAILABLE";
1108
+ CHECKPOINT_FAILED: "CHECKPOINT_FAILED";
1109
+ CHECKPOINT_UNRESOLVED: "CHECKPOINT_UNRESOLVED";
1110
+ BASELINE_INCOMPARABLE: "BASELINE_INCOMPARABLE";
1111
+ BASELINE_EMPTY: "BASELINE_EMPTY";
1112
+ GIT_ROOT_NOT_FOUND: "GIT_ROOT_NOT_FOUND";
1113
+ GIT_REF_INVALID: "GIT_REF_INVALID";
1114
+ COLLECTION_FAILED: "COLLECTION_FAILED";
1115
+ INTERNAL_ERROR: "INTERNAL_ERROR";
1116
+ }>;
1117
+ phase: z.ZodString;
1118
+ stepIndex: z.ZodOptional<z.ZodNumber>;
1119
+ }, z.core.$strict>>;
1120
+ secondaryErrorCodes: z.ZodArray<z.ZodEnum<{
1121
+ UI_BACKEND_UNAVAILABLE: "UI_BACKEND_UNAVAILABLE";
1122
+ UI_SNAPSHOT_FAILED: "UI_SNAPSHOT_FAILED";
1123
+ UI_SNAPSHOT_INVALID: "UI_SNAPSHOT_INVALID";
1124
+ CONFIG_INVALID: "CONFIG_INVALID";
1125
+ ENVIRONMENT_MISSING_TOOL: "ENVIRONMENT_MISSING_TOOL";
1126
+ DEVICE_UNAVAILABLE: "DEVICE_UNAVAILABLE";
1127
+ RUNTIME_CAPABILITY_MISSING: "RUNTIME_CAPABILITY_MISSING";
1128
+ APP_NOT_INSTALLED: "APP_NOT_INSTALLED";
1129
+ APP_LAUNCH_FAILED: "APP_LAUNCH_FAILED";
1130
+ APP_CRASHED: "APP_CRASHED";
1131
+ LOCATOR_NOT_FOUND: "LOCATOR_NOT_FOUND";
1132
+ LOCATOR_AMBIGUOUS: "LOCATOR_AMBIGUOUS";
1133
+ ANCHOR_NOT_FOUND: "ANCHOR_NOT_FOUND";
1134
+ ANCHOR_AMBIGUOUS: "ANCHOR_AMBIGUOUS";
1135
+ SCROLL_TARGET_NOT_FOUND: "SCROLL_TARGET_NOT_FOUND";
1136
+ ACTION_FAILED: "ACTION_FAILED";
1137
+ IDLE_TIMEOUT: "IDLE_TIMEOUT";
1138
+ ACTIVITY_BEFORE_MISMATCH: "ACTIVITY_BEFORE_MISMATCH";
1139
+ ACTIVITY_AFTER_MISMATCH: "ACTIVITY_AFTER_MISMATCH";
1140
+ EXPECT_ACTIVITY_FAILED: "EXPECT_ACTIVITY_FAILED";
1141
+ EXPECT_ELEMENT_FAILED: "EXPECT_ELEMENT_FAILED";
1142
+ EXPECT_LOGCAT_FAILED: "EXPECT_LOGCAT_FAILED";
1143
+ EXPECT_LOGCAT_AMBIGUOUS: "EXPECT_LOGCAT_AMBIGUOUS";
1144
+ BRIDGE_NO_ESCAPE: "BRIDGE_NO_ESCAPE";
1145
+ BRIDGE_NOT_RETURNED: "BRIDGE_NOT_RETURNED";
1146
+ WAIT_TIMEOUT: "WAIT_TIMEOUT";
1147
+ DEVICE_ROLE_UNMAPPED: "DEVICE_ROLE_UNMAPPED";
1148
+ EXTERNAL_FLOW_NOT_FOUND: "EXTERNAL_FLOW_NOT_FOUND";
1149
+ EXTERNAL_FLOW_STALE: "EXTERNAL_FLOW_STALE";
1150
+ EXTERNAL_LOCATOR_STRICTNESS: "EXTERNAL_LOCATOR_STRICTNESS";
1151
+ EXTERNAL_PACKAGE_MISMATCH: "EXTERNAL_PACKAGE_MISMATCH";
1152
+ EXTERNAL_ACTIVITY_MISMATCH: "EXTERNAL_ACTIVITY_MISMATCH";
1153
+ EXTERNAL_STEP_FAILED: "EXTERNAL_STEP_FAILED";
1154
+ CONTEXT_INVALID: "CONTEXT_INVALID";
1155
+ CONTEXT_STALE: "CONTEXT_STALE";
1156
+ BRIEF_INVALID: "BRIEF_INVALID";
1157
+ CONTEXT_MODULE_NOT_FOUND: "CONTEXT_MODULE_NOT_FOUND";
1158
+ CONTEXT_MODULE_INCOMPLETE: "CONTEXT_MODULE_INCOMPLETE";
1159
+ CONTEXT_SCHEMA_INVALID: "CONTEXT_SCHEMA_INVALID";
1160
+ CONTEXT_IDENTITY_MISMATCH: "CONTEXT_IDENTITY_MISMATCH";
1161
+ PROJECT_ROOT_UNREADABLE: "PROJECT_ROOT_UNREADABLE";
1162
+ PROJECT_ROOT_NOT_DIRECTORY: "PROJECT_ROOT_NOT_DIRECTORY";
1163
+ EVIDENCE_SECRET_PATH: "EVIDENCE_SECRET_PATH";
1164
+ EVIDENCE_NOT_FOUND: "EVIDENCE_NOT_FOUND";
1165
+ EVIDENCE_UNREADABLE: "EVIDENCE_UNREADABLE";
1166
+ EVIDENCE_NOT_FILE: "EVIDENCE_NOT_FILE";
1167
+ EVIDENCE_PATH_ESCAPE: "EVIDENCE_PATH_ESCAPE";
1168
+ EVIDENCE_CHANGED_IDENTITY: "EVIDENCE_CHANGED_IDENTITY";
1169
+ EVIDENCE_TOO_LARGE: "EVIDENCE_TOO_LARGE";
1170
+ EVIDENCE_HASH_MISMATCH: "EVIDENCE_HASH_MISMATCH";
1171
+ MANUAL_STEP_REQUIRED: "MANUAL_STEP_REQUIRED";
1172
+ ALIGN_DEVICE_UNAVAILABLE: "ALIGN_DEVICE_UNAVAILABLE";
1173
+ ALIGN_CAMERA_INTENT_FAILED: "ALIGN_CAMERA_INTENT_FAILED";
1174
+ ALIGN_CAMERA_NOT_LAUNCHED: "ALIGN_CAMERA_NOT_LAUNCHED";
1175
+ ALIGN_SHUTTER_NOT_FOUND: "ALIGN_SHUTTER_NOT_FOUND";
1176
+ ALIGN_SHUTTER_AMBIGUOUS: "ALIGN_SHUTTER_AMBIGUOUS";
1177
+ ALIGN_SHUTTER_NO_RESOURCE_ID: "ALIGN_SHUTTER_NO_RESOURCE_ID";
1178
+ ALIGN_CONFIRM_NOT_FOUND: "ALIGN_CONFIRM_NOT_FOUND";
1179
+ ALIGN_CONFIRM_AMBIGUOUS: "ALIGN_CONFIRM_AMBIGUOUS";
1180
+ ALIGN_CONFIRM_NO_RESOURCE_ID: "ALIGN_CONFIRM_NO_RESOURCE_ID";
1181
+ ALIGN_FLOW_EXISTS: "ALIGN_FLOW_EXISTS";
1182
+ CONTRACT_INVALID: "CONTRACT_INVALID";
1183
+ CONTRACT_JOURNEY_MISSING: "CONTRACT_JOURNEY_MISSING";
1184
+ CONTRACT_JOURNEY_DRIFT: "CONTRACT_JOURNEY_DRIFT";
1185
+ CONTRACT_EVIDENCE_INSUFFICIENT: "CONTRACT_EVIDENCE_INSUFFICIENT";
1186
+ CONTRACT_KNOWLEDGE_UNAVAILABLE: "CONTRACT_KNOWLEDGE_UNAVAILABLE";
1187
+ REPLAY_POLICY_UNAVAILABLE: "REPLAY_POLICY_UNAVAILABLE";
1188
+ CHECKPOINT_FAILED: "CHECKPOINT_FAILED";
1189
+ CHECKPOINT_UNRESOLVED: "CHECKPOINT_UNRESOLVED";
1190
+ BASELINE_INCOMPARABLE: "BASELINE_INCOMPARABLE";
1191
+ BASELINE_EMPTY: "BASELINE_EMPTY";
1192
+ GIT_ROOT_NOT_FOUND: "GIT_ROOT_NOT_FOUND";
1193
+ GIT_REF_INVALID: "GIT_REF_INVALID";
1194
+ COLLECTION_FAILED: "COLLECTION_FAILED";
1195
+ INTERNAL_ERROR: "INTERNAL_ERROR";
1196
+ }>>;
1197
+ fallbackUsed: z.ZodBoolean;
1198
+ logcatEvidence: z.ZodArray<z.ZodObject<{
1199
+ device: z.ZodString;
1200
+ droppedLines: z.ZodNumber;
1201
+ droppedBytes: z.ZodNumber;
1202
+ }, z.core.$strict>>;
1203
+ steps: z.ZodArray<z.ZodObject<{
1204
+ index: z.ZodNumber;
1205
+ action: z.ZodEnum<{
1206
+ swipe: "swipe";
1207
+ click: "click";
1208
+ longClick: "longClick";
1209
+ inputText: "inputText";
1210
+ scrollTo: "scrollTo";
1211
+ back: "back";
1212
+ wait: "wait";
1213
+ bridge: "bridge";
1214
+ }>;
1215
+ status: z.ZodEnum<{
1216
+ passed: "passed";
1217
+ failed: "failed";
1218
+ notRun: "notRun";
1219
+ manualRequired: "manualRequired";
1220
+ }>;
1221
+ device: z.ZodOptional<z.ZodString>;
1222
+ durationMs: z.ZodNumber;
1223
+ locator: z.ZodOptional<z.ZodObject<{
1224
+ status: z.ZodEnum<{
1225
+ failed: "failed";
1226
+ notRun: "notRun";
1227
+ found: "found";
1228
+ }>;
1229
+ matchedBy: z.ZodOptional<z.ZodEnum<{
1230
+ anchor: "anchor";
1231
+ resourceId: "resourceId";
1232
+ text: "text";
1233
+ contentDescription: "contentDescription";
1234
+ }>>;
1235
+ requestedFields: z.ZodArray<z.ZodEnum<{
1236
+ resourceId: "resourceId";
1237
+ text: "text";
1238
+ contentDescription: "contentDescription";
1239
+ index: "index";
1240
+ within: "within";
1241
+ }>>;
1242
+ locatorId: z.ZodOptional<z.ZodString>;
1243
+ anchorStatus: z.ZodOptional<z.ZodEnum<{
1244
+ failed: "failed";
1245
+ resolved: "resolved";
1246
+ locatorFallback: "locatorFallback";
1247
+ }>>;
1248
+ fallbackUsed: z.ZodBoolean;
1249
+ }, z.core.$strict>>;
1250
+ idle: z.ZodOptional<z.ZodObject<{
1251
+ status: z.ZodEnum<{
1252
+ cancelled: "cancelled";
1253
+ timeout: "timeout";
1254
+ notRun: "notRun";
1255
+ stable: "stable";
1256
+ }>;
1257
+ polls: z.ZodNumber;
1258
+ durationMs: z.ZodOptional<z.ZodNumber>;
1259
+ samplingDurationMs: z.ZodOptional<z.ZodNumber>;
1260
+ strategy: z.ZodOptional<z.ZodEnum<{
1261
+ frameStats: "frameStats";
1262
+ hybrid: "hybrid";
1263
+ layoutDiff: "layoutDiff";
1264
+ structural: "structural";
1265
+ }>>;
1266
+ backend: z.ZodOptional<z.ZodEnum<{
1267
+ uiautomator: "uiautomator";
1268
+ androidCli: "androidCli";
1269
+ gfxFrameStats: "gfxFrameStats";
1270
+ mobileMcp: "mobileMcp";
1271
+ }>>;
1272
+ fallbackUsed: z.ZodOptional<z.ZodBoolean>;
1273
+ frameActivityDetected: z.ZodOptional<z.ZodBoolean>;
1274
+ lastDiffCount: z.ZodOptional<z.ZodNumber>;
1275
+ }, z.core.$strict>>;
1276
+ activity: z.ZodOptional<z.ZodObject<{
1277
+ before: z.ZodObject<{
1278
+ status: z.ZodEnum<{
1279
+ passed: "passed";
1280
+ failed: "failed";
1281
+ notRun: "notRun";
1282
+ manualRequired: "manualRequired";
1283
+ }>;
1284
+ expected: z.ZodString;
1285
+ actual: z.ZodOptional<z.ZodString>;
1286
+ }, z.core.$strict>;
1287
+ after: z.ZodObject<{
1288
+ status: z.ZodEnum<{
1289
+ passed: "passed";
1290
+ failed: "failed";
1291
+ notRun: "notRun";
1292
+ manualRequired: "manualRequired";
1293
+ }>;
1294
+ expected: z.ZodString;
1295
+ actual: z.ZodOptional<z.ZodString>;
1296
+ }, z.core.$strict>;
1297
+ }, z.core.$strict>>;
1298
+ expectation: z.ZodOptional<z.ZodObject<{
1299
+ type: z.ZodEnum<{
1300
+ activity: "activity";
1301
+ logcat: "logcat";
1302
+ element: "element";
1303
+ logcatEvent: "logcatEvent";
1304
+ }>;
1305
+ status: z.ZodEnum<{
1306
+ passed: "passed";
1307
+ failed: "failed";
1308
+ notRun: "notRun";
1309
+ manualRequired: "manualRequired";
1310
+ }>;
1311
+ code: z.ZodOptional<z.ZodEnum<{
1312
+ UI_BACKEND_UNAVAILABLE: "UI_BACKEND_UNAVAILABLE";
1313
+ UI_SNAPSHOT_FAILED: "UI_SNAPSHOT_FAILED";
1314
+ UI_SNAPSHOT_INVALID: "UI_SNAPSHOT_INVALID";
1315
+ CONFIG_INVALID: "CONFIG_INVALID";
1316
+ ENVIRONMENT_MISSING_TOOL: "ENVIRONMENT_MISSING_TOOL";
1317
+ DEVICE_UNAVAILABLE: "DEVICE_UNAVAILABLE";
1318
+ RUNTIME_CAPABILITY_MISSING: "RUNTIME_CAPABILITY_MISSING";
1319
+ APP_NOT_INSTALLED: "APP_NOT_INSTALLED";
1320
+ APP_LAUNCH_FAILED: "APP_LAUNCH_FAILED";
1321
+ APP_CRASHED: "APP_CRASHED";
1322
+ LOCATOR_NOT_FOUND: "LOCATOR_NOT_FOUND";
1323
+ LOCATOR_AMBIGUOUS: "LOCATOR_AMBIGUOUS";
1324
+ ANCHOR_NOT_FOUND: "ANCHOR_NOT_FOUND";
1325
+ ANCHOR_AMBIGUOUS: "ANCHOR_AMBIGUOUS";
1326
+ SCROLL_TARGET_NOT_FOUND: "SCROLL_TARGET_NOT_FOUND";
1327
+ ACTION_FAILED: "ACTION_FAILED";
1328
+ IDLE_TIMEOUT: "IDLE_TIMEOUT";
1329
+ ACTIVITY_BEFORE_MISMATCH: "ACTIVITY_BEFORE_MISMATCH";
1330
+ ACTIVITY_AFTER_MISMATCH: "ACTIVITY_AFTER_MISMATCH";
1331
+ EXPECT_ACTIVITY_FAILED: "EXPECT_ACTIVITY_FAILED";
1332
+ EXPECT_ELEMENT_FAILED: "EXPECT_ELEMENT_FAILED";
1333
+ EXPECT_LOGCAT_FAILED: "EXPECT_LOGCAT_FAILED";
1334
+ EXPECT_LOGCAT_AMBIGUOUS: "EXPECT_LOGCAT_AMBIGUOUS";
1335
+ BRIDGE_NO_ESCAPE: "BRIDGE_NO_ESCAPE";
1336
+ BRIDGE_NOT_RETURNED: "BRIDGE_NOT_RETURNED";
1337
+ WAIT_TIMEOUT: "WAIT_TIMEOUT";
1338
+ DEVICE_ROLE_UNMAPPED: "DEVICE_ROLE_UNMAPPED";
1339
+ EXTERNAL_FLOW_NOT_FOUND: "EXTERNAL_FLOW_NOT_FOUND";
1340
+ EXTERNAL_FLOW_STALE: "EXTERNAL_FLOW_STALE";
1341
+ EXTERNAL_LOCATOR_STRICTNESS: "EXTERNAL_LOCATOR_STRICTNESS";
1342
+ EXTERNAL_PACKAGE_MISMATCH: "EXTERNAL_PACKAGE_MISMATCH";
1343
+ EXTERNAL_ACTIVITY_MISMATCH: "EXTERNAL_ACTIVITY_MISMATCH";
1344
+ EXTERNAL_STEP_FAILED: "EXTERNAL_STEP_FAILED";
1345
+ CONTEXT_INVALID: "CONTEXT_INVALID";
1346
+ CONTEXT_STALE: "CONTEXT_STALE";
1347
+ BRIEF_INVALID: "BRIEF_INVALID";
1348
+ CONTEXT_MODULE_NOT_FOUND: "CONTEXT_MODULE_NOT_FOUND";
1349
+ CONTEXT_MODULE_INCOMPLETE: "CONTEXT_MODULE_INCOMPLETE";
1350
+ CONTEXT_SCHEMA_INVALID: "CONTEXT_SCHEMA_INVALID";
1351
+ CONTEXT_IDENTITY_MISMATCH: "CONTEXT_IDENTITY_MISMATCH";
1352
+ PROJECT_ROOT_UNREADABLE: "PROJECT_ROOT_UNREADABLE";
1353
+ PROJECT_ROOT_NOT_DIRECTORY: "PROJECT_ROOT_NOT_DIRECTORY";
1354
+ EVIDENCE_SECRET_PATH: "EVIDENCE_SECRET_PATH";
1355
+ EVIDENCE_NOT_FOUND: "EVIDENCE_NOT_FOUND";
1356
+ EVIDENCE_UNREADABLE: "EVIDENCE_UNREADABLE";
1357
+ EVIDENCE_NOT_FILE: "EVIDENCE_NOT_FILE";
1358
+ EVIDENCE_PATH_ESCAPE: "EVIDENCE_PATH_ESCAPE";
1359
+ EVIDENCE_CHANGED_IDENTITY: "EVIDENCE_CHANGED_IDENTITY";
1360
+ EVIDENCE_TOO_LARGE: "EVIDENCE_TOO_LARGE";
1361
+ EVIDENCE_HASH_MISMATCH: "EVIDENCE_HASH_MISMATCH";
1362
+ MANUAL_STEP_REQUIRED: "MANUAL_STEP_REQUIRED";
1363
+ ALIGN_DEVICE_UNAVAILABLE: "ALIGN_DEVICE_UNAVAILABLE";
1364
+ ALIGN_CAMERA_INTENT_FAILED: "ALIGN_CAMERA_INTENT_FAILED";
1365
+ ALIGN_CAMERA_NOT_LAUNCHED: "ALIGN_CAMERA_NOT_LAUNCHED";
1366
+ ALIGN_SHUTTER_NOT_FOUND: "ALIGN_SHUTTER_NOT_FOUND";
1367
+ ALIGN_SHUTTER_AMBIGUOUS: "ALIGN_SHUTTER_AMBIGUOUS";
1368
+ ALIGN_SHUTTER_NO_RESOURCE_ID: "ALIGN_SHUTTER_NO_RESOURCE_ID";
1369
+ ALIGN_CONFIRM_NOT_FOUND: "ALIGN_CONFIRM_NOT_FOUND";
1370
+ ALIGN_CONFIRM_AMBIGUOUS: "ALIGN_CONFIRM_AMBIGUOUS";
1371
+ ALIGN_CONFIRM_NO_RESOURCE_ID: "ALIGN_CONFIRM_NO_RESOURCE_ID";
1372
+ ALIGN_FLOW_EXISTS: "ALIGN_FLOW_EXISTS";
1373
+ CONTRACT_INVALID: "CONTRACT_INVALID";
1374
+ CONTRACT_JOURNEY_MISSING: "CONTRACT_JOURNEY_MISSING";
1375
+ CONTRACT_JOURNEY_DRIFT: "CONTRACT_JOURNEY_DRIFT";
1376
+ CONTRACT_EVIDENCE_INSUFFICIENT: "CONTRACT_EVIDENCE_INSUFFICIENT";
1377
+ CONTRACT_KNOWLEDGE_UNAVAILABLE: "CONTRACT_KNOWLEDGE_UNAVAILABLE";
1378
+ REPLAY_POLICY_UNAVAILABLE: "REPLAY_POLICY_UNAVAILABLE";
1379
+ CHECKPOINT_FAILED: "CHECKPOINT_FAILED";
1380
+ CHECKPOINT_UNRESOLVED: "CHECKPOINT_UNRESOLVED";
1381
+ BASELINE_INCOMPARABLE: "BASELINE_INCOMPARABLE";
1382
+ BASELINE_EMPTY: "BASELINE_EMPTY";
1383
+ GIT_ROOT_NOT_FOUND: "GIT_ROOT_NOT_FOUND";
1384
+ GIT_REF_INVALID: "GIT_REF_INVALID";
1385
+ COLLECTION_FAILED: "COLLECTION_FAILED";
1386
+ INTERNAL_ERROR: "INTERNAL_ERROR";
1387
+ }>>;
1388
+ }, z.core.$strict>>;
1389
+ scroll: z.ZodOptional<z.ZodObject<{
1390
+ swipesUsed: z.ZodNumber;
1391
+ maxSwipes: z.ZodNumber;
1392
+ }, z.core.$strict>>;
1393
+ }, z.core.$strict>>;
1394
+ }, z.core.$strict>>;
1395
+ }, z.core.$strict>;
1396
+ export type DiagnosticsBundle = z.infer<typeof DiagnosticsBundleSchema>;