@zapier/policy-context 2.0.0 → 3.0.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.
package/dist/index.d.ts CHANGED
@@ -149,7 +149,9 @@ declare const ActionRunContextSchema: z.ZodPipe<z.ZodObject<{
149
149
  reason: z.ZodOptional<z.ZodString>;
150
150
  }, z.core.$strip>, z.ZodTransform<{
151
151
  reason?: string | undefined;
152
- inputs?: z.core.util.JSONType | undefined;
152
+ inputs?: string | number | boolean | z.core.util.JSONType[] | {
153
+ [key: string]: z.core.util.JSONType;
154
+ } | undefined;
153
155
  connection_id?: string | undefined;
154
156
  request_type: "action_run";
155
157
  resource: string;
@@ -210,7 +212,9 @@ declare const RequestContextSchema: z.ZodUnion<readonly [z.ZodObject<{
210
212
  reason: z.ZodOptional<z.ZodString>;
211
213
  }, z.core.$strip>, z.ZodTransform<{
212
214
  reason?: string | undefined;
213
- inputs?: z.core.util.JSONType | undefined;
215
+ inputs?: string | number | boolean | z.core.util.JSONType[] | {
216
+ [key: string]: z.core.util.JSONType;
217
+ } | undefined;
214
218
  connection_id?: string | undefined;
215
219
  request_type: "action_run";
216
220
  resource: string;
@@ -342,7 +346,492 @@ declare function buildBroadActionResource(parts: Pick<ActionResourceParts, "sele
342
346
  * This is the single source of truth for "allow this exact request" instant policies.
343
347
  * Used by the web UI and anywhere else that needs to produce an exact policy from a context.
344
348
  */
345
- declare function toExactPolicy(context: RequestContext): Policy;
349
+ declare function toExactPolicy(context: RequestContext): Extract<Policy, {
350
+ version: 3;
351
+ }>;
352
+
353
+ declare const ActionResourcePatternSchema: z.ZodString;
354
+ declare const ZapierPolicySchema: z.ZodUnion<readonly [z.ZodObject<{
355
+ version: z.ZodLiteral<1>;
356
+ statements: z.ZodArray<z.ZodObject<{
357
+ id: z.ZodOptional<z.ZodString>;
358
+ effect: z.ZodEnum<{
359
+ allow: "allow";
360
+ deny: "deny";
361
+ }>;
362
+ permissions: z.ZodArray<z.ZodString>;
363
+ resources: z.ZodArray<z.ZodString>;
364
+ conditions: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
365
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
366
+ operator: z.ZodLiteral<"equals">;
367
+ value: z.ZodJSONSchema;
368
+ }, z.core.$strict>, z.ZodObject<{
369
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
370
+ operator: z.ZodLiteral<"in">;
371
+ value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
372
+ }, z.core.$strict>, z.ZodObject<{
373
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
374
+ operator: z.ZodLiteral<"matches">;
375
+ value: z.ZodString;
376
+ }, z.core.$strict>, z.ZodObject<{
377
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
378
+ operator: z.ZodLiteral<"matches_host">;
379
+ value: z.ZodString;
380
+ }, z.core.$strict>, z.ZodObject<{
381
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
382
+ operator: z.ZodLiteral<"matches_path">;
383
+ value: z.ZodString;
384
+ }, z.core.$strict>, z.ZodObject<{
385
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
386
+ operator: z.ZodLiteral<"range">;
387
+ value: z.ZodObject<{
388
+ min: z.ZodOptional<z.ZodNumber>;
389
+ max: z.ZodOptional<z.ZodNumber>;
390
+ }, z.core.$strict>;
391
+ }, z.core.$strict>, z.ZodObject<{
392
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
393
+ operator: z.ZodLiteral<"matches_url">;
394
+ value: z.ZodString;
395
+ }, z.core.$strict>, z.ZodObject<{
396
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
397
+ operator: z.ZodLiteral<"values_in">;
398
+ value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
399
+ }, z.core.$strict>, z.ZodObject<{
400
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
401
+ operator: z.ZodLiteral<"exists">;
402
+ }, z.core.$strict>, z.ZodObject<{
403
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
404
+ operator: z.ZodLiteral<"keys_in">;
405
+ value: z.ZodArray<z.ZodString>;
406
+ }, z.core.$strict>, z.ZodObject<{
407
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
408
+ operator: z.ZodLiteral<"size">;
409
+ value: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
410
+ min: z.ZodOptional<z.ZodNumber>;
411
+ max: z.ZodOptional<z.ZodNumber>;
412
+ }, z.core.$strict>]>;
413
+ }, z.core.$strict>, z.ZodObject<{
414
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
415
+ operator: z.ZodEnum<{
416
+ some: "some";
417
+ all: "all";
418
+ none: "none";
419
+ }>;
420
+ where: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
421
+ operator: z.ZodLiteral<"equals">;
422
+ value: z.ZodJSONSchema;
423
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
424
+ }, z.core.$strict>, z.ZodObject<{
425
+ operator: z.ZodLiteral<"in">;
426
+ value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
427
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
428
+ }, z.core.$strict>, z.ZodObject<{
429
+ operator: z.ZodLiteral<"matches">;
430
+ value: z.ZodString;
431
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
432
+ }, z.core.$strict>, z.ZodObject<{
433
+ operator: z.ZodLiteral<"matches_host">;
434
+ value: z.ZodString;
435
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
436
+ }, z.core.$strict>, z.ZodObject<{
437
+ operator: z.ZodLiteral<"matches_path">;
438
+ value: z.ZodString;
439
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
440
+ }, z.core.$strict>, z.ZodObject<{
441
+ operator: z.ZodLiteral<"range">;
442
+ value: z.ZodObject<{
443
+ min: z.ZodOptional<z.ZodNumber>;
444
+ max: z.ZodOptional<z.ZodNumber>;
445
+ }, z.core.$strict>;
446
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
447
+ }, z.core.$strict>, z.ZodObject<{
448
+ operator: z.ZodLiteral<"matches_url">;
449
+ value: z.ZodString;
450
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
451
+ }, z.core.$strict>, z.ZodObject<{
452
+ operator: z.ZodLiteral<"values_in">;
453
+ value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
454
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
455
+ }, z.core.$strict>, z.ZodObject<{
456
+ operator: z.ZodLiteral<"exists">;
457
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
458
+ }, z.core.$strict>, z.ZodObject<{
459
+ operator: z.ZodLiteral<"keys_in">;
460
+ value: z.ZodArray<z.ZodString>;
461
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
462
+ }, z.core.$strict>, z.ZodObject<{
463
+ operator: z.ZodLiteral<"size">;
464
+ value: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
465
+ min: z.ZodOptional<z.ZodNumber>;
466
+ max: z.ZodOptional<z.ZodNumber>;
467
+ }, z.core.$strict>]>;
468
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
469
+ }, z.core.$strict>]>>;
470
+ }, z.core.$strict>]>>>;
471
+ }, z.core.$strict>>;
472
+ }, z.core.$strict>, z.ZodObject<{
473
+ version: z.ZodLiteral<2>;
474
+ statements: z.ZodArray<z.ZodObject<{
475
+ id: z.ZodOptional<z.ZodString>;
476
+ effect: z.ZodEnum<{
477
+ allow: "allow";
478
+ deny: "deny";
479
+ ask: "ask";
480
+ }>;
481
+ permissions: z.ZodArray<z.ZodString>;
482
+ resources: z.ZodArray<z.ZodString>;
483
+ conditions: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
484
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
485
+ operator: z.ZodLiteral<"equals">;
486
+ value: z.ZodJSONSchema;
487
+ }, z.core.$strict>, z.ZodObject<{
488
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
489
+ operator: z.ZodLiteral<"in">;
490
+ value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
491
+ }, z.core.$strict>, z.ZodObject<{
492
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
493
+ operator: z.ZodLiteral<"matches">;
494
+ value: z.ZodString;
495
+ }, z.core.$strict>, z.ZodObject<{
496
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
497
+ operator: z.ZodLiteral<"matches_host">;
498
+ value: z.ZodString;
499
+ }, z.core.$strict>, z.ZodObject<{
500
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
501
+ operator: z.ZodLiteral<"matches_path">;
502
+ value: z.ZodString;
503
+ }, z.core.$strict>, z.ZodObject<{
504
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
505
+ operator: z.ZodLiteral<"range">;
506
+ value: z.ZodObject<{
507
+ min: z.ZodOptional<z.ZodNumber>;
508
+ max: z.ZodOptional<z.ZodNumber>;
509
+ }, z.core.$strict>;
510
+ }, z.core.$strict>, z.ZodObject<{
511
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
512
+ operator: z.ZodLiteral<"matches_url">;
513
+ value: z.ZodString;
514
+ }, z.core.$strict>, z.ZodObject<{
515
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
516
+ operator: z.ZodLiteral<"values_in">;
517
+ value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
518
+ }, z.core.$strict>, z.ZodObject<{
519
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
520
+ operator: z.ZodLiteral<"exists">;
521
+ }, z.core.$strict>, z.ZodObject<{
522
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
523
+ operator: z.ZodLiteral<"keys_in">;
524
+ value: z.ZodArray<z.ZodString>;
525
+ }, z.core.$strict>, z.ZodObject<{
526
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
527
+ operator: z.ZodLiteral<"size">;
528
+ value: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
529
+ min: z.ZodOptional<z.ZodNumber>;
530
+ max: z.ZodOptional<z.ZodNumber>;
531
+ }, z.core.$strict>]>;
532
+ }, z.core.$strict>, z.ZodObject<{
533
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
534
+ operator: z.ZodEnum<{
535
+ some: "some";
536
+ all: "all";
537
+ none: "none";
538
+ }>;
539
+ where: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
540
+ operator: z.ZodLiteral<"equals">;
541
+ value: z.ZodJSONSchema;
542
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
543
+ }, z.core.$strict>, z.ZodObject<{
544
+ operator: z.ZodLiteral<"in">;
545
+ value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
546
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
547
+ }, z.core.$strict>, z.ZodObject<{
548
+ operator: z.ZodLiteral<"matches">;
549
+ value: z.ZodString;
550
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
551
+ }, z.core.$strict>, z.ZodObject<{
552
+ operator: z.ZodLiteral<"matches_host">;
553
+ value: z.ZodString;
554
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
555
+ }, z.core.$strict>, z.ZodObject<{
556
+ operator: z.ZodLiteral<"matches_path">;
557
+ value: z.ZodString;
558
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
559
+ }, z.core.$strict>, z.ZodObject<{
560
+ operator: z.ZodLiteral<"range">;
561
+ value: z.ZodObject<{
562
+ min: z.ZodOptional<z.ZodNumber>;
563
+ max: z.ZodOptional<z.ZodNumber>;
564
+ }, z.core.$strict>;
565
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
566
+ }, z.core.$strict>, z.ZodObject<{
567
+ operator: z.ZodLiteral<"matches_url">;
568
+ value: z.ZodString;
569
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
570
+ }, z.core.$strict>, z.ZodObject<{
571
+ operator: z.ZodLiteral<"values_in">;
572
+ value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
573
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
574
+ }, z.core.$strict>, z.ZodObject<{
575
+ operator: z.ZodLiteral<"exists">;
576
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
577
+ }, z.core.$strict>, z.ZodObject<{
578
+ operator: z.ZodLiteral<"keys_in">;
579
+ value: z.ZodArray<z.ZodString>;
580
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
581
+ }, z.core.$strict>, z.ZodObject<{
582
+ operator: z.ZodLiteral<"size">;
583
+ value: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
584
+ min: z.ZodOptional<z.ZodNumber>;
585
+ max: z.ZodOptional<z.ZodNumber>;
586
+ }, z.core.$strict>]>;
587
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
588
+ }, z.core.$strict>]>>;
589
+ }, z.core.$strict>]>>>;
590
+ }, z.core.$strict>>;
591
+ }, z.core.$strict>, z.ZodObject<{
592
+ version: z.ZodLiteral<3>;
593
+ statements: z.ZodArray<z.ZodArray<z.ZodObject<{
594
+ id: z.ZodString;
595
+ effect: z.ZodEnum<{
596
+ allow: "allow";
597
+ deny: "deny";
598
+ ask: "ask";
599
+ }>;
600
+ permissions: z.ZodArray<z.ZodString>;
601
+ resources: z.ZodArray<z.ZodString>;
602
+ conditions: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
603
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
604
+ operator: z.ZodLiteral<"equals">;
605
+ value: z.ZodJSONSchema;
606
+ }, z.core.$strict>, z.ZodObject<{
607
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
608
+ operator: z.ZodLiteral<"in">;
609
+ value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
610
+ }, z.core.$strict>, z.ZodObject<{
611
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
612
+ operator: z.ZodLiteral<"matches">;
613
+ value: z.ZodString;
614
+ }, z.core.$strict>, z.ZodObject<{
615
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
616
+ operator: z.ZodLiteral<"matches_host">;
617
+ value: z.ZodString;
618
+ }, z.core.$strict>, z.ZodObject<{
619
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
620
+ operator: z.ZodLiteral<"matches_path">;
621
+ value: z.ZodString;
622
+ }, z.core.$strict>, z.ZodObject<{
623
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
624
+ operator: z.ZodLiteral<"range">;
625
+ value: z.ZodObject<{
626
+ min: z.ZodOptional<z.ZodNumber>;
627
+ max: z.ZodOptional<z.ZodNumber>;
628
+ }, z.core.$strict>;
629
+ }, z.core.$strict>, z.ZodObject<{
630
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
631
+ operator: z.ZodLiteral<"matches_url">;
632
+ value: z.ZodString;
633
+ }, z.core.$strict>, z.ZodObject<{
634
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
635
+ operator: z.ZodLiteral<"values_in">;
636
+ value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
637
+ }, z.core.$strict>, z.ZodObject<{
638
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
639
+ operator: z.ZodLiteral<"exists">;
640
+ }, z.core.$strict>, z.ZodObject<{
641
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
642
+ operator: z.ZodLiteral<"keys_in">;
643
+ value: z.ZodArray<z.ZodString>;
644
+ }, z.core.$strict>, z.ZodObject<{
645
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
646
+ operator: z.ZodLiteral<"size">;
647
+ value: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
648
+ min: z.ZodOptional<z.ZodNumber>;
649
+ max: z.ZodOptional<z.ZodNumber>;
650
+ }, z.core.$strict>]>;
651
+ }, z.core.$strict>, z.ZodObject<{
652
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
653
+ operator: z.ZodEnum<{
654
+ some: "some";
655
+ all: "all";
656
+ none: "none";
657
+ }>;
658
+ where: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
659
+ operator: z.ZodLiteral<"equals">;
660
+ value: z.ZodJSONSchema;
661
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
662
+ }, z.core.$strict>, z.ZodObject<{
663
+ operator: z.ZodLiteral<"in">;
664
+ value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
665
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
666
+ }, z.core.$strict>, z.ZodObject<{
667
+ operator: z.ZodLiteral<"matches">;
668
+ value: z.ZodString;
669
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
670
+ }, z.core.$strict>, z.ZodObject<{
671
+ operator: z.ZodLiteral<"matches_host">;
672
+ value: z.ZodString;
673
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
674
+ }, z.core.$strict>, z.ZodObject<{
675
+ operator: z.ZodLiteral<"matches_path">;
676
+ value: z.ZodString;
677
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
678
+ }, z.core.$strict>, z.ZodObject<{
679
+ operator: z.ZodLiteral<"range">;
680
+ value: z.ZodObject<{
681
+ min: z.ZodOptional<z.ZodNumber>;
682
+ max: z.ZodOptional<z.ZodNumber>;
683
+ }, z.core.$strict>;
684
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
685
+ }, z.core.$strict>, z.ZodObject<{
686
+ operator: z.ZodLiteral<"matches_url">;
687
+ value: z.ZodString;
688
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
689
+ }, z.core.$strict>, z.ZodObject<{
690
+ operator: z.ZodLiteral<"values_in">;
691
+ value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
692
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
693
+ }, z.core.$strict>, z.ZodObject<{
694
+ operator: z.ZodLiteral<"exists">;
695
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
696
+ }, z.core.$strict>, z.ZodObject<{
697
+ operator: z.ZodLiteral<"keys_in">;
698
+ value: z.ZodArray<z.ZodString>;
699
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
700
+ }, z.core.$strict>, z.ZodObject<{
701
+ operator: z.ZodLiteral<"size">;
702
+ value: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
703
+ min: z.ZodOptional<z.ZodNumber>;
704
+ max: z.ZodOptional<z.ZodNumber>;
705
+ }, z.core.$strict>]>;
706
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
707
+ }, z.core.$strict>]>>;
708
+ }, z.core.$strict>]>>>;
709
+ }, z.core.$strict>>>;
710
+ }, z.core.$strict>, z.ZodObject<{
711
+ version: z.ZodLiteral<"rc-rubberduck">;
712
+ id: z.ZodString;
713
+ defaultEffect: z.ZodEnum<{
714
+ deny: "deny";
715
+ ask: "ask";
716
+ }>;
717
+ statements: z.ZodArray<z.ZodObject<{
718
+ id: z.ZodString;
719
+ effect: z.ZodEnum<{
720
+ allow: "allow";
721
+ deny: "deny";
722
+ ask: "ask";
723
+ }>;
724
+ permissions: z.ZodArray<z.ZodString>;
725
+ resources: z.ZodArray<z.ZodString>;
726
+ conditions: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
727
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
728
+ operator: z.ZodLiteral<"equals">;
729
+ value: z.ZodJSONSchema;
730
+ }, z.core.$strict>, z.ZodObject<{
731
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
732
+ operator: z.ZodLiteral<"in">;
733
+ value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
734
+ }, z.core.$strict>, z.ZodObject<{
735
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
736
+ operator: z.ZodLiteral<"matches">;
737
+ value: z.ZodString;
738
+ }, z.core.$strict>, z.ZodObject<{
739
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
740
+ operator: z.ZodLiteral<"matches_host">;
741
+ value: z.ZodString;
742
+ }, z.core.$strict>, z.ZodObject<{
743
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
744
+ operator: z.ZodLiteral<"matches_path">;
745
+ value: z.ZodString;
746
+ }, z.core.$strict>, z.ZodObject<{
747
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
748
+ operator: z.ZodLiteral<"range">;
749
+ value: z.ZodObject<{
750
+ min: z.ZodOptional<z.ZodNumber>;
751
+ max: z.ZodOptional<z.ZodNumber>;
752
+ }, z.core.$strict>;
753
+ }, z.core.$strict>, z.ZodObject<{
754
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
755
+ operator: z.ZodLiteral<"matches_url">;
756
+ value: z.ZodString;
757
+ }, z.core.$strict>, z.ZodObject<{
758
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
759
+ operator: z.ZodLiteral<"values_in">;
760
+ value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
761
+ }, z.core.$strict>, z.ZodObject<{
762
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
763
+ operator: z.ZodLiteral<"exists">;
764
+ }, z.core.$strict>, z.ZodObject<{
765
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
766
+ operator: z.ZodLiteral<"keys_in">;
767
+ value: z.ZodArray<z.ZodString>;
768
+ }, z.core.$strict>, z.ZodObject<{
769
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
770
+ operator: z.ZodLiteral<"size">;
771
+ value: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
772
+ min: z.ZodOptional<z.ZodNumber>;
773
+ max: z.ZodOptional<z.ZodNumber>;
774
+ }, z.core.$strict>]>;
775
+ }, z.core.$strict>, z.ZodObject<{
776
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
777
+ operator: z.ZodEnum<{
778
+ some: "some";
779
+ all: "all";
780
+ none: "none";
781
+ }>;
782
+ where: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
783
+ operator: z.ZodLiteral<"equals">;
784
+ value: z.ZodJSONSchema;
785
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
786
+ }, z.core.$strict>, z.ZodObject<{
787
+ operator: z.ZodLiteral<"in">;
788
+ value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
789
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
790
+ }, z.core.$strict>, z.ZodObject<{
791
+ operator: z.ZodLiteral<"matches">;
792
+ value: z.ZodString;
793
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
794
+ }, z.core.$strict>, z.ZodObject<{
795
+ operator: z.ZodLiteral<"matches_host">;
796
+ value: z.ZodString;
797
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
798
+ }, z.core.$strict>, z.ZodObject<{
799
+ operator: z.ZodLiteral<"matches_path">;
800
+ value: z.ZodString;
801
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
802
+ }, z.core.$strict>, z.ZodObject<{
803
+ operator: z.ZodLiteral<"range">;
804
+ value: z.ZodObject<{
805
+ min: z.ZodOptional<z.ZodNumber>;
806
+ max: z.ZodOptional<z.ZodNumber>;
807
+ }, z.core.$strict>;
808
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
809
+ }, z.core.$strict>, z.ZodObject<{
810
+ operator: z.ZodLiteral<"matches_url">;
811
+ value: z.ZodString;
812
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
813
+ }, z.core.$strict>, z.ZodObject<{
814
+ operator: z.ZodLiteral<"values_in">;
815
+ value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
816
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
817
+ }, z.core.$strict>, z.ZodObject<{
818
+ operator: z.ZodLiteral<"exists">;
819
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
820
+ }, z.core.$strict>, z.ZodObject<{
821
+ operator: z.ZodLiteral<"keys_in">;
822
+ value: z.ZodArray<z.ZodString>;
823
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
824
+ }, z.core.$strict>, z.ZodObject<{
825
+ operator: z.ZodLiteral<"size">;
826
+ value: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
827
+ min: z.ZodOptional<z.ZodNumber>;
828
+ max: z.ZodOptional<z.ZodNumber>;
829
+ }, z.core.$strict>]>;
830
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
831
+ }, z.core.$strict>]>>;
832
+ }, z.core.$strict>]>>>;
833
+ }, z.core.$strict>>;
834
+ }, z.core.$strict>]>;
346
835
 
