@featurevisor/core 2.17.0 → 2.19.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.
Files changed (106) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/coverage/clover.xml +1692 -1196
  3. package/coverage/coverage-final.json +29 -22
  4. package/coverage/lcov-report/builder/allocator.ts.html +26 -26
  5. package/coverage/lcov-report/builder/buildDatafile.ts.html +2017 -0
  6. package/coverage/lcov-report/builder/buildScopedConditions.ts.html +35 -35
  7. package/coverage/lcov-report/builder/buildScopedDatafile.ts.html +213 -45
  8. package/coverage/lcov-report/builder/buildScopedSegments.ts.html +28 -28
  9. package/coverage/lcov-report/builder/convertToV1.ts.html +583 -0
  10. package/coverage/lcov-report/builder/getFeatureRanges.ts.html +268 -0
  11. package/coverage/lcov-report/builder/hashes.ts.html +412 -0
  12. package/coverage/lcov-report/builder/index.html +90 -30
  13. package/coverage/lcov-report/builder/mutateVariables.ts.html +66 -45
  14. package/coverage/lcov-report/builder/mutator.ts.html +95 -95
  15. package/coverage/lcov-report/builder/revision.ts.html +1 -1
  16. package/coverage/lcov-report/builder/traffic.ts.html +60 -57
  17. package/coverage/lcov-report/config/index.html +1 -1
  18. package/coverage/lcov-report/config/index.ts.html +2 -2
  19. package/coverage/lcov-report/config/projectConfig.ts.html +28 -28
  20. package/coverage/lcov-report/datasource/adapter.ts.html +2 -2
  21. package/coverage/lcov-report/datasource/datasource.ts.html +4 -4
  22. package/coverage/lcov-report/datasource/filesystemAdapter.ts.html +34 -34
  23. package/coverage/lcov-report/datasource/index.html +1 -1
  24. package/coverage/lcov-report/datasource/index.ts.html +1 -1
  25. package/coverage/lcov-report/index.html +39 -39
  26. package/coverage/lcov-report/linter/attributeSchema.ts.html +1 -1
  27. package/coverage/lcov-report/linter/checkCircularDependency.ts.html +1 -1
  28. package/coverage/lcov-report/linter/checkPercentageExceedingSlot.ts.html +1 -1
  29. package/coverage/lcov-report/linter/conditionSchema.ts.html +17 -17
  30. package/coverage/lcov-report/linter/featureSchema.ts.html +879 -417
  31. package/coverage/lcov-report/linter/groupSchema.ts.html +1 -1
  32. package/coverage/lcov-report/linter/index.html +34 -34
  33. package/coverage/lcov-report/linter/lintProject.ts.html +25 -25
  34. package/coverage/lcov-report/linter/mutationNotation.ts.html +224 -122
  35. package/coverage/lcov-report/linter/printError.ts.html +1 -1
  36. package/coverage/lcov-report/linter/schema.ts.html +175 -85
  37. package/coverage/lcov-report/linter/segmentSchema.ts.html +1 -1
  38. package/coverage/lcov-report/linter/testSchema.ts.html +5 -5
  39. package/coverage/lcov-report/list/index.html +1 -1
  40. package/coverage/lcov-report/list/matrix.ts.html +1 -1
  41. package/coverage/lcov-report/parsers/index.html +1 -1
  42. package/coverage/lcov-report/parsers/index.ts.html +4 -4
  43. package/coverage/lcov-report/parsers/json.ts.html +2 -2
  44. package/coverage/lcov-report/parsers/yml.ts.html +6 -6
  45. package/coverage/lcov-report/tester/cliFormat.ts.html +1 -1
  46. package/coverage/lcov-report/tester/helpers.ts.html +1 -1
  47. package/coverage/lcov-report/tester/index.html +1 -1
  48. package/coverage/lcov-report/utils/extractKeys.ts.html +493 -0
  49. package/coverage/lcov-report/utils/git.ts.html +3 -3
  50. package/coverage/lcov-report/utils/index.html +54 -9
  51. package/coverage/lcov-report/utils/index.ts.html +94 -0
  52. package/coverage/lcov-report/utils/pretty.ts.html +121 -0
  53. package/coverage/lcov.info +3206 -2260
  54. package/json-schema/attribute.json +25 -9
  55. package/json-schema/feature.json +319 -238
  56. package/json-schema/segment.json +76 -45
  57. package/lib/builder/buildDatafile.js +50 -3
  58. package/lib/builder/buildDatafile.js.map +1 -1
  59. package/lib/builder/buildDatafile.spec.d.ts +1 -0
  60. package/lib/builder/buildDatafile.spec.js +233 -0
  61. package/lib/builder/buildDatafile.spec.js.map +1 -0
  62. package/lib/builder/buildScopedDatafile.js +37 -1
  63. package/lib/builder/buildScopedDatafile.js.map +1 -1
  64. package/lib/builder/buildScopedDatafile.spec.js +289 -0
  65. package/lib/builder/buildScopedDatafile.spec.js.map +1 -1
  66. package/lib/builder/mutateVariables.d.ts +1 -1
  67. package/lib/builder/mutateVariables.js +4 -1
  68. package/lib/builder/mutateVariables.js.map +1 -1
  69. package/lib/builder/mutateVariables.spec.js +29 -0
  70. package/lib/builder/mutateVariables.spec.js.map +1 -1
  71. package/lib/builder/traffic.js +1 -0
  72. package/lib/builder/traffic.js.map +1 -1
  73. package/lib/builder/traffic.spec.js +26 -0
  74. package/lib/builder/traffic.spec.js.map +1 -1
  75. package/lib/generate-code/typescript.js +63 -20
  76. package/lib/generate-code/typescript.js.map +1 -1
  77. package/lib/linter/featureSchema.d.ts +237 -22
  78. package/lib/linter/featureSchema.js +175 -84
  79. package/lib/linter/featureSchema.js.map +1 -1
  80. package/lib/linter/featureSchema.spec.js +268 -0
  81. package/lib/linter/featureSchema.spec.js.map +1 -1
  82. package/lib/linter/mutationNotation.js +54 -19
  83. package/lib/linter/mutationNotation.js.map +1 -1
  84. package/lib/linter/mutationNotation.spec.js +49 -0
  85. package/lib/linter/mutationNotation.spec.js.map +1 -1
  86. package/lib/linter/schema.d.ts +1 -0
  87. package/lib/linter/schema.js +13 -0
  88. package/lib/linter/schema.js.map +1 -1
  89. package/lib/linter/schema.spec.js +51 -0
  90. package/lib/linter/schema.spec.js.map +1 -1
  91. package/package.json +5 -5
  92. package/src/builder/buildDatafile.spec.ts +267 -0
  93. package/src/builder/buildDatafile.ts +85 -4
  94. package/src/builder/buildScopedDatafile.spec.ts +330 -0
  95. package/src/builder/buildScopedDatafile.ts +57 -1
  96. package/src/builder/mutateVariables.spec.ts +45 -0
  97. package/src/builder/mutateVariables.ts +7 -0
  98. package/src/builder/traffic.spec.ts +33 -0
  99. package/src/builder/traffic.ts +1 -0
  100. package/src/generate-code/typescript.ts +87 -20
  101. package/src/linter/featureSchema.spec.ts +315 -0
  102. package/src/linter/featureSchema.ts +269 -115
  103. package/src/linter/mutationNotation.spec.ts +62 -0
  104. package/src/linter/mutationNotation.ts +47 -13
  105. package/src/linter/schema.spec.ts +72 -0
  106. package/src/linter/schema.ts +30 -0
