@joeyshi12/casper 0.8.8 → 0.8.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 (67) hide show
  1. package/dist/mcp.js +1 -1
  2. package/dist/server.js +79 -38
  3. package/dist/web/assets/{abnfDiagram-N423BO3Z-dD8GuEng.js → abnfDiagram-N423BO3Z-BmFvzapC.js} +1 -1
  4. package/dist/web/assets/{arc-BrT5U_LP.js → arc-Cd5BktE5.js} +1 -1
  5. package/dist/web/assets/{architectureDiagram-T3A2C74G-Bk6pq1Xm.js → architectureDiagram-T3A2C74G-3eW0H6qU.js} +1 -1
  6. package/dist/web/assets/{blockDiagram-VBNYF7ZC-nMmkAmal.js → blockDiagram-VBNYF7ZC-_xlpEu4Q.js} +1 -1
  7. package/dist/web/assets/{c4Diagram-5PPSVZJV-ByqsIevu.js → c4Diagram-5PPSVZJV-s96OlA9D.js} +1 -1
  8. package/dist/web/assets/channel-D3Yqmp7Y.js +1 -0
  9. package/dist/web/assets/{chunk-2GRJ4B5K-Dk5J1dTv.js → chunk-2GRJ4B5K-CqX-74PD.js} +1 -1
  10. package/dist/web/assets/{chunk-2Q5K7J3B-D-ucNMTq.js → chunk-2Q5K7J3B-CvIudCSJ.js} +1 -1
  11. package/dist/web/assets/{chunk-5RXB4S5H-Ca3yO8vV.js → chunk-5RXB4S5H-BJ6lEqCw.js} +1 -1
  12. package/dist/web/assets/{chunk-5VM5RSS4-Bu0AKdlE.js → chunk-5VM5RSS4-D4J2Xbnp.js} +1 -1
  13. package/dist/web/assets/{chunk-6Q2QTUOP-C0g01XOe.js → chunk-6Q2QTUOP-v1IZhnXL.js} +1 -1
  14. package/dist/web/assets/{chunk-GF5L2VYU-B-h7MnmL.js → chunk-GF5L2VYU-Bk9156ET.js} +1 -1
  15. package/dist/web/assets/{chunk-JWPE2WC7-BgEwGAlP.js → chunk-JWPE2WC7-i1A56dGQ.js} +1 -1
  16. package/dist/web/assets/{chunk-KBJHAD2P-NrU17DU3.js → chunk-KBJHAD2P-CN2i-L5S.js} +1 -1
  17. package/dist/web/assets/{chunk-RYQCIY6F-BqzMscSM.js → chunk-RYQCIY6F-Cj6wUep-.js} +1 -1
  18. package/dist/web/assets/{chunk-XXDRQBXY-DuAhRVgm.js → chunk-XXDRQBXY-BnRenOna.js} +1 -1
  19. package/dist/web/assets/classDiagram-JCYQIIEL-SHf7X5cy.js +1 -0
  20. package/dist/web/assets/classDiagram-v2-OCEON4UE-SHf7X5cy.js +1 -0
  21. package/dist/web/assets/{cose-bilkent-JH36ORCC-BrGerPmF.js → cose-bilkent-JH36ORCC-BEfJKlx9.js} +1 -1
  22. package/dist/web/assets/{cynefin-VYW2F7L2-wgLYEWNl.js → cynefin-VYW2F7L2-Cv5g-uRn.js} +1 -1
  23. package/dist/web/assets/{cynefinDiagram-MW4NZA55-VK-IHzZm.js → cynefinDiagram-MW4NZA55-DLdyRXdU.js} +1 -1
  24. package/dist/web/assets/{dagre-VZM6K2ZE-DNNj1LbS.js → dagre-VZM6K2ZE-BnInDljp.js} +1 -1
  25. package/dist/web/assets/{diagram-7IWD3JNH-CXXXIjt0.js → diagram-7IWD3JNH-DBru5UtC.js} +1 -1
  26. package/dist/web/assets/{diagram-B4RE2ZJO-COXtMeEv.js → diagram-B4RE2ZJO-h5XgrM6n.js} +1 -1
  27. package/dist/web/assets/{diagram-LBJQPF4R-vKGeSxFy.js → diagram-LBJQPF4R-D0nROY9y.js} +1 -1
  28. package/dist/web/assets/{diagram-Q27KOJAE-C4Lsm9DM.js → diagram-Q27KOJAE-MlOl8gx1.js} +1 -1
  29. package/dist/web/assets/{diagram-UB23O5K3-e_pZTiEr.js → diagram-UB23O5K3-B7uFVWTV.js} +1 -1
  30. package/dist/web/assets/{ebnfDiagram-BXEA7PRR-bAwMS4kZ.js → ebnfDiagram-BXEA7PRR-Dm_lVozw.js} +1 -1
  31. package/dist/web/assets/{erDiagram-JOGREHBK-zT-mXzlN.js → erDiagram-JOGREHBK-CYrJZ_97.js} +1 -1
  32. package/dist/web/assets/{flowDiagram-UKHOOZJN-BJZREKw8.js → flowDiagram-UKHOOZJN-jwUkyKHX.js} +1 -1
  33. package/dist/web/assets/{ganttDiagram-PKOTCBZU-MsCI5Oop.js → ganttDiagram-PKOTCBZU-BLy64t1V.js} +1 -1
  34. package/dist/web/assets/{gitGraphDiagram-DS77QQ5N-CrTLzDOq.js → gitGraphDiagram-DS77QQ5N-C4d4hAIx.js} +1 -1
  35. package/dist/web/assets/index-BZa7UuXn.js +510 -0
  36. package/dist/web/assets/{infoDiagram-6WML65LV-CZF-68Rp.js → infoDiagram-6WML65LV-CWuG5oht.js} +1 -1
  37. package/dist/web/assets/{ishikawaDiagram-WSZJBQD7-0r_z2Yor.js → ishikawaDiagram-WSZJBQD7-CYni8Aaq.js} +1 -1
  38. package/dist/web/assets/{journeyDiagram-NVQOT4AX-U8Bc6JlF.js → journeyDiagram-NVQOT4AX-v7cwKNft.js} +1 -1
  39. package/dist/web/assets/{kanban-definition-27J2QSJJ-BrJ15Haw.js → kanban-definition-27J2QSJJ-DWb3cYAv.js} +1 -1
  40. package/dist/web/assets/{linear-Vi7chwnv.js → linear-DpgHYB5J.js} +1 -1
  41. package/dist/web/assets/{mermaid.core-cpP24Vzz.js → mermaid.core-D3Va4lsu.js} +5 -5
  42. package/dist/web/assets/{mindmap-definition-FAOFIHXS-9-3-DDeb.js → mindmap-definition-FAOFIHXS-CGC97dBB.js} +1 -1
  43. package/dist/web/assets/{pegDiagram-VL7TDLO6-Bl_cAnPS.js → pegDiagram-VL7TDLO6-CrhjqKA2.js} +1 -1
  44. package/dist/web/assets/{pieDiagram-7S7Q4E2Y-Bz29FvF6.js → pieDiagram-7S7Q4E2Y-DEtmyKtS.js} +1 -1
  45. package/dist/web/assets/{quadrantDiagram-CIZ2JOQS-BXSpkyEn.js → quadrantDiagram-CIZ2JOQS-BkzpFfx5.js} +1 -1
  46. package/dist/web/assets/{railroadDiagram-AXF67PYL-DZqWxSoF.js → railroadDiagram-AXF67PYL-OKSnYylk.js} +1 -1
  47. package/dist/web/assets/{requirementDiagram-LRYGKXZP-CWEdHghn.js → requirementDiagram-LRYGKXZP-DoB0OuhM.js} +1 -1
  48. package/dist/web/assets/{sankeyDiagram-W5VNT64P-BGbJYr4X.js → sankeyDiagram-W5VNT64P-AW-_HJeC.js} +1 -1
  49. package/dist/web/assets/{sequenceDiagram-SI44F4Z6-p_wF9iET.js → sequenceDiagram-SI44F4Z6-D9L9fxlv.js} +1 -1
  50. package/dist/web/assets/{sizeCapture-X5ZJPWSS-w3BcIn6X.js → sizeCapture-X5ZJPWSS-BdSEicdm.js} +1 -1
  51. package/dist/web/assets/{stateDiagram-OKZ733FA-Bz6FXoF6.js → stateDiagram-OKZ733FA-D67382A0.js} +1 -1
  52. package/dist/web/assets/stateDiagram-v2-UEYNNEHI-Chp2TMP_.js +1 -0
  53. package/dist/web/assets/{swimlanes-SLNWSIFB-B5rAwYj-.js → swimlanes-SLNWSIFB-DgQTxkXQ.js} +2 -2
  54. package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-D41_9LPP.js +8 -0
  55. package/dist/web/assets/{timeline-definition-Z64GVDOM-gsS6Mn-_.js → timeline-definition-Z64GVDOM-BNjykOiD.js} +1 -1
  56. package/dist/web/assets/{vennDiagram-T6HMQDX7-DLYvB8dm.js → vennDiagram-T6HMQDX7-DM7hKHNd.js} +1 -1
  57. package/dist/web/assets/{wardleyDiagram-T6FBY63Y-DM2Cz5Yx.js → wardleyDiagram-T6FBY63Y-D98r0ni6.js} +1 -1
  58. package/dist/web/assets/{xychartDiagram-ELKLHX3M-CuA0hj28.js → xychartDiagram-ELKLHX3M-c7t6MgKj.js} +1 -1
  59. package/dist/web/index.html +1 -1
  60. package/dist/web/sw.js +1 -1
  61. package/package.json +1 -1
  62. package/dist/web/assets/channel-DKLeFBN9.js +0 -1
  63. package/dist/web/assets/classDiagram-JCYQIIEL-D8ek01K6.js +0 -1
  64. package/dist/web/assets/classDiagram-v2-OCEON4UE-D8ek01K6.js +0 -1
  65. package/dist/web/assets/index-1jKtQqrL.js +0 -509
  66. package/dist/web/assets/stateDiagram-v2-UEYNNEHI-DVcj7931.js +0 -1
  67. package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-Dv2xZebs.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.8.8" : "dev";
