pmx-canvas 0.3.2 → 0.3.4

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 (70) hide show
  1. package/CHANGELOG.md +69 -0
  2. package/Readme.md +2 -1
  3. package/dist/canvas/index.js +85 -83
  4. package/dist/json-render/index.js +47 -47
  5. package/dist/types/cli/agent.d.ts +13 -8
  6. package/dist/types/cli/commands/apps.d.ts +1 -0
  7. package/dist/types/cli/commands/ax.d.ts +1 -0
  8. package/dist/types/cli/commands/copilot.d.ts +1 -0
  9. package/dist/types/cli/commands/edges.d.ts +1 -0
  10. package/dist/types/cli/commands/groups.d.ts +1 -0
  11. package/dist/types/cli/commands/history.d.ts +1 -0
  12. package/dist/types/cli/commands/nodes.d.ts +1 -0
  13. package/dist/types/cli/commands/pins.d.ts +1 -0
  14. package/dist/types/cli/commands/query.d.ts +1 -0
  15. package/dist/types/cli/commands/view.d.ts +1 -0
  16. package/dist/types/cli/commands/webview.d.ts +1 -0
  17. package/dist/types/cli/daemon.d.ts +17 -0
  18. package/dist/types/cli/shared.d.ts +73 -0
  19. package/dist/types/client/canvas/ExpandedNodeOverlay.d.ts +1 -1
  20. package/dist/types/client/nodes/ExtAppFrame.d.ts +13 -0
  21. package/dist/types/client/nodes/HtmlNode.d.ts +1 -1
  22. package/dist/types/client/nodes/McpAppNode.d.ts +1 -1
  23. package/dist/types/client/nodes/use-ax-surface-bridge.d.ts +20 -0
  24. package/dist/types/server/canvas-operations.d.ts +2 -0
  25. package/dist/types/server/diagram-presets.d.ts +8 -0
  26. package/dist/types/server/operations/composites.d.ts +0 -9
  27. package/dist/types/shared/ax-surface-protocol.d.ts +18 -0
  28. package/docs/RELEASE.md +11 -0
  29. package/docs/bun-webview-integration.md +5 -0
  30. package/docs/environment.md +48 -0
  31. package/docs/node-types.md +5 -0
  32. package/docs/plans/plan-009-tech-debt-backlog.md +27 -9
  33. package/docs/screenshot.png +0 -0
  34. package/package.json +8 -5
  35. package/skills/pmx-canvas/SKILL.md +11 -8
  36. package/skills/pmx-canvas/evals/evals.json +5 -5
  37. package/skills/pmx-canvas/references/full-reference.md +8 -1
  38. package/src/cli/agent.ts +22 -3512
  39. package/src/cli/commands/apps.ts +165 -0
  40. package/src/cli/commands/ax.ts +604 -0
  41. package/src/cli/commands/copilot.ts +43 -0
  42. package/src/cli/commands/edges.ts +73 -0
  43. package/src/cli/commands/groups.ts +81 -0
  44. package/src/cli/commands/history.ts +220 -0
  45. package/src/cli/commands/nodes.ts +954 -0
  46. package/src/cli/commands/pins.ts +42 -0
  47. package/src/cli/commands/query.ts +223 -0
  48. package/src/cli/commands/view.ts +186 -0
  49. package/src/cli/commands/webview.ts +227 -0
  50. package/src/cli/daemon.ts +39 -7
  51. package/src/cli/shared.ts +860 -0
  52. package/src/client/canvas/ExpandedNodeOverlay.tsx +3 -2
  53. package/src/client/nodes/ExtAppFrame.tsx +166 -52
  54. package/src/client/nodes/HtmlNode.tsx +8 -51
  55. package/src/client/nodes/McpAppNode.tsx +12 -47
  56. package/src/client/nodes/use-ax-surface-bridge.ts +71 -0
  57. package/src/json-render/renderer/index.tsx +3 -2
  58. package/src/mcp/server.ts +0 -47
  59. package/src/server/bundled-skills.ts +5 -1
  60. package/src/server/canvas-operations.ts +8 -0
  61. package/src/server/diagram-presets.ts +15 -1
  62. package/src/server/html-surface.ts +11 -6
  63. package/src/server/operations/composites.ts +1 -13
  64. package/src/server/operations/invoker.ts +10 -3
  65. package/src/server/operations/mcp.ts +51 -1
  66. package/src/server/operations/ops/app.ts +5 -0
  67. package/src/server/server.ts +61 -3
  68. package/src/shared/ax-surface-protocol.ts +22 -0
  69. package/dist/types/client/canvas/ContextPinHud.d.ts +0 -1
  70. package/src/client/canvas/ContextPinHud.tsx +0 -17