@@ -29,6 +29,7 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
29
29
  type: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"json">, z.ZodEnum<["boolean", "string", "integer", "double", "object", "array"]>]>>;
30
30
  items: z.ZodOptional<z.ZodType<Schema, z.ZodTypeDef, Schema>>;
31
31
  properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<Schema, z.ZodTypeDef, Schema>>>;
32
+ additionalProperties: z.ZodOptional<z.ZodType<Schema, z.ZodTypeDef, Schema>>;
32
33
  required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
33
34
  enum: z.ZodOptional<z.ZodArray<z.ZodType<import("@featurevisor/types").Value, z.ZodTypeDef, import("@featurevisor/types").Value>, "many">>;
34
35
  const: z.ZodOptional<z.ZodType<import("@featurevisor/types").Value, z.ZodTypeDef, import("@featurevisor/types").Value>>;
@@ -51,6 +52,7 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
51
52
  type?: "string" | "boolean" | "object" | "json" | "integer" | "double" | "array";
52
53
  items?: Schema;
53
54
  properties?: Record<string, Schema>;
55
+ additionalProperties?: Schema;
54
56
  required?: string[];
55
57
  enum?: import("@featurevisor/types").Value[];
56
58
  const?: import("@featurevisor/types").Value;
@@ -73,6 +75,7 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
73
75
  type?: "string" | "boolean" | "object" | "json" | "integer" | "double" | "array";
