@trusty-squire/mcp 1.1.6 → 1.1.7

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 (75) hide show
  1. package/README.md +34 -16
  2. package/dist/api-client.d.ts +11 -3
  3. package/dist/api-client.d.ts.map +1 -1
  4. package/dist/api-client.js +14 -4
  5. package/dist/api-client.js.map +1 -1
  6. package/dist/bot/browser.d.ts +19 -1
  7. package/dist/bot/browser.d.ts.map +1 -1
  8. package/dist/bot/browser.js +228 -30
  9. package/dist/bot/browser.js.map +1 -1
  10. package/dist/bot/near-text-hint.d.ts +7 -3
  11. package/dist/bot/near-text-hint.d.ts.map +1 -1
  12. package/dist/bot/near-text-hint.js +1 -2
  13. package/dist/bot/near-text-hint.js.map +1 -1
  14. package/dist/bot/operator-recipe.d.ts +694 -36
  15. package/dist/bot/operator-recipe.d.ts.map +1 -1
  16. package/dist/bot/operator-recipe.js +565 -43
  17. package/dist/bot/operator-recipe.js.map +1 -1
  18. package/dist/bot/pay-operator.d.ts +4 -2
  19. package/dist/bot/pay-operator.d.ts.map +1 -1
  20. package/dist/bot/pay-operator.js +173 -67
  21. package/dist/bot/pay-operator.js.map +1 -1
  22. package/dist/bot/promote-to-skill.d.ts +1 -0
  23. package/dist/bot/promote-to-skill.d.ts.map +1 -1
  24. package/dist/bot/promote-to-skill.js +20 -30
  25. package/dist/bot/promote-to-skill.js.map +1 -1
  26. package/dist/bot/provision-session.d.ts +44 -1
  27. package/dist/bot/provision-session.d.ts.map +1 -1
  28. package/dist/bot/provision-session.js +1300 -104
  29. package/dist/bot/provision-session.js.map +1 -1
  30. package/dist/eval/replay-harness/corpus.d.ts +7 -0
  31. package/dist/eval/replay-harness/corpus.d.ts.map +1 -0
  32. package/dist/eval/replay-harness/corpus.js +183 -0
  33. package/dist/eval/replay-harness/corpus.js.map +1 -0
  34. package/dist/eval/replay-harness/har-mutate.d.ts +36 -0
  35. package/dist/eval/replay-harness/har-mutate.d.ts.map +1 -0
  36. package/dist/eval/replay-harness/har-mutate.js +119 -0
  37. package/dist/eval/replay-harness/har-mutate.js.map +1 -0
  38. package/dist/eval/replay-harness/har-substrate.d.ts +16 -0
  39. package/dist/eval/replay-harness/har-substrate.d.ts.map +1 -0
  40. package/dist/eval/replay-harness/har-substrate.js +99 -0
  41. package/dist/eval/replay-harness/har-substrate.js.map +1 -0
  42. package/dist/eval/replay-harness/index.d.ts +8 -0
  43. package/dist/eval/replay-harness/index.d.ts.map +1 -0
  44. package/dist/eval/replay-harness/index.js +8 -0
  45. package/dist/eval/replay-harness/index.js.map +1 -0
  46. package/dist/eval/replay-harness/metrics.d.ts +9 -0
  47. package/dist/eval/replay-harness/metrics.d.ts.map +1 -0
  48. package/dist/eval/replay-harness/metrics.js +117 -0
  49. package/dist/eval/replay-harness/metrics.js.map +1 -0
  50. package/dist/eval/replay-harness/reporter.d.ts +4 -0
  51. package/dist/eval/replay-harness/reporter.d.ts.map +1 -0
  52. package/dist/eval/replay-harness/reporter.js +62 -0
  53. package/dist/eval/replay-harness/reporter.js.map +1 -0
  54. package/dist/eval/replay-harness/runner.d.ts +36 -0
  55. package/dist/eval/replay-harness/runner.d.ts.map +1 -0
  56. package/dist/eval/replay-harness/runner.js +167 -0
  57. package/dist/eval/replay-harness/runner.js.map +1 -0
  58. package/dist/eval/replay-harness/types.d.ts +135 -0
  59. package/dist/eval/replay-harness/types.d.ts.map +1 -0
  60. package/dist/eval/replay-harness/types.js +2 -0
  61. package/dist/eval/replay-harness/types.js.map +1 -0
  62. package/dist/server.d.ts.map +1 -1
  63. package/dist/server.js +1 -0
  64. package/dist/server.js.map +1 -1
  65. package/dist/tools/grant-app-access.js +1 -1
  66. package/dist/tools/grant-app-access.js.map +1 -1
  67. package/dist/tools/operate-pay.d.ts +10 -10
  68. package/dist/tools/operate-pay.d.ts.map +1 -1
  69. package/dist/tools/operate-pay.js +42 -16
  70. package/dist/tools/operate-pay.js.map +1 -1
  71. package/dist/tools/provision-drive.d.ts +165 -8
  72. package/dist/tools/provision-drive.d.ts.map +1 -1
  73. package/dist/tools/provision-drive.js +211 -40
  74. package/dist/tools/provision-drive.js.map +1 -1
  75. package/package.json +2 -1
@@ -1,29 +1,177 @@
1
1
  import { z } from "zod";
