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
@@ -1,13 +1,33 @@
1
1
  import { z } from "zod";
2
2
  import { type ProposedStep } from "./proposed-step.js";
3
- export declare const GENERATION_ERROR_CODES: readonly ["CONFIG_INVALID", "CONTEXT_INVALID", "CONTEXT_STALE", "SNAPSHOT_STALE", "PACKAGE_ESCAPE", "APP_CRASHED", "ACTION_UNSUPPORTED", "RISK_CONFIRMATION_REQUIRED", "ACTION_FORBIDDEN", "EXPECT_UNSUPPORTED", "RECOVERY_REQUIRED", "VERIFICATION_FAILED", "PUBLICATION_FAILED", "EXPORT_FAILED", "FINALIZATION_IN_PROGRESS"];
3
+ export declare const GENERATION_ERROR_CODES: readonly ["CONFIG_INVALID", "CONTEXT_INVALID", "CONTEXT_STALE", "BRIEF_INVALID", "KNOWLEDGE_INVALID", "KNOWLEDGE_STALE", "ANCHOR_AMBIGUOUS", "FLOW_INVALID", "FLOW_REPLAY_FAILED", "APP_LAUNCH_FAILED", "SNAPSHOT_STALE", "PACKAGE_ESCAPE", "BRIDGE_NO_ESCAPE", "SCENARIO_PACKAGE_MISMATCH", "BRIDGE_NOT_RETURNED", "EXTERNAL_FLOW_NOT_FOUND", "EXTERNAL_FLOW_STALE", "EXTERNAL_LOCATOR_STRICTNESS", "EXTERNAL_PACKAGE_MISMATCH", "EXTERNAL_ACTIVITY_MISMATCH", "EXTERNAL_STEP_FAILED", "APP_CRASHED", "IDLE_TIMEOUT", "WINDOW_HIERARCHY_INCOMPLETE", "ACTION_UNSUPPORTED", "LOCATOR_NOT_FOUND", "LOCATOR_AMBIGUOUS", "RISK_CONFIRMATION_REQUIRED", "ACTION_FORBIDDEN", "EXPECT_UNSUPPORTED", "RECOVERY_REQUIRED", "VERIFICATION_FAILED", "PUBLICATION_FAILED", "EXPORT_FAILED", "FINALIZATION_IN_PROGRESS"];
4
4
  export declare const GenerationErrorCodeSchema: z.ZodEnum<{
5
5
  CONFIG_INVALID: "CONFIG_INVALID";
6
+ APP_LAUNCH_FAILED: "APP_LAUNCH_FAILED";
7
+ APP_CRASHED: "APP_CRASHED";
8
+ LOCATOR_NOT_FOUND: "LOCATOR_NOT_FOUND";
9
+ LOCATOR_AMBIGUOUS: "LOCATOR_AMBIGUOUS";
10
+ ANCHOR_AMBIGUOUS: "ANCHOR_AMBIGUOUS";
11
+ IDLE_TIMEOUT: "IDLE_TIMEOUT";
12
+ BRIDGE_NO_ESCAPE: "BRIDGE_NO_ESCAPE";
13
+ BRIDGE_NOT_RETURNED: "BRIDGE_NOT_RETURNED";
14
+ EXTERNAL_FLOW_NOT_FOUND: "EXTERNAL_FLOW_NOT_FOUND";
15
+ EXTERNAL_FLOW_STALE: "EXTERNAL_FLOW_STALE";
16
+ EXTERNAL_LOCATOR_STRICTNESS: "EXTERNAL_LOCATOR_STRICTNESS";
17
+ EXTERNAL_PACKAGE_MISMATCH: "EXTERNAL_PACKAGE_MISMATCH";
18
+ EXTERNAL_ACTIVITY_MISMATCH: "EXTERNAL_ACTIVITY_MISMATCH";
19
+ EXTERNAL_STEP_FAILED: "EXTERNAL_STEP_FAILED";
6
20
  CONTEXT_INVALID: "CONTEXT_INVALID";
7
21
  CONTEXT_STALE: "CONTEXT_STALE";
22
+ BRIEF_INVALID: "BRIEF_INVALID";
23
+ KNOWLEDGE_INVALID: "KNOWLEDGE_INVALID";
24
+ KNOWLEDGE_STALE: "KNOWLEDGE_STALE";
25
+ FLOW_INVALID: "FLOW_INVALID";
26
+ FLOW_REPLAY_FAILED: "FLOW_REPLAY_FAILED";
8
27
  SNAPSHOT_STALE: "SNAPSHOT_STALE";
9
28
  PACKAGE_ESCAPE: "PACKAGE_ESCAPE";
10
- APP_CRASHED: "APP_CRASHED";
29
+ SCENARIO_PACKAGE_MISMATCH: "SCENARIO_PACKAGE_MISMATCH";
30
+ WINDOW_HIERARCHY_INCOMPLETE: "WINDOW_HIERARCHY_INCOMPLETE";
11
31
  ACTION_UNSUPPORTED: "ACTION_UNSUPPORTED";
12
32
  RISK_CONFIRMATION_REQUIRED: "RISK_CONFIRMATION_REQUIRED";
13
33
  ACTION_FORBIDDEN: "ACTION_FORBIDDEN";
@@ -19,6 +39,30 @@ export declare const GenerationErrorCodeSchema: z.ZodEnum<{
19
39
  FINALIZATION_IN_PROGRESS: "FINALIZATION_IN_PROGRESS";
20
40
  }>;
21
41
  export type GenerationErrorCode = z.infer<typeof GenerationErrorCodeSchema>;
42
+ export declare const GenerationStepSourceSchema: z.ZodEnum<{
43
+ flow: "flow";
44
+ planner: "planner";
45
+ manualOverride: "manualOverride";
46
+ }>;
47
+ export declare const GenerationBaseFlowSchema: z.ZodObject<{
48
+ name: z.ZodString;
49
+ resolutionSha256: z.ZodString;
50
+ journeySha256: z.ZodString;
51
+ verificationReportSha256: z.ZodString;
52
+ verificationRunId: z.ZodString;
53
+ stepCount: z.ZodNumber;
54
+ }, z.core.$strict>;
55
+ export declare const GenerationSourceBriefSchema: z.ZodObject<{
56
+ path: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
57
+ sha256: z.ZodString;
58
+ }, z.core.$strict>;
59
+ export type GenerationSourceBrief = z.infer<typeof GenerationSourceBriefSchema>;
60
+ export declare const GenerationExternalFlowBindingSchema: z.ZodObject<{
61
+ name: z.ZodString;
62
+ flowSha256: z.ZodString;
63
+ escapedPackageName: z.ZodString;
64
+ stepCount: z.ZodNumber;
65
+ }, z.core.$strict>;
22
66
  export declare const GenerationSessionIdSchema: z.ZodString;
23
67
  export declare const GenerationVariablesSchema: z.ZodObject<{
24
68
  runId: z.ZodString;
@@ -30,6 +74,27 @@ export declare const GenerationInFlightSchema: z.ZodObject<{
30
74
  snapshotHash: z.ZodString;
31
75
  proposalHash: z.ZodString;
32
76
  attemptId: z.ZodString;
77
+ confirmation: z.ZodOptional<z.ZodObject<{
78
+ challengeId: z.ZodString;
79
+ approvalMode: z.ZodEnum<{
80
+ localTty: "localTty";
81
+ delegated: "delegated";
82
+ }>;
83
+ }, z.core.$strict>>;
84
+ }, z.core.$strict>;
85
+ export declare const ConfirmationReasonSchema: z.ZodObject<{
86
+ rule: z.ZodEnum<{
87
+ policyActionRequiresConfirmation: "policyActionRequiresConfirmation";
88
+ actionNotAllowlisted: "actionNotAllowlisted";
89
+ semanticSideEffect: "semanticSideEffect";
90
+ }>;
91
+ message: z.ZodString;
92
+ category: z.ZodOptional<z.ZodEnum<{
93
+ hardCommit: "hardCommit";
94
+ destructive: "destructive";
95
+ account: "account";
96
+ }>>;
97
+ matchedTerm: z.ZodOptional<z.ZodString>;
33
98
  }, z.core.$strict>;
34
99
  export declare const PendingConfirmationSchema: z.ZodObject<{
35
100
  challengeId: z.ZodString;
@@ -38,25 +103,65 @@ export declare const PendingConfirmationSchema: z.ZodObject<{
38
103
  snapshotHash: z.ZodString;
39
104
  evidenceHash: z.ZodString;
40
105
  actionSummary: z.ZodString;
106
+ reason: z.ZodOptional<z.ZodObject<{
107
+ rule: z.ZodEnum<{
108
+ policyActionRequiresConfirmation: "policyActionRequiresConfirmation";
109
+ actionNotAllowlisted: "actionNotAllowlisted";
110
+ semanticSideEffect: "semanticSideEffect";
111
+ }>;
112
+ message: z.ZodString;
113
+ category: z.ZodOptional<z.ZodEnum<{
114
+ hardCommit: "hardCommit";
115
+ destructive: "destructive";
116
+ account: "account";
117
+ }>>;
118
+ matchedTerm: z.ZodOptional<z.ZodString>;
119
+ }, z.core.$strict>>;
41
120
  expiresAt: z.ZodISODateTime;
42
121
  status: z.ZodEnum<{
43
122
  pending: "pending";
44
123
  approved: "approved";
45
124
  }>;
125
+ approvalMode: z.ZodOptional<z.ZodEnum<{
126
+ localTty: "localTty";
127
+ delegated: "delegated";
128
+ }>>;
46
129
  }, z.core.$strict>;
130
+ export declare const VerificationPhaseSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
131
+ stage: z.ZodLiteral<"preparing">;
132
+ }, z.core.$strict>, z.ZodObject<{
133
+ stage: z.ZodLiteral<"replaying">;
134
+ stepIndex: z.ZodNumber;
135
+ stepCount: z.ZodNumber;
136
+ }, z.core.$strict>, z.ZodObject<{
137
+ stage: z.ZodLiteral<"collecting">;
138
+ }, z.core.$strict>], "stage">;
139
+ export type VerificationPhase = z.infer<typeof VerificationPhaseSchema>;
140
+ export declare function verificationPhaseLabel(phase: VerificationPhase): string;
47
141
  export declare const GenerationSessionSchema: z.ZodObject<{
48
- version: z.ZodLiteral<1>;
49
142
  id: z.ZodString;
50
143
  revision: z.ZodNumber;
51
144
  state: z.ZodEnum<{
52
145
  active: "active";
53
146
  recoveryRequired: "recoveryRequired";
147
+ archived: "archived";
54
148
  }>;
55
149
  bindings: z.ZodObject<{
56
150
  projectHash: z.ZodString;
57
151
  configHash: z.ZodString;
58
152
  contextHash: z.ZodString;
59
153
  snapshotHash: z.ZodNullable<z.ZodString>;
154
+ uiBackend: z.ZodObject<{
155
+ id: z.ZodEnum<{
156
+ "system-uiautomator": "system-uiautomator";
157
+ "android-cli": "android-cli";
158
+ "appium-uiautomator2": "appium-uiautomator2";
159
+ "mobile-mcp": "mobile-mcp";
160
+ }>;
161
+ adapterVersion: z.ZodString;
162
+ engineVersion: z.ZodOptional<z.ZodString>;
163
+ configSha256: z.ZodString;
164
+ }, z.core.$strict>;
60
165
  }, z.core.$strict>;
61
166
  target: z.ZodObject<{
62
167
  packageName: z.ZodString;
@@ -92,12 +197,80 @@ export declare const GenerationSessionSchema: z.ZodObject<{
92
197
  }>>;
93
198
  }, z.core.$strict>;
94
199
  }, z.core.$strict>;
200
+ contextSelection: z.ZodObject<{
201
+ bundleVersion: z.ZodLiteral<2>;
202
+ indexHash: z.ZodString;
203
+ modules: z.ZodArray<z.ZodObject<{
204
+ id: z.ZodString;
205
+ sha256: z.ZodString;
206
+ projectDir: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
207
+ inventory: z.ZodObject<{
208
+ pathSetSha256: z.ZodString;
209
+ categories: z.ZodArray<z.ZodEnum<{
210
+ manifests: "manifests";
211
+ sources: "sources";
212
+ layouts: "layouts";
213
+ navigation: "navigation";
214
+ }>>;
215
+ }, z.core.$strict>;
216
+ }, z.core.$strict>>;
217
+ }, z.core.$strict>;
218
+ idlePolicy: z.ZodOptional<z.ZodObject<{
219
+ strategy: z.ZodDefault<z.ZodEnum<{
220
+ frameStats: "frameStats";
221
+ hybrid: "hybrid";
222
+ layoutDiff: "layoutDiff";
223
+ structural: "structural";
224
+ }>>;
225
+ pollIntervalMs: z.ZodNumber;
226
+ stablePolls: z.ZodNumber;
227
+ timeoutMs: z.ZodNumber;
228
+ ignoreCursorBlink: z.ZodOptional<z.ZodBoolean>;
229
+ ignoreLayoutDrift: z.ZodOptional<z.ZodBoolean>;
230
+ deviceProfiles: z.ZodOptional<z.ZodArray<z.ZodObject<{
231
+ match: z.ZodObject<{
232
+ manufacturer: z.ZodOptional<z.ZodString>;
233
+ model: z.ZodOptional<z.ZodString>;
234
+ sdkLevel: z.ZodOptional<z.ZodNumber>;
235
+ }, z.core.$strict>;
236
+ strategy: z.ZodOptional<z.ZodEnum<{
237
+ frameStats: "frameStats";
238
+ hybrid: "hybrid";
239
+ layoutDiff: "layoutDiff";
240
+ structural: "structural";
241
+ }>>;
242
+ pollIntervalMs: z.ZodOptional<z.ZodNumber>;
243
+ stablePolls: z.ZodOptional<z.ZodNumber>;
244
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
245
+ ignoreCursorBlink: z.ZodOptional<z.ZodBoolean>;
246
+ ignoreLayoutDrift: z.ZodOptional<z.ZodBoolean>;
247
+ }, z.core.$strict>>>;
248
+ }, z.core.$strict>>;
95
249
  variables: z.ZodObject<{
96
250
  runId: z.ZodString;
97
251
  timestamp: z.ZodPipe<z.ZodString, z.ZodISODateTime>;
98
252
  randomHex: z.ZodString;
99
253
  }, z.core.$strict>;
254
+ baseFlow: z.ZodOptional<z.ZodObject<{
255
+ name: z.ZodString;
256
+ resolutionSha256: z.ZodString;
257
+ journeySha256: z.ZodString;
258
+ verificationReportSha256: z.ZodString;
259
+ verificationRunId: z.ZodString;
260
+ stepCount: z.ZodNumber;
261
+ }, z.core.$strict>>;
262
+ sourceBrief: z.ZodOptional<z.ZodObject<{
263
+ path: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
264
+ sha256: z.ZodString;
265
+ }, z.core.$strict>>;
266
+ externalFlows: z.ZodArray<z.ZodObject<{
267
+ name: z.ZodString;
268
+ flowSha256: z.ZodString;
269
+ escapedPackageName: z.ZodString;
270
+ stepCount: z.ZodNumber;
271
+ }, z.core.$strict>>;
100
272
  candidateSteps: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
273
+ device: z.ZodOptional<z.ZodString>;
101
274
  activity: z.ZodObject<{
102
275
  before: z.ZodString;
103
276
  after: z.ZodString;
@@ -105,14 +278,15 @@ export declare const GenerationSessionSchema: z.ZodObject<{
105
278
  expect: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
106
279
  type: z.ZodLiteral<"activity">;
107
280
  value: z.ZodString;
281
+ packageName: z.ZodOptional<z.ZodString>;
108
282
  timeoutMs: z.ZodNumber;
109
283
  }, z.core.$strict>, z.ZodObject<{
110
284
  type: z.ZodLiteral<"element">;
111
- locator: z.ZodObject<{
112
- resourceId: z.ZodOptional<z.ZodString>;
113
- text: z.ZodOptional<z.ZodString>;
114
- contentDescription: z.ZodOptional<z.ZodString>;
115
- }, z.core.$strict>;
285
+ locator: z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>;
286
+ enabled: z.ZodOptional<z.ZodBoolean>;
287
+ clickable: z.ZodOptional<z.ZodBoolean>;
288
+ absent: z.ZodOptional<z.ZodBoolean>;
289
+ packageName: z.ZodOptional<z.ZodString>;
116
290
  timeoutMs: z.ZodNumber;
117
291
  }, z.core.$strict>, z.ZodObject<{
118
292
  type: z.ZodLiteral<"logcat">;
@@ -131,19 +305,51 @@ export declare const GenerationSessionSchema: z.ZodObject<{
131
305
  literal: "literal";
132
306
  regex: "regex";
133
307
  }>>;
308
+ packageName: z.ZodOptional<z.ZodString>;
309
+ timeoutMs: z.ZodNumber;
310
+ }, z.core.$strict>, z.ZodObject<{
311
+ type: z.ZodLiteral<"logcatEvent">;
312
+ tag: z.ZodString;
313
+ event: z.ZodString;
314
+ fields: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
315
+ correlation: z.ZodOptional<z.ZodObject<{
316
+ key: z.ZodString;
317
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodString]>;
318
+ }, z.core.$strict>>;
319
+ capture: z.ZodOptional<z.ZodObject<{
320
+ name: z.ZodString;
321
+ field: z.ZodOptional<z.ZodString>;
322
+ group: z.ZodOptional<z.ZodLiteral<"correlation">>;
323
+ valueType: z.ZodEnum<{
324
+ string: "string";
325
+ integer: "integer";
326
+ identifier: "identifier";
327
+ }>;
328
+ }, z.core.$strict>>;
329
+ unique: z.ZodDefault<z.ZodLiteral<true>>;
330
+ window: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
331
+ from: z.ZodLiteral<"stepStart">;
332
+ }, z.core.$strict>, z.ZodObject<{
333
+ from: z.ZodLiteral<"runStart">;
334
+ }, z.core.$strict>, z.ZodObject<{
335
+ from: z.ZodLiteral<"marker">;
336
+ markerId: z.ZodString;
337
+ }, z.core.$strict>], "from">>;
134
338
  timeoutMs: z.ZodNumber;
