@zapier/policy-schema 0.15.0 → 0.18.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.cts CHANGED
@@ -3,13 +3,20 @@ import { z } from 'zod';
3
3
  /** Release-candidate policy document version for the current experimental shape. */
4
4
  declare const RUBBERDUCK_POLICY_VERSION: "rc-rubberduck";
5
5
  /** Supported policy document versions. */
6
- declare const VALID_VERSIONS: readonly [1, 2, "rc-rubberduck"];
6
+ declare const VALID_VERSIONS: readonly [1, 2, 3, "rc-rubberduck"];
7
+ /**
8
+ * Versions whose statements carry an id (s_/p_) and are therefore targeted by
9
+ * that id rather than canonical hash. Single source of truth shared with the
10
+ * engine's usesIds override-targeting predicate: "requires an id" and
11
+ * "targeted by id" coincide for every supported version.
12
+ */
13
+ declare const ID_BASED_VERSIONS: Set<"rc-rubberduck" | 1 | 2 | 3>;
7
14
  /** Valid policy effects. */
8
15
  declare const VALID_EFFECTS: readonly ["allow", "ask", "deny"];
9
16
  /** Derived from VALID_EFFECTS — the constant is the single source of truth. */
10
17
  type Effect = (typeof VALID_EFFECTS)[number];
11
18
  /** Valid condition operators. */
12
- declare const VALID_OPERATOR_LIST: readonly ["equals", "exists", "in", "keys_in", "matches", "matches_host", "matches_path", "matches_url", "range", "size", "values_in"];
19
+ declare const VALID_OPERATOR_LIST: readonly ["all", "equals", "exists", "in", "keys_in", "matches", "matches_host", "matches_path", "matches_url", "none", "range", "size", "some", "values_in"];
13
20
  declare const ConditionValueSchema: z.ZodJSONSchema;
14
21
  declare const RangeValueSchema: z.ZodObject<{
15
22
  min: z.ZodOptional<z.ZodNumber>;
@@ -24,26 +31,32 @@ declare const SizeValueSchema: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
24
31
  /** Derived from SizeValueSchema — the schema is the single source of truth. */
25
32
  type SizeValue = z.infer<typeof SizeValueSchema>;
26
33
  declare const ConditionSchema: z.ZodUnion<readonly [z.ZodObject<{
34
+ negate: z.ZodOptional<z.ZodBoolean>;
27
35
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
28
36
  operator: z.ZodLiteral<"equals">;
29
37
  value: z.ZodJSONSchema;
30
38
  }, z.core.$strict>, z.ZodObject<{
39
+ negate: z.ZodOptional<z.ZodBoolean>;
31
40
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
32
41
  operator: z.ZodLiteral<"in">;
33
42
  value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
34
43
  }, z.core.$strict>, z.ZodObject<{
44
+ negate: z.ZodOptional<z.ZodBoolean>;
35
45
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
36
46
  operator: z.ZodLiteral<"matches">;
37
47
  value: z.ZodString;
38
48
  }, z.core.$strict>, z.ZodObject<{
49
+ negate: z.ZodOptional<z.ZodBoolean>;
39
50
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
40
51
  operator: z.ZodLiteral<"matches_host">;
41
52
  value: z.ZodString;
42
53
  }, z.core.$strict>, z.ZodObject<{
54
+ negate: z.ZodOptional<z.ZodBoolean>;
43
55
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
44
56
  operator: z.ZodLiteral<"matches_path">;
45
57
  value: z.ZodString;
46
58
  }, z.core.$strict>, z.ZodObject<{
59
+ negate: z.ZodOptional<z.ZodBoolean>;
47
60
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
48
61
  operator: z.ZodLiteral<"range">;
49
62
  value: z.ZodObject<{
@@ -51,27 +64,100 @@ declare const ConditionSchema: z.ZodUnion<readonly [z.ZodObject<{
51
64
  max: z.ZodOptional<z.ZodNumber>;
52
65
  }, z.core.$strict>;
53
66
  }, z.core.$strict>, z.ZodObject<{
67
+ negate: z.ZodOptional<z.ZodBoolean>;
54
68
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
55
69
  operator: z.ZodLiteral<"matches_url">;
56
70
  value: z.ZodString;
57
71
  }, z.core.$strict>, z.ZodObject<{
72
+ negate: z.ZodOptional<z.ZodBoolean>;
58
73
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
59
74
  operator: z.ZodLiteral<"values_in">;
60
75
  value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
61
76
  }, z.core.$strict>, z.ZodObject<{
77
+ negate: z.ZodOptional<z.ZodBoolean>;
62
78
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
63
79
  operator: z.ZodLiteral<"exists">;
64
80
  }, z.core.$strict>, z.ZodObject<{
81
+ negate: z.ZodOptional<z.ZodBoolean>;
65
82
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
66
83
  operator: z.ZodLiteral<"keys_in">;
67
84
  value: z.ZodArray<z.ZodString>;
68
85
  }, z.core.$strict>, z.ZodObject<{
86
+ negate: z.ZodOptional<z.ZodBoolean>;
69
87
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
70
88
  operator: z.ZodLiteral<"size">;
71
89
  value: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
72
90
  min: z.ZodOptional<z.ZodNumber>;
73
91
  max: z.ZodOptional<z.ZodNumber>;
74
92
  }, z.core.$strict>]>;
93
+ }, z.core.$strict>, z.ZodObject<{
94
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
95
+ operator: z.ZodEnum<{
96
+ some: "some";
97
+ all: "all";
98
+ none: "none";
99
+ }>;
100
+ where: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
101
+ negate: z.ZodOptional<z.ZodBoolean>;
102
+ operator: z.ZodLiteral<"equals">;
103
+ value: z.ZodJSONSchema;
104
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
105
+ }, z.core.$strict>, z.ZodObject<{
106
+ negate: z.ZodOptional<z.ZodBoolean>;
107
+ operator: z.ZodLiteral<"in">;
108
+ value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
109
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
110
+ }, z.core.$strict>, z.ZodObject<{
111
+ negate: z.ZodOptional<z.ZodBoolean>;
112
+ operator: z.ZodLiteral<"matches">;
113
+ value: z.ZodString;
114
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
115
+ }, z.core.$strict>, z.ZodObject<{
116
+ negate: z.ZodOptional<z.ZodBoolean>;
117
+ operator: z.ZodLiteral<"matches_host">;
118
+ value: z.ZodString;
119
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
120
+ }, z.core.$strict>, z.ZodObject<{
121
+ negate: z.ZodOptional<z.ZodBoolean>;
122
+ operator: z.ZodLiteral<"matches_path">;
123
+ value: z.ZodString;
124
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
125
+ }, z.core.$strict>, z.ZodObject<{
126
+ negate: z.ZodOptional<z.ZodBoolean>;
127
+ operator: z.ZodLiteral<"range">;
128
+ value: z.ZodObject<{
129
+ min: z.ZodOptional<z.ZodNumber>;
130
+ max: z.ZodOptional<z.ZodNumber>;
131
+ }, z.core.$strict>;
132
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
133
+ }, z.core.$strict>, z.ZodObject<{
134
+ negate: z.ZodOptional<z.ZodBoolean>;
135
+ operator: z.ZodLiteral<"matches_url">;
136
+ value: z.ZodString;
137
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
138
+ }, z.core.$strict>, z.ZodObject<{
139
+ negate: z.ZodOptional<z.ZodBoolean>;
140
+ operator: z.ZodLiteral<"values_in">;
141
+ value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
142
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
143
+ }, z.core.$strict>, z.ZodObject<{
144
+ negate: z.ZodOptional<z.ZodBoolean>;
145
+ operator: z.ZodLiteral<"exists">;
146
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
147
+ }, z.core.$strict>, z.ZodObject<{
148
+ negate: z.ZodOptional<z.ZodBoolean>;
149
+ operator: z.ZodLiteral<"keys_in">;
150
+ value: z.ZodArray<z.ZodString>;
151
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
152
+ }, z.core.$strict>, z.ZodObject<{
153
+ negate: z.ZodOptional<z.ZodBoolean>;
154
+ operator: z.ZodLiteral<"size">;
155
+ value: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
156
+ min: z.ZodOptional<z.ZodNumber>;
157
+ max: z.ZodOptional<z.ZodNumber>;
158
+ }, z.core.$strict>]>;
159
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
160
+ }, z.core.$strict>]>>;
75
161
  }, z.core.$strict>]>;
76
162
  /** Derived from ConditionSchema — the schema is the single source of truth. */
