@battlegrid/mcp-server 31.2.19 → 31.2.21

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/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.19";
52
+ export declare const PACKAGE_VERSION = "31.2.21";
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.19';
55
+ export const PACKAGE_VERSION = '31.2.21';
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.19",
3
+ "version": "31.2.21",
4
4
  "description": "BattleGrid MCP server — play crypto prediction games from AI agents",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "generator": "battlegrid-app/server/scripts/export-mcp-skills.mjs",
3
- "contractVersion": "55.1.0",
3
+ "contractVersion": "55.2.0",
4
4
  "files": {
5
5
  "battlegrid-agent-management/SKILL.md": "b6ea75b3d838c1dbaaf3984d7e99a11c81686de2c1a1910c35699ee7e70dafa5",
6
6
  "battlegrid-arena-play/SKILL.md": "03fa153bf82be18bf5ed01e3ba12e2cd9f99a81b08d903a77b52169e7519a182",
@@ -8,7 +8,7 @@
8
8
  "battlegrid-radar-deployment/SKILL.md": "d2a012b154e1e529db19529bd7c3d75d069f4e410d5804add51165f0f0902b2e",
9
9
  "battlegrid-strategy-authoring/SKILL.md": "2a973a9e52832ab1e0d9bf1b6d21b8bf898899bc3a455fde223646a01e914242",
10
10
  "battlegrid-strategy-doctor/SKILL.md": "9ab3f79128ec81d3e90167c3f1ea4bd6f6b570290e5ebe2bf855195263c58239",
11
- "battlegrid-strategy-examples/SKILL.md": "6b7a882fedd4f63c083319ed2cd1e4354873d9dc70253217eb60ad3c23871c77",
11
+ "battlegrid-strategy-examples/SKILL.md": "5343cb1ec76a1b1f1b3caface886ee87526ecd0da159abf98f34cf2de1392c3e",
12
12
  "battlegrid-strategy-examples/references/playbooks.md": "35c543c090d00ba19e4bcf0a80502afac7a4954643fc535de0b24381c91ecbf4",
13
13
  "battlegrid-strategy-examples/references/recipes.md": "53887daece17995543e7d3fe1bf2577fc41a6254c291acacde48d7de63853641",
14
14
  "battlegrid-strategy-examples/references/tradingview-ports.md": "2b13adbc137178955edcca31b6ab40c01c745a932a0750b91db8820c736700bb",
@@ -91,10 +91,24 @@ required, no defaults. Clauses: numeric/rank headers take `lt|lte|gte|gt|between
91
91
  classification/direction headers take `is|in` with the served vocabulary. Groups:
92
92
  `ALL | ANY | NOT | N_OF` (with `n`), depth ≤ 2. `conditionRef` composes named conditions (no
93
93
  cycles; forward refs legal). `sectionKey: null` is sugar for a report-unique header only.
94
- Verdicts: first TRUE carrier **in declaration order** decides UP/DOWN/NEITHER — order carriers
95
- most-specific first; building blocks carry `null`. `required: true` = FALSE blocks compose-trade
96
- before billing. Evaluation is three-valued: UNRESOLVED never collapses to FALSE; forming-bar
97
- reads are provisional.
94
+ Verdicts: resolution is taken over the DISTINCT verdicts of the carriers that read TRUE. One
95
+ distinct verdict decides, and the first carrier in declaration order carrying it is named as the
96
+ decider — so order breaks ties between carriers that AGREE. Carriers that DISAGREE resolve
97
+ `NEITHER` and stand the coin aside; declaration order never picks a side between them. Building
98
+ blocks carry `null`.
99
+
100
+ **Two things block a trade, not one.** `required: true` = a FALSE reading blocks compose-trade
101
+ before billing. And the RESOLVED verdict binds entry DIRECTION: `UP` admits long setups only,
102
+ `DOWN` short only, and `NEITHER`/`UNRESOLVED` admit none — the refused side is absent from the
103
+ setups block and from the `decide_trade` contract, not merely discouraged in them. A strategy that
104
+ declares no verdict-carrying condition resolves `null` and constrains nothing.
105
+
106
+ A verdict carrier must read a SETTLED bar wherever one is available to it — `clock: "CLOSE"`
107
+ whenever every column it reads accepts a closed frame and every condition it references is itself
108
+ `CLOSE`. Where no closed frame moves its operands (a published regime label, an open-interest
109
+ regime), `LIVE` stays legal: there is no settled bar to take.
110
+
111
+ Evaluation is three-valued: UNRESOLVED never collapses to FALSE; forming-bar reads are provisional.
98
112
 
99
113
  **The evidence clock.** `clock: "LIVE"` reads the forming bar; `clock: "CLOSE"` reads settled
100
114
  bars, and `closes` is how many consecutive closed bars must read TRUE (1–5) — always `1` under