pmx-canvas 0.1.33 → 0.1.34

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 CHANGED
@@ -5,6 +5,59 @@ All notable changes to `pmx-canvas` are documented here. This project follows
5
5
 
6
6
  ## [Unreleased]
7
7
 
8
+ ## [0.1.34] - 2026-06-08
9
+
10
+ ### Added
11
+
12
+ - **Adapterless agents see browser-originated AX activity (report #43).**
13
+ `canvas://ax-pending-steering` and `canvas_claim_ax_delivery` now return a
14
+ `pendingActivity` digest alongside `pending` steering: open canvas-bound items
15
+ awaiting the agent — open work items and pending approval gates / elicitations /
16
+ mode requests, typically created by the human in the browser. Every AX mutation
17
+ already fires `ax-state-changed` (so MCP clients that subscribe are pushed
18
+ `canvas://ax-work` live); `pendingActivity` closes the gap for clients that
19
+ **poll** the delivery surface instead. Loop-safe (a consumer never sees items it
20
+ originated) and read-only there — resolve each via its own tool
21
+ (`canvas_resolve_approval` / `canvas_respond_elicitation` / `canvas_resolve_mode`
22
+ / `canvas_update_work_item`), not `canvas_mark_ax_delivery` (that stays
23
+ steering-only).
24
+
25
+ ### Changed
26
+
27
+ - **`POST /api/canvas/graph` accepts `heightPx` / `nodeHeight` for the node frame
28
+ height.** `height` sets the chart's plot height; the node frame previously only
29
+ honored `nodeHeight` / `size.height`, so a caller passing `height`/`heightPx`
30
+ expecting the node to resize got the default. `heightPx` is now an alias for the
31
+ node frame height (matching the SDK input field), removing the silent surprise.
32
+ (With content-fit the node grows to the chart regardless; this is a DX fix.)
33
+ - **"Open as site" opens in the system browser.** A node's "Open as site" action
34
+ (the header `↗` and the expanded-overlay button) now opens the standalone surface
35
+ in the real OS browser via `POST /api/canvas/open-external`, replacing the
36
+ separate "Open in system browser" button (one action instead of two). The
37
+ endpoint accepts an optional `{ url }` limited to the node's own surface route
38
+ (origin + pathname checked, `400` otherwise) so a caller can preserve safe
39
+ presentation params like the current theme without any SSRF risk; it still falls
40
+ back to a normal new browser tab when the OS launch is unavailable.
41
+
42
+ ### Fixed
43
+
44
+ - **Nodes grow to fit their content — graph clipping (report #48).** Iframe-backed
45
+ surfaces (graph, json-render, html/html-primitive, web-artifact) now report their
46
+ natural content height to the parent over a nonce-validated `content-height`
47
+ postMessage bridge, and the node **grows** to fit it. This fixes graphs created at
48
+ a small height (e.g. 300px in an embedded panel) rendering with the chart cut off
49
+ at the bottom — the node now sizes to the chart (title + plot + axes + labels).
50
+ - **Grow-only & gated:** a node only ever grows (never shrinks), so it can't
51
+ clip and — being monotonic with a dead-band — can't oscillate (the old
52
+ Tufte-chart flicker is structurally impossible). Skipped for `strictSize`,
53
+ user-resized, docked, collapsed, and group nodes, and for unbounded/scrolling
54
+ surfaces (presentation decks, hosted ext-apps, URL/webpage viewers).
55
+ - Charts render at their **intrinsic** height when the node is auto-fitting (so
56
+ the reported height is stable and the node converges in one step); they still
57
+ fill the frame down for fixed-size (strictSize / user-resized) nodes.
58
+ - Iframe surfaces grow up to ~1400px before scrolling (text nodes keep the ~600px
59
+ cap). A manual resize marks the node `userResized` and turns content-fit off.
60
+
8
61
  ## [0.1.33] - 2026-06-08
9
62
 
10
63
  ### Changed
@@ -1710,6 +1763,7 @@ otherwise have to discover by trial and error.
1710
1763
  - Regression coverage for snapshot flat-`id` aliases on both MCP and
1711
1764
  HTTP surfaces, plus async / top-level-`await` WebView script bodies.
1712
1765
 
1766
+ [0.1.34]: https://github.com/pskoett/pmx-canvas/releases/tag/v0.1.34
1713
1767
  [0.1.33]: https://github.com/pskoett/pmx-canvas/releases/tag/v0.1.33
1714
1768
  [0.1.32]: https://github.com/pskoett/pmx-canvas/releases/tag/v0.1.32
1715
1769
  [0.1.31]: https://github.com/pskoett/pmx-canvas/releases/tag/v0.1.31