@eide/foir-proto-ts 0.45.0 → 0.46.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2100 +0,0 @@
1
- // @generated by protoc-gen-es v2.12.0 with parameter "import_extension=js"
2
- // @generated from file experiments/v1/experiments.proto (package experiments.v1, syntax proto3)
3
- /* eslint-disable */
4
-
5
- import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
6
- import type { JsonObject, Message } from "@bufbuild/protobuf";
7
- import type { RuleExpression } from "../../expressions/v1/expressions_pb.js";
8
- import type { Timestamp } from "@bufbuild/protobuf/wkt";
9
-
10
- /**
11
- * Describes the file experiments/v1/experiments.proto.
12
- */
13
- export declare const file_experiments_v1_experiments: GenFile;
14
-
15
- /**
16
- * @generated from message experiments.v1.ExperimentTargeting
17
- */
18
- export declare type ExperimentTargeting = Message<"experiments.v1.ExperimentTargeting"> & {
19
- /**
20
- * "all", "segment", "rules"
21
- *
22
- * @generated from field: string type = 1;
23
- */
24
- type: string;
25
-
26
- /**
27
- * @generated from field: optional string segment_id = 2;
28
- */
29
- segmentId?: string | undefined;
30
-
31
- /**
32
- * @generated from field: optional string segment_key = 3;
33
- */
34
- segmentKey?: string | undefined;
35
-
36
- /**
37
- * @generated from field: optional expressions.v1.RuleExpression rules = 4;
38
- */
39
- rules?: RuleExpression | undefined;
40
- };
41
-
42
- /**
43
- * Describes the message experiments.v1.ExperimentTargeting.
44
- * Use `create(ExperimentTargetingSchema)` to create a new message.
45
- */
46
- export declare const ExperimentTargetingSchema: GenMessage<ExperimentTargeting>;
47
-
48
- /**
49
- * @generated from message experiments.v1.ExperimentVariant
50
- */
51
- export declare type ExperimentVariant = Message<"experiments.v1.ExperimentVariant"> & {
52
- /**
53
- * @generated from field: string key = 1;
54
- */
55
- key: string;
56
-
57
- /**
58
- * @generated from field: string name = 2;
59
- */
60
- name: string;
61
-
62
- /**
63
- * @generated from field: int32 percent = 3;
64
- */
65
- percent: number;
66
-
67
- /**
68
- * @generated from field: optional google.protobuf.Struct config = 4;
69
- */
70
- config?: JsonObject | undefined;
71
- };
72
-
73
- /**
74
- * Describes the message experiments.v1.ExperimentVariant.
75
- * Use `create(ExperimentVariantSchema)` to create a new message.
76
- */
77
- export declare const ExperimentVariantSchema: GenMessage<ExperimentVariant>;
78
-
79
- /**
80
- * ExperimentGoal is a declared conversion event for an experiment. Goal keys
81
- * are matched case-sensitively against the event_name on
82
- * RecordConversionEvent — events whose name is not in the experiment's goals
83
- * list are rejected as InvalidArgument.
84
- *
85
- * An experiment with zero goals declared accepts any event_name (no
86
- * goal-match enforcement).
87
- *
88
- * At most one goal per experiment may be marked is_primary=true. The primary
89
- * goal is the metric the admin dashboard surfaces by default in the
90
- * experiment list and uses to highlight winning variants; secondary goals
91
- * are tracked but don't drive the headline number.
92
- *
93
- * @generated from message experiments.v1.ExperimentGoal
94
- */
95
- export declare type ExperimentGoal = Message<"experiments.v1.ExperimentGoal"> & {
96
- /**
97
- * @generated from field: string key = 1;
98
- */
99
- key: string;
100
-
101
- /**
102
- * @generated from field: string name = 2;
103
- */
104
- name: string;
105
-
106
- /**
107
- * @generated from field: optional string description = 3;
108
- */
109
- description?: string | undefined;
110
-
111
- /**
112
- * @generated from field: bool is_primary = 4;
113
- */
114
- isPrimary: boolean;
115
- };
116
-
117
- /**
118
- * Describes the message experiments.v1.ExperimentGoal.
119
- * Use `create(ExperimentGoalSchema)` to create a new message.
120
- */
121
- export declare const ExperimentGoalSchema: GenMessage<ExperimentGoal>;
122
-
123
- /**
124
- * ExperimentFunnelStep is one step in the conversion funnel for an
125
- * experiment. Steps are evaluated in declaration order: a visitor counts
126
- * toward step N's unique-count only after they've recorded an event
127
- * matching some prior step's goal_key. Drop-off rate at step N is reported
128
- * per variant relative to step N-1.
129
- *
130
- * goal_key is the event_name a recordConversion call must carry to advance
131
- * the funnel. It need not match a top-level Experiment.goals entry — the
132
- * funnel exists in parallel with goals and acts as its own accept-list for
133
- * recordConversion when goals is empty.
134
- *
135
- * @generated from message experiments.v1.ExperimentFunnelStep
136
- */
137
- export declare type ExperimentFunnelStep = Message<"experiments.v1.ExperimentFunnelStep"> & {
138
- /**
139
- * @generated from field: string goal_key = 1;
140
- */
141
- goalKey: string;
142
-
143
- /**
144
- * @generated from field: string name = 2;
145
- */
146
- name: string;
147
-
148
- /**
149
- * @generated from field: optional string description = 3;
150
- */
151
- description?: string | undefined;
152
- };
153
-
154
- /**
155
- * Describes the message experiments.v1.ExperimentFunnelStep.
156
- * Use `create(ExperimentFunnelStepSchema)` to create a new message.
157
- */
158
- export declare const ExperimentFunnelStepSchema: GenMessage<ExperimentFunnelStep>;
159
-
160
- /**
161
- * @generated from message experiments.v1.Experiment
162
- */
163
- export declare type Experiment = Message<"experiments.v1.Experiment"> & {
164
- /**
165
- * @generated from field: string id = 1;
166
- */
167
- id: string;
168
-
169
- /**
170
- * @generated from field: string key = 2;
171
- */
172
- key: string;
173
-
174
- /**
175
- * @generated from field: string name = 3;
176
- */
177
- name: string;
178
-
179
- /**
180
- * @generated from field: optional string description = 4;
181
- */
182
- description?: string | undefined;
183
-
184
- /**
185
- * Status.
186
- *
187
- * @generated from field: experiments.v1.ExperimentStatus status = 10;
188
- */
189
- status: ExperimentStatus;
190
-
191
- /**
192
- * @generated from field: bool is_active = 11;
193
- */
194
- isActive: boolean;
195
-
196
- /**
197
- * Configuration.
198
- *
199
- * @generated from field: experiments.v1.ExperimentTargeting targeting = 20;
200
- */
201
- targeting?: ExperimentTargeting | undefined;
202
-
203
- /**
204
- * @generated from field: int32 control_percent = 21;
205
- */
206
- controlPercent: number;
207
-
208
- /**
209
- * @generated from field: repeated experiments.v1.ExperimentVariant variants = 22;
210
- */
211
- variants: ExperimentVariant[];
212
-
213
- /**
214
- * @generated from field: string assignment_persistence = 23;
215
- */
216
- assignmentPersistence: string;
217
-
218
- /**
219
- * Mutual exclusion: experiments sharing a non-empty exclusion_group_key
220
- * are mutually exclusive — a visitor bucketed into one of them is
221
- * ineligible for the others. Empty/unset means the experiment runs
222
- * independently and a visitor can be in it concurrently with any other
223
- * experiment.
224
- *
225
- * @generated from field: optional string exclusion_group_key = 24;
226
- */
227
- exclusionGroupKey?: string | undefined;
228
-
229
- /**
230
- * Scheduling.
231
- *
232
- * @generated from field: optional google.protobuf.Timestamp start_date = 30;
233
- */
234
- startDate?: Timestamp | undefined;
235
-
236
- /**
237
- * @generated from field: optional google.protobuf.Timestamp end_date = 31;
238
- */
239
- endDate?: Timestamp | undefined;
240
-
241
- /**
242
- * Metrics & goals.
243
- *
244
- * @generated from field: optional google.protobuf.Struct metrics = 35;
245
- */
246
- metrics?: JsonObject | undefined;
247
-
248
- /**
249
- * @generated from field: repeated experiments.v1.ExperimentGoal goals = 36;
250
- */
251
- goals: ExperimentGoal[];
252
-
253
- /**
254
- * @generated from field: repeated experiments.v1.ExperimentFunnelStep funnel_steps = 37;
255
- */
256
- funnelSteps: ExperimentFunnelStep[];
257
-
258
- /**
259
- * Ownership.
260
- *
261
- * @generated from field: string tenant_id = 40;
262
- */
263
- tenantId: string;
264
-
265
- /**
266
- * @generated from field: string project_id = 41;
267
- */
268
- projectId: string;
269
-
270
- /**
271
- * Attribution.
272
- *
273
- * @generated from field: optional string created_by = 45;
274
- */
275
- createdBy?: string | undefined;
276
-
277
- /**
278
- * @generated from field: optional string updated_by = 46;
279
- */
280
- updatedBy?: string | undefined;
281
-
282
- /**
283
- * Timestamps.
284
- *
285
- * @generated from field: google.protobuf.Timestamp created_at = 50;
286
- */
287
- createdAt?: Timestamp | undefined;
288
-
289
- /**
290
- * @generated from field: google.protobuf.Timestamp updated_at = 51;
291
- */
292
- updatedAt?: Timestamp | undefined;
293
- };
294
-
295
- /**
296
- * Describes the message experiments.v1.Experiment.
297
- * Use `create(ExperimentSchema)` to create a new message.
298
- */
299
- export declare const ExperimentSchema: GenMessage<Experiment>;
300
-
301
- /**
302
- * @generated from message experiments.v1.ExperimentAssignment
303
- */
304
- export declare type ExperimentAssignment = Message<"experiments.v1.ExperimentAssignment"> & {
305
- /**
306
- * @generated from field: string id = 1;
307
- */
308
- id: string;
309
-
310
- /**
311
- * @generated from field: string experiment_id = 2;
312
- */
313
- experimentId: string;
314
-
315
- /**
316
- * Customer identifier. Null for assignments created before the viewer
317
- * signed in. Promoted from a viewer_key assignment on the first authed
318
- * ResolveExposure call (see assignment_method = "promoted").
319
- *
320
- * @generated from field: optional string customer_id = 3;
321
- */
322
- customerId?: string | undefined;
323
-
324
- /**
325
- * @generated from field: string variant_key = 4;
326
- */
327
- variantKey: string;
328
-
329
- /**
330
- * How the assignment was created. One of: "hash" (deterministic
331
- * bucketing on first exposure), "forced" (admin override via
332
- * ForceAssignExperiment), "promoted" (viewer_key row was upgraded to
333
- * a customer_id row when the viewer signed in mid-experiment).
334
- *
335
- * @generated from field: string assignment_method = 5;
336
- */
337
- assignmentMethod: string;
338
-
339
- /**
340
- * @generated from field: string experiment_key = 6;
341
- */
342
- experimentKey: string;
343
-
344
- /**
345
- * Stable anonymous viewer identifier. Null once the assignment has
346
- * been promoted to a customer_id, otherwise the cookie/localStorage
347
- * value the frontend supplied at first exposure.
348
- *
349
- * @generated from field: optional string viewer_key = 7;
350
- */
351
- viewerKey?: string | undefined;
352
-
353
- /**
354
- * Ownership.
355
- *
356
- * @generated from field: string tenant_id = 10;
357
- */
358
- tenantId: string;
359
-
360
- /**
361
- * @generated from field: string project_id = 11;
362
- */
363
- projectId: string;
364
-
365
- /**
366
- * Activity.
367
- *
368
- * @generated from field: google.protobuf.Timestamp assigned_at = 20;
369
- */
370
- assignedAt?: Timestamp | undefined;
371
-
372
- /**
373
- * @generated from field: google.protobuf.Timestamp first_seen_at = 21;
374
- */
375
- firstSeenAt?: Timestamp | undefined;
376
-
377
- /**
378
- * @generated from field: google.protobuf.Timestamp last_seen_at = 22;
379
- */
380
- lastSeenAt?: Timestamp | undefined;
381
-
382
- /**
383
- * @generated from field: optional google.protobuf.Timestamp expires_at = 23;
384
- */
385
- expiresAt?: Timestamp | undefined;
386
- };
387
-
388
- /**
389
- * Describes the message experiments.v1.ExperimentAssignment.
390
- * Use `create(ExperimentAssignmentSchema)` to create a new message.
391
- */
392
- export declare const ExperimentAssignmentSchema: GenMessage<ExperimentAssignment>;
393
-
394
- /**
395
- * ExperimentDeclaration is the static shape of an experiment surfaced to
396
- * public-API consumers for codegen. Includes all variant keys regardless
397
- * of the experiment's runtime status, so frontends can compile against
398
- * experiments that aren't yet running.
399
- *
400
- * @generated from message experiments.v1.ExperimentDeclaration
401
- */
402
- export declare type ExperimentDeclaration = Message<"experiments.v1.ExperimentDeclaration"> & {
403
- /**
404
- * @generated from field: string experiment_key = 1;
405
- */
406
- experimentKey: string;
407
-
408
- /**
409
- * @generated from field: repeated string variant_keys = 2;
410
- */
411
- variantKeys: string[];
412
- };
413
-
414
- /**
415
- * Describes the message experiments.v1.ExperimentDeclaration.
416
- * Use `create(ExperimentDeclarationSchema)` to create a new message.
417
- */
418
- export declare const ExperimentDeclarationSchema: GenMessage<ExperimentDeclaration>;
419
-
420
- /**
421
- * ExperimentMetricSpec is a caller-supplied request to aggregate a
422
- * numeric metadata value over the experiment's conversion events.
423
- *
424
- * path is a dot-separated list of object keys ("a.b.c") into the
425
- * metadata JSONB, validated server-side against
426
- * ^[A-Za-z_][A-Za-z0-9_]*(\.[A-Za-z_][A-Za-z0-9_]*)*$ — no array
427
- * indexing, no JSONPath operators. Keys are bound as parameters in the
428
- * aggregation SQL so even invalid paths cannot become injection
429
- * vectors.
430
- *
431
- * Path target must be a JSON number. Rows where the target is a
432
- * non-numeric JSON value (string, bool, null, missing) are excluded
433
- * from the aggregation and counted in skipped_row_count.
434
- *
435
- * goal_key, when set, scopes the aggregation to events of that goal —
436
- * useful for "average cart value among users who completed checkout"
437
- * without bleeding cart-abandonment events into the AVG.
438
- *
439
- * @generated from message experiments.v1.ExperimentMetricSpec
440
- */
441
- export declare type ExperimentMetricSpec = Message<"experiments.v1.ExperimentMetricSpec"> & {
442
- /**
443
- * @generated from field: string name = 1;
444
- */
445
- name: string;
446
-
447
- /**
448
- * @generated from field: string path = 2;
449
- */
450
- path: string;
451
-
452
- /**
453
- * @generated from field: experiments.v1.MetricAggregator aggregator = 3;
454
- */
455
- aggregator: MetricAggregator;
456
-
457
- /**
458
- * @generated from field: optional string goal_key = 4;
459
- */
460
- goalKey?: string | undefined;
461
- };
462
-
463
- /**
464
- * Describes the message experiments.v1.ExperimentMetricSpec.
465
- * Use `create(ExperimentMetricSpecSchema)` to create a new message.
466
- */
467
- export declare const ExperimentMetricSpecSchema: GenMessage<ExperimentMetricSpec>;
468
-
469
- /**
470
- * SignificanceResult is a frequentist two-proportion comparison of a
471
- * variant's conversion rate against the control's. Computed
472
- * server-side from assignment_count and unique_converters via the
473
- * two-proportion z-test. Returned per (variant, goal) for non-control
474
- * variants only — control's slot is omitted because there's no
475
- * comparison to compute.
476
- *
477
- * p_value is the raw two-sided value; consumers running multiple
478
- * simultaneous comparisons (e.g. 3 variants × 4 goals = 12 tests)
479
- * should apply their own multiple-testing correction. The CLI human
480
- * renderer applies Bonferroni across the visible test family because
481
- * it knows the family size; the wire response stays raw because the
482
- * server doesn't know what other queries the consumer is running.
483
- *
484
- * is_significant gates p_value < 0.05 on minimum sample size per arm
485
- * (default 100, overridable via GetExperimentStatsRequest.min_sample_size)
486
- * to prevent false positives at low n.
487
- *
488
- * @generated from message experiments.v1.SignificanceResult
489
- */
490
- export declare type SignificanceResult = Message<"experiments.v1.SignificanceResult"> & {
491
- /**
492
- * @generated from field: double p_value = 1;
493
- */
494
- pValue: number;
495
-
496
- /**
497
- * @generated from field: double relative_lift = 2;
498
- */
499
- relativeLift: number;
500
-
501
- /**
502
- * @generated from field: double absolute_lift = 3;
503
- */
504
- absoluteLift: number;
505
-
506
- /**
507
- * @generated from field: double ci_lower = 4;
508
- */
509
- ciLower: number;
510
-
511
- /**
512
- * @generated from field: double ci_upper = 5;
513
- */
514
- ciUpper: number;
515
-
516
- /**
517
- * @generated from field: bool is_significant = 6;
518
- */
519
- isSignificant: boolean;
520
-
521
- /**
522
- * @generated from field: int32 min_sample_size = 7;
523
- */
524
- minSampleSize: number;
525
- };
526
-
527
- /**
528
- * Describes the message experiments.v1.SignificanceResult.
529
- * Use `create(SignificanceResultSchema)` to create a new message.
530
- */
531
- export declare const SignificanceResultSchema: GenMessage<SignificanceResult>;
532
-
533
- /**
534
- * MetricSignificanceResult is the metric counterpart of
535
- * SignificanceResult. p_value comes from Welch's t-test (SUM/AVG) or
536
- * the percentile bootstrap (P50/P95). MIN/MAX/COUNT have no meaningful
537
- * significance test and this message is omitted on those aggregators.
538
- *
539
- * @generated from message experiments.v1.MetricSignificanceResult
540
- */
541
- export declare type MetricSignificanceResult = Message<"experiments.v1.MetricSignificanceResult"> & {
542
- /**
543
- * @generated from field: double p_value = 1;
544
- */
545
- pValue: number;
546
-
547
- /**
548
- * @generated from field: double relative_lift = 2;
549
- */
550
- relativeLift: number;
551
-
552
- /**
553
- * @generated from field: double absolute_lift = 3;
554
- */
555
- absoluteLift: number;
556
-
557
- /**
558
- * @generated from field: double ci_lower = 4;
559
- */
560
- ciLower: number;
561
-
562
- /**
563
- * @generated from field: double ci_upper = 5;
564
- */
565
- ciUpper: number;
566
-
567
- /**
568
- * @generated from field: bool is_significant = 6;
569
- */
570
- isSignificant: boolean;
571
- };
572
-
573
- /**
574
- * Describes the message experiments.v1.MetricSignificanceResult.
575
- * Use `create(MetricSignificanceResultSchema)` to create a new message.
576
- */
577
- export declare const MetricSignificanceResultSchema: GenMessage<MetricSignificanceResult>;
578
-
579
- /**
580
- * VariantGoalStats is one (variant, goal) cell of the experimentStats
581
- * matrix. unique_converters de-duplicates by COALESCE(customer_id,
582
- * viewer_key) — a user converting twice on the same goal counts as 1
583
- * unique. conversion_rate = unique_converters / assignment_count
584
- * (zero-safe — returns 0.0 when no assignments).
585
- *
586
- * @generated from message experiments.v1.VariantGoalStats
587
- */
588
- export declare type VariantGoalStats = Message<"experiments.v1.VariantGoalStats"> & {
589
- /**
590
- * @generated from field: string goal_key = 1;
591
- */
592
- goalKey: string;
593
-
594
- /**
595
- * @generated from field: int32 conversion_event_count = 2;
596
- */
597
- conversionEventCount: number;
598
-
599
- /**
600
- * @generated from field: int32 unique_converters = 3;
601
- */
602
- uniqueConverters: number;
603
-
604
- /**
605
- * @generated from field: double conversion_rate = 4;
606
- */
607
- conversionRate: number;
608
-
609
- /**
610
- * @generated from field: optional experiments.v1.SignificanceResult significance = 5;
611
- */
612
- significance?: SignificanceResult | undefined;
613
- };
614
-
615
- /**
616
- * Describes the message experiments.v1.VariantGoalStats.
617
- * Use `create(VariantGoalStatsSchema)` to create a new message.
618
- */
619
- export declare const VariantGoalStatsSchema: GenMessage<VariantGoalStats>;
620
-
621
- /**
622
- * VariantStats aggregates one variant across its declared goals.
623
- *
624
- * @generated from message experiments.v1.VariantStats
625
- */
626
- export declare type VariantStats = Message<"experiments.v1.VariantStats"> & {
627
- /**
628
- * @generated from field: string variant_key = 1;
629
- */
630
- variantKey: string;
631
-
632
- /**
633
- * @generated from field: bool is_control = 2;
634
- */
635
- isControl: boolean;
636
-
637
- /**
638
- * @generated from field: int32 assignment_count = 3;
639
- */
640
- assignmentCount: number;
641
-
642
- /**
643
- * @generated from field: repeated experiments.v1.VariantGoalStats goal_stats = 4;
644
- */
645
- goalStats: VariantGoalStats[];
646
- };
647
-
648
- /**
649
- * Describes the message experiments.v1.VariantStats.
650
- * Use `create(VariantStatsSchema)` to create a new message.
651
- */
652
- export declare const VariantStatsSchema: GenMessage<VariantStats>;
653
-
654
- /**
655
- * GoalStats summarises one goal across all variants.
656
- *
657
- * @generated from message experiments.v1.GoalStats
658
- */
659
- export declare type GoalStats = Message<"experiments.v1.GoalStats"> & {
660
- /**
661
- * @generated from field: string goal_key = 1;
662
- */
663
- goalKey: string;
664
-
665
- /**
666
- * @generated from field: string goal_name = 2;
667
- */
668
- goalName: string;
669
-
670
- /**
671
- * @generated from field: bool is_primary = 3;
672
- */
673
- isPrimary: boolean;
674
-
675
- /**
676
- * @generated from field: int32 total_conversions = 4;
677
- */
678
- totalConversions: number;
679
-
680
- /**
681
- * @generated from field: int32 total_unique_converters = 5;
682
- */
683
- totalUniqueConverters: number;
684
- };
685
-
686
- /**
687
- * Describes the message experiments.v1.GoalStats.
688
- * Use `create(GoalStatsSchema)` to create a new message.
689
- */
690
- export declare const GoalStatsSchema: GenMessage<GoalStats>;
691
-
692
- /**
693
- * DailyStatsPoint is one (variant, goal, day) row of the time series.
694
- * stat_date is "YYYY-MM-DD" in UTC. unique_converters is per-day —
695
- * summing the daily uniques does NOT equal the cumulative unique
696
- * (a user who converts on day 1 and day 3 counts as 1 unique each
697
- * day, but 1 cumulative).
698
- *
699
- * @generated from message experiments.v1.DailyStatsPoint
700
- */
701
- export declare type DailyStatsPoint = Message<"experiments.v1.DailyStatsPoint"> & {
702
- /**
703
- * @generated from field: string variant_key = 1;
704
- */
705
- variantKey: string;
706
-
707
- /**
708
- * @generated from field: string goal_key = 2;
709
- */
710
- goalKey: string;
711
-
712
- /**
713
- * @generated from field: string stat_date = 3;
714
- */
715
- statDate: string;
716
-
717
- /**
718
- * @generated from field: int32 conversion_event_count = 4;
719
- */
720
- conversionEventCount: number;
721
-
722
- /**
723
- * @generated from field: int32 unique_converters = 5;
724
- */
725
- uniqueConverters: number;
726
- };
727
-
728
- /**
729
- * Describes the message experiments.v1.DailyStatsPoint.
730
- * Use `create(DailyStatsPointSchema)` to create a new message.
731
- */
732
- export declare const DailyStatsPointSchema: GenMessage<DailyStatsPoint>;
733
-
734
- /**
735
- * VariantMetricStats is one (variant, metric) cell of the metric
736
- * aggregation matrix.
737
- *
738
- * @generated from message experiments.v1.VariantMetricStats
739
- */
740
- export declare type VariantMetricStats = Message<"experiments.v1.VariantMetricStats"> & {
741
- /**
742
- * @generated from field: string variant_key = 1;
743
- */
744
- variantKey: string;
745
-
746
- /**
747
- * @generated from field: string metric_name = 2;
748
- */
749
- metricName: string;
750
-
751
- /**
752
- * @generated from field: double value = 3;
753
- */
754
- value: number;
755
-
756
- /**
757
- * @generated from field: int32 sample_size = 4;
758
- */
759
- sampleSize: number;
760
-
761
- /**
762
- * @generated from field: int32 skipped_row_count = 5;
763
- */
764
- skippedRowCount: number;
765
-
766
- /**
767
- * @generated from field: optional experiments.v1.MetricSignificanceResult significance = 6;
768
- */
769
- significance?: MetricSignificanceResult | undefined;
770
- };
771
-
772
- /**
773
- * Describes the message experiments.v1.VariantMetricStats.
774
- * Use `create(VariantMetricStatsSchema)` to create a new message.
775
- */
776
- export declare const VariantMetricStatsSchema: GenMessage<VariantMetricStats>;
777
-
778
- /**
779
- * ExperimentStats is the complete decision-grade response. variants
780
- * gives per-variant assignment counts + per-goal breakdowns; goals
781
- * gives experiment-wide totals; daily gives a time-series for charts;
782
- * metric_stats holds optional caller-requested metadata aggregations.
783
- *
784
- * window_from / window_to echo the effective aggregation window the
785
- * server used (caller-supplied or default).
786
- *
787
- * daily_grain is "day" for windows ≤ 365 days and "week" for longer
788
- * windows — the handler downsamples automatically to keep the daily
789
- * payload bounded. Consumers should use this to label their chart
790
- * axis correctly.
791
- *
792
- * @generated from message experiments.v1.ExperimentStats
793
- */
794
- export declare type ExperimentStats = Message<"experiments.v1.ExperimentStats"> & {
795
- /**
796
- * @generated from field: string experiment_id = 1;
797
- */
798
- experimentId: string;
799
-
800
- /**
801
- * @generated from field: string experiment_key = 2;
802
- */
803
- experimentKey: string;
804
-
805
- /**
806
- * @generated from field: int32 total_assignments = 3;
807
- */
808
- totalAssignments: number;
809
-
810
- /**
811
- * @generated from field: repeated experiments.v1.VariantStats variants = 4;
812
- */
813
- variants: VariantStats[];
814
-
815
- /**
816
- * @generated from field: repeated experiments.v1.GoalStats goals = 5;
817
- */
818
- goals: GoalStats[];
819
-
820
- /**
821
- * @generated from field: google.protobuf.Timestamp window_from = 6;
822
- */
823
- windowFrom?: Timestamp | undefined;
824
-
825
- /**
826
- * @generated from field: google.protobuf.Timestamp window_to = 7;
827
- */
828
- windowTo?: Timestamp | undefined;
829
-
830
- /**
831
- * @generated from field: repeated experiments.v1.DailyStatsPoint daily = 8;
832
- */
833
- daily: DailyStatsPoint[];
834
-
835
- /**
836
- * @generated from field: string daily_grain = 9;
837
- */
838
- dailyGrain: string;
839
-
840
- /**
841
- * @generated from field: repeated experiments.v1.VariantMetricStats metric_stats = 10;
842
- */
843
- metricStats: VariantMetricStats[];
844
- };
845
-
846
- /**
847
- * Describes the message experiments.v1.ExperimentStats.
848
- * Use `create(ExperimentStatsSchema)` to create a new message.
849
- */
850
- export declare const ExperimentStatsSchema: GenMessage<ExperimentStats>;
851
-
852
- /**
853
- * @generated from message experiments.v1.CreateExperimentRequest
854
- */
855
- export declare type CreateExperimentRequest = Message<"experiments.v1.CreateExperimentRequest"> & {
856
- /**
857
- * @generated from field: string key = 1;
858
- */
859
- key: string;
860
-
861
- /**
862
- * @generated from field: string name = 2;
863
- */
864
- name: string;
865
-
866
- /**
867
- * @generated from field: optional string description = 3;
868
- */
869
- description?: string | undefined;
870
-
871
- /**
872
- * @generated from field: optional experiments.v1.ExperimentTargeting targeting = 4;
873
- */
874
- targeting?: ExperimentTargeting | undefined;
875
-
876
- /**
877
- * @generated from field: optional int32 control_percent = 5;
878
- */
879
- controlPercent?: number | undefined;
880
-
881
- /**
882
- * @generated from field: repeated experiments.v1.ExperimentVariant variants = 6;
883
- */
884
- variants: ExperimentVariant[];
885
-
886
- /**
887
- * @generated from field: optional google.protobuf.Timestamp start_date = 7;
888
- */
889
- startDate?: Timestamp | undefined;
890
-
891
- /**
892
- * @generated from field: optional google.protobuf.Timestamp end_date = 8;
893
- */
894
- endDate?: Timestamp | undefined;
895
-
896
- /**
897
- * @generated from field: optional string assignment_persistence = 9;
898
- */
899
- assignmentPersistence?: string | undefined;
900
-
901
- /**
902
- * @generated from field: repeated experiments.v1.ExperimentGoal goals = 10;
903
- */
904
- goals: ExperimentGoal[];
905
-
906
- /**
907
- * @generated from field: repeated experiments.v1.ExperimentFunnelStep funnel_steps = 11;
908
- */
909
- funnelSteps: ExperimentFunnelStep[];
910
-
911
- /**
912
- * @generated from field: optional string exclusion_group_key = 12;
913
- */
914
- exclusionGroupKey?: string | undefined;
915
- };
916
-
917
- /**
918
- * Describes the message experiments.v1.CreateExperimentRequest.
919
- * Use `create(CreateExperimentRequestSchema)` to create a new message.
920
- */
921
- export declare const CreateExperimentRequestSchema: GenMessage<CreateExperimentRequest>;
922
-
923
- /**
924
- * @generated from message experiments.v1.CreateExperimentResponse
925
- */
926
- export declare type CreateExperimentResponse = Message<"experiments.v1.CreateExperimentResponse"> & {
927
- /**
928
- * @generated from field: experiments.v1.Experiment experiment = 1;
929
- */
930
- experiment?: Experiment | undefined;
931
- };
932
-
933
- /**
934
- * Describes the message experiments.v1.CreateExperimentResponse.
935
- * Use `create(CreateExperimentResponseSchema)` to create a new message.
936
- */
937
- export declare const CreateExperimentResponseSchema: GenMessage<CreateExperimentResponse>;
938
-
939
- /**
940
- * @generated from message experiments.v1.GetExperimentRequest
941
- */
942
- export declare type GetExperimentRequest = Message<"experiments.v1.GetExperimentRequest"> & {
943
- /**
944
- * @generated from field: string id = 1;
945
- */
946
- id: string;
947
- };
948
-
949
- /**
950
- * Describes the message experiments.v1.GetExperimentRequest.
951
- * Use `create(GetExperimentRequestSchema)` to create a new message.
952
- */
953
- export declare const GetExperimentRequestSchema: GenMessage<GetExperimentRequest>;
954
-
955
- /**
956
- * @generated from message experiments.v1.GetExperimentResponse
957
- */
958
- export declare type GetExperimentResponse = Message<"experiments.v1.GetExperimentResponse"> & {
959
- /**
960
- * @generated from field: experiments.v1.Experiment experiment = 1;
961
- */
962
- experiment?: Experiment | undefined;
963
- };
964
-
965
- /**
966
- * Describes the message experiments.v1.GetExperimentResponse.
967
- * Use `create(GetExperimentResponseSchema)` to create a new message.
968
- */
969
- export declare const GetExperimentResponseSchema: GenMessage<GetExperimentResponse>;
970
-
971
- /**
972
- * @generated from message experiments.v1.GetExperimentByKeyRequest
973
- */
974
- export declare type GetExperimentByKeyRequest = Message<"experiments.v1.GetExperimentByKeyRequest"> & {
975
- /**
976
- * @generated from field: string key = 1;
977
- */
978
- key: string;
979
- };
980
-
981
- /**
982
- * Describes the message experiments.v1.GetExperimentByKeyRequest.
983
- * Use `create(GetExperimentByKeyRequestSchema)` to create a new message.
984
- */
985
- export declare const GetExperimentByKeyRequestSchema: GenMessage<GetExperimentByKeyRequest>;
986
-
987
- /**
988
- * @generated from message experiments.v1.GetExperimentByKeyResponse
989
- */
990
- export declare type GetExperimentByKeyResponse = Message<"experiments.v1.GetExperimentByKeyResponse"> & {
991
- /**
992
- * @generated from field: experiments.v1.Experiment experiment = 1;
993
- */
994
- experiment?: Experiment | undefined;
995
- };
996
-
997
- /**
998
- * Describes the message experiments.v1.GetExperimentByKeyResponse.
999
- * Use `create(GetExperimentByKeyResponseSchema)` to create a new message.
1000
- */
1001
- export declare const GetExperimentByKeyResponseSchema: GenMessage<GetExperimentByKeyResponse>;
1002
-
1003
- /**
1004
- * @generated from message experiments.v1.ListExperimentsRequest
1005
- */
1006
- export declare type ListExperimentsRequest = Message<"experiments.v1.ListExperimentsRequest"> & {
1007
- /**
1008
- * @generated from field: optional experiments.v1.ExperimentStatus status = 1;
1009
- */
1010
- status?: ExperimentStatus | undefined;
1011
-
1012
- /**
1013
- * @generated from field: optional bool is_active = 2;
1014
- */
1015
- isActive?: boolean | undefined;
1016
-
1017
- /**
1018
- * @generated from field: int32 limit = 10;
1019
- */
1020
- limit: number;
1021
-
1022
- /**
1023
- * @generated from field: int32 offset = 11;
1024
- */
1025
- offset: number;
1026
- };
1027
-
1028
- /**
1029
- * Describes the message experiments.v1.ListExperimentsRequest.
1030
- * Use `create(ListExperimentsRequestSchema)` to create a new message.
1031
- */
1032
- export declare const ListExperimentsRequestSchema: GenMessage<ListExperimentsRequest>;
1033
-
1034
- /**
1035
- * @generated from message experiments.v1.ListExperimentsResponse
1036
- */
1037
- export declare type ListExperimentsResponse = Message<"experiments.v1.ListExperimentsResponse"> & {
1038
- /**
1039
- * @generated from field: repeated experiments.v1.Experiment experiments = 1;
1040
- */
1041
- experiments: Experiment[];
1042
-
1043
- /**
1044
- * @generated from field: int32 total = 2;
1045
- */
1046
- total: number;
1047
- };
1048
-
1049
- /**
1050
- * Describes the message experiments.v1.ListExperimentsResponse.
1051
- * Use `create(ListExperimentsResponseSchema)` to create a new message.
1052
- */
1053
- export declare const ListExperimentsResponseSchema: GenMessage<ListExperimentsResponse>;
1054
-
1055
- /**
1056
- * @generated from message experiments.v1.UpdateExperimentRequest
1057
- */
1058
- export declare type UpdateExperimentRequest = Message<"experiments.v1.UpdateExperimentRequest"> & {
1059
- /**
1060
- * @generated from field: string id = 1;
1061
- */
1062
- id: string;
1063
-
1064
- /**
1065
- * @generated from field: optional string name = 2;
1066
- */
1067
- name?: string | undefined;
1068
-
1069
- /**
1070
- * @generated from field: optional string description = 3;
1071
- */
1072
- description?: string | undefined;
1073
-
1074
- /**
1075
- * @generated from field: optional experiments.v1.ExperimentTargeting targeting = 4;
1076
- */
1077
- targeting?: ExperimentTargeting | undefined;
1078
-
1079
- /**
1080
- * @generated from field: optional int32 control_percent = 5;
1081
- */
1082
- controlPercent?: number | undefined;
1083
-
1084
- /**
1085
- * @generated from field: repeated experiments.v1.ExperimentVariant variants = 6;
1086
- */
1087
- variants: ExperimentVariant[];
1088
-
1089
- /**
1090
- * @generated from field: optional google.protobuf.Timestamp start_date = 7;
1091
- */
1092
- startDate?: Timestamp | undefined;
1093
-
1094
- /**
1095
- * @generated from field: optional google.protobuf.Timestamp end_date = 8;
1096
- */
1097
- endDate?: Timestamp | undefined;
1098
-
1099
- /**
1100
- * @generated from field: optional string assignment_persistence = 9;
1101
- */
1102
- assignmentPersistence?: string | undefined;
1103
-
1104
- /**
1105
- * To clear declared goals, set goals_clear=true (sending an empty array
1106
- * alone is indistinguishable from "no change" for repeated fields).
1107
- *
1108
- * @generated from field: repeated experiments.v1.ExperimentGoal goals = 10;
1109
- */
1110
- goals: ExperimentGoal[];
1111
-
1112
- /**
1113
- * @generated from field: bool goals_clear = 11;
1114
- */
1115
- goalsClear: boolean;
1116
-
1117
- /**
1118
- * Same pattern for funnel_steps and exclusion_group_key — repeated and
1119
- * optional scalar fields need an explicit clear flag because the unset/
1120
- * empty wire shape is indistinguishable from "no change."
1121
- *
1122
- * @generated from field: repeated experiments.v1.ExperimentFunnelStep funnel_steps = 12;
1123
- */
1124
- funnelSteps: ExperimentFunnelStep[];
1125
-
1126
- /**
1127
- * @generated from field: bool funnel_steps_clear = 13;
1128
- */
1129
- funnelStepsClear: boolean;
1130
-
1131
- /**
1132
- * @generated from field: optional string exclusion_group_key = 14;
1133
- */
1134
- exclusionGroupKey?: string | undefined;
1135
-
1136
- /**
1137
- * @generated from field: bool exclusion_group_key_clear = 15;
1138
- */
1139
- exclusionGroupKeyClear: boolean;
1140
- };
1141
-
1142
- /**
1143
- * Describes the message experiments.v1.UpdateExperimentRequest.
1144
- * Use `create(UpdateExperimentRequestSchema)` to create a new message.
1145
- */
1146
- export declare const UpdateExperimentRequestSchema: GenMessage<UpdateExperimentRequest>;
1147
-
1148
- /**
1149
- * @generated from message experiments.v1.UpdateExperimentResponse
1150
- */
1151
- export declare type UpdateExperimentResponse = Message<"experiments.v1.UpdateExperimentResponse"> & {
1152
- /**
1153
- * @generated from field: experiments.v1.Experiment experiment = 1;
1154
- */
1155
- experiment?: Experiment | undefined;
1156
- };
1157
-
1158
- /**
1159
- * Describes the message experiments.v1.UpdateExperimentResponse.
1160
- * Use `create(UpdateExperimentResponseSchema)` to create a new message.
1161
- */
1162
- export declare const UpdateExperimentResponseSchema: GenMessage<UpdateExperimentResponse>;
1163
-
1164
- /**
1165
- * @generated from message experiments.v1.DeleteExperimentRequest
1166
- */
1167
- export declare type DeleteExperimentRequest = Message<"experiments.v1.DeleteExperimentRequest"> & {
1168
- /**
1169
- * @generated from field: string id = 1;
1170
- */
1171
- id: string;
1172
- };
1173
-
1174
- /**
1175
- * Describes the message experiments.v1.DeleteExperimentRequest.
1176
- * Use `create(DeleteExperimentRequestSchema)` to create a new message.
1177
- */
1178
- export declare const DeleteExperimentRequestSchema: GenMessage<DeleteExperimentRequest>;
1179
-
1180
- /**
1181
- * @generated from message experiments.v1.DeleteExperimentResponse
1182
- */
1183
- export declare type DeleteExperimentResponse = Message<"experiments.v1.DeleteExperimentResponse"> & {
1184
- /**
1185
- * @generated from field: bool success = 1;
1186
- */
1187
- success: boolean;
1188
- };
1189
-
1190
- /**
1191
- * Describes the message experiments.v1.DeleteExperimentResponse.
1192
- * Use `create(DeleteExperimentResponseSchema)` to create a new message.
1193
- */
1194
- export declare const DeleteExperimentResponseSchema: GenMessage<DeleteExperimentResponse>;
1195
-
1196
- /**
1197
- * @generated from message experiments.v1.StartExperimentRequest
1198
- */
1199
- export declare type StartExperimentRequest = Message<"experiments.v1.StartExperimentRequest"> & {
1200
- /**
1201
- * @generated from field: string experiment_id = 1;
1202
- */
1203
- experimentId: string;
1204
- };
1205
-
1206
- /**
1207
- * Describes the message experiments.v1.StartExperimentRequest.
1208
- * Use `create(StartExperimentRequestSchema)` to create a new message.
1209
- */
1210
- export declare const StartExperimentRequestSchema: GenMessage<StartExperimentRequest>;
1211
-
1212
- /**
1213
- * @generated from message experiments.v1.StartExperimentResponse
1214
- */
1215
- export declare type StartExperimentResponse = Message<"experiments.v1.StartExperimentResponse"> & {
1216
- /**
1217
- * @generated from field: experiments.v1.Experiment experiment = 1;
1218
- */
1219
- experiment?: Experiment | undefined;
1220
- };
1221
-
1222
- /**
1223
- * Describes the message experiments.v1.StartExperimentResponse.
1224
- * Use `create(StartExperimentResponseSchema)` to create a new message.
1225
- */
1226
- export declare const StartExperimentResponseSchema: GenMessage<StartExperimentResponse>;
1227
-
1228
- /**
1229
- * @generated from message experiments.v1.PauseExperimentRequest
1230
- */
1231
- export declare type PauseExperimentRequest = Message<"experiments.v1.PauseExperimentRequest"> & {
1232
- /**
1233
- * @generated from field: string experiment_id = 1;
1234
- */
1235
- experimentId: string;
1236
- };
1237
-
1238
- /**
1239
- * Describes the message experiments.v1.PauseExperimentRequest.
1240
- * Use `create(PauseExperimentRequestSchema)` to create a new message.
1241
- */
1242
- export declare const PauseExperimentRequestSchema: GenMessage<PauseExperimentRequest>;
1243
-
1244
- /**
1245
- * @generated from message experiments.v1.PauseExperimentResponse
1246
- */
1247
- export declare type PauseExperimentResponse = Message<"experiments.v1.PauseExperimentResponse"> & {
1248
- /**
1249
- * @generated from field: experiments.v1.Experiment experiment = 1;
1250
- */
1251
- experiment?: Experiment | undefined;
1252
- };
1253
-
1254
- /**
1255
- * Describes the message experiments.v1.PauseExperimentResponse.
1256
- * Use `create(PauseExperimentResponseSchema)` to create a new message.
1257
- */
1258
- export declare const PauseExperimentResponseSchema: GenMessage<PauseExperimentResponse>;
1259
-
1260
- /**
1261
- * @generated from message experiments.v1.ResumeExperimentRequest
1262
- */
1263
- export declare type ResumeExperimentRequest = Message<"experiments.v1.ResumeExperimentRequest"> & {
1264
- /**
1265
- * @generated from field: string experiment_id = 1;
1266
- */
1267
- experimentId: string;
1268
- };
1269
-
1270
- /**
1271
- * Describes the message experiments.v1.ResumeExperimentRequest.
1272
- * Use `create(ResumeExperimentRequestSchema)` to create a new message.
1273
- */
1274
- export declare const ResumeExperimentRequestSchema: GenMessage<ResumeExperimentRequest>;
1275
-
1276
- /**
1277
- * @generated from message experiments.v1.ResumeExperimentResponse
1278
- */
1279
- export declare type ResumeExperimentResponse = Message<"experiments.v1.ResumeExperimentResponse"> & {
1280
- /**
1281
- * @generated from field: experiments.v1.Experiment experiment = 1;
1282
- */
1283
- experiment?: Experiment | undefined;
1284
- };
1285
-
1286
- /**
1287
- * Describes the message experiments.v1.ResumeExperimentResponse.
1288
- * Use `create(ResumeExperimentResponseSchema)` to create a new message.
1289
- */
1290
- export declare const ResumeExperimentResponseSchema: GenMessage<ResumeExperimentResponse>;
1291
-
1292
- /**
1293
- * @generated from message experiments.v1.EndExperimentRequest
1294
- */
1295
- export declare type EndExperimentRequest = Message<"experiments.v1.EndExperimentRequest"> & {
1296
- /**
1297
- * @generated from field: string experiment_id = 1;
1298
- */
1299
- experimentId: string;
1300
- };
1301
-
1302
- /**
1303
- * Describes the message experiments.v1.EndExperimentRequest.
1304
- * Use `create(EndExperimentRequestSchema)` to create a new message.
1305
- */
1306
- export declare const EndExperimentRequestSchema: GenMessage<EndExperimentRequest>;
1307
-
1308
- /**
1309
- * @generated from message experiments.v1.EndExperimentResponse
1310
- */
1311
- export declare type EndExperimentResponse = Message<"experiments.v1.EndExperimentResponse"> & {
1312
- /**
1313
- * @generated from field: experiments.v1.Experiment experiment = 1;
1314
- */
1315
- experiment?: Experiment | undefined;
1316
- };
1317
-
1318
- /**
1319
- * Describes the message experiments.v1.EndExperimentResponse.
1320
- * Use `create(EndExperimentResponseSchema)` to create a new message.
1321
- */
1322
- export declare const EndExperimentResponseSchema: GenMessage<EndExperimentResponse>;
1323
-
1324
- /**
1325
- * @generated from message experiments.v1.GetExperimentStatsRequest
1326
- */
1327
- export declare type GetExperimentStatsRequest = Message<"experiments.v1.GetExperimentStatsRequest"> & {
1328
- /**
1329
- * @generated from field: string experiment_id = 1;
1330
- */
1331
- experimentId: string;
1332
-
1333
- /**
1334
- * Caller-supplied time window. Both bounds are inclusive on
1335
- * converted_at. Each may be set independently — the server fills
1336
- * unset bounds with the defaults: from = experiment.start_date (or
1337
- * earliest event when start_date is unset); to = NOW().
1338
- *
1339
- * @generated from field: optional google.protobuf.Timestamp from = 2;
1340
- */
1341
- from?: Timestamp | undefined;
1342
-
1343
- /**
1344
- * @generated from field: optional google.protobuf.Timestamp to = 3;
1345
- */
1346
- to?: Timestamp | undefined;
1347
-
1348
- /**
1349
- * Optional per-call metric aggregations over conversion_events.metadata.
1350
- * Capped at 10 specs per request — past the cap the handler returns
1351
- * InvalidArgument. Each spec produces one VariantMetricStats row per
1352
- * variant in the response.
1353
- *
1354
- * @generated from field: repeated experiments.v1.ExperimentMetricSpec metrics = 4;
1355
- */
1356
- metrics: ExperimentMetricSpec[];
1357
-
1358
- /**
1359
- * Override for the SignificanceResult.is_significant sample-size gate.
1360
- * Defaults to 100 per arm. Tenants running early-stage experiments
1361
- * can lower this; the value used is echoed back on every per-goal
1362
- * SignificanceResult so callers see the gate that was applied.
1363
- *
1364
- * @generated from field: optional int32 min_sample_size = 5;
1365
- */
1366
- minSampleSize?: number | undefined;
1367
- };
1368
-
1369
- /**
1370
- * Describes the message experiments.v1.GetExperimentStatsRequest.
1371
- * Use `create(GetExperimentStatsRequestSchema)` to create a new message.
1372
- */
1373
- export declare const GetExperimentStatsRequestSchema: GenMessage<GetExperimentStatsRequest>;
1374
-
1375
- /**
1376
- * @generated from message experiments.v1.GetExperimentStatsResponse
1377
- */
1378
- export declare type GetExperimentStatsResponse = Message<"experiments.v1.GetExperimentStatsResponse"> & {
1379
- /**
1380
- * @generated from field: experiments.v1.ExperimentStats stats = 1;
1381
- */
1382
- stats?: ExperimentStats | undefined;
1383
- };
1384
-
1385
- /**
1386
- * Describes the message experiments.v1.GetExperimentStatsResponse.
1387
- * Use `create(GetExperimentStatsResponseSchema)` to create a new message.
1388
- */
1389
- export declare const GetExperimentStatsResponseSchema: GenMessage<GetExperimentStatsResponse>;
1390
-
1391
- /**
1392
- * Admin override. Exactly one of customer_id or viewer_key must be set —
1393
- * matches the either-or shape used everywhere else on the experiments
1394
- * surface. Both empty is InvalidArgument.
1395
- *
1396
- * @generated from message experiments.v1.ForceAssignExperimentRequest
1397
- */
1398
- export declare type ForceAssignExperimentRequest = Message<"experiments.v1.ForceAssignExperimentRequest"> & {
1399
- /**
1400
- * @generated from field: optional string customer_id = 1;
1401
- */
1402
- customerId?: string | undefined;
1403
-
1404
- /**
1405
- * @generated from field: string experiment_id = 2;
1406
- */
1407
- experimentId: string;
1408
-
1409
- /**
1410
- * @generated from field: string variant_key = 3;
1411
- */
1412
- variantKey: string;
1413
-
1414
- /**
1415
- * @generated from field: optional string viewer_key = 4;
1416
- */
1417
- viewerKey?: string | undefined;
1418
- };
1419
-
1420
- /**
1421
- * Describes the message experiments.v1.ForceAssignExperimentRequest.
1422
- * Use `create(ForceAssignExperimentRequestSchema)` to create a new message.
1423
- */
1424
- export declare const ForceAssignExperimentRequestSchema: GenMessage<ForceAssignExperimentRequest>;
1425
-
1426
- /**
1427
- * @generated from message experiments.v1.ForceAssignExperimentResponse
1428
- */
1429
- export declare type ForceAssignExperimentResponse = Message<"experiments.v1.ForceAssignExperimentResponse"> & {
1430
- /**
1431
- * @generated from field: experiments.v1.ExperimentAssignment assignment = 1;
1432
- */
1433
- assignment?: ExperimentAssignment | undefined;
1434
- };
1435
-
1436
- /**
1437
- * Describes the message experiments.v1.ForceAssignExperimentResponse.
1438
- * Use `create(ForceAssignExperimentResponseSchema)` to create a new message.
1439
- */
1440
- export declare const ForceAssignExperimentResponseSchema: GenMessage<ForceAssignExperimentResponse>;
1441
-
1442
- /**
1443
- * Exactly one of customer_id or viewer_key must be set.
1444
- *
1445
- * @generated from message experiments.v1.RemoveExperimentAssignmentRequest
1446
- */
1447
- export declare type RemoveExperimentAssignmentRequest = Message<"experiments.v1.RemoveExperimentAssignmentRequest"> & {
1448
- /**
1449
- * @generated from field: optional string customer_id = 1;
1450
- */
1451
- customerId?: string | undefined;
1452
-
1453
- /**
1454
- * @generated from field: string experiment_id = 2;
1455
- */
1456
- experimentId: string;
1457
-
1458
- /**
1459
- * @generated from field: optional string viewer_key = 3;
1460
- */
1461
- viewerKey?: string | undefined;
1462
- };
1463
-
1464
- /**
1465
- * Describes the message experiments.v1.RemoveExperimentAssignmentRequest.
1466
- * Use `create(RemoveExperimentAssignmentRequestSchema)` to create a new message.
1467
- */
1468
- export declare const RemoveExperimentAssignmentRequestSchema: GenMessage<RemoveExperimentAssignmentRequest>;
1469
-
1470
- /**
1471
- * @generated from message experiments.v1.RemoveExperimentAssignmentResponse
1472
- */
1473
- export declare type RemoveExperimentAssignmentResponse = Message<"experiments.v1.RemoveExperimentAssignmentResponse"> & {
1474
- /**
1475
- * @generated from field: bool success = 1;
1476
- */
1477
- success: boolean;
1478
- };
1479
-
1480
- /**
1481
- * Describes the message experiments.v1.RemoveExperimentAssignmentResponse.
1482
- * Use `create(RemoveExperimentAssignmentResponseSchema)` to create a new message.
1483
- */
1484
- export declare const RemoveExperimentAssignmentResponseSchema: GenMessage<RemoveExperimentAssignmentResponse>;
1485
-
1486
- /**
1487
- * @generated from message experiments.v1.ApplyExperimentWinnerRequest
1488
- */
1489
- export declare type ApplyExperimentWinnerRequest = Message<"experiments.v1.ApplyExperimentWinnerRequest"> & {
1490
- /**
1491
- * @generated from field: string experiment_id = 1;
1492
- */
1493
- experimentId: string;
1494
-
1495
- /**
1496
- * @generated from field: string winner_variant_key = 2;
1497
- */
1498
- winnerVariantKey: string;
1499
- };
1500
-
1501
- /**
1502
- * Describes the message experiments.v1.ApplyExperimentWinnerRequest.
1503
- * Use `create(ApplyExperimentWinnerRequestSchema)` to create a new message.
1504
- */
1505
- export declare const ApplyExperimentWinnerRequestSchema: GenMessage<ApplyExperimentWinnerRequest>;
1506
-
1507
- /**
1508
- * @generated from message experiments.v1.ApplyExperimentWinnerResponse
1509
- */
1510
- export declare type ApplyExperimentWinnerResponse = Message<"experiments.v1.ApplyExperimentWinnerResponse"> & {
1511
- /**
1512
- * @generated from field: experiments.v1.Experiment experiment = 1;
1513
- */
1514
- experiment?: Experiment | undefined;
1515
-
1516
- /**
1517
- * Number of parent records whose default variant was changed (or
1518
- * would have been, but was already the winner). Drives the admin
1519
- * confirmation copy.
1520
- *
1521
- * @generated from field: int32 affected_record_count = 2;
1522
- */
1523
- affectedRecordCount: number;
1524
-
1525
- /**
1526
- * Number of variant rows whose experimentKey/variantKey metadata
1527
- * was cleared as part of the rollout sweep.
1528
- *
1529
- * @generated from field: int32 cleared_variant_count = 3;
1530
- */
1531
- clearedVariantCount: number;
1532
- };
1533
-
1534
- /**
1535
- * Describes the message experiments.v1.ApplyExperimentWinnerResponse.
1536
- * Use `create(ApplyExperimentWinnerResponseSchema)` to create a new message.
1537
- */
1538
- export declare const ApplyExperimentWinnerResponseSchema: GenMessage<ApplyExperimentWinnerResponse>;
1539
-
1540
- /**
1541
- * Read-only dry-run for the admin confirmation dialog. Returns what
1542
- * records would be affected by ApplyExperimentWinner without making
1543
- * any changes. Same validation surface as ApplyExperimentWinner so
1544
- * the UI can surface "winner key not declared on this experiment"
1545
- * before the user clicks through.
1546
- *
1547
- * @generated from message experiments.v1.PreviewExperimentWinnerRolloutRequest
1548
- */
1549
- export declare type PreviewExperimentWinnerRolloutRequest = Message<"experiments.v1.PreviewExperimentWinnerRolloutRequest"> & {
1550
- /**
1551
- * @generated from field: string experiment_id = 1;
1552
- */
1553
- experimentId: string;
1554
-
1555
- /**
1556
- * @generated from field: string winner_variant_key = 2;
1557
- */
1558
- winnerVariantKey: string;
1559
- };
1560
-
1561
- /**
1562
- * Describes the message experiments.v1.PreviewExperimentWinnerRolloutRequest.
1563
- * Use `create(PreviewExperimentWinnerRolloutRequestSchema)` to create a new message.
1564
- */
1565
- export declare const PreviewExperimentWinnerRolloutRequestSchema: GenMessage<PreviewExperimentWinnerRolloutRequest>;
1566
-
1567
- /**
1568
- * @generated from message experiments.v1.AffectedRecord
1569
- */
1570
- export declare type AffectedRecord = Message<"experiments.v1.AffectedRecord"> & {
1571
- /**
1572
- * @generated from field: string record_id = 1;
1573
- */
1574
- recordId: string;
1575
-
1576
- /**
1577
- * Currently-set defaultVariantId, or empty when none.
1578
- *
1579
- * @generated from field: string current_default_variant_id = 2;
1580
- */
1581
- currentDefaultVariantId: string;
1582
-
1583
- /**
1584
- * Variant id that would become default after rollout, or empty if
1585
- * the winner is "control" (no variant change — only metadata cleanup).
1586
- *
1587
- * @generated from field: string new_default_variant_id = 3;
1588
- */
1589
- newDefaultVariantId: string;
1590
- };
1591
-
1592
- /**
1593
- * Describes the message experiments.v1.AffectedRecord.
1594
- * Use `create(AffectedRecordSchema)` to create a new message.
1595
- */
1596
- export declare const AffectedRecordSchema: GenMessage<AffectedRecord>;
1597
-
1598
- /**
1599
- * @generated from message experiments.v1.PreviewExperimentWinnerRolloutResponse
1600
- */
1601
- export declare type PreviewExperimentWinnerRolloutResponse = Message<"experiments.v1.PreviewExperimentWinnerRolloutResponse"> & {
1602
- /**
1603
- * @generated from field: repeated experiments.v1.AffectedRecord affected_records = 1;
1604
- */
1605
- affectedRecords: AffectedRecord[];
1606
-
1607
- /**
1608
- * Cohort variants that would have their experimentKey/variantKey
1609
- * metadata cleared (always == affected_records cohort + losers).
1610
- *
1611
- * @generated from field: int32 cleared_variant_count = 2;
1612
- */
1613
- clearedVariantCount: number;
1614
- };
1615
-
1616
- /**
1617
- * Describes the message experiments.v1.PreviewExperimentWinnerRolloutResponse.
1618
- * Use `create(PreviewExperimentWinnerRolloutResponseSchema)` to create a new message.
1619
- */
1620
- export declare const PreviewExperimentWinnerRolloutResponseSchema: GenMessage<PreviewExperimentWinnerRolloutResponse>;
1621
-
1622
- /**
1623
- * Restores the snapshot captured by the most recent
1624
- * ApplyExperimentWinner call: re-applies previous default variants on
1625
- * affected records, re-binds cohort variants to their old experimentKey/
1626
- * variantKey metadata, transitions the experiment back to PAUSED so the
1627
- * admin can decide whether to resume or end again.
1628
- *
1629
- * @generated from message experiments.v1.RollbackExperimentRequest
1630
- */
1631
- export declare type RollbackExperimentRequest = Message<"experiments.v1.RollbackExperimentRequest"> & {
1632
- /**
1633
- * @generated from field: string experiment_id = 1;
1634
- */
1635
- experimentId: string;
1636
- };
1637
-
1638
- /**
1639
- * Describes the message experiments.v1.RollbackExperimentRequest.
1640
- * Use `create(RollbackExperimentRequestSchema)` to create a new message.
1641
- */
1642
- export declare const RollbackExperimentRequestSchema: GenMessage<RollbackExperimentRequest>;
1643
-
1644
- /**
1645
- * @generated from message experiments.v1.RollbackExperimentResponse
1646
- */
1647
- export declare type RollbackExperimentResponse = Message<"experiments.v1.RollbackExperimentResponse"> & {
1648
- /**
1649
- * @generated from field: experiments.v1.Experiment experiment = 1;
1650
- */
1651
- experiment?: Experiment | undefined;
1652
-
1653
- /**
1654
- * @generated from field: int32 restored_record_count = 2;
1655
- */
1656
- restoredRecordCount: number;
1657
-
1658
- /**
1659
- * @generated from field: int32 restored_variant_count = 3;
1660
- */
1661
- restoredVariantCount: number;
1662
- };
1663
-
1664
- /**
1665
- * Describes the message experiments.v1.RollbackExperimentResponse.
1666
- * Use `create(RollbackExperimentResponseSchema)` to create a new message.
1667
- */
1668
- export declare const RollbackExperimentResponseSchema: GenMessage<RollbackExperimentResponse>;
1669
-
1670
- /**
1671
- * Reads assignment rows for the given identity. Exactly one of customer_id
1672
- * or viewer_key must be set — symmetric with RecordConversionInput. Both
1673
- * empty or both set is InvalidArgument.
1674
- *
1675
- * @generated from message experiments.v1.GetAssignmentsRequest
1676
- */
1677
- export declare type GetAssignmentsRequest = Message<"experiments.v1.GetAssignmentsRequest"> & {
1678
- /**
1679
- * @generated from field: optional string customer_id = 1;
1680
- */
1681
- customerId?: string | undefined;
1682
-
1683
- /**
1684
- * @generated from field: optional string viewer_key = 2;
1685
- */
1686
- viewerKey?: string | undefined;
1687
- };
1688
-
1689
- /**
1690
- * Describes the message experiments.v1.GetAssignmentsRequest.
1691
- * Use `create(GetAssignmentsRequestSchema)` to create a new message.
1692
- */
1693
- export declare const GetAssignmentsRequestSchema: GenMessage<GetAssignmentsRequest>;
1694
-
1695
- /**
1696
- * @generated from message experiments.v1.GetAssignmentsResponse
1697
- */
1698
- export declare type GetAssignmentsResponse = Message<"experiments.v1.GetAssignmentsResponse"> & {
1699
- /**
1700
- * @generated from field: repeated experiments.v1.ExperimentAssignment assignments = 1;
1701
- */
1702
- assignments: ExperimentAssignment[];
1703
- };
1704
-
1705
- /**
1706
- * Describes the message experiments.v1.GetAssignmentsResponse.
1707
- * Use `create(GetAssignmentsResponseSchema)` to create a new message.
1708
- */
1709
- export declare const GetAssignmentsResponseSchema: GenMessage<GetAssignmentsResponse>;
1710
-
1711
- /**
1712
- * Returns the static declaration shape (key + variant keys) for every
1713
- * experiment in the project, regardless of runtime status. Used by the
1714
- * public-API codegen pipeline to emit stable ExperimentKey /
1715
- * ExperimentVariantKey enums that don't drift across environments based
1716
- * on what's currently running. Frontends that want to enumerate declared
1717
- * experiments at runtime can also read this.
1718
- *
1719
- * @generated from message experiments.v1.ListExperimentDeclarationsRequest
1720
- */
1721
- export declare type ListExperimentDeclarationsRequest = Message<"experiments.v1.ListExperimentDeclarationsRequest"> & {
1722
- };
1723
-
1724
- /**
1725
- * Describes the message experiments.v1.ListExperimentDeclarationsRequest.
1726
- * Use `create(ListExperimentDeclarationsRequestSchema)` to create a new message.
1727
- */
1728
- export declare const ListExperimentDeclarationsRequestSchema: GenMessage<ListExperimentDeclarationsRequest>;
1729
-
1730
- /**
1731
- * @generated from message experiments.v1.ListExperimentDeclarationsResponse
1732
- */
1733
- export declare type ListExperimentDeclarationsResponse = Message<"experiments.v1.ListExperimentDeclarationsResponse"> & {
1734
- /**
1735
- * @generated from field: repeated experiments.v1.ExperimentDeclaration declarations = 1;
1736
- */
1737
- declarations: ExperimentDeclaration[];
1738
- };
1739
-
1740
- /**
1741
- * Describes the message experiments.v1.ListExperimentDeclarationsResponse.
1742
- * Use `create(ListExperimentDeclarationsResponseSchema)` to create a new message.
1743
- */
1744
- export declare const ListExperimentDeclarationsResponseSchema: GenMessage<ListExperimentDeclarationsResponse>;
1745
-
1746
- /**
1747
- * Resolves the variant a viewer sees for a given experiment. Persisted
1748
- * (D2b): the first call for a given (experiment, identity) buckets via
1749
- * deterministic FNV-1a hash over (experiment_id, identity), writes a
1750
- * row to experiment_assignments, and returns the chosen variant. All
1751
- * subsequent calls return the persisted variant — sticky across traffic
1752
- * allocation changes, percent reallocations, and pause/resume cycles.
1753
- *
1754
- * Identity rule: pass exactly one of customer_id or viewer_key, OR pass
1755
- * both for the anon→customer hand-off (server promotes the existing
1756
- * viewer row to a customer row, preserving the variant; or, if a
1757
- * customer row already exists, keeps the customer row and drops the
1758
- * viewer row). Both empty is InvalidArgument. There is no
1759
- * "customer-preferred-with-fallback" — the caller asks for what they
1760
- * have.
1761
- *
1762
- * @generated from message experiments.v1.ResolveExposureRequest
1763
- */
1764
- export declare type ResolveExposureRequest = Message<"experiments.v1.ResolveExposureRequest"> & {
1765
- /**
1766
- * @generated from field: string experiment_key = 1;
1767
- */
1768
- experimentKey: string;
1769
-
1770
- /**
1771
- * @generated from field: optional string customer_id = 2;
1772
- */
1773
- customerId?: string | undefined;
1774
-
1775
- /**
1776
- * @generated from field: optional string viewer_key = 3;
1777
- */
1778
- viewerKey?: string | undefined;
1779
- };
1780
-
1781
- /**
1782
- * Describes the message experiments.v1.ResolveExposureRequest.
1783
- * Use `create(ResolveExposureRequestSchema)` to create a new message.
1784
- */
1785
- export declare const ResolveExposureRequestSchema: GenMessage<ResolveExposureRequest>;
1786
-
1787
- /**
1788
- * @generated from message experiments.v1.ResolveExposureResponse
1789
- */
1790
- export declare type ResolveExposureResponse = Message<"experiments.v1.ResolveExposureResponse"> & {
1791
- /**
1792
- * @generated from field: string experiment_key = 1;
1793
- */
1794
- experimentKey: string;
1795
-
1796
- /**
1797
- * @generated from field: string variant_key = 2;
1798
- */
1799
- variantKey: string;
1800
-
1801
- /**
1802
- * @generated from field: bool is_control = 3;
1803
- */
1804
- isControl: boolean;
1805
-
1806
- /**
1807
- * False when the experiment is not RUNNING (draft, paused, ended) or
1808
- * when the current time is outside its [start_date, end_date] window.
1809
- * No row is written in that case and variant_key is empty.
1810
- *
1811
- * @generated from field: bool is_exposed = 4;
1812
- */
1813
- isExposed: boolean;
1814
-
1815
- /**
1816
- * "hash" for the first bucketing, "forced" if a ForceAssignExperiment
1817
- * row was hit, "promoted" if the call promoted a viewer row to a
1818
- * customer row.
1819
- *
1820
- * @generated from field: string assignment_method = 5;
1821
- */
1822
- assignmentMethod: string;
1823
-
1824
- /**
1825
- * True if this call wrote (or promoted) the assignment row. Useful for
1826
- * analytics: distinguish first-exposure from subsequent reads.
1827
- *
1828
- * @generated from field: bool is_new_assignment = 6;
1829
- */
1830
- isNewAssignment: boolean;
1831
- };
1832
-
1833
- /**
1834
- * Describes the message experiments.v1.ResolveExposureResponse.
1835
- * Use `create(ResolveExposureResponseSchema)` to create a new message.
1836
- */
1837
- export declare const ResolveExposureResponseSchema: GenMessage<ResolveExposureResponse>;
1838
-
1839
- /**
1840
- * @generated from enum experiments.v1.ExperimentStatus
1841
- */
1842
- export enum ExperimentStatus {
1843
- /**
1844
- * @generated from enum value: EXPERIMENT_STATUS_UNSPECIFIED = 0;
1845
- */
1846
- UNSPECIFIED = 0,
1847
-
1848
- /**
1849
- * @generated from enum value: EXPERIMENT_STATUS_DRAFT = 1;
1850
- */
1851
- DRAFT = 1,
1852
-
1853
- /**
1854
- * @generated from enum value: EXPERIMENT_STATUS_RUNNING = 2;
1855
- */
1856
- RUNNING = 2,
1857
-
1858
- /**
1859
- * @generated from enum value: EXPERIMENT_STATUS_PAUSED = 3;
1860
- */
1861
- PAUSED = 3,
1862
-
1863
- /**
1864
- * @generated from enum value: EXPERIMENT_STATUS_COMPLETED = 4;
1865
- */
1866
- COMPLETED = 4,
1867
- }
1868
-
1869
- /**
1870
- * Describes the enum experiments.v1.ExperimentStatus.
1871
- */
1872
- export declare const ExperimentStatusSchema: GenEnum<ExperimentStatus>;
1873
-
1874
- /**
1875
- * MetricAggregator names the aggregation operation applied to a JSONB
1876
- * path on conversion_events.metadata. SUM/AVG/COUNT/MIN/MAX map to the
1877
- * native Postgres aggregates; P50/P95 use percentile_cont(0.5|0.95)
1878
- * WITHIN GROUP (ORDER BY value).
1879
- *
1880
- * @generated from enum experiments.v1.MetricAggregator
1881
- */
1882
- export enum MetricAggregator {
1883
- /**
1884
- * @generated from enum value: METRIC_AGGREGATOR_UNSPECIFIED = 0;
1885
- */
1886
- UNSPECIFIED = 0,
1887
-
1888
- /**
1889
- * @generated from enum value: METRIC_AGGREGATOR_SUM = 1;
1890
- */
1891
- SUM = 1,
1892
-
1893
- /**
1894
- * @generated from enum value: METRIC_AGGREGATOR_AVG = 2;
1895
- */
1896
- AVG = 2,
1897
-
1898
- /**
1899
- * @generated from enum value: METRIC_AGGREGATOR_COUNT = 3;
1900
- */
1901
- COUNT = 3,
1902
-
1903
- /**
1904
- * @generated from enum value: METRIC_AGGREGATOR_MIN = 4;
1905
- */
1906
- MIN = 4,
1907
-
1908
- /**
1909
- * @generated from enum value: METRIC_AGGREGATOR_MAX = 5;
1910
- */
1911
- MAX = 5,
1912
-
1913
- /**
1914
- * @generated from enum value: METRIC_AGGREGATOR_P50 = 6;
1915
- */
1916
- P50 = 6,
1917
-
1918
- /**
1919
- * @generated from enum value: METRIC_AGGREGATOR_P95 = 7;
1920
- */
1921
- P95 = 7,
1922
- }
1923
-
1924
- /**
1925
- * Describes the enum experiments.v1.MetricAggregator.
1926
- */
1927
- export declare const MetricAggregatorSchema: GenEnum<MetricAggregator>;
1928
-
1929
- /**
1930
- * @generated from service experiments.v1.ExperimentsService
1931
- */
1932
- export declare const ExperimentsService: GenService<{
1933
- /**
1934
- * Queries.
1935
- *
1936
- * @generated from rpc experiments.v1.ExperimentsService.GetExperiment
1937
- */
1938
- getExperiment: {
1939
- methodKind: "unary";
1940
- input: typeof GetExperimentRequestSchema;
1941
- output: typeof GetExperimentResponseSchema;
1942
- },
1943
- /**
1944
- * @generated from rpc experiments.v1.ExperimentsService.GetExperimentByKey
1945
- */
1946
- getExperimentByKey: {
1947
- methodKind: "unary";
1948
- input: typeof GetExperimentByKeyRequestSchema;
1949
- output: typeof GetExperimentByKeyResponseSchema;
1950
- },
1951
- /**
1952
- * @generated from rpc experiments.v1.ExperimentsService.ListExperiments
1953
- */
1954
- listExperiments: {
1955
- methodKind: "unary";
1956
- input: typeof ListExperimentsRequestSchema;
1957
- output: typeof ListExperimentsResponseSchema;
1958
- },
1959
- /**
1960
- * Mutations.
1961
- *
1962
- * @generated from rpc experiments.v1.ExperimentsService.CreateExperiment
1963
- */
1964
- createExperiment: {
1965
- methodKind: "unary";
1966
- input: typeof CreateExperimentRequestSchema;
1967
- output: typeof CreateExperimentResponseSchema;
1968
- },
1969
- /**
1970
- * @generated from rpc experiments.v1.ExperimentsService.UpdateExperiment
1971
- */
1972
- updateExperiment: {
1973
- methodKind: "unary";
1974
- input: typeof UpdateExperimentRequestSchema;
1975
- output: typeof UpdateExperimentResponseSchema;
1976
- },
1977
- /**
1978
- * @generated from rpc experiments.v1.ExperimentsService.DeleteExperiment
1979
- */
1980
- deleteExperiment: {
1981
- methodKind: "unary";
1982
- input: typeof DeleteExperimentRequestSchema;
1983
- output: typeof DeleteExperimentResponseSchema;
1984
- },
1985
- /**
1986
- * Lifecycle.
1987
- *
1988
- * @generated from rpc experiments.v1.ExperimentsService.StartExperiment
1989
- */
1990
- startExperiment: {
1991
- methodKind: "unary";
1992
- input: typeof StartExperimentRequestSchema;
1993
- output: typeof StartExperimentResponseSchema;
1994
- },
1995
- /**
1996
- * @generated from rpc experiments.v1.ExperimentsService.PauseExperiment
1997
- */
1998
- pauseExperiment: {
1999
- methodKind: "unary";
2000
- input: typeof PauseExperimentRequestSchema;
2001
- output: typeof PauseExperimentResponseSchema;
2002
- },
2003
- /**
2004
- * @generated from rpc experiments.v1.ExperimentsService.ResumeExperiment
2005
- */
2006
- resumeExperiment: {
2007
- methodKind: "unary";
2008
- input: typeof ResumeExperimentRequestSchema;
2009
- output: typeof ResumeExperimentResponseSchema;
2010
- },
2011
- /**
2012
- * @generated from rpc experiments.v1.ExperimentsService.EndExperiment
2013
- */
2014
- endExperiment: {
2015
- methodKind: "unary";
2016
- input: typeof EndExperimentRequestSchema;
2017
- output: typeof EndExperimentResponseSchema;
2018
- },
2019
- /**
2020
- * @generated from rpc experiments.v1.ExperimentsService.ApplyExperimentWinner
2021
- */
2022
- applyExperimentWinner: {
2023
- methodKind: "unary";
2024
- input: typeof ApplyExperimentWinnerRequestSchema;
2025
- output: typeof ApplyExperimentWinnerResponseSchema;
2026
- },
2027
- /**
2028
- * @generated from rpc experiments.v1.ExperimentsService.PreviewExperimentWinnerRollout
2029
- */
2030
- previewExperimentWinnerRollout: {
2031
- methodKind: "unary";
2032
- input: typeof PreviewExperimentWinnerRolloutRequestSchema;
2033
- output: typeof PreviewExperimentWinnerRolloutResponseSchema;
2034
- },
2035
- /**
2036
- * @generated from rpc experiments.v1.ExperimentsService.RollbackExperiment
2037
- */
2038
- rollbackExperiment: {
2039
- methodKind: "unary";
2040
- input: typeof RollbackExperimentRequestSchema;
2041
- output: typeof RollbackExperimentResponseSchema;
2042
- },
2043
- /**
2044
- * Stats.
2045
- *
2046
- * @generated from rpc experiments.v1.ExperimentsService.GetExperimentStats
2047
- */
2048
- getExperimentStats: {
2049
- methodKind: "unary";
2050
- input: typeof GetExperimentStatsRequestSchema;
2051
- output: typeof GetExperimentStatsResponseSchema;
2052
- },
2053
- /**
2054
- * Assignments.
2055
- *
2056
- * @generated from rpc experiments.v1.ExperimentsService.ForceAssignExperiment
2057
- */
2058
- forceAssignExperiment: {
2059
- methodKind: "unary";
2060
- input: typeof ForceAssignExperimentRequestSchema;
2061
- output: typeof ForceAssignExperimentResponseSchema;
2062
- },
2063
- /**
2064
- * @generated from rpc experiments.v1.ExperimentsService.RemoveExperimentAssignment
2065
- */
2066
- removeExperimentAssignment: {
2067
- methodKind: "unary";
2068
- input: typeof RemoveExperimentAssignmentRequestSchema;
2069
- output: typeof RemoveExperimentAssignmentResponseSchema;
2070
- },
2071
- /**
2072
- * @generated from rpc experiments.v1.ExperimentsService.GetAssignments
2073
- */
2074
- getAssignments: {
2075
- methodKind: "unary";
2076
- input: typeof GetAssignmentsRequestSchema;
2077
- output: typeof GetAssignmentsResponseSchema;
2078
- },
2079
- /**
2080
- * Exposure.
2081
- *
2082
- * @generated from rpc experiments.v1.ExperimentsService.ResolveExposure
2083
- */
2084
- resolveExposure: {
2085
- methodKind: "unary";
2086
- input: typeof ResolveExposureRequestSchema;
2087
- output: typeof ResolveExposureResponseSchema;
2088
- },
2089
- /**
2090
- * Declarations (for typed codegen on the public API).
2091
- *
2092
- * @generated from rpc experiments.v1.ExperimentsService.ListExperimentDeclarations
2093
- */
2094
- listExperimentDeclarations: {
2095
- methodKind: "unary";
2096
- input: typeof ListExperimentDeclarationsRequestSchema;
2097
- output: typeof ListExperimentDeclarationsResponseSchema;
2098
- },
2099
- }>;
2100
-