77
163
  type Condition = z.infer<typeof ConditionSchema>;
@@ -87,6 +173,9 @@ declare const ScalarOperatorSchema: z.ZodEnum<{
87
173
  type ScalarOperator = z.infer<typeof ScalarOperatorSchema>;
88
174
  declare const ArrayOperatorSchema: z.ZodEnum<{
89
175
  values_in: "values_in";
176
+ some: "some";
177
+ all: "all";
178
+ none: "none";
90
179
  }>;
91
180
  /** Derived from ArrayOperatorSchema — the schema is the single source of truth. */
92
181
  type ArrayOperator = z.infer<typeof ArrayOperatorSchema>;
@@ -104,16 +193,19 @@ declare const OtherOperatorSchema: z.ZodEnum<{
104
193
  type OtherOperator = z.infer<typeof OtherOperatorSchema>;
105
194
  declare const OperatorSchema: z.ZodEnum<{
106
195
  equals: "equals";
107
- exists: "exists";
108
196
  in: "in";
109
- keys_in: "keys_in";
110
197
  matches: "matches";
111
198
  matches_host: "matches_host";
112
199
  matches_path: "matches_path";
113
- matches_url: "matches_url";
114
200
  range: "range";
115
- size: "size";
201
+ matches_url: "matches_url";
116
202
  values_in: "values_in";
203
+ exists: "exists";
204
+ keys_in: "keys_in";
205
+ size: "size";
206
+ some: "some";
207
+ all: "all";
208
+ none: "none";
117
209
  }>;
118
210
  /** Derived from OperatorSchema — the schema is the single source of truth. */
119
211
  type Operator = z.infer<typeof OperatorSchema>;
@@ -122,32 +214,38 @@ declare const StatementSchema: z.ZodObject<{
122
214
  id: z.ZodOptional<z.ZodString>;
123
215
  effect: z.ZodEnum<{
124
216
  allow: "allow";
125
- ask: "ask";
126
217
  deny: "deny";
218
+ ask: "ask";
127
219
  }>;
128
220
  permissions: z.ZodArray<z.ZodString>;
129
221
  resources: z.ZodArray<z.ZodString>;
130
222
  conditions: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
223
+ negate: z.ZodOptional<z.ZodBoolean>;
131
224
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
132
225
  operator: z.ZodLiteral<"equals">;
133
226
  value: z.ZodJSONSchema;
134
227
  }, z.core.$strict>, z.ZodObject<{
228
+ negate: z.ZodOptional<z.ZodBoolean>;
135
229
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
136
230
  operator: z.ZodLiteral<"in">;
137
231
  value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
138
232
  }, z.core.$strict>, z.ZodObject<{
233
+ negate: z.ZodOptional<z.ZodBoolean>;
139
234
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
140
235
  operator: z.ZodLiteral<"matches">;
141
236
  value: z.ZodString;
142
237
  }, z.core.$strict>, z.ZodObject<{
238
+ negate: z.ZodOptional<z.ZodBoolean>;
143
239
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
144
240
  operator: z.ZodLiteral<"matches_host">;
145
241
  value: z.ZodString;
146
242
  }, z.core.$strict>, z.ZodObject<{
243
+ negate: z.ZodOptional<z.ZodBoolean>;
147
244
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
148
245
  operator: z.ZodLiteral<"matches_path">;
149
246
  value: z.ZodString;
150
247
  }, z.core.$strict>, z.ZodObject<{
248
+ negate: z.ZodOptional<z.ZodBoolean>;
151
249
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
152
250
  operator: z.ZodLiteral<"range">;
153
251
  value: z.ZodObject<{
@@ -155,27 +253,100 @@ declare const StatementSchema: z.ZodObject<{
155
253
  max: z.ZodOptional<z.ZodNumber>;
156
254
  }, z.core.$strict>;
157
255
  }, z.core.$strict>, z.ZodObject<{
256
+ negate: z.ZodOptional<z.ZodBoolean>;
158
257
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
159
258
  operator: z.ZodLiteral<"matches_url">;
160
259
  value: z.ZodString;
161
260
  }, z.core.$strict>, z.ZodObject<{
261
+ negate: z.ZodOptional<z.ZodBoolean>;
162
262
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
163
263
  operator: z.ZodLiteral<"values_in">;
164
264
  value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
165
265
  }, z.core.$strict>, z.ZodObject<{
266
+ negate: z.ZodOptional<z.ZodBoolean>;
166
267
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
167
268
  operator: z.ZodLiteral<"exists">;
168
269
  }, z.core.$strict>, z.ZodObject<{
270
+ negate: z.ZodOptional<z.ZodBoolean>;
169
271
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
170
272
  operator: z.ZodLiteral<"keys_in">;
171
273
  value: z.ZodArray<z.ZodString>;
172
274
  }, z.core.$strict>, z.ZodObject<{
275
+ negate: z.ZodOptional<z.ZodBoolean>;
173
276
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
174
277
  operator: z.ZodLiteral<"size">;
175
278
  value: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
176
279
  min: z.ZodOptional<z.ZodNumber>;
177
280
  max: z.ZodOptional<z.ZodNumber>;
178
281
  }, z.core.$strict>]>;
282
+ }, z.core.$strict>, z.ZodObject<{
283
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
284
+ operator: z.ZodEnum<{
285
+ some: "some";
286
+ all: "all";
287
+ none: "none";
288
+ }>;
289
+ where: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
290
+ negate: z.ZodOptional<z.ZodBoolean>;
291
+ operator: z.ZodLiteral<"equals">;
292
+ value: z.ZodJSONSchema;
293
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
294
+ }, z.core.$strict>, z.ZodObject<{
295
+ negate: z.ZodOptional<z.ZodBoolean>;
296
+ operator: z.ZodLiteral<"in">;
297
+ value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
298
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
299
+ }, z.core.$strict>, z.ZodObject<{
300
+ negate: z.ZodOptional<z.ZodBoolean>;
301
+ operator: z.ZodLiteral<"matches">;
302
+ value: z.ZodString;
303
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
304
+ }, z.core.$strict>, z.ZodObject<{
305
+ negate: z.ZodOptional<z.ZodBoolean>;
306
+ operator: z.ZodLiteral<"matches_host">;
307
+ value: z.ZodString;
308
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
309
+ }, z.core.$strict>, z.ZodObject<{
310
+ negate: z.ZodOptional<z.ZodBoolean>;
311
+ operator: z.ZodLiteral<"matches_path">;
312
+ value: z.ZodString;
313
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
314
+ }, z.core.$strict>, z.ZodObject<{
315
+ negate: z.ZodOptional<z.ZodBoolean>;
316
+ operator: z.ZodLiteral<"range">;
317
+ value: z.ZodObject<{
318
+ min: z.ZodOptional<z.ZodNumber>;
319
+ max: z.ZodOptional<z.ZodNumber>;
320
+ }, z.core.$strict>;
321
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
322
+ }, z.core.$strict>, z.ZodObject<{
323
+ negate: z.ZodOptional<z.ZodBoolean>;
324
+ operator: z.ZodLiteral<"matches_url">;
325
+ value: z.ZodString;
326
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
327
+ }, z.core.$strict>, z.ZodObject<{
328
+ negate: z.ZodOptional<z.ZodBoolean>;
329
+ operator: z.ZodLiteral<"values_in">;
330
+ value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
331
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
332
+ }, z.core.$strict>, z.ZodObject<{
333
+ negate: z.ZodOptional<z.ZodBoolean>;
334
+ operator: z.ZodLiteral<"exists">;
335
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
336
+ }, z.core.$strict>, z.ZodObject<{
337
+ negate: z.ZodOptional<z.ZodBoolean>;
338
+ operator: z.ZodLiteral<"keys_in">;
339
+ value: z.ZodArray<z.ZodString>;
340
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
341
+ }, z.core.$strict>, z.ZodObject<{
342
+ negate: z.ZodOptional<z.ZodBoolean>;
343
+ operator: z.ZodLiteral<"size">;
344
+ value: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
345
+ min: z.ZodOptional<z.ZodNumber>;
346
+ max: z.ZodOptional<z.ZodNumber>;
347
+ }, z.core.$strict>]>;
348
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
349
+ }, z.core.$strict>]>>;
179
350
  }, z.core.$strict>]>>>;
180
351
  }, z.core.$strict>;
181
352
  /** Derived from StatementSchema — the schema is the single source of truth. */
