@battlegrid/mcp-server 31.2.2 → 31.2.4

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,7 +24,7 @@ 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 — v37 → v49.3
27
+ ## Contract history — v37 → v49.5
28
28
 
29
29
  Eleven majors reached authors while this section stopped at v36. That gap is the mechanism, not an
30
30
  oversight: since v31 a contract move needs no release here, so nothing forced a note to be written —
@@ -37,7 +37,7 @@ package.
37
37
  Nothing to migrate. This is the one direction that cannot break a client: a body the server used to
38
38
  refuse is now stored. Listed because a client that special-cased the refusal can delete that branch.
39
39
 
40
- - **An arming trigger no longer constrains its required conditions' clock** (49.2.0,
40
+ - **An arming trigger no longer constrains its required conditions' clock** (49.4.0,
41
41
  `restore-arming-trigger-authoring`). `compile_strategy_plan`, `apply_strategy_plan` and
42
42
  `fork_strategy` accept a strategy whose entry trigger is `ON_CANDLE_CLOSE`, `STOP_THROUGH_LEVEL`
43
43
  or `ON_RETEST` **while a required condition reads the `LIVE` clock**. v48.1 announced that pairing
@@ -179,7 +179,7 @@ refuse is now stored. Listed because a client that special-cased the refusal can
179
179
 
180
180
  ### Reshaped output — the same call returns a different shape
181
181
 
182
- - **An entry void now names the gate that refused it** (49.3.0,
182
+ - **An entry void now names the gate that refused it** (49.5.0,
183
183
  `fix-arming-trigger-clock-authority`), on `get_radar_activity_summary`. In the cause rollup, the
184
184
  `ENTRY_VOID` group's `gateCode` widens from always-`null` to `QualificationGateCode | null`: a
185
185
  conditions-side void carries the gate that blocked — `AGGREGATE_BELOW_MIN`,
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.2";
52
+ export declare const PACKAGE_VERSION = "31.2.4";
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.2';
55
+ export const PACKAGE_VERSION = '31.2.4';
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.2",
3
+ "version": "31.2.4",
4
4
  "description": "BattleGrid MCP server — play crypto prediction games from AI agents",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -34,11 +34,14 @@ ladder successor — 1d for a 4h anchor), pinned `{ "abs": "<tf>" }` → `_<tf>`
34
34
  Pins bind to discovery's `rankedTimeframes` (a superset of the anchor set), are fixed across
35
35
  anchor retunes, and `offset` does not change the header — one offset per `metric × timeframe`
36
36
  per section. `offset` is a `value`-transform parameter only: `distance` rejects it (typed
37
- error), so a level is always measured as it stands now — the literal *previous-day* high/low
38
- (PDH/PDL) is not addressable, and the daily swing levels (`zone_1d`, `dist_swingHi_1d`) are
39
- the named nearest level for daily-breakout intents. Conditions compare a column against a
40
- literal, never against another column. Rank ordering semantics: `hi` most positive, `lo` most
41
- negative, `far`/`near` by magnitude (offered only where sign matters).
37
+ error), so a level is always measured as it stands now. That is a statement about `offset`, not
38
+ about prior-day levels: `PDH`/`PDL` are published structure metrics at the daily anchor and take
39
+ `distance` and `crossDetect`, so the literal previous-session extreme is authored as
40
+ `dist_PDH_1d` rather than reconstructed from an offset. The daily *swing* levels (`zone_1d`,
41
+ `dist_swingHi_1d`) are the tracked pivot — a different level, not a substitute. Conditions
42
+ compare a column against a literal, never against another column. Rank ordering semantics:
43
+ `hi` most positive, `lo` most negative, `far`/`near` by magnitude (offered only where sign
44
+ matters).
42
45
 
43
46
  ## Condition patterns
44
47
 
@@ -182,10 +182,11 @@ in rules (its own params define the break). Turtle exits are the trend preset: s
182
182
  ATR, RR 2+, trail from 1R with giveback 50, no time decay. Mirror with `"breakdown low"` /
183
183
  `dist_swingLo` / `sr_support_break` for shorts. **Daily variant on any anchor:** pin the same
184
184
  structure at 1d — `zone_1d is "breakout high"`, `dist_swingHi_1d gte 0` (both validated) —
185
- which is the studio's daily-breakout condition. Note the substitution: the level is the
186
- tracked *daily swing* pivot, not the literal previous-day high — `distance` takes no `offset`
187
- and clauses never compare two columns, so PDH/PDL as exact levels are not addressable (see
188
- the not-expressible table).
185
+ which is the studio's daily-breakout condition. That pins the tracked *daily swing* pivot. For
186
+ the literal previous-session extreme instead, author `PDH`/`PDL` directly — both are native
187
+ structure metrics at the daily anchor, and both take `distance` and `crossDetect`, so
188
+ `dist_PDH_1d gte 0` or a `crossDetect` on `PDH` expresses the prior-day break exactly. Pick by
189
+ which level the source actually means; neither is a substitution for the other.
189
190
 
190
191
  ## 9 · ICT / Smart Money Concepts: FVG + Order Blocks — 15m/1h
191
192