@battlegrid/mcp-server 32.0.38 → 32.0.40

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,65 @@ 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 — v137.1 (a condition exit's evidence and slippage)
42
+
43
+ **Additive at v137.1: one owner output field, and one served value moves.** v137.1 is the contract on top of v137.
44
+ Nothing a client sends is refused that v137 accepted. Reconnect the proxy, or restart it, so discovery reads the widened
45
+ output.
46
+
47
+ ### Widened output — the bars behind a condition exit
48
+
49
+ - **`get_signal_log`'s `pipeline.outcome` carries `conditionExitEvidence`**: the evidence records of the exit rule named
50
+ by `closeTriggerConditionKey`, oldest firing first. Each names the condition, the strategy revision and the firing bar
51
+ (`timeframe`, `barStart`, `barCloseAt`), and each counted node of the firing condition — a clause's header or a held
52
+ group's operator — with its hold, its true count and every bar's open time, rendered value and outcome.
53
+ - **It is empty when `closeTriggerConditionKey` is null**: the position closed for another reason, or before evidence
54
+ was recorded. A firing that found the position already closed by its exchange stop is never served as the close's
55
+ evidence.
56
+ - **Owner and admin only.** The public signal-log reads never carry it; their outcome schema is strict and unchanged.
57
+
58
+ ### Changed values — the same schema serves a different number
59
+
60
+ - **`slippageExit` on a `CONDITION_EXIT` close** is the exit average fill less the close of the bar the exit rule fired
61
+ on, where it was null. Every other close kind is unchanged. `toolCount` stays 149.
62
+
63
+ ## Contract history — v137 (TradingView's indicator math, Stoch RSI %K/%D, and a spread in points)
64
+
65
+ **MAJOR at v137: one metric key is retired into two, a unit joins every unit enum, and served indicator values move to
66
+ TradingView's calculation.** v137 is the contract on top of v136.1. Reconnect the proxy, or restart it, so discovery
67
+ reads the new vocabulary.
68
+
69
+ ### Refused input — `STOCH_RSI14` is retired
70
+
71
+ - **`STOCH_RSI14` (`stochRSI14`, one 0–1 position) is replaced by `STOCH_RSI_K` and `STOCH_RSI_D`** (`stochRsiK`,
72
+ `stochRsiD`, study `stochRsi`): TradingView's Stoch RSI %K and %D (14, 14, 3, 3) on 0–100, with Stochastic %K's zone
73
+ vocabulary and rank ordering. A request naming `STOCH_RSI14` is refused. No stored strategy named it.
74
+
75
+ ### Widened output enum — the `points` unit
76
+
77
+ - **Every unit enum gains `points`**: a difference of two 0–100 or percent readings, rendered ` pts` with its natural
78
+ sign. A client validating responses against a cached schema refuses a `points` column until it re-reads discovery.
79
+
80
+ ### Changed values — the same schema serves a different number
81
+
82
+ - **DI+ and DI− read 0–100**, where they read a 0–1 ratio, so the regime's DI vote can clear its 5-point gate:
83
+ `REGIME_TREND_SOURCE` can read `di spread`. ADX follows TradingView's `ta.dmi` on ties and its seed.
84
+ - **The Ichimoku spans and lagging close sit one bar earlier**: TradingView's displacement 26, plotted 25 bars ahead.
85
+ - **Parabolic SAR follows TradingView's `ta.sar` on a flip.** %R, CCI, Stochastic and Stoch RSI read null over a flat
86
+ window, where they read a bound; Stochastic %D counts a %K of 0.
87
+ - **A `spread` over a comparable unit is a difference.** An oscillator, a percent, a ratio, a share, a count or a USD
88
+ notional reads `base − operand` in its difference unit (`points` for an oscillator or a percent), where it read the
89
+ signed % gap; a zero operand reads a value where it read null. A price-like base keeps the % gap. Sign rules (`gt 0`,
90
+ a cross of 0) keep their meaning.
91
+ - **`REGIME_DI_SPREAD` reads in `points` at 2 dp** and equals the `DIplus14_DIminus14_spread` column. It is no longer
92
+ offered a spread operand. The ranked `BUY_PRES_CB × spread(BUY_PRES_BN)` set ranks the difference its column reads.
93
+ `toolCount` stays 149.
94
+
95
+ ### Digest move
96
+
97
+ - **`vocabularyDigest` and the authoring catalog digest move.** A client caching vocabulary against either re-reads
98
+ `list_strategy_vocabulary`.
99
+
41
100
  ## Contract history — v136.1 (spot facts per bar: each venue's close and buy share, the composite's flow, and Bybit)
42
101
 
43
102
  **Additive at v136.1: six metrics and a study, and served values move.** v136.1 is the contract on top of v136.
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.38";
50
+ export declare const PACKAGE_VERSION = "32.0.40";
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.38';
52
+ export const PACKAGE_VERSION = '32.0.40';
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.38",
3
+ "version": "32.0.40",
4
4
  "description": "BattleGrid MCP server — play crypto prediction games from AI agents",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",