@battlegrid/mcp-server 31.2.38 → 31.2.39
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 +67 -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,73 @@ 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 — v64
|
|
28
|
+
|
|
29
|
+
**Breaking, and it is a removal you will feel on two tools.** A vocabulary that never depended on
|
|
30
|
+
your draft was being re-serialized into every preview result; it now lives on discovery and the
|
|
31
|
+
preview names it.
|
|
32
|
+
|
|
33
|
+
### Reshaped output — `preview_strategy_report`
|
|
34
|
+
|
|
35
|
+
- **`conditionColumns` covers only the sections your report RENDERS.** It used to cover every
|
|
36
|
+
section the server's header inventory holds, which meant every report-level scalar on every
|
|
37
|
+
preview whether or not its module was placed — 36,652 bytes of payload, with each metric's gloss
|
|
38
|
+
repeated once per scope (11 market-breadth sentences published as 99). If you read
|
|
39
|
+
`session-field`, `market-breadth` or `reference-pairs` groups off a preview, they are gone.
|
|
40
|
+
|
|
41
|
+
- **Nothing stopped resolving.** The header inventory is unchanged, so a condition naming
|
|
42
|
+
`mktBreadth_crypto` resolves exactly as it did. What changed is where you read its prose from.
|
|
43
|
+
|
|
44
|
+
- **`vocabularyDigest` is new** — the sha256 identity of the authoring catalog that render described
|
|
45
|
+
its columns against, and the same digest a plan token binds as `authoringCatalogDigest`. Resolve
|
|
46
|
+
the vocabulary once, cache it against this string, and re-resolve when it moves.
|
|
47
|
+
|
|
48
|
+
- **`structure.columns[].meaning` is gone.** It was a positional per-header string that neither
|
|
49
|
+
serialization ever rendered — the glossary paragraph in `section.text` is built from
|
|
50
|
+
`spanFragments`, and the structured arm always omitted `meaning`. `spanFragments` is unchanged.
|
|
51
|
+
|
|
52
|
+
- **`budgetUsage.estimatedTokens` now measures the whole served payload**, not the rendered module
|
|
53
|
+
text inside it. Existing drafts read several times higher against the same cap. That is the fix,
|
|
54
|
+
not a regression: the byte cap is measured on the serialized result and cannot be reported inside
|
|
55
|
+
it, so this is the only meter that can warn you before a refusal — and it was counting about a
|
|
56
|
+
tenth of what actually refuses.
|
|
57
|
+
|
|
58
|
+
### Wider output — `list_strategy_vocabulary`
|
|
59
|
+
|
|
60
|
+
- **`scalarFamilies` is where the vocabulary went.** Every report-level scalar family with its
|
|
61
|
+
section, and one entry per METRIC carrying its gloss, legal condition operators, closed label
|
|
62
|
+
vocabulary, read contract (`closesReadable` / `developingRead`) and the scopes it is measured at.
|
|
63
|
+
One gloss per metric with its scopes named against it, never one per pair.
|
|
64
|
+
|
|
65
|
+
- **Served whole under every category.** A scalar describes the report, not a metric family, so it
|
|
66
|
+
is not filtered by the `category` you asked for. The ambient session family carries
|
|
67
|
+
`moduleKey: null` — it places no module and its operands are nameable all the same.
|
|
68
|
+
|
|
69
|
+
### Reshaped output — `compile_strategy_plan`
|
|
70
|
+
|
|
71
|
+
- **`reviewContext.columns` is gone.** It recompiled a full column contract per authored custom
|
|
72
|
+
column — about 2,100 bytes for a five-header trajectory — describing columns the embedded
|
|
73
|
+
`reportPreview.conditionColumns` already describes per rendered header. Ask
|
|
74
|
+
`get_strategy_column_contract` when you want a column's exact normalized contract.
|
|
75
|
+
|
|
76
|
+
- **`approvedPlan.creationSeed` is gone.** It was the dense 84-rule scorecard *before* the
|
|
77
|
+
overrides, published beside a `postState.signalRules` that is the same list *after* them and an
|
|
78
|
+
`explicitRuleOverrides` naming exactly what differs. Apply never saw it either.
|
|
79
|
+
|
|
80
|
+
### Wider input acceptance
|
|
81
|
+
|
|
82
|
+
- **The section array and a custom section's column array lose their `maxItems: 64`.** That bound
|
|
83
|
+
restated a configured cap of 32 as a looser 64 that never refused anything. `budgets.sections` and
|
|
84
|
+
`budgets.sectionColumns` from discovery are the published values, and the server enforces them
|
|
85
|
+
before it reads any market data.
|
|
86
|
+
|
|
87
|
+
### What to do
|
|
88
|
+
|
|
89
|
+
Call `list_strategy_vocabulary` once for the scalar vocabulary, key your cache on the preview's
|
|
90
|
+
`vocabularyDigest`, and drop any code that reads scalar groups off `conditionColumns`,
|
|
91
|
+
`structure.columns[].meaning`, `reviewContext.columns` or `approvedPlan.creationSeed`. A preview's
|
|
92
|
+
size now tracks the report and cohort you composed rather than the size of the platform's catalog.
|
|
93
|
+
|
|
27
94
|
## Contract history — v63.2
|
|
28
95
|
|
|
29
96
|
Purely additive again, and smaller: **one optional input field.** Drafts now cover a strategy that
|
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.39";
|
|
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.39';
|
|
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];
|