frizz-server 0.15.12 → 0.15.13

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 (100) hide show
  1. package/dist/dev-child.js +244 -121
  2. package/package.json +1 -1
  3. package/runtime/cc-worker/bin/frizz-mcp.mjs +16 -11
  4. package/runtime/cc-worker/hooks/session-seed.mjs +1 -1
  5. package/web-dist/assets/{abnfDiagram-VRR7QNED-CnXrrU0W.js → abnfDiagram-VRR7QNED-BBUrh3y4.js} +1 -1
  6. package/web-dist/assets/{arc-CmRXAX4k.js → arc-CzSC2w85.js} +1 -1
  7. package/web-dist/assets/architecture-TIHT7OUA-Bkytur05.js +1 -0
  8. package/web-dist/assets/{architectureDiagram-ZJ3FMSHR-Pdv71Zuq.js → architectureDiagram-ZJ3FMSHR-BZdFvCPS.js} +1 -1
  9. package/web-dist/assets/{blockDiagram-677ZJIJ3-B0b2_ZpN.js → blockDiagram-677ZJIJ3-CFw4HlAZ.js} +1 -1
  10. package/web-dist/assets/{c4Diagram-LMCZKHZV-GSc1L18t.js → c4Diagram-LMCZKHZV-BeWg4GGT.js} +1 -1
  11. package/web-dist/assets/channel-CRbCFAU9.js +1 -0
  12. package/web-dist/assets/{chunk-32BRIVSS-C0vobooW.js → chunk-32BRIVSS-Q_OGIKCm.js} +1 -1
  13. package/web-dist/assets/{chunk-52WLFC77-15f3pZkP.js → chunk-52WLFC77-C2ghSBWi.js} +1 -1
  14. package/web-dist/assets/{chunk-C7G6YPKG-m8AKg2cJ.js → chunk-C7G6YPKG-E7JHlQhC.js} +1 -1
  15. package/web-dist/assets/{chunk-EX3LRPZG-BW0qg3im.js → chunk-EX3LRPZG-c7FlR3e8.js} +1 -1
  16. package/web-dist/assets/{chunk-FWX5IMBZ-Ds3wze9N.js → chunk-FWX5IMBZ-1mU_aS7O.js} +2 -2
  17. package/web-dist/assets/{chunk-HOUHSVGY-B01xY05R.js → chunk-HOUHSVGY-DLJJRwLZ.js} +1 -1
  18. package/web-dist/assets/{chunk-ICXQ74PX-DLoF7WQO.js → chunk-ICXQ74PX-D7jDcuWv.js} +1 -1
  19. package/web-dist/assets/{chunk-MOJQB5TN-q3Li6yTJ.js → chunk-MOJQB5TN-C-KYsjX1.js} +1 -1
  20. package/web-dist/assets/{chunk-OGEWGWER-CgMb4Plp.js → chunk-OGEWGWER-Dnfz8Ffe.js} +1 -1
  21. package/web-dist/assets/{chunk-PUDLZKDR-DjLXqXCy.js → chunk-PUDLZKDR-BdzmoKkv.js} +1 -1
  22. package/web-dist/assets/{chunk-Q4XR5HBZ-DgVAx69q.js → chunk-Q4XR5HBZ-HNAZNAAv.js} +1 -1
  23. package/web-dist/assets/{chunk-RYQCIY6F-jOR4GLsC.js → chunk-RYQCIY6F-e5BApeF1.js} +1 -1
  24. package/web-dist/assets/{chunk-V7JOEXUC-N7ybBPSc.js → chunk-V7JOEXUC-cK1Hu1b4.js} +1 -1
  25. package/web-dist/assets/{chunk-VAUOI2AC-nUxrqZNY.js → chunk-VAUOI2AC-Df9HZp6Z.js} +1 -1
  26. package/web-dist/assets/{chunk-VR4S4FIN-6hmO23ny.js → chunk-VR4S4FIN-D6CAtMMq.js} +1 -1
  27. package/web-dist/assets/{chunk-WYO6CB5R--VNr0O3X.js → chunk-WYO6CB5R-JyE0Wb29.js} +1 -1
  28. package/web-dist/assets/{chunk-XXDRQBXY-nI5LprjB.js → chunk-XXDRQBXY-D_O0RmZ-.js} +1 -1
  29. package/web-dist/assets/{chunk-ZGVPDNZ5-BqBpuih6.js → chunk-ZGVPDNZ5-TKNm5tbx.js} +1 -1
  30. package/web-dist/assets/classDiagram-OUVF2IWQ-DV4x88Gs.js +1 -0
  31. package/web-dist/assets/classDiagram-v2-EOCWNBFH-DV4x88Gs.js +1 -0
  32. package/web-dist/assets/{cose-bilkent-JH36ORCC-DDZerLcw.js → cose-bilkent-JH36ORCC-aJ2vJo3h.js} +1 -1
  33. package/web-dist/assets/{cynefin-VYW2F7L2-e1KR3fxM.js → cynefin-VYW2F7L2-BzC5SCFm.js} +1 -1
  34. package/web-dist/assets/{cynefinDiagram-TSTJHNR4-C8BKMn0G.js → cynefinDiagram-TSTJHNR4-BUBneCyZ.js} +1 -1
  35. package/web-dist/assets/{dagre-VKFMJZFB-BmMWANIX.js → dagre-VKFMJZFB-CyqWV8--.js} +1 -1
  36. package/web-dist/assets/{diagram-FQU43EPY-dy3NpwvL.js → diagram-FQU43EPY-4Mmv21C-.js} +1 -1
  37. package/web-dist/assets/{diagram-G47NLZAW-Cpu90AXQ.js → diagram-G47NLZAW-C2RFiyED.js} +1 -1
  38. package/web-dist/assets/{diagram-NH7WQ7WH-5SHLGdgc.js → diagram-NH7WQ7WH-hZnAY_wV.js} +1 -1
  39. package/web-dist/assets/{diagram-OA4YK3LP-CLPs2sBw.js → diagram-OA4YK3LP-K1Zd1JAb.js} +1 -1
  40. package/web-dist/assets/{diagram-WEI45ONY-CMEkLLze.js → diagram-WEI45ONY-CHKaRrZp.js} +1 -1
  41. package/web-dist/assets/{dist-rUBtQxB1.js → dist-ImoGVzkQ.js} +1 -1
  42. package/web-dist/assets/{ebnfDiagram-CCIWWBDH-ClagaphN.js → ebnfDiagram-CCIWWBDH-BMR3sXl5.js} +1 -1
  43. package/web-dist/assets/{erDiagram-Q63AITRT-BEXXtSN9.js → erDiagram-Q63AITRT-DZmU3YbK.js} +1 -1
  44. package/web-dist/assets/eventmodeling-45OFAUF4-DGvQ-Cb8.js +1 -0
  45. package/web-dist/assets/flowDiagram-23GEKE2U-COGNeA6-.js +1 -0
  46. package/web-dist/assets/{ganttDiagram-NO4QXBWP-BoI4Xvme.js → ganttDiagram-NO4QXBWP-0cAynm96.js} +1 -1
  47. package/web-dist/assets/{gitGraph-TEB2WS4Q-D5Xdj6HL.js → gitGraph-TEB2WS4Q-DQgaAaBP.js} +1 -1
  48. package/web-dist/assets/{gitGraphDiagram-IHSO6WYX-o_hWIe-e.js → gitGraphDiagram-IHSO6WYX-BnULFM88.js} +1 -1
  49. package/web-dist/assets/index-Cs3gPFNZ.js +330 -0
  50. package/web-dist/assets/index-DA4tWPyA.css +2 -0
  51. package/web-dist/assets/{info-DKCQHKI2-BwhA8Kcv.js → info-DKCQHKI2-DlvSk8u3.js} +1 -1
  52. package/web-dist/assets/{infoDiagram-FWYZ7A6U-D1bT6ACJ.js → infoDiagram-FWYZ7A6U-CV-UmITw.js} +1 -1
  53. package/web-dist/assets/{ishikawaDiagram-FXEZZL3T-P7IDrOwM.js → ishikawaDiagram-FXEZZL3T-xQWAaJiF.js} +1 -1
  54. package/web-dist/assets/{journeyDiagram-5HDEW3XC-6XJBNIRb.js → journeyDiagram-5HDEW3XC-DJK8kVzY.js} +1 -1
  55. package/web-dist/assets/{kanban-definition-HUTT4EX6-La7dnlhq.js → kanban-definition-HUTT4EX6-moIoFsSZ.js} +1 -1
  56. package/web-dist/assets/{line-Dv2tv-OY.js → line-B9t5KW3M.js} +1 -1
  57. package/web-dist/assets/{linear-BO4R75Jg.js → linear-p05acNA3.js} +1 -1
  58. package/web-dist/assets/{mermaid-parser.core-DfuFuqcx.js → mermaid-parser.core-Db7dttgI.js} +3 -3
  59. package/web-dist/assets/{mermaid.core-BP_gsV2E.js → mermaid.core-BFbkt8RT.js} +3 -3
  60. package/web-dist/assets/{mindmap-definition-LN4V7U3C-BPDWuBXV.js → mindmap-definition-LN4V7U3C-dOYDtsm4.js} +1 -1
  61. package/web-dist/assets/{packet-7NZHBO7P-DvGyCLho.js → packet-7NZHBO7P-Y34L2B_H.js} +1 -1
  62. package/web-dist/assets/{pegDiagram-2B236MQR-B3XyjF78.js → pegDiagram-2B236MQR-BlI8nWnE.js} +1 -1
  63. package/web-dist/assets/{pie-RZYD4A2V-BcmTzATg.js → pie-RZYD4A2V-n-Qg1sTG.js} +1 -1
  64. package/web-dist/assets/{pieDiagram-ENE6RG2P-B13x3h-1.js → pieDiagram-ENE6RG2P-DoHW9Gyq.js} +1 -1
  65. package/web-dist/assets/{quadrantDiagram-ABIIQ3AL-B_qjpmSD.js → quadrantDiagram-ABIIQ3AL-BMUuqVdW.js} +1 -1
  66. package/web-dist/assets/{radar-I7S5WNFK-zvSO8c-R.js → radar-I7S5WNFK-skxmXNaM.js} +1 -1
  67. package/web-dist/assets/{railroad-3IZDKUUU-CJtUTUYW.js → railroad-3IZDKUUU-LfjLO5Ny.js} +1 -1
  68. package/web-dist/assets/railroad-abnf-AHOZXSZD-D4N57HJe.js +1 -0
  69. package/web-dist/assets/railroad-ebnf-EBAXGLYW-kukg91Jv.js +1 -0
  70. package/web-dist/assets/railroad-peg-LSFZ7HO6-4UH_xlt7.js +1 -0
  71. package/web-dist/assets/{railroadDiagram-RFXS5EU6-BP7Scsjp.js → railroadDiagram-RFXS5EU6-Zdj5BMQG.js} +1 -1
  72. package/web-dist/assets/{requirementDiagram-TGXJPOKE-BLn9ee9E.js → requirementDiagram-TGXJPOKE-DcFm1DAf.js} +1 -1
  73. package/web-dist/assets/{sankeyDiagram-HTMAVEWB-DhjUURDl.js → sankeyDiagram-HTMAVEWB-BcRmQRQe.js} +1 -1
  74. package/web-dist/assets/{sequenceDiagram-DBY2YBRQ-alvtgf-F.js → sequenceDiagram-DBY2YBRQ-bET8bpzv.js} +1 -1
  75. package/web-dist/assets/{src-C6GQP2x2.js → src-CUSFAnq6.js} +1 -1
  76. package/web-dist/assets/{stateDiagram-2N3HPSRC-sga-NxRF.js → stateDiagram-2N3HPSRC-AGBIK4Rz.js} +1 -1
  77. package/web-dist/assets/stateDiagram-v2-6OUMAXLB-CGZk-pxB.js +1 -0
  78. package/web-dist/assets/{swimlanes-5IMT3BWC-tVkOu3TT.js → swimlanes-5IMT3BWC-BrxNGoSO.js} +1 -1
  79. package/web-dist/assets/swimlanesDiagram-G3AALYLV-tBUJkYsP.js +8 -0
  80. package/web-dist/assets/{timeline-definition-FHXFAJF6-DEAZRgmn.js → timeline-definition-FHXFAJF6-Dqoh4MQ-.js} +1 -1
  81. package/web-dist/assets/{treeView-QDETBFTQ-Dnvq1Ma7.js → treeView-QDETBFTQ-C_vYdzCy.js} +1 -1
  82. package/web-dist/assets/{treemap-6X3UGDF4-Ce3cuN8q.js → treemap-6X3UGDF4-B_o40Eep.js} +1 -1
  83. package/web-dist/assets/{vennDiagram-L72KCM5P-DMyU7yi9.js → vennDiagram-L72KCM5P-AHb21nUH.js} +1 -1
  84. package/web-dist/assets/{wardley-OPB4EBWU-Dyao3Zne.js → wardley-OPB4EBWU-CDvRbffW.js} +1 -1
  85. package/web-dist/assets/{wardleyDiagram-EHGQE667-B6C8_1LE.js → wardleyDiagram-EHGQE667-DmLMQrCO.js} +1 -1
  86. package/web-dist/assets/{xychartDiagram-FW5EYKEG-_P-iqki1.js → xychartDiagram-FW5EYKEG-CBq8Fuud.js} +1 -1
  87. package/web-dist/index.html +2 -2
  88. package/web-dist/assets/architecture-TIHT7OUA-C-U11PKN.js +0 -1
  89. package/web-dist/assets/channel-jQPajw2y.js +0 -1
  90. package/web-dist/assets/classDiagram-OUVF2IWQ-BVGlW0VN.js +0 -1
  91. package/web-dist/assets/classDiagram-v2-EOCWNBFH-BVGlW0VN.js +0 -1
  92. package/web-dist/assets/eventmodeling-45OFAUF4-BPmoLPav.js +0 -1
  93. package/web-dist/assets/flowDiagram-23GEKE2U-CC63wNIt.js +0 -1
  94. package/web-dist/assets/index-DTxhrDcZ.js +0 -330
  95. package/web-dist/assets/index-W88ZnKOr.css +0 -2
  96. package/web-dist/assets/railroad-abnf-AHOZXSZD-CM-7EymF.js +0 -1
  97. package/web-dist/assets/railroad-ebnf-EBAXGLYW--3-yYzZ6.js +0 -1
  98. package/web-dist/assets/railroad-peg-LSFZ7HO6-CgVkrtHL.js +0 -1
  99. package/web-dist/assets/stateDiagram-v2-6OUMAXLB-BburKdyU.js +0 -1
  100. package/web-dist/assets/swimlanesDiagram-G3AALYLV-eANJELfk.js +0 -8
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "frizz-server",
3
- "version": "0.15.12",
3
+ "version": "0.15.13",
4
4
  "private": false,
