autokap 1.0.6 → 1.0.8

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 (347) hide show
  1. package/assets/chrome/ios-statusbar-comparison-reference.jpg +0 -0
  2. package/assets/chrome/ios-statusbar-dark-reference.jpg +0 -0
  3. package/assets/chrome/ios-statusbar-light-reference.jpg +0 -0
  4. package/assets/cursors/macos.svg +4 -0
  5. package/assets/cursors/windows.svg +15 -0
  6. package/assets/devices/ipad-pro-11-m4.json +52 -0
  7. package/assets/devices/iphone-16-pro.json +53 -0
  8. package/assets/devices/macbook-air-13.json +45 -0
  9. package/assets/frames/MacBook Air 13.svg +242 -0
  10. package/assets/frames/Status bar - iPhone.png +0 -0
  11. Menu bar- iPad.png +0 -0
  12. package/assets/frames/iPad Pro M4 11_.png +0 -0
  13. package/assets/frames/iPhone 16 Pro.png +0 -0
  14. package/assets/icons/Cellular Connection.svg +3 -0
  15. package/assets/icons/Union.svg +6 -0
  16. package/assets/icons/Wifi.svg +3 -0
  17. package/assets/icons/battery.svg +5 -0
  18. package/assets/icons/battery_charging.svg +8 -0
  19. package/assets/skill/OPCODE-REFERENCE.md +607 -0
  20. package/assets/skill/README.md +39 -0
  21. package/assets/skill/SKILL.md +453 -468
  22. package/assets/skill/STUDIO-SKILL.md +476 -0
  23. package/assets/skill/references/examples.md +104 -0
  24. package/assets/skill/references/interactive-demo.md +225 -0
  25. package/assets/skill/references/mock-data.md +178 -0
  26. package/dist/abort.d.ts +5 -0
  27. package/dist/abort.js +44 -0
  28. package/dist/action-verifier.d.ts +29 -0
  29. package/dist/action-verifier.js +133 -0
  30. package/dist/agent-action-recovery.d.ts +45 -0
  31. package/dist/agent-action-recovery.js +370 -0
  32. package/dist/agent-message-utils.d.ts +21 -0
  33. package/dist/agent-message-utils.js +77 -0
  34. package/dist/agent-url-utils.d.ts +30 -0
  35. package/dist/agent-url-utils.js +138 -0
  36. package/dist/agent.d.ts +226 -0
  37. package/dist/agent.js +6666 -0
  38. package/dist/ak-tree.d.ts +39 -0
  39. package/dist/ak-tree.js +368 -0
  40. package/dist/alt-text.d.ts +26 -0
  41. package/dist/alt-text.js +55 -0
  42. package/dist/auth-capture.d.ts +17 -0
  43. package/dist/auth-capture.js +164 -0
  44. package/dist/benchmark.d.ts +59 -0
  45. package/dist/benchmark.js +135 -0
  46. package/dist/billing-operation-logging.d.ts +38 -0
  47. package/dist/billing-operation-logging.js +248 -0
  48. package/dist/browser-bar.d.ts +48 -0
  49. package/dist/browser-bar.js +284 -0
  50. package/dist/browser-pool.d.ts +7 -0
  51. package/dist/browser-pool.js +15 -5
  52. package/dist/browser-utils.d.ts +31 -0
  53. package/dist/browser-utils.js +97 -0
  54. package/dist/browser.d.ts +76 -1
  55. package/dist/browser.js +1657 -39
  56. package/dist/capture-alt-text.d.ts +12 -0
  57. package/dist/capture-alt-text.js +52 -0
  58. package/dist/capture-encryption.d.ts +10 -0
  59. package/dist/capture-encryption.js +41 -0
  60. package/dist/capture-language-preflight.d.ts +41 -0
  61. package/dist/capture-language-preflight.js +300 -0
  62. package/dist/capture-llm-page-identity.d.ts +15 -0
  63. package/dist/capture-llm-page-identity.js +128 -0
  64. package/dist/capture-model-resolution.d.ts +9 -0
  65. package/dist/capture-model-resolution.js +21 -0
  66. package/dist/capture-page-identity.d.ts +7 -0
  67. package/dist/capture-page-identity.js +352 -0
  68. package/dist/capture-preset-credentials.d.ts +62 -0
  69. package/dist/capture-preset-credentials.js +184 -0
  70. package/dist/capture-request-plan.d.ts +58 -0
  71. package/dist/capture-request-plan.js +264 -0
  72. package/dist/capture-run-optimizer.d.ts +139 -0
  73. package/dist/capture-run-optimizer.js +863 -0
  74. package/dist/capture-selector-memory.d.ts +31 -0
  75. package/dist/capture-selector-memory.js +345 -0
  76. package/dist/capture-session-profile-encryption.d.ts +2 -0
  77. package/dist/capture-session-profile-encryption.js +22 -0
  78. package/dist/capture-step-timeout.d.ts +10 -0
  79. package/dist/capture-step-timeout.js +30 -0
  80. package/dist/capture-strategy.d.ts +36 -0
  81. package/dist/capture-strategy.js +95 -0
  82. package/dist/capture-studio-sync.d.ts +23 -0
  83. package/dist/capture-studio-sync.js +172 -0
  84. package/dist/capture-surface-contract.d.ts +36 -0
  85. package/dist/capture-surface-contract.js +299 -0
  86. package/dist/capture-transition-engine.d.ts +28 -0
  87. package/dist/capture-transition-engine.js +292 -0
  88. package/dist/capture-variant-state.d.ts +56 -0
  89. package/dist/capture-variant-state.js +182 -0
  90. package/dist/capture-verification.d.ts +35 -0
  91. package/dist/capture-verification.js +95 -0
  92. package/dist/capture-viewport-lock.d.ts +48 -0
  93. package/dist/capture-viewport-lock.js +74 -0
  94. package/dist/circuit-breaker.d.ts +42 -0
  95. package/dist/circuit-breaker.js +119 -0
  96. package/dist/cli-config.d.ts +8 -1
  97. package/dist/cli-config.js +62 -6
  98. package/dist/cli-contract.d.ts +15 -0
  99. package/dist/cli-contract.js +167 -0
  100. package/dist/cli-runner-local.d.ts +12 -0
  101. package/dist/cli-runner-local.js +102 -0
  102. package/dist/cli-runner.d.ts +34 -0
  103. package/dist/cli-runner.js +433 -0
  104. package/dist/cli-utils.d.ts +0 -1
  105. package/dist/cli-utils.js +2 -5
  106. package/dist/cli.js +1005 -252
  107. package/dist/clip-orchestrator.d.ts +148 -0
  108. package/dist/clip-orchestrator.js +957 -0
  109. package/dist/clip-postprocess.d.ts +42 -0
  110. package/dist/clip-postprocess.js +201 -0
  111. package/dist/cookie-dismiss.d.ts +2 -0
  112. package/dist/cookie-dismiss.js +48 -13
  113. package/dist/cost-logging.d.ts +35 -0
  114. package/dist/cost-logging.js +242 -0
  115. package/dist/cost-resolution-monitor.d.ts +16 -0
  116. package/dist/cost-resolution-monitor.js +34 -0
  117. package/dist/credential-templates.d.ts +5 -0
  118. package/dist/credential-templates.js +60 -0
  119. package/dist/cursor-overlay-script.d.ts +6 -0
  120. package/dist/cursor-overlay-script.js +169 -0
  121. package/dist/dom-css-purger.d.ts +65 -0
  122. package/dist/dom-css-purger.js +333 -0
  123. package/dist/dom-font-inliner.d.ts +45 -0
  124. package/dist/dom-font-inliner.js +148 -0
  125. package/dist/dom-patch-resolver.d.ts +52 -0
  126. package/dist/dom-patch-resolver.js +242 -0
  127. package/dist/dom-serializer.d.ts +82 -0
  128. package/dist/dom-serializer.js +378 -0
  129. package/dist/element-capture.d.ts +13 -0
  130. package/dist/element-capture.js +522 -0
  131. package/dist/env-validation.d.ts +5 -0
  132. package/dist/env-validation.js +29 -0
  133. package/dist/execution-schema.d.ts +4423 -0
  134. package/dist/execution-schema.js +507 -0
  135. package/dist/execution-types.d.ts +886 -0
  136. package/dist/execution-types.js +65 -0
  137. package/dist/fonts-loader.d.ts +14 -0
  138. package/dist/fonts-loader.js +55 -0
  139. package/dist/hybrid-navigator.d.ts +138 -0
  140. package/dist/hybrid-navigator.js +468 -0
  141. package/dist/index.d.ts +18 -0
  142. package/dist/index.js +17 -0
  143. package/dist/legacy/agent-action-recovery.d.ts +45 -0
  144. package/dist/legacy/agent-action-recovery.js +370 -0
  145. package/dist/legacy/agent-message-utils.d.ts +21 -0
  146. package/dist/legacy/agent-message-utils.js +77 -0
  147. package/dist/legacy/agent-url-utils.d.ts +30 -0
  148. package/dist/legacy/agent-url-utils.js +138 -0
  149. package/dist/legacy/agent.d.ts +226 -0
  150. package/dist/legacy/agent.js +6666 -0
  151. package/dist/legacy/clip-orchestrator.d.ts +148 -0
  152. package/dist/legacy/clip-orchestrator.js +957 -0
  153. package/dist/legacy/credential-templates.d.ts +5 -0
  154. package/dist/legacy/credential-templates.js +60 -0
  155. package/dist/legacy/hybrid-navigator.d.ts +138 -0
  156. package/dist/legacy/hybrid-navigator.js +468 -0
  157. package/dist/legacy/llm-usage.d.ts +17 -0
  158. package/dist/legacy/llm-usage.js +45 -0
  159. package/dist/legacy/prompt-cache.d.ts +10 -0
  160. package/dist/legacy/prompt-cache.js +24 -0
  161. package/dist/legacy/prompts.d.ts +175 -0
  162. package/dist/legacy/prompts.js +1038 -0
  163. package/dist/legacy/tools.d.ts +4 -0
  164. package/dist/legacy/tools.js +216 -0
  165. package/dist/legacy/video-agent.d.ts +143 -0
  166. package/dist/legacy/video-agent.js +4788 -0
  167. package/dist/legacy/video-observation.d.ts +36 -0
  168. package/dist/legacy/video-observation.js +192 -0
  169. package/dist/legacy/video-planner.d.ts +12 -0
  170. package/dist/legacy/video-planner.js +501 -0
  171. package/dist/legacy/video-prompts.d.ts +37 -0
  172. package/dist/legacy/video-prompts.js +569 -0
  173. package/dist/legacy/video-tools.d.ts +3 -0
  174. package/dist/legacy/video-tools.js +59 -0
  175. package/dist/legacy/video-variant-state.d.ts +29 -0
  176. package/dist/legacy/video-variant-state.js +80 -0
  177. package/dist/legacy/vision-model.d.ts +17 -0
  178. package/dist/legacy/vision-model.js +74 -0
  179. package/dist/llm-healer.d.ts +63 -0
  180. package/dist/llm-healer.js +166 -0
  181. package/dist/llm-provider.d.ts +29 -0
  182. package/dist/llm-provider.js +80 -0
  183. package/dist/llm-usage.d.ts +17 -0
  184. package/dist/llm-usage.js +45 -0
  185. package/dist/logger.d.ts +6 -2
  186. package/dist/logger.js +15 -1
  187. package/dist/mockup-html.d.ts +119 -0
  188. package/dist/mockup-html.js +263 -0
  189. package/dist/mockup.d.ts +187 -0
  190. package/dist/mockup.js +869 -0
  191. package/dist/mouse-animation.d.ts +46 -0
  192. package/dist/mouse-animation.js +114 -0
  193. package/dist/opcode-actions.d.ts +42 -0
  194. package/dist/opcode-actions.js +511 -0
  195. package/dist/opcode-runner.d.ts +51 -0
  196. package/dist/opcode-runner.js +770 -0
  197. package/dist/openrouter-client.d.ts +40 -0
  198. package/dist/openrouter-client.js +16 -0
  199. package/dist/overlay-engine.d.ts +24 -0
  200. package/dist/overlay-engine.js +176 -0
  201. package/dist/overlay-utils.d.ts +14 -0
  202. package/dist/overlay-utils.js +13 -0
  203. package/dist/postcondition.d.ts +16 -0
  204. package/dist/postcondition.js +269 -0
  205. package/dist/posthog.d.ts +4 -0
  206. package/dist/posthog.js +26 -0
  207. package/dist/program-patcher.d.ts +25 -0
  208. package/dist/program-patcher.js +44 -0
  209. package/dist/prompt-cache.d.ts +10 -0
  210. package/dist/prompt-cache.js +24 -0
  211. package/dist/prompts.d.ts +175 -0
  212. package/dist/prompts.js +1038 -0
  213. package/dist/provider-config.d.ts +12 -0
  214. package/dist/provider-config.js +15 -0
  215. package/dist/recovery-chain.d.ts +37 -0
  216. package/dist/recovery-chain.js +350 -0
  217. package/dist/remote-browser.d.ts +215 -0
  218. package/dist/remote-browser.js +360 -0
  219. package/dist/safari-browser-bar.d.ts +15 -0
  220. package/dist/safari-browser-bar.js +95 -0
  221. package/dist/safari-toolbar-asset.d.ts +15 -0
  222. package/dist/safari-toolbar-asset.js +12 -0
  223. package/dist/security.d.ts +21 -0
  224. package/dist/security.js +608 -0
  225. package/dist/selector-resolver.d.ts +34 -0
  226. package/dist/selector-resolver.js +181 -0
  227. package/dist/semantic-resolver.d.ts +35 -0
  228. package/dist/semantic-resolver.js +161 -0
  229. package/dist/server-capture-runtime.d.ts +125 -0
  230. package/dist/server-capture-runtime.js +585 -0
  231. package/dist/server-credit-usage.d.ts +12 -0
  232. package/dist/server-credit-usage.js +41 -0
  233. package/dist/server-posthog.d.ts +2 -0
  234. package/dist/server-posthog.js +16 -0
  235. package/dist/server-project-webhooks.d.ts +59 -0
  236. package/dist/server-project-webhooks.js +123 -0
  237. package/dist/server-screenshot-watermark.d.ts +7 -0
  238. package/dist/server-screenshot-watermark.js +60 -0
  239. package/dist/session-profile.d.ts +86 -0
  240. package/dist/session-profile.js +1536 -0
  241. package/dist/sf-pro-fonts.d.ts +4 -0
  242. package/dist/sf-pro-fonts.js +7 -0
  243. package/dist/sf-pro-symbols.d.ts +1 -0
  244. package/dist/sf-pro-symbols.js +55 -0
  245. package/dist/skill-packaging.d.ts +28 -0
  246. package/dist/skill-packaging.js +169 -0
  247. package/dist/smart-wait.d.ts +27 -0
  248. package/dist/smart-wait.js +81 -0
  249. package/dist/status-bar-l10n.d.ts +14 -0
  250. package/dist/status-bar-l10n.js +177 -0
  251. package/dist/status-bar-render.d.ts +20 -0
  252. package/dist/status-bar-render.js +410 -0
  253. package/dist/status-bar.d.ts +53 -0
  254. package/dist/status-bar.js +620 -0
  255. package/dist/svg-browser-bar.d.ts +33 -0
  256. package/dist/svg-browser-bar.js +206 -0
  257. package/dist/svg-status-bar.d.ts +36 -0
  258. package/dist/svg-status-bar.js +597 -0
  259. package/dist/svg-text.d.ts +61 -0
  260. package/dist/svg-text.js +118 -0
  261. package/dist/tools.d.ts +4 -0
  262. package/dist/tools.js +216 -0
  263. package/dist/types.d.ts +240 -5
  264. package/dist/types.js +23 -1
  265. package/dist/v2/action-verifier.d.ts +29 -0
  266. package/dist/v2/action-verifier.js +133 -0
  267. package/dist/v2/alt-text.d.ts +26 -0
  268. package/dist/v2/alt-text.js +55 -0
  269. package/dist/v2/benchmark.d.ts +59 -0
  270. package/dist/v2/benchmark.js +135 -0
  271. package/dist/v2/capture-strategy.d.ts +30 -0
  272. package/dist/v2/capture-strategy.js +67 -0
  273. package/dist/v2/capture-verification.d.ts +35 -0
  274. package/dist/v2/capture-verification.js +95 -0
  275. package/dist/v2/circuit-breaker.d.ts +42 -0
  276. package/dist/v2/circuit-breaker.js +119 -0
  277. package/dist/v2/cli-runner-local.d.ts +11 -0
  278. package/dist/v2/cli-runner-local.js +91 -0
  279. package/dist/v2/cli-runner.d.ts +34 -0
  280. package/dist/v2/cli-runner.js +300 -0
  281. package/dist/v2/compiler-prompts.d.ts +27 -0
  282. package/dist/v2/compiler-prompts.js +123 -0
  283. package/dist/v2/compiler.d.ts +37 -0
  284. package/dist/v2/compiler.js +147 -0
  285. package/dist/v2/explorer.d.ts +41 -0
  286. package/dist/v2/explorer.js +56 -0
  287. package/dist/v2/index.d.ts +37 -0
  288. package/dist/v2/index.js +31 -0
  289. package/dist/v2/llm-healer.d.ts +62 -0
  290. package/dist/v2/llm-healer.js +166 -0
  291. package/dist/v2/llm-provider.d.ts +29 -0
  292. package/dist/v2/llm-provider.js +80 -0
  293. package/dist/v2/opcode-runner.d.ts +47 -0
  294. package/dist/v2/opcode-runner.js +634 -0
  295. package/dist/v2/overlay-engine.d.ts +24 -0
  296. package/dist/v2/overlay-engine.js +150 -0
  297. package/dist/v2/postcondition.d.ts +16 -0
  298. package/dist/v2/postcondition.js +249 -0
  299. package/dist/v2/program-patcher.d.ts +25 -0
  300. package/dist/v2/program-patcher.js +44 -0
  301. package/dist/v2/recovery-chain.d.ts +30 -0
  302. package/dist/v2/recovery-chain.js +368 -0
  303. package/dist/v2/schema.d.ts +2580 -0
  304. package/dist/v2/schema.js +295 -0
  305. package/dist/v2/selector-resolver.d.ts +34 -0
  306. package/dist/v2/selector-resolver.js +181 -0
  307. package/dist/v2/semantic-resolver.d.ts +35 -0
  308. package/dist/v2/semantic-resolver.js +161 -0
  309. package/dist/v2/smart-wait.d.ts +27 -0
  310. package/dist/v2/smart-wait.js +81 -0
  311. package/dist/v2/types.d.ts +444 -0
  312. package/dist/v2/types.js +19 -0
  313. package/dist/v2/web-playwright-local.d.ts +69 -0
  314. package/dist/v2/web-playwright-local.js +392 -0
  315. package/dist/version.d.ts +1 -0
  316. package/dist/version.js +5 -0
  317. package/dist/video-agent.d.ts +143 -0
  318. package/dist/video-agent.js +4788 -0
  319. package/dist/video-observation.d.ts +36 -0
  320. package/dist/video-observation.js +192 -0
  321. package/dist/video-planner.d.ts +12 -0
  322. package/dist/video-planner.js +501 -0
  323. package/dist/video-prompts.d.ts +37 -0
  324. package/dist/video-prompts.js +554 -0
  325. package/dist/video-tools.d.ts +3 -0
  326. package/dist/video-tools.js +59 -0
  327. package/dist/video-variant-state.d.ts +29 -0
  328. package/dist/video-variant-state.js +80 -0
  329. package/dist/vision-model.d.ts +17 -0
  330. package/dist/vision-model.js +74 -0
  331. package/dist/web-playwright-local.d.ts +126 -0
  332. package/dist/web-playwright-local.js +819 -0
  333. package/dist/ws-auth.d.ts +20 -0
  334. package/dist/ws-auth.js +70 -0
  335. package/dist/ws-broadcast.d.ts +34 -0
  336. package/dist/ws-broadcast.js +85 -0
  337. package/dist/ws-connection-limits.d.ts +12 -0
  338. package/dist/ws-connection-limits.js +44 -0
  339. package/dist/ws-handler-utils.d.ts +32 -0
  340. package/dist/ws-handler-utils.js +139 -0
  341. package/dist/ws-handler.d.ts +10 -0
  342. package/dist/ws-handler.js +1793 -0
  343. package/dist/ws-metrics-server.d.ts +9 -0
  344. package/dist/ws-metrics-server.js +31 -0
  345. package/dist/ws-server.d.ts +9 -0
  346. package/dist/ws-server.js +92 -0
  347. package/package.json +142 -71
