pmx-canvas 0.1.27 → 0.1.29
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 +68 -0
- package/dist/canvas/index.js +49 -49
- package/dist/json-render/index.css +1 -1
- package/dist/json-render/index.js +108 -108
- package/dist/types/json-render/charts/components.d.ts +10 -0
- package/dist/types/json-render/directives.d.ts +11 -1
- package/dist/types/server/canvas-operations.d.ts +8 -0
- package/dist/types/server/index.d.ts +12 -1
- package/docs/sdk.md +4 -4
- package/package.json +1 -1
- package/src/cli/agent.ts +35 -1
- package/src/client/nodes/ExtAppFrame.tsx +25 -0
- package/src/client/nodes/LedgerNode.tsx +39 -5
- package/src/json-render/charts/components.tsx +31 -6
- package/src/json-render/charts/tufte-components.tsx +17 -5
- package/src/json-render/directives.ts +37 -2
- package/src/json-render/renderer/index.css +6 -1
- package/src/json-render/server.ts +37 -2
- package/src/mcp/canvas-access.ts +20 -2
- package/src/mcp/server.ts +8 -5
- package/src/server/canvas-operations.ts +16 -2
- package/src/server/canvas-schema.ts +1 -0
- package/src/server/index.ts +32 -6
- package/src/server/server.ts +23 -3
- package/src/server/web-artifacts.ts +31 -5
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,72 @@
|
|
|
3
3
|
All notable changes to `pmx-canvas` are documented here. This project follows
|
|
4
4
|
[Semantic Versioning](https://semver.org/).
|
|
5
5
|
|
|
6
|
+
## [0.1.29] - 2026-06-06
|
|
7
|
+
|
|
8
|
+
### Changed
|
|
9
|
+
|
|
10
|
+
- **Bullet graph nodes accept the conventional `actual` measure key** in
|
|
11
|
+
addition to `value`, so `data: [{ label, actual, target }]` renders
|
|
12
|
+
without an explicit `valueKey` instead of failing the data-key check.
|
|
13
|
+
- **Node-create MCP responses expose both `id` and a `nodeId` alias.**
|
|
14
|
+
All node-create tools (including SpecStream) now return both keys,
|
|
15
|
+
matching the existing external-app / web-artifact responses, so agents
|
|
16
|
+
using either key (or a cached schema) work.
|
|
17
|
+
- **Friendlier AX CLI errors for bare subcommands.** Running `pmx-canvas
|
|
18
|
+
ax event` (or `evidence`/`host`/`work`/`approval`/`review`) without the
|
|
19
|
+
action now suggests the full command (e.g. `ax event add`) or lists the
|
|
20
|
+
available actions instead of a generic unknown-command error.
|
|
21
|
+
|
|
22
|
+
### Fixed
|
|
23
|
+
|
|
24
|
+
- **`pmx-canvas --mcp` no longer crashes with `EADDRINUSE`** when a daemon
|
|
25
|
+
already holds the target port for a *different* workspace. The MCP/SDK
|
|
26
|
+
auto-start now falls back to a free port (a same-workspace daemon is
|
|
27
|
+
still attached to as before) and prints a stderr note explaining how to
|
|
28
|
+
share one canvas (`PMX_CANVAS_URL` / `PMX_CANVAS_PORT` or run the daemon
|
|
29
|
+
from this workspace). An explicit SDK `start()` port is still honored
|
|
30
|
+
exactly unless `allowPortFallback` is passed.
|
|
31
|
+
- **Ledger nodes render body `content` as a log** — one line per entry,
|
|
32
|
+
no stray "Content" field label, and a literal `\n` (as the shell
|
|
33
|
+
passes through `--content "a\nb"`) is treated as a line break instead
|
|
34
|
+
of being shown verbatim. Structured key/value fields still render as
|
|
35
|
+
rows, now with a gap so the label never runs into the value.
|
|
36
|
+
|
|
37
|
+
## [0.1.28] - 2026-06-06
|
|
38
|
+
|
|
39
|
+
### Changed
|
|
40
|
+
|
|
41
|
+
- **BREAKING (SDK): `PmxCanvas.addNode()` now returns the created node**
|
|
42
|
+
(a `CanvasNodeState` with `id`, geometry, and data) instead of a bare
|
|
43
|
+
id string. Use `const { id } = canvas.addNode(...)` or keep the whole
|
|
44
|
+
node. The MCP / HTTP / CLI surfaces and the internal `CanvasAccess`
|
|
45
|
+
contract are unchanged (still id-based).
|
|
46
|
+
|
|
47
|
+
### Fixed
|
|
48
|
+
|
|
49
|
+
- Tufte graph nodes (DotPlot/Bullet/Slopegraph) no longer flicker: the
|
|
50
|
+
chart-height ResizeObserver no longer feeds the document's own scroll
|
|
51
|
+
overflow back into its height.
|
|
52
|
+
- Expanded Tufte graph views now fill the modal instead of staying
|
|
53
|
+
tile-sized with whitespace.
|
|
54
|
+
- Graph node iframes no longer show a doubled scrollbar; a chart that
|
|
55
|
+
fits shows none, a dense chart shows exactly one.
|
|
56
|
+
- Excalidraw / ext-app nodes paint on first mount instead of rendering
|
|
57
|
+
black until a manual expand/collapse (a post-layout host-context
|
|
58
|
+
nudge is delivered once the iframe has settled).
|
|
59
|
+
- `image` and `ledger` nodes get roomier default sizes (480×360 /
|
|
60
|
+
420×280) instead of a cramped 360-wide frame.
|
|
61
|
+
- `pmx-canvas web-artifact build` streams a stderr heartbeat during the
|
|
62
|
+
long install+bundle so agents don't see it as hung.
|
|
63
|
+
- json-render rejects an unknown `$`-directive (e.g. `$path`) with a
|
|
64
|
+
clear error pointing at `$state`, instead of rendering
|
|
65
|
+
`"[object Object]"`.
|
|
66
|
+
- Web-artifact script-path overrides are contained to the workspace with
|
|
67
|
+
a symlink-aware (realpath) check, fixing a false rejection on macOS.
|
|
68
|
+
- **Security:** the `/api/canvas/image/<id>` route now refuses to serve
|
|
69
|
+
files outside the workspace root (returns 403), closing a path-
|
|
70
|
+
traversal read (e.g. an image node pointed at `../../etc/passwd`).
|
|
71
|
+
|
|
6
72
|
## [0.1.27] - 2026-06-06
|
|
7
73
|
|
|
8
74
|
Big release: the full host-agnostic agent-experience (AX) primitive
|
|
@@ -1349,6 +1415,8 @@ otherwise have to discover by trial and error.
|
|
|
1349
1415
|
- Regression coverage for snapshot flat-`id` aliases on both MCP and
|
|
1350
1416
|
HTTP surfaces, plus async / top-level-`await` WebView script bodies.
|
|
1351
1417
|
|
|
1418
|
+
[0.1.29]: https://github.com/pskoett/pmx-canvas/releases/tag/v0.1.29
|
|
1419
|
+
[0.1.28]: https://github.com/pskoett/pmx-canvas/releases/tag/v0.1.28
|
|
1352
1420
|
[0.1.27]: https://github.com/pskoett/pmx-canvas/releases/tag/v0.1.27
|
|
1353
1421
|
[0.1.26]: https://github.com/pskoett/pmx-canvas/releases/tag/v0.1.26
|
|
1354
1422
|
[0.1.25]: https://github.com/pskoett/pmx-canvas/releases/tag/v0.1.25
|