graphein-mcp 0.7.2 → 0.9.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "graphein-mcp",
3
- "version": "0.7.2",
3
+ "version": "0.9.0",
4
4
  "type": "module",
5
5
  "description": "Model Context Protocol server for Graphein — wraps generate → validate → repair → render → critique into one tool call, and serves Graphein's schema + agent guide as resources so a model that never saw the API can still build correct charts.",
6
6
  "license": "MIT",
@@ -61,9 +61,9 @@
61
61
  "prepack": "tsup"
62
62
  },
63
63
  "dependencies": {
64
- "@graphein/node": "^0.7.2",
64
+ "@graphein/node": "^0.9.0",
65
65
  "@modelcontextprotocol/sdk": "^1.20.0",
66
- "graphein": "^0.7.2",
66
+ "graphein": "^0.9.0",
67
67
  "zod": "^3.23.0"
68
68
  }
69
69
  }
@@ -540,9 +540,9 @@ const d = renderDashboard('#app', dash);
540
540
  a column that view's data lacks is **ignored for that view** (it is *not* blanked). So
541
541
  if you want a pre‑aggregated chart to react to a slicer, include that field in its
542
542
  rows (e.g. aggregate by `region × product`, not `region` alone).
543
- - **Chart clicks cross‑highlight** — clicking a mark emphasizes the matching subset in
544
- views that encode the same field (and always self‑highlights). Highlight is per‑mark,
545
- so it only applies where the field is plotted.
543
+ - **Chart clicks cross‑filter** — clicking a mark subsets rows in every other view
544
+ (like a slicer), while the clicked chart dims its own unpicked marks instead of
545
+ hiding them. The source self‑highlights; peers are filtered.
546
546
 
547
547
  Opt out with `interactions:'none'`, or replace auto‑wiring with explicit links:
548
548
 
@@ -575,6 +575,10 @@
575
575
  "labels": {
576
576
  "type": "boolean",
577
577
  "description": "Show tick labels."
578
+ },
579
+ "labelAngle": {
580
+ "type": "number",
581
+ "description": "Rotation of x-axis tick labels in degrees: `0` horizontal, `45` diagonal, `90` vertical. Omit for **auto** — categorical (bar/column) labels rotate to 45° when there isn't room to show them all horizontally, so every category stays visible instead of being thinned out. (X axis only.)"
578
582
  }
579
583
  },
580
584
  "additionalProperties": false
@@ -2319,7 +2323,7 @@
2319
2323
  }
2320
2324
  }
2321
2325
  ],
2322
- "description": "Cross-interaction policy:\n- 'auto' (default): slicers filter charts; chart clicks cross-highlight charts sharing the selected field.\n- 'none': views are laid out but not linked.\n- an array of InteractionLink: explicit wiring (replaces auto)."
2326
+ "description": "Cross-interaction policy:\n- 'auto' (default): every source cross-filters the page — slicers and chart clicks both subset rows in the other views; the clicked chart dims its own unpicked marks instead of hiding them.\n- 'none': views are laid out but not linked.\n- an array of InteractionLink: explicit wiring (replaces auto)."
2323
2327
  }
2324
2328
  },
2325
2329
  "required": [
@@ -98,6 +98,7 @@ Shared by **all** chart types.
98
98
  | `tickValues` | `number[]` | Explicit tick positions. |
99
99
  | `format` | `string` | [Format hint](#format-mini-language) for tick labels. |
100
100
  | `labels` | `boolean` | Show/hide tick labels. |
101
+ | `labelAngle` | `number` | X‑axis only. Tick‑label rotation in degrees (`0`/`45`/`90`). Omit for **auto**: dense categorical labels rotate to 45° so all stay visible instead of being thinned. |
101
102
 
102
103
  ### `SketchConfig`
103
104
 
@@ -1048,8 +1049,8 @@ per‑type defaults).
1048
1049
  field is subset by the slicer (a KPI, a table, a chart that inherits the dashboard
1049
1050
  data). A filter on a column a view's data doesn't contain is **ignored for that view**,
1050
1051
  not blanked — so a pre‑aggregated view only reacts to the dimensions it carries.
1051
- - **Chart clicks cross‑highlight** — clicking a mark emphasizes the matching subset in
1052
- views that encode the same field, and always self‑highlights.
1052
+ - **Chart clicks cross‑filter** — clicking a mark subsets rows in every other view
1053
+ (like a slicer); the clicked chart dims its own unpicked marks instead of hiding them.
1053
1054
 
1054
1055
  **Explicit links** replace auto‑wiring with an array of `InteractionLink`:
1055
1056