getcompetitive 4.4.0 → 4.5.1

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.
package/README.md CHANGED
@@ -17,7 +17,7 @@ Smogon-tier and archetype surface that used to sit alongside it is gone.
17
17
 
18
18
  ## What it provides
19
19
 
20
- - **28 tools** across six domains: data, team analysis, team workflows (paste in, diagnose, prepare matchups, learn from replays), meta (usage-derived), battle mechanics, and official regulation sets
20
+ - **30 tools** across six domains: data, team analysis, team workflows (paste in, diagnose, prepare matchups, learn from replays, scout sets, fill slots), meta (usage-derived), battle mechanics, and official regulation sets
21
21
  - **Six workflow prompts** — `/team-doctor`, `/matchup-prep`, `/build-around`, `/tournament-prep`, `/learn-my-team`, `/meta-report` — server-provided templates that chain the deterministic tools, so compound workflows stay discoverable without a 40-tool surface
22
22
  - **Structured, agent-first definitions** — every tool declares MCP annotations and an output schema, returns `structuredContent` alongside JSON text, and documents all of its parameters; the deterministic half of the [TDQS](https://tdqs.dev) checklist is linted in CI
23
23
  - Full **Pokémon Showdown** dataset — species, alternate forms, stats, moves, items, abilities, natures, learnsets, types
@@ -58,6 +58,8 @@ Built on [`@pkmn/dex`](https://github.com/pkmn/EPOKe) (Showdown data) and
58
58
  | `diagnose_team` | "Fix my team": weaknesses with evidence, then concrete spread, move, item and member changes, each backed by exact math or usage data |
59
59
  | `prepare_matchup` | "Prepare me": their likely sets by usage, speed races with margins, key damage rolls, bring-four, leads, and win/loss conditions |
60
60
  | `analyze_replay` | Post-match read of a battle log: teams, KOs with causes, observed Speed order, damage percentages, and a type-coverage read |
61
+ | `infer_set` | Reverse constraint solving: battle observations (who moved first, damage dealt/taken) narrow the opponent's likely set, ranked against the meta |
62
+ | `optimize_team` | Fill open team slots against constraints — cover these types, answer these threats — with reasons for every recommendation |
61
63
 
62
64
  ### Meta (usage-derived)
63
65
  | Tool | Purpose |
@@ -195,8 +197,13 @@ The Showdown dataset and battle math track `@pkmn/dex` / `@smogon/calc`. Officia
195
197
  (`src/threats.ts`) with `node scripts/build-threats.mjs <regulation>`, and the
196
198
  **two-window usage history** behind `compare_meta` with
197
199
  `node scripts/build-meta-history.mjs <regulation>` (it refuses to write unless
198
- every tournament in the window was fetched). All generated data files are
199
- committed, so the tools stay offline at runtime. See [CONTRIBUTING](CONTRIBUTING.md).
200
+ every tournament in the window was fetched). The **Champions game model** is
201
+ the single `getChampionsDex()` layer: `node scripts/verify-champions.mjs`
202
+ diffs base stats, types and abilities for every Champions-exclusive form, the
203
+ whole roster, and every threat species against official data and refreshes the
204
+ committed facts table, which `test/champions.mjs` pins as golden regression
205
+ tests. All generated data files are committed, so the tools stay offline at
206
+ runtime. See [CONTRIBUTING](CONTRIBUTING.md).
200
207
 
201
208
  ## Contributing
202
209
 
@@ -0,0 +1,394 @@
1
+ // Generated by scripts/verify-champions.mjs — do not edit by hand.
2
+ // The Champions-exclusive forms bundled with the gen-9 dataset, with the typing
3
+ // and base-stat total the official game data was verified against. Every entry
4
+ // here is pinned by test/champions.mjs, so a dataset upgrade that silently
5
+ // changes a form fails the suite instead of corrupting every analysis.
6
+ export default {
7
+ source: "official Champions data via the MunchStats aggregator, diffed by scripts/verify-champions.mjs",
8
+ verifiedAsOf: "2026-09-19",
9
+ forms: [
10
+ {
11
+ "species": "Absol-Mega-Z",
12
+ "types": [
13
+ "Dark",
14
+ "Ghost"
15
+ ],
16
+ "bst": 565
17
+ },
18
+ {
19
+ "species": "Barbaracle-Mega",
20
+ "types": [
21
+ "Rock",
22
+ "Fighting"
23
+ ],
24
+ "bst": 600
25
+ },
26
+ {
27
+ "species": "Baxcalibur-Mega",
28
+ "types": [
29
+ "Dragon",
30
+ "Ice"
31
+ ],
32
+ "bst": 700
33
+ },
34
+ {
35
+ "species": "Chandelure-Mega",
36
+ "types": [
37
+ "Ghost",
38
+ "Fire"
39
+ ],
40
+ "bst": 620
41
+ },
42
+ {
43
+ "species": "Chesnaught-Mega",
44
+ "types": [
45
+ "Grass",
46
+ "Fighting"
47
+ ],
48
+ "bst": 630
49
+ },
50
+ {
51
+ "species": "Chimecho-Mega",
52
+ "types": [
53
+ "Psychic",
54
+ "Steel"
55
+ ],
56
+ "bst": 555
57
+ },
58
+ {
59
+ "species": "Clefable-Mega",
60
+ "types": [
61
+ "Fairy",
62
+ "Flying"
63
+ ],
64
+ "bst": 583
65
+ },
66
+ {
67
+ "species": "Crabominable-Mega",
68
+ "types": [
69
+ "Fighting",
70
+ "Ice"
71
+ ],
72
+ "bst": 578
73
+ },
74
+ {
75
+ "species": "Darkrai-Mega",
76
+ "types": [
77
+ "Dark"
78
+ ],
79
+ "bst": 700
80
+ },
81
+ {
82
+ "species": "Delphox-Mega",
83
+ "types": [
84
+ "Fire",
85
+ "Psychic"
86
+ ],
87
+ "bst": 634
88
+ },
89
+ {
90
+ "species": "Dragalge-Mega",
91
+ "types": [
92
+ "Poison",
93
+ "Dragon"
94
+ ],
95
+ "bst": 594
96
+ },
97
+ {
98
+ "species": "Dragonite-Mega",
99
+ "types": [
100
+ "Dragon",
101
+ "Flying"
102
+ ],
103
+ "bst": 700
104
+ },
105
+ {
106
+ "species": "Drampa-Mega",
107
+ "types": [
108
+ "Normal",
109
+ "Dragon"
110
+ ],
111
+ "bst": 585
112
+ },
113
+ {
114
+ "species": "Eelektross-Mega",
115
+ "types": [
116
+ "Electric"
117
+ ],
118
+ "bst": 615
119
+ },
120
+ {
121
+ "species": "Emboar-Mega",
122
+ "types": [
123
+ "Fire",
124
+ "Fighting"
125
+ ],
126
+ "bst": 628
127
+ },
128
+ {
129
+ "species": "Excadrill-Mega",
130
+ "types": [
131
+ "Ground",
132
+ "Steel"
133
+ ],
134
+ "bst": 608
135
+ },
136
+ {
137
+ "species": "Falinks-Mega",
138
+ "types": [
139
+ "Fighting"
140
+ ],
141
+ "bst": 570
142
+ },
143
+ {
144
+ "species": "Feraligatr-Mega",
145
+ "types": [
146
+ "Water",
147
+ "Dragon"
148
+ ],
149
+ "bst": 630
150
+ },
151
+ {
152
+ "species": "Floette-Mega",
153
+ "types": [
154
+ "Fairy"
155
+ ],
156
+ "bst": 651
157
+ },
158
+ {
159
+ "species": "Froslass-Mega",
160
+ "types": [
161
+ "Ice",
162
+ "Ghost"
163
+ ],
164
+ "bst": 580
165
+ },
166
+ {
167
+ "species": "Garchomp-Mega-Z",
168
+ "types": [
169
+ "Dragon"
170
+ ],
171
+ "bst": 700
172
+ },
173
+ {
174
+ "species": "Glimmora-Mega",
175
+ "types": [
176
+ "Rock",
177
+ "Poison"
178
+ ],
179
+ "bst": 625
180
+ },
181
+ {
182
+ "species": "Golisopod-Mega",
183
+ "types": [
184
+ "Bug",
185
+ "Steel"
186
+ ],
187
+ "bst": 630
188
+ },
189
+ {
190
+ "species": "Golurk-Mega",
191
+ "types": [
192
+ "Ground",
193
+ "Ghost"
194
+ ],
195
+ "bst": 583
196
+ },
197
+ {
198
+ "species": "Greninja-Mega",
199
+ "types": [
200
+ "Water",
201
+ "Dark"
202
+ ],
203
+ "bst": 630
204
+ },
205
+ {
206
+ "species": "Hawlucha-Mega",
207
+ "types": [
208
+ "Fighting",
209
+ "Flying"
210
+ ],
211
+ "bst": 600
212
+ },
213
+ {
214
+ "species": "Heatran-Mega",
215
+ "types": [
216
+ "Fire",
217
+ "Steel"
218
+ ],
219
+ "bst": 700
220
+ },
221
+ {
222
+ "species": "Lucario-Mega-Z",
223
+ "types": [
224
+ "Fighting",
225
+ "Steel"
226
+ ],
227
+ "bst": 625
228
+ },
229
+ {
230
+ "species": "Magearna-Mega",
231
+ "types": [
232
+ "Steel",
233
+ "Fairy"
234
+ ],
235
+ "bst": 700
236
+ },
237
+ {
238
+ "species": "Magearna-Original-Mega",
239
+ "types": [
240
+ "Steel",
241
+ "Fairy"
242
+ ],
243
+ "bst": 700
244
+ },
245
+ {
246
+ "species": "Malamar-Mega",
247
+ "types": [
248
+ "Dark",
249
+ "Psychic"
250
+ ],
251
+ "bst": 582
252
+ },
253
+ {
254
+ "species": "Meganium-Mega",
255
+ "types": [
256
+ "Grass",
257
+ "Fairy"
258
+ ],
259
+ "bst": 625
260
+ },
261
+ {
262
+ "species": "Meowstic-F-Mega",
263
+ "types": [
264
+ "Psychic"
265
+ ],
266
+ "bst": 566
267
+ },
268
+ {
269
+ "species": "Meowstic-M-Mega",
270
+ "types": [
271
+ "Psychic"
272
+ ],
273
+ "bst": 566
274
+ },
275
+ {
276
+ "species": "Pyroar-Mega",
277
+ "types": [
278
+ "Fire",
279
+ "Normal"
280
+ ],
281
+ "bst": 607
282
+ },
283
+ {
284
+ "species": "Raichu-Mega-X",
285
+ "types": [
286
+ "Electric"
287
+ ],
288
+ "bst": 585
289
+ },
290
+ {
291
+ "species": "Raichu-Mega-Y",
292
+ "types": [
293
+ "Electric"
294
+ ],
295
+ "bst": 585
296
+ },
297
+ {
298
+ "species": "Scolipede-Mega",
299
+ "types": [
300
+ "Bug",
301
+ "Poison"
302
+ ],
303
+ "bst": 585
304
+ },
305
+ {
306
+ "species": "Scovillain-Mega",
307
+ "types": [
308
+ "Grass",
309
+ "Fire"
310
+ ],
311
+ "bst": 586
312
+ },
313
+ {
314
+ "species": "Scrafty-Mega",
315
+ "types": [
316
+ "Dark",
317
+ "Fighting"
318
+ ],
319
+ "bst": 588
320
+ },
321
+ {
322
+ "species": "Skarmory-Mega",
323
+ "types": [
324
+ "Steel",
325
+ "Flying"
326
+ ],
327
+ "bst": 565
328
+ },
329
+ {
330
+ "species": "Staraptor-Mega",
331
+ "types": [
332
+ "Fighting",
333
+ "Flying"
334
+ ],
335
+ "bst": 585
336
+ },
337
+ {
338
+ "species": "Starmie-Mega",
339
+ "types": [
340
+ "Water",
341
+ "Psychic"
342
+ ],
343
+ "bst": 620
344
+ },
345
+ {
346
+ "species": "Tatsugiri-Curly-Mega",
347
+ "types": [
348
+ "Dragon",
349
+ "Water"
350
+ ],
351
+ "bst": 575
352
+ },
353
+ {
354
+ "species": "Tatsugiri-Droopy-Mega",
355
+ "types": [
356
+ "Dragon",
357
+ "Water"
358
+ ],
359
+ "bst": 575
360
+ },
361
+ {
362
+ "species": "Tatsugiri-Stretchy-Mega",
363
+ "types": [
364
+ "Dragon",
365
+ "Water"
366
+ ],
367
+ "bst": 575
368
+ },
369
+ {
370
+ "species": "Victreebel-Mega",
371
+ "types": [
372
+ "Grass",
373
+ "Poison"
374
+ ],
375
+ "bst": 590
376
+ },
377
+ {
378
+ "species": "Zeraora-Mega",
379
+ "types": [
380
+ "Electric"
381
+ ],
382
+ "bst": 700
383
+ },
384
+ {
385
+ "species": "Zygarde-Mega",
386
+ "types": [
387
+ "Dragon",
388
+ "Ground"
389
+ ],
390
+ "bst": 778
391
+ }
392
+ ]
393
+ };
394
+ //# sourceMappingURL=champions.data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"champions.data.js","sourceRoot":"","sources":["../src/champions.data.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * ChampionsDex: the single canonical game model every gameplay system reads
3
+ * from. The bundled gen-9 dataset is verified against official Champions data
4
+ * by `scripts/verify-champions.mjs`, which diffs base stats, types and
5
+ * abilities for every Champions-exclusive form, the whole regulation roster,
6
+ * and every threat species; the verified facts are committed in
7
+ * `champions.data.ts` and pinned by `test/champions.mjs`.
8
+ *
9
+ * `getChampionsDex()` is currently a passthrough because verification found no
10
+ * divergence. If an override ever becomes necessary, it lands here — exactly
11
+ * once, in front of every tool — instead of being sprinkled across call sites.
12
+ */
13
+ import { getDex } from './dex.js';
14
+ import raw from './champions.data.js';
15
+ export const CHAMPIONS_VERIFIED_AS_OF = raw.verifiedAsOf;
16
+ export const CHAMPIONS_SOURCE = raw.source;
17
+ /** Champions-exclusive forms with the typing and BST they were verified to have. */
18
+ export const CHAMPIONS_EXCLUSIVE_FORMS = raw.forms;
19
+ /** The canonical Champions game model; the only dex access gameplay tools should use. */
20
+ export function getChampionsDex() {
21
+ return getDex(9);
22
+ }
23
+ //# sourceMappingURL=champions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"champions.js","sourceRoot":"","sources":["../src/champions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,GAAG,MAAM,qBAAqB,CAAC;AAEtC,MAAM,CAAC,MAAM,wBAAwB,GAAW,GAAG,CAAC,YAAY,CAAC;AACjE,MAAM,CAAC,MAAM,gBAAgB,GAAW,GAAG,CAAC,MAAM,CAAC;AAEnD,oFAAoF;AACpF,MAAM,CAAC,MAAM,yBAAyB,GAA0E,GAAG,CAAC,KAAK,CAAC;AAE1H,yFAAyF;AACzF,MAAM,UAAU,eAAe;IAC7B,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC"}
package/dist/server.js CHANGED
@@ -15,6 +15,8 @@ import { registerDoctorTool } from './tools/doctor.js';
15
15
  import { registerMatchupTool } from './tools/matchup.js';
16
16
  import { registerSpritesTool } from './tools/sprites.js';
17
17
  import { registerReplayTool } from './tools/replay.js';
18
+ import { registerInferTool } from './tools/infer.js';
19
+ import { registerOptimizeTeamTool } from './tools/optimize.js';
18
20
  import { registerPrompts } from './prompts.js';
19
21
  export const VERSION = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8')).version;
20
22
  export function buildServer() {
@@ -32,6 +34,8 @@ export function buildServer() {
32
34
  registerMatchupTool(server);
33
35
  registerSpritesTool(server);
34
36
  registerReplayTool(server);
37
+ registerInferTool(server);
38
+ registerOptimizeTeamTool(server);
35
39
  registerPrompts(server);
36
40
  return server;
37
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,CAAC,MAAM,OAAO,GAClB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAC7E,CAAC,OAAO,CAAC;AAEV,MAAM,UAAU,WAAW;IACzB,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAChC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC7B,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC3B,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC5B,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC5B,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC3B,eAAe,CAAC,MAAM,CAAC,CAAC;IAExB,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,CAAC,MAAM,OAAO,GAClB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAC7E,CAAC,OAAO,CAAC;AAEV,MAAM,UAAU,WAAW;IACzB,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAChC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC7B,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC3B,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC5B,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC5B,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC3B,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACjC,eAAe,CAAC,MAAM,CAAC,CAAC;IAExB,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -4,7 +4,8 @@
4
4
  * existing dataset — no external data source.
5
5
  */
6
6
  import { z } from 'zod';
7
- import { getDex, typeEffectiveness, TYPES18, finalStat, resolveEvs } from '../dex.js';
7
+ import { typeEffectiveness, TYPES18, finalStat, resolveEvs } from '../dex.js';
8
+ import { getChampionsDex } from '../champions.js';
8
9
  import { getRegulationSet } from '../regulations.js';
9
10
  import { getThreatList } from '../threats.js';
10
11
  import { ok, wrap, requireExists, READ_ONLY_ANNOTATIONS } from '../result.js';
@@ -217,7 +218,7 @@ export function registerAnalyzeTools(server) {
217
218
  .describe('Deduplicated move names that were not found in the dataset and so contributed no coverage; omitted entirely when every move resolved.'),
218
219
  },
219
220
  }, wrap(async (args) => {
220
- const dex = getDex(9);
221
+ const dex = getChampionsDex();
221
222
  const set = args.regulation ? getRegulationSet(args.regulation) : undefined;
222
223
  if (args.regulation && !set) {
223
224
  throw new Error(`Unknown regulation set "${args.regulation}".`);
@@ -1 +1 @@
1
- {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../src/tools/analyze.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../src/tools/analyze.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,8 @@
3
3
  */
4
4
  import { z } from 'zod';
5
5
  import { Move as CalcMove, calculate } from '@smogon/calc';
6
- import { getDex, statTable, damageResult, finalStat, buildPokemon, buildField, getCalcGen, resolveEvs, evsToChampionsPoints, STATS } from '../dex.js';
6
+ import { statTable, damageResult, finalStat, buildPokemon, buildField, getCalcGen, resolveEvs, evsToChampionsPoints, STATS } from '../dex.js';
7
+ import { getChampionsDex } from '../champions.js';
7
8
  import { getRegulationSet } from '../regulations.js';
8
9
  import { ok, wrap, requireExists, READ_ONLY_ANNOTATIONS } from '../result.js';
9
10
  import { evMap, championsPointsMap } from './schemas.js';
@@ -143,7 +144,7 @@ export function registerCalcTools(server) {
143
144
  },
144
145
  }, wrap(async (args) => {
145
146
  const gen = 9;
146
- const dex = getDex(gen);
147
+ const dex = getChampionsDex();
147
148
  const s = dex.species.get(args.species);
148
149
  requireExists(s, 'Pokemon species', args.species);
149
150
  const supplied = resolveEvs(args.evs, args.championsPoints);
@@ -227,7 +228,7 @@ export function registerCalcTools(server) {
227
228
  }, wrap(async (args) => {
228
229
  const gen = 9;
229
230
  // Validate species + move names for helpful errors before the calc throws.
230
- const dex = getDex(gen);
231
+ const dex = getChampionsDex();
231
232
  requireExists(dex.species.get(args.attacker.species), 'Pokemon species', args.attacker.species);
232
233
  requireExists(dex.species.get(args.defender.species), 'Pokemon species', args.defender.species);
233
234
  requireExists(dex.moves.get(args.move), 'move', args.move);
@@ -291,7 +292,7 @@ export function registerCalcTools(server) {
291
292
  },
292
293
  }, wrap(async (args) => {
293
294
  const gen = 9;
294
- const dex = getDex(gen);
295
+ const dex = getChampionsDex();
295
296
  requireExists(dex.species.get(args.attacker.species), 'Pokemon species', args.attacker.species);
296
297
  const moveNames = args.move ? [args.move] : (args.attacker.moves ?? []);
297
298
  if (moveNames.length === 0) {
@@ -431,7 +432,7 @@ export function registerCalcTools(server) {
431
432
  },
432
433
  }, wrap(async (args) => {
433
434
  const gen = 9;
434
- const dex = getDex(gen);
435
+ const dex = getChampionsDex();
435
436
  const sp = dex.species.get(args.species);
436
437
  requireExists(sp, 'Pokemon species', args.species);
437
438
  const nature = args.nature ?? 'Serious';
@@ -578,7 +579,7 @@ export function registerCalcTools(server) {
578
579
  },
579
580
  }, wrap(async (args) => {
580
581
  const gen = 9;
581
- const dex = getDex(gen);
582
+ const dex = getChampionsDex();
582
583
  const sp = dex.species.get(args.species);
583
584
  requireExists(sp, 'Pokemon species', args.species);
584
585
  const nature = args.nature ?? 'Serious';