@rubytech/create-maxy-code 0.1.101 → 0.1.103

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 (89) hide show
  1. package/package.json +1 -1
  2. package/payload/platform/plugins/admin/hooks/pre-tool-use.sh +1 -1
  3. package/payload/platform/plugins/admin/mcp/dist/index.js +12 -8
  4. package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -1
  5. package/payload/platform/plugins/admin/skills/file-presentation/SKILL.md +14 -4
  6. package/payload/platform/plugins/admin/skills/unzip-attachment/SKILL.md +1 -1
  7. package/payload/platform/plugins/docs/PLUGIN.md +2 -0
  8. package/payload/platform/plugins/docs/references/admin-ui.md +233 -0
  9. package/payload/platform/plugins/scheduling/PLUGIN.md +1 -1
  10. package/payload/platform/plugins/scheduling/mcp/dist/index.js +2 -2
  11. package/payload/platform/plugins/scheduling/mcp/dist/index.js.map +1 -1
  12. package/payload/platform/templates/specialists/agents/content-producer.md +1 -1
  13. package/payload/premium-plugins/real-agent/plugins/brochures/skills/make-brochure/SKILL.md +1 -1
  14. package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-brochure/references/index.html +8 -0
  15. package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-brochure/references/template.html +8 -0
  16. package/payload/server/public/assets/{ChatInput-u7hSrC3q.css → ChatInput-DeBN_eCm.css} +1 -1
  17. package/payload/server/public/assets/{Checkbox-CfiWjuMH.js → Checkbox-Dd6lh79E.js} +1 -1
  18. package/payload/server/public/assets/{admin-CvfKXjVx.js → admin-B_-v60En.js} +1 -1
  19. package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-CSAyzBIK.js → architectureDiagram-Q4EWVU46-Nnicj9Oi.js} +1 -1
  20. package/payload/server/public/assets/{blockDiagram-DXYQGD6D-l_AoJo_I.js → blockDiagram-DXYQGD6D-NuGXhtpA.js} +1 -1
  21. package/payload/server/public/assets/{c4Diagram-AHTNJAMY-Dsjc59iO.js → c4Diagram-AHTNJAMY-DusOs1B8.js} +1 -1
  22. package/payload/server/public/assets/channel-sqt9QaiU.js +1 -0
  23. package/payload/server/public/assets/{chunk-336JU56O-BgAz-EJ4.js → chunk-336JU56O-L4okIbRn.js} +2 -2
  24. package/payload/server/public/assets/{chunk-426QAEUC-DHF9zZlS.js → chunk-426QAEUC-WhvqbTM0.js} +1 -1
  25. package/payload/server/public/assets/{chunk-4TB4RGXK-Cqb1TREv.js → chunk-4TB4RGXK-Bby5RW_e.js} +1 -1
  26. package/payload/server/public/assets/{chunk-5FUZZQ4R-CV4WMN8u.js → chunk-5FUZZQ4R-veZxFPER.js} +1 -1
  27. package/payload/server/public/assets/{chunk-5PVQY5BW-CL0bAr0t.js → chunk-5PVQY5BW-BwG8uJC1.js} +1 -1
  28. package/payload/server/public/assets/{chunk-EDXVE4YY-WY3Sg1Fq.js → chunk-EDXVE4YY-DgQhTM1z.js} +1 -1
  29. package/payload/server/public/assets/{chunk-ENJZ2VHE-BIVdDrD2.js → chunk-ENJZ2VHE-DpBKyLeu.js} +1 -1
  30. package/payload/server/public/assets/{chunk-ICPOFSXX-CUHDQxso.js → chunk-ICPOFSXX-Bb8kEMah.js} +1 -1
  31. package/payload/server/public/assets/{chunk-OYMX7WX6-D1sj6R4f.js → chunk-OYMX7WX6-BUrpyQuA.js} +1 -1
  32. package/payload/server/public/assets/{chunk-U2HBQHQK-BGso49fW.js → chunk-U2HBQHQK-D0mOjNKD.js} +1 -1
  33. package/payload/server/public/assets/{chunk-X2U36JSP-C2tUGTcL.js → chunk-X2U36JSP-CQ7VnONI.js} +1 -1
  34. package/payload/server/public/assets/{chunk-YZCP3GAM-CLvYLDvo.js → chunk-YZCP3GAM-BWgvd9aw.js} +1 -1
  35. package/payload/server/public/assets/{chunk-ZZ45TVLE-yHQe8STh.js → chunk-ZZ45TVLE-UFB_t9gw.js} +1 -1
  36. package/payload/server/public/assets/classDiagram-6PBFFD2Q-rYq1YLUo.js +1 -0
  37. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-Cc4tKtqG.js +1 -0
  38. package/payload/server/public/assets/clone-SdNqIUjS.js +1 -0
  39. package/payload/server/public/assets/{dagre-KV5264BT-Df1MO_DJ.js → dagre-KV5264BT-w7RChnHk.js} +1 -1
  40. package/payload/server/public/assets/{dagre-fQyUaxmN.js → dagre-VrERS_-G.js} +1 -1
  41. package/payload/server/public/assets/data-DQafmlMy.js +1 -0
  42. package/payload/server/public/assets/{diagram-5BDNPKRD-E3qTf9lX.js → diagram-5BDNPKRD-DDdrN3bf.js} +1 -1
  43. package/payload/server/public/assets/{diagram-G4DWMVQ6-DCV-gR0I.js → diagram-G4DWMVQ6-B_lLNyeb.js} +1 -1
  44. package/payload/server/public/assets/{diagram-MMDJMWI5-CZKwrxSp.js → diagram-MMDJMWI5-Da0x1Yf0.js} +1 -1
  45. package/payload/server/public/assets/{diagram-TYMM5635-ClXOl5De.js → diagram-TYMM5635-DoFKKnVr.js} +1 -1
  46. package/payload/server/public/assets/{erDiagram-SMLLAGMA-v2-MNn-e.js → erDiagram-SMLLAGMA-DBPmAPTe.js} +1 -1
  47. package/payload/server/public/assets/{flowDiagram-DWJPFMVM-CDFzDH-2.js → flowDiagram-DWJPFMVM-CnkJzYU4.js} +1 -1
  48. package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-DEA-33qn.js → ganttDiagram-T4ZO3ILL-BM9c9VN5.js} +1 -1
  49. package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-lLy_eZzu.js → gitGraphDiagram-UUTBAWPF-C-1OqQDw.js} +1 -1
  50. package/payload/server/public/assets/graph-CTM-V4lS.js +1 -0
  51. package/payload/server/public/assets/graph-labels-BkDqelbQ.js +1 -0
  52. package/payload/server/public/assets/{graphlib-B6Y7yD4A.js → graphlib-Be3_mRCh.js} +1 -1
  53. package/payload/server/public/assets/{infoDiagram-42DDH7IO-D-Pm-tYB.js → infoDiagram-42DDH7IO-o4FB6Zjb.js} +1 -1
  54. package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-DVHkDPv1.js → ishikawaDiagram-UXIWVN3A-BlnRfx6Z.js} +1 -1
  55. package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-CsxM47ah.js → journeyDiagram-VCZTEJTY-Da26YPBj.js} +1 -1
  56. package/payload/server/public/assets/{kanban-definition-6JOO6SKY-C7EYwNjH.js → kanban-definition-6JOO6SKY-C1jVbsV0.js} +1 -1
  57. package/payload/server/public/assets/{lib-iH6Mg9EP.js → lib-CKcXekKF.js} +1 -1
  58. package/payload/server/public/assets/{line-CvBly01q.js → line-BS0h3YlR.js} +1 -1
  59. package/payload/server/public/assets/{mermaid-parser.core-D32akjeh.js → mermaid-parser.core-4FY7A26h.js} +1 -1
  60. package/payload/server/public/assets/{mermaid.core-B3O4X8ja.js → mermaid.core-CD1JRYmG.js} +3 -3
  61. package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-yreoqnSK.js → mindmap-definition-QFDTVHPH-BmCJ5q81.js} +1 -1
  62. package/payload/server/public/assets/{page-CJOpTjue.js → page-1atlhFFT.js} +1 -1
  63. package/payload/server/public/assets/{page-CBKMOwaH.js → page-D6QVxITy.js} +1 -1
  64. package/payload/server/public/assets/{pieDiagram-DEJITSTG-DEYXlFD5.js → pieDiagram-DEJITSTG-ClXRAXST.js} +1 -1
  65. package/payload/server/public/assets/{public-DknvBIqv.js → public-7fuvQJwF.js} +3 -3
  66. package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-CVTVYl5c.js → quadrantDiagram-34T5L4WZ-D17aBgPP.js} +1 -1
  67. package/payload/server/public/assets/{requirementDiagram-MS252O5E-D438ZRqW.js → requirementDiagram-MS252O5E-CUpkUJlh.js} +1 -1
  68. package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-B2Hs1q9K.js → sankeyDiagram-XADWPNL6-DnrrGp2c.js} +1 -1
  69. package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-BqRHtAoK.js → sequenceDiagram-FGHM5R23-CMprmJg9.js} +1 -1
  70. package/payload/server/public/assets/{stateDiagram-FHFEXIEX-ILOj6_TV.js → stateDiagram-FHFEXIEX-BdpBUtXc.js} +1 -1
  71. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-DPekwBDP.js +1 -0
  72. package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-D-uskEEs.js → timeline-definition-GMOUNBTQ-u7JucCMs.js} +1 -1
  73. package/payload/server/public/assets/{vennDiagram-DHZGUBPP-DJjaoR79.js → vennDiagram-DHZGUBPP-CP1Q9zf2.js} +1 -1
  74. package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-B1EO_5jp.js → wardleyDiagram-NUSXRM2D-BOVxInz5.js} +1 -1
  75. package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-CQnz0KUb.js → xychartDiagram-5P7HB3ND-Dcx1f04K.js} +1 -1
  76. package/payload/server/public/data.html +5 -5
  77. package/payload/server/public/graph.html +6 -6
  78. package/payload/server/public/index.html +8 -8
  79. package/payload/server/public/public.html +5 -5
  80. package/payload/server/server.js +201 -79
  81. package/payload/server/public/assets/channel-BlwH4wTf.js +0 -1
  82. package/payload/server/public/assets/classDiagram-6PBFFD2Q-DuEhfP67.js +0 -1
  83. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-zSqemF--.js +0 -1
  84. package/payload/server/public/assets/clone-DUSqJbTD.js +0 -1
  85. package/payload/server/public/assets/data-DPx0BO-i.js +0 -1
  86. package/payload/server/public/assets/graph-FRecl_Yt.js +0 -1
  87. package/payload/server/public/assets/graph-labels-IY4_aDc-.js +0 -1
  88. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-B2cQBKI1.js +0 -1
  89. /package/payload/server/public/assets/{ChatInput-BmmxQOhM.js → ChatInput-DBdyKbiU.js} +0 -0