74
76
  items?: Schema;
75
77
  properties?: Record<string, Schema>;
78
+ additionalProperties?: Schema;
76
79
  required?: string[];
77
80
  enum?: import("@featurevisor/types").Value[];
78
81
  const?: import("@featurevisor/types").Value;
@@ -95,6 +98,7 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
95
98
  type?: "string" | "boolean" | "object" | "json" | "integer" | "double" | "array";
96
99
  items?: Schema;
97
100
  properties?: Record<string, Schema>;
101
+ additionalProperties?: Schema;
98
102
  required?: string[];
99
103
  enum?: import("@featurevisor/types").Value[];
100
104
  const?: import("@featurevisor/types").Value;
@@ -117,6 +121,7 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
117
121
  type?: "string" | "boolean" | "object" | "json" | "integer" | "double" | "array";
118
122
  items?: Schema;
119
123
  properties?: Record<string, Schema>;
124
+ additionalProperties?: Schema;
120
125
  required?: string[];
121
126
  enum?: import("@featurevisor/types").Value[];
122
127
  const?: import("@featurevisor/types").Value;
@@ -142,22 +147,22 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
142
147
  variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodType<import("@featurevisor/types").Value, z.ZodTypeDef, import("@featurevisor/types").Value>, z.ZodNull]>>>;
143
148
  variableOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodObject<{
144
149
  conditions: any;
145
- value: z.ZodType<import("@featurevisor/types").Value, z.ZodTypeDef, import("@featurevisor/types").Value>;
150
+ value: z.ZodUnion<[z.ZodUnion<[z.ZodType<import("@featurevisor/types").Value, z.ZodTypeDef, import("@featurevisor/types").Value>, z.ZodNull]>, z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodType<import("@featurevisor/types").Value, z.ZodTypeDef, import("@featurevisor/types").Value>, z.ZodNull]>>]>;
146
151
  }, "strict", z.ZodTypeAny, {
147
152
  conditions?: any;
148
- value?: import("@featurevisor/types").Value;
153
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
149
154
  }, {
150
155
  conditions?: any;
151
- value?: import("@featurevisor/types").Value;
156
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
152
157
  }>, z.ZodObject<{
153
158
  segments: z.ZodUnion<[z.ZodArray<any, "many">, any]>;
154
- value: z.ZodType<import("@featurevisor/types").Value, z.ZodTypeDef, import("@featurevisor/types").Value>;
159
+ value: z.ZodUnion<[z.ZodUnion<[z.ZodType<import("@featurevisor/types").Value, z.ZodTypeDef, import("@featurevisor/types").Value>, z.ZodNull]>, z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodType<import("@featurevisor/types").Value, z.ZodTypeDef, import("@featurevisor/types").Value>, z.ZodNull]>>]>;
155
160
  }, "strict", z.ZodTypeAny, {
156
161
  segments?: any;
157
- value?: import("@featurevisor/types").Value;
162
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
158
163
  }, {
159
164
  segments?: any;
160
- value?: import("@featurevisor/types").Value;
165
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
161
166
  }>]>, "many">>>;