@@ -190,11 +361,13 @@ declare const PolicyIdSchema: z.ZodString;
190
361
  type PolicyId = z.infer<typeof PolicyIdSchema>;
191
362
  /** Effect applied when no statement matches (rc-rubberduck, required). deny == implicit deny. */
192
363
  declare const DefaultEffectSchema: z.ZodEnum<{
193
- ask: "ask";
194
364
  deny: "deny";
365
+ ask: "ask";
195
366
  }>;
196
367
  /** Derived from DefaultEffectSchema — the schema is the single source of truth. */
197
368
  type DefaultEffect = z.infer<typeof DefaultEffectSchema>;
369
+ /** Upper bound on v3 statement tiers. Raising this later is backwards-compatible. */
370
+ declare const V3_MAX_TIERS = 3;
198
371
  declare const PolicySchema: z.ZodUnion<readonly [z.ZodObject<{
199
372
  version: z.ZodLiteral<1>;
200
373
  statements: z.ZodArray<z.ZodObject<{
@@ -206,26 +379,32 @@ declare const PolicySchema: z.ZodUnion<readonly [z.ZodObject<{
206
379
  permissions: z.ZodArray<z.ZodString>;
207
380
  resources: z.ZodArray<z.ZodString>;
208
381
  conditions: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
382
+ negate: z.ZodOptional<z.ZodBoolean>;
209
383
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
210
384
  operator: z.ZodLiteral<"equals">;
211
385
  value: z.ZodJSONSchema;
212
386
  }, z.core.$strict>, z.ZodObject<{
387
+ negate: z.ZodOptional<z.ZodBoolean>;
213
388
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
214
389
  operator: z.ZodLiteral<"in">;
215
390
  value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
216
391
  }, z.core.$strict>, z.ZodObject<{
392
+ negate: z.ZodOptional<z.ZodBoolean>;
217
393
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
218
394
  operator: z.ZodLiteral<"matches">;
219
395
  value: z.ZodString;
220
396
  }, z.core.$strict>, z.ZodObject<{
397
+ negate: z.ZodOptional<z.ZodBoolean>;
221
398
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
222
399
  operator: z.ZodLiteral<"matches_host">;
223
400
  value: z.ZodString;
224
401
  }, z.core.$strict>, z.ZodObject<{
402
+ negate: z.ZodOptional<z.ZodBoolean>;
225
403
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
226
404
  operator: z.ZodLiteral<"matches_path">;
227
405
  value: z.ZodString;
228
406
  }, z.core.$strict>, z.ZodObject<{
407
+ negate: z.ZodOptional<z.ZodBoolean>;
229
408
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
230
409
  operator: z.ZodLiteral<"range">;
231
410
  value: z.ZodObject<{
@@ -233,27 +412,100 @@ declare const PolicySchema: z.ZodUnion<readonly [z.ZodObject<{
233
412
  max: z.ZodOptional<z.ZodNumber>;
234
413
  }, z.core.$strict>;
235
414
  }, z.core.$strict>, z.ZodObject<{
415
+ negate: z.ZodOptional<z.ZodBoolean>;
236
416
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
237
417
  operator: z.ZodLiteral<"matches_url">;
238
418
  value: z.ZodString;
239
419
  }, z.core.$strict>, z.ZodObject<{
420
+ negate: z.ZodOptional<z.ZodBoolean>;
240
421
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
241
422
  operator: z.ZodLiteral<"values_in">;
242
423
  value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
243
424
  }, z.core.$strict>, z.ZodObject<{
425
+ negate: z.ZodOptional<z.ZodBoolean>;
244
426
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
245
427
  operator: z.ZodLiteral<"exists">;
246
428
  }, z.core.$strict>, z.ZodObject<{
429
+ negate: z.ZodOptional<z.ZodBoolean>;
247
430
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
248
431
  operator: z.ZodLiteral<"keys_in">;
249
432
  value: z.ZodArray<z.ZodString>;
250
433
  }, z.core.$strict>, z.ZodObject<{
434
+ negate: z.ZodOptional<z.ZodBoolean>;
251
435
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
252
436
  operator: z.ZodLiteral<"size">;
253
437
  value: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
254
438
  min: z.ZodOptional<z.ZodNumber>;
255
439
  max: z.ZodOptional<z.ZodNumber>;
256
440
  }, z.core.$strict>]>;
441
+ }, z.core.$strict>, z.ZodObject<{
442
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
443
+ operator: z.ZodEnum<{
444
+ some: "some";
445
+ all: "all";
446
+ none: "none";
447
+ }>;
448
+ where: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
449
+ negate: z.ZodOptional<z.ZodBoolean>;
450
+ operator: z.ZodLiteral<"equals">;
451
+ value: z.ZodJSONSchema;
452
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
453
+ }, z.core.$strict>, z.ZodObject<{
454
+ negate: z.ZodOptional<z.ZodBoolean>;
455
+ operator: z.ZodLiteral<"in">;
456
+ value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
457
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
458
+ }, z.core.$strict>, z.ZodObject<{
459
+ negate: z.ZodOptional<z.ZodBoolean>;
460
+ operator: z.ZodLiteral<"matches">;
461
+ value: z.ZodString;
462
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
463
+ }, z.core.$strict>, z.ZodObject<{
464
+ negate: z.ZodOptional<z.ZodBoolean>;
465
+ operator: z.ZodLiteral<"matches_host">;
466
+ value: z.ZodString;
467
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
468
+ }, z.core.$strict>, z.ZodObject<{
469
+ negate: z.ZodOptional<z.ZodBoolean>;
470
+ operator: z.ZodLiteral<"matches_path">;
471
+ value: z.ZodString;
472
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
473
+ }, z.core.$strict>, z.ZodObject<{
474
+ negate: z.ZodOptional<z.ZodBoolean>;
475
+ operator: z.ZodLiteral<"range">;
476
+ value: z.ZodObject<{
477
+ min: z.ZodOptional<z.ZodNumber>;
478
+ max: z.ZodOptional<z.ZodNumber>;
479
+ }, z.core.$strict>;
480
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
481
+ }, z.core.$strict>, z.ZodObject<{
482
+ negate: z.ZodOptional<z.ZodBoolean>;
483
+ operator: z.ZodLiteral<"matches_url">;
484
+ value: z.ZodString;
485
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
486
+ }, z.core.$strict>, z.ZodObject<{
487
+ negate: z.ZodOptional<z.ZodBoolean>;
488
+ operator: z.ZodLiteral<"values_in">;
489
+ value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
490
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
491
+ }, z.core.$strict>, z.ZodObject<{
492
+ negate: z.ZodOptional<z.ZodBoolean>;
493
+ operator: z.ZodLiteral<"exists">;
494
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
495
+ }, z.core.$strict>, z.ZodObject<{
496
+ negate: z.ZodOptional<z.ZodBoolean>;
497
+ operator: z.ZodLiteral<"keys_in">;
498
+ value: z.ZodArray<z.ZodString>;
499
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
500
+ }, z.core.$strict>, z.ZodObject<{
501
+ negate: z.ZodOptional<z.ZodBoolean>;
502
+ operator: z.ZodLiteral<"size">;
503
+ value: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
504
+ min: z.ZodOptional<z.ZodNumber>;
505
+ max: z.ZodOptional<z.ZodNumber>;
506
+ }, z.core.$strict>]>;
507
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
508
+ }, z.core.$strict>]>>;
257
509
  }, z.core.$strict>]>>>;
258
510
  }, z.core.$strict>>;
