steamutils 1.5.29 → 1.5.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/.idea/codeStyles/Project.xml +0 -1
  2. package/.prettierrc.json +3 -3
  3. package/SteamClient.js +3151 -3129
  4. package/axios.js +84 -84
  5. package/bufferHelpers.js +115 -115
  6. package/cheerio.js +103 -103
  7. package/const.js +570 -570
  8. package/create_proto.js +96 -96
  9. package/helpers/protos.js +48 -48
  10. package/index.js +8025 -8025
  11. package/package.json +1 -1
  12. package/protos/csgo/base_gcmessages.proto +553 -553
  13. package/protos/csgo/base_gcmessages_csgo.proto +547 -547
  14. package/protos/csgo/c_peer2peer_netmessages.proto +55 -55
  15. package/protos/csgo/clientmessages.proto +48 -48
  16. package/protos/csgo/connectionless_netmessages.proto +17 -17
  17. package/protos/csgo/cs_gameevents.proto +35 -35
  18. package/protos/csgo/cs_usercmd.proto +34 -34
  19. package/protos/csgo/cstrike15_gcmessages.proto +39 -0
  20. package/protos/csgo/cstrike15_usermessages.proto +592 -592
  21. package/protos/csgo/demo.proto +165 -165
  22. package/protos/csgo/econ_gcmessages.proto +219 -219
  23. package/protos/csgo/enums_clientserver.proto +1529 -1529
  24. package/protos/csgo/fatdemo.proto +125 -125
  25. package/protos/csgo/gameevents.proto +120 -120
  26. package/protos/csgo/gcsdk_gcmessages.proto +323 -323
  27. package/protos/csgo/gcsystemmsgs.proto +243 -243
  28. package/protos/csgo/netmessages.proto +618 -618
  29. package/protos/csgo/networkbasetypes.proto +246 -246
  30. package/protos/csgo/networksystem_protomessages.proto +17 -17
  31. package/protos/csgo/steamdatagram_messages_auth.proto +65 -65
  32. package/protos/csgo/steamdatagram_messages_sdr.proto +534 -534
  33. package/protos/csgo/steammessages_cloud.steamworkssdk.proto +68 -68
  34. package/protos/csgo/steammessages_gamenetworkingui.proto +61 -61
  35. package/protos/csgo/steammessages_helprequest.steamworkssdk.proto +22 -22
  36. package/protos/csgo/steammessages_oauth.steamworkssdk.proto +18 -18
  37. package/protos/csgo/steammessages_player.steamworkssdk.proto +254 -254
  38. package/protos/csgo/steammessages_publishedfile.steamworkssdk.proto +233 -233
  39. package/protos/csgo/steamnetworkingsockets_messages.proto +205 -205
  40. package/protos/csgo/steamnetworkingsockets_messages_certs.proto +39 -39
  41. package/protos/csgo/steamnetworkingsockets_messages_udp.proto +75 -75
  42. package/protos/csgo/te.proto +259 -259
  43. package/protos/csgo/uifontfile_format.proto +13 -13
  44. package/protos/csgo/usercmd.proto +39 -39
  45. package/protos/csgo/usermessages.proto +752 -752
  46. package/protos/google/protobuf/descriptor.proto +281 -281
  47. package/protos/steam/clientmetrics.proto +45 -45
  48. package/protos/steam/content_manifest.proto +62 -62
  49. package/protos/steam/contenthubs.proto +41 -41
  50. package/protos/steam/encrypted_app_ticket.proto +10 -10
  51. package/protos/steam/enums.proto +501 -501
  52. package/protos/steam/enums_clientserver.proto +1508 -1508
  53. package/protos/steam/enums_productinfo.proto +14 -14
  54. package/protos/steam/htmlmessages.proto +1039 -1039
  55. package/protos/steam/offline_ticket.proto +8 -8
  56. package/protos/steam/steamdatagram_messages_auth.proto +65 -65
  57. package/protos/steam/steamdatagram_messages_sdr.proto +533 -533
  58. package/protos/steam/steammessages_accounthardware.steamclient.proto +167 -167
  59. package/protos/steam/steammessages_appoverview.proto +204 -204
  60. package/protos/steam/steammessages_auth.steamclient.proto +375 -375
  61. package/protos/steam/steammessages_broadcast.steamclient.proto +618 -618
  62. package/protos/steam/steammessages_chat.steamclient.proto +1070 -1070
  63. package/protos/steam/steammessages_client_objects.proto +649 -649
  64. package/protos/steam/steammessages_clientlanp2p.proto +43 -43
  65. package/protos/steam/steammessages_clientmetrics.steamclient.proto +192 -192
  66. package/protos/steam/steammessages_clientnotificationtypes.proto +250 -250
  67. package/protos/steam/steammessages_clientserver.proto +392 -392
  68. package/protos/steam/steammessages_clientserver_2.proto +771 -771
  69. package/protos/steam/steammessages_clientserver_appinfo.proto +131 -131
  70. package/protos/steam/steammessages_clientserver_friends.proto +260 -260
  71. package/protos/steam/steammessages_clientserver_gameservers.proto +159 -159
  72. package/protos/steam/steammessages_clientserver_lbs.proto +70 -70
  73. package/protos/steam/steammessages_clientserver_login.proto +167 -167
  74. package/protos/steam/steammessages_clientserver_mms.proto +233 -233
  75. package/protos/steam/steammessages_clientserver_ucm.proto +207 -207
  76. package/protos/steam/steammessages_clientserver_uds.proto +125 -125
  77. package/protos/steam/steammessages_clientserver_ufs.proto +45 -45
  78. package/protos/steam/steammessages_clientserver_userstats.proto +80 -80
  79. package/protos/steam/steammessages_cloud.steamclient.proto +422 -422
  80. package/protos/steam/steammessages_contentsystem.steamclient.proto +123 -123
  81. package/protos/steam/steammessages_credentials.steamclient.proto +96 -96
  82. package/protos/steam/steammessages_datapublisher.steamclient.proto +102 -102
  83. package/protos/steam/steammessages_depotbuilder.steamclient.proto +99 -99
  84. package/protos/steam/steammessages_deviceauth.steamclient.proto +169 -169
  85. package/protos/steam/steammessages_econ.steamclient.proto +137 -137
  86. package/protos/steam/steammessages_familygroups.steamclient.proto +441 -441
  87. package/protos/steam/steammessages_friendmessages.steamclient.proto +141 -141
  88. package/protos/steam/steammessages_gamenetworking.steamclient.proto +25 -25
  89. package/protos/steam/steammessages_gamenetworkingui.proto +61 -61
  90. package/protos/steam/steammessages_gamenotifications.steamclient.proto +131 -131
  91. package/protos/steam/steammessages_gameservers.steamclient.proto +136 -136
  92. package/protos/steam/steammessages_hiddevices.proto +157 -157
  93. package/protos/steam/steammessages_inventory.steamclient.proto +172 -172
  94. package/protos/steam/steammessages_linkfilter.steamclient.proto +39 -39
  95. package/protos/steam/steammessages_lobbymatchmaking.steamclient.proto +29 -29
  96. package/protos/steam/steammessages_market.steamclient.proto +22 -22
  97. package/protos/steam/steammessages_marketingmessages.steamclient.proto +273 -273
  98. package/protos/steam/steammessages_offline.steamclient.proto +33 -33
  99. package/protos/steam/steammessages_parental.steamclient.proto +262 -262
  100. package/protos/steam/steammessages_parties.steamclient.proto +75 -75
  101. package/protos/steam/steammessages_partnerapps.steamclient.proto +106 -106
  102. package/protos/steam/steammessages_player.steamclient.proto +915 -915
  103. package/protos/steam/steammessages_publishedfile.steamclient.proto +737 -737
  104. package/protos/steam/steammessages_qms.steamclient.proto +111 -111
  105. package/protos/steam/steammessages_remoteclient.proto +100 -100
  106. package/protos/steam/steammessages_remoteclient_discovery.proto +244 -244
  107. package/protos/steam/steammessages_remoteclient_service.steamclient.proto +31 -31
  108. package/protos/steam/steammessages_remoteclient_service_messages.proto +217 -217
  109. package/protos/steam/steammessages_remoteplay.proto +975 -975
  110. package/protos/steam/steammessages_secrets.steamclient.proto +35 -35
  111. package/protos/steam/steammessages_shader.steamclient.proto +89 -89
  112. package/protos/steam/steammessages_site_license.steamclient.proto +103 -103
  113. package/protos/steam/steammessages_sitelicenseclient.proto +38 -38
  114. package/protos/steam/steammessages_siteserverui.proto +130 -130
  115. package/protos/steam/steammessages_steamtv.steamclient.proto +533 -533
  116. package/protos/steam/steammessages_store.steamclient.proto +404 -404
  117. package/protos/steam/steammessages_storebrowse.steamclient.proto +457 -457
  118. package/protos/steam/steammessages_timedtrial.steamclient.proto +40 -40
  119. package/protos/steam/steammessages_twofactor.steamclient.proto +157 -157
  120. package/protos/steam/steammessages_unified_test.steamclient.proto +51 -51
  121. package/protos/steam/steammessages_useraccount.steamclient.proto +211 -211
  122. package/protos/steam/steammessages_vac.steamclient.proto +37 -37
  123. package/protos/steam/steammessages_video.steamclient.proto +68 -68
  124. package/protos/steam/steammessages_virtualcontroller.proto +138 -138
  125. package/protos/steam/steammessages_workshop.steamclient.proto +19 -19
  126. package/protos/steam/steamnetworkingsockets_messages.proto +205 -205
  127. package/protos/steam/steamnetworkingsockets_messages_certs.proto +39 -39
  128. package/protos/steam/steamnetworkingsockets_messages_udp.proto +75 -75
  129. package/protos/steam/webuimessages_achievements.proto +29 -29
  130. package/protos/steam/webuimessages_gamenotes.proto +21 -21
  131. package/protos/steam/webuimessages_gamescope.proto +57 -57
  132. package/protos/steam/webuimessages_steamengine.proto +41 -41
  133. package/protos/steam/webuimessages_steamos.proto +114 -114
  134. package/protos/steam/webuimessages_storagedevicemanager.proto +110 -110
  135. package/protos/steam/webuimessages_systemmanager.proto +17 -17
  136. package/protos/steam/webuimessages_transport.proto +22 -22
  137. package/protos/steam/webuimessages_transportvalidation.proto +111 -111
  138. package/protos/webui/common.proto +4024 -4024
  139. package/protos/webui/service_accountcart.proto +153 -153
  140. package/protos/webui/service_accountlinking.proto +27 -27
  141. package/protos/webui/service_accountprivacy.proto +42 -42
  142. package/protos/webui/service_accountprivateapps.proto +34 -34
  143. package/protos/webui/service_auction.proto +97 -97
  144. package/protos/webui/service_authentication.proto +222 -222
  145. package/protos/webui/service_authenticationsupport.proto +74 -74
  146. package/protos/webui/service_broadcast.proto +562 -562
  147. package/protos/webui/service_chat.proto +11 -11
  148. package/protos/webui/service_chatroom.proto +810 -810
  149. package/protos/webui/service_chatusability.proto +107 -107
  150. package/protos/webui/service_checkout.proto +84 -84
  151. package/protos/webui/service_clan.proto +41 -41
  152. package/protos/webui/service_clanchatrooms.proto +25 -25
  153. package/protos/webui/service_clanfaqs.proto +202 -202
  154. package/protos/webui/service_clientcomm.proto +151 -151
  155. package/protos/webui/service_clientmetrics.proto +22 -22
  156. package/protos/webui/service_cloud.proto +222 -222
  157. package/protos/webui/service_cloudconfigstore.proto +51 -51
  158. package/protos/webui/service_cloudgaming.proto +30 -30
  159. package/protos/webui/service_community.proto +365 -365
  160. package/protos/webui/service_dailydeal.proto +89 -89
  161. package/protos/webui/service_econ.proto +134 -134
  162. package/protos/webui/service_embedded.proto +24 -24
  163. package/protos/webui/service_experimentservice.proto +6 -6
  164. package/protos/webui/service_familygroups.proto +355 -355
  165. package/protos/webui/service_fovasvideo.proto +15 -15
  166. package/protos/webui/service_friendmessages.proto +133 -133
  167. package/protos/webui/service_friendslist.proto +70 -70
  168. package/protos/webui/service_gamenotes.proto +15 -15
  169. package/protos/webui/service_gamerecording.proto +265 -265
  170. package/protos/webui/service_gamerecordingclip.proto +85 -85
  171. package/protos/webui/service_gamerecordingdebug.proto +52 -52
  172. package/protos/webui/service_helprequestlogs.proto +16 -16
  173. package/protos/webui/service_loyaltyrewards.proto +252 -252
  174. package/protos/webui/service_marketingmessages.proto +215 -215
  175. package/protos/webui/service_mobileapp.proto +18 -18
  176. package/protos/webui/service_mobileauth.proto +24 -24
  177. package/protos/webui/service_mobiledevice.proto +26 -26
  178. package/protos/webui/service_mobileperaccount.proto +31 -31
  179. package/protos/webui/service_news.proto +110 -110
  180. package/protos/webui/service_parental.proto +258 -258
  181. package/protos/webui/service_partnermembershipinvite.proto +34 -34
  182. package/protos/webui/service_partnerstorebrowse.proto +28 -28
  183. package/protos/webui/service_phone.proto +51 -51
  184. package/protos/webui/service_physicalgoods.proto +15 -15
  185. package/protos/webui/service_player.proto +918 -918
  186. package/protos/webui/service_promotioneventinvites.proto +109 -109
  187. package/protos/webui/service_promotionplanning.proto +186 -186
  188. package/protos/webui/service_promotionstats.proto +23 -23
  189. package/protos/webui/service_publishedfile.proto +714 -714
  190. package/protos/webui/service_publishing.proto +200 -200
  191. package/protos/webui/service_quest.proto +127 -127
  192. package/protos/webui/service_salefeature.proto +373 -373
  193. package/protos/webui/service_saleitemrewards.proto +54 -54
  194. package/protos/webui/service_shoppingcart.proto +152 -152
  195. package/protos/webui/service_steamawards.proto +76 -76
  196. package/protos/webui/service_steamcharts.proto +75 -75
  197. package/protos/webui/service_steamengine.proto +36 -36
  198. package/protos/webui/service_steamlearn.proto +876 -876
  199. package/protos/webui/service_steamnotification.proto +73 -73
  200. package/protos/webui/service_steamtv.proto +495 -495
  201. package/protos/webui/service_steamvrvoicechat.proto +67 -67
  202. package/protos/webui/service_steamvrwebrtc.proto +48 -48
  203. package/protos/webui/service_storagedevicemanager.proto +104 -104
  204. package/protos/webui/service_store.proto +359 -359
  205. package/protos/webui/service_storeappsimilarity.proto +76 -76
  206. package/protos/webui/service_storebrowse.proto +103 -103
  207. package/protos/webui/service_storemarketing.proto +44 -44
  208. package/protos/webui/service_storequery.proto +103 -103
  209. package/protos/webui/service_storesales.proto +87 -87
  210. package/protos/webui/service_storetopsellers.proto +44 -44
  211. package/protos/webui/service_systemmanager.proto +11 -11
  212. package/protos/webui/service_test_transporterror.proto +6 -6
  213. package/protos/webui/service_transportauth.proto +17 -17
  214. package/protos/webui/service_transportvalidation.proto +69 -69
  215. package/protos/webui/service_twofactor.proto +170 -170
  216. package/protos/webui/service_useraccount.proto +142 -142
  217. package/protos/webui/service_usergameactivity.proto +34 -34
  218. package/protos/webui/service_usergamenotes.proto +70 -70
  219. package/protos/webui/service_usernews.proto +68 -68
  220. package/protos/webui/service_userreviews.proto +97 -97
  221. package/protos/webui/service_video.proto +50 -50
  222. package/protos/webui/service_videoclip.proto +62 -62
  223. package/protos/webui/service_voicechat.proto +139 -139
  224. package/protos/webui/service_webrtc.proto +52 -52
  225. package/remote.js +2268 -2268
  226. package/steamproto.js +150 -150
  227. package/.idea/deployment.xml +0 -14
  228. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  229. package/.idea/jsLibraryMappings.xml +0 -6
  230. package/.idea/jsLinters/eslint.xml +0 -6
  231. package/.idea/prettier.xml +0 -7
  232. package/full_steamproto.js +0 -41
