getcompetitive 6.0.0 → 6.2.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.
@@ -1 +1 @@
1
- {"version":3,"file":"meta-history.data.js","sourceRoot":"","sources":["../src/meta-history.data.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,wEAAwE;AACxE,0EAA0E;AAC1E,4EAA4E;AAC5E,wFAAwF;AACxF,eAAe,EAAE,KAAK,EAAE;QACtB,YAAY,EAAE,KAAK;QACnB,MAAM,EAAE,oBAAoB;QAC5B,QAAQ,EAAE,OAAO;QACjB,YAAY,EAAE,YAAY;QAC1B,MAAM,EAAE,wKAAwK;QAChL,SAAS,EAAE;YACT,SAAS,EAAE;gBACT,OAAO,EAAE,YAAY;gBACrB,KAAK,EAAE,YAAY;gBACnB,OAAO,EAAE,IAAI;aACd;YACD,UAAU,EAAE;gBACV,OAAO,EAAE,YAAY;gBACrB,KAAK,EAAE,YAAY;gBACnB,OAAO,EAAE,IAAI;aACd;SACF;QACD,SAAS,EAAE;YACT;gBACE,SAAS,EAAE,WAAW;gBACtB,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,IAAI;aACjB;YACD;gBACE,SAAS,EAAE,QAAQ;gBACnB,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,SAAS,EAAE,UAAU;gBACrB,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,EAAE;aACf;YACD;gBACE,SAAS,EAAE,SAAS;gBACpB,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,CAAC;aACd;YACD;gBACE,SAAS,EAAE,WAAW;gBACtB,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,IAAI;aACjB;YACD;gBACE,SAAS,EAAE,WAAW;gBACtB,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,SAAS,EAAE,WAAW;gBACtB,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,SAAS,EAAE,QAAQ;gBACnB,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,SAAS,EAAE,YAAY;gBACvB,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,SAAS,EAAE,WAAW;gBACtB,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,SAAS,EAAE,UAAU;gBACrB,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,SAAS,EAAE,YAAY;gBACvB,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,CAAC;aACd;YACD;gBACE,SAAS,EAAE,UAAU;gBACrB,SAAS,EAAE,CAAC;gBACZ,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,SAAS,EAAE,SAAS;gBACpB,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,IAAI;aACjB;YACD;gBACE,SAAS,EAAE,UAAU;gBACrB,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,IAAI;aACjB;YACD;gBACE,SAAS,EAAE,WAAW;gBACtB,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,SAAS,EAAE,WAAW;gBACtB,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,SAAS,EAAE,UAAU;gBACrB,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,SAAS,EAAE,WAAW;gBACtB,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,IAAI;aACjB;YACD;gBACE,SAAS,EAAE,WAAW;gBACtB,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,IAAI;aACjB;YACD;gBACE,SAAS,EAAE,YAAY;gBACvB,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,SAAS,EAAE,WAAW;gBACtB,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,SAAS,EAAE,QAAQ;gBACnB,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,SAAS,EAAE,WAAW;gBACtB,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,SAAS,EAAE,WAAW;gBACtB,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,SAAS,EAAE,UAAU;gBACrB,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,SAAS,EAAE,WAAW;gBACtB,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,SAAS,EAAE,UAAU;gBACrB,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,IAAI;aACjB;YACD;gBACE,SAAS,EAAE,WAAW;gBACtB,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,IAAI;aACjB;YACD;gBACE,SAAS,EAAE,WAAW;gBACtB,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,SAAS,EAAE,UAAU;gBACrB,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,EAAE;aACf;YACD;gBACE,SAAS,EAAE,UAAU;gBACrB,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,SAAS,EAAE,WAAW;gBACtB,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,IAAI;aACjB;YACD;gBACE,SAAS,EAAE,YAAY;gBACvB,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,SAAS,EAAE,SAAS;gBACpB,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,SAAS,EAAE,SAAS;gBACpB,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,SAAS,EAAE,SAAS;gBACpB,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,SAAS,EAAE,YAAY;gBACvB,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,IAAI;aACjB;YACD;gBACE,SAAS,EAAE,UAAU;gBACrB,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,IAAI;aACjB;YACD;gBACE,SAAS,EAAE,WAAW;gBACtB,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,CAAC;aACd;SACF;QACD,OAAO,EAAE;YACP;gBACE,MAAM,EAAE;oBACN,WAAW;oBACX,WAAW;iBACZ;gBACD,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,MAAM,EAAE;oBACN,QAAQ;oBACR,WAAW;iBACZ;gBACD,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,MAAM,EAAE;oBACN,WAAW;oBACX,QAAQ;iBACT;gBACD,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,MAAM,EAAE;oBACN,UAAU;oBACV,WAAW;iBACZ;gBACD,SAAS,EAAE,EAAE;gBACb,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,MAAM,EAAE;oBACN,UAAU;oBACV,WAAW;iBACZ;gBACD,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,MAAM,EAAE;oBACN,UAAU;oBACV,QAAQ;iBACT;gBACD,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,MAAM,EAAE;oBACN,WAAW;oBACX,WAAW;iBACZ;gBACD,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,MAAM,EAAE;oBACN,WAAW;oBACX,UAAU;iBACX;gBACD,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,MAAM,EAAE;oBACN,WAAW;oBACX,WAAW;iBACZ;gBACD,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,MAAM,EAAE;oBACN,WAAW;oBACX,WAAW;iBACZ;gBACD,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,MAAM,EAAE;oBACN,SAAS;oBACT,WAAW;iBACZ;gBACD,SAAS,EAAE,CAAC;gBACZ,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,MAAM,EAAE;oBACN,QAAQ;oBACR,UAAU;iBACX;gBACD,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,MAAM,EAAE;oBACN,UAAU;oBACV,WAAW;iBACZ;gBACD,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,MAAM,EAAE;oBACN,QAAQ;oBACR,WAAW;iBACZ;gBACD,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,MAAM,EAAE;oBACN,UAAU;oBACV,WAAW;iBACZ;gBACD,SAAS,EAAE,EAAE;gBACb,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,MAAM,EAAE;oBACN,UAAU;oBACV,UAAU;iBACX;gBACD,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,MAAM,EAAE;oBACN,SAAS;oBACT,WAAW;iBACZ;gBACD,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,MAAM,EAAE;oBACN,UAAU;oBACV,WAAW;iBACZ;gBACD,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,MAAM,EAAE;oBACN,WAAW;oBACX,YAAY;iBACb;gBACD,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,MAAM,EAAE;oBACN,WAAW;oBACX,WAAW;iBACZ;gBACD,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,CAAC;aACd;SACF;KACF,EAAW,CAAC"}
1
+ {"version":3,"file":"meta-history.data.js","sourceRoot":"","sources":["../src/meta-history.data.ts"],"names":[],"mappings":"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"}
package/dist/prompts.js CHANGED
@@ -149,6 +149,37 @@ Deliver a team guide: each member\u2019s role, the pairs and synergies between t
149
149
  },
