@battlegrid/mcp-server 31.2.81 → 31.2.82

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 — v100 (what one bar did: level interaction, candle patterns, gaps, runs)
28
+
29
+ **Breaking at v100: the `bandTouch` transform is retired and `levelInteraction` takes its place; a column
30
+ gains a `buffer` knob; the catalog gains twelve bar-geometry metrics.** v100 is the contract on top of
31
+ v99.
32
+
33
+ ### Rejected input — something you send is no longer accepted
34
+
35
+ - **A column naming `bandTouch` is refused** by every tool that takes a column — `stage_strategy_draft`,
36
+ `preview_strategy_report`, `derive_strategy_rule_view`, `get_strategy_column_contract` and
37
+ `get_metric_construction_hints` — as any unknown transform id is. Where you want "where the close sits
38
+ in the bands", read `BB_TOUCH × value`; where you want "what the bar's range did at a band", use
39
+ `levelInteraction` below.
40
+
41
+ ### Widened input — something new you can send
42
+
43
+ - **`levelInteraction`** classifies the newest bar of a column against a price level as
44
+ `touch_from_below`, `touch_from_above`, `reject_from_below`, `reject_from_above` or `none`. The side is
45
+ where the prior close stood against the prior bar's level. A reject — the range pierced the level and
46
+ the close came back — reports reject, never touch, so "touched or rejected" is an `in` clause over both
47
+ labels of a side. A close through the level reads `none`: the break is `distance crossesAbove 0` (or
48
+ `crossesBelow 0`) over the same level.
49
+ - It is offered on a level with a value at both bars it reads: a candle-homed level (a band, `VWAP`, a
50
+ moving average, `ST_LINE`, `PSAR`, the Ichimoku lines) or a prior-session level or pivot (`PDH`,
51
+ `PDL`, `PDO`, the floor pivots, `PRIOR_TPO_*`). A prior-session level is a single read and takes no
52
+ hold. It is not offered on a price fact (`CLOSE`, `MARK`, `HLC3`), a developing-session level
53
+ (`TPO_*`), the naked points of control, or the Donchian rails.
54
+ - The header is `{code}_lvl` — `bbUpper_lvl`.
55
+ - **`buffer`**, a column knob declared by `levelInteraction` only: whole basis points of the level,
56
+ `0`–`500`, default `0`. Only a touch reads it. A non-zero buffer names the header (`bbUpper_lvl_b25`),
57
+ so two buffers are two columns. `buffer` on any other transform is refused as an undeclared parameter.
58
+ - **Twelve metrics**, all in the `price` family:
59
+ - candle patterns — `CANDLE_DOJI` (boolean), `CANDLE_PIN` (`lower_wick` / `upper_wick` / `none`),
60
+ `CANDLE_ENGULFING` (`bullish` / `bearish` / `none`), `BAR_CONTAINMENT` (`inside` / `outside` /
61
+ `none`), each judged against the ten bars before it at TA-Lib's default settings;
62
+ - gaps — `GAP` and `GAP_RANGE_CLEAR` (`up` / `down` / `none`) and `GAP_PCT`, the signed % from the
63
+ prior close to the open;
64
+ - run lengths — `CLOSE_RUN` and `CANDLE_RUN`, consecutive bars one way, capped at ±20;
65
+ - price sources — `HL2`, `HLC3`, `OHLC4`, price facts that take every transform a close takes
66
+ (`HLC3 × aggregate(20)` is the 20-bar SMA of typical price).
67
+
68
+ The patterns, gaps and runs compose `value` only, and none of the twelve is ranked.
69
+
70
+ ### Reshaped output
71
+
72
+ - **`effectiveParameters` gains `buffer`** — the declared default `0` or your value on a
73
+ `levelInteraction` column, `null` where no transform in the chain declares it.
74
+ - A transform's authoring parameters may declare `buffer`, and the transform and section column-role
75
+ vocabularies read `levelInteraction` where they read `bandTouch`.
76
+ - The authoring contract digest's `metricKeys` gains the twelve keys.
77
+
78
+ A client that sends `bandTouch`, or reads `effectiveParameters` with a closed key set, breaks at v100 —
79
+ hence the MAJOR.
80
+
27
81
  ## Contract history — v99 (your arena entries are one owner-only history)
28
82
 
29
83
  **Breaking at v99: four tools are retired, two are added, and `get_agent_journal` loses a field.** v99 is
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.81";
52
+ export declare const PACKAGE_VERSION = "31.2.82";
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.81';
55
+ export const PACKAGE_VERSION = '31.2.82';
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.81",
3
+ "version": "31.2.82",
4
4
  "description": "BattleGrid MCP server — play crypto prediction games from AI agents",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",