package/CHANGELOG.md CHANGED
@@ -3,6 +3,73 @@
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.3.4] - 2026-08-03
7
+
8
+ ### Added
9
+
10
+ - A client component test harness (happy-dom + Testing Library) with the
11
+ first 20 render tests, plus dedicated suites for the semantic watch
12
+ reducer and the canvas schema (46 new tests). Test files are now
13
+ typechecked, and CI fails when total coverage drops below the recorded
14
+ floor.
15
+
16
+ ### Fixed
17
+
18
+ - App tiles now show a spinner and a "Connecting to <app>..." overlay while an
19
+ app frame boots or recovers, instead of a dark tile body (0.3.3 report: the
20
+ transient black window during automatic recovery).
21
+ - Composite tools now name the missing field when a required argument for the
22
+ chosen action is absent, instead of failing deep in the handler or silently
23
+ doing nothing.
24
+ - A pending code-graph recompute timer no longer outlives its server across
25
+ start/stop cycles.
26
+
27
+ ### Changed
28
+
29
+ - The sandboxed-surface AX bridge (the listener that validates and submits
30
+ iframe interactions) is now one shared implementation across html, app, and
31
+ viewer nodes, with the protocol tags defined in a single module. No behavior
32
+ change — this hardens a security boundary that was previously copy-pasted.
33
+ - The CLI dispatches every canvas command through the operation registry's
34
+ HTTP invoker instead of hand-written request paths; success output is
35
+ unchanged. One failure-path improvement: a failed `pmx-canvas batch` now
36
+ prints the full result envelope (`ok:false`, `failedIndex`, partial
37
+ `results`, `refs`) on stdout and exits 1, instead of a bare stderr error.
38
+
39
+ ### Docs
40
+
41
+ - WebView backend preflight: prefer webkit on macOS; the chrome backend can
42
+ show an "Allow remote debugging?" dialog that must be approved promptly, and
43
+ `PMX_CANVAS_WEBVIEW_TIMEOUT_MS` can be raised for slow starts.
44
+ - Skill evals: the two file-node eval prompts now reference the bundled
45
+ fixture paths, so a literal eval run works in any workspace.
46
+ - Web-artifact builds are documented as POSIX-only (the build pipeline runs
47
+ bash scripts); already-built artifacts render on every platform.
48
+ - All `PMX_*` environment variables are documented in
49
+ [`docs/environment.md`](docs/environment.md).
50
+
51
+ ## [0.3.3] - 2026-07-08
52
+
53
+ ### Fixed
54
+
55
+ - App tiles that load while a WebKit host panel is hidden now retry their
56
+ repaint when the panel becomes visible, instead of staying black until a
57
+ manual expand-and-close (0.3.2 report Finding N; best-effort — the manual
58
+ recovery still applies).
59
+ - The WebKit repaint watchdog no longer remount-loops apps that boot without
60
+ sending an initialized handshake.
61
+ - `HEAD` requests to graph and json-render surface URLs now answer like `GET`
62
+ instead of returning 404 (Finding O).
63
+ - `serve status` now reports the pid actually serving the port and marks a
64
+ stale pid file explicitly, instead of the confusing `running: true,
65
+ pidRunning: false` combination after a host adapter respawn (Finding P).
66
+
67
+ ### Added
68
+
69
+ - Black-tile diagnostics: the canvas mirrors its app-recovery trail to the
70
+ server; read it at `GET /api/canvas/debug/ext-app-recovery` when reporting a
71
+ rendering issue from a host panel.
72
+
6
73
  ## [0.3.2] - 2026-07-08
7
74
 
8
75
  ### Added
@@ -2712,6 +2779,8 @@ otherwise have to discover by trial and error.
2712
2779
  - Regression coverage for snapshot flat-`id` aliases on both MCP and
2713
2780
  HTTP surfaces, plus async / top-level-`await` WebView script bodies.
2714
2781
 
2782
+ [0.3.4]: https://github.com/pskoett/pmx-canvas/releases/tag/v0.3.4
2783
+ [0.3.3]: https://github.com/pskoett/pmx-canvas/releases/tag/v0.3.3
2715
2784
  [0.3.2]: https://github.com/pskoett/pmx-canvas/releases/tag/v0.3.2
2716
2785
  [0.3.1]: https://github.com/pskoett/pmx-canvas/releases/tag/v0.3.1
2717
2786
  [0.3.0]: https://github.com/pskoett/pmx-canvas/releases/tag/v0.3.0
package/Readme.md CHANGED
@@ -107,7 +107,8 @@ the DB so SQLite WAL data is checkpointed into the file.
107
107
 
108
108
  Harness-agnostic. Drive the canvas from [MCP](docs/mcp.md) (27 tools,
109
109
  14 resources, change notifications), the [CLI](docs/cli.md), the
110
- [HTTP API](docs/http-api.md), or the [Bun SDK](docs/sdk.md). Works with
110
+ [HTTP API](docs/http-api.md), or the [Bun SDK](docs/sdk.md) — all
111
+ [environment variables documented here](docs/environment.md). Works with
111
112
  Claude Code, GitHub Copilot CLI, Codex, Cursor, Windsurf, or any agent
112
113
  that can spawn an MCP stdio server, call a CLI, or hit an HTTP endpoint.
113
114