347
836
  declare const AccessLevelSchema: z.ZodEnum<{
348
837
  read: "read";
@@ -383,7 +872,9 @@ declare function buildConnectionPolicy(options: {
383
872
  connectionId: string;
384
873
  selectedApi: string;
385
874
  accessLevel: AccessLevel;
386
- }): Policy;
875
+ }): Extract<Policy, {
876
+ version: 3;
877
+ }>;
387
878
 
388
879
  /**
389
880
  * Build a connectionless policy that scopes access to the request's domain
@@ -394,6 +885,8 @@ declare function buildConnectionPolicy(options: {
394
885
  declare function buildConnectionlessPolicy(options: {
395
886
  context: RequestContext;
396
887
  accessLevel: AccessLevel;
397
- }): Policy;
888
+ }): Extract<Policy, {
889
+ version: 3;
890
+ }>;
398
891
 
399
- export { type AccessLevel, AccessLevelSchema, type ActionRunContext, ActionRunContextInputSchema, ActionRunContextSchema, type ActionType, ActionTypeSchema, type BuildActionRunContextOptions, BuildActionRunContextOptionsSchema, type BuildHttpRequestContextOptions, BuildHttpRequestContextOptionsSchema, DEFAULT_PORTS, type HttpRequestContext, HttpRequestContextSchema, IGNORED_HEADERS, type ParsedUrl, ParsedUrlSchema, READ_ACTION_TYPES, READ_HTTP_METHODS, type RequestContext, RequestContextSchema, buildActionResource, buildActionRunContext, buildBroadActionResource, buildConnectionPolicy, buildConnectionlessPolicy, buildDomainHttpConditions, buildExactActionConditions, buildExactHttpConditions, buildHttpRequestContext, buildUrlString, globSelectedApiVersion, isIgnoredHeader, isWriteRequest, parseActionResource, parseUrl, toAppKey, toExactPolicy };
892
+ export { type AccessLevel, AccessLevelSchema, ActionResourcePatternSchema, type ActionRunContext, ActionRunContextInputSchema, ActionRunContextSchema, type ActionType, ActionTypeSchema, type BuildActionRunContextOptions, BuildActionRunContextOptionsSchema, type BuildHttpRequestContextOptions, BuildHttpRequestContextOptionsSchema, DEFAULT_PORTS, type HttpRequestContext, HttpRequestContextSchema, IGNORED_HEADERS, type ParsedUrl, ParsedUrlSchema, READ_ACTION_TYPES, READ_HTTP_METHODS, type RequestContext, RequestContextSchema, ZapierPolicySchema, buildActionResource, buildActionRunContext, buildBroadActionResource, buildConnectionPolicy, buildConnectionlessPolicy, buildDomainHttpConditions, buildExactActionConditions, buildExactHttpConditions, buildHttpRequestContext, buildUrlString, globSelectedApiVersion, isIgnoredHeader, isWriteRequest, parseActionResource, parseUrl, toAppKey, toExactPolicy };