mulmoterminal 5.0.0 → 5.1.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.
Files changed (130) hide show
  1. package/common/keymap.ts +17 -0
  2. package/dist/assets/{AllPackages-B1YCJRYB-4WQ_EIrl.js → AllPackages-B1YCJRYB-CJ5MwIcw.js} +1 -1
  3. package/dist/assets/{BaseConfiguration-B6s_tKOW-CuXGj6gD.js → BaseConfiguration-B6s_tKOW-DCQzFOtA.js} +1 -1
  4. package/dist/assets/{Element-BMI7Nj5w-Bik3AfgD.js → Element-BMI7Nj5w-OqxmP4DD.js} +1 -1
  5. package/dist/assets/{Entities-C8p_0jCn-CjiJEF3r.js → Entities-C8p_0jCn-lah_hpVy.js} +1 -1
  6. package/dist/assets/{FunctionList-YWk54TCy-Dq1GQL-M.js → FunctionList-YWk54TCy-B8miBPbX.js} +1 -1
  7. package/dist/assets/{InputJax-C5dj-ntL-DEjnMcSa.js → InputJax-C5dj-ntL-BTCbon6p.js} +1 -1
  8. package/dist/assets/{MathItem-YJvQL-XJ-pMaMH7Pe.js → MathItem-YJvQL-XJ-7r4PX5ZP.js} +1 -1
  9. package/dist/assets/{MmlFactory-DSoKkE7s-BTFYdeyR.js → MmlFactory-DSoKkE7s-Ce7KrGXH.js} +1 -1
  10. package/dist/assets/{Options-oARQeeuT-DN-QpMwi.js → Options-oARQeeuT-buJ7F9SM.js} +1 -1
  11. package/dist/assets/{OutputJax-DfUZNNCu-0eNVVspA.js → OutputJax-DfUZNNCu-CDHJwABC.js} +1 -1
  12. package/dist/assets/{PrioritizedList-6lun1Xqd-B3xDwkAm.js → PrioritizedList-6lun1Xqd-C-DILou5.js} +1 -1
  13. package/dist/assets/{Styles-5NmwS-3M-CYH8SIw8.js → Styles-5NmwS-3M-C_HoV7lD.js} +1 -1
  14. package/dist/assets/{TeXAtom-B5ni9myz-B2Lg1OeP.js → TeXAtom-B5ni9myz-d1ASA31g.js} +1 -1
  15. package/dist/assets/{abnfDiagram-VCTEODGH-BGhi-oVb-rfnIw5mF.js → abnfDiagram-VCTEODGH-BGhi-oVb-BpKjoem1.js} +1 -1
  16. package/dist/assets/{arc-CK5ru50N-CpwYDtFh.js → arc-CK5ru50N-CUQm4Xup.js} +1 -1
  17. package/dist/assets/architecture-7GRP2DOG-otSkCkT5-B-KKZ_tn.js +1 -0
  18. package/dist/assets/{architectureDiagram-5GKGNRK7-ELuPYMlf-jRFBK2xY.js → architectureDiagram-5GKGNRK7-ELuPYMlf-BVwy3nL5.js} +1 -1
  19. package/dist/assets/{assistive-mml-CdU3rUpx-CfM4F5jW.js → assistive-mml-CdU3rUpx-9WJyil9U.js} +1 -1
  20. package/dist/assets/{blockDiagram-I7D4REHJ-BZ7-OGWQ-GPkhdnf1.js → blockDiagram-I7D4REHJ-BZ7-OGWQ-DJ_yoJeo.js} +1 -1
  21. package/dist/assets/{c4Diagram-7LVT6UL2-DCovPZ_4-DlgnltG1.js → c4Diagram-7LVT6UL2-DCovPZ_4-HHYXxtp2.js} +1 -1
  22. package/dist/assets/channel-Bmu_OOc6-9G180IHe.js +1 -0
  23. package/dist/assets/{chunk-4HAMMTFA-DqpzLmar-BYwab83k.js → chunk-4HAMMTFA-DqpzLmar-DJ1-BAEE.js} +1 -1
  24. package/dist/assets/{chunk-75Z2AOVW-CT5TYzp5-BRr2sap2.js → chunk-75Z2AOVW-CT5TYzp5-BqVlAXHK.js} +1 -1
  25. package/dist/assets/{chunk-DU6HZSFF-BVf-rtdf-BiTD5bH2.js → chunk-DU6HZSFF-BVf-rtdf-j0iAsvSt.js} +1 -1
  26. package/dist/assets/{chunk-F27PBJKO-rP8pUsk3-jZL8tnaO.js → chunk-F27PBJKO-rP8pUsk3-isUMsRCA.js} +1 -1
  27. package/dist/assets/{chunk-IMKFNOWR-D_IT0r3G-4Na8DCGZ.js → chunk-IMKFNOWR-D_IT0r3G-_E5dx4qo.js} +1 -1
  28. package/dist/assets/{chunk-POPQ4Y6H-C5YURnHe-BtvIAZQ9.js → chunk-POPQ4Y6H-C5YURnHe-CVHH07lj.js} +1 -1
  29. package/dist/assets/{chunk-SHT3W25Y-CfF0J8Qh-CSKY6pei.js → chunk-SHT3W25Y-CfF0J8Qh-BJkXPGFU.js} +1 -1
  30. package/dist/assets/{chunk-SVP7TREG-CTZbRIbX-DXmyUlG6.js → chunk-SVP7TREG-CTZbRIbX-qfNTuIIF.js} +1 -1
  31. package/dist/assets/{chunk-TICWLB2K-DP1lYmZm-2WQGl4am.js → chunk-TICWLB2K-DP1lYmZm-CTOUiTGz.js} +1 -1
  32. package/dist/assets/{chunk-XXDRQBXY-vg0kfC73-BNbpCBp8.js → chunk-XXDRQBXY-vg0kfC73-Y6mHTBlA.js} +1 -1
  33. package/dist/assets/classDiagram-ZZMXUADV-BDQOAOBf-AGd3RvXg.js +1 -0
  34. package/dist/assets/classDiagram-v2-VYDZK3BY-CwPXtzoF-AGd3RvXg.js +1 -0
  35. package/dist/assets/{cose-bilkent-JH36ORCC-qIiD3RGD-glIzrMsu.js → cose-bilkent-JH36ORCC-qIiD3RGD-PigsuAIN.js} +1 -1
  36. package/dist/assets/cynefin-OW5HDTMX-Xr6IPdZG-B9PG-U7U.js +1 -0
  37. package/dist/assets/{cynefinDiagram-5FMLGOSQ-BZrUCS-v-BP9iYDiL.js → cynefinDiagram-5FMLGOSQ-BZrUCS-v-73Ok3dUi.js} +1 -1
  38. package/dist/assets/{dagre-C2SZ8h4o-Cvn7MMN8.js → dagre-C2SZ8h4o-DCI8Jkuz.js} +1 -1
  39. package/dist/assets/{dagre-GXQ25YYZ-CQcLM4na-CUPIues9.js → dagre-GXQ25YYZ-CQcLM4na-Da-Tzkmd.js} +1 -1
  40. package/dist/assets/{diagram-S7CK7UJ4-BdmcmUQh-BzmDaJl4.js → diagram-S7CK7UJ4-BdmcmUQh-DS8N1X76.js} +1 -1
  41. package/dist/assets/{diagram-UQ7AKVKN-BtvmEiYl-C-SDkeQT.js → diagram-UQ7AKVKN-BtvmEiYl-BAWFKiBy.js} +1 -1
  42. package/dist/assets/{diagram-VSXAHHWV-qEG6N0bV-BBEGoVq0.js → diagram-VSXAHHWV-qEG6N0bV-CqGanGZ0.js} +1 -1
  43. package/dist/assets/{diagram-VX7I27RA-BA8is49N-C_RijuTO.js → diagram-VX7I27RA-BA8is49N-BBKhve38.js} +1 -1
  44. package/dist/assets/{diagram-Z3DM3KII-XPcU7IOQ-CxOwdwHR.js → diagram-Z3DM3KII-XPcU7IOQ-vJaJUnt0.js} +1 -1
  45. package/dist/assets/{dist-uQlE_JYp.js → dist-D46KN4ld.js} +1 -1
  46. package/dist/assets/{dist-DBRVDw9D.js → dist-D7NGFeA-.js} +1 -1
  47. package/dist/assets/{dist-DeiyD9Ki-BDcmanZh.js → dist-DeiyD9Ki-oiWVdSjc.js} +1 -1
  48. package/dist/assets/{dist-BvG2w_9k.js → dist-DiLqFBy5.js} +1 -1
  49. package/dist/assets/{dist-CWF1S7vL.js → dist-pwyQmsBT.js} +1 -1
  50. package/dist/assets/{ebnfDiagram-PWID7BFC-CTHIHdBS-BGwyAx_X.js → ebnfDiagram-PWID7BFC-CTHIHdBS-D6YDD2tB.js} +1 -1
  51. package/dist/assets/{erDiagram-RLTQ6QDP-DVpWTNZj-CpwnuTPx.js → erDiagram-RLTQ6QDP-DVpWTNZj-BZiEF7-i.js} +1 -1
  52. package/dist/assets/eventmodeling-NTZA5JFV-B7bRrpt_-caW4hYF-.js +1 -0
  53. package/dist/assets/flowDiagram-HODETNUW-r-3T5g30-BjIGQ0gy.js +1 -0
  54. package/dist/assets/{ganttDiagram-EL5Y4UJY-BfAgk15F-CuhMMDMU.js → ganttDiagram-EL5Y4UJY-BfAgk15F-Ch_WOR7W.js} +1 -1
  55. package/dist/assets/gitGraph-4MIJSDKK-BhzSx5wq-Cg664zXo.js +1 -0
  56. package/dist/assets/{gitGraphDiagram-WWUBYQGX-DEVVZ6wt-Bh_VaB4G.js → gitGraphDiagram-WWUBYQGX-DEVVZ6wt-CJ-VvdQR.js} +1 -1
  57. package/dist/assets/{graphlib-BYLhHyYO-BCQclP1Y.js → graphlib-BYLhHyYO-BTjvpy7p.js} +1 -1
  58. package/dist/assets/{html-Z7dGbczU-UIlR1xAp.js → html-Z7dGbczU-BENxCjXi.js} +1 -1
  59. package/dist/assets/{index-DgdW3UkV.css → index-C87BKIYs.css} +1 -1
  60. package/dist/assets/{index-sxsMmFcI.js → index-E1VZG-CI.js} +343 -343
  61. package/dist/assets/info-A6RAGUB7-fR2SUJmJ-ZA3BeGcN.js +1 -0
  62. package/dist/assets/{infoDiagram-27XIBGKW-CvHUhAHd-DigY259e.js → infoDiagram-27XIBGKW-CvHUhAHd-BfqRmAMB.js} +1 -1
  63. package/dist/assets/{ishikawaDiagram-5VMMS53U-CeqyKdwk-ACmU-Jzv.js → ishikawaDiagram-5VMMS53U-CeqyKdwk-U5HvNjd2.js} +1 -1
  64. package/dist/assets/{journeyDiagram-3NMN7TZE-Jfi7MPDi-YIFwpJyP.js → journeyDiagram-3NMN7TZE-Jfi7MPDi-CXNqWNX0.js} +1 -1
  65. package/dist/assets/{kanban-definition-UXKFOSKX-yOrlojns-0RXVl3u9.js → kanban-definition-UXKFOSKX-yOrlojns-BChFjgpO.js} +1 -1
  66. package/dist/assets/{lengths-CvmPfBid-BAfNjGrF.js → lengths-CvmPfBid-yvmpRCGm.js} +1 -1
  67. package/dist/assets/{linear-jdmEy-qs-Djjlqhox.js → linear-jdmEy-qs-DsOG9ULI.js} +1 -1
  68. package/dist/assets/{liteAdaptor-pH5MXTG0-pAc8cmKr.js → liteAdaptor-pH5MXTG0-vBxiFr54.js} +1 -1
  69. package/dist/assets/material-symbols-outlined-DhPLOrnb.woff2 +0 -0
  70. package/dist/assets/{mathjax-DVEo4UYj-Cnj1zcS1.js → mathjax-DVEo4UYj-Dto7C21K.js} +1 -1
  71. package/dist/assets/{mermaid-parser.core-CzBW8Fof-s3bWPn0O.js → mermaid-parser.core-CzBW8Fof-Dl-G7kyI.js} +2 -2
  72. package/dist/assets/{mermaid.core-Dv4uylek-DqGXjOPu.js → mermaid.core-Dv4uylek-Tf8AtUNE.js} +4 -4
  73. package/dist/assets/{mindmap-definition-YA3MSWOX-DP_2R9Ga-KrOUlEvG.js → mindmap-definition-YA3MSWOX-DP_2R9Ga-DOL0Xu1y.js} +1 -1
  74. package/dist/assets/{mo-Xv_6CC7A-5T19MjVl.js → mo-Xv_6CC7A-DleUYSfs.js} +1 -1
  75. package/dist/assets/packet-AYTQ26CC-B_oKR9KZ-tZL-TM0J.js +1 -0
  76. package/dist/assets/{pegDiagram-XKGWAZYB-BsBWryhi-DYwgFu60.js → pegDiagram-XKGWAZYB-BsBWryhi-DpFsv3mJ.js} +1 -1
  77. package/dist/assets/pie-WAS4IAKB-D1ZXrN1W-9Gdk_RuH.js +1 -0
  78. package/dist/assets/{pieDiagram-E7YTZNPT-OugkS2pU-CitvFGku.js → pieDiagram-E7YTZNPT-OugkS2pU-DyXeEqvO.js} +1 -1
  79. package/dist/assets/{quadrantDiagram-AXDQQJYC-DXEAAaUE-BJz-5fWN.js → quadrantDiagram-AXDQQJYC-DXEAAaUE-bz8yh-V4.js} +1 -1
  80. package/dist/assets/radar-RG4KPBEZ-BmUgDkiH-DsSqeCiO.js +1 -0
  81. package/dist/assets/railroad-74A4TZTK-6lEXVJo8-CtdQOZTi.js +1 -0
  82. package/dist/assets/railroad-abnf-HS5TGJTU-BG28Qiz1-nuv-Ibj8.js +1 -0
  83. package/dist/assets/railroad-ebnf-LZEXJU2U-DzpHhtTH-GbFob_0y.js +1 -0
  84. package/dist/assets/railroad-peg-WCYAUIDC-B2CHCTyG-DFvm6UEi.js +1 -0
  85. package/dist/assets/{railroadDiagram-O6MQD6OU-BJys8O96-8S8j18MZ.js → railroadDiagram-O6MQD6OU-BJys8O96-D6ZaI1pj.js} +1 -1
  86. package/dist/assets/{requirementDiagram-BXWQKSXE-BaDgCtM5-D0sLbDHs.js → requirementDiagram-BXWQKSXE-BaDgCtM5-9Sgf11TA.js} +1 -1
  87. package/dist/assets/{sankeyDiagram-P5KCCOFB-puZsr_vK-C1OX3N7F.js → sankeyDiagram-P5KCCOFB-puZsr_vK-BVb6-HDd.js} +1 -1
  88. package/dist/assets/{sequenceDiagram-WJ2MYXX4-D1ziEryC-CvoJhcsM.js → sequenceDiagram-WJ2MYXX4-D1ziEryC-Bi64E00J.js} +1 -1
  89. package/dist/assets/{src-CLC0ddSd-D-EBSy-7.js → src-CLC0ddSd-Fv1mJDwe.js} +1 -1
  90. package/dist/assets/{stateDiagram-D77RDMKH-HSEurT6h-DWNnPlrT.js → stateDiagram-D77RDMKH-HSEurT6h-m_zPx0BA.js} +1 -1
  91. package/dist/assets/stateDiagram-v2-MP3YSRHH-DnOa-Otc-Olhbh80x.js +1 -0
  92. package/dist/assets/{svg-D_RYJvQC-xxS_UOMd.js → svg-D_RYJvQC-Bat-_KK7.js} +1 -1
  93. package/dist/assets/{swimlanes-42K2YHIH-umBsuvsI-BE4MiInp.js → swimlanes-42K2YHIH-umBsuvsI-DeFyNlra.js} +1 -1
  94. package/dist/assets/swimlanesDiagram-VR7AAH4N-ZLUyNmnU-Br2BzY66.js +8 -0
  95. package/dist/assets/{tex-Dx2UJ3VU-Bvt244KZ.js → tex-Dx2UJ3VU-CyrRnTbE.js} +1 -1
  96. package/dist/assets/{timeline-definition-24CTP7MA-D9plt22Y-DHwEP0-q.js → timeline-definition-24CTP7MA-D9plt22Y-BDUElL6z.js} +1 -1
  97. package/dist/assets/treeView-Q6P3EWNA-BdvZ0_C5-C11-3lYw.js +1 -0
  98. package/dist/assets/treemap-WGGIJYW6-CIJLPQlC-d0_kiwn1.js +1 -0
  99. package/dist/assets/{vennDiagram-4TSXK5OY-DZe7wY85-BzqCxOQu.js → vennDiagram-4TSXK5OY-DZe7wY85-DdIxqotG.js} +1 -1
  100. package/dist/assets/wardley-WFR3VGLG-CKqtFD8V-3gV1W5uy.js +1 -0
  101. package/dist/assets/{wardleyDiagram-VM6X3IG4-DK9yytWx-FK9bW_eQ.js → wardleyDiagram-VM6X3IG4-DK9yytWx-C2ur_Ehx.js} +1 -1
  102. package/dist/assets/{xychartDiagram-S5SC5T6Z-CLSO4Pc9-BGF6axe4.js → xychartDiagram-S5SC5T6Z-CLSO4Pc9-DIXtD358.js} +1 -1
  103. package/dist/index.html +2 -2
  104. package/package.json +1 -1
  105. package/server/agents/codex-sessions.ts +47 -1
  106. package/server/routes/session-routes.ts +31 -16
  107. package/server/session/transcript-view-read.ts +86 -5
  108. package/server/skills/mulmoterminal-keys/SKILL.md +7 -0
  109. package/dist/assets/architecture-7GRP2DOG-otSkCkT5-BXYe9Y4x.js +0 -1
  110. package/dist/assets/channel-Bmu_OOc6-Byl1e1Rn.js +0 -1
  111. package/dist/assets/classDiagram-ZZMXUADV-BDQOAOBf-DGA1_qS0.js +0 -1
  112. package/dist/assets/classDiagram-v2-VYDZK3BY-CwPXtzoF-DGA1_qS0.js +0 -1
  113. package/dist/assets/cynefin-OW5HDTMX-Xr6IPdZG-DCyyQmwN.js +0 -1
  114. package/dist/assets/eventmodeling-NTZA5JFV-B7bRrpt_-DWVjLwmJ.js +0 -1
  115. package/dist/assets/flowDiagram-HODETNUW-r-3T5g30-CjAJJOoL.js +0 -1
  116. package/dist/assets/gitGraph-4MIJSDKK-BhzSx5wq-CmU_NC2u.js +0 -1
  117. package/dist/assets/info-A6RAGUB7-fR2SUJmJ-Dc6y50d4.js +0 -1
  118. package/dist/assets/material-symbols-outlined-Dp0GkOHZ.woff2 +0 -0
  119. package/dist/assets/packet-AYTQ26CC-B_oKR9KZ-DzcrK2qY.js +0 -1
  120. package/dist/assets/pie-WAS4IAKB-D1ZXrN1W-EXLeDSJc.js +0 -1
  121. package/dist/assets/radar-RG4KPBEZ-BmUgDkiH-CYsT6Q2i.js +0 -1
  122. package/dist/assets/railroad-74A4TZTK-6lEXVJo8-CGKkcPl-.js +0 -1
  123. package/dist/assets/railroad-abnf-HS5TGJTU-BG28Qiz1-CX4pHVjI.js +0 -1
  124. package/dist/assets/railroad-ebnf-LZEXJU2U-DzpHhtTH-DuFCuwxK.js +0 -1
  125. package/dist/assets/railroad-peg-WCYAUIDC-B2CHCTyG-BZCRCTz5.js +0 -1
  126. package/dist/assets/stateDiagram-v2-MP3YSRHH-DnOa-Otc-jwvolGHy.js +0 -1
  127. package/dist/assets/swimlanesDiagram-VR7AAH4N-ZLUyNmnU-DNoFZykH.js +0 -8
  128. package/dist/assets/treeView-Q6P3EWNA-BdvZ0_C5-Cw7gALPI.js +0 -1
  129. package/dist/assets/treemap-WGGIJYW6-CIJLPQlC-BuBwqHqi.js +0 -1
  130. package/dist/assets/wardley-WFR3VGLG-CKqtFD8V-Ds6_n_M_.js +0 -1
