discord-protos 1.2.65 → 1.2.66

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.65'
6
+ __version__ = '1.2.66'
7
7
 
8
8
  if TYPE_CHECKING:
9
9
  from google.protobuf.message import Message as _Message
@@ -54,11 +54,17 @@ message Experiment {
54
54
  bool work_around_pyoto_bug = 2;
55
55
  }
56
56
 
57
+ message ClientRequiredChanges {
58
+ repeated string commit_hashes = 1 [packed = false];
59
+ repeated int32 pr_numbers = 2;
60
+ }
61
+
57
62
  message ClientPlatform {
58
63
  optional PlatformVersion ios_version = 1;
59
64
  optional PlatformVersion android_version = 2;
60
65
  optional PlatformVersion web_version = 3;
61
66
  optional PlatformVersion native_version = 4;
67
+ optional ClientRequiredChanges client_required_changes = 5;
62
68
  }
63
69
 
64
70
  message SDKVersionSpecifier {
@@ -26,13 +26,15 @@ 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\"\xcc\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\x12\x1d\n\x15\x66ield_numbers_to_copy\x18\x1c \x03(\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\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\x17\n\x13SURFACE_ADMIN_PANEL\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\"\xa3\x43\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\x12\x1d\n\x15\x66ield_numbers_to_copy\x18\x1c \x03(\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\x46\n\x15\x43lientRequiredChanges\x12\x19\n\rcommit_hashes\x18\x01 \x03(\tB\x02\x10\x00\x12\x12\n\npr_numbers\x18\x02 \x03(\x05\x1a\xf1\x04\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\x12q\n\x17\x63lient_required_changes\x18\x05 \x01(\x0b\x32K.discord_protos.discord_experimentation.v1.Experiment.ClientRequiredChangesH\x04\x88\x01\x01\x42\x0e\n\x0c_ios_versionB\x12\n\x10_android_versionB\x0e\n\x0c_web_versionB\x11\n\x0f_native_versionB\x1a\n\x18_client_required_changes\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\x17\n\x13SURFACE_ADMIN_PANEL\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)
33
33
  _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'discord_experimentation.v1.Experiment_pb2', _globals)
34
34
  if not _descriptor._USE_C_DESCRIPTORS:
35
35
  DESCRIPTOR._loaded_options = None
36
+ _globals['_EXPERIMENT_CLIENTREQUIREDCHANGES'].fields_by_name['commit_hashes']._loaded_options = None
37
+ _globals['_EXPERIMENT_CLIENTREQUIREDCHANGES'].fields_by_name['commit_hashes']._serialized_options = b'\020\000'
36
38
  _globals['_EXPERIMENT_CLIENTLOCALE'].fields_by_name['locales']._loaded_options = None
37
39
  _globals['_EXPERIMENT_CLIENTLOCALE'].fields_by_name['locales']._serialized_options = b'\020\000'
38
40
  _globals['_EXPERIMENT_CLIENTIP'].fields_by_name['blocks']._loaded_options = None
@@ -44,7 +46,7 @@ if not _descriptor._USE_C_DESCRIPTORS:
44
46
  _globals['_EXPERIMENT_CLIENTSYSTEMLOCALE'].fields_by_name['locales']._loaded_options = None
45
47
  _globals['_EXPERIMENT_CLIENTSYSTEMLOCALE'].fields_by_name['locales']._serialized_options = b'\020\000'
46
48
  _globals['_EXPERIMENT']._serialized_start=156
47
- _globals['_EXPERIMENT']._serialized_end=8552
49
+ _globals['_EXPERIMENT']._serialized_end=8767
48
50
  _globals['_EXPERIMENT_BUCKET']._serialized_start=1392
49
51
  _globals['_EXPERIMENT_BUCKET']._serialized_end=1503
50
52
  _globals['_EXPERIMENT_VARIATION']._serialized_start=1506
@@ -57,74 +59,76 @@ if not _descriptor._USE_C_DESCRIPTORS:
57
59
  _globals['_EXPERIMENT_PLATFORMVERSIONRANGE']._serialized_end=2398
58
60
  _globals['_EXPERIMENT_PLATFORMVERSION']._serialized_start=2401