@@ -5,12 +5,12 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>Data — Maxy</title>
7
7
  <link rel="icon" href="/favicon.ico">
8
- <script type="module" crossorigin src="/assets/data-DPx0BO-i.js"></script>
8
+ <script type="module" crossorigin src="/assets/data-DQafmlMy.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/chunk-DD-I1_y5.js">
10
- <link rel="modulepreload" crossorigin href="/assets/ChatInput-BmmxQOhM.js">
11
- <link rel="modulepreload" crossorigin href="/assets/graph-labels-IY4_aDc-.js">
12
- <link rel="modulepreload" crossorigin href="/assets/page-CBKMOwaH.js">
13
- <link rel="stylesheet" crossorigin href="/assets/ChatInput-u7hSrC3q.css">
10
+ <link rel="modulepreload" crossorigin href="/assets/ChatInput-DBdyKbiU.js">
11
+ <link rel="modulepreload" crossorigin href="/assets/graph-labels-BkDqelbQ.js">
12
+ <link rel="modulepreload" crossorigin href="/assets/page-D6QVxITy.js">
13
+ <link rel="stylesheet" crossorigin href="/assets/ChatInput-DeBN_eCm.css">
14
14
  </head>
15
15
  <body>
16
16
  <div id="root"></div>
@@ -5,13 +5,13 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>Graph — Maxy</title>
7
7
  <link rel="icon" href="/favicon.ico">