135
339
  }, z.core.$strict>], "type">>;
136
- action: z.ZodLiteral<"click">;
137
- locator: z.ZodObject<{
138
- resourceId: z.ZodOptional<z.ZodString>;
139
- text: z.ZodOptional<z.ZodString>;
140
- contentDescription: z.ZodOptional<z.ZodString>;
141
- }, z.core.$strict>;
340
+ replayMode: z.ZodOptional<z.ZodEnum<{
341
+ auto: "auto";
342
+ manual: "manual";
343
+ }>>;
142
344
  fallback: z.ZodOptional<z.ZodObject<{
143
345
  type: z.ZodLiteral<"annotatedLabel">;
144
346
  label: z.ZodString;
145
347
  }, z.core.$strict>>;
348
+ anchor: z.ZodOptional<z.ZodString>;
349
+ locator: z.ZodOptional<z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>>;
350
+ action: z.ZodLiteral<"click">;
146
351
  }, z.core.$strict>, z.ZodObject<{
352
+ device: z.ZodOptional<z.ZodString>;
147
353
  activity: z.ZodObject<{
148
354
  before: z.ZodString;
149
355
  after: z.ZodString;
@@ -151,14 +357,15 @@ export declare const GenerationSessionSchema: z.ZodObject<{
151
357
  expect: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
152
358
  type: z.ZodLiteral<"activity">;
153
359
  value: z.ZodString;
360
+ packageName: z.ZodOptional<z.ZodString>;
154
361
  timeoutMs: z.ZodNumber;
155
362
  }, z.core.$strict>, z.ZodObject<{
156
363
  type: z.ZodLiteral<"element">;
157
- locator: z.ZodObject<{
158
- resourceId: z.ZodOptional<z.ZodString>;
159
- text: z.ZodOptional<z.ZodString>;
160
- contentDescription: z.ZodOptional<z.ZodString>;
161
- }, z.core.$strict>;
364
+ locator: z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>;
365
+ enabled: z.ZodOptional<z.ZodBoolean>;
366
+ clickable: z.ZodOptional<z.ZodBoolean>;
367
+ absent: z.ZodOptional<z.ZodBoolean>;
368
+ packageName: z.ZodOptional<z.ZodString>;
162
369
  timeoutMs: z.ZodNumber;
163
370
  }, z.core.$strict>, z.ZodObject<{
164
371
  type: z.ZodLiteral<"logcat">;
@@ -177,20 +384,52 @@ export declare const GenerationSessionSchema: z.ZodObject<{
177
384
  literal: "literal";
178
385
  regex: "regex";
179
386
  }>>;
387
+ packageName: z.ZodOptional<z.ZodString>;
388
+ timeoutMs: z.ZodNumber;
389
+ }, z.core.$strict>, z.ZodObject<{
390
+ type: z.ZodLiteral<"logcatEvent">;
391
+ tag: z.ZodString;
392
+ event: z.ZodString;
393
+ fields: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
394
+ correlation: z.ZodOptional<z.ZodObject<{
395
+ key: z.ZodString;
396
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodString]>;
397
+ }, z.core.$strict>>;
398
+ capture: z.ZodOptional<z.ZodObject<{
399
+ name: z.ZodString;
400
+ field: z.ZodOptional<z.ZodString>;
401
+ group: z.ZodOptional<z.ZodLiteral<"correlation">>;
402
+ valueType: z.ZodEnum<{
403
+ string: "string";
404
+ integer: "integer";
405
+ identifier: "identifier";
406
+ }>;
407
+ }, z.core.$strict>>;
408
+ unique: z.ZodDefault<z.ZodLiteral<true>>;
409
+ window: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
410
+ from: z.ZodLiteral<"stepStart">;
411
+ }, z.core.$strict>, z.ZodObject<{
412
+ from: z.ZodLiteral<"runStart">;
413
+ }, z.core.$strict>, z.ZodObject<{
414
+ from: z.ZodLiteral<"marker">;
415
+ markerId: z.ZodString;
416
+ }, z.core.$strict>], "from">>;
180
417
  timeoutMs: z.ZodNumber;
181
418
  }, z.core.$strict>], "type">>;
182
- action: z.ZodLiteral<"longClick">;
183
- locator: z.ZodObject<{
184
- resourceId: z.ZodOptional<z.ZodString>;
185
- text: z.ZodOptional<z.ZodString>;
186
- contentDescription: z.ZodOptional<z.ZodString>;
187
- }, z.core.$strict>;
419
+ replayMode: z.ZodOptional<z.ZodEnum<{
420
+ auto: "auto";
421
+ manual: "manual";
422
+ }>>;
188
423
  durationMs: z.ZodDefault<z.ZodNumber>;
189
424
  fallback: z.ZodOptional<z.ZodObject<{
190
425
  type: z.ZodLiteral<"annotatedLabel">;
191
426
  label: z.ZodString;
192
427
  }, z.core.$strict>>;
428
+ anchor: z.ZodOptional<z.ZodString>;
429
+ locator: z.ZodOptional<z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>>;
430
+ action: z.ZodLiteral<"longClick">;
193
431
  }, z.core.$strict>, z.ZodObject<{
432
+ device: z.ZodOptional<z.ZodString>;
194
433
  activity: z.ZodObject<{
195
434
  before: z.ZodString;
196
435
  after: z.ZodString;
@@ -198,14 +437,15 @@ export declare const GenerationSessionSchema: z.ZodObject<{
198
437
  expect: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
199
438
  type: z.ZodLiteral<"activity">;
200
439
  value: z.ZodString;
440
+ packageName: z.ZodOptional<z.ZodString>;
201
441
  timeoutMs: z.ZodNumber;
202
442
  }, z.core.$strict>, z.ZodObject<{
203
443
  type: z.ZodLiteral<"element">;
204
- locator: z.ZodObject<{
205
- resourceId: z.ZodOptional<z.ZodString>;
206
- text: z.ZodOptional<z.ZodString>;
207
- contentDescription: z.ZodOptional<z.ZodString>;
208
- }, z.core.$strict>;
444
+ locator: z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>;
445
+ enabled: z.ZodOptional<z.ZodBoolean>;
446
+ clickable: z.ZodOptional<z.ZodBoolean>;
447
+ absent: z.ZodOptional<z.ZodBoolean>;
448
+ packageName: z.ZodOptional<z.ZodString>;
209
449
  timeoutMs: z.ZodNumber;
210
450
  }, z.core.$strict>, z.ZodObject<{
211
451
  type: z.ZodLiteral<"logcat">;
@@ -224,11 +464,47 @@ export declare const GenerationSessionSchema: z.ZodObject<{
224
464
  literal: "literal";
225
465
  regex: "regex";
226
466
  }>>;
467
+ packageName: z.ZodOptional<z.ZodString>;
468
+ timeoutMs: z.ZodNumber;
469
+ }, z.core.$strict>, z.ZodObject<{
470
+ type: z.ZodLiteral<"logcatEvent">;
471
+ tag: z.ZodString;
472
+ event: z.ZodString;
473
+ fields: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
474
+ correlation: z.ZodOptional<z.ZodObject<{
475
+ key: z.ZodString;
476
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodString]>;
477
+ }, z.core.$strict>>;
478
+ capture: z.ZodOptional<z.ZodObject<{
479
+ name: z.ZodString;
480
+ field: z.ZodOptional<z.ZodString>;
481
+ group: z.ZodOptional<z.ZodLiteral<"correlation">>;
482
+ valueType: z.ZodEnum<{
483
+ string: "string";
484
+ integer: "integer";
485
+ identifier: "identifier";
486
+ }>;
487
+ }, z.core.$strict>>;
488
+ unique: z.ZodDefault<z.ZodLiteral<true>>;
489
+ window: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
490
+ from: z.ZodLiteral<"stepStart">;
491
+ }, z.core.$strict>, z.ZodObject<{
492
+ from: z.ZodLiteral<"runStart">;
493
+ }, z.core.$strict>, z.ZodObject<{
494
+ from: z.ZodLiteral<"marker">;
495
+ markerId: z.ZodString;
496
+ }, z.core.$strict>], "from">>;
227
497
  timeoutMs: z.ZodNumber;
228
498
  }, z.core.$strict>], "type">>;
499
+ replayMode: z.ZodOptional<z.ZodEnum<{
500
+ auto: "auto";
501
+ manual: "manual";
502
+ }>>;
229
503
  action: z.ZodLiteral<"inputText">;
230
504
  text: z.ZodString;
505
+ anchor: z.ZodOptional<z.ZodString>;
231
506
  }, z.core.$strict>, z.ZodObject<{
507
+ device: z.ZodOptional<z.ZodString>;
232
508
  activity: z.ZodObject<{
233
509
  before: z.ZodString;
234
510
  after: z.ZodString;
@@ -236,14 +512,15 @@ export declare const GenerationSessionSchema: z.ZodObject<{
236
512
  expect: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
237
513
  type: z.ZodLiteral<"activity">;
238
514
  value: z.ZodString;
515
+ packageName: z.ZodOptional<z.ZodString>;
239
516
  timeoutMs: z.ZodNumber;
240
517
  }, z.core.$strict>, z.ZodObject<{
241
518
  type: z.ZodLiteral<"element">;
242
- locator: z.ZodObject<{
243
- resourceId: z.ZodOptional<z.ZodString>;
244
- text: z.ZodOptional<z.ZodString>;
245
- contentDescription: z.ZodOptional<z.ZodString>;
246
- }, z.core.$strict>;
519
+ locator: z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>;
520
+ enabled: z.ZodOptional<z.ZodBoolean>;
521
+ clickable: z.ZodOptional<z.ZodBoolean>;
522
+ absent: z.ZodOptional<z.ZodBoolean>;
523
+ packageName: z.ZodOptional<z.ZodString>;
247
524
  timeoutMs: z.ZodNumber;
248
525
  }, z.core.$strict>, z.ZodObject<{
249
526
  type: z.ZodLiteral<"logcat">;
@@ -262,14 +539,42 @@ export declare const GenerationSessionSchema: z.ZodObject<{
262
539
  literal: "literal";
263
540
  regex: "regex";
264
541
  }>>;
542
+ packageName: z.ZodOptional<z.ZodString>;
543
+ timeoutMs: z.ZodNumber;
544
+ }, z.core.$strict>, z.ZodObject<{
545
+ type: z.ZodLiteral<"logcatEvent">;
546
+ tag: z.ZodString;
547
+ event: z.ZodString;
548
+ fields: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
549
+ correlation: z.ZodOptional<z.ZodObject<{
550
+ key: z.ZodString;
551
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodString]>;
552
+ }, z.core.$strict>>;
553
+ capture: z.ZodOptional<z.ZodObject<{
554
+ name: z.ZodString;
555
+ field: z.ZodOptional<z.ZodString>;
556
+ group: z.ZodOptional<z.ZodLiteral<"correlation">>;
557
+ valueType: z.ZodEnum<{
558
+ string: "string";
559
+ integer: "integer";
560
+ identifier: "identifier";
561
+ }>;
562
+ }, z.core.$strict>>;
563
+ unique: z.ZodDefault<z.ZodLiteral<true>>;
564
+ window: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
565
+ from: z.ZodLiteral<"stepStart">;
566
+ }, z.core.$strict>, z.ZodObject<{
567
+ from: z.ZodLiteral<"runStart">;
568
+ }, z.core.$strict>, z.ZodObject<{
569
+ from: z.ZodLiteral<"marker">;
570
+ markerId: z.ZodString;
571
+ }, z.core.$strict>], "from">>;
265
572
  timeoutMs: z.ZodNumber;
266
573
  }, z.core.$strict>], "type">>;