259
511
  }, z.core.$strict>, z.ZodObject<{
@@ -262,32 +514,38 @@ declare const PolicySchema: z.ZodUnion<readonly [z.ZodObject<{
262
514
  id: z.ZodOptional<z.ZodString>;
263
515
  effect: z.ZodEnum<{
264
516
  allow: "allow";
265
- ask: "ask";
266
517
  deny: "deny";
518
+ ask: "ask";
267
519
  }>;
268
520
  permissions: z.ZodArray<z.ZodString>;
269
521
  resources: z.ZodArray<z.ZodString>;
270
522
  conditions: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
523
+ negate: z.ZodOptional<z.ZodBoolean>;
271
524
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
272
525
  operator: z.ZodLiteral<"equals">;
273
526
  value: z.ZodJSONSchema;
274
527
  }, z.core.$strict>, z.ZodObject<{
528
+ negate: z.ZodOptional<z.ZodBoolean>;
275
529
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
276
530
  operator: z.ZodLiteral<"in">;
277
531
  value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
278
532
  }, z.core.$strict>, z.ZodObject<{
533
+ negate: z.ZodOptional<z.ZodBoolean>;
279
534
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
280
535
  operator: z.ZodLiteral<"matches">;
281
536
  value: z.ZodString;
282
537
  }, z.core.$strict>, z.ZodObject<{
538
+ negate: z.ZodOptional<z.ZodBoolean>;
283
539
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
284
540
  operator: z.ZodLiteral<"matches_host">;
285
541
  value: z.ZodString;
286
542
  }, z.core.$strict>, z.ZodObject<{
543
+ negate: z.ZodOptional<z.ZodBoolean>;
287
544
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
288
545
  operator: z.ZodLiteral<"matches_path">;
289
546
  value: z.ZodString;
290
547
  }, z.core.$strict>, z.ZodObject<{
548
+ negate: z.ZodOptional<z.ZodBoolean>;
291
549
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
292
550
  operator: z.ZodLiteral<"range">;
293
551
  value: z.ZodObject<{
@@ -295,66 +553,286 @@ declare const PolicySchema: z.ZodUnion<readonly [z.ZodObject<{
295
553
  max: z.ZodOptional<z.ZodNumber>;
296
554
  }, z.core.$strict>;
297
555
  }, z.core.$strict>, z.ZodObject<{
556
+ negate: z.ZodOptional<z.ZodBoolean>;
298
557
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
299
558
  operator: z.ZodLiteral<"matches_url">;
300
559
  value: z.ZodString;
301
560
  }, z.core.$strict>, z.ZodObject<{
561
+ negate: z.ZodOptional<z.ZodBoolean>;
302
562
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
303
563
  operator: z.ZodLiteral<"values_in">;
304
564
  value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
305
565
  }, z.core.$strict>, z.ZodObject<{
566
+ negate: z.ZodOptional<z.ZodBoolean>;
306
567
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
307
568
  operator: z.ZodLiteral<"exists">;
308
569
  }, z.core.$strict>, z.ZodObject<{
570
+ negate: z.ZodOptional<z.ZodBoolean>;
309
571
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
310
572
  operator: z.ZodLiteral<"keys_in">;
311
573
  value: z.ZodArray<z.ZodString>;
312
574
  }, z.core.$strict>, z.ZodObject<{
575
+ negate: z.ZodOptional<z.ZodBoolean>;
313
576
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
314
577
  operator: z.ZodLiteral<"size">;
315
578
  value: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
316
579
  min: z.ZodOptional<z.ZodNumber>;
317
580
  max: z.ZodOptional<z.ZodNumber>;
318
581
  }, z.core.$strict>]>;
582
+ }, z.core.$strict>, z.ZodObject<{
583
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
584
+ operator: z.ZodEnum<{
585
+ some: "some";
586
+ all: "all";
587
+ none: "none";
588
+ }>;
589
+ where: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
590
+ negate: z.ZodOptional<z.ZodBoolean>;
591
+ operator: z.ZodLiteral<"equals">;
592
+ value: z.ZodJSONSchema;
593
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
594
+ }, z.core.$strict>, z.ZodObject<{
595
+ negate: z.ZodOptional<z.ZodBoolean>;
596
+ operator: z.ZodLiteral<"in">;
597
+ value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
598
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
599
+ }, z.core.$strict>, z.ZodObject<{
600
+ negate: z.ZodOptional<z.ZodBoolean>;
601
+ operator: z.ZodLiteral<"matches">;
602
+ value: z.ZodString;
603
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
604
+ }, z.core.$strict>, z.ZodObject<{
605
+ negate: z.ZodOptional<z.ZodBoolean>;
606
+ operator: z.ZodLiteral<"matches_host">;
607
+ value: z.ZodString;
608
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
609
+ }, z.core.$strict>, z.ZodObject<{
610
+ negate: z.ZodOptional<z.ZodBoolean>;
611
+ operator: z.ZodLiteral<"matches_path">;
612
+ value: z.ZodString;
613
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
614
+ }, z.core.$strict>, z.ZodObject<{
615
+ negate: z.ZodOptional<z.ZodBoolean>;
616
+ operator: z.ZodLiteral<"range">;
617
+ value: z.ZodObject<{
618
+ min: z.ZodOptional<z.ZodNumber>;
619
+ max: z.ZodOptional<z.ZodNumber>;
620
+ }, z.core.$strict>;
621
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
622
+ }, z.core.$strict>, z.ZodObject<{
623
+ negate: z.ZodOptional<z.ZodBoolean>;
624
+ operator: z.ZodLiteral<"matches_url">;
625
+ value: z.ZodString;
626
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
627
+ }, z.core.$strict>, z.ZodObject<{
628
+ negate: z.ZodOptional<z.ZodBoolean>;
629
+ operator: z.ZodLiteral<"values_in">;
630
+ value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
631
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
632
+ }, z.core.$strict>, z.ZodObject<{
633
+ negate: z.ZodOptional<z.ZodBoolean>;
634
+ operator: z.ZodLiteral<"exists">;
635
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
636
+ }, z.core.$strict>, z.ZodObject<{
637
+ negate: z.ZodOptional<z.ZodBoolean>;
638
+ operator: z.ZodLiteral<"keys_in">;
639
+ value: z.ZodArray<z.ZodString>;
640
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
641
+ }, z.core.$strict>, z.ZodObject<{
642
+ negate: z.ZodOptional<z.ZodBoolean>;
643
+ operator: z.ZodLiteral<"size">;
644
+ value: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
645
+ min: z.ZodOptional<z.ZodNumber>;
646
+ max: z.ZodOptional<z.ZodNumber>;
647
+ }, z.core.$strict>]>;
648
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
649
+ }, z.core.$strict>]>>;
319
650
  }, z.core.$strict>]>>>;
320
651
  }, z.core.$strict>>;
