ggaction 0.0.7 → 0.0.9
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/CHANGELOG.md +42 -0
- package/README.md +33 -5
- package/knowledge/action-cards.json +10941 -0
- package/knowledge/intent-taxonomy.json +183 -0
- package/knowledge/mcp-resources.json +95 -0
- package/knowledge/task-packet.schema.json +159 -0
- package/knowledge/task-resolver.js +1230 -0
- package/package.json +10 -1
- package/src/actions/basic.js +3 -3
- package/src/actions/categoryOrder/index.js +111 -0
- package/src/actions/coordinates/actions.js +4 -0
- package/src/actions/data/index.js +6 -0
- package/src/actions/data/timeUnit.js +48 -0
- package/src/actions/encodings/angle.js +77 -0
- package/src/actions/encodings/color/index.js +17 -13
- package/src/actions/encodings/color/layout.js +2 -0
- package/src/actions/encodings/color/policy.js +3 -0
- package/src/actions/encodings/index.js +2 -0
- package/src/actions/encodings/position/policies/area.js +40 -2
- package/src/actions/encodings/position/policies/bar.js +6 -0
- package/src/actions/encodings/position/policies/index.js +2 -0
- package/src/actions/encodings/position/policies/line.js +5 -1
- package/src/actions/encodings/position/policies/tick.js +19 -0
- package/src/actions/encodings/remove.js +1 -1
- package/src/actions/guides/legends/categorical/actions.js +23 -6
- package/src/actions/guides/legends/categorical/index.js +93 -2
- package/src/actions/guides/legends/categorical/symbols.js +2 -76
- package/src/actions/guides/legends/continuous/common.js +17 -5
- package/src/actions/guides/legends/continuous/gradient.js +12 -8
- package/src/actions/guides/legends/continuous/opacity.js +70 -17
- package/src/actions/guides/legends/edit.js +13 -8
- package/src/actions/guides/legends/lane.js +468 -0
- package/src/actions/guides/legends/remove.js +3 -7
- package/src/actions/index.js +3 -1
- package/src/actions/marks/area/actions.js +3 -1
- package/src/actions/marks/area/materialize.js +12 -3
- package/src/actions/marks/index.js +2 -0
- package/src/actions/marks/point/materialize.js +17 -5
- package/src/actions/marks/tick/actions.js +225 -0
- package/src/actions/marks/tick/index.js +1 -0
- package/src/actions/primitives/index.js +27 -0
- package/src/actions/primitives/semantic.js +22 -185
- package/src/actions/primitives/semanticAction.js +188 -0
- package/src/actions/primitives/semanticValidation/dataset.js +7 -3
- package/src/actions/primitives/semanticValidation/index.js +28 -15
- package/src/actions/primitives/semanticValidation/layer.js +22 -16
- package/src/actions/scales/consumers/index.js +8 -0
- package/src/actions/scales/consumers/seriesLayout.js +22 -2
- package/src/actions/scales/materialize.js +2 -0
- package/src/actions/selection/actions.js +5 -2
- package/src/core/vocabulary.js +7 -3
- package/src/grammar/areaSeries.js +112 -2
- package/src/grammar/categoryOrder.js +138 -0
- package/src/grammar/direction.js +46 -0
- package/src/grammar/facets/index.js +1 -1
- package/src/grammar/pointShapes.js +34 -6
- package/src/grammar/positionCompatibility.js +4 -0
- package/src/grammar/schemas/semanticPath.js +2 -1
- package/src/grammar/seriesLayout.js +10 -2
- package/src/grammar/timeUnit.js +108 -0
- package/src/grammar/transformTopology.js +18 -0
- package/src/grammar/transforms.js +25 -18
- package/src/grammar/window.js +73 -7
- package/src/layout/legendLane.js +338 -0
- package/src/materialization/dataProvenance.js +2 -2
- package/src/materialization/marks/capabilities.js +9 -0
- package/src/materialization/marks/index.js +2 -1
- package/src/materialization/marks/pathOrder.js +2 -2
- package/src/materialization/marks/policies.js +13 -0
- package/src/materialization/scales/policies/series.js +9 -0
- package/src/materialization/scales/resolve.js +25 -3
- package/src/materialization/selection/items/index.js +1 -0
- package/src/materialization/selection/items/path.js +4 -1
- package/src/materialization/selection/items/tick.js +42 -0
- package/src/materialization/selection/policies/index.js +2 -0
- package/src/materialization/selection/policies/tick.js +10 -0
- package/src/mcp/adapter.js +206 -0
- package/src/mcp/cli.js +11 -0
- package/src/mcp/server.js +101 -0
- package/types/index.d.ts +10 -0
- package/types/program.d.ts +96 -3
- package/src/actions/coordinates/index.js +0 -5
- package/src/actions/primitives/semanticValue.js +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,46 @@ All notable changes to `ggaction` are recorded in this file.
|
|
|
4
4
|
|
|
5
5
|
## Unreleased
|
|
6
6
|
|
|
7
|
+
## [0.0.9] - 2026-08-10
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- Added a package-local, read-only stdio MCP server with one bounded `search_ggaction` tool, selective resources,
|
|
12
|
+
executable authoring steps, and no hosted service, account, telemetry, chart execution, or arbitrary file access.
|
|
13
|
+
- Added generated compact knowledge for all 173 current actions, deterministic multi-intent task resolution, explicit
|
|
14
|
+
unsupported and unresolved decisions, and exact Canvas, SVG, PNG, and PDF authoring bootstraps.
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
- Added task-oriented LLM authoring and MCP documentation, installed-package MCP qualification, and a compact,
|
|
19
|
+
provenance-locked 576-run Terra/Luna/Nano benchmark record and benefit chart.
|
|
20
|
+
- Kept per-request traces, intermediate checkpoints, aborted experimental generations, and obsolete paid runners out
|
|
21
|
+
of the default branch while retaining aggregate evidence and exact raw-result hashes.
|
|
22
|
+
|
|
23
|
+
### Fixed
|
|
24
|
+
|
|
25
|
+
- Treated materialized window-output fields as direct line values when no aggregate is requested, preserving moving
|
|
26
|
+
mean and sum results instead of reinterpreting them through the aggregate-line policy.
|
|
27
|
+
|
|
28
|
+
## [0.0.8] - 2026-08-04
|
|
29
|
+
|
|
30
|
+
### Added
|
|
31
|
+
|
|
32
|
+
- Added immutable UTC time-unit derivation, semantic category ordering and reset, and partitioned moving mean/sum
|
|
33
|
+
windows with matching public actions, strict declarations, examples, and Current contracts.
|
|
34
|
+
- Added the Tick mark lifecycle, point/Tick angle encoding, and non-negative centered area stacking with stable
|
|
35
|
+
Canvas, SVG, PNG, and PDF evidence.
|
|
36
|
+
|
|
37
|
+
### Changed
|
|
38
|
+
|
|
39
|
+
- Expanded the public example and documentation corpus with actual-data temporal, ordering, directional Tick,
|
|
40
|
+
centered-area, and multi-legend charts, plus installed-package coverage for their supported workflows.
|
|
41
|
+
|
|
42
|
+
### Fixed
|
|
43
|
+
|
|
44
|
+
- Replaced independent same-edge legend placement with deterministic shared right/left lanes and left-packed
|
|
45
|
+
top/bottom rows, aligning titles, symbols, and labels while preserving lifecycle convergence and compact margins.
|
|
46
|
+
|
|
7
47
|
## [0.0.7] - 2026-07-23
|
|
8
48
|
|
|
9
49
|
### Added
|
|
@@ -157,6 +197,8 @@ All notable changes to `ggaction` are recorded in this file.
|
|
|
157
197
|
- Cartesian charts are the complete current path. Polar semantic tokens exist only where explicitly documented and do
|
|
158
198
|
not imply complete polar rendering.
|
|
159
199
|
|
|
200
|
+
[0.0.9]: https://github.com/ggaction/ggaction/releases/tag/v0.0.9
|
|
201
|
+
[0.0.8]: https://github.com/ggaction/ggaction/releases/tag/v0.0.8
|
|
160
202
|
[0.0.7]: https://github.com/ggaction/ggaction/releases/tag/v0.0.7
|
|
161
203
|
[0.0.6]: https://github.com/ggaction/ggaction/releases/tag/v0.0.6
|
|
162
204
|
[0.0.5]: https://github.com/ggaction/ggaction/releases/tag/v0.0.5
|
package/README.md
CHANGED
|
@@ -51,6 +51,26 @@ const program = chart()
|
|
|
51
51
|
- **Traceable** — retain high-level actions and the wrapped actions they invoke.
|
|
52
52
|
- **Materialized** — actions create concrete backend-neutral graphics; rendering does not perform hidden semantic compilation.
|
|
53
53
|
|
|
54
|
+
## MCP server for LLM
|
|
55
|
+
|
|
56
|
+
ggaction includes a local, read-only MCP server that gives coding assistants
|
|
57
|
+
current action names, exact call shapes, and task-specific authoring steps
|
|
58
|
+
without loading the complete documentation.
|
|
59
|
+
|
|
60
|
+
<p align="left">
|
|
61
|
+
<img src="./docs/assets/images/readme-mcp-benefits.svg" width="960" loading="lazy" alt="Across 576 fixed task runs, MCP with bounded fallback improved strict success and reduced tokens and model calls compared with public-documentation browsing for Terra, Luna, and Nano.">
|
|
62
|
+
</p>
|
|
63
|
+
|
|
64
|
+
Across a fixed 576-run evaluation, MCP-first authoring with bounded fallback
|
|
65
|
+
improved strict task success while using fewer tokens and model calls for all
|
|
66
|
+
three model sizes. The server runs locally over stdio and does not execute chart
|
|
67
|
+
code, access arbitrary files, make network requests, require an account, or
|
|
68
|
+
collect telemetry.
|
|
69
|
+
|
|
70
|
+
[Set up the local MCP server](https://ggaction.github.io/ggaction/mcp/) ·
|
|
71
|
+
[Inspect the benchmark record](./benchmarks/llm-authoring-v1/) ·
|
|
72
|
+
[Read the complete evaluation report](./agent_docs/impl/roadmap5.4/phase6/ATTEMPT11.md)
|
|
73
|
+
|
|
54
74
|
## Quick start
|
|
55
75
|
|
|
56
76
|
Install the current public release:
|
|
@@ -136,8 +156,9 @@ automatic undo stack; the application chooses which to retain or render.
|
|
|
136
156
|
|
|
137
157
|
Use `createLinePlot`, `createBarPlot`, `createHistogram`, and `createHeatmap` for
|
|
138
158
|
the other basic Cartesian charts. The `ggaction/basic` entry keeps this common
|
|
139
|
-
creation path below
|
|
140
|
-
records its mark, encoding, and guide actions as trace
|
|
159
|
+
creation path at or below the current 120,000-byte gzip regression ceiling while
|
|
160
|
+
each facade still records its mark, encoding, and guide actions as trace
|
|
161
|
+
children. Import from
|
|
141
162
|
`ggaction` when you need editing, selection, composition, alternative
|
|
142
163
|
coordinates, or statistical layers. See the
|
|
143
164
|
[Basic Charts API](https://ggaction.github.io/ggaction/api/basic-charts/).
|
|
@@ -181,15 +202,22 @@ The package is ESM-only and requires Node.js 20 or later.
|
|
|
181
202
|
| `ggaction/png` | Render a completed program to a PNG file in Node.js |
|
|
182
203
|
| `ggaction/pdf` | Render a completed program to a single-page vector PDF file in Node.js |
|
|
183
204
|
| `ggaction/svg` | Serialize a completed program to browser-safe SVG |
|
|
205
|
+
| `ggaction-mcp` | Run the local read-only MCP authoring server over stdio in Node.js |
|
|
206
|
+
|
|
207
|
+
All module entries include TypeScript declarations. The default, basic,
|
|
208
|
+
extension, and SVG entries are browser-safe; the PNG and PDF adapters are
|
|
209
|
+
Node-only.
|
|
184
210
|
|
|
185
|
-
|
|
186
|
-
|
|
211
|
+
The installed package also includes the Node-only `ggaction-mcp` executable. It
|
|
212
|
+
provides one local, read-only chart-authoring search tool and stays outside every
|
|
213
|
+
browser entry. See the [local MCP guide](https://ggaction.github.io/ggaction/mcp/).
|
|
187
214
|
|
|
188
215
|
## Documentation
|
|
189
216
|
|
|
190
217
|
- [Getting Started](https://ggaction.github.io/ggaction/getting-started/)
|
|
191
218
|
- [Tutorials and Examples](https://ggaction.github.io/ggaction/tutorials/)
|
|
192
219
|
- [Action Reference](https://ggaction.github.io/ggaction/reference/actions/)
|
|
220
|
+
- [Local MCP for LLM Chart Authoring](https://ggaction.github.io/ggaction/mcp/)
|
|
193
221
|
- [Concepts](https://ggaction.github.io/ggaction/concepts/chart-program/)
|
|
194
222
|
- [Supported Features](https://ggaction.github.io/ggaction/supported-features/)
|
|
195
223
|
|
|
@@ -201,7 +229,7 @@ the extra discussion required before public API or architecture changes.
|
|
|
201
229
|
|
|
202
230
|
## Status and development
|
|
203
231
|
|
|
204
|
-
> **Status:** `0.0.
|
|
232
|
+
> **Status:** `0.0.9` is the current experimental public release. APIs may change before `1.0.0`; changes are recorded in the [changelog](./CHANGELOG.md).
|
|
205
233
|
|
|
206
234
|
```bash
|
|
207
235
|
npm install
|