lavish-axi 0.1.39 → 0.1.40
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/README.md +15 -10
- package/THIRD-PARTY-NOTICES.md +63 -0
- package/dist/chrome-client.js +508 -4
- package/dist/chrome.css +67 -0
- package/dist/cli.mjs +487 -56
- package/dist/whiteboard/Assistant-Bold-ZDZZ6JHA.woff2 +0 -0
- package/dist/whiteboard/Assistant-Medium-DZ25RZU3.woff2 +0 -0
- package/dist/whiteboard/Assistant-Regular-PLF2XOGW.woff2 +0 -0
- package/dist/whiteboard/Assistant-SemiBold-CZ5MX6FK.woff2 +0 -0
- package/dist/whiteboard/fonts/Assistant/Assistant-Bold.woff2 +0 -0
- package/dist/whiteboard/fonts/Assistant/Assistant-Medium.woff2 +0 -0
- package/dist/whiteboard/fonts/Assistant/Assistant-Regular.woff2 +0 -0
- package/dist/whiteboard/fonts/Assistant/Assistant-SemiBold.woff2 +0 -0
- package/dist/whiteboard/fonts/Cascadia/CascadiaCode-Regular.woff2 +0 -0
- package/dist/whiteboard/fonts/ComicShanns/ComicShanns-Regular-279a7b317d12eb88de06167bd672b4b4.woff2 +0 -0
- package/dist/whiteboard/fonts/ComicShanns/ComicShanns-Regular-6e066e8de2ac57ea9283adb9c24d7f0c.woff2 +0 -0
- package/dist/whiteboard/fonts/ComicShanns/ComicShanns-Regular-dc6a8806fa96795d7b3be5026f989a17.woff2 +0 -0
- package/dist/whiteboard/fonts/ComicShanns/ComicShanns-Regular-fcb0fc02dcbee4c9846b3e2508668039.woff2 +0 -0
- package/dist/whiteboard/fonts/Excalifont/Excalifont-Regular-349fac6ca4700ffec595a7150a0d1e1d.woff2 +0 -0
- package/dist/whiteboard/fonts/Excalifont/Excalifont-Regular-3f2c5db56cc93c5a6873b1361d730c16.woff2 +0 -0
- package/dist/whiteboard/fonts/Excalifont/Excalifont-Regular-41b173a47b57366892116a575a43e2b6.woff2 +0 -0
- package/dist/whiteboard/fonts/Excalifont/Excalifont-Regular-623ccf21b21ef6b3a0d87738f77eb071.woff2 +0 -0
- package/dist/whiteboard/fonts/Excalifont/Excalifont-Regular-a88b72a24fb54c9f94e3b5fdaa7481c9.woff2 +0 -0
- package/dist/whiteboard/fonts/Excalifont/Excalifont-Regular-b9dcf9d2e50a1eaf42fc664b50a3fd0d.woff2 +0 -0
- package/dist/whiteboard/fonts/Excalifont/Excalifont-Regular-be310b9bcd4f1a43f571c46df7809174.woff2 +0 -0
- package/dist/whiteboard/fonts/Liberation/LiberationSans-Regular.woff2 +0 -0
- package/dist/whiteboard/fonts/Lilita/Lilita-Regular-i7dPIFZ9Zz-WBtRtedDbYE98RXi4EwSsbg.woff2 +0 -0
- package/dist/whiteboard/fonts/Lilita/Lilita-Regular-i7dPIFZ9Zz-WBtRtedDbYEF8RXi4EwQ.woff2 +0 -0
- package/dist/whiteboard/fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTA3j6zbXWjgevT5.woff2 +0 -0
- package/dist/whiteboard/fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTQ3j6zbXWjgeg.woff2 +0 -0
- package/dist/whiteboard/fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTk3j6zbXWjgevT5.woff2 +0 -0
- package/dist/whiteboard/fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTo3j6zbXWjgevT5.woff2 +0 -0
- package/dist/whiteboard/fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTs3j6zbXWjgevT5.woff2 +0 -0
- package/dist/whiteboard/fonts/Virgil/Virgil-Regular.woff2 +0 -0
- package/dist/whiteboard/whiteboard.css +1 -0
- package/dist/whiteboard/whiteboard.js +3559 -0
- package/package.json +9 -2
- package/skills/lavish/SKILL.md +2 -1
package/README.md
CHANGED
|
@@ -31,10 +31,10 @@ HTML is the new markdown. Lavish is the new editor for your HTML artifacts.
|
|
|
31
31
|
Agents are good at producing rich HTML artifacts, but the human-agent collaboration loop on such artifacts is lacking and falls back into screenshots and long responses for “tell me what to change.”
|
|
32
32
|
That loses the thing HTML is best at: interactivity.
|
|
33
33
|
|
|
34
|
-
Lavish Editor opens agent-generated HTML files in a local browser, lets you pinpoint elements
|
|
34
|
+
Lavish Editor opens agent-generated HTML files in a local browser, lets you pinpoint elements and selected text, edit rendered Mermaid diagrams as whiteboards, and send feedback to the agent to address.
|
|
35
35
|
|
|
36
36
|
- **Local-first** - Review local HTML artifacts with a local CLI and no cloud dependency in the core feedback loop; hosted sharing through third-party ht-ml.app is explicit and opt-in.
|
|
37
|
-
- **Human-AI collaboration** - Annotate elements
|
|
37
|
+
- **Human-AI collaboration** - Annotate elements and selected text ranges, edit Mermaid diagrams as whiteboards, and send messages to the agent without leaving Lavish Editor.
|
|
38
38
|
- **Battery included** - Lavish Editor teaches your agent good visualization for common use cases such as product or technical plans, design explorations and more out of the box.
|
|
39
39
|
|
|
40
40
|
Lavish Editor is an [AXI](https://axi.md), which means -
|
|
@@ -134,11 +134,7 @@ pnpm link
|
|
|
134
134
|
- **File-path identity** - Sessions are keyed by the canonical HTML file path, so agents do not need opaque IDs.
|
|
135
135
|
- **Portable artifacts** - The artifact runs in an iframe while Lavish injects a small SDK for annotations, snapshots, feedback controls, and render-time layout checks.
|
|
136
136
|
Lavish does not inject any design system, so the saved HTML file renders identically whether you open it through `lavish-axi` or directly in a browser.
|
|
137
|
-
|
|
138
|
-
If the artifact previews, proposes, or mocks a specific app's UI, render it in that app's own design system so it faithfully shows the product, even when you are running in a different repo.
|
|
139
|
-
Only when both come up empty, run `lavish-axi design` for a copy-pasteable Tailwind CSS v4 + DaisyUI v5 CDN fallback, a content-to-playbook router, and Mermaid diagram tooling.
|
|
140
|
-
That fallback guidance recommends DaisyUI's `luxury` theme by default, warns not to `@apply` DaisyUI classes inside Tailwind browser-runtime style blocks, includes an optional layout safety CSS snippet for dense nested grid/flex layouts, and provides a pinned, theme-aware Mermaid CDN snippet for flows, architecture, state, and sequence diagrams.
|
|
141
|
-
The Mermaid snippet waits for page styles, chooses its light or dark rendering from the effective page background, and keeps diagrams in sync with page-theme and OS appearance changes.
|
|
137
|
+
Run `lavish-axi design` for the single source of agent-facing design guidance and optional CDN or Mermaid snippets.
|
|
142
138
|
- **Open-time layout gate** - The browser chrome masks each artifact until the real in-iframe layout audit reports no error-severity findings.
|
|
143
139
|
Warning-only artifacts reveal normally; error findings notify the agent through the same `layout_warnings` poll path and keep the curtain up until a clean reload.
|
|
144
140
|
The user can click **Show anyway**, and a bounded safety timeout reveals with a persistent layout-issues banner so review is never blocked indefinitely.
|
|
@@ -169,11 +165,20 @@ pnpm link
|
|
|
169
165
|
Agent-initiated ends keep reopening normally, same as before.
|
|
170
166
|
`lavish-axi poll`'s `ended` response and the `feedback` response for the final batch before an end both carry `next_step` guidance telling the agent to stop polling and deliver remaining updates in chat instead of reopening.
|
|
171
167
|
- **Precise targets** - Text annotations include selected text plus range anchors, so agents are not limited to whole-element selectors.
|
|
172
|
-
- **Mermaid diagrams** -
|
|
168
|
+
- **Mermaid diagrams** - In the Lavish browser, every rendered Mermaid diagram in a `.mermaid` container becomes an embedded editable Excalidraw whiteboard.
|
|
169
|
+
Click a diagram to unlock editing, and use its Fullscreen action to edit it over the whole viewport.
|
|
170
|
+
Whiteboard scenes autosave locally.
|
|
171
|
+
If a live reload changes the Mermaid source, the whiteboard shows that its edits are stale; reopening it lets the reviewer re-convert and discard the saved edits or keep editing the saved scene.
|
|
172
|
+
Use **Queue feedback** to add a bounded edit summary plus local `.excalidraw` scene and PNG preview paths to the Conversation panel, then click **Send to Agent** to deliver it.
|
|
173
|
+
The agent updates the artifact's Mermaid source, which remains authoritative.
|
|
174
|
+
Flowchart, sequence, class, ER, and state diagrams convert to editable shapes; other diagram types are images that reviewers can draw and annotate.
|
|
175
|
+
Lavish changes only the browser view, so saved, standalone, and exported artifacts still render plain Mermaid.
|
|
173
176
|
- **Server cleanup** - The detached server stops after the last session ends when nothing is connected, or after `LAVISH_AXI_IDLE_TIMEOUT_MS` (default 30 minutes) with no browser or poll connections.
|
|
174
177
|
Set `LAVISH_AXI_IDLE_TIMEOUT_MS=0` or `off` to disable idle self-shutdown.
|
|
175
178
|
- **Local-first state** - Session state stays under `~/.lavish-axi/` by default, or `LAVISH_AXI_STATE_DIR` when set.
|
|
179
|
+
- **Server port** - Set `LAVISH_AXI_PORT` to choose the server port; it defaults to `4387`.
|
|
176
180
|
- **Network binding** - The server binds to loopback (`127.0.0.1`) by default. Set `LAVISH_AXI_HOST` to bind elsewhere; a wildcard (`0.0.0.0` or `::`) binds every interface. Binding beyond loopback exposes an unauthenticated server that can read and serve arbitrary local files to anything that can reach it, so only do so on a trusted network. Set `LAVISH_AXI_LINK_HOST` to control the hostname written into generated session links (defaults to the bind address, or loopback when bound to a wildcard).
|
|
181
|
+
- **Browser opening** - Set `LAVISH_AXI_NO_OPEN=1`, equivalent to `--no-open`, to create or resume a session without launching a browser window.
|
|
177
182
|
|
|
178
183
|
## CLI Reference
|
|
179
184
|
|
|
@@ -188,13 +193,13 @@ pnpm link
|
|
|
188
193
|
| `lavish-axi share <html-file>` | Publish the artifact (local assets inlined) to [ht-ml.app](https://ht-ml.app), a third-party host not part of Lavish, and print a visitable URL plus a secret update key; shares are public by default, and `--password` makes viewers enter the password before viewing. |
|
|
189
194
|
| `lavish-axi stop` | Shut down the background server. |
|
|
190
195
|
| `lavish-axi playbook [id]` | List focused artifact guidance or show one playbook; agents must open each matching playbook before writing HTML. |
|
|
191
|
-
| `lavish-axi design` | Show
|
|
196
|
+
| `lavish-axi design` | Show agent-facing design guidance, including optional CDN and Mermaid snippets. |
|
|
192
197
|
| `lavish-axi setup hooks` | Install or repair optional SessionStart hooks for Claude Code, Codex, OpenCode, and GitHub Copilot CLI; restart the agent session afterward. |
|
|
193
198
|
| `lavish-axi server` | Run the local Lavish Editor server. |
|
|
194
199
|
|
|
195
200
|
Known playbook IDs: `diagram`, `table`, `comparison`, `plan`, `code`, `input`, `slides`.
|
|
196
201
|
One artifact often combines several playbooks, such as a plan that includes a comparison and a diagram, so agents must match against each `use_when` trigger and open every matching playbook before writing HTML.
|
|
197
|
-
For flows, architecture, state, or sequence diagrams, open the diagram playbook
|
|
202
|
+
For flows, architecture, state, or sequence diagrams, open the diagram playbook for the recommended tooling and SVG guidance.
|
|
198
203
|
|
|
199
204
|
### Flags
|
|
200
205
|
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Third-party notices
|
|
2
|
+
|
|
3
|
+
The published `lavish-axi` package vendors the following third-party software into `dist/`.
|
|
4
|
+
Each component remains under its own license; the notices below satisfy their attribution requirements.
|
|
5
|
+
The whiteboard bundle (`dist/whiteboard/`) is built from these packages by `scripts/build.js`.
|
|
6
|
+
|
|
7
|
+
## Bundled into `dist/whiteboard/whiteboard.js` and `whiteboard.css`
|
|
8
|
+
|
|
9
|
+
| Package | License | Copyright |
|
|
10
|
+
| ---------------------------------------------------- | ------- | ------------------------------------------------- |
|
|
11
|
+
| `@excalidraw/excalidraw` | MIT | Copyright (c) 2020 Excalidraw |
|
|
12
|
+
| `@excalidraw/mermaid-to-excalidraw` | MIT | Copyright (c) 2023 Excalidraw |
|
|
13
|
+
| `mermaid` (exact 11.12.1, bundled for the converter) | MIT | Copyright (c) 2014 - 2022 Knut Sveidqvist |
|
|
14
|
+
| `react`, `react-dom` | MIT | Copyright (c) Meta Platforms, Inc. and affiliates |
|
|
15
|
+
|
|
16
|
+
The full MIT license text applies to each of the packages above:
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
20
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
21
|
+
in the Software without restriction, including without limitation the rights
|
|
22
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
23
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
24
|
+
furnished to do so, subject to the following conditions:
|
|
25
|
+
|
|
26
|
+
The above copyright notice and this permission notice shall be included in all
|
|
27
|
+
copies or substantial portions of the Software.
|
|
28
|
+
|
|
29
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
30
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
31
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
32
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
33
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
34
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
35
|
+
SOFTWARE.
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Fonts vendored into `dist/whiteboard/fonts/` (from `@excalidraw/excalidraw`)
|
|
39
|
+
|
|
40
|
+
| Family | License |
|
|
41
|
+
| --------------- | -------------------------------------------- |
|
|
42
|
+
| Excalifont | MIT (created for Excalidraw) |
|
|
43
|
+
| Virgil | MIT (created for Excalidraw by Ellinor Rapp) |
|
|
44
|
+
| Nunito | SIL Open Font License 1.1 |
|
|
45
|
+
| Assistant | SIL Open Font License 1.1 |
|
|
46
|
+
| Cascadia Code | SIL Open Font License 1.1 |
|
|
47
|
+
| Comic Shanns | MIT |
|
|
48
|
+
| Liberation Sans | SIL Open Font License 1.1 |
|
|
49
|
+
| Lilita One | SIL Open Font License 1.1 |
|
|
50
|
+
|
|
51
|
+
The Xiaolai family (CJK glyphs) is intentionally not vendored; Excalidraw falls back to its CDN or the system font for those glyphs.
|
|
52
|
+
|
|
53
|
+
## Bundled into `dist/design/` (pre-existing)
|
|
54
|
+
|
|
55
|
+
| Asset | License |
|
|
56
|
+
| ------------------------------------------------- | ------- |
|
|
57
|
+
| `daisyui.css`, `daisyui-themes.css` (daisyUI) | MIT |
|
|
58
|
+
| `tailwindcss-browser.js` (`@tailwindcss/browser`) | MIT |
|
|
59
|
+
|
|
60
|
+
## Pre-publication audit note
|
|
61
|
+
|
|
62
|
+
Font license attributions above were compiled from each family's upstream project.
|
|
63
|
+
Before any npm publication that changes the vendored font set, re-verify each family's license file upstream (the `@excalidraw/excalidraw` npm package does not ship per-font license files).
|