@battlegrid/mcp-server 31.2.48 → 31.2.50
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 +104 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/skills/EXPORT.json +2 -2
- package/skills/battlegrid-radar-deployment/SKILL.md +1 -1
package/README.md
CHANGED
|
@@ -24,6 +24,110 @@ 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 — v68.1 (Arena regime sets)
|
|
28
|
+
|
|
29
|
+
Purely additive in schema, with **one refusal behind unchanged ones.** An Arena rule's regime condition
|
|
30
|
+
is a SET in the draft, as it always was in the committed deployment: one rule can fire in several
|
|
31
|
+
regimes, instead of one rule per regime.
|
|
32
|
+
|
|
33
|
+
### Wider input — `stage_deployment_policy_draft`
|
|
34
|
+
|
|
35
|
+
- **A rule's `regimes` may name several regimes**, where the draft capped it at one. The set is stored in
|
|
36
|
+
the selectable-regime order, so a staged `[VOLATILE, BULL_EXPANSION]` reads back
|
|
37
|
+
`[BULL_EXPANSION, VOLATILE]`. A regime named twice is refused.
|
|
38
|
+
|
|
39
|
+
### Wider output — `get_deployment_policy_draft`
|
|
40
|
+
|
|
41
|
+
- **The draft may return such a set.** `get_deployment_policy` has served sets all along, so a client that
|
|
42
|
+
reads a committed deployment already handles them.
|
|
43
|
+
|
|
44
|
+
### Refusals behind unchanged schemas
|
|
45
|
+
|
|
46
|
+
- **`preview_deployment_resolution` (SLOTS), `preview_radar_resolution` (SLOTS) and
|
|
47
|
+
`test_generate_deployment_grid` refuse a regime condition naming one regime twice**, as
|
|
48
|
+
`VALIDATION_ERROR` at its `regimes` field, where they used to resolve or generate over it. The stage tools
|
|
49
|
+
already refused a repeat, so no commit changes; a repeated member is a malformed set.
|
|
50
|
+
|
|
51
|
+
## Contract history — v68 (Arena drafts)
|
|
52
|
+
|
|
53
|
+
**Breaking: one tool retired, two inputs reshaped.** Arena deployment content now commits only as a
|
|
54
|
+
draft the player was shown a live preview of, as radar content has since v66. The player's deploy
|
|
55
|
+
editor and every conversation share one unsaved draft per arena.
|
|
56
|
+
|
|
57
|
+
### Removed tool — something you call no longer exists
|
|
58
|
+
|
|
59
|
+
- **`upsert_deployment_policy` is retired**, with no alias. Calling it is an unknown-tool error. To
|
|
60
|
+
deploy or change an arena's deployment:
|
|
61
|
+
1. `stage_deployment_policy_draft` the axes you are changing (`RULES`, `DEFAULT_SLOT`,
|
|
62
|
+
`REGIME_ANCHOR`), with the `draftVersion` your last read returned;
|
|
63
|
+
2. `preview_deployment_resolution` with `request: { kind: "DRAFT", draftVersion }` at the version
|
|
64
|
+
staging returned;
|
|
65
|
+
3. show the player the resolution and whether it will play (`enabledAfterCommit`), and on their word
|
|
66
|
+
call `commit_deployment_policy_draft` with the `previewToken` that preview returned and
|
|
67
|
+
`confirm: true`.
|
|
68
|
+
|
|
69
|
+
Pausing is no longer a flag on the write: use `pause_deployment_policy`. **A first deployment always
|
|
70
|
+
plays**; a replacement keeps its pause.
|
|
71
|
+
|
|
72
|
+
### Rejected input — something you send is no longer accepted
|
|
73
|
+
|
|
74
|
+
- **`preview_deployment_resolution`'s `request` needs a `kind`.** `{ kind: "SLOTS", slots, … }` is the
|
|
75
|
+
old request. `{ kind: "DRAFT", draftVersion }` previews the player's draft of the arena at that
|
|
76
|
+
version, composed over the deployed policy exactly as the commit writes it. `{ kind: "COMMITTED" }`
|
|
77
|
+
previews the deployed policy a resume would arm. A request without `kind` is refused.
|
|
78
|
+
- **`delete_deployment_policy` requires `expectedPolicyId`** beside `expectedRevision`: a revision
|
|
79
|
+
restarts at 1 when an arena is redeployed, so only the pair names the deployment you read.
|
|
80
|
+
- **A regime anchor override names its coin and timeframe together, or neither**, on every path
|
|
81
|
+
including `test_generate_deployment_grid` and the SLOTS preview.
|
|
82
|
+
|
|
83
|
+
### Wider surface — eight tools added
|
|
84
|
+
|
|
85
|
+
- **`stage_deployment_policy_draft`**, **`get_deployment_policy_draft`**,
|
|
86
|
+
**`list_deployment_policy_drafts`** and **`discard_deployment_policy_draft`** (`mcp:read`). None of
|
|
87
|
+
them commits or arms anything.
|
|
88
|
+
- **`commit_deployment_policy_draft`** (`presetId`, `previewToken`, `confirm: true`; `mcp:wager`) — the
|
|
89
|
+
only MCP committer of Arena content.
|
|
90
|
+
- **`pause_deployment_policy`** (`presetId`; `mcp:wager`) — no revision and no certificate.
|
|
91
|
+
- **`resume_deployment_policy`** (`presetId`, `previewToken`, `confirm: true`; `mcp:wager`) — needs the
|
|
92
|
+
certificate a live `COMMITTED` preview returned.
|
|
93
|
+
- **`cancel_market_grid_submission`** (`sessionId`, `confirm: true`; `mcp:wager`) — the player's own
|
|
94
|
+
cancellation and refund of one entry.
|
|
95
|
+
|
|
96
|
+
### Reshaped and wider output
|
|
97
|
+
|
|
98
|
+
- **`preview_deployment_resolution`** nests the resolution under `resolution` and gains
|
|
99
|
+
**`previewToken`** (the certificate a live DRAFT or COMMITTED preview earns, null otherwise, good for
|
|
100
|
+
five minutes) and **`enabledAfterCommit`**.
|
|
101
|
+
- **`pause_deployment_policy` and `delete_deployment_policy` return `openEntries`**: the entries the
|
|
102
|
+
player's agent already made in the arena's pending sessions, each with its lock time and entry fee.
|
|
103
|
+
They play out unless the player cancels them — tell the player and ask, then call
|
|
104
|
+
`cancel_market_grid_submission` only for the entries they pick.
|
|
105
|
+
- **`get_deployment_policy`'s `authoringContext`** gains the arena's header facts
|
|
106
|
+
(`regimeReferenceTicker`, `presetBadgeImageUrl`, `entryFee`, and `playerCount` — null when the arena
|
|
107
|
+
has no pending session to count).
|
|
108
|
+
- The thought-log **`outcome`** gains **`SKIPPED_DEPLOYMENT_DISARMED`**: an entry job that found its
|
|
109
|
+
deployment withdrawn, paused or no longer slotting its agent stood down before paying.
|
|
110
|
+
|
|
111
|
+
### Refusals worth knowing before you commit or resume
|
|
112
|
+
|
|
113
|
+
- **The certificate is bound to what you previewed**: your credential, the player, the arena, the
|
|
114
|
+
subject, the deployment and its revision, the draft version and the composed content. Anything that
|
|
115
|
+
moves is a `CONFLICT` and nothing is written. Preview again; never reuse the old certificate.
|
|
116
|
+
- **A commit never withdraws**: a draft with no rule and no catch-all is refused, naming
|
|
117
|
+
`delete_deployment_policy`.
|
|
118
|
+
- **Resume is refused on a retired arena and on one the player's access was revoked from**; pausing and
|
|
119
|
+
withdrawing stay open.
|
|
120
|
+
- **Deployment refusals answer `INVALID_DEPLOYMENT_POLICY`.**
|
|
121
|
+
- **`delete_deployment_policy` also ends the player's draft of the arena.**
|
|
122
|
+
|
|
123
|
+
### Vocabulary
|
|
124
|
+
|
|
125
|
+
`toolCount` goes 134 → 141 (eight added, one retired). `preview_deployment_resolution`'s input and
|
|
126
|
+
output, `delete_deployment_policy`'s input and output, `get_deployment_policy`'s and
|
|
127
|
+
`list_deployment_policies`' outputs, the three journal outputs and `test_generate_deployment_grid`'s
|
|
128
|
+
input (a session start now accepts up to 288 times a day) move; `upsert_deployment_policy`'s are
|
|
129
|
+
removed.
|
|
130
|
+
|
|
27
131
|
## Contract history — v66.1 → v67
|
|
28
132
|
|
|
29
133
|
**Breaking at v67: four output fields removed.** v66.1 and v66.2 were additive and are recorded here
|
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.
|
|
52
|
+
export declare const PACKAGE_VERSION = "31.2.50";
|
|
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.
|
|
55
|
+
export const PACKAGE_VERSION = '31.2.50';
|
|
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
package/skills/EXPORT.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"generator": "battlegrid-app/server/scripts/export-mcp-skills.mjs",
|
|
3
|
-
"contractVersion": "68.
|
|
3
|
+
"contractVersion": "68.1.0",
|
|
4
4
|
"files": {
|
|
5
5
|
"battlegrid-agent-management/SKILL.md": "fbc602e9445d0f72353bfba23c30a364b478bd04a9cc6248418cfeec66717eb1",
|
|
6
6
|
"battlegrid-arena-play/SKILL.md": "4cfaa92a8d0dcaf477b227abd774e7aa8642c185d72108dfd401be0cf8aecd7f",
|
|
7
7
|
"battlegrid-market-analysis/SKILL.md": "22fde9c4eac0261c89a8056ab8b20b66fcbe1fd58447fa0ac84fd410b4d134d7",
|
|
8
|
-
"battlegrid-radar-deployment/SKILL.md": "
|
|
8
|
+
"battlegrid-radar-deployment/SKILL.md": "87601043eb3920faa153061e4ea93f4d8618dbdb8fe8c3be52b4e47ddba18d83",
|
|
9
9
|
"battlegrid-strategy-authoring/SKILL.md": "95e91dd1ff36922b7ed0f5eb92c98def98fa39cce37c3d7447269aea1b5a017f",
|
|
10
10
|
"battlegrid-strategy-doctor/SKILL.md": "d0b9e9e07648246d5a23b0c17183278b70b5bcbb5f472ac7da13d03e42a6c6c6",
|
|
11
11
|
"battlegrid-strategy-examples/SKILL.md": "17e8cf8040813622bd5b82165c7af82e03287fee1f6aac974e0b6c584580dd27",
|
|
@@ -84,7 +84,7 @@ it certifies nothing and cannot be committed.
|
|
|
84
84
|
|
|
85
85
|
1. `stage_deployment_policy_draft` with `draftVersion` = the `version` you read (0 when there was no
|
|
86
86
|
draft) and only the axes you are changing, each WHOLE: `RULES` (the complete ordered rule list —
|
|
87
|
-
first is highest priority
|
|
87
|
+
first is highest priority; a rule's regime condition names a set), `DEFAULT_SLOT` (the catch-all, or null for none)
|
|
88
88
|
and `REGIME_ANCHOR` (the anchor override, or null to inherit the arena's). Pausing is never staged.
|
|
89
89
|
2. `preview_deployment_resolution` with `request: { kind: "DRAFT", draftVersion }` at the version
|
|
90
90
|
staging returned.
|