@battlegrid/mcp-server 31.2.21 → 31.2.23
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/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.23";
|
|
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.23';
|
|
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
package/skills/EXPORT.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"generator": "battlegrid-app/server/scripts/export-mcp-skills.mjs",
|
|
3
|
-
"contractVersion": "
|
|
3
|
+
"contractVersion": "56.2.0",
|
|
4
4
|
"files": {
|
|
5
5
|
"battlegrid-agent-management/SKILL.md": "b6ea75b3d838c1dbaaf3984d7e99a11c81686de2c1a1910c35699ee7e70dafa5",
|
|
6
6
|
"battlegrid-arena-play/SKILL.md": "03fa153bf82be18bf5ed01e3ba12e2cd9f99a81b08d903a77b52169e7519a182",
|
|
7
7
|
"battlegrid-market-analysis/SKILL.md": "22fde9c4eac0261c89a8056ab8b20b66fcbe1fd58447fa0ac84fd410b4d134d7",
|
|
8
8
|
"battlegrid-radar-deployment/SKILL.md": "d2a012b154e1e529db19529bd7c3d75d069f4e410d5804add51165f0f0902b2e",
|
|
9
|
-
"battlegrid-strategy-authoring/SKILL.md": "
|
|
9
|
+
"battlegrid-strategy-authoring/SKILL.md": "1f1bf1ecfbf1a20d585a53e8f1ba8e9fbdeaa329cad9ebdc16ce6cac2b213358",
|
|
10
10
|
"battlegrid-strategy-doctor/SKILL.md": "9ab3f79128ec81d3e90167c3f1ea4bd6f6b570290e5ebe2bf855195263c58239",
|
|
11
|
-
"battlegrid-strategy-examples/SKILL.md": "
|
|
11
|
+
"battlegrid-strategy-examples/SKILL.md": "6f15da8b29a8aff15f6829d7ae87cbe74904bfe5372e37fe17d578cc0c289577",
|
|
12
12
|
"battlegrid-strategy-examples/references/playbooks.md": "35c543c090d00ba19e4bcf0a80502afac7a4954643fc535de0b24381c91ecbf4",
|
|
13
13
|
"battlegrid-strategy-examples/references/recipes.md": "53887daece17995543e7d3fe1bf2577fc41a6254c291acacde48d7de63853641",
|
|
14
14
|
"battlegrid-strategy-examples/references/tradingview-ports.md": "2b13adbc137178955edcca31b6ab40c01c745a932a0750b91db8820c736700bb",
|
|
@@ -187,6 +187,12 @@ point-in-time reading, and you say so.
|
|
|
187
187
|
|
|
188
188
|
### 6. Confirm, then apply
|
|
189
189
|
|
|
190
|
+
**In a conversation the Strategy Builder hosts, this section does not apply: compile and stop.**
|
|
191
|
+
The compiled plan lands on the player's rail as unsaved changes and their Review & save is the one
|
|
192
|
+
consent. Report that it is staged, name the axes, and present no apply confirmation — the server
|
|
193
|
+
refuses `apply_strategy_plan` from such a conversation as a tool error, so calling it spends an op
|
|
194
|
+
of your budget and commits nothing.
|
|
195
|
+
|
|
190
196
|
One confirmation carrying the plan's own `confirmationSummary`, offering Apply / Revise / Cancel.
|
|
191
197
|
|
|
192
198
|
On **Apply**, call `apply_strategy_plan` with two values and nothing else:
|
|
@@ -215,6 +221,12 @@ only authority on all of them; your job is to react to what it returns.
|
|
|
215
221
|
`fork_strategy`, `update_strategy_signal_rule`, `restore_strategy`, `archive_strategy` and
|
|
216
222
|
`preview_strategy_report` are part of this flow.
|
|
217
223
|
|
|
224
|
+
**In a builder-hosted conversation, three of those are refused at execution** —
|
|
225
|
+
`update_strategy_signal_rule`, `restore_strategy` and `archive_strategy`, alongside
|
|
226
|
+
`apply_strategy_plan` — because each commits a revision of the open strategy around the player's
|
|
227
|
+
save. `fork_strategy` stays available: it writes a DIFFERENT strategy, which is not the one the
|
|
228
|
+
builder owns. `preview_strategy_report` and every read stay available.
|
|
229
|
+
|
|
218
230
|
Before any destructive one, state the blast radius from the server's own fields and confirm it
|
|
219
231
|
with the player:
|
|
220
232
|
|
|
@@ -104,9 +104,12 @@ setups block and from the `decide_trade` contract, not merely discouraged in the
|
|
|
104
104
|
declares no verdict-carrying condition resolves `null` and constrains nothing.
|
|
105
105
|
|
|
106
106
|
A verdict carrier must read a SETTLED bar wherever one is available to it — `clock: "CLOSE"`
|
|
107
|
-
whenever every column
|
|
108
|
-
|
|
109
|
-
|
|
107
|
+
whenever every column in its CLOSURE accepts a closed frame. The closure is what it reads directly
|
|
108
|
+
plus everything reached through `conditionRef`, transitively: a referenced condition contributes what
|
|
109
|
+
IT reads, never the clock it happens to declare, so moving a clause into a building block and leaving
|
|
110
|
+
that block `LIVE` does not make a settled bar unavailable to the carrier. Where no closed frame moves
|
|
111
|
+
some operand in the closure (a published regime label, an open-interest regime, a published rolling
|
|
112
|
+
change), `LIVE` stays legal at any depth: there is no settled bar to take.
|
|
110
113
|
|
|
111
114
|
Evaluation is three-valued: UNRESOLVED never collapses to FALSE; forming-bar reads are provisional.
|
|
112
115
|
|
|
@@ -117,10 +120,13 @@ this coin's own candle series at offset 0. Frame-inert operands are refused
|
|
|
117
120
|
(`CONDITION_CLOCK_OPERAND_ILLEGAL`): perp-payload scalars, published rolling changes, ranks, zone
|
|
118
121
|
entities, MDS regime labels, enrichment metrics, session scalars, and any clause authored at a
|
|
119
122
|
non-zero offset. A closed frame cannot move them, so "held for N closes" would describe reads
|
|
120
|
-
that never happened.
|
|
121
|
-
condition
|
|
122
|
-
`
|
|
123
|
-
|
|
123
|
+
that never happened. A frame-inert operand anywhere in a condition's closure simply keeps that
|
|
124
|
+
condition on `LIVE`, and that is legal — splitting the clause into its own condition and
|
|
125
|
+
`conditionRef`-ing it does NOT buy the referencing condition a CLOSE clock, because a `CLOSE`
|
|
126
|
+
condition may not reference a `LIVE` one (`CONDITION_CLOCK_REFERENCE_ILLEGAL`) and availability walks
|
|
127
|
+
into the referenced closure anyway. **Worked liquidity floor:** `LIQUID_FLOOR` is `LIVE` because
|
|
128
|
+
`vol24hUsd` is a bundle scalar, and a condition that references it is `LIVE` too. Reach for a split to
|
|
129
|
+
keep a condition's MEANING separable, not to change its clock.
|
|
124
130
|
|
|
125
131
|
**The lane a strategy is deployed to.** Report-level scalars split by LANE, and the split is not a
|
|
126
132
|
quality of the header — it is which reader runs. Market breadth and the reference pairs are ordinary
|