mulmoterminal 9.2.0 → 9.3.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 (144) hide show
  1. package/README.md +1 -1
  2. package/common/appActions.ts +1 -0
  3. package/common/confetti.ts +50 -0
  4. package/common/keymap.ts +1 -0
  5. package/common/playfulEffects.ts +1 -1
  6. package/dist/assets/{abnfDiagram-O67JEVCF-CgI1WW1K.js → abnfDiagram-YUKMZFIV-SkyTmgW4.js} +1 -1
  7. package/dist/assets/architecture-WOLXFQ4H-CM95IIgB.js +1 -0
  8. package/dist/assets/{architectureDiagram-NJMV4G6O-BiqfSHQg.js → architectureDiagram-47P4ROYG-ByS1TeDn.js} +3 -3
  9. package/dist/assets/{blockDiagram-BEXU5L5S-C85RgRxX.js → blockDiagram-E7TT5TSB-B63Mpb7u.js} +3 -3
  10. package/dist/assets/{c4Diagram-YGBWAQC7-zwpfD43P.js → c4Diagram-CRA5TL53-COpls4b7.js} +2 -2
  11. package/dist/assets/channel-DoAEsayh.js +1 -0
  12. package/dist/assets/chunk-2BW5OAIV-CERsR7O1.js +10 -0
  13. package/dist/assets/chunk-3YJQHVM4-C-RkS8_W.js +2 -0
  14. package/dist/assets/{chunk-7PRAP22T-Bx2XCqg1.js → chunk-4EA7E6EY-DljY5Vea.js} +1 -1
  15. package/dist/assets/{chunk-GWA4HPMP-yanFQ1nr.js → chunk-7TKQ45FW-BHujPREU.js} +1 -1
  16. package/dist/assets/{chunk-GTNCS2PH-4KojMJEX.js → chunk-AW2ZBBNX-dzHLAvxJ.js} +3 -3
  17. package/dist/assets/{chunk-5DYCD2WN-oXShtJkD.js → chunk-DBDB3WZW-DC4yHCqL.js} +1 -1
  18. package/dist/assets/{chunk-MBY4JIJT-DUxMzuaK.js → chunk-E2ZNV5FY-KLIXtwwn.js} +3 -3
  19. package/dist/assets/chunk-EU5HNXII-Tj5v-IRx.js +213 -0
  20. package/dist/assets/chunk-FVRAUYC3-DdVUZ61w.js +2 -0
  21. package/dist/assets/{chunk-742MDFTN-Bk6NjtH1.js → chunk-HJ2JQQFS-CjEREIc6.js} +1 -1
  22. package/dist/assets/{chunk-NETBCI7D-DXWi_iQj.js → chunk-HTAEGDNF-DXbImTGg.js} +1 -1
  23. package/dist/assets/{chunk-WEXAMYUT-aTWhW_z5.js → chunk-KQW6MTUR-CsxYVqP9.js} +1 -1
  24. package/dist/assets/chunk-NGNAAXSQ-DqoPQk1a.js +136 -0
  25. package/dist/assets/{chunk-UA2S7LBM-DTCGDQab.js → chunk-NTY3LDVX-CM3aWKgJ.js} +1 -1
  26. package/dist/assets/chunk-VPRB5NB3-Dc2uf9TY.js +127 -0
  27. package/dist/assets/{chunk-7INBJB4K-DiAzK5PS.js → chunk-XC4XBNZT-CH1Gjc2H.js} +10 -10
  28. package/dist/assets/{classDiagram-v2-NBCMYWYE-CMkVvr2h.js → classDiagram-v2-K4WV4PDN-Qf_583Bq.js} +3 -3
  29. package/dist/assets/cynefin-EF2NZ3EQ-D5NGnJyz.js +1 -0
  30. package/dist/assets/cynefinDiagram-3GCD6N5R-B1c5B1hi.js +62 -0
  31. package/dist/assets/dagre-W4DXFKR2-CFUKRvsS.js +4 -0
  32. package/dist/assets/{diagram-22UHCM2B-DKbKy6lK.js → diagram-2UJZ2QOL-CgwAnu_N.js} +7 -7
  33. package/dist/assets/{diagram-3UASUU5V-4Gzm0x2x.js → diagram-OVF4WLC6-DJfRPYa-.js} +11 -11
  34. package/dist/assets/{diagram-CDSNMT55-B1ocJFEo.js → diagram-PFPMY2P6-NKbYv6LB.js} +3 -3
  35. package/dist/assets/{diagram-MLGK6HIB-DD23Gsmy.js → diagram-UMYRVEAY-CEWBeTVA.js} +1 -1
  36. package/dist/assets/diagram-YEKJPTXX-BauLDfmp.js +41 -0
  37. package/dist/assets/diagram-ZIFT7M5P-C8eZFcrJ.js +3 -0
  38. package/dist/assets/{dist-A_kJh8wT.js → dist-5qUL9E-O.js} +1 -1
  39. package/dist/assets/{dist-0JSyQRpW.js → dist-BexzXBQp.js} +1 -1
  40. package/dist/assets/{dist-Caswjbvr.js → dist-CG1_4YKv.js} +1 -1
  41. package/dist/assets/{dist-Bpv8UmRl.js → dist-Cqkp1P6V.js} +1 -1
  42. package/dist/assets/{dist-D7w6l0hq.js → dist-SZQE7Hxo.js} +1 -1
  43. package/dist/assets/{ebnfDiagram-ZINNZB2B-BLwb1Bjg.js → ebnfDiagram-VR2GEFS7-BJX7_1tc.js} +1 -1
  44. package/dist/assets/elk-IJKZMXRS-oB1ckXbA.js +27 -0
  45. package/dist/assets/{erDiagram-OPXOYQCR-DB_8EZw1.js → erDiagram-O2IAPWRE-nZimRIPA.js} +2 -2
  46. package/dist/assets/eventmodeling-K75KTNOO-l9iWQ9RK.js +1 -0
  47. package/dist/assets/flowDiagram-OXPTDLAJ-CJJjs3vD.js +1 -0
  48. package/dist/assets/ganttDiagram-R7TSEDQI-CyMLs7TU.js +292 -0
  49. package/dist/assets/gitGraph-VSP46ZUC-BEpJvye-.js +1 -0
  50. package/dist/assets/gitGraphDiagram-XJZIOB7I-ByePDxBx.js +106 -0
  51. package/dist/assets/graphlib-DS17s2tU.js +1 -0
  52. package/dist/assets/{index-BJWYg9o0.js → index-BXvDinV4.js} +342 -342
  53. package/dist/assets/index-pILcO9oj.css +1 -0
  54. package/dist/assets/info-OHQRW6UA-BEh0sGQl.js +1 -0
  55. package/dist/assets/{infoDiagram-VRGFBTTK-Bp0kXoF9.js → infoDiagram-5W2HQ5XZ-CoRqQAQS.js} +1 -1
  56. package/dist/assets/{ishikawaDiagram-OU5B5YK6-CJAtx6_z.js → ishikawaDiagram-K3B6WC7H-CFOPrQ_I.js} +2 -2
  57. package/dist/assets/{journeyDiagram-ZHPQQLJL-C0eQyewJ.js → journeyDiagram-COXZFDF6-gzUbBOK5.js} +3 -3
  58. package/dist/assets/{kanban-definition-PNTS6WVX-Bx0ss3Hw.js → kanban-definition-P3RFRI5V-DUQhCT4u.js} +9 -9
  59. package/dist/assets/{line-Ck7uwpnJ.js → line-D3rU2hl4.js} +1 -1
  60. package/dist/assets/{manifold-B3bYRcpX.js → manifold-BJaPjNyo.js} +1 -1
  61. package/dist/assets/{marp-xhjNh7vr.js → marp-Cg8ZzZOC.js} +1 -1
  62. package/dist/assets/{mermaid-parser.core-dGRiSpK_.js → mermaid-parser.core-DIqrGlMr.js} +6 -6
  63. package/dist/assets/mermaid.core-Dx2cEWgm.js +44 -0
  64. package/dist/assets/{mindmap-definition-NLK3R4M7-4_koMJUc.js → mindmap-definition-LZFPQGKD-BM-Q6ddb.js} +24 -24
  65. package/dist/assets/packet-JDAUHWVQ-Exh4d5oj.js +1 -0
  66. package/dist/assets/{pegDiagram-GJSIUBJH-C2hvlIZ3.js → pegDiagram-BGZESJAR-HqoWZ9UC.js} +1 -1
  67. package/dist/assets/pie-XZMESJXO-sNNkz3IM.js +1 -0
  68. package/dist/assets/pieDiagram-CAPJLFHJ-R_gRc3es.js +39 -0
  69. package/dist/assets/{quadrantDiagram-O4NWA36T-6b3hk9ag.js → quadrantDiagram-GDMTTRAM-CxwbHNOW.js} +3 -3
  70. package/dist/assets/radar-ABXABTNO-DmV2rgcW.js +1 -0
  71. package/dist/assets/railroad-I3PHUGI6-B5psHt4W.js +1 -0
  72. package/dist/assets/railroad-abnf-LNEFI6M7-B6y_99cJ.js +1 -0
  73. package/dist/assets/railroad-ebnf-DWYD2UWJ-y-Kd7gZ3.js +1 -0
  74. package/dist/assets/railroad-peg-JR7BVNR7-CxfusapB.js +1 -0
  75. package/dist/assets/{railroadDiagram-XR7U4H2S-Boqbx6-T.js → railroadDiagram-SM67HX2B--Of4jUTW.js} +1 -1
  76. package/dist/assets/{requirementDiagram-PLB6GJNP-CkYAR9nA.js → requirementDiagram-X7JNWC4A-PUmP8iBy.js} +4 -4
  77. package/dist/assets/sankeyDiagram-UM26HJRW-QOUjE5vE.js +40 -0
  78. package/dist/assets/sequenceDiagram-ZO4K6R2Y-B_NhAqQo.js +169 -0
  79. package/dist/assets/{stateDiagram-v2-GCMORJYK-BJ5DvE6t.js → stateDiagram-v2-TBUQTH76-DLae5vuD.js} +2 -2
  80. package/dist/assets/{swimlanes-2SLR337P-D7583-k5.js → swimlanes-N4OXWK64-OwABGfpU.js} +1 -1
  81. package/dist/assets/swimlanesDiagram-K3J5GTZL-rwxwvgbV.js +8 -0
  82. package/dist/assets/{timeline-definition-EJHVYXUP-B1NtzCrH.js → timeline-definition-YOQAKGHF-CgSC2U-i.js} +4 -4
  83. package/dist/assets/treeView-D4JQ5SDB--wgcnlHV.js +1 -0
  84. package/dist/assets/treemap-SAJKECNS-C6AM9Gjr.js +1 -0
  85. package/dist/assets/usecaseDiagram-VIAY4XPW-BROLO6TX.js +328 -0
  86. package/dist/assets/{vennDiagram-UO4OBE2U-BhIqoQE7.js → vennDiagram-BLWOH2XV-DyBDCNhd.js} +3 -3
  87. package/dist/assets/wardley-7MLQ67FV-Bn1Ug7mB.js +1 -0
  88. package/dist/assets/{wardleyDiagram-VNRHLVJA-Dkv29Zw1.js → wardleyDiagram-YMQ3BMBF-Dv2yg39H.js} +3 -3
  89. package/dist/assets/xychartDiagram-TAQBALBS-C48R0SI0.js +7 -0
  90. package/dist/index.html +2 -2
  91. package/docs/guide/en/v9.3.0.md +41 -0
  92. package/docs/guide/ja/v9.3.0.md +39 -0
  93. package/package.json +8 -8
  94. package/server/agents/rate-limit-service.ts +3 -4
  95. package/server/agents/token-assignment.ts +19 -2
  96. package/server/agents/token-choice.ts +15 -9
  97. package/server/agents/token-rotation-service.ts +3 -0
  98. package/server/config/app-config.ts +7 -0
  99. package/server/index.ts +9 -1
  100. package/server/skills/mulmoterminal-config/SKILL.md +20 -2
  101. package/server/skills/mulmoterminal-header/SKILL.md +1 -1
  102. package/server/skills/mulmoterminal-keys/SKILL.md +1 -0
  103. package/server/skills/mulmoterminal-model/SKILL.md +2 -1
  104. package/dist/assets/_basePickBy-QJXUw_pr.js +0 -1
  105. package/dist/assets/_baseUniq-DR4vVjyC.js +0 -1
  106. package/dist/assets/architecture-7GRP2DOG-DhlJuDvy.js +0 -1
  107. package/dist/assets/channel-DMXWzx9j.js +0 -1
  108. package/dist/assets/chunk-3FUC2YCW-BQp1NS7l.js +0 -2
  109. package/dist/assets/chunk-7M6MHVWA-B6utT-Zc.js +0 -213
  110. package/dist/assets/chunk-FOHPRMQF-DzxwRta7.js +0 -161
  111. package/dist/assets/chunk-O7XYJQB3-t0bazVQy.js +0 -126
  112. package/dist/assets/chunk-Z7XXMR3K-MS8d4aOw.js +0 -10
  113. package/dist/assets/chunk-ZIGJFQKS-DptxH_L8.js +0 -2
  114. package/dist/assets/cynefin-OW5HDTMX-BaizLEpA.js +0 -1
  115. package/dist/assets/cynefinDiagram-VND7K2PF-C_3c5MJG.js +0 -62
  116. package/dist/assets/dagre-6A5THRUB-BGIP-9su.js +0 -4
  117. package/dist/assets/diagram-ATOU4E4O-BYP3MI1w.js +0 -3
  118. package/dist/assets/diagram-MPIPVDR6-C0D4yd40.js +0 -41
  119. package/dist/assets/elk-276RUBZZ-DqsaX90b.js +0 -27
  120. package/dist/assets/eventmodeling-NTZA5JFV-D9-lEkyT.js +0 -1
  121. package/dist/assets/flowDiagram-KWPJA3E3-Cc4AVXST.js +0 -1
  122. package/dist/assets/ganttDiagram-FUAMR5RP-Bs3jK_dS.js +0 -292
  123. package/dist/assets/gitGraph-4MIJSDKK-DkximLaH.js +0 -1
  124. package/dist/assets/gitGraphDiagram-X574FWY7-lISByUdq.js +0 -106
  125. package/dist/assets/graphlib-C9Tl7QrK.js +0 -1
  126. package/dist/assets/index-BeW1ckhh.css +0 -1
  127. package/dist/assets/info-A6RAGUB7-DaP4M4pr.js +0 -1
  128. package/dist/assets/mermaid.core-D0r1cekq.js +0 -44
  129. package/dist/assets/packet-AYTQ26CC-6n9L9Qrc.js +0 -1
  130. package/dist/assets/pie-WAS4IAKB-BAT7lOO0.js +0 -1
  131. package/dist/assets/pieDiagram-5QR66LMP-BGuUJWdF.js +0 -39
  132. package/dist/assets/radar-RG4KPBEZ-CtNbu0eL.js +0 -1
  133. package/dist/assets/railroad-74A4TZTK-Gskwmw9G.js +0 -1
  134. package/dist/assets/railroad-abnf-HS5TGJTU-PCHU0QkJ.js +0 -1
  135. package/dist/assets/railroad-ebnf-LZEXJU2U-BOOJaFVP.js +0 -1
  136. package/dist/assets/railroad-peg-WCYAUIDC-BhiuDOT2.js +0 -1
  137. package/dist/assets/sankeyDiagram-IPEJSGJF-7lJkpQK4.js +0 -40
  138. package/dist/assets/sequenceDiagram-PO4LG4MO-rJVWeJWh.js +0 -169
  139. package/dist/assets/swimlanesDiagram-TC7HE7FX-BJHUGFbc.js +0 -8
  140. package/dist/assets/treeView-Q6P3EWNA-DzV8aZtB.js +0 -1
  141. package/dist/assets/treemap-WGGIJYW6-B6kgW4ZK.js +0 -1
  142. package/dist/assets/usecaseDiagram-POWQR4AR-CpnK-2B3.js +0 -328
  143. package/dist/assets/wardley-WFR3VGLG-D3yNRsZQ.js +0 -1
  144. package/dist/assets/xychartDiagram-PMCCYNJV-Dzpv7CnP.js +0 -7