652
+ }, z.core.$strict>, z.ZodObject<{
653
+ version: z.ZodLiteral<3>;
654
+ statements: z.ZodArray<z.ZodArray<z.ZodObject<{
655
+ id: z.ZodString;
656
+ effect: z.ZodEnum<{
657
+ allow: "allow";
658
+ deny: "deny";
659
+ ask: "ask";
660
+ }>;
661
+ permissions: z.ZodArray<z.ZodString>;
662
+ resources: z.ZodArray<z.ZodString>;
663
+ conditions: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
664
+ negate: z.ZodOptional<z.ZodBoolean>;
665
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
666
+ operator: z.ZodLiteral<"equals">;
667
+ value: z.ZodJSONSchema;
668
+ }, z.core.$strict>, z.ZodObject<{
669
+ negate: z.ZodOptional<z.ZodBoolean>;
670
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
671
+ operator: z.ZodLiteral<"in">;
672
+ value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
673
+ }, z.core.$strict>, z.ZodObject<{
674
+ negate: z.ZodOptional<z.ZodBoolean>;
675
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
676
+ operator: z.ZodLiteral<"matches">;
677
+ value: z.ZodString;
678
+ }, z.core.$strict>, z.ZodObject<{
679
+ negate: z.ZodOptional<z.ZodBoolean>;
680
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
681
+ operator: z.ZodLiteral<"matches_host">;
682
+ value: z.ZodString;
683
+ }, z.core.$strict>, z.ZodObject<{
684
+ negate: z.ZodOptional<z.ZodBoolean>;
685
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
686
+ operator: z.ZodLiteral<"matches_path">;
687
+ value: z.ZodString;
688
+ }, z.core.$strict>, z.ZodObject<{
689
+ negate: z.ZodOptional<z.ZodBoolean>;
690
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
691
+ operator: z.ZodLiteral<"range">;
692
+ value: z.ZodObject<{
693
+ min: z.ZodOptional<z.ZodNumber>;
694
+ max: z.ZodOptional<z.ZodNumber>;
695
+ }, z.core.$strict>;
696
+ }, z.core.$strict>, z.ZodObject<{
697
+ negate: z.ZodOptional<z.ZodBoolean>;
698
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
699
+ operator: z.ZodLiteral<"matches_url">;
700
+ value: z.ZodString;
701
+ }, z.core.$strict>, z.ZodObject<{
702
+ negate: z.ZodOptional<z.ZodBoolean>;
703
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
704
+ operator: z.ZodLiteral<"values_in">;
705
+ value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
706
+ }, z.core.$strict>, z.ZodObject<{
707
+ negate: z.ZodOptional<z.ZodBoolean>;
708
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
709
+ operator: z.ZodLiteral<"exists">;
710
+ }, z.core.$strict>, z.ZodObject<{
711
+ negate: z.ZodOptional<z.ZodBoolean>;
712
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
713
+ operator: z.ZodLiteral<"keys_in">;
714
+ value: z.ZodArray<z.ZodString>;
715
+ }, z.core.$strict>, z.ZodObject<{
716
+ negate: z.ZodOptional<z.ZodBoolean>;
717
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
718
+ operator: z.ZodLiteral<"size">;
719
+ value: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
720
+ min: z.ZodOptional<z.ZodNumber>;
721
+ max: z.ZodOptional<z.ZodNumber>;
722
+ }, z.core.$strict>]>;
723
+ }, z.core.$strict>, z.ZodObject<{
724
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
725
+ operator: z.ZodEnum<{
726
+ some: "some";
727
+ all: "all";
728
+ none: "none";
729
+ }>;
730
+ where: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
731
+ negate: z.ZodOptional<z.ZodBoolean>;
732
+ operator: z.ZodLiteral<"equals">;
733
+ value: z.ZodJSONSchema;
734
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
735
+ }, z.core.$strict>, z.ZodObject<{
736
+ negate: z.ZodOptional<z.ZodBoolean>;
737
+ operator: z.ZodLiteral<"in">;
738
+ value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
739
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
740
+ }, z.core.$strict>, z.ZodObject<{
741
+ negate: z.ZodOptional<z.ZodBoolean>;
742
+ operator: z.ZodLiteral<"matches">;
743
+ value: z.ZodString;
744
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
745
+ }, z.core.$strict>, z.ZodObject<{
746
+ negate: z.ZodOptional<z.ZodBoolean>;
747
+ operator: z.ZodLiteral<"matches_host">;
748
+ value: z.ZodString;
749
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
750
+ }, z.core.$strict>, z.ZodObject<{
751
+ negate: z.ZodOptional<z.ZodBoolean>;
752
+ operator: z.ZodLiteral<"matches_path">;
753
+ value: z.ZodString;
754
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
755
+ }, z.core.$strict>, z.ZodObject<{
756
+ negate: z.ZodOptional<z.ZodBoolean>;
757
+ operator: z.ZodLiteral<"range">;
758
+ value: z.ZodObject<{
759
+ min: z.ZodOptional<z.ZodNumber>;
760
+ max: z.ZodOptional<z.ZodNumber>;
761
+ }, z.core.$strict>;
762
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
763
+ }, z.core.$strict>, z.ZodObject<{
764
+ negate: z.ZodOptional<z.ZodBoolean>;
765
+ operator: z.ZodLiteral<"matches_url">;
766
+ value: z.ZodString;
767
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
768
+ }, z.core.$strict>, z.ZodObject<{
769
+ negate: z.ZodOptional<z.ZodBoolean>;
770
+ operator: z.ZodLiteral<"values_in">;
771
+ value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
772
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
773
+ }, z.core.$strict>, z.ZodObject<{
774
+ negate: z.ZodOptional<z.ZodBoolean>;
775
+ operator: z.ZodLiteral<"exists">;
776
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
777
+ }, z.core.$strict>, z.ZodObject<{
778
+ negate: z.ZodOptional<z.ZodBoolean>;
779
+ operator: z.ZodLiteral<"keys_in">;
780
+ value: z.ZodArray<z.ZodString>;
781
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
782
+ }, z.core.$strict>, z.ZodObject<{
783
+ negate: z.ZodOptional<z.ZodBoolean>;
784
+ operator: z.ZodLiteral<"size">;
785
+ value: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
786
+ min: z.ZodOptional<z.ZodNumber>;
787
+ max: z.ZodOptional<z.ZodNumber>;
788
+ }, z.core.$strict>]>;
789
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
790
+ }, z.core.$strict>]>>;
791
+ }, z.core.$strict>]>>>;
792
+ }, z.core.$strict>>>;
321
793
  }, z.core.$strict>, z.ZodObject<{
322
794
  version: z.ZodLiteral<"rc-rubberduck">;
323
795
  id: z.ZodString;
324
796
  defaultEffect: z.ZodEnum<{
325
- ask: "ask";
326
797
  deny: "deny";
798
+ ask: "ask";
327
799
  }>;
328
800
  statements: z.ZodArray<z.ZodObject<{
329
801
  id: z.ZodString;
330
802
  effect: z.ZodEnum<{
331
803
  allow: "allow";
332
- ask: "ask";
333
804
  deny: "deny";
805
+ ask: "ask";
334
806
  }>;
335
807
  permissions: z.ZodArray<z.ZodString>;
336
808
  resources: z.ZodArray<z.ZodString>;
337
809
  conditions: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
810
+ negate: z.ZodOptional<z.ZodBoolean>;
338
811
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
339
812
  operator: z.ZodLiteral<"equals">;
340
813
  value: z.ZodJSONSchema;
341
814
  }, z.core.$strict>, z.ZodObject<{
815
+ negate: z.ZodOptional<z.ZodBoolean>;
342
816
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
343
817
  operator: z.ZodLiteral<"in">;
344
818
  value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
345
819
  }, z.core.$strict>, z.ZodObject<{
820
+ negate: z.ZodOptional<z.ZodBoolean>;
346
821
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
347
822
  operator: z.ZodLiteral<"matches">;
348
823
  value: z.ZodString;
349
824
  }, z.core.$strict>, z.ZodObject<{
825
+ negate: z.ZodOptional<z.ZodBoolean>;
350
826
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
351
827
  operator: z.ZodLiteral<"matches_host">;
352
828
  value: z.ZodString;
353
829
  }, z.core.$strict>, z.ZodObject<{
830
+ negate: z.ZodOptional<z.ZodBoolean>;
354
831
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
355
832
  operator: z.ZodLiteral<"matches_path">;
356
833
  value: z.ZodString;
357
834
  }, z.core.$strict>, z.ZodObject<{
835
+ negate: z.ZodOptional<z.ZodBoolean>;
358
836
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
359
837
  operator: z.ZodLiteral<"range">;
360
838
  value: z.ZodObject<{
@@ -362,27 +840,100 @@ declare const PolicySchema: z.ZodUnion<readonly [z.ZodObject<{
362
840
  max: z.ZodOptional<z.ZodNumber>;
363
841
  }, z.core.$strict>;
364
842
  }, z.core.$strict>, z.ZodObject<{
843
+ negate: z.ZodOptional<z.ZodBoolean>;
365
844
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
366
845
  operator: z.ZodLiteral<"matches_url">;
367
846
  value: z.ZodString;
368
847
  }, z.core.$strict>, z.ZodObject<{
848
+ negate: z.ZodOptional<z.ZodBoolean>;
369
849
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
370
850
  operator: z.ZodLiteral<"values_in">;
371
851
  value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
372
852
  }, z.core.$strict>, z.ZodObject<{
853
+ negate: z.ZodOptional<z.ZodBoolean>;
373
854
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
374
855
  operator: z.ZodLiteral<"exists">;
375
856
  }, z.core.$strict>, z.ZodObject<{
857
+ negate: z.ZodOptional<z.ZodBoolean>;
376
858
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
377
859
  operator: z.ZodLiteral<"keys_in">;
378
860
  value: z.ZodArray<z.ZodString>;
379
861
  }, z.core.$strict>, z.ZodObject<{
862
+ negate: z.ZodOptional<z.ZodBoolean>;
380
863
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
381
864
  operator: z.ZodLiteral<"size">;
382
865
  value: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
383
866
  min: z.ZodOptional<z.ZodNumber>;
384
867
  max: z.ZodOptional<z.ZodNumber>;
385
868
  }, z.core.$strict>]>;
869
+ }, z.core.$strict>, z.ZodObject<{
870
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
871
+ operator: z.ZodEnum<{
872
+ some: "some";
873
+ all: "all";
874
+ none: "none";
875
+ }>;
876
+ where: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
877
+ negate: z.ZodOptional<z.ZodBoolean>;
878
+ operator: z.ZodLiteral<"equals">;
879
+ value: z.ZodJSONSchema;
880
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
881
+ }, z.core.$strict>, z.ZodObject<{
882
+ negate: z.ZodOptional<z.ZodBoolean>;
883
+ operator: z.ZodLiteral<"in">;
884
+ value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
885
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
886
+ }, z.core.$strict>, z.ZodObject<{
887
+ negate: z.ZodOptional<z.ZodBoolean>;
888
+ operator: z.ZodLiteral<"matches">;
889
+ value: z.ZodString;
890
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
891
+ }, z.core.$strict>, z.ZodObject<{
892
+ negate: z.ZodOptional<z.ZodBoolean>;
893
+ operator: z.ZodLiteral<"matches_host">;
894
+ value: z.ZodString;
895
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
896
+ }, z.core.$strict>, z.ZodObject<{
897
+ negate: z.ZodOptional<z.ZodBoolean>;
898
+ operator: z.ZodLiteral<"matches_path">;
899
+ value: z.ZodString;
900
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
901
+ }, z.core.$strict>, z.ZodObject<{
902
+ negate: z.ZodOptional<z.ZodBoolean>;
903
+ operator: z.ZodLiteral<"range">;
904
+ value: z.ZodObject<{
905
+ min: z.ZodOptional<z.ZodNumber>;
906
+ max: z.ZodOptional<z.ZodNumber>;
907
+ }, z.core.$strict>;
908
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
909
+ }, z.core.$strict>, z.ZodObject<{
910
+ negate: z.ZodOptional<z.ZodBoolean>;
911
+ operator: z.ZodLiteral<"matches_url">;
912
+ value: z.ZodString;
913
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
914
+ }, z.core.$strict>, z.ZodObject<{
915
+ negate: z.ZodOptional<z.ZodBoolean>;
916
+ operator: z.ZodLiteral<"values_in">;
917
+ value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
918
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
919
+ }, z.core.$strict>, z.ZodObject<{
920
+ negate: z.ZodOptional<z.ZodBoolean>;
921
+ operator: z.ZodLiteral<"exists">;
922
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
923
+ }, z.core.$strict>, z.ZodObject<{
924
+ negate: z.ZodOptional<z.ZodBoolean>;
925
+ operator: z.ZodLiteral<"keys_in">;
926
+ value: z.ZodArray<z.ZodString>;
927
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
928
+ }, z.core.$strict>, z.ZodObject<{
929
+ negate: z.ZodOptional<z.ZodBoolean>;
930
+ operator: z.ZodLiteral<"size">;
931
+ value: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
932
+ min: z.ZodOptional<z.ZodNumber>;
933
+ max: z.ZodOptional<z.ZodNumber>;
934
+ }, z.core.$strict>]>;
935
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
936
+ }, z.core.$strict>]>>;
386
937
  }, z.core.$strict>]>>>;
