mulmoterminal 0.8.0 → 0.9.1
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 +41 -5
- package/dist/assets/{abnfDiagram-VRR7QNED-6nNByj6v-Ce1WbMGC.js → abnfDiagram-VRR7QNED-6nNByj6v-CVgYtC8A.js} +1 -1
- package/dist/assets/architecture-TIHT7OUA-CYMWc3UT-CcGK28Wb.js +1 -0
- package/dist/assets/{architectureDiagram-ZJ3FMSHR-Bgnyaj_i-l_QglMuj.js → architectureDiagram-ZJ3FMSHR-Bgnyaj_i-DIwUJtFo.js} +1 -1
- package/dist/assets/{blockDiagram-677ZJIJ3-DQ35o5E4-B7PBZdY-.js → blockDiagram-677ZJIJ3-DQ35o5E4-BOstxdgY.js} +1 -1
- package/dist/assets/{c4Diagram-LMCZKHZV-ClWZeiWo-Ddp2t63A.js → c4Diagram-LMCZKHZV-ClWZeiWo-CJgnuXMJ.js} +1 -1
- package/dist/assets/channel-Di5rtkx0-CJv7O5cW.js +1 -0
- package/dist/assets/{chunk-32BRIVSS-CCt9wtYd-Zqys0yUx.js → chunk-32BRIVSS-CCt9wtYd-D-DAaeXJ.js} +1 -1
- package/dist/assets/{chunk-52WLFC77-FbBbR4uI-DUyWsQQG.js → chunk-52WLFC77-FbBbR4uI-BgyQM603.js} +1 -1
- package/dist/assets/{chunk-C7G6YPKG-C87hlS9c-Cq_SmMH6.js → chunk-C7G6YPKG-C87hlS9c-CNU64g__.js} +1 -1
- package/dist/assets/{chunk-EX3LRPZG-BqGqMXLN-Sph0jyY5.js → chunk-EX3LRPZG-BqGqMXLN-BCZDGM-w.js} +1 -1
- package/dist/assets/{chunk-FWX5IMBZ-BkbSAAuW-BlO-Dd6B.js → chunk-FWX5IMBZ-BkbSAAuW-Bq9OtrcX.js} +2 -2
- package/dist/assets/{chunk-HOUHSVGY-Cxu0eDlh-CB1-bkOQ.js → chunk-HOUHSVGY-Cxu0eDlh-BIvtWbJ0.js} +1 -1
- package/dist/assets/{chunk-ICXQ74PX-hiraF_Xj-DL_g6Dk_.js → chunk-ICXQ74PX-hiraF_Xj-Dx5twF_S.js} +1 -1
- package/dist/assets/{chunk-MOJQB5TN-CqxshQHA-C1do_qle.js → chunk-MOJQB5TN-CqxshQHA-BV_RK3Vr.js} +1 -1
- package/dist/assets/{chunk-OGEWGWER-CjCr7ceX-Bphm1jnw.js → chunk-OGEWGWER-CjCr7ceX-DdaHiBxq.js} +1 -1
- package/dist/assets/{chunk-PUDLZKDR-Dx6M-vz1-BqWQHrIk.js → chunk-PUDLZKDR-Dx6M-vz1-DmN05gZD.js} +1 -1
- package/dist/assets/{chunk-Q4XR5HBZ-CZd-9lTB-DCx-gEjT.js → chunk-Q4XR5HBZ-CZd-9lTB-cw9QtxXY.js} +1 -1
- package/dist/assets/{chunk-V7JOEXUC-rI0xlC_O-C5XJW9gM.js → chunk-V7JOEXUC-rI0xlC_O-gsq823jB.js} +1 -1
- package/dist/assets/{chunk-VAUOI2AC-DrcykVNK-DNVpp2Bo.js → chunk-VAUOI2AC-DrcykVNK-D4zp9mNB.js} +1 -1
- package/dist/assets/{chunk-VR4S4FIN-O6iF8Yvf-uu4sPk_E.js → chunk-VR4S4FIN-O6iF8Yvf-CNstNe-T.js} +1 -1
- package/dist/assets/{chunk-WYO6CB5R-B83L_z6I-D-ILEUuT.js → chunk-WYO6CB5R-B83L_z6I-BGsPsjAI.js} +1 -1
- package/dist/assets/{chunk-ZGVPDNZ5-BpFv9JSP-B1byH7Ri.js → chunk-ZGVPDNZ5-BpFv9JSP-IiKGkWvT.js} +1 -1
- package/dist/assets/classDiagram-OUVF2IWQ-BgAZMSbT-DdJSBc1F.js +1 -0
- package/dist/assets/classDiagram-v2-EOCWNBFH-DxHTyui1-DdJSBc1F.js +1 -0
- package/dist/assets/cynefin-VYW2F7L2-DqA3n9nY-BIulluQj.js +1 -0
- package/dist/assets/{cynefinDiagram-TSTJHNR4-x0-0sQ15-D_ZPdHMW.js → cynefinDiagram-TSTJHNR4-x0-0sQ15-DKxBfSSe.js} +1 -1
- package/dist/assets/{dagre-VKFMJZFB-CQdfl-bx-B1T3S0FV.js → dagre-VKFMJZFB-CQdfl-bx-xPr09wi6.js} +1 -1
- package/dist/assets/{diagram-FQU43EPY-BOSB6VUb-4dUBHv_w.js → diagram-FQU43EPY-BOSB6VUb-BhBLu_3q.js} +1 -1
- package/dist/assets/{diagram-G47NLZAW-DLXrcXsN-B7k1DThA.js → diagram-G47NLZAW-DLXrcXsN-CFT5wbq3.js} +1 -1
- package/dist/assets/{diagram-NH7WQ7WH-BMQp1rkF-Pgg190OT.js → diagram-NH7WQ7WH-BMQp1rkF-OnMtnXwo.js} +1 -1
- package/dist/assets/{diagram-OA4YK3LP-D1wQ0vUj-D9NWXoRR.js → diagram-OA4YK3LP-D1wQ0vUj-Buf7sHLb.js} +1 -1
- package/dist/assets/{diagram-WEI45ONY-RR0DpF8R-B6gyFifz.js → diagram-WEI45ONY-RR0DpF8R-CiKo8dEV.js} +1 -1
- package/dist/assets/{ebnfDiagram-CCIWWBDH-M123uVJ8-Bq7bwZP7.js → ebnfDiagram-CCIWWBDH-M123uVJ8-BF7MJcAR.js} +1 -1
- package/dist/assets/{erDiagram-Q63AITRT-BWx_-PXG-BBuIT9tu.js → erDiagram-Q63AITRT-BWx_-PXG-CaNpcR0c.js} +1 -1
- package/dist/assets/eventmodeling-45OFAUF4-_BVSjAXf-D8Ivbop-.js +1 -0
- package/dist/assets/flowDiagram-23GEKE2U-BeOc_anm-Dk5wVlnP.js +1 -0
- package/dist/assets/{ganttDiagram-NO4QXBWP-BOoJ1eTw-S7LYEVQU.js → ganttDiagram-NO4QXBWP-BOoJ1eTw-D43vlPZo.js} +1 -1
- package/dist/assets/gitGraph-TEB2WS4Q-CH12KLTN-MW0ISpSx.js +1 -0
- package/dist/assets/{gitGraphDiagram-IHSO6WYX-B2CJhk_G-BrDr5LgG.js → gitGraphDiagram-IHSO6WYX-B2CJhk_G-Plj2BffT.js} +1 -1
- package/dist/assets/index-3f30jaT0.css +1 -0
- package/dist/assets/index-De_Nmxpc.js +357 -0
- package/dist/assets/info-DKCQHKI2-Cbw3mbiK-_OUQv6WN.js +1 -0
- package/dist/assets/{infoDiagram-FWYZ7A6U-Mp1X3pBP-l542FG7h.js → infoDiagram-FWYZ7A6U-Mp1X3pBP-CuA1P6ZB.js} +1 -1
- package/dist/assets/{ishikawaDiagram-FXEZZL3T-BNG7tkJu-CcYmE3rZ.js → ishikawaDiagram-FXEZZL3T-BNG7tkJu-BNMqzXxb.js} +1 -1
- package/dist/assets/{journeyDiagram-5HDEW3XC-Dbp_hY9X-8sbAzdt7.js → journeyDiagram-5HDEW3XC-Dbp_hY9X-NflQYiYP.js} +1 -1
- package/dist/assets/{kanban-definition-HUTT4EX6-DSTc5u3q-B4fcq4Yd.js → kanban-definition-HUTT4EX6-DSTc5u3q-DQm3IbIw.js} +1 -1
- package/dist/assets/{line-B1wBwzrY-BioBhEqP.js → line-B1wBwzrY-PYTdSGHu.js} +1 -1
- package/dist/assets/{marp-B82QTNqJ.js → marp-iErKCKYz.js} +1 -1
- package/dist/assets/{mermaid-parser.core-DC7NPJ_M-YbqcHI8U.js → mermaid-parser.core-DC7NPJ_M-DAhbeSgr.js} +2 -2
- package/dist/assets/{mermaid.core-DZM3Ha-E-2xRmGsJ0.js → mermaid.core-DZM3Ha-E-BNwp1SSa.js} +3 -3
- package/dist/assets/{mindmap-definition-LN4V7U3C-DYtgcMsY-BZWR0bBa.js → mindmap-definition-LN4V7U3C-DYtgcMsY-CdTgRgD3.js} +1 -1
- package/dist/assets/packet-7NZHBO7P-lwb58iYx-C10L-hFO.js +1 -0
- package/dist/assets/{pegDiagram-2B236MQR-C43eIpKM-CQpl0W1R.js → pegDiagram-2B236MQR-C43eIpKM-BoY9YcBj.js} +1 -1
- package/dist/assets/pie-RZYD4A2V-B1UWb4Gu--5742Zz5.js +1 -0
- package/dist/assets/{pieDiagram-ENE6RG2P-BkTqgJyR-D2pqsEbd.js → pieDiagram-ENE6RG2P-BkTqgJyR-BvAMoz4E.js} +1 -1
- package/dist/assets/{quadrantDiagram-ABIIQ3AL-Bm1Zjm45-DYSLjuyi.js → quadrantDiagram-ABIIQ3AL-Bm1Zjm45-CGzER_DL.js} +1 -1
- package/dist/assets/radar-I7S5WNFK-7CKcb_l--BHQOivQG.js +1 -0
- package/dist/assets/railroad-3IZDKUUU-gCySKdnW-BbRNCyKS.js +1 -0
- package/dist/assets/railroad-abnf-AHOZXSZD-BophH4r--D0SwiYgD.js +1 -0
- package/dist/assets/railroad-ebnf-EBAXGLYW-AZNjl_Zu-DdB_RBGP.js +1 -0
- package/dist/assets/railroad-peg-LSFZ7HO6-BSiEEyeb-CeDMAu58.js +1 -0
- package/dist/assets/{railroadDiagram-RFXS5EU6-BkfbdeAs-CeM-YRhH.js → railroadDiagram-RFXS5EU6-BkfbdeAs-D3nWzhoi.js} +1 -1
- package/dist/assets/{requirementDiagram-TGXJPOKE-CrGTTjYg-5vdLxYpa.js → requirementDiagram-TGXJPOKE-CrGTTjYg-BXJOdcqX.js} +1 -1
- package/dist/assets/{sankeyDiagram-HTMAVEWB-rWXPf03Z-JPVcutnp.js → sankeyDiagram-HTMAVEWB-rWXPf03Z-BT7OPSSo.js} +1 -1
- package/dist/assets/{sequenceDiagram-DBY2YBRQ-nkJYWO2m-BxcX08nA.js → sequenceDiagram-DBY2YBRQ-nkJYWO2m-DUQmimHp.js} +1 -1
- package/dist/assets/{stateDiagram-2N3HPSRC-T4-clK8b-DihpQxVg.js → stateDiagram-2N3HPSRC-T4-clK8b-DLDU9NAl.js} +1 -1
- package/dist/assets/stateDiagram-v2-6OUMAXLB-DIp7nhRd-Bxnpzuaj.js +1 -0
- package/dist/assets/{swimlanes-5IMT3BWC-HmQNEntu-D3ChOi5U.js → swimlanes-5IMT3BWC-HmQNEntu-CiEjMDZR.js} +1 -1
- package/dist/assets/swimlanesDiagram-G3AALYLV-BeoZhwg7-CWfgjlGg.js +8 -0
- package/dist/assets/{timeline-definition-FHXFAJF6-CNc9jSTP-BdGwxVIL.js → timeline-definition-FHXFAJF6-CNc9jSTP-qngINip4.js} +1 -1
- package/dist/assets/treeView-QDETBFTQ-nIQcG1h9-DswVl6Qi.js +1 -0
- package/dist/assets/treemap-6X3UGDF4-BnsvC8yL-JquGkPwZ.js +1 -0
- package/dist/assets/{vennDiagram-L72KCM5P-Dr3pTJ_0-xTmIjEaL.js → vennDiagram-L72KCM5P-Dr3pTJ_0-CI-qJgRs.js} +1 -1
- package/dist/assets/wardley-OPB4EBWU-8Odxkx6V-Cv0QuPfn.js +1 -0
- package/dist/assets/{wardleyDiagram-EHGQE667-DSFc7ZZa-C03D4kJr.js → wardleyDiagram-EHGQE667-DSFc7ZZa-DlPPC65K.js} +1 -1
- package/dist/assets/{xychartDiagram-FW5EYKEG-BP0Nn4Pp-DsSSHDBJ.js → xychartDiagram-FW5EYKEG-BP0Nn4Pp-BinlTtjN.js} +1 -1
- package/dist/index.html +2 -2
- package/package.json +14 -11
- package/server/activity-hook.spec.ts +37 -0
- package/server/activity-hook.ts +28 -0
- package/server/app-config.spec.ts +2 -2
- package/server/app-config.ts +14 -29
- package/server/command-summary.ts +6 -4
- package/server/config-routes.ts +13 -17
- package/server/config-schema.spec.ts +123 -0
- package/server/config-schema.ts +238 -0
- package/server/cwd-presets.ts +1 -5
- package/server/dir-config.spec.ts +45 -3
- package/server/dir-config.ts +32 -74
- package/server/header-config.spec.ts +45 -6
- package/server/header-config.ts +52 -44
- package/server/header-context.ts +1 -0
- package/server/header-resolve.spec.ts +48 -1
- package/server/header-resolve.ts +19 -14
- package/server/header-title.spec.ts +156 -0
- package/server/header-title.ts +129 -0
- package/server/index.ts +305 -52
- package/server/install-config-skill.spec.ts +103 -0
- package/server/install-config-skill.ts +62 -0
- package/server/pr-for-branch.spec.ts +50 -0
- package/server/pr-for-branch.ts +58 -0
- package/server/session-resolve.spec.ts +41 -0
- package/server/session-resolve.ts +37 -0
- package/server/skills/mulmoterminal-config/SKILL.md +216 -0
- package/server/skills/mulmoterminal-config/palettes.json +167 -0
- package/server/transcript.spec.ts +95 -0
- package/server/transcript.ts +61 -0
- package/server/waiting-state.spec.ts +50 -0
- package/server/waiting-state.ts +29 -0
- package/dist/assets/architecture-TIHT7OUA-CYMWc3UT-CkMBxcjf.js +0 -1
- package/dist/assets/channel-Di5rtkx0-CYQQVi2N.js +0 -1
- package/dist/assets/classDiagram-OUVF2IWQ-BgAZMSbT-Bzx8Q5qy.js +0 -1
- package/dist/assets/classDiagram-v2-EOCWNBFH-DxHTyui1-Bzx8Q5qy.js +0 -1
- package/dist/assets/cynefin-VYW2F7L2-DqA3n9nY-CGx24Ele.js +0 -1
- package/dist/assets/eventmodeling-45OFAUF4-_BVSjAXf-C9YZ30Wv.js +0 -1
- package/dist/assets/flowDiagram-23GEKE2U-BeOc_anm-DhOuIXQo.js +0 -1
- package/dist/assets/gitGraph-TEB2WS4Q-CH12KLTN-CAvO-lxi.js +0 -1
- package/dist/assets/index-B2YpCMoV.css +0 -1
- package/dist/assets/index-kwYCy5ON.js +0 -357
- package/dist/assets/info-DKCQHKI2-Cbw3mbiK-DvahfbDn.js +0 -1
- package/dist/assets/packet-7NZHBO7P-lwb58iYx-Buaj8ce2.js +0 -1
- package/dist/assets/pie-RZYD4A2V-B1UWb4Gu-Cb9jy6Ak.js +0 -1
- package/dist/assets/radar-I7S5WNFK-7CKcb_l--CsSL-fa_.js +0 -1
- package/dist/assets/railroad-3IZDKUUU-gCySKdnW-wK2xnWS3.js +0 -1
- package/dist/assets/railroad-abnf-AHOZXSZD-BophH4r--Ceaeq1Pr.js +0 -1
- package/dist/assets/railroad-ebnf-EBAXGLYW-AZNjl_Zu-fogZbeWf.js +0 -1
- package/dist/assets/railroad-peg-LSFZ7HO6-BSiEEyeb-mkHR05ng.js +0 -1
- package/dist/assets/stateDiagram-v2-6OUMAXLB-DIp7nhRd-DtpIS_aL.js +0 -1
- package/dist/assets/swimlanesDiagram-G3AALYLV-BeoZhwg7-DdAPDSsw.js +0 -8
- package/dist/assets/treeView-QDETBFTQ-nIQcG1h9-BGcDmSH1.js +0 -1
- package/dist/assets/treemap-6X3UGDF4-BnsvC8yL-Clh2VUDB.js +0 -1
- package/dist/assets/wardley-OPB4EBWU-8Odxkx6V-BnqfBQz5.js +0 -1
package/README.md
CHANGED
|
@@ -270,6 +270,7 @@ the server runs without one.
|
|
|
270
270
|
| `CLAUDE_BIN` | `claude` | The Claude Code binary to spawn. |
|
|
271
271
|
| `CLAUDE_CWD` | current dir | Working directory each `claude` PTY runs in; determines which project's sessions the sidebar lists. Via `npx mulmoterminal` it defaults to the directory you ran the command from (override with `--cwd <dir>`, relative allowed); when the server is run directly it falls back to `~/mulmoclaude`. A value read from `.env` must be an absolute path (`~` is not expanded). |
|
|
272
272
|
| `CLAUDE_PERMISSION_MODE` | `auto` | Permission mode passed to each `claude` spawn. |
|
|
273
|
+
| `MT_TITLE_MODEL` | `haiku` | Model used for the cell header's AI title (a cheap/fast model summarizing the recent turns). Accepts a `--model` alias or a full model id. |
|
|
273
274
|
| `CODEX_BIN` | `codex` | The Codex CLI binary to spawn. |
|
|
274
275
|
| `CODEX_MODEL`| codex default | Model passed to Codex as `--model` (unset = Codex's own default). |
|
|
275
276
|
| `CODEX_HOME` | `~/.codex` | Codex home — where its session rollouts and MulmoTerminal-mirrored skills live. |
|
|
@@ -299,6 +300,23 @@ The Settings modal (⚙) persists per-user UI choices to `~/.mulmoterminal/confi
|
|
|
299
300
|
| `prRepos` | `owner/repo` entries whose open PRs/issues the cross-repo **PRs & Issues** view aggregates (via your `gh` login). |
|
|
300
301
|
| `launchers` | `{ label, command }` entries offered in a grid cell's launcher besides Claude — a plain shell, `codex`, any interactive command. |
|
|
301
302
|
| `userMcpServers` | `{ id, url }` HTTP MCP servers merged into the **single-view** Claude session's `--mcp-config` (a `localhost` URL is reached over `host.docker.internal` in the Docker sandbox). Takes effect on the next session. |
|
|
303
|
+
| `buttons` | Header action buttons — see [Header buttons](#header-buttons). Omit to keep the defaults; set to replace them. |
|
|
304
|
+
| `chips` | Header info chips. Omit to keep the default set; `[]` hides all built-ins. |
|
|
305
|
+
|
|
306
|
+
#### Header buttons
|
|
307
|
+
|
|
308
|
+
Each terminal header shows configurable **action buttons**. Omitting `buttons` (globally or per-dir)
|
|
309
|
+
keeps the built-in defaults — a **file-path picker** (📎) and an **OS file-manager reveal** (📂).
|
|
310
|
+
Setting `buttons` (at either level) **replaces** the defaults with your list, so you can drop, reorder,
|
|
311
|
+
or swap them — e.g. add the in-app **📁 file explorer** with `"open": { "files": "${dir}" }`.
|
|
312
|
+
A button has an `id`, `label`, and a `run` of `"shell"` (run a command), `"input"` (send text to the
|
|
313
|
+
agent), or `"open"`. An `open` button targets one of `url` / `reveal` (OS file manager) / `files`
|
|
314
|
+
(in-app explorer) / `view` (a built-in overlay) / `terminal` (a dir → a new cell running `$SHELL`,
|
|
315
|
+
opened next to the current one) / `pr: true` (open the current branch's PR — the button is hidden when
|
|
316
|
+
there's no open PR) / `pickFile: true` (OS file dialog → insert the path).
|
|
317
|
+
`${dir}`, `${branch}`, `${repo}`, … substitute live context, and `when` (e.g. `"isGitRepo"`) gates
|
|
318
|
+
visibility. The `/mulmoterminal-config` skill writes a valid config interactively; per-dir buttons
|
|
319
|
+
merge over the global ones by `id`.
|
|
302
320
|
|
|
303
321
|
**Attention sound.** The default chime is generated with the Web Audio API — **no
|
|
304
322
|
audio file is bundled**, so the npm package stays light and has no media-licensing
|
|
@@ -443,7 +461,8 @@ the last 32 KB of output. See
|
|
|
443
461
|
|
|
444
462
|
## Files view (browse & edit)
|
|
445
463
|
|
|
446
|
-
|
|
464
|
+
A terminal header can carry a **📁 Files** button — add it as a [header button](#header-buttons)
|
|
465
|
+
(`"open": { "files": "${dir}" }`) — that opens a full-screen file explorer
|
|
447
466
|
rooted at **that terminal's project directory** — so after Claude says "wrote `foo.md`"
|
|
448
467
|
you can jump straight there to read or edit it. The left pane is a lazy-loaded directory
|
|
449
468
|
tree; clicking a file opens it in a **CodeMirror** editor (Markdown / JS-TS / JSON
|
|
@@ -937,15 +956,31 @@ has its `/` and `.` characters replaced with `-` (e.g.
|
|
|
937
956
|
A session's display **title** is derived by scanning its JSONL for, in order of
|
|
938
957
|
preference:
|
|
939
958
|
|
|
940
|
-
1.
|
|
941
|
-
2. else the latest `
|
|
942
|
-
3. else the
|
|
959
|
+
1. a live **AI title** the server generated for the session this run (see below),
|
|
960
|
+
2. else the latest `ai-title` record's `aiTitle` (e.g. written by MulmoClaude),
|
|
961
|
+
3. else the latest `last-prompt` record's `lastPrompt`,
|
|
962
|
+
4. else the first real user message (slash/local-command wrappers like
|
|
943
963
|
`<local-command-…>` are skipped),
|
|
944
|
-
|
|
964
|
+
5. else `"(untitled session)"`.
|
|
945
965
|
|
|
946
966
|
In-memory sessions not yet persisted show as `"New session"` until their file
|
|
947
967
|
appears, at which point the on-disk title takes over.
|
|
948
968
|
|
|
969
|
+
### AI header title
|
|
970
|
+
|
|
971
|
+
The raw last prompt is a poor cell-header label once a session becomes a
|
|
972
|
+
back-and-forth: a follow-up is either a trivial ack (`ok`, `はい` — skipped, so the
|
|
973
|
+
header keeps showing the now-stale opening task) or context-dependent (`2番目にして`
|
|
974
|
+
— meaningless on its own). So the server summarizes the **recent turns** with a cheap
|
|
975
|
+
model (`MT_TITLE_MODEL`, default `haiku`) into a short title and shows it in the cell
|
|
976
|
+
header (falling back to the last prompt when there's no title yet).
|
|
977
|
+
|
|
978
|
+
Generation is kept low-cost — it runs at a turn's `Stop` (when the reply is on disk)
|
|
979
|
+
only when a title is **due**: none yet, the newest prompt was a trivial/context-dependent
|
|
980
|
+
ack (so the raw last prompt would be stale), or every few turns to keep a long session's
|
|
981
|
+
title current. The title lives in memory (never written into Claude's own transcript); a
|
|
982
|
+
resumed session falls back to any on-disk `ai-title`.
|
|
983
|
+
|
|
949
984
|
---
|
|
950
985
|
|
|
951
986
|
## Project structure
|
|
@@ -964,6 +999,7 @@ server/
|
|
|
964
999
|
files-browse.ts file tree + read/write (contained to project root)
|
|
965
1000
|
scripts.ts Run-menu script.json loader
|
|
966
1001
|
command-summary.ts POST /api/command/summarize (claude -p headless)
|
|
1002
|
+
header-title.ts cheap-model AI title for the cell header (recent turns)
|
|
967
1003
|
app-config.ts, config-routes.ts, dir-config.ts user + per-directory config
|
|
968
1004
|
plugins-registry.ts, mcp/ GUI plugin registry + per-session MCP broker
|
|
969
1005
|
backends/ wiki, collections, feeds, accounting, notifier,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./chunk-Y2CYZVJY-Bdt8pFDJ-DsF7k-Jl.js";import{f as t}from"./src-Brzfja-q-ch1VcTiG.js";import{_ as n,g as r}from"./mermaid-parser.core-DC7NPJ_M-
|
|
1
|
+
import{n as e}from"./chunk-Y2CYZVJY-Bdt8pFDJ-DsF7k-Jl.js";import{f as t}from"./src-Brzfja-q-ch1VcTiG.js";import{_ as n,g as r}from"./mermaid-parser.core-DC7NPJ_M-DAhbeSgr.js";import"./chunk-WYO6CB5R-B83L_z6I-BGsPsjAI.js";import"./chunk-VAUOI2AC-DrcykVNK-D4zp9mNB.js";import{n as i,r as a,t as o}from"./chunk-MOJQB5TN-CqxshQHA-BV_RK3Vr.js";import{t as s}from"./chunk-JWPE2WC7-BQ3zXr2k-DSd3Ct95.js";var c=r().RailroadAbnf.parser.LangiumParser,l=e(e=>{let t=e.alternatives.map(u);return t.length===1?t[0]:{type:`choice`,alternatives:t}},`transformAlternation`),u=e(e=>{let t=e.elements.map(f);return t.length===1?t[0]:{type:`sequence`,elements:t}},`transformConcatenation`),d=e(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=e(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=e(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=e(e=>({name:e.name,definition:l(e.definition)}),`transformRule`),h=e(e=>{s(e,a),e.title&&a.setTitle(e.title),e.rules.map(e=>a.addRule(m(e)))},`populateDb`),g={parser:{parse:e(e=>{a.clear(),t.debug(`[ABNF Parser] Starting Langium parse`);let r=c.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new n(r);let i=r.value;t.debug(`[ABNF Parser] Parsed rules:`,i.rules.length),h(i),t.debug(`[ABNF Parser] Parse complete`)},`parse`),parser:{yy:a}},db:a,renderer:o,styles:i};export{g as diagram};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{f as e}from"./mermaid-parser.core-DC7NPJ_M-DAhbeSgr.js";export{e as createArchitectureServices};
|