steamutils 1.2.50 → 1.2.52

Sign up to get free protection for your applications and to get access to all the features.
Files changed (227) hide show
  1. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  2. package/.idea/steamutils.iml +1 -1
  3. package/.idea/vcs.xml +1 -1
  4. package/SteamClient.js +16 -12
  5. package/example.js +14 -0
  6. package/helpers/protos.js +21 -0
  7. package/index.js +1 -1
  8. package/package.json +6 -6
  9. package/protos/{base_gcmessages.proto → csgo/base_gcmessages_csgo.proto} +547 -533
  10. package/protos/csgo/c_peer2peer_netmessages.proto +55 -0
  11. package/protos/csgo/clientmessages.proto +48 -0
  12. package/protos/csgo/connectionless_netmessages.proto +19 -0
  13. package/protos/csgo/cs_gameevents.proto +34 -0
  14. package/protos/csgo/cs_usercmd.proto +34 -0
  15. package/protos/{cstrike15_gcmessages.proto → csgo/cstrike15_gcmessages.proto} +1402 -1344
  16. package/protos/{cstrike15_usermessages.proto → csgo/cstrike15_usermessages.proto} +596 -597
  17. package/protos/csgo/demo.proto +160 -0
  18. package/protos/{econ_gcmessages.proto → csgo/econ_gcmessages.proto} +228 -225
  19. package/protos/{engine_gcmessages.proto → csgo/engine_gcmessages.proto} +14 -16
  20. package/protos/{enums_clientserver.proto → csgo/enums_clientserver.proto} +1529 -1534
  21. package/protos/{fatdemo.proto → csgo/fatdemo.proto} +125 -125
  22. package/protos/csgo/gameevents.proto +120 -0
  23. package/protos/{gcsdk_gcmessages.proto → csgo/gcsdk_gcmessages.proto} +323 -302
  24. package/protos/{gcsystemmsgs.proto → csgo/gcsystemmsgs.proto} +242 -246
  25. package/protos/csgo/netmessages.proto +604 -0
  26. package/protos/csgo/network_connection.proto +126 -0
  27. package/protos/csgo/networkbasetypes.proto +244 -0
  28. package/protos/csgo/networksystem_protomessages.proto +17 -0
  29. package/protos/{steamdatagram_messages_auth.proto → csgo/steamdatagram_messages_auth.proto} +65 -65
  30. package/protos/csgo/steamdatagram_messages_sdr.proto +534 -0
  31. package/protos/{steammessages.proto → csgo/steammessages.proto} +597 -601
  32. package/protos/{steammessages_base.proto → csgo/steammessages_base.proto} +301 -288
  33. package/protos/csgo/steammessages_cloud.steamworkssdk.proto +68 -0
  34. package/protos/{steammessages_gamenetworkingui.proto → csgo/steammessages_gamenetworkingui.proto} +61 -42
  35. package/protos/csgo/steammessages_helprequest.steamworkssdk.proto +22 -0
  36. package/protos/csgo/steammessages_oauth.steamworkssdk.proto +18 -0
  37. package/protos/csgo/steammessages_player.steamworkssdk.proto +254 -0
  38. package/protos/csgo/steammessages_publishedfile.steamworkssdk.proto +233 -0
  39. package/protos/csgo/steammessages_steamlearn.steamworkssdk.proto +357 -0
  40. package/protos/csgo/steammessages_unified_base.steamworkssdk.proto +30 -0
  41. package/protos/{steamnetworkingsockets_messages.proto → csgo/steamnetworkingsockets_messages.proto} +205 -204
  42. package/protos/{steamnetworkingsockets_messages_certs.proto → csgo/steamnetworkingsockets_messages_certs.proto} +39 -38
  43. package/protos/{steamnetworkingsockets_messages_udp.proto → csgo/steamnetworkingsockets_messages_udp.proto} +75 -75
  44. package/protos/csgo/te.proto +259 -0
  45. package/protos/{uifontfile_format.proto → csgo/uifontfile_format.proto} +13 -16
  46. package/protos/csgo/usercmd.proto +38 -0
  47. package/protos/csgo/usermessages.proto +721 -0
  48. package/protos/csgo/valveextensions.proto +17 -0
  49. package/protos/google/protobuf/descriptor.proto +281 -0
  50. package/protos/{clientmetrics.proto → steam/clientmetrics.proto} +45 -45
  51. package/protos/{content_manifest.proto → steam/content_manifest.proto} +62 -62
  52. package/protos/steam/contenthubs.proto +41 -0
  53. package/protos/{encrypted_app_ticket.proto → steam/encrypted_app_ticket.proto} +10 -10
  54. package/protos/{enums.proto → steam/enums.proto} +444 -285
  55. package/protos/steam/enums_clientserver.proto +1539 -0
  56. package/protos/steam/enums_productinfo.proto +13 -0
  57. package/protos/{htmlmessages.proto → steam/htmlmessages.proto} +1027 -993
  58. package/protos/steam/offline_ticket.proto +8 -0
  59. package/protos/{renderer → steam/renderer}/rendermessages.proto +893 -893
  60. package/protos/steam/steamdatagram_messages_auth.proto +65 -0
  61. package/protos/{steamdatagram_messages_sdr.proto → steam/steamdatagram_messages_sdr.proto} +533 -518
  62. package/protos/{steammessages_accounthardware.steamclient.proto → steam/steammessages_accounthardware.steamclient.proto} +201 -188
  63. package/protos/{steammessages_appoverview.proto → steam/steammessages_appoverview.proto} +187 -185
  64. package/protos/steam/steammessages_auth.steamclient.proto +435 -0
  65. package/protos/steam/steammessages_base.proto +332 -0
  66. package/protos/{steammessages_broadcast.steamclient.proto → steam/steammessages_broadcast.steamclient.proto} +759 -756
  67. package/protos/{steammessages_chat.steamclient.proto → steam/steammessages_chat.steamclient.proto} +1281 -1281
  68. package/protos/steam/steammessages_client_objects.proto +645 -0
  69. package/protos/{steammessages_clientlanp2p.proto → steam/steammessages_clientlanp2p.proto} +42 -26
  70. package/protos/{steammessages_clientmetrics.steamclient.proto → steam/steammessages_clientmetrics.steamclient.proto} +194 -176
  71. package/protos/{steammessages_clientnotificationtypes.proto → steam/steammessages_clientnotificationtypes.proto} +231 -129
  72. package/protos/{steammessages_clientserver.proto → steam/steammessages_clientserver.proto} +392 -384
  73. package/protos/{steammessages_clientserver_2.proto → steam/steammessages_clientserver_2.proto} +760 -776
  74. package/protos/{steammessages_clientserver_appinfo.proto → steam/steammessages_clientserver_appinfo.proto} +131 -166
  75. package/protos/{steammessages_clientserver_friends.proto → steam/steammessages_clientserver_friends.proto} +260 -260
  76. package/protos/{steammessages_clientserver_gameservers.proto → steam/steammessages_clientserver_gameservers.proto} +159 -159
  77. package/protos/{steammessages_clientserver_lbs.proto → steam/steammessages_clientserver_lbs.proto} +70 -70
  78. package/protos/{steammessages_clientserver_login.proto → steam/steammessages_clientserver_login.proto} +167 -159
  79. package/protos/{steammessages_clientserver_mms.proto → steam/steammessages_clientserver_mms.proto} +228 -235
  80. package/protos/{steammessages_clientserver_ucm.proto → steam/steammessages_clientserver_ucm.proto} +205 -202
  81. package/protos/{steammessages_clientserver_uds.proto → steam/steammessages_clientserver_uds.proto} +124 -104
  82. package/protos/{steammessages_clientserver_ufs.proto → steam/steammessages_clientserver_ufs.proto} +172 -172
  83. package/protos/{steammessages_clientserver_userstats.proto → steam/steammessages_clientserver_userstats.proto} +80 -80
  84. package/protos/steam/steammessages_clientsettings.proto +168 -0
  85. package/protos/{steammessages_cloud.steamclient.proto → steam/steammessages_cloud.steamclient.proto} +513 -512
  86. package/protos/{steammessages_contentsystem.steamclient.proto → steam/steammessages_contentsystem.steamclient.proto} +115 -77
  87. package/protos/{steammessages_credentials.steamclient.proto → steam/steammessages_credentials.steamclient.proto} +115 -141
  88. package/protos/steam/steammessages_datapublisher.steamclient.proto +116 -0
  89. package/protos/{steammessages_depotbuilder.steamclient.proto → steam/steammessages_depotbuilder.steamclient.proto} +118 -118
  90. package/protos/{steammessages_deviceauth.steamclient.proto → steam/steammessages_deviceauth.steamclient.proto} +203 -200
  91. package/protos/{steammessages_econ.steamclient.proto → steam/steammessages_econ.steamclient.proto} +150 -105
  92. package/protos/{steammessages_friendmessages.steamclient.proto → steam/steammessages_friendmessages.steamclient.proto} +168 -168
  93. package/protos/{steammessages_gamenetworking.steamclient.proto → steam/steammessages_gamenetworking.steamclient.proto} +32 -32
  94. package/protos/steam/steammessages_gamenetworkingui.proto +61 -0
  95. package/protos/{steammessages_gamenotifications.steamclient.proto → steam/steammessages_gamenotifications.steamclient.proto} +156 -156
  96. package/protos/{steammessages_gameservers.steamclient.proto → steam/steammessages_gameservers.steamclient.proto} +152 -152
  97. package/protos/{steammessages_hiddevices.proto → steam/steammessages_hiddevices.proto} +157 -156
  98. package/protos/{steammessages_inventory.steamclient.proto → steam/steammessages_inventory.steamclient.proto} +224 -224
  99. package/protos/{steammessages_linkfilter.steamclient.proto → steam/steammessages_linkfilter.steamclient.proto} +49 -49
  100. package/protos/{steammessages_lobbymatchmaking.steamclient.proto → steam/steammessages_lobbymatchmaking.steamclient.proto} +33 -33
  101. package/protos/{steammessages_market.steamclient.proto → steam/steammessages_market.steamclient.proto} +26 -26
  102. package/protos/steam/steammessages_marketingmessages.steamclient.proto +274 -0
  103. package/protos/{steammessages_offline.steamclient.proto → steam/steammessages_offline.steamclient.proto} +40 -37
  104. package/protos/{steammessages_parental.steamclient.proto → steam/steammessages_parental.steamclient.proto} +228 -186
  105. package/protos/{steammessages_parties.steamclient.proto → steam/steammessages_parties.steamclient.proto} +94 -94
  106. package/protos/{steammessages_partnerapps.steamclient.proto → steam/steammessages_partnerapps.steamclient.proto} +138 -136
  107. package/protos/{steammessages_player.steamclient.proto → steam/steammessages_player.steamclient.proto} +1060 -912
  108. package/protos/{steammessages_publishedfile.steamclient.proto → steam/steammessages_publishedfile.steamclient.proto} +813 -711
  109. package/protos/{steammessages_qms.steamclient.proto → steam/steammessages_qms.steamclient.proto} +125 -125
  110. package/protos/{steammessages_remoteclient.proto → steam/steammessages_remoteclient.proto} +99 -99
  111. package/protos/{steammessages_remoteclient_discovery.proto → steam/steammessages_remoteclient_discovery.proto} +235 -228
  112. package/protos/{steammessages_remoteclient_service.steamclient.proto → steam/steammessages_remoteclient_service.steamclient.proto} +86 -90
  113. package/protos/{steammessages_remoteclient_service_messages.proto → steam/steammessages_remoteclient_service_messages.proto} +217 -196
  114. package/protos/{steammessages_remoteplay.proto → steam/steammessages_remoteplay.proto} +976 -871
  115. package/protos/{steammessages_secrets.steamclient.proto → steam/steammessages_secrets.steamclient.proto} +39 -39
  116. package/protos/{steammessages_shader.steamclient.proto → steam/steammessages_shader.steamclient.proto} +108 -96
  117. package/protos/{steammessages_site_license.steamclient.proto → steam/steammessages_site_license.steamclient.proto} +128 -128
  118. package/protos/{steammessages_sitelicenseclient.proto → steam/steammessages_sitelicenseclient.proto} +38 -38
  119. package/protos/{steammessages_siteserverui.proto → steam/steammessages_siteserverui.proto} +130 -130
  120. package/protos/{steammessages_star.steamclient.proto → steam/steammessages_star.steamclient.proto} +64 -64
  121. package/protos/{steammessages_steamtv.steamclient.proto → steam/steammessages_steamtv.steamclient.proto} +630 -630
  122. package/protos/{steammessages_store.steamclient.proto → steam/steammessages_store.steamclient.proto} +371 -262
  123. package/protos/steam/steammessages_storebrowse.steamclient.proto +402 -0
  124. package/protos/{steammessages_timedtrial.steamclient.proto → steam/steammessages_timedtrial.steamclient.proto} +50 -50
  125. package/protos/{steammessages_twofactor.steamclient.proto → steam/steammessages_twofactor.steamclient.proto} +186 -154
  126. package/protos/{steammessages_unified_base.steamclient.proto → steam/steammessages_unified_base.steamclient.proto} +33 -33
  127. package/protos/{steammessages_unified_test.steamclient.proto → steam/steammessages_unified_test.steamclient.proto} +61 -50
  128. package/protos/{steammessages_useraccount.steamclient.proto → steam/steammessages_useraccount.steamclient.proto} +249 -210
  129. package/protos/{steammessages_vac.steamclient.proto → steam/steammessages_vac.steamclient.proto} +44 -44
  130. package/protos/steam/steammessages_video.steamclient.proto +171 -0
  131. package/protos/{steammessages_virtualcontroller.proto → steam/steammessages_virtualcontroller.proto} +138 -138
  132. package/protos/{steammessages_workshop.steamclient.proto → steam/steammessages_workshop.steamclient.proto} +23 -23
  133. package/protos/steam/steamnetworkingsockets_messages.proto +205 -0
  134. package/protos/steam/steamnetworkingsockets_messages_certs.proto +39 -0
  135. package/protos/steam/steamnetworkingsockets_messages_udp.proto +75 -0
  136. package/protos/steam/webuimessages_base.proto +24 -0
  137. package/protos/steam/webuimessages_gamenotes.proto +21 -0
  138. package/protos/steam/webuimessages_steamengine.proto +32 -0
  139. package/protos/steam/webuimessages_storagedevicemanager.proto +110 -0
  140. package/protos/steam/webuimessages_systemmanager.proto +17 -0
  141. package/protos/steam/webuimessages_transport.proto +18 -0
  142. package/protos/steam/webuimessages_transportvalidation.proto +97 -0
  143. package/protos/webui/common.proto +5508 -0
  144. package/protos/webui/common_base.proto +27 -0
  145. package/protos/webui/service_accountlinking.proto +27 -0
  146. package/protos/webui/service_accountprivacy.proto +42 -0
  147. package/protos/webui/service_auction.proto +97 -0
  148. package/protos/webui/service_authentication.proto +222 -0
  149. package/protos/webui/service_authenticationsupport.proto +74 -0
  150. package/protos/webui/service_broadcast.proto +562 -0
  151. package/protos/webui/service_chat.proto +11 -0
  152. package/protos/webui/service_chatroom.proto +810 -0
  153. package/protos/webui/service_chatusability.proto +107 -0
  154. package/protos/webui/service_clan.proto +41 -0
  155. package/protos/webui/service_clanchatrooms.proto +25 -0
  156. package/protos/webui/service_clanfaqs.proto +202 -0
  157. package/protos/webui/service_clientcomm.proto +150 -0
  158. package/protos/webui/service_clientmetrics.proto +63 -0
  159. package/protos/webui/service_cloud.proto +222 -0
  160. package/protos/webui/service_cloudconfigstore.proto +51 -0
  161. package/protos/webui/service_cloudgaming.proto +30 -0
  162. package/protos/webui/service_community.proto +365 -0
  163. package/protos/webui/service_econ.proto +134 -0
  164. package/protos/webui/service_embedded.proto +24 -0
  165. package/protos/webui/service_experimentservice.proto +6 -0
  166. package/protos/webui/service_fovasvideo.proto +15 -0
  167. package/protos/webui/service_friendmessages.proto +133 -0
  168. package/protos/webui/service_friendslist.proto +70 -0
  169. package/protos/webui/service_gamenotes.proto +15 -0
  170. package/protos/webui/service_helprequestlogs.proto +26 -0
  171. package/protos/webui/service_loyaltyrewards.proto +252 -0
  172. package/protos/webui/service_marketingmessages.proto +184 -0
  173. package/protos/webui/service_mobileapp.proto +18 -0
  174. package/protos/webui/service_mobileauth.proto +24 -0
  175. package/protos/webui/service_mobiledevice.proto +26 -0
  176. package/protos/webui/service_mobileperaccount.proto +31 -0
  177. package/protos/webui/service_news.proto +101 -0
  178. package/protos/webui/service_parental.proto +178 -0
  179. package/protos/webui/service_partnermembershipinvite.proto +29 -0
  180. package/protos/webui/service_partnerstorebrowse.proto +6 -0
  181. package/protos/webui/service_phone.proto +51 -0
  182. package/protos/webui/service_physicalgoods.proto +15 -0
  183. package/protos/webui/service_player.proto +885 -0
  184. package/protos/webui/service_promotioneventinvites.proto +50 -0
  185. package/protos/webui/service_promotionplanning.proto +72 -0
  186. package/protos/webui/service_publishedfile.proto +687 -0
  187. package/protos/webui/service_publishing.proto +119 -0
  188. package/protos/webui/service_quest.proto +127 -0
  189. package/protos/webui/service_salefeature.proto +315 -0
  190. package/protos/webui/service_saleitemrewards.proto +54 -0
  191. package/protos/webui/service_shoppingcart.proto +108 -0
  192. package/protos/webui/service_steamawards.proto +19 -0
  193. package/protos/webui/service_steamcharts.proto +75 -0
  194. package/protos/webui/service_steamengine.proto +36 -0
  195. package/protos/webui/service_steamlearn.proto +727 -0
  196. package/protos/webui/service_steamnotification.proto +84 -0
  197. package/protos/webui/service_steamtv.proto +495 -0
  198. package/protos/webui/service_steamvrvoicechat.proto +67 -0
  199. package/protos/webui/service_steamvrwebrtc.proto +48 -0
  200. package/protos/webui/service_storagedevicemanager.proto +104 -0
  201. package/protos/webui/service_store.proto +289 -0
  202. package/protos/webui/service_storeappsimilarity.proto +76 -0
  203. package/protos/webui/service_storebrowse.proto +73 -0
  204. package/protos/webui/service_storequery.proto +97 -0
  205. package/protos/webui/service_storesales.proto +15 -0
  206. package/protos/webui/service_storetopsellers.proto +44 -0
  207. package/protos/webui/service_systemmanager.proto +11 -0
  208. package/protos/webui/service_test_transporterror.proto +6 -0
  209. package/protos/webui/service_transportauth.proto +12 -0
  210. package/protos/webui/service_transportvalidation.proto +69 -0
  211. package/protos/webui/service_twofactor.proto +181 -0
  212. package/protos/webui/service_useraccount.proto +138 -0
  213. package/protos/webui/service_usergameactivity.proto +34 -0
  214. package/protos/webui/service_usergamenotes.proto +53 -0
  215. package/protos/webui/service_usernews.proto +68 -0
  216. package/protos/webui/service_userreviews.proto +96 -0
  217. package/protos/webui/service_video.proto +128 -0
  218. package/protos/webui/service_voicechat.proto +139 -0
  219. package/protos/webui/service_webrtc.proto +52 -0
  220. package/.idea/deployment.xml +0 -21
  221. package/protos/netmessages.proto +0 -491
  222. package/protos/network_connection.proto +0 -70
  223. package/protos/steamdatagram_messages.proto +0 -205
  224. package/protos/steammessages_auth.steamclient.proto +0 -192
  225. package/protos/steammessages_client_objects.proto +0 -336
  226. package/protos/steammessages_datapublisher.steamclient.proto +0 -67
  227. package/protos/steammessages_video.steamclient.proto +0 -84