@@ -0,0 +1,4423 @@
1
+ /**
2
+ * Capture Agent — Zod Validation Schemas
3
+ *
4
+ * Validates ExecutionProgram at compile output (server) and CLI input boundaries.
5
+ */
6
+ import { z } from 'zod';
7
+ import type { ExecutionProgram, ExecutionOpcode } from './execution-types.js';
8
+ export declare const PostconditionSpecSchema: z.ZodObject<{
9
+ type: z.ZodEnum<{
10
+ route_matches: "route_matches";
11
+ element_visible: "element_visible";
12
+ element_absent: "element_absent";
13
+ text_contains: "text_contains";
14
+ overlay_dismissed: "overlay_dismissed";
15
+ screenshot_stable: "screenshot_stable";
16
+ any_change: "any_change";
17
+ always: "always";
18
+ }>;
19
+ pattern: z.ZodOptional<z.ZodString>;
20
+ selector: z.ZodOptional<z.ZodString>;
21
+ text: z.ZodOptional<z.ZodString>;
22
+ threshold: z.ZodOptional<z.ZodNumber>;
23
+ waitMs: z.ZodOptional<z.ZodNumber>;
24
+ }, z.core.$strip>;
25
+ export declare const RecoveryPolicySchema: z.ZodObject<{
26
+ retries: z.ZodNumber;
27
+ useSelectorMemory: z.ZodBoolean;
28
+ useAltInteraction: z.ZodBoolean;
29
+ allowReload: z.ZodBoolean;
30
+ allowHealer: z.ZodBoolean;
31
+ }, z.core.$strip>;
32
+ export declare const ExecutionOpcodeSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
33
+ url: z.ZodString;
34
+ description: z.ZodString;
35
+ postcondition: z.ZodObject<{
36
+ type: z.ZodEnum<{
37
+ route_matches: "route_matches";
38
+ element_visible: "element_visible";
39
+ element_absent: "element_absent";
40
+ text_contains: "text_contains";
41
+ overlay_dismissed: "overlay_dismissed";
42
+ screenshot_stable: "screenshot_stable";
43
+ any_change: "any_change";
44
+ always: "always";
45
+ }>;
46
+ pattern: z.ZodOptional<z.ZodString>;
47
+ selector: z.ZodOptional<z.ZodString>;
48
+ text: z.ZodOptional<z.ZodString>;
49
+ threshold: z.ZodOptional<z.ZodNumber>;
50
+ waitMs: z.ZodOptional<z.ZodNumber>;
51
+ }, z.core.$strip>;
52
+ recovery: z.ZodObject<{
53
+ retries: z.ZodNumber;
54
+ useSelectorMemory: z.ZodBoolean;
55
+ useAltInteraction: z.ZodBoolean;
56
+ allowReload: z.ZodBoolean;
57
+ allowHealer: z.ZodBoolean;
58
+ }, z.core.$strip>;
59
+ timeoutMs: z.ZodNumber;
60
+ maxFailures: z.ZodNumber;
61
+ kind: z.ZodLiteral<"NAVIGATE">;
62
+ }, z.core.$strip>, z.ZodObject<{
63
+ description: z.ZodString;
64
+ postcondition: z.ZodObject<{
65
+ type: z.ZodEnum<{
66
+ route_matches: "route_matches";
67
+ element_visible: "element_visible";
68
+ element_absent: "element_absent";
69
+ text_contains: "text_contains";
70
+ overlay_dismissed: "overlay_dismissed";
71
+ screenshot_stable: "screenshot_stable";
72
+ any_change: "any_change";
73
+ always: "always";
74
+ }>;
75
+ pattern: z.ZodOptional<z.ZodString>;
76
+ selector: z.ZodOptional<z.ZodString>;
77
+ text: z.ZodOptional<z.ZodString>;
78
+ threshold: z.ZodOptional<z.ZodNumber>;
79
+ waitMs: z.ZodOptional<z.ZodNumber>;
80
+ }, z.core.$strip>;
81
+ recovery: z.ZodObject<{
82
+ retries: z.ZodNumber;
83
+ useSelectorMemory: z.ZodBoolean;
84
+ useAltInteraction: z.ZodBoolean;
85
+ allowReload: z.ZodBoolean;
86
+ allowHealer: z.ZodBoolean;
87
+ }, z.core.$strip>;
88
+ timeoutMs: z.ZodNumber;
89
+ maxFailures: z.ZodNumber;
90
+ kind: z.ZodLiteral<"DISMISS_OVERLAYS">;
91
+ }, z.core.$strip>, z.ZodObject<{
92
+ urlPattern: z.ZodString;
93
+ description: z.ZodString;
94
+ postcondition: z.ZodObject<{
95
+ type: z.ZodEnum<{
96
+ route_matches: "route_matches";
97
+ element_visible: "element_visible";
98
+ element_absent: "element_absent";
99
+ text_contains: "text_contains";
100
+ overlay_dismissed: "overlay_dismissed";
101
+ screenshot_stable: "screenshot_stable";
102
+ any_change: "any_change";
103
+ always: "always";
104
+ }>;
105
+ pattern: z.ZodOptional<z.ZodString>;
106
+ selector: z.ZodOptional<z.ZodString>;
107
+ text: z.ZodOptional<z.ZodString>;
108
+ threshold: z.ZodOptional<z.ZodNumber>;
109
+ waitMs: z.ZodOptional<z.ZodNumber>;
110
+ }, z.core.$strip>;
111
+ recovery: z.ZodObject<{
112
+ retries: z.ZodNumber;
113
+ useSelectorMemory: z.ZodBoolean;
114
+ useAltInteraction: z.ZodBoolean;
115
+ allowReload: z.ZodBoolean;
116
+ allowHealer: z.ZodBoolean;
117
+ }, z.core.$strip>;
118
+ timeoutMs: z.ZodNumber;
119
+ maxFailures: z.ZodNumber;
120
+ kind: z.ZodLiteral<"ASSERT_ROUTE">;
121
+ }, z.core.$strip>, z.ZodObject<{
122
+ selectors: z.ZodArray<z.ZodString>;
123
+ matchAll: z.ZodBoolean;
124
+ description: z.ZodString;
125
+ postcondition: z.ZodObject<{
126
+ type: z.ZodEnum<{
127
+ route_matches: "route_matches";
128
+ element_visible: "element_visible";
129
+ element_absent: "element_absent";
130
+ text_contains: "text_contains";
131
+ overlay_dismissed: "overlay_dismissed";
132
+ screenshot_stable: "screenshot_stable";
133
+ any_change: "any_change";
134
+ always: "always";
135
+ }>;
136
+ pattern: z.ZodOptional<z.ZodString>;
137
+ selector: z.ZodOptional<z.ZodString>;
138
+ text: z.ZodOptional<z.ZodString>;
139
+ threshold: z.ZodOptional<z.ZodNumber>;
140
+ waitMs: z.ZodOptional<z.ZodNumber>;
141
+ }, z.core.$strip>;
142
+ recovery: z.ZodObject<{
143
+ retries: z.ZodNumber;
144
+ useSelectorMemory: z.ZodBoolean;
145
+ useAltInteraction: z.ZodBoolean;
146
+ allowReload: z.ZodBoolean;
147
+ allowHealer: z.ZodBoolean;
148
+ }, z.core.$strip>;
149
+ timeoutMs: z.ZodNumber;
150
+ maxFailures: z.ZodNumber;
151
+ kind: z.ZodLiteral<"ASSERT_SURFACE">;
152
+ }, z.core.$strip>, z.ZodObject<{
153
+ selector: z.ZodString;
154
+ target: z.ZodOptional<z.ZodObject<{
155
+ text: z.ZodOptional<z.ZodString>;
156
+ role: z.ZodOptional<z.ZodString>;
157
+ label: z.ZodOptional<z.ZodString>;
158
+ near: z.ZodOptional<z.ZodString>;
159
+ placeholder: z.ZodOptional<z.ZodString>;
160
+ exact: z.ZodOptional<z.ZodBoolean>;
161
+ }, z.core.$strip>>;
162
+ button: z.ZodOptional<z.ZodEnum<{
163
+ right: "right";
164
+ middle: "middle";
165
+ }>>;
166
+ fingerprint: z.ZodOptional<z.ZodString>;
167
+ selectorAlternates: z.ZodOptional<z.ZodArray<z.ZodString>>;
168
+ description: z.ZodString;
169
+ postcondition: z.ZodObject<{
170
+ type: z.ZodEnum<{
171
+ route_matches: "route_matches";
172
+ element_visible: "element_visible";
173
+ element_absent: "element_absent";
174
+ text_contains: "text_contains";
175
+ overlay_dismissed: "overlay_dismissed";
176
+ screenshot_stable: "screenshot_stable";
177
+ any_change: "any_change";
178
+ always: "always";
179
+ }>;
180
+ pattern: z.ZodOptional<z.ZodString>;
181
+ selector: z.ZodOptional<z.ZodString>;
182
+ text: z.ZodOptional<z.ZodString>;
183
+ threshold: z.ZodOptional<z.ZodNumber>;
184
+ waitMs: z.ZodOptional<z.ZodNumber>;
185
+ }, z.core.$strip>;
186
+ recovery: z.ZodObject<{
187
+ retries: z.ZodNumber;
188
+ useSelectorMemory: z.ZodBoolean;
189
+ useAltInteraction: z.ZodBoolean;
190
+ allowReload: z.ZodBoolean;
191
+ allowHealer: z.ZodBoolean;
192
+ }, z.core.$strip>;
193
+ timeoutMs: z.ZodNumber;
194
+ maxFailures: z.ZodNumber;
195
+ kind: z.ZodLiteral<"CLICK">;
196
+ }, z.core.$strip>, z.ZodObject<{
197
+ selector: z.ZodString;
198
+ target: z.ZodOptional<z.ZodObject<{
199
+ text: z.ZodOptional<z.ZodString>;
200
+ role: z.ZodOptional<z.ZodString>;
201
+ label: z.ZodOptional<z.ZodString>;
202
+ near: z.ZodOptional<z.ZodString>;
203
+ placeholder: z.ZodOptional<z.ZodString>;
204
+ exact: z.ZodOptional<z.ZodBoolean>;
205
+ }, z.core.$strip>>;
206
+ text: z.ZodString;
207
+ textByLocale: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
208
+ clearFirst: z.ZodBoolean;
209
+ fingerprint: z.ZodOptional<z.ZodString>;
210
+ selectorAlternates: z.ZodOptional<z.ZodArray<z.ZodString>>;
211
+ description: z.ZodString;
212
+ postcondition: z.ZodObject<{
213
+ type: z.ZodEnum<{
214
+ route_matches: "route_matches";
215
+ element_visible: "element_visible";
216
+ element_absent: "element_absent";
217
+ text_contains: "text_contains";
218
+ overlay_dismissed: "overlay_dismissed";
219
+ screenshot_stable: "screenshot_stable";
220
+ any_change: "any_change";
221
+ always: "always";
222
+ }>;
223
+ pattern: z.ZodOptional<z.ZodString>;
224
+ selector: z.ZodOptional<z.ZodString>;
225
+ text: z.ZodOptional<z.ZodString>;
226
+ threshold: z.ZodOptional<z.ZodNumber>;
227
+ waitMs: z.ZodOptional<z.ZodNumber>;
228
+ }, z.core.$strip>;
229
+ recovery: z.ZodObject<{
230
+ retries: z.ZodNumber;
231
+ useSelectorMemory: z.ZodBoolean;
232
+ useAltInteraction: z.ZodBoolean;
233
+ allowReload: z.ZodBoolean;
234
+ allowHealer: z.ZodBoolean;
235
+ }, z.core.$strip>;
236
+ timeoutMs: z.ZodNumber;
237
+ maxFailures: z.ZodNumber;
238
+ kind: z.ZodLiteral<"TYPE">;
239
+ }, z.core.$strip>, z.ZodObject<{
240
+ key: z.ZodString;
241
+ description: z.ZodString;
242
+ postcondition: z.ZodObject<{
243
+ type: z.ZodEnum<{
244
+ route_matches: "route_matches";
245
+ element_visible: "element_visible";
246
+ element_absent: "element_absent";
247
+ text_contains: "text_contains";
248
+ overlay_dismissed: "overlay_dismissed";
249
+ screenshot_stable: "screenshot_stable";
250
+ any_change: "any_change";
251
+ always: "always";
252
+ }>;
253
+ pattern: z.ZodOptional<z.ZodString>;
254
+ selector: z.ZodOptional<z.ZodString>;
255
+ text: z.ZodOptional<z.ZodString>;
256
+ threshold: z.ZodOptional<z.ZodNumber>;
257
+ waitMs: z.ZodOptional<z.ZodNumber>;
258
+ }, z.core.$strip>;
259
+ recovery: z.ZodObject<{
260
+ retries: z.ZodNumber;
261
+ useSelectorMemory: z.ZodBoolean;
262
+ useAltInteraction: z.ZodBoolean;
263
+ allowReload: z.ZodBoolean;
264
+ allowHealer: z.ZodBoolean;
265
+ }, z.core.$strip>;
266
+ timeoutMs: z.ZodNumber;
267
+ maxFailures: z.ZodNumber;
268
+ kind: z.ZodLiteral<"PRESS_KEY">;
269
+ }, z.core.$strip>, z.ZodObject<{
270
+ selector: z.ZodOptional<z.ZodString>;
271
+ target: z.ZodOptional<z.ZodObject<{
272
+ text: z.ZodOptional<z.ZodString>;
273
+ role: z.ZodOptional<z.ZodString>;
274
+ label: z.ZodOptional<z.ZodString>;
275
+ near: z.ZodOptional<z.ZodString>;
276
+ placeholder: z.ZodOptional<z.ZodString>;
277
+ exact: z.ZodOptional<z.ZodBoolean>;
278
+ }, z.core.$strip>>;
279
+ state: z.ZodEnum<{
280
+ visible: "visible";
281
+ attached: "attached";
282
+ }>;
283
+ description: z.ZodString;
284
+ postcondition: z.ZodObject<{
285
+ type: z.ZodEnum<{
286
+ route_matches: "route_matches";
287
+ element_visible: "element_visible";
288
+ element_absent: "element_absent";
289
+ text_contains: "text_contains";
290
+ overlay_dismissed: "overlay_dismissed";
291
+ screenshot_stable: "screenshot_stable";
292
+ any_change: "any_change";
293
+ always: "always";
294
+ }>;
295
+ pattern: z.ZodOptional<z.ZodString>;
296
+ selector: z.ZodOptional<z.ZodString>;
297
+ text: z.ZodOptional<z.ZodString>;
298
+ threshold: z.ZodOptional<z.ZodNumber>;
299
+ waitMs: z.ZodOptional<z.ZodNumber>;
300
+ }, z.core.$strip>;
301
+ recovery: z.ZodObject<{
302
+ retries: z.ZodNumber;
303
+ useSelectorMemory: z.ZodBoolean;
304
+ useAltInteraction: z.ZodBoolean;
305
+ allowReload: z.ZodBoolean;
306
+ allowHealer: z.ZodBoolean;
307
+ }, z.core.$strip>;
308
+ timeoutMs: z.ZodNumber;
309
+ maxFailures: z.ZodNumber;
310
+ kind: z.ZodLiteral<"WAIT_FOR">;
311
+ }, z.core.$strip>, z.ZodObject<{
312
+ locale: z.ZodString;
313
+ method: z.ZodEnum<{
314
+ browser_context: "browser_context";
315
+ ui_interaction: "ui_interaction";
316
+ storage: "storage";
317
+ }>;
318
+ selector: z.ZodOptional<z.ZodString>;
319
+ storageHints: z.ZodOptional<z.ZodArray<z.ZodObject<{
320
+ storage: z.ZodEnum<{
321
+ localStorage: "localStorage";
322
+ sessionStorage: "sessionStorage";
323
+ cookie: "cookie";
324
+ }>;
325
+ key: z.ZodString;
326
+ value: z.ZodString;
327
+ }, z.core.$strip>>>;
328
+ description: z.ZodString;
329
+ postcondition: z.ZodObject<{
330
+ type: z.ZodEnum<{
331
+ route_matches: "route_matches";
332
+ element_visible: "element_visible";
333
+ element_absent: "element_absent";
334
+ text_contains: "text_contains";
335
+ overlay_dismissed: "overlay_dismissed";
336
+ screenshot_stable: "screenshot_stable";
337
+ any_change: "any_change";
338
+ always: "always";
339
+ }>;
340
+ pattern: z.ZodOptional<z.ZodString>;
341
+ selector: z.ZodOptional<z.ZodString>;
342
+ text: z.ZodOptional<z.ZodString>;
343
+ threshold: z.ZodOptional<z.ZodNumber>;
344
+ waitMs: z.ZodOptional<z.ZodNumber>;
345
+ }, z.core.$strip>;
346
+ recovery: z.ZodObject<{
347
+ retries: z.ZodNumber;
348
+ useSelectorMemory: z.ZodBoolean;
349
+ useAltInteraction: z.ZodBoolean;
350
+ allowReload: z.ZodBoolean;
351
+ allowHealer: z.ZodBoolean;
352
+ }, z.core.$strip>;
353
+ timeoutMs: z.ZodNumber;
354
+ maxFailures: z.ZodNumber;
355
+ kind: z.ZodLiteral<"SET_LOCALE">;
356
+ }, z.core.$strip>, z.ZodObject<{
357
+ theme: z.ZodEnum<{
358
+ light: "light";
359
+ dark: "dark";
360
+ $variant: "$variant";
361
+ }>;
362
+ method: z.ZodEnum<{
363
+ ui_interaction: "ui_interaction";
364
+ storage: "storage";
365
+ color_scheme: "color_scheme";
366
+ }>;
367
+ selector: z.ZodOptional<z.ZodString>;
368
+ storageHints: z.ZodOptional<z.ZodArray<z.ZodObject<{
369
+ storage: z.ZodEnum<{
370
+ localStorage: "localStorage";
371
+ sessionStorage: "sessionStorage";
372
+ cookie: "cookie";
373
+ }>;
374
+ key: z.ZodString;
375
+ value: z.ZodString;
376
+ }, z.core.$strip>>>;
377
+ description: z.ZodString;
378
+ postcondition: z.ZodObject<{
379
+ type: z.ZodEnum<{
380
+ route_matches: "route_matches";
381
+ element_visible: "element_visible";
382
+ element_absent: "element_absent";
383
+ text_contains: "text_contains";
384
+ overlay_dismissed: "overlay_dismissed";
385
+ screenshot_stable: "screenshot_stable";
386
+ any_change: "any_change";
387
+ always: "always";
388
+ }>;
389
+ pattern: z.ZodOptional<z.ZodString>;
390
+ selector: z.ZodOptional<z.ZodString>;
391
+ text: z.ZodOptional<z.ZodString>;
392
+ threshold: z.ZodOptional<z.ZodNumber>;
393
+ waitMs: z.ZodOptional<z.ZodNumber>;
394
+ }, z.core.$strip>;
395
+ recovery: z.ZodObject<{
396
+ retries: z.ZodNumber;
397
+ useSelectorMemory: z.ZodBoolean;
398
+ useAltInteraction: z.ZodBoolean;
399
+ allowReload: z.ZodBoolean;
400
+ allowHealer: z.ZodBoolean;
401
+ }, z.core.$strip>;
402
+ timeoutMs: z.ZodNumber;
403
+ maxFailures: z.ZodNumber;
404
+ kind: z.ZodLiteral<"SET_THEME">;
405
+ }, z.core.$strip>, z.ZodObject<{
406
+ direction: z.ZodEnum<{
407
+ up: "up";
408
+ down: "down";
409
+ left: "left";
410
+ right: "right";
411
+ }>;
412
+ amount: z.ZodOptional<z.ZodNumber>;
413
+ targetSelector: z.ZodOptional<z.ZodString>;
414
+ target: z.ZodOptional<z.ZodObject<{
415
+ text: z.ZodOptional<z.ZodString>;
416
+ role: z.ZodOptional<z.ZodString>;
417
+ label: z.ZodOptional<z.ZodString>;
418
+ near: z.ZodOptional<z.ZodString>;
419
+ placeholder: z.ZodOptional<z.ZodString>;
420
+ exact: z.ZodOptional<z.ZodBoolean>;
421
+ }, z.core.$strip>>;
422
+ description: z.ZodString;
423
+ postcondition: z.ZodObject<{
424
+ type: z.ZodEnum<{
425
+ route_matches: "route_matches";
426
+ element_visible: "element_visible";
427
+ element_absent: "element_absent";
428
+ text_contains: "text_contains";
429
+ overlay_dismissed: "overlay_dismissed";
430
+ screenshot_stable: "screenshot_stable";
431
+ any_change: "any_change";
432
+ always: "always";
433
+ }>;
434
+ pattern: z.ZodOptional<z.ZodString>;
435
+ selector: z.ZodOptional<z.ZodString>;
436
+ text: z.ZodOptional<z.ZodString>;
437
+ threshold: z.ZodOptional<z.ZodNumber>;
438
+ waitMs: z.ZodOptional<z.ZodNumber>;
439
+ }, z.core.$strip>;
440
+ recovery: z.ZodObject<{
441
+ retries: z.ZodNumber;
442
+ useSelectorMemory: z.ZodBoolean;
443
+ useAltInteraction: z.ZodBoolean;
444
+ allowReload: z.ZodBoolean;
445
+ allowHealer: z.ZodBoolean;
446
+ }, z.core.$strip>;
447
+ timeoutMs: z.ZodNumber;
448
+ maxFailures: z.ZodNumber;
449
+ kind: z.ZodLiteral<"SCROLL">;
450
+ }, z.core.$strip>, z.ZodObject<{
451
+ captureId: z.ZodOptional<z.ZodString>;
452
+ captureName: z.ZodOptional<z.ZodString>;
453
+ elementSelector: z.ZodOptional<z.ZodString>;
454
+ description: z.ZodString;
455
+ postcondition: z.ZodObject<{
456
+ type: z.ZodEnum<{
457
+ route_matches: "route_matches";
458
+ element_visible: "element_visible";
459
+ element_absent: "element_absent";
460
+ text_contains: "text_contains";
461
+ overlay_dismissed: "overlay_dismissed";
462
+ screenshot_stable: "screenshot_stable";
463
+ any_change: "any_change";
464
+ always: "always";
465
+ }>;
466
+ pattern: z.ZodOptional<z.ZodString>;
467
+ selector: z.ZodOptional<z.ZodString>;
468
+ text: z.ZodOptional<z.ZodString>;
469
+ threshold: z.ZodOptional<z.ZodNumber>;
470
+ waitMs: z.ZodOptional<z.ZodNumber>;
471
+ }, z.core.$strip>;
472
+ recovery: z.ZodObject<{
473
+ retries: z.ZodNumber;
474
+ useSelectorMemory: z.ZodBoolean;
475
+ useAltInteraction: z.ZodBoolean;
476
+ allowReload: z.ZodBoolean;
477
+ allowHealer: z.ZodBoolean;
478
+ }, z.core.$strip>;
479
+ timeoutMs: z.ZodNumber;
480
+ maxFailures: z.ZodNumber;
481
+ kind: z.ZodLiteral<"CAPTURE_SCREENSHOT">;
482
+ }, z.core.$strip>, z.ZodObject<{
483
+ stateName: z.ZodString;
484
+ selector: z.ZodOptional<z.ZodString>;
485
+ description: z.ZodString;
486
+ postcondition: z.ZodObject<{
487
+ type: z.ZodEnum<{
488
+ route_matches: "route_matches";
489
+ element_visible: "element_visible";
490
+ element_absent: "element_absent";
491
+ text_contains: "text_contains";
492
+ overlay_dismissed: "overlay_dismissed";
493
+ screenshot_stable: "screenshot_stable";
494
+ any_change: "any_change";
495
+ always: "always";
496
+ }>;
497
+ pattern: z.ZodOptional<z.ZodString>;
498
+ selector: z.ZodOptional<z.ZodString>;
499
+ text: z.ZodOptional<z.ZodString>;
500
+ threshold: z.ZodOptional<z.ZodNumber>;
501
+ waitMs: z.ZodOptional<z.ZodNumber>;
502
+ }, z.core.$strip>;
503
+ recovery: z.ZodObject<{
504
+ retries: z.ZodNumber;
505
+ useSelectorMemory: z.ZodBoolean;
506
+ useAltInteraction: z.ZodBoolean;
507
+ allowReload: z.ZodBoolean;
508
+ allowHealer: z.ZodBoolean;
509
+ }, z.core.$strip>;
510
+ timeoutMs: z.ZodNumber;
511
+ maxFailures: z.ZodNumber;
512
+ kind: z.ZodLiteral<"CAPTURE_DOM">;
513
+ }, z.core.$strip>, z.ZodObject<{
514
+ fragmentName: z.ZodString;
515
+ variantName: z.ZodOptional<z.ZodString>;
516
+ parentState: z.ZodString;
517
+ selector: z.ZodString;
518
+ triggerSelector: z.ZodOptional<z.ZodString>;
519
+ mountStrategy: z.ZodOptional<z.ZodString>;
520
+ mountTargetSelector: z.ZodOptional<z.ZodString>;
521
+ description: z.ZodString;
522
+ postcondition: z.ZodObject<{
523
+ type: z.ZodEnum<{
524
+ route_matches: "route_matches";
525
+ element_visible: "element_visible";
526
+ element_absent: "element_absent";
527
+ text_contains: "text_contains";
528
+ overlay_dismissed: "overlay_dismissed";
529
+ screenshot_stable: "screenshot_stable";
530
+ any_change: "any_change";
531
+ always: "always";
532
+ }>;
533
+ pattern: z.ZodOptional<z.ZodString>;
534
+ selector: z.ZodOptional<z.ZodString>;
535
+ text: z.ZodOptional<z.ZodString>;
536
+ threshold: z.ZodOptional<z.ZodNumber>;
537
+ waitMs: z.ZodOptional<z.ZodNumber>;
538
+ }, z.core.$strip>;
539
+ recovery: z.ZodObject<{
540
+ retries: z.ZodNumber;
541
+ useSelectorMemory: z.ZodBoolean;
542
+ useAltInteraction: z.ZodBoolean;
543
+ allowReload: z.ZodBoolean;
544
+ allowHealer: z.ZodBoolean;
545
+ }, z.core.$strip>;
546
+ timeoutMs: z.ZodNumber;
547
+ maxFailures: z.ZodNumber;
548
+ kind: z.ZodLiteral<"CAPTURE_FRAGMENT">;
549
+ }, z.core.$strip>, z.ZodObject<{
550
+ clipId: z.ZodOptional<z.ZodString>;
551
+ clipName: z.ZodOptional<z.ZodString>;
552
+ description: z.ZodString;
553
+ postcondition: z.ZodObject<{
554
+ type: z.ZodEnum<{
555
+ route_matches: "route_matches";
556
+ element_visible: "element_visible";
557
+ element_absent: "element_absent";
558
+ text_contains: "text_contains";
559
+ overlay_dismissed: "overlay_dismissed";
560
+ screenshot_stable: "screenshot_stable";
561
+ any_change: "any_change";
562
+ always: "always";
563
+ }>;
564
+ pattern: z.ZodOptional<z.ZodString>;
565
+ selector: z.ZodOptional<z.ZodString>;
566
+ text: z.ZodOptional<z.ZodString>;
567
+ threshold: z.ZodOptional<z.ZodNumber>;
568
+ waitMs: z.ZodOptional<z.ZodNumber>;
569
+ }, z.core.$strip>;
570
+ recovery: z.ZodObject<{
571
+ retries: z.ZodNumber;
572
+ useSelectorMemory: z.ZodBoolean;
573
+ useAltInteraction: z.ZodBoolean;
574
+ allowReload: z.ZodBoolean;
575
+ allowHealer: z.ZodBoolean;
576
+ }, z.core.$strip>;
577
+ timeoutMs: z.ZodNumber;
578
+ maxFailures: z.ZodNumber;
579
+ kind: z.ZodLiteral<"BEGIN_CLIP">;
580
+ }, z.core.$strip>, z.ZodObject<{
581
+ clipId: z.ZodOptional<z.ZodString>;
582
+ clipName: z.ZodOptional<z.ZodString>;
583
+ description: z.ZodString;
584
+ postcondition: z.ZodObject<{
585
+ type: z.ZodEnum<{
586
+ route_matches: "route_matches";
587
+ element_visible: "element_visible";
588
+ element_absent: "element_absent";
589
+ text_contains: "text_contains";
590
+ overlay_dismissed: "overlay_dismissed";
591
+ screenshot_stable: "screenshot_stable";
592
+ any_change: "any_change";
593
+ always: "always";
594
+ }>;
595
+ pattern: z.ZodOptional<z.ZodString>;
596
+ selector: z.ZodOptional<z.ZodString>;
597
+ text: z.ZodOptional<z.ZodString>;
598
+ threshold: z.ZodOptional<z.ZodNumber>;
599
+ waitMs: z.ZodOptional<z.ZodNumber>;
600
+ }, z.core.$strip>;
601
+ recovery: z.ZodObject<{
602
+ retries: z.ZodNumber;
603
+ useSelectorMemory: z.ZodBoolean;
604
+ useAltInteraction: z.ZodBoolean;
605
+ allowReload: z.ZodBoolean;
606
+ allowHealer: z.ZodBoolean;
607
+ }, z.core.$strip>;
608
+ timeoutMs: z.ZodNumber;
609
+ maxFailures: z.ZodNumber;
610
+ kind: z.ZodLiteral<"END_CLIP">;
611
+ }, z.core.$strip>, z.ZodObject<{
612
+ selector: z.ZodString;
613
+ target: z.ZodOptional<z.ZodObject<{
614
+ text: z.ZodOptional<z.ZodString>;
615
+ role: z.ZodOptional<z.ZodString>;
616
+ label: z.ZodOptional<z.ZodString>;
617
+ near: z.ZodOptional<z.ZodString>;
618
+ placeholder: z.ZodOptional<z.ZodString>;
619
+ exact: z.ZodOptional<z.ZodBoolean>;
620
+ }, z.core.$strip>>;
621
+ fingerprint: z.ZodOptional<z.ZodString>;
622
+ selectorAlternates: z.ZodOptional<z.ZodArray<z.ZodString>>;
623
+ description: z.ZodString;
624
+ postcondition: z.ZodObject<{
625
+ type: z.ZodEnum<{
626
+ route_matches: "route_matches";
627
+ element_visible: "element_visible";
628
+ element_absent: "element_absent";
629
+ text_contains: "text_contains";
630
+ overlay_dismissed: "overlay_dismissed";
631
+ screenshot_stable: "screenshot_stable";
632
+ any_change: "any_change";
633
+ always: "always";
634
+ }>;
635
+ pattern: z.ZodOptional<z.ZodString>;
636
+ selector: z.ZodOptional<z.ZodString>;
637
+ text: z.ZodOptional<z.ZodString>;
638
+ threshold: z.ZodOptional<z.ZodNumber>;
639
+ waitMs: z.ZodOptional<z.ZodNumber>;
640
+ }, z.core.$strip>;
641
+ recovery: z.ZodObject<{
642
+ retries: z.ZodNumber;
643
+ useSelectorMemory: z.ZodBoolean;
644
+ useAltInteraction: z.ZodBoolean;
645
+ allowReload: z.ZodBoolean;
646
+ allowHealer: z.ZodBoolean;
647
+ }, z.core.$strip>;
648
+ timeoutMs: z.ZodNumber;
649
+ maxFailures: z.ZodNumber;
650
+ kind: z.ZodLiteral<"HOVER">;
651
+ }, z.core.$strip>, z.ZodObject<{
652
+ selector: z.ZodString;
653
+ target: z.ZodOptional<z.ZodObject<{
654
+ text: z.ZodOptional<z.ZodString>;
655
+ role: z.ZodOptional<z.ZodString>;
656
+ label: z.ZodOptional<z.ZodString>;
657
+ near: z.ZodOptional<z.ZodString>;
658
+ placeholder: z.ZodOptional<z.ZodString>;
659
+ exact: z.ZodOptional<z.ZodBoolean>;
660
+ }, z.core.$strip>>;
661
+ optionLabel: z.ZodOptional<z.ZodString>;
662
+ optionValue: z.ZodOptional<z.ZodString>;
663
+ optionIndex: z.ZodOptional<z.ZodNumber>;
664
+ fingerprint: z.ZodOptional<z.ZodString>;
665
+ selectorAlternates: z.ZodOptional<z.ZodArray<z.ZodString>>;
666
+ description: z.ZodString;
667
+ postcondition: z.ZodObject<{
668
+ type: z.ZodEnum<{
669
+ route_matches: "route_matches";
670
+ element_visible: "element_visible";
671
+ element_absent: "element_absent";
672
+ text_contains: "text_contains";
673
+ overlay_dismissed: "overlay_dismissed";
674
+ screenshot_stable: "screenshot_stable";
675
+ any_change: "any_change";
676
+ always: "always";
677
+ }>;
678
+ pattern: z.ZodOptional<z.ZodString>;
679
+ selector: z.ZodOptional<z.ZodString>;
680
+ text: z.ZodOptional<z.ZodString>;
681
+ threshold: z.ZodOptional<z.ZodNumber>;
682
+ waitMs: z.ZodOptional<z.ZodNumber>;
683
+ }, z.core.$strip>;
684
+ recovery: z.ZodObject<{
685
+ retries: z.ZodNumber;
686
+ useSelectorMemory: z.ZodBoolean;
687
+ useAltInteraction: z.ZodBoolean;
688
+ allowReload: z.ZodBoolean;
689
+ allowHealer: z.ZodBoolean;
690
+ }, z.core.$strip>;
691
+ timeoutMs: z.ZodNumber;
692
+ maxFailures: z.ZodNumber;
693
+ kind: z.ZodLiteral<"SELECT_OPTION">;
694
+ }, z.core.$strip>, z.ZodObject<{
695
+ selector: z.ZodString;
696
+ target: z.ZodOptional<z.ZodObject<{
697
+ text: z.ZodOptional<z.ZodString>;
698
+ role: z.ZodOptional<z.ZodString>;
699
+ label: z.ZodOptional<z.ZodString>;
700
+ near: z.ZodOptional<z.ZodString>;
701
+ placeholder: z.ZodOptional<z.ZodString>;
702
+ exact: z.ZodOptional<z.ZodBoolean>;
703
+ }, z.core.$strip>>;
704
+ checked: z.ZodBoolean;
705
+ fingerprint: z.ZodOptional<z.ZodString>;
706
+ selectorAlternates: z.ZodOptional<z.ZodArray<z.ZodString>>;
707
+ description: z.ZodString;
708
+ postcondition: z.ZodObject<{
709
+ type: z.ZodEnum<{
710
+ route_matches: "route_matches";
711
+ element_visible: "element_visible";
712
+ element_absent: "element_absent";
713
+ text_contains: "text_contains";
714
+ overlay_dismissed: "overlay_dismissed";
715
+ screenshot_stable: "screenshot_stable";
716
+ any_change: "any_change";
717
+ always: "always";
718
+ }>;
719
+ pattern: z.ZodOptional<z.ZodString>;
720
+ selector: z.ZodOptional<z.ZodString>;
721
+ text: z.ZodOptional<z.ZodString>;
722
+ threshold: z.ZodOptional<z.ZodNumber>;
723
+ waitMs: z.ZodOptional<z.ZodNumber>;
724
+ }, z.core.$strip>;
725
+ recovery: z.ZodObject<{
726
+ retries: z.ZodNumber;
727
+ useSelectorMemory: z.ZodBoolean;
728
+ useAltInteraction: z.ZodBoolean;
729
+ allowReload: z.ZodBoolean;
730
+ allowHealer: z.ZodBoolean;
731
+ }, z.core.$strip>;
732
+ timeoutMs: z.ZodNumber;
733
+ maxFailures: z.ZodNumber;
734
+ kind: z.ZodLiteral<"CHECK">;
735
+ }, z.core.$strip>, z.ZodObject<{
736
+ selector: z.ZodString;
737
+ target: z.ZodOptional<z.ZodObject<{
738
+ text: z.ZodOptional<z.ZodString>;
739
+ role: z.ZodOptional<z.ZodString>;
740
+ label: z.ZodOptional<z.ZodString>;
741
+ near: z.ZodOptional<z.ZodString>;
742
+ placeholder: z.ZodOptional<z.ZodString>;
743
+ exact: z.ZodOptional<z.ZodBoolean>;
744
+ }, z.core.$strip>>;
745
+ fingerprint: z.ZodOptional<z.ZodString>;
746
+ selectorAlternates: z.ZodOptional<z.ZodArray<z.ZodString>>;
747
+ description: z.ZodString;
748
+ postcondition: z.ZodObject<{
749
+ type: z.ZodEnum<{
750
+ route_matches: "route_matches";
751
+ element_visible: "element_visible";
752
+ element_absent: "element_absent";
753
+ text_contains: "text_contains";
754
+ overlay_dismissed: "overlay_dismissed";
755
+ screenshot_stable: "screenshot_stable";
756
+ any_change: "any_change";
757
+ always: "always";
758
+ }>;
759
+ pattern: z.ZodOptional<z.ZodString>;
760
+ selector: z.ZodOptional<z.ZodString>;
761
+ text: z.ZodOptional<z.ZodString>;
762
+ threshold: z.ZodOptional<z.ZodNumber>;
763
+ waitMs: z.ZodOptional<z.ZodNumber>;
764
+ }, z.core.$strip>;
765
+ recovery: z.ZodObject<{
766
+ retries: z.ZodNumber;
767
+ useSelectorMemory: z.ZodBoolean;
768
+ useAltInteraction: z.ZodBoolean;
769
+ allowReload: z.ZodBoolean;
770
+ allowHealer: z.ZodBoolean;
771
+ }, z.core.$strip>;
772
+ timeoutMs: z.ZodNumber;
773
+ maxFailures: z.ZodNumber;
774
+ kind: z.ZodLiteral<"DOUBLE_CLICK">;
775
+ }, z.core.$strip>, z.ZodObject<{
776
+ sourceSelector: z.ZodString;
777
+ containerSelector: z.ZodString;
778
+ count: z.ZodNumber;
779
+ removeSource: z.ZodOptional<z.ZodBoolean>;
780
+ description: z.ZodString;
781
+ postcondition: z.ZodObject<{
782
+ type: z.ZodEnum<{
783
+ route_matches: "route_matches";
784
+ element_visible: "element_visible";
785
+ element_absent: "element_absent";
786
+ text_contains: "text_contains";
787
+ overlay_dismissed: "overlay_dismissed";
788
+ screenshot_stable: "screenshot_stable";
789
+ any_change: "any_change";
790
+ always: "always";
791
+ }>;
792
+ pattern: z.ZodOptional<z.ZodString>;
793
+ selector: z.ZodOptional<z.ZodString>;
794
+ text: z.ZodOptional<z.ZodString>;
795
+ threshold: z.ZodOptional<z.ZodNumber>;
796
+ waitMs: z.ZodOptional<z.ZodNumber>;
797
+ }, z.core.$strip>;
798
+ recovery: z.ZodObject<{
799
+ retries: z.ZodNumber;
800
+ useSelectorMemory: z.ZodBoolean;
801
+ useAltInteraction: z.ZodBoolean;
802
+ allowReload: z.ZodBoolean;
803
+ allowHealer: z.ZodBoolean;
804
+ }, z.core.$strip>;
805
+ timeoutMs: z.ZodNumber;
806
+ maxFailures: z.ZodNumber;
807
+ kind: z.ZodLiteral<"CLONE_ELEMENT">;
808
+ }, z.core.$strip>, z.ZodObject<{
809
+ groupName: z.ZodString;
810
+ containerSelector: z.ZodOptional<z.ZodString>;
811
+ templateSelector: z.ZodOptional<z.ZodString>;
812
+ count: z.ZodOptional<z.ZodNumber>;
813
+ removeTemplate: z.ZodOptional<z.ZodBoolean>;
814
+ slotMappings: z.ZodOptional<z.ZodArray<z.ZodObject<{
815
+ slot: z.ZodString;
816
+ selector: z.ZodString;
817
+ attribute: z.ZodOptional<z.ZodString>;
818
+ }, z.core.$strip>>>;
819
+ inputSelector: z.ZodOptional<z.ZodString>;
820
+ triggerSelector: z.ZodOptional<z.ZodString>;
821
+ description: z.ZodString;
822
+ postcondition: z.ZodObject<{
823
+ type: z.ZodEnum<{
824
+ route_matches: "route_matches";
825
+ element_visible: "element_visible";
826
+ element_absent: "element_absent";
827
+ text_contains: "text_contains";
828
+ overlay_dismissed: "overlay_dismissed";
829
+ screenshot_stable: "screenshot_stable";
830
+ any_change: "any_change";
831
+ always: "always";
832
+ }>;
833
+ pattern: z.ZodOptional<z.ZodString>;
834
+ selector: z.ZodOptional<z.ZodString>;
835
+ text: z.ZodOptional<z.ZodString>;
836
+ threshold: z.ZodOptional<z.ZodNumber>;
837
+ waitMs: z.ZodOptional<z.ZodNumber>;
838
+ }, z.core.$strip>;
839
+ recovery: z.ZodObject<{
840
+ retries: z.ZodNumber;
841
+ useSelectorMemory: z.ZodBoolean;
842
+ useAltInteraction: z.ZodBoolean;
843
+ allowReload: z.ZodBoolean;
844
+ allowHealer: z.ZodBoolean;
845
+ }, z.core.$strip>;
846
+ timeoutMs: z.ZodNumber;
847
+ maxFailures: z.ZodNumber;
848
+ kind: z.ZodLiteral<"INJECT_MOCK_DATA">;
849
+ }, z.core.$strip>, z.ZodObject<{
850
+ selector: z.ZodString;
851
+ description: z.ZodString;
852
+ postcondition: z.ZodObject<{
853
+ type: z.ZodEnum<{
854
+ route_matches: "route_matches";
855
+ element_visible: "element_visible";
856
+ element_absent: "element_absent";
857
+ text_contains: "text_contains";
858
+ overlay_dismissed: "overlay_dismissed";
859
+ screenshot_stable: "screenshot_stable";
860
+ any_change: "any_change";
861
+ always: "always";
862
+ }>;
863
+ pattern: z.ZodOptional<z.ZodString>;
864
+ selector: z.ZodOptional<z.ZodString>;
865
+ text: z.ZodOptional<z.ZodString>;
866
+ threshold: z.ZodOptional<z.ZodNumber>;
867
+ waitMs: z.ZodOptional<z.ZodNumber>;
868
+ }, z.core.$strip>;
869
+ recovery: z.ZodObject<{
870
+ retries: z.ZodNumber;
871
+ useSelectorMemory: z.ZodBoolean;
872
+ useAltInteraction: z.ZodBoolean;
873
+ allowReload: z.ZodBoolean;
874
+ allowHealer: z.ZodBoolean;
875
+ }, z.core.$strip>;
876
+ timeoutMs: z.ZodNumber;
877
+ maxFailures: z.ZodNumber;
878
+ kind: z.ZodLiteral<"REMOVE_ELEMENT">;
879
+ }, z.core.$strip>, z.ZodObject<{
880
+ selector: z.ZodString;
881
+ attribute: z.ZodString;
882
+ value: z.ZodString;
883
+ description: z.ZodString;
884
+ postcondition: z.ZodObject<{
885
+ type: z.ZodEnum<{
886
+ route_matches: "route_matches";
887
+ element_visible: "element_visible";
888
+ element_absent: "element_absent";
889
+ text_contains: "text_contains";
890
+ overlay_dismissed: "overlay_dismissed";
891
+ screenshot_stable: "screenshot_stable";
892
+ any_change: "any_change";
893
+ always: "always";
894
+ }>;
895
+ pattern: z.ZodOptional<z.ZodString>;
896
+ selector: z.ZodOptional<z.ZodString>;
897
+ text: z.ZodOptional<z.ZodString>;
898
+ threshold: z.ZodOptional<z.ZodNumber>;
899
+ waitMs: z.ZodOptional<z.ZodNumber>;
900
+ }, z.core.$strip>;
901
+ recovery: z.ZodObject<{
902
+ retries: z.ZodNumber;
903
+ useSelectorMemory: z.ZodBoolean;
904
+ useAltInteraction: z.ZodBoolean;
905
+ allowReload: z.ZodBoolean;
906
+ allowHealer: z.ZodBoolean;
907
+ }, z.core.$strip>;
908
+ timeoutMs: z.ZodNumber;
909
+ maxFailures: z.ZodNumber;
910
+ kind: z.ZodLiteral<"SET_ATTRIBUTE">;
911
+ }, z.core.$strip>], "kind">;
912
+ export declare const MockDataSlotSchema: z.ZodObject<{
913
+ name: z.ZodString;
914
+ description: z.ZodString;
915
+ hint: z.ZodOptional<z.ZodString>;
916
+ }, z.core.$strip>;
917
+ export declare const MockDataRowSchema: z.ZodRecord<z.ZodString, z.ZodString>;
918
+ export declare const MockDataGroupSchema: z.ZodObject<{
919
+ name: z.ZodString;
920
+ description: z.ZodString;
921
+ slots: z.ZodArray<z.ZodObject<{
922
+ name: z.ZodString;
923
+ description: z.ZodString;
924
+ hint: z.ZodOptional<z.ZodString>;
925
+ }, z.core.$strip>>;
926
+ defaultValues: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodString>>;
927
+ replaceExisting: z.ZodOptional<z.ZodBoolean>;
928
+ }, z.core.$strip>;
929
+ export declare const VariantSpecSchema: z.ZodObject<{
930
+ id: z.ZodString;
931
+ viewport: z.ZodObject<{
932
+ width: z.ZodNumber;
933
+ height: z.ZodNumber;
934
+ }, z.core.$strip>;
935
+ deviceScaleFactor: z.ZodOptional<z.ZodNumber>;
936
+ locale: z.ZodOptional<z.ZodString>;
937
+ theme: z.ZodOptional<z.ZodEnum<{
938
+ light: "light";
939
+ dark: "dark";
940
+ }>>;
941
+ targetId: z.ZodOptional<z.ZodString>;
942
+ targetLabel: z.ZodOptional<z.ZodString>;
943
+ deviceFrame: z.ZodOptional<z.ZodString>;
944
+ }, z.core.$strip>;
945
+ export declare const PreconditionSpecSchema: z.ZodObject<{
946
+ credentialsId: z.ZodOptional<z.ZodString>;
947
+ credentials: z.ZodOptional<z.ZodObject<{
948
+ email: z.ZodOptional<z.ZodString>;
949
+ password: z.ZodOptional<z.ZodString>;
950
+ loginUrl: z.ZodOptional<z.ZodString>;
951
+ }, z.core.$strip>>;
952
+ storageState: z.ZodOptional<z.ZodAny>;
953
+ sessionStorage: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>;
954
+ cookies: z.ZodOptional<z.ZodArray<z.ZodObject<{
955
+ name: z.ZodString;
956
+ value: z.ZodString;
957
+ domain: z.ZodString;
958
+ path: z.ZodOptional<z.ZodString>;
959
+ }, z.core.$strip>>>;
960
+ }, z.core.$strip>;
961
+ export declare const ArtifactSpecSchema: z.ZodObject<{
962
+ mediaMode: z.ZodEnum<{
963
+ clip: "clip";
964
+ screenshot: "screenshot";
965
+ dom: "dom";
966
+ }>;
967
+ format: z.ZodOptional<z.ZodObject<{
968
+ clipFormat: z.ZodOptional<z.ZodEnum<{
969
+ gif: "gif";
970
+ mp4: "mp4";
971
+ both: "both";
972
+ }>>;
973
+ screenshotFormat: z.ZodOptional<z.ZodEnum<{
974
+ png: "png";
975
+ jpeg: "jpeg";
976
+ }>>;
977
+ }, z.core.$strip>>;
978
+ cursorTheme: z.ZodOptional<z.ZodEnum<{
979
+ minimal: "minimal";
980
+ macos: "macos";
981
+ windows: "windows";
982
+ }>>;
983
+ maxClipDurationSec: z.ZodOptional<z.ZodNumber>;
984
+ applyMockup: z.ZodOptional<z.ZodBoolean>;
985
+ applyStatusBar: z.ZodOptional<z.ZodBoolean>;
986
+ domOptions: z.ZodOptional<z.ZodObject<{
987
+ sanitize: z.ZodOptional<z.ZodBoolean>;
988
+ }, z.core.$strip>>;
989
+ }, z.core.$strip>;
990
+ export declare const ExecutionProgramSchema: z.ZodObject<{
991
+ presetId: z.ZodString;
992
+ programVersion: z.ZodNumber;
993
+ mediaMode: z.ZodEnum<{
994
+ clip: "clip";
995
+ screenshot: "screenshot";
996
+ dom: "dom";
997
+ }>;
998
+ baseUrl: z.ZodString;
999
+ maxParallelCaptures: z.ZodOptional<z.ZodNumber>;
1000
+ variants: z.ZodArray<z.ZodObject<{
1001
+ id: z.ZodString;
1002
+ viewport: z.ZodObject<{
1003
+ width: z.ZodNumber;
1004
+ height: z.ZodNumber;
1005
+ }, z.core.$strip>;
1006
+ deviceScaleFactor: z.ZodOptional<z.ZodNumber>;
1007
+ locale: z.ZodOptional<z.ZodString>;
1008
+ theme: z.ZodOptional<z.ZodEnum<{
1009
+ light: "light";
1010
+ dark: "dark";
1011
+ }>>;
1012
+ targetId: z.ZodOptional<z.ZodString>;
1013
+ targetLabel: z.ZodOptional<z.ZodString>;
1014
+ deviceFrame: z.ZodOptional<z.ZodString>;
1015
+ }, z.core.$strip>>;
1016
+ preconditions: z.ZodObject<{
1017
+ credentialsId: z.ZodOptional<z.ZodString>;
1018
+ credentials: z.ZodOptional<z.ZodObject<{
1019
+ email: z.ZodOptional<z.ZodString>;
1020
+ password: z.ZodOptional<z.ZodString>;
1021
+ loginUrl: z.ZodOptional<z.ZodString>;
1022
+ }, z.core.$strip>>;
1023
+ storageState: z.ZodOptional<z.ZodAny>;
1024
+ sessionStorage: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>;
1025
+ cookies: z.ZodOptional<z.ZodArray<z.ZodObject<{
1026
+ name: z.ZodString;
1027
+ value: z.ZodString;
1028
+ domain: z.ZodString;
1029
+ path: z.ZodOptional<z.ZodString>;
1030
+ }, z.core.$strip>>>;
1031
+ }, z.core.$strip>;
1032
+ steps: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1033
+ url: z.ZodString;
1034
+ description: z.ZodString;
1035
+ postcondition: z.ZodObject<{
1036
+ type: z.ZodEnum<{
1037
+ route_matches: "route_matches";
1038
+ element_visible: "element_visible";
1039
+ element_absent: "element_absent";
1040
+ text_contains: "text_contains";
1041
+ overlay_dismissed: "overlay_dismissed";
1042
+ screenshot_stable: "screenshot_stable";
1043
+ any_change: "any_change";
1044
+ always: "always";
1045
+ }>;
1046
+ pattern: z.ZodOptional<z.ZodString>;
1047
+ selector: z.ZodOptional<z.ZodString>;
1048
+ text: z.ZodOptional<z.ZodString>;
1049
+ threshold: z.ZodOptional<z.ZodNumber>;
1050
+ waitMs: z.ZodOptional<z.ZodNumber>;
1051
+ }, z.core.$strip>;
1052
+ recovery: z.ZodObject<{
1053
+ retries: z.ZodNumber;
1054
+ useSelectorMemory: z.ZodBoolean;
1055
+ useAltInteraction: z.ZodBoolean;
1056
+ allowReload: z.ZodBoolean;
1057
+ allowHealer: z.ZodBoolean;
1058
+ }, z.core.$strip>;
1059
+ timeoutMs: z.ZodNumber;
1060
+ maxFailures: z.ZodNumber;
1061
+ kind: z.ZodLiteral<"NAVIGATE">;
1062
+ }, z.core.$strip>, z.ZodObject<{
1063
+ description: z.ZodString;
1064
+ postcondition: z.ZodObject<{
1065
+ type: z.ZodEnum<{
1066
+ route_matches: "route_matches";
1067
+ element_visible: "element_visible";
1068
+ element_absent: "element_absent";
1069
+ text_contains: "text_contains";
1070
+ overlay_dismissed: "overlay_dismissed";
1071
+ screenshot_stable: "screenshot_stable";
1072
+ any_change: "any_change";
1073
+ always: "always";
1074
+ }>;
1075
+ pattern: z.ZodOptional<z.ZodString>;
1076
+ selector: z.ZodOptional<z.ZodString>;
1077
+ text: z.ZodOptional<z.ZodString>;
1078
+ threshold: z.ZodOptional<z.ZodNumber>;
1079
+ waitMs: z.ZodOptional<z.ZodNumber>;
1080
+ }, z.core.$strip>;
1081
+ recovery: z.ZodObject<{
1082
+ retries: z.ZodNumber;
1083
+ useSelectorMemory: z.ZodBoolean;
1084
+ useAltInteraction: z.ZodBoolean;
1085
+ allowReload: z.ZodBoolean;
1086
+ allowHealer: z.ZodBoolean;
1087
+ }, z.core.$strip>;
1088
+ timeoutMs: z.ZodNumber;
1089
+ maxFailures: z.ZodNumber;
1090
+ kind: z.ZodLiteral<"DISMISS_OVERLAYS">;
1091
+ }, z.core.$strip>, z.ZodObject<{
1092
+ urlPattern: z.ZodString;
1093
+ description: z.ZodString;
1094
+ postcondition: z.ZodObject<{
1095
+ type: z.ZodEnum<{
1096
+ route_matches: "route_matches";
1097
+ element_visible: "element_visible";
1098
+ element_absent: "element_absent";
1099
+ text_contains: "text_contains";
1100
+ overlay_dismissed: "overlay_dismissed";
1101
+ screenshot_stable: "screenshot_stable";
1102
+ any_change: "any_change";
1103
+ always: "always";
1104
+ }>;
1105
+ pattern: z.ZodOptional<z.ZodString>;
1106
+ selector: z.ZodOptional<z.ZodString>;
1107
+ text: z.ZodOptional<z.ZodString>;
1108
+ threshold: z.ZodOptional<z.ZodNumber>;
1109
+ waitMs: z.ZodOptional<z.ZodNumber>;
1110
+ }, z.core.$strip>;
1111
+ recovery: z.ZodObject<{
1112
+ retries: z.ZodNumber;
1113
+ useSelectorMemory: z.ZodBoolean;
1114
+ useAltInteraction: z.ZodBoolean;
1115
+ allowReload: z.ZodBoolean;
1116
+ allowHealer: z.ZodBoolean;
1117
+ }, z.core.$strip>;
1118
+ timeoutMs: z.ZodNumber;
1119
+ maxFailures: z.ZodNumber;
1120
+ kind: z.ZodLiteral<"ASSERT_ROUTE">;
1121
+ }, z.core.$strip>, z.ZodObject<{
1122
+ selectors: z.ZodArray<z.ZodString>;
1123
+ matchAll: z.ZodBoolean;
1124
+ description: z.ZodString;
1125
+ postcondition: z.ZodObject<{
1126
+ type: z.ZodEnum<{
1127
+ route_matches: "route_matches";
1128
+ element_visible: "element_visible";
1129
+ element_absent: "element_absent";
1130
+ text_contains: "text_contains";
1131
+ overlay_dismissed: "overlay_dismissed";
1132
+ screenshot_stable: "screenshot_stable";
1133
+ any_change: "any_change";
1134
+ always: "always";
1135
+ }>;
1136
+ pattern: z.ZodOptional<z.ZodString>;
1137
+ selector: z.ZodOptional<z.ZodString>;
1138
+ text: z.ZodOptional<z.ZodString>;
1139
+ threshold: z.ZodOptional<z.ZodNumber>;
1140
+ waitMs: z.ZodOptional<z.ZodNumber>;
1141
+ }, z.core.$strip>;
1142
+ recovery: z.ZodObject<{
1143
+ retries: z.ZodNumber;
1144
+ useSelectorMemory: z.ZodBoolean;
1145
+ useAltInteraction: z.ZodBoolean;
1146
+ allowReload: z.ZodBoolean;
1147
+ allowHealer: z.ZodBoolean;
1148
+ }, z.core.$strip>;
1149
+ timeoutMs: z.ZodNumber;
1150
+ maxFailures: z.ZodNumber;
1151
+ kind: z.ZodLiteral<"ASSERT_SURFACE">;
1152
+ }, z.core.$strip>, z.ZodObject<{
1153
+ selector: z.ZodString;
1154
+ target: z.ZodOptional<z.ZodObject<{
1155
+ text: z.ZodOptional<z.ZodString>;
1156
+ role: z.ZodOptional<z.ZodString>;
1157
+ label: z.ZodOptional<z.ZodString>;
1158
+ near: z.ZodOptional<z.ZodString>;
1159
+ placeholder: z.ZodOptional<z.ZodString>;
1160
+ exact: z.ZodOptional<z.ZodBoolean>;
1161
+ }, z.core.$strip>>;
1162
+ button: z.ZodOptional<z.ZodEnum<{
1163
+ right: "right";
1164
+ middle: "middle";
1165
+ }>>;
1166
+ fingerprint: z.ZodOptional<z.ZodString>;
1167
+ selectorAlternates: z.ZodOptional<z.ZodArray<z.ZodString>>;
1168
+ description: z.ZodString;
1169
+ postcondition: z.ZodObject<{
1170
+ type: z.ZodEnum<{
1171
+ route_matches: "route_matches";
1172
+ element_visible: "element_visible";
1173
+ element_absent: "element_absent";
1174
+ text_contains: "text_contains";
1175
+ overlay_dismissed: "overlay_dismissed";
1176
+ screenshot_stable: "screenshot_stable";
1177
+ any_change: "any_change";
1178
+ always: "always";
1179
+ }>;
1180
+ pattern: z.ZodOptional<z.ZodString>;
1181
+ selector: z.ZodOptional<z.ZodString>;
1182
+ text: z.ZodOptional<z.ZodString>;
1183
+ threshold: z.ZodOptional<z.ZodNumber>;
1184
+ waitMs: z.ZodOptional<z.ZodNumber>;
1185
+ }, z.core.$strip>;
1186
+ recovery: z.ZodObject<{
1187
+ retries: z.ZodNumber;
1188
+ useSelectorMemory: z.ZodBoolean;
1189
+ useAltInteraction: z.ZodBoolean;
1190
+ allowReload: z.ZodBoolean;
1191
+ allowHealer: z.ZodBoolean;
1192
+ }, z.core.$strip>;
1193
+ timeoutMs: z.ZodNumber;
1194
+ maxFailures: z.ZodNumber;
1195
+ kind: z.ZodLiteral<"CLICK">;
1196
+ }, z.core.$strip>, z.ZodObject<{
1197
+ selector: z.ZodString;
1198
+ target: z.ZodOptional<z.ZodObject<{
1199
+ text: z.ZodOptional<z.ZodString>;
1200
+ role: z.ZodOptional<z.ZodString>;
1201
+ label: z.ZodOptional<z.ZodString>;
1202
+ near: z.ZodOptional<z.ZodString>;
1203
+ placeholder: z.ZodOptional<z.ZodString>;
1204
+ exact: z.ZodOptional<z.ZodBoolean>;
1205
+ }, z.core.$strip>>;
1206
+ text: z.ZodString;
1207
+ textByLocale: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1208
+ clearFirst: z.ZodBoolean;
1209
+ fingerprint: z.ZodOptional<z.ZodString>;
1210
+ selectorAlternates: z.ZodOptional<z.ZodArray<z.ZodString>>;
1211
+ description: z.ZodString;
1212
+ postcondition: z.ZodObject<{
1213
+ type: z.ZodEnum<{
1214
+ route_matches: "route_matches";
1215
+ element_visible: "element_visible";
1216
+ element_absent: "element_absent";
1217
+ text_contains: "text_contains";
1218
+ overlay_dismissed: "overlay_dismissed";
1219
+ screenshot_stable: "screenshot_stable";
1220
+ any_change: "any_change";
1221
+ always: "always";
1222
+ }>;
1223
+ pattern: z.ZodOptional<z.ZodString>;
1224
+ selector: z.ZodOptional<z.ZodString>;
1225
+ text: z.ZodOptional<z.ZodString>;
1226
+ threshold: z.ZodOptional<z.ZodNumber>;
1227
+ waitMs: z.ZodOptional<z.ZodNumber>;
1228
+ }, z.core.$strip>;
1229
+ recovery: z.ZodObject<{
1230
+ retries: z.ZodNumber;
1231
+ useSelectorMemory: z.ZodBoolean;
1232
+ useAltInteraction: z.ZodBoolean;
1233
+ allowReload: z.ZodBoolean;
1234
+ allowHealer: z.ZodBoolean;
1235
+ }, z.core.$strip>;
1236
+ timeoutMs: z.ZodNumber;
1237
+ maxFailures: z.ZodNumber;
1238
+ kind: z.ZodLiteral<"TYPE">;
1239
+ }, z.core.$strip>, z.ZodObject<{
1240
+ key: z.ZodString;
1241
+ description: z.ZodString;
1242
+ postcondition: z.ZodObject<{
1243
+ type: z.ZodEnum<{
1244
+ route_matches: "route_matches";
1245
+ element_visible: "element_visible";
1246
+ element_absent: "element_absent";
1247
+ text_contains: "text_contains";
1248
+ overlay_dismissed: "overlay_dismissed";
1249
+ screenshot_stable: "screenshot_stable";
1250
+ any_change: "any_change";
1251
+ always: "always";
1252
+ }>;
1253
+ pattern: z.ZodOptional<z.ZodString>;
1254
+ selector: z.ZodOptional<z.ZodString>;
1255
+ text: z.ZodOptional<z.ZodString>;
1256
+ threshold: z.ZodOptional<z.ZodNumber>;
1257
+ waitMs: z.ZodOptional<z.ZodNumber>;
1258
+ }, z.core.$strip>;
1259
+ recovery: z.ZodObject<{
1260
+ retries: z.ZodNumber;
1261
+ useSelectorMemory: z.ZodBoolean;
1262
+ useAltInteraction: z.ZodBoolean;
1263
+ allowReload: z.ZodBoolean;
1264
+ allowHealer: z.ZodBoolean;
1265
+ }, z.core.$strip>;
1266
+ timeoutMs: z.ZodNumber;
1267
+ maxFailures: z.ZodNumber;
1268
+ kind: z.ZodLiteral<"PRESS_KEY">;
1269
+ }, z.core.$strip>, z.ZodObject<{
1270
+ selector: z.ZodOptional<z.ZodString>;
1271
+ target: z.ZodOptional<z.ZodObject<{
1272
+ text: z.ZodOptional<z.ZodString>;
1273
+ role: z.ZodOptional<z.ZodString>;
1274
+ label: z.ZodOptional<z.ZodString>;
1275
+ near: z.ZodOptional<z.ZodString>;
1276
+ placeholder: z.ZodOptional<z.ZodString>;
1277
+ exact: z.ZodOptional<z.ZodBoolean>;
1278
+ }, z.core.$strip>>;
1279
+ state: z.ZodEnum<{
1280
+ visible: "visible";
1281
+ attached: "attached";
1282
+ }>;
1283
+ description: z.ZodString;
1284
+ postcondition: z.ZodObject<{
1285
+ type: z.ZodEnum<{
1286
+ route_matches: "route_matches";
1287
+ element_visible: "element_visible";
1288
+ element_absent: "element_absent";
1289
+ text_contains: "text_contains";
1290
+ overlay_dismissed: "overlay_dismissed";
1291
+ screenshot_stable: "screenshot_stable";
1292
+ any_change: "any_change";
1293
+ always: "always";
1294
+ }>;
1295
+ pattern: z.ZodOptional<z.ZodString>;
1296
+ selector: z.ZodOptional<z.ZodString>;
1297
+ text: z.ZodOptional<z.ZodString>;
1298
+ threshold: z.ZodOptional<z.ZodNumber>;
1299
+ waitMs: z.ZodOptional<z.ZodNumber>;
1300
+ }, z.core.$strip>;
1301
+ recovery: z.ZodObject<{
1302
+ retries: z.ZodNumber;
1303
+ useSelectorMemory: z.ZodBoolean;
1304
+ useAltInteraction: z.ZodBoolean;
1305
+ allowReload: z.ZodBoolean;
1306
+ allowHealer: z.ZodBoolean;
1307
+ }, z.core.$strip>;
1308
+ timeoutMs: z.ZodNumber;
1309
+ maxFailures: z.ZodNumber;
1310
+ kind: z.ZodLiteral<"WAIT_FOR">;
1311
+ }, z.core.$strip>, z.ZodObject<{
1312
+ locale: z.ZodString;
1313
+ method: z.ZodEnum<{
1314
+ browser_context: "browser_context";
1315
+ ui_interaction: "ui_interaction";
1316
+ storage: "storage";
1317
+ }>;
1318
+ selector: z.ZodOptional<z.ZodString>;
1319
+ storageHints: z.ZodOptional<z.ZodArray<z.ZodObject<{
1320
+ storage: z.ZodEnum<{
1321
+ localStorage: "localStorage";
1322
+ sessionStorage: "sessionStorage";
1323
+ cookie: "cookie";
1324
+ }>;
1325
+ key: z.ZodString;
1326
+ value: z.ZodString;
1327
+ }, z.core.$strip>>>;
1328
+ description: z.ZodString;
1329
+ postcondition: z.ZodObject<{
1330
+ type: z.ZodEnum<{
1331
+ route_matches: "route_matches";
1332
+ element_visible: "element_visible";
1333
+ element_absent: "element_absent";
1334
+ text_contains: "text_contains";
1335
+ overlay_dismissed: "overlay_dismissed";
1336
+ screenshot_stable: "screenshot_stable";
1337
+ any_change: "any_change";
1338
+ always: "always";
1339
+ }>;
1340
+ pattern: z.ZodOptional<z.ZodString>;
1341
+ selector: z.ZodOptional<z.ZodString>;
1342
+ text: z.ZodOptional<z.ZodString>;
1343
+ threshold: z.ZodOptional<z.ZodNumber>;
1344
+ waitMs: z.ZodOptional<z.ZodNumber>;
1345
+ }, z.core.$strip>;
1346
+ recovery: z.ZodObject<{
1347
+ retries: z.ZodNumber;
1348
+ useSelectorMemory: z.ZodBoolean;
1349
+ useAltInteraction: z.ZodBoolean;
1350
+ allowReload: z.ZodBoolean;
1351
+ allowHealer: z.ZodBoolean;
1352
+ }, z.core.$strip>;
1353
+ timeoutMs: z.ZodNumber;
1354
+ maxFailures: z.ZodNumber;
1355
+ kind: z.ZodLiteral<"SET_LOCALE">;
1356
+ }, z.core.$strip>, z.ZodObject<{
1357
+ theme: z.ZodEnum<{
1358
+ light: "light";
1359
+ dark: "dark";
1360
+ $variant: "$variant";
1361
+ }>;
1362
+ method: z.ZodEnum<{
1363
+ ui_interaction: "ui_interaction";
1364
+ storage: "storage";
1365
+ color_scheme: "color_scheme";
1366
+ }>;
1367
+ selector: z.ZodOptional<z.ZodString>;
1368
+ storageHints: z.ZodOptional<z.ZodArray<z.ZodObject<{
1369
+ storage: z.ZodEnum<{
1370
+ localStorage: "localStorage";
1371
+ sessionStorage: "sessionStorage";
1372
+ cookie: "cookie";
1373
+ }>;
1374
+ key: z.ZodString;
1375
+ value: z.ZodString;
1376
+ }, z.core.$strip>>>;
1377
+ description: z.ZodString;
1378
+ postcondition: z.ZodObject<{
1379
+ type: z.ZodEnum<{
1380
+ route_matches: "route_matches";
1381
+ element_visible: "element_visible";
1382
+ element_absent: "element_absent";
1383
+ text_contains: "text_contains";
1384
+ overlay_dismissed: "overlay_dismissed";
1385
+ screenshot_stable: "screenshot_stable";
1386
+ any_change: "any_change";
1387
+ always: "always";
1388
+ }>;
1389
+ pattern: z.ZodOptional<z.ZodString>;
1390
+ selector: z.ZodOptional<z.ZodString>;
1391
+ text: z.ZodOptional<z.ZodString>;
1392
+ threshold: z.ZodOptional<z.ZodNumber>;
1393
+ waitMs: z.ZodOptional<z.ZodNumber>;
1394
+ }, z.core.$strip>;
1395
+ recovery: z.ZodObject<{
1396
+ retries: z.ZodNumber;
1397
+ useSelectorMemory: z.ZodBoolean;
1398
+ useAltInteraction: z.ZodBoolean;
1399
+ allowReload: z.ZodBoolean;
1400
+ allowHealer: z.ZodBoolean;
1401
+ }, z.core.$strip>;
1402
+ timeoutMs: z.ZodNumber;
1403
+ maxFailures: z.ZodNumber;
1404
+ kind: z.ZodLiteral<"SET_THEME">;
1405
+ }, z.core.$strip>, z.ZodObject<{
1406
+ direction: z.ZodEnum<{
1407
+ up: "up";
1408
+ down: "down";
1409
+ left: "left";
1410
+ right: "right";
1411
+ }>;
1412
+ amount: z.ZodOptional<z.ZodNumber>;
1413
+ targetSelector: z.ZodOptional<z.ZodString>;
1414
+ target: z.ZodOptional<z.ZodObject<{
1415
+ text: z.ZodOptional<z.ZodString>;
1416
+ role: z.ZodOptional<z.ZodString>;
1417
+ label: z.ZodOptional<z.ZodString>;
1418
+ near: z.ZodOptional<z.ZodString>;
1419
+ placeholder: z.ZodOptional<z.ZodString>;
1420
+ exact: z.ZodOptional<z.ZodBoolean>;
1421
+ }, z.core.$strip>>;
1422
+ description: z.ZodString;
1423
+ postcondition: z.ZodObject<{
1424
+ type: z.ZodEnum<{
1425
+ route_matches: "route_matches";
1426
+ element_visible: "element_visible";
1427
+ element_absent: "element_absent";
1428
+ text_contains: "text_contains";
1429
+ overlay_dismissed: "overlay_dismissed";
1430
+ screenshot_stable: "screenshot_stable";
1431
+ any_change: "any_change";
1432
+ always: "always";
1433
+ }>;
1434
+ pattern: z.ZodOptional<z.ZodString>;
1435
+ selector: z.ZodOptional<z.ZodString>;
1436
+ text: z.ZodOptional<z.ZodString>;
1437
+ threshold: z.ZodOptional<z.ZodNumber>;
1438
+ waitMs: z.ZodOptional<z.ZodNumber>;
1439
+ }, z.core.$strip>;
1440
+ recovery: z.ZodObject<{
1441
+ retries: z.ZodNumber;
1442
+ useSelectorMemory: z.ZodBoolean;
1443
+ useAltInteraction: z.ZodBoolean;
1444
+ allowReload: z.ZodBoolean;
1445
+ allowHealer: z.ZodBoolean;
1446
+ }, z.core.$strip>;
1447
+ timeoutMs: z.ZodNumber;
1448
+ maxFailures: z.ZodNumber;
1449
+ kind: z.ZodLiteral<"SCROLL">;
1450
+ }, z.core.$strip>, z.ZodObject<{
1451
+ captureId: z.ZodOptional<z.ZodString>;
1452
+ captureName: z.ZodOptional<z.ZodString>;
1453
+ elementSelector: z.ZodOptional<z.ZodString>;
1454
+ description: z.ZodString;
1455
+ postcondition: z.ZodObject<{
1456
+ type: z.ZodEnum<{
1457
+ route_matches: "route_matches";
1458
+ element_visible: "element_visible";
1459
+ element_absent: "element_absent";
1460
+ text_contains: "text_contains";
1461
+ overlay_dismissed: "overlay_dismissed";
1462
+ screenshot_stable: "screenshot_stable";
1463
+ any_change: "any_change";
1464
+ always: "always";
1465
+ }>;
1466
+ pattern: z.ZodOptional<z.ZodString>;
1467
+ selector: z.ZodOptional<z.ZodString>;
1468
+ text: z.ZodOptional<z.ZodString>;
1469
+ threshold: z.ZodOptional<z.ZodNumber>;
1470
+ waitMs: z.ZodOptional<z.ZodNumber>;
1471
+ }, z.core.$strip>;
1472
+ recovery: z.ZodObject<{
1473
+ retries: z.ZodNumber;
1474
+ useSelectorMemory: z.ZodBoolean;
1475
+ useAltInteraction: z.ZodBoolean;
1476
+ allowReload: z.ZodBoolean;
1477
+ allowHealer: z.ZodBoolean;
1478
+ }, z.core.$strip>;
1479
+ timeoutMs: z.ZodNumber;
1480
+ maxFailures: z.ZodNumber;
1481
+ kind: z.ZodLiteral<"CAPTURE_SCREENSHOT">;
1482
+ }, z.core.$strip>, z.ZodObject<{
1483
+ stateName: z.ZodString;
1484
+ selector: z.ZodOptional<z.ZodString>;
1485
+ description: z.ZodString;
1486
+ postcondition: z.ZodObject<{
1487
+ type: z.ZodEnum<{
1488
+ route_matches: "route_matches";
1489
+ element_visible: "element_visible";
1490
+ element_absent: "element_absent";
1491
+ text_contains: "text_contains";
1492
+ overlay_dismissed: "overlay_dismissed";
1493
+ screenshot_stable: "screenshot_stable";
1494
+ any_change: "any_change";
1495
+ always: "always";
1496
+ }>;
1497
+ pattern: z.ZodOptional<z.ZodString>;
1498
+ selector: z.ZodOptional<z.ZodString>;
1499
+ text: z.ZodOptional<z.ZodString>;
1500
+ threshold: z.ZodOptional<z.ZodNumber>;
1501
+ waitMs: z.ZodOptional<z.ZodNumber>;
1502
+ }, z.core.$strip>;
1503
+ recovery: z.ZodObject<{
1504
+ retries: z.ZodNumber;
1505
+ useSelectorMemory: z.ZodBoolean;
1506
+ useAltInteraction: z.ZodBoolean;
1507
+ allowReload: z.ZodBoolean;
1508
+ allowHealer: z.ZodBoolean;
1509
+ }, z.core.$strip>;
1510
+ timeoutMs: z.ZodNumber;
1511
+ maxFailures: z.ZodNumber;
1512
+ kind: z.ZodLiteral<"CAPTURE_DOM">;
1513
+ }, z.core.$strip>, z.ZodObject<{
1514
+ fragmentName: z.ZodString;
1515
+ variantName: z.ZodOptional<z.ZodString>;
1516
+ parentState: z.ZodString;
1517
+ selector: z.ZodString;
1518
+ triggerSelector: z.ZodOptional<z.ZodString>;
1519
+ mountStrategy: z.ZodOptional<z.ZodString>;
1520
+ mountTargetSelector: z.ZodOptional<z.ZodString>;
1521
+ description: z.ZodString;
1522
+ postcondition: z.ZodObject<{
1523
+ type: z.ZodEnum<{
1524
+ route_matches: "route_matches";
1525
+ element_visible: "element_visible";
1526
+ element_absent: "element_absent";
1527
+ text_contains: "text_contains";
1528
+ overlay_dismissed: "overlay_dismissed";
1529
+ screenshot_stable: "screenshot_stable";
1530
+ any_change: "any_change";
1531
+ always: "always";
1532
+ }>;
1533
+ pattern: z.ZodOptional<z.ZodString>;
1534
+ selector: z.ZodOptional<z.ZodString>;
1535
+ text: z.ZodOptional<z.ZodString>;
1536
+ threshold: z.ZodOptional<z.ZodNumber>;
1537
+ waitMs: z.ZodOptional<z.ZodNumber>;
1538
+ }, z.core.$strip>;
1539
+ recovery: z.ZodObject<{
1540
+ retries: z.ZodNumber;
1541
+ useSelectorMemory: z.ZodBoolean;
1542
+ useAltInteraction: z.ZodBoolean;
1543
+ allowReload: z.ZodBoolean;
1544
+ allowHealer: z.ZodBoolean;
1545
+ }, z.core.$strip>;
1546
+ timeoutMs: z.ZodNumber;
1547
+ maxFailures: z.ZodNumber;
1548
+ kind: z.ZodLiteral<"CAPTURE_FRAGMENT">;
1549
+ }, z.core.$strip>, z.ZodObject<{
1550
+ clipId: z.ZodOptional<z.ZodString>;
1551
+ clipName: z.ZodOptional<z.ZodString>;
1552
+ description: z.ZodString;
1553
+ postcondition: z.ZodObject<{
1554
+ type: z.ZodEnum<{
1555
+ route_matches: "route_matches";
1556
+ element_visible: "element_visible";
1557
+ element_absent: "element_absent";
1558
+ text_contains: "text_contains";
1559
+ overlay_dismissed: "overlay_dismissed";
1560
+ screenshot_stable: "screenshot_stable";
1561
+ any_change: "any_change";
1562
+ always: "always";
1563
+ }>;
1564
+ pattern: z.ZodOptional<z.ZodString>;
1565
+ selector: z.ZodOptional<z.ZodString>;
1566
+ text: z.ZodOptional<z.ZodString>;
1567
+ threshold: z.ZodOptional<z.ZodNumber>;
1568
+ waitMs: z.ZodOptional<z.ZodNumber>;
1569
+ }, z.core.$strip>;
1570
+ recovery: z.ZodObject<{
1571
+ retries: z.ZodNumber;
1572
+ useSelectorMemory: z.ZodBoolean;
1573
+ useAltInteraction: z.ZodBoolean;
1574
+ allowReload: z.ZodBoolean;
1575
+ allowHealer: z.ZodBoolean;
1576
+ }, z.core.$strip>;
1577
+ timeoutMs: z.ZodNumber;
1578
+ maxFailures: z.ZodNumber;
1579
+ kind: z.ZodLiteral<"BEGIN_CLIP">;
1580
+ }, z.core.$strip>, z.ZodObject<{
1581
+ clipId: z.ZodOptional<z.ZodString>;
1582
+ clipName: z.ZodOptional<z.ZodString>;
1583
+ description: z.ZodString;
1584
+ postcondition: z.ZodObject<{
1585
+ type: z.ZodEnum<{
1586
+ route_matches: "route_matches";
1587
+ element_visible: "element_visible";
1588
+ element_absent: "element_absent";
1589
+ text_contains: "text_contains";
1590
+ overlay_dismissed: "overlay_dismissed";
1591
+ screenshot_stable: "screenshot_stable";
1592
+ any_change: "any_change";
1593
+ always: "always";
1594
+ }>;
1595
+ pattern: z.ZodOptional<z.ZodString>;
1596
+ selector: z.ZodOptional<z.ZodString>;
1597
+ text: z.ZodOptional<z.ZodString>;
1598
+ threshold: z.ZodOptional<z.ZodNumber>;
1599
+ waitMs: z.ZodOptional<z.ZodNumber>;
1600
+ }, z.core.$strip>;
1601
+ recovery: z.ZodObject<{
1602
+ retries: z.ZodNumber;
1603
+ useSelectorMemory: z.ZodBoolean;
1604
+ useAltInteraction: z.ZodBoolean;
1605
+ allowReload: z.ZodBoolean;
1606
+ allowHealer: z.ZodBoolean;
1607
+ }, z.core.$strip>;
1608
+ timeoutMs: z.ZodNumber;
1609
+ maxFailures: z.ZodNumber;
1610
+ kind: z.ZodLiteral<"END_CLIP">;
1611
+ }, z.core.$strip>, z.ZodObject<{
1612
+ selector: z.ZodString;
1613
+ target: z.ZodOptional<z.ZodObject<{
1614
+ text: z.ZodOptional<z.ZodString>;
1615
+ role: z.ZodOptional<z.ZodString>;
1616
+ label: z.ZodOptional<z.ZodString>;
1617
+ near: z.ZodOptional<z.ZodString>;
1618
+ placeholder: z.ZodOptional<z.ZodString>;
1619
+ exact: z.ZodOptional<z.ZodBoolean>;
1620
+ }, z.core.$strip>>;
1621
+ fingerprint: z.ZodOptional<z.ZodString>;
1622
+ selectorAlternates: z.ZodOptional<z.ZodArray<z.ZodString>>;
1623
+ description: z.ZodString;
1624
+ postcondition: z.ZodObject<{
1625
+ type: z.ZodEnum<{
1626
+ route_matches: "route_matches";
1627
+ element_visible: "element_visible";
1628
+ element_absent: "element_absent";
1629
+ text_contains: "text_contains";
1630
+ overlay_dismissed: "overlay_dismissed";
1631
+ screenshot_stable: "screenshot_stable";
1632
+ any_change: "any_change";
1633
+ always: "always";
1634
+ }>;
1635
+ pattern: z.ZodOptional<z.ZodString>;
1636
+ selector: z.ZodOptional<z.ZodString>;
1637
+ text: z.ZodOptional<z.ZodString>;
1638
+ threshold: z.ZodOptional<z.ZodNumber>;
1639
+ waitMs: z.ZodOptional<z.ZodNumber>;
1640
+ }, z.core.$strip>;
1641
+ recovery: z.ZodObject<{
1642
+ retries: z.ZodNumber;
1643
+ useSelectorMemory: z.ZodBoolean;
1644
+ useAltInteraction: z.ZodBoolean;
1645
+ allowReload: z.ZodBoolean;
1646
+ allowHealer: z.ZodBoolean;
1647
+ }, z.core.$strip>;
1648
+ timeoutMs: z.ZodNumber;
1649
+ maxFailures: z.ZodNumber;
1650
+ kind: z.ZodLiteral<"HOVER">;
1651
+ }, z.core.$strip>, z.ZodObject<{
1652
+ selector: z.ZodString;
1653
+ target: z.ZodOptional<z.ZodObject<{
1654
+ text: z.ZodOptional<z.ZodString>;
1655
+ role: z.ZodOptional<z.ZodString>;
1656
+ label: z.ZodOptional<z.ZodString>;
1657
+ near: z.ZodOptional<z.ZodString>;
1658
+ placeholder: z.ZodOptional<z.ZodString>;
1659
+ exact: z.ZodOptional<z.ZodBoolean>;
1660
+ }, z.core.$strip>>;
1661
+ optionLabel: z.ZodOptional<z.ZodString>;
1662
+ optionValue: z.ZodOptional<z.ZodString>;
1663
+ optionIndex: z.ZodOptional<z.ZodNumber>;
1664
+ fingerprint: z.ZodOptional<z.ZodString>;
1665
+ selectorAlternates: z.ZodOptional<z.ZodArray<z.ZodString>>;
1666
+ description: z.ZodString;
1667
+ postcondition: z.ZodObject<{
1668
+ type: z.ZodEnum<{
1669
+ route_matches: "route_matches";
1670
+ element_visible: "element_visible";
1671
+ element_absent: "element_absent";
1672
+ text_contains: "text_contains";
1673
+ overlay_dismissed: "overlay_dismissed";
1674
+ screenshot_stable: "screenshot_stable";
1675
+ any_change: "any_change";
1676
+ always: "always";
1677
+ }>;
1678
+ pattern: z.ZodOptional<z.ZodString>;
1679
+ selector: z.ZodOptional<z.ZodString>;
1680
+ text: z.ZodOptional<z.ZodString>;
1681
+ threshold: z.ZodOptional<z.ZodNumber>;
1682
+ waitMs: z.ZodOptional<z.ZodNumber>;
1683
+ }, z.core.$strip>;
1684
+ recovery: z.ZodObject<{
1685
+ retries: z.ZodNumber;
1686
+ useSelectorMemory: z.ZodBoolean;
1687
+ useAltInteraction: z.ZodBoolean;
1688
+ allowReload: z.ZodBoolean;
1689
+ allowHealer: z.ZodBoolean;
1690
+ }, z.core.$strip>;
1691
+ timeoutMs: z.ZodNumber;
1692
+ maxFailures: z.ZodNumber;
1693
+ kind: z.ZodLiteral<"SELECT_OPTION">;
1694
+ }, z.core.$strip>, z.ZodObject<{
1695
+ selector: z.ZodString;
1696
+ target: z.ZodOptional<z.ZodObject<{
1697
+ text: z.ZodOptional<z.ZodString>;
1698
+ role: z.ZodOptional<z.ZodString>;
1699
+ label: z.ZodOptional<z.ZodString>;
1700
+ near: z.ZodOptional<z.ZodString>;
1701
+ placeholder: z.ZodOptional<z.ZodString>;
1702
+ exact: z.ZodOptional<z.ZodBoolean>;
1703
+ }, z.core.$strip>>;
1704
+ checked: z.ZodBoolean;
1705
+ fingerprint: z.ZodOptional<z.ZodString>;
1706
+ selectorAlternates: z.ZodOptional<z.ZodArray<z.ZodString>>;
1707
+ description: z.ZodString;
1708
+ postcondition: z.ZodObject<{
1709
+ type: z.ZodEnum<{
1710
+ route_matches: "route_matches";
1711
+ element_visible: "element_visible";
1712
+ element_absent: "element_absent";
1713
+ text_contains: "text_contains";
1714
+ overlay_dismissed: "overlay_dismissed";
1715
+ screenshot_stable: "screenshot_stable";
1716
+ any_change: "any_change";
1717
+ always: "always";
1718
+ }>;
1719
+ pattern: z.ZodOptional<z.ZodString>;
1720
+ selector: z.ZodOptional<z.ZodString>;
1721
+ text: z.ZodOptional<z.ZodString>;
1722
+ threshold: z.ZodOptional<z.ZodNumber>;
1723
+ waitMs: z.ZodOptional<z.ZodNumber>;
1724
+ }, z.core.$strip>;
1725
+ recovery: z.ZodObject<{
1726
+ retries: z.ZodNumber;
1727
+ useSelectorMemory: z.ZodBoolean;
1728
+ useAltInteraction: z.ZodBoolean;
1729
+ allowReload: z.ZodBoolean;
1730
+ allowHealer: z.ZodBoolean;
1731
+ }, z.core.$strip>;
1732
+ timeoutMs: z.ZodNumber;
1733
+ maxFailures: z.ZodNumber;
1734
+ kind: z.ZodLiteral<"CHECK">;
1735
+ }, z.core.$strip>, z.ZodObject<{
1736
+ selector: z.ZodString;
1737
+ target: z.ZodOptional<z.ZodObject<{
1738
+ text: z.ZodOptional<z.ZodString>;
1739
+ role: z.ZodOptional<z.ZodString>;
1740
+ label: z.ZodOptional<z.ZodString>;
1741
+ near: z.ZodOptional<z.ZodString>;
1742
+ placeholder: z.ZodOptional<z.ZodString>;
1743
+ exact: z.ZodOptional<z.ZodBoolean>;
1744
+ }, z.core.$strip>>;
1745
+ fingerprint: z.ZodOptional<z.ZodString>;
1746
+ selectorAlternates: z.ZodOptional<z.ZodArray<z.ZodString>>;
1747
+ description: z.ZodString;
1748
+ postcondition: z.ZodObject<{
1749
+ type: z.ZodEnum<{
1750
+ route_matches: "route_matches";
1751
+ element_visible: "element_visible";
1752
+ element_absent: "element_absent";
1753
+ text_contains: "text_contains";
1754
+ overlay_dismissed: "overlay_dismissed";
1755
+ screenshot_stable: "screenshot_stable";
1756
+ any_change: "any_change";
1757
+ always: "always";
1758
+ }>;
1759
+ pattern: z.ZodOptional<z.ZodString>;
1760
+ selector: z.ZodOptional<z.ZodString>;
1761
+ text: z.ZodOptional<z.ZodString>;
1762
+ threshold: z.ZodOptional<z.ZodNumber>;
1763
+ waitMs: z.ZodOptional<z.ZodNumber>;
1764
+ }, z.core.$strip>;
1765
+ recovery: z.ZodObject<{
1766
+ retries: z.ZodNumber;
1767
+ useSelectorMemory: z.ZodBoolean;
1768
+ useAltInteraction: z.ZodBoolean;
1769
+ allowReload: z.ZodBoolean;
1770
+ allowHealer: z.ZodBoolean;
1771
+ }, z.core.$strip>;
1772
+ timeoutMs: z.ZodNumber;
1773
+ maxFailures: z.ZodNumber;
1774
+ kind: z.ZodLiteral<"DOUBLE_CLICK">;
1775
+ }, z.core.$strip>, z.ZodObject<{
1776
+ sourceSelector: z.ZodString;
1777
+ containerSelector: z.ZodString;
1778
+ count: z.ZodNumber;
1779
+ removeSource: z.ZodOptional<z.ZodBoolean>;
1780
+ description: z.ZodString;
1781
+ postcondition: z.ZodObject<{
1782
+ type: z.ZodEnum<{
1783
+ route_matches: "route_matches";
1784
+ element_visible: "element_visible";
1785
+ element_absent: "element_absent";
1786
+ text_contains: "text_contains";
1787
+ overlay_dismissed: "overlay_dismissed";
1788
+ screenshot_stable: "screenshot_stable";
1789
+ any_change: "any_change";
1790
+ always: "always";
1791
+ }>;
1792
+ pattern: z.ZodOptional<z.ZodString>;
1793
+ selector: z.ZodOptional<z.ZodString>;
1794
+ text: z.ZodOptional<z.ZodString>;
1795
+ threshold: z.ZodOptional<z.ZodNumber>;
1796
+ waitMs: z.ZodOptional<z.ZodNumber>;
1797
+ }, z.core.$strip>;
1798
+ recovery: z.ZodObject<{
1799
+ retries: z.ZodNumber;
1800
+ useSelectorMemory: z.ZodBoolean;
1801
+ useAltInteraction: z.ZodBoolean;
1802
+ allowReload: z.ZodBoolean;
1803
+ allowHealer: z.ZodBoolean;
1804
+ }, z.core.$strip>;
1805
+ timeoutMs: z.ZodNumber;
1806
+ maxFailures: z.ZodNumber;
1807
+ kind: z.ZodLiteral<"CLONE_ELEMENT">;
1808
+ }, z.core.$strip>, z.ZodObject<{
1809
+ groupName: z.ZodString;
1810
+ containerSelector: z.ZodOptional<z.ZodString>;
1811
+ templateSelector: z.ZodOptional<z.ZodString>;
1812
+ count: z.ZodOptional<z.ZodNumber>;
1813
+ removeTemplate: z.ZodOptional<z.ZodBoolean>;
1814
+ slotMappings: z.ZodOptional<z.ZodArray<z.ZodObject<{
1815
+ slot: z.ZodString;
1816
+ selector: z.ZodString;
1817
+ attribute: z.ZodOptional<z.ZodString>;
1818
+ }, z.core.$strip>>>;
1819
+ inputSelector: z.ZodOptional<z.ZodString>;
1820
+ triggerSelector: z.ZodOptional<z.ZodString>;
1821
+ description: z.ZodString;
1822
+ postcondition: z.ZodObject<{
1823
+ type: z.ZodEnum<{
1824
+ route_matches: "route_matches";
1825
+ element_visible: "element_visible";
1826
+ element_absent: "element_absent";
1827
+ text_contains: "text_contains";
1828
+ overlay_dismissed: "overlay_dismissed";
1829
+ screenshot_stable: "screenshot_stable";
1830
+ any_change: "any_change";
1831
+ always: "always";
1832
+ }>;
1833
+ pattern: z.ZodOptional<z.ZodString>;
1834
+ selector: z.ZodOptional<z.ZodString>;
1835
+ text: z.ZodOptional<z.ZodString>;
1836
+ threshold: z.ZodOptional<z.ZodNumber>;
1837
+ waitMs: z.ZodOptional<z.ZodNumber>;
1838
+ }, z.core.$strip>;
1839
+ recovery: z.ZodObject<{
1840
+ retries: z.ZodNumber;
1841
+ useSelectorMemory: z.ZodBoolean;
1842
+ useAltInteraction: z.ZodBoolean;
1843
+ allowReload: z.ZodBoolean;
1844
+ allowHealer: z.ZodBoolean;
1845
+ }, z.core.$strip>;
1846
+ timeoutMs: z.ZodNumber;
1847
+ maxFailures: z.ZodNumber;
1848
+ kind: z.ZodLiteral<"INJECT_MOCK_DATA">;
1849
+ }, z.core.$strip>, z.ZodObject<{
1850
+ selector: z.ZodString;
1851
+ description: z.ZodString;
1852
+ postcondition: z.ZodObject<{
1853
+ type: z.ZodEnum<{
1854
+ route_matches: "route_matches";
1855
+ element_visible: "element_visible";
1856
+ element_absent: "element_absent";
1857
+ text_contains: "text_contains";
1858
+ overlay_dismissed: "overlay_dismissed";
1859
+ screenshot_stable: "screenshot_stable";
1860
+ any_change: "any_change";
1861
+ always: "always";
1862
+ }>;
1863
+ pattern: z.ZodOptional<z.ZodString>;
1864
+ selector: z.ZodOptional<z.ZodString>;
1865
+ text: z.ZodOptional<z.ZodString>;
1866
+ threshold: z.ZodOptional<z.ZodNumber>;
1867
+ waitMs: z.ZodOptional<z.ZodNumber>;
1868
+ }, z.core.$strip>;
1869
+ recovery: z.ZodObject<{
1870
+ retries: z.ZodNumber;
1871
+ useSelectorMemory: z.ZodBoolean;
1872
+ useAltInteraction: z.ZodBoolean;
1873
+ allowReload: z.ZodBoolean;
1874
+ allowHealer: z.ZodBoolean;
1875
+ }, z.core.$strip>;
1876
+ timeoutMs: z.ZodNumber;
1877
+ maxFailures: z.ZodNumber;
1878
+ kind: z.ZodLiteral<"REMOVE_ELEMENT">;
1879
+ }, z.core.$strip>, z.ZodObject<{
1880
+ selector: z.ZodString;
1881
+ attribute: z.ZodString;
1882
+ value: z.ZodString;
1883
+ description: z.ZodString;
1884
+ postcondition: z.ZodObject<{
1885
+ type: z.ZodEnum<{
1886
+ route_matches: "route_matches";
1887
+ element_visible: "element_visible";
1888
+ element_absent: "element_absent";
1889
+ text_contains: "text_contains";
1890
+ overlay_dismissed: "overlay_dismissed";
1891
+ screenshot_stable: "screenshot_stable";
1892
+ any_change: "any_change";
1893
+ always: "always";
1894
+ }>;
1895
+ pattern: z.ZodOptional<z.ZodString>;
1896
+ selector: z.ZodOptional<z.ZodString>;
1897
+ text: z.ZodOptional<z.ZodString>;
1898
+ threshold: z.ZodOptional<z.ZodNumber>;
1899
+ waitMs: z.ZodOptional<z.ZodNumber>;
1900
+ }, z.core.$strip>;
1901
+ recovery: z.ZodObject<{
1902
+ retries: z.ZodNumber;
1903
+ useSelectorMemory: z.ZodBoolean;
1904
+ useAltInteraction: z.ZodBoolean;
1905
+ allowReload: z.ZodBoolean;
1906
+ allowHealer: z.ZodBoolean;
1907
+ }, z.core.$strip>;
1908
+ timeoutMs: z.ZodNumber;
1909
+ maxFailures: z.ZodNumber;
1910
+ kind: z.ZodLiteral<"SET_ATTRIBUTE">;
1911
+ }, z.core.$strip>], "kind">>;
1912
+ artifactPlan: z.ZodObject<{
1913
+ mediaMode: z.ZodEnum<{
1914
+ clip: "clip";
1915
+ screenshot: "screenshot";
1916
+ dom: "dom";
1917
+ }>;
1918
+ format: z.ZodOptional<z.ZodObject<{
1919
+ clipFormat: z.ZodOptional<z.ZodEnum<{
1920
+ gif: "gif";
1921
+ mp4: "mp4";
1922
+ both: "both";
1923
+ }>>;
1924
+ screenshotFormat: z.ZodOptional<z.ZodEnum<{
1925
+ png: "png";
1926
+ jpeg: "jpeg";
1927
+ }>>;
1928
+ }, z.core.$strip>>;
1929
+ cursorTheme: z.ZodOptional<z.ZodEnum<{
1930
+ minimal: "minimal";
1931
+ macos: "macos";
1932
+ windows: "windows";
1933
+ }>>;
1934
+ maxClipDurationSec: z.ZodOptional<z.ZodNumber>;
1935
+ applyMockup: z.ZodOptional<z.ZodBoolean>;
1936
+ applyStatusBar: z.ZodOptional<z.ZodBoolean>;
1937
+ domOptions: z.ZodOptional<z.ZodObject<{
1938
+ sanitize: z.ZodOptional<z.ZodBoolean>;
1939
+ }, z.core.$strip>>;
1940
+ }, z.core.$strip>;
1941
+ outputScale: z.ZodOptional<z.ZodNumber>;
1942
+ compileFingerprint: z.ZodString;
1943
+ variantFingerprint: z.ZodOptional<z.ZodString>;
1944
+ compiledAt: z.ZodString;
1945
+ compiledWith: z.ZodOptional<z.ZodString>;
1946
+ mockDataGroups: z.ZodOptional<z.ZodArray<z.ZodObject<{
1947
+ name: z.ZodString;
1948
+ description: z.ZodString;
1949
+ slots: z.ZodArray<z.ZodObject<{
1950
+ name: z.ZodString;
1951
+ description: z.ZodString;
1952
+ hint: z.ZodOptional<z.ZodString>;
1953
+ }, z.core.$strip>>;
1954
+ defaultValues: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodString>>;
1955
+ replaceExisting: z.ZodOptional<z.ZodBoolean>;
1956
+ }, z.core.$strip>>>;
1957
+ }, z.core.$strip>;
1958
+ export declare const HealerPatchSchema: z.ZodObject<{
1959
+ opcodeIndex: z.ZodNumber;
1960
+ originalOpcode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1961
+ url: z.ZodString;
1962
+ description: z.ZodString;
1963
+ postcondition: z.ZodObject<{
1964
+ type: z.ZodEnum<{
1965
+ route_matches: "route_matches";
1966
+ element_visible: "element_visible";
1967
+ element_absent: "element_absent";
1968
+ text_contains: "text_contains";
1969
+ overlay_dismissed: "overlay_dismissed";
1970
+ screenshot_stable: "screenshot_stable";
1971
+ any_change: "any_change";
1972
+ always: "always";
1973
+ }>;
1974
+ pattern: z.ZodOptional<z.ZodString>;
1975
+ selector: z.ZodOptional<z.ZodString>;
1976
+ text: z.ZodOptional<z.ZodString>;
1977
+ threshold: z.ZodOptional<z.ZodNumber>;
1978
+ waitMs: z.ZodOptional<z.ZodNumber>;
1979
+ }, z.core.$strip>;
1980
+ recovery: z.ZodObject<{
1981
+ retries: z.ZodNumber;
1982
+ useSelectorMemory: z.ZodBoolean;
1983
+ useAltInteraction: z.ZodBoolean;
1984
+ allowReload: z.ZodBoolean;
1985
+ allowHealer: z.ZodBoolean;
1986
+ }, z.core.$strip>;
1987
+ timeoutMs: z.ZodNumber;
1988
+ maxFailures: z.ZodNumber;
1989
+ kind: z.ZodLiteral<"NAVIGATE">;
1990
+ }, z.core.$strip>, z.ZodObject<{
1991
+ description: z.ZodString;
1992
+ postcondition: z.ZodObject<{
1993
+ type: z.ZodEnum<{
1994
+ route_matches: "route_matches";
1995
+ element_visible: "element_visible";
1996
+ element_absent: "element_absent";
1997
+ text_contains: "text_contains";
1998
+ overlay_dismissed: "overlay_dismissed";
1999
+ screenshot_stable: "screenshot_stable";
2000
+ any_change: "any_change";
2001
+ always: "always";
2002
+ }>;
2003
+ pattern: z.ZodOptional<z.ZodString>;
2004
+ selector: z.ZodOptional<z.ZodString>;
2005
+ text: z.ZodOptional<z.ZodString>;
2006
+ threshold: z.ZodOptional<z.ZodNumber>;
2007
+ waitMs: z.ZodOptional<z.ZodNumber>;
2008
+ }, z.core.$strip>;
2009
+ recovery: z.ZodObject<{
2010
+ retries: z.ZodNumber;
2011
+ useSelectorMemory: z.ZodBoolean;
2012
+ useAltInteraction: z.ZodBoolean;
2013
+ allowReload: z.ZodBoolean;
2014
+ allowHealer: z.ZodBoolean;
2015
+ }, z.core.$strip>;
2016
+ timeoutMs: z.ZodNumber;
2017
+ maxFailures: z.ZodNumber;
2018
+ kind: z.ZodLiteral<"DISMISS_OVERLAYS">;
2019
+ }, z.core.$strip>, z.ZodObject<{
2020
+ urlPattern: z.ZodString;
2021
+ description: z.ZodString;
2022
+ postcondition: z.ZodObject<{
2023
+ type: z.ZodEnum<{
2024
+ route_matches: "route_matches";
2025
+ element_visible: "element_visible";
2026
+ element_absent: "element_absent";
2027
+ text_contains: "text_contains";
2028
+ overlay_dismissed: "overlay_dismissed";
2029
+ screenshot_stable: "screenshot_stable";
2030
+ any_change: "any_change";
2031
+ always: "always";
2032
+ }>;
2033
+ pattern: z.ZodOptional<z.ZodString>;
2034
+ selector: z.ZodOptional<z.ZodString>;
2035
+ text: z.ZodOptional<z.ZodString>;
2036
+ threshold: z.ZodOptional<z.ZodNumber>;
2037
+ waitMs: z.ZodOptional<z.ZodNumber>;
2038
+ }, z.core.$strip>;
2039
+ recovery: z.ZodObject<{
2040
+ retries: z.ZodNumber;
2041
+ useSelectorMemory: z.ZodBoolean;
2042
+ useAltInteraction: z.ZodBoolean;
2043
+ allowReload: z.ZodBoolean;
2044
+ allowHealer: z.ZodBoolean;
2045
+ }, z.core.$strip>;
2046
+ timeoutMs: z.ZodNumber;
2047
+ maxFailures: z.ZodNumber;
2048
+ kind: z.ZodLiteral<"ASSERT_ROUTE">;
2049
+ }, z.core.$strip>, z.ZodObject<{
2050
+ selectors: z.ZodArray<z.ZodString>;
2051
+ matchAll: z.ZodBoolean;
2052
+ description: z.ZodString;
2053
+ postcondition: z.ZodObject<{
2054
+ type: z.ZodEnum<{
2055
+ route_matches: "route_matches";
2056
+ element_visible: "element_visible";
2057
+ element_absent: "element_absent";
2058
+ text_contains: "text_contains";
2059
+ overlay_dismissed: "overlay_dismissed";
2060
+ screenshot_stable: "screenshot_stable";
2061
+ any_change: "any_change";
2062
+ always: "always";
2063
+ }>;
2064
+ pattern: z.ZodOptional<z.ZodString>;
2065
+ selector: z.ZodOptional<z.ZodString>;
2066
+ text: z.ZodOptional<z.ZodString>;
2067
+ threshold: z.ZodOptional<z.ZodNumber>;
2068
+ waitMs: z.ZodOptional<z.ZodNumber>;
2069
+ }, z.core.$strip>;
2070
+ recovery: z.ZodObject<{
2071
+ retries: z.ZodNumber;
2072
+ useSelectorMemory: z.ZodBoolean;
2073
+ useAltInteraction: z.ZodBoolean;
2074
+ allowReload: z.ZodBoolean;
2075
+ allowHealer: z.ZodBoolean;
2076
+ }, z.core.$strip>;
2077
+ timeoutMs: z.ZodNumber;
2078
+ maxFailures: z.ZodNumber;
2079
+ kind: z.ZodLiteral<"ASSERT_SURFACE">;
2080
+ }, z.core.$strip>, z.ZodObject<{
2081
+ selector: z.ZodString;
2082
+ target: z.ZodOptional<z.ZodObject<{
2083
+ text: z.ZodOptional<z.ZodString>;
2084
+ role: z.ZodOptional<z.ZodString>;
2085
+ label: z.ZodOptional<z.ZodString>;
2086
+ near: z.ZodOptional<z.ZodString>;
2087
+ placeholder: z.ZodOptional<z.ZodString>;
2088
+ exact: z.ZodOptional<z.ZodBoolean>;
2089
+ }, z.core.$strip>>;
2090
+ button: z.ZodOptional<z.ZodEnum<{
2091
+ right: "right";
2092
+ middle: "middle";
2093
+ }>>;
2094
+ fingerprint: z.ZodOptional<z.ZodString>;
2095
+ selectorAlternates: z.ZodOptional<z.ZodArray<z.ZodString>>;
2096
+ description: z.ZodString;
2097
+ postcondition: z.ZodObject<{
2098
+ type: z.ZodEnum<{
2099
+ route_matches: "route_matches";
2100
+ element_visible: "element_visible";
2101
+ element_absent: "element_absent";
2102
+ text_contains: "text_contains";
2103
+ overlay_dismissed: "overlay_dismissed";
2104
+ screenshot_stable: "screenshot_stable";
2105
+ any_change: "any_change";
2106
+ always: "always";
2107
+ }>;
2108
+ pattern: z.ZodOptional<z.ZodString>;
2109
+ selector: z.ZodOptional<z.ZodString>;
2110
+ text: z.ZodOptional<z.ZodString>;
2111
+ threshold: z.ZodOptional<z.ZodNumber>;
2112
+ waitMs: z.ZodOptional<z.ZodNumber>;
2113
+ }, z.core.$strip>;
2114
+ recovery: z.ZodObject<{
2115
+ retries: z.ZodNumber;
2116
+ useSelectorMemory: z.ZodBoolean;
2117
+ useAltInteraction: z.ZodBoolean;
2118
+ allowReload: z.ZodBoolean;
2119
+ allowHealer: z.ZodBoolean;
2120
+ }, z.core.$strip>;
2121
+ timeoutMs: z.ZodNumber;
2122
+ maxFailures: z.ZodNumber;
2123
+ kind: z.ZodLiteral<"CLICK">;
2124
+ }, z.core.$strip>, z.ZodObject<{
2125
+ selector: z.ZodString;
2126
+ target: z.ZodOptional<z.ZodObject<{
2127
+ text: z.ZodOptional<z.ZodString>;
2128
+ role: z.ZodOptional<z.ZodString>;
2129
+ label: z.ZodOptional<z.ZodString>;
2130
+ near: z.ZodOptional<z.ZodString>;
2131
+ placeholder: z.ZodOptional<z.ZodString>;
2132
+ exact: z.ZodOptional<z.ZodBoolean>;
2133
+ }, z.core.$strip>>;
2134
+ text: z.ZodString;
2135
+ textByLocale: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2136
+ clearFirst: z.ZodBoolean;
2137
+ fingerprint: z.ZodOptional<z.ZodString>;
2138
+ selectorAlternates: z.ZodOptional<z.ZodArray<z.ZodString>>;
2139
+ description: z.ZodString;
2140
+ postcondition: z.ZodObject<{
2141
+ type: z.ZodEnum<{
2142
+ route_matches: "route_matches";
2143
+ element_visible: "element_visible";
2144
+ element_absent: "element_absent";
2145
+ text_contains: "text_contains";
2146
+ overlay_dismissed: "overlay_dismissed";
2147
+ screenshot_stable: "screenshot_stable";
2148
+ any_change: "any_change";
2149
+ always: "always";
2150
+ }>;
2151
+ pattern: z.ZodOptional<z.ZodString>;
2152
+ selector: z.ZodOptional<z.ZodString>;
2153
+ text: z.ZodOptional<z.ZodString>;
2154
+ threshold: z.ZodOptional<z.ZodNumber>;
2155
+ waitMs: z.ZodOptional<z.ZodNumber>;
2156
+ }, z.core.$strip>;
2157
+ recovery: z.ZodObject<{
2158
+ retries: z.ZodNumber;
2159
+ useSelectorMemory: z.ZodBoolean;
2160
+ useAltInteraction: z.ZodBoolean;
2161
+ allowReload: z.ZodBoolean;
2162
+ allowHealer: z.ZodBoolean;
2163
+ }, z.core.$strip>;
2164
+ timeoutMs: z.ZodNumber;
2165
+ maxFailures: z.ZodNumber;
2166
+ kind: z.ZodLiteral<"TYPE">;
2167
+ }, z.core.$strip>, z.ZodObject<{
2168
+ key: z.ZodString;
2169
+ description: z.ZodString;
2170
+ postcondition: z.ZodObject<{
2171
+ type: z.ZodEnum<{
2172
+ route_matches: "route_matches";
2173
+ element_visible: "element_visible";
2174
+ element_absent: "element_absent";
2175
+ text_contains: "text_contains";
2176
+ overlay_dismissed: "overlay_dismissed";
2177
+ screenshot_stable: "screenshot_stable";
2178
+ any_change: "any_change";
2179
+ always: "always";
2180
+ }>;
2181
+ pattern: z.ZodOptional<z.ZodString>;
2182
+ selector: z.ZodOptional<z.ZodString>;
2183
+ text: z.ZodOptional<z.ZodString>;
2184
+ threshold: z.ZodOptional<z.ZodNumber>;
2185
+ waitMs: z.ZodOptional<z.ZodNumber>;
2186
+ }, z.core.$strip>;
2187
+ recovery: z.ZodObject<{
2188
+ retries: z.ZodNumber;
2189
+ useSelectorMemory: z.ZodBoolean;
2190
+ useAltInteraction: z.ZodBoolean;
2191
+ allowReload: z.ZodBoolean;
2192
+ allowHealer: z.ZodBoolean;
2193
+ }, z.core.$strip>;
2194
+ timeoutMs: z.ZodNumber;
2195
+ maxFailures: z.ZodNumber;
2196
+ kind: z.ZodLiteral<"PRESS_KEY">;
2197
+ }, z.core.$strip>, z.ZodObject<{
2198
+ selector: z.ZodOptional<z.ZodString>;
2199
+ target: z.ZodOptional<z.ZodObject<{
2200
+ text: z.ZodOptional<z.ZodString>;
2201
+ role: z.ZodOptional<z.ZodString>;
2202
+ label: z.ZodOptional<z.ZodString>;
2203
+ near: z.ZodOptional<z.ZodString>;
2204
+ placeholder: z.ZodOptional<z.ZodString>;
2205
+ exact: z.ZodOptional<z.ZodBoolean>;
2206
+ }, z.core.$strip>>;
2207
+ state: z.ZodEnum<{
2208
+ visible: "visible";
2209
+ attached: "attached";
2210
+ }>;
2211
+ description: z.ZodString;
2212
+ postcondition: z.ZodObject<{
2213
+ type: z.ZodEnum<{
2214
+ route_matches: "route_matches";
2215
+ element_visible: "element_visible";
2216
+ element_absent: "element_absent";
2217
+ text_contains: "text_contains";
2218
+ overlay_dismissed: "overlay_dismissed";
2219
+ screenshot_stable: "screenshot_stable";
2220
+ any_change: "any_change";
2221
+ always: "always";
2222
+ }>;
2223
+ pattern: z.ZodOptional<z.ZodString>;
2224
+ selector: z.ZodOptional<z.ZodString>;
2225
+ text: z.ZodOptional<z.ZodString>;
2226
+ threshold: z.ZodOptional<z.ZodNumber>;
2227
+ waitMs: z.ZodOptional<z.ZodNumber>;
2228
+ }, z.core.$strip>;
2229
+ recovery: z.ZodObject<{
2230
+ retries: z.ZodNumber;
2231
+ useSelectorMemory: z.ZodBoolean;
2232
+ useAltInteraction: z.ZodBoolean;
2233
+ allowReload: z.ZodBoolean;
2234
+ allowHealer: z.ZodBoolean;
2235
+ }, z.core.$strip>;
2236
+ timeoutMs: z.ZodNumber;
2237
+ maxFailures: z.ZodNumber;
2238
+ kind: z.ZodLiteral<"WAIT_FOR">;
2239
+ }, z.core.$strip>, z.ZodObject<{
2240
+ locale: z.ZodString;
2241
+ method: z.ZodEnum<{
2242
+ browser_context: "browser_context";
2243
+ ui_interaction: "ui_interaction";
2244
+ storage: "storage";
2245
+ }>;
2246
+ selector: z.ZodOptional<z.ZodString>;
2247
+ storageHints: z.ZodOptional<z.ZodArray<z.ZodObject<{
2248
+ storage: z.ZodEnum<{
2249
+ localStorage: "localStorage";
2250
+ sessionStorage: "sessionStorage";
2251
+ cookie: "cookie";
2252
+ }>;
2253
+ key: z.ZodString;
2254
+ value: z.ZodString;
2255
+ }, z.core.$strip>>>;
2256
+ description: z.ZodString;
2257
+ postcondition: z.ZodObject<{
2258
+ type: z.ZodEnum<{
2259
+ route_matches: "route_matches";
2260
+ element_visible: "element_visible";
2261
+ element_absent: "element_absent";
2262
+ text_contains: "text_contains";
2263
+ overlay_dismissed: "overlay_dismissed";
2264
+ screenshot_stable: "screenshot_stable";
2265
+ any_change: "any_change";
2266
+ always: "always";
2267
+ }>;
2268
+ pattern: z.ZodOptional<z.ZodString>;
2269
+ selector: z.ZodOptional<z.ZodString>;
2270
+ text: z.ZodOptional<z.ZodString>;
2271
+ threshold: z.ZodOptional<z.ZodNumber>;
2272
+ waitMs: z.ZodOptional<z.ZodNumber>;
2273
+ }, z.core.$strip>;
2274
+ recovery: z.ZodObject<{
2275
+ retries: z.ZodNumber;
2276
+ useSelectorMemory: z.ZodBoolean;
2277
+ useAltInteraction: z.ZodBoolean;
2278
+ allowReload: z.ZodBoolean;
2279
+ allowHealer: z.ZodBoolean;
2280
+ }, z.core.$strip>;
2281
+ timeoutMs: z.ZodNumber;
2282
+ maxFailures: z.ZodNumber;
2283
+ kind: z.ZodLiteral<"SET_LOCALE">;
2284
+ }, z.core.$strip>, z.ZodObject<{
2285
+ theme: z.ZodEnum<{
2286
+ light: "light";
2287
+ dark: "dark";
2288
+ $variant: "$variant";
2289
+ }>;
2290
+ method: z.ZodEnum<{
2291
+ ui_interaction: "ui_interaction";
2292
+ storage: "storage";
2293
+ color_scheme: "color_scheme";
2294
+ }>;
2295
+ selector: z.ZodOptional<z.ZodString>;
2296
+ storageHints: z.ZodOptional<z.ZodArray<z.ZodObject<{
2297
+ storage: z.ZodEnum<{
2298
+ localStorage: "localStorage";
2299
+ sessionStorage: "sessionStorage";
2300
+ cookie: "cookie";
2301
+ }>;
2302
+ key: z.ZodString;
2303
+ value: z.ZodString;
2304
+ }, z.core.$strip>>>;
2305
+ description: z.ZodString;
2306
+ postcondition: z.ZodObject<{
2307
+ type: z.ZodEnum<{
2308
+ route_matches: "route_matches";
2309
+ element_visible: "element_visible";
2310
+ element_absent: "element_absent";
2311
+ text_contains: "text_contains";
2312
+ overlay_dismissed: "overlay_dismissed";
2313
+ screenshot_stable: "screenshot_stable";
2314
+ any_change: "any_change";
2315
+ always: "always";
2316
+ }>;
2317
+ pattern: z.ZodOptional<z.ZodString>;
2318
+ selector: z.ZodOptional<z.ZodString>;
2319
+ text: z.ZodOptional<z.ZodString>;
2320
+ threshold: z.ZodOptional<z.ZodNumber>;
2321
+ waitMs: z.ZodOptional<z.ZodNumber>;
2322
+ }, z.core.$strip>;
2323
+ recovery: z.ZodObject<{
2324
+ retries: z.ZodNumber;
2325
+ useSelectorMemory: z.ZodBoolean;
2326
+ useAltInteraction: z.ZodBoolean;
2327
+ allowReload: z.ZodBoolean;
2328
+ allowHealer: z.ZodBoolean;
2329
+ }, z.core.$strip>;
2330
+ timeoutMs: z.ZodNumber;
2331
+ maxFailures: z.ZodNumber;
2332
+ kind: z.ZodLiteral<"SET_THEME">;
2333
+ }, z.core.$strip>, z.ZodObject<{
2334
+ direction: z.ZodEnum<{
2335
+ up: "up";
2336
+ down: "down";
2337
+ left: "left";
2338
+ right: "right";
2339
+ }>;
2340
+ amount: z.ZodOptional<z.ZodNumber>;
2341
+ targetSelector: z.ZodOptional<z.ZodString>;
2342
+ target: z.ZodOptional<z.ZodObject<{
2343
+ text: z.ZodOptional<z.ZodString>;
2344
+ role: z.ZodOptional<z.ZodString>;
2345
+ label: z.ZodOptional<z.ZodString>;
2346
+ near: z.ZodOptional<z.ZodString>;
2347
+ placeholder: z.ZodOptional<z.ZodString>;
2348
+ exact: z.ZodOptional<z.ZodBoolean>;
2349
+ }, z.core.$strip>>;
2350
+ description: z.ZodString;
2351
+ postcondition: z.ZodObject<{
2352
+ type: z.ZodEnum<{
2353
+ route_matches: "route_matches";
2354
+ element_visible: "element_visible";
2355
+ element_absent: "element_absent";
2356
+ text_contains: "text_contains";
2357
+ overlay_dismissed: "overlay_dismissed";
2358
+ screenshot_stable: "screenshot_stable";
2359
+ any_change: "any_change";
2360
+ always: "always";
2361
+ }>;
2362
+ pattern: z.ZodOptional<z.ZodString>;
2363
+ selector: z.ZodOptional<z.ZodString>;
2364
+ text: z.ZodOptional<z.ZodString>;
2365
+ threshold: z.ZodOptional<z.ZodNumber>;
2366
+ waitMs: z.ZodOptional<z.ZodNumber>;
2367
+ }, z.core.$strip>;
2368
+ recovery: z.ZodObject<{
2369
+ retries: z.ZodNumber;
2370
+ useSelectorMemory: z.ZodBoolean;
2371
+ useAltInteraction: z.ZodBoolean;
2372
+ allowReload: z.ZodBoolean;
2373
+ allowHealer: z.ZodBoolean;
2374
+ }, z.core.$strip>;
2375
+ timeoutMs: z.ZodNumber;
2376
+ maxFailures: z.ZodNumber;
2377
+ kind: z.ZodLiteral<"SCROLL">;
2378
+ }, z.core.$strip>, z.ZodObject<{
2379
+ captureId: z.ZodOptional<z.ZodString>;
2380
+ captureName: z.ZodOptional<z.ZodString>;
2381
+ elementSelector: z.ZodOptional<z.ZodString>;
2382
+ description: z.ZodString;
2383
+ postcondition: z.ZodObject<{
2384
+ type: z.ZodEnum<{
2385
+ route_matches: "route_matches";
2386
+ element_visible: "element_visible";
2387
+ element_absent: "element_absent";
2388
+ text_contains: "text_contains";
2389
+ overlay_dismissed: "overlay_dismissed";
2390
+ screenshot_stable: "screenshot_stable";
2391
+ any_change: "any_change";
2392
+ always: "always";
2393
+ }>;
2394
+ pattern: z.ZodOptional<z.ZodString>;
2395
+ selector: z.ZodOptional<z.ZodString>;
2396
+ text: z.ZodOptional<z.ZodString>;
2397
+ threshold: z.ZodOptional<z.ZodNumber>;
2398
+ waitMs: z.ZodOptional<z.ZodNumber>;
2399
+ }, z.core.$strip>;
2400
+ recovery: z.ZodObject<{
2401
+ retries: z.ZodNumber;
2402
+ useSelectorMemory: z.ZodBoolean;
2403
+ useAltInteraction: z.ZodBoolean;
2404
+ allowReload: z.ZodBoolean;
2405
+ allowHealer: z.ZodBoolean;
2406
+ }, z.core.$strip>;
2407
+ timeoutMs: z.ZodNumber;
2408
+ maxFailures: z.ZodNumber;
2409
+ kind: z.ZodLiteral<"CAPTURE_SCREENSHOT">;
2410
+ }, z.core.$strip>, z.ZodObject<{
2411
+ stateName: z.ZodString;
2412
+ selector: z.ZodOptional<z.ZodString>;
2413
+ description: z.ZodString;
2414
+ postcondition: z.ZodObject<{
2415
+ type: z.ZodEnum<{
2416
+ route_matches: "route_matches";
2417
+ element_visible: "element_visible";
2418
+ element_absent: "element_absent";
2419
+ text_contains: "text_contains";
2420
+ overlay_dismissed: "overlay_dismissed";
2421
+ screenshot_stable: "screenshot_stable";
2422
+ any_change: "any_change";
2423
+ always: "always";
2424
+ }>;
2425
+ pattern: z.ZodOptional<z.ZodString>;
2426
+ selector: z.ZodOptional<z.ZodString>;
2427
+ text: z.ZodOptional<z.ZodString>;
2428
+ threshold: z.ZodOptional<z.ZodNumber>;
2429
+ waitMs: z.ZodOptional<z.ZodNumber>;
2430
+ }, z.core.$strip>;
2431
+ recovery: z.ZodObject<{
2432
+ retries: z.ZodNumber;
2433
+ useSelectorMemory: z.ZodBoolean;
2434
+ useAltInteraction: z.ZodBoolean;
2435
+ allowReload: z.ZodBoolean;
2436
+ allowHealer: z.ZodBoolean;
2437
+ }, z.core.$strip>;
2438
+ timeoutMs: z.ZodNumber;
2439
+ maxFailures: z.ZodNumber;
2440
+ kind: z.ZodLiteral<"CAPTURE_DOM">;
2441
+ }, z.core.$strip>, z.ZodObject<{
2442
+ fragmentName: z.ZodString;
2443
+ variantName: z.ZodOptional<z.ZodString>;
2444
+ parentState: z.ZodString;
2445
+ selector: z.ZodString;
2446
+ triggerSelector: z.ZodOptional<z.ZodString>;
2447
+ mountStrategy: z.ZodOptional<z.ZodString>;
2448
+ mountTargetSelector: z.ZodOptional<z.ZodString>;
2449
+ description: z.ZodString;
2450
+ postcondition: z.ZodObject<{
2451
+ type: z.ZodEnum<{
2452
+ route_matches: "route_matches";
2453
+ element_visible: "element_visible";
2454
+ element_absent: "element_absent";
2455
+ text_contains: "text_contains";
2456
+ overlay_dismissed: "overlay_dismissed";
2457
+ screenshot_stable: "screenshot_stable";
2458
+ any_change: "any_change";
2459
+ always: "always";
2460
+ }>;
2461
+ pattern: z.ZodOptional<z.ZodString>;
2462
+ selector: z.ZodOptional<z.ZodString>;
2463
+ text: z.ZodOptional<z.ZodString>;
2464
+ threshold: z.ZodOptional<z.ZodNumber>;
2465
+ waitMs: z.ZodOptional<z.ZodNumber>;
2466
+ }, z.core.$strip>;
2467
+ recovery: z.ZodObject<{
2468
+ retries: z.ZodNumber;
2469
+ useSelectorMemory: z.ZodBoolean;
2470
+ useAltInteraction: z.ZodBoolean;
2471
+ allowReload: z.ZodBoolean;
2472
+ allowHealer: z.ZodBoolean;
2473
+ }, z.core.$strip>;
2474
+ timeoutMs: z.ZodNumber;
2475
+ maxFailures: z.ZodNumber;
2476
+ kind: z.ZodLiteral<"CAPTURE_FRAGMENT">;
2477
+ }, z.core.$strip>, z.ZodObject<{
2478
+ clipId: z.ZodOptional<z.ZodString>;
2479
+ clipName: z.ZodOptional<z.ZodString>;
2480
+ description: z.ZodString;
2481
+ postcondition: z.ZodObject<{
2482
+ type: z.ZodEnum<{
2483
+ route_matches: "route_matches";
2484
+ element_visible: "element_visible";
2485
+ element_absent: "element_absent";
2486
+ text_contains: "text_contains";
2487
+ overlay_dismissed: "overlay_dismissed";
2488
+ screenshot_stable: "screenshot_stable";
2489
+ any_change: "any_change";
2490
+ always: "always";
2491
+ }>;
2492
+ pattern: z.ZodOptional<z.ZodString>;
2493
+ selector: z.ZodOptional<z.ZodString>;
2494
+ text: z.ZodOptional<z.ZodString>;
2495
+ threshold: z.ZodOptional<z.ZodNumber>;
2496
+ waitMs: z.ZodOptional<z.ZodNumber>;
2497
+ }, z.core.$strip>;
2498
+ recovery: z.ZodObject<{
2499
+ retries: z.ZodNumber;
2500
+ useSelectorMemory: z.ZodBoolean;
2501
+ useAltInteraction: z.ZodBoolean;
2502
+ allowReload: z.ZodBoolean;
2503
+ allowHealer: z.ZodBoolean;
2504
+ }, z.core.$strip>;
2505
+ timeoutMs: z.ZodNumber;
2506
+ maxFailures: z.ZodNumber;
2507
+ kind: z.ZodLiteral<"BEGIN_CLIP">;
2508
+ }, z.core.$strip>, z.ZodObject<{
2509
+ clipId: z.ZodOptional<z.ZodString>;
2510
+ clipName: z.ZodOptional<z.ZodString>;
2511
+ description: z.ZodString;
2512
+ postcondition: z.ZodObject<{
2513
+ type: z.ZodEnum<{
2514
+ route_matches: "route_matches";
2515
+ element_visible: "element_visible";
2516
+ element_absent: "element_absent";
2517
+ text_contains: "text_contains";
2518
+ overlay_dismissed: "overlay_dismissed";
2519
+ screenshot_stable: "screenshot_stable";
2520
+ any_change: "any_change";
2521
+ always: "always";
2522
+ }>;
2523
+ pattern: z.ZodOptional<z.ZodString>;
2524
+ selector: z.ZodOptional<z.ZodString>;
2525
+ text: z.ZodOptional<z.ZodString>;
2526
+ threshold: z.ZodOptional<z.ZodNumber>;
2527
+ waitMs: z.ZodOptional<z.ZodNumber>;
2528
+ }, z.core.$strip>;
2529
+ recovery: z.ZodObject<{
2530
+ retries: z.ZodNumber;
2531
+ useSelectorMemory: z.ZodBoolean;
2532
+ useAltInteraction: z.ZodBoolean;
2533
+ allowReload: z.ZodBoolean;
2534
+ allowHealer: z.ZodBoolean;
2535
+ }, z.core.$strip>;
2536
+ timeoutMs: z.ZodNumber;
2537
+ maxFailures: z.ZodNumber;
2538
+ kind: z.ZodLiteral<"END_CLIP">;
2539
+ }, z.core.$strip>, z.ZodObject<{
2540
+ selector: z.ZodString;
2541
+ target: z.ZodOptional<z.ZodObject<{
2542
+ text: z.ZodOptional<z.ZodString>;
2543
+ role: z.ZodOptional<z.ZodString>;
2544
+ label: z.ZodOptional<z.ZodString>;
2545
+ near: z.ZodOptional<z.ZodString>;
2546
+ placeholder: z.ZodOptional<z.ZodString>;
2547
+ exact: z.ZodOptional<z.ZodBoolean>;
2548
+ }, z.core.$strip>>;
2549
+ fingerprint: z.ZodOptional<z.ZodString>;
2550
+ selectorAlternates: z.ZodOptional<z.ZodArray<z.ZodString>>;
2551
+ description: z.ZodString;
2552
+ postcondition: z.ZodObject<{
2553
+ type: z.ZodEnum<{
2554
+ route_matches: "route_matches";
2555
+ element_visible: "element_visible";
2556
+ element_absent: "element_absent";
2557
+ text_contains: "text_contains";
2558
+ overlay_dismissed: "overlay_dismissed";
2559
+ screenshot_stable: "screenshot_stable";
2560
+ any_change: "any_change";
2561
+ always: "always";
2562
+ }>;
2563
+ pattern: z.ZodOptional<z.ZodString>;
2564
+ selector: z.ZodOptional<z.ZodString>;
2565
+ text: z.ZodOptional<z.ZodString>;
2566
+ threshold: z.ZodOptional<z.ZodNumber>;
2567
+ waitMs: z.ZodOptional<z.ZodNumber>;
2568
+ }, z.core.$strip>;
2569
+ recovery: z.ZodObject<{
2570
+ retries: z.ZodNumber;
2571
+ useSelectorMemory: z.ZodBoolean;
2572
+ useAltInteraction: z.ZodBoolean;
2573
+ allowReload: z.ZodBoolean;
2574
+ allowHealer: z.ZodBoolean;
2575
+ }, z.core.$strip>;
2576
+ timeoutMs: z.ZodNumber;
2577
+ maxFailures: z.ZodNumber;
2578
+ kind: z.ZodLiteral<"HOVER">;
2579
+ }, z.core.$strip>, z.ZodObject<{
2580
+ selector: z.ZodString;
2581
+ target: z.ZodOptional<z.ZodObject<{
2582
+ text: z.ZodOptional<z.ZodString>;
2583
+ role: z.ZodOptional<z.ZodString>;
2584
+ label: z.ZodOptional<z.ZodString>;
2585
+ near: z.ZodOptional<z.ZodString>;
2586
+ placeholder: z.ZodOptional<z.ZodString>;
2587
+ exact: z.ZodOptional<z.ZodBoolean>;
2588
+ }, z.core.$strip>>;
2589
+ optionLabel: z.ZodOptional<z.ZodString>;
2590
+ optionValue: z.ZodOptional<z.ZodString>;
2591
+ optionIndex: z.ZodOptional<z.ZodNumber>;
2592
+ fingerprint: z.ZodOptional<z.ZodString>;
2593
+ selectorAlternates: z.ZodOptional<z.ZodArray<z.ZodString>>;
2594
+ description: z.ZodString;
2595
+ postcondition: z.ZodObject<{
2596
+ type: z.ZodEnum<{
2597
+ route_matches: "route_matches";
2598
+ element_visible: "element_visible";
2599
+ element_absent: "element_absent";
2600
+ text_contains: "text_contains";
2601
+ overlay_dismissed: "overlay_dismissed";
2602
+ screenshot_stable: "screenshot_stable";
2603
+ any_change: "any_change";
2604
+ always: "always";
2605
+ }>;
2606
+ pattern: z.ZodOptional<z.ZodString>;
2607
+ selector: z.ZodOptional<z.ZodString>;
2608
+ text: z.ZodOptional<z.ZodString>;
2609
+ threshold: z.ZodOptional<z.ZodNumber>;
2610
+ waitMs: z.ZodOptional<z.ZodNumber>;
2611
+ }, z.core.$strip>;
2612
+ recovery: z.ZodObject<{
2613
+ retries: z.ZodNumber;
2614
+ useSelectorMemory: z.ZodBoolean;
2615
+ useAltInteraction: z.ZodBoolean;
2616
+ allowReload: z.ZodBoolean;
2617
+ allowHealer: z.ZodBoolean;
2618
+ }, z.core.$strip>;
2619
+ timeoutMs: z.ZodNumber;
2620
+ maxFailures: z.ZodNumber;
2621
+ kind: z.ZodLiteral<"SELECT_OPTION">;
2622
+ }, z.core.$strip>, z.ZodObject<{
2623
+ selector: z.ZodString;
2624
+ target: z.ZodOptional<z.ZodObject<{
2625
+ text: z.ZodOptional<z.ZodString>;
2626
+ role: z.ZodOptional<z.ZodString>;
2627
+ label: z.ZodOptional<z.ZodString>;
2628
+ near: z.ZodOptional<z.ZodString>;
2629
+ placeholder: z.ZodOptional<z.ZodString>;
2630
+ exact: z.ZodOptional<z.ZodBoolean>;
2631
+ }, z.core.$strip>>;
2632
+ checked: z.ZodBoolean;
2633
+ fingerprint: z.ZodOptional<z.ZodString>;
2634
+ selectorAlternates: z.ZodOptional<z.ZodArray<z.ZodString>>;
2635
+ description: z.ZodString;
2636
+ postcondition: z.ZodObject<{
2637
+ type: z.ZodEnum<{
2638
+ route_matches: "route_matches";
2639
+ element_visible: "element_visible";
2640
+ element_absent: "element_absent";
2641
+ text_contains: "text_contains";
2642
+ overlay_dismissed: "overlay_dismissed";
2643
+ screenshot_stable: "screenshot_stable";
2644
+ any_change: "any_change";
2645
+ always: "always";
2646
+ }>;
2647
+ pattern: z.ZodOptional<z.ZodString>;
2648
+ selector: z.ZodOptional<z.ZodString>;
2649
+ text: z.ZodOptional<z.ZodString>;
2650
+ threshold: z.ZodOptional<z.ZodNumber>;
2651
+ waitMs: z.ZodOptional<z.ZodNumber>;
2652
+ }, z.core.$strip>;
2653
+ recovery: z.ZodObject<{
2654
+ retries: z.ZodNumber;
2655
+ useSelectorMemory: z.ZodBoolean;
2656
+ useAltInteraction: z.ZodBoolean;
2657
+ allowReload: z.ZodBoolean;
2658
+ allowHealer: z.ZodBoolean;
2659
+ }, z.core.$strip>;
2660
+ timeoutMs: z.ZodNumber;
2661
+ maxFailures: z.ZodNumber;
2662
+ kind: z.ZodLiteral<"CHECK">;
2663
+ }, z.core.$strip>, z.ZodObject<{
2664
+ selector: z.ZodString;
2665
+ target: z.ZodOptional<z.ZodObject<{
2666
+ text: z.ZodOptional<z.ZodString>;
2667
+ role: z.ZodOptional<z.ZodString>;
2668
+ label: z.ZodOptional<z.ZodString>;
2669
+ near: z.ZodOptional<z.ZodString>;
2670
+ placeholder: z.ZodOptional<z.ZodString>;
2671
+ exact: z.ZodOptional<z.ZodBoolean>;
2672
+ }, z.core.$strip>>;
2673
+ fingerprint: z.ZodOptional<z.ZodString>;
2674
+ selectorAlternates: z.ZodOptional<z.ZodArray<z.ZodString>>;
2675
+ description: z.ZodString;
2676
+ postcondition: z.ZodObject<{
2677
+ type: z.ZodEnum<{
2678
+ route_matches: "route_matches";
2679
+ element_visible: "element_visible";
2680
+ element_absent: "element_absent";
2681
+ text_contains: "text_contains";
2682
+ overlay_dismissed: "overlay_dismissed";
2683
+ screenshot_stable: "screenshot_stable";
2684
+ any_change: "any_change";
2685
+ always: "always";
2686
+ }>;
2687
+ pattern: z.ZodOptional<z.ZodString>;
2688
+ selector: z.ZodOptional<z.ZodString>;
2689
+ text: z.ZodOptional<z.ZodString>;
2690
+ threshold: z.ZodOptional<z.ZodNumber>;
2691
+ waitMs: z.ZodOptional<z.ZodNumber>;
2692
+ }, z.core.$strip>;
2693
+ recovery: z.ZodObject<{
2694
+ retries: z.ZodNumber;
2695
+ useSelectorMemory: z.ZodBoolean;
2696
+ useAltInteraction: z.ZodBoolean;
2697
+ allowReload: z.ZodBoolean;
2698
+ allowHealer: z.ZodBoolean;
2699
+ }, z.core.$strip>;
2700
+ timeoutMs: z.ZodNumber;
2701
+ maxFailures: z.ZodNumber;
2702
+ kind: z.ZodLiteral<"DOUBLE_CLICK">;
2703
+ }, z.core.$strip>, z.ZodObject<{
2704
+ sourceSelector: z.ZodString;
2705
+ containerSelector: z.ZodString;
2706
+ count: z.ZodNumber;
2707
+ removeSource: z.ZodOptional<z.ZodBoolean>;
2708
+ description: z.ZodString;
2709
+ postcondition: z.ZodObject<{
2710
+ type: z.ZodEnum<{
2711
+ route_matches: "route_matches";
2712
+ element_visible: "element_visible";
2713
+ element_absent: "element_absent";
2714
+ text_contains: "text_contains";
2715
+ overlay_dismissed: "overlay_dismissed";
2716
+ screenshot_stable: "screenshot_stable";
2717
+ any_change: "any_change";
2718
+ always: "always";
2719
+ }>;
2720
+ pattern: z.ZodOptional<z.ZodString>;
2721
+ selector: z.ZodOptional<z.ZodString>;
2722
+ text: z.ZodOptional<z.ZodString>;
2723
+ threshold: z.ZodOptional<z.ZodNumber>;
2724
+ waitMs: z.ZodOptional<z.ZodNumber>;
2725
+ }, z.core.$strip>;
2726
+ recovery: z.ZodObject<{
2727
+ retries: z.ZodNumber;
2728
+ useSelectorMemory: z.ZodBoolean;
2729
+ useAltInteraction: z.ZodBoolean;
2730
+ allowReload: z.ZodBoolean;
2731
+ allowHealer: z.ZodBoolean;
2732
+ }, z.core.$strip>;
2733
+ timeoutMs: z.ZodNumber;
2734
+ maxFailures: z.ZodNumber;
2735
+ kind: z.ZodLiteral<"CLONE_ELEMENT">;
2736
+ }, z.core.$strip>, z.ZodObject<{
2737
+ groupName: z.ZodString;
2738
+ containerSelector: z.ZodOptional<z.ZodString>;
2739
+ templateSelector: z.ZodOptional<z.ZodString>;
2740
+ count: z.ZodOptional<z.ZodNumber>;
2741
+ removeTemplate: z.ZodOptional<z.ZodBoolean>;
2742
+ slotMappings: z.ZodOptional<z.ZodArray<z.ZodObject<{
2743
+ slot: z.ZodString;
2744
+ selector: z.ZodString;
2745
+ attribute: z.ZodOptional<z.ZodString>;
2746
+ }, z.core.$strip>>>;
2747
+ inputSelector: z.ZodOptional<z.ZodString>;
2748
+ triggerSelector: z.ZodOptional<z.ZodString>;
2749
+ description: z.ZodString;
2750
+ postcondition: z.ZodObject<{
2751
+ type: z.ZodEnum<{
2752
+ route_matches: "route_matches";
2753
+ element_visible: "element_visible";
2754
+ element_absent: "element_absent";
2755
+ text_contains: "text_contains";
2756
+ overlay_dismissed: "overlay_dismissed";
2757
+ screenshot_stable: "screenshot_stable";
2758
+ any_change: "any_change";
2759
+ always: "always";
2760
+ }>;
2761
+ pattern: z.ZodOptional<z.ZodString>;
2762
+ selector: z.ZodOptional<z.ZodString>;
2763
+ text: z.ZodOptional<z.ZodString>;
2764
+ threshold: z.ZodOptional<z.ZodNumber>;
2765
+ waitMs: z.ZodOptional<z.ZodNumber>;
2766
+ }, z.core.$strip>;
2767
+ recovery: z.ZodObject<{
2768
+ retries: z.ZodNumber;
2769
+ useSelectorMemory: z.ZodBoolean;
2770
+ useAltInteraction: z.ZodBoolean;
2771
+ allowReload: z.ZodBoolean;
2772
+ allowHealer: z.ZodBoolean;
2773
+ }, z.core.$strip>;
2774
+ timeoutMs: z.ZodNumber;
2775
+ maxFailures: z.ZodNumber;
2776
+ kind: z.ZodLiteral<"INJECT_MOCK_DATA">;
2777
+ }, z.core.$strip>, z.ZodObject<{
2778
+ selector: z.ZodString;
2779
+ description: z.ZodString;
2780
+ postcondition: z.ZodObject<{
2781
+ type: z.ZodEnum<{
2782
+ route_matches: "route_matches";
2783
+ element_visible: "element_visible";
2784
+ element_absent: "element_absent";
2785
+ text_contains: "text_contains";
2786
+ overlay_dismissed: "overlay_dismissed";
2787
+ screenshot_stable: "screenshot_stable";
2788
+ any_change: "any_change";
2789
+ always: "always";
2790
+ }>;
2791
+ pattern: z.ZodOptional<z.ZodString>;
2792
+ selector: z.ZodOptional<z.ZodString>;
2793
+ text: z.ZodOptional<z.ZodString>;
2794
+ threshold: z.ZodOptional<z.ZodNumber>;
2795
+ waitMs: z.ZodOptional<z.ZodNumber>;
2796
+ }, z.core.$strip>;
2797
+ recovery: z.ZodObject<{
2798
+ retries: z.ZodNumber;
2799
+ useSelectorMemory: z.ZodBoolean;
2800
+ useAltInteraction: z.ZodBoolean;
2801
+ allowReload: z.ZodBoolean;
2802
+ allowHealer: z.ZodBoolean;
2803
+ }, z.core.$strip>;
2804
+ timeoutMs: z.ZodNumber;
2805
+ maxFailures: z.ZodNumber;
2806
+ kind: z.ZodLiteral<"REMOVE_ELEMENT">;
2807
+ }, z.core.$strip>, z.ZodObject<{
2808
+ selector: z.ZodString;
2809
+ attribute: z.ZodString;
2810
+ value: z.ZodString;
2811
+ description: z.ZodString;
2812
+ postcondition: z.ZodObject<{
2813
+ type: z.ZodEnum<{
2814
+ route_matches: "route_matches";
2815
+ element_visible: "element_visible";
2816
+ element_absent: "element_absent";
2817
+ text_contains: "text_contains";
2818
+ overlay_dismissed: "overlay_dismissed";
2819
+ screenshot_stable: "screenshot_stable";
2820
+ any_change: "any_change";
2821
+ always: "always";
2822
+ }>;
2823
+ pattern: z.ZodOptional<z.ZodString>;
2824
+ selector: z.ZodOptional<z.ZodString>;
2825
+ text: z.ZodOptional<z.ZodString>;
2826
+ threshold: z.ZodOptional<z.ZodNumber>;
2827
+ waitMs: z.ZodOptional<z.ZodNumber>;
2828
+ }, z.core.$strip>;
2829
+ recovery: z.ZodObject<{
2830
+ retries: z.ZodNumber;
2831
+ useSelectorMemory: z.ZodBoolean;
2832
+ useAltInteraction: z.ZodBoolean;
2833
+ allowReload: z.ZodBoolean;
2834
+ allowHealer: z.ZodBoolean;
2835
+ }, z.core.$strip>;
2836
+ timeoutMs: z.ZodNumber;
2837
+ maxFailures: z.ZodNumber;
2838
+ kind: z.ZodLiteral<"SET_ATTRIBUTE">;
2839
+ }, z.core.$strip>], "kind">;
2840
+ replacementOpcodes: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
2841
+ url: z.ZodString;
2842
+ description: z.ZodString;
2843
+ postcondition: z.ZodObject<{
2844
+ type: z.ZodEnum<{
2845
+ route_matches: "route_matches";
2846
+ element_visible: "element_visible";
2847
+ element_absent: "element_absent";
2848
+ text_contains: "text_contains";
2849
+ overlay_dismissed: "overlay_dismissed";
2850
+ screenshot_stable: "screenshot_stable";
2851
+ any_change: "any_change";
2852
+ always: "always";
2853
+ }>;
2854
+ pattern: z.ZodOptional<z.ZodString>;
2855
+ selector: z.ZodOptional<z.ZodString>;
2856
+ text: z.ZodOptional<z.ZodString>;
2857
+ threshold: z.ZodOptional<z.ZodNumber>;
2858
+ waitMs: z.ZodOptional<z.ZodNumber>;
2859
+ }, z.core.$strip>;
2860
+ recovery: z.ZodObject<{
2861
+ retries: z.ZodNumber;
2862
+ useSelectorMemory: z.ZodBoolean;
2863
+ useAltInteraction: z.ZodBoolean;
2864
+ allowReload: z.ZodBoolean;
2865
+ allowHealer: z.ZodBoolean;
2866
+ }, z.core.$strip>;
2867
+ timeoutMs: z.ZodNumber;
2868
+ maxFailures: z.ZodNumber;
2869
+ kind: z.ZodLiteral<"NAVIGATE">;
2870
+ }, z.core.$strip>, z.ZodObject<{
2871
+ description: z.ZodString;
2872
+ postcondition: z.ZodObject<{
2873
+ type: z.ZodEnum<{
2874
+ route_matches: "route_matches";
2875
+ element_visible: "element_visible";
2876
+ element_absent: "element_absent";
2877
+ text_contains: "text_contains";
2878
+ overlay_dismissed: "overlay_dismissed";
2879
+ screenshot_stable: "screenshot_stable";
2880
+ any_change: "any_change";
2881
+ always: "always";
2882
+ }>;
2883
+ pattern: z.ZodOptional<z.ZodString>;
2884
+ selector: z.ZodOptional<z.ZodString>;
2885
+ text: z.ZodOptional<z.ZodString>;
2886
+ threshold: z.ZodOptional<z.ZodNumber>;
2887
+ waitMs: z.ZodOptional<z.ZodNumber>;
2888
+ }, z.core.$strip>;
2889
+ recovery: z.ZodObject<{
2890
+ retries: z.ZodNumber;
2891
+ useSelectorMemory: z.ZodBoolean;
2892
+ useAltInteraction: z.ZodBoolean;
2893
+ allowReload: z.ZodBoolean;
2894
+ allowHealer: z.ZodBoolean;
2895
+ }, z.core.$strip>;
2896
+ timeoutMs: z.ZodNumber;
2897
+ maxFailures: z.ZodNumber;
2898
+ kind: z.ZodLiteral<"DISMISS_OVERLAYS">;
2899
+ }, z.core.$strip>, z.ZodObject<{
2900
+ urlPattern: z.ZodString;
2901
+ description: z.ZodString;
2902
+ postcondition: z.ZodObject<{
2903
+ type: z.ZodEnum<{
2904
+ route_matches: "route_matches";
2905
+ element_visible: "element_visible";
2906
+ element_absent: "element_absent";
2907
+ text_contains: "text_contains";
2908
+ overlay_dismissed: "overlay_dismissed";
2909
+ screenshot_stable: "screenshot_stable";
2910
+ any_change: "any_change";
2911
+ always: "always";
2912
+ }>;
2913
+ pattern: z.ZodOptional<z.ZodString>;
2914
+ selector: z.ZodOptional<z.ZodString>;
2915
+ text: z.ZodOptional<z.ZodString>;
2916
+ threshold: z.ZodOptional<z.ZodNumber>;
2917
+ waitMs: z.ZodOptional<z.ZodNumber>;
2918
+ }, z.core.$strip>;
2919
+ recovery: z.ZodObject<{
2920
+ retries: z.ZodNumber;
2921
+ useSelectorMemory: z.ZodBoolean;
2922
+ useAltInteraction: z.ZodBoolean;
2923
+ allowReload: z.ZodBoolean;
2924
+ allowHealer: z.ZodBoolean;
2925
+ }, z.core.$strip>;
2926
+ timeoutMs: z.ZodNumber;
2927
+ maxFailures: z.ZodNumber;
2928
+ kind: z.ZodLiteral<"ASSERT_ROUTE">;
2929
+ }, z.core.$strip>, z.ZodObject<{
2930
+ selectors: z.ZodArray<z.ZodString>;
2931
+ matchAll: z.ZodBoolean;
2932
+ description: z.ZodString;
2933
+ postcondition: z.ZodObject<{
2934
+ type: z.ZodEnum<{
2935
+ route_matches: "route_matches";
2936
+ element_visible: "element_visible";
2937
+ element_absent: "element_absent";
2938
+ text_contains: "text_contains";
2939
+ overlay_dismissed: "overlay_dismissed";
2940
+ screenshot_stable: "screenshot_stable";
2941
+ any_change: "any_change";
2942
+ always: "always";
2943
+ }>;
2944
+ pattern: z.ZodOptional<z.ZodString>;
2945
+ selector: z.ZodOptional<z.ZodString>;
2946
+ text: z.ZodOptional<z.ZodString>;
2947
+ threshold: z.ZodOptional<z.ZodNumber>;
2948
+ waitMs: z.ZodOptional<z.ZodNumber>;
2949
+ }, z.core.$strip>;
2950
+ recovery: z.ZodObject<{
2951
+ retries: z.ZodNumber;
2952
+ useSelectorMemory: z.ZodBoolean;
2953
+ useAltInteraction: z.ZodBoolean;
2954
+ allowReload: z.ZodBoolean;
2955
+ allowHealer: z.ZodBoolean;
2956
+ }, z.core.$strip>;
2957
+ timeoutMs: z.ZodNumber;
2958
+ maxFailures: z.ZodNumber;
2959
+ kind: z.ZodLiteral<"ASSERT_SURFACE">;
2960
+ }, z.core.$strip>, z.ZodObject<{
2961
+ selector: z.ZodString;
2962
+ target: z.ZodOptional<z.ZodObject<{
2963
+ text: z.ZodOptional<z.ZodString>;
2964
+ role: z.ZodOptional<z.ZodString>;
2965
+ label: z.ZodOptional<z.ZodString>;
2966
+ near: z.ZodOptional<z.ZodString>;
2967
+ placeholder: z.ZodOptional<z.ZodString>;
2968
+ exact: z.ZodOptional<z.ZodBoolean>;
2969
+ }, z.core.$strip>>;
2970
+ button: z.ZodOptional<z.ZodEnum<{
2971
+ right: "right";
2972
+ middle: "middle";
2973
+ }>>;
2974
+ fingerprint: z.ZodOptional<z.ZodString>;
2975
+ selectorAlternates: z.ZodOptional<z.ZodArray<z.ZodString>>;
2976
+ description: z.ZodString;
2977
+ postcondition: z.ZodObject<{
2978
+ type: z.ZodEnum<{
2979
+ route_matches: "route_matches";
2980
+ element_visible: "element_visible";
2981
+ element_absent: "element_absent";
2982
+ text_contains: "text_contains";
2983
+ overlay_dismissed: "overlay_dismissed";
2984
+ screenshot_stable: "screenshot_stable";
2985
+ any_change: "any_change";
2986
+ always: "always";
2987
+ }>;
2988
+ pattern: z.ZodOptional<z.ZodString>;
2989
+ selector: z.ZodOptional<z.ZodString>;
2990
+ text: z.ZodOptional<z.ZodString>;
2991
+ threshold: z.ZodOptional<z.ZodNumber>;
2992
+ waitMs: z.ZodOptional<z.ZodNumber>;
2993
+ }, z.core.$strip>;
2994
+ recovery: z.ZodObject<{
2995
+ retries: z.ZodNumber;
2996
+ useSelectorMemory: z.ZodBoolean;
2997
+ useAltInteraction: z.ZodBoolean;
2998
+ allowReload: z.ZodBoolean;
2999
+ allowHealer: z.ZodBoolean;
3000
+ }, z.core.$strip>;
3001
+ timeoutMs: z.ZodNumber;
3002
+ maxFailures: z.ZodNumber;
3003
+ kind: z.ZodLiteral<"CLICK">;
3004
+ }, z.core.$strip>, z.ZodObject<{
3005
+ selector: z.ZodString;
3006
+ target: z.ZodOptional<z.ZodObject<{
3007
+ text: z.ZodOptional<z.ZodString>;
3008
+ role: z.ZodOptional<z.ZodString>;
3009
+ label: z.ZodOptional<z.ZodString>;
3010
+ near: z.ZodOptional<z.ZodString>;
3011
+ placeholder: z.ZodOptional<z.ZodString>;
3012
+ exact: z.ZodOptional<z.ZodBoolean>;
3013
+ }, z.core.$strip>>;
3014
+ text: z.ZodString;
3015
+ textByLocale: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
3016
+ clearFirst: z.ZodBoolean;
3017
+ fingerprint: z.ZodOptional<z.ZodString>;
3018
+ selectorAlternates: z.ZodOptional<z.ZodArray<z.ZodString>>;
3019
+ description: z.ZodString;
3020
+ postcondition: z.ZodObject<{
3021
+ type: z.ZodEnum<{
3022
+ route_matches: "route_matches";
3023
+ element_visible: "element_visible";
3024
+ element_absent: "element_absent";
3025
+ text_contains: "text_contains";
3026
+ overlay_dismissed: "overlay_dismissed";
3027
+ screenshot_stable: "screenshot_stable";
3028
+ any_change: "any_change";
3029
+ always: "always";
3030
+ }>;
3031
+ pattern: z.ZodOptional<z.ZodString>;
3032
+ selector: z.ZodOptional<z.ZodString>;
3033
+ text: z.ZodOptional<z.ZodString>;
3034
+ threshold: z.ZodOptional<z.ZodNumber>;
3035
+ waitMs: z.ZodOptional<z.ZodNumber>;
3036
+ }, z.core.$strip>;
3037
+ recovery: z.ZodObject<{
3038
+ retries: z.ZodNumber;
3039
+ useSelectorMemory: z.ZodBoolean;
3040
+ useAltInteraction: z.ZodBoolean;
3041
+ allowReload: z.ZodBoolean;
3042
+ allowHealer: z.ZodBoolean;
3043
+ }, z.core.$strip>;
3044
+ timeoutMs: z.ZodNumber;
3045
+ maxFailures: z.ZodNumber;
3046
+ kind: z.ZodLiteral<"TYPE">;
3047
+ }, z.core.$strip>, z.ZodObject<{
3048
+ key: z.ZodString;
3049
+ description: z.ZodString;
3050
+ postcondition: z.ZodObject<{
3051
+ type: z.ZodEnum<{
3052
+ route_matches: "route_matches";
3053
+ element_visible: "element_visible";
3054
+ element_absent: "element_absent";
3055
+ text_contains: "text_contains";
3056
+ overlay_dismissed: "overlay_dismissed";
3057
+ screenshot_stable: "screenshot_stable";
3058
+ any_change: "any_change";
3059
+ always: "always";
3060
+ }>;
3061
+ pattern: z.ZodOptional<z.ZodString>;
3062
+ selector: z.ZodOptional<z.ZodString>;
3063
+ text: z.ZodOptional<z.ZodString>;
3064
+ threshold: z.ZodOptional<z.ZodNumber>;
3065
+ waitMs: z.ZodOptional<z.ZodNumber>;
3066
+ }, z.core.$strip>;
3067
+ recovery: z.ZodObject<{
3068
+ retries: z.ZodNumber;
3069
+ useSelectorMemory: z.ZodBoolean;
3070
+ useAltInteraction: z.ZodBoolean;
3071
+ allowReload: z.ZodBoolean;
3072
+ allowHealer: z.ZodBoolean;
3073
+ }, z.core.$strip>;
3074
+ timeoutMs: z.ZodNumber;
3075
+ maxFailures: z.ZodNumber;
3076
+ kind: z.ZodLiteral<"PRESS_KEY">;
3077
+ }, z.core.$strip>, z.ZodObject<{
3078
+ selector: z.ZodOptional<z.ZodString>;
3079
+ target: z.ZodOptional<z.ZodObject<{
3080
+ text: z.ZodOptional<z.ZodString>;
3081
+ role: z.ZodOptional<z.ZodString>;
3082
+ label: z.ZodOptional<z.ZodString>;
3083
+ near: z.ZodOptional<z.ZodString>;
3084
+ placeholder: z.ZodOptional<z.ZodString>;
3085
+ exact: z.ZodOptional<z.ZodBoolean>;
3086
+ }, z.core.$strip>>;
3087
+ state: z.ZodEnum<{
3088
+ visible: "visible";
3089
+ attached: "attached";
3090
+ }>;
3091
+ description: z.ZodString;
3092
+ postcondition: z.ZodObject<{
3093
+ type: z.ZodEnum<{
3094
+ route_matches: "route_matches";
3095
+ element_visible: "element_visible";
3096
+ element_absent: "element_absent";
3097
+ text_contains: "text_contains";
3098
+ overlay_dismissed: "overlay_dismissed";
3099
+ screenshot_stable: "screenshot_stable";
3100
+ any_change: "any_change";
3101
+ always: "always";
3102
+ }>;
3103
+ pattern: z.ZodOptional<z.ZodString>;
3104
+ selector: z.ZodOptional<z.ZodString>;
3105
+ text: z.ZodOptional<z.ZodString>;
3106
+ threshold: z.ZodOptional<z.ZodNumber>;
3107
+ waitMs: z.ZodOptional<z.ZodNumber>;
3108
+ }, z.core.$strip>;
3109
+ recovery: z.ZodObject<{
3110
+ retries: z.ZodNumber;
3111
+ useSelectorMemory: z.ZodBoolean;
3112
+ useAltInteraction: z.ZodBoolean;
3113
+ allowReload: z.ZodBoolean;
3114
+ allowHealer: z.ZodBoolean;
3115
+ }, z.core.$strip>;
3116
+ timeoutMs: z.ZodNumber;
3117
+ maxFailures: z.ZodNumber;
3118
+ kind: z.ZodLiteral<"WAIT_FOR">;
3119
+ }, z.core.$strip>, z.ZodObject<{
3120
+ locale: z.ZodString;
3121
+ method: z.ZodEnum<{
3122
+ browser_context: "browser_context";
3123
+ ui_interaction: "ui_interaction";
3124
+ storage: "storage";
3125
+ }>;
3126
+ selector: z.ZodOptional<z.ZodString>;
3127
+ storageHints: z.ZodOptional<z.ZodArray<z.ZodObject<{
3128
+ storage: z.ZodEnum<{
3129
+ localStorage: "localStorage";
3130
+ sessionStorage: "sessionStorage";
3131
+ cookie: "cookie";
3132
+ }>;
3133
+ key: z.ZodString;
3134
+ value: z.ZodString;
3135
+ }, z.core.$strip>>>;
3136
+ description: z.ZodString;
3137
+ postcondition: z.ZodObject<{
3138
+ type: z.ZodEnum<{
3139
+ route_matches: "route_matches";
3140
+ element_visible: "element_visible";
3141
+ element_absent: "element_absent";
3142
+ text_contains: "text_contains";
3143
+ overlay_dismissed: "overlay_dismissed";
3144
+ screenshot_stable: "screenshot_stable";
3145
+ any_change: "any_change";
3146
+ always: "always";
3147
+ }>;
3148
+ pattern: z.ZodOptional<z.ZodString>;
3149
+ selector: z.ZodOptional<z.ZodString>;
3150
+ text: z.ZodOptional<z.ZodString>;
3151
+ threshold: z.ZodOptional<z.ZodNumber>;
3152
+ waitMs: z.ZodOptional<z.ZodNumber>;
3153
+ }, z.core.$strip>;
3154
+ recovery: z.ZodObject<{
3155
+ retries: z.ZodNumber;
3156
+ useSelectorMemory: z.ZodBoolean;
3157
+ useAltInteraction: z.ZodBoolean;
3158
+ allowReload: z.ZodBoolean;
3159
+ allowHealer: z.ZodBoolean;
3160
+ }, z.core.$strip>;
3161
+ timeoutMs: z.ZodNumber;
3162
+ maxFailures: z.ZodNumber;
3163
+ kind: z.ZodLiteral<"SET_LOCALE">;
3164
+ }, z.core.$strip>, z.ZodObject<{
3165
+ theme: z.ZodEnum<{
3166
+ light: "light";
3167
+ dark: "dark";
3168
+ $variant: "$variant";
3169
+ }>;
3170
+ method: z.ZodEnum<{
3171
+ ui_interaction: "ui_interaction";
3172
+ storage: "storage";
3173
+ color_scheme: "color_scheme";
3174
+ }>;
3175
+ selector: z.ZodOptional<z.ZodString>;
3176
+ storageHints: z.ZodOptional<z.ZodArray<z.ZodObject<{
3177
+ storage: z.ZodEnum<{
3178
+ localStorage: "localStorage";
3179
+ sessionStorage: "sessionStorage";
3180
+ cookie: "cookie";
3181
+ }>;
3182
+ key: z.ZodString;
3183
+ value: z.ZodString;
3184
+ }, z.core.$strip>>>;
3185
+ description: z.ZodString;
3186
+ postcondition: z.ZodObject<{
3187
+ type: z.ZodEnum<{
3188
+ route_matches: "route_matches";
3189
+ element_visible: "element_visible";
3190
+ element_absent: "element_absent";
3191
+ text_contains: "text_contains";
3192
+ overlay_dismissed: "overlay_dismissed";
3193
+ screenshot_stable: "screenshot_stable";
3194
+ any_change: "any_change";
3195
+ always: "always";
3196
+ }>;
3197
+ pattern: z.ZodOptional<z.ZodString>;
3198
+ selector: z.ZodOptional<z.ZodString>;
3199
+ text: z.ZodOptional<z.ZodString>;
3200
+ threshold: z.ZodOptional<z.ZodNumber>;
3201
+ waitMs: z.ZodOptional<z.ZodNumber>;
3202
+ }, z.core.$strip>;
3203
+ recovery: z.ZodObject<{
3204
+ retries: z.ZodNumber;
3205
+ useSelectorMemory: z.ZodBoolean;
3206
+ useAltInteraction: z.ZodBoolean;
3207
+ allowReload: z.ZodBoolean;
3208
+ allowHealer: z.ZodBoolean;
3209
+ }, z.core.$strip>;
3210
+ timeoutMs: z.ZodNumber;
3211
+ maxFailures: z.ZodNumber;
3212
+ kind: z.ZodLiteral<"SET_THEME">;
3213
+ }, z.core.$strip>, z.ZodObject<{
3214
+ direction: z.ZodEnum<{
3215
+ up: "up";
3216
+ down: "down";
3217
+ left: "left";
3218
+ right: "right";
3219
+ }>;
3220
+ amount: z.ZodOptional<z.ZodNumber>;
3221
+ targetSelector: z.ZodOptional<z.ZodString>;
3222
+ target: z.ZodOptional<z.ZodObject<{
3223
+ text: z.ZodOptional<z.ZodString>;
3224
+ role: z.ZodOptional<z.ZodString>;
3225
+ label: z.ZodOptional<z.ZodString>;
3226
+ near: z.ZodOptional<z.ZodString>;
3227
+ placeholder: z.ZodOptional<z.ZodString>;
3228
+ exact: z.ZodOptional<z.ZodBoolean>;
3229
+ }, z.core.$strip>>;
3230
+ description: z.ZodString;
3231
+ postcondition: z.ZodObject<{
3232
+ type: z.ZodEnum<{
3233
+ route_matches: "route_matches";
3234
+ element_visible: "element_visible";
3235
+ element_absent: "element_absent";
3236
+ text_contains: "text_contains";
3237
+ overlay_dismissed: "overlay_dismissed";
3238
+ screenshot_stable: "screenshot_stable";
3239
+ any_change: "any_change";
3240
+ always: "always";
3241
+ }>;
3242
+ pattern: z.ZodOptional<z.ZodString>;
3243
+ selector: z.ZodOptional<z.ZodString>;
3244
+ text: z.ZodOptional<z.ZodString>;
3245
+ threshold: z.ZodOptional<z.ZodNumber>;
3246
+ waitMs: z.ZodOptional<z.ZodNumber>;
3247
+ }, z.core.$strip>;
3248
+ recovery: z.ZodObject<{
3249
+ retries: z.ZodNumber;
3250
+ useSelectorMemory: z.ZodBoolean;
3251
+ useAltInteraction: z.ZodBoolean;
3252
+ allowReload: z.ZodBoolean;
3253
+ allowHealer: z.ZodBoolean;
3254
+ }, z.core.$strip>;
3255
+ timeoutMs: z.ZodNumber;
3256
+ maxFailures: z.ZodNumber;
3257
+ kind: z.ZodLiteral<"SCROLL">;
3258
+ }, z.core.$strip>, z.ZodObject<{
3259
+ captureId: z.ZodOptional<z.ZodString>;
3260
+ captureName: z.ZodOptional<z.ZodString>;
3261
+ elementSelector: z.ZodOptional<z.ZodString>;
3262
+ description: z.ZodString;
3263
+ postcondition: z.ZodObject<{
3264
+ type: z.ZodEnum<{
3265
+ route_matches: "route_matches";
3266
+ element_visible: "element_visible";
3267
+ element_absent: "element_absent";
3268
+ text_contains: "text_contains";
3269
+ overlay_dismissed: "overlay_dismissed";
3270
+ screenshot_stable: "screenshot_stable";
3271
+ any_change: "any_change";
3272
+ always: "always";
3273
+ }>;
3274
+ pattern: z.ZodOptional<z.ZodString>;
3275
+ selector: z.ZodOptional<z.ZodString>;
3276
+ text: z.ZodOptional<z.ZodString>;
3277
+ threshold: z.ZodOptional<z.ZodNumber>;
3278
+ waitMs: z.ZodOptional<z.ZodNumber>;
3279
+ }, z.core.$strip>;
3280
+ recovery: z.ZodObject<{
3281
+ retries: z.ZodNumber;
3282
+ useSelectorMemory: z.ZodBoolean;
3283
+ useAltInteraction: z.ZodBoolean;
3284
+ allowReload: z.ZodBoolean;
3285
+ allowHealer: z.ZodBoolean;
3286
+ }, z.core.$strip>;
3287
+ timeoutMs: z.ZodNumber;
3288
+ maxFailures: z.ZodNumber;
3289
+ kind: z.ZodLiteral<"CAPTURE_SCREENSHOT">;
3290
+ }, z.core.$strip>, z.ZodObject<{
3291
+ stateName: z.ZodString;
3292
+ selector: z.ZodOptional<z.ZodString>;
3293
+ description: z.ZodString;
3294
+ postcondition: z.ZodObject<{
3295
+ type: z.ZodEnum<{
3296
+ route_matches: "route_matches";
3297
+ element_visible: "element_visible";
3298
+ element_absent: "element_absent";
3299
+ text_contains: "text_contains";
3300
+ overlay_dismissed: "overlay_dismissed";
3301
+ screenshot_stable: "screenshot_stable";
3302
+ any_change: "any_change";
3303
+ always: "always";
3304
+ }>;
3305
+ pattern: z.ZodOptional<z.ZodString>;
3306
+ selector: z.ZodOptional<z.ZodString>;
3307
+ text: z.ZodOptional<z.ZodString>;
3308
+ threshold: z.ZodOptional<z.ZodNumber>;
3309
+ waitMs: z.ZodOptional<z.ZodNumber>;
3310
+ }, z.core.$strip>;
3311
+ recovery: z.ZodObject<{
3312
+ retries: z.ZodNumber;
3313
+ useSelectorMemory: z.ZodBoolean;
3314
+ useAltInteraction: z.ZodBoolean;
3315
+ allowReload: z.ZodBoolean;
3316
+ allowHealer: z.ZodBoolean;
3317
+ }, z.core.$strip>;
3318
+ timeoutMs: z.ZodNumber;
3319
+ maxFailures: z.ZodNumber;
3320
+ kind: z.ZodLiteral<"CAPTURE_DOM">;
3321
+ }, z.core.$strip>, z.ZodObject<{
3322
+ fragmentName: z.ZodString;
3323
+ variantName: z.ZodOptional<z.ZodString>;
3324
+ parentState: z.ZodString;
3325
+ selector: z.ZodString;
3326
+ triggerSelector: z.ZodOptional<z.ZodString>;
3327
+ mountStrategy: z.ZodOptional<z.ZodString>;
3328
+ mountTargetSelector: z.ZodOptional<z.ZodString>;
3329
+ description: z.ZodString;
3330
+ postcondition: z.ZodObject<{
3331
+ type: z.ZodEnum<{
3332
+ route_matches: "route_matches";
3333
+ element_visible: "element_visible";
3334
+ element_absent: "element_absent";
3335
+ text_contains: "text_contains";
3336
+ overlay_dismissed: "overlay_dismissed";
3337
+ screenshot_stable: "screenshot_stable";
3338
+ any_change: "any_change";
3339
+ always: "always";
3340
+ }>;
3341
+ pattern: z.ZodOptional<z.ZodString>;
3342
+ selector: z.ZodOptional<z.ZodString>;
3343
+ text: z.ZodOptional<z.ZodString>;
3344
+ threshold: z.ZodOptional<z.ZodNumber>;
3345
+ waitMs: z.ZodOptional<z.ZodNumber>;
3346
+ }, z.core.$strip>;
3347
+ recovery: z.ZodObject<{
3348
+ retries: z.ZodNumber;
3349
+ useSelectorMemory: z.ZodBoolean;
3350
+ useAltInteraction: z.ZodBoolean;
3351
+ allowReload: z.ZodBoolean;
3352
+ allowHealer: z.ZodBoolean;
3353
+ }, z.core.$strip>;
3354
+ timeoutMs: z.ZodNumber;
3355
+ maxFailures: z.ZodNumber;
3356
+ kind: z.ZodLiteral<"CAPTURE_FRAGMENT">;
3357
+ }, z.core.$strip>, z.ZodObject<{
3358
+ clipId: z.ZodOptional<z.ZodString>;
3359
+ clipName: z.ZodOptional<z.ZodString>;
3360
+ description: z.ZodString;
3361
+ postcondition: z.ZodObject<{
3362
+ type: z.ZodEnum<{
3363
+ route_matches: "route_matches";
3364
+ element_visible: "element_visible";
3365
+ element_absent: "element_absent";
3366
+ text_contains: "text_contains";
3367
+ overlay_dismissed: "overlay_dismissed";
3368
+ screenshot_stable: "screenshot_stable";
3369
+ any_change: "any_change";
3370
+ always: "always";
3371
+ }>;
3372
+ pattern: z.ZodOptional<z.ZodString>;
3373
+ selector: z.ZodOptional<z.ZodString>;
3374
+ text: z.ZodOptional<z.ZodString>;
3375
+ threshold: z.ZodOptional<z.ZodNumber>;
3376
+ waitMs: z.ZodOptional<z.ZodNumber>;
3377
+ }, z.core.$strip>;
3378
+ recovery: z.ZodObject<{
3379
+ retries: z.ZodNumber;
3380
+ useSelectorMemory: z.ZodBoolean;
3381
+ useAltInteraction: z.ZodBoolean;
3382
+ allowReload: z.ZodBoolean;
3383
+ allowHealer: z.ZodBoolean;
3384
+ }, z.core.$strip>;
3385
+ timeoutMs: z.ZodNumber;
3386
+ maxFailures: z.ZodNumber;
3387
+ kind: z.ZodLiteral<"BEGIN_CLIP">;
3388
+ }, z.core.$strip>, z.ZodObject<{
3389
+ clipId: z.ZodOptional<z.ZodString>;
3390
+ clipName: z.ZodOptional<z.ZodString>;
3391
+ description: z.ZodString;
3392
+ postcondition: z.ZodObject<{
3393
+ type: z.ZodEnum<{
3394
+ route_matches: "route_matches";
3395
+ element_visible: "element_visible";
3396
+ element_absent: "element_absent";
3397
+ text_contains: "text_contains";
3398
+ overlay_dismissed: "overlay_dismissed";
3399
+ screenshot_stable: "screenshot_stable";
3400
+ any_change: "any_change";
3401
+ always: "always";
3402
+ }>;
3403
+ pattern: z.ZodOptional<z.ZodString>;
3404
+ selector: z.ZodOptional<z.ZodString>;
3405
+ text: z.ZodOptional<z.ZodString>;
3406
+ threshold: z.ZodOptional<z.ZodNumber>;
3407
+ waitMs: z.ZodOptional<z.ZodNumber>;
3408
+ }, z.core.$strip>;
3409
+ recovery: z.ZodObject<{
3410
+ retries: z.ZodNumber;
3411
+ useSelectorMemory: z.ZodBoolean;
3412
+ useAltInteraction: z.ZodBoolean;
3413
+ allowReload: z.ZodBoolean;
3414
+ allowHealer: z.ZodBoolean;
3415
+ }, z.core.$strip>;
3416
+ timeoutMs: z.ZodNumber;
3417
+ maxFailures: z.ZodNumber;
3418
+ kind: z.ZodLiteral<"END_CLIP">;
3419
+ }, z.core.$strip>, z.ZodObject<{
3420
+ selector: z.ZodString;
3421
+ target: z.ZodOptional<z.ZodObject<{
3422
+ text: z.ZodOptional<z.ZodString>;
3423
+ role: z.ZodOptional<z.ZodString>;
3424
+ label: z.ZodOptional<z.ZodString>;
3425
+ near: z.ZodOptional<z.ZodString>;
3426
+ placeholder: z.ZodOptional<z.ZodString>;
3427
+ exact: z.ZodOptional<z.ZodBoolean>;
3428
+ }, z.core.$strip>>;
3429
+ fingerprint: z.ZodOptional<z.ZodString>;
3430
+ selectorAlternates: z.ZodOptional<z.ZodArray<z.ZodString>>;
3431
+ description: z.ZodString;
3432
+ postcondition: z.ZodObject<{
3433
+ type: z.ZodEnum<{
3434
+ route_matches: "route_matches";
3435
+ element_visible: "element_visible";
3436
+ element_absent: "element_absent";
3437
+ text_contains: "text_contains";
3438
+ overlay_dismissed: "overlay_dismissed";
3439
+ screenshot_stable: "screenshot_stable";
3440
+ any_change: "any_change";
3441
+ always: "always";
3442
+ }>;
3443
+ pattern: z.ZodOptional<z.ZodString>;
3444
+ selector: z.ZodOptional<z.ZodString>;
3445
+ text: z.ZodOptional<z.ZodString>;
3446
+ threshold: z.ZodOptional<z.ZodNumber>;
3447
+ waitMs: z.ZodOptional<z.ZodNumber>;
3448
+ }, z.core.$strip>;
3449
+ recovery: z.ZodObject<{
3450
+ retries: z.ZodNumber;
3451
+ useSelectorMemory: z.ZodBoolean;
3452
+ useAltInteraction: z.ZodBoolean;
3453
+ allowReload: z.ZodBoolean;
3454
+ allowHealer: z.ZodBoolean;
3455
+ }, z.core.$strip>;
3456
+ timeoutMs: z.ZodNumber;
3457
+ maxFailures: z.ZodNumber;
3458
+ kind: z.ZodLiteral<"HOVER">;
3459
+ }, z.core.$strip>, z.ZodObject<{
3460
+ selector: z.ZodString;
3461
+ target: z.ZodOptional<z.ZodObject<{
3462
+ text: z.ZodOptional<z.ZodString>;
3463
+ role: z.ZodOptional<z.ZodString>;
3464
+ label: z.ZodOptional<z.ZodString>;
3465
+ near: z.ZodOptional<z.ZodString>;
3466
+ placeholder: z.ZodOptional<z.ZodString>;
3467
+ exact: z.ZodOptional<z.ZodBoolean>;
3468
+ }, z.core.$strip>>;
3469
+ optionLabel: z.ZodOptional<z.ZodString>;
3470
+ optionValue: z.ZodOptional<z.ZodString>;
3471
+ optionIndex: z.ZodOptional<z.ZodNumber>;
3472
+ fingerprint: z.ZodOptional<z.ZodString>;
3473
+ selectorAlternates: z.ZodOptional<z.ZodArray<z.ZodString>>;
3474
+ description: z.ZodString;
3475
+ postcondition: z.ZodObject<{
3476
+ type: z.ZodEnum<{
3477
+ route_matches: "route_matches";
3478
+ element_visible: "element_visible";
3479
+ element_absent: "element_absent";
3480
+ text_contains: "text_contains";
3481
+ overlay_dismissed: "overlay_dismissed";
3482
+ screenshot_stable: "screenshot_stable";
3483
+ any_change: "any_change";
3484
+ always: "always";
3485
+ }>;
3486
+ pattern: z.ZodOptional<z.ZodString>;
3487
+ selector: z.ZodOptional<z.ZodString>;
3488
+ text: z.ZodOptional<z.ZodString>;
3489
+ threshold: z.ZodOptional<z.ZodNumber>;
3490
+ waitMs: z.ZodOptional<z.ZodNumber>;
3491
+ }, z.core.$strip>;
3492
+ recovery: z.ZodObject<{
3493
+ retries: z.ZodNumber;
3494
+ useSelectorMemory: z.ZodBoolean;
3495
+ useAltInteraction: z.ZodBoolean;
3496
+ allowReload: z.ZodBoolean;
3497
+ allowHealer: z.ZodBoolean;
3498
+ }, z.core.$strip>;
3499
+ timeoutMs: z.ZodNumber;
3500
+ maxFailures: z.ZodNumber;
3501
+ kind: z.ZodLiteral<"SELECT_OPTION">;
3502
+ }, z.core.$strip>, z.ZodObject<{
3503
+ selector: z.ZodString;
3504
+ target: z.ZodOptional<z.ZodObject<{
3505
+ text: z.ZodOptional<z.ZodString>;
3506
+ role: z.ZodOptional<z.ZodString>;
3507
+ label: z.ZodOptional<z.ZodString>;
3508
+ near: z.ZodOptional<z.ZodString>;
3509
+ placeholder: z.ZodOptional<z.ZodString>;
3510
+ exact: z.ZodOptional<z.ZodBoolean>;
3511
+ }, z.core.$strip>>;
3512
+ checked: z.ZodBoolean;
3513
+ fingerprint: z.ZodOptional<z.ZodString>;
3514
+ selectorAlternates: z.ZodOptional<z.ZodArray<z.ZodString>>;
3515
+ description: z.ZodString;
3516
+ postcondition: z.ZodObject<{
3517
+ type: z.ZodEnum<{
3518
+ route_matches: "route_matches";
3519
+ element_visible: "element_visible";
3520
+ element_absent: "element_absent";
3521
+ text_contains: "text_contains";
3522
+ overlay_dismissed: "overlay_dismissed";
3523
+ screenshot_stable: "screenshot_stable";
3524
+ any_change: "any_change";
3525
+ always: "always";
3526
+ }>;
3527
+ pattern: z.ZodOptional<z.ZodString>;
3528
+ selector: z.ZodOptional<z.ZodString>;
3529
+ text: z.ZodOptional<z.ZodString>;
3530
+ threshold: z.ZodOptional<z.ZodNumber>;
3531
+ waitMs: z.ZodOptional<z.ZodNumber>;
3532
+ }, z.core.$strip>;
3533
+ recovery: z.ZodObject<{
3534
+ retries: z.ZodNumber;
3535
+ useSelectorMemory: z.ZodBoolean;
3536
+ useAltInteraction: z.ZodBoolean;
3537
+ allowReload: z.ZodBoolean;
3538
+ allowHealer: z.ZodBoolean;
3539
+ }, z.core.$strip>;
3540
+ timeoutMs: z.ZodNumber;
3541
+ maxFailures: z.ZodNumber;
3542
+ kind: z.ZodLiteral<"CHECK">;
3543
+ }, z.core.$strip>, z.ZodObject<{
3544
+ selector: z.ZodString;
3545
+ target: z.ZodOptional<z.ZodObject<{
3546
+ text: z.ZodOptional<z.ZodString>;
3547
+ role: z.ZodOptional<z.ZodString>;
3548
+ label: z.ZodOptional<z.ZodString>;
3549
+ near: z.ZodOptional<z.ZodString>;
3550
+ placeholder: z.ZodOptional<z.ZodString>;
3551
+ exact: z.ZodOptional<z.ZodBoolean>;
3552
+ }, z.core.$strip>>;
3553
+ fingerprint: z.ZodOptional<z.ZodString>;
3554
+ selectorAlternates: z.ZodOptional<z.ZodArray<z.ZodString>>;
3555
+ description: z.ZodString;
3556
+ postcondition: z.ZodObject<{
3557
+ type: z.ZodEnum<{
3558
+ route_matches: "route_matches";
3559
+ element_visible: "element_visible";
3560
+ element_absent: "element_absent";
3561
+ text_contains: "text_contains";
3562
+ overlay_dismissed: "overlay_dismissed";
3563
+ screenshot_stable: "screenshot_stable";
3564
+ any_change: "any_change";
3565
+ always: "always";
3566
+ }>;
3567
+ pattern: z.ZodOptional<z.ZodString>;
3568
+ selector: z.ZodOptional<z.ZodString>;
3569
+ text: z.ZodOptional<z.ZodString>;
3570
+ threshold: z.ZodOptional<z.ZodNumber>;
3571
+ waitMs: z.ZodOptional<z.ZodNumber>;
3572
+ }, z.core.$strip>;
3573
+ recovery: z.ZodObject<{
3574
+ retries: z.ZodNumber;
3575
+ useSelectorMemory: z.ZodBoolean;
3576
+ useAltInteraction: z.ZodBoolean;
3577
+ allowReload: z.ZodBoolean;
3578
+ allowHealer: z.ZodBoolean;
3579
+ }, z.core.$strip>;
3580
+ timeoutMs: z.ZodNumber;
3581
+ maxFailures: z.ZodNumber;
3582
+ kind: z.ZodLiteral<"DOUBLE_CLICK">;
3583
+ }, z.core.$strip>, z.ZodObject<{
3584
+ sourceSelector: z.ZodString;
3585
+ containerSelector: z.ZodString;
3586
+ count: z.ZodNumber;
3587
+ removeSource: z.ZodOptional<z.ZodBoolean>;
3588
+ description: z.ZodString;
3589
+ postcondition: z.ZodObject<{
3590
+ type: z.ZodEnum<{
3591
+ route_matches: "route_matches";
3592
+ element_visible: "element_visible";
3593
+ element_absent: "element_absent";
3594
+ text_contains: "text_contains";
3595
+ overlay_dismissed: "overlay_dismissed";
3596
+ screenshot_stable: "screenshot_stable";
3597
+ any_change: "any_change";
3598
+ always: "always";
3599
+ }>;
3600
+ pattern: z.ZodOptional<z.ZodString>;
3601
+ selector: z.ZodOptional<z.ZodString>;
3602
+ text: z.ZodOptional<z.ZodString>;
3603
+ threshold: z.ZodOptional<z.ZodNumber>;
3604
+ waitMs: z.ZodOptional<z.ZodNumber>;
3605
+ }, z.core.$strip>;
3606
+ recovery: z.ZodObject<{
3607
+ retries: z.ZodNumber;
3608
+ useSelectorMemory: z.ZodBoolean;
3609
+ useAltInteraction: z.ZodBoolean;
3610
+ allowReload: z.ZodBoolean;
3611
+ allowHealer: z.ZodBoolean;
3612
+ }, z.core.$strip>;
3613
+ timeoutMs: z.ZodNumber;
3614
+ maxFailures: z.ZodNumber;
3615
+ kind: z.ZodLiteral<"CLONE_ELEMENT">;
3616
+ }, z.core.$strip>, z.ZodObject<{
3617
+ groupName: z.ZodString;
3618
+ containerSelector: z.ZodOptional<z.ZodString>;
3619
+ templateSelector: z.ZodOptional<z.ZodString>;
3620
+ count: z.ZodOptional<z.ZodNumber>;
3621
+ removeTemplate: z.ZodOptional<z.ZodBoolean>;
3622
+ slotMappings: z.ZodOptional<z.ZodArray<z.ZodObject<{
3623
+ slot: z.ZodString;
3624
+ selector: z.ZodString;
3625
+ attribute: z.ZodOptional<z.ZodString>;
3626
+ }, z.core.$strip>>>;
3627
+ inputSelector: z.ZodOptional<z.ZodString>;
3628
+ triggerSelector: z.ZodOptional<z.ZodString>;
3629
+ description: z.ZodString;
3630
+ postcondition: z.ZodObject<{
3631
+ type: z.ZodEnum<{
3632
+ route_matches: "route_matches";
3633
+ element_visible: "element_visible";
3634
+ element_absent: "element_absent";
3635
+ text_contains: "text_contains";
3636
+ overlay_dismissed: "overlay_dismissed";
3637
+ screenshot_stable: "screenshot_stable";
3638
+ any_change: "any_change";
3639
+ always: "always";
3640
+ }>;
3641
+ pattern: z.ZodOptional<z.ZodString>;
3642
+ selector: z.ZodOptional<z.ZodString>;
3643
+ text: z.ZodOptional<z.ZodString>;
3644
+ threshold: z.ZodOptional<z.ZodNumber>;
3645
+ waitMs: z.ZodOptional<z.ZodNumber>;
3646
+ }, z.core.$strip>;
3647
+ recovery: z.ZodObject<{
3648
+ retries: z.ZodNumber;
3649
+ useSelectorMemory: z.ZodBoolean;
3650
+ useAltInteraction: z.ZodBoolean;
3651
+ allowReload: z.ZodBoolean;
3652
+ allowHealer: z.ZodBoolean;
3653
+ }, z.core.$strip>;
3654
+ timeoutMs: z.ZodNumber;
3655
+ maxFailures: z.ZodNumber;
3656
+ kind: z.ZodLiteral<"INJECT_MOCK_DATA">;
3657
+ }, z.core.$strip>, z.ZodObject<{
3658
+ selector: z.ZodString;
3659
+ description: z.ZodString;
3660
+ postcondition: z.ZodObject<{
3661
+ type: z.ZodEnum<{
3662
+ route_matches: "route_matches";
3663
+ element_visible: "element_visible";
3664
+ element_absent: "element_absent";
3665
+ text_contains: "text_contains";
3666
+ overlay_dismissed: "overlay_dismissed";
3667
+ screenshot_stable: "screenshot_stable";
3668
+ any_change: "any_change";
3669
+ always: "always";
3670
+ }>;
3671
+ pattern: z.ZodOptional<z.ZodString>;
3672
+ selector: z.ZodOptional<z.ZodString>;
3673
+ text: z.ZodOptional<z.ZodString>;
3674
+ threshold: z.ZodOptional<z.ZodNumber>;
3675
+ waitMs: z.ZodOptional<z.ZodNumber>;
3676
+ }, z.core.$strip>;
3677
+ recovery: z.ZodObject<{
3678
+ retries: z.ZodNumber;
3679
+ useSelectorMemory: z.ZodBoolean;
3680
+ useAltInteraction: z.ZodBoolean;
3681
+ allowReload: z.ZodBoolean;
3682
+ allowHealer: z.ZodBoolean;
3683
+ }, z.core.$strip>;
3684
+ timeoutMs: z.ZodNumber;
3685
+ maxFailures: z.ZodNumber;
3686
+ kind: z.ZodLiteral<"REMOVE_ELEMENT">;
3687
+ }, z.core.$strip>, z.ZodObject<{
3688
+ selector: z.ZodString;
3689
+ attribute: z.ZodString;
3690
+ value: z.ZodString;
3691
+ description: z.ZodString;
3692
+ postcondition: z.ZodObject<{
3693
+ type: z.ZodEnum<{
3694
+ route_matches: "route_matches";
3695
+ element_visible: "element_visible";
3696
+ element_absent: "element_absent";
3697
+ text_contains: "text_contains";
3698
+ overlay_dismissed: "overlay_dismissed";
3699
+ screenshot_stable: "screenshot_stable";
3700
+ any_change: "any_change";
3701
+ always: "always";
3702
+ }>;
3703
+ pattern: z.ZodOptional<z.ZodString>;
3704
+ selector: z.ZodOptional<z.ZodString>;
3705
+ text: z.ZodOptional<z.ZodString>;
3706
+ threshold: z.ZodOptional<z.ZodNumber>;
3707
+ waitMs: z.ZodOptional<z.ZodNumber>;
3708
+ }, z.core.$strip>;
3709
+ recovery: z.ZodObject<{
3710
+ retries: z.ZodNumber;
3711
+ useSelectorMemory: z.ZodBoolean;
3712
+ useAltInteraction: z.ZodBoolean;
3713
+ allowReload: z.ZodBoolean;
3714
+ allowHealer: z.ZodBoolean;
3715
+ }, z.core.$strip>;
3716
+ timeoutMs: z.ZodNumber;
3717
+ maxFailures: z.ZodNumber;
3718
+ kind: z.ZodLiteral<"SET_ATTRIBUTE">;
3719
+ }, z.core.$strip>], "kind">>;
3720
+ reason: z.ZodString;
3721
+ patchedAt: z.ZodString;
3722
+ }, z.core.$strip>;
3723
+ export declare function parseProgram(data: unknown): ExecutionProgram;
3724
+ export declare function parseOpcode(data: unknown): ExecutionOpcode;
3725
+ export declare function safeParseProgramResult(data: unknown): z.ZodSafeParseResult<{
3726
+ presetId: string;
3727
+ programVersion: number;
3728
+ mediaMode: "clip" | "screenshot" | "dom";
3729
+ baseUrl: string;
3730
+ variants: {
3731
+ id: string;
3732
+ viewport: {
3733
+ width: number;
3734
+ height: number;
3735
+ };
3736
+ deviceScaleFactor?: number | undefined;
3737
+ locale?: string | undefined;
3738
+ theme?: "light" | "dark" | undefined;
3739
+ targetId?: string | undefined;
3740
+ targetLabel?: string | undefined;
3741
+ deviceFrame?: string | undefined;
3742
+ }[];
3743
+ preconditions: {
3744
+ credentialsId?: string | undefined;
3745
+ credentials?: {
3746
+ email?: string | undefined;
3747
+ password?: string | undefined;
3748
+ loginUrl?: string | undefined;
3749
+ } | undefined;
3750
+ storageState?: any;
3751
+ sessionStorage?: Record<string, Record<string, string>> | undefined;
3752
+ cookies?: {
3753
+ name: string;
3754
+ value: string;
3755
+ domain: string;
3756
+ path?: string | undefined;
3757
+ }[] | undefined;
3758
+ };
3759
+ steps: ({
3760
+ state: "visible" | "attached";
3761
+ description: string;
3762
+ postcondition: {
3763
+ type: "route_matches" | "element_visible" | "element_absent" | "text_contains" | "overlay_dismissed" | "screenshot_stable" | "any_change" | "always";
3764
+ pattern?: string | undefined;
3765
+ selector?: string | undefined;
3766
+ text?: string | undefined;
3767
+ threshold?: number | undefined;
3768
+ waitMs?: number | undefined;
3769
+ };
3770
+ recovery: {
3771
+ retries: number;
3772
+ useSelectorMemory: boolean;
3773
+ useAltInteraction: boolean;
3774
+ allowReload: boolean;
3775
+ allowHealer: boolean;
3776
+ };
3777
+ timeoutMs: number;
3778
+ maxFailures: number;
3779
+ kind: "WAIT_FOR";
3780
+ selector?: string | undefined;
3781
+ target?: {
3782
+ text?: string | undefined;
3783
+ role?: string | undefined;
3784
+ label?: string | undefined;
3785
+ near?: string | undefined;
3786
+ placeholder?: string | undefined;
3787
+ exact?: boolean | undefined;
3788
+ } | undefined;
3789
+ } | {
3790
+ locale: string;
3791
+ method: "browser_context" | "ui_interaction" | "storage";
3792
+ description: string;
3793
+ postcondition: {
3794
+ type: "route_matches" | "element_visible" | "element_absent" | "text_contains" | "overlay_dismissed" | "screenshot_stable" | "any_change" | "always";
3795
+ pattern?: string | undefined;
3796
+ selector?: string | undefined;
3797
+ text?: string | undefined;
3798
+ threshold?: number | undefined;
3799
+ waitMs?: number | undefined;
3800
+ };
3801
+ recovery: {
3802
+ retries: number;
3803
+ useSelectorMemory: boolean;
3804
+ useAltInteraction: boolean;
3805
+ allowReload: boolean;
3806
+ allowHealer: boolean;
3807
+ };
3808
+ timeoutMs: number;
3809
+ maxFailures: number;
3810
+ kind: "SET_LOCALE";
3811
+ selector?: string | undefined;
3812
+ storageHints?: {
3813
+ storage: "localStorage" | "sessionStorage" | "cookie";
3814
+ key: string;
3815
+ value: string;
3816
+ }[] | undefined;
3817
+ } | {
3818
+ theme: "light" | "dark" | "$variant";
3819
+ method: "ui_interaction" | "storage" | "color_scheme";
3820
+ description: string;
3821
+ postcondition: {
3822
+ type: "route_matches" | "element_visible" | "element_absent" | "text_contains" | "overlay_dismissed" | "screenshot_stable" | "any_change" | "always";
3823
+ pattern?: string | undefined;
3824
+ selector?: string | undefined;
3825
+ text?: string | undefined;
3826
+ threshold?: number | undefined;
3827
+ waitMs?: number | undefined;
3828
+ };
3829
+ recovery: {
3830
+ retries: number;
3831
+ useSelectorMemory: boolean;
3832
+ useAltInteraction: boolean;
3833
+ allowReload: boolean;
3834
+ allowHealer: boolean;
3835
+ };
3836
+ timeoutMs: number;
3837
+ maxFailures: number;
3838
+ kind: "SET_THEME";
3839
+ selector?: string | undefined;
3840
+ storageHints?: {
3841
+ storage: "localStorage" | "sessionStorage" | "cookie";
3842
+ key: string;
3843
+ value: string;
3844
+ }[] | undefined;
3845
+ } | {
3846
+ selector: string;
3847
+ description: string;
3848
+ postcondition: {
3849
+ type: "route_matches" | "element_visible" | "element_absent" | "text_contains" | "overlay_dismissed" | "screenshot_stable" | "any_change" | "always";
3850
+ pattern?: string | undefined;
3851
+ selector?: string | undefined;
3852
+ text?: string | undefined;
3853
+ threshold?: number | undefined;
3854
+ waitMs?: number | undefined;
3855
+ };
3856
+ recovery: {
3857
+ retries: number;
3858
+ useSelectorMemory: boolean;
3859
+ useAltInteraction: boolean;
3860
+ allowReload: boolean;
3861
+ allowHealer: boolean;
3862
+ };
3863
+ timeoutMs: number;
3864
+ maxFailures: number;
3865
+ kind: "SELECT_OPTION";
3866
+ target?: {
3867
+ text?: string | undefined;
3868
+ role?: string | undefined;
3869
+ label?: string | undefined;
3870
+ near?: string | undefined;
3871
+ placeholder?: string | undefined;
3872
+ exact?: boolean | undefined;
3873
+ } | undefined;
3874
+ optionLabel?: string | undefined;
3875
+ optionValue?: string | undefined;
3876
+ optionIndex?: number | undefined;
3877
+ fingerprint?: string | undefined;
3878
+ selectorAlternates?: string[] | undefined;
3879
+ } | {
3880
+ groupName: string;
3881
+ description: string;
3882
+ postcondition: {
3883
+ type: "route_matches" | "element_visible" | "element_absent" | "text_contains" | "overlay_dismissed" | "screenshot_stable" | "any_change" | "always";
3884
+ pattern?: string | undefined;
3885
+ selector?: string | undefined;
3886
+ text?: string | undefined;
3887
+ threshold?: number | undefined;
3888
+ waitMs?: number | undefined;
3889
+ };
3890
+ recovery: {
3891
+ retries: number;
3892
+ useSelectorMemory: boolean;
3893
+ useAltInteraction: boolean;
3894
+ allowReload: boolean;
3895
+ allowHealer: boolean;
3896
+ };
3897
+ timeoutMs: number;
3898
+ maxFailures: number;
3899
+ kind: "INJECT_MOCK_DATA";
3900
+ containerSelector?: string | undefined;
3901
+ templateSelector?: string | undefined;
3902
+ count?: number | undefined;
3903
+ removeTemplate?: boolean | undefined;
3904
+ slotMappings?: {
3905
+ slot: string;
3906
+ selector: string;
3907
+ attribute?: string | undefined;
3908
+ }[] | undefined;
3909
+ inputSelector?: string | undefined;
3910
+ triggerSelector?: string | undefined;
3911
+ } | {
3912
+ url: string;
3913
+ description: string;
3914
+ postcondition: {
3915
+ type: "route_matches" | "element_visible" | "element_absent" | "text_contains" | "overlay_dismissed" | "screenshot_stable" | "any_change" | "always";
3916
+ pattern?: string | undefined;
3917
+ selector?: string | undefined;
3918
+ text?: string | undefined;
3919
+ threshold?: number | undefined;
3920
+ waitMs?: number | undefined;
3921
+ };
3922
+ recovery: {
3923
+ retries: number;
3924
+ useSelectorMemory: boolean;
3925
+ useAltInteraction: boolean;
3926
+ allowReload: boolean;
3927
+ allowHealer: boolean;
3928
+ };
3929
+ timeoutMs: number;
3930
+ maxFailures: number;
3931
+ kind: "NAVIGATE";
3932
+ } | {
3933
+ description: string;
3934
+ postcondition: {
3935
+ type: "route_matches" | "element_visible" | "element_absent" | "text_contains" | "overlay_dismissed" | "screenshot_stable" | "any_change" | "always";
3936
+ pattern?: string | undefined;
3937
+ selector?: string | undefined;
3938
+ text?: string | undefined;
3939
+ threshold?: number | undefined;
3940
+ waitMs?: number | undefined;
3941
+ };
3942
+ recovery: {
3943
+ retries: number;
3944
+ useSelectorMemory: boolean;
3945
+ useAltInteraction: boolean;
3946
+ allowReload: boolean;
3947
+ allowHealer: boolean;
3948
+ };
3949
+ timeoutMs: number;
3950
+ maxFailures: number;
3951
+ kind: "DISMISS_OVERLAYS";
3952
+ } | {
3953
+ urlPattern: string;
3954
+ description: string;
3955
+ postcondition: {
3956
+ type: "route_matches" | "element_visible" | "element_absent" | "text_contains" | "overlay_dismissed" | "screenshot_stable" | "any_change" | "always";
3957
+ pattern?: string | undefined;
3958
+ selector?: string | undefined;
3959
+ text?: string | undefined;
3960
+ threshold?: number | undefined;
3961
+ waitMs?: number | undefined;
3962
+ };
3963
+ recovery: {
3964
+ retries: number;
3965
+ useSelectorMemory: boolean;
3966
+ useAltInteraction: boolean;
3967
+ allowReload: boolean;
3968
+ allowHealer: boolean;
3969
+ };
3970
+ timeoutMs: number;
3971
+ maxFailures: number;
3972
+ kind: "ASSERT_ROUTE";
3973
+ } | {
3974
+ selectors: string[];
3975
+ matchAll: boolean;
3976
+ description: string;
3977
+ postcondition: {
3978
+ type: "route_matches" | "element_visible" | "element_absent" | "text_contains" | "overlay_dismissed" | "screenshot_stable" | "any_change" | "always";
3979
+ pattern?: string | undefined;
3980
+ selector?: string | undefined;
3981
+ text?: string | undefined;
3982
+ threshold?: number | undefined;
3983
+ waitMs?: number | undefined;
3984
+ };
3985
+ recovery: {
3986
+ retries: number;
3987
+ useSelectorMemory: boolean;
3988
+ useAltInteraction: boolean;
3989
+ allowReload: boolean;
3990
+ allowHealer: boolean;
3991
+ };
3992
+ timeoutMs: number;
3993
+ maxFailures: number;
3994
+ kind: "ASSERT_SURFACE";
3995
+ } | {
3996
+ selector: string;
3997
+ description: string;
3998
+ postcondition: {
3999
+ type: "route_matches" | "element_visible" | "element_absent" | "text_contains" | "overlay_dismissed" | "screenshot_stable" | "any_change" | "always";
4000
+ pattern?: string | undefined;
4001
+ selector?: string | undefined;
4002
+ text?: string | undefined;
4003
+ threshold?: number | undefined;
4004
+ waitMs?: number | undefined;
4005
+ };
4006
+ recovery: {
4007
+ retries: number;
4008
+ useSelectorMemory: boolean;
4009
+ useAltInteraction: boolean;
4010
+ allowReload: boolean;
4011
+ allowHealer: boolean;
4012
+ };
4013
+ timeoutMs: number;
4014
+ maxFailures: number;
4015
+ kind: "CLICK";
4016
+ target?: {
4017
+ text?: string | undefined;
4018
+ role?: string | undefined;
4019
+ label?: string | undefined;
4020
+ near?: string | undefined;
4021
+ placeholder?: string | undefined;
4022
+ exact?: boolean | undefined;
4023
+ } | undefined;
4024
+ button?: "right" | "middle" | undefined;
4025
+ fingerprint?: string | undefined;
4026
+ selectorAlternates?: string[] | undefined;
4027
+ } | {
4028
+ selector: string;
4029
+ text: string;
4030
+ clearFirst: boolean;
4031
+ description: string;
4032
+ postcondition: {
4033
+ type: "route_matches" | "element_visible" | "element_absent" | "text_contains" | "overlay_dismissed" | "screenshot_stable" | "any_change" | "always";
4034
+ pattern?: string | undefined;
4035
+ selector?: string | undefined;
4036
+ text?: string | undefined;
4037
+ threshold?: number | undefined;
4038
+ waitMs?: number | undefined;
4039
+ };
4040
+ recovery: {
4041
+ retries: number;
4042
+ useSelectorMemory: boolean;
4043
+ useAltInteraction: boolean;
4044
+ allowReload: boolean;
4045
+ allowHealer: boolean;
4046
+ };
4047
+ timeoutMs: number;
4048
+ maxFailures: number;
4049
+ kind: "TYPE";
4050
+ target?: {
4051
+ text?: string | undefined;
4052
+ role?: string | undefined;
4053
+ label?: string | undefined;
4054
+ near?: string | undefined;
4055
+ placeholder?: string | undefined;
4056
+ exact?: boolean | undefined;
4057
+ } | undefined;
4058
+ textByLocale?: Record<string, string> | undefined;
4059
+ fingerprint?: string | undefined;
4060
+ selectorAlternates?: string[] | undefined;
4061
+ } | {
4062
+ key: string;
4063
+ description: string;
4064
+ postcondition: {
4065
+ type: "route_matches" | "element_visible" | "element_absent" | "text_contains" | "overlay_dismissed" | "screenshot_stable" | "any_change" | "always";
4066
+ pattern?: string | undefined;
4067
+ selector?: string | undefined;
4068
+ text?: string | undefined;
4069
+ threshold?: number | undefined;
4070
+ waitMs?: number | undefined;
4071
+ };
4072
+ recovery: {
4073
+ retries: number;
4074
+ useSelectorMemory: boolean;
4075
+ useAltInteraction: boolean;
4076
+ allowReload: boolean;
4077
+ allowHealer: boolean;
4078
+ };
4079
+ timeoutMs: number;
4080
+ maxFailures: number;
4081
+ kind: "PRESS_KEY";
4082
+ } | {
4083
+ direction: "up" | "down" | "left" | "right";
4084
+ description: string;
4085
+ postcondition: {
4086
+ type: "route_matches" | "element_visible" | "element_absent" | "text_contains" | "overlay_dismissed" | "screenshot_stable" | "any_change" | "always";
4087
+ pattern?: string | undefined;
4088
+ selector?: string | undefined;
4089
+ text?: string | undefined;
4090
+ threshold?: number | undefined;
4091
+ waitMs?: number | undefined;
4092
+ };
4093
+ recovery: {
4094
+ retries: number;
4095
+ useSelectorMemory: boolean;
4096
+ useAltInteraction: boolean;
4097
+ allowReload: boolean;
4098
+ allowHealer: boolean;
4099
+ };
4100
+ timeoutMs: number;
4101
+ maxFailures: number;
4102
+ kind: "SCROLL";
4103
+ amount?: number | undefined;
4104
+ targetSelector?: string | undefined;
4105
+ target?: {
4106
+ text?: string | undefined;
4107
+ role?: string | undefined;
4108
+ label?: string | undefined;
4109
+ near?: string | undefined;
4110
+ placeholder?: string | undefined;
4111
+ exact?: boolean | undefined;
4112
+ } | undefined;
4113
+ } | {
4114
+ description: string;
4115
+ postcondition: {
4116
+ type: "route_matches" | "element_visible" | "element_absent" | "text_contains" | "overlay_dismissed" | "screenshot_stable" | "any_change" | "always";
4117
+ pattern?: string | undefined;
4118
+ selector?: string | undefined;
4119
+ text?: string | undefined;
4120
+ threshold?: number | undefined;
4121
+ waitMs?: number | undefined;
4122
+ };
4123
+ recovery: {
4124
+ retries: number;
4125
+ useSelectorMemory: boolean;
4126
+ useAltInteraction: boolean;
4127
+ allowReload: boolean;
4128
+ allowHealer: boolean;
4129
+ };
4130
+ timeoutMs: number;
4131
+ maxFailures: number;
4132
+ kind: "CAPTURE_SCREENSHOT";
4133
+ captureId?: string | undefined;
4134
+ captureName?: string | undefined;
4135
+ elementSelector?: string | undefined;
4136
+ } | {
4137
+ stateName: string;
4138
+ description: string;
4139
+ postcondition: {
4140
+ type: "route_matches" | "element_visible" | "element_absent" | "text_contains" | "overlay_dismissed" | "screenshot_stable" | "any_change" | "always";
4141
+ pattern?: string | undefined;
4142
+ selector?: string | undefined;
4143
+ text?: string | undefined;
4144
+ threshold?: number | undefined;
4145
+ waitMs?: number | undefined;
4146
+ };
4147
+ recovery: {
4148
+ retries: number;
4149
+ useSelectorMemory: boolean;
4150
+ useAltInteraction: boolean;
4151
+ allowReload: boolean;
4152
+ allowHealer: boolean;
4153
+ };
4154
+ timeoutMs: number;
4155
+ maxFailures: number;
4156
+ kind: "CAPTURE_DOM";
4157
+ selector?: string | undefined;
4158
+ } | {
4159
+ fragmentName: string;
4160
+ parentState: string;
4161
+ selector: string;
4162
+ description: string;
4163
+ postcondition: {
4164
+ type: "route_matches" | "element_visible" | "element_absent" | "text_contains" | "overlay_dismissed" | "screenshot_stable" | "any_change" | "always";
4165
+ pattern?: string | undefined;
4166
+ selector?: string | undefined;
4167
+ text?: string | undefined;
4168
+ threshold?: number | undefined;
4169
+ waitMs?: number | undefined;
4170
+ };
4171
+ recovery: {
4172
+ retries: number;
4173
+ useSelectorMemory: boolean;
4174
+ useAltInteraction: boolean;
4175
+ allowReload: boolean;
4176
+ allowHealer: boolean;
4177
+ };
4178
+ timeoutMs: number;
4179
+ maxFailures: number;
4180
+ kind: "CAPTURE_FRAGMENT";
4181
+ variantName?: string | undefined;
4182
+ triggerSelector?: string | undefined;
4183
+ mountStrategy?: string | undefined;
4184
+ mountTargetSelector?: string | undefined;
4185
+ } | {
4186
+ description: string;
4187
+ postcondition: {
4188
+ type: "route_matches" | "element_visible" | "element_absent" | "text_contains" | "overlay_dismissed" | "screenshot_stable" | "any_change" | "always";
4189
+ pattern?: string | undefined;
4190
+ selector?: string | undefined;
4191
+ text?: string | undefined;
4192
+ threshold?: number | undefined;
4193
+ waitMs?: number | undefined;
4194
+ };
4195
+ recovery: {
4196
+ retries: number;
4197
+ useSelectorMemory: boolean;
4198
+ useAltInteraction: boolean;
4199
+ allowReload: boolean;
4200
+ allowHealer: boolean;
4201
+ };
4202
+ timeoutMs: number;
4203
+ maxFailures: number;
4204
+ kind: "BEGIN_CLIP";
4205
+ clipId?: string | undefined;
4206
+ clipName?: string | undefined;
4207
+ } | {
4208
+ description: string;
4209
+ postcondition: {
4210
+ type: "route_matches" | "element_visible" | "element_absent" | "text_contains" | "overlay_dismissed" | "screenshot_stable" | "any_change" | "always";
4211
+ pattern?: string | undefined;
4212
+ selector?: string | undefined;
4213
+ text?: string | undefined;
4214
+ threshold?: number | undefined;
4215
+ waitMs?: number | undefined;
4216
+ };
4217
+ recovery: {
4218
+ retries: number;
4219
+ useSelectorMemory: boolean;
4220
+ useAltInteraction: boolean;
4221
+ allowReload: boolean;
4222
+ allowHealer: boolean;
4223
+ };
4224
+ timeoutMs: number;
4225
+ maxFailures: number;
4226
+ kind: "END_CLIP";
4227
+ clipId?: string | undefined;
4228
+ clipName?: string | undefined;
4229
+ } | {
4230
+ selector: string;
4231
+ description: string;
4232
+ postcondition: {
4233
+ type: "route_matches" | "element_visible" | "element_absent" | "text_contains" | "overlay_dismissed" | "screenshot_stable" | "any_change" | "always";
4234
+ pattern?: string | undefined;
4235
+ selector?: string | undefined;
4236
+ text?: string | undefined;
4237
+ threshold?: number | undefined;
4238
+ waitMs?: number | undefined;
4239
+ };
4240
+ recovery: {
4241
+ retries: number;
4242
+ useSelectorMemory: boolean;
4243
+ useAltInteraction: boolean;
4244
+ allowReload: boolean;
4245
+ allowHealer: boolean;
4246
+ };
4247
+ timeoutMs: number;
4248
+ maxFailures: number;
4249
+ kind: "HOVER";
4250
+ target?: {
4251
+ text?: string | undefined;
4252
+ role?: string | undefined;
4253
+ label?: string | undefined;
4254
+ near?: string | undefined;
4255
+ placeholder?: string | undefined;
4256
+ exact?: boolean | undefined;
4257
+ } | undefined;
4258
+ fingerprint?: string | undefined;
4259
+ selectorAlternates?: string[] | undefined;
4260
+ } | {
4261
+ selector: string;
4262
+ checked: boolean;
4263
+ description: string;
4264
+ postcondition: {
4265
+ type: "route_matches" | "element_visible" | "element_absent" | "text_contains" | "overlay_dismissed" | "screenshot_stable" | "any_change" | "always";
4266
+ pattern?: string | undefined;
4267
+ selector?: string | undefined;
4268
+ text?: string | undefined;
4269
+ threshold?: number | undefined;
4270
+ waitMs?: number | undefined;
4271
+ };
4272
+ recovery: {
4273
+ retries: number;
4274
+ useSelectorMemory: boolean;
4275
+ useAltInteraction: boolean;
4276
+ allowReload: boolean;
4277
+ allowHealer: boolean;
4278
+ };
4279
+ timeoutMs: number;
4280
+ maxFailures: number;
4281
+ kind: "CHECK";
4282
+ target?: {
4283
+ text?: string | undefined;
4284
+ role?: string | undefined;
4285
+ label?: string | undefined;
4286
+ near?: string | undefined;
4287
+ placeholder?: string | undefined;
4288
+ exact?: boolean | undefined;
4289
+ } | undefined;
4290
+ fingerprint?: string | undefined;
4291
+ selectorAlternates?: string[] | undefined;
4292
+ } | {
4293
+ selector: string;
4294
+ description: string;
4295
+ postcondition: {
4296
+ type: "route_matches" | "element_visible" | "element_absent" | "text_contains" | "overlay_dismissed" | "screenshot_stable" | "any_change" | "always";
4297
+ pattern?: string | undefined;
4298
+ selector?: string | undefined;
4299
+ text?: string | undefined;
4300
+ threshold?: number | undefined;
4301
+ waitMs?: number | undefined;
4302
+ };
4303
+ recovery: {
4304
+ retries: number;
4305
+ useSelectorMemory: boolean;
4306
+ useAltInteraction: boolean;
4307
+ allowReload: boolean;
4308
+ allowHealer: boolean;
4309
+ };
4310
+ timeoutMs: number;
4311
+ maxFailures: number;
4312
+ kind: "DOUBLE_CLICK";
4313
+ target?: {
4314
+ text?: string | undefined;
4315
+ role?: string | undefined;
4316
+ label?: string | undefined;
4317
+ near?: string | undefined;
4318
+ placeholder?: string | undefined;
4319
+ exact?: boolean | undefined;
4320
+ } | undefined;
4321
+ fingerprint?: string | undefined;
4322
+ selectorAlternates?: string[] | undefined;
4323
+ } | {
4324
+ sourceSelector: string;
4325
+ containerSelector: string;
4326
+ count: number;
4327
+ description: string;
4328
+ postcondition: {
4329
+ type: "route_matches" | "element_visible" | "element_absent" | "text_contains" | "overlay_dismissed" | "screenshot_stable" | "any_change" | "always";
4330
+ pattern?: string | undefined;
4331
+ selector?: string | undefined;
4332
+ text?: string | undefined;
4333
+ threshold?: number | undefined;
4334
+ waitMs?: number | undefined;
4335
+ };
4336
+ recovery: {
4337
+ retries: number;
4338
+ useSelectorMemory: boolean;
4339
+ useAltInteraction: boolean;
4340
+ allowReload: boolean;
4341
+ allowHealer: boolean;
4342
+ };
4343
+ timeoutMs: number;
4344
+ maxFailures: number;
4345
+ kind: "CLONE_ELEMENT";
4346
+ removeSource?: boolean | undefined;
4347
+ } | {
4348
+ selector: string;
4349
+ description: string;
4350
+ postcondition: {
4351
+ type: "route_matches" | "element_visible" | "element_absent" | "text_contains" | "overlay_dismissed" | "screenshot_stable" | "any_change" | "always";
4352
+ pattern?: string | undefined;
4353
+ selector?: string | undefined;
4354
+ text?: string | undefined;
4355
+ threshold?: number | undefined;
4356
+ waitMs?: number | undefined;
4357
+ };
4358
+ recovery: {
4359
+ retries: number;
4360
+ useSelectorMemory: boolean;
4361
+ useAltInteraction: boolean;
4362
+ allowReload: boolean;
4363
+ allowHealer: boolean;
4364
+ };
4365
+ timeoutMs: number;
4366
+ maxFailures: number;
4367
+ kind: "REMOVE_ELEMENT";
4368
+ } | {
4369
+ selector: string;
4370
+ attribute: string;
4371
+ value: string;
4372
+ description: string;
4373
+ postcondition: {
4374
+ type: "route_matches" | "element_visible" | "element_absent" | "text_contains" | "overlay_dismissed" | "screenshot_stable" | "any_change" | "always";
4375
+ pattern?: string | undefined;
4376
+ selector?: string | undefined;
4377
+ text?: string | undefined;
4378
+ threshold?: number | undefined;
4379
+ waitMs?: number | undefined;
4380
+ };
4381
+ recovery: {
4382
+ retries: number;
4383
+ useSelectorMemory: boolean;
4384
+ useAltInteraction: boolean;
4385
+ allowReload: boolean;
4386
+ allowHealer: boolean;
4387
+ };
4388
+ timeoutMs: number;
4389
+ maxFailures: number;
4390
+ kind: "SET_ATTRIBUTE";
4391
+ })[];
4392
+ artifactPlan: {
4393
+ mediaMode: "clip" | "screenshot" | "dom";
4394
+ format?: {
4395
+ clipFormat?: "gif" | "mp4" | "both" | undefined;
4396
+ screenshotFormat?: "png" | "jpeg" | undefined;
4397
+ } | undefined;
4398
+ cursorTheme?: "minimal" | "macos" | "windows" | undefined;
4399
+ maxClipDurationSec?: number | undefined;
4400
+ applyMockup?: boolean | undefined;
4401
+ applyStatusBar?: boolean | undefined;
4402
+ domOptions?: {
4403
+ sanitize?: boolean | undefined;
4404
+ } | undefined;
4405
+ };
4406
+ compileFingerprint: string;
4407
+ compiledAt: string;
4408
+ maxParallelCaptures?: number | undefined;
4409
+ outputScale?: number | undefined;
4410
+ variantFingerprint?: string | undefined;
4411
+ compiledWith?: string | undefined;
4412
+ mockDataGroups?: {
4413
+ name: string;
4414
+ description: string;
4415
+ slots: {
4416
+ name: string;
4417
+ description: string;
4418
+ hint?: string | undefined;
4419
+ }[];
4420
+ defaultValues: Record<string, string>[];
4421
+ replaceExisting?: boolean | undefined;
4422
+ }[] | undefined;
4423
+ }>;