162
167
  }, "strict", z.ZodTypeAny, {
163
168
  description?: string;
@@ -166,10 +171,10 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
166
171
  variables?: Record<string, import("@featurevisor/types").Value>;
167
172
  variableOverrides?: Record<string, ({
168
173
  conditions?: any;
169
- value?: import("@featurevisor/types").Value;
174
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
170
175
  } | {
171
176
  segments?: any;
172
- value?: import("@featurevisor/types").Value;
177
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
173
178
  })[]>;
174
179
  }, {
175
180
  description?: string;
@@ -178,10 +183,10 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
178
183
  variables?: Record<string, import("@featurevisor/types").Value>;
179
184
  variableOverrides?: Record<string, ({
180
185
  conditions?: any;
181
- value?: import("@featurevisor/types").Value;
186
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
182
187
  } | {
183
188
  segments?: any;
184
- value?: import("@featurevisor/types").Value;
189
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
185
190
  })[]>;
186
191
  }>, "many">, {
187
192
  description?: string;
@@ -190,10 +195,10 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
190
195
  variables?: Record<string, import("@featurevisor/types").Value>;
191
196
  variableOverrides?: Record<string, ({
192
197
  conditions?: any;
193
- value?: import("@featurevisor/types").Value;
198
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
194
199
  } | {
195
200
  segments?: any;
196
- value?: import("@featurevisor/types").Value;
201
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
197
202
  })[]>;
198
203
  }[], {
199
204
  description?: string;
@@ -202,10 +207,10 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
202
207
  variables?: Record<string, import("@featurevisor/types").Value>;
203
208
  variableOverrides?: Record<string, ({
204
209
  conditions?: any;
205
- value?: import("@featurevisor/types").Value;
210
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
206
211
  } | {
207
212
  segments?: any;
208
- value?: import("@featurevisor/types").Value;
213
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
209
214
  })[]>;
210
215
  }[]>>;
211
216
  expose: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">]>>> | z.ZodOptional<z.ZodRecord<z.ZodEnum<[string, ...string[]]>, z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">]>>>>;
@@ -278,6 +283,25 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
278
283
  enabled: z.ZodOptional<z.ZodBoolean>;
279
284
  variation: z.ZodOptional<z.ZodString>;
280
285
  variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodType<import("@featurevisor/types").Value, z.ZodTypeDef, import("@featurevisor/types").Value>, z.ZodNull]>>>;
286
+ variableOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodObject<{
287
+ conditions: any;
288
+ value: z.ZodUnion<[z.ZodUnion<[z.ZodType<import("@featurevisor/types").Value, z.ZodTypeDef, import("@featurevisor/types").Value>, z.ZodNull]>, z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodType<import("@featurevisor/types").Value, z.ZodTypeDef, import("@featurevisor/types").Value>, z.ZodNull]>>]>;
289
+ }, "strict", z.ZodTypeAny, {
290
+ conditions?: any;
291
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
292
+ }, {
293
+ conditions?: any;
294
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
295
+ }>, z.ZodObject<{
296
+ segments: z.ZodUnion<[z.ZodArray<any, "many">, any]>;
297
+ value: z.ZodUnion<[z.ZodUnion<[z.ZodType<import("@featurevisor/types").Value, z.ZodTypeDef, import("@featurevisor/types").Value>, z.ZodNull]>, z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodType<import("@featurevisor/types").Value, z.ZodTypeDef, import("@featurevisor/types").Value>, z.ZodNull]>>]>;
298
+ }, "strict", z.ZodTypeAny, {
299
+ segments?: any;
300
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
301
+ }, {
302
+ segments?: any;
303
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
304
+ }>]>, "many">>>;
281
305
  variationWeights: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