package/common/keymap.ts CHANGED
@@ -16,6 +16,8 @@ export const KEYMAP_ACTIONS = [
16
16
  "zoom-toggle",
17
17
  "zoom-next",
18
18
  "zoom-prev",
19
+ "focus-next",
20
+ "focus-prev",
19
21
  "next-attention",
20
22
  "terminal-new",
21
23
  "terminal-new-here",
@@ -62,6 +64,18 @@ export const NEEDS_A_CURRENT_TERMINAL: readonly KeymapAction[] = [
62
64
  "files-find",
63
65
  ];
64
66
 
67
+ // The mirror of the list above: actions that walk the TILED grid, and so need nothing enlarged.
68
+ // While a cell is, every other cell is either off-screen or parked in the roster, and moving the
69
+ // cursor into one would put it somewhere the user cannot see.
70
+ //
71
+ // This is deliberately NOT one key meaning two things by state. An action has ONE meaning and
72
+ // declines where it has none — exactly as NEEDS_A_CURRENT_TERMINAL does in the other state. Binding
73
+ // one keystroke to `zoom-prev` AND `focus-prev` still resolves to a single action, because
74
+ // `actionForKey` stops at the first bound one, and validateKeymap reports that. Picking the action
75
+ // by state would mean an ordered-candidates resolver plus action-to-action collision reporting; see
76
+ // plans/feat-2106-focus-prev-next.md for why that is a change of its own.
77
+ export const NEEDS_NOTHING_ENLARGED: readonly KeymapAction[] = ["focus-next", "focus-prev"];
78
+
65
79
  // A key that puts BYTES into the focused terminal instead of running an app action (#1005) —
66
80
  // Cmd+Right as Ctrl+E for end-of-line, say, or Alt+B for word-back.
67
81
  //
@@ -280,6 +294,7 @@ function duplicateWarnings(bound: Map<string, Claim[]>): KeymapProblem[] {
280
294
  //
281
295
  // - `copy` with no selection (clipboardActionFor), deliberately, so Ctrl+C stays interrupt.
282
296
  // - NEEDS_A_CURRENT_TERMINAL with nothing enlarged (gridShortcutFor).
297
+ // - NEEDS_NOTHING_ENLARGED with something enlarged (gridShortcutFor), the mirror of it.
283
298
  //
284
299
  // `acts` and `otherwise` are the two halves of what the user is told.
285
300
  interface StandsAside {
@@ -287,8 +302,10 @@ interface StandsAside {
287
302
  otherwise: string;
288
303
  }
289
304
  const WHILE_ENLARGED: StandsAside = { acts: "only while a terminal is enlarged", otherwise: "when none is" };
305
+ const WHILE_NOT_ENLARGED: StandsAside = { acts: "only while no terminal is enlarged", otherwise: "when one is" };
290
306
  const standsAside = (label: string): StandsAside | null => {
291
307
  if (label === "copy") return { acts: "only while text is selected", otherwise: "when nothing is" };
308
+ if (NEEDS_NOTHING_ENLARGED.some((action) => action === label)) return WHILE_NOT_ENLARGED;
292
309
  return NEEDS_A_CURRENT_TERMINAL.some((action) => action === label) ? WHILE_ENLARGED : null;
293
310
  };
294
311