@battlegrid/mcp-server 32.0.37 → 32.0.38

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
@@ -38,6 +38,57 @@ Seeing package `31.x` alongside handshake `battlegrid@33.x` — the package **be
38
38
 
39
39
  **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.
40
40
 
41
+ ## Contract history — v136.1 (spot facts per bar: each venue's close and buy share, the composite's flow, and Bybit)
42
+
43
+ **Additive at v136.1: six metrics and a study, and served values move.** v136.1 is the contract on top of v136.
44
+ Nothing a client sends is refused that v136 accepted. Reconnect the proxy, or restart it, so discovery reads the widened
45
+ vocabulary.
46
+
47
+ ### Widened input — new metrics and a study
48
+
49
+ - **`SPOT_CLOSE_BYB`** (`bybClose`): Bybit's spot close, USDT-quoted, in the coin's own unit.
50
+ - **`BUY_PRES_CB`, `BUY_PRES_BN` and `BUY_PRES_BYB`** (`cbBuyPres`, `bnBuyPres`, `bybBuyPres`): each venue's buy share
51
+ of its spot volume in the bar's period (0–1), from the venue's taker sides.
52
+ - **`SPOT_AVG_TRADE`** (`spotAvgTrade`): the composite spot volume per trade. **`SPOT_DOMINANCE`** (`spotDom`): the
53
+ composite spot volume as a share of composite spot plus the bar's perp volume. Both are absent where a listed venue
54
+ did not cover the period.
55
+ - **The `spotFlow` study** joins the vocabulary and carries `SPOT_CVD` with them. The metric-key enum widens on every
56
+ input and output that carries it.
57
+
58
+ ### Widened construction — spot reads are per bar
59
+
60
+ - **`SPOT_CLOSE_CB`, `SPOT_CLOSE_BN` and `SPOT_CVD` read each bar's spot facts at the column's rung**, where they read
61
+ one value per frame, so each takes a trajectory and a relational operand: `CLOSE × spread(SPOT_CLOSE_CB)` →
62
+ `trajectory` constructs.
63
+ - **A composite read** (`SPOT_AVG_TRADE`, `SPOT_DOMINANCE`, `SPOT_CVD`) reads completed bars only, and its column says
64
+ so.
65
+ - **The per-venue buy shares and `SPOT_DOMINANCE` rank exchange-wide**, as do five declared venue spreads:
66
+ `SPOT_CLOSE_CB × spread(SPOT_CLOSE_BN)`, `CLOSE × spread(SPOT_CLOSE_CB)`, `CLOSE × spread(SPOT_CLOSE_BN)`,
67
+ `CLOSE × spread(SPOT_CLOSE_BYB)` and `BUY_PRES_CB × spread(BUY_PRES_BN)`.
68
+
69
+ ### Widened output enum
70
+
71
+ - **`BarFamily` gains `SPOT_COMPOSITE`** on every output that names the family of an input a decision waited on or
72
+ missed: a decision's spot read stands on the coin's composite at its due bar. A coin whose data profile withholds the
73
+ spot tape stands its spot conditions on its own bar, so they decide `INSTRUMENT` rather than wait.
74
+
75
+ ### Changed values — the same schema serves a different number
76
+
77
+ - **A venue close reads the column rung's bar close**, where it read the newest `1m` close within 15 minutes.
78
+ Confirmed reads the closed bar's close; Developing reads the venue's forming bar, absent once it is older than the
79
+ coin's spot-tape freshness target; a venue that did not cover the period reads null.
80
+ - **`SPOT_CVD`'s `value` is the same number at the anchor.** Its `trajectory` and `efficiency` read per-bar values at
81
+ the rung where they read `1m` samples; a thousand-unit ticker such as `kPEPE` reads in its own unit (÷1000); and a
82
+ span every listed venue covered without a trade reads `0` where it read null.
83
+ - **`PERP_SPOT_*` read the composite `cvd` at the two newest closed anchor bars**, both halves on one clock.
84
+ - **No perp metric, settled indicator or stored header moves**; `cbClose_bnClose_spread` keeps its header.
85
+ `toolCount` stays 149.
86
+
87
+ ### Digest move
88
+
89
+ - **`vocabularyDigest` and the authoring catalog digest move** with the six metrics and the study. A client caching
90
+ vocabulary against either re-reads `list_strategy_vocabulary`.
91
+
41
92
  ## Contract history — v136 (one ranked universe: rank within a category, select coins by a ranked metric)
42
93
 
43
94
  **Breaking at v136: `get_top_ranked_coins` is retired, and one value moves.** v136 is the contract on top of v135.2.
package/dist/index.d.ts CHANGED
@@ -47,7 +47,7 @@ import { Client, StreamableHTTPClientTransport } from '@modelcontextprotocol/cli
47
47
  * being asked. Move it for a change to THIS package — a proxy fix, a dependency bump, a docs
48
48
  * correction. Never move it to track the server.
49
49
  */
50
- export declare const PACKAGE_VERSION = "32.0.37";
50
+ export declare const PACKAGE_VERSION = "32.0.38";
51
51
  export declare const DEFAULT_URL = "https://mcp.battlegrid.trade/mcp";
52
52
  export interface EnvConfig {
53
53
  apiKeys: string[];
package/dist/index.js CHANGED
@@ -49,7 +49,7 @@ import { Client, SdkHttpError, StreamableHTTPClientTransport } from '@modelconte
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 const PACKAGE_VERSION = '32.0.37';
52
+ export const PACKAGE_VERSION = '32.0.38';
53
53
  export const DEFAULT_URL = 'https://mcp.battlegrid.trade/mcp';
54
54
  const MAX_RETRIES = 3;
55
55
  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": "32.0.37",
3
+ "version": "32.0.38",
4
4
  "description": "BattleGrid MCP server — play crypto prediction games from AI agents",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",