@battlegrid/mcp-server 31.2.109 → 31.2.112

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
@@ -24,10 +24,77 @@ Seeing package `31.x` alongside handshake `battlegrid@33.x` — the package **be
24
24
 
25
25
  **What this changes for you:** nothing about how you call anything. Upgrading the package no longer waits on a server deploy, and a server deploy no longer strands you on a package that names the wrong contract — reconnect and the announcement follows. **Contract breaking-change notes are no longer keyed to package versions**, since a contract move is no longer a release here; the v11-and-earlier notes below are kept as history, and the live vocabulary is always discovery.
26
26
 
27
+ ## Contract history — v113 (one pagination shape: an opaque cursor)
28
+
29
+ **Breaking at v113: nine reads page by cursor.** v113 is the contract on top of v112. Reconnect the proxy, or restart
30
+ it, so discovery reads the new schemas.
31
+
32
+ ### Rejected input — something you send is no longer accepted
33
+
34
+ - **`page` on the nine paginated reads** — `get_agent_thought_log`, `get_user_thought_log`,
35
+ `get_agent_activity_feed`, `get_user_activity_feed`, `list_gate_blocks`, `list_signal_logs`,
36
+ `list_entry_decisions`, `get_public_agent_signal_logs` and `get_public_agent_realized_trades`. Omit `cursor` for the
37
+ first page, then send the `nextCursor` the previous page returned. `page` is refused as an unrecognised key naming
38
+ it; nothing translates it.
39
+ - **A cursor the server did not write** is refused naming `cursor`, before any read.
40
+
41
+ ### Reshaped output — something you read moved
42
+
43
+ - **`total` → `nextCursor`** on the nine reads (`null` on the last page); the thought-log, activity-feed and
44
+ realized-trades reads also drop `page` and `limit`. `list_gate_blocks` keeps `summary`, which still spans every row.
45
+ Rows come newest first, ties broken by id, so a page boundary never skips or repeats a row.
46
+
47
+ ### Behaviour behind unchanged schemas
48
+
49
+ - **`list_signal_logs` naming only `signalSource`** now narrows by it; it used to return every source.
50
+
51
+ ## Contract history — v112 (one input name per identity)
52
+
53
+ **Breaking at v112: three input names retire.** v112 is the contract on top of v111.1. Reconnect the proxy, or restart
54
+ it, so discovery reads the new schemas.
55
+
56
+ ### Rejected input — something you send is no longer accepted
57
+
58
+ - **`symbol` on `get_regime_snapshot` and `get_regime_history`** — send `coinTicker` (default `BTC`).
59
+ - **`ticker` on `get_coin_candles` and `get_coin_performance_history`** — send `coinTicker`.
60
+ - **`marketGridSessionId` on `list_session_agent_positions`** — send `sessionId`.
61
+
62
+ Each retired name is refused as an unrecognised key naming it; nothing translates it. Responses keep `symbol` and
63
+ `marketGridSessionId` where they published them.
64
+ - **An unknown coin on two filters.** `list_entry_decisions`' `coinTicker` and the public-profile `filter.coinTicker`
65
+ facet now resolve like every other coin input — `kPEPE` filters `PEPE`, any casing works — and an unknown coin is
66
+ refused naming `coinTicker` or `filter.coinTicker[i]`, where it used to answer an empty page.
67
+
68
+ ## Contract history — v111.1 (every read fits hosted Claude, and a large one says so)
69
+
70
+ **One refusal is added at v111.1; nothing you send is refused that was accepted.** v111.1 is the contract on top of
71
+ v111. Reconnect the proxy, or restart it, so discovery reads the new schemas and the new resource.
72
+
73
+ ### Refusal vocabulary
74
+
75
+ - **`RESULT_TOO_LARGE`.** A read-only tool whose result would serialize past the server's result-character cap
76
+ (at most 150,000, hosted Claude's tool-result cap) is refused whole, never cut, with details
77
+ `{ limit: "result_chars", actual, maximum }`. `get_market_context` (fewer `modules`), and `get_agent_journal`,
78
+ `list_gate_blocks` and `list_market_grid_sessions` (a smaller `limit`) add `nextAct: "narrow"`; a read with no
79
+ input that asks for less adds none. A tool that writes is never refused this way. The code also joins the draft
80
+ diagnostics' `code` enum.
81
+
82
+ ### Behaviour behind unchanged schemas
83
+
84
+ - **The server instructions are an index within 4,096 characters**, the length Claude reads: the rules every session
85
+ needs, then one routing line per workflow naming its entry tool and skills. The workflow cards move to the
86
+ `battlegrid://guide/workflows` resource, and the grid format stays in `battlegrid://reference/grid-format`.
87
+ - **Ten large reads declare `_meta["anthropic/maxResultSizeChars"]`** equal to the server's cap, so Claude Code keeps
88
+ their results in the conversation rather than moving them to a file.
89
+ - **Input schemas hold each reused or recursive shape once, under named `$defs`**, where they pointed into a sibling
90
+ property; they accept exactly what they accepted. No schema publishes `{ "not": {} }`, and four strategy outputs
91
+ stop publishing `conditionVerdicts`, a property no response carried.
92
+ - **Descriptions name their parameters instead of listing the members of an input enum**; the enum is the list.
93
+
27
94
  ## Contract history — v111 (the draft tools take their arguments at the top level)
28
95
 
29
96
  **Breaking at v111: every draft-lifecycle tool takes its id, `draftVersion` and payload as top-level
30
- arguments.** v111 is the contract on top of v110.12. Reconnect the proxy, or restart it, so discovery
97
+ arguments.** v111 is the contract on top of v110.13. Reconnect the proxy, or restart it, so discovery
31
98
  reads the new schemas.
32
99
 
33
100
  ### Rejected input — something you send is no longer accepted
@@ -3635,8 +3702,9 @@ you reach over MCP:
3635
3702
  > fails CI on a hand edit. Change the skill upstream and let the export lane bring it here.
3636
3703
 
3637
3704
  A client connected to BattleGrid's remote server directly receives its `initialize` instructions:
3638
- the rules that span tools and one routing card per workflow, each naming the `battlegrid-*` skill
3639
- above that holds the full procedure. This proxy does not relay those instructions; the skills
3705
+ the rules that span tools and one routing line per workflow, each naming the `battlegrid-*` skill
3706
+ above that holds the full procedure, with the workflow cards in the `battlegrid://guide/workflows`
3707
+ resource. This proxy does not relay those instructions; the skills
3640
3708
  installed beside it carry the same workflows.
3641
3709
 
3642
3710
  ## License
package/dist/index.d.ts CHANGED
@@ -48,7 +48,7 @@ import { type Implementation, type Prompt, type Resource } from '@modelcontextpr
48
48
  * being asked. Move it for a change to THIS package — a proxy fix, a dependency bump, a docs
49
49
  * correction. Never move it to track the server.
50
50
  */
51
- export declare const PACKAGE_VERSION = "31.2.109";
51
+ export declare const PACKAGE_VERSION = "31.2.112";
52
52
  export declare const DEFAULT_URL = "https://mcp.battlegrid.trade/mcp";
53
53
  export interface EnvConfig {
54
54
  apiKeys: string[];
package/dist/index.js CHANGED
@@ -51,7 +51,7 @@ import { ListToolsRequestSchema, CallToolRequestSchema, ListPromptsRequestSchema
51
51
  * being asked. Move it for a change to THIS package — a proxy fix, a dependency bump, a docs
52
52
  * correction. Never move it to track the server.
53
53
  */
54
- export const PACKAGE_VERSION = '31.2.109';
54
+ export const PACKAGE_VERSION = '31.2.112';
55
55
  export const DEFAULT_URL = 'https://mcp.battlegrid.trade/mcp';
56
56
  const MAX_RETRIES = 3;
57
57
  const RETRY_DELAYS_MS = [2000, 4000, 8000];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@battlegrid/mcp-server",
3
- "version": "31.2.109",
3
+ "version": "31.2.112",
4
4
  "description": "BattleGrid MCP server — play crypto prediction games from AI agents",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",