@joeyshi12/casper 0.15.3 → 0.15.5

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 (69) hide show
  1. package/dist/mcp.js +1 -1
  2. package/dist/server.js +72 -13
  3. package/dist/web/assets/{abnfDiagram-N423BO3Z-rTiw44-c.js → abnfDiagram-N423BO3Z-D7Xtg-ky.js} +1 -1
  4. package/dist/web/assets/{arc-BueZltfi.js → arc-CJwORcY2.js} +1 -1
  5. package/dist/web/assets/{architectureDiagram-T3A2C74G-VeijICpx.js → architectureDiagram-T3A2C74G-BPgTaZ-3.js} +1 -1
  6. package/dist/web/assets/{blockDiagram-VBNYF7ZC-DK6CstwH.js → blockDiagram-VBNYF7ZC-BmAnCfsF.js} +1 -1
  7. package/dist/web/assets/{c4Diagram-5PPSVZJV-DFaLhOzi.js → c4Diagram-5PPSVZJV-Bod3Uk6N.js} +1 -1
  8. package/dist/web/assets/channel-BmSs6CrX.js +1 -0
  9. package/dist/web/assets/{chunk-2GRJ4B5K-bh9kVrsH.js → chunk-2GRJ4B5K-ByhQeRUu.js} +1 -1
  10. package/dist/web/assets/{chunk-2Q5K7J3B-BkMgg9x2.js → chunk-2Q5K7J3B-BgNG2_WK.js} +1 -1
  11. package/dist/web/assets/{chunk-5RXB4S5H-B8zc2WWU.js → chunk-5RXB4S5H-CyMm3K6j.js} +1 -1
  12. package/dist/web/assets/{chunk-5VM5RSS4-Dxdker_Z.js → chunk-5VM5RSS4-DgHpR03Q.js} +1 -1
  13. package/dist/web/assets/{chunk-6Q2QTUOP-DPJfGoqQ.js → chunk-6Q2QTUOP-bdejFE5K.js} +1 -1
  14. package/dist/web/assets/{chunk-GF5L2VYU-CZbjodQ7.js → chunk-GF5L2VYU-BNmwEcg4.js} +1 -1
  15. package/dist/web/assets/{chunk-JWPE2WC7-CGxGEiJa.js → chunk-JWPE2WC7-BSZfxr2f.js} +1 -1
  16. package/dist/web/assets/{chunk-KBJHAD2P-Ytjj_hbp.js → chunk-KBJHAD2P-BWY_nU8b.js} +1 -1
  17. package/dist/web/assets/{chunk-RYQCIY6F-Dqiq3su9.js → chunk-RYQCIY6F-BB4IAoli.js} +1 -1
  18. package/dist/web/assets/{chunk-XXDRQBXY-C-EbAqoZ.js → chunk-XXDRQBXY-CEosEM7x.js} +1 -1
  19. package/dist/web/assets/classDiagram-JCYQIIEL-lsdfAugr.js +1 -0
  20. package/dist/web/assets/classDiagram-v2-OCEON4UE-lsdfAugr.js +1 -0
  21. package/dist/web/assets/{cose-bilkent-JH36ORCC-DXJ_CgAO.js → cose-bilkent-JH36ORCC-Berx3FXP.js} +1 -1
  22. package/dist/web/assets/{cynefin-VYW2F7L2-B47ma6bm.js → cynefin-VYW2F7L2-Cp2J1D8A.js} +1 -1
  23. package/dist/web/assets/{cynefinDiagram-MW4NZA55-Ct2V4kgi.js → cynefinDiagram-MW4NZA55-Cz7j4SDA.js} +1 -1
  24. package/dist/web/assets/{dagre-VZM6K2ZE-CyEEgRVg.js → dagre-VZM6K2ZE-CWtcoY9K.js} +1 -1
  25. package/dist/web/assets/{diagram-7IWD3JNH-FyG0BO8O.js → diagram-7IWD3JNH-CJZPyvq_.js} +1 -1
  26. package/dist/web/assets/{diagram-B4RE2ZJO-BLssImvu.js → diagram-B4RE2ZJO-B_5IjfH9.js} +1 -1
  27. package/dist/web/assets/{diagram-LBJQPF4R-DvfoYuF2.js → diagram-LBJQPF4R-CErWIySU.js} +1 -1
  28. package/dist/web/assets/{diagram-Q27KOJAE-CNTNlNTj.js → diagram-Q27KOJAE-NISb3pxC.js} +1 -1
  29. package/dist/web/assets/{diagram-UB23O5K3-CL8EzlDt.js → diagram-UB23O5K3-CLS2e1Fl.js} +1 -1
  30. package/dist/web/assets/{ebnfDiagram-BXEA7PRR-C9LnqmsQ.js → ebnfDiagram-BXEA7PRR-Bhp62eSR.js} +1 -1
  31. package/dist/web/assets/{erDiagram-JOGREHBK-Cj1-swUp.js → erDiagram-JOGREHBK-BtmEB8CS.js} +1 -1
  32. package/dist/web/assets/{flowDiagram-UKHOOZJN-Bup9WBi9.js → flowDiagram-UKHOOZJN-D2K79Jwk.js} +1 -1
  33. package/dist/web/assets/{ganttDiagram-PKOTCBZU-Bk7Brl2f.js → ganttDiagram-PKOTCBZU-QTnjgpIy.js} +1 -1
  34. package/dist/web/assets/{gitGraphDiagram-DS77QQ5N-BnP1f3za.js → gitGraphDiagram-DS77QQ5N-DNkDH_-j.js} +1 -1
  35. package/dist/web/assets/{index-DbpMhdHe.js → index-By6DwN8Y.js} +1 -1
  36. package/dist/web/assets/index-DJG6K5uD.js +244 -0
  37. package/dist/web/assets/{index-61Vziwj9.css → index-DNWKm_GR.css} +1 -1
  38. package/dist/web/assets/{infoDiagram-6WML65LV-BCpRCQOK.js → infoDiagram-6WML65LV-CKaPSbez.js} +1 -1
  39. package/dist/web/assets/{ishikawaDiagram-WSZJBQD7-DMda_RYM.js → ishikawaDiagram-WSZJBQD7-CdCdA7sV.js} +1 -1
  40. package/dist/web/assets/{journeyDiagram-NVQOT4AX-Mu8Cw2aJ.js → journeyDiagram-NVQOT4AX-bTKRlOtf.js} +1 -1
  41. package/dist/web/assets/{kanban-definition-27J2QSJJ-BUOhLks1.js → kanban-definition-27J2QSJJ-CGuizh6I.js} +1 -1
  42. package/dist/web/assets/{linear-CNBr81WI.js → linear-CtKbu7RC.js} +1 -1
  43. package/dist/web/assets/{mermaid.core-C9mDnlJ7.js → mermaid.core-DKtykg7R.js} +4 -4
  44. package/dist/web/assets/{mindmap-definition-FAOFIHXS-BrTgdDxz.js → mindmap-definition-FAOFIHXS-CA83oPT6.js} +1 -1
  45. package/dist/web/assets/{pegDiagram-VL7TDLO6-DtCPDQEl.js → pegDiagram-VL7TDLO6-CEFna7qV.js} +1 -1
  46. package/dist/web/assets/{pieDiagram-7S7Q4E2Y-POiWLvb6.js → pieDiagram-7S7Q4E2Y-D2ufRBoj.js} +1 -1
  47. package/dist/web/assets/{quadrantDiagram-CIZ2JOQS-CMVBnBBv.js → quadrantDiagram-CIZ2JOQS-C5vLXvNr.js} +1 -1
  48. package/dist/web/assets/{railroadDiagram-AXF67PYL-Ch-mSveT.js → railroadDiagram-AXF67PYL-4mve0HiT.js} +1 -1
  49. package/dist/web/assets/{requirementDiagram-LRYGKXZP-Ralpm1T1.js → requirementDiagram-LRYGKXZP-C1cPcHkD.js} +1 -1
  50. package/dist/web/assets/{sankeyDiagram-W5VNT64P-BKG70103.js → sankeyDiagram-W5VNT64P-BDvMTpv0.js} +1 -1
  51. package/dist/web/assets/{sequenceDiagram-SI44F4Z6-BgY7HbJl.js → sequenceDiagram-SI44F4Z6-D9DqcBcB.js} +1 -1
  52. package/dist/web/assets/{sizeCapture-X5ZJPWSS-fQMqMiMy.js → sizeCapture-X5ZJPWSS-DmlB45vN.js} +1 -1
  53. package/dist/web/assets/{stateDiagram-OKZ733FA-D_2yWEeM.js → stateDiagram-OKZ733FA-CFzKMgI8.js} +1 -1
  54. package/dist/web/assets/stateDiagram-v2-UEYNNEHI-B33TP57C.js +1 -0
  55. package/dist/web/assets/{swimlanes-SLNWSIFB-HYYnFxVU.js → swimlanes-SLNWSIFB-CvXXHWMQ.js} +2 -2
  56. package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-D5fWWsKe.js +8 -0
  57. package/dist/web/assets/{timeline-definition-Z64GVDOM-DP4msbt3.js → timeline-definition-Z64GVDOM-BnIZVMIk.js} +1 -1
  58. package/dist/web/assets/{vennDiagram-T6HMQDX7-BiTIuSc7.js → vennDiagram-T6HMQDX7-B574XN0y.js} +1 -1
  59. package/dist/web/assets/{wardleyDiagram-T6FBY63Y-BXa4aPV9.js → wardleyDiagram-T6FBY63Y-C1EogIQh.js} +1 -1
  60. package/dist/web/assets/{xychartDiagram-ELKLHX3M-DE9eR74v.js → xychartDiagram-ELKLHX3M-NoSZclEb.js} +1 -1
  61. package/dist/web/index.html +2 -2
  62. package/dist/web/sw.js +1 -1
  63. package/package.json +1 -1
  64. package/dist/web/assets/channel-CTYZVCCp.js +0 -1
  65. package/dist/web/assets/classDiagram-JCYQIIEL-D5EJ5TAc.js +0 -1
  66. package/dist/web/assets/classDiagram-v2-OCEON4UE-D5EJ5TAc.js +0 -1
  67. package/dist/web/assets/index-DY5xgfRs.js +0 -244
  68. package/dist/web/assets/stateDiagram-v2-UEYNNEHI-kV9HOBtg.js +0 -1
  69. package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-CLyYcdMi.js +0 -8
