steamutils 1.3.64 → 1.3.66

Sign up to get free protection for your applications and to get access to all the features.
Files changed (168) hide show
  1. package/SteamClient.js +12 -10
  2. package/index.js +96 -0
  3. package/package.json +2 -2
  4. package/protos/csgo/base_gcmessages.proto +553 -0
  5. package/protos/csgo/connectionless_netmessages.proto +0 -2
  6. package/protos/csgo/cs_gameevents.proto +1 -0
  7. package/protos/csgo/cstrike15_gcmessages.proto +41 -12
  8. package/protos/csgo/cstrike15_usermessages.proto +0 -4
  9. package/protos/csgo/demo.proto +5 -0
  10. package/protos/csgo/econ_gcmessages.proto +0 -9
  11. package/protos/csgo/gcsdk_gcmessages.proto +2 -2
  12. package/protos/csgo/gcsystemmsgs.proto +1 -0
  13. package/protos/csgo/netmessages.proto +22 -8
  14. package/protos/csgo/networkbasetypes.proto +2 -0
  15. package/protos/csgo/steammessages.proto +23 -0
  16. package/protos/csgo/usercmd.proto +2 -1
  17. package/protos/csgo/usermessages.proto +31 -0
  18. package/protos/steam/enums.proto +58 -1
  19. package/protos/steam/enums_clientserver.proto +3 -34
  20. package/protos/steam/enums_productinfo.proto +1 -0
  21. package/protos/steam/htmlmessages.proto +12 -0
  22. package/protos/steam/steamdatagram_messages_sdr.proto +1 -1
  23. package/protos/steam/steammessages_accounthardware.steamclient.proto +18 -52
  24. package/protos/steam/steammessages_appoverview.proto +18 -1
  25. package/protos/steam/steammessages_auth.steamclient.proto +128 -188
  26. package/protos/steam/steammessages_base.proto +3 -0
  27. package/protos/steam/steammessages_broadcast.steamclient.proto +126 -267
  28. package/protos/steam/steammessages_chat.steamclient.proto +79 -290
  29. package/protos/steam/steammessages_client_objects.proto +4 -0
  30. package/protos/steam/steammessages_clientlanp2p.proto +1 -0
  31. package/protos/steam/steammessages_clientmetrics.steamclient.proto +0 -2
  32. package/protos/steam/steammessages_clientnotificationtypes.proto +19 -0
  33. package/protos/steam/steammessages_clientserver_2.proto +11 -0
  34. package/protos/steam/steammessages_clientserver_login.proto +1 -1
  35. package/protos/steam/steammessages_clientserver_mms.proto +228 -235
  36. package/protos/steam/steammessages_clientserver_ucm.proto +2 -0
  37. package/protos/steam/steammessages_clientserver_uds.proto +1 -0
  38. package/protos/steam/steammessages_clientserver_ufs.proto +0 -127
  39. package/protos/steam/steammessages_clientsettings.proto +46 -6
  40. package/protos/steam/steammessages_cloud.steamclient.proto +158 -249
  41. package/protos/steam/steammessages_contentsystem.steamclient.proto +16 -8
  42. package/protos/steam/steammessages_credentials.steamclient.proto +7 -26
  43. package/protos/steam/steammessages_datapublisher.steamclient.proto +30 -44
  44. package/protos/steam/steammessages_depotbuilder.steamclient.proto +6 -25
  45. package/protos/steam/steammessages_deviceauth.steamclient.proto +11 -45
  46. package/protos/steam/steammessages_econ.steamclient.proto +12 -25
  47. package/protos/steam/steammessages_familygroups.steamclient.proto +441 -0
  48. package/protos/steam/steammessages_friendmessages.steamclient.proto +19 -46
  49. package/protos/steam/steammessages_gamenetworking.steamclient.proto +2 -9
  50. package/protos/steam/steammessages_gamenotifications.steamclient.proto +57 -82
  51. package/protos/steam/steammessages_gameservers.steamclient.proto +13 -29
  52. package/protos/steam/steammessages_inventory.steamclient.proto +21 -73
  53. package/protos/steam/steammessages_linkfilter.steamclient.proto +14 -24
  54. package/protos/steam/steammessages_lobbymatchmaking.steamclient.proto +1 -5
  55. package/protos/steam/steammessages_market.steamclient.proto +9 -13
  56. package/protos/steam/steammessages_marketingmessages.steamclient.proto +59 -60
  57. package/protos/steam/steammessages_offline.steamclient.proto +2 -9
  58. package/protos/steam/steammessages_parental.steamclient.proto +100 -66
  59. package/protos/steam/steammessages_parties.steamclient.proto +6 -25
  60. package/protos/steam/steammessages_partnerapps.steamclient.proto +11 -43
  61. package/protos/steam/steammessages_player.steamclient.proto +133 -278
  62. package/protos/steam/steammessages_publishedfile.steamclient.proto +213 -289
  63. package/protos/steam/steammessages_qms.steamclient.proto +4 -18
  64. package/protos/steam/steammessages_remoteclient.proto +2 -1
  65. package/protos/steam/steammessages_remoteclient_discovery.proto +9 -0
  66. package/protos/steam/steammessages_remoteclient_service.steamclient.proto +18 -73
  67. package/protos/steam/steammessages_remoteplay.proto +1 -2
  68. package/protos/steam/steammessages_secrets.steamclient.proto +1 -5
  69. package/protos/steam/steammessages_shader.steamclient.proto +6 -25
  70. package/protos/steam/steammessages_site_license.steamclient.proto +8 -33
  71. package/protos/steam/steammessages_steamtv.steamclient.proto +169 -266
  72. package/protos/steam/steammessages_store.steamclient.proto +110 -77
  73. package/protos/steam/steammessages_storebrowse.steamclient.proto +170 -115
  74. package/protos/steam/steammessages_timedtrial.steamclient.proto +3 -13
  75. package/protos/steam/steammessages_twofactor.steamclient.proto +92 -121
  76. package/protos/steam/steammessages_unified_base.steamclient.proto +12 -0
  77. package/protos/steam/steammessages_unified_test.steamclient.proto +10 -20
  78. package/protos/steam/steammessages_useraccount.steamclient.proto +26 -64
  79. package/protos/steam/steammessages_vac.steamclient.proto +2 -9
  80. package/protos/steam/steammessages_video.steamclient.proto +25 -128
  81. package/protos/steam/steammessages_workshop.steamclient.proto +1 -5
  82. package/protos/steam/webuimessages_achievements.proto +29 -0
  83. package/protos/steam/webuimessages_gamescope.proto +57 -0
  84. package/protos/steam/webuimessages_steamengine.proto +9 -0
  85. package/protos/steam/webuimessages_steamos.proto +114 -0
  86. package/protos/steam/webuimessages_transport.proto +4 -0
  87. package/protos/steam/webuimessages_transportvalidation.proto +14 -0
  88. package/test_steamclient.js +4 -3
  89. package/protos/csgo/steammessages_steamlearn.steamworkssdk.proto +0 -357
  90. package/protos/steam/renderer/rendermessages.proto +0 -893
  91. package/protos/steam/steammessages_star.steamclient.proto +0 -64
  92. package/protos/webui/common.proto +0 -5508
  93. package/protos/webui/common_base.proto +0 -27
  94. package/protos/webui/service_accountlinking.proto +0 -27
  95. package/protos/webui/service_accountprivacy.proto +0 -42
  96. package/protos/webui/service_auction.proto +0 -97
  97. package/protos/webui/service_authentication.proto +0 -222
  98. package/protos/webui/service_authenticationsupport.proto +0 -74
  99. package/protos/webui/service_broadcast.proto +0 -562
  100. package/protos/webui/service_chat.proto +0 -11
  101. package/protos/webui/service_chatroom.proto +0 -810
  102. package/protos/webui/service_chatusability.proto +0 -107
  103. package/protos/webui/service_clan.proto +0 -41
  104. package/protos/webui/service_clanchatrooms.proto +0 -25
  105. package/protos/webui/service_clanfaqs.proto +0 -202
  106. package/protos/webui/service_clientcomm.proto +0 -150
  107. package/protos/webui/service_clientmetrics.proto +0 -63
  108. package/protos/webui/service_cloud.proto +0 -222
  109. package/protos/webui/service_cloudconfigstore.proto +0 -51
  110. package/protos/webui/service_cloudgaming.proto +0 -30
  111. package/protos/webui/service_community.proto +0 -365
  112. package/protos/webui/service_econ.proto +0 -134
  113. package/protos/webui/service_embedded.proto +0 -24
  114. package/protos/webui/service_experimentservice.proto +0 -6
  115. package/protos/webui/service_fovasvideo.proto +0 -15
  116. package/protos/webui/service_friendmessages.proto +0 -133
  117. package/protos/webui/service_friendslist.proto +0 -70
  118. package/protos/webui/service_gamenotes.proto +0 -15
  119. package/protos/webui/service_helprequestlogs.proto +0 -26
  120. package/protos/webui/service_loyaltyrewards.proto +0 -252
  121. package/protos/webui/service_marketingmessages.proto +0 -184
  122. package/protos/webui/service_mobileapp.proto +0 -18
  123. package/protos/webui/service_mobileauth.proto +0 -24
  124. package/protos/webui/service_mobiledevice.proto +0 -26
  125. package/protos/webui/service_mobileperaccount.proto +0 -31
  126. package/protos/webui/service_news.proto +0 -101
  127. package/protos/webui/service_parental.proto +0 -178
  128. package/protos/webui/service_partnermembershipinvite.proto +0 -29
  129. package/protos/webui/service_partnerstorebrowse.proto +0 -6
  130. package/protos/webui/service_phone.proto +0 -51
  131. package/protos/webui/service_physicalgoods.proto +0 -15
  132. package/protos/webui/service_player.proto +0 -885
  133. package/protos/webui/service_promotioneventinvites.proto +0 -50
  134. package/protos/webui/service_promotionplanning.proto +0 -72
  135. package/protos/webui/service_publishedfile.proto +0 -687
  136. package/protos/webui/service_publishing.proto +0 -119
  137. package/protos/webui/service_quest.proto +0 -127
  138. package/protos/webui/service_salefeature.proto +0 -315
  139. package/protos/webui/service_saleitemrewards.proto +0 -54
  140. package/protos/webui/service_shoppingcart.proto +0 -108
  141. package/protos/webui/service_steamawards.proto +0 -19
  142. package/protos/webui/service_steamcharts.proto +0 -75
  143. package/protos/webui/service_steamengine.proto +0 -36
  144. package/protos/webui/service_steamlearn.proto +0 -727
  145. package/protos/webui/service_steamnotification.proto +0 -84
  146. package/protos/webui/service_steamtv.proto +0 -495
  147. package/protos/webui/service_steamvrvoicechat.proto +0 -67
  148. package/protos/webui/service_steamvrwebrtc.proto +0 -48
  149. package/protos/webui/service_storagedevicemanager.proto +0 -104
  150. package/protos/webui/service_store.proto +0 -289
  151. package/protos/webui/service_storeappsimilarity.proto +0 -76
  152. package/protos/webui/service_storebrowse.proto +0 -73
  153. package/protos/webui/service_storequery.proto +0 -97
  154. package/protos/webui/service_storesales.proto +0 -15
  155. package/protos/webui/service_storetopsellers.proto +0 -44
  156. package/protos/webui/service_systemmanager.proto +0 -11
  157. package/protos/webui/service_test_transporterror.proto +0 -6
  158. package/protos/webui/service_transportauth.proto +0 -12
  159. package/protos/webui/service_transportvalidation.proto +0 -69
  160. package/protos/webui/service_twofactor.proto +0 -181
  161. package/protos/webui/service_useraccount.proto +0 -138
  162. package/protos/webui/service_usergameactivity.proto +0 -34
  163. package/protos/webui/service_usergamenotes.proto +0 -53
  164. package/protos/webui/service_usernews.proto +0 -68
  165. package/protos/webui/service_userreviews.proto +0 -96
  166. package/protos/webui/service_video.proto +0 -128
  167. package/protos/webui/service_voicechat.proto +0 -139
  168. package/protos/webui/service_webrtc.proto +0 -52