282
306
  }, "strict", z.ZodTypeAny, {
283
307
  key?: string;
@@ -287,6 +311,13 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
287
311
  enabled?: boolean;
288
312
  variation?: string;
289
313
  variables?: Record<string, import("@featurevisor/types").Value>;
314
+ variableOverrides?: Record<string, ({
315
+ conditions?: any;
316
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
317
+ } | {
318
+ segments?: any;
319
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
320
+ })[]>;
290
321
  variationWeights?: Record<string, number>;
291
322
  }, {
292
323
  key?: string;
@@ -296,6 +327,13 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
296
327
  enabled?: boolean;
297
328
  variation?: string;
298
329
  variables?: Record<string, import("@featurevisor/types").Value>;
330
+ variableOverrides?: Record<string, ({
331
+ conditions?: any;
332
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
333
+ } | {
334
+ segments?: any;
335
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
336
+ })[]>;
299
337
  variationWeights?: Record<string, number>;
300
338
  }>, "many">, {
301
339
  key?: string;
@@ -305,6 +343,13 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
305
343
  enabled?: boolean;
306
344
  variation?: string;
307
345
  variables?: Record<string, import("@featurevisor/types").Value>;
346
+ variableOverrides?: Record<string, ({
347
+ conditions?: any;
348
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
349
+ } | {
350
+ segments?: any;
351
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
352
+ })[]>;
308
353
  variationWeights?: Record<string, number>;
309
354
  }[], {
310
355
  key?: string;
@@ -314,6 +359,13 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
314
359
  enabled?: boolean;
315
360
  variation?: string;
316
361
  variables?: Record<string, import("@featurevisor/types").Value>;
362
+ variableOverrides?: Record<string, ({
363
+ conditions?: any;
364
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
365
+ } | {
366
+ segments?: any;
367
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
368
+ })[]>;
317
369
  variationWeights?: Record<string, number>;
318
370
  }[]>, {
319
371
  key?: string;
@@ -323,6 +375,13 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
323
375
  enabled?: boolean;
324
376
  variation?: string;
325
377
  variables?: Record<string, import("@featurevisor/types").Value>;
378
+ variableOverrides?: Record<string, ({
379
+ conditions?: any;
380
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
381
+ } | {
382
+ segments?: any;
383
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
384
+ })[]>;
326
385
  variationWeights?: Record<string, number>;
327
386
  }[], {
328
387
  key?: string;
@@ -332,6 +391,13 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
332
391
  enabled?: boolean;
333
392
  variation?: string;
334
393
  variables?: Record<string, import("@featurevisor/types").Value>;
394
+ variableOverrides?: Record<string, ({
395
+ conditions?: any;
396
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
397
+ } | {
398
+ segments?: any;
399
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
400
+ })[]>;
335
401
  variationWeights?: Record<string, number>;
336
402
  }[]>, {
337
403
  key?: string;
@@ -341,6 +407,13 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
341
407
  enabled?: boolean;
342
408
  variation?: string;
343
409
  variables?: Record<string, import("@featurevisor/types").Value>;
410
+ variableOverrides?: Record<string, ({
411
+ conditions?: any;
412
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
413
+ } | {
414
+ segments?: any;
415
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
416
+ })[]>;
344
417
  variationWeights?: Record<string, number>;
345
418
  }[], {
346
419
  key?: string;
@@ -350,6 +423,13 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
350
423
  enabled?: boolean;
351
424
  variation?: string;
352
425
  variables?: Record<string, import("@featurevisor/types").Value>;
426
+ variableOverrides?: Record<string, ({
427
+ conditions?: any;
428
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
429
+ } | {
430
+ segments?: any;
431
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
432
+ })[]>;
353
433
  variationWeights?: Record<string, number>;
354
434
  }[]> | z.ZodRecord<z.ZodEnum<[string, ...string[]]>, z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodArray<z.ZodObject<{
355
435
  key: z.ZodString;
@@ -359,6 +439,25 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
359
439
  enabled: z.ZodOptional<z.ZodBoolean>;
360
440
  variation: z.ZodOptional<z.ZodString>;
361
441
  variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodType<import("@featurevisor/types").Value, z.ZodTypeDef, import("@featurevisor/types").Value>, z.ZodNull]>>>;