387
938
  }, z.core.$strict>>;
388
939
  }, z.core.$strict>]>;
@@ -418,26 +969,32 @@ declare const OverrideSchema: z.ZodUnion<readonly [z.ZodObject<{
418
969
  effect: z.ZodLiteral<"allow">;
419
970
  }, z.core.$strict>, z.ZodObject<{
420
971
  conditionals: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
972
+ negate: z.ZodOptional<z.ZodBoolean>;
421
973
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
422
974
  operator: z.ZodLiteral<"equals">;
423
975
  value: z.ZodJSONSchema;
424
976
  }, z.core.$strict>, z.ZodObject<{
977
+ negate: z.ZodOptional<z.ZodBoolean>;
425
978
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
426
979
  operator: z.ZodLiteral<"in">;
427
980
  value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
428
981
  }, z.core.$strict>, z.ZodObject<{
982
+ negate: z.ZodOptional<z.ZodBoolean>;
429
983
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
430
984
  operator: z.ZodLiteral<"matches">;
431
985
  value: z.ZodString;
432
986
  }, z.core.$strict>, z.ZodObject<{
987
+ negate: z.ZodOptional<z.ZodBoolean>;
433
988
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
434
989
  operator: z.ZodLiteral<"matches_host">;
435
990
  value: z.ZodString;
436
991
  }, z.core.$strict>, z.ZodObject<{
992
+ negate: z.ZodOptional<z.ZodBoolean>;
437
993
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
438
994
  operator: z.ZodLiteral<"matches_path">;
439
995
  value: z.ZodString;
440
996
  }, z.core.$strict>, z.ZodObject<{
997
+ negate: z.ZodOptional<z.ZodBoolean>;
441
998
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
442
999
  operator: z.ZodLiteral<"range">;
443
1000
  value: z.ZodObject<{
@@ -445,27 +1002,100 @@ declare const OverrideSchema: z.ZodUnion<readonly [z.ZodObject<{
445
1002
  max: z.ZodOptional<z.ZodNumber>;
446
1003
  }, z.core.$strict>;
447
1004
  }, z.core.$strict>, z.ZodObject<{
1005
+ negate: z.ZodOptional<z.ZodBoolean>;
448
1006
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
449
1007
  operator: z.ZodLiteral<"matches_url">;
450
1008
  value: z.ZodString;
451
1009
  }, z.core.$strict>, z.ZodObject<{
1010
+ negate: z.ZodOptional<z.ZodBoolean>;
452
1011
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
453
1012
  operator: z.ZodLiteral<"values_in">;
454
1013
  value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
455
1014
  }, z.core.$strict>, z.ZodObject<{
1015
+ negate: z.ZodOptional<z.ZodBoolean>;
456
1016
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
457
1017
  operator: z.ZodLiteral<"exists">;
458
1018
  }, z.core.$strict>, z.ZodObject<{
1019
+ negate: z.ZodOptional<z.ZodBoolean>;
459
1020
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
460
1021
  operator: z.ZodLiteral<"keys_in">;
461
1022
  value: z.ZodArray<z.ZodString>;
462
1023
  }, z.core.$strict>, z.ZodObject<{
1024
+ negate: z.ZodOptional<z.ZodBoolean>;
463
1025
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
464
1026
  operator: z.ZodLiteral<"size">;
465
1027
  value: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
466
1028
  min: z.ZodOptional<z.ZodNumber>;
467
1029
  max: z.ZodOptional<z.ZodNumber>;
468
1030
  }, z.core.$strict>]>;
1031
+ }, z.core.$strict>, z.ZodObject<{
1032
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1033
+ operator: z.ZodEnum<{
1034
+ some: "some";
1035
+ all: "all";
1036
+ none: "none";
1037
+ }>;
1038
+ where: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
1039
+ negate: z.ZodOptional<z.ZodBoolean>;
1040
+ operator: z.ZodLiteral<"equals">;
1041
+ value: z.ZodJSONSchema;
1042
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1043
+ }, z.core.$strict>, z.ZodObject<{
1044
+ negate: z.ZodOptional<z.ZodBoolean>;
1045
+ operator: z.ZodLiteral<"in">;
1046
+ value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
1047
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1048
+ }, z.core.$strict>, z.ZodObject<{
1049
+ negate: z.ZodOptional<z.ZodBoolean>;
1050
+ operator: z.ZodLiteral<"matches">;
1051
+ value: z.ZodString;
1052
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1053
+ }, z.core.$strict>, z.ZodObject<{
1054
+ negate: z.ZodOptional<z.ZodBoolean>;
1055
+ operator: z.ZodLiteral<"matches_host">;
1056
+ value: z.ZodString;
1057
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1058
+ }, z.core.$strict>, z.ZodObject<{
1059
+ negate: z.ZodOptional<z.ZodBoolean>;
1060
+ operator: z.ZodLiteral<"matches_path">;
1061
+ value: z.ZodString;
1062
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1063
+ }, z.core.$strict>, z.ZodObject<{
1064
+ negate: z.ZodOptional<z.ZodBoolean>;
1065
+ operator: z.ZodLiteral<"range">;
1066
+ value: z.ZodObject<{
1067
+ min: z.ZodOptional<z.ZodNumber>;
1068
+ max: z.ZodOptional<z.ZodNumber>;
1069
+ }, z.core.$strict>;
1070
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1071
+ }, z.core.$strict>, z.ZodObject<{
1072
+ negate: z.ZodOptional<z.ZodBoolean>;
1073
+ operator: z.ZodLiteral<"matches_url">;
1074
+ value: z.ZodString;
1075
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1076
+ }, z.core.$strict>, z.ZodObject<{
1077
+ negate: z.ZodOptional<z.ZodBoolean>;
1078
+ operator: z.ZodLiteral<"values_in">;
1079
+ value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
1080
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1081
+ }, z.core.$strict>, z.ZodObject<{
1082
+ negate: z.ZodOptional<z.ZodBoolean>;
1083
+ operator: z.ZodLiteral<"exists">;
1084
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1085
+ }, z.core.$strict>, z.ZodObject<{
1086
+ negate: z.ZodOptional<z.ZodBoolean>;
1087
+ operator: z.ZodLiteral<"keys_in">;
1088
+ value: z.ZodArray<z.ZodString>;
1089
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1090
+ }, z.core.$strict>, z.ZodObject<{
1091
+ negate: z.ZodOptional<z.ZodBoolean>;
1092
+ operator: z.ZodLiteral<"size">;
1093
+ value: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
1094
+ min: z.ZodOptional<z.ZodNumber>;
1095
+ max: z.ZodOptional<z.ZodNumber>;
1096
+ }, z.core.$strict>]>;
1097
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1098
+ }, z.core.$strict>]>>;
469
1099
  }, z.core.$strict>]>>;
