@valoranchi/riot-client 0.3.0 → 0.4.0

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 (184) hide show
  1. package/README.md +6 -1
  2. package/dist/RiotClient.d.ts +4 -0
  3. package/dist/RiotClient.d.ts.map +1 -1
  4. package/dist/RiotClient.js +12 -3
  5. package/dist/RiotClient.js.map +1 -1
  6. package/dist/analysis/collectionValue.d.ts +4 -0
  7. package/dist/analysis/collectionValue.d.ts.map +1 -0
  8. package/dist/analysis/collectionValue.js +119 -0
  9. package/dist/analysis/collectionValue.js.map +1 -0
  10. package/dist/analysis/loadoutDiff.d.ts +6 -0
  11. package/dist/analysis/loadoutDiff.d.ts.map +1 -0
  12. package/dist/analysis/loadoutDiff.js +258 -0
  13. package/dist/analysis/loadoutDiff.js.map +1 -0
  14. package/dist/analysis/matchSync.d.ts +8 -0
  15. package/dist/analysis/matchSync.d.ts.map +1 -0
  16. package/dist/analysis/matchSync.js +66 -0
  17. package/dist/analysis/matchSync.js.map +1 -0
  18. package/dist/analysis/performanceSummary.d.ts +4 -0
  19. package/dist/analysis/performanceSummary.d.ts.map +1 -0
  20. package/dist/analysis/performanceSummary.js +184 -0
  21. package/dist/analysis/performanceSummary.js.map +1 -0
  22. package/dist/analysis/playerAssessment.d.ts +10 -0
  23. package/dist/analysis/playerAssessment.d.ts.map +1 -0
  24. package/dist/analysis/playerAssessment.js +47 -0
  25. package/dist/analysis/playerAssessment.js.map +1 -0
  26. package/dist/analysis/ratingTrend.d.ts +5 -0
  27. package/dist/analysis/ratingTrend.d.ts.map +1 -0
  28. package/dist/analysis/ratingTrend.js +70 -0
  29. package/dist/analysis/ratingTrend.js.map +1 -0
  30. package/dist/analysis/storeHistory.d.ts +6 -0
  31. package/dist/analysis/storeHistory.d.ts.map +1 -0
  32. package/dist/analysis/storeHistory.js +74 -0
  33. package/dist/analysis/storeHistory.js.map +1 -0
  34. package/dist/bin.js +3 -1
  35. package/dist/bin.js.map +1 -1
  36. package/dist/catalogue/Catalogue.d.ts.map +1 -1
  37. package/dist/catalogue/Catalogue.js.map +1 -1
  38. package/dist/catalogue/ValorantApi.d.ts.map +1 -1
  39. package/dist/catalogue/ValorantApi.js +1 -1
  40. package/dist/catalogue/ValorantApi.js.map +1 -1
  41. package/dist/cli.d.ts +8 -1
  42. package/dist/cli.d.ts.map +1 -1
  43. package/dist/cli.js +192 -19
  44. package/dist/cli.js.map +1 -1
  45. package/dist/client/AccountService.d.ts +6 -1
  46. package/dist/client/AccountService.d.ts.map +1 -1
  47. package/dist/client/AccountService.js +39 -4
  48. package/dist/client/AccountService.js.map +1 -1
  49. package/dist/client/AccountValidator.d.ts.map +1 -1
  50. package/dist/client/AccountValidator.js +9 -3
  51. package/dist/client/AccountValidator.js.map +1 -1
  52. package/dist/client/ChatValidator.d.ts.map +1 -1
  53. package/dist/client/ChatValidator.js +2 -4
  54. package/dist/client/ChatValidator.js.map +1 -1
  55. package/dist/client/ClientContext.d.ts +1 -0
  56. package/dist/client/ClientContext.d.ts.map +1 -1
  57. package/dist/client/ClientContext.js.map +1 -1
  58. package/dist/client/LiveMatchService.d.ts +1 -1
  59. package/dist/client/LiveMatchService.d.ts.map +1 -1
  60. package/dist/client/LiveMatchService.js +30 -20
  61. package/dist/client/LiveMatchService.js.map +1 -1
  62. package/dist/client/LoadoutValidator.d.ts.map +1 -1
  63. package/dist/client/LoadoutValidator.js +1 -3
  64. package/dist/client/LoadoutValidator.js.map +1 -1
  65. package/dist/client/MatchService.d.ts +17 -1
  66. package/dist/client/MatchService.d.ts.map +1 -1
  67. package/dist/client/MatchService.js +123 -2
  68. package/dist/client/MatchService.js.map +1 -1
  69. package/dist/client/MatchValidator.d.ts.map +1 -1
  70. package/dist/client/MatchValidator.js.map +1 -1
  71. package/dist/client/PartyService.d.ts.map +1 -1
  72. package/dist/client/PartyService.js +3 -1
  73. package/dist/client/PartyService.js.map +1 -1
  74. package/dist/client/PartyValidator.d.ts.map +1 -1
  75. package/dist/client/PartyValidator.js +1 -2
  76. package/dist/client/PartyValidator.js.map +1 -1
  77. package/dist/client/SocialService.d.ts.map +1 -1
  78. package/dist/client/SocialService.js +4 -5
  79. package/dist/client/SocialService.js.map +1 -1
  80. package/dist/client/StoreService.d.ts +5 -1
  81. package/dist/client/StoreService.d.ts.map +1 -1
  82. package/dist/client/StoreService.js +36 -2
  83. package/dist/client/StoreService.js.map +1 -1
  84. package/dist/client/StoreValidator.d.ts.map +1 -1
  85. package/dist/client/StoreValidator.js +4 -2
  86. package/dist/client/StoreValidator.js.map +1 -1
  87. package/dist/client/api.d.ts +25 -1
  88. package/dist/client/api.d.ts.map +1 -1
  89. package/dist/collection/CustomGameConfigsBuilder.d.ts.map +1 -1
  90. package/dist/collection/CustomGameConfigsBuilder.js.map +1 -1
  91. package/dist/collection/LiveMatchBuilder.d.ts +2 -2
  92. package/dist/collection/LiveMatchBuilder.d.ts.map +1 -1
  93. package/dist/collection/LiveMatchBuilder.js +10 -8
  94. package/dist/collection/LiveMatchBuilder.js.map +1 -1
  95. package/dist/collection/LoadoutBuilder.d.ts.map +1 -1
  96. package/dist/collection/LoadoutBuilder.js +1 -1
  97. package/dist/collection/LoadoutBuilder.js.map +1 -1
  98. package/dist/collection/LoadoutWriter.d.ts.map +1 -1
  99. package/dist/collection/LoadoutWriter.js +0 -1
  100. package/dist/collection/LoadoutWriter.js.map +1 -1
  101. package/dist/collection/MmrBuilder.d.ts +1 -1
  102. package/dist/collection/MmrBuilder.d.ts.map +1 -1
  103. package/dist/collection/MmrBuilder.js +5 -2
  104. package/dist/collection/MmrBuilder.js.map +1 -1
  105. package/dist/collection/PlayerSettingsBuilder.d.ts.map +1 -1
  106. package/dist/collection/PlayerSettingsBuilder.js +1 -3
  107. package/dist/collection/PlayerSettingsBuilder.js.map +1 -1
  108. package/dist/collection/RankFit.d.ts +11 -0
  109. package/dist/collection/RankFit.d.ts.map +1 -0
  110. package/dist/collection/RankFit.js +56 -0
  111. package/dist/collection/RankFit.js.map +1 -0
  112. package/dist/index.d.ts +11 -2
  113. package/dist/index.d.ts.map +1 -1
  114. package/dist/index.js +10 -1
  115. package/dist/index.js.map +1 -1
  116. package/dist/local/ChatApi.d.ts.map +1 -1
  117. package/dist/local/ChatApi.js +3 -1
  118. package/dist/local/ChatApi.js.map +1 -1
  119. package/dist/model/index.d.ts +163 -0
  120. package/dist/model/index.d.ts.map +1 -1
  121. package/dist/riot/ResponseCache.d.ts.map +1 -1
  122. package/dist/riot/ResponseCache.js +1 -3
  123. package/dist/riot/ResponseCache.js.map +1 -1
  124. package/dist/riot/RiotApi.d.ts.map +1 -1
  125. package/dist/riot/RiotApi.js.map +1 -1
  126. package/dist/riot/types.d.ts.map +1 -1
  127. package/dist/serve/index.d.ts +7 -0
  128. package/dist/serve/index.d.ts.map +1 -0
  129. package/dist/serve/index.js +6 -0
  130. package/dist/serve/index.js.map +1 -0
  131. package/dist/serve/indexHtml.d.ts +2 -0
  132. package/dist/serve/indexHtml.d.ts.map +1 -0
  133. package/dist/serve/indexHtml.js +36 -0
  134. package/dist/serve/indexHtml.js.map +1 -0
  135. package/dist/serve/openapi.d.ts +2 -0
  136. package/dist/serve/openapi.d.ts.map +1 -0
  137. package/dist/serve/openapi.js +114 -0
  138. package/dist/serve/openapi.js.map +1 -0
  139. package/dist/serve/routes.d.ts +7 -0
  140. package/dist/serve/routes.d.ts.map +1 -0
  141. package/dist/serve/routes.js +1207 -0
  142. package/dist/serve/routes.js.map +1 -0
  143. package/dist/serve/server.d.ts +6 -0
  144. package/dist/serve/server.d.ts.map +1 -0
  145. package/dist/serve/server.js +149 -0
  146. package/dist/serve/server.js.map +1 -0
  147. package/dist/serve/sse.d.ts +4 -0
  148. package/dist/serve/sse.d.ts.map +1 -0
  149. package/dist/serve/sse.js +89 -0
  150. package/dist/serve/sse.js.map +1 -0
  151. package/dist/serve/types.d.ts +24 -0
  152. package/dist/serve/types.d.ts.map +1 -0
  153. package/dist/serve/types.js +2 -0
  154. package/dist/serve/types.js.map +1 -0
  155. package/dist/watch/AsyncQueue.d.ts +13 -0
  156. package/dist/watch/AsyncQueue.d.ts.map +1 -0
  157. package/dist/watch/AsyncQueue.js +50 -0
  158. package/dist/watch/AsyncQueue.js.map +1 -0
  159. package/dist/watch/FriendsWatcher.d.ts +26 -0
  160. package/dist/watch/FriendsWatcher.d.ts.map +1 -0
  161. package/dist/watch/FriendsWatcher.js +152 -0
  162. package/dist/watch/FriendsWatcher.js.map +1 -0
  163. package/dist/watch/MatchWatcher.d.ts +44 -0
  164. package/dist/watch/MatchWatcher.d.ts.map +1 -0
  165. package/dist/watch/MatchWatcher.js +272 -0
  166. package/dist/watch/MatchWatcher.js.map +1 -0
  167. package/dist/watch/index.d.ts +20 -0
  168. package/dist/watch/index.d.ts.map +1 -0
  169. package/dist/watch/index.js +20 -0
  170. package/dist/watch/index.js.map +1 -0
  171. package/dist/watch/types.d.ts +98 -0
  172. package/dist/watch/types.d.ts.map +1 -0
  173. package/dist/watch/types.js +2 -0
  174. package/dist/watch/types.js.map +1 -0
  175. package/package.json +17 -5
  176. package/schema/CollectionValue.json +153 -0
  177. package/schema/LiveMatch.json +8 -1
  178. package/schema/LoadoutDiff.json +73 -0
  179. package/schema/MatchSyncResult.json +54 -0
  180. package/schema/Mmr.json +38 -1
  181. package/schema/PerformanceSummary.json +284 -0
  182. package/schema/PlayerAssessment.json +48 -0
  183. package/schema/RatingTrend.json +107 -0
  184. package/schema/StoreHistory.json +61 -0