442
+ variableOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodObject<{
443
+ conditions: any;
444
+ value: z.ZodUnion<[z.ZodUnion<[z.ZodType<import("@featurevisor/types").Value, z.ZodTypeDef, import("@featurevisor/types").Value>, z.ZodNull]>, z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodType<import("@featurevisor/types").Value, z.ZodTypeDef, import("@featurevisor/types").Value>, z.ZodNull]>>]>;
445
+ }, "strict", z.ZodTypeAny, {
446
+ conditions?: any;
447
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
448
+ }, {
449
+ conditions?: any;
450
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
451
+ }>, z.ZodObject<{
452
+ segments: z.ZodUnion<[z.ZodArray<any, "many">, any]>;
453
+ value: z.ZodUnion<[z.ZodUnion<[z.ZodType<import("@featurevisor/types").Value, z.ZodTypeDef, import("@featurevisor/types").Value>, z.ZodNull]>, z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodType<import("@featurevisor/types").Value, z.ZodTypeDef, import("@featurevisor/types").Value>, z.ZodNull]>>]>;
454
+ }, "strict", z.ZodTypeAny, {
455
+ segments?: any;
456
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
457
+ }, {
458
+ segments?: any;
459
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
460
+ }>]>, "many">>>;
362
461
  variationWeights: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
363
462
  }, "strict", z.ZodTypeAny, {
364
463
  key?: string;
@@ -368,6 +467,13 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
368
467
  enabled?: boolean;
369
468
  variation?: string;
370
469
  variables?: Record<string, import("@featurevisor/types").Value>;
470
+ variableOverrides?: Record<string, ({
471
+ conditions?: any;
472
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
473
+ } | {
474
+ segments?: any;
475
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
476
+ })[]>;
371
477
  variationWeights?: Record<string, number>;
372
478
  }, {
373
479
  key?: string;
@@ -377,6 +483,13 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
377
483
  enabled?: boolean;
378
484
  variation?: string;
379
485
  variables?: Record<string, import("@featurevisor/types").Value>;
486
+ variableOverrides?: Record<string, ({
487
+ conditions?: any;
488
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
489
+ } | {
490
+ segments?: any;
491
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
492
+ })[]>;
380
493
  variationWeights?: Record<string, number>;
381
494
  }>, "many">, {
382
495
  key?: string;
@@ -386,6 +499,13 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
386
499
  enabled?: boolean;
387
500
  variation?: string;
388
501
  variables?: Record<string, import("@featurevisor/types").Value>;
502
+ variableOverrides?: Record<string, ({
503
+ conditions?: any;
504
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
505
+ } | {
506
+ segments?: any;
507
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
508
+ })[]>;
389
509
  variationWeights?: Record<string, number>;
390
510
  }[], {
391
511
  key?: string;
@@ -395,6 +515,13 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
395
515
  enabled?: boolean;
396
516
  variation?: string;
397
517
  variables?: Record<string, import("@featurevisor/types").Value>;
518
+ variableOverrides?: Record<string, ({
519
+ conditions?: any;
520
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
521
+ } | {
522
+ segments?: any;
523
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
524
+ })[]>;
398
525
  variationWeights?: Record<string, number>;
399
526
  }[]>, {
400
527
  key?: string;
@@ -404,6 +531,13 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
404
531
  enabled?: boolean;
405
532
  variation?: string;
406
533
  variables?: Record<string, import("@featurevisor/types").Value>;
534
+ variableOverrides?: Record<string, ({
535
+ conditions?: any;
536
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
537
+ } | {
538
+ segments?: any;
539
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
540
+ })[]>;
407
541
  variationWeights?: Record<string, number>;
408
542
  }[], {
409
543
  key?: string;
@@ -413,6 +547,13 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
413
547
  enabled?: boolean;
414
548
  variation?: string;
415
549
  variables?: Record<string, import("@featurevisor/types").Value>;
550
+ variableOverrides?: Record<string, ({
551
+ conditions?: any;
552
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
553
+ } | {
554
+ segments?: any;
555
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
556
+ })[]>;
416
557
  variationWeights?: Record<string, number>;
417
558
  }[]>, {
418
559
  key?: string;
@@ -422,6 +563,13 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
422
563
  enabled?: boolean;
423
564
  variation?: string;
424
565
  variables?: Record<string, import("@featurevisor/types").Value>;
566
+ variableOverrides?: Record<string, ({
567
+ conditions?: any;
568
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
569
+ } | {
570
+ segments?: any;
571
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
572
+ })[]>;
425
573
  variationWeights?: Record<string, number>;
426
574
  }[], {
427
575
  key?: string;
@@ -431,6 +579,13 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
431
579
  enabled?: boolean;
432
580
  variation?: string;
433
581
  variables?: Record<string, import("@featurevisor/types").Value>;
582
+ variableOverrides?: Record<string, ({
583
+ conditions?: any;
584
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
585
+ } | {
586
+ segments?: any;
587
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
588
+ })[]>;
434
589
  variationWeights?: Record<string, number>;
435
590
  }[]>>;