470
1100
  id: z.ZodOptional<z.ZodString>;
471
1101
  statementHash: z.ZodCustom<CanonicalHash, CanonicalHash>;
@@ -482,26 +1112,32 @@ declare const OverrideSchema: z.ZodUnion<readonly [z.ZodObject<{
482
1112
  effect: z.ZodLiteral<"allow">;
483
1113
  }, z.core.$strict>, z.ZodObject<{
484
1114
  conditionals: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
1115
+ negate: z.ZodOptional<z.ZodBoolean>;
485
1116
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
486
1117
  operator: z.ZodLiteral<"equals">;
487
1118
  value: z.ZodJSONSchema;
488
1119
  }, z.core.$strict>, z.ZodObject<{
1120
+ negate: z.ZodOptional<z.ZodBoolean>;
489
1121
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
490
1122
  operator: z.ZodLiteral<"in">;
491
1123
  value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
492
1124
  }, z.core.$strict>, z.ZodObject<{
1125
+ negate: z.ZodOptional<z.ZodBoolean>;
493
1126
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
494
1127
  operator: z.ZodLiteral<"matches">;
495
1128
  value: z.ZodString;
496
1129
  }, z.core.$strict>, z.ZodObject<{
1130
+ negate: z.ZodOptional<z.ZodBoolean>;
497
1131
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
498
1132
  operator: z.ZodLiteral<"matches_host">;
499
1133
  value: z.ZodString;
500
1134
  }, z.core.$strict>, z.ZodObject<{
1135
+ negate: z.ZodOptional<z.ZodBoolean>;
501
1136
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
502
1137
  operator: z.ZodLiteral<"matches_path">;
503
1138
  value: z.ZodString;
504
1139
  }, z.core.$strict>, z.ZodObject<{
1140
+ negate: z.ZodOptional<z.ZodBoolean>;
505
1141
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
506
1142
  operator: z.ZodLiteral<"range">;
507
1143
  value: z.ZodObject<{
@@ -509,27 +1145,100 @@ declare const OverrideSchema: z.ZodUnion<readonly [z.ZodObject<{
509
1145
  max: z.ZodOptional<z.ZodNumber>;
510
1146
  }, z.core.$strict>;
511
1147
  }, z.core.$strict>, z.ZodObject<{
1148
+ negate: z.ZodOptional<z.ZodBoolean>;
512
1149
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
513
1150
  operator: z.ZodLiteral<"matches_url">;
514
1151
  value: z.ZodString;
515
1152
  }, z.core.$strict>, z.ZodObject<{
1153
+ negate: z.ZodOptional<z.ZodBoolean>;
516
1154
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
517
1155
  operator: z.ZodLiteral<"values_in">;
518
1156
  value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
519
1157
  }, z.core.$strict>, z.ZodObject<{
1158
+ negate: z.ZodOptional<z.ZodBoolean>;
520
1159
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
521
1160
  operator: z.ZodLiteral<"exists">;
522
1161
  }, z.core.$strict>, z.ZodObject<{
1162
+ negate: z.ZodOptional<z.ZodBoolean>;
523
1163
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
524
1164
  operator: z.ZodLiteral<"keys_in">;
525
1165
  value: z.ZodArray<z.ZodString>;
526
1166
  }, z.core.$strict>, z.ZodObject<{
1167
+ negate: z.ZodOptional<z.ZodBoolean>;
527
1168
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
528
1169
  operator: z.ZodLiteral<"size">;
529
1170
  value: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
530
1171
  min: z.ZodOptional<z.ZodNumber>;
531
1172
  max: z.ZodOptional<z.ZodNumber>;
532
1173
  }, z.core.$strict>]>;
1174
+ }, z.core.$strict>, z.ZodObject<{
1175
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1176
+ operator: z.ZodEnum<{
1177
+ some: "some";
1178
+ all: "all";
1179
+ none: "none";
1180
+ }>;
1181
+ where: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
1182
+ negate: z.ZodOptional<z.ZodBoolean>;
1183
+ operator: z.ZodLiteral<"equals">;
1184
+ value: z.ZodJSONSchema;
1185
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1186
+ }, z.core.$strict>, z.ZodObject<{
1187
+ negate: z.ZodOptional<z.ZodBoolean>;
1188
+ operator: z.ZodLiteral<"in">;
1189
+ value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
1190
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1191
+ }, z.core.$strict>, z.ZodObject<{
1192
+ negate: z.ZodOptional<z.ZodBoolean>;
1193
+ operator: z.ZodLiteral<"matches">;
1194
+ value: z.ZodString;
1195
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1196
+ }, z.core.$strict>, z.ZodObject<{
1197
+ negate: z.ZodOptional<z.ZodBoolean>;
1198
+ operator: z.ZodLiteral<"matches_host">;
1199
+ value: z.ZodString;
1200
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1201
+ }, z.core.$strict>, z.ZodObject<{
1202
+ negate: z.ZodOptional<z.ZodBoolean>;
1203
+ operator: z.ZodLiteral<"matches_path">;
1204
+ value: z.ZodString;
1205
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1206
+ }, z.core.$strict>, z.ZodObject<{
1207
+ negate: z.ZodOptional<z.ZodBoolean>;
1208
+ operator: z.ZodLiteral<"range">;
1209
+ value: z.ZodObject<{
1210
+ min: z.ZodOptional<z.ZodNumber>;
1211
+ max: z.ZodOptional<z.ZodNumber>;
1212
+ }, z.core.$strict>;
1213
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1214
+ }, z.core.$strict>, z.ZodObject<{
1215
+ negate: z.ZodOptional<z.ZodBoolean>;
1216
+ operator: z.ZodLiteral<"matches_url">;
1217
+ value: z.ZodString;
1218
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1219
+ }, z.core.$strict>, z.ZodObject<{
1220
+ negate: z.ZodOptional<z.ZodBoolean>;
1221
+ operator: z.ZodLiteral<"values_in">;
1222
+ value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
1223
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1224
+ }, z.core.$strict>, z.ZodObject<{
1225
+ negate: z.ZodOptional<z.ZodBoolean>;
1226
+ operator: z.ZodLiteral<"exists">;
1227
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1228
+ }, z.core.$strict>, z.ZodObject<{
1229
+ negate: z.ZodOptional<z.ZodBoolean>;
1230
+ operator: z.ZodLiteral<"keys_in">;
1231
+ value: z.ZodArray<z.ZodString>;
1232
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1233
+ }, z.core.$strict>, z.ZodObject<{
1234
+ negate: z.ZodOptional<z.ZodBoolean>;
1235
+ operator: z.ZodLiteral<"size">;
1236
+ value: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
1237
+ min: z.ZodOptional<z.ZodNumber>;
1238
+ max: z.ZodOptional<z.ZodNumber>;
1239
+ }, z.core.$strict>]>;
1240
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1241
+ }, z.core.$strict>]>>;
533
1242
  }, z.core.$strict>]>>;
534
1243
  id: z.ZodOptional<z.ZodString>;
535
1244
  statementId: z.ZodString;
