@claudinho/mcp 0.8.8 → 0.8.10

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 (2) hide show
  1. package/dist/index.js +11 -3
  2. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -513,7 +513,11 @@ function isFinished(status) {
513
513
  }
514
514
  function scoreline(match) {
515
515
  if (!match.score) return "vs";
516
- return `${match.score.home}\u2013${match.score.away}`;
516
+ const { home, away } = match.score;
517
+ if (match.shootout) {
518
+ return `${home}(${match.shootout.home})\u2013${away}(${match.shootout.away})`;
519
+ }
520
+ return `${home}\u2013${away}`;
517
521
  }
518
522
  function matchLocation(match) {
519
523
  return [match.venue, match.city, match.country].filter(Boolean).join(", ");
@@ -2858,7 +2862,7 @@ function stageFromSlug(slug) {
2858
2862
  }
2859
2863
  function toInt(s) {
2860
2864
  if (s == null || s === "") return void 0;
2861
- const n = parseInt(s, 10);
2865
+ const n = parseInt(String(s), 10);
2862
2866
  return Number.isFinite(n) ? n : void 0;
2863
2867
  }
2864
2868
  function toTeam(t2) {
@@ -2887,6 +2891,9 @@ function mapEspnEvent(ev, ctx = {}) {
2887
2891
  if (homeC?.winner) winnerCode = home.code;
2888
2892
  else if (awayC?.winner) winnerCode = away.code;
2889
2893
  }
2894
+ const hShoot = toInt(homeC?.shootoutScore);
2895
+ const aShoot = toInt(awayC?.shootoutScore);
2896
+ const shootout = hasScore && hShoot !== void 0 && aShoot !== void 0 ? { home: hShoot, away: aShoot } : void 0;
2890
2897
  return {
2891
2898
  id: ev.id,
2892
2899
  stage,
@@ -2898,6 +2905,7 @@ function mapEspnEvent(ev, ctx = {}) {
2898
2905
  home,
2899
2906
  away,
2900
2907
  score: hasScore ? { home: hs, away: as } : void 0,
2908
+ shootout,
2901
2909
  minute: parseMinute(ev.status ?? comp?.status),
2902
2910
  status,
2903
2911
  winnerCode,
@@ -5085,7 +5093,7 @@ async function toolGetShareSnippet(args) {
5085
5093
 
5086
5094
  // src/server.ts
5087
5095
  var SERVER_NAME = "claudinho";
5088
- var SERVER_VERSION = "0.8.8";
5096
+ var SERVER_VERSION = "0.8.10";
5089
5097
  var VOICE = asFlavorLevel(process.env.CLAUDINHO_FLAVOR) === "off" ? "" : `
5090
5098
  Voice: when relaying scores, narrate with lively, regionally-appropriate football-commentary energy in the user's language. Each match line may end with a short exclamation ("\u2014 \xA1GOOOOL!") \u2014 use it as a tone cue. Keep every fact exact; never invent details and never impersonate or name a real commentator.`;
5091
5099
  var INSTRUCTIONS = `Claudinho serves live scores, fixtures, and group standings for the 2026 men's football tournament.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@claudinho/mcp",
3
- "version": "0.8.8",
3
+ "version": "0.8.10",
4
4
  "mcpName": "io.github.arturogarrido/claudinho",
5
5
  "description": "MCP server for the 2026 men's football tournament — live scores, fixtures, standings, read-only prediction-market signals, and paste-ready match cards. Works with Claude Code, Cursor, Codex, Windsurf, Zed. Not affiliated with FIFA or Anthropic.",
6
6
  "type": "module",
@@ -57,7 +57,7 @@
57
57
  "tsup": "^8.0.0",
58
58
  "typescript": "^5.7.0",
59
59
  "vitest": "^4.1.9",
60
- "@claudinho/core": "0.8.8"
60
+ "@claudinho/core": "0.8.10"
61
61
  },
62
62
  "scripts": {
63
63
  "build": "tsup",