267
- action: z.ZodLiteral<"swipe">;
268
- locator: z.ZodObject<{
269
- resourceId: z.ZodOptional<z.ZodString>;
270
- text: z.ZodOptional<z.ZodString>;
271
- contentDescription: z.ZodOptional<z.ZodString>;
272
- }, z.core.$strict>;
574
+ replayMode: z.ZodOptional<z.ZodEnum<{
575
+ auto: "auto";
576
+ manual: "manual";
577
+ }>>;
273
578
  direction: z.ZodEnum<{
274
579
  left: "left";
275
580
  right: "right";
@@ -278,7 +583,11 @@ export declare const GenerationSessionSchema: z.ZodObject<{
278
583
  }>;
279
584
  distancePercent: z.ZodDefault<z.ZodNumber>;
280
585
  durationMs: z.ZodDefault<z.ZodNumber>;
586
+ anchor: z.ZodOptional<z.ZodString>;
587
+ locator: z.ZodOptional<z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>>;
588
+ action: z.ZodLiteral<"swipe">;
281
589
  }, z.core.$strict>, z.ZodObject<{
590
+ device: z.ZodOptional<z.ZodString>;
282
591
  activity: z.ZodObject<{
283
592
  before: z.ZodString;
284
593
  after: z.ZodString;
@@ -286,14 +595,15 @@ export declare const GenerationSessionSchema: z.ZodObject<{
286
595
  expect: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
287
596
  type: z.ZodLiteral<"activity">;
288
597
  value: z.ZodString;
598
+ packageName: z.ZodOptional<z.ZodString>;
289
599
  timeoutMs: z.ZodNumber;
290
600
  }, z.core.$strict>, z.ZodObject<{
291
601
  type: z.ZodLiteral<"element">;
292
- locator: z.ZodObject<{
293
- resourceId: z.ZodOptional<z.ZodString>;
294
- text: z.ZodOptional<z.ZodString>;
295
- contentDescription: z.ZodOptional<z.ZodString>;
296
- }, z.core.$strict>;
602
+ locator: z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>;
603
+ enabled: z.ZodOptional<z.ZodBoolean>;
604
+ clickable: z.ZodOptional<z.ZodBoolean>;
605
+ absent: z.ZodOptional<z.ZodBoolean>;
606
+ packageName: z.ZodOptional<z.ZodString>;
297
607
  timeoutMs: z.ZodNumber;
298
608
  }, z.core.$strict>, z.ZodObject<{
299
609
  type: z.ZodLiteral<"logcat">;
@@ -312,19 +622,43 @@ export declare const GenerationSessionSchema: z.ZodObject<{
312
622
  literal: "literal";
313
623
  regex: "regex";
314
624
  }>>;
625
+ packageName: z.ZodOptional<z.ZodString>;
626
+ timeoutMs: z.ZodNumber;
627
+ }, z.core.$strict>, z.ZodObject<{
628
+ type: z.ZodLiteral<"logcatEvent">;
629
+ tag: z.ZodString;
630
+ event: z.ZodString;
631
+ fields: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
632
+ correlation: z.ZodOptional<z.ZodObject<{
633
+ key: z.ZodString;
634
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodString]>;
635
+ }, z.core.$strict>>;
636
+ capture: z.ZodOptional<z.ZodObject<{
637
+ name: z.ZodString;
638
+ field: z.ZodOptional<z.ZodString>;
639
+ group: z.ZodOptional<z.ZodLiteral<"correlation">>;
640
+ valueType: z.ZodEnum<{
641
+ string: "string";
642
+ integer: "integer";
643
+ identifier: "identifier";
644
+ }>;
645
+ }, z.core.$strict>>;
646
+ unique: z.ZodDefault<z.ZodLiteral<true>>;
647
+ window: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
648
+ from: z.ZodLiteral<"stepStart">;
649
+ }, z.core.$strict>, z.ZodObject<{
650
+ from: z.ZodLiteral<"runStart">;
651
+ }, z.core.$strict>, z.ZodObject<{
652
+ from: z.ZodLiteral<"marker">;
653
+ markerId: z.ZodString;
654
+ }, z.core.$strict>], "from">>;
315
655
  timeoutMs: z.ZodNumber;
316
656
  }, z.core.$strict>], "type">>;
317
- action: z.ZodLiteral<"scrollTo">;
318
- locator: z.ZodObject<{
319
- resourceId: z.ZodOptional<z.ZodString>;
320
- text: z.ZodOptional<z.ZodString>;
321
- contentDescription: z.ZodOptional<z.ZodString>;
322
- }, z.core.$strict>;
323
- container: z.ZodObject<{
324
- resourceId: z.ZodOptional<z.ZodString>;
325
- text: z.ZodOptional<z.ZodString>;
326
- contentDescription: z.ZodOptional<z.ZodString>;
327
- }, z.core.$strict>;
657
+ replayMode: z.ZodOptional<z.ZodEnum<{
658
+ auto: "auto";
659
+ manual: "manual";
660
+ }>>;
661
+ container: z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>;
328
662
  direction: z.ZodEnum<{
329
663
  left: "left";
330
664
  right: "right";
@@ -334,7 +668,11 @@ export declare const GenerationSessionSchema: z.ZodObject<{
334
668
  maxSwipes: z.ZodDefault<z.ZodNumber>;
335
669
  distancePercent: z.ZodDefault<z.ZodNumber>;
336
670
  durationMs: z.ZodDefault<z.ZodNumber>;
671
+ anchor: z.ZodOptional<z.ZodString>;
672
+ locator: z.ZodOptional<z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>>;
673
+ action: z.ZodLiteral<"scrollTo">;
337
674
  }, z.core.$strict>, z.ZodObject<{
675
+ device: z.ZodOptional<z.ZodString>;
338
676
  activity: z.ZodObject<{
339
677
  before: z.ZodString;
340
678
  after: z.ZodString;
@@ -342,14 +680,15 @@ export declare const GenerationSessionSchema: z.ZodObject<{
342
680
  expect: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
343
681
  type: z.ZodLiteral<"activity">;
344
682
  value: z.ZodString;
683
+ packageName: z.ZodOptional<z.ZodString>;
345
684
  timeoutMs: z.ZodNumber;
346
685
  }, z.core.$strict>, z.ZodObject<{
347
686
  type: z.ZodLiteral<"element">;
348
- locator: z.ZodObject<{
349
- resourceId: z.ZodOptional<z.ZodString>;
350
- text: z.ZodOptional<z.ZodString>;
351
- contentDescription: z.ZodOptional<z.ZodString>;
352
- }, z.core.$strict>;
687
+ locator: z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>;
688
+ enabled: z.ZodOptional<z.ZodBoolean>;
689
+ clickable: z.ZodOptional<z.ZodBoolean>;
690
+ absent: z.ZodOptional<z.ZodBoolean>;
691
+ packageName: z.ZodOptional<z.ZodString>;
353
692
  timeoutMs: z.ZodNumber;
354
693
  }, z.core.$strict>, z.ZodObject<{
355
694
  type: z.ZodLiteral<"logcat">;
@@ -368,10 +707,45 @@ export declare const GenerationSessionSchema: z.ZodObject<{
368
707
  literal: "literal";
369
708
  regex: "regex";
370
709
  }>>;
710
+ packageName: z.ZodOptional<z.ZodString>;
711
+ timeoutMs: z.ZodNumber;
712
+ }, z.core.$strict>, z.ZodObject<{
713
+ type: z.ZodLiteral<"logcatEvent">;
714
+ tag: z.ZodString;
715
+ event: z.ZodString;
716
+ fields: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
717
+ correlation: z.ZodOptional<z.ZodObject<{
718
+ key: z.ZodString;
719
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodString]>;
720
+ }, z.core.$strict>>;
721
+ capture: z.ZodOptional<z.ZodObject<{
722
+ name: z.ZodString;
723
+ field: z.ZodOptional<z.ZodString>;
724
+ group: z.ZodOptional<z.ZodLiteral<"correlation">>;
725
+ valueType: z.ZodEnum<{
726
+ string: "string";
727
+ integer: "integer";
728
+ identifier: "identifier";
729
+ }>;
730
+ }, z.core.$strict>>;
731
+ unique: z.ZodDefault<z.ZodLiteral<true>>;
732
+ window: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
733
+ from: z.ZodLiteral<"stepStart">;
734
+ }, z.core.$strict>, z.ZodObject<{
735
+ from: z.ZodLiteral<"runStart">;
736
+ }, z.core.$strict>, z.ZodObject<{
737
+ from: z.ZodLiteral<"marker">;
738
+ markerId: z.ZodString;
739
+ }, z.core.$strict>], "from">>;
371
740
  timeoutMs: z.ZodNumber;
372
741
  }, z.core.$strict>], "type">>;
742
+ replayMode: z.ZodOptional<z.ZodEnum<{
743
+ auto: "auto";
744
+ manual: "manual";
745
+ }>>;
373
746
  action: z.ZodLiteral<"back">;
374
747
  }, z.core.$strict>, z.ZodObject<{
748
+ device: z.ZodOptional<z.ZodString>;
375
749
  activity: z.ZodObject<{
376
750
  before: z.ZodString;
377
751
  after: z.ZodString;
@@ -379,14 +753,15 @@ export declare const GenerationSessionSchema: z.ZodObject<{
379
753
  expect: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
380
754
  type: z.ZodLiteral<"activity">;
381
755
  value: z.ZodString;
756
+ packageName: z.ZodOptional<z.ZodString>;
382
757
  timeoutMs: z.ZodNumber;
383
758
  }, z.core.$strict>, z.ZodObject<{
384
759
  type: z.ZodLiteral<"element">;
385
- locator: z.ZodObject<{
386
- resourceId: z.ZodOptional<z.ZodString>;
387
- text: z.ZodOptional<z.ZodString>;
388
- contentDescription: z.ZodOptional<z.ZodString>;
389
- }, z.core.$strict>;
760
+ locator: z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>;
761
+ enabled: z.ZodOptional<z.ZodBoolean>;
762
+ clickable: z.ZodOptional<z.ZodBoolean>;
763
+ absent: z.ZodOptional<z.ZodBoolean>;
764
+ packageName: z.ZodOptional<z.ZodString>;
390
765
  timeoutMs: z.ZodNumber;
391
766
  }, z.core.$strict>, z.ZodObject<{
392
767
  type: z.ZodLiteral<"logcat">;
@@ -405,11 +780,616 @@ export declare const GenerationSessionSchema: z.ZodObject<{
405
780
  literal: "literal";
406
781
  regex: "regex";
407
782
  }>>;
783
+ packageName: z.ZodOptional<z.ZodString>;
784
+ timeoutMs: z.ZodNumber;
785
+ }, z.core.$strict>, z.ZodObject<{
786
+ type: z.ZodLiteral<"logcatEvent">;
787
+ tag: z.ZodString;
788
+ event: z.ZodString;
789
+ fields: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
790
+ correlation: z.ZodOptional<z.ZodObject<{
791
+ key: z.ZodString;
792
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodString]>;
793
+ }, z.core.$strict>>;
794
+ capture: z.ZodOptional<z.ZodObject<{
795
+ name: z.ZodString;
796
+ field: z.ZodOptional<z.ZodString>;
797
+ group: z.ZodOptional<z.ZodLiteral<"correlation">>;
798
+ valueType: z.ZodEnum<{
799
+ string: "string";
800
+ integer: "integer";
801
+ identifier: "identifier";
802
+ }>;
803
+ }, z.core.$strict>>;
804
+ unique: z.ZodDefault<z.ZodLiteral<true>>;
805
+ window: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
806
+ from: z.ZodLiteral<"stepStart">;
807
+ }, z.core.$strict>, z.ZodObject<{
808
+ from: z.ZodLiteral<"runStart">;
809
+ }, z.core.$strict>, z.ZodObject<{
810
+ from: z.ZodLiteral<"marker">;
811
+ markerId: z.ZodString;
812
+ }, z.core.$strict>], "from">>;
408
813
  timeoutMs: z.ZodNumber;
409
814
  }, z.core.$strict>], "type">>;
815
+ replayMode: z.ZodOptional<z.ZodEnum<{
816
+ auto: "auto";
817
+ manual: "manual";
818
+ }>>;
410
819
  action: z.ZodLiteral<"wait">;