@@ -0,0 +1,153 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$ref": "#/definitions/CollectionValue",
4
+ "definitions": {
5
+ "CollectionValue": {
6
+ "type": "object",
7
+ "properties": {
8
+ "total": {
9
+ "type": "object",
10
+ "properties": {
11
+ "vp": {
12
+ "type": "number"
13
+ },
14
+ "radianite": {
15
+ "type": "number"
16
+ },
17
+ "priced": {
18
+ "type": "number"
19
+ },
20
+ "totalItems": {
21
+ "type": "number"
22
+ }
23
+ },
24
+ "required": ["vp", "radianite", "priced", "totalItems"],
25
+ "additionalProperties": false
26
+ },
27
+ "byWeapon": {
28
+ "type": "array",
29
+ "items": {
30
+ "$ref": "#/definitions/CollectionValueGroup"
31
+ }
32
+ },
33
+ "byTier": {
34
+ "type": "array",
35
+ "items": {
36
+ "$ref": "#/definitions/CollectionValueGroup"
37
+ }
38
+ },
39
+ "items": {
40
+ "type": "array",
41
+ "items": {
42
+ "$ref": "#/definitions/CollectionValueItem"
43
+ }
44
+ }
45
+ },
46
+ "required": ["total", "byWeapon", "byTier", "items"],
47
+ "additionalProperties": false
48
+ },
49
+ "CollectionValueGroup": {
50
+ "type": "object",
51
+ "properties": {
52
+ "name": {
53
+ "type": "string"
54
+ },
55
+ "uuid": {
56
+ "type": ["string", "null"]
57
+ },
58
+ "vp": {
59
+ "type": "number"
60
+ },
61
+ "radianite": {
62
+ "type": "number"
63
+ },
64
+ "items": {
65
+ "type": "number"
66
+ },
67
+ "priced": {
68
+ "type": "number"
69
+ }
70
+ },
71
+ "required": ["name", "uuid", "vp", "radianite", "items", "priced"],
72
+ "additionalProperties": false
73
+ },
74
+ "CollectionValueItem": {
75
+ "type": "object",
76
+ "properties": {
77
+ "skin": {
78
+ "type": "object",
79
+ "properties": {
80
+ "uuid": {
81
+ "type": "string"
82
+ },
83
+ "name": {
84
+ "type": "string"
85
+ },
86
+ "icon": {
87
+ "$ref": "#/definitions/Image"
88
+ }
89
+ },
90
+ "required": ["uuid", "name", "icon"],
91
+ "additionalProperties": false
92
+ },
93
+ "weapon": {
94
+ "type": "object",
95
+ "properties": {
96
+ "uuid": {
97
+ "type": "string"
98
+ },
99
+ "name": {
100
+ "type": "string"
101
+ }
102
+ },
103
+ "required": ["uuid", "name"],
104
+ "additionalProperties": false
105
+ },
106
+ "tier": {
107
+ "anyOf": [
108
+ {
109
+ "$ref": "#/definitions/Tier"
110
+ },
111
+ {
112
+ "type": "null"
113
+ }
114
+ ]
115
+ },
116
+ "vp": {
117
+ "type": ["number", "null"]
118
+ },
119
+ "radianite": {
120
+ "type": "number"
121
+ },
122
+ "source": {
123
+ "type": "string",
124
+ "enum": ["offer", "bundle", "unknown"]
125
+ }
126
+ },
127
+ "required": ["skin", "weapon", "tier", "vp", "radianite", "source"],
128
+ "additionalProperties": false
129
+ },
130
+ "Image": {
131
+ "type": ["string", "null"]
132
+ },
133
+ "Tier": {
134
+ "type": "object",
135
+ "properties": {
136
+ "uuid": {
137
+ "type": "string"
138
+ },
139
+ "name": {
140
+ "type": "string"
141
+ },
142
+ "rank": {
143
+ "type": "number"
144
+ },
145
+ "icon": {
146
+ "$ref": "#/definitions/Image"
147
+ }
148
+ },
149
+ "required": ["uuid", "name", "rank", "icon"],
150
+ "additionalProperties": false
151
+ }
152
+ }
153
+ }
@@ -242,6 +242,12 @@
242
242
  "type": "null"