@@ -546,26 +1255,32 @@ declare const OverrideSchema: z.ZodUnion<readonly [z.ZodObject<{
546
1255
  effect: z.ZodLiteral<"allow">;
547
1256
  }, z.core.$strict>, z.ZodObject<{
548
1257
  conditionals: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
1258
+ negate: z.ZodOptional<z.ZodBoolean>;
549
1259
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
550
1260
  operator: z.ZodLiteral<"equals">;
551
1261
  value: z.ZodJSONSchema;
552
1262
  }, z.core.$strict>, z.ZodObject<{
1263
+ negate: z.ZodOptional<z.ZodBoolean>;
553
1264
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
554
1265
  operator: z.ZodLiteral<"in">;
555
1266
  value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
556
1267
  }, z.core.$strict>, z.ZodObject<{
1268
+ negate: z.ZodOptional<z.ZodBoolean>;
557
1269
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
558
1270
  operator: z.ZodLiteral<"matches">;
559
1271
  value: z.ZodString;
560
1272
  }, z.core.$strict>, z.ZodObject<{
1273
+ negate: z.ZodOptional<z.ZodBoolean>;
561
1274
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
562
1275
  operator: z.ZodLiteral<"matches_host">;
563
1276
  value: z.ZodString;
564
1277
  }, z.core.$strict>, z.ZodObject<{
1278
+ negate: z.ZodOptional<z.ZodBoolean>;
565
1279
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
566
1280
  operator: z.ZodLiteral<"matches_path">;
567
1281
  value: z.ZodString;
568
1282
  }, z.core.$strict>, z.ZodObject<{
1283
+ negate: z.ZodOptional<z.ZodBoolean>;
569
1284
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
570
1285
  operator: z.ZodLiteral<"range">;
571
1286
  value: z.ZodObject<{
@@ -573,27 +1288,100 @@ declare const OverrideSchema: z.ZodUnion<readonly [z.ZodObject<{
573
1288
  max: z.ZodOptional<z.ZodNumber>;
574
1289
  }, z.core.$strict>;
575
1290
  }, z.core.$strict>, z.ZodObject<{
1291
+ negate: z.ZodOptional<z.ZodBoolean>;
576
1292
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
577
1293
  operator: z.ZodLiteral<"matches_url">;
578
1294
  value: z.ZodString;
579
1295
  }, z.core.$strict>, z.ZodObject<{
1296
+ negate: z.ZodOptional<z.ZodBoolean>;
580
1297
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
581
1298
  operator: z.ZodLiteral<"values_in">;
582
1299
  value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
583
1300
  }, z.core.$strict>, z.ZodObject<{
1301
+ negate: z.ZodOptional<z.ZodBoolean>;
584
1302
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
585
1303
  operator: z.ZodLiteral<"exists">;
586
1304
  }, z.core.$strict>, z.ZodObject<{
1305
+ negate: z.ZodOptional<z.ZodBoolean>;
587
1306
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
588
1307
  operator: z.ZodLiteral<"keys_in">;
589
1308
  value: z.ZodArray<z.ZodString>;
590
1309
  }, z.core.$strict>, z.ZodObject<{
1310
+ negate: z.ZodOptional<z.ZodBoolean>;
591
1311
  path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
592
1312
  operator: z.ZodLiteral<"size">;
593
1313
  value: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
594
1314
  min: z.ZodOptional<z.ZodNumber>;
595
1315
  max: z.ZodOptional<z.ZodNumber>;
596
1316
  }, z.core.$strict>]>;
1317
+ }, z.core.$strict>, z.ZodObject<{
1318
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1319
+ operator: z.ZodEnum<{
1320
+ some: "some";
1321
+ all: "all";
1322
+ none: "none";
1323
+ }>;
1324
+ where: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
1325
+ negate: z.ZodOptional<z.ZodBoolean>;
1326
+ operator: z.ZodLiteral<"equals">;
1327
+ value: z.ZodJSONSchema;
1328
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1329
+ }, z.core.$strict>, z.ZodObject<{
1330
+ negate: z.ZodOptional<z.ZodBoolean>;
1331
+ operator: z.ZodLiteral<"in">;
1332
+ value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
1333
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1334
+ }, z.core.$strict>, z.ZodObject<{
1335
+ negate: z.ZodOptional<z.ZodBoolean>;
1336
+ operator: z.ZodLiteral<"matches">;
1337
+ value: z.ZodString;
1338
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1339
+ }, z.core.$strict>, z.ZodObject<{
1340
+ negate: z.ZodOptional<z.ZodBoolean>;
1341
+ operator: z.ZodLiteral<"matches_host">;
1342
+ value: z.ZodString;
1343
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1344
+ }, z.core.$strict>, z.ZodObject<{
1345
+ negate: z.ZodOptional<z.ZodBoolean>;
1346
+ operator: z.ZodLiteral<"matches_path">;
1347
+ value: z.ZodString;
1348
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1349
+ }, z.core.$strict>, z.ZodObject<{
1350
+ negate: z.ZodOptional<z.ZodBoolean>;
1351
+ operator: z.ZodLiteral<"range">;
1352
+ value: z.ZodObject<{
1353
+ min: z.ZodOptional<z.ZodNumber>;
1354
+ max: z.ZodOptional<z.ZodNumber>;
1355
+ }, z.core.$strict>;
1356
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1357
+ }, z.core.$strict>, z.ZodObject<{
1358
+ negate: z.ZodOptional<z.ZodBoolean>;
1359
+ operator: z.ZodLiteral<"matches_url">;
1360
+ value: z.ZodString;
1361
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1362
+ }, z.core.$strict>, z.ZodObject<{
1363
+ negate: z.ZodOptional<z.ZodBoolean>;
1364
+ operator: z.ZodLiteral<"values_in">;
1365
+ value: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
1366
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1367
+ }, z.core.$strict>, z.ZodObject<{
1368
+ negate: z.ZodOptional<z.ZodBoolean>;
1369
+ operator: z.ZodLiteral<"exists">;
1370
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1371
+ }, z.core.$strict>, z.ZodObject<{
1372
+ negate: z.ZodOptional<z.ZodBoolean>;
1373
+ operator: z.ZodLiteral<"keys_in">;
1374
+ value: z.ZodArray<z.ZodString>;
1375
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1376
+ }, z.core.$strict>, z.ZodObject<{
1377
+ negate: z.ZodOptional<z.ZodBoolean>;
1378
+ operator: z.ZodLiteral<"size">;
1379
+ value: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
1380
+ min: z.ZodOptional<z.ZodNumber>;
1381
+ max: z.ZodOptional<z.ZodNumber>;
1382
+ }, z.core.$strict>]>;
1383
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
1384
+ }, z.core.$strict>]>>;
597
1385
  }, z.core.$strict>]>>;
598
1386
  id: z.ZodOptional<z.ZodString>;
599
1387
  policyId: z.ZodString;
@@ -694,4 +1482,4 @@ interface OpenApiSchema {
694
1482
  anyOf?: OpenApiSchema[];
695
1483
  }
696
1484
 
697
- export { type ArrayOperator, ArrayOperatorSchema, type CanonicalHash, CanonicalHashSchema, type Condition, ConditionSchema, type ConditionTrace, type ConditionValue, ConditionValueSchema, type DefaultEffect, DefaultEffectSchema, type DefaultTrace, type Effect, type EvaluatePolicyOptions, type JsonValue, type OpenApiSchema, type Operator, OperatorSchema, type OtherOperator, OtherOperatorSchema, type Override, OverrideSchema, type OverrideTrace, type ParsedUrl, type Policy, type PolicyActionRequest, type PolicyHttpRequest, type PolicyId, PolicyIdSchema, type PolicyReason, type PolicyRequest, type PolicyResult, PolicySchema, RUBBERDUCK_POLICY_VERSION, type RangeValue, RangeValueSchema, type ScalarOperator, ScalarOperatorSchema, type SizeValue, SizeValueSchema, type Statement, type StatementId, StatementIdSchema, StatementSchema, type StatementTrace, type UrlOperator, UrlOperatorSchema, VALID_EFFECTS, VALID_OPERATOR_LIST, VALID_VERSIONS, getOpenApiSchema };
1485
+ export { type ArrayOperator, ArrayOperatorSchema, type CanonicalHash, CanonicalHashSchema, type Condition, ConditionSchema, type ConditionTrace, type ConditionValue, ConditionValueSchema, type DefaultEffect, DefaultEffectSchema, type DefaultTrace, type Effect, type EvaluatePolicyOptions, ID_BASED_VERSIONS, type JsonValue, type OpenApiSchema, type Operator, OperatorSchema, type OtherOperator, OtherOperatorSchema, type Override, OverrideSchema, type OverrideTrace, type ParsedUrl, type Policy, type PolicyActionRequest, type PolicyHttpRequest, type PolicyId, PolicyIdSchema, type PolicyReason, type PolicyRequest, type PolicyResult, PolicySchema, RUBBERDUCK_POLICY_VERSION, type RangeValue, RangeValueSchema, type ScalarOperator, ScalarOperatorSchema, type SizeValue, SizeValueSchema, type Statement, type StatementId, StatementIdSchema, StatementSchema, type StatementTrace, type UrlOperator, UrlOperatorSchema, V3_MAX_TIERS, VALID_EFFECTS, VALID_OPERATOR_LIST, VALID_VERSIONS, getOpenApiSchema };