59
61
  _globals['_EXPERIMENT_PLATFORMVERSION']._serialized_end=2541
60
- _globals['_EXPERIMENT_CLIENTPLATFORM']._serialized_start=2544
61
- _globals['_EXPERIMENT_CLIENTPLATFORM']._serialized_end=3026
62
- _globals['_EXPERIMENT_SDKVERSIONSPECIFIER']._serialized_start=3028
63
- _globals['_EXPERIMENT_SDKVERSIONSPECIFIER']._serialized_end=3066
64
- _globals['_EXPERIMENT_SDKVERSIONRANGEBOUND']._serialized_start=3069
65
- _globals['_EXPERIMENT_SDKVERSIONRANGEBOUND']._serialized_end=3219
66
- _globals['_EXPERIMENT_SDKVERSIONRANGE']._serialized_start=3222
67
- _globals['_EXPERIMENT_SDKVERSIONRANGE']._serialized_end=3475
68
- _globals['_EXPERIMENT_SDKVERSION']._serialized_start=3478
69
- _globals['_EXPERIMENT_SDKVERSION']._serialized_end=3608
70
- _globals['_EXPERIMENT_CLIENTOPERATINGSYSTEM']._serialized_start=3611
71
- _globals['_EXPERIMENT_CLIENTOPERATINGSYSTEM']._serialized_end=4432
72
- _globals['_EXPERIMENT_STAFFUSERS']._serialized_start=4434
73
- _globals['_EXPERIMENT_STAFFUSERS']._serialized_end=4496
74
- _globals['_EXPERIMENT_USERINGUILD']._serialized_start=4498
75
- _globals['_EXPERIMENT_USERINGUILD']._serialized_end=4530
76
- _globals['_EXPERIMENT_USERIDS']._serialized_start=4532
77
- _globals['_EXPERIMENT_USERIDS']._serialized_end=4559
78
- _globals['_EXPERIMENT_CLIENTLOCALE']._serialized_start=4561
79
- _globals['_EXPERIMENT_CLIENTLOCALE']._serialized_end=4596
80
- _globals['_EXPERIMENT_ISOREGION']._serialized_start=4598
81
- _globals['_EXPERIMENT_ISOREGION']._serialized_end=4655
82
- _globals['_EXPERIMENT_PLACE']._serialized_start=4657
83
- _globals['_EXPERIMENT_PLACE']._serialized_end=4716
84
- _globals['_EXPERIMENT_LOCATION']._serialized_start=4719
85
- _globals['_EXPERIMENT_LOCATION']._serialized_end=4923
86
- _globals['_EXPERIMENT_CLIENTLOCATION']._serialized_start=4925
87
- _globals['_EXPERIMENT_CLIENTLOCATION']._serialized_end=5024
88
- _globals['_EXPERIMENT_CLIENTIP']._serialized_start=5026
89
- _globals['_EXPERIMENT_CLIENTIP']._serialized_end=5056
90
- _globals['_EXPERIMENT_USERLOCALE']._serialized_start=5058
91
- _globals['_EXPERIMENT_USERLOCALE']._serialized_end=5091
92
- _globals['_EXPERIMENT_USERISBOT']._serialized_start=5093
93
- _globals['_EXPERIMENT_USERISBOT']._serialized_end=5120
94
- _globals['_EXPERIMENT_USERAGERANGE']._serialized_start=5123
95
- _globals['_EXPERIMENT_USERAGERANGE']._serialized_end=5289
96
- _globals['_EXPERIMENT_FIXED64VALUE']._serialized_start=5291
97
- _globals['_EXPERIMENT_FIXED64VALUE']._serialized_end=5320
98
- _globals['_EXPERIMENT_USERIDRANGE']._serialized_start=5323
99
- _globals['_EXPERIMENT_USERIDRANGE']._serialized_end=5536
100
- _globals['_EXPERIMENT_USERHASFLAG']._serialized_start=5538
101
- _globals['_EXPERIMENT_USERHASFLAG']._serialized_end=5565
102
- _globals['_EXPERIMENT_UNITIDINRANGEBYHASH']._serialized_start=5567
103
- _globals['_EXPERIMENT_UNITIDINRANGEBYHASH']._serialized_end=5622
104
- _globals['_EXPERIMENT_CLIENTRELEASECHANNEL']._serialized_start=5624
105
- _globals['_EXPERIMENT_CLIENTRELEASECHANNEL']._serialized_end=5676
106
- _globals['_EXPERIMENT_ALWAYS']._serialized_start=5678
107
- _globals['_EXPERIMENT_ALWAYS']._serialized_end=5701
108
- _globals['_EXPERIMENT_CLIENTSYSTEMLOCALE']._serialized_start=5703
109
- _globals['_EXPERIMENT_CLIENTSYSTEMLOCALE']._serialized_end=5744
110
- _globals['_EXPERIMENT_UNITIDINEXPERIMENT']._serialized_start=5746
111
- _globals['_EXPERIMENT_UNITIDINEXPERIMENT']._serialized_end=5812
112
- _globals['_EXPERIMENT_FILTER']._serialized_start=5815
113
- _globals['_EXPERIMENT_FILTER']._serialized_end=7521
114
- _globals['_EXPERIMENT_OVERRIDE']._serialized_start=7523
115
- _globals['_EXPERIMENT_OVERRIDE']._serialized_end=7555
116
- _globals['_EXPERIMENT_RULE']._serialized_start=7558
117
- _globals['_EXPERIMENT_RULE']._serialized_end=7841
118
- _globals['_EXPERIMENT_UNITTYPE']._serialized_start=7843
119
- _globals['_EXPERIMENT_UNITTYPE']._serialized_end=7900
120
- _globals['_EXPERIMENT_TYPE']._serialized_start=7902
121
- _globals['_EXPERIMENT_TYPE']._serialized_end=7981
122
- _globals['_EXPERIMENT_PHASE']._serialized_start=7984
123
- _globals['_EXPERIMENT_PHASE']._serialized_end=8167
124
- _globals['_EXPERIMENT_SURFACE']._serialized_start=8169
125
- _globals['_EXPERIMENT_SURFACE']._serialized_end=8292
126
- _globals['_EXPERIMENT_EXPOSURETRACKING']._serialized_start=8294
127
- _globals['_EXPERIMENT_EXPOSURETRACKING']._serialized_end=8375
128
- _globals['_EXPERIMENT_ASSIGNMENTMODE']._serialized_start=8377
129
- _globals['_EXPERIMENT_ASSIGNMENTMODE']._serialized_end=8489
62
+ _globals['_EXPERIMENT_CLIENTREQUIREDCHANGES']._serialized_start=2543
63
+ _globals['_EXPERIMENT_CLIENTREQUIREDCHANGES']._serialized_end=2613
64
+ _globals['_EXPERIMENT_CLIENTPLATFORM']._serialized_start=2616
65
+ _globals['_EXPERIMENT_CLIENTPLATFORM']._serialized_end=3241
66
+ _globals['_EXPERIMENT_SDKVERSIONSPECIFIER']._serialized_start=3243
67
+ _globals['_EXPERIMENT_SDKVERSIONSPECIFIER']._serialized_end=3281
68
+ _globals['_EXPERIMENT_SDKVERSIONRANGEBOUND']._serialized_start=3284
69
+ _globals['_EXPERIMENT_SDKVERSIONRANGEBOUND']._serialized_end=3434
70
+ _globals['_EXPERIMENT_SDKVERSIONRANGE']._serialized_start=3437
71
+ _globals['_EXPERIMENT_SDKVERSIONRANGE']._serialized_end=3690
72
+ _globals['_EXPERIMENT_SDKVERSION']._serialized_start=3693
73
+ _globals['_EXPERIMENT_SDKVERSION']._serialized_end=3823
74
+ _globals['_EXPERIMENT_CLIENTOPERATINGSYSTEM']._serialized_start=3826
75
+ _globals['_EXPERIMENT_CLIENTOPERATINGSYSTEM']._serialized_end=4647
76
+ _globals['_EXPERIMENT_STAFFUSERS']._serialized_start=4649
77
+ _globals['_EXPERIMENT_STAFFUSERS']._serialized_end=4711
78
+ _globals['_EXPERIMENT_USERINGUILD']._serialized_start=4713
79
+ _globals['_EXPERIMENT_USERINGUILD']._serialized_end=4745
80
+ _globals['_EXPERIMENT_USERIDS']._serialized_start=4747
81
+ _globals['_EXPERIMENT_USERIDS']._serialized_end=4774
82
+ _globals['_EXPERIMENT_CLIENTLOCALE']._serialized_start=4776
83
+ _globals['_EXPERIMENT_CLIENTLOCALE']._serialized_end=4811
84
+ _globals['_EXPERIMENT_ISOREGION']._serialized_start=4813
85
+ _globals['_EXPERIMENT_ISOREGION']._serialized_end=4870
86
+ _globals['_EXPERIMENT_PLACE']._serialized_start=4872
87
+ _globals['_EXPERIMENT_PLACE']._serialized_end=4931
88
+ _globals['_EXPERIMENT_LOCATION']._serialized_start=4934
89
+ _globals['_EXPERIMENT_LOCATION']._serialized_end=5138
90
+ _globals['_EXPERIMENT_CLIENTLOCATION']._serialized_start=5140
91
+ _globals['_EXPERIMENT_CLIENTLOCATION']._serialized_end=5239
92
+ _globals['_EXPERIMENT_CLIENTIP']._serialized_start=5241
93
+ _globals['_EXPERIMENT_CLIENTIP']._serialized_end=5271
94
+ _globals['_EXPERIMENT_USERLOCALE']._serialized_start=5273
95
+ _globals['_EXPERIMENT_USERLOCALE']._serialized_end=5306
96
+ _globals['_EXPERIMENT_USERISBOT']._serialized_start=5308
97
+ _globals['_EXPERIMENT_USERISBOT']._serialized_end=5335
98
+ _globals['_EXPERIMENT_USERAGERANGE']._serialized_start=5338
99
+ _globals['_EXPERIMENT_USERAGERANGE']._serialized_end=5504
100
+ _globals['_EXPERIMENT_FIXED64VALUE']._serialized_start=5506
101
+ _globals['_EXPERIMENT_FIXED64VALUE']._serialized_end=5535
102
+ _globals['_EXPERIMENT_USERIDRANGE']._serialized_start=5538
103
+ _globals['_EXPERIMENT_USERIDRANGE']._serialized_end=5751
104
+ _globals['_EXPERIMENT_USERHASFLAG']._serialized_start=5753
105
+ _globals['_EXPERIMENT_USERHASFLAG']._serialized_end=5780
106
+ _globals['_EXPERIMENT_UNITIDINRANGEBYHASH']._serialized_start=5782
107
+ _globals['_EXPERIMENT_UNITIDINRANGEBYHASH']._serialized_end=5837
108
+ _globals['_EXPERIMENT_CLIENTRELEASECHANNEL']._serialized_start=5839
109
+ _globals['_EXPERIMENT_CLIENTRELEASECHANNEL']._serialized_end=5891
110
+ _globals['_EXPERIMENT_ALWAYS']._serialized_start=5893
111
+ _globals['_EXPERIMENT_ALWAYS']._serialized_end=5916
112
+ _globals['_EXPERIMENT_CLIENTSYSTEMLOCALE']._serialized_start=5918
113
+ _globals['_EXPERIMENT_CLIENTSYSTEMLOCALE']._serialized_end=5959
114
+ _globals['_EXPERIMENT_UNITIDINEXPERIMENT']._serialized_start=5961
115
+ _globals['_EXPERIMENT_UNITIDINEXPERIMENT']._serialized_end=6027
116
+ _globals['_EXPERIMENT_FILTER']._serialized_start=6030
117
+ _globals['_EXPERIMENT_FILTER']._serialized_end=7736
118
+ _globals['_EXPERIMENT_OVERRIDE']._serialized_start=7738
119
+ _globals['_EXPERIMENT_OVERRIDE']._serialized_end=7770
120
+ _globals['_EXPERIMENT_RULE']._serialized_start=7773
121
+ _globals['_EXPERIMENT_RULE']._serialized_end=8056
122
+ _globals['_EXPERIMENT_UNITTYPE']._serialized_start=8058
123
+ _globals['_EXPERIMENT_UNITTYPE']._serialized_end=8115
124
+ _globals['_EXPERIMENT_TYPE']._serialized_start=8117
125
+ _globals['_EXPERIMENT_TYPE']._serialized_end=8196
126
+ _globals['_EXPERIMENT_PHASE']._serialized_start=8199
127
+ _globals['_EXPERIMENT_PHASE']._serialized_end=8382
128
+ _globals['_EXPERIMENT_SURFACE']._serialized_start=8384
129
+ _globals['_EXPERIMENT_SURFACE']._serialized_end=8507
130
+ _globals['_EXPERIMENT_EXPOSURETRACKING']._serialized_start=8509
131
+ _globals['_EXPERIMENT_EXPOSURETRACKING']._serialized_end=8590
132
+ _globals['_EXPERIMENT_ASSIGNMENTMODE']._serialized_start=8592
133
+ _globals['_EXPERIMENT_ASSIGNMENTMODE']._serialized_end=8704
130
134
  # @@protoc_insertion_point(module_scope)
