@battlegrid/mcp-server 31.2.41 → 31.2.42

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,6 +24,55 @@ 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 — v65
28
+
29
+ **Breaking on one input, and four refusals behind unchanged schemas.** Agent staging now names the
30
+ draft version its proposal was read against, and three commits and one stage step aside where they
31
+ would otherwise land around the player's open draft or on a strategy that moved.
32
+
33
+ ### Rejected input — something you send is no longer accepted
34
+
35
+ - **`stage_agent_draft` requires `draftVersion`**, an integer ≥ 0: the `version` the
36
+ `get_agent_draft` read you proposed against returned, or `0` when it returned `{ draft: null }`.
37
+ A call that omits it, or sends a negative or fractional number, is refused at the boundary. On a
38
+ new create draft send `0`, then reuse the `version` each accepted call returns.
39
+
40
+ ### Refusals worth knowing before you stage or commit
41
+
42
+ - **A `draftVersion` above the draft's own is refused.** A draft's version only grows, so no read
43
+ ever returned it: the draft you read was saved or discarded since. Read again — never raise the
44
+ number to get past the refusal.
45
+
46
+ - **The contested-axis refusal is measured from your `draftVersion`**, not from a read the call
47
+ makes for itself, so an edit the player made between your read and your stage is refused by name
48
+ rather than silently overwritten.
49
+
50
+ - **`update_strategy_signal_rule` and `restore_strategy` answer `CONFLICT` while the player holds a
51
+ draft of that strategy.** Compile the tune and stage it with `stage_strategy_plan`; for a restore,
52
+ ask the player to save or discard their draft first. A caller whose player holds no draft is
53
+ unaffected.
54
+
55
+ - **`stage_strategy_plan` refuses a plan the strategy committed past** after the plan compiled,
56
+ with the same answer `apply_strategy_plan` gives: compile again against what is committed now.
57
+
58
+ - **Every refusal around an open draft names its version** in `details.draftVersion` — the
59
+ committers above, the agent committers, and a stage refused for a version above the draft's own —
60
+ so you can read the draft the player holds and propose against it.
61
+
62
+ ### Changed meaning, unchanged shape
63
+
64
+ - **A draft axis's `source` names the door it came through.** A Telegram Commander turn stamps
65
+ `telegram` and a connected client stamps `mcp`, where every staging call used to stamp
66
+ `commander`. Both values were already in the enum.
67
+
68
+ - **A draft's `version` keeps counting after a save or discard empties it.** The next draft for the
69
+ same agent or strategy starts above the last version rather than at `1`, so a version you read is
70
+ never reissued to a different draft.
71
+
72
+ ### Vocabulary
73
+
74
+ `toolCount` stays 126. One input schema moves, `stage_agent_draft`'s; no output schema moves.
75
+
27
76
  ## Contract history — v64.1
28
77
 
29
78
  Purely additive in schema, with **one refusal behind an unchanged one.** An agent's unsaved
package/dist/index.d.ts CHANGED
@@ -49,7 +49,7 @@ import { type Implementation, type Prompt, type Resource } from '@modelcontextpr
49
49
  * being asked. Move it for a change to THIS package — a proxy fix, a dependency bump, a docs
50
50
  * correction. Never move it to track the server.
51
51
  */
52
- export declare const PACKAGE_VERSION = "31.2.41";
52
+ export declare const PACKAGE_VERSION = "31.2.42";
53
53
  export declare const DEFAULT_URL = "https://mcp.battlegrid.trade/mcp";
54
54
  export interface EnvConfig {
55
55
  apiKeys: string[];
package/dist/index.js CHANGED
@@ -52,7 +52,7 @@ import { ListToolsRequestSchema, CallToolRequestSchema, ListPromptsRequestSchema
52
52
  * being asked. Move it for a change to THIS package — a proxy fix, a dependency bump, a docs
53
53
  * correction. Never move it to track the server.
54
54
  */
55
- export const PACKAGE_VERSION = '31.2.41';
55
+ export const PACKAGE_VERSION = '31.2.42';
56
56
  export const DEFAULT_URL = 'https://mcp.battlegrid.trade/mcp';
57
57
  const MAX_RETRIES = 3;
58
58
  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.41",
3
+ "version": "31.2.42",
4
4
  "description": "BattleGrid MCP server — play crypto prediction games from AI agents",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",