@ripplo/testing 0.0.11 → 0.1.0

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.
@@ -1,11 +1,20 @@
1
1
  import { Codec } from '@ripplo/spec';
2
2
  import { z } from 'zod';
3
3
  import { CompileResult } from './compiler.js';
4
- import './builder-1kySbit_.js';
5
- import './step-DLfkKI3V.js';
4
+ import './builder-c7tXey03.js';
5
+ import './types-oYS_Yv4G.js';
6
+ import './step-De52hTLd.js';
6
7
 
7
8
  declare const LOCKFILE_RELATIVE_PATH = ".ripplo/ripplo.lock";
8
9
  declare const lockfileBodySchema: z.ZodObject<{
10
+ observers: z.ZodRecord<z.ZodString, z.ZodObject<{
11
+ budget: z.ZodEnum<{
12
+ fast: "fast";
13
+ slow: "slow";
14
+ async: "async";
15
+ }>;
16
+ description: z.ZodString;
17
+ }, z.core.$strip>>;
9
18
  preconditions: z.ZodRecord<z.ZodString, z.ZodObject<{
10
19
  depends: z.ZodOptional<z.ZodArray<z.ZodString>>;
11
20
  description: z.ZodString;
@@ -28,11 +37,10 @@ declare const lockfileBodySchema: z.ZodObject<{
28
37
  name: z.ZodString;
29
38
  type: z.ZodLiteral<"variable">;
30
39
  }, z.core.$strip>], "type">;
31
- comment: z.ZodOptional<z.ZodString>;
32
40
  id: z.ZodString;
33
41
  label: z.ZodOptional<z.ZodString>;
34
42
  next: z.ZodOptional<z.ZodString>;
35
- timeout: z.ZodOptional<z.ZodNumber>;
43
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
36
44
  }, z.core.$strip>, z.ZodObject<{
37
45
  locator: z.ZodDiscriminatedUnion<[z.ZodObject<{
38
46
  by: z.ZodLiteral<"testId">;
@@ -43,11 +51,10 @@ declare const lockfileBodySchema: z.ZodObject<{
43
51
  role: z.ZodString;
44
52
  }, z.core.$strip>], "by">;
45
53
  type: z.ZodLiteral<"click">;
46
- comment: z.ZodOptional<z.ZodString>;
47
54
  id: z.ZodString;
48
55
  label: z.ZodOptional<z.ZodString>;
49
56
  next: z.ZodOptional<z.ZodString>;
50
- timeout: z.ZodOptional<z.ZodNumber>;
57
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
51
58
  }, z.core.$strip>, z.ZodObject<{
52
59
  locator: z.ZodDiscriminatedUnion<[z.ZodObject<{
53
60
  by: z.ZodLiteral<"testId">;
@@ -65,11 +72,10 @@ declare const lockfileBodySchema: z.ZodObject<{
65
72
  name: z.ZodString;
66
73
  type: z.ZodLiteral<"variable">;
67
74
  }, z.core.$strip>], "type">;
68
- comment: z.ZodOptional<z.ZodString>;
69
75
  id: z.ZodString;
70
76
  label: z.ZodOptional<z.ZodString>;
71
77
  next: z.ZodOptional<z.ZodString>;
72
- timeout: z.ZodOptional<z.ZodNumber>;
78
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
73
79
  }, z.core.$strip>, z.ZodObject<{
74
80
  locator: z.ZodDiscriminatedUnion<[z.ZodObject<{
75
81
  by: z.ZodLiteral<"testId">;
@@ -87,11 +93,10 @@ declare const lockfileBodySchema: z.ZodObject<{
87
93
  name: z.ZodString;
88
94
  type: z.ZodLiteral<"variable">;
89
95
  }, z.core.$strip>], "type">;
90
- comment: z.ZodOptional<z.ZodString>;
91
96
  id: z.ZodString;
92
97
  label: z.ZodOptional<z.ZodString>;
93
98
  next: z.ZodOptional<z.ZodString>;
94
- timeout: z.ZodOptional<z.ZodNumber>;
99
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
95
100
  }, z.core.$strip>, z.ZodObject<{
96
101
  locator: z.ZodDiscriminatedUnion<[z.ZodObject<{
97
102
  by: z.ZodLiteral<"testId">;
@@ -102,11 +107,10 @@ declare const lockfileBodySchema: z.ZodObject<{
102
107
  role: z.ZodString;
103
108
  }, z.core.$strip>], "by">;
104
109
  type: z.ZodLiteral<"hover">;
105
- comment: z.ZodOptional<z.ZodString>;
106
110
  id: z.ZodString;
107
111
  label: z.ZodOptional<z.ZodString>;
108
112
  next: z.ZodOptional<z.ZodString>;
109
- timeout: z.ZodOptional<z.ZodNumber>;
113
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
110
114
  }, z.core.$strip>, z.ZodObject<{
111
115
  key: z.ZodString;
112
116
  locator: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -118,11 +122,10 @@ declare const lockfileBodySchema: z.ZodObject<{
118
122
  role: z.ZodString;
119
123
  }, z.core.$strip>], "by">>;
120
124
  type: z.ZodLiteral<"press">;
121
- comment: z.ZodOptional<z.ZodString>;
122
125
  id: z.ZodString;
123
126
  label: z.ZodOptional<z.ZodString>;
124
127
  next: z.ZodOptional<z.ZodString>;
125
- timeout: z.ZodOptional<z.ZodNumber>;
128
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
126
129
  }, z.core.$strip>, z.ZodObject<{
127
130
  locator: z.ZodDiscriminatedUnion<[z.ZodObject<{
128
131
  by: z.ZodLiteral<"testId">;
@@ -133,11 +136,10 @@ declare const lockfileBodySchema: z.ZodObject<{
133
136
  role: z.ZodString;
134
137
  }, z.core.$strip>], "by">;
135
138
  type: z.ZodLiteral<"check">;
136
- comment: z.ZodOptional<z.ZodString>;
137
139
  id: z.ZodString;
138
140
  label: z.ZodOptional<z.ZodString>;
139
141
  next: z.ZodOptional<z.ZodString>;
140
- timeout: z.ZodOptional<z.ZodNumber>;
142
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
141
143
  }, z.core.$strip>, z.ZodObject<{
142
144
  locator: z.ZodDiscriminatedUnion<[z.ZodObject<{
143
145
  by: z.ZodLiteral<"testId">;
@@ -148,11 +150,10 @@ declare const lockfileBodySchema: z.ZodObject<{
148
150
  role: z.ZodString;
149
151
  }, z.core.$strip>], "by">;
150
152
  type: z.ZodLiteral<"uncheck">;
151
- comment: z.ZodOptional<z.ZodString>;
152
153
  id: z.ZodString;
153
154
  label: z.ZodOptional<z.ZodString>;
154
155
  next: z.ZodOptional<z.ZodString>;
155
- timeout: z.ZodOptional<z.ZodNumber>;
156
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
156
157
  }, z.core.$strip>, z.ZodObject<{
157
158
  locator: z.ZodDiscriminatedUnion<[z.ZodObject<{
158
159
  by: z.ZodLiteral<"testId">;
@@ -163,11 +164,10 @@ declare const lockfileBodySchema: z.ZodObject<{
163
164
  role: z.ZodString;
164
165
  }, z.core.$strip>], "by">;
165
166
  type: z.ZodLiteral<"assertVisible">;
166
- comment: z.ZodOptional<z.ZodString>;
167
167
  id: z.ZodString;
168
168
  label: z.ZodOptional<z.ZodString>;
169
169
  next: z.ZodOptional<z.ZodString>;
170
- timeout: z.ZodOptional<z.ZodNumber>;
170
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
171
171
  }, z.core.$strip>, z.ZodObject<{
172
172
  locator: z.ZodDiscriminatedUnion<[z.ZodObject<{
173
173
  by: z.ZodLiteral<"testId">;
@@ -178,11 +178,10 @@ declare const lockfileBodySchema: z.ZodObject<{
178
178
  role: z.ZodString;
179
179
  }, z.core.$strip>], "by">;
180
180
  type: z.ZodLiteral<"assertNotVisible">;
181
- comment: z.ZodOptional<z.ZodString>;
182
181
  id: z.ZodString;
183
182
  label: z.ZodOptional<z.ZodString>;
184
183
  next: z.ZodOptional<z.ZodString>;
185
- timeout: z.ZodOptional<z.ZodNumber>;
184
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
186
185
  }, z.core.$strip>, z.ZodObject<{
187
186
  expected: z.ZodDiscriminatedUnion<[z.ZodObject<{
188
187
  type: z.ZodLiteral<"static">;
@@ -208,11 +207,10 @@ declare const lockfileBodySchema: z.ZodObject<{
208
207
  matches: "matches";
209
208
  }>;
210
209
  type: z.ZodLiteral<"assertText">;
211
- comment: z.ZodOptional<z.ZodString>;
212
210
  id: z.ZodString;
213
211
  label: z.ZodOptional<z.ZodString>;
214
212
  next: z.ZodOptional<z.ZodString>;
215
- timeout: z.ZodOptional<z.ZodNumber>;
213
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
216
214
  }, z.core.$strip>, z.ZodObject<{
217
215
  expected: z.ZodDiscriminatedUnion<[z.ZodObject<{
218
216
  type: z.ZodLiteral<"static">;
@@ -230,11 +228,10 @@ declare const lockfileBodySchema: z.ZodObject<{
230
228
  matches: "matches";
231
229
  }>;
232
230
  type: z.ZodLiteral<"assertUrl">;
233
- comment: z.ZodOptional<z.ZodString>;
234
231
  id: z.ZodString;
235
232
  label: z.ZodOptional<z.ZodString>;
236
233
  next: z.ZodOptional<z.ZodString>;
237
- timeout: z.ZodOptional<z.ZodNumber>;
234
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
238
235
  }, z.core.$strip>, z.ZodObject<{
239
236
  expected: z.ZodDiscriminatedUnion<[z.ZodObject<{
240
237
  type: z.ZodLiteral<"static">;
@@ -260,11 +257,10 @@ declare const lockfileBodySchema: z.ZodObject<{
260
257
  lessThanOrEqual: "lessThanOrEqual";
261
258
  }>;
262
259
  type: z.ZodLiteral<"assertCount">;
263
- comment: z.ZodOptional<z.ZodString>;
264
260
  id: z.ZodString;
265
261
  label: z.ZodOptional<z.ZodString>;
266
262
  next: z.ZodOptional<z.ZodString>;
267
- timeout: z.ZodOptional<z.ZodNumber>;
263
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
268
264
  }, z.core.$strip>, z.ZodObject<{
269
265
  expected: z.ZodDiscriminatedUnion<[z.ZodObject<{
270
266
  type: z.ZodLiteral<"static">;
@@ -290,11 +286,10 @@ declare const lockfileBodySchema: z.ZodObject<{
290
286
  matches: "matches";
291
287
  }>;
292
288
  type: z.ZodLiteral<"assertValue">;
293
- comment: z.ZodOptional<z.ZodString>;
294
289
  id: z.ZodString;
295
290
  label: z.ZodOptional<z.ZodString>;
296
291
  next: z.ZodOptional<z.ZodString>;
297
- timeout: z.ZodOptional<z.ZodNumber>;
292
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
298
293
  }, z.core.$strip>, z.ZodObject<{
299
294
  attribute: z.ZodString;
300
295
  expected: z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -321,11 +316,10 @@ declare const lockfileBodySchema: z.ZodObject<{
321
316
  matches: "matches";
322
317
  }>;
323
318
  type: z.ZodLiteral<"assertAttribute">;
324
- comment: z.ZodOptional<z.ZodString>;
325
319
  id: z.ZodString;
326
320
  label: z.ZodOptional<z.ZodString>;
327
321
  next: z.ZodOptional<z.ZodString>;
328
- timeout: z.ZodOptional<z.ZodNumber>;
322
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
329
323
  }, z.core.$strip>, z.ZodObject<{
330
324
  locator: z.ZodDiscriminatedUnion<[z.ZodObject<{
331
325
  by: z.ZodLiteral<"testId">;
@@ -336,11 +330,10 @@ declare const lockfileBodySchema: z.ZodObject<{
336
330
  role: z.ZodString;
337
331
  }, z.core.$strip>], "by">;
338
332
  type: z.ZodLiteral<"assertEnabled">;
339
- comment: z.ZodOptional<z.ZodString>;
340
333
  id: z.ZodString;
341
334
  label: z.ZodOptional<z.ZodString>;
342
335
  next: z.ZodOptional<z.ZodString>;
343
- timeout: z.ZodOptional<z.ZodNumber>;
336
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
344
337
  }, z.core.$strip>, z.ZodObject<{
345
338
  locator: z.ZodDiscriminatedUnion<[z.ZodObject<{
346
339
  by: z.ZodLiteral<"testId">;
@@ -351,28 +344,25 @@ declare const lockfileBodySchema: z.ZodObject<{
351
344
  role: z.ZodString;
352
345
  }, z.core.$strip>], "by">;
353
346
  type: z.ZodLiteral<"assertDisabled">;
354
- comment: z.ZodOptional<z.ZodString>;
355
347
  id: z.ZodString;
356
348
  label: z.ZodOptional<z.ZodString>;
357
349
  next: z.ZodOptional<z.ZodString>;
358
- timeout: z.ZodOptional<z.ZodNumber>;
350
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
359
351
  }, z.core.$strip>, z.ZodObject<{
360
352
  height: z.ZodNumber;
361
353
  type: z.ZodLiteral<"setViewport">;
362
354
  width: z.ZodNumber;
363
- comment: z.ZodOptional<z.ZodString>;
364
355
  id: z.ZodString;
365
356
  label: z.ZodOptional<z.ZodString>;
366
357
  next: z.ZodOptional<z.ZodString>;
367
- timeout: z.ZodOptional<z.ZodNumber>;
358
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
368
359
  }, z.core.$strip>, z.ZodObject<{
369
360
  message: z.ZodString;
370
361
  type: z.ZodLiteral<"fail">;
371
- comment: z.ZodOptional<z.ZodString>;
372
362
  id: z.ZodString;
373
363
  label: z.ZodOptional<z.ZodString>;
374
364
  next: z.ZodOptional<z.ZodString>;
375
- timeout: z.ZodOptional<z.ZodNumber>;
365
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
376
366
  }, z.core.$strip>, z.ZodObject<{
377
367
  type: z.ZodLiteral<"setVariable">;
378
368
  value: z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -383,11 +373,10 @@ declare const lockfileBodySchema: z.ZodObject<{
383
373
  type: z.ZodLiteral<"variable">;
384
374
  }, z.core.$strip>], "type">;
385
375
  variable: z.ZodString;
386
- comment: z.ZodOptional<z.ZodString>;
387
376
  id: z.ZodString;
388
377
  label: z.ZodOptional<z.ZodString>;
389
378
  next: z.ZodOptional<z.ZodString>;
390
- timeout: z.ZodOptional<z.ZodNumber>;
379
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
391
380
  }, z.core.$strip>, z.ZodObject<{
392
381
  locator: z.ZodDiscriminatedUnion<[z.ZodObject<{
393
382
  by: z.ZodLiteral<"testId">;
@@ -399,11 +388,10 @@ declare const lockfileBodySchema: z.ZodObject<{
399
388
  }, z.core.$strip>], "by">;
400
389
  type: z.ZodLiteral<"extractText">;
401
390
  variable: z.ZodString;
402
- comment: z.ZodOptional<z.ZodString>;
403
391
  id: z.ZodString;
404
392
  label: z.ZodOptional<z.ZodString>;
405
393
  next: z.ZodOptional<z.ZodString>;
406
- timeout: z.ZodOptional<z.ZodNumber>;
394
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
407
395
  }, z.core.$strip>, z.ZodObject<{
408
396
  files: z.ZodArray<z.ZodString>;
409
397
  locator: z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -415,11 +403,10 @@ declare const lockfileBodySchema: z.ZodObject<{
415
403
  role: z.ZodString;
416
404
  }, z.core.$strip>], "by">;
417
405
  type: z.ZodLiteral<"upload">;
418
- comment: z.ZodOptional<z.ZodString>;
419
406
  id: z.ZodString;
420
407
  label: z.ZodOptional<z.ZodString>;
421
408
  next: z.ZodOptional<z.ZodString>;
422
- timeout: z.ZodOptional<z.ZodNumber>;
409
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
423
410
  }, z.core.$strip>, z.ZodObject<{
424
411
  locator: z.ZodDiscriminatedUnion<[z.ZodObject<{
425
412
  by: z.ZodLiteral<"testId">;
@@ -430,11 +417,10 @@ declare const lockfileBodySchema: z.ZodObject<{
430
417
  role: z.ZodString;
431
418
  }, z.core.$strip>], "by">;
432
419
  type: z.ZodLiteral<"dblclick">;
433
- comment: z.ZodOptional<z.ZodString>;
434
420
  id: z.ZodString;
435
421
  label: z.ZodOptional<z.ZodString>;
436
422
  next: z.ZodOptional<z.ZodString>;
437
- timeout: z.ZodOptional<z.ZodNumber>;
423
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
438
424
  }, z.core.$strip>, z.ZodObject<{
439
425
  source: z.ZodDiscriminatedUnion<[z.ZodObject<{
440
426
  by: z.ZodLiteral<"testId">;
@@ -453,11 +439,10 @@ declare const lockfileBodySchema: z.ZodObject<{
453
439
  role: z.ZodString;
454
440
  }, z.core.$strip>], "by">;
455
441
  type: z.ZodLiteral<"drag">;
456
- comment: z.ZodOptional<z.ZodString>;
457
442
  id: z.ZodString;
458
443
  label: z.ZodOptional<z.ZodString>;
459
444
  next: z.ZodOptional<z.ZodString>;
460
- timeout: z.ZodOptional<z.ZodNumber>;
445
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
461
446
  }, z.core.$strip>, z.ZodObject<{
462
447
  locator: z.ZodDiscriminatedUnion<[z.ZodObject<{
463
448
  by: z.ZodLiteral<"testId">;
@@ -468,11 +453,10 @@ declare const lockfileBodySchema: z.ZodObject<{
468
453
  role: z.ZodString;
469
454
  }, z.core.$strip>], "by">;
470
455
  type: z.ZodLiteral<"scrollIntoView">;
471
- comment: z.ZodOptional<z.ZodString>;
472
456
  id: z.ZodString;
473
457
  label: z.ZodOptional<z.ZodString>;
474
458
  next: z.ZodOptional<z.ZodString>;
475
- timeout: z.ZodOptional<z.ZodNumber>;
459
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
476
460
  }, z.core.$strip>, z.ZodObject<{
477
461
  locator: z.ZodDiscriminatedUnion<[z.ZodObject<{
478
462
  by: z.ZodLiteral<"testId">;
@@ -490,11 +474,10 @@ declare const lockfileBodySchema: z.ZodObject<{
490
474
  name: z.ZodString;
491
475
  type: z.ZodLiteral<"variable">;
492
476
  }, z.core.$strip>], "type">;
493
- comment: z.ZodOptional<z.ZodString>;
494
477
  id: z.ZodString;
495
478
  label: z.ZodOptional<z.ZodString>;
496
479
  next: z.ZodOptional<z.ZodString>;
497
- timeout: z.ZodOptional<z.ZodNumber>;
480
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
498
481
  }, z.core.$strip>, z.ZodObject<{
499
482
  locator: z.ZodDiscriminatedUnion<[z.ZodObject<{
500
483
  by: z.ZodLiteral<"testId">;
@@ -505,11 +488,10 @@ declare const lockfileBodySchema: z.ZodObject<{
505
488
  role: z.ZodString;
506
489
  }, z.core.$strip>], "by">;
507
490
  type: z.ZodLiteral<"focus">;
508
- comment: z.ZodOptional<z.ZodString>;
509
491
  id: z.ZodString;
510
492
  label: z.ZodOptional<z.ZodString>;
511
493
  next: z.ZodOptional<z.ZodString>;
512
- timeout: z.ZodOptional<z.ZodNumber>;
494
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
513
495
  }, z.core.$strip>, z.ZodObject<{
514
496
  locator: z.ZodDiscriminatedUnion<[z.ZodObject<{
515
497
  by: z.ZodLiteral<"testId">;
@@ -520,11 +502,10 @@ declare const lockfileBodySchema: z.ZodObject<{
520
502
  role: z.ZodString;
521
503
  }, z.core.$strip>], "by">;
522
504
  type: z.ZodLiteral<"clear">;
523
- comment: z.ZodOptional<z.ZodString>;
524
505
  id: z.ZodString;
525
506
  label: z.ZodOptional<z.ZodString>;
526
507
  next: z.ZodOptional<z.ZodString>;
527
- timeout: z.ZodOptional<z.ZodNumber>;
508
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
528
509
  }, z.core.$strip>, z.ZodObject<{
529
510
  locator: z.ZodDiscriminatedUnion<[z.ZodObject<{
530
511
  by: z.ZodLiteral<"testId">;
@@ -535,11 +516,10 @@ declare const lockfileBodySchema: z.ZodObject<{
535
516
  role: z.ZodString;
536
517
  }, z.core.$strip>], "by">;
537
518
  type: z.ZodLiteral<"rightClick">;
538
- comment: z.ZodOptional<z.ZodString>;
539
519
  id: z.ZodString;
540
520
  label: z.ZodOptional<z.ZodString>;
541
521
  next: z.ZodOptional<z.ZodString>;
542
- timeout: z.ZodOptional<z.ZodNumber>;
522
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
543
523
  }, z.core.$strip>, z.ZodObject<{
544
524
  action: z.ZodEnum<{
545
525
  accept: "accept";
@@ -547,11 +527,10 @@ declare const lockfileBodySchema: z.ZodObject<{
547
527
  }>;
548
528
  promptText: z.ZodOptional<z.ZodString>;
549
529
  type: z.ZodLiteral<"handleDialog">;
550
- comment: z.ZodOptional<z.ZodString>;
551
530
  id: z.ZodString;
552
531
  label: z.ZodOptional<z.ZodString>;
553
532
  next: z.ZodOptional<z.ZodString>;
554
- timeout: z.ZodOptional<z.ZodNumber>;
533
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
555
534
  }, z.core.$strip>, z.ZodObject<{
556
535
  action: z.ZodEnum<{
557
536
  read: "read";
@@ -566,11 +545,10 @@ declare const lockfileBodySchema: z.ZodObject<{
566
545
  type: z.ZodLiteral<"variable">;
567
546
  }, z.core.$strip>], "type">>;
568
547
  variable: z.ZodOptional<z.ZodString>;
569
- comment: z.ZodOptional<z.ZodString>;
570
548
  id: z.ZodString;
571
549
  label: z.ZodOptional<z.ZodString>;
572
550
  next: z.ZodOptional<z.ZodString>;
573
- timeout: z.ZodOptional<z.ZodNumber>;
551
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
574
552
  }, z.core.$strip>, z.ZodObject<{
575
553
  permission: z.ZodString;
576
554
  state: z.ZodEnum<{
@@ -578,11 +556,10 @@ declare const lockfileBodySchema: z.ZodObject<{
578
556
  prompt: "prompt";
579
557
  }>;
580
558
  type: z.ZodLiteral<"setPermission">;
581
- comment: z.ZodOptional<z.ZodString>;
582
559
  id: z.ZodString;
583
560
  label: z.ZodOptional<z.ZodString>;
584
561
  next: z.ZodOptional<z.ZodString>;
585
- timeout: z.ZodOptional<z.ZodNumber>;
562
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
586
563
  }, z.core.$strip>, z.ZodObject<{
587
564
  expected: z.ZodDiscriminatedUnion<[z.ZodObject<{
588
565
  type: z.ZodLiteral<"static">;
@@ -600,11 +577,10 @@ declare const lockfileBodySchema: z.ZodObject<{
600
577
  matches: "matches";
601
578
  }>;
602
579
  type: z.ZodLiteral<"assertTitle">;
603
- comment: z.ZodOptional<z.ZodString>;
604
580
  id: z.ZodString;
605
581
  label: z.ZodOptional<z.ZodString>;
606
582
  next: z.ZodOptional<z.ZodString>;
607
- timeout: z.ZodOptional<z.ZodNumber>;
583
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
608
584
  }, z.core.$strip>, z.ZodObject<{
609
585
  locator: z.ZodDiscriminatedUnion<[z.ZodObject<{
610
586
  by: z.ZodLiteral<"testId">;
@@ -615,11 +591,10 @@ declare const lockfileBodySchema: z.ZodObject<{
615
591
  role: z.ZodString;
616
592
  }, z.core.$strip>], "by">;
617
593
  type: z.ZodLiteral<"assertChecked">;
618
- comment: z.ZodOptional<z.ZodString>;
619
594
  id: z.ZodString;
620
595
  label: z.ZodOptional<z.ZodString>;
621
596
  next: z.ZodOptional<z.ZodString>;
622
- timeout: z.ZodOptional<z.ZodNumber>;
597
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
623
598
  }, z.core.$strip>, z.ZodObject<{
624
599
  locator: z.ZodDiscriminatedUnion<[z.ZodObject<{
625
600
  by: z.ZodLiteral<"testId">;
@@ -630,11 +605,10 @@ declare const lockfileBodySchema: z.ZodObject<{
630
605
  role: z.ZodString;
631
606
  }, z.core.$strip>], "by">;
632
607
  type: z.ZodLiteral<"assertNotChecked">;
633
- comment: z.ZodOptional<z.ZodString>;
634
608
  id: z.ZodString;
635
609
  label: z.ZodOptional<z.ZodString>;
636
610
  next: z.ZodOptional<z.ZodString>;
637
- timeout: z.ZodOptional<z.ZodNumber>;
611
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
638
612
  }, z.core.$strip>, z.ZodObject<{
639
613
  locator: z.ZodDiscriminatedUnion<[z.ZodObject<{
640
614
  by: z.ZodLiteral<"testId">;
@@ -645,11 +619,10 @@ declare const lockfileBodySchema: z.ZodObject<{
645
619
  role: z.ZodString;
646
620
  }, z.core.$strip>], "by">;
647
621
  type: z.ZodLiteral<"assertFocused">;
648
- comment: z.ZodOptional<z.ZodString>;
649
622
  id: z.ZodString;
650
623
  label: z.ZodOptional<z.ZodString>;
651
624
  next: z.ZodOptional<z.ZodString>;
652
- timeout: z.ZodOptional<z.ZodNumber>;
625
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
653
626
  }, z.core.$strip>, z.ZodObject<{
654
627
  locator: z.ZodDiscriminatedUnion<[z.ZodObject<{
655
628
  by: z.ZodLiteral<"testId">;
@@ -660,12 +633,31 @@ declare const lockfileBodySchema: z.ZodObject<{
660
633
  role: z.ZodString;
661
634
  }, z.core.$strip>], "by">;
662
635
  type: z.ZodLiteral<"assertNotFocused">;
663
- comment: z.ZodOptional<z.ZodString>;
664
636
  id: z.ZodString;
665
637
  label: z.ZodOptional<z.ZodString>;
666
638
  next: z.ZodOptional<z.ZodString>;
667
- timeout: z.ZodOptional<z.ZodNumber>;
639
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
640
+ }, z.core.$strip>, z.ZodObject<{
641
+ budget: z.ZodEnum<{
642
+ fast: "fast";
643
+ slow: "slow";
644
+ async: "async";
645
+ }>;
646
+ observer: z.ZodString;
647
+ params: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
648
+ type: z.ZodLiteral<"static">;
649
+ value: z.ZodString;
650
+ }, z.core.$strip>, z.ZodObject<{
651
+ name: z.ZodString;
652
+ type: z.ZodLiteral<"variable">;
653
+ }, z.core.$strip>], "type">>;
654
+ type: z.ZodLiteral<"assertObserver">;
655
+ id: z.ZodString;
656
+ label: z.ZodOptional<z.ZodString>;
657
+ next: z.ZodOptional<z.ZodString>;
658
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
668
659
  }, z.core.$strip>], "type">>;
660
+ uiOnly: z.ZodOptional<z.ZodBoolean>;
669
661
  variableNamespaces: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
670
662
  variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
671
663
  default: z.ZodOptional<z.ZodString>;
package/dist/lockfile.js CHANGED
@@ -216,11 +216,10 @@ var variableDefSchema = z6.discriminatedUnion("type", [
216
216
 
217
217
  // ../spec/src/schema.ts
218
218
  var nodeBase = {
219
- comment: z7.string().max(2e3).optional(),
220
219
  id: z7.string().min(1).max(200),
221
220
  label: z7.string().max(500).optional(),
222
221
  next: z7.string().max(200).optional(),
223
- timeout: z7.number().int().positive().optional()
222
+ uiOnly: z7.boolean().optional()
224
223
  };
225
224
  var MAX_NODES_PER_WORKFLOW = 500;
226
225
  var gotoNode = z7.object({
@@ -408,6 +407,13 @@ var assertNotFocusedNode = z7.object({
408
407
  locator: locatorSchema,
409
408
  type: z7.literal("assertNotFocused")
410
409
  });
410
+ var assertObserverNode = z7.object({
411
+ ...nodeBase,
412
+ budget: z7.enum(["fast", "slow", "async"]),
413
+ observer: z7.string().min(1).max(200),
414
+ params: z7.record(z7.string().max(200), stringValueRefSchema),
415
+ type: z7.literal("assertObserver")
416
+ });
411
417
  var specNodeSchema = z7.discriminatedUnion("type", [
412
418
  gotoNode,
413
419
  clickNode,
@@ -445,7 +451,8 @@ var specNodeSchema = z7.discriminatedUnion("type", [
445
451
  assertCheckedNode,
446
452
  assertNotCheckedNode,
447
453
  assertFocusedNode,
448
- assertNotFocusedNode
454
+ assertNotFocusedNode,
455
+ assertObserverNode
449
456
  ]);
450
457
  var workflowSpecSchema = z7.object({
451
458
  entryNode: z7.string().min(1).max(200),
@@ -453,6 +460,7 @@ var workflowSpecSchema = z7.object({
453
460
  (nodes) => Object.keys(nodes).length <= MAX_NODES_PER_WORKFLOW,
454
461
  `Workflow has more than ${String(MAX_NODES_PER_WORKFLOW)} nodes`
455
462
  ),
463
+ uiOnly: z7.boolean().optional(),
456
464
  variableNamespaces: z7.record(z7.string().max(200), z7.string().max(500)).optional(),
457
465
  variables: z7.record(z7.string().max(200), variableDefSchema).optional()
458
466
  });
@@ -470,26 +478,38 @@ var looksLikePreconditionMap = {
470
478
  var workflowSpecCodec = defineCodec("workflow-spec").legacy(looksLikeWorkflowSpec).initial(workflowSpecSchema).build();
471
479
  var preconditionMapCodec = defineCodec("precondition-map").legacy(looksLikePreconditionMap).initial(preconditionMapSchema).build();
472
480
 
473
- // src/lockfile.ts
481
+ // ../spec/src/observer.ts
474
482
  import { z as z9 } from "zod";
483
+ var OBSERVER_BUDGETS = ["fast", "slow", "async"];
484
+ var observerSchema = z9.object({
485
+ budget: z9.enum(OBSERVER_BUDGETS).describe("Polling budget tier: fast | slow | async"),
486
+ description: z9.string().min(1).describe("Human-readable description of what this observer checks")
487
+ }).describe(
488
+ "A named backend state observer. Tests assert against it with assert.backend(observer, params). Implementation lives on the user's server."
489
+ );
490
+
491
+ // src/lockfile.ts
492
+ import { z as z10 } from "zod";
475
493
  var LOCKFILE_RELATIVE_PATH = ".ripplo/ripplo.lock";
476
494
  var MAX_TESTS = 5e3;
477
- var requiresKeysSchema = z9.record(z9.string().max(200), z9.string().max(200));
478
- var compiledTestSchema = z9.object({
479
- expectedOutcome: z9.string().max(2e3),
480
- name: z9.string().max(200),
481
- preconditions: z9.array(z9.string().max(200)).max(1e3),
495
+ var requiresKeysSchema = z10.record(z10.string().max(200), z10.string().max(200));
496
+ var compiledTestSchema = z10.object({
497
+ expectedOutcome: z10.string().max(2e3),
498
+ name: z10.string().max(200),
499
+ preconditions: z10.array(z10.string().max(200)).max(1e3),
482
500
  requiresKeys: requiresKeysSchema,
483
- slug: z9.string().max(200),
501
+ slug: z10.string().max(200),
484
502
  spec: workflowSpecSchema
485
503
  });
486
- var lockfileBodySchema = z9.object({
487
- preconditions: z9.record(z9.string().max(200), preconditionSchema),
488
- tests: z9.array(compiledTestSchema).max(MAX_TESTS)
504
+ var lockfileBodySchema = z10.object({
505
+ observers: z10.record(z10.string().max(200), observerSchema),
506
+ preconditions: z10.record(z10.string().max(200), preconditionSchema),
507
+ tests: z10.array(compiledTestSchema).max(MAX_TESTS)
489
508
  });
490
509
  var lockfileCodec = defineCodec("ripplo-lockfile").initial(lockfileBodySchema).build();
491
510
  function compileResultToLockfile(result) {
492
511
  return {
512
+ observers: result.observers,
493
513
  preconditions: result.preconditions,
494
514
  tests: result.tests.filter((test) => test.implemented).map((test) => ({
495
515
  expectedOutcome: test.expectedOutcome,
package/dist/nextjs.d.ts CHANGED
@@ -1,6 +1,7 @@
1
- import { R as RipploBuilder } from './builder-1kySbit_.js';
1
+ import { R as RipploBuilder } from './builder-c7tXey03.js';
2
+ import './types-oYS_Yv4G.js';
2
3
  import 'zod';
3
- import './step-DLfkKI3V.js';
4
+ import './step-De52hTLd.js';
4
5
  import '@ripplo/spec';
5
6
 
6
7
  interface CreateNextHandlerParams {