@mozilla/nimbus-schemas 3003.0.0 → 3004.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts
CHANGED
|
@@ -70,6 +70,8 @@ export interface DesktopAllVersionsNimbusExperiment {
|
|
|
70
70
|
appId: string;
|
|
71
71
|
/**
|
|
72
72
|
* A specific channel of an application such as "nightly", "beta", or "release".
|
|
73
|
+
*
|
|
74
|
+
* This field is only respected by nimbus-sdk-based applications.
|
|
73
75
|
*/
|
|
74
76
|
channel: string;
|
|
75
77
|
/**
|
|
@@ -152,6 +154,10 @@ export interface DesktopAllVersionsNimbusExperiment {
|
|
|
152
154
|
* If null, it has not yet been published.
|
|
153
155
|
*/
|
|
154
156
|
publishedDate?: string | null;
|
|
157
|
+
/**
|
|
158
|
+
* Opt out of feature schema validation.
|
|
159
|
+
*/
|
|
160
|
+
featureValidationOptOut?: boolean;
|
|
155
161
|
/**
|
|
156
162
|
* When this property is set to true, treat this experiment as a Firefox Labs experiment
|
|
157
163
|
*/
|
|
@@ -180,10 +186,6 @@ export interface DesktopAllVersionsNimbusExperiment {
|
|
|
180
186
|
* Branch configuration for the experiment.
|
|
181
187
|
*/
|
|
182
188
|
branches: DesktopAllVersionsExperimentBranch[];
|
|
183
|
-
/**
|
|
184
|
-
* Opt out of feature schema validation.
|
|
185
|
-
*/
|
|
186
|
-
featureValidationOptOut?: boolean;
|
|
187
189
|
/**
|
|
188
190
|
* The group this should appear under in Firefox Labs
|
|
189
191
|
*/
|
|
@@ -316,6 +318,8 @@ export interface DesktopNimbusExperiment {
|
|
|
316
318
|
appId: string;
|
|
317
319
|
/**
|
|
318
320
|
* A specific channel of an application such as "nightly", "beta", or "release".
|
|
321
|
+
*
|
|
322
|
+
* This field is only respected by nimbus-sdk-based applications.
|
|
319
323
|
*/
|
|
320
324
|
channel: string;
|
|
321
325
|
/**
|
|
@@ -398,6 +402,10 @@ export interface DesktopNimbusExperiment {
|
|
|
398
402
|
* If null, it has not yet been published.
|
|
399
403
|
*/
|
|
400
404
|
publishedDate?: string | null;
|
|
405
|
+
/**
|
|
406
|
+
* Opt out of feature schema validation.
|
|
407
|
+
*/
|
|
408
|
+
featureValidationOptOut?: boolean;
|
|
401
409
|
/**
|
|
402
410
|
* When this property is set to true, treat this experiment as a Firefox Labs experiment
|
|
403
411
|
*/
|
|
@@ -426,10 +434,6 @@ export interface DesktopNimbusExperiment {
|
|
|
426
434
|
* Branch configuration for the experiment.
|
|
427
435
|
*/
|
|
428
436
|
branches: DesktopExperimentBranch[];
|
|
429
|
-
/**
|
|
430
|
-
* Opt out of feature schema validation.
|
|
431
|
-
*/
|
|
432
|
-
featureValidationOptOut?: boolean;
|
|
433
437
|
/**
|
|
434
438
|
* The group this should appear under in Firefox Labs
|
|
435
439
|
*/
|
|
@@ -492,6 +496,8 @@ export interface SdkNimbusExperiment {
|
|
|
492
496
|
appId: string;
|
|
493
497
|
/**
|
|
494
498
|
* A specific channel of an application such as "nightly", "beta", or "release".
|
|
499
|
+
*
|
|
500
|
+
* This field is only respected by nimbus-sdk-based applications.
|
|
495
501
|
*/
|
|
496
502
|
channel: string;
|
|
497
503
|
/**
|
|
@@ -577,6 +583,12 @@ export interface SdkNimbusExperiment {
|
|
|
577
583
|
* If null, it has not yet been published.
|
|
578
584
|
*/
|
|
579
585
|
publishedDate?: string | null;
|
|
586
|
+
/**
|
|
587
|
+
* If true, clients should not perform feature validation.
|
|
588
|
+
*
|
|
589
|
+
* This field is only supported by Firefox Desktop.
|
|
590
|
+
*/
|
|
591
|
+
featureValidationOptOut?: boolean | null;
|
|
580
592
|
/**
|
|
581
593
|
* When this property is set to true, treat this experiment as a Firefox Labs experiment
|
|
582
594
|
*/
|
|
@@ -899,3 +911,202 @@ export interface Statistic {
|
|
|
899
911
|
analysis_basis?: AnalysisBasis | null;
|
|
900
912
|
window_index?: string | null;
|
|
901
913
|
}
|
|
914
|
+
/**
|
|
915
|
+
* A Nimbus experiment for V7.
|
|
916
|
+
*/
|
|
917
|
+
export interface NimbusExperimentV7 {
|
|
918
|
+
/**
|
|
919
|
+
* Version of the NimbusExperiment schema this experiment refers to
|
|
920
|
+
*/
|
|
921
|
+
schemaVersion: string;
|
|
922
|
+
/**
|
|
923
|
+
* Unique identifier for the experiment
|
|
924
|
+
*/
|
|
925
|
+
slug: string;
|
|
926
|
+
/**
|
|
927
|
+
* Unique identifier for the experiiment.
|
|
928
|
+
*
|
|
929
|
+
* This is a duplicate of slug, but is required field for all Remote Settings records.
|
|
930
|
+
*/
|
|
931
|
+
id: string;
|
|
932
|
+
/**
|
|
933
|
+
* A slug identifying the targeted product of this experiment.
|
|
934
|
+
*
|
|
935
|
+
* It should be a lowercased_with_underscores name that is short and unambiguous and it should match the app_name found in https://probeinfo.telemetry.mozilla.org/glean/repositories. Examples are "fenix" and "firefox_desktop".
|
|
936
|
+
*/
|
|
937
|
+
appName: string;
|
|
938
|
+
/**
|
|
939
|
+
* The platform identifier for the targeted app.
|
|
940
|
+
*
|
|
941
|
+
* This should match app's identifier exactly as it appears in the relevant app store listing (for relevant platforms) or the app's Glean initialization (for other platforms).
|
|
942
|
+
*
|
|
943
|
+
* Examples are "org.mozilla.firefox_beta" and "firefox-desktop".
|
|
944
|
+
*/
|
|
945
|
+
appId: string;
|
|
946
|
+
/**
|
|
947
|
+
* A specific channel of an application such as "nightly", "beta", or "release".
|
|
948
|
+
*
|
|
949
|
+
* This field is only respected by nimbus-sdk-based applications.
|
|
950
|
+
*/
|
|
951
|
+
channel: string;
|
|
952
|
+
/**
|
|
953
|
+
* Public name of the experiment that will be displayed on "about:studies".
|
|
954
|
+
*/
|
|
955
|
+
userFacingName: string;
|
|
956
|
+
/**
|
|
957
|
+
* Short public description of the experiment that will be displayed on "about:studies".
|
|
958
|
+
*/
|
|
959
|
+
userFacingDescription: string;
|
|
960
|
+
/**
|
|
961
|
+
* When this property is set to true, the SDK should not enroll new users into the experiment that have not already been enrolled.
|
|
962
|
+
*/
|
|
963
|
+
isEnrollmentPaused: boolean;
|
|
964
|
+
/**
|
|
965
|
+
* When this property is set to true, treat this experiment as a rollout.
|
|
966
|
+
*
|
|
967
|
+
* Rollouts are currently handled as single-branch experiments separated from the bucketing namespace for normal experiments.
|
|
968
|
+
*
|
|
969
|
+
* See-also: https://mozilla-hub.atlassian.net/browse/SDK-405
|
|
970
|
+
*/
|
|
971
|
+
isRollout?: boolean;
|
|
972
|
+
bucketConfig: ExperimentBucketConfig;
|
|
973
|
+
/**
|
|
974
|
+
* A list of outcomes relevant to the experiment analysis.
|
|
975
|
+
*/
|
|
976
|
+
outcomes?: ExperimentOutcome[];
|
|
977
|
+
/**
|
|
978
|
+
* A list of featureIds the experiment contains configurations for.
|
|
979
|
+
*/
|
|
980
|
+
featureIds: string[];
|
|
981
|
+
/**
|
|
982
|
+
* A JEXL targeting expression used to filter out experiments.
|
|
983
|
+
*/
|
|
984
|
+
targeting?: string | null;
|
|
985
|
+
/**
|
|
986
|
+
* Actual publish date of the experiment.
|
|
987
|
+
*
|
|
988
|
+
* Note that this value is expected to be null in Remote Settings.
|
|
989
|
+
*/
|
|
990
|
+
startDate: string | null;
|
|
991
|
+
/**
|
|
992
|
+
* Actual enrollment end date of the experiment.
|
|
993
|
+
*
|
|
994
|
+
* Note that this value is expected to be null in Remote Settings.
|
|
995
|
+
*/
|
|
996
|
+
enrollmentEndDate?: string | null;
|
|
997
|
+
/**
|
|
998
|
+
* Actual end date of this experiment.
|
|
999
|
+
*
|
|
1000
|
+
* Note that this field is expected to be null in Remote Settings.
|
|
1001
|
+
*/
|
|
1002
|
+
endDate: string | null;
|
|
1003
|
+
/**
|
|
1004
|
+
* Duration of the experiment from the start date in days.
|
|
1005
|
+
*
|
|
1006
|
+
* Note that this property is only used during the analysis phase (i.e., not by the SDK).
|
|
1007
|
+
*/
|
|
1008
|
+
proposedDuration?: number;
|
|
1009
|
+
/**
|
|
1010
|
+
* This represents the number of days that we expect to enroll new users.
|
|
1011
|
+
*
|
|
1012
|
+
* Note that this property is only used during the analysis phase (i.e., not by the SDK).
|
|
1013
|
+
*/
|
|
1014
|
+
proposedEnrollment: number;
|
|
1015
|
+
/**
|
|
1016
|
+
* The slug of the reference branch (i.e., the branch we consider "control").
|
|
1017
|
+
*/
|
|
1018
|
+
referenceBranch: string | null;
|
|
1019
|
+
/**
|
|
1020
|
+
* The list of locale codes (e.g., "en-US" or "fr") that this experiment is targeting.
|
|
1021
|
+
*
|
|
1022
|
+
* If null, all locales are targeted.
|
|
1023
|
+
*/
|
|
1024
|
+
locales?: string[] | null;
|
|
1025
|
+
/**
|
|
1026
|
+
* Per-locale localization substitutions.
|
|
1027
|
+
*/
|
|
1028
|
+
localizations?: ExperimentLocalizations | null;
|
|
1029
|
+
/**
|
|
1030
|
+
* The date that this experiment was first published to Remote Settings.
|
|
1031
|
+
*
|
|
1032
|
+
* If null, it has not yet been published.
|
|
1033
|
+
*/
|
|
1034
|
+
publishedDate?: string | null;
|
|
1035
|
+
/**
|
|
1036
|
+
* If true, clients should not perform feature validation.
|
|
1037
|
+
*
|
|
1038
|
+
* This field is only supported by Firefox Desktop.
|
|
1039
|
+
*/
|
|
1040
|
+
featureValidationOptOut?: boolean | null;
|
|
1041
|
+
/**
|
|
1042
|
+
* When this property is set to true, treat this experiment as a Firefox Labs experiment
|
|
1043
|
+
*/
|
|
1044
|
+
isFirefoxLabsOptIn?: boolean;
|
|
1045
|
+
/**
|
|
1046
|
+
* The title shown in Firefox Labs (Fluent ID or Resource ID)
|
|
1047
|
+
*/
|
|
1048
|
+
firefoxLabsTitle?: string | null;
|
|
1049
|
+
/**
|
|
1050
|
+
* The description shown in Firefox Labs (Fluent ID or Resource ID)
|
|
1051
|
+
*/
|
|
1052
|
+
firefoxLabsDescription?: string | null;
|
|
1053
|
+
/**
|
|
1054
|
+
* Links that will be used with the firefoxLabsDescription Fluent ID. May be null for Firefox Labs Opt-In recipes that do not use links.
|
|
1055
|
+
*/
|
|
1056
|
+
firefoxLabsDescriptionLinks?: {
|
|
1057
|
+
[k: string]: string;
|
|
1058
|
+
} | null;
|
|
1059
|
+
/**
|
|
1060
|
+
* Does the experiment require a restart to take effect?
|
|
1061
|
+
*
|
|
1062
|
+
* Only used by Firefox Labs Opt-Ins.
|
|
1063
|
+
*/
|
|
1064
|
+
requiresRestart?: boolean;
|
|
1065
|
+
/**
|
|
1066
|
+
* The channels available for the experiment.
|
|
1067
|
+
* This field should be preferred over the channel field.
|
|
1068
|
+
*/
|
|
1069
|
+
channels?: string[];
|
|
1070
|
+
/**
|
|
1071
|
+
* Branch configuration for the experiment.
|
|
1072
|
+
*/
|
|
1073
|
+
branches: ExperimentBranchV7[];
|
|
1074
|
+
/**
|
|
1075
|
+
* All documentation links associated with this experiment.
|
|
1076
|
+
*/
|
|
1077
|
+
documentationLinks: DocumentationLink[];
|
|
1078
|
+
}
|
|
1079
|
+
export interface ExperimentBranchV7 {
|
|
1080
|
+
/**
|
|
1081
|
+
* Identifier for the branch.
|
|
1082
|
+
*/
|
|
1083
|
+
slug: string;
|
|
1084
|
+
/**
|
|
1085
|
+
* Relative ratio of population for the branch.
|
|
1086
|
+
*
|
|
1087
|
+
* e.g., if branch A=1 and branch B=3, then branch A would get 25% of the population.
|
|
1088
|
+
*/
|
|
1089
|
+
ratio: number;
|
|
1090
|
+
/**
|
|
1091
|
+
* An array of feature configurations.
|
|
1092
|
+
*/
|
|
1093
|
+
features: ExperimentFeatureConfig[];
|
|
1094
|
+
/**
|
|
1095
|
+
* A description of the branch.
|
|
1096
|
+
*/
|
|
1097
|
+
description: string;
|
|
1098
|
+
/**
|
|
1099
|
+
* The URLs of any screenshots associated with the branch.
|
|
1100
|
+
*/
|
|
1101
|
+
screenshots: string[];
|
|
1102
|
+
}
|
|
1103
|
+
export interface DocumentationLink {
|
|
1104
|
+
/**
|
|
1105
|
+
* The name associated with the link.
|
|
1106
|
+
*/
|
|
1107
|
+
title: string;
|
|
1108
|
+
/**
|
|
1109
|
+
* The URL associated with the link.
|
|
1110
|
+
*/
|
|
1111
|
+
link: string;
|
|
1112
|
+
}
|
package/package.json
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"description": "Bucketing configuration."
|
|
25
25
|
},
|
|
26
26
|
"channel": {
|
|
27
|
-
"description": "A specific channel of an application such as \"nightly\", \"beta\", or \"release\".",
|
|
27
|
+
"description": "A specific channel of an application such as \"nightly\", \"beta\", or \"release\". This field is only respected by nimbus-sdk-based applications.",
|
|
28
28
|
"type": "string"
|
|
29
29
|
},
|
|
30
30
|
"endDate": {
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"description": "Bucketing configuration."
|
|
25
25
|
},
|
|
26
26
|
"channel": {
|
|
27
|
-
"description": "A specific channel of an application such as \"nightly\", \"beta\", or \"release\".",
|
|
27
|
+
"description": "A specific channel of an application such as \"nightly\", \"beta\", or \"release\". This field is only respected by nimbus-sdk-based applications.",
|
|
28
28
|
"type": "string"
|
|
29
29
|
},
|
|
30
30
|
"endDate": {
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"branches": {
|
|
16
16
|
"description": "Branch configuration for the experiment.",
|
|
17
17
|
"items": {
|
|
18
|
-
"$ref": "#/$defs/
|
|
18
|
+
"$ref": "#/$defs/ExperimentBranchV7"
|
|
19
19
|
},
|
|
20
20
|
"type": "array"
|
|
21
21
|
},
|
|
@@ -24,9 +24,16 @@
|
|
|
24
24
|
"description": "Bucketing configuration."
|
|
25
25
|
},
|
|
26
26
|
"channel": {
|
|
27
|
-
"description": "A specific channel of an application such as \"nightly\", \"beta\", or \"release\".",
|
|
27
|
+
"description": "A specific channel of an application such as \"nightly\", \"beta\", or \"release\". This field is only respected by nimbus-sdk-based applications.",
|
|
28
28
|
"type": "string"
|
|
29
29
|
},
|
|
30
|
+
"channels": {
|
|
31
|
+
"description": "The channels available for the experiment. This field should be preferred over the channel field.",
|
|
32
|
+
"items": {
|
|
33
|
+
"type": "string"
|
|
34
|
+
},
|
|
35
|
+
"type": "array"
|
|
36
|
+
},
|
|
30
37
|
"documentationLinks": {
|
|
31
38
|
"description": "All documentation links associated with this experiment.",
|
|
32
39
|
"items": {
|
|
@@ -65,6 +72,17 @@
|
|
|
65
72
|
},
|
|
66
73
|
"type": "array"
|
|
67
74
|
},
|
|
75
|
+
"featureValidationOptOut": {
|
|
76
|
+
"anyOf": [
|
|
77
|
+
{
|
|
78
|
+
"type": "boolean"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"type": "null"
|
|
82
|
+
}
|
|
83
|
+
],
|
|
84
|
+
"description": "If true, clients should not perform feature validation. This field is only supported by Firefox Desktop."
|
|
85
|
+
},
|
|
68
86
|
"firefoxLabsDescription": {
|
|
69
87
|
"anyOf": [
|
|
70
88
|
{
|
|
@@ -264,8 +282,29 @@
|
|
|
264
282
|
}
|
|
265
283
|
},
|
|
266
284
|
"$defs": {
|
|
267
|
-
"
|
|
285
|
+
"DocumentationLink": {
|
|
286
|
+
"properties": {
|
|
287
|
+
"link": {
|
|
288
|
+
"description": "The URL associated with the link.",
|
|
289
|
+
"type": "string"
|
|
290
|
+
},
|
|
291
|
+
"title": {
|
|
292
|
+
"description": "The name associated with the link.",
|
|
293
|
+
"type": "string"
|
|
294
|
+
}
|
|
295
|
+
},
|
|
296
|
+
"required": [
|
|
297
|
+
"title",
|
|
298
|
+
"link"
|
|
299
|
+
],
|
|
300
|
+
"type": "object"
|
|
301
|
+
},
|
|
302
|
+
"ExperimentBranchV7": {
|
|
268
303
|
"properties": {
|
|
304
|
+
"description": {
|
|
305
|
+
"description": "A description of the branch.",
|
|
306
|
+
"type": "string"
|
|
307
|
+
},
|
|
269
308
|
"features": {
|
|
270
309
|
"description": "An array of feature configurations.",
|
|
271
310
|
"items": {
|
|
@@ -277,6 +316,13 @@
|
|
|
277
316
|
"description": "Relative ratio of population for the branch. e.g., if branch A=1 and branch B=3, then branch A would get 25% of the population.",
|
|
278
317
|
"type": "integer"
|
|
279
318
|
},
|
|
319
|
+
"screenshots": {
|
|
320
|
+
"description": "The URLs of any screenshots associated with the branch.",
|
|
321
|
+
"items": {
|
|
322
|
+
"type": "string"
|
|
323
|
+
},
|
|
324
|
+
"type": "array"
|
|
325
|
+
},
|
|
280
326
|
"slug": {
|
|
281
327
|
"description": "Identifier for the branch.",
|
|
282
328
|
"type": "string"
|
|
@@ -285,24 +331,9 @@
|
|
|
285
331
|
"required": [
|
|
286
332
|
"slug",
|
|
287
333
|
"ratio",
|
|
288
|
-
"features"
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
},
|
|
292
|
-
"DocumentationLink": {
|
|
293
|
-
"properties": {
|
|
294
|
-
"link": {
|
|
295
|
-
"description": "The URL associated with the link.",
|
|
296
|
-
"type": "string"
|
|
297
|
-
},
|
|
298
|
-
"title": {
|
|
299
|
-
"description": "The name associated with the link.",
|
|
300
|
-
"type": "string"
|
|
301
|
-
}
|
|
302
|
-
},
|
|
303
|
-
"required": [
|
|
304
|
-
"title",
|
|
305
|
-
"link"
|
|
334
|
+
"features",
|
|
335
|
+
"description",
|
|
336
|
+
"screenshots"
|
|
306
337
|
],
|
|
307
338
|
"type": "object"
|
|
308
339
|
},
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"description": "Bucketing configuration."
|
|
25
25
|
},
|
|
26
26
|
"channel": {
|
|
27
|
-
"description": "A specific channel of an application such as \"nightly\", \"beta\", or \"release\".",
|
|
27
|
+
"description": "A specific channel of an application such as \"nightly\", \"beta\", or \"release\". This field is only respected by nimbus-sdk-based applications.",
|
|
28
28
|
"type": "string"
|
|
29
29
|
},
|
|
30
30
|
"endDate": {
|
|
@@ -58,6 +58,17 @@
|
|
|
58
58
|
},
|
|
59
59
|
"type": "array"
|
|
60
60
|
},
|
|
61
|
+
"featureValidationOptOut": {
|
|
62
|
+
"anyOf": [
|
|
63
|
+
{
|
|
64
|
+
"type": "boolean"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"type": "null"
|
|
68
|
+
}
|
|
69
|
+
],
|
|
70
|
+
"description": "If true, clients should not perform feature validation. This field is only supported by Firefox Desktop."
|
|
71
|
+
},
|
|
61
72
|
"firefoxLabsDescription": {
|
|
62
73
|
"anyOf": [
|
|
63
74
|
{
|