8
- <script type="module" crossorigin src="/assets/graph-FRecl_Yt.js"></script>
8
+ <script type="module" crossorigin src="/assets/graph-CTM-V4lS.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/chunk-DD-I1_y5.js">
10
- <link rel="modulepreload" crossorigin href="/assets/ChatInput-BmmxQOhM.js">
11
- <link rel="modulepreload" crossorigin href="/assets/graph-labels-IY4_aDc-.js">
12
- <link rel="modulepreload" crossorigin href="/assets/Checkbox-CfiWjuMH.js">
13
- <link rel="modulepreload" crossorigin href="/assets/page-CJOpTjue.js">
14
- <link rel="stylesheet" crossorigin href="/assets/ChatInput-u7hSrC3q.css">
10
+ <link rel="modulepreload" crossorigin href="/assets/ChatInput-DBdyKbiU.js">
11
+ <link rel="modulepreload" crossorigin href="/assets/graph-labels-BkDqelbQ.js">
12
+ <link rel="modulepreload" crossorigin href="/assets/Checkbox-Dd6lh79E.js">
13
+ <link rel="modulepreload" crossorigin href="/assets/page-1atlhFFT.js">
14
+ <link rel="stylesheet" crossorigin href="/assets/ChatInput-DeBN_eCm.css">
15
15
  </head>
16
16
  <body>
17
17
  <div id="root"></div>
@@ -5,15 +5,15 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>Maxy</title>
7
7
  <link rel="icon" href="/favicon.ico">
8
- <script type="module" crossorigin src="/assets/admin-CvfKXjVx.js"></script>
8
+ <script type="module" crossorigin src="/assets/admin-B_-v60En.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/chunk-DD-I1_y5.js">
10
- <link rel="modulepreload" crossorigin href="/assets/ChatInput-BmmxQOhM.js">
11
- <link rel="modulepreload" crossorigin href="/assets/graph-labels-IY4_aDc-.js">
12
- <link rel="modulepreload" crossorigin href="/assets/Checkbox-CfiWjuMH.js">
13
- <link rel="modulepreload" crossorigin href="/assets/page-CBKMOwaH.js">
14
- <link rel="modulepreload" crossorigin href="/assets/page-CJOpTjue.js">
15
- <link rel="modulepreload" crossorigin href="/assets/lib-iH6Mg9EP.js">
16
- <link rel="stylesheet" crossorigin href="/assets/ChatInput-u7hSrC3q.css">
10
+ <link rel="modulepreload" crossorigin href="/assets/ChatInput-DBdyKbiU.js">
11
+ <link rel="modulepreload" crossorigin href="/assets/graph-labels-BkDqelbQ.js">
12
+ <link rel="modulepreload" crossorigin href="/assets/Checkbox-Dd6lh79E.js">
13
+ <link rel="modulepreload" crossorigin href="/assets/page-D6QVxITy.js">
14
+ <link rel="modulepreload" crossorigin href="/assets/page-1atlhFFT.js">
15
+ <link rel="modulepreload" crossorigin href="/assets/lib-CKcXekKF.js">
16
+ <link rel="stylesheet" crossorigin href="/assets/ChatInput-DeBN_eCm.css">
17
17
  <link rel="stylesheet" crossorigin href="/assets/admin-CWMpccrR.css">
18
18
  <link rel="stylesheet" href="/brand-defaults.css">
19
19
  </head>
@@ -5,12 +5,12 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>Maxy</title>
7
7
  <link rel="icon" href="/favicon.ico">
8
- <script type="module" crossorigin src="/assets/public-DknvBIqv.js"></script>
8
+ <script type="module" crossorigin src="/assets/public-7fuvQJwF.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/chunk-DD-I1_y5.js">
10
- <link rel="modulepreload" crossorigin href="/assets/ChatInput-BmmxQOhM.js">
11
- <link rel="modulepreload" crossorigin href="/assets/Checkbox-CfiWjuMH.js">
12
- <link rel="modulepreload" crossorigin href="/assets/lib-iH6Mg9EP.js">
13
- <link rel="stylesheet" crossorigin href="/assets/ChatInput-u7hSrC3q.css">
10
+ <link rel="modulepreload" crossorigin href="/assets/ChatInput-DBdyKbiU.js">
11
+ <link rel="modulepreload" crossorigin href="/assets/Checkbox-Dd6lh79E.js">
12
+ <link rel="modulepreload" crossorigin href="/assets/lib-CKcXekKF.js">
13
+ <link rel="stylesheet" crossorigin href="/assets/ChatInput-DeBN_eCm.css">
14
14
  <link rel="stylesheet" href="/brand-defaults.css">
15
15
  </head>
16
16
  <body>
@@ -12714,6 +12714,127 @@ app33.get("/", requireAdminSession, async (c) => {
12714
12714
  });
12715
12715
  var sidebar_artefact_content_default = app33;
12716
12716
 