2
+ export declare const OperatorVerbSchema: z.ZodEnum<["purchase", "get_api_key", "signup", "subscribe", "cancel", "login", "book", "reserve", "renew", "upgrade", "downgrade", "add_to_cart", "checkout", "download", "configure"]>;
3
+ export type OperatorVerb = z.infer<typeof OperatorVerbSchema>;
4
+ export declare const RecipeHoleSchema: z.ZodObject<{
5
+ hole: z.ZodString;
6
+ }, "strict", z.ZodTypeAny, {
7
+ hole: string;
8
+ }, {
9
+ hole: string;
10
+ }>;
11
+ export type RecipeHole = z.infer<typeof RecipeHoleSchema>;
12
+ export declare const RecipeValueSchema: z.ZodUnion<[z.ZodString, z.ZodObject<{
13
+ hole: z.ZodString;
14
+ }, "strict", z.ZodTypeAny, {
15
+ hole: string;
16
+ }, {
17
+ hole: string;
18
+ }>]>;
19
+ export type RecipeValue = z.infer<typeof RecipeValueSchema>;
20
+ export declare const RecipeTargetSchema: z.ZodObject<{
21
+ dom_hint: z.ZodOptional<z.ZodObject<{
22
+ testid: z.ZodOptional<z.ZodString>;
23
+ id: z.ZodOptional<z.ZodString>;
24
+ name: z.ZodOptional<z.ZodString>;
25
+ }, "strict", z.ZodTypeAny, {
26
+ id?: string | undefined;
27
+ name?: string | undefined;
28
+ testid?: string | undefined;
29
+ }, {
30
+ id?: string | undefined;
31
+ name?: string | undefined;
32
+ testid?: string | undefined;
33
+ }>>;
34
+ role_hint: z.ZodOptional<z.ZodString>;
35
+ accessible_name: z.ZodOptional<z.ZodString>;
36
+ near_text_hint: z.ZodOptional<z.ZodString>;
37
+ href_hint: z.ZodOptional<z.ZodString>;
38
+ css: z.ZodOptional<z.ZodString>;
39
+ visible_text: z.ZodOptional<z.ZodString>;
40
+ }, "strict", z.ZodTypeAny, {
41
+ css?: string | undefined;
42
+ near_text_hint?: string | undefined;
43
+ dom_hint?: {
44
+ id?: string | undefined;
45
+ name?: string | undefined;
46
+ testid?: string | undefined;
47
+ } | undefined;
48
+ role_hint?: string | undefined;
49
+ accessible_name?: string | undefined;
50
+ href_hint?: string | undefined;
51
+ visible_text?: string | undefined;
52
+ }, {
53
+ css?: string | undefined;
54
+ near_text_hint?: string | undefined;
55
+ dom_hint?: {
56
+ id?: string | undefined;
57
+ name?: string | undefined;
58
+ testid?: string | undefined;
59
+ } | undefined;
60
+ role_hint?: string | undefined;
61
+ accessible_name?: string | undefined;
62
+ href_hint?: string | undefined;
63
+ visible_text?: string | undefined;
64
+ }>;
65
+ export type RecipeTarget = z.infer<typeof RecipeTargetSchema>;
2
66
  declare const TraceActionSchema: z.ZodObject<{
3
- kind: z.ZodEnum<["goto", "click", "js_click", "type", "press", "oauth_click", "oauth_settle", "allow_host", "type_secret", "scroll", "extract"]>;
67
+ kind: z.ZodEnum<["goto", "click", "js_click", "type", "press", "oauth_click", "oauth_settle", "allow_host", "type_secret", "select", "set_phone_country", "operate_pay", "scroll", "extract"]>;
4
68
  text_match: z.ZodOptional<z.ZodString>;
69
+ target: z.ZodOptional<z.ZodObject<{
70
+ dom_hint: z.ZodOptional<z.ZodObject<{
71
+ testid: z.ZodOptional<z.ZodString>;
72
+ id: z.ZodOptional<z.ZodString>;
73
+ name: z.ZodOptional<z.ZodString>;
74
+ }, "strict", z.ZodTypeAny, {
75
+ id?: string | undefined;
76
+ name?: string | undefined;
77
+ testid?: string | undefined;
78
+ }, {
79
+ id?: string | undefined;
80
+ name?: string | undefined;
81
+ testid?: string | undefined;
82
+ }>>;
83
+ role_hint: z.ZodOptional<z.ZodString>;
84
+ accessible_name: z.ZodOptional<z.ZodString>;
85
+ near_text_hint: z.ZodOptional<z.ZodString>;
86
+ href_hint: z.ZodOptional<z.ZodString>;
87
+ css: z.ZodOptional<z.ZodString>;
88
+ visible_text: z.ZodOptional<z.ZodString>;
89
+ }, "strict", z.ZodTypeAny, {
90
+ css?: string | undefined;
91
+ near_text_hint?: string | undefined;
92
+ dom_hint?: {
93
+ id?: string | undefined;
94
+ name?: string | undefined;
95
+ testid?: string | undefined;
96
+ } | undefined;
97
+ role_hint?: string | undefined;
98
+ accessible_name?: string | undefined;
99
+ href_hint?: string | undefined;
100
+ visible_text?: string | undefined;
101
+ }, {
102
+ css?: string | undefined;
103
+ near_text_hint?: string | undefined;
104
+ dom_hint?: {
105
+ id?: string | undefined;
106
+ name?: string | undefined;
107
+ testid?: string | undefined;
108
+ } | undefined;
109
+ role_hint?: string | undefined;
110
+ accessible_name?: string | undefined;
111
+ href_hint?: string | undefined;
112
+ visible_text?: string | undefined;
113
+ }>>;
114
+ email_hole: z.ZodOptional<z.ZodString>;
5
115
  url_template: z.ZodOptional<z.ZodString>;
6
- value: z.ZodOptional<z.ZodString>;
116
+ value: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
117
+ hole: z.ZodString;
118
+ }, "strict", z.ZodTypeAny, {
119
+ hole: string;
120
+ }, {
121
+ hole: string;
122
+ }>]>>;
7
123
  host: z.ZodOptional<z.ZodString>;
8
124
  slot: z.ZodOptional<z.ZodString>;
9
125
  direction: z.ZodOptional<z.ZodEnum<["down", "up", "bottom", "top"]>>;
10
126
  key: z.ZodOptional<z.ZodString>;
11
127
  }, "strict", z.ZodTypeAny, {
12
- kind: "type" | "goto" | "click" | "extract" | "scroll" | "js_click" | "press" | "oauth_click" | "oauth_settle" | "allow_host" | "type_secret";
128
+ kind: "type" | "goto" | "click" | "extract" | "select" | "scroll" | "js_click" | "press" | "oauth_click" | "oauth_settle" | "allow_host" | "type_secret" | "set_phone_country" | "operate_pay";
13
129
  host?: string | undefined;
14
130
  key?: string | undefined;
15
131
  slot?: string | undefined;
16
- value?: string | undefined;
132
+ value?: string | {
133
+ hole: string;
134
+ } | undefined;
17
135
  text_match?: string | undefined;
136
+ target?: {
137
+ css?: string | undefined;
138
+ near_text_hint?: string | undefined;
139
+ dom_hint?: {
140
+ id?: string | undefined;
141
+ name?: string | undefined;
142
+ testid?: string | undefined;
143
+ } | undefined;
144
+ role_hint?: string | undefined;
145
+ accessible_name?: string | undefined;
146
+ href_hint?: string | undefined;
147
+ visible_text?: string | undefined;
148
+ } | undefined;
149
+ email_hole?: string | undefined;
18
150
  url_template?: string | undefined;
19
151
  direction?: "down" | "up" | "bottom" | "top" | undefined;
20
152
  }, {
21
- kind: "type" | "goto" | "click" | "extract" | "scroll" | "js_click" | "press" | "oauth_click" | "oauth_settle" | "allow_host" | "type_secret";
153
+ kind: "type" | "goto" | "click" | "extract" | "select" | "scroll" | "js_click" | "press" | "oauth_click" | "oauth_settle" | "allow_host" | "type_secret" | "set_phone_country" | "operate_pay";
22
154
  host?: string | undefined;
23
155
  key?: string | undefined;
24
156
  slot?: string | undefined;
25
- value?: string | undefined;
157
+ value?: string | {
158
+ hole: string;
159
+ } | undefined;
26
160
  text_match?: string | undefined;
161
+ target?: {
162
+ css?: string | undefined;
163
+ near_text_hint?: string | undefined;
164
+ dom_hint?: {
165
+ id?: string | undefined;
166
+ name?: string | undefined;
167
+ testid?: string | undefined;
168
+ } | undefined;
169
+ role_hint?: string | undefined;
170
+ accessible_name?: string | undefined;
171
+ href_hint?: string | undefined;
172
+ visible_text?: string | undefined;
173
+ } | undefined;
174
+ email_hole?: string | undefined;
27
175
  url_template?: string | undefined;
28
176
  direction?: "down" | "up" | "bottom" | "top" | undefined;
29
177
  }>;
