steamutils 1.4.77 → 1.4.78

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