820
+ markerId: z.ZodOptional<z.ZodString>;
821
+ until: z.ZodOptional<z.ZodObject<{
822
+ element: z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>;
823
+ }, z.core.$strict>>;
824
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
825
+ }, z.core.$strict>, z.ZodObject<{
826
+ replayMode: z.ZodDefault<z.ZodEnum<{
827
+ auto: "auto";
828
+ manual: "manual";
829
+ }>>;
830
+ device: z.ZodOptional<z.ZodString>;
831
+ activity: z.ZodObject<{
832
+ before: z.ZodString;
833
+ after: z.ZodString;
834
+ }, z.core.$strict>;
835
+ expect: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
836
+ type: z.ZodLiteral<"activity">;
837
+ value: z.ZodString;
838
+ packageName: z.ZodOptional<z.ZodString>;
839
+ timeoutMs: z.ZodNumber;
840
+ }, z.core.$strict>, z.ZodObject<{
841
+ type: z.ZodLiteral<"element">;
842
+ locator: z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>;
843
+ enabled: z.ZodOptional<z.ZodBoolean>;
844
+ clickable: z.ZodOptional<z.ZodBoolean>;
845
+ absent: z.ZodOptional<z.ZodBoolean>;
846
+ packageName: z.ZodOptional<z.ZodString>;
847
+ timeoutMs: z.ZodNumber;
848
+ }, z.core.$strict>, z.ZodObject<{
849
+ type: z.ZodLiteral<"logcat">;
850
+ tag: z.ZodString;
851
+ level: z.ZodOptional<z.ZodEnum<{
852
+ V: "V";
853
+ D: "D";
854
+ I: "I";
855
+ W: "W";
856
+ E: "E";
857
+ F: "F";
858
+ A: "A";
859
+ }>>;
860
+ pattern: z.ZodString;
861
+ match: z.ZodDefault<z.ZodEnum<{
862
+ literal: "literal";
863
+ regex: "regex";
864
+ }>>;
865
+ packageName: z.ZodOptional<z.ZodString>;
866
+ timeoutMs: z.ZodNumber;
867
+ }, z.core.$strict>, z.ZodObject<{
868
+ type: z.ZodLiteral<"logcatEvent">;
869
+ tag: z.ZodString;
870
+ event: z.ZodString;
871
+ fields: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
872
+ correlation: z.ZodOptional<z.ZodObject<{
873
+ key: z.ZodString;
874
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodString]>;
875
+ }, z.core.$strict>>;
876
+ capture: z.ZodOptional<z.ZodObject<{
877
+ name: z.ZodString;
878
+ field: z.ZodOptional<z.ZodString>;
879
+ group: z.ZodOptional<z.ZodLiteral<"correlation">>;
880
+ valueType: z.ZodEnum<{
881
+ string: "string";
882
+ integer: "integer";
883
+ identifier: "identifier";
884
+ }>;
885
+ }, z.core.$strict>>;
886
+ unique: z.ZodDefault<z.ZodLiteral<true>>;
887
+ window: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
888
+ from: z.ZodLiteral<"stepStart">;
889
+ }, z.core.$strict>, z.ZodObject<{
890
+ from: z.ZodLiteral<"runStart">;
891
+ }, z.core.$strict>, z.ZodObject<{
892
+ from: z.ZodLiteral<"marker">;
893
+ markerId: z.ZodString;
894
+ }, z.core.$strict>], "from">>;
895
+ timeoutMs: z.ZodNumber;
896
+ }, z.core.$strict>], "type">>;
897
+ action: z.ZodLiteral<"bridge">;
898
+ scenario: z.ZodEnum<{
899
+ custom: "custom";
900
+ photoCapture: "photoCapture";
901
+ pickImage: "pickImage";
902
+ pickFile: "pickFile";
903
+ }>;
904
+ description: z.ZodString;
905
+ triggerLocator: z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>;
906
+ escapedPackageName: z.ZodOptional<z.ZodString>;
907
+ returnTimeoutMs: z.ZodNumber;
908
+ flow: z.ZodOptional<z.ZodString>;
909
+ externalSteps: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
910
+ expectedActivity: z.ZodString;
911
+ expect: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
912
+ type: z.ZodLiteral<"activity">;
913
+ value: z.ZodString;
914
+ packageName: z.ZodOptional<z.ZodString>;
915
+ timeoutMs: z.ZodNumber;
916
+ }, z.core.$strict>, z.ZodObject<{
917
+ type: z.ZodLiteral<"element">;
918
+ locator: z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>;
919
+ enabled: z.ZodOptional<z.ZodBoolean>;
920
+ clickable: z.ZodOptional<z.ZodBoolean>;
921
+ absent: z.ZodOptional<z.ZodBoolean>;
922
+ packageName: z.ZodOptional<z.ZodString>;
923
+ timeoutMs: z.ZodNumber;
924
+ }, z.core.$strict>, z.ZodObject<{
925
+ type: z.ZodLiteral<"logcat">;
926
+ tag: z.ZodString;
927
+ level: z.ZodOptional<z.ZodEnum<{
928
+ V: "V";
929
+ D: "D";
930
+ I: "I";
931
+ W: "W";
932
+ E: "E";
933
+ F: "F";
934
+ A: "A";
935
+ }>>;
936
+ pattern: z.ZodString;
937
+ match: z.ZodDefault<z.ZodEnum<{
938
+ literal: "literal";
939
+ regex: "regex";
940
+ }>>;
941
+ packageName: z.ZodOptional<z.ZodString>;
942
+ timeoutMs: z.ZodNumber;
943
+ }, z.core.$strict>, z.ZodObject<{
944
+ type: z.ZodLiteral<"logcatEvent">;
945
+ tag: z.ZodString;
946
+ event: z.ZodString;
947
+ fields: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
948
+ correlation: z.ZodOptional<z.ZodObject<{
949
+ key: z.ZodString;
950
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodString]>;
951
+ }, z.core.$strict>>;
952
+ capture: z.ZodOptional<z.ZodObject<{
953
+ name: z.ZodString;
954
+ field: z.ZodOptional<z.ZodString>;
955
+ group: z.ZodOptional<z.ZodLiteral<"correlation">>;
956
+ valueType: z.ZodEnum<{
957
+ string: "string";
958
+ integer: "integer";
959
+ identifier: "identifier";
960
+ }>;
961
+ }, z.core.$strict>>;
962
+ unique: z.ZodDefault<z.ZodLiteral<true>>;
963
+ window: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
964
+ from: z.ZodLiteral<"stepStart">;
965
+ }, z.core.$strict>, z.ZodObject<{
966
+ from: z.ZodLiteral<"runStart">;
967
+ }, z.core.$strict>, z.ZodObject<{
968
+ from: z.ZodLiteral<"marker">;
969
+ markerId: z.ZodString;
970
+ }, z.core.$strict>], "from">>;
971
+ timeoutMs: z.ZodNumber;
972
+ }, z.core.$strict>], "type">>;
973
+ action: z.ZodLiteral<"click">;
974
+ locator: z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>;
975
+ }, z.core.$strict>, z.ZodObject<{
976
+ expectedActivity: z.ZodString;
977
+ expect: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
978
+ type: z.ZodLiteral<"activity">;
979
+ value: z.ZodString;
980
+ packageName: z.ZodOptional<z.ZodString>;
981
+ timeoutMs: z.ZodNumber;
982
+ }, z.core.$strict>, z.ZodObject<{
983
+ type: z.ZodLiteral<"element">;
984
+ locator: z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>;
985
+ enabled: z.ZodOptional<z.ZodBoolean>;
986
+ clickable: z.ZodOptional<z.ZodBoolean>;
987
+ absent: z.ZodOptional<z.ZodBoolean>;
988
+ packageName: z.ZodOptional<z.ZodString>;
989
+ timeoutMs: z.ZodNumber;
990
+ }, z.core.$strict>, z.ZodObject<{
991
+ type: z.ZodLiteral<"logcat">;
992
+ tag: z.ZodString;
993
+ level: z.ZodOptional<z.ZodEnum<{
994
+ V: "V";
995
+ D: "D";
996
+ I: "I";
997
+ W: "W";
998
+ E: "E";
999
+ F: "F";
1000
+ A: "A";
1001
+ }>>;
1002
+ pattern: z.ZodString;
1003
+ match: z.ZodDefault<z.ZodEnum<{
1004
+ literal: "literal";
1005
+ regex: "regex";
1006
+ }>>;
1007
+ packageName: z.ZodOptional<z.ZodString>;
1008
+ timeoutMs: z.ZodNumber;
1009
+ }, z.core.$strict>, z.ZodObject<{
1010
+ type: z.ZodLiteral<"logcatEvent">;
1011
+ tag: z.ZodString;
1012
+ event: z.ZodString;
1013
+ fields: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
1014
+ correlation: z.ZodOptional<z.ZodObject<{
1015
+ key: z.ZodString;
1016
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodString]>;
1017
+ }, z.core.$strict>>;
1018
+ capture: z.ZodOptional<z.ZodObject<{
1019
+ name: z.ZodString;
1020
+ field: z.ZodOptional<z.ZodString>;
1021
+ group: z.ZodOptional<z.ZodLiteral<"correlation">>;
1022
+ valueType: z.ZodEnum<{
1023
+ string: "string";
1024
+ integer: "integer";
1025
+ identifier: "identifier";
1026
+ }>;
1027
+ }, z.core.$strict>>;
1028
+ unique: z.ZodDefault<z.ZodLiteral<true>>;
1029
+ window: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
1030
+ from: z.ZodLiteral<"stepStart">;
1031
+ }, z.core.$strict>, z.ZodObject<{
1032
+ from: z.ZodLiteral<"runStart">;
1033
+ }, z.core.$strict>, z.ZodObject<{
1034
+ from: z.ZodLiteral<"marker">;
1035
+ markerId: z.ZodString;
1036
+ }, z.core.$strict>], "from">>;
1037
+ timeoutMs: z.ZodNumber;
1038
+ }, z.core.$strict>], "type">>;
1039
+ action: z.ZodLiteral<"longClick">;
1040
+ locator: z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>;
1041
+ durationMs: z.ZodDefault<z.ZodNumber>;
1042
+ }, z.core.$strict>, z.ZodObject<{
1043
+ expectedActivity: z.ZodString;
1044
+ expect: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
1045
+ type: z.ZodLiteral<"activity">;
1046
+ value: z.ZodString;
1047
+ packageName: z.ZodOptional<z.ZodString>;
1048
+ timeoutMs: z.ZodNumber;
1049
+ }, z.core.$strict>, z.ZodObject<{
1050
+ type: z.ZodLiteral<"element">;
1051
+ locator: z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>;
1052
+ enabled: z.ZodOptional<z.ZodBoolean>;
1053
+ clickable: z.ZodOptional<z.ZodBoolean>;
1054
+ absent: z.ZodOptional<z.ZodBoolean>;
1055
+ packageName: z.ZodOptional<z.ZodString>;
1056
+ timeoutMs: z.ZodNumber;
1057
+ }, z.core.$strict>, z.ZodObject<{
1058
+ type: z.ZodLiteral<"logcat">;
1059
+ tag: z.ZodString;
1060
+ level: z.ZodOptional<z.ZodEnum<{
1061
+ V: "V";
1062
+ D: "D";
1063
+ I: "I";
1064
+ W: "W";
1065
+ E: "E";
1066
+ F: "F";
1067
+ A: "A";
1068
+ }>>;
1069
+ pattern: z.ZodString;
1070
+ match: z.ZodDefault<z.ZodEnum<{
1071
+ literal: "literal";
1072
+ regex: "regex";
1073
+ }>>;
1074
+ packageName: z.ZodOptional<z.ZodString>;
1075
+ timeoutMs: z.ZodNumber;
1076
+ }, z.core.$strict>, z.ZodObject<{
1077
+ type: z.ZodLiteral<"logcatEvent">;
1078
+ tag: z.ZodString;
1079
+ event: z.ZodString;
1080
+ fields: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
1081
+ correlation: z.ZodOptional<z.ZodObject<{
1082
+ key: z.ZodString;
1083
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodString]>;
1084
+ }, z.core.$strict>>;
1085
+ capture: z.ZodOptional<z.ZodObject<{
1086
+ name: z.ZodString;
1087
+ field: z.ZodOptional<z.ZodString>;
1088
+ group: z.ZodOptional<z.ZodLiteral<"correlation">>;
1089
+ valueType: z.ZodEnum<{
1090
+ string: "string";
1091
+ integer: "integer";
1092
+ identifier: "identifier";
1093
+ }>;
1094
+ }, z.core.$strict>>;
1095
+ unique: z.ZodDefault<z.ZodLiteral<true>>;
1096
+ window: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
1097
+ from: z.ZodLiteral<"stepStart">;
1098
+ }, z.core.$strict>, z.ZodObject<{
1099
+ from: z.ZodLiteral<"runStart">;
1100
+ }, z.core.$strict>, z.ZodObject<{
1101
+ from: z.ZodLiteral<"marker">;
1102
+ markerId: z.ZodString;
1103
+ }, z.core.$strict>], "from">>;
1104
+ timeoutMs: z.ZodNumber;
1105
+ }, z.core.$strict>], "type">>;
1106
+ action: z.ZodLiteral<"inputText">;
1107
+ text: z.ZodString;
1108
+ }, z.core.$strict>, z.ZodObject<{
1109
+ expectedActivity: z.ZodString;
1110
+ expect: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
1111
+ type: z.ZodLiteral<"activity">;
1112
+ value: z.ZodString;
1113
+ packageName: z.ZodOptional<z.ZodString>;
1114
+ timeoutMs: z.ZodNumber;
1115
+ }, z.core.$strict>, z.ZodObject<{
1116
+ type: z.ZodLiteral<"element">;
1117
+ locator: z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>;
1118
+ enabled: z.ZodOptional<z.ZodBoolean>;
1119
+ clickable: z.ZodOptional<z.ZodBoolean>;
1120
+ absent: z.ZodOptional<z.ZodBoolean>;
1121
+ packageName: z.ZodOptional<z.ZodString>;
1122
+ timeoutMs: z.ZodNumber;
1123
+ }, z.core.$strict>, z.ZodObject<{
1124
+ type: z.ZodLiteral<"logcat">;
1125
+ tag: z.ZodString;
1126
+ level: z.ZodOptional<z.ZodEnum<{
1127
+ V: "V";
1128
+ D: "D";
1129
+ I: "I";
1130
+ W: "W";
1131
+ E: "E";
1132
+ F: "F";
1133
+ A: "A";
1134
+ }>>;
1135
+ pattern: z.ZodString;
1136
+ match: z.ZodDefault<z.ZodEnum<{
1137
+ literal: "literal";
1138
+ regex: "regex";
1139
+ }>>;
1140
+ packageName: z.ZodOptional<z.ZodString>;
1141
+ timeoutMs: z.ZodNumber;
1142
+ }, z.core.$strict>, z.ZodObject<{
1143
+ type: z.ZodLiteral<"logcatEvent">;
1144
+ tag: z.ZodString;
1145
+ event: z.ZodString;
1146
+ fields: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
1147
+ correlation: z.ZodOptional<z.ZodObject<{
1148
+ key: z.ZodString;
1149
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodString]>;
1150
+ }, z.core.$strict>>;
1151
+ capture: z.ZodOptional<z.ZodObject<{
1152
+ name: z.ZodString;
1153
+ field: z.ZodOptional<z.ZodString>;
1154
+ group: z.ZodOptional<z.ZodLiteral<"correlation">>;
1155
+ valueType: z.ZodEnum<{
1156
+ string: "string";
1157
+ integer: "integer";
1158
+ identifier: "identifier";
1159
+ }>;
1160
+ }, z.core.$strict>>;
1161
+ unique: z.ZodDefault<z.ZodLiteral<true>>;
1162
+ window: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
1163
+ from: z.ZodLiteral<"stepStart">;
1164
+ }, z.core.$strict>, z.ZodObject<{
1165
+ from: z.ZodLiteral<"runStart">;
1166
+ }, z.core.$strict>, z.ZodObject<{
1167
+ from: z.ZodLiteral<"marker">;
1168
+ markerId: z.ZodString;
1169
+ }, z.core.$strict>], "from">>;
1170
+ timeoutMs: z.ZodNumber;
1171
+ }, z.core.$strict>], "type">>;
1172
+ action: z.ZodLiteral<"swipe">;
1173
+ locator: z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>;
1174
+ direction: z.ZodEnum<{
1175
+ left: "left";
1176
+ right: "right";
1177
+ up: "up";
1178
+ down: "down";
1179
+ }>;
1180
+ distancePercent: z.ZodDefault<z.ZodNumber>;
1181
+ durationMs: z.ZodDefault<z.ZodNumber>;
1182
+ }, z.core.$strict>, z.ZodObject<{
1183
+ expectedActivity: z.ZodString;
1184
+ expect: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
1185
+ type: z.ZodLiteral<"activity">;
1186
+ value: z.ZodString;
1187
+ packageName: z.ZodOptional<z.ZodString>;
1188
+ timeoutMs: z.ZodNumber;
1189
+ }, z.core.$strict>, z.ZodObject<{
1190
+ type: z.ZodLiteral<"element">;
1191
+ locator: z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>;
1192
+ enabled: z.ZodOptional<z.ZodBoolean>;
1193
+ clickable: z.ZodOptional<z.ZodBoolean>;
1194
+ absent: z.ZodOptional<z.ZodBoolean>;
1195
+ packageName: z.ZodOptional<z.ZodString>;
1196
+ timeoutMs: z.ZodNumber;
1197
+ }, z.core.$strict>, z.ZodObject<{
1198
+ type: z.ZodLiteral<"logcat">;
1199
+ tag: z.ZodString;
1200
+ level: z.ZodOptional<z.ZodEnum<{
1201
+ V: "V";
1202
+ D: "D";
1203
+ I: "I";
1204
+ W: "W";
1205
+ E: "E";
1206
+ F: "F";
1207
+ A: "A";
1208
+ }>>;
1209
+ pattern: z.ZodString;
1210
+ match: z.ZodDefault<z.ZodEnum<{
1211
+ literal: "literal";
1212
+ regex: "regex";
1213
+ }>>;
1214
+ packageName: z.ZodOptional<z.ZodString>;
1215
+ timeoutMs: z.ZodNumber;
1216
+ }, z.core.$strict>, z.ZodObject<{
1217
+ type: z.ZodLiteral<"logcatEvent">;
1218
+ tag: z.ZodString;
1219
+ event: z.ZodString;
1220
+ fields: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
1221
+ correlation: z.ZodOptional<z.ZodObject<{
1222
+ key: z.ZodString;
1223
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodString]>;
1224
+ }, z.core.$strict>>;
1225
+ capture: z.ZodOptional<z.ZodObject<{
1226
+ name: z.ZodString;
1227
+ field: z.ZodOptional<z.ZodString>;
1228
+ group: z.ZodOptional<z.ZodLiteral<"correlation">>;
1229
+ valueType: z.ZodEnum<{
1230
+ string: "string";
1231
+ integer: "integer";
1232
+ identifier: "identifier";
1233
+ }>;
1234
+ }, z.core.$strict>>;
1235
+ unique: z.ZodDefault<z.ZodLiteral<true>>;
1236
+ window: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
1237
+ from: z.ZodLiteral<"stepStart">;
1238
+ }, z.core.$strict>, z.ZodObject<{
1239
+ from: z.ZodLiteral<"runStart">;
1240
+ }, z.core.$strict>, z.ZodObject<{
1241
+ from: z.ZodLiteral<"marker">;
1242
+ markerId: z.ZodString;
1243
+ }, z.core.$strict>], "from">>;
1244
+ timeoutMs: z.ZodNumber;
1245
+ }, z.core.$strict>], "type">>;
1246
+ action: z.ZodLiteral<"scrollTo">;
1247
+ locator: z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>;
1248
+ container: z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>;
1249
+ direction: z.ZodEnum<{
1250
+ left: "left";
1251
+ right: "right";
1252
+ up: "up";
1253
+ down: "down";
1254
+ }>;
1255
+ maxSwipes: z.ZodDefault<z.ZodNumber>;
1256
+ distancePercent: z.ZodDefault<z.ZodNumber>;
1257
+ durationMs: z.ZodDefault<z.ZodNumber>;
1258
+ }, z.core.$strict>, z.ZodObject<{
1259
+ expectedActivity: z.ZodString;
1260
+ expect: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
1261
+ type: z.ZodLiteral<"activity">;
1262
+ value: z.ZodString;
1263
+ packageName: z.ZodOptional<z.ZodString>;
1264
+ timeoutMs: z.ZodNumber;
1265
+ }, z.core.$strict>, z.ZodObject<{
1266
+ type: z.ZodLiteral<"element">;
1267
+ locator: z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>;
1268
+ enabled: z.ZodOptional<z.ZodBoolean>;
1269
+ clickable: z.ZodOptional<z.ZodBoolean>;
1270
+ absent: z.ZodOptional<z.ZodBoolean>;
1271
+ packageName: z.ZodOptional<z.ZodString>;
1272
+ timeoutMs: z.ZodNumber;
1273
+ }, z.core.$strict>, z.ZodObject<{
1274
+ type: z.ZodLiteral<"logcat">;
1275
+ tag: z.ZodString;
1276
+ level: z.ZodOptional<z.ZodEnum<{
1277
+ V: "V";
1278
+ D: "D";
1279
+ I: "I";
1280
+ W: "W";
1281
+ E: "E";
1282
+ F: "F";
1283
+ A: "A";
1284
+ }>>;
1285
+ pattern: z.ZodString;
1286
+ match: z.ZodDefault<z.ZodEnum<{
1287
+ literal: "literal";
1288
+ regex: "regex";
1289
+ }>>;
1290
+ packageName: z.ZodOptional<z.ZodString>;
1291
+ timeoutMs: z.ZodNumber;
1292
+ }, z.core.$strict>, z.ZodObject<{
1293
+ type: z.ZodLiteral<"logcatEvent">;
1294
+ tag: z.ZodString;
1295
+ event: z.ZodString;
1296
+ fields: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
1297
+ correlation: z.ZodOptional<z.ZodObject<{
1298
+ key: z.ZodString;
1299
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodString]>;
1300
+ }, z.core.$strict>>;
1301
+ capture: z.ZodOptional<z.ZodObject<{
1302
+ name: z.ZodString;
1303
+ field: z.ZodOptional<z.ZodString>;
1304
+ group: z.ZodOptional<z.ZodLiteral<"correlation">>;
1305
+ valueType: z.ZodEnum<{
1306
+ string: "string";
1307
+ integer: "integer";
1308
+ identifier: "identifier";
1309
+ }>;
1310
+ }, z.core.$strict>>;
1311
+ unique: z.ZodDefault<z.ZodLiteral<true>>;
1312
+ window: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
1313
+ from: z.ZodLiteral<"stepStart">;
1314
+ }, z.core.$strict>, z.ZodObject<{
1315
+ from: z.ZodLiteral<"runStart">;
1316
+ }, z.core.$strict>, z.ZodObject<{
1317
+ from: z.ZodLiteral<"marker">;
1318
+ markerId: z.ZodString;
1319
+ }, z.core.$strict>], "from">>;
1320
+ timeoutMs: z.ZodNumber;
1321
+ }, z.core.$strict>], "type">>;
1322
+ action: z.ZodLiteral<"back">;
1323
+ }, z.core.$strict>, z.ZodObject<{
1324
+ expectedActivity: z.ZodString;
1325
+ expect: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
1326
+ type: z.ZodLiteral<"activity">;
1327
+ value: z.ZodString;
1328
+ packageName: z.ZodOptional<z.ZodString>;
1329
+ timeoutMs: z.ZodNumber;
1330
+ }, z.core.$strict>, z.ZodObject<{
1331
+ type: z.ZodLiteral<"element">;
1332
+ locator: z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>;
1333
+ enabled: z.ZodOptional<z.ZodBoolean>;
1334
+ clickable: z.ZodOptional<z.ZodBoolean>;
1335
+ absent: z.ZodOptional<z.ZodBoolean>;
1336
+ packageName: z.ZodOptional<z.ZodString>;
1337
+ timeoutMs: z.ZodNumber;
1338
+ }, z.core.$strict>, z.ZodObject<{
1339
+ type: z.ZodLiteral<"logcat">;
1340
+ tag: z.ZodString;
1341
+ level: z.ZodOptional<z.ZodEnum<{
1342
+ V: "V";
1343
+ D: "D";
1344
+ I: "I";
1345
+ W: "W";
1346
+ E: "E";
1347
+ F: "F";
1348
+ A: "A";
1349
+ }>>;
1350
+ pattern: z.ZodString;
1351
+ match: z.ZodDefault<z.ZodEnum<{
1352
+ literal: "literal";
1353
+ regex: "regex";
1354
+ }>>;
1355
+ packageName: z.ZodOptional<z.ZodString>;
1356
+ timeoutMs: z.ZodNumber;
1357
+ }, z.core.$strict>, z.ZodObject<{
1358
+ type: z.ZodLiteral<"logcatEvent">;
1359
+ tag: z.ZodString;
1360
+ event: z.ZodString;
1361
+ fields: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
1362
+ correlation: z.ZodOptional<z.ZodObject<{
1363
+ key: z.ZodString;
1364
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodString]>;
1365
+ }, z.core.$strict>>;
1366
+ capture: z.ZodOptional<z.ZodObject<{
1367
+ name: z.ZodString;
1368
+ field: z.ZodOptional<z.ZodString>;
1369
+ group: z.ZodOptional<z.ZodLiteral<"correlation">>;
1370
+ valueType: z.ZodEnum<{
1371
+ string: "string";
1372
+ integer: "integer";
1373
+ identifier: "identifier";
1374
+ }>;
1375
+ }, z.core.$strict>>;
1376
+ unique: z.ZodDefault<z.ZodLiteral<true>>;
1377
+ window: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
1378
+ from: z.ZodLiteral<"stepStart">;
1379
+ }, z.core.$strict>, z.ZodObject<{
1380
+ from: z.ZodLiteral<"runStart">;
1381
+ }, z.core.$strict>, z.ZodObject<{
1382
+ from: z.ZodLiteral<"marker">;
1383
+ markerId: z.ZodString;
1384
+ }, z.core.$strict>], "from">>;
1385
+ timeoutMs: z.ZodNumber;
1386
+ }, z.core.$strict>], "type">>;
1387
+ action: z.ZodLiteral<"wait">;
1388
+ }, z.core.$strict>], "action">>>;
1389
+ escapeTimeoutMs: z.ZodOptional<z.ZodNumber>;
411
1390
  }, z.core.$strict>], "action">>;
