autokap 1.0.7 → 1.0.10

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