package/dist/mcp.js CHANGED
@@ -369,7 +369,7 @@ function handleMessage(req, version) {
369
369
  }
370
370
 
371
371
  // server/src/mcp/server.ts
372
- var VERSION = true ? "0.15.3" : "dev";
372
+ var VERSION = true ? "0.15.5" : "dev";
373
373
  function runMcpServer() {
374
374
  const rl = createInterface({ input: process.stdin });
375
375
  rl.on("line", (line) => {
package/dist/server.js CHANGED
@@ -1463,6 +1463,25 @@ async function readPersistedSession(sessionId) {
1463
1463
  return null;
1464
1464
  }
1465
1465
  }
1466
+ async function withLastWrite(child) {
1467
+ try {
1468
+ const st = await fs9.stat(path10.join(config.kiroSessionsDir, `${child.sessionId}.jsonl`));
1469
+ const mtime = st.mtime.toISOString();
1470
+ return mtime > child.updatedAt ? { ...child, updatedAt: mtime } : child;
1471
+ } catch {
1472
+ return child;
1473
+ }
1474
+ }
1475
+ async function readChildSession(childSessionId, parentSessionId) {
1476
+ if (!isValidSessionId(childSessionId)) return null;
1477
+ try {
1478
+ const raw = await fs9.readFile(path10.join(config.kiroSessionsDir, `${childSessionId}.json`), "utf8");
1479
+ const j = JSON.parse(raw);
1480
+ return j.parent_session_id === parentSessionId ? await withLastWrite({ ...summarize(j), parentSessionId }) : null;
1481
+ } catch {
1482
+ return null;
1483
+ }
1484
+ }
1466
1485
  async function listChildSessions(parentSessionId) {
1467
1486
  if (!isValidSessionId(parentSessionId)) return [];
1468
1487
  let names;
@@ -1478,7 +1497,7 @@ async function listChildSessions(parentSessionId) {
1478
1497
  const raw = await fs9.readFile(path10.join(config.kiroSessionsDir, n), "utf8");
1479
1498
  const j = JSON.parse(raw);
1480
1499
  if (j.parent_session_id === parentSessionId) {
1481
- out.push({ ...summarize(j), parentSessionId });
1500
+ out.push(await withLastWrite({ ...summarize(j), parentSessionId }));
1482
1501
  }
1483
1502
  } catch {
1484
1503
  }
@@ -1764,7 +1783,7 @@ function firstPromptText(transcript) {
1764
1783
  function isGhost(s, hasFile) {
1765
1784
  return !hasFile && s.hasBeenLive && !s.proc;
1766
1785
  }
1767
- var Session, TRANSCRIPT_PAGE_SIZE, SessionManager;
1786
+ var CANCEL_GRACE_MS, Session, TRANSCRIPT_PAGE_SIZE, SessionManager;
1768
1787
  var init_SessionManager = __esm({
1769
1788
  "server/src/session/SessionManager.ts"() {
1770
1789
  "use strict";
@@ -1782,6 +1801,7 @@ var init_SessionManager = __esm({
1782
1801
  init_kiroFiles();
1783
1802
  init_chatStore();
1784
1803
  init_subagentLinks();
1804
+ CANCEL_GRACE_MS = 1e4;
1785
1805
  Session = class {
1786
1806
  sessionId;
1787
1807
  store;
@@ -1797,6 +1817,8 @@ var init_SessionManager = __esm({
1797
1817
  updatedAt = (/* @__PURE__ */ new Date()).toISOString();
1798
1818
  lastActivity = Date.now();
1799
1819
  running = false;
1820
+ // Set while a cancelled turn is given time to end before its process is killed.
1821
+ cancelTimer;
1800
1822
  everLive = false;
1801
1823
  proc;
1802
1824
  spawning;
@@ -1829,10 +1851,15 @@ var init_SessionManager = __esm({
1829
1851
  log;
1830
1852
  store = new ChatStore();
1831
1853
  subagentLinks = new SubagentLinkStore();
1854
+ // Children the title fallback already tried and could not match. Matching hydrates the
1855
+ // whole parent transcript (145 MB in one chat), so each child is tried once per process.
1856
+ unmatchedChildren = /* @__PURE__ */ new Map();
1832
1857
  spawnProcess;
1858
+ cancelGraceMs;
1833
1859
  constructor(log, opts = {}) {
1834
1860
  this.log = log;
1835
1861
  this.spawnProcess = opts.spawn ?? ((o, l) => new KiroProcess(o, l));
1862
+ this.cancelGraceMs = opts.cancelGraceMs ?? CANCEL_GRACE_MS;
1836
1863
  }
1837
1864
  /** What a session is called, from every read path. */
1838
1865
  titleOf(chat, parts) {
@@ -2125,13 +2152,33 @@ kiro-cli output:
2125
2152
  ${tail}` : err.message;
2126
2153
  s.record({ kind: "turn_error", message });
2127
2154
  }).finally(() => {
2155
+ clearTimeout(s.cancelTimer);
2156
+ s.cancelTimer = void 0;
2128
2157
  s.running = false;
2129
2158
  s.lastActivity = Date.now();
2130
2159
  });
2131
2160
  }
2161
+ /**
2162
+ * Asks kiro to cancel the turn. If the turn has not ended within the grace period, kiro
2163
+ * has stopped handling the session (its agent loop can panic while the process stays
2164
+ * up), so the process is killed. Its exit then fails the pending prompt.
2165
+ */
2132
2166
  cancel(chatId) {
2133
2167
  const s = this.sessions.get(this.store.sessionIdForChat(chatId) ?? "");
2134
- s?.proc?.cancel(s.sessionId);
2168
+ const proc = s?.proc;
2169
+ if (!s || !proc) return;
2170
+ proc.cancel(s.sessionId);
2171
+ if (!s.running || s.cancelTimer) return;
2172
+ s.cancelTimer = setTimeout(() => {
2173
+ s.cancelTimer = void 0;
2174
+ if (!s.running || s.proc !== proc) return;
2175
+ this.log.warn(
2176
+ { sessionId: s.sessionId, graceMs: this.cancelGraceMs },
2177
+ "turn did not end after cancel; killing kiro-cli"
2178
+ );
2179
+ proc.dispose();
2180
+ }, this.cancelGraceMs);
2181
+ s.cancelTimer.unref?.();
2135
2182
  }
2136
2183
  async setMode(chatId, modeId) {
2137
2184
  const s = await this.ensureOpen(chatId);
@@ -2242,9 +2289,15 @@ ${tail}` : err.message;
2242
2289
  const onDisk = await listChildSessions(sessionId);
2243
2290
  const links = this.subagentLinks.forParent(sessionId);
2244
2291
  const liveIds = new Set(live.map((a) => a.sessionId));
2245
- const unresolved = onDisk.filter((c) => !liveIds.has(c.sessionId) && !links.has(c.sessionId));
2292
+ const tried = this.unmatchedChildren.get(sessionId) ?? /* @__PURE__ */ new Set();
2293
+ const unresolved = onDisk.filter(
2294
+ (c) => !liveIds.has(c.sessionId) && !links.has(c.sessionId) && !tried.has(c.sessionId)
2295
+ );
2246
2296
  const fallback = unresolved.length ? matchSubagentsFallback(subagentCallsIn(await hydrateTranscript(sessionId)), unresolved) : [];
2247
2297
  const fallbackByChild = new Map(fallback.map((m) => [m.sessionId, m]));
2298
+ for (const m of fallback) this.subagentLinks.record(m.sessionId, sessionId, m.toolCallId, m.stageName);
2299
+ for (const c of unresolved) if (!fallbackByChild.has(c.sessionId)) tried.add(c.sessionId);
2300
+ this.unmatchedChildren.set(sessionId, tried);
2248
2301
  const byId = /* @__PURE__ */ new Map();
2249
2302
  for (const child of onDisk) {
2250
2303
  const link = links.get(child.sessionId) ?? fallbackByChild.get(child.sessionId);
@@ -2262,15 +2315,21 @@ ${tail}` : err.message;
2262
2315
  return [...startedThenPending, ...pending];
2263
2316
  }
2264
2317
  /** One subagent's own transcript, hydrated the same way a chat's is. */
2318
+ // Polled while a subagent runs, so it reads only the child's own files.
2265
2319
  async getSubagentDetail(chatId, childSessionId) {
2266
2320
  const parentSessionId = this.sessionIdOf(chatId);
2267
- const subagents = await this.getSubagents(chatId);
2268
- const summary = subagents.find((a) => a.sessionId === childSessionId);
2269
- if (!summary) throw new Error(`Unknown subagent: ${childSessionId}`);
2270
- const onDisk = await listChildSessions(parentSessionId);
2271
- if (!onDisk.some((c) => c.sessionId === childSessionId)) {
2272
- throw new Error(`Unknown subagent: ${childSessionId}`);
2273
- }
2321
+ const child = await readChildSession(childSessionId, parentSessionId);
2322
+ if (!child) throw new Error(`Unknown subagent: ${childSessionId}`);
2323
+ const live = this.sessions.get(parentSessionId)?.subagents.list().find((a) => a.sessionId === childSessionId);
2324
+ const link = this.subagentLinks.forParent(parentSessionId).get(childSessionId);
2325
+ const summary = live ?? {
2326
+ sessionId: childSessionId,
2327
+ stageName: link?.stageName ?? (child.title || childSessionId),
2328
+ toolCallId: link?.toolCallId,
2329
+ status: "completed",
2330
+ createdAt: child.createdAt,
2331
+ updatedAt: child.updatedAt
2332
+ };
2274
2333
  const transcript = showSummaryAsAnswer(await hydrateTranscript(childSessionId));
2275
2334
  return { subagent: summary, transcript };
2276
2335
  }
@@ -4324,7 +4383,7 @@ var init_server2 = __esm({
4324
4383
  "server/src/mcp/server.ts"() {
4325
4384
  "use strict";
4326
4385
  init_protocol();
4327
- VERSION = true ? "0.15.3" : "dev";
4386
+ VERSION = true ? "0.15.5" : "dev";
4328
4387
  }
4329
4388
  });
4330
4389
 
@@ -7704,7 +7763,7 @@ var program = new Command();
7704
7763
  // server/src/cli/program.ts
7705
7764
  init_paths();
7706
7765
  init_settings();
7707
- var VERSION2 = true ? "0.15.3" : "dev";
7766
+ var VERSION2 = true ? "0.15.5" : "dev";
7708
7767
  async function bootstrap() {
7709
7768
  const file = configFilePath();
7710
7769
  const settings = readSettings(file);
@@ -1 +1 @@
1
- import{g as p,r as u,d as a}from"./chunk-6Q2QTUOP-DPJfGoqQ.js";import{p as f}from"./chunk-JWPE2WC7-CGxGEiJa.js";import{_ as n,l as o}from"./mermaid.core-C9mDnlJ7.js";import{M as c,b as d}from"./cynefin-VYW2F7L2-B47ma6bm.js";import"./index-DY5xgfRs.js";var v=d().RailroadAbnf.parser.LangiumParser,i=n(e=>{const r=e.alternatives.map(g);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformAlternation"),g=n(e=>{const r=e.elements.map(y);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformConcatenation"),b=n(e=>{if(e.includes("*")){const[t,s]=e.split("*"),l=t?parseInt(t,10):0,m=s?parseInt(s,10):1/0;return{min:l,max:m}}const r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),y=n(e=>{const r=A(e.primary);if(!e.repeat)return r;const{min:t,max:s}=b(e.repeat);return t===0&&s===1?{type:"optional",element:r}:{type:"repetition",element:r,min:t,max:s}},"transformElement"),A=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 i(e.element);case"AbnfOptionalGroup":return{type:"optional",element:i(e.element)};default:throw new Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),P=n(e=>({name:e.name,definition:i(e.definition)}),"transformRule"),h=n(e=>{f(e,a),e.title&&a.setTitle(e.title),e.rules.map(r=>a.addRule(P(r)))},"populateDb"),R={parse:n(e=>{a.clear(),o.debug("[ABNF Parser] Starting Langium parse");const r=v.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new c(r);const t=r.value;o.debug("[ABNF Parser] Parsed rules:",t.rules.length),h(t),o.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:a}},B={parser:R,db:a,renderer:u,styles:p};export{B as diagram};
1
+ import{g as p,r as u,d as a}from"./chunk-6Q2QTUOP-bdejFE5K.js";import{p as f}from"./chunk-JWPE2WC7-BSZfxr2f.js";import{_ as n,l as o}from"./mermaid.core-DKtykg7R.js";import{M as c,b as d}from"./cynefin-VYW2F7L2-Cp2J1D8A.js";import"./index-DJG6K5uD.js";var v=d().RailroadAbnf.parser.LangiumParser,i=n(e=>{const r=e.alternatives.map(g);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformAlternation"),g=n(e=>{const r=e.elements.map(y);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformConcatenation"),b=n(e=>{if(e.includes("*")){const[t,s]=e.split("*"),l=t?parseInt(t,10):0,m=s?parseInt(s,10):1/0;return{min:l,max:m}}const r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),y=n(e=>{const r=A(e.primary);if(!e.repeat)return r;const{min:t,max:s}=b(e.repeat);return t===0&&s===1?{type:"optional",element:r}:{type:"repetition",element:r,min:t,max:s}},"transformElement"),A=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 i(e.element);case"AbnfOptionalGroup":return{type:"optional",element:i(e.element)};default:throw new Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),P=n(e=>({name:e.name,definition:i(e.definition)}),"transformRule"),h=n(e=>{f(e,a),e.title&&a.setTitle(e.title),e.rules.map(r=>a.addRule(P(r)))},"populateDb"),R={parse:n(e=>{a.clear(),o.debug("[ABNF Parser] Starting Langium parse");const r=v.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new c(r);const t=r.value;o.debug("[ABNF Parser] Parsed rules:",t.rules.length),h(t),o.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:a}},B={parser:R,db:a,renderer:u,styles:p};export{B as diagram};
@@ -1 +1 @@
1
- import{Y as ln,$ as an,a0 as F,a1 as q,a2 as j,a3 as un,a4 as y,a5 as tn,a6 as J,a7 as _,a8 as rn,a9 as o,aa as on,ab as sn,ac as fn}from"./mermaid.core-C9mDnlJ7.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,I,D,v,A,z,a){var O=I-l,i=D-h,n=z-v,d=a-A,u=d*O-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*O,h+u*i]}function U(l,h,I,D,v,A,z){var a=l-I,O=h-D,i=(z?A:-A)/J(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,B=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,S=(g<0?-1:1)*J(on(0,T*T*R-P*P)),Y=(P*g-m*S)/R,$=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=Y-B,e=$-t,r=w-B,C=p-t;return x*x+e*e>r*r+C*C&&(Y=w,$=p),{cx:Y,cy:$,x01:-n,y01:-d,x11:Y*(v/T-1),y11:$*(v/T-1)}}function hn(){var l=cn,h=yn,I=j(0),D=null,v=gn,A=dn,z=mn,a=null,O=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=A.apply(this,arguments)-un,B=rn(c-f),t=c>f;if(a||(a=n=O()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(B>tn-y)a.moveTo(s*F(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*F(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=B,S=B,Y=z.apply(this,arguments)/2,$=Y>y&&(D?+D.apply(this,arguments):J(u*u+s*s)),w=_(rn(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if($>y){var C=sn($/u*q(Y)),K=sn($/s*q(Y));(P-=C*2)>y?(C*=t?1:-1,R+=C,T-=C):(P=0,R=T=(f+c)/2),(S-=K*2)>y?(K*=t?1:-1,m+=K,g-=K):(S=0,m=g=(f+c)/2)}var G=s*F(m),H=s*q(m),L=u*F(T),M=u*q(T);if(w>y){var N=s*F(g),Q=s*q(g),V=u*F(R),W=u*q(R),E;if(B<an)if(E=pn(G,H,V,W,N,Q,L,M)){var X=G-E[0],Z=H-E[1],b=N-E[0],k=Q-E[1],nn=1/q(fn((X*b+Z*k)/(J(X*X+Z*Z)*J(b*b+k*k)))/2),en=J(E[0]*E[0]+E[1]*E[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}S>y?x>y?(e=U(V,W,G,H,s,x,t),r=U(N,Q,L,M,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(G,H),a.arc(0,0,s,m,g,!t)):a.moveTo(G,H),!(u>y)||!(P>y)?a.lineTo(L,M):p>y?(e=U(L,M,N,Q,u,-p,t),r=U(G,H,V,W,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-an/2;return[F(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:j(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:j(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:j(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:j(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:j(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:j(+n),i):A},i.padAngle=function(n){return arguments.length?(z=typeof n=="function"?n:j(+n),i):z},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
1
+ import{Y as ln,$ as an,a0 as F,a1 as q,a2 as j,a3 as un,a4 as y,a5 as tn,a6 as J,a7 as _,a8 as rn,a9 as o,aa as on,ab as sn,ac as fn}from"./mermaid.core-DKtykg7R.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,I,D,v,A,z,a){var O=I-l,i=D-h,n=z-v,d=a-A,u=d*O-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*O,h+u*i]}function U(l,h,I,D,v,A,z){var a=l-I,O=h-D,i=(z?A:-A)/J(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,B=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,S=(g<0?-1:1)*J(on(0,T*T*R-P*P)),Y=(P*g-m*S)/R,$=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=Y-B,e=$-t,r=w-B,C=p-t;return x*x+e*e>r*r+C*C&&(Y=w,$=p),{cx:Y,cy:$,x01:-n,y01:-d,x11:Y*(v/T-1),y11:$*(v/T-1)}}function hn(){var l=cn,h=yn,I=j(0),D=null,v=gn,A=dn,z=mn,a=null,O=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=A.apply(this,arguments)-un,B=rn(c-f),t=c>f;if(a||(a=n=O()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(B>tn-y)a.moveTo(s*F(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*F(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=B,S=B,Y=z.apply(this,arguments)/2,$=Y>y&&(D?+D.apply(this,arguments):J(u*u+s*s)),w=_(rn(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if($>y){var C=sn($/u*q(Y)),K=sn($/s*q(Y));(P-=C*2)>y?(C*=t?1:-1,R+=C,T-=C):(P=0,R=T=(f+c)/2),(S-=K*2)>y?(K*=t?1:-1,m+=K,g-=K):(S=0,m=g=(f+c)/2)}var G=s*F(m),H=s*q(m),L=u*F(T),M=u*q(T);if(w>y){var N=s*F(g),Q=s*q(g),V=u*F(R),W=u*q(R),E;if(B<an)if(E=pn(G,H,V,W,N,Q,L,M)){var X=G-E[0],Z=H-E[1],b=N-E[0],k=Q-E[1],nn=1/q(fn((X*b+Z*k)/(J(X*X+Z*Z)*J(b*b+k*k)))/2),en=J(E[0]*E[0]+E[1]*E[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}S>y?x>y?(e=U(V,W,G,H,s,x,t),r=U(N,Q,L,M,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(G,H),a.arc(0,0,s,m,g,!t)):a.moveTo(G,H),!(u>y)||!(P>y)?a.lineTo(L,M):p>y?(e=U(L,M,N,Q,u,-p,t),r=U(G,H,V,W,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-an/2;return[F(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:j(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:j(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:j(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:j(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:j(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:j(+n),i):A},i.padAngle=function(n){return arguments.length?(z=typeof n=="function"?n:j(+n),i):z},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};