@@ -116,6 +116,10 @@ export interface Experiment {
116
116
  * @generated from protobuf field: bool is_template = 27
117
117
  */
118
118
  isTemplate: boolean;
119
+ /**
120
+ * @generated from protobuf field: repeated int32 field_numbers_to_copy = 28
121
+ */
122
+ fieldNumbersToCopy: number[];
119
123
  }
120
124
  /**
121
125
  * @generated from protobuf message discord_protos.discord_experimentation.v1.Experiment.Bucket
@@ -170,7 +170,8 @@ class Experiment$Type extends runtime_4.MessageType {
170
170
  { no: 23, name: "enable_edit_raw_json_ui", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
171
171
  { no: 24, name: "winning_variation_id", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
172
172
  { no: 26, name: "type", kind: "enum", T: () => ["discord_protos.discord_experimentation.v1.Experiment.Type", Experiment_Type, "TYPE_"] },
173
- { no: 27, name: "is_template", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
173
+ { no: 27, name: "is_template", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
174
+ { no: 28, name: "field_numbers_to_copy", kind: "scalar", repeat: 1 /*RepeatType.PACKED*/, T: 5 /*ScalarType.INT32*/ }
174
175
  ]);
175
176
  }
176
177
  create(value) {
@@ -197,6 +198,7 @@ class Experiment$Type extends runtime_4.MessageType {
197
198
  message.winningVariationId = 0;
198
199
  message.type = 0;
199
200
  message.isTemplate = false;
201
+ message.fieldNumbersToCopy = [];
200
202
  if (value !== undefined)
201
203
  (0, runtime_3.reflectionMergePartial)(this, message, value);
202
204
  return message;
@@ -288,6 +290,13 @@ class Experiment$Type extends runtime_4.MessageType {
288
290
  case /* bool is_template */ 27:
289
291
  message.isTemplate = reader.bool();
290
292
  break;
293
+ case /* repeated int32 field_numbers_to_copy */ 28:
294
+ if (wireType === runtime_2.WireType.LengthDelimited)
295
+ for (let e = reader.int32() + reader.pos; reader.pos < e;)
296
+ message.fieldNumbersToCopy.push(reader.int32());
297
+ else
298
+ message.fieldNumbersToCopy.push(reader.int32());
299
+ break;
291
300
  default:
292
301
  let u = options.readUnknownField;
293
302
  if (u === "throw")
@@ -382,6 +391,13 @@ class Experiment$Type extends runtime_4.MessageType {
382
391
  /* bool is_template = 27; */
383
392
  if (message.isTemplate !== false)
384
393
  writer.tag(27, runtime_2.WireType.Varint).bool(message.isTemplate);
394
+ /* repeated int32 field_numbers_to_copy = 28; */
395
+ if (message.fieldNumbersToCopy.length) {
396
+ writer.tag(28, runtime_2.WireType.LengthDelimited).fork();
397
+ for (let i = 0; i < message.fieldNumbersToCopy.length; i++)
398
+ writer.int32(message.fieldNumbersToCopy[i]);
399
+ writer.join();
400
+ }
385
401
  let u = options.writeUnknownFields;
386
402
  if (u !== false)
387
403
  (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.65",
3
+ "version": "1.2.66",
4
4
  "description": "A parser for Discord's protobufs",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",