pmx-canvas 0.4.3 → 0.4.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.
- package/CHANGELOG.md +27 -0
- package/Readme.md +7 -6
- package/dist/canvas/global.css +55 -0
- package/dist/canvas/index.js +2 -2
- package/dist/canvas/surface-theme.css +32 -0
- package/dist/types/cli/agent.d.ts +1 -0
- package/dist/types/cli/commands/skills.d.ts +41 -0
- package/dist/types/client/state/sse-bridge.d.ts +1 -0
- package/dist/types/shared/themes.d.ts +1 -1
- package/docs/RELEASE.md +14 -6
- package/docs/bun-webview-integration.md +2 -2
- package/docs/cli.md +24 -1
- package/docs/environment.md +2 -2
- package/docs/http-api.md +6 -3
- package/docs/plans/plan-009-tech-debt-backlog.md +4 -3
- package/docs/screenshot.png +0 -0
- package/package.json +1 -1
- package/skills/pmx-canvas/SKILL.md +14 -4
- package/skills/pmx-canvas/references/full-reference.md +1 -1
- package/skills/pmx-canvas-testing/SKILL.md +4 -0
- package/src/cli/agent.ts +1 -0
- package/src/cli/commands/skills.ts +183 -0
- package/src/cli/index.ts +3 -1
- package/src/cli/shared.ts +1 -0
- package/src/client/state/sse-bridge.ts +14 -3
- package/src/client/theme/global.css +55 -0
- package/src/client/theme/surface-theme.css +32 -0
- package/src/server/operations/ops/canvas-wire.ts +1 -1
- package/src/server/server.ts +13 -2
- package/src/shared/themes.ts +2 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,32 @@
|
|
|
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.4.4] - 2026-08-06
|
|
7
|
+
|
|
8
|
+
### Fixed
|
|
9
|
+
|
|
10
|
+
- Amp orb pages now default straight to the polling transport instead of
|
|
11
|
+
waiting out the 3-second SSE watchdog behind the portal's buffering proxy —
|
|
12
|
+
on slow proxy days that wait could trip the "did not finish booting" modal.
|
|
13
|
+
`?transport=sse` still overrides for diagnosis.
|
|
14
|
+
- When the SSE watchdog does fall back to polling mid-boot (non-orb buffering
|
|
15
|
+
proxies), the boot screen now shows "switching to polling" and restarts its
|
|
16
|
+
deadline instead of alarming while the fallback is already recovering.
|
|
17
|
+
|
|
18
|
+
### Added
|
|
19
|
+
|
|
20
|
+
- A ninth theme, `volt` — built from the Amp app's real palette (green-tinted
|
|
21
|
+
charcoal neutrals, warm green-white text, coral accent). `ember` stays
|
|
22
|
+
unchanged.
|
|
23
|
+
- `pmx-canvas skills sync --yes` refreshes the pmx-canvas skill copies already
|
|
24
|
+
installed in the workspace — whatever agent layout owns them — by comparing
|
|
25
|
+
and replacing whole trees from the installed package; `--check` (or running
|
|
26
|
+
without `--yes`) reports drift and exits 1 without changing anything. A
|
|
27
|
+
directory whose `SKILL.md` identity doesn't match the bundled skill is
|
|
28
|
+
skipped, never replaced, and it never creates a copy where none is
|
|
29
|
+
installed. This automates the sync every release test cycle previously did
|
|
30
|
+
by hand.
|
|
31
|
+
|
|
6
32
|
## [0.4.3] - 2026-08-05
|
|
7
33
|
|
|
8
34
|
### Added
|
|
@@ -2912,6 +2938,7 @@ otherwise have to discover by trial and error.
|
|
|
2912
2938
|
- Regression coverage for snapshot flat-`id` aliases on both MCP and
|
|
2913
2939
|
HTTP surfaces, plus async / top-level-`await` WebView script bodies.
|
|
2914
2940
|
|
|
2941
|
+
[0.4.4]: https://github.com/pskoett/pmx-canvas/releases/tag/v0.4.4
|
|
2915
2942
|
[0.4.3]: https://github.com/pskoett/pmx-canvas/releases/tag/v0.4.3
|
|
2916
2943
|
[0.4.2]: https://github.com/pskoett/pmx-canvas/releases/tag/v0.4.2
|
|
2917
2944
|
[0.4.1]: https://github.com/pskoett/pmx-canvas/releases/tag/v0.4.1
|
package/Readme.md
CHANGED
|
@@ -151,12 +151,13 @@ surfaces (the core never imports a host SDK).
|
|
|
151
151
|
live workbench through the Amp portal (the `*.onamp.dev` URL ampcode.com
|
|
152
152
|
embeds for the thread). Zero configuration: orbs set `AMP_ORB` in the
|
|
153
153
|
service environment, and the canvas auto-adapts to the portal's constraints
|
|
154
|
-
— it
|
|
155
|
-
event stream, and renders HTML, graph, json-render,
|
|
156
|
-
via `srcdoc` because the nested-iframe embed blocks
|
|
157
|
-
(
|
|
158
|
-
when diagnosing).
|
|
159
|
-
|
|
154
|
+
— it defaults straight to the proxy-safe polling transport (the portal
|
|
155
|
+
proxy buffers the live event stream), and renders HTML, graph, json-render,
|
|
156
|
+
and app surfaces inline via `srcdoc` because the nested-iframe embed blocks
|
|
157
|
+
`src`-URL child iframes (`?transport=sse` and `?iframe-mode=src` override
|
|
158
|
+
either behavior when diagnosing). Non-orb buffering proxies get the same
|
|
159
|
+
protections via runtime detection: an SSE watchdog that falls back to
|
|
160
|
+
polling, and the boot-time iframe probe.
|
|
160
161
|
<!-- screenshot: docs/screenshots/amp-orb-portal.png — PMX Canvas live inside the Amp portal (to be added) -->
|
|
161
162
|
|
|
162
163
|
Any other app browser (the ChatGPT desktop app, an IDE webview, …) works the
|
package/dist/canvas/global.css
CHANGED
|
@@ -446,6 +446,61 @@
|
|
|
446
446
|
--c-annotation: #EDF5EF;
|
|
447
447
|
}
|
|
448
448
|
|
|
449
|
+
:root[data-theme="volt"] {
|
|
450
|
+
/* ── Core palette (volt · green-tinted charcoal + coral) ── */
|
|
451
|
+
--c-bg: #0B0D0B;
|
|
452
|
+
--c-panel: #171A17;
|
|
453
|
+
--c-panel-soft: #111311;
|
|
454
|
+
--c-line: #272A27;
|
|
455
|
+
--c-text: #F6FFF5;
|
|
456
|
+
--c-text-soft: #CBD3CA;
|
|
457
|
+
--c-muted: #9CA49C;
|
|
458
|
+
--c-dim: #626962;
|
|
459
|
+
--c-accent: #F34E3F;
|
|
460
|
+
--c-ok: #52C880;
|
|
461
|
+
--c-warn: #E4C465;
|
|
462
|
+
--c-warn-alt: #FFB300;
|
|
463
|
+
--c-danger: #D67670;
|
|
464
|
+
--c-purple: #BC8FB4;
|
|
465
|
+
--c-thinking: #BC8FB4;
|
|
466
|
+
--c-subagent: #6CA0E0;
|
|
467
|
+
--c-input-bg: #111311;
|
|
468
|
+
--c-dot-grid: rgba(243, 78, 63, 0.08);
|
|
469
|
+
--c-panel-overlay: rgba(11, 13, 11, 0.6);
|
|
470
|
+
--c-panel-glass: rgba(23, 26, 23, 0.92);
|
|
471
|
+
--c-shadow: rgba(0, 0, 0, 0.3);
|
|
472
|
+
--c-shadow-heavy: rgba(0, 0, 0, 0.5);
|
|
473
|
+
--c-glow-accent: rgba(243, 78, 63, 0.15);
|
|
474
|
+
--c-surface-hover: rgba(255, 255, 255, 0.06);
|
|
475
|
+
--c-surface-subtle: rgba(255, 255, 255, 0.03);
|
|
476
|
+
--c-surface-th: rgba(255, 255, 255, 0.04);
|
|
477
|
+
--c-accent-8: rgba(243, 78, 63, 0.08);
|
|
478
|
+
--c-accent-10: rgba(243, 78, 63, 0.1);
|
|
479
|
+
--c-accent-12: rgba(243, 78, 63, 0.12);
|
|
480
|
+
--c-accent-15: rgba(243, 78, 63, 0.15);
|
|
481
|
+
--c-accent-25: rgba(243, 78, 63, 0.25);
|
|
482
|
+
--c-accent-30: rgba(243, 78, 63, 0.3);
|
|
483
|
+
--c-accent-40: rgba(243, 78, 63, 0.4);
|
|
484
|
+
--c-ok-10: rgba(82, 200, 128, 0.1);
|
|
485
|
+
--c-ok-12: rgba(82, 200, 128, 0.12);
|
|
486
|
+
--c-ok-20: rgba(82, 200, 128, 0.2);
|
|
487
|
+
--c-ok-25: rgba(82, 200, 128, 0.25);
|
|
488
|
+
--c-warn-10: rgba(228, 196, 101, 0.1);
|
|
489
|
+
--c-warn-12: rgba(228, 196, 101, 0.12);
|
|
490
|
+
--c-warn-15: rgba(228, 196, 101, 0.15);
|
|
491
|
+
--c-warn-20: rgba(228, 196, 101, 0.2);
|
|
492
|
+
--c-warn-22: rgba(228, 196, 101, 0.22);
|
|
493
|
+
--c-warn-30: rgba(228, 196, 101, 0.3);
|
|
494
|
+
--c-warn-60: rgba(228, 196, 101, 0.6);
|
|
495
|
+
--c-danger-12: rgba(214, 118, 112, 0.12);
|
|
496
|
+
--c-line-30: rgba(39, 42, 39, 0.3);
|
|
497
|
+
--c-contrast-fg: #0B0D0B;
|
|
498
|
+
--c-accent-hover: #F8695B;
|
|
499
|
+
--c-warn-hover: #EBD087;
|
|
500
|
+
--c-canvas-wash: linear-gradient(180deg, rgba(255, 255, 255, 0.02), rgba(0, 0, 0, 0));
|
|
501
|
+
--c-annotation: #F1F7F0;
|
|
502
|
+
}
|
|
503
|
+
|
|
449
504
|
* {
|
|
450
505
|
box-sizing: border-box;
|
|
451
506
|
margin: 0;
|