steamutils 1.4.36 → 1.4.38

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 (243) hide show
  1. package/.idea/codeStyles/Project.xml +1 -0
  2. package/.idea/deployment.xml +14 -0
  3. package/.prettierrc.json +3 -3
  4. package/SteamClient.js +24 -22
  5. package/_steamproto.js +29 -29
  6. package/axios.js +84 -84
  7. package/bufferHelpers.js +115 -115
  8. package/cheerio.js +103 -103
  9. package/const.js +451 -451
  10. package/create_proto.js +47 -47
  11. package/create_remote_file.js +66 -66
  12. package/helpers/protos.js +52 -52
  13. package/package.json +1 -1
  14. package/protos/csgo/base_gcmessages.proto +553 -553
  15. package/protos/csgo/base_gcmessages_csgo.proto +547 -547
  16. package/protos/csgo/c_peer2peer_netmessages.proto +55 -55
  17. package/protos/csgo/clientmessages.proto +48 -48
  18. package/protos/csgo/connectionless_netmessages.proto +17 -17
  19. package/protos/csgo/cs_gameevents.proto +35 -35
  20. package/protos/csgo/cs_usercmd.proto +34 -34
  21. package/protos/csgo/cstrike15_gcmessages.proto +1431 -1431
  22. package/protos/csgo/cstrike15_usermessages.proto +592 -592
  23. package/protos/csgo/demo.proto +165 -165
  24. package/protos/csgo/econ_gcmessages.proto +219 -219
  25. package/protos/csgo/engine_gcmessages.proto +1 -1
  26. package/protos/csgo/enums_clientserver.proto +1529 -1529
  27. package/protos/csgo/fatdemo.proto +125 -125
  28. package/protos/csgo/gameevents.proto +120 -120
  29. package/protos/csgo/gcsdk_gcmessages.proto +323 -323
  30. package/protos/csgo/gcsystemmsgs.proto +243 -243
  31. package/protos/csgo/netmessages.proto +618 -618
  32. package/protos/csgo/network_connection.proto +1 -1
  33. package/protos/csgo/networkbasetypes.proto +246 -246
  34. package/protos/csgo/networksystem_protomessages.proto +17 -17
  35. package/protos/csgo/steamdatagram_messages_auth.proto +65 -65
  36. package/protos/csgo/steamdatagram_messages_sdr.proto +534 -534
  37. package/protos/csgo/steammessages.proto +1 -1
  38. package/protos/csgo/steammessages_base.proto +1 -1
  39. package/protos/csgo/steammessages_cloud.steamworkssdk.proto +68 -68
  40. package/protos/csgo/steammessages_gamenetworkingui.proto +61 -61
  41. package/protos/csgo/steammessages_helprequest.steamworkssdk.proto +22 -22
  42. package/protos/csgo/steammessages_oauth.steamworkssdk.proto +18 -18
  43. package/protos/csgo/steammessages_player.steamworkssdk.proto +254 -254
  44. package/protos/csgo/steammessages_publishedfile.steamworkssdk.proto +233 -233
  45. package/protos/csgo/steammessages_unified_base.steamworkssdk.proto +1 -1
  46. package/protos/csgo/steamnetworkingsockets_messages.proto +205 -205
  47. package/protos/csgo/steamnetworkingsockets_messages_certs.proto +39 -39
  48. package/protos/csgo/steamnetworkingsockets_messages_udp.proto +75 -75
  49. package/protos/csgo/te.proto +259 -259
  50. package/protos/csgo/uifontfile_format.proto +13 -13
  51. package/protos/csgo/usercmd.proto +39 -39
  52. package/protos/csgo/usermessages.proto +752 -752
  53. package/protos/csgo/valveextensions.proto +1 -1
  54. package/protos/google/protobuf/descriptor.proto +281 -281
  55. package/protos/steam/clientmetrics.proto +45 -45
  56. package/protos/steam/content_manifest.proto +62 -62
  57. package/protos/steam/contenthubs.proto +41 -41
  58. package/protos/steam/encrypted_app_ticket.proto +10 -10
  59. package/protos/steam/enums.proto +501 -501
  60. package/protos/steam/enums_clientserver.proto +1508 -1508
  61. package/protos/steam/enums_productinfo.proto +14 -14
  62. package/protos/steam/htmlmessages.proto +1039 -1039
  63. package/protos/steam/offline_ticket.proto +8 -8
  64. package/protos/steam/steamdatagram_messages_auth.proto +65 -65
  65. package/protos/steam/steamdatagram_messages_sdr.proto +533 -533
  66. package/protos/steam/steammessages_accounthardware.steamclient.proto +167 -167
  67. package/protos/steam/steammessages_appoverview.proto +204 -204
  68. package/protos/steam/steammessages_auth.steamclient.proto +375 -375
  69. package/protos/steam/steammessages_base.proto +1 -1
  70. package/protos/steam/steammessages_broadcast.steamclient.proto +618 -618
  71. package/protos/steam/steammessages_chat.steamclient.proto +1070 -1070
  72. package/protos/steam/steammessages_client_objects.proto +649 -649
  73. package/protos/steam/steammessages_clientlanp2p.proto +43 -43
  74. package/protos/steam/steammessages_clientmetrics.steamclient.proto +192 -192
  75. package/protos/steam/steammessages_clientnotificationtypes.proto +250 -250
  76. package/protos/steam/steammessages_clientserver.proto +392 -392
  77. package/protos/steam/steammessages_clientserver_2.proto +771 -771
  78. package/protos/steam/steammessages_clientserver_appinfo.proto +131 -131
  79. package/protos/steam/steammessages_clientserver_friends.proto +260 -260
  80. package/protos/steam/steammessages_clientserver_gameservers.proto +159 -159
  81. package/protos/steam/steammessages_clientserver_lbs.proto +70 -70
  82. package/protos/steam/steammessages_clientserver_login.proto +167 -167
  83. package/protos/steam/steammessages_clientserver_mms.proto +233 -233
  84. package/protos/steam/steammessages_clientserver_ucm.proto +207 -207
  85. package/protos/steam/steammessages_clientserver_uds.proto +125 -125
  86. package/protos/steam/steammessages_clientserver_ufs.proto +45 -45
  87. package/protos/steam/steammessages_clientserver_userstats.proto +80 -80
  88. package/protos/steam/steammessages_clientsettings.proto +1 -1
  89. package/protos/steam/steammessages_cloud.steamclient.proto +422 -422
  90. package/protos/steam/steammessages_contentsystem.steamclient.proto +123 -123
  91. package/protos/steam/steammessages_credentials.steamclient.proto +96 -96
  92. package/protos/steam/steammessages_datapublisher.steamclient.proto +102 -102
  93. package/protos/steam/steammessages_depotbuilder.steamclient.proto +99 -99
  94. package/protos/steam/steammessages_deviceauth.steamclient.proto +169 -169
  95. package/protos/steam/steammessages_econ.steamclient.proto +137 -137
  96. package/protos/steam/steammessages_familygroups.steamclient.proto +441 -441
  97. package/protos/steam/steammessages_friendmessages.steamclient.proto +141 -141
  98. package/protos/steam/steammessages_gamenetworking.steamclient.proto +25 -25
  99. package/protos/steam/steammessages_gamenetworkingui.proto +61 -61
  100. package/protos/steam/steammessages_gamenotifications.steamclient.proto +131 -131
  101. package/protos/steam/steammessages_gameservers.steamclient.proto +136 -136
  102. package/protos/steam/steammessages_hiddevices.proto +157 -157
  103. package/protos/steam/steammessages_inventory.steamclient.proto +172 -172
  104. package/protos/steam/steammessages_linkfilter.steamclient.proto +39 -39
  105. package/protos/steam/steammessages_lobbymatchmaking.steamclient.proto +29 -29
  106. package/protos/steam/steammessages_market.steamclient.proto +22 -22
  107. package/protos/steam/steammessages_marketingmessages.steamclient.proto +273 -273
  108. package/protos/steam/steammessages_offline.steamclient.proto +33 -33
  109. package/protos/steam/steammessages_parental.steamclient.proto +262 -262
  110. package/protos/steam/steammessages_parties.steamclient.proto +75 -75
  111. package/protos/steam/steammessages_partnerapps.steamclient.proto +106 -106
  112. package/protos/steam/steammessages_player.steamclient.proto +915 -915
  113. package/protos/steam/steammessages_publishedfile.steamclient.proto +737 -737
  114. package/protos/steam/steammessages_qms.steamclient.proto +111 -111
  115. package/protos/steam/steammessages_remoteclient.proto +100 -100
  116. package/protos/steam/steammessages_remoteclient_discovery.proto +244 -244
  117. package/protos/steam/steammessages_remoteclient_service.steamclient.proto +31 -31
  118. package/protos/steam/steammessages_remoteclient_service_messages.proto +217 -217
  119. package/protos/steam/steammessages_remoteplay.proto +975 -975
  120. package/protos/steam/steammessages_secrets.steamclient.proto +35 -35
  121. package/protos/steam/steammessages_shader.steamclient.proto +89 -89
  122. package/protos/steam/steammessages_site_license.steamclient.proto +103 -103
  123. package/protos/steam/steammessages_sitelicenseclient.proto +38 -38
  124. package/protos/steam/steammessages_siteserverui.proto +130 -130
  125. package/protos/steam/steammessages_steamtv.steamclient.proto +533 -533
  126. package/protos/steam/steammessages_store.steamclient.proto +404 -404
  127. package/protos/steam/steammessages_storebrowse.steamclient.proto +457 -457
  128. package/protos/steam/steammessages_timedtrial.steamclient.proto +40 -40
  129. package/protos/steam/steammessages_twofactor.steamclient.proto +157 -157
  130. package/protos/steam/steammessages_unified_base.steamclient.proto +1 -1
  131. package/protos/steam/steammessages_unified_test.steamclient.proto +51 -51
  132. package/protos/steam/steammessages_useraccount.steamclient.proto +211 -211
  133. package/protos/steam/steammessages_vac.steamclient.proto +37 -37
  134. package/protos/steam/steammessages_video.steamclient.proto +68 -68
  135. package/protos/steam/steammessages_virtualcontroller.proto +138 -138
  136. package/protos/steam/steammessages_workshop.steamclient.proto +19 -19
  137. package/protos/steam/steamnetworkingsockets_messages.proto +205 -205
  138. package/protos/steam/steamnetworkingsockets_messages_certs.proto +39 -39
  139. package/protos/steam/steamnetworkingsockets_messages_udp.proto +75 -75
  140. package/protos/steam/webuimessages_achievements.proto +29 -29
  141. package/protos/steam/webuimessages_base.proto +1 -1
  142. package/protos/steam/webuimessages_gamenotes.proto +21 -21
  143. package/protos/steam/webuimessages_gamescope.proto +57 -57
  144. package/protos/steam/webuimessages_steamengine.proto +41 -41
  145. package/protos/steam/webuimessages_steamos.proto +114 -114
  146. package/protos/steam/webuimessages_storagedevicemanager.proto +110 -110
  147. package/protos/steam/webuimessages_systemmanager.proto +17 -17
  148. package/protos/steam/webuimessages_transport.proto +22 -22
  149. package/protos/steam/webuimessages_transportvalidation.proto +111 -111
  150. package/protos/webui/common.proto +4024 -4024
  151. package/protos/webui/common_base.proto +1 -1
  152. package/protos/webui/service_accountcart.proto +153 -153
  153. package/protos/webui/service_accountlinking.proto +27 -27
  154. package/protos/webui/service_accountprivacy.proto +42 -42
  155. package/protos/webui/service_accountprivateapps.proto +34 -34
  156. package/protos/webui/service_auction.proto +97 -97
  157. package/protos/webui/service_authentication.proto +222 -222
  158. package/protos/webui/service_authenticationsupport.proto +74 -74
  159. package/protos/webui/service_broadcast.proto +562 -562
  160. package/protos/webui/service_chat.proto +11 -11
  161. package/protos/webui/service_chatroom.proto +810 -810
  162. package/protos/webui/service_chatusability.proto +107 -107
  163. package/protos/webui/service_checkout.proto +84 -84
  164. package/protos/webui/service_clan.proto +41 -41
  165. package/protos/webui/service_clanchatrooms.proto +25 -25
  166. package/protos/webui/service_clanfaqs.proto +202 -202
  167. package/protos/webui/service_clientcomm.proto +151 -151
  168. package/protos/webui/service_clientmetrics.proto +22 -22
  169. package/protos/webui/service_cloud.proto +222 -222
  170. package/protos/webui/service_cloudconfigstore.proto +51 -51
  171. package/protos/webui/service_cloudgaming.proto +30 -30
  172. package/protos/webui/service_community.proto +365 -365
  173. package/protos/webui/service_dailydeal.proto +89 -89
  174. package/protos/webui/service_econ.proto +134 -134
  175. package/protos/webui/service_embedded.proto +24 -24
  176. package/protos/webui/service_experimentservice.proto +6 -6
  177. package/protos/webui/service_familygroups.proto +355 -355
  178. package/protos/webui/service_fovasvideo.proto +15 -15
  179. package/protos/webui/service_friendmessages.proto +133 -133
  180. package/protos/webui/service_friendslist.proto +70 -70
  181. package/protos/webui/service_gamenotes.proto +15 -15
  182. package/protos/webui/service_gamerecording.proto +265 -265
  183. package/protos/webui/service_gamerecordingclip.proto +85 -85
  184. package/protos/webui/service_gamerecordingdebug.proto +52 -52
  185. package/protos/webui/service_helprequestlogs.proto +16 -16
  186. package/protos/webui/service_loyaltyrewards.proto +252 -252
  187. package/protos/webui/service_marketingmessages.proto +215 -215
  188. package/protos/webui/service_mobileapp.proto +18 -18
  189. package/protos/webui/service_mobileauth.proto +24 -24
  190. package/protos/webui/service_mobiledevice.proto +26 -26
  191. package/protos/webui/service_mobileperaccount.proto +31 -31
  192. package/protos/webui/service_news.proto +110 -110
  193. package/protos/webui/service_parental.proto +258 -258
  194. package/protos/webui/service_partnermembershipinvite.proto +34 -34
  195. package/protos/webui/service_partnerstorebrowse.proto +28 -28
  196. package/protos/webui/service_phone.proto +51 -51
  197. package/protos/webui/service_physicalgoods.proto +15 -15
  198. package/protos/webui/service_player.proto +918 -918
  199. package/protos/webui/service_promotioneventinvites.proto +109 -109
  200. package/protos/webui/service_promotionplanning.proto +186 -186
  201. package/protos/webui/service_promotionstats.proto +23 -23
  202. package/protos/webui/service_publishedfile.proto +714 -714
  203. package/protos/webui/service_publishing.proto +200 -200
  204. package/protos/webui/service_quest.proto +127 -127
  205. package/protos/webui/service_salefeature.proto +373 -373
  206. package/protos/webui/service_saleitemrewards.proto +54 -54
  207. package/protos/webui/service_shoppingcart.proto +152 -152
  208. package/protos/webui/service_steamawards.proto +76 -76
  209. package/protos/webui/service_steamcharts.proto +75 -75
  210. package/protos/webui/service_steamengine.proto +36 -36
  211. package/protos/webui/service_steamlearn.proto +876 -876
  212. package/protos/webui/service_steamnotification.proto +73 -73
  213. package/protos/webui/service_steamtv.proto +495 -495
  214. package/protos/webui/service_steamvrvoicechat.proto +67 -67
  215. package/protos/webui/service_steamvrwebrtc.proto +48 -48
  216. package/protos/webui/service_storagedevicemanager.proto +104 -104
  217. package/protos/webui/service_store.proto +359 -359
  218. package/protos/webui/service_storeappsimilarity.proto +76 -76
  219. package/protos/webui/service_storebrowse.proto +103 -103
  220. package/protos/webui/service_storemarketing.proto +44 -44
  221. package/protos/webui/service_storequery.proto +103 -103
  222. package/protos/webui/service_storesales.proto +87 -87
  223. package/protos/webui/service_storetopsellers.proto +44 -44
  224. package/protos/webui/service_systemmanager.proto +11 -11
  225. package/protos/webui/service_test_transporterror.proto +6 -6
  226. package/protos/webui/service_transportauth.proto +17 -17
  227. package/protos/webui/service_transportvalidation.proto +69 -69
  228. package/protos/webui/service_twofactor.proto +170 -170
  229. package/protos/webui/service_useraccount.proto +142 -142
  230. package/protos/webui/service_usergameactivity.proto +34 -34
  231. package/protos/webui/service_usergamenotes.proto +70 -70
  232. package/protos/webui/service_usernews.proto +68 -68
  233. package/protos/webui/service_userreviews.proto +97 -97
  234. package/protos/webui/service_video.proto +50 -50
  235. package/protos/webui/service_videoclip.proto +62 -62
  236. package/protos/webui/service_voicechat.proto +139 -139
  237. package/protos/webui/service_webrtc.proto +52 -52
  238. package/remote.js +6784 -6784
  239. package/steamproto.js +6159 -6159
  240. package/utils.js +872 -872
  241. package/.idea/gbrowser_project.xml +0 -11
  242. package/.idea/git_toolbox_blame.xml +0 -6
  243. package/.idea/git_toolbox_prj.xml +0 -15
@@ -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
+ }