@battlegrid/mcp-server 31.2.82 → 31.2.85

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,68 @@ 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 — v101.1 (swing highs, swing lows and the structure label)
28
+
29
+ **Additive at v101.1: the catalog gains three swing-structure metrics.** v101.1 is the contract on top of
30
+ v101; nothing you send today is refused and nothing you read is reshaped.
31
+
32
+ ### Widened input — something new you can send
33
+
34
+ - **`SWING_FRACTAL_HIGH` and `SWING_FRACTAL_LOW`** — the most recent swing high and swing low: a bar
35
+ whose high is at or above the two highs before it and strictly above the two after it (Pine's
36
+ `ta.pivothigh(2, 2)` tie rule), and the mirror on the lows. A swing is published from the bar that
37
+ completes its right side — never under its own bar, never from a forming bar — and held until the
38
+ next swing on its side. They are candle price levels: every transform a candle level takes,
39
+ `levelInteraction` included, and they rank across the board as `dist_fractalHi` / `dist_fractalLo`.
40
+ - **`SWING_FRACTAL_LABEL`** — the most recent swing against the previous one on its side: `HH` / `LH` for
41
+ a high (an equal high is `LH`), `HL` / `LL` for a low (an equal low is `HL`), `none` when no comparable
42
+ pair is in reach. A held state, value-only; on too short a history it reads nothing.
43
+ - **Break of structure** is `dist_fractalHi crossesAbove 0` / `dist_fractalLo crossesBelow 0`; a step of
44
+ the level onto a newly confirmed swing never fires it.
45
+
46
+ ### Widened output
47
+
48
+ - The catalog and vocabulary surfaces list the three keys, and the authoring digest's `metricKeys` gains
49
+ them.
50
+
51
+ ### Still refused
52
+
53
+ - The headers are `fractalHi` / `fractalLo` / `fractalLabel`. The `swingHi` / `swingLo` stems retired at
54
+ v53 (the Donchian channel's old names) stay refused: `dist_swingHi` is still `CONDITION_COLUMN_UNKNOWN`.
55
+
56
+ A client that treats the metric vocabulary as a closed set re-reads it; no request is refused — hence
57
+ the MINOR.
58
+
59
+ ## Contract history — v101 (an agent on a radar cannot be archived)
60
+
61
+ **Breaking at v101: `archive_intelligence_agent` refuses an agent held in any radar deployment, and its
62
+ refusal names a fourth blocker.** v101 is the contract on top of v100.
63
+
64
+ ### Narrowed acceptance — the same request, refused where it was accepted
65
+
66
+ - **`archive_intelligence_agent` refuses an agent that holds a slot in any radar deployment, paused ones
67
+ included.** The input schema is unchanged: a call that archived such an agent before now gets the
68
+ existing `CONFLICT`. A paused radar still holds its slots, so pausing does not clear it. Find the coins
69
+ with `list_radar_deployments`, then commit a radar draft without the agent or call
70
+ `delete_radar_deployment`, and archive again.
71
+
72
+ ### Widened enum
73
+
74
+ - **`details.archiveBlockers[].reason` gains `RADAR_DEPLOYED`**, after `DEPLOYED`, `OPEN_TRADES` and
75
+ `ACTIVE_SESSION`. Its `detail` reads `in N radar deployment(s)`, counting every radar deployment that
76
+ holds the agent.
77
+
78
+ ### Behaviour behind unchanged schemas
79
+
80
+ - An archived agent holds no deployment slot in either venue, so `activate_intelligence_agent` arms
81
+ nothing: the agent trades again only once you deploy it.
82
+ - A `commit_radar_deployment_draft` or `commit_deployment_policy_draft` that races an archive of one of its
83
+ agents is refused with the existing `CONFLICT`. Read the draft again; its diagnostics name the archived
84
+ agent.
85
+
86
+ A client that reads `archiveBlockers[].reason` as a closed set, or expects an archive of a radar-deployed
87
+ agent to succeed, breaks at v101 — hence the MAJOR.
88
+
27
89
  ## Contract history — v100 (what one bar did: level interaction, candle patterns, gaps, runs)
28
90
 
29
91
  **Breaking at v100: the `bandTouch` transform is retired and `levelInteraction` takes its place; a column
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.82";
52
+ export declare const PACKAGE_VERSION = "31.2.85";
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.82';
55
+ export const PACKAGE_VERSION = '31.2.85';
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.82",
3
+ "version": "31.2.85",
4
4
  "description": "BattleGrid MCP server — play crypto prediction games from AI agents",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",