frizz-server 0.15.7 → 0.15.9

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 (102) hide show
  1. package/dist/acp-daemon.js +27 -3
  2. package/dist/claude-agent-broker.js +6123 -6074
  3. package/dist/codex-app-server-daemon.js +27 -3
  4. package/dist/dev-child.js +6841 -6524
  5. package/package.json +1 -1
  6. package/runtime/cc-worker/bin/frizz-mcp.mjs +21 -17
  7. package/runtime/cc-worker/hooks/session-seed.mjs +1 -1
  8. package/web-dist/assets/{abnfDiagram-VRR7QNED-DwSF6UVy.js → abnfDiagram-VRR7QNED-bpvFgjh_.js} +1 -1
  9. package/web-dist/assets/{arc-BO1i7GWM.js → arc-B6wV_613.js} +1 -1
  10. package/web-dist/assets/architecture-TIHT7OUA-CZz_Dcj8.js +1 -0
  11. package/web-dist/assets/{architectureDiagram-ZJ3FMSHR-msNhjgsP.js → architectureDiagram-ZJ3FMSHR-w01ZZmOr.js} +1 -1
  12. package/web-dist/assets/{blockDiagram-677ZJIJ3-JCCwJqsE.js → blockDiagram-677ZJIJ3-C2dC71vu.js} +1 -1
  13. package/web-dist/assets/{c4Diagram-LMCZKHZV-B5vS6rLH.js → c4Diagram-LMCZKHZV-dzZwiOpg.js} +1 -1
  14. package/web-dist/assets/channel-BskO-4wQ.js +1 -0
  15. package/web-dist/assets/{chunk-32BRIVSS-BeH_kPjp.js → chunk-32BRIVSS-BlUNcRIV.js} +1 -1
  16. package/web-dist/assets/{chunk-52WLFC77-D0OtliIj.js → chunk-52WLFC77-BBpddpiu.js} +1 -1
  17. package/web-dist/assets/{chunk-C7G6YPKG-wbaKYBGi.js → chunk-C7G6YPKG-vQnBlF1j.js} +1 -1
  18. package/web-dist/assets/{chunk-EX3LRPZG-JrdwUCV4.js → chunk-EX3LRPZG-Ck6_JWUr.js} +1 -1
  19. package/web-dist/assets/{chunk-FWX5IMBZ-dk5peTlq.js → chunk-FWX5IMBZ-l81x5EMG.js} +2 -2
  20. package/web-dist/assets/{chunk-HOUHSVGY-DEVMSmR0.js → chunk-HOUHSVGY-CAZZtYuY.js} +1 -1
  21. package/web-dist/assets/{chunk-ICXQ74PX-Q4B4QfXk.js → chunk-ICXQ74PX-rH1OyvOA.js} +1 -1
  22. package/web-dist/assets/{chunk-MOJQB5TN-CFljAhrA.js → chunk-MOJQB5TN-B4kp_No0.js} +1 -1
  23. package/web-dist/assets/{chunk-OGEWGWER-uDxaNMkK.js → chunk-OGEWGWER-CqwXyIBs.js} +1 -1
  24. package/web-dist/assets/{chunk-PUDLZKDR-B1_PcfSW.js → chunk-PUDLZKDR-D2gjM_eF.js} +1 -1
  25. package/web-dist/assets/{chunk-Q4XR5HBZ-CTG5ESkU.js → chunk-Q4XR5HBZ-gRBHVngs.js} +1 -1
  26. package/web-dist/assets/{chunk-RYQCIY6F-C4Xbw0h0.js → chunk-RYQCIY6F-BCdM08hs.js} +1 -1
  27. package/web-dist/assets/{chunk-V7JOEXUC-DzX7WzjT.js → chunk-V7JOEXUC-DQBtsWdd.js} +1 -1
  28. package/web-dist/assets/{chunk-VAUOI2AC-C5BV4_RN.js → chunk-VAUOI2AC-BiLb5gwB.js} +1 -1
  29. package/web-dist/assets/{chunk-VR4S4FIN-WYsy9hUs.js → chunk-VR4S4FIN-DFTQyMST.js} +1 -1
  30. package/web-dist/assets/{chunk-WYO6CB5R-D-1-l4MF.js → chunk-WYO6CB5R-2o1M-Kfn.js} +1 -1
  31. package/web-dist/assets/{chunk-XXDRQBXY-C9lzowcJ.js → chunk-XXDRQBXY-CbmG6EEc.js} +1 -1
  32. package/web-dist/assets/{chunk-ZGVPDNZ5-7KVpod10.js → chunk-ZGVPDNZ5-HevfruTn.js} +1 -1
  33. package/web-dist/assets/classDiagram-OUVF2IWQ-BOPl2fK7.js +1 -0
  34. package/web-dist/assets/classDiagram-v2-EOCWNBFH-BOPl2fK7.js +1 -0
  35. package/web-dist/assets/{cose-bilkent-JH36ORCC-Cjxk1BZr.js → cose-bilkent-JH36ORCC-GKECIOxX.js} +1 -1
  36. package/web-dist/assets/{cynefin-VYW2F7L2-wOe2bHzn.js → cynefin-VYW2F7L2-BYescccC.js} +1 -1
  37. package/web-dist/assets/{cynefinDiagram-TSTJHNR4-aC9cGB5C.js → cynefinDiagram-TSTJHNR4-Ci4_11Wj.js} +1 -1
  38. package/web-dist/assets/{dagre-VKFMJZFB-C8WIcb6F.js → dagre-VKFMJZFB-BSYt3Ueo.js} +1 -1
  39. package/web-dist/assets/{diagram-FQU43EPY-C3aPYv7S.js → diagram-FQU43EPY-D_poYJjj.js} +1 -1
  40. package/web-dist/assets/{diagram-G47NLZAW-B4wmfzMx.js → diagram-G47NLZAW-DiX0WcIi.js} +1 -1
  41. package/web-dist/assets/{diagram-NH7WQ7WH-DVeUa_5D.js → diagram-NH7WQ7WH-BSXO9aR-.js} +1 -1
  42. package/web-dist/assets/{diagram-OA4YK3LP-BaQwQu_F.js → diagram-OA4YK3LP-c5PFWmce.js} +1 -1
  43. package/web-dist/assets/{diagram-WEI45ONY-DqprB85c.js → diagram-WEI45ONY-0E2e-eEl.js} +1 -1
  44. package/web-dist/assets/{dist-rtzL4gLm.js → dist-BNr2jceV.js} +1 -1
  45. package/web-dist/assets/{ebnfDiagram-CCIWWBDH-Mm1irNb1.js → ebnfDiagram-CCIWWBDH-sug5MowW.js} +1 -1
  46. package/web-dist/assets/{erDiagram-Q63AITRT-MKBulWN5.js → erDiagram-Q63AITRT-DWn4eYuP.js} +1 -1
  47. package/web-dist/assets/eventmodeling-45OFAUF4-CbAeMPGX.js +1 -0
  48. package/web-dist/assets/flowDiagram-23GEKE2U-Dzd-86wz.js +1 -0
  49. package/web-dist/assets/{ganttDiagram-NO4QXBWP-D2y3Bf3l.js → ganttDiagram-NO4QXBWP-BjQPsYE_.js} +1 -1
  50. package/web-dist/assets/{gitGraph-TEB2WS4Q-O-LVx0X5.js → gitGraph-TEB2WS4Q-Y9S6dZOS.js} +1 -1
  51. package/web-dist/assets/{gitGraphDiagram-IHSO6WYX-DcQEaYcT.js → gitGraphDiagram-IHSO6WYX-CMq9b8vX.js} +1 -1
  52. package/web-dist/assets/index-BXB3wIbN.css +2 -0
  53. package/web-dist/assets/{index-DpPWC0ta.js → index-xddrwgDi.js} +90 -89
  54. package/web-dist/assets/{info-DKCQHKI2-CY6fWeew.js → info-DKCQHKI2-CWtE6dST.js} +1 -1
  55. package/web-dist/assets/{infoDiagram-FWYZ7A6U-BVfQV-3W.js → infoDiagram-FWYZ7A6U-C2NWIaif.js} +1 -1
  56. package/web-dist/assets/{ishikawaDiagram-FXEZZL3T-dwjcM4Ez.js → ishikawaDiagram-FXEZZL3T-DXzUcIZF.js} +1 -1
  57. package/web-dist/assets/{journeyDiagram-5HDEW3XC-CUaZBvLp.js → journeyDiagram-5HDEW3XC-qJI9aTVd.js} +1 -1
  58. package/web-dist/assets/{kanban-definition-HUTT4EX6-DE8wReP0.js → kanban-definition-HUTT4EX6-4Lj8CQgB.js} +1 -1
  59. package/web-dist/assets/{line-zArFI85C.js → line-DIrw6BIn.js} +1 -1
  60. package/web-dist/assets/{linear-BSG56Yjb.js → linear-BNIMlWSR.js} +1 -1
  61. package/web-dist/assets/{mermaid-parser.core-BxbE62as.js → mermaid-parser.core-d7S7o_PA.js} +3 -3
  62. package/web-dist/assets/{mermaid.core-C9Bw1zsy.js → mermaid.core-D_uuLgtZ.js} +3 -3
  63. package/web-dist/assets/{mindmap-definition-LN4V7U3C-BhguO5c0.js → mindmap-definition-LN4V7U3C-BGHuc-YM.js} +1 -1
  64. package/web-dist/assets/{packet-7NZHBO7P-C9Him4Jg.js → packet-7NZHBO7P-DysEFjId.js} +1 -1
  65. package/web-dist/assets/{pegDiagram-2B236MQR-D4wv-hVO.js → pegDiagram-2B236MQR-DwkqJI5_.js} +1 -1
  66. package/web-dist/assets/{pie-RZYD4A2V-CXMTL6pQ.js → pie-RZYD4A2V-DC38iBe5.js} +1 -1
  67. package/web-dist/assets/{pieDiagram-ENE6RG2P-CHBrF8Gr.js → pieDiagram-ENE6RG2P-DpVWPnNY.js} +1 -1
  68. package/web-dist/assets/{quadrantDiagram-ABIIQ3AL-yT8E8mdN.js → quadrantDiagram-ABIIQ3AL-C5xGorjA.js} +1 -1
  69. package/web-dist/assets/{radar-I7S5WNFK-DTFJXgLK.js → radar-I7S5WNFK-C6PrFcXa.js} +1 -1
  70. package/web-dist/assets/{railroad-3IZDKUUU-9El5FU8p.js → railroad-3IZDKUUU-D9YHM7vZ.js} +1 -1
  71. package/web-dist/assets/railroad-abnf-AHOZXSZD-B04LSTOs.js +1 -0
  72. package/web-dist/assets/railroad-ebnf-EBAXGLYW-D1pcb-wx.js +1 -0
  73. package/web-dist/assets/railroad-peg-LSFZ7HO6-D-LbH7mN.js +1 -0
  74. package/web-dist/assets/{railroadDiagram-RFXS5EU6-DHRB37mq.js → railroadDiagram-RFXS5EU6-C2j0z7hC.js} +1 -1
  75. package/web-dist/assets/{requirementDiagram-TGXJPOKE-Cj41jOCz.js → requirementDiagram-TGXJPOKE-Bq_baMBe.js} +1 -1
  76. package/web-dist/assets/{sankeyDiagram-HTMAVEWB-Czb26Wy-.js → sankeyDiagram-HTMAVEWB-CligXT76.js} +1 -1
  77. package/web-dist/assets/{sequenceDiagram-DBY2YBRQ-C_WGyZ5J.js → sequenceDiagram-DBY2YBRQ-DDElTttj.js} +1 -1
  78. package/web-dist/assets/{src-BH3865Hl.js → src-CDEniJg5.js} +1 -1
  79. package/web-dist/assets/{stateDiagram-2N3HPSRC-DwKIv4VY.js → stateDiagram-2N3HPSRC-F3GBVtlR.js} +1 -1
  80. package/web-dist/assets/stateDiagram-v2-6OUMAXLB-AyunP4Gk.js +1 -0
  81. package/web-dist/assets/{swimlanes-5IMT3BWC-Bf3tF-DM.js → swimlanes-5IMT3BWC-BoqqfmHh.js} +1 -1
  82. package/web-dist/assets/swimlanesDiagram-G3AALYLV-CnMYwZeI.js +8 -0
  83. package/web-dist/assets/{timeline-definition-FHXFAJF6-X_Wo2yjO.js → timeline-definition-FHXFAJF6-C3tpbuLT.js} +1 -1
  84. package/web-dist/assets/{treeView-QDETBFTQ-Cdlwh2BX.js → treeView-QDETBFTQ-v67h6a2k.js} +1 -1
  85. package/web-dist/assets/{treemap-6X3UGDF4-ByVScQ5B.js → treemap-6X3UGDF4-BxG9V7LR.js} +1 -1
  86. package/web-dist/assets/{vennDiagram-L72KCM5P-B7dNcpqz.js → vennDiagram-L72KCM5P-QPebQmx5.js} +1 -1
  87. package/web-dist/assets/{wardley-OPB4EBWU-CEiXyYvs.js → wardley-OPB4EBWU-Cf_j_CaV.js} +1 -1
  88. package/web-dist/assets/{wardleyDiagram-EHGQE667-CehzwZ8g.js → wardleyDiagram-EHGQE667-BAkdTjBJ.js} +1 -1
  89. package/web-dist/assets/{xychartDiagram-FW5EYKEG-BmuVKE3h.js → xychartDiagram-FW5EYKEG-CT9Ye_bC.js} +1 -1
  90. package/web-dist/index.html +2 -2
  91. package/web-dist/assets/architecture-TIHT7OUA-BbpJdZVL.js +0 -1
  92. package/web-dist/assets/channel-D0yqk-I_.js +0 -1
  93. package/web-dist/assets/classDiagram-OUVF2IWQ-BrNNI0PJ.js +0 -1
  94. package/web-dist/assets/classDiagram-v2-EOCWNBFH-BrNNI0PJ.js +0 -1
  95. package/web-dist/assets/eventmodeling-45OFAUF4-JhoriiTk.js +0 -1
  96. package/web-dist/assets/flowDiagram-23GEKE2U-BY5NuqLK.js +0 -1
  97. package/web-dist/assets/index-BSpdKQMe.css +0 -2
  98. package/web-dist/assets/railroad-abnf-AHOZXSZD-DfSVqPIB.js +0 -1
  99. package/web-dist/assets/railroad-ebnf-EBAXGLYW-vIxB5rhr.js +0 -1
  100. package/web-dist/assets/railroad-peg-LSFZ7HO6-7hKGS43v.js +0 -1
  101. package/web-dist/assets/stateDiagram-v2-6OUMAXLB-e_B-QQch.js +0 -1
  102. package/web-dist/assets/swimlanesDiagram-G3AALYLV-CrDVZVa-.js +0 -8
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "frizz-server",
3
- "version": "0.15.7",
3
+ "version": "0.15.9",
4
4
  "private": false,
