@battlegrid/mcp-server 31.2.59 → 31.2.61

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,87 @@ 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 — v81 (the allocation's committed figure removed, the hub names Max exposure)
28
+
29
+ **Breaking at v81: one output field removed and one renamed.** v81 is the contract on top of v80.
30
+
31
+ ### Removed output — the agent fund allocation
32
+
33
+ - **`committedUsd` is gone from the allocation** that `get_agent_fund_allocation`,
34
+ `halt_intelligence_agent`, `resume_intelligence_agent` and `set_agent_per_trade_push` return. It
35
+ measured a custody ledger whose allocate and recall routes are retired. The figure that bounds an
36
+ entry is capital at risk, on `get_agent_budget`. A client reading `committedUsd` reads nothing at
37
+ v81.
38
+
39
+ ### Renamed output — `get_agents_hub`
40
+
41
+ - **Each agent's `envelope` names the exposure ceiling `maxConcurrentExposureUsd`**, the trading
42
+ config's own name for it, where v80 called it `budgetUsd`. The value is unchanged. A client reading
43
+ `budgetUsd` reads nothing at v81.
44
+
45
+ ### Corrected reason behind an unchanged schema
46
+
47
+ - **An agent entry refused because its Max exposure is fully committed is recorded as
48
+ `INSUFFICIENT_BALANCE`**, where it was recorded as `BELOW_EXCHANGE_MINIMUM` with a $0.00 risk
49
+ budget. Its detail names Max exposure and the capital at risk. It reaches `get_signal_log` and
50
+ `get_public_agent_signal_log_detail`.
51
+
52
+ ## Contract history — v79 (the agent's account reading, an exhausted budget, accept below the Balance floor)
53
+
54
+ **Breaking at v79: the agent budget's account fields move into one object.**
55
+
56
+ ### Reshaped output — the agent budget
57
+
58
+ - **`get_agent_budget` and `reset_agent_drawdown_baseline` replace `accountEquityUsd`,
59
+ `budgetOverSubscribed` and `openUnrealizedPnlUsd` with one `account` object** carrying the same three
60
+ fields, or `null` when the server holds no cached reading of the account. At v78 an unread account
61
+ read `0`, `false` and `0`, which looked like a real empty account. A client reading the three
62
+ top-level fields reads nothing at v79.
63
+
64
+ ### Widened enum
65
+
66
+ - **The block reason gains `EXPOSURE_BUDGET_EXHAUSTED`** (owner-private): an agent whose capital at
67
+ risk has reached its Max exposure is blocked once at the account stage, where v78 blocked it per
68
+ coin as `EXCHANGE_MIN_NOTIONAL_UNREACHABLE`. It reaches every output that carries a block reason:
69
+ `list_gate_blocks`, `get_signal_log`, `get_public_agent_signal_log_detail`, `get_radar_activity`,
70
+ `get_radar_close_decisions`, `get_radar_deployment`, `list_radar_deployments`,
71
+ `preview_radar_resolution`, `get_agent_coin_qualification`, `get_trade_conversation` and
72
+ `propose_entry_decision`.
73
+
74
+ ### Refused behind an unchanged schema
75
+
76
+ - **`accept_entry_decision` refuses with `CONFLICT` while your account equity is below the agent's
77
+ Balance floor (`balanceThresholdUsd`) or cannot be read.** The decision stays pending and can be
78
+ accepted once the equity is back at or above the floor.
79
+
80
+ ## Contract history — v78 (a new agent's risk policy from one seed)
81
+
82
+ **Breaking at v78: `get_trading_config_catalog` serves a new agent's risk policy as one object.**
83
+
84
+ ### Reshaped output
85
+
86
+ - **`tradingDefaults.defaults` replaces ten per-field seed values** — `defaultMaxDailyTrades`,
87
+ `defaultMaxLeverage`, `defaultSmallPct`, `defaultMediumPct`, `defaultLargePct`,
88
+ `defaultEntrySlippageBps`, `defaultMaxConcurrentExposureUsd`, `defaultBalanceThresholdUsd`,
89
+ `defaultMaxCumulativeDrawdownUsd` and `defaultMaxDailyLossUsd` — **with one `agentTradingConfig`**,
90
+ request-shaped, so it passes to `create_intelligence_agent` verbatim. A client reading the ten fields
91
+ reads nothing at v78.
92
+
93
+ ### Input schema
94
+
95
+ - **`tradingConfig.maxLeverage` loses its published `minimum: 1`** on `create_intelligence_agent` and
96
+ `update_intelligence_agent`. Acceptance is unchanged: the platform's minimum leverage is the bound.
97
+
98
+ ### Wider input
99
+
100
+ - **Both tools accept a strategy whose stored dials sit outside today's operator bounds.** An agent
101
+ write never re-judges a strategy dial.
102
+
103
+ ### Served values
104
+
105
+ - **A `create_intelligence_agent` call without `tradingConfig` is seeded from the same object the
106
+ catalog serves**, never from column defaults, with Min order size from the platform minimum.
107
+
27
108
  ## Contract history — v77 (agent risk rules: each loss stop on its own rail)
28
109
 
29
110
  **Breaking at v77: an agent's `tradingConfig` accepts less.** `create_intelligence_agent` and
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.59";
52
+ export declare const PACKAGE_VERSION = "31.2.61";
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.59';
55
+ export const PACKAGE_VERSION = '31.2.61';
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.59",
3
+ "version": "31.2.61",
4
4
  "description": "BattleGrid MCP server — play crypto prediction games from AI agents",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",