12717
+ // server/routes/admin/system-stats.ts
12718
+ import { readFile as readFile7 } from "fs/promises";
12719
+ import { cpus, loadavg, totalmem, freemem } from "os";
12720
+ function parseCpuStat(blob) {
12721
+ const line = blob.split("\n", 1)[0] ?? "";
12722
+ const parts = line.trim().split(/\s+/);
12723
+ if (parts[0] !== "cpu") throw new Error(`unexpected /proc/stat header: ${parts[0] ?? "(empty)"}`);
12724
+ const fields = parts.slice(1).map((n) => Number.parseInt(n, 10));
12725
+ if (fields.length < 4 || fields.some((n) => !Number.isFinite(n))) {
12726
+ throw new Error("malformed /proc/stat cpu line");
12727
+ }
12728
+ const idle = fields[3] + (fields[4] ?? 0);
12729
+ const total = fields.reduce((a, b) => a + b, 0);
12730
+ return { idle, total };
12731
+ }
12732
+ function cpuPctFromSamples(a, b) {
12733
+ const idleDelta = b.idle - a.idle;
12734
+ const totalDelta = b.total - a.total;
12735
+ if (totalDelta <= 0) return 0;
12736
+ const busy = 1 - idleDelta / totalDelta;
12737
+ if (!Number.isFinite(busy)) return 0;
12738
+ return Math.max(0, Math.min(1, busy));
12739
+ }
12740
+ function parseMeminfo(blob) {
12741
+ const read = (key) => {
12742
+ const re = new RegExp(`^${key}:\\s+(\\d+)\\s*kB`, "m");
12743
+ const m = blob.match(re);
12744
+ if (!m) throw new Error(`/proc/meminfo missing ${key}`);
12745
+ return Number.parseInt(m[1], 10) * 1024;
12746
+ };
12747
+ const memTotalBytes = read("MemTotal");
12748
+ const memAvailBytes = read("MemAvailable");
12749
+ let swapTotalBytes = 0;
12750
+ let swapFreeBytes = 0;
12751
+ try {
12752
+ swapTotalBytes = read("SwapTotal");
12753
+ swapFreeBytes = read("SwapFree");
12754
+ } catch {
12755
+ swapTotalBytes = 0;
12756
+ swapFreeBytes = 0;
12757
+ }
12758
+ return { memTotalBytes, memAvailBytes, swapTotalBytes, swapFreeBytes };
12759
+ }
12760
+ var SAMPLE_DELAY_MS = 100;
12761
+ async function sampleLinux() {
12762
+ const a = parseCpuStat(await readFile7("/proc/stat", "utf-8"));
12763
+ await new Promise((r) => setTimeout(r, SAMPLE_DELAY_MS));
12764
+ const b = parseCpuStat(await readFile7("/proc/stat", "utf-8"));
12765
+ const meminfo = parseMeminfo(await readFile7("/proc/meminfo", "utf-8"));
12766
+ const loadavgRaw = (await readFile7("/proc/loadavg", "utf-8")).trim();
12767
+ const [l1, l5, l15] = loadavgRaw.split(/\s+/, 3).map(Number);
12768
+ if (![l1, l5, l15].every(Number.isFinite)) {
12769
+ throw new Error(`malformed /proc/loadavg: ${loadavgRaw}`);
12770
+ }
12771
+ const memUsedBytes = meminfo.memTotalBytes - meminfo.memAvailBytes;
12772
+ const memUsedPct = meminfo.memTotalBytes > 0 ? memUsedBytes / meminfo.memTotalBytes : null;
12773
+ const swapUsedPct = meminfo.swapTotalBytes > 0 ? (meminfo.swapTotalBytes - meminfo.swapFreeBytes) / meminfo.swapTotalBytes : 0;
12774
+ return {
12775
+ cpuPct: cpuPctFromSamples(a, b),
12776
+ memUsedPct,
12777
+ memUsedBytes,
12778
+ memTotalBytes: meminfo.memTotalBytes,
12779
+ loadAvg1: l1,
12780
+ loadAvg5: l5,
12781
+ loadAvg15: l15,
12782
+ cores: cpus().length,
12783
+ swapUsedPct,
12784
+ platform: "linux",
12785
+ sampledAtMs: Date.now()
12786
+ };
12787
+ }
12788
+ function sampleOsFallback() {
12789
+ const total = totalmem();
12790
+ const free = freemem();
12791
+ const memUsedBytes = total - free;
12792
+ const [l1, l5, l15] = loadavg();
12793
+ return {
12794
+ cpuPct: null,
12795
+ memUsedPct: total > 0 ? memUsedBytes / total : null,
12796
+ memUsedBytes,
12797
+ memTotalBytes: total,
12798
+ loadAvg1: l1,
12799
+ loadAvg5: l5,
12800
+ loadAvg15: l15,
12801
+ cores: cpus().length,
12802
+ swapUsedPct: null,
12803
+ platform: process.platform === "darwin" ? "darwin" : "other",
12804
+ sampledAtMs: Date.now()
12805
+ };
12806
+ }
12807
+ var inflight = null;
12808
+ async function sample() {
12809
+ if (process.platform === "linux") return sampleLinux();
12810
+ return sampleOsFallback();
12811
+ }
12812
+ var app34 = new Hono();
12813
+ app34.get("/", async (c) => {
12814
+ const started = Date.now();
12815
+ if (!inflight) {
12816
+ inflight = sample().finally(() => {
12817
+ inflight = null;
12818
+ });
12819
+ }
12820
+ try {
12821
+ const snap = await inflight;
12822
+ const ms = Date.now() - started;
12823
+ const fmt = (n) => n === null ? "null" : n.toFixed(3);
12824
+ console.log(
12825
+ `[system-stats] poll cpuPct=${fmt(snap.cpuPct)} memUsedPct=${fmt(snap.memUsedPct)} loadAvg1=${snap.loadAvg1.toFixed(2)} swapUsedPct=${fmt(snap.swapUsedPct)} platform=${snap.platform} ms=${ms}`
12826
+ );
12827
+ return c.json(snap);
12828
+ } catch (err) {
12829
+ const reason = (err instanceof Error ? err.message : String(err)).replace(/\s+/g, " ").trim() || "unknown";
12830
+ const errPath = err?.path;
12831
+ const file = errPath || "parse";
12832
+ console.log(`[system-stats] error file=${file} reason=${reason}`);
12833
+ return c.json({ degraded: true, reason, sampledAtMs: Date.now() });
12834
+ }
12835
+ });
12836
+ var system_stats_default = app34;
12837
+
12717
12838
  // server/routes/admin/health.ts
12718
12839
  import { existsSync as existsSync20, readFileSync as readFileSync18 } from "fs";
12719
12840
  import { resolve as resolve20, join as join13 } from "path";
@@ -12757,8 +12878,8 @@ async function probeConversationDb() {
12757
12878
  });
12758
12879
  }
12759
12880
  }