package/README.md CHANGED
@@ -852,7 +852,7 @@ takes effect; it costs a resume and asks nothing first. `"terminal-new-here"` op
852
852
  on the cell's directory, and `"pane-files"` / `"pane-prompts"` / … / `"terminal-timeline"` /
853
853
  `"terminal-talk"` / `"terminal-park"` / `"terminal-copy-code"` / `"terminal-insert-path"` / `"terminal-reveal"` /
854
854
  `"terminal-voice"` / `"terminal-diff"` / `"terminal-note"` do what the cell's menus and buttons do, and `"screen-*"` / `"settings-open"` /
855
- `"sound-toggle"` / `"view-toggle"` / `"order-*"` / `"page-next"` / `"page-prev"` do what the toolbar and the page tabs do; the old name `"restart"` still works). An `open` button targets one of `url` / `reveal` (OS file manager) / `files`
855
+ `"sound-toggle"` / `"confetti"` / `"view-toggle"` / `"order-*"` / `"page-next"` / `"page-prev"` do what the toolbar and the page tabs do; the old name `"restart"` still works). An `open` button targets one of `url` / `reveal` (OS file manager) / `files`
856
856
  (in-app explorer) / `view` (a built-in overlay) / `terminal` (a dir → a new cell running `$SHELL`,
857
857
  opened next to the current one) / `pr: true` (open the current branch's PR — the button is hidden when
858
858
  there's no open PR) / `pickFile: true` (OS file dialog → insert the path).
@@ -23,6 +23,7 @@ export const APP_ACTIONS = [
23
23
  ...SCREEN_ACTIONS,
24
24
  "settings-open",
25
25
  "sound-toggle",
26
+ "confetti",
26
27
  "view-toggle",
27
28
  ...ORDER_ACTIONS,
28
29
  "page-next",
@@ -0,0 +1,50 @@
1
+ // The `confetti` setting: which kinds of celebration exist, and which app events set one off.
2
+ // Both sides decide from it — the server keeps it in the config, the browser draws.
3
+ import { isRecord } from "./isRecord.js";
4
+
5
+ export const CONFETTI_STYLES = ["cracker", "fireworks", "sakura", "rain", "balloons"] as const;
6
+ export type ConfettiStyle = (typeof CONFETTI_STYLES)[number];
7
+ export const isConfettiStyle = (value: unknown): value is ConfettiStyle => CONFETTI_STYLES.some((style) => style === value);
8
+
9
+ export const CONFETTI_EVENTS = ["pr-merged", "turn-finished", "command-done"] as const;
10
+ export type ConfettiEvent = (typeof CONFETTI_EVENTS)[number];
11
+ export const isConfettiEvent = (value: unknown): value is ConfettiEvent => CONFETTI_EVENTS.some((event) => event === value);
12
+
13
+ export interface Confetti {
14
+ /** What a celebration may be; each one mixes a few picked at random from these. */
15
+ styles: readonly ConfettiStyle[];
16
+ /** Events that set one off by themselves. The keyboard shortcut and the palette work regardless. */
17
+ events: readonly ConfettiEvent[];
18
+ }
19
+
20
+ export const CONFETTI_DEFAULT: Confetti = { styles: CONFETTI_STYLES, events: [] };
21
+
22
+ const onlyKnown = <T>(input: unknown, isKnown: (value: unknown) => value is T): T[] => (Array.isArray(input) ? [...new Set(input.filter(isKnown))] : []);
23
+
24
+ /** Anything unrecognised is "unconfigured". An empty or all-unknown `styles` falls back to every
25
+ * style rather than to none: a celebration that can draw nothing is a shortcut that silently
26
+ * does nothing. `events` has no such fallback — empty is how it is switched off. */
27
+ export function sanitizeConfetti(input: unknown): Confetti {
28
+ if (!isRecord(input)) return CONFETTI_DEFAULT;
29
+ const styles = onlyKnown(input.styles, isConfettiStyle);
30
+ return { styles: styles.length > 0 ? styles : CONFETTI_STYLES, events: onlyKnown(input.events, isConfettiEvent) };
31
+ }
32
+
33
+ /** How many styles one celebration mixes, when the list has that many. */
34
+ export const CONFETTI_MIX_COUNT = 3;
35
+
36
+ /** `count` different styles at random from `styles` (all of them when there are fewer);
37
+ * `random` is injected so a spec can walk every choice. */
38
+ export function pickConfettiMix(styles: readonly ConfettiStyle[], count: number, random: () => number): ConfettiStyle[] {
39
+ const pool = [...(styles.length > 0 ? styles : CONFETTI_STYLES)];
40
+ return Array.from(
41
+ { length: Math.min(count, pool.length) },
42
+ () => pool.splice(Math.min(pool.length - 1, Math.floor(random() * pool.length)), 1)[0] ?? "cracker",
43
+ );
44
+ }
45
+
46
+ /** One style at random from `styles`; `random` is injected so a spec can walk every choice. */
47
+ export function pickConfettiStyle(styles: readonly ConfettiStyle[], random: () => number): ConfettiStyle {
48
+ const pool = styles.length > 0 ? styles : CONFETTI_STYLES;
49
+ return pool[Math.min(pool.length - 1, Math.floor(random() * pool.length))] ?? "cracker";
50
+ }
package/common/keymap.ts CHANGED
@@ -64,6 +64,7 @@ export const KEYMAP_ACTIONS = [
64
64
  "screen-skills",
65
65
  "settings-open",
66
66
  "sound-toggle",
67
+ "confetti",
67
68
  "view-toggle",
68
69
  "order-auto",
69
70
  "order-manual",
@@ -3,7 +3,7 @@
3
3
  // the picture and draws the level.
4
4
  import { isRecord } from "./isRecord.js";
5
5
 
6
- export const HEAT_PATTERNS = ["bomb", "volcano", "kettle", "rocket", "dynamite", "balloon", "skull"] as const;
6
+ export const HEAT_PATTERNS = ["bomb", "volcano", "kettle", "rocket", "dynamite", "balloon", "skull", "sumo"] as const;
7
7
  export type HeatPattern = (typeof HEAT_PATTERNS)[number];
8
8
  export const isHeatPattern = (value: unknown): value is HeatPattern => HEAT_PATTERNS.some((pattern) => pattern === value);
9
9
 
@@ -1 +1 @@
1
- import{m as e,t}from"./mermaid-parser.core-dGRiSpK_.js";import{n}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as r}from"./src-CllyRBe0.js";import"./chunk-O7XYJQB3-t0bazVQy.js";import{n as i,r as a,t as o}from"./chunk-GTNCS2PH-4KojMJEX.js";import{t as s}from"./chunk-JWPE2WC7-DVXcaiue.js";import"./mermaid.core-D0r1cekq.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
+ import{m as e,t}from"./mermaid-parser.core-DIqrGlMr.js";import{n}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as r}from"./src-CllyRBe0.js";import"./chunk-VPRB5NB3-Dc2uf9TY.js";import{n as i,r as a,t as o}from"./chunk-AW2ZBBNX-dzHLAvxJ.js";import{t as s}from"./chunk-JWPE2WC7-DVXcaiue.js";import"./mermaid.core-Dx2cEWgm.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};
@@ -0,0 +1 @@
1
+ import"./chunk-NGNAAXSQ-DqoPQk1a.js";import{M as e}from"./mermaid-parser.core-DIqrGlMr.js";export{e as createArchitectureServices};