5
5
  "description": "Replaceable Frizz server runtime",
6
6
  "license": "MIT",
@@ -394,10 +394,10 @@ const WATCH = {
394
394
  "and frizz brings you back when it finishes, or when `for` runs out.\n\n" +
395
395
  "IT IS A ROW, NOT A SENTENCE. A ```awaiting fence has the lifetime of the message carrying it; this " +
396
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" +
397
+ "IT DOES NOT REPLACE THE FENCE. Where the thread sits while you wait is an answer about each REST, " +
398
+ "so every rest on running work still ends with a ```awaiting fence that names the work and answers " +
399
+ "`status: working|watching|needs_input` — `working` and `watching` keep the thread out of the " +
400
+ "human's queue, and a rest with no fence lands in it.\n\n" +
401
401
  "`for` IS REQUIRED and it is a DURATION, never an instant. When it runs out the row is CANCELLED " +
402
402
  "and you are woken to re-decide — that is deliberate, and it is what stops a wait outliving the " +
403
403
  "reason you made it. Register again if you still mean it.\n\n" +
@@ -896,19 +896,24 @@ async function activity() {
896
896
  .filter(([, ids]) => ids.length > 0)
897
897
  .map(([key, ids]) => ` ${key}: [${ids.join(", ")}]`)
898
898
  // Every open question rides the fence too: a fence that leaves one out is refused, and a fence on
899
- // questions always queues, so its `needs_input:` answer is `true` whatever else it names.
899
+ // questions always queues, so its `status:` answer is `needs_input` whatever else it names. Otherwise
900
+ // the template guesses from the kinds — a shell or a sub-agent is usually work that finishes by itself,
901
+ // a PR, an issue or a timer a watch — and the prose tells the worker to correct it.
900
902
  const questionIds = questions.map((q) => q.id).filter(Boolean)
901
903
  if (questionIds.length > 0) block.push(` questions: [${questionIds.join(", ")}]`)
904
+ const status = questionIds.length > 0 ? "needs_input" : byKind.shell.length + byKind.agent.length > 0 ? "working" : "watching"
902
905
  return (
903
906
  `${items.length} thing${items.length === 1 ? "" : "s"} running on this thread:\n\n${lines.join("\n")}\n\n` +
904
907
  "Name the ones you are ACTUALLY waiting on in your ```awaiting fence. The frontmatter is YAML — one " +
905
- "PLURAL key per kind, taking a list — plus a required `for:` duration and a required " +
906
- "`needs_input:` answer. `needs_input: false` (the human has nothing to act on yet) keeps the thread " +
907
- "out of their queue and needs no prose at all; `needs_input: true` puts it in their queue, with what " +
908
- "to look at BELOW a `---` line (there is no `reason:` key).\n\nEverything above, as a fence:\n\n" +
908
+ "PLURAL key per kind, taking a list — plus a required `for:` duration and a required `status:` " +
909
+ "answer: `working` (the work finishes by itself; the thread shows as running), `watching` (the wait " +
910
+ "is on something outside the thread; it is snoozed) or `needs_input` (the human can act on something " +
911
+ "now; it goes in their queue, with what to look at BELOW a `---` line — there is no `reason:` key). " +
912
+ "`working` and `watching` need no prose at all.\n\nEverything above, as a fence:\n\n" +
909
913
  "```awaiting\n" +
910
- `${block.join("\n")}\n needs_input: ${questionIds.length > 0 ? "true" : "false"}\n for: 2h\n` +
911
- "```\n\nDrop the lines you are not actually waiting on — a dev server you left running is not a wait." +
914
+ `${block.join("\n")}\n status: ${status}\n for: 2h\n` +
915
+ "```\n\nDrop the lines you are not actually waiting on — a dev server you left running is not a wait " +
916
+ "— and change `status:` if it names the wrong place." +
912
917
  "\n\nA `watch` registration (marked `[watched as …]` above) keeps the WAKE across a compaction and a " +
913
918
  "restart, but it does not replace the fence: name the work in the fence all the same." +
914
919
  askedBlock + linksBlock
@@ -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`, `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' +
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 `status: working|watching|needs_input` — `working` and `watching` are quiet parks and need 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-DfuFuqcx.js";import{n}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as r}from"./src-C6GQP2x2.js";import"./chunk-WYO6CB5R--VNr0O3X.js";import"./chunk-VAUOI2AC-nUxrqZNY.js";import{n as i,r as a,t as o}from"./chunk-MOJQB5TN-q3Li6yTJ.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-Db7dttgI.js";import{n}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as r}from"./src-CUSFAnq6.js";import"./chunk-WYO6CB5R-JyE0Wb29.js";import"./chunk-VAUOI2AC-Df9HZp6Z.js";import{n as i,r as a,t as o}from"./chunk-MOJQB5TN-C-KYsjX1.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-rUBtQxB1.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-ImoGVzkQ.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-Db7dttgI.js";export{e as createArchitectureServices};