243
243
  }
244
244
  ]
245
+ },
246
+ "warnings": {
247
+ "type": "array",
248
+ "items": {
249
+ "type": "string"
250
+ }
245
251
  }
246
252
  },
247
253
  "required": [
@@ -257,7 +263,8 @@
257
263
  "title",
258
264
  "rank",
259
265
  "partyId",
260
- "loadout"
266
+ "loadout",
267
+ "warnings"
261
268
  ],
262
269
  "additionalProperties": false
263
270
  },
@@ -0,0 +1,73 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$ref": "#/definitions/LoadoutDiff",
4
+ "definitions": {
5
+ "LoadoutDiff": {
6
+ "type": "object",
7
+ "properties": {
8
+ "guns": {
9
+ "type": "array",
10
+ "items": {
11
+ "$ref": "#/definitions/LoadoutDiffItem"
12
+ }
13
+ },
14
+ "sprays": {
15
+ "type": "array",
16
+ "items": {
17
+ "$ref": "#/definitions/LoadoutDiffItem"
18
+ }
19
+ },
20
+ "identity": {
21
+ "type": "array",
22
+ "items": {
23
+ "$ref": "#/definitions/LoadoutDiffItem"
24
+ }
25
+ },
26
+ "totalChanges": {
27
+ "type": "number"
28
+ }
29
+ },
30
+ "required": ["guns", "sprays", "identity", "totalChanges"],
31
+ "additionalProperties": false
32
+ },
33
+ "LoadoutDiffItem": {
34
+ "type": "object",
35
+ "properties": {
36
+ "slot": {
37
+ "type": "string"
38
+ },
39
+ "slotId": {
40
+ "type": "string"
41
+ },
42
+ "from": {
43
+ "type": "object",
44
+ "properties": {
45
+ "id": {
46
+ "type": "string"
47
+ },
48
+ "name": {
49
+ "type": "string"
50
+ }
51
+ },
52
+ "required": ["id"],
53
+ "additionalProperties": false
54
+ },
55
+ "to": {
56
+ "type": "object",
57
+ "properties": {
58
+ "id": {
59
+ "type": "string"
60
+ },
61
+ "name": {
62
+ "type": "string"
63
+ }
64
+ },
65
+ "required": ["id"],
66
+ "additionalProperties": false
67
+ }
68
+ },
69
+ "required": ["slot", "slotId", "from", "to"],
70
+ "additionalProperties": false
71
+ }
72
+ }
73
+ }
@@ -0,0 +1,54 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$ref": "#/definitions/MatchSyncResult",
4
+ "definitions": {
5
+ "MatchSyncResult": {
6
+ "type": "object",
7
+ "properties": {
8
+ "added": {
9
+ "type": "array",
10
+ "items": {
11
+ "$ref": "#/definitions/MatchSummary"
12
+ }
13
+ },
14
+ "total": {
15
+ "type": "number"
16
+ }
17
+ },
18
+ "required": ["added", "total"],
19
+ "additionalProperties": false
20
+ },
21
+ "MatchSummary": {
22
+ "type": "object",
23
+ "properties": {
24
+ "id": {
25
+ "type": "string"
26
+ },
27
+ "startedAt": {
28
+ "type": "string"
29
+ },
30
+ "queue": {
31
+ "type": "string"
32
+ },
33
+ "map": {
34
+ "type": "object",
35
+ "properties": {
36
+ "uuid": {
37
+ "type": ["string", "null"]
38
+ },
39
+ "name": {
40
+ "type": ["string", "null"]
41
+ },
42
+ "path": {
43
+ "type": "string"
44
+ }
45
+ },
46
+ "required": ["uuid", "name", "path"],
47
+ "additionalProperties": false
48
+ }
49
+ },
50
+ "required": ["id", "startedAt", "queue", "map"],
51
+ "additionalProperties": false
52
+ }
53
+ }
54
+ }
package/schema/Mmr.json CHANGED
@@ -15,6 +15,9 @@
15
15
  }