436
591
  }, "strict", z.ZodTypeAny, {
@@ -451,6 +606,7 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
451
606
  type?: "string" | "boolean" | "object" | "json" | "integer" | "double" | "array";
452
607
  items?: Schema;
453
608
  properties?: Record<string, Schema>;
609
+ additionalProperties?: Schema;
454
610
  required?: string[];
455
611
  enum?: import("@featurevisor/types").Value[];
456
612
  const?: import("@featurevisor/types").Value;
@@ -476,10 +632,10 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
476
632
  variables?: Record<string, import("@featurevisor/types").Value>;
477
633
  variableOverrides?: Record<string, ({
478
634
  conditions?: any;
479
- value?: import("@featurevisor/types").Value;
635
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
480
636
  } | {
481
637
  segments?: any;
482
- value?: import("@featurevisor/types").Value;
638
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
483
639
  })[]>;
484
640
  }[];
485
641
  expose?: boolean | string[] | Record<string, boolean | string[]>;
@@ -512,6 +668,13 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
512
668
  enabled?: boolean;
513
669
  variation?: string;
514
670
  variables?: Record<string, import("@featurevisor/types").Value>;
671
+ variableOverrides?: Record<string, ({
672
+ conditions?: any;
673
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
674
+ } | {
675
+ segments?: any;
676
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
677
+ })[]>;
515
678
  variationWeights?: Record<string, number>;
516
679
  }[] | Record<string, {
517
680
  key?: string;
@@ -521,6 +684,13 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
521
684
  enabled?: boolean;
522
685
  variation?: string;
523
686
  variables?: Record<string, import("@featurevisor/types").Value>;
687
+ variableOverrides?: Record<string, ({
688
+ conditions?: any;
689
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
690
+ } | {
691
+ segments?: any;
692
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
693
+ })[]>;
524
694
  variationWeights?: Record<string, number>;
525
695
  }[]>;
526
696
  }, {
@@ -541,6 +711,7 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
541
711
  type?: "string" | "boolean" | "object" | "json" | "integer" | "double" | "array";
542
712
  items?: Schema;
543
713
  properties?: Record<string, Schema>;
714
+ additionalProperties?: Schema;
544
715
  required?: string[];
545
716
  enum?: import("@featurevisor/types").Value[];
546
717
  const?: import("@featurevisor/types").Value;
@@ -566,10 +737,10 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
566
737
  variables?: Record<string, import("@featurevisor/types").Value>;
567
738
  variableOverrides?: Record<string, ({
568
739
  conditions?: any;
569
- value?: import("@featurevisor/types").Value;
740
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
570
741
  } | {
571
742
  segments?: any;
572
- value?: import("@featurevisor/types").Value;
743
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
573
744
  })[]>;
574
745
  }[];
575
746
  expose?: boolean | string[] | Record<string, boolean | string[]>;
@@ -602,6 +773,13 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
602
773
  enabled?: boolean;
603
774
  variation?: string;
604
775
  variables?: Record<string, import("@featurevisor/types").Value>;
776
+ variableOverrides?: Record<string, ({
777
+ conditions?: any;
778
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
779
+ } | {
780
+ segments?: any;
781
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
782
+ })[]>;
605
783
  variationWeights?: Record<string, number>;
606
784
  }[] | Record<string, {
607
785
  key?: string;
@@ -611,6 +789,13 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
611
789
  enabled?: boolean;
612
790
  variation?: string;
613
791
  variables?: Record<string, import("@featurevisor/types").Value>;
792
+ variableOverrides?: Record<string, ({
793
+ conditions?: any;
794
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
795
+ } | {
796
+ segments?: any;
797
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
798
+ })[]>;
614
799
  variationWeights?: Record<string, number>;
615
800
  }[]>;