5
5
  "description": "Replaceable Frizz server runtime",
6
6
  "license": "MIT",
@@ -391,11 +391,13 @@ const WATCH = {
391
391
  name: "watch",
392
392
  description:
393
393
  "REGISTER A WAIT on something this thread already has running — a background shell, a sub-agent — " +
394
- "and frizz holds your thread out of the queue until it finishes, then brings you back.\n\n" +
395
- "IT IS THE WAIT, NOT A STATEMENT ABOUT ONE. A ```awaiting fence NAMES what you are waiting on and " +
396
- "has the lifetime of the message carrying it, so it has to be rewritten at every single rest and is " +
397
- "wrong the moment anything changes. This creates a ROW: it survives your turn ending, a compaction " +
398
- "and a frizz restart, and it keeps holding your thread whatever you say next.\n\n" +
394
+ "and frizz brings you back when it finishes, or when `for` runs out.\n\n" +
395
+ "IT IS A ROW, NOT A SENTENCE. A ```awaiting fence has the lifetime of the message carrying it; this " +
396
+ "survives your turn ending, a compaction and a frizz restart.\n\n" +
397
+ "IT DOES NOT REPLACE THE FENCE. Whether the human is needed while you wait is an answer about each " +
398
+ "REST, so every rest on running work still ends with a ```awaiting fence that names the work and " +
399
+ "answers `needs_input: true|false` — `false` keeps the thread out of the human's queue, and a rest " +
400
+ "with no fence lands in it.\n\n" +
399
401
  "`for` IS REQUIRED and it is a DURATION, never an instant. When it runs out the row is CANCELLED " +
400
402
  "and you are woken to re-decide — that is deliberate, and it is what stops a wait outliving the " +
401
403
  "reason you made it. Register again if you still mean it.\n\n" +
@@ -403,12 +405,12 @@ const WATCH = {
403
405
  "live answers to is REFUSED rather than stored, and so is a `kind` that disagrees with what frizz " +
404
406
  "can see — a sub-agent registered as a shell is refused and told what it actually is. If you have " +
405
407
  "lost an id (a compaction, a long turn), call `activity` rather than guessing.\n\n" +
406
- "A SUB-AGENT ALREADY HOLDS YOUR THREAD without any registration, so the case this exists for is a " +
408
+ "A SUB-AGENT NEEDS NO REGISTRATION — its return re-invokes you — so the case this exists for is a " +
407
409
  "background SHELL: frizz cannot tell a build you are waiting on from a dev server you started and " +
408
410
  "moved on from, and only you know which it is.\n\n" +
409
411
  "NEVER WATCH SOMETHING YOU INTEND TO OUTLIVE. A dev server, a log tail, a file watcher — those are " +
410
- "things you started, not things you are waiting for, and registering one parks your thread on work " +
411
- "that will never finish.\n\n" +
412
+ "things you started, not things you are waiting for, and registering one is a wait on work that " +
413
+ "will never finish.\n\n" +
412
414
  "REGISTERING IS IDEMPOTENT per (kind, target): asking twice returns the SAME id, says it was " +
413
415
  "already armed, and leaves the original expiry alone — so re-registering after a compaction is safe " +
414
416
  "and is the right instinct. Use `unwatch` to withdraw one. A PULL REQUEST is `watch_pr`, not this: " +
@@ -451,11 +453,10 @@ const WATCH = {
451
453
  const UNWATCH = {
452
454
  name: "unwatch",
453
455
  description:
454
- "WITHDRAW A WATCH you registered with `watch`, by its id. It stops holding your thread out of the " +
455
- "queue and it will not wake you.\n\n" +
456
+ "WITHDRAW A WATCH you registered with `watch`, by its id. It will not wake you any more.\n\n" +
456
457
  "Use it the moment a wait stops mattering — you decided not to wait for that build after all, or " +
457
- "you are about to end the thread. A watch you no longer care about still parks you, and a thread " +
458
- "parked on a wait nobody is waiting for is invisible to the human.\n\n" +
458
+ "you are about to end the thread. A watch you no longer care about still wakes you for nothing, and " +
459
+ "it blocks `done` until it is withdrawn.\n\n" +
459
460
  "You do NOT need this when the work simply finishes: frizz settles the row itself and wakes you. " +
460
461
  "`activity` prints the id of everything you hold. A `watch_pr` / `watch_issue` id (`prw_…` / " +
461
462
  "`isw_…`) or a `timer` id (`tmr_…`) is withdrawn here too.",
@@ -888,12 +889,15 @@ async function activity() {
888
889
  return (
889
890
  `${items.length} thing${items.length === 1 ? "" : "s"} running on this thread:\n\n${lines.join("\n")}\n\n` +
890
891
  "Name the ones you are ACTUALLY waiting on in your ```awaiting fence. The frontmatter is YAML — one " +
891
- "PLURAL key per kind, taking a list — plus a required `for:` duration, and your handoff prose BELOW " +
892
- "the `---` (there is no `reason:` key).\n\nEverything above, as a fence:\n\n```awaiting\n" +
893
- `${block.join("\n")}\n for: 2h\n ---\n <what you are waiting for, and what you will do when it lands>\n` +
892
+ "PLURAL key per kind, taking a list — plus a required `for:` duration and a required " +
893
+ "`needs_input:` answer. `needs_input: false` (the human has nothing to act on yet) keeps the thread " +
894
+ "out of their queue and needs no prose at all; `needs_input: true` puts it in their queue, with what " +
895
+ "to look at BELOW a `---` line (there is no `reason:` key).\n\nEverything above, as a fence:\n\n" +
896
+ "```awaiting\n" +
897
+ `${block.join("\n")}\n needs_input: false\n for: 2h\n` +
894
898
  "```\n\nDrop the lines you are not actually waiting on — a dev server you left running is not a wait." +
895
- "\n\nBETTER THAN NAMING A SHELL IN THE FENCE: `watch` REGISTERS the wait, so it survives your turn " +
896
- "ending and you never restate it. Anything already marked `[watched as …]` above needs no fence line." +
899
+ "\n\nA `watch` registration (marked `[watched as …]` above) keeps the WAKE across a compaction and a " +
900
+ "restart, but it does not replace the fence: name the work in the fence all the same." +
897
901
  askedBlock + linksBlock
898
902
  )
899
903
  }
@@ -68,7 +68,7 @@ const scratch = sid
68
68
  // prompt. Trimmed 2026-08-26 (maintainer: "Definitely trim the session seed hook if it's fully
69
69
  // repetitive") as part of cutting the per-session token overhead Frizz adds over a plain TUI session.
70
70
  const core =
71
- '⟦frizz worker contract⟧ You are a frizz WORKER driving EXACTLY ONE effort. Your FULL operating contract — the end-of-turn signal fences (```done / ```awaiting — a question is a registered row, `mcp__frizz__ask`, and the only ```question fence is the EMPTY placement marker naming its id), the scratch-directory rules, the sub-agent rules, the question handback and the stop criterion — lives in your SYSTEM PROMPT; follow it there. ALWAYS SIGN OFF — a fence OR a registration (`ask`, `watch`, `done`); an open question is one, so rest normally and write no question fence for it.\n' +
71
+ '⟦frizz worker contract⟧ You are a frizz WORKER driving EXACTLY ONE effort. Your FULL operating contract — the end-of-turn signal fences (```done / ```awaiting — a question is a registered row, `mcp__frizz__ask`, and the only ```question fence is the EMPTY placement marker naming its id), the scratch-directory rules, the sub-agent rules, the question handback and the stop criterion — lives in your SYSTEM PROMPT; follow it there. ALWAYS SIGN OFF — a fence OR a registration (`ask`, `done`); an open question is one, so rest normally and write no question fence for it. A rest on running work takes the ```awaiting fence with `needs_input: true|false` — `false` is a quiet park and needs no write-up.\n' +
72
72
  'SCRATCH DIRECTORY (OPTIONAL): `' + scratch + '` — a folder kept FOR YOU, nothing in it read automatically, never a substitute for doing the work. Give each sub-agent its OWN file rather than a shared one.';
73
73
 
74
74
  const grounding =
@@ -1 +1 @@
1
- import{m as e,t}from"./mermaid-parser.core-BxbE62as.js";import{n}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as r}from"./src-BH3865Hl.js";import"./chunk-WYO6CB5R-D-1-l4MF.js";import"./chunk-VAUOI2AC-C5BV4_RN.js";import{n as i,r as a,t as o}from"./chunk-MOJQB5TN-CFljAhrA.js";import{t as s}from"./chunk-JWPE2WC7-DVXcaiue.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-d7S7o_PA.js";import{n}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as r}from"./src-CDEniJg5.js";import"./chunk-WYO6CB5R-2o1M-Kfn.js";import"./chunk-VAUOI2AC-BiLb5gwB.js";import{n as i,r as a,t as o}from"./chunk-MOJQB5TN-B4kp_No0.js";import{t as s}from"./chunk-JWPE2WC7-DVXcaiue.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{n as e,t}from"./path-BWPyau1x.js";import{a as n,c as r,d as i,f as a,i as o,l as s,m as c,n as l,o as u,p as d,r as f,u as p}from"./dist-rtzL4gLm.js";function m(e){return e.innerRadius}function h(e){return e.outerRadius}function g(e){return e.startAngle}function _(e){return e.endAngle}function v(e){return e&&e.padAngle}function y(e,t,n,r,i,a,o,s){var c=n-e,l=r-t,u=o-i,d=s-a,f=d*c-u*l;if(!(f*f<1e-12))return f=(u*(t-a)-d*(e-i))/f,[e+f*c,t+f*l]}function b(e,t,n,r,i,a,o){var c=e-n,l=t-r,u=(o?a:-a)/d(c*c+l*l),f=u*l,p=-u*c,m=e+f,h=t+p,g=n+f,_=r+p,v=(m+g)/2,y=(h+_)/2,b=g-m,x=_-h,S=b*b+x*x,C=i-a,w=m*_-g*h,T=(x<0?-1:1)*d(s(0,C*C*S-w*w)),E=(w*x-b*T)/S,D=(-w*b-x*T)/S,O=(w*x+b*T)/S,k=(-w*b+x*T)/S,A=E-v,j=D-y,M=O-v,N=k-y;return A*A+j*j>M*M+N*N&&(E=O,D=k),{cx:E,cy:D,x01:-f,y01:-p,x11:E*(i/C-1),y11:D*(i/C-1)}}function x(){var s=m,x=h,S=e(0),C=null,w=g,T=_,E=v,D=null,O=t(k);function k(){var e,t,m=+s.apply(this,arguments),h=+x.apply(this,arguments),g=w.apply(this,arguments)-r,_=T.apply(this,arguments)-r,v=l(_-g),k=_>g;if(D||=e=O(),h<m&&(t=h,h=m,m=t),!(h>1e-12))D.moveTo(0,0);else if(v>c-1e-12)D.moveTo(h*u(g),h*a(g)),D.arc(0,0,h,g,_,!k),m>1e-12&&(D.moveTo(m*u(_),m*a(_)),D.arc(0,0,m,_,g,k));else{var A=g,j=_,M=g,N=_,P=v,F=v,I=E.apply(this,arguments)/2,L=I>1e-12&&(C?+C.apply(this,arguments):d(m*m+h*h)),R=p(l(h-m)/2,+S.apply(this,arguments)),z=R,B=R,V,H;if(L>1e-12){var U=o(L/m*a(I)),W=o(L/h*a(I));(P-=U*2)>1e-12?(U*=k?1:-1,M+=U,N-=U):(P=0,M=N=(g+_)/2),(F-=W*2)>1e-12?(W*=k?1:-1,A+=W,j-=W):(F=0,A=j=(g+_)/2)}var G=h*u(A),K=h*a(A),q=m*u(N),J=m*a(N);if(R>1e-12){var Y=h*u(j),X=h*a(j),Z=m*u(M),Q=m*a(M),$;if(v<i)if($=y(G,K,Z,Q,Y,X,q,J)){var ee=G-$[0],te=K-$[1],ne=Y-$[0],re=X-$[1],ie=1/a(f((ee*ne+te*re)/(d(ee*ee+te*te)*d(ne*ne+re*re)))/2),ae=d($[0]*$[0]+$[1]*$[1]);z=p(R,(m-ae)/(ie-1)),B=p(R,(h-ae)/(ie+1))}else z=B=0}F>1e-12?B>1e-12?(V=b(Z,Q,G,K,h,B,k),H=b(Y,X,q,J,h,B,k),D.moveTo(V.cx+V.x01,V.cy+V.y01),B<R?D.arc(V.cx,V.cy,B,n(V.y01,V.x01),n(H.y01,H.x01),!k):(D.arc(V.cx,V.cy,B,n(V.y01,V.x01),n(V.y11,V.x11),!k),D.arc(0,0,h,n(V.cy+V.y11,V.cx+V.x11),n(H.cy+H.y11,H.cx+H.x11),!k),D.arc(H.cx,H.cy,B,n(H.y11,H.x11),n(H.y01,H.x01),!k))):(D.moveTo(G,K),D.arc(0,0,h,A,j,!k)):D.moveTo(G,K),!(m>1e-12)||!(P>1e-12)?D.lineTo(q,J):z>1e-12?(V=b(q,J,Y,X,m,-z,k),H=b(G,K,Z,Q,m,-z,k),D.lineTo(V.cx+V.x01,V.cy+V.y01),z<R?D.arc(V.cx,V.cy,z,n(V.y01,V.x01),n(H.y01,H.x01),!k):(D.arc(V.cx,V.cy,z,n(V.y01,V.x01),n(V.y11,V.x11),!k),D.arc(0,0,m,n(V.cy+V.y11,V.cx+V.x11),n(H.cy+H.y11,H.cx+H.x11),k),D.arc(H.cx,H.cy,z,n(H.y11,H.x11),n(H.y01,H.x01),!k))):D.arc(0,0,m,N,M,k)}if(D.closePath(),e)return D=null,e+``||null}return k.centroid=function(){var e=(+s.apply(this,arguments)+ +x.apply(this,arguments))/2,t=(+w.apply(this,arguments)+ +T.apply(this,arguments))/2-i/2;return[u(t)*e,a(t)*e]},k.innerRadius=function(t){return arguments.length?(s=typeof t==`function`?t:e(+t),k):s},k.outerRadius=function(t){return arguments.length?(x=typeof t==`function`?t:e(+t),k):x},k.cornerRadius=function(t){return arguments.length?(S=typeof t==`function`?t:e(+t),k):S},k.padRadius=function(t){return arguments.length?(C=t==null?null:typeof t==`function`?t:e(+t),k):C},k.startAngle=function(t){return arguments.length?(w=typeof t==`function`?t:e(+t),k):w},k.endAngle=function(t){return arguments.length?(T=typeof t==`function`?t:e(+t),k):T},k.padAngle=function(t){return arguments.length?(E=typeof t==`function`?t:e(+t),k):E},k.context=function(e){return arguments.length?(D=e??null,k):D},k}export{x as t};
1
+ import{n as e,t}from"./path-BWPyau1x.js";import{a as n,c as r,d as i,f as a,i as o,l as s,m as c,n as l,o as u,p as d,r as f,u as p}from"./dist-BNr2jceV.js";function m(e){return e.innerRadius}function h(e){return e.outerRadius}function g(e){return e.startAngle}function _(e){return e.endAngle}function v(e){return e&&e.padAngle}function y(e,t,n,r,i,a,o,s){var c=n-e,l=r-t,u=o-i,d=s-a,f=d*c-u*l;if(!(f*f<1e-12))return f=(u*(t-a)-d*(e-i))/f,[e+f*c,t+f*l]}function b(e,t,n,r,i,a,o){var c=e-n,l=t-r,u=(o?a:-a)/d(c*c+l*l),f=u*l,p=-u*c,m=e+f,h=t+p,g=n+f,_=r+p,v=(m+g)/2,y=(h+_)/2,b=g-m,x=_-h,S=b*b+x*x,C=i-a,w=m*_-g*h,T=(x<0?-1:1)*d(s(0,C*C*S-w*w)),E=(w*x-b*T)/S,D=(-w*b-x*T)/S,O=(w*x+b*T)/S,k=(-w*b+x*T)/S,A=E-v,j=D-y,M=O-v,N=k-y;return A*A+j*j>M*M+N*N&&(E=O,D=k),{cx:E,cy:D,x01:-f,y01:-p,x11:E*(i/C-1),y11:D*(i/C-1)}}function x(){var s=m,x=h,S=e(0),C=null,w=g,T=_,E=v,D=null,O=t(k);function k(){var e,t,m=+s.apply(this,arguments),h=+x.apply(this,arguments),g=w.apply(this,arguments)-r,_=T.apply(this,arguments)-r,v=l(_-g),k=_>g;if(D||=e=O(),h<m&&(t=h,h=m,m=t),!(h>1e-12))D.moveTo(0,0);else if(v>c-1e-12)D.moveTo(h*u(g),h*a(g)),D.arc(0,0,h,g,_,!k),m>1e-12&&(D.moveTo(m*u(_),m*a(_)),D.arc(0,0,m,_,g,k));else{var A=g,j=_,M=g,N=_,P=v,F=v,I=E.apply(this,arguments)/2,L=I>1e-12&&(C?+C.apply(this,arguments):d(m*m+h*h)),R=p(l(h-m)/2,+S.apply(this,arguments)),z=R,B=R,V,H;if(L>1e-12){var U=o(L/m*a(I)),W=o(L/h*a(I));(P-=U*2)>1e-12?(U*=k?1:-1,M+=U,N-=U):(P=0,M=N=(g+_)/2),(F-=W*2)>1e-12?(W*=k?1:-1,A+=W,j-=W):(F=0,A=j=(g+_)/2)}var G=h*u(A),K=h*a(A),q=m*u(N),J=m*a(N);if(R>1e-12){var Y=h*u(j),X=h*a(j),Z=m*u(M),Q=m*a(M),$;if(v<i)if($=y(G,K,Z,Q,Y,X,q,J)){var ee=G-$[0],te=K-$[1],ne=Y-$[0],re=X-$[1],ie=1/a(f((ee*ne+te*re)/(d(ee*ee+te*te)*d(ne*ne+re*re)))/2),ae=d($[0]*$[0]+$[1]*$[1]);z=p(R,(m-ae)/(ie-1)),B=p(R,(h-ae)/(ie+1))}else z=B=0}F>1e-12?B>1e-12?(V=b(Z,Q,G,K,h,B,k),H=b(Y,X,q,J,h,B,k),D.moveTo(V.cx+V.x01,V.cy+V.y01),B<R?D.arc(V.cx,V.cy,B,n(V.y01,V.x01),n(H.y01,H.x01),!k):(D.arc(V.cx,V.cy,B,n(V.y01,V.x01),n(V.y11,V.x11),!k),D.arc(0,0,h,n(V.cy+V.y11,V.cx+V.x11),n(H.cy+H.y11,H.cx+H.x11),!k),D.arc(H.cx,H.cy,B,n(H.y11,H.x11),n(H.y01,H.x01),!k))):(D.moveTo(G,K),D.arc(0,0,h,A,j,!k)):D.moveTo(G,K),!(m>1e-12)||!(P>1e-12)?D.lineTo(q,J):z>1e-12?(V=b(q,J,Y,X,m,-z,k),H=b(G,K,Z,Q,m,-z,k),D.lineTo(V.cx+V.x01,V.cy+V.y01),z<R?D.arc(V.cx,V.cy,z,n(V.y01,V.x01),n(H.y01,H.x01),!k):(D.arc(V.cx,V.cy,z,n(V.y01,V.x01),n(V.y11,V.x11),!k),D.arc(0,0,m,n(V.cy+V.y11,V.cx+V.x11),n(H.cy+H.y11,H.cx+H.x11),k),D.arc(H.cx,H.cy,z,n(H.y11,H.x11),n(H.y01,H.x01),!k))):D.arc(0,0,m,N,M,k)}if(D.closePath(),e)return D=null,e+``||null}return k.centroid=function(){var e=(+s.apply(this,arguments)+ +x.apply(this,arguments))/2,t=(+w.apply(this,arguments)+ +T.apply(this,arguments))/2-i/2;return[u(t)*e,a(t)*e]},k.innerRadius=function(t){return arguments.length?(s=typeof t==`function`?t:e(+t),k):s},k.outerRadius=function(t){return arguments.length?(x=typeof t==`function`?t:e(+t),k):x},k.cornerRadius=function(t){return arguments.length?(S=typeof t==`function`?t:e(+t),k):S},k.padRadius=function(t){return arguments.length?(C=t==null?null:typeof t==`function`?t:e(+t),k):C},k.startAngle=function(t){return arguments.length?(w=typeof t==`function`?t:e(+t),k):w},k.endAngle=function(t){return arguments.length?(T=typeof t==`function`?t:e(+t),k):T},k.padAngle=function(t){return arguments.length?(E=typeof t==`function`?t:e(+t),k):E},k.context=function(e){return arguments.length?(D=e??null,k):D},k}export{x as t};
@@ -0,0 +1 @@
1
+ import"./chunk-KEIR6QF5-BfrZ3jm6.js";import{M as e}from"./mermaid-parser.core-d7S7o_PA.js";export{e as createArchitectureServices};