@bicharts/chart-mcp 0.6.58 → 0.6.60

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": "@bicharts/chart-mcp",
3
- "version": "0.6.58",
3
+ "version": "0.6.60",
4
4
  "description": "MCP (Model Context Protocol) stdio server for BIC AI charts: profile a dataset locally, then generate chart code that has passed the BIC backend's render gates. Works with any MCP-capable client (Claude Code, Claude Desktop, Cursor, Copilot Studio). An account pays to author charts; the code it writes is yours and runs with no licence.",
5
5
  "keywords": [
6
6
  "mcp",
@@ -43,8 +43,8 @@
43
43
  },
44
44
  "// dependencies": "NONE, deliberately. dist/ bundles every module the server uses, so a runtime dependency installs nothing it needs - it only makes npx fetch that package (and its tree) before the first start. Everything the bundle carries is a devDependency; scripts/verify-package.mjs fails the release if a dependency appears or a shipped file imports anything but Node's built-ins.",
45
45
  "devDependencies": {
46
- "@bicharts/chart-host": "^0.6.58",
47
- "@bicharts/shape-core": "^0.6.58",
46
+ "@bicharts/chart-host": "^0.6.60",
47
+ "@bicharts/shape-core": "^0.6.60",
48
48
  "@modelcontextprotocol/sdk": "^1.0.0",
49
49
  "@types/node": "^20.0.0",
50
50
  "@types/papaparse": "^5.3.14",
@@ -665,13 +665,24 @@ page Clear clears the filter, but the VegaVisual keeps its own highlight until i
665
665
  empty list means the selection was CLEARED: set your state from exactly what it gives you and never toggle it again.
666
666
  Anything saved against a mark - a note, a flag - is keyed the same way, never by `__rowIdx__`.
667
667
 
668
+ More the page gets from the same filters, each one line:
669
+ - A link that opens the page as it was: `useBicUrlState()` in the page component (after its `useBicFilter` /
670
+ `useBicControls` calls) keeps every filter and every chart's controls in `?view=`. `useBicView()` gives `save()` /
671
+ `restore(view)` for a saved view of your own (a user's favourite), and `token()` for a link.
672
+ - Linked hover: `useBicFilter("CountryIso3", { hover: true })` - hovering a mark lights the same key's marks on every
673
+ chart bound to that filter (a glow, never a selection).
674
+ - A filter that narrows a query to nothing: `<BicChartPanel ... onClearFilters={country.clear}>` says so with a Clear,
675
+ instead of an empty chart. A chart's own empty message: `emptyText` on its component.
676
+ - While building: `<BicDevtools />` shows every filter, its keys, why it last changed, and each chart's controls.
677
+
668
678
  **Notes (or flags) on marks, end to end.** People leave a note on a country, a route, a product, and see
669
679
  it on that mark: the notes live in Rayfin's data service, and the badge is the chart's `annotations`.
670
- This recipe was checked against Rayfin's own docs for Rayfin 1.36.1 (a preview), the version
671
- `setup_fabric_app` installs as this is written, and on that version it IS the version-matched source:
680
+ This recipe was checked against Rayfin's own docs for Rayfin 1.36.1 (a preview), and its init flags and type-check
681
+ edits again on a real build on 1.36.2, the version `setup_fabric_app` installs as this is written; on those it IS the
682
+ version-matched source:
672
683
  follow it as written, and read Rayfin's docs (`node_modules/@microsoft/rayfin-guide/assets/docs/data/`)
673
684
  only for what it doesn't cover. `setup_fabric_app`'s reply names the version it installed; where that
674
- differs from 1.36.1, Rayfin's docs win.
685
+ differs from those, Rayfin's docs win.
675
686
 
676
687
  *a. Turn the data service on.* The data app template ships it off. Run `setup_fabric_app` first (it puts every `@microsoft/rayfin-*` package on one version:
677
688
  npm's latest, the release `rayfin init` installs), then:
@@ -685,7 +696,9 @@ reason; without `--project-name` (pass the `id:` already in `rayfin/rayfin.yml`,
685
696
  it stops with "--project-name is required in non-interactive mode". It rewrites `rayfin/rayfin.yml`
686
697
  and `.gitignore`, so `git diff` both and put back what's yours (on 1.36.1 it dropped the template's
687
698
  `src/fabric.generated.ts` line from `.gitignore`). It writes `rayfin/tsconfig.json` - keep its
688
- `outDir`, `.temp/compiled`, which is where the deploy reads the entities from - and no entities.
699
+ `outDir`, `.temp/compiled`, which is where the deploy reads the entities from - and no entities. On 1.36.2 it
700
+ writes no `rayfin/data/schema.ts` either: don't write one by hand - `setup_fabric_app` with `features` (step c) writes it
701
+ when `rayfin/rayfin.yml` shows the data service on.
689
702
 
690
703
  *b. Make it type-check.* Three edits, each needed on the data app template:
691
704
  - `rayfin/tsconfig.json`, in `compilerOptions`: `"tsBuildInfoFile": ".temp/tsconfig.tsbuildinfo"` and