@battlegrid/mcp-server 31.2.81 → 31.2.83
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 +84 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -24,6 +24,90 @@ 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 (an agent on a radar cannot be archived)
|
|
28
|
+
|
|
29
|
+
**Breaking at v101: `archive_intelligence_agent` refuses an agent held in any radar deployment, and its
|
|
30
|
+
refusal names a fourth blocker.** v101 is the contract on top of v100.
|
|
31
|
+
|
|
32
|
+
### Narrowed acceptance — the same request, refused where it was accepted
|
|
33
|
+
|
|
34
|
+
- **`archive_intelligence_agent` refuses an agent that holds a slot in any radar deployment, paused ones
|
|
35
|
+
included.** The input schema is unchanged: a call that archived such an agent before now gets the
|
|
36
|
+
existing `CONFLICT`. A paused radar still holds its slots, so pausing does not clear it. Find the coins
|
|
37
|
+
with `list_radar_deployments`, then commit a radar draft without the agent or call
|
|
38
|
+
`delete_radar_deployment`, and archive again.
|
|
39
|
+
|
|
40
|
+
### Widened enum
|
|
41
|
+
|
|
42
|
+
- **`details.archiveBlockers[].reason` gains `RADAR_DEPLOYED`**, after `DEPLOYED`, `OPEN_TRADES` and
|
|
43
|
+
`ACTIVE_SESSION`. Its `detail` reads `in N radar deployment(s)`, counting every radar deployment that
|
|
44
|
+
holds the agent.
|
|
45
|
+
|
|
46
|
+
### Behaviour behind unchanged schemas
|
|
47
|
+
|
|
48
|
+
- An archived agent holds no deployment slot in either venue, so `activate_intelligence_agent` arms
|
|
49
|
+
nothing: the agent trades again only once you deploy it.
|
|
50
|
+
- A `commit_radar_deployment_draft` or `commit_deployment_policy_draft` that races an archive of one of its
|
|
51
|
+
agents is refused with the existing `CONFLICT`. Read the draft again; its diagnostics name the archived
|
|
52
|
+
agent.
|
|
53
|
+
|
|
54
|
+
A client that reads `archiveBlockers[].reason` as a closed set, or expects an archive of a radar-deployed
|
|
55
|
+
agent to succeed, breaks at v101 — hence the MAJOR.
|
|
56
|
+
|
|
57
|
+
## Contract history — v100 (what one bar did: level interaction, candle patterns, gaps, runs)
|
|
58
|
+
|
|
59
|
+
**Breaking at v100: the `bandTouch` transform is retired and `levelInteraction` takes its place; a column
|
|
60
|
+
gains a `buffer` knob; the catalog gains twelve bar-geometry metrics.** v100 is the contract on top of
|
|
61
|
+
v99.
|
|
62
|
+
|
|
63
|
+
### Rejected input — something you send is no longer accepted
|
|
64
|
+
|
|
65
|
+
- **A column naming `bandTouch` is refused** by every tool that takes a column — `stage_strategy_draft`,
|
|
66
|
+
`preview_strategy_report`, `derive_strategy_rule_view`, `get_strategy_column_contract` and
|
|
67
|
+
`get_metric_construction_hints` — as any unknown transform id is. Where you want "where the close sits
|
|
68
|
+
in the bands", read `BB_TOUCH × value`; where you want "what the bar's range did at a band", use
|
|
69
|
+
`levelInteraction` below.
|
|
70
|
+
|
|
71
|
+
### Widened input — something new you can send
|
|
72
|
+
|
|
73
|
+
- **`levelInteraction`** classifies the newest bar of a column against a price level as
|
|
74
|
+
`touch_from_below`, `touch_from_above`, `reject_from_below`, `reject_from_above` or `none`. The side is
|
|
75
|
+
where the prior close stood against the prior bar's level. A reject — the range pierced the level and
|
|
76
|
+
the close came back — reports reject, never touch, so "touched or rejected" is an `in` clause over both
|
|
77
|
+
labels of a side. A close through the level reads `none`: the break is `distance crossesAbove 0` (or
|
|
78
|
+
`crossesBelow 0`) over the same level.
|
|
79
|
+
- It is offered on a level with a value at both bars it reads: a candle-homed level (a band, `VWAP`, a
|
|
80
|
+
moving average, `ST_LINE`, `PSAR`, the Ichimoku lines) or a prior-session level or pivot (`PDH`,
|
|
81
|
+
`PDL`, `PDO`, the floor pivots, `PRIOR_TPO_*`). A prior-session level is a single read and takes no
|
|
82
|
+
hold. It is not offered on a price fact (`CLOSE`, `MARK`, `HLC3`), a developing-session level
|
|
83
|
+
(`TPO_*`), the naked points of control, or the Donchian rails.
|
|
84
|
+
- The header is `{code}_lvl` — `bbUpper_lvl`.
|
|
85
|
+
- **`buffer`**, a column knob declared by `levelInteraction` only: whole basis points of the level,
|
|
86
|
+
`0`–`500`, default `0`. Only a touch reads it. A non-zero buffer names the header (`bbUpper_lvl_b25`),
|
|
87
|
+
so two buffers are two columns. `buffer` on any other transform is refused as an undeclared parameter.
|
|
88
|
+
- **Twelve metrics**, all in the `price` family:
|
|
89
|
+
- candle patterns — `CANDLE_DOJI` (boolean), `CANDLE_PIN` (`lower_wick` / `upper_wick` / `none`),
|
|
90
|
+
`CANDLE_ENGULFING` (`bullish` / `bearish` / `none`), `BAR_CONTAINMENT` (`inside` / `outside` /
|
|
91
|
+
`none`), each judged against the ten bars before it at TA-Lib's default settings;
|
|
92
|
+
- gaps — `GAP` and `GAP_RANGE_CLEAR` (`up` / `down` / `none`) and `GAP_PCT`, the signed % from the
|
|
93
|
+
prior close to the open;
|
|
94
|
+
- run lengths — `CLOSE_RUN` and `CANDLE_RUN`, consecutive bars one way, capped at ±20;
|
|
95
|
+
- price sources — `HL2`, `HLC3`, `OHLC4`, price facts that take every transform a close takes
|
|
96
|
+
(`HLC3 × aggregate(20)` is the 20-bar SMA of typical price).
|
|
97
|
+
|
|
98
|
+
The patterns, gaps and runs compose `value` only, and none of the twelve is ranked.
|
|
99
|
+
|
|
100
|
+
### Reshaped output
|
|
101
|
+
|
|
102
|
+
- **`effectiveParameters` gains `buffer`** — the declared default `0` or your value on a
|
|
103
|
+
`levelInteraction` column, `null` where no transform in the chain declares it.
|
|
104
|
+
- A transform's authoring parameters may declare `buffer`, and the transform and section column-role
|
|
105
|
+
vocabularies read `levelInteraction` where they read `bandTouch`.
|
|
106
|
+
- The authoring contract digest's `metricKeys` gains the twelve keys.
|
|
107
|
+
|
|
108
|
+
A client that sends `bandTouch`, or reads `effectiveParameters` with a closed key set, breaks at v100 —
|
|
109
|
+
hence the MAJOR.
|
|
110
|
+
|
|
27
111
|
## Contract history — v99 (your arena entries are one owner-only history)
|
|
28
112
|
|
|
29
113
|
**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.
|
|
52
|
+
export declare const PACKAGE_VERSION = "31.2.83";
|
|
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.
|
|
55
|
+
export const PACKAGE_VERSION = '31.2.83';
|
|
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];
|