12760
- var app34 = new Hono();
12761
- app34.get("/", async (c) => {
12881
+ var app35 = new Hono();
12882
+ app35.get("/", async (c) => {
12762
12883
  const version = readVersion();
12763
12884
  const probe = await probeConversationDb();
12764
12885
  const uptimeMs = Date.now() - new Date(PROCESS_STARTED_AT).getTime();
@@ -12780,7 +12901,7 @@ app34.get("/", async (c) => {
12780
12901
  uptimeMs
12781
12902
  });
12782
12903
  });
12783
- var health_default2 = app34;
12904
+ var health_default2 = app35;
12784
12905
 
12785
12906
  // server/routes/admin/linkedin-ingest.ts
12786
12907
  var TAG20 = "[linkedin-ingest-route]";
@@ -12876,8 +12997,8 @@ function buildInitialMessage(env) {
12876
12997
  }
12877
12998
  return header;
12878
12999
  }
12879
- var app35 = new Hono();
12880
- app35.post("/", requireAdminSession, async (c) => {
13000
+ var app36 = new Hono();
13001
+ app36.post("/", requireAdminSession, async (c) => {
12881
13002
  let body;
12882
13003
  try {
12883
13004
  body = await c.req.json();
@@ -12927,41 +13048,42 @@ app35.post("/", requireAdminSession, async (c) => {
12927
13048
  );
12928
13049
  return c.json({ ok: true, dispatchId: envelope.dispatchId, taskId: claudeSessionId }, 202);
12929
13050
  });
12930
- var linkedin_ingest_default = app35;
13051
+ var linkedin_ingest_default = app36;
12931
13052
 
12932
13053
  // server/routes/admin/index.ts
12933
- var app36 = new Hono();
12934
- app36.route("/session", session_default);
12935
- app36.route("/new-session-failure", new_session_failure_default);
12936
- app36.route("/new-session-submit", new_session_submit_default);
12937
- app36.route("/logs", logs_default);
12938
- app36.route("/claude-info", claude_info_default);
12939
- app36.route("/claude-capabilities", claude_capabilities_default);
12940
- app36.route("/attachment", attachment_default);
12941
- app36.route("/agents", agents_default);
12942
- app36.route("/sessions", sessions_default);
12943
- app36.route("/claude-sessions", claude_sessions_default);
12944
- app36.route("/log-ingest", log_ingest_default);
12945
- app36.route("/browser", browser_default);
12946
- app36.route("/browser-iframe", browser_iframe_default);
12947
- app36.route("/device-browser", device_browser_default);
12948
- app36.route("/events", events_default);
12949
- app36.route("/cloudflare", cloudflare_default);
12950
- app36.route("/files", files_default);
12951
- app36.route("/graph-search", graph_search_default);
12952
- app36.route("/graph-subgraph", graph_subgraph_default);
12953
- app36.route("/graph-delete", graph_delete_default);
12954
- app36.route("/graph-restore", graph_restore_default);
12955
- app36.route("/graph-labels-in-graph", graph_labels_in_graph_default);
12956
- app36.route("/graph-default-view", graph_default_view_default);
12957
- app36.route("/session-defaults", session_defaults_default);
12958
- app36.route("/file-attach", file_attach_default);
12959
- app36.route("/sidebar-artefacts", sidebar_artefacts_default);
12960
- app36.route("/sidebar-artefact-save", sidebar_artefact_save_default);
12961
- app36.route("/sidebar-artefact-content", sidebar_artefact_content_default);
12962
- app36.route("/health-brand", health_default2);
12963
- app36.route("/linkedin-ingest", linkedin_ingest_default);
12964
- var admin_default = app36;
13054
+ var app37 = new Hono();
13055
+ app37.route("/session", session_default);
13056
+ app37.route("/new-session-failure", new_session_failure_default);
13057
+ app37.route("/new-session-submit", new_session_submit_default);
13058
+ app37.route("/logs", logs_default);
13059
+ app37.route("/claude-info", claude_info_default);
13060
+ app37.route("/claude-capabilities", claude_capabilities_default);
13061
+ app37.route("/attachment", attachment_default);
13062
+ app37.route("/agents", agents_default);
13063
+ app37.route("/sessions", sessions_default);
13064
+ app37.route("/claude-sessions", claude_sessions_default);
13065
+ app37.route("/log-ingest", log_ingest_default);
13066
+ app37.route("/browser", browser_default);
13067
+ app37.route("/browser-iframe", browser_iframe_default);
13068
+ app37.route("/device-browser", device_browser_default);
13069
+ app37.route("/events", events_default);
13070
+ app37.route("/cloudflare", cloudflare_default);
13071
+ app37.route("/files", files_default);
13072
+ app37.route("/graph-search", graph_search_default);
13073
+ app37.route("/graph-subgraph", graph_subgraph_default);
13074
+ app37.route("/graph-delete", graph_delete_default);
13075
+ app37.route("/graph-restore", graph_restore_default);
13076
+ app37.route("/graph-labels-in-graph", graph_labels_in_graph_default);
13077
+ app37.route("/graph-default-view", graph_default_view_default);
13078
+ app37.route("/session-defaults", session_defaults_default);
13079
+ app37.route("/file-attach", file_attach_default);
13080
+ app37.route("/sidebar-artefacts", sidebar_artefacts_default);
13081
+ app37.route("/sidebar-artefact-save", sidebar_artefact_save_default);
13082
+ app37.route("/sidebar-artefact-content", sidebar_artefact_content_default);
13083
+ app37.route("/system-stats", system_stats_default);
13084
+ app37.route("/health-brand", health_default2);
13085
+ app37.route("/linkedin-ingest", linkedin_ingest_default);
13086
+ var admin_default = app37;
12965
13087
 
12966
13088
  // server/routes/sites.ts
12967
13089
  import { existsSync as existsSync21, readFileSync as readFileSync19, realpathSync as realpathSync5, statSync as statSync9 } from "fs";
@@ -12996,8 +13118,8 @@ function getExt(p) {
12996
13118
  if (idx < p.lastIndexOf("/")) return "";
12997
13119
  return p.slice(idx).toLowerCase();
12998
13120
  }
12999
- var app37 = new Hono();
13000
- app37.get("/:rel{.*}", (c) => {
13121
+ var app38 = new Hono();
13122
+ app38.get("/:rel{.*}", (c) => {
13001
13123
  const reqPath = c.req.path;
13002
13124
  const rawRel = c.req.param("rel") ?? "";
13003
13125
  const trimmed = rawRel.replace(/^\/+/, "").replace(/\/+$/, "");
@@ -13100,7 +13222,7 @@ app37.get("/:rel{.*}", (c) => {
13100
13222
  "X-Content-Type-Options": "nosniff"
13101
13223
  });
13102
13224
  });
13103
- var sites_default = app37;
13225
+ var sites_default = app38;
13104
13226
 
13105
13227
  // app/lib/graph-health.ts
13106
13228
  var HOUR_MS = 60 * 60 * 1e3;
@@ -13507,9 +13629,9 @@ watchFile(ALIAS_DOMAINS_PATH2, { interval: 2e3 }, () => {
13507
13629
  function isPublicHost(host) {
13508
13630
  return host.startsWith("public.") || aliasDomains.has(host);
13509
13631
  }
13510
- var app38 = new Hono();
13511
- app38.use("*", clientIpMiddleware);
13512
- app38.use("*", async (c, next) => {
13632
+ var app39 = new Hono();
13633
+ app39.use("*", clientIpMiddleware);
13634
+ app39.use("*", async (c, next) => {
13513
13635
  await next();
13514
13636
  c.header("X-Content-Type-Options", "nosniff");
13515
13637
  c.header("Referrer-Policy", "strict-origin-when-cross-origin");
@@ -13519,7 +13641,7 @@ app38.use("*", async (c, next) => {
13519
13641
  );
13520
13642
  });
13521
13643
  var HTTP_LOG_PATHS = /* @__PURE__ */ new Set(["/vnc-viewer.html", "/vnc-popout.html"]);
13522
- app38.use("*", async (c, next) => {
13644
+ app39.use("*", async (c, next) => {
13523
13645
  if (!HTTP_LOG_PATHS.has(c.req.path)) {
13524
13646
  await next();
13525
13647
  return;
@@ -13552,7 +13674,7 @@ var PUBLIC_ALLOWED_PREFIXES = [
13552
13674
  "/sites/"
13553
13675
  ];
13554
13676
  var PUBLIC_ALLOWED_EXACT = ["/favicon.ico"];
13555
- app38.use("*", async (c, next) => {
13677
+ app39.use("*", async (c, next) => {
13556
13678
  const host = (c.req.header("host") ?? "").split(":")[0];
13557
13679
  if (!isPublicHost(host)) {
13558
13680
  await next();
@@ -13592,7 +13714,7 @@ function resolveRemoteAuthOpts() {
13592
13714
  return brandLoginOpts;
13593
13715
  }
13594
13716
  var MAX_LOGIN_BODY = 8 * 1024;
13595
- app38.post("/__remote-auth/login", async (c) => {
13717
+ app39.post("/__remote-auth/login", async (c) => {
13596
13718
  const client = clientFrom(c);
13597
13719
  const clientIp = client.ip || "unknown";
13598
13720
  if (!requestIsTlsTerminated(c)) {
@@ -13637,7 +13759,7 @@ app38.post("/__remote-auth/login", async (c) => {
13637
13759
  }
13638
13760
  });
13639
13761
  });
13640
- app38.get("/__remote-auth/logout", (c) => {
13762
+ app39.get("/__remote-auth/logout", (c) => {
13641
13763
  const client = clientFrom(c);
13642
13764
  const clientIp = client.ip || "unknown";
13643
13765
  console.error(`[remote-auth] logout ip=${clientIp}`);
@@ -13650,7 +13772,7 @@ app38.get("/__remote-auth/logout", (c) => {
13650
13772
  }
13651
13773
  });
13652
13774
  });
13653
- app38.post("/__remote-auth/change-password", async (c) => {
13775
+ app39.post("/__remote-auth/change-password", async (c) => {
13654
13776
  const client = clientFrom(c);
13655
13777
  const clientIp = client.ip || "unknown";
13656
13778
  const rateLimited = checkRateLimit(client);
@@ -13701,13 +13823,13 @@ app38.post("/__remote-auth/change-password", async (c) => {
13701
13823
  return c.html(renderLoginPage({ ...resolveRemoteAuthOpts(), mode: "change", changeError: "Failed to save password", redirect }), 200);
13702
13824
  }
13703
13825
  });
13704
- app38.get("/__remote-auth/setup", (c) => {
13826
+ app39.get("/__remote-auth/setup", (c) => {
13705
13827
  if (isRemoteAuthConfigured()) {
13706
13828
  return c.redirect("/");
13707
13829
  }
13708
13830
  return c.html(renderLoginPage({ ...resolveRemoteAuthOpts(), mode: "setup" }), 200);
13709
13831
  });
13710
- app38.post("/__remote-auth/set-initial-password", async (c) => {
13832
+ app39.post("/__remote-auth/set-initial-password", async (c) => {
13711
13833
  if (isRemoteAuthConfigured()) {
13712
13834
  return c.redirect("/");
13713
13835
  }
@@ -13745,10 +13867,10 @@ app38.post("/__remote-auth/set-initial-password", async (c) => {
13745
13867
  return c.html(renderLoginPage({ ...resolveRemoteAuthOpts(), mode: "setup", setupError: "Failed to save password. Please try again." }), 200);
13746
13868
  }
13747
13869
  });
13748
- app38.get("/api/remote-auth/status", (c) => {
13870
+ app39.get("/api/remote-auth/status", (c) => {
13749
13871
  return c.json({ configured: isRemoteAuthConfigured() });
13750
13872
  });
13751
- app38.post("/api/remote-auth/set-password", async (c) => {
13873
+ app39.post("/api/remote-auth/set-password", async (c) => {
13752
13874
  let body;
13753
13875
  try {
13754
13876
  body = await c.req.json();
@@ -13779,9 +13901,9 @@ app38.post("/api/remote-auth/set-password", async (c) => {
13779
13901
  return c.json({ error: "Failed to save password" }, 500);
13780
13902
  }
13781
13903
  });
13782
- app38.route("/api/_client-error", client_error_default);
13904
+ app39.route("/api/_client-error", client_error_default);
13783
13905
  console.log("[client-error-route] mounted");
13784
- app38.use("*", async (c, next) => {
13906
+ app39.use("*", async (c, next) => {
13785
13907
  const host = (c.req.header("host") ?? "").split(":")[0];
13786
13908
  const path2 = c.req.path;
13787
13909
  if (path2 === "/favicon.ico" || path2.startsWith("/assets/") || path2.startsWith("/brand/")) {
@@ -13821,11 +13943,11 @@ app38.use("*", async (c, next) => {
13821
13943
  console.error(`[remote-auth] login required ip=${clientIp} path=${path2} ${disambig}`);
13822
13944
  return c.html(renderLoginPage({ ...resolveRemoteAuthOpts(), redirect: path2 }), 200);
13823
13945
  });
13824
- app38.route("/api/health", health_default);
13825
- app38.route("/api/chat", chat_default);
13826
- app38.route("/api/whatsapp", whatsapp_default);
13827
- app38.route("/api/onboarding", onboarding_default);
13828
- app38.route("/api/admin", admin_default);
13946
+ app39.route("/api/health", health_default);
13947
+ app39.route("/api/chat", chat_default);
13948
+ app39.route("/api/whatsapp", whatsapp_default);
13949
+ app39.route("/api/onboarding", onboarding_default);
13950
+ app39.route("/api/admin", admin_default);
13829
13951
  var SAFE_SLUG_RE = /^[a-z][a-z0-9-]{2,49}$/;
13830
13952
  var SAFE_FILENAME_RE = /^[a-z0-9_][a-z0-9_.-]{0,99}$/i;
13831
13953
  var IMAGE_MIME = {
@@ -13837,7 +13959,7 @@ var IMAGE_MIME = {
13837
13959
  ".svg": "image/svg+xml",
13838
13960
  ".ico": "image/x-icon"
13839
13961
  };
13840
- app38.get("/agent-assets/:slug/:filename", (c) => {
13962
+ app39.get("/agent-assets/:slug/:filename", (c) => {
13841
13963
  const slug = c.req.param("slug");
13842
13964
  const filename = c.req.param("filename");
13843
13965
  if (!SAFE_SLUG_RE.test(slug)) {
@@ -13872,7 +13994,7 @@ app38.get("/agent-assets/:slug/:filename", (c) => {
13872
13994
  "Cache-Control": "public, max-age=3600"
13873
13995
  });
13874
13996
  });
13875
- app38.get("/generated/:filename", (c) => {
13997
+ app39.get("/generated/:filename", (c) => {
13876
13998
  const filename = c.req.param("filename");
13877
13999
  if (!SAFE_FILENAME_RE.test(filename) || filename.includes("..")) {
13878
14000
  console.error(`[generated] serve file=${filename} status=403`);
@@ -13902,7 +14024,7 @@ app38.get("/generated/:filename", (c) => {
13902
14024
  "Cache-Control": "public, max-age=86400"
13903
14025
  });
13904
14026
  });
13905
- app38.route("/sites", sites_default);
14027
+ app39.route("/sites", sites_default);
13906
14028
  var htmlCache = /* @__PURE__ */ new Map();
13907
14029
  var brandLogoPath = "/brand/maxy-monochrome.png";
13908
14030
  var brandIconPath = "/brand/maxy-monochrome.png";
@@ -14039,7 +14161,7 @@ function brandedPublicHtml(agentSlug) {
14039
14161
  function escapeHtml(s) {
14040
14162
  return s.replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
14041
14163
  }
14042
- app38.get("/", (c) => {
14164
+ app39.get("/", (c) => {
14043
14165
  const host = (c.req.header("host") ?? "").split(":")[0];
14044
14166
  if (isPublicHost(host)) {
14045
14167
  const defaultSlug = resolveDefaultSlug();
@@ -14047,12 +14169,12 @@ app38.get("/", (c) => {
14047
14169
  }
14048
14170
  return c.html(cachedHtml("index.html"));
14049
14171
  });
14050
- app38.get("/public", (c) => {
14172
+ app39.get("/public", (c) => {
14051
14173
  const host = (c.req.header("host") ?? "").split(":")[0];
14052
14174
  if (isPublicHost(host)) return c.text("Not found", 404);
14053
14175
  return c.html(cachedHtml("public.html"));
14054
14176
  });
14055
- app38.get("/chat", (c) => {
14177
+ app39.get("/chat", (c) => {
14056
14178
  const host = (c.req.header("host") ?? "").split(":")[0];
14057
14179
  if (isPublicHost(host)) return c.text("Not found", 404);
14058
14180
  return c.html(cachedHtml("public.html"));
@@ -14071,9 +14193,9 @@ async function logViewerFetch(c, next) {
14071
14193
  duration_ms: Date.now() - start
14072
14194
  });
14073
14195
  }
14074
- app38.use("/vnc-viewer.html", logViewerFetch);
14075
- app38.use("/vnc-popout.html", logViewerFetch);
14076
- app38.get("/vnc-popout.html", (c) => {
14196
+ app39.use("/vnc-viewer.html", logViewerFetch);
14197
+ app39.use("/vnc-popout.html", logViewerFetch);
14198
+ app39.get("/vnc-popout.html", (c) => {
14077
14199
  let html = htmlCache.get("vnc-popout.html");
14078
14200
  if (!html) {
14079
14201
  html = readFileSync21(resolve23(process.cwd(), "public", "vnc-popout.html"), "utf-8");
@@ -14086,7 +14208,7 @@ app38.get("/vnc-popout.html", (c) => {
14086
14208
  }
14087
14209
  return c.html(html);
14088
14210
  });
14089
- app38.post("/api/vnc/client-event", async (c) => {
14211
+ app39.post("/api/vnc/client-event", async (c) => {
14090
14212
  let body;
14091
14213
  try {
14092
14214
  body = await c.req.json();
@@ -14107,25 +14229,25 @@ app38.post("/api/vnc/client-event", async (c) => {
14107
14229
  });
14108
14230
  return c.json({ ok: true });
14109
14231
  });
14110
- app38.get("/g/:slug", (c) => {
14232
+ app39.get("/g/:slug", (c) => {
14111
14233
  return c.html(brandedPublicHtml());
14112
14234
  });
14113
- app38.get("/graph", (c) => {
14235
+ app39.get("/graph", (c) => {
14114
14236
  const host = (c.req.header("host") ?? "").split(":")[0];
14115
14237
  if (isPublicHost(host)) return c.text("Not found", 404);
14116
14238
  return c.html(cachedHtml("graph.html"));
14117
14239
  });
14118
- app38.get("/sessions", (c) => {
14240
+ app39.get("/sessions", (c) => {
14119
14241
  const host = (c.req.header("host") ?? "").split(":")[0];
14120
14242
  if (isPublicHost(host)) return c.text("Not found", 404);
14121
14243
  return c.html(cachedHtml("sessions.html"));
14122
14244
  });
14123
- app38.get("/data", (c) => {
14245
+ app39.get("/data", (c) => {
14124
14246
  const host = (c.req.header("host") ?? "").split(":")[0];
14125
14247
  if (isPublicHost(host)) return c.text("Not found", 404);
14126
14248
  return c.html(cachedHtml("data.html"));
14127
14249
  });
14128
- app38.get("/:slug", async (c, next) => {
14250
+ app39.get("/:slug", async (c, next) => {
14129
14251
  const slug = c.req.param("slug");
14130
14252
  if (AGENT_SLUG_PATTERN.test(`/${slug}`)) {
14131
14253
  const branding = loadBrandingCache(slug);
@@ -14135,15 +14257,15 @@ app38.get("/:slug", async (c, next) => {
14135
14257
  await next();
14136
14258
  });
14137
14259
  if (brandFaviconPath !== "/favicon.ico") {
14138
- app38.get("/favicon.ico", (c) => {
14260
+ app39.get("/favicon.ico", (c) => {
14139
14261
  c.header("Cache-Control", "public, max-age=300");
14140
14262
  return c.redirect(brandFaviconPath, 302);
14141
14263
  });
14142
14264
  }
14143
- app38.use("/*", serveStatic({ root: "./public" }));
14265
+ app39.use("/*", serveStatic({ root: "./public" }));
14144
14266
  var port = requirePortEnv("MAXY_UI_INTERNAL_PORT", { tag: "ui-server" });
14145
14267
  var hostname = process.env.HOSTNAME ?? "127.0.0.1";
14146
- var httpServer = serve({ fetch: app38.fetch, port, hostname });
14268
+ var httpServer = serve({ fetch: app39.fetch, port, hostname });
14147
14269
  console.log(`${BRAND.productName} listening on http://${hostname}:${port}`);
14148
14270
  {
14149
14271
  const loopHist = monitorEventLoopDelay({ resolution: 50 });
@@ -14175,7 +14297,7 @@ for (const m of SUBAPP_MANIFEST) {
14175
14297
  }
14176
14298
  try {
14177
14299
  const registered = [];
14178
- for (const r of app38.routes ?? []) {
14300
+ for (const r of app39.routes ?? []) {
14179
14301
  if (typeof r.path !== "string" || r.path.includes(":") || r.path.includes("*")) continue;
14180
14302
  if (AGENT_SLUG_PATTERN.test(r.path)) {
14181
14303
  registered.push({ method: (r.method ?? "ALL").toUpperCase(), path: r.path });
@@ -1 +0,0 @@
1
- import{it as e,rt as t}from"./chunk-ICPOFSXX-CUHDQxso.js";var n=(n,r)=>e.lang.round(t.parse(n)[r]);export{n as t};
@@ -1 +0,0 @@
1
- import{h as e}from"./src-B6XdH6xq.js";import"./chunk-ICPOFSXX-CUHDQxso.js";import"./dist-Bd4S37oi.js";import"./chunk-5PVQY5BW-CL0bAr0t.js";import"./chunk-U2HBQHQK-BGso49fW.js";import"./chunk-FMBD7UC4-w-yBZsN2.js";import"./chunk-BSJP7CBP-DP7LTBll.js";import"./chunk-ZZ45TVLE-yHQe8STh.js";import"./chunk-YZCP3GAM-CLvYLDvo.js";import"./chunk-55IACEB6-BRJOZLpU.js";import"./chunk-EDXVE4YY-WY3Sg1Fq.js";import"./chunk-X2U36JSP-C2tUGTcL.js";import"./chunk-5FUZZQ4R-CV4WMN8u.js";import"./chunk-ENJZ2VHE-BIVdDrD2.js";import"./chunk-336JU56O-BgAz-EJ4.js";import{i as t,n,r,t as i}from"./chunk-4TB4RGXK-Cqb1TREv.js";var a={parser:n,get db(){return new i},renderer:r,styles:t,init:e(e=>{e.class||={},e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)};export{a as diagram};
@@ -1 +0,0 @@
1
- import{h as e}from"./src-B6XdH6xq.js";import"./chunk-ICPOFSXX-CUHDQxso.js";import"./dist-Bd4S37oi.js";import"./chunk-5PVQY5BW-CL0bAr0t.js";import"./chunk-U2HBQHQK-BGso49fW.js";import"./chunk-FMBD7UC4-w-yBZsN2.js";import"./chunk-BSJP7CBP-DP7LTBll.js";import"./chunk-ZZ45TVLE-yHQe8STh.js";import"./chunk-YZCP3GAM-CLvYLDvo.js";import"./chunk-55IACEB6-BRJOZLpU.js";import"./chunk-EDXVE4YY-WY3Sg1Fq.js";import"./chunk-X2U36JSP-C2tUGTcL.js";import"./chunk-5FUZZQ4R-CV4WMN8u.js";import"./chunk-ENJZ2VHE-BIVdDrD2.js";import"./chunk-336JU56O-BgAz-EJ4.js";import{i as t,n,r,t as i}from"./chunk-4TB4RGXK-Cqb1TREv.js";var a={parser:n,get db(){return new i},renderer:r,styles:t,init:e(e=>{e.class||={},e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)};export{a as diagram};
@@ -1 +0,0 @@
1
- import{i as e}from"./graphlib-B6Y7yD4A.js";var t=4;function n(n){return e(n,t)}export{n as t};
@@ -1 +0,0 @@
1
- import{d as e,y as t}from"./ChatInput-BmmxQOhM.js";import"./graph-labels-IY4_aDc-.js";import{t as n}from"./page-CBKMOwaH.js";var r=t(),i=e();(0,r.createRoot)(document.getElementById(`root`)).render((0,i.jsx)(n,{}));
@@ -1 +0,0 @@
1
- import{d as e,y as t}from"./ChatInput-BmmxQOhM.js";import"./graph-labels-IY4_aDc-.js";import{n}from"./page-CJOpTjue.js";import"./Checkbox-CfiWjuMH.js";var r=t(),i=e();(0,r.createRoot)(document.getElementById(`root`)).render((0,i.jsx)(n,{}));