@@ -31,53 +179,169 @@ export type TraceAction = z.infer<typeof TraceActionSchema>;
31
179
  declare const TraceEntrySchema: z.ZodObject<{
32
180
  intent: z.ZodOptional<z.ZodString>;
33
181
  action: z.ZodObject<{
34
- kind: z.ZodEnum<["goto", "click", "js_click", "type", "press", "oauth_click", "oauth_settle", "allow_host", "type_secret", "scroll", "extract"]>;
182
+ kind: z.ZodEnum<["goto", "click", "js_click", "type", "press", "oauth_click", "oauth_settle", "allow_host", "type_secret", "select", "set_phone_country", "operate_pay", "scroll", "extract"]>;
35
183
  text_match: z.ZodOptional<z.ZodString>;
184
+ target: z.ZodOptional<z.ZodObject<{
185
+ dom_hint: z.ZodOptional<z.ZodObject<{
186
+ testid: z.ZodOptional<z.ZodString>;
187
+ id: z.ZodOptional<z.ZodString>;
188
+ name: z.ZodOptional<z.ZodString>;
189
+ }, "strict", z.ZodTypeAny, {
190
+ id?: string | undefined;
191
+ name?: string | undefined;
192
+ testid?: string | undefined;
193
+ }, {
194
+ id?: string | undefined;
195
+ name?: string | undefined;
196
+ testid?: string | undefined;
197
+ }>>;
198
+ role_hint: z.ZodOptional<z.ZodString>;
199
+ accessible_name: z.ZodOptional<z.ZodString>;
200
+ near_text_hint: z.ZodOptional<z.ZodString>;
201
+ href_hint: z.ZodOptional<z.ZodString>;
202
+ css: z.ZodOptional<z.ZodString>;
203
+ visible_text: z.ZodOptional<z.ZodString>;
204
+ }, "strict", z.ZodTypeAny, {
205
+ css?: string | undefined;
206
+ near_text_hint?: string | undefined;
207
+ dom_hint?: {
208
+ id?: string | undefined;
209
+ name?: string | undefined;
210
+ testid?: string | undefined;
211
+ } | undefined;
212
+ role_hint?: string | undefined;
213
+ accessible_name?: string | undefined;
214
+ href_hint?: string | undefined;
215
+ visible_text?: string | undefined;
216
+ }, {
217
+ css?: string | undefined;
218
+ near_text_hint?: string | undefined;
219
+ dom_hint?: {
220
+ id?: string | undefined;
221
+ name?: string | undefined;
222
+ testid?: string | undefined;
223
+ } | undefined;
224
+ role_hint?: string | undefined;
225
+ accessible_name?: string | undefined;
226
+ href_hint?: string | undefined;
227
+ visible_text?: string | undefined;
228
+ }>>;
229
+ email_hole: z.ZodOptional<z.ZodString>;
36
230
  url_template: z.ZodOptional<z.ZodString>;
37
- value: z.ZodOptional<z.ZodString>;
231
+ value: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
232
+ hole: z.ZodString;
233
+ }, "strict", z.ZodTypeAny, {
234
+ hole: string;
235
+ }, {
236
+ hole: string;
237
+ }>]>>;
38
238
  host: z.ZodOptional<z.ZodString>;
39
239
  slot: z.ZodOptional<z.ZodString>;
40
240
  direction: z.ZodOptional<z.ZodEnum<["down", "up", "bottom", "top"]>>;
41
241
  key: z.ZodOptional<z.ZodString>;
42
242
  }, "strict", z.ZodTypeAny, {
43
- kind: "type" | "goto" | "click" | "extract" | "scroll" | "js_click" | "press" | "oauth_click" | "oauth_settle" | "allow_host" | "type_secret";
243
+ kind: "type" | "goto" | "click" | "extract" | "select" | "scroll" | "js_click" | "press" | "oauth_click" | "oauth_settle" | "allow_host" | "type_secret" | "set_phone_country" | "operate_pay";
44
244
  host?: string | undefined;
45
245
  key?: string | undefined;
46
246
  slot?: string | undefined;
47
- value?: string | undefined;
247
+ value?: string | {
248
+ hole: string;
249
+ } | undefined;
48
250
  text_match?: string | undefined;
251
+ target?: {
252
+ css?: string | undefined;
253
+ near_text_hint?: string | undefined;
254
+ dom_hint?: {
255
+ id?: string | undefined;
256
+ name?: string | undefined;
257
+ testid?: string | undefined;
258
+ } | undefined;
259
+ role_hint?: string | undefined;
260
+ accessible_name?: string | undefined;
261
+ href_hint?: string | undefined;
262
+ visible_text?: string | undefined;
263
+ } | undefined;
264
+ email_hole?: string | undefined;
49
265
  url_template?: string | undefined;
50
266
  direction?: "down" | "up" | "bottom" | "top" | undefined;
51
267
  }, {
52
- kind: "type" | "goto" | "click" | "extract" | "scroll" | "js_click" | "press" | "oauth_click" | "oauth_settle" | "allow_host" | "type_secret";
268
+ kind: "type" | "goto" | "click" | "extract" | "select" | "scroll" | "js_click" | "press" | "oauth_click" | "oauth_settle" | "allow_host" | "type_secret" | "set_phone_country" | "operate_pay";
53
269
  host?: string | undefined;
54
270
  key?: string | undefined;
55
271
  slot?: string | undefined;
56
- value?: string | undefined;
272
+ value?: string | {
273
+ hole: string;
274
+ } | undefined;
57
275
  text_match?: string | undefined;
276
+ target?: {
277
+ css?: string | undefined;
278
+ near_text_hint?: string | undefined;
279
+ dom_hint?: {
280
+ id?: string | undefined;
281
+ name?: string | undefined;
282
+ testid?: string | undefined;
283
+ } | undefined;
284
+ role_hint?: string | undefined;
285
+ accessible_name?: string | undefined;
286
+ href_hint?: string | undefined;
287
+ visible_text?: string | undefined;
288
+ } | undefined;
289
+ email_hole?: string | undefined;
58
290
  url_template?: string | undefined;
59
291
  direction?: "down" | "up" | "bottom" | "top" | undefined;
60
292
  }>;