412
1391
  candidateSources: z.ZodArray<z.ZodEnum<{
1392
+ flow: "flow";
413
1393
  planner: "planner";
414
1394
  manualOverride: "manualOverride";
415
1395
  }>>;
@@ -418,6 +1398,13 @@ export declare const GenerationSessionSchema: z.ZodObject<{
418
1398
  snapshotHash: z.ZodString;
419
1399
  proposalHash: z.ZodString;
420
1400
  attemptId: z.ZodString;
1401
+ confirmation: z.ZodOptional<z.ZodObject<{
1402
+ challengeId: z.ZodString;
1403
+ approvalMode: z.ZodEnum<{
1404
+ localTty: "localTty";
1405
+ delegated: "delegated";
1406
+ }>;
1407
+ }, z.core.$strict>>;
421
1408
  }, z.core.$strict>>;
422
1409
  pendingConfirmation: z.ZodNullable<z.ZodObject<{
423
1410
  challengeId: z.ZodString;
@@ -426,17 +1413,46 @@ export declare const GenerationSessionSchema: z.ZodObject<{
426
1413
  snapshotHash: z.ZodString;
427
1414
  evidenceHash: z.ZodString;
428
1415
  actionSummary: z.ZodString;
1416
+ reason: z.ZodOptional<z.ZodObject<{
1417
+ rule: z.ZodEnum<{
1418
+ policyActionRequiresConfirmation: "policyActionRequiresConfirmation";
1419
+ actionNotAllowlisted: "actionNotAllowlisted";
1420
+ semanticSideEffect: "semanticSideEffect";
1421
+ }>;
1422
+ message: z.ZodString;
1423
+ category: z.ZodOptional<z.ZodEnum<{
1424
+ hardCommit: "hardCommit";
1425
+ destructive: "destructive";
1426
+ account: "account";
1427
+ }>>;
1428
+ matchedTerm: z.ZodOptional<z.ZodString>;
1429
+ }, z.core.$strict>>;
429
1430
  expiresAt: z.ZodISODateTime;
430
1431
  status: z.ZodEnum<{
431
1432
  pending: "pending";
432
1433
  approved: "approved";
433
1434
  }>;
1435
+ approvalMode: z.ZodOptional<z.ZodEnum<{
1436
+ localTty: "localTty";
1437
+ delegated: "delegated";
1438
+ }>>;
434
1439
  }, z.core.$strict>>;
435
1440
  verification: z.ZodDiscriminatedUnion<[z.ZodObject<{
436
1441
  status: z.ZodLiteral<"notRun">;
437
1442
  }, z.core.$strict>, z.ZodObject<{
438
1443
  status: z.ZodLiteral<"running">;
439
1444
  attemptId: z.ZodString;
1445
+ ownerPid: z.ZodOptional<z.ZodNumber>;
1446
+ startedAt: z.ZodOptional<z.ZodISODateTime>;
1447
+ phase: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
1448
+ stage: z.ZodLiteral<"preparing">;
1449
+ }, z.core.$strict>, z.ZodObject<{
1450
+ stage: z.ZodLiteral<"replaying">;
1451
+ stepIndex: z.ZodNumber;
1452
+ stepCount: z.ZodNumber;
1453
+ }, z.core.$strict>, z.ZodObject<{
1454
+ stage: z.ZodLiteral<"collecting">;
1455
+ }, z.core.$strict>], "stage">>;
440
1456
  }, z.core.$strict>, z.ZodObject<{
441
1457
  status: z.ZodLiteral<"passed">;
442
1458
  attemptId: z.ZodString;
@@ -448,11 +1464,31 @@ export declare const GenerationSessionSchema: z.ZodObject<{
448
1464
  failure: z.ZodObject<{
449
1465
  code: z.ZodEnum<{
450
1466
  CONFIG_INVALID: "CONFIG_INVALID";
1467
+ APP_LAUNCH_FAILED: "APP_LAUNCH_FAILED";
1468
+ APP_CRASHED: "APP_CRASHED";
1469
+ LOCATOR_NOT_FOUND: "LOCATOR_NOT_FOUND";
1470
+ LOCATOR_AMBIGUOUS: "LOCATOR_AMBIGUOUS";
1471
+ ANCHOR_AMBIGUOUS: "ANCHOR_AMBIGUOUS";
1472
+ IDLE_TIMEOUT: "IDLE_TIMEOUT";
1473
+ BRIDGE_NO_ESCAPE: "BRIDGE_NO_ESCAPE";
1474
+ BRIDGE_NOT_RETURNED: "BRIDGE_NOT_RETURNED";
1475
+ EXTERNAL_FLOW_NOT_FOUND: "EXTERNAL_FLOW_NOT_FOUND";
1476
+ EXTERNAL_FLOW_STALE: "EXTERNAL_FLOW_STALE";
1477
+ EXTERNAL_LOCATOR_STRICTNESS: "EXTERNAL_LOCATOR_STRICTNESS";
1478
+ EXTERNAL_PACKAGE_MISMATCH: "EXTERNAL_PACKAGE_MISMATCH";
1479
+ EXTERNAL_ACTIVITY_MISMATCH: "EXTERNAL_ACTIVITY_MISMATCH";
1480
+ EXTERNAL_STEP_FAILED: "EXTERNAL_STEP_FAILED";
451
1481
  CONTEXT_INVALID: "CONTEXT_INVALID";
452
1482
  CONTEXT_STALE: "CONTEXT_STALE";
1483
+ BRIEF_INVALID: "BRIEF_INVALID";
1484
+ KNOWLEDGE_INVALID: "KNOWLEDGE_INVALID";
1485
+ KNOWLEDGE_STALE: "KNOWLEDGE_STALE";
1486
+ FLOW_INVALID: "FLOW_INVALID";
1487
+ FLOW_REPLAY_FAILED: "FLOW_REPLAY_FAILED";
453
1488
  SNAPSHOT_STALE: "SNAPSHOT_STALE";
454
1489
  PACKAGE_ESCAPE: "PACKAGE_ESCAPE";
455
- APP_CRASHED: "APP_CRASHED";
1490
+ SCENARIO_PACKAGE_MISMATCH: "SCENARIO_PACKAGE_MISMATCH";
1491
+ WINDOW_HIERARCHY_INCOMPLETE: "WINDOW_HIERARCHY_INCOMPLETE";
456
1492
  ACTION_UNSUPPORTED: "ACTION_UNSUPPORTED";
457
1493
  RISK_CONFIRMATION_REQUIRED: "RISK_CONFIRMATION_REQUIRED";
458
1494
  ACTION_FORBIDDEN: "ACTION_FORBIDDEN";
@@ -466,6 +1502,51 @@ export declare const GenerationSessionSchema: z.ZodObject<{
466
1502
  message: z.ZodString;
467
1503
  }, z.core.$strict>;
468
1504
  }, z.core.$strict>], "status">;
1505
+ verificationHistory: z.ZodArray<z.ZodObject<{
1506
+ failedRevision: z.ZodNumber;
1507
+ reopenedAt: z.ZodISODateTime;
1508
+ reason: z.ZodString;
1509
+ failure: z.ZodObject<{
1510
+ code: z.ZodEnum<{
1511
+ CONFIG_INVALID: "CONFIG_INVALID";
1512
+ APP_LAUNCH_FAILED: "APP_LAUNCH_FAILED";
1513
+ APP_CRASHED: "APP_CRASHED";
1514
+ LOCATOR_NOT_FOUND: "LOCATOR_NOT_FOUND";
1515
+ LOCATOR_AMBIGUOUS: "LOCATOR_AMBIGUOUS";
1516
+ ANCHOR_AMBIGUOUS: "ANCHOR_AMBIGUOUS";
1517
+ IDLE_TIMEOUT: "IDLE_TIMEOUT";
1518
+ BRIDGE_NO_ESCAPE: "BRIDGE_NO_ESCAPE";
1519
+ BRIDGE_NOT_RETURNED: "BRIDGE_NOT_RETURNED";
1520
+ EXTERNAL_FLOW_NOT_FOUND: "EXTERNAL_FLOW_NOT_FOUND";
1521
+ EXTERNAL_FLOW_STALE: "EXTERNAL_FLOW_STALE";
1522
+ EXTERNAL_LOCATOR_STRICTNESS: "EXTERNAL_LOCATOR_STRICTNESS";
1523
+ EXTERNAL_PACKAGE_MISMATCH: "EXTERNAL_PACKAGE_MISMATCH";
1524
+ EXTERNAL_ACTIVITY_MISMATCH: "EXTERNAL_ACTIVITY_MISMATCH";
1525
+ EXTERNAL_STEP_FAILED: "EXTERNAL_STEP_FAILED";
1526
+ CONTEXT_INVALID: "CONTEXT_INVALID";
1527
+ CONTEXT_STALE: "CONTEXT_STALE";
1528
+ BRIEF_INVALID: "BRIEF_INVALID";
1529
+ KNOWLEDGE_INVALID: "KNOWLEDGE_INVALID";
1530
+ KNOWLEDGE_STALE: "KNOWLEDGE_STALE";
1531
+ FLOW_INVALID: "FLOW_INVALID";
1532
+ FLOW_REPLAY_FAILED: "FLOW_REPLAY_FAILED";
1533
+ SNAPSHOT_STALE: "SNAPSHOT_STALE";
1534
+ PACKAGE_ESCAPE: "PACKAGE_ESCAPE";
1535
+ SCENARIO_PACKAGE_MISMATCH: "SCENARIO_PACKAGE_MISMATCH";
1536
+ WINDOW_HIERARCHY_INCOMPLETE: "WINDOW_HIERARCHY_INCOMPLETE";
1537
+ ACTION_UNSUPPORTED: "ACTION_UNSUPPORTED";
1538
+ RISK_CONFIRMATION_REQUIRED: "RISK_CONFIRMATION_REQUIRED";
1539
+ ACTION_FORBIDDEN: "ACTION_FORBIDDEN";
1540
+ EXPECT_UNSUPPORTED: "EXPECT_UNSUPPORTED";
1541
+ RECOVERY_REQUIRED: "RECOVERY_REQUIRED";
1542
+ VERIFICATION_FAILED: "VERIFICATION_FAILED";
1543
+ PUBLICATION_FAILED: "PUBLICATION_FAILED";
1544
+ EXPORT_FAILED: "EXPORT_FAILED";
1545
+ FINALIZATION_IN_PROGRESS: "FINALIZATION_IN_PROGRESS";
1546
+ }>;
1547
+ message: z.ZodString;
1548
+ }, z.core.$strict>;
1549
+ }, z.core.$strict>>;
469
1550
  publication: z.ZodDiscriminatedUnion<[z.ZodObject<{
470
1551
  status: z.ZodLiteral<"notRun">;
471
1552
  }, z.core.$strict>, z.ZodObject<{
@@ -476,11 +1557,31 @@ export declare const GenerationSessionSchema: z.ZodObject<{
476
1557
  failure: z.ZodObject<{
477
1558
  code: z.ZodEnum<{
478
1559
  CONFIG_INVALID: "CONFIG_INVALID";
1560
+ APP_LAUNCH_FAILED: "APP_LAUNCH_FAILED";
1561
+ APP_CRASHED: "APP_CRASHED";
1562
+ LOCATOR_NOT_FOUND: "LOCATOR_NOT_FOUND";
1563
+ LOCATOR_AMBIGUOUS: "LOCATOR_AMBIGUOUS";
1564
+ ANCHOR_AMBIGUOUS: "ANCHOR_AMBIGUOUS";
1565
+ IDLE_TIMEOUT: "IDLE_TIMEOUT";
1566
+ BRIDGE_NO_ESCAPE: "BRIDGE_NO_ESCAPE";
1567
+ BRIDGE_NOT_RETURNED: "BRIDGE_NOT_RETURNED";
1568
+ EXTERNAL_FLOW_NOT_FOUND: "EXTERNAL_FLOW_NOT_FOUND";
1569
+ EXTERNAL_FLOW_STALE: "EXTERNAL_FLOW_STALE";
1570
+ EXTERNAL_LOCATOR_STRICTNESS: "EXTERNAL_LOCATOR_STRICTNESS";
1571
+ EXTERNAL_PACKAGE_MISMATCH: "EXTERNAL_PACKAGE_MISMATCH";
1572
+ EXTERNAL_ACTIVITY_MISMATCH: "EXTERNAL_ACTIVITY_MISMATCH";
1573
+ EXTERNAL_STEP_FAILED: "EXTERNAL_STEP_FAILED";
479
1574
  CONTEXT_INVALID: "CONTEXT_INVALID";
480
1575
  CONTEXT_STALE: "CONTEXT_STALE";
1576
+ BRIEF_INVALID: "BRIEF_INVALID";
1577
+ KNOWLEDGE_INVALID: "KNOWLEDGE_INVALID";
1578
+ KNOWLEDGE_STALE: "KNOWLEDGE_STALE";
1579
+ FLOW_INVALID: "FLOW_INVALID";
1580
+ FLOW_REPLAY_FAILED: "FLOW_REPLAY_FAILED";
481
1581
  SNAPSHOT_STALE: "SNAPSHOT_STALE";
482
1582
  PACKAGE_ESCAPE: "PACKAGE_ESCAPE";
483
- APP_CRASHED: "APP_CRASHED";
1583
+ SCENARIO_PACKAGE_MISMATCH: "SCENARIO_PACKAGE_MISMATCH";
1584
+ WINDOW_HIERARCHY_INCOMPLETE: "WINDOW_HIERARCHY_INCOMPLETE";
484
1585
  ACTION_UNSUPPORTED: "ACTION_UNSUPPORTED";
485
1586
  RISK_CONFIRMATION_REQUIRED: "RISK_CONFIRMATION_REQUIRED";
486
1587
  ACTION_FORBIDDEN: "ACTION_FORBIDDEN";
@@ -494,11 +1595,14 @@ export declare const GenerationSessionSchema: z.ZodObject<{
494
1595
  message: z.ZodString;
495
1596
  }, z.core.$strict>;
496
1597
  }, z.core.$strict>], "status">;
1598
+ version: z.ZodLiteral<1>;
497
1599
  }, z.core.$strict>;
498
1600
  export type GenerationVariables = z.infer<typeof GenerationVariablesSchema>;
499
1601
  export type GenerationInFlight = z.infer<typeof GenerationInFlightSchema>;
1602
+ export type ConfirmationReason = z.infer<typeof ConfirmationReasonSchema>;
500
1603
  export type PendingConfirmation = z.infer<typeof PendingConfirmationSchema>;
501
1604
  export type GenerationSession = z.infer<typeof GenerationSessionSchema>;
1605
+ export declare function isGenerationConfirmationExpired(challenge: PendingConfirmation, now: Date): boolean;
502
1606
  export declare const GenerationConfirmationEvidenceSchema: z.ZodObject<{
503
1607
  version: z.ZodLiteral<1>;
504
1608
  proposal: z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -513,14 +1617,15 @@ export declare const GenerationConfirmationEvidenceSchema: z.ZodObject<{
513
1617
  expect: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
514
1618
  type: z.ZodLiteral<"activity">;
515
1619
  value: z.ZodString;
1620
+ packageName: z.ZodOptional<z.ZodString>;
516
1621
  timeoutMs: z.ZodNumber;
517
1622
  }, z.core.$strict>, z.ZodObject<{
518
1623
  type: z.ZodLiteral<"element">;
519
- locator: z.ZodObject<{
520
- resourceId: z.ZodOptional<z.ZodString>;
521
- text: z.ZodOptional<z.ZodString>;
522
- contentDescription: z.ZodOptional<z.ZodString>;
523
- }, z.core.$strict>;
1624
+ locator: z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>;
1625
+ enabled: z.ZodOptional<z.ZodBoolean>;
1626
+ clickable: z.ZodOptional<z.ZodBoolean>;
1627
+ absent: z.ZodOptional<z.ZodBoolean>;
1628
+ packageName: z.ZodOptional<z.ZodString>;
524
1629
  timeoutMs: z.ZodNumber;
525
1630
  }, z.core.$strict>, z.ZodObject<{
526
1631
  type: z.ZodLiteral<"logcat">;
@@ -539,14 +1644,40 @@ export declare const GenerationConfirmationEvidenceSchema: z.ZodObject<{
539
1644
  literal: "literal";
540
1645
  regex: "regex";
541
1646
  }>>;
1647
+ packageName: z.ZodOptional<z.ZodString>;
1648
+ timeoutMs: z.ZodNumber;
1649
+ }, z.core.$strict>, z.ZodObject<{
1650
+ type: z.ZodLiteral<"logcatEvent">;
1651
+ tag: z.ZodString;
1652
+ event: z.ZodString;
1653
+ fields: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
1654
+ correlation: z.ZodOptional<z.ZodObject<{
1655
+ key: z.ZodString;
1656
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodString]>;
1657
+ }, z.core.$strict>>;
1658
+ capture: z.ZodOptional<z.ZodObject<{
1659
+ name: z.ZodString;
1660
+ field: z.ZodOptional<z.ZodString>;
1661
+ group: z.ZodOptional<z.ZodLiteral<"correlation">>;
1662
+ valueType: z.ZodEnum<{
1663
+ string: "string";
1664
+ integer: "integer";
1665
+ identifier: "identifier";
1666
+ }>;
1667
+ }, z.core.$strict>>;
1668
+ unique: z.ZodDefault<z.ZodLiteral<true>>;
1669
+ window: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
1670
+ from: z.ZodLiteral<"stepStart">;
1671
+ }, z.core.$strict>, z.ZodObject<{
1672
+ from: z.ZodLiteral<"runStart">;
1673
+ }, z.core.$strict>, z.ZodObject<{
1674
+ from: z.ZodLiteral<"marker">;
1675
+ markerId: z.ZodString;
1676
+ }, z.core.$strict>], "from">>;
542
1677
  timeoutMs: z.ZodNumber;
543
1678
  }, z.core.$strict>], "type">>;
544
1679
  action: z.ZodLiteral<"click">;
545
- locator: z.ZodObject<{
546
- resourceId: z.ZodOptional<z.ZodString>;
547
- text: z.ZodOptional<z.ZodString>;
548
- contentDescription: z.ZodOptional<z.ZodString>;
549
- }, z.core.$strict>;
1680
+ locator: z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>;
550
1681
  }, z.core.$strict>, z.ZodObject<{
551
1682
  binding: z.ZodObject<{
552
1683
  generationId: z.ZodString;
@@ -559,14 +1690,15 @@ export declare const GenerationConfirmationEvidenceSchema: z.ZodObject<{
559
1690
  expect: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
560
1691
  type: z.ZodLiteral<"activity">;
561
1692
  value: z.ZodString;
1693
+ packageName: z.ZodOptional<z.ZodString>;
562
1694
  timeoutMs: z.ZodNumber;
563
1695
  }, z.core.$strict>, z.ZodObject<{
564
1696
  type: z.ZodLiteral<"element">;
565
- locator: z.ZodObject<{
566
- resourceId: z.ZodOptional<z.ZodString>;
567
- text: z.ZodOptional<z.ZodString>;
568
- contentDescription: z.ZodOptional<z.ZodString>;
569
- }, z.core.$strict>;
1697
+ locator: z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>;
1698
+ enabled: z.ZodOptional<z.ZodBoolean>;
1699
+ clickable: z.ZodOptional<z.ZodBoolean>;
1700
+ absent: z.ZodOptional<z.ZodBoolean>;
1701
+ packageName: z.ZodOptional<z.ZodString>;
570
1702
  timeoutMs: z.ZodNumber;
571
1703
  }, z.core.$strict>, z.ZodObject<{
572
1704
  type: z.ZodLiteral<"logcat">;
@@ -585,14 +1717,40 @@ export declare const GenerationConfirmationEvidenceSchema: z.ZodObject<{
585
1717
  literal: "literal";
586
1718
  regex: "regex";
587
1719
  }>>;
1720
+ packageName: z.ZodOptional<z.ZodString>;
1721
+ timeoutMs: z.ZodNumber;
1722
+ }, z.core.$strict>, z.ZodObject<{
1723
+ type: z.ZodLiteral<"logcatEvent">;
1724
+ tag: z.ZodString;
1725
+ event: z.ZodString;
1726
+ fields: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
1727
+ correlation: z.ZodOptional<z.ZodObject<{
1728
+ key: z.ZodString;
1729
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodString]>;
1730
+ }, z.core.$strict>>;
1731
+ capture: z.ZodOptional<z.ZodObject<{
1732
+ name: z.ZodString;
1733
+ field: z.ZodOptional<z.ZodString>;
1734
+ group: z.ZodOptional<z.ZodLiteral<"correlation">>;
1735
+ valueType: z.ZodEnum<{
1736
+ string: "string";
1737
+ integer: "integer";
1738
+ identifier: "identifier";
1739
+ }>;
1740
+ }, z.core.$strict>>;
1741
+ unique: z.ZodDefault<z.ZodLiteral<true>>;
1742
+ window: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
1743
+ from: z.ZodLiteral<"stepStart">;
1744
+ }, z.core.$strict>, z.ZodObject<{
1745
+ from: z.ZodLiteral<"runStart">;
1746
+ }, z.core.$strict>, z.ZodObject<{
1747
+ from: z.ZodLiteral<"marker">;
1748
+ markerId: z.ZodString;
1749
+ }, z.core.$strict>], "from">>;
588
1750
  timeoutMs: z.ZodNumber;
