@bicharts/chart-mcp 0.6.126 → 0.6.127
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/check-chart.mjs +32 -32
- package/dist/index.mjs +69 -69
- package/package.json +3 -3
- package/skills/bic-charts/SKILL.md +11 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bicharts/chart-mcp",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.127",
|
|
4
4
|
"description": "AI Data Components for Power BI, Excel, Fabric Apps and the web, over MCP: working what-if apps, interactive tables and bivariate maps first, plus about 90 everyday chart types, with selection and cross-filtering already wired. It profiles your table locally; the code it writes is yours and runs with no license.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"mcp",
|
|
@@ -51,8 +51,8 @@
|
|
|
51
51
|
},
|
|
52
52
|
"// 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.",
|
|
53
53
|
"devDependencies": {
|
|
54
|
-
"@bicharts/chart-host": "^0.6.
|
|
55
|
-
"@bicharts/shape-core": "^0.6.
|
|
54
|
+
"@bicharts/chart-host": "^0.6.127",
|
|
55
|
+
"@bicharts/shape-core": "^0.6.127",
|
|
56
56
|
"@modelcontextprotocol/sdk": "^1.32.1",
|
|
57
57
|
"@types/node": "^26.6.5",
|
|
58
58
|
"@types/papaparse": "^5.3.14",
|
|
@@ -1013,6 +1013,13 @@ everything it plots. A query that takes only part of a pick's key (`treatAs(cell
|
|
|
1013
1013
|
stage cell) names that part: `scopedBy={{ filter: cell, takes: ["Region"] }}` says "Europe", never "Europe · 3-Propose",
|
|
1014
1014
|
and a stage-only pick adds nothing to that chart's line.
|
|
1015
1015
|
|
|
1016
|
+
**A chart that rates every row shows the picked ones: give it every row and pass the picks as `viewedBy`.** A Churn risk
|
|
1017
|
+
list rates each customer against how long every customer has stayed. Narrow its query by a pick and it rates only what
|
|
1018
|
+
the pick left - one joining quarter's customers can't be rated at all, since none of them was watched longer than the
|
|
1019
|
+
others. So its query takes NONE of the page's picks, it carries each pick's key column (a quarter label column for a
|
|
1020
|
+
quarter pick), and the picks go in `viewedBy={[channel, quarter]}`: the chart rates against everyone and lists the picked
|
|
1021
|
+
customers, and its caption says both ("124 active customers in 2023 Q2 ...; each rated against all 3,600 customers").
|
|
1022
|
+
|
|
1016
1023
|
**A panel a pick cannot reach says so on its card.** When a pick can't reach a panel or one of its encodings (its query
|
|
1017
1024
|
takes only part of the pick's key, or none of it), or a figure's measure removes that pick's filter on purpose (a close
|
|
1018
1025
|
rate kept across every stage beside open pipeline that follows the stage), that card says so in one line: "Close rate
|
|
@@ -1406,6 +1413,10 @@ name, list, apply, and which one is applied now - `applied`, the saved scenario
|
|
|
1406
1413
|
save keeps what was typed), and, with Rayfin's functions on, the `addSavedScenario` function each save runs through, so
|
|
1407
1414
|
the server stamps its time.
|
|
1408
1415
|
|
|
1416
|
+
A chart's own segmented row (Retention curves' "Compare by Channel | Plan | Region") is a control too:
|
|
1417
|
+
`controls.values.compare` is the reader's choice, from the first draw, and the page re-renders when the reader switches
|
|
1418
|
+
it - so a page that filters by what the chart compares reads it there, never from the chart's source.
|
|
1419
|
+
|
|
1409
1420
|
**8. What stays the template's job - this is additive, never a replacement:** sign-in, the query hooks
|
|
1410
1421
|
(`useSemanticModelQuery`; a page filter feeds it through `filterQuery`), the theme (`useCssTheme`, which
|
|
1411
1422
|
`bic-chart-options.ts` builds on), the app's database (Rayfin's data service), `VisualContainer` headers, the template's
|