@@ -1,262 +1,371 @@
1
- import "steammessages_base.proto";
2
- import "steammessages_unified_base.steamclient.proto";
3
- import "enums.proto";
4
-
5
- option cc_generic_services = true;
6
-
7
- enum EStoreDiscoveryQueueType {
8
- k_EStoreDiscoveryQueueTypeNew = 0;
9
- k_EStoreDiscoveryQueueTypeComingSoon = 1;
10
- k_EStoreDiscoveryQueueTypeRecommended = 2;
11
- k_EStoreDiscoveryQueueTypeEveryNewRelease = 3;
12
- k_EStoreDiscoveryQueueTypeMLRecommender = 5;
13
- k_EStoreDiscoveryQueueTypeWishlistOnSale = 6;
14
- k_EStoreDiscoveryQueueTypeDLC = 7;
15
- k_EStoreDiscoveryQueueTypeDLCOnSale = 8;
16
- k_EStoreDiscoveryQueueTypeRecommendedComingSoon = 9;
17
- k_EStoreDiscoveryQueueTypeRecommendedFree = 10;
18
- k_EStoreDiscoveryQueueTypeRecommendedOnSale = 11;
19
- k_EStoreDiscoveryQueueTypeRecommendedDemos = 12;
20
- k_EStoreDiscoveryQueueTypeDLCNewReleases = 13;
21
- k_EStoreDiscoveryQueueTypeDLCTopSellers = 14;
22
- k_EStoreDiscoveryQueueTypeMAX = 15;
23
- }
24
-
25
- enum EUserReviewScorePreference {
26
- k_EUserReviewScorePreference_Unset = 0;
27
- k_EUserReviewScorePreference_IncludeAll = 1;
28
- k_EUserReviewScorePreference_ExcludeBombs = 2;
29
- }
30
-
31
- message CStore_RegisterCDKey_Request {
32
- optional string activation_code = 1 [(description) = "Key string to register on the logged in user's account"];
33
- optional int32 purchase_platform = 2 [(description) = "EPurchasePlatform for platform of request"];
34
- optional bool is_request_from_client = 3 [(description) = "True if the request was initiated from inside the Steam client"];
35
- }
36
-
37
- message CStore_PurchaseReceiptInfo {
38
- message LineItem {
39
- optional uint32 packageid = 1;
40
- optional uint32 appid = 2;
41
- optional string line_item_description = 3;
42
- }
43
-
44
- optional uint64 transactionid = 1;
45
- optional uint32 packageid = 2;
46
- optional uint32 purchase_status = 3;
47
- optional uint32 result_detail = 4;
48
- optional uint32 transaction_time = 5;
49
- optional uint32 payment_method = 6;
50
- optional uint64 base_price = 7;
51
- optional uint64 total_discount = 8;
52
- optional uint64 tax = 9;
53
- optional uint64 shipping = 10;
54
- optional uint32 currency_code = 11;
55
- optional string country_code = 12;
56
- optional string error_headline = 13;
57
- optional string error_string = 14;
58
- optional string error_link_text = 15;
59
- optional string error_link_url = 16;
60
- optional uint32 error_appid = 17;
61
- repeated .CStore_PurchaseReceiptInfo.LineItem line_items = 18;
62
- }
63
-
64
- message CStore_RegisterCDKey_Response {
65
- optional int32 purchase_result_details = 1 [(description) = "EPurchaseResultDetails from key activation"];
66
- optional .CStore_PurchaseReceiptInfo purchase_receipt_info = 2 [(description) = "Purchase receipt info"];
67
- }
68
-
69
- message CStore_GetMostPopularTags_Request {
70
- optional string language = 1;
71
- }
72
-
73
- message CStore_GetMostPopularTags_Response {
74
- message Tag {
75
- optional uint32 tagid = 1;
76
- optional string name = 2;
77
- }
78
-
79
- repeated .CStore_GetMostPopularTags_Response.Tag tags = 1;
80
- }
81
-
82
- message CStore_GetLocalizedNameForTags_Request {
83
- optional string language = 1;
84
- repeated uint32 tagids = 2;
85
- }
86
-
87
- message CStore_GetLocalizedNameForTags_Response {
88
- message Tag {
89
- optional uint32 tagid = 1;
90
- optional string english_name = 2;
91
- optional string name = 3;
92
- optional string normalized_name = 4 [(description) = "english_name, lowercase, with homoglyphs replaced and spaces and some punctuation removed."];
93
- }
94
-
95
- repeated .CStore_GetLocalizedNameForTags_Response.Tag tags = 1;
96
- }
97
-
98
- message CStoreDiscoveryQueueSettings {
99
- optional bool os_win = 4;
100
- optional bool os_mac = 5;
101
- optional bool os_linux = 6;
102
- optional bool full_controller_support = 7;
103
- optional bool native_steam_controller = 8;
104
- optional bool include_coming_soon = 9;
105
- repeated uint32 excluded_tagids = 10 [(description) = "Don't return any games with these tags."];
106
- optional bool exclude_early_access = 11;
107
- optional bool exclude_videos = 12;
108
- optional bool exclude_software = 13;
109
- optional bool exclude_dlc = 14;
110
- optional bool exclude_soundtracks = 15;
111
- repeated uint32 featured_tagids = 16 [(description) = "Must be marked with one of these featured tagids (for sale pages and events)"];
112
- }
113
-
114
- message CStore_GetDiscoveryQueue_Request {
115
- optional .EStoreDiscoveryQueueType queue_type = 1 [default = k_EStoreDiscoveryQueueTypeNew];
116
- optional string country_code = 2;
117
- optional bool rebuild_queue = 3;
118
- optional bool settings_changed = 4;
119
- optional .CStoreDiscoveryQueueSettings settings = 5;
120
- optional bool rebuild_queue_if_stale = 6;
121
- optional bool ignore_user_preferences = 8;
122
- optional bool no_experimental_results = 9;
123
- optional uint32 experimental_cohort = 10;
124
- optional bool debug_get_solr_query = 11;
125
- }
126
-
127
- message CStore_GetDiscoveryQueue_Response {
128
- repeated uint32 appids = 1;
129
- optional string country_code = 2;
130
- optional .CStoreDiscoveryQueueSettings settings = 3;
131
- optional int32 skipped = 4;
132
- optional bool exhausted = 5;
133
- optional uint32 experimental_cohort = 6;
134
- optional string debug_solr_query = 7;
135
- }
136
-
137
- message CStore_GetStorePreferences_Request {
138
- }
139
-
140
- message CStore_UserPreferences {
141
- optional int32 primary_language = 1;
142
- optional uint32 secondary_languages = 2;
143
- optional bool platform_windows = 3;
144
- optional bool platform_mac = 4;
145
- optional bool platform_linux = 5;
146
- optional bool hide_adult_content_violence = 6;
147
- optional bool hide_adult_content_sex = 7;
148
- optional uint32 timestamp_updated = 8;
149
- optional bool hide_store_broadcast = 9;
150
- optional .EUserReviewScorePreference review_score_preference = 10 [default = k_EUserReviewScorePreference_Unset];
151
- optional int32 timestamp_content_descriptor_preferences_updated = 11;
152
- optional .EProvideDeckFeedbackPreference provide_deck_feedback = 12 [default = k_EProvideDeckFeedbackPreference_Unset];
153
- }
154
-
155
- message CStore_UserTagPreferences {
156
- message Tag {
157
- optional uint32 tagid = 1;
158
- optional string name = 2;
159
- optional uint32 timestamp_added = 3;
160
- }
161
-
162
- repeated .CStore_UserTagPreferences.Tag tags_to_exclude = 1;
163
- }
164
-
165
- message CStore_UserContentDescriptorPreferences {
166
- message ContentDescriptor {
167
- optional uint32 content_descriptorid = 1;
168
- optional uint32 timestamp_added = 2;
169
- }
170
-
171
- repeated .CStore_UserContentDescriptorPreferences.ContentDescriptor content_descriptors_to_exclude = 1;
172
- }
173
-
174
- message CStore_GetStorePreferences_Response {
175
- optional .CStore_UserPreferences preferences = 1;
176
- optional .CStore_UserTagPreferences tag_preferences = 2;
177
- optional .CStore_UserContentDescriptorPreferences content_descriptor_preferences = 3;
178
- }
179
-
180
- message CStore_GetTrendingAppsAmongFriends_Request {
181
- optional uint32 num_apps = 1;
182
- optional uint32 num_top_friends = 2;
183
- }
184
-
185
- message CStore_GetTrendingAppsAmongFriends_Response {
186
- message TrendingAppData {
187
- optional uint32 appid = 1;
188
- repeated uint64 steamids_top_friends = 2;
189
- optional uint32 total_friends = 3;
190
- }
191
-
192
- repeated .CStore_GetTrendingAppsAmongFriends_Response.TrendingAppData trending_apps = 1;
193
- }
194
-
195
- message CSteamDeckCompatibility_SetFeedback_Request {
196
- optional uint32 appid = 1;
197
- optional .ESteamDeckCompatibilityFeedback feedback = 2 [default = k_ESteamDeckCompatibilityFeedback_Unset];
198
- }
199
-
200
- message CSteamDeckCompatibility_SetFeedback_Response {
201
- }
202
-
203
- message CSteamDeckCompatibility_ShouldPrompt_Request {
204
- optional uint32 appid = 1;
205
- }
206
-
207
- message CSteamDeckCompatibility_ShouldPrompt_Response {
208
- optional bool prompt = 1;
209
- optional bool feedback_eligible = 2;
210
- optional .ESteamDeckCompatibilityFeedback existing_feedback = 3 [default = k_ESteamDeckCompatibilityFeedback_Unset];
211
- }
212
-
213
- message CStore_StorePreferencesChanged_Notification {
214
- optional .CStore_UserPreferences preferences = 1;
215
- optional .CStore_UserTagPreferences tag_preferences = 2;
216
- optional .CStore_UserContentDescriptorPreferences content_descriptor_preferences = 3;
217
- }
218
-
219
- service Store {
220
- option (service_description) = "A service to access store data.";
221
-
222
- rpc RegisterCDKey (.CStore_RegisterCDKey_Request) returns (.CStore_RegisterCDKey_Response) {
223
- option (method_description) = "Registers a CD key with Steam on the logged in user's account";
224
- }
225
-
226
- rpc GetMostPopularTags (.CStore_GetMostPopularTags_Request) returns (.CStore_GetMostPopularTags_Response) {
227
- option (method_description) = "Get all whitelisted tags, with localized names.";
228
- }
229
-
230
- rpc GetLocalizedNameForTags (.CStore_GetLocalizedNameForTags_Request) returns (.CStore_GetLocalizedNameForTags_Response) {
231
- option (method_description) = "Gets tag names in a different language";
232
- }
233
-
234
- rpc GetDiscoveryQueue (.CStore_GetDiscoveryQueue_Request) returns (.CStore_GetDiscoveryQueue_Response) {
235
- option (method_description) = "Get a list of games for the user to explore on the store.";
236
- }
237
-
238
- rpc GetStorePreferences (.CStore_GetStorePreferences_Request) returns (.CStore_GetStorePreferences_Response) {
239
- option (method_description) = "Returns the desired ratings board and maximum rating to show on the store";
240
- }
241
-
242
- rpc GetTrendingAppsAmongFriends (.CStore_GetTrendingAppsAmongFriends_Request) returns (.CStore_GetTrendingAppsAmongFriends_Response) {
243
- option (method_description) = "Get trending apps among friends";
244
- }
245
-
246
- rpc SetCompatibilityFeedback (.CSteamDeckCompatibility_SetFeedback_Request) returns (.CSteamDeckCompatibility_SetFeedback_Response) {
247
- option (method_description) = "Upserts user feedback regarding the published Steam Deck Compatibility rating for a game";
248
- }
249
-
250
- rpc ShouldPromptForCompatibilityFeedback (.CSteamDeckCompatibility_ShouldPrompt_Request) returns (.CSteamDeckCompatibility_ShouldPrompt_Response) {
251
- option (method_description) = "Returns whether we should ask the user if the compatibility rating is correct";
252
- }
253
- }
254
-
255
- service StoreClient {
256
- option (service_description) = "Steam store to client notifications";
257
- option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
258
-
259
- rpc NotifyStorePreferencesChanged (.CStore_StorePreferencesChanged_Notification) returns (.NoResponse) {
260
- option (method_description) = "Notification from server to client that the user's store preferences have changed";
261
- }
262
- }
1
+ import "steammessages_base.proto";
2
+ import "steammessages_unified_base.steamclient.proto";
3
+ import "contenthubs.proto";
4
+ import "enums.proto";
5
+
6
+ option cc_generic_services = true;
7
+
8
+ enum EStoreDiscoveryQueueType {
9
+ k_EStoreDiscoveryQueueTypeNew = 0;
10
+ k_EStoreDiscoveryQueueTypeComingSoon = 1;
11
+ k_EStoreDiscoveryQueueTypeRecommended = 2;
12
+ k_EStoreDiscoveryQueueTypeEveryNewRelease = 3;
13
+ k_EStoreDiscoveryQueueTypeMLRecommender = 5;
14
+ k_EStoreDiscoveryQueueTypeWishlistOnSale = 6;
15
+ k_EStoreDiscoveryQueueTypeDLC = 7;
16
+ k_EStoreDiscoveryQueueTypeDLCOnSale = 8;
17
+ k_EStoreDiscoveryQueueTypeRecommendedComingSoon = 9;
18
+ k_EStoreDiscoveryQueueTypeRecommendedFree = 10;
19
+ k_EStoreDiscoveryQueueTypeRecommendedOnSale = 11;
20
+ k_EStoreDiscoveryQueueTypeRecommendedDemos = 12;
21
+ k_EStoreDiscoveryQueueTypeDLCNewReleases = 13;
22
+ k_EStoreDiscoveryQueueTypeDLCTopSellers = 14;
23
+ k_EStoreDiscoveryQueueTypeMAX = 15;
24
+ }
25
+
26
+ enum EPlaytestStatus {
27
+ k_ETesterStatusNone = 0;
28
+ k_ETesterStatusPending = 1;
29
+ k_ETesterStatusInvited = 2;
30
+ k_ETesterStatusGranted = 3;
31
+ }
32
+
33
+ enum EUserReviewScorePreference {
34
+ k_EUserReviewScorePreference_Unset = 0;
35
+ k_EUserReviewScorePreference_IncludeAll = 1;
36
+ k_EUserReviewScorePreference_ExcludeBombs = 2;
37
+ }
38
+
39
+ enum EPartnerLinkTrackingBackfillSource {
40
+ k_EPartnerLinkTrackingBackfillSource_None = 0;
41
+ k_EPartnerLinkTrackingBackfillSource_Web = 1;
42
+ k_EPartnerLinkTrackingBackfillSource_Mobile = 2;
43
+ k_EPartnerLinkTrackingBackfillSource_Desktop = 3;
44
+ }
45
+
46
+ message CStore_RegisterCDKey_Request {
47
+ optional string activation_code = 1 [(description) = "Key string to register on the logged in user's account"];
48
+ optional int32 purchase_platform = 2 [(description) = "EPurchasePlatform for platform of request"];
49
+ optional bool is_request_from_client = 3 [(description) = "True if the request was initiated from inside the Steam client"];
50
+ }
51
+
52
+ message CStore_PurchaseReceiptInfo {
53
+ message LineItem {
54
+ optional uint32 packageid = 1;
55
+ optional uint32 appid = 2;
56
+ optional string line_item_description = 3;
57
+ }
58
+
59
+ optional uint64 transactionid = 1;
60
+ optional uint32 packageid = 2;
61
+ optional uint32 purchase_status = 3;
62
+ optional uint32 result_detail = 4;
63
+ optional uint32 transaction_time = 5;
64
+ optional uint32 payment_method = 6;
65
+ optional uint64 base_price = 7;
66
+ optional uint64 total_discount = 8;
67
+ optional uint64 tax = 9;
68
+ optional uint64 shipping = 10;
69
+ optional uint32 currency_code = 11;
70
+ optional string country_code = 12;
71
+ optional string error_headline = 13;
72
+ optional string error_string = 14;
73
+ optional string error_link_text = 15;
74
+ optional string error_link_url = 16;
75
+ optional uint32 error_appid = 17;
76
+ repeated .CStore_PurchaseReceiptInfo.LineItem line_items = 18;
77
+ }
78
+
79
+ message CStore_RegisterCDKey_Response {
80
+ optional int32 purchase_result_details = 1 [(description) = "EPurchaseResultDetails from key activation"];
81
+ optional .CStore_PurchaseReceiptInfo purchase_receipt_info = 2 [(description) = "Purchase receipt info"];
82
+ }
83
+
84
+ message CStore_GetMostPopularTags_Request {
85
+ optional string language = 1;
86
+ }
87
+
88
+ message CStore_GetMostPopularTags_Response {
89
+ message Tag {
90
+ optional uint32 tagid = 1;
91
+ optional string name = 2;
92
+ }
93
+
94
+ repeated .CStore_GetMostPopularTags_Response.Tag tags = 1;
95
+ }
96
+
97
+ message CStore_GetLocalizedNameForTags_Request {
98
+ optional string language = 1;
99
+ repeated uint32 tagids = 2;
100
+ }
101
+
102
+ message CStore_GetLocalizedNameForTags_Response {
103
+ message Tag {
104
+ optional uint32 tagid = 1;
105
+ optional string english_name = 2;
106
+ optional string name = 3;
107
+ optional string normalized_name = 4 [(description) = "english_name, lowercase, with homoglyphs replaced and spaces and some punctuation removed."];
108
+ }
109
+
110
+ repeated .CStore_GetLocalizedNameForTags_Response.Tag tags = 1;
111
+ }
112
+
113
+ message CStore_GetTagList_Request {
114
+ optional string language = 1;
115
+ optional string have_version_hash = 2 [(description) = "The hash returned in the last call. Will return no results if the list hasn't changed."];
116
+ }
117
+
118
+ message CStore_GetTagList_Response {
119
+ message Tag {
120
+ optional uint32 tagid = 1;
121
+ optional string name = 2;
122
+ }
123
+
124
+ optional string version_hash = 1 [(description) = "Pass in future calls, server will only return data if it has changed (hash is per-language)."];
125
+ repeated .CStore_GetTagList_Response.Tag tags = 2;
126
+ }
127
+
128
+ message CStoreDiscoveryQueueSettings {
129
+ optional bool os_win = 4;
130
+ optional bool os_mac = 5;
131
+ optional bool os_linux = 6;
132
+ optional bool full_controller_support = 7;
133
+ optional bool native_steam_controller = 8;
134
+ optional bool include_coming_soon = 9;
135
+ repeated uint32 excluded_tagids = 10 [(description) = "Don't return any games with these tags."];
136
+ optional bool exclude_early_access = 11;
137
+ optional bool exclude_videos = 12;
138
+ optional bool exclude_software = 13;
139
+ optional bool exclude_dlc = 14;
140
+ optional bool exclude_soundtracks = 15;
141
+ repeated uint32 featured_tagids = 16 [(description) = "Must be marked with one of these featured tagids (for sale pages and events)"];
142
+ }
143
+
144
+ message CStore_GetDiscoveryQueue_Request {
145
+ optional .EStoreDiscoveryQueueType queue_type = 1 [default = k_EStoreDiscoveryQueueTypeNew];
146
+ optional string country_code = 2;
147
+ optional bool rebuild_queue = 3;
148
+ optional bool settings_changed = 4;
149
+ optional .CStoreDiscoveryQueueSettings settings = 5;
150
+ optional bool rebuild_queue_if_stale = 6;
151
+ optional bool ignore_user_preferences = 8;
152
+ optional bool no_experimental_results = 9;
153
+ optional uint32 experimental_cohort = 10;
154
+ optional bool debug_get_solr_query = 11;
155
+ optional .CStorePageFilter store_page_filter = 12;
156
+ }
157
+
158
+ message CStore_GetDiscoveryQueue_Response {
159
+ repeated uint32 appids = 1;
160
+ optional string country_code = 2;
161
+ optional .CStoreDiscoveryQueueSettings settings = 3;
162
+ optional int32 skipped = 4;
163
+ optional bool exhausted = 5;
164
+ optional uint32 experimental_cohort = 6;
165
+ optional string debug_solr_query = 7;
166
+ }
167
+
168
+ message CStore_GetDiscoveryQueueSettings_Request {
169
+ optional .EStoreDiscoveryQueueType queue_type = 1 [default = k_EStoreDiscoveryQueueTypeNew];
170
+ optional .CStorePageFilter store_page_filter = 2;
171
+ }
172
+
173
+ message CStore_GetDiscoveryQueueSettings_Response {
174
+ optional string country_code = 1;
175
+ optional .CStoreDiscoveryQueueSettings settings = 2;
176
+ }
177
+
178
+ message CStore_SkipDiscoveryQueueItem_Request {
179
+ optional .EStoreDiscoveryQueueType queue_type = 1 [default = k_EStoreDiscoveryQueueTypeNew];
180
+ optional uint32 appid = 2;
181
+ optional .CStorePageFilter store_page_filter = 3;
182
+ }
183
+
184
+ message CStore_SkipDiscoveryQueueItem_Response {
185
+ }
186
+
187
+ message CStore_GetUserGameInterestState_Request {
188
+ optional uint32 appid = 1;
189
+ optional uint32 store_appid = 2;
190
+ optional uint32 beta_appid = 3;
191
+ }
192
+
193
+ message CStore_GetUserGameInterestState_Response {
194
+ message InQueue {
195
+ optional .EStoreDiscoveryQueueType type = 1 [default = k_EStoreDiscoveryQueueTypeNew];
196
+ optional bool skipped = 2;
197
+ optional int32 items_remaining = 3;
198
+ optional uint32 next_appid = 4;
199
+ optional uint32 experimental_cohort = 5;
200
+ }
201
+
202
+ optional bool owned = 1;
203
+ optional bool wishlist = 2;
204
+ optional bool ignored = 3;
205
+ optional bool following = 4;
206
+ repeated .EStoreDiscoveryQueueType in_queues = 5;
207
+ repeated .EStoreDiscoveryQueueType queues_with_skip = 6 [(description) = "Discovery queue types where the user has skipped this game."];
208
+ repeated int32 queue_items_remaining = 7 [(description) = "# of items remaining in the discovery queue - matches the same order as in_queues"];
209
+ repeated uint32 queue_items_next_appid = 8 [(description) = "the next appid in the queue - matches the same order as in_queues"];
210
+ optional bool temporarily_owned = 9 [(description) = "The user owns the game temporarily, eg a rental or free weekend"];
211
+ repeated .CStore_GetUserGameInterestState_Response.InQueue queues = 10;
212
+ optional int32 ignored_reason = 11 [(description) = "The ERecommendationIgnoreReason why the user ignored the app"];
213
+ optional .EPlaytestStatus beta_status = 12 [default = k_ETesterStatusNone, (description) = "User interest or membership in the playtest for this app if any"];
214
+ }
215
+
216
+ message CStore_GetDiscoveryQueueSkippedApps_Request {
217
+ optional fixed64 steamid = 1;
218
+ optional .EStoreDiscoveryQueueType queue_type = 2 [default = k_EStoreDiscoveryQueueTypeNew];
219
+ optional .CStorePageFilter store_page_filter = 3;
220
+ }
221
+
222
+ message CStore_GetDiscoveryQueueSkippedApps_Response {
223
+ repeated uint32 appids = 1;
224
+ }
225
+
226
+ message CStore_GetStorePreferences_Request {
227
+ }
228
+
229
+ message CStore_UserPreferences {
230
+ optional int32 primary_language = 1;
231
+ optional uint32 secondary_languages = 2;
232
+ optional bool platform_windows = 3;
233
+ optional bool platform_mac = 4;
234
+ optional bool platform_linux = 5;
235
+ optional uint32 timestamp_updated = 8;
236
+ optional bool hide_store_broadcast = 9;
237
+ optional .EUserReviewScorePreference review_score_preference = 10 [default = k_EUserReviewScorePreference_Unset];
238
+ optional int32 timestamp_content_descriptor_preferences_updated = 11;
239
+ optional .EProvideDeckFeedbackPreference provide_deck_feedback = 12 [default = k_EProvideDeckFeedbackPreference_Unset];
240
+ optional string additional_languages = 13;
241
+ }
242
+
243
+ message CStore_UserTagPreferences {
244
+ message Tag {
245
+ optional uint32 tagid = 1;
246
+ optional string name = 2;
247
+ optional uint32 timestamp_added = 3;
248
+ }
249
+
250
+ repeated .CStore_UserTagPreferences.Tag tags_to_exclude = 1;
251
+ }
252
+
253
+ message CStore_GetStorePreferences_Response {
254
+ optional .CStore_UserPreferences preferences = 1;
255
+ optional .CStore_UserTagPreferences tag_preferences = 2;
256
+ optional .UserContentDescriptorPreferences content_descriptor_preferences = 3;
257
+ }
258
+
259
+ message CStore_GetTrendingAppsAmongFriends_Request {
260
+ optional uint32 num_apps = 1;
261
+ optional uint32 num_top_friends = 2;
262
+ }
263
+
264
+ message CStore_GetTrendingAppsAmongFriends_Response {
265
+ message TrendingAppData {
266
+ optional uint32 appid = 1;
267
+ repeated uint64 steamids_top_friends = 2;
268
+ optional uint32 total_friends = 3;
269
+ }
270
+
271
+ repeated .CStore_GetTrendingAppsAmongFriends_Response.TrendingAppData trending_apps = 1;
272
+ }
273
+
274
+ message CStore_MigratePartnerLinkTracking_Notification {
275
+ optional uint32 accountid = 1;
276
+ optional uint64 browserid = 2;
277
+ optional .EPartnerLinkTrackingBackfillSource backfill_source = 3 [default = k_EPartnerLinkTrackingBackfillSource_None];
278
+ }
279
+
280
+ message CSteamDeckCompatibility_SetFeedback_Request {
281
+ optional uint32 appid = 1;
282
+ optional .ESteamDeckCompatibilityFeedback feedback = 2 [default = k_ESteamDeckCompatibilityFeedback_Unset];
283
+ }
284
+
285
+ message CSteamDeckCompatibility_SetFeedback_Response {
286
+ }
287
+
288
+ message CSteamDeckCompatibility_ShouldPrompt_Request {
289
+ optional uint32 appid = 1;
290
+ }
291
+
292
+ message CSteamDeckCompatibility_ShouldPrompt_Response {
293
+ optional bool prompt = 1;
294
+ optional bool feedback_eligible = 2;
295
+ optional .ESteamDeckCompatibilityFeedback existing_feedback = 3 [default = k_ESteamDeckCompatibilityFeedback_Unset];
296
+ }
297
+
298
+ message CStore_StorePreferencesChanged_Notification {
299
+ optional .CStore_UserPreferences preferences = 1;
300
+ optional .CStore_UserTagPreferences tag_preferences = 2;
301
+ optional .UserContentDescriptorPreferences content_descriptor_preferences = 3;
302
+ }
303
+
304
+ service Store {
305
+ option (service_description) = "A service to access store data.";
306
+
307
+ rpc RegisterCDKey (.CStore_RegisterCDKey_Request) returns (.CStore_RegisterCDKey_Response) {
308
+ option (method_description) = "Registers a CD key with Steam on the logged in user's account";
309
+ }
310
+
311
+ rpc GetMostPopularTags (.CStore_GetMostPopularTags_Request) returns (.CStore_GetMostPopularTags_Response) {
312
+ option (method_description) = "Get all whitelisted tags, with localized names.";
313
+ }
314
+
315
+ rpc GetLocalizedNameForTags (.CStore_GetLocalizedNameForTags_Request) returns (.CStore_GetLocalizedNameForTags_Response) {
316
+ option (method_description) = "Gets tag names in a different language";
317
+ }
318
+
319
+ rpc GetTagList (.CStore_GetTagList_Request) returns (.CStore_GetTagList_Response) {
320
+ option (method_description) = "Get the list of tags, localized";
321
+ }
322
+
323
+ rpc GetDiscoveryQueue (.CStore_GetDiscoveryQueue_Request) returns (.CStore_GetDiscoveryQueue_Response) {
324
+ option (method_description) = "Get a list of games for the user to explore on the store.";
325
+ }
326
+
327
+ rpc GetDiscoveryQueueSettings (.CStore_GetDiscoveryQueueSettings_Request) returns (.CStore_GetDiscoveryQueueSettings_Response) {
328
+ option (method_description) = "Get the settings that were used to generate a user's discovery queue.";
329
+ }
330
+
331
+ rpc SkipDiscoveryQueueItem (.CStore_SkipDiscoveryQueueItem_Request) returns (.CStore_SkipDiscoveryQueueItem_Response) {
332
+ option (method_description) = "Skip an item in the user's queue.";
333
+ }
334
+
335
+ rpc GetUserGameInterestState (.CStore_GetUserGameInterestState_Request) returns (.CStore_GetUserGameInterestState_Response) {
336
+ option (method_description) = "Get information about a user's relationship to a game - ownership, wishlist, discovery queue state, etc.";
337
+ }
338
+
339
+ rpc GetDiscoveryQueueSkippedApps (.CStore_GetDiscoveryQueueSkippedApps_Request) returns (.CStore_GetDiscoveryQueueSkippedApps_Response) {
340
+ option (method_description) = "Returns all the apps skipped so far in the given discovery queue for the given user.";
341
+ }
342
+
343
+ rpc GetStorePreferences (.CStore_GetStorePreferences_Request) returns (.CStore_GetStorePreferences_Response) {
344
+ option (method_description) = "Returns the desired ratings board and maximum rating to show on the store";
345
+ }
346
+
347
+ rpc GetTrendingAppsAmongFriends (.CStore_GetTrendingAppsAmongFriends_Request) returns (.CStore_GetTrendingAppsAmongFriends_Response) {
348
+ option (method_description) = "Get trending apps among friends";
349
+ }
350
+
351
+ rpc MigratePartnerLinkTracking (.CStore_MigratePartnerLinkTracking_Notification) returns (.NoResponse) {
352
+ option (method_description) = "Move UTM data from the PartnerLinkTrackingLogNoUser table to the PartnerLinkTrackingLogWithUser table";
353
+ }
354
+
355
+ rpc SetCompatibilityFeedback (.CSteamDeckCompatibility_SetFeedback_Request) returns (.CSteamDeckCompatibility_SetFeedback_Response) {
356
+ option (method_description) = "Upserts user feedback regarding the published Steam Deck Compatibility rating for a game";
357
+ }
358
+
359
+ rpc ShouldPromptForCompatibilityFeedback (.CSteamDeckCompatibility_ShouldPrompt_Request) returns (.CSteamDeckCompatibility_ShouldPrompt_Response) {
360
+ option (method_description) = "Returns whether we should ask the user if the compatibility rating is correct";
361
+ }
362
+ }
363
+
364
+ service StoreClient {
365
+ option (service_description) = "Steam store to client notifications";
366
+ option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
367
+
368
+ rpc NotifyStorePreferencesChanged (.CStore_StorePreferencesChanged_Notification) returns (.NoResponse) {
369
+ option (method_description) = "Notification from server to client that the user's store preferences have changed";
370
+ }
371
+ }