589
1751
  }, z.core.$strict>], "type">>;
590
1752
  action: z.ZodLiteral<"longClick">;
591
- locator: z.ZodObject<{
592
- resourceId: z.ZodOptional<z.ZodString>;
593
- text: z.ZodOptional<z.ZodString>;
594
- contentDescription: z.ZodOptional<z.ZodString>;
595
- }, z.core.$strict>;
1753
+ locator: z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>;
596
1754
  durationMs: z.ZodDefault<z.ZodNumber>;
597
1755
  }, z.core.$strict>, z.ZodObject<{
598
1756
  binding: z.ZodObject<{
@@ -606,14 +1764,15 @@ export declare const GenerationConfirmationEvidenceSchema: z.ZodObject<{
606
1764
  expect: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
607
1765
  type: z.ZodLiteral<"activity">;
608
1766
  value: z.ZodString;
1767
+ packageName: z.ZodOptional<z.ZodString>;
609
1768
  timeoutMs: z.ZodNumber;
610
1769
  }, z.core.$strict>, z.ZodObject<{
611
1770
  type: z.ZodLiteral<"element">;
612
- locator: z.ZodObject<{
613
- resourceId: z.ZodOptional<z.ZodString>;
614
- text: z.ZodOptional<z.ZodString>;
615
- contentDescription: z.ZodOptional<z.ZodString>;
616
- }, z.core.$strict>;
1771
+ locator: z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>;
1772
+ enabled: z.ZodOptional<z.ZodBoolean>;
1773
+ clickable: z.ZodOptional<z.ZodBoolean>;
1774
+ absent: z.ZodOptional<z.ZodBoolean>;
1775
+ packageName: z.ZodOptional<z.ZodString>;
617
1776
  timeoutMs: z.ZodNumber;
618
1777
  }, z.core.$strict>, z.ZodObject<{
619
1778
  type: z.ZodLiteral<"logcat">;
@@ -632,6 +1791,36 @@ export declare const GenerationConfirmationEvidenceSchema: z.ZodObject<{
632
1791
  literal: "literal";
633
1792
  regex: "regex";
634
1793
  }>>;
1794
+ packageName: z.ZodOptional<z.ZodString>;
1795
+ timeoutMs: z.ZodNumber;
1796
+ }, z.core.$strict>, z.ZodObject<{
1797
+ type: z.ZodLiteral<"logcatEvent">;
1798
+ tag: z.ZodString;
1799
+ event: z.ZodString;
1800
+ fields: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
1801
+ correlation: z.ZodOptional<z.ZodObject<{
1802
+ key: z.ZodString;
1803
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodString]>;
1804
+ }, z.core.$strict>>;
1805
+ capture: z.ZodOptional<z.ZodObject<{
1806
+ name: z.ZodString;
1807
+ field: z.ZodOptional<z.ZodString>;
1808
+ group: z.ZodOptional<z.ZodLiteral<"correlation">>;
1809
+ valueType: z.ZodEnum<{
1810
+ string: "string";
1811
+ integer: "integer";
1812
+ identifier: "identifier";
1813
+ }>;
1814
+ }, z.core.$strict>>;
1815
+ unique: z.ZodDefault<z.ZodLiteral<true>>;
1816
+ window: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
1817
+ from: z.ZodLiteral<"stepStart">;
1818
+ }, z.core.$strict>, z.ZodObject<{
1819
+ from: z.ZodLiteral<"runStart">;
1820
+ }, z.core.$strict>, z.ZodObject<{
1821
+ from: z.ZodLiteral<"marker">;
1822
+ markerId: z.ZodString;
1823
+ }, z.core.$strict>], "from">>;
635
1824
  timeoutMs: z.ZodNumber;