61
293
  }, "strict", z.ZodTypeAny, {
62
294
  action: {
63
- kind: "type" | "goto" | "click" | "extract" | "scroll" | "js_click" | "press" | "oauth_click" | "oauth_settle" | "allow_host" | "type_secret";
295
+ kind: "type" | "goto" | "click" | "extract" | "select" | "scroll" | "js_click" | "press" | "oauth_click" | "oauth_settle" | "allow_host" | "type_secret" | "set_phone_country" | "operate_pay";
64
296
  host?: string | undefined;
65
297
  key?: string | undefined;
66
298
  slot?: string | undefined;
67
- value?: string | undefined;
299
+ value?: string | {
300
+ hole: string;
301
+ } | undefined;
68
302
  text_match?: string | undefined;
303
+ target?: {
304
+ css?: string | undefined;
305
+ near_text_hint?: string | undefined;
306
+ dom_hint?: {
307
+ id?: string | undefined;
308
+ name?: string | undefined;
309
+ testid?: string | undefined;
310
+ } | undefined;
311
+ role_hint?: string | undefined;
312
+ accessible_name?: string | undefined;
313
+ href_hint?: string | undefined;
314
+ visible_text?: string | undefined;
315
+ } | undefined;
316
+ email_hole?: string | undefined;
69
317
  url_template?: string | undefined;
70
318
  direction?: "down" | "up" | "bottom" | "top" | undefined;
71
319
  };
72
320
  intent?: string | undefined;
73
321
  }, {
74
322
  action: {
75
- kind: "type" | "goto" | "click" | "extract" | "scroll" | "js_click" | "press" | "oauth_click" | "oauth_settle" | "allow_host" | "type_secret";
323
+ kind: "type" | "goto" | "click" | "extract" | "select" | "scroll" | "js_click" | "press" | "oauth_click" | "oauth_settle" | "allow_host" | "type_secret" | "set_phone_country" | "operate_pay";
76
324
  host?: string | undefined;
77
325
  key?: string | undefined;
78
326
  slot?: string | undefined;
79
- value?: string | undefined;
327
+ value?: string | {
328
+ hole: string;
329
+ } | undefined;
80
330
  text_match?: string | undefined;
331
+ target?: {
332
+ css?: string | undefined;
333
+ near_text_hint?: string | undefined;
334
+ dom_hint?: {
335
+ id?: string | undefined;
336
+ name?: string | undefined;
337
+ testid?: string | undefined;
338
+ } | undefined;
339
+ role_hint?: string | undefined;
340
+ accessible_name?: string | undefined;
341
+ href_hint?: string | undefined;
342
+ visible_text?: string | undefined;
343
+ } | undefined;
344
+ email_hole?: string | undefined;
81
345
  url_template?: string | undefined;
82
346
  direction?: "down" | "up" | "bottom" | "top" | undefined;
83
347
  };
@@ -107,7 +371,7 @@ declare const SuccessSignalSchema: z.ZodUnion<[z.ZodObject<{
107
371
  url_contains: string;
108
372
  }>]>;
109
373
  export type SuccessSignal = z.infer<typeof SuccessSignalSchema>;
110
- export declare const PostconditionSchema: z.ZodObject<{
374
+ export declare const PostconditionSchema: z.ZodEffects<z.ZodObject<{
111
375
  kind: z.ZodEnum<["execute_capability", "observe_artifact"]>;
112
376
  describe: z.ZodString;
113
377
  success_signal: z.ZodUnion<[z.ZodObject<{
@@ -132,7 +396,8 @@ export declare const PostconditionSchema: z.ZodObject<{
132
396
  }, {
133
397
  url_contains: string;
134
398
  }>]>;
135
- probe_url: z.ZodOptional<z.ZodString>;
399
+ probe_url: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
400
+ email_hole: z.ZodOptional<z.ZodString>;
136
401
  }, "strict", z.ZodTypeAny, {
137
402
  kind: "execute_capability" | "observe_artifact";
138
403
  describe: string;
@@ -144,6 +409,7 @@ export declare const PostconditionSchema: z.ZodObject<{
144
409
  } | {
145
410
  url_contains: string;
146
411
  };
412
+ email_hole?: string | undefined;
147
413
  probe_url?: string | undefined;
148
414
  }, {
149
415
  kind: "execute_capability" | "observe_artifact";
@@ -156,6 +422,33 @@ export declare const PostconditionSchema: z.ZodObject<{
156
422
  } | {
157
423
  url_contains: string;
158
424
  };
425
+ email_hole?: string | undefined;
426
+ probe_url?: string | undefined;
427
+ }>, {
428
+ kind: "execute_capability" | "observe_artifact";
429
+ describe: string;
430
+ success_signal: {
431
+ field_text: string;
432
+ min_value_len: number;
433
+ } | {
434
+ text_present: string;
435
+ } | {
436
+ url_contains: string;
437
+ };
438
+ email_hole?: string | undefined;
439
+ probe_url?: string | undefined;
440
+ }, {
441
+ kind: "execute_capability" | "observe_artifact";
442
+ describe: string;
443
+ success_signal: {
444
+ field_text: string;
445
+ min_value_len: number;
446
+ } | {
447
+ text_present: string;
448
+ } | {
449
+ url_contains: string;
450
+ };
451
+ email_hole?: string | undefined;
159
452
  probe_url?: string | undefined;
160
453
  }>;
161
454
  export type Postcondition = z.infer<typeof PostconditionSchema>;
@@ -173,62 +466,181 @@ declare const SecretRefSchema: z.ZodObject<{
173
466
  sealed_from?: string | undefined;
174
467
  }>;
175
468
  export type SecretRef = z.infer<typeof SecretRefSchema>;
176
- export declare const OperatorRecipeSchema: z.ZodObject<{
469
+ export declare const OperatorRecipeSchema: z.ZodEffects<z.ZodObject<{
177
470
  name: z.ZodString;
178
471
  schema_version: z.ZodLiteral<1>;
179
472
  goal: z.ZodString;
473
+ verb: z.ZodOptional<z.ZodEnum<["purchase", "get_api_key", "signup", "subscribe", "cancel", "login", "book", "reserve", "renew", "upgrade", "downgrade", "add_to_cart", "checkout", "download", "configure"]>>;
474
+ domain: z.ZodOptional<z.ZodString>;
180
475
  entry_url: z.ZodOptional<z.ZodString>;
476
+ entry_mode: z.ZodOptional<z.ZodLiteral<"runtime_service_url">>;
181
477
  allowed_hosts: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
182
478
  trace: z.ZodArray<z.ZodObject<{
183
479
  intent: z.ZodOptional<z.ZodString>;
184
480
  action: z.ZodObject<{
185
- kind: z.ZodEnum<["goto", "click", "js_click", "type", "press", "oauth_click", "oauth_settle", "allow_host", "type_secret", "scroll", "extract"]>;
481
+ kind: z.ZodEnum<["goto", "click", "js_click", "type", "press", "oauth_click", "oauth_settle", "allow_host", "type_secret", "select", "set_phone_country", "operate_pay", "scroll", "extract"]>;
186
482
  text_match: z.ZodOptional<z.ZodString>;
483
+ target: z.ZodOptional<z.ZodObject<{
484
+ dom_hint: z.ZodOptional<z.ZodObject<{
485
+ testid: z.ZodOptional<z.ZodString>;
486
+ id: z.ZodOptional<z.ZodString>;
487
+ name: z.ZodOptional<z.ZodString>;
488
+ }, "strict", z.ZodTypeAny, {
489
+ id?: string | undefined;
490
+ name?: string | undefined;
491
+ testid?: string | undefined;
492
+ }, {
493
+ id?: string | undefined;
494
+ name?: string | undefined;
495
+ testid?: string | undefined;
496
+ }>>;
497
+ role_hint: z.ZodOptional<z.ZodString>;
498
+ accessible_name: z.ZodOptional<z.ZodString>;
499
+ near_text_hint: z.ZodOptional<z.ZodString>;
500
+ href_hint: z.ZodOptional<z.ZodString>;
501
+ css: z.ZodOptional<z.ZodString>;
502
+ visible_text: z.ZodOptional<z.ZodString>;
503
+ }, "strict", z.ZodTypeAny, {
504
+ css?: string | undefined;
505
+ near_text_hint?: string | undefined;
506
+ dom_hint?: {
507
+ id?: string | undefined;
508
+ name?: string | undefined;
509
+ testid?: string | undefined;
510
+ } | undefined;
511
+ role_hint?: string | undefined;
512
+ accessible_name?: string | undefined;
513
+ href_hint?: string | undefined;
514
+ visible_text?: string | undefined;
515
+ }, {
516
+ css?: string | undefined;
517
+ near_text_hint?: string | undefined;
518
+ dom_hint?: {
519
+ id?: string | undefined;
520
+ name?: string | undefined;
521
+ testid?: string | undefined;
522
+ } | undefined;
523
+ role_hint?: string | undefined;
524
+ accessible_name?: string | undefined;
525
+ href_hint?: string | undefined;
526
+ visible_text?: string | undefined;
527
+ }>>;
528
+ email_hole: z.ZodOptional<z.ZodString>;
187
529
  url_template: z.ZodOptional<z.ZodString>;
188
- value: z.ZodOptional<z.ZodString>;
530
+ value: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
531
+ hole: z.ZodString;
532
+ }, "strict", z.ZodTypeAny, {
533
+ hole: string;
534
+ }, {
535
+ hole: string;
536
+ }>]>>;
189
537
  host: z.ZodOptional<z.ZodString>;
190
538
  slot: z.ZodOptional<z.ZodString>;
191
539
  direction: z.ZodOptional<z.ZodEnum<["down", "up", "bottom", "top"]>>;
192
540
  key: z.ZodOptional<z.ZodString>;
193
541
  }, "strict", z.ZodTypeAny, {
194
- kind: "type" | "goto" | "click" | "extract" | "scroll" | "js_click" | "press" | "oauth_click" | "oauth_settle" | "allow_host" | "type_secret";
542
+ kind: "type" | "goto" | "click" | "extract" | "select" | "scroll" | "js_click" | "press" | "oauth_click" | "oauth_settle" | "allow_host" | "type_secret" | "set_phone_country" | "operate_pay";
195
543
  host?: string | undefined;
196
544
  key?: string | undefined;
197
545
  slot?: string | undefined;
198
- value?: string | undefined;
546
+ value?: string | {
547
+ hole: string;
548
+ } | undefined;
199
549
  text_match?: string | undefined;
550
+ target?: {
551
+ css?: string | undefined;
552
+ near_text_hint?: string | undefined;
553
+ dom_hint?: {
554
+ id?: string | undefined;
555
+ name?: string | undefined;
556
+ testid?: string | undefined;
557
+ } | undefined;
558
+ role_hint?: string | undefined;
559
+ accessible_name?: string | undefined;
560
+ href_hint?: string | undefined;
561
+ visible_text?: string | undefined;
562
+ } | undefined;
563
+ email_hole?: string | undefined;
200
564
  url_template?: string | undefined;
201
565
  direction?: "down" | "up" | "bottom" | "top" | undefined;
202
566
  }, {
203
- kind: "type" | "goto" | "click" | "extract" | "scroll" | "js_click" | "press" | "oauth_click" | "oauth_settle" | "allow_host" | "type_secret";
567
+ kind: "type" | "goto" | "click" | "extract" | "select" | "scroll" | "js_click" | "press" | "oauth_click" | "oauth_settle" | "allow_host" | "type_secret" | "set_phone_country" | "operate_pay";
204
568
  host?: string | undefined;
205
569
  key?: string | undefined;
206
570
  slot?: string | undefined;
207
- value?: string | undefined;
571
+ value?: string | {
572
+ hole: string;
573
+ } | undefined;
208
574
  text_match?: string | undefined;
575
+ target?: {
576
+ css?: string | undefined;
577
+ near_text_hint?: string | undefined;
578
+ dom_hint?: {
579
+ id?: string | undefined;
580
+ name?: string | undefined;
581
+ testid?: string | undefined;
582
+ } | undefined;
583
+ role_hint?: string | undefined;
584
+ accessible_name?: string | undefined;
585
+ href_hint?: string | undefined;
586
+ visible_text?: string | undefined;
587
+ } | undefined;
588
+ email_hole?: string | undefined;
209
589
  url_template?: string | undefined;
210
590
  direction?: "down" | "up" | "bottom" | "top" | undefined;
211
591
  }>;
212
592
  }, "strict", z.ZodTypeAny, {
213
593
  action: {
214
- kind: "type" | "goto" | "click" | "extract" | "scroll" | "js_click" | "press" | "oauth_click" | "oauth_settle" | "allow_host" | "type_secret";
594
+ kind: "type" | "goto" | "click" | "extract" | "select" | "scroll" | "js_click" | "press" | "oauth_click" | "oauth_settle" | "allow_host" | "type_secret" | "set_phone_country" | "operate_pay";
215
595
  host?: string | undefined;
216
596
  key?: string | undefined;
217
597
  slot?: string | undefined;
218
- value?: string | undefined;
598
+ value?: string | {
599
+ hole: string;
600
+ } | undefined;
219
601
  text_match?: string | undefined;
602
+ target?: {
603
+ css?: string | undefined;
604
+ near_text_hint?: string | undefined;
605
+ dom_hint?: {
606
+ id?: string | undefined;
607
+ name?: string | undefined;
608
+ testid?: string | undefined;
609
+ } | undefined;
610
+ role_hint?: string | undefined;
611
+ accessible_name?: string | undefined;
612
+ href_hint?: string | undefined;
613
+ visible_text?: string | undefined;
614
+ } | undefined;
615
+ email_hole?: string | undefined;
220
616
  url_template?: string | undefined;
221
617
  direction?: "down" | "up" | "bottom" | "top" | undefined;
222
618
  };
223
619
  intent?: string | undefined;
224
620
  }, {
225
621
  action: {
226
- kind: "type" | "goto" | "click" | "extract" | "scroll" | "js_click" | "press" | "oauth_click" | "oauth_settle" | "allow_host" | "type_secret";
622
+ kind: "type" | "goto" | "click" | "extract" | "select" | "scroll" | "js_click" | "press" | "oauth_click" | "oauth_settle" | "allow_host" | "type_secret" | "set_phone_country" | "operate_pay";
227
623
  host?: string | undefined;
228
624
  key?: string | undefined;
229
625
  slot?: string | undefined;
230
- value?: string | undefined;
626
+ value?: string | {
627
+ hole: string;
628
+ } | undefined;
231
629
  text_match?: string | undefined;
630
+ target?: {
631
+ css?: string | undefined;
632
+ near_text_hint?: string | undefined;
633
+ dom_hint?: {
634
+ id?: string | undefined;
635
+ name?: string | undefined;
636
+ testid?: string | undefined;
637
+ } | undefined;
638
+ role_hint?: string | undefined;
639
+ accessible_name?: string | undefined;
640
+ href_hint?: string | undefined;
641
+ visible_text?: string | undefined;
642
+ } | undefined;
643
+ email_hole?: string | undefined;
232
644
  url_template?: string | undefined;
233
645
  direction?: "down" | "up" | "bottom" | "top" | undefined;
234
646
  };
@@ -247,7 +659,7 @@ export declare const OperatorRecipeSchema: z.ZodObject<{
247
659
  stored: false;
248
660
  sealed_from?: string | undefined;
249
661
  }>, "many">>;
250
- postcondition: z.ZodObject<{
662
+ postcondition: z.ZodEffects<z.ZodObject<{
251
663
  kind: z.ZodEnum<["execute_capability", "observe_artifact"]>;
252
664
  describe: z.ZodString;
253
665
  success_signal: z.ZodUnion<[z.ZodObject<{
@@ -272,7 +684,8 @@ export declare const OperatorRecipeSchema: z.ZodObject<{
272
684
  }, {
273
685
  url_contains: string;
274
686
  }>]>;
275
- probe_url: z.ZodOptional<z.ZodString>;
687
+ probe_url: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
688
+ email_hole: z.ZodOptional<z.ZodString>;
276
689
  }, "strict", z.ZodTypeAny, {
277
690
  kind: "execute_capability" | "observe_artifact";
278
691
  describe: string;
@@ -284,6 +697,7 @@ export declare const OperatorRecipeSchema: z.ZodObject<{
284
697
  } | {
285
698
  url_contains: string;
286
699
  };
700
+ email_hole?: string | undefined;
287
701
  probe_url?: string | undefined;
288
702
  }, {
289
703
  kind: "execute_capability" | "observe_artifact";
@@ -296,18 +710,61 @@ export declare const OperatorRecipeSchema: z.ZodObject<{
296
710
  } | {
297
711
  url_contains: string;
298
712
  };
713
+ email_hole?: string | undefined;
714
+ probe_url?: string | undefined;
715
+ }>, {
716
+ kind: "execute_capability" | "observe_artifact";
717
+ describe: string;
718
+ success_signal: {
719
+ field_text: string;
720
+ min_value_len: number;
721
+ } | {
722
+ text_present: string;
723
+ } | {
724
+ url_contains: string;
725
+ };
726
+ email_hole?: string | undefined;
727
+ probe_url?: string | undefined;
728
+ }, {
729
+ kind: "execute_capability" | "observe_artifact";
730
+ describe: string;
731
+ success_signal: {
732
+ field_text: string;
733
+ min_value_len: number;
734
+ } | {
735
+ text_present: string;
736
+ } | {
737
+ url_contains: string;
738
+ };
739
+ email_hole?: string | undefined;
299
740
  probe_url?: string | undefined;
300
741
  }>;
301
742
  }, "strict", z.ZodTypeAny, {
302
743
  name: string;
303
744
  trace: {
304
745
  action: {
305
- kind: "type" | "goto" | "click" | "extract" | "scroll" | "js_click" | "press" | "oauth_click" | "oauth_settle" | "allow_host" | "type_secret";
746
+ kind: "type" | "goto" | "click" | "extract" | "select" | "scroll" | "js_click" | "press" | "oauth_click" | "oauth_settle" | "allow_host" | "type_secret" | "set_phone_country" | "operate_pay";
306
747
  host?: string | undefined;
307
748
  key?: string | undefined;
308
749
  slot?: string | undefined;
309
- value?: string | undefined;
750
+ value?: string | {
751
+ hole: string;
752
+ } | undefined;
310
753
  text_match?: string | undefined;
754
+ target?: {
755
+ css?: string | undefined;
756
+ near_text_hint?: string | undefined;
757
+ dom_hint?: {
758
+ id?: string | undefined;
759
+ name?: string | undefined;
760
+ testid?: string | undefined;
761
+ } | undefined;
762
+ role_hint?: string | undefined;
763
+ accessible_name?: string | undefined;
764
+ href_hint?: string | undefined;
765
+ visible_text?: string | undefined;
766
+ } | undefined;
767
+ email_hole?: string | undefined;
311
768
  url_template?: string | undefined;
312
769
  direction?: "down" | "up" | "bottom" | "top" | undefined;
313
770
  };
@@ -332,19 +789,39 @@ export declare const OperatorRecipeSchema: z.ZodObject<{
332
789
  } | {
333
790
  url_contains: string;
334
791
  };
792
+ email_hole?: string | undefined;
335
793
  probe_url?: string | undefined;
336
794
  };
795
+ verb?: "download" | "signup" | "login" | "purchase" | "get_api_key" | "subscribe" | "cancel" | "book" | "reserve" | "renew" | "upgrade" | "downgrade" | "add_to_cart" | "checkout" | "configure" | undefined;
796
+ domain?: string | undefined;
337
797
  entry_url?: string | undefined;
798
+ entry_mode?: "runtime_service_url" | undefined;
338
799
  }, {
339
800
  name: string;
340
801
  trace: {
341
802
  action: {
342
- kind: "type" | "goto" | "click" | "extract" | "scroll" | "js_click" | "press" | "oauth_click" | "oauth_settle" | "allow_host" | "type_secret";
803
+ kind: "type" | "goto" | "click" | "extract" | "select" | "scroll" | "js_click" | "press" | "oauth_click" | "oauth_settle" | "allow_host" | "type_secret" | "set_phone_country" | "operate_pay";
343
804
  host?: string | undefined;
344
805
  key?: string | undefined;
345
806
  slot?: string | undefined;
346
- value?: string | undefined;
807
+ value?: string | {
808
+ hole: string;
809
+ } | undefined;
347
810
  text_match?: string | undefined;
811
+ target?: {
812
+ css?: string | undefined;
813
+ near_text_hint?: string | undefined;
814
+ dom_hint?: {
815
+ id?: string | undefined;
816
+ name?: string | undefined;
817
+ testid?: string | undefined;
818
+ } | undefined;
819
+ role_hint?: string | undefined;
820
+ accessible_name?: string | undefined;
821
+ href_hint?: string | undefined;
822
+ visible_text?: string | undefined;
823
+ } | undefined;
824
+ email_hole?: string | undefined;
348
825
  url_template?: string | undefined;
349
826
  direction?: "down" | "up" | "bottom" | "top" | undefined;
350
827
  };
@@ -363,9 +840,127 @@ export declare const OperatorRecipeSchema: z.ZodObject<{
363
840
  } | {
364
841
  url_contains: string;
365
842
  };
843
+ email_hole?: string | undefined;
366
844
  probe_url?: string | undefined;
367
845
  };
846
+ verb?: "download" | "signup" | "login" | "purchase" | "get_api_key" | "subscribe" | "cancel" | "book" | "reserve" | "renew" | "upgrade" | "downgrade" | "add_to_cart" | "checkout" | "configure" | undefined;
847
+ domain?: string | undefined;
368
848
  entry_url?: string | undefined;
849
+ entry_mode?: "runtime_service_url" | undefined;
850
+ allowed_hosts?: string[] | undefined;
851
+ secrets?: {
852
+ slot: string;
853
+ stored: false;
854
+ sealed_from?: string | undefined;
855
+ }[] | undefined;
856
+ }>, {
857
+ name: string;
858
+ trace: {
859
+ action: {
860
+ kind: "type" | "goto" | "click" | "extract" | "select" | "scroll" | "js_click" | "press" | "oauth_click" | "oauth_settle" | "allow_host" | "type_secret" | "set_phone_country" | "operate_pay";
861
+ host?: string | undefined;
862
+ key?: string | undefined;
863
+ slot?: string | undefined;
864
+ value?: string | {
865
+ hole: string;
866
+ } | undefined;
867
+ text_match?: string | undefined;
868
+ target?: {
869
+ css?: string | undefined;
870
+ near_text_hint?: string | undefined;
871
+ dom_hint?: {
872
+ id?: string | undefined;
873
+ name?: string | undefined;
874
+ testid?: string | undefined;
875
+ } | undefined;
876
+ role_hint?: string | undefined;
877
+ accessible_name?: string | undefined;
878
+ href_hint?: string | undefined;
879
+ visible_text?: string | undefined;
880
+ } | undefined;
881
+ email_hole?: string | undefined;
882
+ url_template?: string | undefined;
883
+ direction?: "down" | "up" | "bottom" | "top" | undefined;
884
+ };
885
+ intent?: string | undefined;
886
+ }[];
887
+ schema_version: 1;
888
+ goal: string;
889
+ allowed_hosts: string[];
890
+ secrets: {
891
+ slot: string;
892
+ stored: false;
893
+ sealed_from?: string | undefined;
894
+ }[];
895
+ postcondition: {
896
+ kind: "execute_capability" | "observe_artifact";
897
+ describe: string;
898
+ success_signal: {
899
+ field_text: string;
900
+ min_value_len: number;
901
+ } | {
902
+ text_present: string;
903
+ } | {
904
+ url_contains: string;
905
+ };
906
+ email_hole?: string | undefined;
907
+ probe_url?: string | undefined;
908
+ };
909
+ verb?: "download" | "signup" | "login" | "purchase" | "get_api_key" | "subscribe" | "cancel" | "book" | "reserve" | "renew" | "upgrade" | "downgrade" | "add_to_cart" | "checkout" | "configure" | undefined;
910
+ domain?: string | undefined;
911
+ entry_url?: string | undefined;
912
+ entry_mode?: "runtime_service_url" | undefined;
913
+ }, {
914
+ name: string;
915
+ trace: {
916
+ action: {
917
+ kind: "type" | "goto" | "click" | "extract" | "select" | "scroll" | "js_click" | "press" | "oauth_click" | "oauth_settle" | "allow_host" | "type_secret" | "set_phone_country" | "operate_pay";
918
+ host?: string | undefined;
919
+ key?: string | undefined;
920
+ slot?: string | undefined;
921
+ value?: string | {
922
+ hole: string;
923
+ } | undefined;
924
+ text_match?: string | undefined;
925
+ target?: {
926
+ css?: string | undefined;
927
+ near_text_hint?: string | undefined;
928
+ dom_hint?: {
929
+ id?: string | undefined;
930
+ name?: string | undefined;
931
+ testid?: string | undefined;
932
+ } | undefined;
933
+ role_hint?: string | undefined;
934
+ accessible_name?: string | undefined;
935
+ href_hint?: string | undefined;
936
+ visible_text?: string | undefined;
937
+ } | undefined;
938
+ email_hole?: string | undefined;
939
+ url_template?: string | undefined;
940
+ direction?: "down" | "up" | "bottom" | "top" | undefined;
941
+ };
942
+ intent?: string | undefined;
943
+ }[];
944
+ schema_version: 1;
945
+ goal: string;
946
+ postcondition: {
947
+ kind: "execute_capability" | "observe_artifact";
948
+ describe: string;
949
+ success_signal: {
950
+ field_text: string;
951
+ min_value_len: number;
952
+ } | {
953
+ text_present: string;
954
+ } | {
955
+ url_contains: string;
956
+ };
957
+ email_hole?: string | undefined;
958
+ probe_url?: string | undefined;
959
+ };
960
+ verb?: "download" | "signup" | "login" | "purchase" | "get_api_key" | "subscribe" | "cancel" | "book" | "reserve" | "renew" | "upgrade" | "downgrade" | "add_to_cart" | "checkout" | "configure" | undefined;
961
+ domain?: string | undefined;
962
+ entry_url?: string | undefined;
963
+ entry_mode?: "runtime_service_url" | undefined;
369
964
  allowed_hosts?: string[] | undefined;
370
965
  secrets?: {
371
966
  slot: string;
@@ -375,8 +970,12 @@ export declare const OperatorRecipeSchema: z.ZodObject<{
375
970
  }>;
376
971
  export type OperatorRecipe = z.infer<typeof OperatorRecipeSchema>;
377
972
  export declare function operatorRecipeDir(): string;
973
+ /** Public-Suffix-List-backed local recipe domain; registry service slugs are unrelated. */
974
+ export declare function operatorRecipeDomain(url: string): string;
975
+ export declare function operatorRecipeKey(verb: OperatorVerb, url: string): string;
378
976
  export declare function writeRecipe(recipe: OperatorRecipe): Promise<string>;
379
977
  export declare function readRecipe(name: string): Promise<OperatorRecipe>;
978
+ export declare function readRecipeForTask(verb: OperatorVerb, serviceUrl: string): Promise<OperatorRecipe>;
380
979
  export declare function listRecipes(): Promise<string[]>;
381
980
  export declare function renderOperatorRecipeHint(recipe: OperatorRecipe): string;
382
981
  export interface PostconditionSnapshot {
@@ -397,7 +996,66 @@ export declare function fillTemplate(template: string, params: Record<string, st
397
996
  url: string;
398
997
  missing: string[];
399
998
  };
999
+ export interface KnownRecipeInputs {
1000
+ address?: Readonly<Record<string, string>> | undefined;
1001
+ contact?: Readonly<Record<string, string>> | undefined;
1002
+ product_query?: string | undefined;
1003
+ credential?: string | Readonly<Record<string, string>> | undefined;
1004
+ card?: string | Readonly<Record<string, string>> | undefined;
1005
+ quantity?: string | number | undefined;
1006
+ }
1007
+ export declare function knownRecipeInputValue(inputs: KnownRecipeInputs, hole: string): string | undefined;
1008
+ export declare function knownRecipeInputHolesForValue(inputs: KnownRecipeInputs, value: string): string[];
1009
+ /** Tag only exact, caller-proven values. Unknown literals deliberately remain literals. */
1010
+ export declare function tagProvenanceValue(value: string, inputs: KnownRecipeInputs): RecipeValue;
1011
+ export declare function tagTraceProvenance(trace: readonly TraceEntry[], inputs: KnownRecipeInputs): TraceEntry[];
1012
+ export declare function bindRecipeValue(value: RecipeValue, bindings: Readonly<Record<string, string>>): string;
1013
+ export declare function bindRecipeTarget(target: RecipeTarget, bindings: Readonly<Record<string, string>>, emailHole?: string): RecipeTarget;
1014
+ export declare function bindKnownEmailTemplate(value: string, bindings: Readonly<Record<string, string>>, emailHole?: string): string;
1015
+ export declare function bindRecipePostcondition(postcondition: Postcondition, bindings: Readonly<Record<string, string>>): Postcondition;
1016
+ export declare function cssEscapeRecipeValue(value: string): string;
1017
+ export interface RecipeTargetElement {
1018
+ tag?: string;
1019
+ testId?: string | null;
1020
+ id?: string | null;
1021
+ name?: string | null;
1022
+ role?: string | null;
1023
+ ariaLabel?: string | null;
1024
+ labelText?: string | null;
1025
+ visibleText?: string | null;
1026
+ iconLabel?: string | null;
1027
+ placeholder?: string | null;
1028
+ title?: string | null;
1029
+ href?: string | null;
1030
+ selector: string;
1031
+ value?: string | null;
1032
+ selectedOptionText?: string | null;
1033
+ }
1034
+ export type RecipeTargetResolution<T extends RecipeTargetElement> = {
1035
+ element: T;
1036
+ via: "testid" | "id" | "name" | "role+accessible-name" | "href" | "css" | "visible-text";
1037
+ };
1038
+ /** Ordered fallback. It is intentionally not a weighted/scored matcher. */
1039
+ export declare function resolveRecipeTarget<T extends RecipeTargetElement>(elements: readonly T[], target: RecipeTarget): RecipeTargetResolution<T> | null;
1040
+ export declare function resolveRecipeFieldTarget<T extends RecipeTargetElement>(elements: readonly T[], target: RecipeTarget): RecipeTargetResolution<T> | null;
1041
+ export declare function hasRecipeTargetCandidate<T extends RecipeTargetElement>(elements: readonly T[], target: RecipeTarget): boolean;
1042
+ export declare function resolveRecipeRepairTarget<T extends RecipeTargetElement>(elements: readonly T[], target: RecipeTarget): T | null;
1043
+ export interface FilledFieldExpectation {
1044
+ target: RecipeTarget;
1045
+ expected: string;
1046
+ hole?: string;
1047
+ kind?: "type" | "select";
1048
+ }
1049
+ export type FieldValueVerification = {
1050
+ ok: true;
1051
+ } | {
1052
+ ok: false;
1053
+ reason: "field_missing" | "field_value_mismatch";
1054
+ field: string;
1055
+ };
1056
+ /** Money-path guard: exact live values must equal every value Squire injected. */
1057
+ export declare function verifyFilledFieldValues(elements: readonly RecipeTargetElement[], expectedFields: readonly FilledFieldExpectation[]): FieldValueVerification;
400
1058
  export declare function isSingleUseUrl(rawUrl: string): boolean;
401
- export declare function recipeEntryUrl(recipe: OperatorRecipe): string | null;
1059
+ export declare function recipeEntryUrl(recipe: OperatorRecipe, runtimeServiceUrl?: string): string | null;
402
1060
  export {};
403
1061
  //# sourceMappingURL=operator-recipe.d.ts.map