discord-protos 1.2.60 → 1.2.62

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.
@@ -3,7 +3,7 @@ from __future__ import annotations
3
3
  from enum import Enum as _Enum
4
4
  from typing import TYPE_CHECKING
5
5
 
6
- __version__ = '1.2.60'
6
+ __version__ = '1.2.62'
7
7
 
8
8
  if TYPE_CHECKING:
9
9
  from google.protobuf.message import Message as _Message
@@ -177,6 +177,11 @@ message Experiment {
177
177
  repeated string locales = 1 [packed = false];
178
178
  }
179
179
 
180
+ message UnitIdInExperiment {
181
+ fixed64 experiment_id = 1;
182
+ repeated int32 variation_ids = 2;
183
+ }
184
+
180
185
  message Filter {
181
186
  oneof filter {
182
187
  ClientPlatform client_version = 2;
@@ -196,6 +201,7 @@ message Experiment {
196
201
  ClientReleaseChannel client_release_channel = 16;
197
202
  Always always = 17;
198
203
  ClientSystemLocale client_system_locale = 18;
204
+ UnitIdInExperiment unit_id_in_experiment = 19;
199
205
  }
200
206
  }
201
207
 
@@ -264,4 +270,6 @@ message Experiment {
264
270
  AssignmentMode assignment_mode = 25;
265
271
  bool enable_edit_raw_json_ui = 23;
266
272
  int32 winning_variation_id = 24;
273
+ Type type = 26;
274
+ bool is_template = 27;
267
275
  }
@@ -26,7 +26,7 @@ from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb
26
26
  from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
27
27
 
28
28
 
29
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+discord_experimentation/v1/Experiment.proto\x12)discord_protos.discord_experimentation.v1\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xa0?\n\nExperiment\x12\n\n\x02id\x18\x01 \x01(\x06\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x33\n\ncreated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x88\x01\x01\x12\x12\n\ncreator_id\x18\x04 \x01(\x06\x12\x0f\n\x07version\x18\x05 \x01(\x05\x12\x32\n\tedited_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01\x88\x01\x01\x12\x11\n\teditor_id\x18\x07 \x01(\x06\x12\r\n\x05title\x18\x08 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\t \x01(\t\x12\x35\n\nhypothesis\x18\n \x01(\x0b\x32\x1c.google.protobuf.StringValueH\x02\x88\x01\x01\x12\x39\n\x0etech_spec_link\x18\x0b \x01(\x0b\x32\x1c.google.protobuf.StringValueH\x03\x88\x01\x01\x12\x10\n\x08revision\x18\x0c \x01(\x05\x12\x10\n\x08hash_key\x18\r \x01(\t\x12Q\n\tunit_type\x18\x0e \x01(\x0e\x32>.discord_protos.discord_experimentation.v1.Experiment.UnitType\x12S\n\nvariations\x18\x0f \x03(\x0b\x32?.discord_protos.discord_experimentation.v1.Experiment.Variation\x12I\n\x05rules\x18\x10 \x03(\x0b\x32:.discord_protos.discord_experimentation.v1.Experiment.Rule\x12J\n\x05phase\x18\x12 \x01(\x0e\x32;.discord_protos.discord_experimentation.v1.Experiment.Phase\x12O\n\x08surfaces\x18\x13 \x03(\x0e\x32=.discord_protos.discord_experimentation.v1.Experiment.Surface\x12\x18\n\x10owning_team_name\x18\x14 \x01(\t\x12&\n\x1e\x63\x61\x63hed_notification_channel_id\x18\x15 \x01(\x06\x12\x61\n\x11\x65xposure_tracking\x18\x16 \x01(\x0e\x32\x46.discord_protos.discord_experimentation.v1.Experiment.ExposureTracking\x12]\n\x0f\x61ssignment_mode\x18\x19 \x01(\x0e\x32\x44.discord_protos.discord_experimentation.v1.Experiment.AssignmentMode\x12\x1f\n\x17\x65nable_edit_raw_json_ui\x18\x17 \x01(\x08\x12\x1c\n\x14winning_variation_id\x18\x18 \x01(\x05\x1ao\n\x06\x42ucket\x12\r\n\x05start\x18\x01 \x01(\x05\x12\x0c\n\x04stop\x18\x02 \x01(\x05\x12H\n\x04type\x18\x03 \x01(\x0e\x32:.discord_protos.discord_experimentation.v1.Experiment.Type\x1a\xa6\x02\n\tVariation\x12\n\n\x02id\x18\x01 \x01(\x05\x12\r\n\x05label\x18\x02 \x01(\t\x12\x19\n\x11target_allocation\x18\x03 \x01(\x05\x12M\n\x07\x62uckets\x18\x04 \x03(\x0b\x32<.discord_protos.discord_experimentation.v1.Experiment.Bucket\x12H\n\x04type\x18\x05 \x01(\x0e\x32:.discord_protos.discord_experimentation.v1.Experiment.Type\x12\x38\n\rconfiguration\x18\x06 \x01(\x0b\x32\x1c.google.protobuf.StringValueH\x00\x88\x01\x01\x42\x10\n\x0e_configuration\x1a\xa1\x01\n\x18PlatformVersionSpecifier\x12\r\n\x05major\x18\x01 \x01(\r\x12\x30\n\x05minor\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.UInt32ValueH\x00\x88\x01\x01\x12\x30\n\x05\x62uild\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt64ValueH\x01\x88\x01\x01\x42\x08\n\x06_minorB\x08\n\x06_build\x1a\xa0\x01\n\x19PlatformVersionRangeBound\x12\x64\n\x07version\x18\x01 \x01(\x0b\x32N.discord_protos.discord_experimentation.v1.Experiment.PlatformVersionSpecifierH\x00\x88\x01\x01\x12\x11\n\tinclusive\x18\x02 \x01(\x08\x42\n\n\x08_version\x1a\x8c\x02\n\x14PlatformVersionRange\x12i\n\x0blower_bound\x18\x01 \x01(\x0b\x32O.discord_protos.discord_experimentation.v1.Experiment.PlatformVersionRangeBoundH\x00\x88\x01\x01\x12i\n\x0bupper_bound\x18\x02 \x01(\x0b\x32O.discord_protos.discord_experimentation.v1.Experiment.PlatformVersionRangeBoundH\x01\x88\x01\x01\x42\x0e\n\x0c_lower_boundB\x0e\n\x0c_upper_bound\x1a\x8c\x01\n\x0fPlatformVersion\x12Z\n\x06ranges\x18\x01 \x03(\x0b\x32J.discord_protos.discord_experimentation.v1.Experiment.PlatformVersionRange\x12\x1d\n\x15work_around_pyoto_bug\x18\x02 \x01(\x08\x1a\xe2\x03\n\x0e\x43lientPlatform\x12_\n\x0bios_version\x18\x01 \x01(\x0b\x32\x45.discord_protos.discord_experimentation.v1.Experiment.PlatformVersionH\x00\x88\x01\x01\x12\x63\n\x0f\x61ndroid_version\x18\x02 \x01(\x0b\x32\x45.discord_protos.discord_experimentation.v1.Experiment.PlatformVersionH\x01\x88\x01\x01\x12_\n\x0bweb_version\x18\x03 \x01(\x0b\x32\x45.discord_protos.discord_experimentation.v1.Experiment.PlatformVersionH\x02\x88\x01\x01\x12\x62\n\x0enative_version\x18\x04 \x01(\x0b\x32\x45.discord_protos.discord_experimentation.v1.Experiment.PlatformVersionH\x03\x88\x01\x01\x42\x0e\n\x0c_ios_versionB\x12\n\x10_android_versionB\x0e\n\x0c_web_versionB\x11\n\x0f_native_version\x1a&\n\x13SDKVersionSpecifier\x12\x0f\n\x07version\x18\x01 \x01(\x05\x1a\x96\x01\n\x14SDKVersionRangeBound\x12_\n\x07version\x18\x01 \x01(\x0b\x32I.discord_protos.discord_experimentation.v1.Experiment.SDKVersionSpecifierH\x00\x88\x01\x01\x12\x11\n\tinclusive\x18\x02 \x01(\x08\x42\n\n\x08_version\x1a\xfd\x01\n\x0fSDKVersionRange\x12\x64\n\x0blower_bound\x18\x01 \x01(\x0b\x32J.discord_protos.discord_experimentation.v1.Experiment.SDKVersionRangeBoundH\x00\x88\x01\x01\x12\x64\n\x0bupper_bound\x18\x02 \x01(\x0b\x32J.discord_protos.discord_experimentation.v1.Experiment.SDKVersionRangeBoundH\x01\x88\x01\x01\x42\x0e\n\x0c_lower_boundB\x0e\n\x0c_upper_bound\x1a\x82\x01\n\nSDKVersion\x12U\n\x06ranges\x18\x01 \x03(\x0b\x32\x45.discord_protos.discord_experimentation.v1.Experiment.SDKVersionRange\x12\x1d\n\x15work_around_pyoto_bug\x18\x02 \x01(\x08\x1a\xb5\x06\n\x15\x43lientOperatingSystem\x12Z\n\x0bios_version\x18\x01 \x01(\x0b\x32@.discord_protos.discord_experimentation.v1.Experiment.SDKVersionH\x00\x88\x01\x01\x12^\n\x0f\x61ndroid_version\x18\x02 \x01(\x0b\x32@.discord_protos.discord_experimentation.v1.Experiment.SDKVersionH\x01\x88\x01\x01\x12\\\n\rmacos_version\x18\x03 \x01(\x0b\x32@.discord_protos.discord_experimentation.v1.Experiment.SDKVersionH\x02\x88\x01\x01\x12^\n\x0fwindows_version\x18\x04 \x01(\x0b\x32@.discord_protos.discord_experimentation.v1.Experiment.SDKVersionH\x03\x88\x01\x01\x12\x62\n\x13playstation_version\x18\x05 \x01(\x0b\x32@.discord_protos.discord_experimentation.v1.Experiment.SDKVersionH\x04\x88\x01\x01\x12[\n\x0cxbox_version\x18\x06 \x01(\x0b\x32@.discord_protos.discord_experimentation.v1.Experiment.SDKVersionH\x05\x88\x01\x01\x12\\\n\rlinux_version\x18\x07 \x01(\x0b\x32@.discord_protos.discord_experimentation.v1.Experiment.SDKVersionH\x06\x88\x01\x01\x42\x0e\n\x0c_ios_versionB\x12\n\x10_android_versionB\x10\n\x0e_macos_versionB\x12\n\x10_windows_versionB\x16\n\x14_playstation_versionB\x0f\n\r_xbox_versionB\x10\n\x0e_linux_version\x1a>\n\nStaffUsers\x12\x15\n\rwork_accounts\x18\x01 \x01(\x08\x12\x19\n\x11personal_accounts\x18\x02 \x01(\x08\x1a \n\x0bUserInGuild\x12\x11\n\tguild_ids\x18\x01 \x03(\x06\x1a\x1b\n\x07UserIds\x12\x10\n\x08user_ids\x18\x01 \x03(\x06\x1a#\n\x0c\x43lientLocale\x12\x13\n\x07locales\x18\x01 \x03(\tB\x02\x10\x00\x1a\x39\n\tISORegion\x12\x13\n\x0biso_country\x18\x01 \x01(\t\x12\x17\n\x0fiso_subdivision\x18\x02 \x01(\t\x1a;\n\x05Place\x12\x0c\n\x04\x63ity\x18\x01 \x01(\t\x12\x13\n\x0bsubdivision\x18\x02 \x01(\t\x12\x0f\n\x07\x63ountry\x18\x03 \x01(\t\x1a\xcc\x01\n\x08Location\x12U\n\niso_region\x18\x01 \x01(\x0b\x32?.discord_protos.discord_experimentation.v1.Experiment.ISORegionH\x00\x12\x0f\n\x05is_eu\x18\x02 \x01(\x08H\x00\x12L\n\x05place\x18\x03 \x01(\x0b\x32;.discord_protos.discord_experimentation.v1.Experiment.PlaceH\x00\x42\n\n\x08location\x1a\x63\n\x0e\x43lientLocation\x12Q\n\tlocations\x18\x01 \x03(\x0b\x32>.discord_protos.discord_experimentation.v1.Experiment.Location\x1a\x1e\n\x08\x43lientIP\x12\x12\n\x06\x62locks\x18\x01 \x03(\tB\x02\x10\x00\x1a!\n\nUserLocale\x12\x13\n\x07locales\x18\x01 \x03(\tB\x02\x10\x00\x1a\x1b\n\tUserIsBot\x12\x0e\n\x06is_bot\x18\x01 \x01(\x08\x1a\xa6\x01\n\x0cUserAgeRange\x12\x38\n\rmin_age_years\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.UInt32ValueH\x00\x88\x01\x01\x12\x38\n\rmax_age_years\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.UInt32ValueH\x01\x88\x01\x01\x42\x10\n\x0e_min_age_yearsB\x10\n\x0e_max_age_years\x1a\x1d\n\x0c\x46ixed64Value\x12\r\n\x05value\x18\x01 \x01(\x06\x1a\xd5\x01\n\x0bUserIDRange\x12W\n\x06min_id\x18\x01 \x01(\x0b\x32\x42.discord_protos.discord_experimentation.v1.Experiment.Fixed64ValueH\x00\x88\x01\x01\x12W\n\x06max_id\x18\x02 \x01(\x0b\x32\x42.discord_protos.discord_experimentation.v1.Experiment.Fixed64ValueH\x01\x88\x01\x01\x42\t\n\x07_min_idB\t\n\x07_max_id\x1a\x1b\n\x0bUserHasFlag\x12\x0c\n\x04mask\x18\x01 \x01(\x06\x1a\x37\n\x13UnitIdInRangeByHash\x12\x10\n\x08hash_key\x18\x01 \x01(\t\x12\x0e\n\x06target\x18\x02 \x01(\r\x1a\x34\n\x14\x43lientReleaseChannel\x12\x1c\n\x10release_channels\x18\x01 \x03(\tB\x02\x10\x00\x1a\x17\n\x06\x41lways\x12\r\n\x05value\x18\x01 \x01(\x08\x1a)\n\x12\x43lientSystemLocale\x12\x13\n\x07locales\x18\x01 \x03(\tB\x02\x10\x00\x1a\xbf\x0c\n\x06\x46ilter\x12^\n\x0e\x63lient_version\x18\x02 \x01(\x0b\x32\x44.discord_protos.discord_experimentation.v1.Experiment.ClientPlatformH\x00\x12`\n\tclient_os\x18\x03 \x01(\x0b\x32K.discord_protos.discord_experimentation.v1.Experiment.ClientOperatingSystemH\x00\x12Q\n\x05staff\x18\x04 \x01(\x0b\x32@.discord_protos.discord_experimentation.v1.Experiment.StaffUsersH\x00\x12Z\n\ruser_in_guild\x18\x05 \x01(\x0b\x32\x41.discord_protos.discord_experimentation.v1.Experiment.UserInGuildH\x00\x12Q\n\x08user_ids\x18\x06 \x01(\x0b\x32=.discord_protos.discord_experimentation.v1.Experiment.UserIdsH\x00\x12[\n\rclient_locale\x18\x07 \x01(\x0b\x32\x42.discord_protos.discord_experimentation.v1.Experiment.ClientLocaleH\x00\x12_\n\x0f\x63lient_location\x18\x08 \x01(\x0b\x32\x44.discord_protos.discord_experimentation.v1.Experiment.ClientLocationH\x00\x12S\n\tclient_ip\x18\t \x01(\x0b\x32>.discord_protos.discord_experimentation.v1.Experiment.ClientIPH\x00\x12W\n\x0buser_locale\x18\n \x01(\x0b\x32@.discord_protos.discord_experimentation.v1.Experiment.UserLocaleH\x00\x12N\n\x03\x62ot\x18\x0b \x01(\x0b\x32?.discord_protos.discord_experimentation.v1.Experiment.UserIsBotH\x00\x12\\\n\x0euser_age_range\x18\x0c \x01(\x0b\x32\x42.discord_protos.discord_experimentation.v1.Experiment.UserAgeRangeH\x00\x12Z\n\ruser_id_range\x18\r \x01(\x0b\x32\x41.discord_protos.discord_experimentation.v1.Experiment.UserIDRangeH\x00\x12Z\n\ruser_has_flag\x18\x0e \x01(\x0b\x32\x41.discord_protos.discord_experimentation.v1.Experiment.UserHasFlagH\x00\x12m\n\x18unit_id_in_range_by_hash\x18\x0f \x01(\x0b\x32I.discord_protos.discord_experimentation.v1.Experiment.UnitIdInRangeByHashH\x00\x12l\n\x16\x63lient_release_channel\x18\x10 \x01(\x0b\x32J.discord_protos.discord_experimentation.v1.Experiment.ClientReleaseChannelH\x00\x12N\n\x06\x61lways\x18\x11 \x01(\x0b\x32<.discord_protos.discord_experimentation.v1.Experiment.AlwaysH\x00\x12h\n\x14\x63lient_system_locale\x18\x12 \x01(\x0b\x32H.discord_protos.discord_experimentation.v1.Experiment.ClientSystemLocaleH\x00\x42\x08\n\x06\x66ilter\x1a \n\x08Override\x12\x14\n\x0cvariation_id\x18\x01 \x01(\x05\x1a\x9b\x02\n\x04Rule\x12H\n\x04type\x18\x01 \x01(\x0e\x32:.discord_protos.discord_experimentation.v1.Experiment.Type\x12M\n\x07\x66ilters\x18\x02 \x03(\x0b\x32<.discord_protos.discord_experimentation.v1.Experiment.Filter\x12U\n\x08override\x18\x03 \x01(\x0b\x32>.discord_protos.discord_experimentation.v1.Experiment.OverrideH\x00\x88\x01\x01\x12\x16\n\x0eis_sunset_rule\x18\x04 \x01(\x08\x42\x0b\n\t_override\"9\n\x08UnitType\x12\x19\n\x15UNIT_TYPE_UNSPECIFIED\x10\x00\x12\x12\n\x0eUNIT_TYPE_USER\x10\x01\"O\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bTYPE_ACTIVE\x10\x01\x12\x0f\n\x0bTYPE_UNUSED\x10\x02\x12\x0f\n\x0bTYPE_BURNED\x10\x03\"\xb7\x01\n\x05Phase\x12\x15\n\x11PHASE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bPHASE_DRAFT\x10\x01\x12\x15\n\x11PHASE_MEASUREMENT\x10\x02\x12\x1b\n\x17PHASE_MEASUREMENT_ENDED\x10\x03\x12\x15\n\x11PHASE_ROLLING_OUT\x10\x04\x12\x14\n\x10PHASE_ROLLED_OUT\x10\x05\x12\x12\n\x0ePHASE_ARCHIVED\x10\x06\x12\x11\n\rPHASE_AA_MODE\x10\x07\"|\n\x07Surface\x12\x17\n\x13SURFACE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bSURFACE_API\x10\x01\x12\x0f\n\x0bSURFACE_APP\x10\x02\x12\x1c\n\x18SURFACE_DEVELOPER_PORTAL\x10\x03\x12\x18\n\x14SURFACE_ADMIN_PORTAL\x10\x04\"Q\n\x10\x45xposureTracking\x12\x1d\n\x19\x45XPOSURE_TRACKING_ENABLED\x10\x00\x12\x1e\n\x1a\x45XPOSURE_TRACKING_DISABLED\x10\x01\"p\n\x0e\x41ssignmentMode\x12\x18\n\x14\x41SSIGNMENT_MODE_FULL\x10\x00\x12!\n\x1d\x41SSIGNMENT_MODE_FORCE_DEFAULT\x10\x01\x12!\n\x1d\x41SSIGNMENT_MODE_OVERRIDE_ONLY\x10\x02\x42\r\n\x0b_created_atB\x0c\n\n_edited_atB\r\n\x0b_hypothesisB\x11\n\x0f_tech_spec_linkb\x06proto3')
29
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+discord_experimentation/v1/Experiment.proto\x12)discord_protos.discord_experimentation.v1\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xae\x41\n\nExperiment\x12\n\n\x02id\x18\x01 \x01(\x06\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x33\n\ncreated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x88\x01\x01\x12\x12\n\ncreator_id\x18\x04 \x01(\x06\x12\x0f\n\x07version\x18\x05 \x01(\x05\x12\x32\n\tedited_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01\x88\x01\x01\x12\x11\n\teditor_id\x18\x07 \x01(\x06\x12\r\n\x05title\x18\x08 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\t \x01(\t\x12\x35\n\nhypothesis\x18\n \x01(\x0b\x32\x1c.google.protobuf.StringValueH\x02\x88\x01\x01\x12\x39\n\x0etech_spec_link\x18\x0b \x01(\x0b\x32\x1c.google.protobuf.StringValueH\x03\x88\x01\x01\x12\x10\n\x08revision\x18\x0c \x01(\x05\x12\x10\n\x08hash_key\x18\r \x01(\t\x12Q\n\tunit_type\x18\x0e \x01(\x0e\x32>.discord_protos.discord_experimentation.v1.Experiment.UnitType\x12S\n\nvariations\x18\x0f \x03(\x0b\x32?.discord_protos.discord_experimentation.v1.Experiment.Variation\x12I\n\x05rules\x18\x10 \x03(\x0b\x32:.discord_protos.discord_experimentation.v1.Experiment.Rule\x12J\n\x05phase\x18\x12 \x01(\x0e\x32;.discord_protos.discord_experimentation.v1.Experiment.Phase\x12O\n\x08surfaces\x18\x13 \x03(\x0e\x32=.discord_protos.discord_experimentation.v1.Experiment.Surface\x12\x18\n\x10owning_team_name\x18\x14 \x01(\t\x12&\n\x1e\x63\x61\x63hed_notification_channel_id\x18\x15 \x01(\x06\x12\x61\n\x11\x65xposure_tracking\x18\x16 \x01(\x0e\x32\x46.discord_protos.discord_experimentation.v1.Experiment.ExposureTracking\x12]\n\x0f\x61ssignment_mode\x18\x19 \x01(\x0e\x32\x44.discord_protos.discord_experimentation.v1.Experiment.AssignmentMode\x12\x1f\n\x17\x65nable_edit_raw_json_ui\x18\x17 \x01(\x08\x12\x1c\n\x14winning_variation_id\x18\x18 \x01(\x05\x12H\n\x04type\x18\x1a \x01(\x0e\x32:.discord_protos.discord_experimentation.v1.Experiment.Type\x12\x13\n\x0bis_template\x18\x1b \x01(\x08\x1ao\n\x06\x42ucket\x12\r\n\x05start\x18\x01 \x01(\x05\x12\x0c\n\x04stop\x18\x02 \x01(\x05\x12H\n\x04type\x18\x03 \x01(\x0e\x32:.discord_protos.discord_experimentation.v1.Experiment.Type\x1a\xa6\x02\n\tVariation\x12\n\n\x02id\x18\x01 \x01(\x05\x12\r\n\x05label\x18\x02 \x01(\t\x12\x19\n\x11target_allocation\x18\x03 \x01(\x05\x12M\n\x07\x62uckets\x18\x04 \x03(\x0b\x32<.discord_protos.discord_experimentation.v1.Experiment.Bucket\x12H\n\x04type\x18\x05 \x01(\x0e\x32:.discord_protos.discord_experimentation.v1.Experiment.Type\x12\x38\n\rconfiguration\x18\x06 \x01(\x0b\x32\x1c.google.protobuf.StringValueH\x00\x88\x01\x01\x42\x10\n\x0e_configuration\x1a\xa1\x01\n\x18PlatformVersionSpecifier\x12\r\n\x05major\x18\x01 \x01(\r\x12\x30\n\x05minor\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.UInt32ValueH\x00\x88\x01\x01\x12\x30\n\x05\x62uild\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt64ValueH\x01\x88\x01\x01\x42\x08\n\x06_minorB\x08\n\x06_build\x1a\xa0\x01\n\x19PlatformVersionRangeBound\x12\x64\n\x07version\x18\x01 \x01(\x0b\x32N.discord_protos.discord_experimentation.v1.Experiment.PlatformVersionSpecifierH\x00\x88\x01\x01\x12\x11\n\tinclusive\x18\x02 \x01(\x08\x42\n\n\x08_version\x1a\x8c\x02\n\x14PlatformVersionRange\x12i\n\x0blower_bound\x18\x01 \x01(\x0b\x32O.discord_protos.discord_experimentation.v1.Experiment.PlatformVersionRangeBoundH\x00\x88\x01\x01\x12i\n\x0bupper_bound\x18\x02 \x01(\x0b\x32O.discord_protos.discord_experimentation.v1.Experiment.PlatformVersionRangeBoundH\x01\x88\x01\x01\x42\x0e\n\x0c_lower_boundB\x0e\n\x0c_upper_bound\x1a\x8c\x01\n\x0fPlatformVersion\x12Z\n\x06ranges\x18\x01 \x03(\x0b\x32J.discord_protos.discord_experimentation.v1.Experiment.PlatformVersionRange\x12\x1d\n\x15work_around_pyoto_bug\x18\x02 \x01(\x08\x1a\xe2\x03\n\x0e\x43lientPlatform\x12_\n\x0bios_version\x18\x01 \x01(\x0b\x32\x45.discord_protos.discord_experimentation.v1.Experiment.PlatformVersionH\x00\x88\x01\x01\x12\x63\n\x0f\x61ndroid_version\x18\x02 \x01(\x0b\x32\x45.discord_protos.discord_experimentation.v1.Experiment.PlatformVersionH\x01\x88\x01\x01\x12_\n\x0bweb_version\x18\x03 \x01(\x0b\x32\x45.discord_protos.discord_experimentation.v1.Experiment.PlatformVersionH\x02\x88\x01\x01\x12\x62\n\x0enative_version\x18\x04 \x01(\x0b\x32\x45.discord_protos.discord_experimentation.v1.Experiment.PlatformVersionH\x03\x88\x01\x01\x42\x0e\n\x0c_ios_versionB\x12\n\x10_android_versionB\x0e\n\x0c_web_versionB\x11\n\x0f_native_version\x1a&\n\x13SDKVersionSpecifier\x12\x0f\n\x07version\x18\x01 \x01(\x05\x1a\x96\x01\n\x14SDKVersionRangeBound\x12_\n\x07version\x18\x01 \x01(\x0b\x32I.discord_protos.discord_experimentation.v1.Experiment.SDKVersionSpecifierH\x00\x88\x01\x01\x12\x11\n\tinclusive\x18\x02 \x01(\x08\x42\n\n\x08_version\x1a\xfd\x01\n\x0fSDKVersionRange\x12\x64\n\x0blower_bound\x18\x01 \x01(\x0b\x32J.discord_protos.discord_experimentation.v1.Experiment.SDKVersionRangeBoundH\x00\x88\x01\x01\x12\x64\n\x0bupper_bound\x18\x02 \x01(\x0b\x32J.discord_protos.discord_experimentation.v1.Experiment.SDKVersionRangeBoundH\x01\x88\x01\x01\x42\x0e\n\x0c_lower_boundB\x0e\n\x0c_upper_bound\x1a\x82\x01\n\nSDKVersion\x12U\n\x06ranges\x18\x01 \x03(\x0b\x32\x45.discord_protos.discord_experimentation.v1.Experiment.SDKVersionRange\x12\x1d\n\x15work_around_pyoto_bug\x18\x02 \x01(\x08\x1a\xb5\x06\n\x15\x43lientOperatingSystem\x12Z\n\x0bios_version\x18\x01 \x01(\x0b\x32@.discord_protos.discord_experimentation.v1.Experiment.SDKVersionH\x00\x88\x01\x01\x12^\n\x0f\x61ndroid_version\x18\x02 \x01(\x0b\x32@.discord_protos.discord_experimentation.v1.Experiment.SDKVersionH\x01\x88\x01\x01\x12\\\n\rmacos_version\x18\x03 \x01(\x0b\x32@.discord_protos.discord_experimentation.v1.Experiment.SDKVersionH\x02\x88\x01\x01\x12^\n\x0fwindows_version\x18\x04 \x01(\x0b\x32@.discord_protos.discord_experimentation.v1.Experiment.SDKVersionH\x03\x88\x01\x01\x12\x62\n\x13playstation_version\x18\x05 \x01(\x0b\x32@.discord_protos.discord_experimentation.v1.Experiment.SDKVersionH\x04\x88\x01\x01\x12[\n\x0cxbox_version\x18\x06 \x01(\x0b\x32@.discord_protos.discord_experimentation.v1.Experiment.SDKVersionH\x05\x88\x01\x01\x12\\\n\rlinux_version\x18\x07 \x01(\x0b\x32@.discord_protos.discord_experimentation.v1.Experiment.SDKVersionH\x06\x88\x01\x01\x42\x0e\n\x0c_ios_versionB\x12\n\x10_android_versionB\x10\n\x0e_macos_versionB\x12\n\x10_windows_versionB\x16\n\x14_playstation_versionB\x0f\n\r_xbox_versionB\x10\n\x0e_linux_version\x1a>\n\nStaffUsers\x12\x15\n\rwork_accounts\x18\x01 \x01(\x08\x12\x19\n\x11personal_accounts\x18\x02 \x01(\x08\x1a \n\x0bUserInGuild\x12\x11\n\tguild_ids\x18\x01 \x03(\x06\x1a\x1b\n\x07UserIds\x12\x10\n\x08user_ids\x18\x01 \x03(\x06\x1a#\n\x0c\x43lientLocale\x12\x13\n\x07locales\x18\x01 \x03(\tB\x02\x10\x00\x1a\x39\n\tISORegion\x12\x13\n\x0biso_country\x18\x01 \x01(\t\x12\x17\n\x0fiso_subdivision\x18\x02 \x01(\t\x1a;\n\x05Place\x12\x0c\n\x04\x63ity\x18\x01 \x01(\t\x12\x13\n\x0bsubdivision\x18\x02 \x01(\t\x12\x0f\n\x07\x63ountry\x18\x03 \x01(\t\x1a\xcc\x01\n\x08Location\x12U\n\niso_region\x18\x01 \x01(\x0b\x32?.discord_protos.discord_experimentation.v1.Experiment.ISORegionH\x00\x12\x0f\n\x05is_eu\x18\x02 \x01(\x08H\x00\x12L\n\x05place\x18\x03 \x01(\x0b\x32;.discord_protos.discord_experimentation.v1.Experiment.PlaceH\x00\x42\n\n\x08location\x1a\x63\n\x0e\x43lientLocation\x12Q\n\tlocations\x18\x01 \x03(\x0b\x32>.discord_protos.discord_experimentation.v1.Experiment.Location\x1a\x1e\n\x08\x43lientIP\x12\x12\n\x06\x62locks\x18\x01 \x03(\tB\x02\x10\x00\x1a!\n\nUserLocale\x12\x13\n\x07locales\x18\x01 \x03(\tB\x02\x10\x00\x1a\x1b\n\tUserIsBot\x12\x0e\n\x06is_bot\x18\x01 \x01(\x08\x1a\xa6\x01\n\x0cUserAgeRange\x12\x38\n\rmin_age_years\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.UInt32ValueH\x00\x88\x01\x01\x12\x38\n\rmax_age_years\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.UInt32ValueH\x01\x88\x01\x01\x42\x10\n\x0e_min_age_yearsB\x10\n\x0e_max_age_years\x1a\x1d\n\x0c\x46ixed64Value\x12\r\n\x05value\x18\x01 \x01(\x06\x1a\xd5\x01\n\x0bUserIDRange\x12W\n\x06min_id\x18\x01 \x01(\x0b\x32\x42.discord_protos.discord_experimentation.v1.Experiment.Fixed64ValueH\x00\x88\x01\x01\x12W\n\x06max_id\x18\x02 \x01(\x0b\x32\x42.discord_protos.discord_experimentation.v1.Experiment.Fixed64ValueH\x01\x88\x01\x01\x42\t\n\x07_min_idB\t\n\x07_max_id\x1a\x1b\n\x0bUserHasFlag\x12\x0c\n\x04mask\x18\x01 \x01(\x06\x1a\x37\n\x13UnitIdInRangeByHash\x12\x10\n\x08hash_key\x18\x01 \x01(\t\x12\x0e\n\x06target\x18\x02 \x01(\r\x1a\x34\n\x14\x43lientReleaseChannel\x12\x1c\n\x10release_channels\x18\x01 \x03(\tB\x02\x10\x00\x1a\x17\n\x06\x41lways\x12\r\n\x05value\x18\x01 \x01(\x08\x1a)\n\x12\x43lientSystemLocale\x12\x13\n\x07locales\x18\x01 \x03(\tB\x02\x10\x00\x1a\x42\n\x12UnitIdInExperiment\x12\x15\n\rexperiment_id\x18\x01 \x01(\x06\x12\x15\n\rvariation_ids\x18\x02 \x03(\x05\x1a\xaa\r\n\x06\x46ilter\x12^\n\x0e\x63lient_version\x18\x02 \x01(\x0b\x32\x44.discord_protos.discord_experimentation.v1.Experiment.ClientPlatformH\x00\x12`\n\tclient_os\x18\x03 \x01(\x0b\x32K.discord_protos.discord_experimentation.v1.Experiment.ClientOperatingSystemH\x00\x12Q\n\x05staff\x18\x04 \x01(\x0b\x32@.discord_protos.discord_experimentation.v1.Experiment.StaffUsersH\x00\x12Z\n\ruser_in_guild\x18\x05 \x01(\x0b\x32\x41.discord_protos.discord_experimentation.v1.Experiment.UserInGuildH\x00\x12Q\n\x08user_ids\x18\x06 \x01(\x0b\x32=.discord_protos.discord_experimentation.v1.Experiment.UserIdsH\x00\x12[\n\rclient_locale\x18\x07 \x01(\x0b\x32\x42.discord_protos.discord_experimentation.v1.Experiment.ClientLocaleH\x00\x12_\n\x0f\x63lient_location\x18\x08 \x01(\x0b\x32\x44.discord_protos.discord_experimentation.v1.Experiment.ClientLocationH\x00\x12S\n\tclient_ip\x18\t \x01(\x0b\x32>.discord_protos.discord_experimentation.v1.Experiment.ClientIPH\x00\x12W\n\x0buser_locale\x18\n \x01(\x0b\x32@.discord_protos.discord_experimentation.v1.Experiment.UserLocaleH\x00\x12N\n\x03\x62ot\x18\x0b \x01(\x0b\x32?.discord_protos.discord_experimentation.v1.Experiment.UserIsBotH\x00\x12\\\n\x0euser_age_range\x18\x0c \x01(\x0b\x32\x42.discord_protos.discord_experimentation.v1.Experiment.UserAgeRangeH\x00\x12Z\n\ruser_id_range\x18\r \x01(\x0b\x32\x41.discord_protos.discord_experimentation.v1.Experiment.UserIDRangeH\x00\x12Z\n\ruser_has_flag\x18\x0e \x01(\x0b\x32\x41.discord_protos.discord_experimentation.v1.Experiment.UserHasFlagH\x00\x12m\n\x18unit_id_in_range_by_hash\x18\x0f \x01(\x0b\x32I.discord_protos.discord_experimentation.v1.Experiment.UnitIdInRangeByHashH\x00\x12l\n\x16\x63lient_release_channel\x18\x10 \x01(\x0b\x32J.discord_protos.discord_experimentation.v1.Experiment.ClientReleaseChannelH\x00\x12N\n\x06\x61lways\x18\x11 \x01(\x0b\x32<.discord_protos.discord_experimentation.v1.Experiment.AlwaysH\x00\x12h\n\x14\x63lient_system_locale\x18\x12 \x01(\x0b\x32H.discord_protos.discord_experimentation.v1.Experiment.ClientSystemLocaleH\x00\x12i\n\x15unit_id_in_experiment\x18\x13 \x01(\x0b\x32H.discord_protos.discord_experimentation.v1.Experiment.UnitIdInExperimentH\x00\x42\x08\n\x06\x66ilter\x1a \n\x08Override\x12\x14\n\x0cvariation_id\x18\x01 \x01(\x05\x1a\x9b\x02\n\x04Rule\x12H\n\x04type\x18\x01 \x01(\x0e\x32:.discord_protos.discord_experimentation.v1.Experiment.Type\x12M\n\x07\x66ilters\x18\x02 \x03(\x0b\x32<.discord_protos.discord_experimentation.v1.Experiment.Filter\x12U\n\x08override\x18\x03 \x01(\x0b\x32>.discord_protos.discord_experimentation.v1.Experiment.OverrideH\x00\x88\x01\x01\x12\x16\n\x0eis_sunset_rule\x18\x04 \x01(\x08\x42\x0b\n\t_override\"9\n\x08UnitType\x12\x19\n\x15UNIT_TYPE_UNSPECIFIED\x10\x00\x12\x12\n\x0eUNIT_TYPE_USER\x10\x01\"O\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bTYPE_ACTIVE\x10\x01\x12\x0f\n\x0bTYPE_UNUSED\x10\x02\x12\x0f\n\x0bTYPE_BURNED\x10\x03\"\xb7\x01\n\x05Phase\x12\x15\n\x11PHASE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bPHASE_DRAFT\x10\x01\x12\x15\n\x11PHASE_MEASUREMENT\x10\x02\x12\x1b\n\x17PHASE_MEASUREMENT_ENDED\x10\x03\x12\x15\n\x11PHASE_ROLLING_OUT\x10\x04\x12\x14\n\x10PHASE_ROLLED_OUT\x10\x05\x12\x12\n\x0ePHASE_ARCHIVED\x10\x06\x12\x11\n\rPHASE_AA_MODE\x10\x07\"|\n\x07Surface\x12\x17\n\x13SURFACE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bSURFACE_API\x10\x01\x12\x0f\n\x0bSURFACE_APP\x10\x02\x12\x1c\n\x18SURFACE_DEVELOPER_PORTAL\x10\x03\x12\x18\n\x14SURFACE_ADMIN_PORTAL\x10\x04\"Q\n\x10\x45xposureTracking\x12\x1d\n\x19\x45XPOSURE_TRACKING_ENABLED\x10\x00\x12\x1e\n\x1a\x45XPOSURE_TRACKING_DISABLED\x10\x01\"p\n\x0e\x41ssignmentMode\x12\x18\n\x14\x41SSIGNMENT_MODE_FULL\x10\x00\x12!\n\x1d\x41SSIGNMENT_MODE_FORCE_DEFAULT\x10\x01\x12!\n\x1d\x41SSIGNMENT_MODE_OVERRIDE_ONLY\x10\x02\x42\r\n\x0b_created_atB\x0c\n\n_edited_atB\r\n\x0b_hypothesisB\x11\n\x0f_tech_spec_linkb\x06proto3')
30
30
 
31
31
  _globals = globals()
32
32
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -44,85 +44,87 @@ if not _descriptor._USE_C_DESCRIPTORS:
44
44
  _globals['_EXPERIMENT_CLIENTSYSTEMLOCALE'].fields_by_name['locales']._loaded_options = None
45
45
  _globals['_EXPERIMENT_CLIENTSYSTEMLOCALE'].fields_by_name['locales']._serialized_options = b'\020\000'
46
46
  _globals['_EXPERIMENT']._serialized_start=156
47
- _globals['_EXPERIMENT']._serialized_end=8252
48
- _globals['_EXPERIMENT_BUCKET']._serialized_start=1266
49
- _globals['_EXPERIMENT_BUCKET']._serialized_end=1377
50
- _globals['_EXPERIMENT_VARIATION']._serialized_start=1380
51
- _globals['_EXPERIMENT_VARIATION']._serialized_end=1674
52
- _globals['_EXPERIMENT_PLATFORMVERSIONSPECIFIER']._serialized_start=1677
53
- _globals['_EXPERIMENT_PLATFORMVERSIONSPECIFIER']._serialized_end=1838
54
- _globals['_EXPERIMENT_PLATFORMVERSIONRANGEBOUND']._serialized_start=1841
55
- _globals['_EXPERIMENT_PLATFORMVERSIONRANGEBOUND']._serialized_end=2001
56
- _globals['_EXPERIMENT_PLATFORMVERSIONRANGE']._serialized_start=2004
57
- _globals['_EXPERIMENT_PLATFORMVERSIONRANGE']._serialized_end=2272
58
- _globals['_EXPERIMENT_PLATFORMVERSION']._serialized_start=2275
59
- _globals['_EXPERIMENT_PLATFORMVERSION']._serialized_end=2415
60
- _globals['_EXPERIMENT_CLIENTPLATFORM']._serialized_start=2418
61
- _globals['_EXPERIMENT_CLIENTPLATFORM']._serialized_end=2900
62
- _globals['_EXPERIMENT_SDKVERSIONSPECIFIER']._serialized_start=2902
63
- _globals['_EXPERIMENT_SDKVERSIONSPECIFIER']._serialized_end=2940
64
- _globals['_EXPERIMENT_SDKVERSIONRANGEBOUND']._serialized_start=2943
65
- _globals['_EXPERIMENT_SDKVERSIONRANGEBOUND']._serialized_end=3093
66
- _globals['_EXPERIMENT_SDKVERSIONRANGE']._serialized_start=3096
67
- _globals['_EXPERIMENT_SDKVERSIONRANGE']._serialized_end=3349
68
- _globals['_EXPERIMENT_SDKVERSION']._serialized_start=3352
69
- _globals['_EXPERIMENT_SDKVERSION']._serialized_end=3482
70
- _globals['_EXPERIMENT_CLIENTOPERATINGSYSTEM']._serialized_start=3485
71
- _globals['_EXPERIMENT_CLIENTOPERATINGSYSTEM']._serialized_end=4306
72
- _globals['_EXPERIMENT_STAFFUSERS']._serialized_start=4308
73
- _globals['_EXPERIMENT_STAFFUSERS']._serialized_end=4370
74
- _globals['_EXPERIMENT_USERINGUILD']._serialized_start=4372
75
- _globals['_EXPERIMENT_USERINGUILD']._serialized_end=4404
76
- _globals['_EXPERIMENT_USERIDS']._serialized_start=4406
77
- _globals['_EXPERIMENT_USERIDS']._serialized_end=4433
78
- _globals['_EXPERIMENT_CLIENTLOCALE']._serialized_start=4435
79
- _globals['_EXPERIMENT_CLIENTLOCALE']._serialized_end=4470
80
- _globals['_EXPERIMENT_ISOREGION']._serialized_start=4472
81
- _globals['_EXPERIMENT_ISOREGION']._serialized_end=4529
82
- _globals['_EXPERIMENT_PLACE']._serialized_start=4531
83
- _globals['_EXPERIMENT_PLACE']._serialized_end=4590
84
- _globals['_EXPERIMENT_LOCATION']._serialized_start=4593
85
- _globals['_EXPERIMENT_LOCATION']._serialized_end=4797
86
- _globals['_EXPERIMENT_CLIENTLOCATION']._serialized_start=4799
87
- _globals['_EXPERIMENT_CLIENTLOCATION']._serialized_end=4898
88
- _globals['_EXPERIMENT_CLIENTIP']._serialized_start=4900
89
- _globals['_EXPERIMENT_CLIENTIP']._serialized_end=4930
90
- _globals['_EXPERIMENT_USERLOCALE']._serialized_start=4932
91
- _globals['_EXPERIMENT_USERLOCALE']._serialized_end=4965
92
- _globals['_EXPERIMENT_USERISBOT']._serialized_start=4967
93
- _globals['_EXPERIMENT_USERISBOT']._serialized_end=4994
94
- _globals['_EXPERIMENT_USERAGERANGE']._serialized_start=4997
95
- _globals['_EXPERIMENT_USERAGERANGE']._serialized_end=5163
96
- _globals['_EXPERIMENT_FIXED64VALUE']._serialized_start=5165
97
- _globals['_EXPERIMENT_FIXED64VALUE']._serialized_end=5194
98
- _globals['_EXPERIMENT_USERIDRANGE']._serialized_start=5197
99
- _globals['_EXPERIMENT_USERIDRANGE']._serialized_end=5410
100
- _globals['_EXPERIMENT_USERHASFLAG']._serialized_start=5412
101
- _globals['_EXPERIMENT_USERHASFLAG']._serialized_end=5439
102
- _globals['_EXPERIMENT_UNITIDINRANGEBYHASH']._serialized_start=5441
103
- _globals['_EXPERIMENT_UNITIDINRANGEBYHASH']._serialized_end=5496
104
- _globals['_EXPERIMENT_CLIENTRELEASECHANNEL']._serialized_start=5498
105
- _globals['_EXPERIMENT_CLIENTRELEASECHANNEL']._serialized_end=5550
106
- _globals['_EXPERIMENT_ALWAYS']._serialized_start=5552
107
- _globals['_EXPERIMENT_ALWAYS']._serialized_end=5575
108
- _globals['_EXPERIMENT_CLIENTSYSTEMLOCALE']._serialized_start=5577
109
- _globals['_EXPERIMENT_CLIENTSYSTEMLOCALE']._serialized_end=5618
110
- _globals['_EXPERIMENT_FILTER']._serialized_start=5621
111
- _globals['_EXPERIMENT_FILTER']._serialized_end=7220
112
- _globals['_EXPERIMENT_OVERRIDE']._serialized_start=7222
113
- _globals['_EXPERIMENT_OVERRIDE']._serialized_end=7254
114
- _globals['_EXPERIMENT_RULE']._serialized_start=7257
115
- _globals['_EXPERIMENT_RULE']._serialized_end=7540
116
- _globals['_EXPERIMENT_UNITTYPE']._serialized_start=7542
117
- _globals['_EXPERIMENT_UNITTYPE']._serialized_end=7599
118
- _globals['_EXPERIMENT_TYPE']._serialized_start=7601
119
- _globals['_EXPERIMENT_TYPE']._serialized_end=7680
120
- _globals['_EXPERIMENT_PHASE']._serialized_start=7683
121
- _globals['_EXPERIMENT_PHASE']._serialized_end=7866
122
- _globals['_EXPERIMENT_SURFACE']._serialized_start=7868
123
- _globals['_EXPERIMENT_SURFACE']._serialized_end=7992
124
- _globals['_EXPERIMENT_EXPOSURETRACKING']._serialized_start=7994
125
- _globals['_EXPERIMENT_EXPOSURETRACKING']._serialized_end=8075
126
- _globals['_EXPERIMENT_ASSIGNMENTMODE']._serialized_start=8077
127
- _globals['_EXPERIMENT_ASSIGNMENTMODE']._serialized_end=8189
47
+ _globals['_EXPERIMENT']._serialized_end=8522
48
+ _globals['_EXPERIMENT_BUCKET']._serialized_start=1361
49
+ _globals['_EXPERIMENT_BUCKET']._serialized_end=1472
50
+ _globals['_EXPERIMENT_VARIATION']._serialized_start=1475
51
+ _globals['_EXPERIMENT_VARIATION']._serialized_end=1769
52
+ _globals['_EXPERIMENT_PLATFORMVERSIONSPECIFIER']._serialized_start=1772
53
+ _globals['_EXPERIMENT_PLATFORMVERSIONSPECIFIER']._serialized_end=1933
54
+ _globals['_EXPERIMENT_PLATFORMVERSIONRANGEBOUND']._serialized_start=1936
55
+ _globals['_EXPERIMENT_PLATFORMVERSIONRANGEBOUND']._serialized_end=2096
56
+ _globals['_EXPERIMENT_PLATFORMVERSIONRANGE']._serialized_start=2099
57
+ _globals['_EXPERIMENT_PLATFORMVERSIONRANGE']._serialized_end=2367
58
+ _globals['_EXPERIMENT_PLATFORMVERSION']._serialized_start=2370
59
+ _globals['_EXPERIMENT_PLATFORMVERSION']._serialized_end=2510
60
+ _globals['_EXPERIMENT_CLIENTPLATFORM']._serialized_start=2513
61
+ _globals['_EXPERIMENT_CLIENTPLATFORM']._serialized_end=2995
62
+ _globals['_EXPERIMENT_SDKVERSIONSPECIFIER']._serialized_start=2997
63
+ _globals['_EXPERIMENT_SDKVERSIONSPECIFIER']._serialized_end=3035
64
+ _globals['_EXPERIMENT_SDKVERSIONRANGEBOUND']._serialized_start=3038
65
+ _globals['_EXPERIMENT_SDKVERSIONRANGEBOUND']._serialized_end=3188
66
+ _globals['_EXPERIMENT_SDKVERSIONRANGE']._serialized_start=3191
67
+ _globals['_EXPERIMENT_SDKVERSIONRANGE']._serialized_end=3444
68
+ _globals['_EXPERIMENT_SDKVERSION']._serialized_start=3447
69
+ _globals['_EXPERIMENT_SDKVERSION']._serialized_end=3577
70
+ _globals['_EXPERIMENT_CLIENTOPERATINGSYSTEM']._serialized_start=3580
71
+ _globals['_EXPERIMENT_CLIENTOPERATINGSYSTEM']._serialized_end=4401
72
+ _globals['_EXPERIMENT_STAFFUSERS']._serialized_start=4403
73
+ _globals['_EXPERIMENT_STAFFUSERS']._serialized_end=4465
74
+ _globals['_EXPERIMENT_USERINGUILD']._serialized_start=4467
75
+ _globals['_EXPERIMENT_USERINGUILD']._serialized_end=4499
76
+ _globals['_EXPERIMENT_USERIDS']._serialized_start=4501
77
+ _globals['_EXPERIMENT_USERIDS']._serialized_end=4528
78
+ _globals['_EXPERIMENT_CLIENTLOCALE']._serialized_start=4530
79
+ _globals['_EXPERIMENT_CLIENTLOCALE']._serialized_end=4565
80
+ _globals['_EXPERIMENT_ISOREGION']._serialized_start=4567
81
+ _globals['_EXPERIMENT_ISOREGION']._serialized_end=4624
82
+ _globals['_EXPERIMENT_PLACE']._serialized_start=4626
83
+ _globals['_EXPERIMENT_PLACE']._serialized_end=4685
84
+ _globals['_EXPERIMENT_LOCATION']._serialized_start=4688
85
+ _globals['_EXPERIMENT_LOCATION']._serialized_end=4892
86
+ _globals['_EXPERIMENT_CLIENTLOCATION']._serialized_start=4894
87
+ _globals['_EXPERIMENT_CLIENTLOCATION']._serialized_end=4993
88
+ _globals['_EXPERIMENT_CLIENTIP']._serialized_start=4995
89
+ _globals['_EXPERIMENT_CLIENTIP']._serialized_end=5025
90
+ _globals['_EXPERIMENT_USERLOCALE']._serialized_start=5027
91
+ _globals['_EXPERIMENT_USERLOCALE']._serialized_end=5060
92
+ _globals['_EXPERIMENT_USERISBOT']._serialized_start=5062
93
+ _globals['_EXPERIMENT_USERISBOT']._serialized_end=5089
94
+ _globals['_EXPERIMENT_USERAGERANGE']._serialized_start=5092
95
+ _globals['_EXPERIMENT_USERAGERANGE']._serialized_end=5258
96
+ _globals['_EXPERIMENT_FIXED64VALUE']._serialized_start=5260
97
+ _globals['_EXPERIMENT_FIXED64VALUE']._serialized_end=5289
98
+ _globals['_EXPERIMENT_USERIDRANGE']._serialized_start=5292
99
+ _globals['_EXPERIMENT_USERIDRANGE']._serialized_end=5505
100
+ _globals['_EXPERIMENT_USERHASFLAG']._serialized_start=5507
101
+ _globals['_EXPERIMENT_USERHASFLAG']._serialized_end=5534
102
+ _globals['_EXPERIMENT_UNITIDINRANGEBYHASH']._serialized_start=5536
103
+ _globals['_EXPERIMENT_UNITIDINRANGEBYHASH']._serialized_end=5591
104
+ _globals['_EXPERIMENT_CLIENTRELEASECHANNEL']._serialized_start=5593
105
+ _globals['_EXPERIMENT_CLIENTRELEASECHANNEL']._serialized_end=5645
106
+ _globals['_EXPERIMENT_ALWAYS']._serialized_start=5647
107
+ _globals['_EXPERIMENT_ALWAYS']._serialized_end=5670
108
+ _globals['_EXPERIMENT_CLIENTSYSTEMLOCALE']._serialized_start=5672
109
+ _globals['_EXPERIMENT_CLIENTSYSTEMLOCALE']._serialized_end=5713
110
+ _globals['_EXPERIMENT_UNITIDINEXPERIMENT']._serialized_start=5715
111
+ _globals['_EXPERIMENT_UNITIDINEXPERIMENT']._serialized_end=5781
112
+ _globals['_EXPERIMENT_FILTER']._serialized_start=5784
113
+ _globals['_EXPERIMENT_FILTER']._serialized_end=7490
114
+ _globals['_EXPERIMENT_OVERRIDE']._serialized_start=7492
115
+ _globals['_EXPERIMENT_OVERRIDE']._serialized_end=7524
116
+ _globals['_EXPERIMENT_RULE']._serialized_start=7527
117
+ _globals['_EXPERIMENT_RULE']._serialized_end=7810
118
+ _globals['_EXPERIMENT_UNITTYPE']._serialized_start=7812
119
+ _globals['_EXPERIMENT_UNITTYPE']._serialized_end=7869
120
+ _globals['_EXPERIMENT_TYPE']._serialized_start=7871
121
+ _globals['_EXPERIMENT_TYPE']._serialized_end=7950
122
+ _globals['_EXPERIMENT_PHASE']._serialized_start=7953
123
+ _globals['_EXPERIMENT_PHASE']._serialized_end=8136
124
+ _globals['_EXPERIMENT_SURFACE']._serialized_start=8138
125
+ _globals['_EXPERIMENT_SURFACE']._serialized_end=8262
126
+ _globals['_EXPERIMENT_EXPOSURETRACKING']._serialized_start=8264
127
+ _globals['_EXPERIMENT_EXPOSURETRACKING']._serialized_end=8345
128
+ _globals['_EXPERIMENT_ASSIGNMENTMODE']._serialized_start=8347
129
+ _globals['_EXPERIMENT_ASSIGNMENTMODE']._serialized_end=8459
128
130
  # @@protoc_insertion_point(module_scope)
@@ -532,6 +532,19 @@ export interface Experiment_ClientSystemLocale {
532
532
  */
533
533
  locales: string[];
534
534
  }
535
+ /**
536
+ * @generated from protobuf message discord_protos.discord_experimentation.v1.Experiment.UnitIdInExperiment
537
+ */
538
+ export interface Experiment_UnitIdInExperiment {
539
+ /**
540
+ * @generated from protobuf field: fixed64 experiment_id = 1
541
+ */
542
+ experimentId: bigint;
543
+ /**
544
+ * @generated from protobuf field: repeated int32 variation_ids = 2
545
+ */
546
+ variationIds: number[];
547
+ }
535
548
  /**
536
549
  * @generated from protobuf message discord_protos.discord_experimentation.v1.Experiment.Filter
537
550
  */
@@ -641,6 +654,12 @@ export interface Experiment_Filter {
641
654
  * @generated from protobuf field: discord_protos.discord_experimentation.v1.Experiment.ClientSystemLocale client_system_locale = 18
642
655
  */
643
656
  clientSystemLocale: Experiment_ClientSystemLocale;
657
+ } | {
658
+ oneofKind: "unitIdInExperiment";
659
+ /**
660
+ * @generated from protobuf field: discord_protos.discord_experimentation.v1.Experiment.UnitIdInExperiment unit_id_in_experiment = 19
661
+ */
662
+ unitIdInExperiment: Experiment_UnitIdInExperiment;
644
663
  } | {
645
664
  oneofKind: undefined;
646
665
  };
@@ -765,7 +784,11 @@ export declare enum Experiment_Surface {
765
784
  /**
766
785
  * @generated from protobuf enum value: SURFACE_DEVELOPER_PORTAL = 3;
767
786
  */
768
- DEVELOPER_PORTAL = 3
787
+ DEVELOPER_PORTAL = 3,
788
+ /**
789
+ * @generated from protobuf enum value: SURFACE_ADMIN_PORTAL = 4;
790
+ */
791
+ ADMIN_PORTAL = 4
769
792
  }
770
793
  /**
771
794
  * @generated from protobuf enum discord_protos.discord_experimentation.v1.Experiment.ExposureTracking
@@ -1117,6 +1140,16 @@ declare class Experiment_ClientSystemLocale$Type extends MessageType<Experiment_
1117
1140
  * @generated MessageType for protobuf message discord_protos.discord_experimentation.v1.Experiment.ClientSystemLocale
1118
1141
  */
1119
1142
  export declare const Experiment_ClientSystemLocale: Experiment_ClientSystemLocale$Type;
1143
+ declare class Experiment_UnitIdInExperiment$Type extends MessageType<Experiment_UnitIdInExperiment> {
1144
+ constructor();
1145
+ create(value?: PartialMessage<Experiment_UnitIdInExperiment>): Experiment_UnitIdInExperiment;
1146
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Experiment_UnitIdInExperiment): Experiment_UnitIdInExperiment;
1147
+ internalBinaryWrite(message: Experiment_UnitIdInExperiment, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
1148
+ }
1149
+ /**
1150
+ * @generated MessageType for protobuf message discord_protos.discord_experimentation.v1.Experiment.UnitIdInExperiment
1151
+ */
1152
+ export declare const Experiment_UnitIdInExperiment: Experiment_UnitIdInExperiment$Type;
1120
1153
  declare class Experiment_Filter$Type extends MessageType<Experiment_Filter> {
1121
1154
  constructor();
1122
1155
  create(value?: PartialMessage<Experiment_Filter>): Experiment_Filter;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Experiment_Rule = exports.Experiment_Override = exports.Experiment_Filter = exports.Experiment_ClientSystemLocale = exports.Experiment_Always = exports.Experiment_ClientReleaseChannel = exports.Experiment_UnitIdInRangeByHash = exports.Experiment_UserHasFlag = exports.Experiment_UserIDRange = exports.Experiment_Fixed64Value = exports.Experiment_UserAgeRange = exports.Experiment_UserIsBot = exports.Experiment_UserLocale = exports.Experiment_ClientIP = exports.Experiment_ClientLocation = exports.Experiment_Location = exports.Experiment_Place = exports.Experiment_ISORegion = exports.Experiment_ClientLocale = exports.Experiment_UserIds = exports.Experiment_UserInGuild = exports.Experiment_StaffUsers = exports.Experiment_ClientOperatingSystem = exports.Experiment_SDKVersion = exports.Experiment_SDKVersionRange = exports.Experiment_SDKVersionRangeBound = exports.Experiment_SDKVersionSpecifier = exports.Experiment_ClientPlatform = exports.Experiment_PlatformVersion = exports.Experiment_PlatformVersionRange = exports.Experiment_PlatformVersionRangeBound = exports.Experiment_PlatformVersionSpecifier = exports.Experiment_Variation = exports.Experiment_Bucket = exports.Experiment = exports.Experiment_AssignmentMode = exports.Experiment_ExposureTracking = exports.Experiment_Surface = exports.Experiment_Phase = exports.Experiment_Type = exports.Experiment_UnitType = void 0;
3
+ exports.Experiment_Rule = exports.Experiment_Override = exports.Experiment_Filter = exports.Experiment_UnitIdInExperiment = exports.Experiment_ClientSystemLocale = exports.Experiment_Always = exports.Experiment_ClientReleaseChannel = exports.Experiment_UnitIdInRangeByHash = exports.Experiment_UserHasFlag = exports.Experiment_UserIDRange = exports.Experiment_Fixed64Value = exports.Experiment_UserAgeRange = exports.Experiment_UserIsBot = exports.Experiment_UserLocale = exports.Experiment_ClientIP = exports.Experiment_ClientLocation = exports.Experiment_Location = exports.Experiment_Place = exports.Experiment_ISORegion = exports.Experiment_ClientLocale = exports.Experiment_UserIds = exports.Experiment_UserInGuild = exports.Experiment_StaffUsers = exports.Experiment_ClientOperatingSystem = exports.Experiment_SDKVersion = exports.Experiment_SDKVersionRange = exports.Experiment_SDKVersionRangeBound = exports.Experiment_SDKVersionSpecifier = exports.Experiment_ClientPlatform = exports.Experiment_PlatformVersion = exports.Experiment_PlatformVersionRange = exports.Experiment_PlatformVersionRangeBound = exports.Experiment_PlatformVersionSpecifier = exports.Experiment_Variation = exports.Experiment_Bucket = exports.Experiment = exports.Experiment_AssignmentMode = exports.Experiment_ExposureTracking = exports.Experiment_Surface = exports.Experiment_Phase = exports.Experiment_Type = exports.Experiment_UnitType = void 0;
4
4
  const runtime_1 = require("@protobuf-ts/runtime");
5
5
  const runtime_2 = require("@protobuf-ts/runtime");
6
6
  const runtime_3 = require("@protobuf-ts/runtime");
@@ -104,6 +104,10 @@ var Experiment_Surface;
104
104
  * @generated from protobuf enum value: SURFACE_DEVELOPER_PORTAL = 3;
105
105
  */
106
106
  Experiment_Surface[Experiment_Surface["DEVELOPER_PORTAL"] = 3] = "DEVELOPER_PORTAL";
107
+ /**
108
+ * @generated from protobuf enum value: SURFACE_ADMIN_PORTAL = 4;
109
+ */
110
+ Experiment_Surface[Experiment_Surface["ADMIN_PORTAL"] = 4] = "ADMIN_PORTAL";
107
111
  })(Experiment_Surface || (exports.Experiment_Surface = Experiment_Surface = {}));
108
112
  /**
109
113
  * @generated from protobuf enum discord_protos.discord_experimentation.v1.Experiment.ExposureTracking
@@ -2093,6 +2097,69 @@ class Experiment_ClientSystemLocale$Type extends runtime_4.MessageType {
2093
2097
  */
2094
2098
  exports.Experiment_ClientSystemLocale = new Experiment_ClientSystemLocale$Type();
2095
2099
  // @generated message type with reflection information, may provide speed optimized methods
2100
+ class Experiment_UnitIdInExperiment$Type extends runtime_4.MessageType {
2101
+ constructor() {
2102
+ super("discord_protos.discord_experimentation.v1.Experiment.UnitIdInExperiment", [
2103
+ { no: 1, name: "experiment_id", kind: "scalar", T: 6 /*ScalarType.FIXED64*/, L: 0 /*LongType.BIGINT*/ },
2104
+ { no: 2, name: "variation_ids", kind: "scalar", repeat: 1 /*RepeatType.PACKED*/, T: 5 /*ScalarType.INT32*/ }
2105
+ ]);
2106
+ }
2107
+ create(value) {
2108
+ const message = globalThis.Object.create((this.messagePrototype));
2109
+ message.experimentId = 0n;
2110
+ message.variationIds = [];
2111
+ if (value !== undefined)
2112
+ (0, runtime_3.reflectionMergePartial)(this, message, value);
2113
+ return message;
2114
+ }
2115
+ internalBinaryRead(reader, length, options, target) {
2116
+ let message = target ?? this.create(), end = reader.pos + length;
2117
+ while (reader.pos < end) {
2118
+ let [fieldNo, wireType] = reader.tag();
2119
+ switch (fieldNo) {
2120
+ case /* fixed64 experiment_id */ 1:
2121
+ message.experimentId = reader.fixed64().toBigInt();
2122
+ break;
2123
+ case /* repeated int32 variation_ids */ 2:
2124
+ if (wireType === runtime_2.WireType.LengthDelimited)
2125
+ for (let e = reader.int32() + reader.pos; reader.pos < e;)
2126
+ message.variationIds.push(reader.int32());
2127
+ else
2128
+ message.variationIds.push(reader.int32());
2129
+ break;
2130
+ default:
2131
+ let u = options.readUnknownField;
2132
+ if (u === "throw")
2133
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
2134
+ let d = reader.skip(wireType);
2135
+ if (u !== false)
2136
+ (u === true ? runtime_1.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
2137
+ }
2138
+ }
2139
+ return message;
2140
+ }
2141
+ internalBinaryWrite(message, writer, options) {
2142
+ /* fixed64 experiment_id = 1; */
2143
+ if (message.experimentId !== 0n)
2144
+ writer.tag(1, runtime_2.WireType.Bit64).fixed64(message.experimentId);
2145
+ /* repeated int32 variation_ids = 2; */
2146
+ if (message.variationIds.length) {
2147
+ writer.tag(2, runtime_2.WireType.LengthDelimited).fork();
2148
+ for (let i = 0; i < message.variationIds.length; i++)
2149
+ writer.int32(message.variationIds[i]);
2150
+ writer.join();
2151
+ }
2152
+ let u = options.writeUnknownFields;
2153
+ if (u !== false)
2154
+ (u == true ? runtime_1.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
2155
+ return writer;
2156
+ }
2157
+ }
2158
+ /**
2159
+ * @generated MessageType for protobuf message discord_protos.discord_experimentation.v1.Experiment.UnitIdInExperiment
2160
+ */
2161
+ exports.Experiment_UnitIdInExperiment = new Experiment_UnitIdInExperiment$Type();
2162
+ // @generated message type with reflection information, may provide speed optimized methods
2096
2163
  class Experiment_Filter$Type extends runtime_4.MessageType {
2097
2164
  constructor() {
2098
2165
  super("discord_protos.discord_experimentation.v1.Experiment.Filter", [
@@ -2112,7 +2179,8 @@ class Experiment_Filter$Type extends runtime_4.MessageType {
2112
2179
  { no: 15, name: "unit_id_in_range_by_hash", kind: "message", oneof: "filter", T: () => exports.Experiment_UnitIdInRangeByHash },
2113
2180
  { no: 16, name: "client_release_channel", kind: "message", oneof: "filter", T: () => exports.Experiment_ClientReleaseChannel },
2114
2181
  { no: 17, name: "always", kind: "message", oneof: "filter", T: () => exports.Experiment_Always },
2115
- { no: 18, name: "client_system_locale", kind: "message", oneof: "filter", T: () => exports.Experiment_ClientSystemLocale }
2182
+ { no: 18, name: "client_system_locale", kind: "message", oneof: "filter", T: () => exports.Experiment_ClientSystemLocale },
2183
+ { no: 19, name: "unit_id_in_experiment", kind: "message", oneof: "filter", T: () => exports.Experiment_UnitIdInExperiment }
2116
2184
  ]);
2117
2185
  }
2118
2186
  create(value) {
@@ -2229,6 +2297,12 @@ class Experiment_Filter$Type extends runtime_4.MessageType {
2229
2297
  clientSystemLocale: exports.Experiment_ClientSystemLocale.internalBinaryRead(reader, reader.uint32(), options, message.filter.clientSystemLocale)
2230
2298
  };
2231
2299
  break;
2300
+ case /* discord_protos.discord_experimentation.v1.Experiment.UnitIdInExperiment unit_id_in_experiment */ 19:
2301
+ message.filter = {
2302
+ oneofKind: "unitIdInExperiment",
2303
+ unitIdInExperiment: exports.Experiment_UnitIdInExperiment.internalBinaryRead(reader, reader.uint32(), options, message.filter.unitIdInExperiment)
2304
+ };
2305
+ break;
2232
2306
  default:
2233
2307
  let u = options.readUnknownField;
2234
2308
  if (u === "throw")
@@ -2292,6 +2366,9 @@ class Experiment_Filter$Type extends runtime_4.MessageType {
2292
2366
  /* discord_protos.discord_experimentation.v1.Experiment.ClientSystemLocale client_system_locale = 18; */
2293
2367
  if (message.filter.oneofKind === "clientSystemLocale")
2294
2368
  exports.Experiment_ClientSystemLocale.internalBinaryWrite(message.filter.clientSystemLocale, writer.tag(18, runtime_2.WireType.LengthDelimited).fork(), options).join();
2369
+ /* discord_protos.discord_experimentation.v1.Experiment.UnitIdInExperiment unit_id_in_experiment = 19; */
2370
+ if (message.filter.oneofKind === "unitIdInExperiment")
2371
+ exports.Experiment_UnitIdInExperiment.internalBinaryWrite(message.filter.unitIdInExperiment, writer.tag(19, runtime_2.WireType.LengthDelimited).fork(), options).join();
2295
2372
  let u = options.writeUnknownFields;
2296
2373
  if (u !== false)
2297
2374
  (u == true ? runtime_1.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "discord-protos",
3
- "version": "1.2.60",
3
+ "version": "1.2.62",
4
4
  "description": "A parser for Discord's protobufs",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",