636
1825
  }, z.core.$strict>], "type">>;
637
1826
  action: z.ZodLiteral<"inputText">;
@@ -648,14 +1837,15 @@ export declare const GenerationConfirmationEvidenceSchema: z.ZodObject<{
648
1837
  expect: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
649
1838
  type: z.ZodLiteral<"activity">;
650
1839
  value: z.ZodString;
1840
+ packageName: z.ZodOptional<z.ZodString>;
651
1841
  timeoutMs: z.ZodNumber;
652
1842
  }, z.core.$strict>, z.ZodObject<{
653
1843
  type: z.ZodLiteral<"element">;
654
- locator: z.ZodObject<{
655
- resourceId: z.ZodOptional<z.ZodString>;
656
- text: z.ZodOptional<z.ZodString>;
657
- contentDescription: z.ZodOptional<z.ZodString>;
658
- }, z.core.$strict>;
1844
+ locator: z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>;
1845
+ enabled: z.ZodOptional<z.ZodBoolean>;
1846
+ clickable: z.ZodOptional<z.ZodBoolean>;
1847
+ absent: z.ZodOptional<z.ZodBoolean>;
1848
+ packageName: z.ZodOptional<z.ZodString>;
659
1849
  timeoutMs: z.ZodNumber;
660
1850
  }, z.core.$strict>, z.ZodObject<{
661
1851
  type: z.ZodLiteral<"logcat">;
@@ -674,14 +1864,40 @@ export declare const GenerationConfirmationEvidenceSchema: z.ZodObject<{
674
1864
  literal: "literal";
675
1865
  regex: "regex";
676
1866
  }>>;
1867
+ packageName: z.ZodOptional<z.ZodString>;
1868
+ timeoutMs: z.ZodNumber;
1869
+ }, z.core.$strict>, z.ZodObject<{
1870
+ type: z.ZodLiteral<"logcatEvent">;
1871
+ tag: z.ZodString;
1872
+ event: z.ZodString;
1873
+ fields: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
1874
+ correlation: z.ZodOptional<z.ZodObject<{
1875
+ key: z.ZodString;
1876
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodString]>;
1877
+ }, z.core.$strict>>;
1878
+ capture: z.ZodOptional<z.ZodObject<{
1879
+ name: z.ZodString;
1880
+ field: z.ZodOptional<z.ZodString>;
1881
+ group: z.ZodOptional<z.ZodLiteral<"correlation">>;
1882
+ valueType: z.ZodEnum<{
1883
+ string: "string";
1884
+ integer: "integer";
1885
+ identifier: "identifier";
1886
+ }>;
1887
+ }, z.core.$strict>>;
1888
+ unique: z.ZodDefault<z.ZodLiteral<true>>;
1889
+ window: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
1890
+ from: z.ZodLiteral<"stepStart">;
1891
+ }, z.core.$strict>, z.ZodObject<{
1892
+ from: z.ZodLiteral<"runStart">;
1893
+ }, z.core.$strict>, z.ZodObject<{
1894
+ from: z.ZodLiteral<"marker">;
1895
+ markerId: z.ZodString;
1896
+ }, z.core.$strict>], "from">>;
677
1897
  timeoutMs: z.ZodNumber;
678
1898
  }, z.core.$strict>], "type">>;
679
1899
  action: z.ZodLiteral<"swipe">;
680
- locator: z.ZodObject<{
681
- resourceId: z.ZodOptional<z.ZodString>;
682
- text: z.ZodOptional<z.ZodString>;
683
- contentDescription: z.ZodOptional<z.ZodString>;
684
- }, z.core.$strict>;
1900
+ locator: z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>;
685
1901
  direction: z.ZodEnum<{
686
1902
  left: "left";
687
1903
  right: "right";
@@ -702,14 +1918,15 @@ export declare const GenerationConfirmationEvidenceSchema: z.ZodObject<{
702
1918
  expect: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
703
1919
  type: z.ZodLiteral<"activity">;
704
1920
  value: z.ZodString;
1921
+ packageName: z.ZodOptional<z.ZodString>;
705
1922
  timeoutMs: z.ZodNumber;
706
1923
  }, z.core.$strict>, z.ZodObject<{
707
1924
  type: z.ZodLiteral<"element">;
708
- locator: z.ZodObject<{
709
- resourceId: z.ZodOptional<z.ZodString>;
710
- text: z.ZodOptional<z.ZodString>;
711
- contentDescription: z.ZodOptional<z.ZodString>;
712
- }, z.core.$strict>;
1925
+ locator: z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>;
1926
+ enabled: z.ZodOptional<z.ZodBoolean>;
1927
+ clickable: z.ZodOptional<z.ZodBoolean>;
1928
+ absent: z.ZodOptional<z.ZodBoolean>;
1929
+ packageName: z.ZodOptional<z.ZodString>;
713
1930
  timeoutMs: z.ZodNumber;
714
1931
  }, z.core.$strict>, z.ZodObject<{
715
1932
  type: z.ZodLiteral<"logcat">;
@@ -728,19 +1945,41 @@ export declare const GenerationConfirmationEvidenceSchema: z.ZodObject<{
728
1945
  literal: "literal";
729
1946
  regex: "regex";
730
1947
  }>>;
1948
+ packageName: z.ZodOptional<z.ZodString>;
1949
+ timeoutMs: z.ZodNumber;
1950
+ }, z.core.$strict>, z.ZodObject<{
1951
+ type: z.ZodLiteral<"logcatEvent">;
1952
+ tag: z.ZodString;
1953
+ event: z.ZodString;
1954
+ fields: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
1955
+ correlation: z.ZodOptional<z.ZodObject<{
1956
+ key: z.ZodString;
1957
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodString]>;
1958
+ }, z.core.$strict>>;
1959
+ capture: z.ZodOptional<z.ZodObject<{
1960
+ name: z.ZodString;
1961
+ field: z.ZodOptional<z.ZodString>;
1962
+ group: z.ZodOptional<z.ZodLiteral<"correlation">>;
1963
+ valueType: z.ZodEnum<{
1964
+ string: "string";
1965
+ integer: "integer";
1966
+ identifier: "identifier";
1967
+ }>;
1968
+ }, z.core.$strict>>;
1969
+ unique: z.ZodDefault<z.ZodLiteral<true>>;
1970
+ window: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
1971
+ from: z.ZodLiteral<"stepStart">;
1972
+ }, z.core.$strict>, z.ZodObject<{
1973
+ from: z.ZodLiteral<"runStart">;
1974
+ }, z.core.$strict>, z.ZodObject<{
1975
+ from: z.ZodLiteral<"marker">;
1976
+ markerId: z.ZodString;
1977
+ }, z.core.$strict>], "from">>;
731
1978
  timeoutMs: z.ZodNumber;
732
1979
  }, z.core.$strict>], "type">>;
733
1980
  action: z.ZodLiteral<"scrollTo">;
734
- locator: z.ZodObject<{
735
- resourceId: z.ZodOptional<z.ZodString>;
736
- text: z.ZodOptional<z.ZodString>;
737
- contentDescription: z.ZodOptional<z.ZodString>;
738
- }, z.core.$strict>;
739
- container: z.ZodObject<{
740
- resourceId: z.ZodOptional<z.ZodString>;
741
- text: z.ZodOptional<z.ZodString>;
742
- contentDescription: z.ZodOptional<z.ZodString>;
743
- }, z.core.$strict>;
1981
+ locator: z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>;
1982
+ container: z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>;
744
1983
  direction: z.ZodEnum<{
745
1984
  left: "left";
746
1985
  right: "right";
@@ -762,14 +2001,15 @@ export declare const GenerationConfirmationEvidenceSchema: z.ZodObject<{
762
2001
  expect: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
763
2002
  type: z.ZodLiteral<"activity">;
764
2003
  value: z.ZodString;
2004
+ packageName: z.ZodOptional<z.ZodString>;
765
2005
  timeoutMs: z.ZodNumber;
766
2006
  }, z.core.$strict>, z.ZodObject<{
767
2007
  type: z.ZodLiteral<"element">;
768
- locator: z.ZodObject<{
769
- resourceId: z.ZodOptional<z.ZodString>;
770
- text: z.ZodOptional<z.ZodString>;
771
- contentDescription: z.ZodOptional<z.ZodString>;
772
- }, z.core.$strict>;
2008
+ locator: z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>;
2009
+ enabled: z.ZodOptional<z.ZodBoolean>;
2010
+ clickable: z.ZodOptional<z.ZodBoolean>;
2011
+ absent: z.ZodOptional<z.ZodBoolean>;
2012
+ packageName: z.ZodOptional<z.ZodString>;
773
2013
  timeoutMs: z.ZodNumber;
774
2014
  }, z.core.$strict>, z.ZodObject<{
775
2015
  type: z.ZodLiteral<"logcat">;
@@ -788,6 +2028,36 @@ export declare const GenerationConfirmationEvidenceSchema: z.ZodObject<{
788
2028
  literal: "literal";
789
2029
  regex: "regex";
790
2030
  }>>;
2031
+ packageName: z.ZodOptional<z.ZodString>;
2032
+ timeoutMs: z.ZodNumber;
2033
+ }, z.core.$strict>, z.ZodObject<{
2034
+ type: z.ZodLiteral<"logcatEvent">;
2035
+ tag: z.ZodString;
2036
+ event: z.ZodString;
2037
+ fields: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
2038
+ correlation: z.ZodOptional<z.ZodObject<{
2039
+ key: z.ZodString;
2040
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodString]>;
2041
+ }, z.core.$strict>>;
2042
+ capture: z.ZodOptional<z.ZodObject<{
2043
+ name: z.ZodString;
2044
+ field: z.ZodOptional<z.ZodString>;
2045
+ group: z.ZodOptional<z.ZodLiteral<"correlation">>;
2046
+ valueType: z.ZodEnum<{
2047
+ string: "string";
2048
+ integer: "integer";
2049
+ identifier: "identifier";
2050
+ }>;
2051
+ }, z.core.$strict>>;
2052
+ unique: z.ZodDefault<z.ZodLiteral<true>>;
2053
+ window: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
2054
+ from: z.ZodLiteral<"stepStart">;
2055
+ }, z.core.$strict>, z.ZodObject<{
2056
+ from: z.ZodLiteral<"runStart">;
2057
+ }, z.core.$strict>, z.ZodObject<{
2058
+ from: z.ZodLiteral<"marker">;
2059
+ markerId: z.ZodString;
2060
+ }, z.core.$strict>], "from">>;
791
2061
  timeoutMs: z.ZodNumber;
792
2062
  }, z.core.$strict>], "type">>;
793
2063
  action: z.ZodLiteral<"back">;
@@ -803,14 +2073,15 @@ export declare const GenerationConfirmationEvidenceSchema: z.ZodObject<{
803
2073
  expect: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
804
2074
  type: z.ZodLiteral<"activity">;
805
2075
  value: z.ZodString;
2076
+ packageName: z.ZodOptional<z.ZodString>;
806
2077
  timeoutMs: z.ZodNumber;
807
2078
  }, z.core.$strict>, z.ZodObject<{
808
2079
  type: z.ZodLiteral<"element">;
809
- locator: z.ZodObject<{
810
- resourceId: z.ZodOptional<z.ZodString>;
811
- text: z.ZodOptional<z.ZodString>;
812
- contentDescription: z.ZodOptional<z.ZodString>;
813
- }, z.core.$strict>;
2080
+ locator: z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>;
2081
+ enabled: z.ZodOptional<z.ZodBoolean>;
2082
+ clickable: z.ZodOptional<z.ZodBoolean>;
2083
+ absent: z.ZodOptional<z.ZodBoolean>;
2084
+ packageName: z.ZodOptional<z.ZodString>;
814
2085
  timeoutMs: z.ZodNumber;
815
2086
  }, z.core.$strict>, z.ZodObject<{
816
2087
  type: z.ZodLiteral<"logcat">;
@@ -829,12 +2100,125 @@ export declare const GenerationConfirmationEvidenceSchema: z.ZodObject<{
829
2100
  literal: "literal";
830
2101
  regex: "regex";
831
2102
  }>>;
2103
+ packageName: z.ZodOptional<z.ZodString>;
2104
+ timeoutMs: z.ZodNumber;
2105
+ }, z.core.$strict>, z.ZodObject<{
2106
+ type: z.ZodLiteral<"logcatEvent">;
2107
+ tag: z.ZodString;
2108
+ event: z.ZodString;
2109
+ fields: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
2110
+ correlation: z.ZodOptional<z.ZodObject<{
2111
+ key: z.ZodString;
2112
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodString]>;
2113
+ }, z.core.$strict>>;
2114
+ capture: z.ZodOptional<z.ZodObject<{
2115
+ name: z.ZodString;
2116
+ field: z.ZodOptional<z.ZodString>;
2117
+ group: z.ZodOptional<z.ZodLiteral<"correlation">>;
2118
+ valueType: z.ZodEnum<{
2119
+ string: "string";
2120
+ integer: "integer";
2121
+ identifier: "identifier";
2122
+ }>;
2123
+ }, z.core.$strict>>;
2124
+ unique: z.ZodDefault<z.ZodLiteral<true>>;
2125
+ window: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
2126
+ from: z.ZodLiteral<"stepStart">;
2127
+ }, z.core.$strict>, z.ZodObject<{
2128
+ from: z.ZodLiteral<"runStart">;
2129
+ }, z.core.$strict>, z.ZodObject<{
2130
+ from: z.ZodLiteral<"marker">;
2131
+ markerId: z.ZodString;
2132
+ }, z.core.$strict>], "from">>;
832
2133
  timeoutMs: z.ZodNumber;
833
2134
  }, z.core.$strict>], "type">>;
834
2135
  action: z.ZodLiteral<"wait">;
