ggaction 0.0.8 → 0.0.10

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.
Files changed (35) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/README.md +34 -6
  3. package/knowledge/action-cards.json +10941 -0
  4. package/knowledge/extension-authoring.md +248 -0
  5. package/knowledge/intent-taxonomy.json +183 -0
  6. package/knowledge/mcp-resources.json +95 -0
  7. package/knowledge/task-packet.schema.json +159 -0
  8. package/knowledge/task-resolver.js +1230 -0
  9. package/package.json +11 -1
  10. package/src/actions/basic.js +3 -3
  11. package/src/actions/coordinates/actions.js +4 -0
  12. package/src/actions/encodings/position/policies/line.js +5 -1
  13. package/src/actions/guides/legends/categorical/index.js +85 -2
  14. package/src/actions/guides/legends/categorical/symbols.js +2 -76
  15. package/src/actions/index.js +1 -1
  16. package/src/actions/primitives/index.js +27 -0
  17. package/src/actions/primitives/semantic.js +22 -185
  18. package/src/actions/primitives/semanticAction.js +188 -0
  19. package/src/actions/primitives/semanticValidation/dataset.js +7 -3
  20. package/src/actions/primitives/semanticValidation/index.js +28 -15
  21. package/src/actions/primitives/semanticValidation/layer.js +20 -16
  22. package/src/core/action.js +20 -5
  23. package/src/core/extensionRegistry.js +104 -0
  24. package/src/extension.js +8 -1
  25. package/src/grammar/transformTopology.js +18 -0
  26. package/src/grammar/transforms.js +21 -20
  27. package/src/materialization/dataProvenance.js +2 -2
  28. package/src/materialization/marks/pathOrder.js +2 -2
  29. package/src/mcp/adapter.js +206 -0
  30. package/src/mcp/cli.js +11 -0
  31. package/src/mcp/server.js +101 -0
  32. package/types/extension.d.ts +19 -0
  33. package/types/program.d.ts +4 -0
  34. package/src/actions/coordinates/index.js +0 -5
  35. package/src/actions/primitives/semanticValue.js +0 -1
package/CHANGELOG.md CHANGED
@@ -4,6 +4,44 @@ All notable changes to `ggaction` are recorded in this file.
4
4
 
5
5
  ## Unreleased
6
6
 
7
+ ## [0.0.10] - 2026-08-11
8
+
9
+ ### Added
10
+
11
+ - Added collision-safe import-time extension registration through
12
+ `registerExtension({ name, actions })`, including strict TypeScript module
13
+ augmentation for registered actions on the standard `chart()` program.
14
+ - Added installed extension-authoring knowledge that guides LLM agents through
15
+ feature-first design, current ggaction reuse, lifecycle ownership, primitive
16
+ parity, and package-consumer verification.
17
+
18
+ ### Changed
19
+
20
+ - Updated extension documentation and examples to make installable packages
21
+ compose through registration while retaining `ChartProgram` subclasses for
22
+ deliberately isolated programs.
23
+
24
+ ## [0.0.9] - 2026-08-10
25
+
26
+ ### Added
27
+
28
+ - Added a package-local, read-only stdio MCP server with one bounded `search_ggaction` tool, selective resources,
29
+ executable authoring steps, and no hosted service, account, telemetry, chart execution, or arbitrary file access.
30
+ - Added generated compact knowledge for all 173 current actions, deterministic multi-intent task resolution, explicit
31
+ unsupported and unresolved decisions, and exact Canvas, SVG, PNG, and PDF authoring bootstraps.
32
+
33
+ ### Changed
34
+
35
+ - Added task-oriented LLM authoring and MCP documentation, installed-package MCP qualification, and a compact,
36
+ provenance-locked 576-run Terra/Luna/Nano benchmark record and benefit chart.
37
+ - Kept per-request traces, intermediate checkpoints, aborted experimental generations, and obsolete paid runners out
38
+ of the default branch while retaining aggregate evidence and exact raw-result hashes.
39
+
40
+ ### Fixed
41
+
42
+ - Treated materialized window-output fields as direct line values when no aggregate is requested, preserving moving
43
+ mean and sum results instead of reinterpreting them through the aggregate-line policy.
44
+
7
45
  ## [0.0.8] - 2026-08-04
8
46
 
9
47
  ### Added
@@ -176,6 +214,8 @@ All notable changes to `ggaction` are recorded in this file.
176
214
  - Cartesian charts are the complete current path. Polar semantic tokens exist only where explicitly documented and do
177
215
  not imply complete polar rendering.
178
216
 
217
+ [0.0.10]: https://github.com/ggaction/ggaction/releases/tag/v0.0.10
218
+ [0.0.9]: https://github.com/ggaction/ggaction/releases/tag/v0.0.9
179
219
  [0.0.8]: https://github.com/ggaction/ggaction/releases/tag/v0.0.8
180
220
  [0.0.7]: https://github.com/ggaction/ggaction/releases/tag/v0.0.7
181
221
  [0.0.6]: https://github.com/ggaction/ggaction/releases/tag/v0.0.6
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 a 120,000-byte gzip bundle budget while each facade still
140
- records its mark, encoding, and guide actions as trace children. Import from
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/).
@@ -177,19 +198,26 @@ The package is ESM-only and requires Node.js 20 or later.
177
198
  | --- | --- |
178
199
  | `ggaction` | Create chart programs and render them to Browser Canvas |
179
200
  | `ggaction/basic` | Create and render scatter, line, bar, histogram, and heatmap charts with a smaller browser bundle |
180
- | `ggaction/extension` | Author wrapped actions with public low-level primitives |
201
+ | `ggaction/extension` | Author and register wrapped actions with public low-level primitives |
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
- All entries include TypeScript declarations. The default, basic, extension, and
186
- SVG entries are browser-safe; the PNG and PDF adapters are Node-only.
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.8` is the current experimental public release. APIs may change before `1.0.0`; changes are recorded in the [changelog](./CHANGELOG.md).
232
+ > **Status:** `0.0.10` 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