150
150
  ],
151
151
  }));
152
+ server.registerPrompt('scout-opponent', {
153
+ title: 'Scout Opponent',
154
+ description: 'Scout an opponent from a battle replay: replay, observations, set inference, rematch preparation — one pipeline.',
155
+ argsSchema: {
156
+ log: z.string().optional().describe('The battle log text; omitted, the workflow asks for it.'),
157
+ team: z.string().optional().describe('Your team as paste text, with the sets you actually ran.'),
158
+ species: z.string().optional().describe('The opponent species to scout.'),
159
+ regulation: regulationArg,
160
+ },
161
+ }, async (args) => ({
162
+ messages: [
163
+ {
164
+ role: 'user',
165
+ content: {
166
+ type: 'text',
167
+ text: `Act as a competitive scout. The user has a replay of a past match and wants to prepare for the rematch against one of the opponent's Pok\u00e9mon.
168
+ ${args.log ? `Battle log:\n\n${args.log}\n` : 'Ask the user for the battle log first.'}
169
+ ${args.team ? `Their team as paste text:\n\n${args.team}\n` : 'Ask the user for their team, with the sets they actually ran — the log does not contain them.'}
170
+ ${args.species ? `Species to scout: ${args.species}` : 'Ask which opponent species to scout.'}
171
+
172
+ Workflow:
173
+ 1. Run analyze_battle with mode "scout" on the log, the parsed team, and the species.
174
+ 2. Walk through what the log proved: each extracted observation, the moves seen, and the narrowing of the candidate sets.
175
+ 3. State the surviving candidates with their probability shares, and what would pin it down further (an item reveal, one more Speed relation, a resisted hit).
176
+ 4. For the rematch: run prepare_matchup with the opponent's top candidate set in mind, and say what changes between the most and second-most likely sets.
177
+
178
+ Every number comes from the tools. You explain; getcompetitive proves.`,
179
+ },
180
+ },
181
+ ],
182
+ }));
152
183
  server.registerPrompt('meta-report', {
153
184
  title: 'Meta Report',
154
185
  description: 'The current meta in one report: usage tiers, the top sets, and a data-dated read of what is good.',
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,aAAa,GAAG,CAAC;KACpB,MAAM,EAAE;KACR,QAAQ,EAAE;KACV,QAAQ,CAAC,sFAAsF,CAAC,CAAC;AACpG,MAAM,OAAO,GAAG,CAAC;KACd,MAAM,EAAE;KACR,QAAQ,EAAE;KACV,QAAQ,CAAC,8FAA8F,CAAC,CAAC;AAC5G,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qFAAqF,CAAC,CAAC;AAEtI,MAAM,UAAU,eAAe,CAAC,MAAiB;IAC/C,MAAM,CAAC,cAAc,CACnB,aAAa,EACb;QACE,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,qGAAqG;QAClH,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE;KACxE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACf,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,iGACJ,IAAI,CAAC,UAAU,IAAI,4BACrB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;;EAE7D,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,+BAA+B,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,yCAAyC;;;;;;;;uFAQf;iBAC5E;aACF;SACF;KACF,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,cAAc,CACnB,cAAc,EACd;QACE,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,6IAA6I;QAC1J,UAAU,EAAE;YACV,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,8FAA8F,CAAC;YAC3G,UAAU,EAAE,aAAa;SAC1B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACf,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE;EAChB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,oCAAoC;EAClF,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,yCAAyC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,sEAAsE;;;;0DAI3F,IAAI,CAAC,UAAU,IAAI,wBAAwB;;;;4FAIT;iBACjF;aACF;SACF;KACF,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,cAAc,CACnB,cAAc,EACd;QACE,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,mJAAmJ;QAChK,UAAU,EAAE;YACV,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,oFAAoF,CAAC;YACjG,UAAU,EAAE,aAAa;SAC1B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACf,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,+DACJ,IAAI,CAAC,IAAI,IAAI,6CACf,QAAQ,IAAI,CAAC,UAAU,IAAI,4BAA4B;;;;;;;;8GAQ2C;iBACnG;aACF;SACF;KACF,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,cAAc,CACnB,iBAAiB,EACjB;QACE,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EAAE,8FAA8F;QAC3G,UAAU,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE;KAC1C,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACf,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,oFACJ,IAAI,CAAC,UAAU,IAAI,4BACrB;;;;;;;iJAOqI;iBACtI;aACF;SACF;KACF,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,cAAc,CACnB,eAAe,EACf;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,2GAA2G;QACxH,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE;KACzD,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACf,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE;EAChB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,yCAAyC;;;;;;;;2MAQkH;iBAChM;aACF;SACF;KACF,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,cAAc,CACnB,gBAAgB,EAChB;QACE,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE,kHAAkH;QAC/H,UAAU,EAAE;YACV,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;YAC9F,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;YAChG,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;YACzE,UAAU,EAAE,aAAa;SAC1B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACf,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE;EAChB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,wCAAwC;EACpF,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,gCAAgC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,+FAA+F;EAC3J,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,sCAAsC;;;;;;;;uEAQtB;iBAC5D;aACF;SACF;KACF,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,cAAc,CACnB,aAAa,EACb;QACE,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,mGAAmG;QAChH,UAAU,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE;KAC1C,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACf,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,6EACJ,IAAI,CAAC,UAAU,IAAI,4BACrB;;;;;;;4GAOgG;iBACjG;aACF;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC"}
package/dist/roles.js ADDED
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Role taxonomy: the competitive roles a team can be built from, detected
3
+ * deterministically from the dataset — learnsets for Fake Out, Tailwind, Trick
4
+ * Room, redirection, pivoting, priority and spread moves; the ability pool for
5
+ * Intimidate; base stats for anchors and cleaners. This is the vocabulary
6
+ * `optimize_team` objectives are expressed in.
7
+ */
8
+ import { getChampionsDex } from './champions.js';
9
+ import { learnableMoveIds } from './dex.js';
10
+ import { toID } from './dex.js';
11
+ export const ROLES = [
12
+ 'fake_out',
13
+ 'tailwind',
14
+ 'trick_room',
15
+ 'redirection',
16
+ 'priority',
17
+ 'intimidate',
18
+ 'pivoting',
19
+ 'spread',
20
+ 'anchor',
21
+ 'cleaner',
22
+ ];
23
+ const MOVE_SETS = {
24
+ fake_out: ['fakeout'],
25
+ tailwind: ['tailwind'],
26
+ trick_room: ['trickroom'],
27
+ redirection: ['followme', 'ragepowder'],
28
+ priority: undefined,
29
+ intimidate: undefined,
30
+ pivoting: ['uturn', 'voltswitch', 'flipturn', 'partingshot'],
31
+ spread: undefined,
32
+ anchor: undefined,
33
+ cleaner: undefined,
34
+ };
35
+ const roleCache = new Map();
36
+ /** The competitive roles a species can fill, from learnset, abilities and stats. */
37
+ export async function detectRoles(speciesName) {
38
+ const key = toID(speciesName);
39
+ const cached = roleCache.get(key);
40
+ if (cached)
41
+ return cached;
42
+ const dex = getChampionsDex();
43
+ const sp = dex.species.get(speciesName);
44
+ const roles = new Set();
45
+ if (sp.exists) {
46
+ for (const ability of Object.values(sp.abilities)) {
47
+ if (ability.toLowerCase() === 'intimidate')
48
+ roles.add('intimidate');
49
+ }
50
+ const stats = sp.baseStats;
51
+ if (stats.hp + stats.def + stats.spd >= 270)
52
+ roles.add('anchor');
53
+ if (stats.spe >= 95 && (stats.atk >= 110 || stats.spa >= 110))
54
+ roles.add('cleaner');
55
+ }
56
+ const learnable = sp.exists ? await learnableMoveIds(dex, sp) : new Set();
57
+ for (const role of ROLES) {
58
+ const wanted = MOVE_SETS[role];
59
+ if (!wanted)
60
+ continue;
61
+ if (wanted.some((id) => learnable.has(id)))
62
+ roles.add(role);
63
+ }
64
+ for (const id of learnable) {
65
+ const m = dex.moves.get(id);
66
+ if (!m.exists || !(m.basePower || 0))
67
+ continue;
68
+ if ((m.priority ?? 0) > 0)
69
+ roles.add('priority');
70
+ if (m.target === 'allAdjacentFoes' && m.basePower >= 60)
71
+ roles.add('spread');
72
+ }
73
+ const out = [...roles];
74
+ roleCache.set(key, out);
75
+ return out;
76
+ }
77
+ //# sourceMappingURL=roles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roles.js","sourceRoot":"","sources":["../src/roles.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,7 @@ import { registerSpritesTool } from './sprites.js';
36
36
  import { registerReplayTool } from './replay.js';
37
37
  import { registerInferTool } from './infer.js';
38
38
  import { registerOptimizeTeamTool } from './optimize.js';
39
+ import { registerScoutTool } from './scout.js';
39
40
  import { READ_ONLY_ANNOTATIONS } from '../result.js';
40
41
  import { detailArg, applyLevel, LEVEL_SPECS } from './levels.js';
41
42
  /** mode -> underlying tool name, per compound entrypoint. */
@@ -67,6 +68,7 @@ const COMPOUND = {
67
68
  analyze_battle: {
68
69
  replay: 'analyze_replay',
69
70
  infer: 'infer_set',
71
+ scout: 'scout_opponent',
70
72
  },
71
73
  analyze_meta: {
72
74
  threats: 'list_threats',
@@ -108,6 +110,7 @@ function capture() {
108
110
  registerReplayTool(server);
109
111
  registerInferTool(server);
110
112
  registerOptimizeTeamTool(server);
113
+ registerScoutTool(server);
111
114
  const registeredTools = server._registeredTools;
112
115
  return registeredTools;
113
116
  }
@@ -1 +1 @@
1
- {"version":3,"file":"compound.js","sourceRoot":"","sources":["../../src/tools/compound.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compound.js","sourceRoot":"","sources":["../../src/tools/compound.ts"],"names":[],"mappings":"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"}
@@ -1,104 +1,12 @@
1
1
  /**
2
- * Set inference: reverse constraint solving. The player reports what they saw —
3
- * who moved first, a damage percentage, what survived — and this tool narrows
4
- * the space of sets the opponent's Pokémon could be running, ranked by how far
5
- * each surviving candidate is from what the meta actually plays. The primitives
6
- * are the same ones the forward tools use (exact level-50 Speed math and real
7
- * damage rolls), run backwards. Every elimination is shown, so the narrowing is
8
- * auditable rather than a black box, and everything a battle observation cannot
9
- * prove is stated in the note.
2
+ * Set inference over hand-typed battle observations: "infer" mode of
3
+ * `analyze_battle`. The engine itself lives in src/inference.ts and is shared
4
+ * with the scouting pipeline, so typed observations and replay-derived ones
5
+ * narrow candidates with identical math.
10
6
  */
11
7
  import { z } from 'zod';
12
- import { finalStat, damageResult } from '../dex.js';
13
- import { getChampionsDex } from '../champions.js';
14
- import { getRegulationSet } from '../regulations.js';
15
- import { findThreat } from '../threats.js';
16
- import { ok, wrap, requireExists, READ_ONLY_ANNOTATIONS } from '../result.js';
17
- /** The plausible item pool for an uncurated species, plus Choice Scarf. */
18
- const ITEM_POOL = ['Choice Scarf', 'Choice Band', 'Choice Specs', 'Life Orb', 'Focus Sash', 'Assault Vest', 'Sitrus Berry'];
19
- const SPEED_NATURES = ['Jolly', 'Timid'];
20
- function spreadBy(primary, secondary) {
21
- const evs = {};
22
- evs[primary] = 252;
23
- evs[secondary] = 252;
24
- evs['hp'] = 4;
25
- return evs;
26
- }
27
- /** Candidate sets for one species: the meta set plus the variations a scout can distinguish. */
28
- function candidatesFor(dex, speciesName, curated) {
29
- const sp = dex.species.get(speciesName);
30
- requireExists(sp, 'Pokemon species', speciesName);
31
- const base = sp.baseStats;
32
- const offensiveStat = base.atk >= base.spa ? 'atk' : 'spa';
33
- const speedNature = base.atk >= base.spa ? 'Jolly' : 'Timid';
34
- const powerNature = base.atk >= base.spa ? 'Adamant' : 'Modest';
35
- const mega = speciesName.toLowerCase().includes('mega');
36
- const threat = curated?.threat;
37
- const natures = [...new Set([...(threat?.nature ? [threat.nature] : []), speedNature, powerNature])];
38
- const items = mega
39
- ? [...new Set([...(threat?.item ? [threat.item] : []), 'Life Orb', 'Sitrus Berry'])]
40
- : [...new Set([...(threat?.item ? [threat.item] : []), ...ITEM_POOL])];
41
- const spreads = [...new Set([
42
- JSON.stringify(threat?.evs ?? spreadBy(offensiveStat, 'spe')),
43
- JSON.stringify(spreadBy(offensiveStat, 'spe')),
44
- JSON.stringify(spreadBy('hp', offensiveStat)),
45
- JSON.stringify(spreadBy('hp', 'def')),
46
- ])].map((s) => JSON.parse(s));
47
- const ability = threat?.ability ?? (sp.abilities?.[0] ?? '');
48
- const out = [];
49
- for (const nature of natures) {
50
- for (const item of items) {
51
- for (const evs of spreads) {
52
- const baseSpeed = finalStat(9, 'spe', base.spe, 31, evs.spe ?? 0, 50, nature);
53
- const speed = item === 'Choice Scarf' ? Math.floor(baseSpeed * 1.5) : baseSpeed;
54
- // Prior: distance from the set the meta actually plays.
55
- const weight = (nature === threat?.nature ? 1 : SPEED_NATURES.includes(nature) ? 0.7 : 0.5) *
56
- (item === threat?.item ? 1 : item === 'Choice Scarf' ? 0.6 : 0.5) *
57
- (JSON.stringify(evs) === JSON.stringify(threat?.evs ?? {}) ? 1 : 0.6);
58
- out.push({ item: item || undefined, ability, nature, evs, speed, weight });
59
- }
60
- }
61
- }
62
- return out;
63
- }
64
- const otherSetSchema = z.object({
65
- species: z.string().describe('Species name, e.g. "Rillaboom".'),
66
- level: z.number().int().optional().describe('Level; defaults to 50.'),
67
- nature: z.string().optional().describe('Nature; defaults to neutral.'),
68
- evs: z.record(z.string(), z.number()).optional().describe('EVs keyed by stat id.'),
69
- championsPoints: z.record(z.string(), z.number()).optional().describe('Champions stat points, an alternative to evs.'),
70
- item: z.string().optional().describe('Held item.'),
71
- ability: z.string().optional().describe('Ability.'),
72
- });
73
- const observationSchema = z.union([
74
- z.object({
75
- kind: z.literal('speed'),
76
- referenceSpeed: z.number().int().describe('The Speed of the member it raced against, e.g. your Salamence at 188.'),
77
- relation: z
78
- .enum(['outsped', 'outspeeds'])
79
- .describe('"outsped" means the observed Pokémon moved first (its Speed is higher); "outspeeds" means your member moved first (its Speed is lower).'),
80
- }),
81
- z.object({
82
- kind: z.literal('damageDealt'),
83
- move: z.string().describe('The move the observed Pokémon used.'),
84
- target: otherSetSchema.describe('The member it hit — your member, with its known set.'),
85
- percent: z.number().describe('Damage shown as a percentage of the target\u2019s HP, e.g. 71 for "71/100".'),
86
- }),
87
- z.object({
88
- kind: z.literal('damageTaken'),
89
- move: z.string().describe('The move that hit the observed Pokémon.'),
90
- attacker: otherSetSchema.describe('The attacker — your member, with its known set.'),
91
- percentTaken: z.number().describe('Damage the observed Pokémon took, as a percentage of its own HP, e.g. 88 when it survived with 12%.'),
92
- }),
93
- z.object({
94
- kind: z.literal('ability'),
95
- ability: z.string().describe('An ability the observed Pokémon is known to have.'),
96
- }),
97
- z.object({
98
- kind: z.literal('item'),
99
- item: z.string().describe('An item the observed Pokémon is known to hold.'),
100
- }),
101
- ]);
8
+ import { runInference, observationSchema } from '../inference.js';
9
+ import { ok, wrap, READ_ONLY_ANNOTATIONS } from '../result.js';
102
10
  export function registerInferTool(server) {
103
11
  server.registerTool('infer_set', {
104
12
  title: 'Infer an opponent\u2019s set',
@@ -147,124 +55,7 @@ export function registerInferTool(server) {
147
55
  note: z.string().describe('What the engine assumed and what observations cannot prove: neutral abilities when unknown, no stat stages, roll variance, and that damage percentages are rounded by the client.'),
148
56
  },
149
57
  }, wrap(async (args) => {
150
- const dex = getChampionsDex();
151
- const set = args.regulation ? getRegulationSet(args.regulation) : undefined;
152
- const curated = findThreat(args.species, set?.id);
153
- const sp = dex.species.get(args.species);
154
- requireExists(sp, 'Pokemon species', args.species);
155
- const priorPool = candidatesFor(dex, sp.name, curated);
156
- let candidates = priorPool;
157
- const constraints = [];
158
- for (const obs of args.observations) {
159
- const before = candidates.length;
160
- const keep = [];
161
- if (obs.kind === 'speed') {
162
- for (const c of candidates) {
163
- const faster = obs.relation === 'outsped' ? c.speed > obs.referenceSpeed : c.speed < obs.referenceSpeed;
164
- if (faster)
165
- keep.push(c);
166
- }
167
- constraints.push({
168
- observation: `${obs.relation === 'outsped' ? 'outsped' : 'was outsped by'} a member at ${obs.referenceSpeed} Speed`,
169
- before, after: keep.length, eliminated: before - keep.length,
170
- });
171
- }
172
- else if (obs.kind === 'ability') {
173
- for (const c of candidates) {
174
- if (c.ability.toLowerCase() === obs.ability.toLowerCase())
175
- keep.push(c);
176
- }
177
- constraints.push({ observation: `has ${obs.ability}`, before, after: keep.length, eliminated: before - keep.length });
178
- }
179
- else if (obs.kind === 'item') {
180
- for (const c of candidates) {
181
- if (c.item?.toLowerCase() === obs.item.toLowerCase())
182
- keep.push(c);
183
- }
184
- constraints.push({ observation: `holds ${obs.item}`, before, after: keep.length, eliminated: before - keep.length });
185
- }
186
- else if (obs.kind === 'damageDealt') {
187
- const targetSet = { ...obs.target, level: obs.target.level ?? 50 };
188
- for (const c of candidates) {
189
- let consistent = false;
190
- try {
191
- const res = damageResult(9, {
192
- species: sp.name,
193
- level: 50,
194
- nature: c.nature,
195
- evs: c.evs,
196
- item: c.item,
197
- ability: c.ability,
198
- moves: [obs.move],
199
- }, targetSet, obs.move);
200
- const targetHp = res.defender.stats.hp;
201
- const observedHp = (obs.percent / 100) * targetHp;
202
- consistent = res.damageRange[0] <= observedHp && observedHp <= res.damageRange[1];
203
- }
204
- catch {
205
- consistent = false;
206
- }
207
- if (consistent)
208
- keep.push(c);
209
- }
210
- constraints.push({
211
- observation: `${obs.move} did ${obs.percent}% to ${obs.target.species}`,
212
- before, after: keep.length, eliminated: before - keep.length,
213
- });
214
- }
215
- else {
216
- const attackerSet = { ...obs.attacker, level: obs.attacker.level ?? 50 };
217
- for (const c of candidates) {
218
- let consistent = false;
219
- try {
220
- const res = damageResult(9, attackerSet, {
221
- species: sp.name,
222
- level: 50,
223
- nature: c.nature,
224
- evs: c.evs,
225
- item: c.item,
226
- ability: c.ability,
227
- }, obs.move);
228
- const targetHp = res.defender.stats.hp;
229
- const observedHp = (obs.percentTaken / 100) * targetHp;
230
- consistent = res.damageRange[0] <= observedHp && observedHp <= res.damageRange[1];
231
- }
232
- catch {
233
- consistent = false;
234
- }
235
- if (consistent)
236
- keep.push(c);
237
- }
238
- constraints.push({
239
- observation: `took ${obs.percentTaken}% from ${obs.attacker.species}'s ${obs.move}`,
240
- before, after: keep.length, eliminated: before - keep.length,
241
- });
242
- }
243
- candidates = keep;
244
- if (!candidates.length)
245
- break;
246
- }
247
- const total = candidates.reduce((a, c) => a + c.weight, 0);
248
- const ranked = [...candidates]
249
- .sort((a, b) => b.weight - a.weight)
250
- .slice(0, 8)
251
- .map((c) => ({
252
- ...(c.item ? { item: c.item } : {}),
253
- ability: c.ability,
254
- nature: c.nature,
255
- evs: c.evs,
256
- speed: c.speed,
257
- probability: Number(((c.weight / total) * 100).toFixed(1)),
258
- }));
259
- return ok({
260
- species: sp.name,
261
- ...(set ? { regulation: set.name } : {}),
262
- priorSets: priorPool.length,
263
- survivingSets: candidates.length,
264
- constraints,
265
- candidates: ranked,
266
- note: 'The engine assumes neutral abilities when unknown, no stat stages on either side, and that damage percentages are rounded by the client — a range that contains the observed value survives, which is why a single roll rarely pins one set. Speed observations are strict inequalities. For an unranked species the prior is a flat pool of plausible natures, items and spreads, so probabilities are relative within that pool, not metagame odds. At most the top 8 survivors are listed; `survivingSets` tells you when more were cut off.',
267
- });
58
+ return ok(runInference(args.species, args.observations, args.regulation));
268
59
  }));
269
60
  }
270
61
  //# sourceMappingURL=infer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"infer.js","sourceRoot":"","sources":["../../src/tools/infer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"infer.js","sourceRoot":"","sources":["../../src/tools/infer.ts"],"names":[],"mappings":"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"}
@@ -151,7 +151,7 @@ export const LEVEL_SPECS = {
151
151
  compact: ['regulation', 'constraints', 'recommendations'],
152
152
  evidence: ['note'],
153
153
  elements: {
154
- 'recommendations': ['members', 'score', 'reasons'],
154
+ 'recommendations': ['members', 'score', 'reasons', 'roles'],
155
155
  },
156
156
  },
157
157
  };
@@ -1 +1 @@
1
- {"version":3,"file":"levels.js","sourceRoot":"","sources":["../../src/tools/levels.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"levels.js","sourceRoot":"","sources":["../../src/tools/levels.ts"],"names":[],"mappings":"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"}
@@ -298,6 +298,7 @@ export function registerMetaTools(server) {
298
298
  previous: z.number().describe('Usage share in the previous window, in percent.'),
299
299
  current: z.number().describe('Usage share in the current window, in percent.'),
300
300
  delta: z.number().describe('`current` minus `previous`, in percentage points.'),
301
+ rankDelta: z.number().int().describe('How many ranks it climbed between windows; positive is climbing, 0 is unchanged.'),
301
302
  }))
302
303
  .describe('The biggest gainers, largest delta first.'),
303
304
  falling: z
@@ -306,6 +307,7 @@ export function registerMetaTools(server) {
306
307
  previous: z.number().describe('Usage share in the previous window, in percent.'),
307
308
  current: z.number().describe('Usage share in the current window, in percent.'),
308
309
  delta: z.number().describe('`current` minus `previous`, in percentage points.'),
310
+ rankDelta: z.number().int().describe('How many ranks it fell between windows; negative is falling.'),
309
311
  }))
310
312
  .describe('The biggest losers, most negative delta first.'),
311
313
  emergingCores: z
@@ -314,8 +316,18 @@ export function registerMetaTools(server) {
314
316
  previous: z.number().describe('Share of previous-window teams carrying both, in percent.'),
315
317
  current: z.number().describe('Share of current-window teams carrying both, in percent.'),
316
318
  delta: z.number().describe('`current` minus `previous`, in percentage points.'),
319
+ liftCurrent: z.number().describe('Co-occurrence lift in the current window: 1.0 means independent, above 1.0 means the pair appears together more than popularity alone explains.'),
320
+ liftPrevious: z.number().describe('The same lift in the previous window, so rising lift is synergy and flat lift is just popularity.'),
317
321
  }))