@@ -1,457 +1,457 @@
1
- import "steammessages_base.proto";
2
- import "steammessages_unified_base.steamclient.proto";
3
- import "enums_productinfo.proto";
4
- import "enums.proto";
5
- import "contenthubs.proto";
6
-
7
- option cc_generic_services = true;
8
-
9
- enum EStoreItemType {
10
- k_EStoreItemType_Invalid = -1;
11
- k_EStoreItemType_App = 0;
12
- k_EStoreItemType_Package = 1;
13
- k_EStoreItemType_Bundle = 2;
14
- k_EStoreItemType_Mtx = 3;
15
- k_EStoreItemType_Tag = 4;
16
- k_EStoreItemType_Creator = 5;
17
- k_EStoreItemType_HubCategory = 6;
18
- }
19
-
20
- enum EStoreAppType {
21
- k_EStoreAppType_Game = 0;
22
- k_EStoreAppType_Demo = 1;
23
- k_EStoreAppType_Mod = 2;
24
- k_EStoreAppType_Movie = 3;
25
- k_EStoreAppType_DLC = 4;
26
- k_EStoreAppType_Guide = 5;
27
- k_EStoreAppType_Software = 6;
28
- k_EStoreAppType_Video = 7;
29
- k_EStoreAppType_Series = 8;
30
- k_EStoreAppType_Episode = 9;
31
- k_EStoreAppType_Hardware = 10;
32
- k_EStoreAppType_Music = 11;
33
- k_EStoreAppType_Beta = 12;
34
- k_EStoreAppType_Tool = 13;
35
- k_EStoreAppType_Advertising = 14;
36
- }
37
-
38
- enum EUserReviewScore {
39
- k_EUserReviewScore_None = 0;
40
- k_EUserReviewScore_OverwhelminglyNegative = 1;
41
- k_EUserReviewScore_VeryNegative = 2;
42
- k_EUserReviewScore_Negative = 3;
43
- k_EUserReviewScore_MostlyNegative = 4;
44
- k_EUserReviewScore_Mixed = 5;
45
- k_EUserReviewScore_MostlyPositive = 6;
46
- k_EUserReviewScore_Positive = 7;
47
- k_EUserReviewScore_VeryPositive = 8;
48
- k_EUserReviewScore_OverwhelminglyPositive = 9;
49
- }
50
-
51
- enum EStoreBrowseFilterFailure {
52
- k_EStoreBrowseFilterFailure_None = 0;
53
- k_EStoreBrowseFilterFailure_Redundant = 10;
54
- k_EStoreBrowseFilterFailure_NotPreferred = 20;
55
- k_EStoreBrowseFilterFailure_NotInterested = 30;
56
- k_EStoreBrowseFilterFailure_UnwantedContent = 40;
57
- }
58
-
59
- enum EStoreCategoryType {
60
- k_EStoreCategoryType_Category = 0;
61
- k_EStoreCategoryType_SupportedPlayers = 1;
62
- k_EStoreCategoryType_Feature = 2;
63
- k_EStoreCategoryType_ControllerSupport = 3;
64
- k_EStoreCategoryType_CloudGaming = 4;
65
- k_EStoreCategoryType_MAX = 5;
66
- }
67
-
68
- message StoreItemID {
69
- optional uint32 appid = 1;
70
- optional uint32 packageid = 2;
71
- optional uint32 bundleid = 3;
72
- optional uint32 tagid = 4;
73
- optional uint32 creatorid = 5;
74
- optional uint32 hubcategoryid = 6;
75
- }
76
-
77
- message StoreBrowseContext {
78
- optional string language = 1;
79
- optional int32 elanguage = 2;
80
- optional string country_code = 3;
81
- optional int32 steam_realm = 4;
82
- }
83
-
84
- message StoreBrowseItemDataRequest {
85
- optional bool include_assets = 1;
86
- optional bool include_release = 2;
87
- optional bool include_platforms = 3;
88
- optional bool include_all_purchase_options = 4;
89
- optional bool include_screenshots = 5;
90
- optional bool include_trailers = 6;
91
- optional bool include_ratings = 7;
92
- optional int32 include_tag_count = 8;
93
- optional bool include_reviews = 9;
94
- optional bool include_basic_info = 10;
95
- optional bool include_supported_languages = 11;
96
- optional bool include_full_description = 12;
97
- optional bool include_included_items = 13;
98
- optional .StoreBrowseItemDataRequest included_item_data_request = 14;
99
- optional bool include_assets_without_overrides = 15;
100
- optional bool apply_user_filters = 16;
101
- }
102
-
103
- message CStoreBrowse_GetItems_Request {
104
- repeated .StoreItemID ids = 1;
105
- optional .StoreBrowseContext context = 2;
106
- optional .StoreBrowseItemDataRequest data_request = 3;
107
- }
108
-
109
- message StoreItem {
110
- message RelatedItems {
111
- optional uint32 parent_appid = 1;
112
- }
113
-
114
- message IncludedItems {
115
- repeated .StoreItem included_apps = 1;
116
- repeated .StoreItem included_packages = 2;
117
- }
118
-
119
- message Categories {
120
- repeated uint32 supported_player_categoryids = 2;
121
- repeated uint32 feature_categoryids = 3;
122
- repeated uint32 controller_categoryids = 4;
123
- }
124
-
125
- message Reviews {
126
- message StoreReviewSummary {
127
- optional uint32 review_count = 1;
128
- optional int32 percent_positive = 2;
129
- optional .EUserReviewScore review_score = 3 [default = k_EUserReviewScore_None];
130
- optional string review_score_label = 4;
131
- }
132
-
133
- optional .StoreItem.Reviews.StoreReviewSummary summary_filtered = 1;
134
- optional .StoreItem.Reviews.StoreReviewSummary summary_unfiltered = 2;
135
- }
136
-
137
- message BasicInfo {
138
- message CreatorHomeLink {
139
- optional string name = 1;
140
- optional uint32 creator_clan_account_id = 2;
141
- }
142
-
143
- optional string short_description = 1;
144
- repeated .StoreItem.BasicInfo.CreatorHomeLink publishers = 2;
145
- repeated .StoreItem.BasicInfo.CreatorHomeLink developers = 3;
146
- repeated .StoreItem.BasicInfo.CreatorHomeLink franchises = 4;
147
- optional string capsule_headline = 5;
148
- }
149
-
150
- message Tag {
151
- optional uint32 tagid = 1;
152
- optional uint32 weight = 2;
153
- }
154
-
155
- message Assets {
156
- optional string asset_url_format = 1;
157
- optional string main_capsule = 2;
158
- optional string small_capsule = 3;
159
- optional string header = 4;
160
- optional string package_header = 5;
161
- optional string page_background = 6;
162
- optional string hero_capsule = 7;
163
- optional string hero_capsule_2x = 8;
164
- optional string library_capsule = 9;
165
- optional string library_capsule_2x = 10;
166
- optional string library_hero = 11;
167
- optional string library_hero_2x = 12;
168
- optional string community_icon = 13;
169
- optional string clan_avatar = 14;
170
- }
171
-
172
- message ReleaseInfo {
173
- optional uint32 steam_release_date = 1;
174
- optional uint32 original_release_date = 2;
175
- optional uint32 original_steam_release_date = 3;
176
- optional bool is_coming_soon = 4;
177
- optional bool is_preload = 5;
178
- optional string custom_release_date_message = 6;
179
- optional bool is_abridged_release_date = 7;
180
- optional string coming_soon_display = 8;
181
- optional bool is_early_access = 10;
182
- optional uint32 mac_release_date = 20;
183
- optional uint32 linux_release_date = 21;
184
- }
185
-
186
- message Platforms {
187
- message VRSupport {
188
- optional bool vrhmd = 1;
189
- optional bool vrhmd_only = 2;
190
- optional bool htc_vive = 40;
191
- optional bool oculus_rift = 41;
192
- optional bool windows_mr = 42;
193
- optional bool valve_index = 43;
194
- }
195
-
196
- optional bool windows = 1;
197
- optional bool mac = 2;
198
- optional bool steamos_linux = 3;
199
- optional .StoreItem.Platforms.VRSupport vr_support = 10;
200
- optional .ESteamDeckCompatibilityCategory steam_deck_compat_category = 11 [default = k_ESteamDeckCompatibilityCategory_Unknown];
201
- }
202
-
203
- message PurchaseOption {
204
- message Discount {
205
- optional int64 discount_amount = 1;
206
- optional string discount_description = 2;
207
- optional uint32 discount_end_date = 3;
208
- }
209
-
210
- message RecurrenceInfo {
211
- optional int32 packageid = 1;
212
- optional int32 billing_agreement_type = 2;
213
- optional int32 renewal_time_unit = 3;
214
- optional int32 renewal_time_period = 4;
215
- }
216
-
217
- optional int32 packageid = 1;
218
- optional int32 bundleid = 2;
219
- optional string purchase_option_name = 3;
220
- optional int64 final_price_in_cents = 5;
221
- optional int64 original_price_in_cents = 6;
222
- optional int64 user_final_price_in_cents = 7;
223
- optional string formatted_final_price = 8;
224
- optional string formatted_original_price = 9;
225
- optional int32 discount_pct = 10;
226
- optional int32 user_discount_pct = 11;
227
- optional int32 bundle_discount_pct = 12;
228
- repeated .StoreItem.PurchaseOption.Discount active_discounts = 20;
229
- repeated .StoreItem.PurchaseOption.Discount user_active_discounts = 21;
230
- repeated .StoreItem.PurchaseOption.Discount inactive_discounts = 22;
231
- optional bool user_can_purchase = 30;
232
- optional bool user_can_purchase_as_gift = 31;
233
- optional bool is_commercial_license = 40;
234
- optional bool should_suppress_discount_pct = 41;
235
- optional bool hide_discount_pct_for_compliance = 42 [default = false];
236
- optional int32 included_game_count = 43;
237
- optional int64 lowest_recent_price_in_cents = 44;
238
- optional bool requires_shipping = 45;
239
- optional .StoreItem.PurchaseOption.RecurrenceInfo recurrence_info = 46;
240
- }
241
-
242
- message Screenshots {
243
- message Screenshot {
244
- optional string filename = 1;
245
- optional int32 ordinal = 2;
246
- }
247
-
248
- repeated .StoreItem.Screenshots.Screenshot all_ages_screenshots = 2;
249
- repeated .StoreItem.Screenshots.Screenshot mature_content_screenshots = 3;
250
- }
251
-
252
- message Trailers {
253
- message VideoSource {
254
- optional string filename = 1;
255
- optional string type = 2;
256
- }
257
-
258
- message Trailer {
259
- optional string trailer_name = 1;
260
- optional string trailer_url_format = 2;
261
- repeated .StoreItem.Trailers.VideoSource trailer_480p = 3;
262
- repeated .StoreItem.Trailers.VideoSource trailer_max = 4;
263
- repeated .StoreItem.Trailers.VideoSource microtrailer = 5;
264
- optional string screenshot_medium = 10;
265
- optional string screenshot_full = 11;
266
- optional int32 trailer_base_id = 12;
267
- }
268
-
269
- repeated .StoreItem.Trailers.Trailer highlights = 1;
270
- repeated .StoreItem.Trailers.Trailer other_trailers = 2;
271
- }
272
-
273
- message SupportedLanguage {
274
- optional int32 elanguage = 1 [default = -1];
275
- optional int32 eadditionallanguage = 5 [default = -1];
276
- optional bool supported = 2;
277
- optional bool full_audio = 3;
278
- optional bool subtitles = 4;
279
- }
280
-
281
- message FreeWeekend {
282
- optional uint32 start_time = 1;
283
- optional uint32 end_time = 2;
284
- optional string text = 3;
285
- }
286
-
287
- optional .EStoreItemType item_type = 1 [default = k_EStoreItemType_Invalid];
288
- optional uint32 id = 2;
289
- optional uint32 success = 3;
290
- optional bool visible = 4;
291
- optional bool unvailable_for_country_restriction = 5;
292
- optional string name = 6;
293
- optional string store_url_path = 7;
294
- optional uint32 appid = 9;
295
- optional .EStoreAppType type = 10 [default = k_EStoreAppType_Game];
296
- repeated .EStoreAppType included_types = 11;
297
- repeated uint32 included_appids = 12;
298
- optional bool is_free = 13;
299
- optional bool is_early_access = 14;
300
- optional .StoreItem.RelatedItems related_items = 15;
301
- optional .StoreItem.IncludedItems included_items = 16;
302
- repeated .EContentDescriptorID content_descriptorids = 20;
303
- repeated uint32 tagids = 21;
304
- optional .StoreItem.Categories categories = 22;
305
- optional .StoreItem.Reviews reviews = 23;
306
- optional .StoreItem.BasicInfo basic_info = 24;
307
- repeated .StoreItem.Tag tags = 25;
308
- optional .StoreItem.Assets assets = 30;
309
- optional .StoreItem.ReleaseInfo release = 31;
310
- optional .StoreItem.Platforms platforms = 32;
311
- optional .StoreGameRating game_rating = 33;
312
- optional .StoreItem.PurchaseOption best_purchase_option = 40;
313
- repeated .StoreItem.PurchaseOption purchase_options = 41;
314
- repeated .StoreItem.PurchaseOption accessories = 42;
315
- optional .StoreItem.PurchaseOption self_purchase_option = 43;
316
- optional .StoreItem.Screenshots screenshots = 50;
317
- optional .StoreItem.Trailers trailers = 51;
318
- repeated .StoreItem.SupportedLanguage supported_languages = 52;
319
- optional string store_url_path_override = 53;
320
- optional .StoreItem.FreeWeekend free_weekend = 54;
321
- optional bool unlisted = 55;
322
- optional uint32 game_count = 56;
323
- optional string internal_name = 57;
324
- optional string full_description = 58;
325
- optional bool is_free_temporarily = 59;
326
- optional .StoreItem.Assets assets_without_overrides = 60;
327
- optional .StoreBrowseFilterFailure user_filter_failure = 70;
328
- }
329
-
330
- message StoreGameRating {
331
- optional string type = 1;
332
- optional string rating = 2;
333
- repeated string descriptors = 3;
334
- optional string interactive_elements = 4;
335
- optional int32 required_age = 10;
336
- optional bool use_age_gate = 11;
337
- optional string image_url = 20;
338
- optional string image_target = 21;
339
- }
340
-
341
- message StoreBrowseFilterFailure {
342
- optional .EStoreBrowseFilterFailure filter_failure = 1 [default = k_EStoreBrowseFilterFailure_None];
343
- optional bool already_owned = 5;
344
- optional bool on_wishlist = 6;
345
- optional bool ignored = 7;
346
- optional bool not_in_users_language = 10;
347
- optional bool not_on_users_platform = 11;
348
- optional bool demo_for_owned_game = 12;
349
- optional bool dlc_for_unowned_game = 13;
350
- optional bool nonpreferred_product_type = 20;
351
- repeated uint32 excluded_tagids = 21;
352
- repeated .EContentDescriptorID excluded_content_descriptorids = 30;
353
- }
354
-
355
- message CStoreBrowse_GetItems_Response {
356
- repeated .StoreItem store_items = 1;
357
- }
358
-
359
- message CStoreBrowse_GetStoreCategories_Request {
360
- optional string language = 1;
361
- optional int32 elanguage = 2 [default = -1];
362
- }
363
-
364
- message CStoreBrowse_GetStoreCategories_Response {
365
- message Category {
366
- optional uint32 categoryid = 1;
367
- optional .EStoreCategoryType type = 2 [default = k_EStoreCategoryType_Category];
368
- optional string internal_name = 3;
369
- optional string display_name = 4;
370
- optional string image_url = 5;
371
- optional bool show_in_search = 6;
372
- optional bool computed = 7;
373
- }
374
-
375
- repeated .CStoreBrowse_GetStoreCategories_Response.Category categories = 1;
376
- }
377
-
378
- message CStoreBrowse_GetDLCForApps_Request {
379
- optional .StoreBrowseContext context = 1;
380
- optional .CStorePageFilter store_page_filter = 2;
381
- repeated .StoreItemID appids = 3;
382
- optional uint64 steamid = 4;
383
- }
384
-
385
- message CStoreBrowse_GetDLCForApps_Response {
386
- message DLCData {
387
- optional uint32 appid = 1;
388
- optional uint32 parentappid = 2;
389
- optional uint32 release_date = 3;
390
- optional bool coming_soon = 4;
391
- optional int64 price = 5;
392
- optional uint32 discount = 6;
393
- optional bool free = 7;
394
- }
395
-
396
- message PlaytimeForApp {
397
- optional uint32 appid = 1;
398
- optional uint32 playtime = 2;
399
- optional uint32 last_played = 3;
400
- }
401
-
402
- repeated .CStoreBrowse_GetDLCForApps_Response.DLCData dlc_data = 1;
403
- repeated .CStoreBrowse_GetDLCForApps_Response.PlaytimeForApp playtime = 2;
404
- }
405
-
406
- message CStoreBrowse_GetDLCForAppsSolr_Request {
407
- optional .StoreBrowseContext context = 1;
408
- repeated uint32 appids = 2;
409
- optional string flavor = 3;
410
- optional uint32 count = 4;
411
- optional .CStorePageFilter store_page_filter = 5;
412
- }
413
-
414
- message CStoreBrowse_GetDLCForAppsSolr_Response {
415
- message DLCList {
416
- optional uint32 parent_appid = 1;
417
- repeated uint32 dlc_appids = 2;
418
- }
419
-
420
- repeated .CStoreBrowse_GetDLCForAppsSolr_Response.DLCList dlc_lists = 1;
421
- }
422
-
423
- message CStoreBrowse_GetHardwareItems_Request {
424
- repeated uint32 packageid = 1;
425
- optional .StoreBrowseContext context = 2;
426
- }
427
-
428
- message CHardwarePackageDetails {
429
- optional uint32 packageid = 1;
430
- optional bool inventory_available = 3;
431
- optional bool high_pending_orders = 4;
432
- optional bool account_restricted_from_purchasing = 5;
433
- optional bool requires_reservation = 6;
434
- optional uint32 rtime_estimated_notification = 7;
435
- optional string notificaton_token = 8;
436
- optional int32 reservation_state = 9;
437
- optional bool expired = 10;
438
- optional uint32 time_expires = 11;
439
- optional uint32 time_reserved = 12;
440
- optional bool allow_quantity_purchase = 13;
441
- optional int32 max_quantity_per_purchase = 14;
442
- optional bool allow_purchase_in_country = 15;
443
- optional uint32 estimated_delivery_soonest_business_days = 17;
444
- optional uint32 estimated_delivery_latest_business_days = 18;
445
- }
446
-
447
- message CStoreBrowse_GetHardwareItems_Response {
448
- repeated .CHardwarePackageDetails details = 1;
449
- }
450
-
451
- service StoreBrowse {
452
- rpc GetItems (.CStoreBrowse_GetItems_Request) returns (.CStoreBrowse_GetItems_Response);
453
- rpc GetStoreCategories (.CStoreBrowse_GetStoreCategories_Request) returns (.CStoreBrowse_GetStoreCategories_Response);
454
- rpc GetDLCForApps (.CStoreBrowse_GetDLCForApps_Request) returns (.CStoreBrowse_GetDLCForApps_Response);
455
- rpc GetDLCForAppsSolr (.CStoreBrowse_GetDLCForAppsSolr_Request) returns (.CStoreBrowse_GetDLCForAppsSolr_Response);
456
- rpc GetHardwareItems (.CStoreBrowse_GetHardwareItems_Request) returns (.CStoreBrowse_GetHardwareItems_Response);
457
- }
1
+ import "steammessages_base.proto";
2
+ import "steammessages_unified_base.steamclient.proto";
3
+ import "enums_productinfo.proto";
4
+ import "enums.proto";
5
+ import "contenthubs.proto";
6
+
7
+ option cc_generic_services = true;
8
+
9
+ enum EStoreItemType {
10
+ k_EStoreItemType_Invalid = -1;
11
+ k_EStoreItemType_App = 0;
12
+ k_EStoreItemType_Package = 1;
13
+ k_EStoreItemType_Bundle = 2;
14
+ k_EStoreItemType_Mtx = 3;
15
+ k_EStoreItemType_Tag = 4;
16
+ k_EStoreItemType_Creator = 5;
17
+ k_EStoreItemType_HubCategory = 6;
18
+ }
19
+
20
+ enum EStoreAppType {
21
+ k_EStoreAppType_Game = 0;
22
+ k_EStoreAppType_Demo = 1;
23
+ k_EStoreAppType_Mod = 2;
24
+ k_EStoreAppType_Movie = 3;
25
+ k_EStoreAppType_DLC = 4;
26
+ k_EStoreAppType_Guide = 5;
27
+ k_EStoreAppType_Software = 6;
28
+ k_EStoreAppType_Video = 7;
29
+ k_EStoreAppType_Series = 8;
30
+ k_EStoreAppType_Episode = 9;
31
+ k_EStoreAppType_Hardware = 10;
32
+ k_EStoreAppType_Music = 11;
33
+ k_EStoreAppType_Beta = 12;
34
+ k_EStoreAppType_Tool = 13;
35
+ k_EStoreAppType_Advertising = 14;
36
+ }
37
+
38
+ enum EUserReviewScore {
39
+ k_EUserReviewScore_None = 0;
40
+ k_EUserReviewScore_OverwhelminglyNegative = 1;
41
+ k_EUserReviewScore_VeryNegative = 2;
42
+ k_EUserReviewScore_Negative = 3;
43
+ k_EUserReviewScore_MostlyNegative = 4;
44
+ k_EUserReviewScore_Mixed = 5;
45
+ k_EUserReviewScore_MostlyPositive = 6;
46
+ k_EUserReviewScore_Positive = 7;
47
+ k_EUserReviewScore_VeryPositive = 8;
48
+ k_EUserReviewScore_OverwhelminglyPositive = 9;
49
+ }
50
+
51
+ enum EStoreBrowseFilterFailure {
52
+ k_EStoreBrowseFilterFailure_None = 0;
53
+ k_EStoreBrowseFilterFailure_Redundant = 10;
54
+ k_EStoreBrowseFilterFailure_NotPreferred = 20;
55
+ k_EStoreBrowseFilterFailure_NotInterested = 30;
56
+ k_EStoreBrowseFilterFailure_UnwantedContent = 40;
57
+ }
58
+
59
+ enum EStoreCategoryType {
60
+ k_EStoreCategoryType_Category = 0;
61
+ k_EStoreCategoryType_SupportedPlayers = 1;
62
+ k_EStoreCategoryType_Feature = 2;
63
+ k_EStoreCategoryType_ControllerSupport = 3;
64
+ k_EStoreCategoryType_CloudGaming = 4;
65
+ k_EStoreCategoryType_MAX = 5;
66
+ }
67
+
68
+ message StoreItemID {
69
+ optional uint32 appid = 1;
70
+ optional uint32 packageid = 2;
71
+ optional uint32 bundleid = 3;
72
+ optional uint32 tagid = 4;
73
+ optional uint32 creatorid = 5;
74
+ optional uint32 hubcategoryid = 6;
75
+ }
76
+
77
+ message StoreBrowseContext {
78
+ optional string language = 1;
79
+ optional int32 elanguage = 2;
80
+ optional string country_code = 3;
81
+ optional int32 steam_realm = 4;
82
+ }
83
+
84
+ message StoreBrowseItemDataRequest {
85
+ optional bool include_assets = 1;
86
+ optional bool include_release = 2;
87
+ optional bool include_platforms = 3;
88
+ optional bool include_all_purchase_options = 4;
89
+ optional bool include_screenshots = 5;
90
+ optional bool include_trailers = 6;
91
+ optional bool include_ratings = 7;
92
+ optional int32 include_tag_count = 8;
93
+ optional bool include_reviews = 9;
94
+ optional bool include_basic_info = 10;
95
+ optional bool include_supported_languages = 11;
96
+ optional bool include_full_description = 12;
97
+ optional bool include_included_items = 13;
98
+ optional .StoreBrowseItemDataRequest included_item_data_request = 14;
99
+ optional bool include_assets_without_overrides = 15;
100
+ optional bool apply_user_filters = 16;
101
+ }
102
+
103
+ message CStoreBrowse_GetItems_Request {
104
+ repeated .StoreItemID ids = 1;
105
+ optional .StoreBrowseContext context = 2;
106
+ optional .StoreBrowseItemDataRequest data_request = 3;
107
+ }
108
+
109
+ message StoreItem {
110
+ message RelatedItems {
111
+ optional uint32 parent_appid = 1;
112
+ }
113
+
114
+ message IncludedItems {
115
+ repeated .StoreItem included_apps = 1;
116
+ repeated .StoreItem included_packages = 2;
117
+ }
118
+
119
+ message Categories {
120
+ repeated uint32 supported_player_categoryids = 2;
121
+ repeated uint32 feature_categoryids = 3;
122
+ repeated uint32 controller_categoryids = 4;
123
+ }
124
+
125
+ message Reviews {
126
+ message StoreReviewSummary {
127
+ optional uint32 review_count = 1;
128
+ optional int32 percent_positive = 2;
129
+ optional .EUserReviewScore review_score = 3 [default = k_EUserReviewScore_None];
130
+ optional string review_score_label = 4;
131
+ }
132
+
133
+ optional .StoreItem.Reviews.StoreReviewSummary summary_filtered = 1;
134
+ optional .StoreItem.Reviews.StoreReviewSummary summary_unfiltered = 2;
135
+ }
136
+
137
+ message BasicInfo {
138
+ message CreatorHomeLink {
139
+ optional string name = 1;
140
+ optional uint32 creator_clan_account_id = 2;
141
+ }
142
+
143
+ optional string short_description = 1;
144
+ repeated .StoreItem.BasicInfo.CreatorHomeLink publishers = 2;
145
+ repeated .StoreItem.BasicInfo.CreatorHomeLink developers = 3;
146
+ repeated .StoreItem.BasicInfo.CreatorHomeLink franchises = 4;
147
+ optional string capsule_headline = 5;
148
+ }
149
+
150
+ message Tag {
151
+ optional uint32 tagid = 1;
152
+ optional uint32 weight = 2;
153
+ }
154
+
155
+ message Assets {
156
+ optional string asset_url_format = 1;
157
+ optional string main_capsule = 2;
158
+ optional string small_capsule = 3;
159
+ optional string header = 4;
160
+ optional string package_header = 5;
161
+ optional string page_background = 6;
162
+ optional string hero_capsule = 7;
163
+ optional string hero_capsule_2x = 8;
164
+ optional string library_capsule = 9;
165
+ optional string library_capsule_2x = 10;
166
+ optional string library_hero = 11;
167
+ optional string library_hero_2x = 12;
168
+ optional string community_icon = 13;
169
+ optional string clan_avatar = 14;
170
+ }
171
+
172
+ message ReleaseInfo {
173
+ optional uint32 steam_release_date = 1;
174
+ optional uint32 original_release_date = 2;
175
+ optional uint32 original_steam_release_date = 3;
176
+ optional bool is_coming_soon = 4;
177
+ optional bool is_preload = 5;
178
+ optional string custom_release_date_message = 6;
179
+ optional bool is_abridged_release_date = 7;
180
+ optional string coming_soon_display = 8;
181
+ optional bool is_early_access = 10;
182
+ optional uint32 mac_release_date = 20;
183
+ optional uint32 linux_release_date = 21;
184
+ }
185
+
186
+ message Platforms {
187
+ message VRSupport {
188
+ optional bool vrhmd = 1;
189
+ optional bool vrhmd_only = 2;
190
+ optional bool htc_vive = 40;
191
+ optional bool oculus_rift = 41;
192
+ optional bool windows_mr = 42;
193
+ optional bool valve_index = 43;
194
+ }
195
+
196
+ optional bool windows = 1;
197
+ optional bool mac = 2;
198
+ optional bool steamos_linux = 3;
199
+ optional .StoreItem.Platforms.VRSupport vr_support = 10;
200
+ optional .ESteamDeckCompatibilityCategory steam_deck_compat_category = 11 [default = k_ESteamDeckCompatibilityCategory_Unknown];
201
+ }
202
+
203
+ message PurchaseOption {
204
+ message Discount {
205
+ optional int64 discount_amount = 1;
206
+ optional string discount_description = 2;
207
+ optional uint32 discount_end_date = 3;
208
+ }
209
+
210
+ message RecurrenceInfo {
211
+ optional int32 packageid = 1;
212
+ optional int32 billing_agreement_type = 2;
213
+ optional int32 renewal_time_unit = 3;
214
+ optional int32 renewal_time_period = 4;
215
+ }
216
+
217
+ optional int32 packageid = 1;
218
+ optional int32 bundleid = 2;
219
+ optional string purchase_option_name = 3;
220
+ optional int64 final_price_in_cents = 5;
221
+ optional int64 original_price_in_cents = 6;
222
+ optional int64 user_final_price_in_cents = 7;
223
+ optional string formatted_final_price = 8;
224
+ optional string formatted_original_price = 9;
225
+ optional int32 discount_pct = 10;
226
+ optional int32 user_discount_pct = 11;
227
+ optional int32 bundle_discount_pct = 12;
228
+ repeated .StoreItem.PurchaseOption.Discount active_discounts = 20;
229
+ repeated .StoreItem.PurchaseOption.Discount user_active_discounts = 21;
230
+ repeated .StoreItem.PurchaseOption.Discount inactive_discounts = 22;
231
+ optional bool user_can_purchase = 30;
232
+ optional bool user_can_purchase_as_gift = 31;
233
+ optional bool is_commercial_license = 40;
234
+ optional bool should_suppress_discount_pct = 41;
235
+ optional bool hide_discount_pct_for_compliance = 42 [default = false];
236
+ optional int32 included_game_count = 43;
237
+ optional int64 lowest_recent_price_in_cents = 44;
238
+ optional bool requires_shipping = 45;
239
+ optional .StoreItem.PurchaseOption.RecurrenceInfo recurrence_info = 46;
240
+ }
241
+
242
+ message Screenshots {
243
+ message Screenshot {
244
+ optional string filename = 1;
245
+ optional int32 ordinal = 2;
246
+ }
247
+
248
+ repeated .StoreItem.Screenshots.Screenshot all_ages_screenshots = 2;
249
+ repeated .StoreItem.Screenshots.Screenshot mature_content_screenshots = 3;
250
+ }
251
+
252
+ message Trailers {
253
+ message VideoSource {
254
+ optional string filename = 1;
255
+ optional string type = 2;
256
+ }
257
+
258
+ message Trailer {
259
+ optional string trailer_name = 1;
260
+ optional string trailer_url_format = 2;
261
+ repeated .StoreItem.Trailers.VideoSource trailer_480p = 3;
262
+ repeated .StoreItem.Trailers.VideoSource trailer_max = 4;
263
+ repeated .StoreItem.Trailers.VideoSource microtrailer = 5;
264
+ optional string screenshot_medium = 10;
265
+ optional string screenshot_full = 11;
266
+ optional int32 trailer_base_id = 12;
267
+ }
268
+
269
+ repeated .StoreItem.Trailers.Trailer highlights = 1;
270
+ repeated .StoreItem.Trailers.Trailer other_trailers = 2;
271
+ }
272
+
273
+ message SupportedLanguage {
274
+ optional int32 elanguage = 1 [default = -1];
275
+ optional int32 eadditionallanguage = 5 [default = -1];
276
+ optional bool supported = 2;
277
+ optional bool full_audio = 3;
278
+ optional bool subtitles = 4;
279
+ }
280
+
281
+ message FreeWeekend {
282
+ optional uint32 start_time = 1;
283
+ optional uint32 end_time = 2;
284
+ optional string text = 3;
285
+ }
286
+
287
+ optional .EStoreItemType item_type = 1 [default = k_EStoreItemType_Invalid];
288
+ optional uint32 id = 2;
289
+ optional uint32 success = 3;
290
+ optional bool visible = 4;
291
+ optional bool unvailable_for_country_restriction = 5;
292
+ optional string name = 6;
293
+ optional string store_url_path = 7;
294
+ optional uint32 appid = 9;
295
+ optional .EStoreAppType type = 10 [default = k_EStoreAppType_Game];
296
+ repeated .EStoreAppType included_types = 11;
297
+ repeated uint32 included_appids = 12;
298
+ optional bool is_free = 13;
299
+ optional bool is_early_access = 14;
300
+ optional .StoreItem.RelatedItems related_items = 15;
301
+ optional .StoreItem.IncludedItems included_items = 16;
302
+ repeated .EContentDescriptorID content_descriptorids = 20;
303
+ repeated uint32 tagids = 21;
304
+ optional .StoreItem.Categories categories = 22;
305
+ optional .StoreItem.Reviews reviews = 23;
306
+ optional .StoreItem.BasicInfo basic_info = 24;
307
+ repeated .StoreItem.Tag tags = 25;
308
+ optional .StoreItem.Assets assets = 30;
309
+ optional .StoreItem.ReleaseInfo release = 31;
310
+ optional .StoreItem.Platforms platforms = 32;
311
+ optional .StoreGameRating game_rating = 33;
312
+ optional .StoreItem.PurchaseOption best_purchase_option = 40;
313
+ repeated .StoreItem.PurchaseOption purchase_options = 41;
314
+ repeated .StoreItem.PurchaseOption accessories = 42;
315
+ optional .StoreItem.PurchaseOption self_purchase_option = 43;
316
+ optional .StoreItem.Screenshots screenshots = 50;
317
+ optional .StoreItem.Trailers trailers = 51;
318
+ repeated .StoreItem.SupportedLanguage supported_languages = 52;
319
+ optional string store_url_path_override = 53;
320
+ optional .StoreItem.FreeWeekend free_weekend = 54;
321
+ optional bool unlisted = 55;
322
+ optional uint32 game_count = 56;
323
+ optional string internal_name = 57;
324
+ optional string full_description = 58;
325
+ optional bool is_free_temporarily = 59;
326
+ optional .StoreItem.Assets assets_without_overrides = 60;
327
+ optional .StoreBrowseFilterFailure user_filter_failure = 70;
328
+ }
329
+
330
+ message StoreGameRating {
331
+ optional string type = 1;
332
+ optional string rating = 2;
333
+ repeated string descriptors = 3;
334
+ optional string interactive_elements = 4;
335
+ optional int32 required_age = 10;
336
+ optional bool use_age_gate = 11;
337
+ optional string image_url = 20;
338
+ optional string image_target = 21;
339
+ }
340
+
341
+ message StoreBrowseFilterFailure {
342
+ optional .EStoreBrowseFilterFailure filter_failure = 1 [default = k_EStoreBrowseFilterFailure_None];
343
+ optional bool already_owned = 5;
344
+ optional bool on_wishlist = 6;
345
+ optional bool ignored = 7;
346
+ optional bool not_in_users_language = 10;
347
+ optional bool not_on_users_platform = 11;
348
+ optional bool demo_for_owned_game = 12;
349
+ optional bool dlc_for_unowned_game = 13;
350
+ optional bool nonpreferred_product_type = 20;
351
+ repeated uint32 excluded_tagids = 21;
352
+ repeated .EContentDescriptorID excluded_content_descriptorids = 30;
353
+ }
354
+
355
+ message CStoreBrowse_GetItems_Response {
356
+ repeated .StoreItem store_items = 1;
357
+ }
358
+
359
+ message CStoreBrowse_GetStoreCategories_Request {
360
+ optional string language = 1;
361
+ optional int32 elanguage = 2 [default = -1];
362
+ }
363
+
364
+ message CStoreBrowse_GetStoreCategories_Response {
365
+ message Category {
366
+ optional uint32 categoryid = 1;
367
+ optional .EStoreCategoryType type = 2 [default = k_EStoreCategoryType_Category];
368
+ optional string internal_name = 3;
369
+ optional string display_name = 4;
370
+ optional string image_url = 5;
371
+ optional bool show_in_search = 6;
372
+ optional bool computed = 7;
373
+ }
374
+
375
+ repeated .CStoreBrowse_GetStoreCategories_Response.Category categories = 1;
376
+ }
377
+
378
+ message CStoreBrowse_GetDLCForApps_Request {
379
+ optional .StoreBrowseContext context = 1;
380
+ optional .CStorePageFilter store_page_filter = 2;
381
+ repeated .StoreItemID appids = 3;
382
+ optional uint64 steamid = 4;
383
+ }
384
+
385
+ message CStoreBrowse_GetDLCForApps_Response {
386
+ message DLCData {
387
+ optional uint32 appid = 1;
388
+ optional uint32 parentappid = 2;
389
+ optional uint32 release_date = 3;
390
+ optional bool coming_soon = 4;
391
+ optional int64 price = 5;
392
+ optional uint32 discount = 6;
393
+ optional bool free = 7;
394
+ }
395
+
396
+ message PlaytimeForApp {
397
+ optional uint32 appid = 1;
398
+ optional uint32 playtime = 2;
399
+ optional uint32 last_played = 3;
400
+ }
401
+
402
+ repeated .CStoreBrowse_GetDLCForApps_Response.DLCData dlc_data = 1;
403
+ repeated .CStoreBrowse_GetDLCForApps_Response.PlaytimeForApp playtime = 2;
404
+ }
405
+
406
+ message CStoreBrowse_GetDLCForAppsSolr_Request {
407
+ optional .StoreBrowseContext context = 1;
408
+ repeated uint32 appids = 2;
409
+ optional string flavor = 3;
410
+ optional uint32 count = 4;
411
+ optional .CStorePageFilter store_page_filter = 5;
412
+ }
413
+
414
+ message CStoreBrowse_GetDLCForAppsSolr_Response {
415
+ message DLCList {
416
+ optional uint32 parent_appid = 1;
417
+ repeated uint32 dlc_appids = 2;
418
+ }
419
+
420
+ repeated .CStoreBrowse_GetDLCForAppsSolr_Response.DLCList dlc_lists = 1;
421
+ }
422
+
423
+ message CStoreBrowse_GetHardwareItems_Request {
424
+ repeated uint32 packageid = 1;
425
+ optional .StoreBrowseContext context = 2;
426
+ }
427
+
428
+ message CHardwarePackageDetails {
429
+ optional uint32 packageid = 1;
430
+ optional bool inventory_available = 3;
431
+ optional bool high_pending_orders = 4;
432
+ optional bool account_restricted_from_purchasing = 5;
433
+ optional bool requires_reservation = 6;
434
+ optional uint32 rtime_estimated_notification = 7;
435
+ optional string notificaton_token = 8;
436
+ optional int32 reservation_state = 9;
437
+ optional bool expired = 10;
438
+ optional uint32 time_expires = 11;
439
+ optional uint32 time_reserved = 12;
440
+ optional bool allow_quantity_purchase = 13;
441
+ optional int32 max_quantity_per_purchase = 14;
442
+ optional bool allow_purchase_in_country = 15;
443
+ optional uint32 estimated_delivery_soonest_business_days = 17;
444
+ optional uint32 estimated_delivery_latest_business_days = 18;
445
+ }
446
+
447
+ message CStoreBrowse_GetHardwareItems_Response {
448
+ repeated .CHardwarePackageDetails details = 1;
449
+ }
450
+
451
+ service StoreBrowse {
452
+ rpc GetItems (.CStoreBrowse_GetItems_Request) returns (.CStoreBrowse_GetItems_Response);
453
+ rpc GetStoreCategories (.CStoreBrowse_GetStoreCategories_Request) returns (.CStoreBrowse_GetStoreCategories_Response);
454
+ rpc GetDLCForApps (.CStoreBrowse_GetDLCForApps_Request) returns (.CStoreBrowse_GetDLCForApps_Response);
455
+ rpc GetDLCForAppsSolr (.CStoreBrowse_GetDLCForAppsSolr_Request) returns (.CStoreBrowse_GetDLCForAppsSolr_Response);
456
+ rpc GetHardwareItems (.CStoreBrowse_GetHardwareItems_Request) returns (.CStoreBrowse_GetHardwareItems_Response);
457
+ }