16
16
  ]
17
17
  },
18
+ "fit": {
19
+ "$ref": "#/definitions/RankFit"
20
+ },
18
21
  "peak": {
19
22
  "anyOf": [
20
23
  {
@@ -136,7 +139,7 @@
136
139
  "type": "boolean"
137
140
  }
138
141
  },
139
- "required": ["current", "peak", "act", "lastUpdate", "leaderboardAnonymized"],
142
+ "required": ["current", "fit", "peak", "act", "lastUpdate", "leaderboardAnonymized"],
140
143
  "additionalProperties": false
141
144
  },
142
145
  "Rank": {
@@ -164,6 +167,40 @@
164
167
  "Image": {
165
168
  "type": ["string", "null"]
166
169
  },
170
+ "RankFit": {
171
+ "type": "object",
172
+ "properties": {
173
+ "verdict": {
174
+ "type": ["string", "null"],
175
+ "enum": ["above", "fit", "below", null]
176
+ },
177
+ "ranksAbove": {
178
+ "type": "number",
179
+ "enum": [-1, 0, 1, 2]
180
+ },
181
+ "expected": {
182
+ "anyOf": [
183
+ {
184
+ "$ref": "#/definitions/Rank"
185
+ },
186
+ {
187
+ "type": "null"
188
+ }
189
+ ]
190
+ },
191
+ "averageGain": {
192
+ "type": ["number", "null"]
193
+ },
194
+ "averageLoss": {
195
+ "type": ["number", "null"]
196
+ },
197
+ "sample": {
198
+ "type": "number"
199
+ }
200
+ },
201
+ "required": ["verdict", "ranksAbove", "expected", "averageGain", "averageLoss", "sample"],
202
+ "additionalProperties": false
203
+ },
167
204
  "RankMovement": {
168
205
  "type": "string",
169
206
  "enum": ["promoted", "demoted", "up", "down", "same"]
@@ -0,0 +1,284 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$ref": "#/definitions/PerformanceSummary",
4
+ "definitions": {
5
+ "PerformanceSummary": {
6
+ "type": "object",
7
+ "properties": {
8
+ "overall": {
9
+ "$ref": "#/definitions/PerformanceStats"
10
+ },
11
+ "byAgent": {
12
+ "type": "array",
13
+ "items": {
14
+ "$ref": "#/definitions/AgentPerformance"
15
+ }
16
+ },
17
+ "byMap": {
18
+ "type": "array",
19
+ "items": {
20
+ "$ref": "#/definitions/MapPerformance"
21
+ }
22
+ },
23
+ "best": {
24
+ "type": "object",
25
+ "properties": {
26
+ "agent": {
27
+ "anyOf": [
28
+ {
29
+ "$ref": "#/definitions/AgentPerformance"
30
+ },
31
+ {
32
+ "type": "null"
33
+ }
34
+ ]
35
+ },
36
+ "map": {
37
+ "anyOf": [
38
+ {
39
+ "$ref": "#/definitions/MapPerformance"
40
+ },
41
+ {
42
+ "type": "null"
43
+ }
44
+ ]
45
+ }
46
+ },
47
+ "required": ["agent", "map"],
48
+ "additionalProperties": false
49
+ },
50
+ "worst": {
51
+ "type": "object",
52
+ "properties": {
53
+ "agent": {
54
+ "anyOf": [
55
+ {
56
+ "$ref": "#/definitions/AgentPerformance"
57
+ },
58
+ {
59
+ "type": "null"
60
+ }
61
+ ]
62
+ },
63
+ "map": {
64
+ "anyOf": [
65
+ {
66
+ "$ref": "#/definitions/MapPerformance"
67
+ },
68
+ {
69
+ "type": "null"
70
+ }
71
+ ]
72
+ }
73
+ },
74
+ "required": ["agent", "map"],
75
+ "additionalProperties": false
76
+ },
77
+ "consistency": {
78
+ "$ref": "#/definitions/PerformanceConsistency"
79
+ }
80
+ },
81
+ "required": ["overall", "byAgent", "byMap", "best", "worst", "consistency"],
82
+ "additionalProperties": false
83
+ },
84
+ "PerformanceStats": {
85
+ "type": "object",
86
+ "properties": {
87
+ "games": {
88
+ "type": "number"
89
+ },
90
+ "wins": {
91
+ "type": "number"
92
+ },
93
+ "winRate": {
94
+ "type": "number"
95
+ },
96
+ "kd": {
97
+ "type": "number"
98
+ },
99
+ "kda": {
100
+ "type": "number"
101
+ },
102
+ "headshotRate": {
103
+ "type": "number"
104
+ },
105
+ "averageScore": {
106
+ "type": "number"
107
+ },
108
+ "averageDamagePerRound": {
109
+ "type": "number"
110
+ },
111
+ "firstBloodsPerGame": {
112
+ "type": "number"
113
+ },
114
+ "plantsPerGame": {
115
+ "type": "number"
116
+ },
117
+ "defusesPerGame": {
118
+ "type": "number"
119
+ }
120
+ },
121
+ "required": [
122
+ "games",
123
+ "wins",
124
+ "winRate",
125
+ "kd",
126
+ "kda",
127
+ "headshotRate",
128
+ "averageScore",
129
+ "averageDamagePerRound",
130
+ "firstBloodsPerGame",
131
+ "plantsPerGame",
132
+ "defusesPerGame"
133
+ ],
134
+ "additionalProperties": false
135
+ },
136
+ "AgentPerformance": {
137
+ "type": "object",
138
+ "additionalProperties": false,
139
+ "properties": {
140
+ "uuid": {
141
+ "type": "string"
142
+ },
143
+ "name": {
144
+ "type": "string"
145
+ },
146
+ "icon": {
147
+ "$ref": "#/definitions/Image"
148
+ },
149
+ "games": {
150
+ "type": "number"
151
+ },
152
+ "wins": {
153
+ "type": "number"
154
+ },
155
+ "winRate": {
156
+ "type": "number"
157
+ },
158
+ "kd": {
159
+ "type": "number"
160
+ },
161
+ "kda": {
162
+ "type": "number"
163
+ },
164
+ "headshotRate": {
165
+ "type": "number"
166
+ },
167
+ "averageScore": {
168
+ "type": "number"
169
+ },
170
+ "averageDamagePerRound": {
171
+ "type": "number"
172
+ },
173
+ "firstBloodsPerGame": {
174
+ "type": "number"
175
+ },
176
+ "plantsPerGame": {
177
+ "type": "number"
178
+ },
179
+ "defusesPerGame": {
180
+ "type": "number"
181
+ }
182
+ },
183
+ "required": [
184
+ "averageDamagePerRound",
185
+ "averageScore",
186
+ "defusesPerGame",
187
+ "firstBloodsPerGame",
188
+ "games",
189
+ "headshotRate",
190
+ "icon",
191
+ "kd",
192
+ "kda",
193
+ "name",
194
+ "plantsPerGame",
195
+ "uuid",
196
+ "winRate",
197
+ "wins"
198
+ ]
199
+ },
200
+ "Image": {
201
+ "type": ["string", "null"]
202
+ },
203
+ "MapPerformance": {
204
+ "type": "object",
205
+ "additionalProperties": false,
206
+ "properties": {
207
+ "uuid": {
208
+ "type": ["string", "null"]
209
+ },
210
+ "name": {
211
+ "type": "string"
212
+ },
213
+ "icon": {
214
+ "$ref": "#/definitions/Image"
215
+ },
216
+ "games": {
217
+ "type": "number"
218
+ },
219
+ "wins": {
220
+ "type": "number"
221
+ },
222
+ "winRate": {
223
+ "type": "number"
224
+ },
225
+ "kd": {
226
+ "type": "number"
227
+ },
228
+ "kda": {
229
+ "type": "number"
230
+ },
231
+ "headshotRate": {
232
+ "type": "number"
233
+ },
234
+ "averageScore": {
235
+ "type": "number"
236
+ },
237
+ "averageDamagePerRound": {
238
+ "type": "number"
239
+ },
240
+ "firstBloodsPerGame": {
241
+ "type": "number"
242
+ },
243
+ "plantsPerGame": {
244
+ "type": "number"
245
+ },
246
+ "defusesPerGame": {
247
+ "type": "number"
248
+ }
249
+ },
250
+ "required": [
251
+ "averageDamagePerRound",
252
+ "averageScore",
253
+ "defusesPerGame",
254
+ "firstBloodsPerGame",
255
+ "games",
256
+ "headshotRate",
257
+ "icon",
258
+ "kd",
259
+ "kda",
260
+ "name",
261
+ "plantsPerGame",
262
+ "uuid",
263
+ "winRate",
264
+ "wins"
265
+ ]
266
+ },
267
+ "PerformanceConsistency": {
268
+ "type": "object",
269
+ "properties": {
270
+ "scoreStdDev": {
271
+ "type": "number"
272
+ },
273
+ "gamesNonNegative": {
274
+ "type": "number"
275
+ },
276
+ "longestNonNegativeStreak": {
277
+ "type": "number"
278
+ }
279
+ },
280
+ "required": ["scoreStdDev", "gamesNonNegative", "longestNonNegativeStreak"],
281
+ "additionalProperties": false
282
+ }
283
+ }
284
+ }
@@ -0,0 +1,48 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$ref": "#/definitions/PlayerAssessment",
4
+ "definitions": {
5
+ "PlayerAssessment": {
6
+ "type": "object",
7
+ "properties": {
8
+ "puuid": {
9
+ "type": "string"
10
+ },
11
+ "accountLevel": {
12
+ "type": "number"
13
+ },
14
+ "flags": {
15
+ "type": "array",
16
+ "items": {
17
+ "$ref": "#/definitions/AssessmentWarning"
18
+ }
19
+ },
20
+ "warnings": {
21
+ "type": "array",
22
+ "items": {
23
+ "type": "string"
24
+ }
25
+ }
26
+ },
27
+ "required": ["puuid", "accountLevel", "flags", "warnings"],
28
+ "additionalProperties": false
29
+ },
30
+ "AssessmentWarning": {
31
+ "type": "object",
32
+ "properties": {
33
+ "flag": {
34
+ "$ref": "#/definitions/AssessmentFlag"
35
+ },
36
+ "reason": {
37
+ "type": "string"
38
+ }
39
+ },
40
+ "required": ["flag", "reason"],
41
+ "additionalProperties": false
42
+ },
43
+ "AssessmentFlag": {
44
+ "type": "string",
45
+ "enum": ["low-level-high-rank", "inflated", "underranked", "long-streak", "new-act"]
46
+ }
47
+ }
48
+ }