318
322
  .describe('The species pairs gaining the most co-occurrence, largest delta first.'),
323
+ setChanges: z
324
+ .array(z.object({
325
+ species: z.string().describe('Base species name.'),
326
+ item: z.object({ from: z.string(), to: z.string() }).nullable().describe('Its most-played item, previous to current; null when unchanged.'),
327
+ ability: z.object({ from: z.string(), to: z.string() }).nullable().describe('Its most-played ability, previous to current; null when unchanged.'),
328
+ nature: z.object({ from: z.string(), to: z.string() }).nullable().describe('Its most-played nature, previous to current; null when unchanged.'),
329
+ }))
330
+ .describe('Species whose most-played set changed between the windows — what it runs, not just how much of it.'),
319
331
  note: z.string().describe('How the numbers were computed: team counts, tournament source, and that the windows are rolling.'),
320
332
  },
321
333
  }, wrap(async (args) => {
@@ -325,8 +337,8 @@ export function registerMetaTools(server) {
325
337
  throw new Error(`No usage history for "${args.regulation ?? 'm-c'}". Available: ${Object.values(META_HISTORY).map((h) => `${h.name} (${h.regulation})`).join(', ')}.`);
326
338
  }
327
339
  const deltaOf = (e) => Number((e.current - e.previous).toFixed(1));
328
- const row = (e) => ({ species: e.species, previous: e.previous, current: e.current, delta: deltaOf(e) });
329
- const coreRow = (e) => ({ core: e.core, previous: e.previous, current: e.current, delta: deltaOf(e) });
340
+ const row = (e) => ({ species: e.species, previous: e.previous, current: e.current, delta: deltaOf(e), rankDelta: e.rankDelta });
341
+ const coreRow = (e) => ({ core: e.core, previous: e.previous, current: e.current, delta: deltaOf(e), liftCurrent: e.liftCurrent, liftPrevious: e.liftPrevious });
330
342
  return ok({
331
343
  regulation: entry.name,
332
344
  sourceAsOf: entry.sourceAsOf,
@@ -338,6 +350,7 @@ export function registerMetaTools(server) {
338
350
  .slice(0, 12)
339
351
  .map(row),
340
352
  emergingCores: entry.cores.filter((c) => deltaOf(c) > 0).slice(0, 8).map(coreRow),
353
+ setChanges: entry.setChanges.slice(0, 12),
341
354
  note: entry.note,
342
355
  });
343
356
  }));