steamutils 1.5.3 → 1.5.5

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