@battlegrid/mcp-server 31.2.75 → 31.2.77

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,60 @@ 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 — v94 (every value you read names the bar it came from)
28
+
29
+ **Breaking at v94: a timeless metric refuses an `offset`, and a value with no reading on its bar reads absent
30
+ instead of an older bar's.** v94 is the contract on top of v93. A column reads the bar it names, or nothing.
31
+
32
+ ### Rejected input — something you send is no longer accepted
33
+
34
+ - A `value` column over a timeless metric — one `get_strategy_column_contract` serves with `timeframeMode`
35
+ `"timeless"`: funding, the regime, the previous-session levels and the other bundle reads — with `offset` above
36
+ `0` is refused at construction (`VALIDATION_ERROR`, authoring code `REPORT_COLUMN_CONSTRUCTION_FAILED`) by every
37
+ tool that builds a report column, the strategy and agent draft tools and `preview_strategy_report` among them. It
38
+ used to be accepted and ignored. Drop the offset: a timeless metric has no earlier bar.
39
+
40
+ ### Changed values — the same fields, read at a named bar
41
+
42
+ - A **trajectory**, **zone**, **state** or **cross** value whose current bar holds no reading is now absent,
43
+ instead of the newest older bar's value. A trajectory's slots keep a missing bar as an empty slot, in place.
44
+ - A window — a trajectory's, `efficiency`'s, `maxShare`'s — counts the newest bars, present or not.
45
+ - A candle **label** column at `offset N` reads bar t−N's label; it used to read the latest.
46
+ - On a decided bar, a condition over a **published change** (`chg5m` … `chg24h`) or **`oiRegime`** reads
47
+ unresolved, and a condition over a **higher-timeframe column** reads unresolved during that bar's close lag.
48
+
49
+ ### Behaviour behind unchanged schemas
50
+
51
+ - An Arena deployment that routes on the regime reads **`WARMING`** while its regime bar is landing — the regime
52
+ for the bar the clock just closed is not published yet — and plays nothing, its default slot included. Generating,
53
+ submitting or updating a grid for an agent on such a deployment is refused with `SERVICE_UNAVAILABLE` in those
54
+ seconds; retry.
55
+
56
+ Something read at v93 reads absent at v94, and an input v93 accepted is refused — hence the MAJOR.
57
+
58
+ ## Contract history — v93 (a trajectory reads at least two observations)
59
+
60
+ **Breaking at v93: a trajectory column below two observations is refused.** v93 is the contract on top of v92.
61
+ Nothing in a schema moves.
62
+
63
+ ### Rejected input — something you send is no longer accepted
64
+
65
+ - A custom column `{ transformId: "trajectory", window: 1 }`, plain or as the chained outer of
66
+ `distance × trajectory`, for any metric: `stage_strategy_draft` reports `REPORT_COLUMN_CONSTRUCTION_FAILED`
67
+ in its diagnostics, naming the minimum, `commit_strategy_draft` refuses it, and `preview_strategy_report`
68
+ refuses a report carrying one with the same error. A window of one has no build-up, and its trend compared a
69
+ reading with itself, so it read `flat` for every coin on every bar. The trajectory's served `window`
70
+ description states the minimum.
71
+
72
+ ### Changed values
73
+
74
+ - The CVD section renders its buy-pressure, buy-trade and sell-trade columns as window-4 trajectories —
75
+ `_t3`, `_t2`, `_t1`, `_now`, `_trend` each — and every `_now` keeps its value. Their `_trend` cells read a
76
+ direction where they read `flat`, and the CVD-crowd convergence classifies from that buy-pressure column, so
77
+ `captainConf` can read `true` and `conf` can read `high`.
78
+
79
+ Something accepted at v92 is refused at v93 — hence the MAJOR.
80
+
27
81
  ## Contract history — v92 (every section you read is the JSON the agent reads)
28
82
 
29
83
  **Breaking at v92: the section fields are reshaped, the report preview's default narrows, and its size is measured
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.75";
52
+ export declare const PACKAGE_VERSION = "31.2.77";
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.75';
55
+ export const PACKAGE_VERSION = '31.2.77';
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.75",
3
+ "version": "31.2.77",
4
4
  "description": "BattleGrid MCP server — play crypto prediction games from AI agents",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",