mulmoterminal 9.8.0 → 10.0.0
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 +9 -3
- package/common/mdPreviewMessage.ts +8 -4
- package/common/tokenRotation.ts +4 -0
- package/dist/assets/{abnfDiagram-YUKMZFIV-zyG-UwYd.js → abnfDiagram-YUKMZFIV-31Nf4cpv.js} +1 -1
- package/dist/assets/{architecture-WOLXFQ4H-BwusCnuP.js → architecture-WOLXFQ4H-6DkgNuLK.js} +1 -1
- package/dist/assets/{architectureDiagram-47P4ROYG-D7YcR9bo.js → architectureDiagram-47P4ROYG-NeCfyPh8.js} +1 -1
- package/dist/assets/{blockDiagram-E7TT5TSB-BtcdxO-7.js → blockDiagram-E7TT5TSB-D7WD2ph0.js} +1 -1
- package/dist/assets/{c4Diagram-CRA5TL53-B43k6MD-.js → c4Diagram-CRA5TL53-BLKY2U3M.js} +1 -1
- package/dist/assets/channel-OFYWnUcl.js +1 -0
- package/dist/assets/{chunk-2BW5OAIV-BikeK-tv.js → chunk-2BW5OAIV-DPXwJuBw.js} +1 -1
- package/dist/assets/{chunk-3YJQHVM4-n_iFO7n9.js → chunk-3YJQHVM4-DN6CeOxn.js} +1 -1
- package/dist/assets/{chunk-4EA7E6EY-Bpd0X581.js → chunk-4EA7E6EY-D0kXU4pi.js} +1 -1
- package/dist/assets/{chunk-7TKQ45FW-RYNhINxL.js → chunk-7TKQ45FW-TSAvwz8V.js} +1 -1
- package/dist/assets/{chunk-AW2ZBBNX-B0kfmjxC.js → chunk-AW2ZBBNX-CIZiJXzS.js} +1 -1
- package/dist/assets/{chunk-DBDB3WZW-w_bcBN1W.js → chunk-DBDB3WZW-CG958vxr.js} +1 -1
- package/dist/assets/{chunk-E2ZNV5FY-X_CIqRj0.js → chunk-E2ZNV5FY-C4YqgfMn.js} +1 -1
- package/dist/assets/{chunk-EU5HNXII-Cfa4b4Ay.js → chunk-EU5HNXII-D7nOlQ5r.js} +1 -1
- package/dist/assets/{chunk-FVRAUYC3-XlrFmQ3o.js → chunk-FVRAUYC3-B5_Ue0tg.js} +1 -1
- package/dist/assets/{chunk-HJ2JQQFS-E2ACvaz_.js → chunk-HJ2JQQFS-CI4HFsJk.js} +1 -1
- package/dist/assets/{chunk-HTAEGDNF-DTs2QEx8.js → chunk-HTAEGDNF-DSIwBS5P.js} +1 -1
- package/dist/assets/{chunk-KQW6MTUR-X8wNtPpU.js → chunk-KQW6MTUR-w3k69aj0.js} +1 -1
- package/dist/assets/{chunk-NTY3LDVX-ORfE1UBr.js → chunk-NTY3LDVX-CXuEeT_h.js} +1 -1
- package/dist/assets/{chunk-VPRB5NB3-D5XLjvK4.js → chunk-VPRB5NB3-8X230GH4.js} +1 -1
- package/dist/assets/{chunk-XC4XBNZT-BvGzBZPH.js → chunk-XC4XBNZT-DuDFkFzY.js} +1 -1
- package/dist/assets/{classDiagram-v2-K4WV4PDN-BE-qvlHc.js → classDiagram-v2-K4WV4PDN-Dz0cYwag.js} +1 -1
- package/dist/assets/{cynefin-EF2NZ3EQ-BKBTwgXe.js → cynefin-EF2NZ3EQ-DxwMKGVt.js} +1 -1
- package/dist/assets/{cynefinDiagram-3GCD6N5R-CKCyyusT.js → cynefinDiagram-3GCD6N5R-oZSa9lhO.js} +1 -1
- package/dist/assets/{dagre-W4DXFKR2-CrvQCcNs.js → dagre-W4DXFKR2-Bt1ekYsv.js} +1 -1
- package/dist/assets/{diagram-2UJZ2QOL-BfuvyxKl.js → diagram-2UJZ2QOL-Dz2mjiwC.js} +1 -1
- package/dist/assets/{diagram-OVF4WLC6-BlsFqIDA.js → diagram-OVF4WLC6-BCupNp2W.js} +1 -1
- package/dist/assets/{diagram-PFPMY2P6-KMg4O3dg.js → diagram-PFPMY2P6-Bfxq8gKX.js} +1 -1
- package/dist/assets/{diagram-UMYRVEAY-BSv1unB1.js → diagram-UMYRVEAY-0zJOWyJg.js} +1 -1
- package/dist/assets/{diagram-YEKJPTXX-B7WTTWbt.js → diagram-YEKJPTXX-Ca7oVnRM.js} +1 -1
- package/dist/assets/{diagram-ZIFT7M5P-C8dZN40w.js → diagram-ZIFT7M5P-DxYvr2Ba.js} +1 -1
- package/dist/assets/{dist-DNrC7Sfg.js → dist-BGcXKx50.js} +1 -1
- package/dist/assets/{dist-BNEKXPjn.js → dist-BX0ycKRf.js} +1 -1
- package/dist/assets/{dist-DlwkuoPy.js → dist-Bhv308pV.js} +1 -1
- package/dist/assets/{dist-CCniXtSX.js → dist-BsZIZo5Z.js} +1 -1
- package/dist/assets/{dist-Bu2N1hwl.js → dist-DaMRGAp7.js} +1 -1
- package/dist/assets/{ebnfDiagram-VR2GEFS7-BbxerigQ.js → ebnfDiagram-VR2GEFS7-CSztZABt.js} +1 -1
- package/dist/assets/{elk-IJKZMXRS-ChPwdCGe.js → elk-IJKZMXRS-Dlhf6PVv.js} +1 -1
- package/dist/assets/{erDiagram-O2IAPWRE-CigEy4yu.js → erDiagram-O2IAPWRE-BcUm9-Dr.js} +1 -1
- package/dist/assets/{eventmodeling-K75KTNOO-B32Bu2sN.js → eventmodeling-K75KTNOO-sMt2t0_x.js} +1 -1
- package/dist/assets/flowDiagram-OXPTDLAJ-BSagoeBZ.js +1 -0
- package/dist/assets/{ganttDiagram-R7TSEDQI-dwflw4hr.js → ganttDiagram-R7TSEDQI-C24JYeQT.js} +1 -1
- package/dist/assets/{gitGraph-VSP46ZUC-BYvcplIB.js → gitGraph-VSP46ZUC-BRfHjs_m.js} +1 -1
- package/dist/assets/{gitGraphDiagram-XJZIOB7I-NaChIo_6.js → gitGraphDiagram-XJZIOB7I-EVA2UbUE.js} +1 -1
- package/dist/assets/{index-Ih0Hpbd3.js → index-Cfkx1Zw7.js} +380 -380
- package/dist/assets/index-s5A9GbTD.css +1 -0
- package/dist/assets/{info-OHQRW6UA-Bo-6QiYF.js → info-OHQRW6UA-1Xv_87N6.js} +1 -1
- package/dist/assets/{infoDiagram-5W2HQ5XZ-CcFB0zb6.js → infoDiagram-5W2HQ5XZ-BN5WEyKV.js} +1 -1
- package/dist/assets/{ishikawaDiagram-K3B6WC7H-wFxp7r4t.js → ishikawaDiagram-K3B6WC7H-Ce8BPsjp.js} +1 -1
- package/dist/assets/{journeyDiagram-COXZFDF6-BbgSfrK1.js → journeyDiagram-COXZFDF6-C9YVUv_l.js} +1 -1
- package/dist/assets/{kanban-definition-P3RFRI5V-tYnV1hcm.js → kanban-definition-P3RFRI5V-BMzV2wZp.js} +1 -1
- package/dist/assets/{line-688aaVUi.js → line-zdki_55D.js} +1 -1
- package/dist/assets/{manifold-DOZl2Db1.js → manifold-C3ooeh2w.js} +1 -1
- package/dist/assets/{mermaid-parser.core-DiToV0T2.js → mermaid-parser.core-B4uXM_gf.js} +3 -3
- package/dist/assets/{mermaid.core-sfP_Moc8.js → mermaid.core-CX91PEtN.js} +4 -4
- package/dist/assets/{mindmap-definition-LZFPQGKD-CUmLGDDU.js → mindmap-definition-LZFPQGKD-BXjtEUbJ.js} +1 -1
- package/dist/assets/{packet-JDAUHWVQ-BktXnTxs.js → packet-JDAUHWVQ-BmsXaW7Q.js} +1 -1
- package/dist/assets/{pegDiagram-BGZESJAR-DBJaifuJ.js → pegDiagram-BGZESJAR-B55ALaC9.js} +1 -1
- package/dist/assets/{pie-XZMESJXO-MURsT4zt.js → pie-XZMESJXO-I1Edm9VF.js} +1 -1
- package/dist/assets/{pieDiagram-CAPJLFHJ-KBFNH84K.js → pieDiagram-CAPJLFHJ-Dq_jB6xv.js} +1 -1
- package/dist/assets/{quadrantDiagram-GDMTTRAM-aDafcz0K.js → quadrantDiagram-GDMTTRAM-Dn4eTBIq.js} +1 -1
- package/dist/assets/{radar-ABXABTNO-XGaGSfaF.js → radar-ABXABTNO-C6MyjuTZ.js} +1 -1
- package/dist/assets/{railroad-I3PHUGI6-Bd6qibct.js → railroad-I3PHUGI6-BaIvzUYN.js} +1 -1
- package/dist/assets/{railroad-abnf-LNEFI6M7-DkNaL9yO.js → railroad-abnf-LNEFI6M7-Vftc84Gw.js} +1 -1
- package/dist/assets/{railroad-ebnf-DWYD2UWJ-DvmAcd2K.js → railroad-ebnf-DWYD2UWJ-bmtTWkqc.js} +1 -1
- package/dist/assets/{railroad-peg-JR7BVNR7-DWuSf601.js → railroad-peg-JR7BVNR7-7lB3bQ_3.js} +1 -1
- package/dist/assets/{railroadDiagram-SM67HX2B-B8HY7NzY.js → railroadDiagram-SM67HX2B-CzD037ms.js} +1 -1
- package/dist/assets/{requirementDiagram-X7JNWC4A-BBGNhdvl.js → requirementDiagram-X7JNWC4A-DoZDq6vc.js} +1 -1
- package/dist/assets/{sankeyDiagram-UM26HJRW-B4-2hhw-.js → sankeyDiagram-UM26HJRW-BnjKtmP9.js} +1 -1
- package/dist/assets/{sequenceDiagram-ZO4K6R2Y-CAY2xE1t.js → sequenceDiagram-ZO4K6R2Y-CiZ4sI7S.js} +1 -1
- package/dist/assets/{stateDiagram-v2-TBUQTH76-D5m-VWbn.js → stateDiagram-v2-TBUQTH76-q1-9x3rm.js} +1 -1
- package/dist/assets/{swimlanes-N4OXWK64-DmIZnn74.js → swimlanes-N4OXWK64-CaWzTYDF.js} +1 -1
- package/dist/assets/swimlanesDiagram-K3J5GTZL-D0mu27zu.js +8 -0
- package/dist/assets/{timeline-definition-YOQAKGHF-Cjl0wxDv.js → timeline-definition-YOQAKGHF-CJLptWS7.js} +1 -1
- package/dist/assets/{treeView-D4JQ5SDB-D7Z4S83c.js → treeView-D4JQ5SDB-BsF4dDBA.js} +1 -1
- package/dist/assets/{treemap-SAJKECNS-C4cCpscM.js → treemap-SAJKECNS-CLu66UrQ.js} +1 -1
- package/dist/assets/{usecaseDiagram-VIAY4XPW-DirA4YUo.js → usecaseDiagram-VIAY4XPW-BBGR-1k0.js} +1 -1
- package/dist/assets/{vennDiagram-BLWOH2XV-Ci5neqkK.js → vennDiagram-BLWOH2XV-B1rJckjv.js} +1 -1
- package/dist/assets/{wardley-7MLQ67FV-Civq_iI8.js → wardley-7MLQ67FV-Zwv9cubz.js} +1 -1
- package/dist/assets/{wardleyDiagram-YMQ3BMBF-BrfWXnX6.js → wardleyDiagram-YMQ3BMBF-BLz7taG3.js} +1 -1
- package/dist/assets/{xychartDiagram-TAQBALBS-HRI4eeDt.js → xychartDiagram-TAQBALBS-BkDWyQ8L.js} +1 -1
- package/dist/index.html +2 -2
- package/docs/ChangeLog.md +50 -0
- package/docs/facts.json +2 -2
- package/docs/guide/en/accounts.md +4 -2
- package/docs/guide/en/feature-list.md +5 -1
- package/docs/guide/en/features.md +9 -6
- package/docs/guide/en/getting-started.md +6 -1
- package/docs/guide/en/index.md +2 -2
- package/docs/guide/en/token-rotation.md +3 -1
- package/docs/guide/en/v10.0.0.md +90 -0
- package/docs/guide/en/v9.9.0.md +69 -0
- package/docs/guide/ja/accounts.md +3 -1
- package/docs/guide/ja/feature-list.md +5 -1
- package/docs/guide/ja/features.md +1 -1
- package/docs/guide/ja/getting-started.md +6 -2
- package/docs/guide/ja/index.md +2 -2
- package/docs/guide/ja/token-rotation.md +2 -1
- package/docs/guide/ja/v10.0.0.md +85 -0
- package/docs/guide/ja/v9.9.0.md +69 -0
- package/package.json +5 -4
- package/server/backends/files/files.ts +5 -3
- package/server/backends/files/rawServingPlan.ts +16 -7
- package/server/backends/remoteHost/getFeed.spec.ts +2 -0
- package/server/backends/remoteHost/handlers/deps.ts +6 -1
- package/server/backends/remoteHost/handlers/index.ts +3 -0
- package/server/backends/remoteHost/handlers/pastSessions.ts +33 -0
- package/server/backends/remoteHost/handlers/terminalSession.ts +1 -1
- package/server/backends/remoteHost/handlers.spec.ts +2 -0
- package/server/backends/remoteHost/hostBindings.ts +16 -0
- package/server/backends/remoteHost/index.ts +2 -0
- package/server/files/files-browse.ts +31 -13
- package/server/files/mdPreviewReporter.ts +3 -0
- package/server/files/mermaidAssets.ts +69 -0
- package/server/files/previewMermaid.ts +109 -0
- package/server/infra/process/tmux.ts +5 -0
- package/server/routes/session-routes.ts +1 -12
- package/server/session/list/past-session-rows.ts +45 -0
- package/server/session/list/past-sessions.ts +120 -0
- package/server/session/list/past-transcript-gate.ts +28 -0
- package/server/session/session-reads.ts +11 -0
- package/server/skills/mulmoterminal-bug-report/SKILL.md +1 -1
- package/dist/assets/channel-DDSLBPGW.js +0 -1
- package/dist/assets/flowDiagram-OXPTDLAJ-nRr_qH4E.js +0 -1
- package/dist/assets/index-CPITW2xe.css +0 -1
- package/dist/assets/swimlanesDiagram-K3J5GTZL-kvijIHBW.js +0 -8
package/README.md
CHANGED
|
@@ -172,7 +172,7 @@ than as bytes (files within the session's working directory only):
|
|
|
172
172
|
|
|
173
173
|
| A clicked … | opens as |
|
|
174
174
|
|---|---|
|
|
175
|
-
| `.md` `.markdown` | **rendered** markdown in a new tab — the same sandboxed `…/md` HTML the Files preview renders, minus the
|
|
175
|
+
| `.md` `.markdown` | **rendered** markdown in a new tab — the same sandboxed `…/md` HTML the Files preview renders, minus the scripts the preview needs (the one that reports where you are reading, and the one that draws mermaid diagrams — so a mermaid fence stays a code block here). It follows your system light/dark setting, since under the sandbox CSP it can't ask the app which theme is on |
|
|
176
176
|
| `.json` | **indented** in a new tab (Chrome and Safari otherwise show one long line) |
|
|
177
177
|
| `.csv` `.tsv` | a **table** in a new tab, with a sticky header that scrolls inside its own box |
|
|
178
178
|
| source, config, logs, and `.txt` — 46 extensions | the app's own **Files** view (`/files?path=`), where CodeMirror highlights it, the tree is right there, and it can be edited |
|
|
@@ -286,7 +286,7 @@ Needs **Node ≥ 22.12**, plus these CLIs — on your `PATH`, or named by the ma
|
|
|
286
286
|
| **Required** | `git` | [worktree isolation](#git-worktrees--pull-requests), each cell's branch / unsaved-dot / diff readout, the PR footer | `brew install git` · `sudo apt install git` · `sudo dnf install git` · Windows: [git-scm.com](https://git-scm.com/download/win) |
|
|
287
287
|
| **Required** | `gh` | the cross-repo **PRs & Issues** view and one-click PR creation — it uses your `gh` login, so no token is stored | [cli.github.com](https://cli.github.com), then `gh auth login` |
|
|
288
288
|
| Optional | `glab` | the same for **GitLab** projects (#981) — gitlab.com, and a self-hosted instance you declare in `gitlabHosts` (#1332). Same arrangement: the CLI holds the credentials, this app stores no token | `brew install glab`, then `glab auth login` (self-hosted: `glab auth login --hostname gitlab.example.com`) |
|
|
289
|
-
| Recommended | `tmux` | [session persistence](#session-persistence-tmux) — terminals survive a server restart | `brew install tmux` · `sudo apt install tmux` · `sudo dnf install tmux` · no native Windows build (falls back to plain PTYs) |
|
|
289
|
+
| Recommended | `tmux` — the **latest release** (3.8 as of 2026-10-10); older ones are not supported | [session persistence](#session-persistence-tmux) — terminals survive a server restart | `brew install tmux` · `sudo apt install tmux` · `sudo dnf install tmux` · no native Windows build (falls back to plain PTYs) |
|
|
290
290
|
| Optional | any other agent CLI | a cell can run **Codex**, **Antigravity** (`agy`), **Grok**, **Muse**, **GitHub Copilot CLI** or **Cursor CLI** instead of Claude — install only the ones you use, and a missing one simply fails to start that cell. What each can do is [the capability matrix](docs/agent-capability-matrix.md); how to install and pick one is the [agents guide](https://receptron.github.io/mulmoterminal/guide/en/agents.html) | e.g. `npm i -g @openai/codex` |
|
|
291
291
|
| Optional | `ffmpeg` | video rendering from the [mulmo-script panel](#wiki-collections--the-gui-panel) (its plugin ships enabled) | `brew install ffmpeg` · `sudo apt install ffmpeg` · `sudo dnf install ffmpeg` |
|
|
292
292
|
| Optional | `remotion` packages | MulmoCast's `remotion` beats, where Claude Code writes each scene as a Remotion component (mulmocast 2.13.0). Not a dependency of this app: install them yourself, into your home directory so an `npx` upgrade does not lose them — `init` reports whether mulmocast can see them | [Remotion scenes](https://receptron.github.io/mulmoterminal/guide/en/mulmocast.html#remotion) · [日本語](https://receptron.github.io/mulmoterminal/guide/ja/mulmocast.html#remotion) |
|
|
@@ -693,6 +693,11 @@ sudo apt install tmux # Debian / Ubuntu
|
|
|
693
693
|
sudo dnf install tmux # Fedora
|
|
694
694
|
```
|
|
695
695
|
|
|
696
|
+
Use the **latest tmux release** (3.8 as of 2026-10-10); older versions are not supported. Some
|
|
697
|
+
things MulmoTerminal asks tmux for, such as restoring bracketed paste after a reload, need 3.7 or
|
|
698
|
+
newer. A distribution's package is often older, so check `tmux -V` and take a newer build from
|
|
699
|
+
[tmux releases](https://github.com/tmux/tmux/releases) when it is.
|
|
700
|
+
|
|
696
701
|
On Windows there's no native tmux, so sessions use the non-persistent fallback — run the
|
|
697
702
|
server under **WSL** if you want persistence. Nothing else is required: MulmoTerminal
|
|
698
703
|
detects `tmux` on `PATH` at startup and uses it automatically when present.
|
|
@@ -1296,7 +1301,8 @@ rooted at **that terminal's project directory** — so after Claude says "wrote
|
|
|
1296
1301
|
you can jump straight there to read or edit it. The left pane is a lazy-loaded directory
|
|
1297
1302
|
tree; clicking a file opens it in a **CodeMirror** editor (Markdown / JS-TS / JSON
|
|
1298
1303
|
highlighting, everything else as plain text). Markdown files get a **Preview** toggle
|
|
1299
|
-
that renders via the server's sandboxed `…/md` HTML
|
|
1304
|
+
that renders via the server's sandboxed `…/md` HTML, with a ` ```mermaid ` fence drawn as a diagram
|
|
1305
|
+
(its code block stays under it, folded, so the copy button is still there); a `.csv` / `.tsv` previews as a table (the
|
|
1300
1306
|
same `…/table` document a clicked path opens, in the app's colours), and an `.html` / `.svg` as the
|
|
1301
1307
|
page or picture it is. **Save** (or ⌘/Ctrl-S) writes back. **History** lists the versions the pane
|
|
1302
1308
|
kept of the file (in `~/.mulmoterminal/backups`, taken when it is opened or reloaded here and before a save
|
|
@@ -79,13 +79,16 @@ export interface MdPreviewHostMessage {
|
|
|
79
79
|
scrollY: number;
|
|
80
80
|
/** The accessible name for the code blocks' copy buttons, in the app's language (#2615). */
|
|
81
81
|
codeCopyLabel?: string;
|
|
82
|
+
/** What the disclosure under a rendered diagram is called (#2991). */
|
|
83
|
+
diagramSourceLabel?: string;
|
|
82
84
|
}
|
|
83
85
|
|
|
84
|
-
/**
|
|
85
|
-
* open (the first
|
|
86
|
+
/** New names for the code blocks' copy buttons and the diagrams' source disclosures: the app's
|
|
87
|
+
* language changed while this document was open (the first names come with the answer to `ready`). */
|
|
86
88
|
export interface MdPreviewLabelMessage {
|
|
87
89
|
source: typeof MD_PREVIEW_FROM_HOST;
|
|
88
90
|
codeCopyLabel: string;
|
|
91
|
+
diagramSourceLabel: string;
|
|
89
92
|
}
|
|
90
93
|
|
|
91
94
|
/** Take the reader to a heading (#2576): the `heading`-th one in the document (0-based) when it reads
|
|
@@ -118,8 +121,9 @@ const frameMessageBody = (data: Record<string, unknown>): MdPreviewFrameBody | n
|
|
|
118
121
|
// Passed on as written: which file it names depends on where the document is, which only the
|
|
119
122
|
// host knows (src/components/previewLinkTarget.ts).
|
|
120
123
|
if (data.kind === "open") return typeof data.href === "string" && data.href !== "" ? { kind: "open", href: data.href } : null;
|
|
121
|
-
// `code-block` is a button on a block the server numbered (#2615)
|
|
122
|
-
//
|
|
124
|
+
// `code-block` is a button on a block the server numbered (#2615). It names a block by number only: the
|
|
125
|
+
// pane reads that block from the FILE and copies it (#3003), so the document chooses which block, never
|
|
126
|
+
// its text. A block with hidden characters is shown in the pane's dialog instead of copied.
|
|
123
127
|
if (data.kind === "code-block") return Number.isSafeInteger(data.index) && Number(data.index) >= 0 ? { kind: "code-block", index: Number(data.index) } : null;
|
|
124
128
|
if (data.kind !== "scroll") return null;
|
|
125
129
|
const scrollY = finiteNumber(data.scrollY);
|
package/common/tokenRotation.ts
CHANGED
|
@@ -45,6 +45,10 @@ export const ROTATION_TOKEN_EMAIL_MAX = 254;
|
|
|
45
45
|
/** What a terminal line calls the `/login` credential. */
|
|
46
46
|
export const DEFAULT_LOGIN_LABEL = "the /login account";
|
|
47
47
|
|
|
48
|
+
/** The same credential where a label-sized word has to do: the header gauge, beside the labels the
|
|
49
|
+
* user gave their accounts and tokens. */
|
|
50
|
+
export const DEFAULT_LOGIN_SHORT_LABEL = "/login";
|
|
51
|
+
|
|
48
52
|
/** What a terminal line calls a credential: its label and address, the `/login` one by name, and a
|
|
49
53
|
* token gone from the config by its id. */
|
|
50
54
|
export function rotationLoginLabel(rotation: TokenRotation, tokenId: string): string {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{m as e,t}from"./mermaid-parser.core-
|
|
1
|
+
import{m as e,t}from"./mermaid-parser.core-B4uXM_gf.js";import{n}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as r}from"./src-JH1jZ6Eh.js";import"./chunk-VPRB5NB3-8X230GH4.js";import{n as i,r as a,t as o}from"./chunk-AW2ZBBNX-CIZiJXzS.js";import{t as s}from"./chunk-JWPE2WC7-DVXcaiue.js";import"./mermaid.core-CX91PEtN.js";var c=e().RailroadAbnf.parser.LangiumParser,l=n(e=>{let t=e.alternatives.map(u);return t.length===1?t[0]:{type:`choice`,alternatives:t}},`transformAlternation`),u=n(e=>{let t=e.elements.map(f);return t.length===1?t[0]:{type:`sequence`,elements:t}},`transformConcatenation`),d=n(e=>{if(e.includes(`*`)){let[t,n]=e.split(`*`);return{min:t?parseInt(t,10):0,max:n?parseInt(n,10):1/0}}let t=parseInt(e,10);return{min:t,max:t}},`parseRepeat`),f=n(e=>{let t=p(e.primary);if(!e.repeat)return t;let{min:n,max:r}=d(e.repeat);return n===0&&r===1?{type:`optional`,element:t}:{type:`repetition`,element:t,min:n,max:r}},`transformElement`),p=n(e=>{switch(e.$type){case`AbnfStringLiteral`:return{type:`terminal`,value:e.value};case`AbnfNumVal`:return{type:`terminal`,value:e.value};case`AbnfRuleName`:return{type:`nonterminal`,name:e.name};case`AbnfGroup`:return l(e.element);case`AbnfOptionalGroup`:return{type:`optional`,element:l(e.element)};default:throw Error(`Unsupported ABNF primary node: ${e.$type}`)}},`transformPrimary`),m=n(e=>({name:e.name,definition:l(e.definition)}),`transformRule`),h=n(e=>{s(e,o),e.title&&o.setTitle(e.title),e.rules.map(e=>o.addRule(m(e)))},`populateDb`),g={parser:{parse:n(e=>{o.clear(),r.debug(`[ABNF Parser] Starting Langium parse`);let n=c.parse(e);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new t(n);let i=n.value;r.debug(`[ABNF Parser] Parsed rules:`,i.rules.length),h(i),r.debug(`[ABNF Parser] Parse complete`)},`parse`),parser:{yy:o}},db:o,renderer:a,styles:i};export{g as diagram};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./chunk-NGNAAXSQ-C2Wy9Xmz.js";export{M as createArchitectureServices}from"./mermaid-parser.core-
|
|
1
|
+
import"./chunk-NGNAAXSQ-C2Wy9Xmz.js";export{M as createArchitectureServices}from"./mermaid-parser.core-B4uXM_gf.js";
|