@@ -48,6 +48,14 @@ enum EUserReviewScore {
48
48
  k_EUserReviewScore_OverwhelminglyPositive = 9;
49
49
  }
50
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
+
51
59
  enum EStoreCategoryType {
52
60
  k_EStoreCategoryType_Category = 0;
53
61
  k_EStoreCategoryType_SupportedPlayers = 1;
@@ -68,9 +76,9 @@ message StoreItemID {
68
76
 
69
77
  message StoreBrowseContext {
70
78
  optional string language = 1;
71
- optional int32 elanguage = 2 [(description) = "ELanguage"];
72
- optional string country_code = 3 [(description) = "2-character country code; required"];
73
- optional int32 steam_realm = 4 [(description) = "ESteamRealm"];
79
+ optional int32 elanguage = 2;
80
+ optional string country_code = 3;
81
+ optional int32 steam_realm = 4;
74
82
  }
75
83
 
76
84
  message StoreBrowseItemDataRequest {
@@ -81,13 +89,15 @@ message StoreBrowseItemDataRequest {
81
89
  optional bool include_screenshots = 5;
82
90
  optional bool include_trailers = 6;
83
91
  optional bool include_ratings = 7;
84
- optional int32 include_tag_count = 8 [(description) = "Count of tags to return, as tagids. Maximum 20."];
92
+ optional int32 include_tag_count = 8;
85
93
  optional bool include_reviews = 9;
86
- optional bool include_basic_info = 10 [(description) = "Include short description, publisher, developers"];
87
- optional bool include_supported_languages = 11 [(description) = "includes the games support for languages: supported, full_audio, subtitles"];
94
+ optional bool include_basic_info = 10;
95
+ optional bool include_supported_languages = 11;
88
96
  optional bool include_full_description = 12;
89
- optional bool include_included_items = 13 [(description) = "For packages and bundles, return the apps and packages included as well. Pass included_item_data_request for more details on the included items."];
90
- optional .StoreBrowseItemDataRequest included_item_data_request = 14 [(description) = "The data to return for included items."];
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;
91
101
  }
92
102
 
93
103
  message CStoreBrowse_GetItems_Request {
@@ -98,43 +108,43 @@ message CStoreBrowse_GetItems_Request {
98
108
 
99
109
  message StoreItem {
100
110
  message RelatedItems {
101
- optional uint32 parent_appid = 1 [(description) = "For DLC, Demos, etc, this is the main app."];
111
+ optional uint32 parent_appid = 1;
102
112
  }
103
113
 
104
114
  message IncludedItems {
105
- repeated .StoreItem included_apps = 1 [(description) = "All apps included, if this is a package or bundle"];
106
- repeated .StoreItem included_packages = 2 [(description) = "All packages included, if this is a bundle"];
115
+ repeated .StoreItem included_apps = 1;
116
+ repeated .StoreItem included_packages = 2;
107
117
  }
108
118
 
109
119
  message Categories {
110
- repeated uint32 supported_player_categoryids = 2 [(description) = "Categories like Single Player, Multiplayer, MMO"];
111
- repeated uint32 feature_categoryids = 3 [(description) = "Categories indicating supported features like Steam Cloud, VAC, Achievements, etc"];
112
- repeated uint32 controller_categoryids = 4 [(description) = "Categories indicating controller support and full controller support."];
120
+ repeated uint32 supported_player_categoryids = 2;
121
+ repeated uint32 feature_categoryids = 3;
122
+ repeated uint32 controller_categoryids = 4;
113
123
  }
114
124
 
115
125
  message Reviews {
116
126
  message StoreReviewSummary {
117
127
  optional uint32 review_count = 1;
118
- optional int32 percent_positive = 2 [(description) = "0-100"];
128
+ optional int32 percent_positive = 2;
119
129
  optional .EUserReviewScore review_score = 3 [default = k_EUserReviewScore_None];
120
- optional string review_score_label = 4 [(description) = "A string like 'Mixed', 'Negative', 'Overwhelmingly Positive'"];
130
+ optional string review_score_label = 4;
121
131
  }
122
132
 
123
- optional .StoreItem.Reviews.StoreReviewSummary summary_filtered = 1 [(description) = "Review summary with review bombs removed (if any). Always present (if include_reviews set in request)"];
124
- optional .StoreItem.Reviews.StoreReviewSummary summary_unfiltered = 2 [(description) = "Review summary with review bombs included. Only present if there are review bombs."];
133
+ optional .StoreItem.Reviews.StoreReviewSummary summary_filtered = 1;
134
+ optional .StoreItem.Reviews.StoreReviewSummary summary_unfiltered = 2;
125
135
  }
126
136
 
127
137
  message BasicInfo {
128
138
  message CreatorHomeLink {
129
139
  optional string name = 1;
130
- optional uint32 creator_clan_account_id = 2 [(description) = "Optioanl field indicating this name is associated this the creator home via the clan account id"];
140
+ optional uint32 creator_clan_account_id = 2;
131
141
  }
132
142
 
133
143
  optional string short_description = 1;
134
144
  repeated .StoreItem.BasicInfo.CreatorHomeLink publishers = 2;
135
145
  repeated .StoreItem.BasicInfo.CreatorHomeLink developers = 3;
136
146
  repeated .StoreItem.BasicInfo.CreatorHomeLink franchises = 4;
137
- optional string capsule_headline = 5 [(description) = "A custom string specified by the partner for display on or around a capsule on the store, e.g. 'Just Updated!'"];
147
+ optional string capsule_headline = 5;
138
148
  }
139
149
 
140
150
  message Tag {
@@ -143,31 +153,31 @@ message StoreItem {
143
153
  }
144
154
 
145
155
  message Assets {
146
- optional string asset_url_format = 1 [(description) = "Format for URLs, should substitute the capsule name for ${FILENAME} in the URL."];
156
+ optional string asset_url_format = 1;
147
157
  optional string main_capsule = 2;
148
158
  optional string small_capsule = 3;
149
- optional string header = 4 [(description) = "Equivalent to GetConstantRatioHeaderImage in PHP; apps will always have this, packages and bundles may not."];
150
- optional string package_header = 5 [(description) = "A wider header used on package/bundle pages. Not set for apps."];
159
+ optional string header = 4;
160
+ optional string package_header = 5;
151
161
  optional string page_background = 6;
152
- optional string hero_capsule = 7 [(description) = "374x448"];
153
- optional string hero_capsule_2x = 8 [(description) = "748x896 version of hero capsule."];
154
- optional string library_capsule = 9 [(description) = "300x450 - tall library asset"];
155
- optional string library_capsule_2x = 10 [(description) = "600x900 - tall library asset"];
156
- optional string library_hero = 11 [(description) = "960x310 or 1920x620 - library detail background asset"];
157
- optional string library_hero_2x = 12 [(description) = "1920x620 or 3840x1240 - library detail background asset"];
158
- optional string community_icon = 13 [(description) = "32x32 jpg uploading via steamworks under community assets"];
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;
159
169
  optional string clan_avatar = 14;
160
170
  }
161
171
 
162
172
  message ReleaseInfo {
163
- optional uint32 steam_release_date = 1 [(description) = "The date this item first released on the Steam store. For Early Access graduates, this is their graduation day."];
164
- optional uint32 original_release_date = 2 [(description) = "Optional; the date this item first released elsewhere, typically back catalog items."];
165
- optional uint32 original_steam_release_date = 3 [(description) = "For Early Access graduates, the date the game first appeared on Steam."];
166
- optional bool is_coming_soon = 4 [(description) = "Is the app coming soon? This flag should be preferred to doing time comparisons against steam_release_date."];
167
- optional bool is_preload = 5 [(description) = "Can the app be preloaded? Only applies to Coming Soon titles."];
168
- optional string custom_release_date_message = 6 [(description) = "Custom release date string. steam_release_date will be unset if this is set."];
169
- optional bool is_abridged_release_date = 7 [(description) = "Release date should be displayed as month-year only. steam_release_date is the last day of the month."];
170
- optional string coming_soon_display = 8 [(description) = "One of 'date_full', 'date_month', 'date_quarter', 'date_year', 'text_comingsoon', 'text_tba'"];
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;
171
181
  optional bool is_early_access = 10;
172
182
  optional uint32 mac_release_date = 20;
173
183
  optional uint32 linux_release_date = 21;
@@ -197,88 +207,98 @@ message StoreItem {
197
207
  optional uint32 discount_end_date = 3;
198
208
  }
199
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
+
200
217
  optional int32 packageid = 1;
201
218
  optional int32 bundleid = 2;
202
- optional string purchase_option_name = 3 [(description) = "The name of the package or bundle"];
203
- optional int64 final_price_in_cents = 5 [(description) = "Always set. Includes any applicable non user-specific discounts."];
204
- optional int64 original_price_in_cents = 6 [(description) = "If discounted, this is the price the item would normally cost."];
219
+ optional string purchase_option_name = 3;
220
+ optional int64 final_price_in_cents = 5;
221
+ optional int64 original_price_in_cents = 6;
205
222
  optional int64 user_final_price_in_cents = 7;
206
- optional string formatted_final_price = 8 [(description) = "Always set. Formatted with currency symbol and decimal, like '$10.00'."];
223
+ optional string formatted_final_price = 8;
207
224
  optional string formatted_original_price = 9;
208
- optional int32 discount_pct = 10 [(description) = "If discounted, calculated from final price and original price."];
225
+ optional int32 discount_pct = 10;
209
226
  optional int32 user_discount_pct = 11;
210
- optional int32 bundle_discount_pct = 12 [(description) = "If this is a bundle, the savings from buying the bundle. If no bundle items are on active discount, this will be the same as discount_pct."];
211
- repeated .StoreItem.PurchaseOption.Discount active_discounts = 20 [(description) = "Discounts included in discounted_price_in_cents."];
212
- repeated .StoreItem.PurchaseOption.Discount user_active_discounts = 21 [(description) = "Additional discounts included in user_discounted_price_in_cents."];
213
- repeated .StoreItem.PurchaseOption.Discount inactive_discounts = 22 [(description) = "Additional user-specific discounts that do not apply to the current user."];
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;
214
231
  optional bool user_can_purchase = 30;
215
232
  optional bool user_can_purchase_as_gift = 31;
216
- optional bool is_commercial_license = 40 [(description) = "This is a commercial license"];
217
- optional bool should_suppress_discount_pct = 41 [(description) = "Don't show the discount percentage on a store capsule for this item."];
218
- optional bool hide_discount_pct_for_compliance = 42 [default = false, (description) = "Don't show the discount percent because there was a discount in the last 30 days."];
219
- optional int32 included_game_count = 43 [(description) = "How many games are included in this purchase option."];
220
- optional int64 lowest_recent_price_in_cents = 44 [(description) = "Lowest recent price in cents. If not set, then there is no data so we ignore."];
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;
221
240
  }
222
241
 
223
242
  message Screenshots {
224
243
  message Screenshot {
225
- optional string filename = 1 [(description) = "Path to file on media CDN. Can access sized version by appending to SHA: '.1920x1080', '.600x338', '.116x65'"];
226
- optional int32 ordinal = 2 [(description) = "Screenshots should be displayed in order of ascending ordinal; they are returned in-order but client may need to merge all_ages and mature_content_screenshots."];
244
+ optional string filename = 1;
245
+ optional int32 ordinal = 2;
227
246
  }
228
247
 
229
- repeated .StoreItem.Screenshots.Screenshot all_ages_screenshots = 2 [(description) = "Screenshots suitable for all ages."];
230
- repeated .StoreItem.Screenshots.Screenshot mature_content_screenshots = 3 [(description) = "Screenshots that may contain mature content; these should only be shown after verifying age (age gate)."];
248
+ repeated .StoreItem.Screenshots.Screenshot all_ages_screenshots = 2;
249
+ repeated .StoreItem.Screenshots.Screenshot mature_content_screenshots = 3;
231
250
  }
232
251
 
233
252
  message Trailers {
234
253
  message VideoSource {
235
- optional string filename = 1 [(description) = "Substitute into trailer_url_format"];
236
- optional string type = 2 [(description) = "'video/webm' or 'video/mp4'; can just put this directly in to a <source> tag."];
254
+ optional string filename = 1;
255
+ optional string type = 2;
237
256
  }
238
257
 
239
258
  message Trailer {
240
259
  optional string trailer_name = 1;
241
- optional string trailer_url_format = 2 [(description) = "Format for URLs, should substitute filename for ${FILENAME} in the URL."];
260
+ optional string trailer_url_format = 2;
242
261
  repeated .StoreItem.Trailers.VideoSource trailer_480p = 3;
243
262
  repeated .StoreItem.Trailers.VideoSource trailer_max = 4;
244
263
  repeated .StoreItem.Trailers.VideoSource microtrailer = 5;
245
- optional string screenshot_medium = 10 [(description) = "293x165px. Use trailer_url_format."];
246
- optional string screenshot_full = 11 [(description) = "Same size as trailer_max. Use trailer_url_format."];
247
- optional int32 trailer_base_id = 12 [(description) = "Trailer ID. For localized trailers, this will be the original trailer's ID"];
264
+ optional string screenshot_medium = 10;
265
+ optional string screenshot_full = 11;
266
+ optional int32 trailer_base_id = 12;
248
267
  }
249
268
 
250
- repeated .StoreItem.Trailers.Trailer highlights = 1 [(description) = "Primary trailers for this app"];
251
- repeated .StoreItem.Trailers.Trailer other_trailers = 2 [(description) = "Additional trailers; on the app page, these are shown after screenshots (highlights shown before)"];
269
+ repeated .StoreItem.Trailers.Trailer highlights = 1;
270
+ repeated .StoreItem.Trailers.Trailer other_trailers = 2;
252
271
  }
253
272
 
254
273
  message SupportedLanguage {
255
- optional int32 elanguage = 1 [(description) = "ELanguage"];
274
+ optional int32 elanguage = 1 [default = -1];
275
+ optional int32 eadditionallanguage = 5 [default = -1];
256
276
  optional bool supported = 2;
257
277
  optional bool full_audio = 3;
258
278
  optional bool subtitles = 4;
259
279
  }
260
280
 
261
281
  message FreeWeekend {
262
- optional uint32 start_time = 1 [(description) = "When the free weekend starts."];
263
- optional uint32 end_time = 2 [(description) = "When the free weekend ends."];
264
- optional string text = 3 [(description) = "Text to show as a description of the free weekend."];
282
+ optional uint32 start_time = 1;
283
+ optional uint32 end_time = 2;
284
+ optional string text = 3;
265
285
  }
266
286
 
267
287
  optional .EStoreItemType item_type = 1 [default = k_EStoreItemType_Invalid];
268
288
  optional uint32 id = 2;
269
- optional uint32 success = 3 [(description) = "EResult of this lookup action"];
289
+ optional uint32 success = 3;
270
290
  optional bool visible = 4;
271
- optional bool unvailable_for_country_restriction = 5 [(description) = "Indicates this app is visible in other regions, but not the requested reagion"];
291
+ optional bool unvailable_for_country_restriction = 5;
272
292
  optional string name = 6;
273
- optional string store_url_path = 7 [(description) = "The URL of this item's store page, to be appended to STORE_BASE_URL."];
274
- optional uint32 appid = 9 [(description) = "If this is an app, or a single-app package, the steamworks appid."];
275
- optional .EStoreAppType type = 10 [default = k_EStoreAppType_Game, (description) = "Type of app (Game, Software, Music). For packages/bundles, this will be the most interesting type (eg Game + Soundtrack bundle will have type Game)"];
276
- repeated .EStoreAppType included_types = 11 [(description) = "For packages/bundles, all types of included items"];
277
- repeated uint32 included_appids = 12 [(description) = "For packages/bundles, all included appids"];
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;
278
298
  optional bool is_free = 13;
279
299
  optional bool is_early_access = 14;
280
300
  optional .StoreItem.RelatedItems related_items = 15;
281
- optional .StoreItem.IncludedItems included_items = 16 [(description) = "Items included in this package/bundle, if included_items datarequest was passed."];
301
+ optional .StoreItem.IncludedItems included_items = 16;
282
302
  repeated .EContentDescriptorID content_descriptorids = 20;
283
303
  repeated uint32 tagids = 21;
284
304
  optional .StoreItem.Categories categories = 22;
@@ -288,30 +308,48 @@ message StoreItem {
288
308
  optional .StoreItem.Assets assets = 30;
289
309
  optional .StoreItem.ReleaseInfo release = 31;
290
310
  optional .StoreItem.Platforms platforms = 32;
291
- optional .StoreGameRating game_rating = 33 [(description) = "Local ratings agency information, like ESRB or PEGI"];
292
- optional .StoreItem.PurchaseOption best_purchase_option = 40 [(description) = "The cheapest way for the user to acquire this app or package (may be a bundle)."];
293
- repeated .StoreItem.PurchaseOption purchase_options = 41 [(description) = "Different ways to buy this app or packages (packages can be purchased directly, but may also be included in bundles)."];
294
- repeated .StoreItem.PurchaseOption accessories = 42 [(description) = "Additional packages or bundles associated with an app, but that do not contain the app."];
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;
295
316
  optional .StoreItem.Screenshots screenshots = 50;
296
317
  optional .StoreItem.Trailers trailers = 51;
297
318
  repeated .StoreItem.SupportedLanguage supported_languages = 52;
298
- optional string store_url_path_override = 53 [(description) = "Navigate to this URL (relative to store home) when the store capsule for this item is clicked, instead of the default /app/... URL. Used by advertising apps that point to a sale page."];
299
- optional .StoreItem.FreeWeekend free_weekend = 54 [(description) = "Information about a free weekend offer."];
300
- optional bool unlisted = 55 [(description) = "If true, item is only accessible on store via a direct link"];
301
- optional uint32 game_count = 56 [(description) = "For creators and tags, how many games belong to them"];
302
- optional string internal_name = 57 [(description) = "For hub categories, the internal name (handle) of the category"];
303
- optional string full_description = 58 [(description) = "About this game section on the store page"];
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;
304
328
  }
305
329
 
306
330
  message StoreGameRating {
307
- optional string type = 1 [(description) = "'esrb', 'pegi', ..."];
308
- optional string rating = 2 [(description) = "'t' for teen, 'm' for mature, ..."];
309
- repeated string descriptors = 3 [(description) = "Additional descriptors like 'Intense Violence', 'Strong Language',..."];
310
- optional string interactive_elements = 4 [(description) = "ESRB-specific"];
311
- optional int32 required_age = 10 [(description) = "Age in years. Store pages will prompt with an age gate"];
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;
312
336
  optional bool use_age_gate = 11;
313
- optional string image_url = 20 [(description) = "An image corresponding to the rating."];
314
- optional string image_target = 21 [(description) = "URL where the image should link for more information."];
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;
315
353
  }
316
354
 
317
355
  message CStoreBrowse_GetItems_Response {
@@ -320,7 +358,7 @@ message CStoreBrowse_GetItems_Response {
320
358
 
321
359
  message CStoreBrowse_GetStoreCategories_Request {
322
360
  optional string language = 1;
323
- optional int32 elanguage = 2 [default = -1, (description) = "ELanguage"];
361
+ optional int32 elanguage = 2 [default = -1];
324
362
  }
325
363
 
326
364
  message CStoreBrowse_GetStoreCategories_Response {
@@ -329,8 +367,9 @@ message CStoreBrowse_GetStoreCategories_Response {
329
367
  optional .EStoreCategoryType type = 2 [default = k_EStoreCategoryType_Category];
330
368
  optional string internal_name = 3;
331
369
  optional string display_name = 4;
332
- optional string image_url = 5 [(description) = "Append to STORE_CDN_URL"];
333
- optional bool show_in_search = 6 [(description) = "Indicates this category can link to search results showing all items in category."];
370
+ optional string image_url = 5;
371
+ optional bool show_in_search = 6;
372
+ optional bool computed = 7;
334
373
  }
335
374
 
336
375
  repeated .CStoreBrowse_GetStoreCategories_Response.Category categories = 1;
@@ -339,8 +378,8 @@ message CStoreBrowse_GetStoreCategories_Response {
339
378
  message CStoreBrowse_GetDLCForApps_Request {
340
379
  optional .StoreBrowseContext context = 1;
341
380
  optional .CStorePageFilter store_page_filter = 2;
342
- repeated .StoreItemID appids = 3 [(description) = "Apps for which we want DLC information."];
343
- optional uint64 steamid = 4 [(description) = "If specified, we want DLC information for all apps owned by this user."];
381
+ repeated .StoreItemID appids = 3;
382
+ optional uint64 steamid = 4;
344
383
  }
345
384
 
346
385
  message CStoreBrowse_GetDLCForApps_Response {
@@ -356,8 +395,8 @@ message CStoreBrowse_GetDLCForApps_Response {
356
395
 
357
396
  message PlaytimeForApp {
358
397
  optional uint32 appid = 1;
359
- optional uint32 playtime = 2 [(description) = "Total time played over all time."];
360
- optional uint32 last_played = 3 [(description) = "Time last played on any platform."];
398
+ optional uint32 playtime = 2;
399
+ optional uint32 last_played = 3;
361
400
  }
362
401
 
363
402
  repeated .CStoreBrowse_GetDLCForApps_Response.DLCData dlc_data = 1;
@@ -381,22 +420,38 @@ message CStoreBrowse_GetDLCForAppsSolr_Response {
381
420
  repeated .CStoreBrowse_GetDLCForAppsSolr_Response.DLCList dlc_lists = 1;
382
421
  }
383
422
 
384
- service StoreBrowse {
385
- option (service_description) = "APIs for accessing store item data";
386
-
387
- rpc GetItems (.CStoreBrowse_GetItems_Request) returns (.CStoreBrowse_GetItems_Response) {
388
- option (method_description) = "Get information about items on the store";
389
- }
423
+ message CStoreBrowse_GetHardwareItems_Request {
424
+ repeated uint32 packageid = 1;
425
+ optional .StoreBrowseContext context = 2;
426
+ }
390
427
 
391
- rpc GetStoreCategories (.CStoreBrowse_GetStoreCategories_Request) returns (.CStoreBrowse_GetStoreCategories_Response) {
392
- option (method_description) = "Get category definitions for store. This is a public-facing API (as compared to StoreCatalog.GetCategories, which is intended for PHP)";
393
- }
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
+ }
394
446
 
395
- rpc GetDLCForApps (.CStoreBrowse_GetDLCForApps_Request) returns (.CStoreBrowse_GetDLCForApps_Response) {
396
- option (method_description) = "Returns all DLC appids for games owned by the user.";
397
- }
447
+ message CStoreBrowse_GetHardwareItems_Response {
448
+ repeated .CHardwarePackageDetails details = 1;
449
+ }
398
450
 
399
- rpc GetDLCForAppsSolr (.CStoreBrowse_GetDLCForAppsSolr_Request) returns (.CStoreBrowse_GetDLCForAppsSolr_Response) {
400
- option (method_description) = "Returns all DLC appids for the specified games.";
401
- }
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);
402
457
  }
@@ -34,17 +34,7 @@ message CTimedTrial_ResetPlaytime_Response {
34
34
  }
35
35
 
36
36
  service TimedTrial {
37
- option (service_description) = "A service to get user timed trial information";
38
-
39
- rpc GetTimeRemaining (.CTimedTrial_GetTimeRemaining_Request) returns (.CTimedTrial_GetTimeRemaining_Response) {
40
- option (method_description) = "Returns the amount of time a user has left on a timed trial for an app";
41
- }
42
-
43
- rpc RecordPlaytime (.CTimedTrial_RecordPlaytime_Request) returns (.CTimedTrial_RecordPlaytime_Response) {
44
- option (method_description) = "Updates the user's remaining playtime while in game";
45
- }
46
-
47
- rpc ResetPlaytime (.CTimedTrial_ResetPlaytime_Request) returns (.CTimedTrial_ResetPlaytime_Response) {
48
- option (method_description) = "Reset the user's remaining playtime (developer only)";
49
- }
37
+ rpc GetTimeRemaining (.CTimedTrial_GetTimeRemaining_Request) returns (.CTimedTrial_GetTimeRemaining_Response);
38
+ rpc RecordPlaytime (.CTimedTrial_RecordPlaytime_Request) returns (.CTimedTrial_RecordPlaytime_Response);
39
+ rpc ResetPlaytime (.CTimedTrial_ResetPlaytime_Request) returns (.CTimedTrial_ResetPlaytime_Response);
50
40
  }