372
+ var VERSION = true ? "0.8.9" : "dev";
373
373
  function runMcpServer() {
374
374
  const rl = createInterface({ input: process.stdin });
375
375
  rl.on("line", (line) => {
package/dist/server.js CHANGED
@@ -702,6 +702,34 @@ var init_rest_dto = __esm({
702
702
  }
703
703
  });
704
704
 
705
+ // shared/dist/titles.js
706
+ function titleFromPrompt(content) {
707
+ const text2 = content.filter((b) => b.type === "text").map((b) => b.text).join("\n");
708
+ const words = stripAttachmentsLine(text2).replace(/```[\s\S]*?```/g, " ").replace(/\s+/g, " ").trim();
709
+ if (!words)
710
+ return "";
711
+ if (words.length <= MAX_TITLE)
712
+ return words.replace(/[.,;:!?]+$/, "");
713
+ const cut = words.slice(0, MAX_TITLE);
714
+ const lastSpace = cut.lastIndexOf(" ");
715
+ return `${(lastSpace > MAX_TITLE / 2 ? cut.slice(0, lastSpace) : cut).replace(/[.,;:!?]+$/, "")}\u2026`;
716
+ }
717
+ function sanitizeTitle(title) {
718
+ return title.replace(/\s+/g, " ").trim().slice(0, MAX_TITLE);
719
+ }
720
+ function resolveSessionTitle(parts) {
721
+ return sanitizeTitle(parts.override ?? "") || sanitizeTitle(parts.kiroTitle ?? "") || titleFromPrompt(parts.firstPrompt ? [{ type: "text", text: parts.firstPrompt }] : []) || sanitizeTitle(parts.folder ?? "") || UNNAMED_SESSION;
722
+ }
723
+ var MAX_TITLE, UNNAMED_SESSION;
724
+ var init_titles = __esm({
725
+ "shared/dist/titles.js"() {
726
+ "use strict";
727
+ init_attachments();
728
+ MAX_TITLE = 60;
729
+ UNNAMED_SESSION = "New session";
730
+ }
731
+ });
732
+
705
733
  // shared/dist/ws-protocol.js
706
734
  var init_ws_protocol = __esm({
707
735
  "shared/dist/ws-protocol.js"() {
@@ -717,6 +745,7 @@ var init_dist = __esm({
717
745
  init_attachments();
718
746
  init_observability();
719
747
  init_rest_dto();
748
+ init_titles();
720
749
  init_ws_protocol();
721
750
  }
722
751
  });
@@ -737,6 +766,9 @@ function createWorkspace() {
737
766
  fs7.mkdirSync(dir, { recursive: true, mode: 448 });
738
767
  return { id, dir };
739
768
  }
769
+ function isWorkspacePath(dir) {
770
+ return dir === workspacesRoot() || dir.startsWith(workspacesRoot() + path8.sep);
771
+ }
740
772
  var init_workspaces = __esm({
741
773
  "server/src/session/workspaces.ts"() {
742
774
  "use strict";
@@ -744,25 +776,6 @@ var init_workspaces = __esm({
744
776
  }
745
777
  });
746
778
 
747
- // server/src/session/titles.ts
748
- function titleFromPrompt(content) {
749
- const text2 = content.filter((b) => b.type === "text").map((b) => b.text).join("\n");
750
- const words = stripAttachmentsLine(text2).replace(/```[\s\S]*?```/g, " ").replace(/\s+/g, " ").trim();
751
- if (!words) return "";
752
- if (words.length <= MAX_TITLE) return words.replace(/[.,;:!?]+$/, "");
753
- const cut = words.slice(0, MAX_TITLE);
754
- const lastSpace = cut.lastIndexOf(" ");
755
- return `${(lastSpace > MAX_TITLE / 2 ? cut.slice(0, lastSpace) : cut).replace(/[.,;:!?]+$/, "")}\u2026`;
756
- }
757
- var MAX_TITLE;
758
- var init_titles = __esm({
759
- "server/src/session/titles.ts"() {
760
- "use strict";
761
- init_dist();
762
- MAX_TITLE = 60;
763
- }
764
- });
765
-
766
779
  // server/src/util/paths.ts
767
780
  import fs8 from "node:fs";
768
781
  import fsp from "node:fs/promises";
@@ -1299,7 +1312,8 @@ function summarize(j) {
1299
1312
  const contextUsagePercentage = state?.rts_model_state?.context_usage_percentage ?? turns[turns.length - 1]?.context_usage_percentage;
1300
1313
  return {
1301
1314
  sessionId: j.session_id,
1302
- title: j.title?.trim() || "Untitled session",
1315
+ // Left empty when kiro has not named it; resolveSessionTitle decides what to show.
1316
+ title: j.title?.trim() ?? "",
1303
1317
  cwd: j.cwd,
1304
1318
  createdAt: j.created_at,
1305
1319
  updatedAt: j.updated_at,
@@ -1519,6 +1533,10 @@ function mapNotification(n) {
1519
1533
  return null;
1520
1534
  }
1521
1535
  }
1536
+ function firstPromptText(transcript) {
1537
+ const first = transcript.find((it) => it.type === "message" && it.message.role === "user");
1538
+ return first?.type === "message" ? first.message.text : void 0;
1539
+ }
1522
1540
  var Session, TRANSCRIPT_PAGE_SIZE, SessionManager;
1523
1541
  var init_SessionManager = __esm({
1524
1542
  "server/src/session/SessionManager.ts"() {
@@ -1526,7 +1544,6 @@ var init_SessionManager = __esm({
1526
1544
  init_dist();
1527
1545
  init_config();
1528
1546
  init_workspaces();
1529
- init_titles();
1530
1547
  init_paths2();
1531
1548
  init_KiroProcess();
1532
1549
  init_EventStore();
@@ -1542,7 +1559,8 @@ var init_SessionManager = __esm({
1542
1559
  modelId;
1543
1560
  currentModeId;
1544
1561
  availableModes = [];
1545
- title = "New session";
1562
+ /** Empty until something names it; resolveSessionTitle owns the fallback. */
1563
+ title = "";
1546
1564
  createdAt = (/* @__PURE__ */ new Date()).toISOString();
1547
1565
  updatedAt = (/* @__PURE__ */ new Date()).toISOString();
1548
1566
  lastActivity = Date.now();
@@ -1586,11 +1604,24 @@ var init_SessionManager = __esm({
1586
1604
  constructor(log) {
1587
1605
  this.log = log;
1588
1606
  }
1607
+ /**
1608
+ * What a session is called, from every read path. The folder is skipped for a workspace of
1609
+ * ours, whose name is a uuid.
1610
+ */
1611
+ titleOf(sessionId, parts) {
1612
+ return resolveSessionTitle({
1613
+ override: this.store.getTitle(sessionId),
1614
+ kiroTitle: parts.kiroTitle,
1615
+ firstPrompt: parts.firstPrompt,
1616
+ folder: isWorkspacePath(parts.cwd) ? void 0 : path11.basename(parts.cwd)
1617
+ });
1618
+ }
1589
1619
  /** Set a user title override for a session. */
1590
1620
  renameSession(sessionId, title) {
1591
- this.store.setTitle(sessionId, title);
1621
+ const clean = sanitizeTitle(title);
1622
+ this.store.setTitle(sessionId, clean);
1592
1623
  const s = this.sessions.get(sessionId);
1593
- if (s) s.title = title.trim() || s.title;
1624
+ if (s) s.title = clean || s.title;
1594
1625
  }
1595
1626
  /**
1596
1627
  * Re-point a session at a different working directory, for when the original was moved
@@ -1758,10 +1789,10 @@ var init_SessionManager = __esm({
1758
1789
  this.evict(s.sessionId);
1759
1790
  throw err;
1760
1791
  }
1761
- const folder = opts.freshWorkspace ? "" : path11.basename(s.cwd);
1762
- if (folder) {
1763
- this.store.setTitle(s.sessionId, folder);
1764
- s.title = folder;
1792
+ const name = sanitizeTitle(opts.title ?? "") || (opts.freshWorkspace ? "" : path11.basename(s.cwd));
1793
+ if (name) {
1794
+ this.store.setTitle(s.sessionId, name);
1795
+ s.title = name;
1765
1796
  }
1766
1797
  return this.buildDetail(s, []);
1767
1798
  }
@@ -1774,7 +1805,6 @@ var init_SessionManager = __esm({
1774
1805
  if (s.running) throw new Error("A turn is already running for this session");
1775
1806
  s.running = true;
1776
1807
  s.lastActivity = Date.now();
1777
- s.record({ kind: "turn_started", prompt: content });
1778
1808
  if (!this.store.getTitle(s.sessionId)) {
1779
1809
  const title = titleFromPrompt(content);
1780
1810
  if (title) {
@@ -1782,6 +1812,7 @@ var init_SessionManager = __esm({
1782
1812
  s.title = title;
1783
1813
  }
1784
1814
  }
1815
+ s.record({ kind: "turn_started", prompt: content });
1785
1816
  proc.prompt({ sessionId: s.sessionId, prompt: content }).then((res) => s.record({ kind: "turn_ended", stopReason: res.stopReason })).catch((err) => {
1786
1817
  this.log.error({ err, sessionId: s.sessionId }, "prompt turn failed");
1787
1818
  const tail = proc.stderrTail();
@@ -1829,7 +1860,10 @@ ${tail}` : err.message;
1829
1860
  for (const p of persisted) {
1830
1861
  byId.set(p.sessionId, {
1831
1862
  ...p,
1832
- title: this.store.getTitle(p.sessionId) ?? p.title,
1863
+ title: this.titleOf(p.sessionId, {
1864
+ kiroTitle: p.title,
1865
+ cwd: this.store.getCwd(p.sessionId) ?? p.cwd
1866
+ }),
1833
1867
  cwd: this.store.getCwd(p.sessionId) ?? p.cwd
1834
1868
  });
1835
1869
  }
@@ -1838,7 +1872,7 @@ ${tail}` : err.message;
1838
1872
  const base = byId.get(s.sessionId);
1839
1873
  byId.set(s.sessionId, {
1840
1874
  sessionId: s.sessionId,
1841
- title: this.store.getTitle(s.sessionId) ?? base?.title ?? s.title,
1875
+ title: this.titleOf(s.sessionId, { kiroTitle: base?.title, cwd: s.cwd }),
1842
1876
  cwd: s.cwd,
1843
1877
  createdAt: base?.createdAt ?? s.createdAt,
1844
1878
  updatedAt: base?.updatedAt ?? s.updatedAt,
@@ -1861,7 +1895,11 @@ ${tail}` : err.message;
1861
1895
  return {
1862
1896
  summary: {
1863
1897
  ...persisted,
1864
- title: this.store.getTitle(sessionId) ?? persisted.title,
1898
+ title: this.titleOf(sessionId, {
1899
+ kiroTitle: persisted.title,
1900
+ firstPrompt: firstPromptText(transcript),
1901
+ cwd: this.store.getCwd(sessionId) ?? persisted.cwd
1902
+ }),
1865
1903
  cwd: this.store.getCwd(sessionId) ?? persisted.cwd
1866
1904
  },
1867
1905
  modes: [],
@@ -1889,12 +1927,14 @@ ${tail}` : err.message;
1889
1927
  }
1890
1928
  buildDetail(s, transcript) {
1891
1929
  const snap = s.turnState.get();
1892
- const firstMessage = transcript.find((it) => it.type === "message");
1893
- const firstText = firstMessage?.type === "message" ? firstMessage.message.text : void 0;
1894
1930
  return {
1895
1931
  summary: {
1896
1932
  sessionId: s.sessionId,
1897
- title: this.store.getTitle(s.sessionId) ?? (firstText?.slice(0, 60) || s.title),
1933
+ title: this.titleOf(s.sessionId, {
1934
+ kiroTitle: s.title,
1935
+ firstPrompt: firstPromptText(transcript),
1936
+ cwd: s.cwd
1937
+ }),
1898
1938
  cwd: s.cwd,
1899
1939
  createdAt: s.createdAt,
1900
1940
  updatedAt: s.updatedAt,
@@ -2373,7 +2413,8 @@ function registerSessionRoutes(app, manager) {
2373
2413
  cwd: body.cwd,
2374
2414
  agentId: body.agentId,
2375
2415
  modelId: body.modelId,
2376
- freshWorkspace: body.freshWorkspace
2416
+ freshWorkspace: body.freshWorkspace,
2417
+ title: body.title
2377
2418
  });
2378
2419
  } catch (err) {
2379
2420
  reply.code(400);
@@ -4014,7 +4055,7 @@ var init_server2 = __esm({
4014
4055
  "server/src/mcp/server.ts"() {
4015
4056
  "use strict";
4016
4057
  init_protocol();
4017
- VERSION = true ? "0.8.8" : "dev";
4058
+ VERSION = true ? "0.8.9" : "dev";
4018
4059
  }
4019
4060
  });
4020
4061
 
@@ -7394,7 +7435,7 @@ var program = new Command();
7394
7435
  // server/src/cli/program.ts
7395
7436
  init_paths();
7396
7437
  init_settings();
7397
- var VERSION2 = true ? "0.8.8" : "dev";
7438
+ var VERSION2 = true ? "0.8.9" : "dev";
7398
7439
  async function bootstrap() {
7399
7440
  const file = configFilePath();
7400
7441
  const settings = readSettings(file);
@@ -1 +1 @@
1
- import{g as p,r as u,d as a}from"./chunk-6Q2QTUOP-C0g01XOe.js";import{p as f}from"./chunk-JWPE2WC7-BgEwGAlP.js";import{_ as n,l as o}from"./mermaid.core-cpP24Vzz.js";import{M as c,b as d}from"./cynefin-VYW2F7L2-wgLYEWNl.js";import"./index-1jKtQqrL.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-v1IZhnXL.js";import{p as f}from"./chunk-JWPE2WC7-i1A56dGQ.js";import{_ as n,l as o}from"./mermaid.core-D3Va4lsu.js";import{M as c,b as d}from"./cynefin-VYW2F7L2-Cv5g-uRn.js";import"./index-BZa7UuXn.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-cpP24Vzz.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-D3Va4lsu.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};