616
801
  }>, {
@@ -631,6 +816,7 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
631
816
  type?: "string" | "boolean" | "object" | "json" | "integer" | "double" | "array";
632
817
  items?: Schema;
633
818
  properties?: Record<string, Schema>;
819
+ additionalProperties?: Schema;
634
820
  required?: string[];
635
821
  enum?: import("@featurevisor/types").Value[];
636
822
  const?: import("@featurevisor/types").Value;
@@ -656,10 +842,10 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
656
842
  variables?: Record<string, import("@featurevisor/types").Value>;
657
843
  variableOverrides?: Record<string, ({
658
844
  conditions?: any;
659
- value?: import("@featurevisor/types").Value;
845
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
660
846
  } | {
661
847
  segments?: any;
662
- value?: import("@featurevisor/types").Value;
848
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
663
849
  })[]>;
664
850
  }[];
665
851
  expose?: boolean | string[] | Record<string, boolean | string[]>;
@@ -692,6 +878,13 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
692
878
  enabled?: boolean;
693
879
  variation?: string;
694
880
  variables?: Record<string, import("@featurevisor/types").Value>;
881
+ variableOverrides?: Record<string, ({
882
+ conditions?: any;
883
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
884
+ } | {
885
+ segments?: any;
886
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
887
+ })[]>;
695
888
  variationWeights?: Record<string, number>;
696
889
  }[] | Record<string, {
697
890
  key?: string;
@@ -701,6 +894,13 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
701
894
  enabled?: boolean;
702
895
  variation?: string;
703
896
  variables?: Record<string, import("@featurevisor/types").Value>;
897
+ variableOverrides?: Record<string, ({
898
+ conditions?: any;
899
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
900
+ } | {
901
+ segments?: any;
902
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
903
+ })[]>;
704
904
  variationWeights?: Record<string, number>;
705
905
  }[]>;
706
906
  }, {
@@ -721,6 +921,7 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
721
921
  type?: "string" | "boolean" | "object" | "json" | "integer" | "double" | "array";
722
922
  items?: Schema;
723
923
  properties?: Record<string, Schema>;
924
+ additionalProperties?: Schema;
724
925
  required?: string[];
725
926
  enum?: import("@featurevisor/types").Value[];
726
927
  const?: import("@featurevisor/types").Value;
@@ -746,10 +947,10 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
746
947
  variables?: Record<string, import("@featurevisor/types").Value>;
747
948
  variableOverrides?: Record<string, ({
748
949
  conditions?: any;
749
- value?: import("@featurevisor/types").Value;
950
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
750
951
  } | {
751
952
  segments?: any;
752
- value?: import("@featurevisor/types").Value;
953
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
753
954
  })[]>;
754
955
  }[];
755
956
  expose?: boolean | string[] | Record<string, boolean | string[]>;
@@ -782,6 +983,13 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
782
983
  enabled?: boolean;
783
984
  variation?: string;
784
985
  variables?: Record<string, import("@featurevisor/types").Value>;
986
+ variableOverrides?: Record<string, ({
987
+ conditions?: any;
988
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
989
+ } | {
990
+ segments?: any;
991
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
992
+ })[]>;
785
993
  variationWeights?: Record<string, number>;
786
994
  }[] | Record<string, {
787
995
  key?: string;
@@ -791,6 +999,13 @@ export declare function getFeatureZodSchema(projectConfig: ProjectConfig, condit
791
999
  enabled?: boolean;
792
1000
  variation?: string;
793
1001
  variables?: Record<string, import("@featurevisor/types").Value>;
1002
+ variableOverrides?: Record<string, ({
1003
+ conditions?: any;
1004
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
1005
+ } | {
1006
+ segments?: any;
1007
+ value?: import("@featurevisor/types").Value | Record<string, import("@featurevisor/types").Value>;
1008
+ })[]>;
794
1009
  variationWeights?: Record<string, number>;
795
1010
  }[]>;
796
1011
  }>;