2136
+ }, z.core.$strict>, z.ZodObject<{
2137
+ binding: z.ZodObject<{
2138
+ generationId: z.ZodString;
2139
+ baseRevision: z.ZodNumber;
2140
+ snapshotHash: z.ZodString;
2141
+ }, z.core.$strict>;
2142
+ activity: z.ZodObject<{
2143
+ before: z.ZodString;
2144
+ }, z.core.$strict>;
2145
+ expect: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
2146
+ type: z.ZodLiteral<"activity">;
2147
+ value: z.ZodString;
2148
+ packageName: z.ZodOptional<z.ZodString>;
2149
+ timeoutMs: z.ZodNumber;
2150
+ }, z.core.$strict>, z.ZodObject<{
2151
+ type: z.ZodLiteral<"element">;
2152
+ locator: z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>;
2153
+ enabled: z.ZodOptional<z.ZodBoolean>;
2154
+ clickable: z.ZodOptional<z.ZodBoolean>;
2155
+ absent: z.ZodOptional<z.ZodBoolean>;
2156
+ packageName: z.ZodOptional<z.ZodString>;
2157
+ timeoutMs: z.ZodNumber;
2158
+ }, z.core.$strict>, z.ZodObject<{
2159
+ type: z.ZodLiteral<"logcat">;
2160
+ tag: z.ZodString;
2161
+ level: z.ZodOptional<z.ZodEnum<{
2162
+ V: "V";
2163
+ D: "D";
2164
+ I: "I";
2165
+ W: "W";
2166
+ E: "E";
2167
+ F: "F";
2168
+ A: "A";
2169
+ }>>;
2170
+ pattern: z.ZodString;
2171
+ match: z.ZodDefault<z.ZodEnum<{
2172
+ literal: "literal";
2173
+ regex: "regex";
2174
+ }>>;
2175
+ packageName: z.ZodOptional<z.ZodString>;
2176
+ timeoutMs: z.ZodNumber;
2177
+ }, z.core.$strict>, z.ZodObject<{
2178
+ type: z.ZodLiteral<"logcatEvent">;
2179
+ tag: z.ZodString;
2180
+ event: z.ZodString;
2181
+ fields: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
2182
+ correlation: z.ZodOptional<z.ZodObject<{
2183
+ key: z.ZodString;
2184
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodString]>;
2185
+ }, z.core.$strict>>;
2186
+ capture: z.ZodOptional<z.ZodObject<{
2187
+ name: z.ZodString;
2188
+ field: z.ZodOptional<z.ZodString>;
2189
+ group: z.ZodOptional<z.ZodLiteral<"correlation">>;
2190
+ valueType: z.ZodEnum<{
2191
+ string: "string";
2192
+ integer: "integer";
2193
+ identifier: "identifier";
2194
+ }>;
2195
+ }, z.core.$strict>>;
2196
+ unique: z.ZodDefault<z.ZodLiteral<true>>;
2197
+ window: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
2198
+ from: z.ZodLiteral<"stepStart">;
2199
+ }, z.core.$strict>, z.ZodObject<{
2200
+ from: z.ZodLiteral<"runStart">;
2201
+ }, z.core.$strict>, z.ZodObject<{
2202
+ from: z.ZodLiteral<"marker">;
2203
+ markerId: z.ZodString;
2204
+ }, z.core.$strict>], "from">>;
2205
+ timeoutMs: z.ZodNumber;
2206
+ }, z.core.$strict>], "type">>;
2207
+ action: z.ZodLiteral<"bridge">;
2208
+ scenario: z.ZodEnum<{
2209
+ custom: "custom";
2210
+ photoCapture: "photoCapture";
2211
+ pickImage: "pickImage";
2212
+ pickFile: "pickFile";
2213
+ }>;
2214
+ description: z.ZodString;
2215
+ triggerLocator: z.ZodType<import("./layout.js").Locator, unknown, z.core.$ZodTypeInternals<import("./layout.js").Locator, unknown>>;
2216
+ returnTimeoutMs: z.ZodNumber;
2217
+ flow: z.ZodOptional<z.ZodString>;
2218
+ escapeTimeoutMs: z.ZodOptional<z.ZodNumber>;
835
2219
  }, z.core.$strict>], "action">;
836
2220
  snapshot: z.ZodObject<{
837
- version: z.ZodLiteral<1>;
2221
+ version: z.ZodLiteral<2>;
838
2222
  generationId: z.ZodString;
839
2223
  baseRevision: z.ZodNumber;
840
2224
  deviceSerial: z.ZodString;
@@ -845,6 +2229,63 @@ export declare const GenerationConfirmationEvidenceSchema: z.ZodObject<{
845
2229
  capturedAt: z.ZodISODateTime;
846
2230
  screenshotPath: z.ZodOptional<z.ZodString>;
847
2231
  layout: z.ZodArray<z.ZodType<import("./layout.js").LayoutElement, unknown, z.core.$ZodTypeInternals<import("./layout.js").LayoutElement, unknown>>>;
2232
+ windowHierarchy: z.ZodOptional<z.ZodObject<{
2233
+ status: z.ZodEnum<{
2234
+ unknown: "unknown";
2235
+ complete: "complete";
2236
+ incomplete: "incomplete";
2237
+ }>;
2238
+ appWindows: z.ZodArray<z.ZodObject<{
2239
+ id: z.ZodString;
2240
+ title: z.ZodString;
2241
+ packageName: z.ZodString;
2242
+ type: z.ZodOptional<z.ZodString>;
2243
+ layer: z.ZodOptional<z.ZodNumber>;
2244
+ bounds: z.ZodOptional<z.ZodObject<{
2245
+ left: z.ZodNumber;
2246
+ top: z.ZodNumber;
2247
+ right: z.ZodNumber;
2248
+ bottom: z.ZodNumber;
2249
+ }, z.core.$strict>>;
2250
+ touchable: z.ZodBoolean;
2251
+ focusable: z.ZodOptional<z.ZodBoolean>;
2252
+ focused: z.ZodOptional<z.ZodBoolean>;
2253
+ }, z.core.$strict>>;
2254
+ semanticWindowIds: z.ZodArray<z.ZodString>;
2255
+ diagnostics: z.ZodArray<z.ZodObject<{
2256
+ code: z.ZodEnum<{
2257
+ WINDOW_TOPOLOGY_UNAVAILABLE: "WINDOW_TOPOLOGY_UNAVAILABLE";
2258
+ SEMANTIC_WINDOW_IDS_UNAVAILABLE: "SEMANTIC_WINDOW_IDS_UNAVAILABLE";
2259
+ APP_WINDOW_WITHOUT_SEMANTIC_ROOT: "APP_WINDOW_WITHOUT_SEMANTIC_ROOT";
2260
+ APP_WINDOW_NOT_ACCESSIBILITY_READABLE: "APP_WINDOW_NOT_ACCESSIBILITY_READABLE";
2261
+ }>;
2262
+ message: z.ZodString;
2263
+ }, z.core.$strict>>;
2264
+ recovery: z.ZodArray<z.ZodEnum<{
2265
+ REOBSERVE: "REOBSERVE";
2266
+ LAYOUT_INSPECTOR: "LAYOUT_INSPECTOR";
2267
+ DEBUG_WINDOW_INSPECTOR: "DEBUG_WINDOW_INSPECTOR";
2268
+ }>>;
2269
+ }, z.core.$strict>>;
2270
+ uiBackend: z.ZodObject<{
2271
+ id: z.ZodEnum<{
2272
+ "system-uiautomator": "system-uiautomator";
2273
+ "android-cli": "android-cli";
2274
+ "appium-uiautomator2": "appium-uiautomator2";
2275
+ "mobile-mcp": "mobile-mcp";
2276
+ }>;
2277
+ adapterVersion: z.ZodString;
2278
+ engineVersion: z.ZodOptional<z.ZodString>;
2279
+ configSha256: z.ZodString;
2280
+ }, z.core.$strict>;
2281
+ uiObservationId: z.ZodString;
2282
+ uiCaptureDurationMs: z.ZodNumber;
2283
+ viewport: z.ZodObject<{
2284
+ width: z.ZodNumber;
2285
+ height: z.ZodNumber;
2286
+ rotation: z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<90>, z.ZodLiteral<180>, z.ZodLiteral<270>]>;
2287
+ coordinateSpace: z.ZodLiteral<"physicalDisplayPixels">;
2288
+ }, z.core.$strict>;
848
2289
  }, z.core.$strict>;
849
2290
  source: z.ZodEnum<{
850
2291
  planner: "planner";
@@ -855,13 +2296,89 @@ export type GenerationConfirmationEvidence = z.infer<typeof GenerationConfirmati
855
2296
  export declare function hashGenerationConfirmationEvidence(value: unknown): string;
856
2297
  export declare const GenerationMetaSchema: z.ZodObject<{
857
2298
  version: z.ZodLiteral<1>;
858
- status: z.ZodLiteral<"verified">;
2299
+ status: z.ZodEnum<{
2300
+ verified: "verified";
2301
+ promoted: "promoted";
2302
+ }>;
2303
+ promotion: z.ZodOptional<z.ZodObject<{
2304
+ promotedAt: z.ZodISODateTime;
2305
+ reason: z.ZodString;
2306
+ }, z.core.$strict>>;
2307
+ retired: z.ZodOptional<z.ZodObject<{
2308
+ retiredAt: z.ZodISODateTime;
2309
+ reason: z.ZodString;
2310
+ }, z.core.$strict>>;
859
2311
  generationId: z.ZodString;
860
2312
  journeyPath: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
2313
+ journeySha256: z.ZodString;
861
2314
  bindings: z.ZodObject<{
862
2315
  projectHash: z.ZodString;
863
2316
  configHash: z.ZodString;
864
2317
  contextHash: z.ZodString;
2318
+ uiBackend: z.ZodObject<{
2319
+ id: z.ZodEnum<{
2320
+ "system-uiautomator": "system-uiautomator";
2321
+ "android-cli": "android-cli";
2322
+ "appium-uiautomator2": "appium-uiautomator2";
2323
+ "mobile-mcp": "mobile-mcp";
2324
+ }>;
2325
+ adapterVersion: z.ZodString;
2326
+ engineVersion: z.ZodOptional<z.ZodString>;
2327
+ configSha256: z.ZodString;
2328
+ }, z.core.$strict>;
2329
+ }, z.core.$strict>;
2330
+ replayPolicy: z.ZodObject<{
2331
+ generatedReplayPolicy: z.ZodBoolean;
2332
+ requireFocusedInput: z.ZodBoolean;
2333
+ idle: z.ZodObject<{
2334
+ strategy: z.ZodDefault<z.ZodEnum<{
2335
+ frameStats: "frameStats";
2336
+ hybrid: "hybrid";
2337
+ layoutDiff: "layoutDiff";
2338
+ structural: "structural";
2339
+ }>>;
2340
+ pollIntervalMs: z.ZodNumber;
2341
+ stablePolls: z.ZodNumber;
2342
+ timeoutMs: z.ZodNumber;
2343
+ ignoreCursorBlink: z.ZodOptional<z.ZodBoolean>;
2344
+ ignoreLayoutDrift: z.ZodOptional<z.ZodBoolean>;
2345
+ deviceProfiles: z.ZodOptional<z.ZodArray<z.ZodObject<{
2346
+ match: z.ZodObject<{
2347
+ manufacturer: z.ZodOptional<z.ZodString>;
2348
+ model: z.ZodOptional<z.ZodString>;
2349
+ sdkLevel: z.ZodOptional<z.ZodNumber>;
2350
+ }, z.core.$strict>;
2351
+ strategy: z.ZodOptional<z.ZodEnum<{
2352
+ frameStats: "frameStats";
2353
+ hybrid: "hybrid";
2354
+ layoutDiff: "layoutDiff";
2355
+ structural: "structural";
2356
+ }>>;
2357
+ pollIntervalMs: z.ZodOptional<z.ZodNumber>;
2358
+ stablePolls: z.ZodOptional<z.ZodNumber>;
2359
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
2360
+ ignoreCursorBlink: z.ZodOptional<z.ZodBoolean>;
2361
+ ignoreLayoutDrift: z.ZodOptional<z.ZodBoolean>;
2362
+ }, z.core.$strict>>>;
2363
+ }, z.core.$strict>;
2364
+ }, z.core.$strict>;
2365
+ contextSelection: z.ZodObject<{
2366
+ bundleVersion: z.ZodLiteral<2>;
2367
+ indexHash: z.ZodString;
2368
+ modules: z.ZodArray<z.ZodObject<{
2369
+ id: z.ZodString;
2370
+ sha256: z.ZodString;
2371
+ projectDir: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
2372
+ inventory: z.ZodObject<{
2373
+ pathSetSha256: z.ZodString;
2374
+ categories: z.ZodArray<z.ZodEnum<{
2375
+ manifests: "manifests";
2376
+ sources: "sources";
2377
+ layouts: "layouts";
2378
+ navigation: "navigation";
2379
+ }>>;
2380
+ }, z.core.$strict>;
2381
+ }, z.core.$strict>>;
865
2382
  }, z.core.$strict>;
866
2383
  verification: z.ZodObject<{
867
2384
  reportPath: z.ZodString;
@@ -869,6 +2386,24 @@ export declare const GenerationMetaSchema: z.ZodObject<{
869
2386
  runId: z.ZodString;
870
2387
  runs: z.ZodLiteral<1>;
871
2388
  }, z.core.$strict>;
2389
+ baseFlow: z.ZodOptional<z.ZodObject<{
2390
+ name: z.ZodString;
2391
+ resolutionSha256: z.ZodString;
2392
+ journeySha256: z.ZodString;
2393
+ verificationReportSha256: z.ZodString;
2394
+ verificationRunId: z.ZodString;
2395
+ stepCount: z.ZodNumber;
2396
+ }, z.core.$strict>>;
2397
+ sourceBrief: z.ZodOptional<z.ZodObject<{
2398
+ path: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
2399
+ sha256: z.ZodString;
2400
+ }, z.core.$strict>>;
2401
+ externalFlows: z.ZodArray<z.ZodObject<{
2402
+ name: z.ZodString;
2403
+ flowSha256: z.ZodString;
2404
+ escapedPackageName: z.ZodString;
2405
+ stepCount: z.ZodNumber;
2406
+ }, z.core.$strict>>;
872
2407
  manualOverrideStepIndexes: z.ZodArray<z.ZodNumber>;
873
2408
  }, z.core.$strict>;
874
2409
  export declare const GenerationReportSchema: z.ZodObject<{
@@ -878,6 +2413,7 @@ export declare const GenerationReportSchema: z.ZodObject<{
878
2413
  steps: z.ZodArray<z.ZodObject<{
879
2414
  index: z.ZodNumber;
880
2415
  source: z.ZodEnum<{
2416
+ flow: "flow";
881
2417
  planner: "planner";
882
2418
  manualOverride: "manualOverride";
883
2419
  }>;
@@ -902,9 +2438,12 @@ export type GenerationReport = z.infer<typeof GenerationReportSchema>;
902
2438
  export type GenerationBundleManifest = z.infer<typeof GenerationBundleManifestSchema>;
903
2439
  export interface GenerationCoreIdentity {
904
2440
  id: GenerationSession["id"];
905
- bindings: Pick<GenerationSession["bindings"], "projectHash" | "configHash" | "contextHash">;
2441
+ bindings: Pick<GenerationSession["bindings"], "projectHash" | "configHash" | "contextHash" | "uiBackend">;
906
2442
  target: GenerationSession["target"];
2443
+ contextSelection: GenerationSession["contextSelection"];
907
2444
  variables: GenerationSession["variables"];
2445
+ baseFlow?: NonNullable<GenerationSession["baseFlow"]> | undefined;
2446
+ externalFlows: GenerationSession["externalFlows"];
908
2447
  }
909
2448
  export declare function generationCoreIdentity(session: GenerationSession): GenerationCoreIdentity;
910
2449
  export declare function bindGenerationVariables(input: unknown): GenerationVariables;