@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.
- package/package.json +1 -1
- package/payload/platform/plugins/admin/hooks/pre-tool-use.sh +1 -1
- package/payload/platform/plugins/admin/mcp/dist/index.js +12 -8
- package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/admin/skills/file-presentation/SKILL.md +14 -4
- package/payload/platform/plugins/admin/skills/unzip-attachment/SKILL.md +1 -1
- package/payload/platform/plugins/docs/PLUGIN.md +2 -0
- package/payload/platform/plugins/docs/references/admin-ui.md +233 -0
- package/payload/platform/plugins/scheduling/PLUGIN.md +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/index.js +2 -2
- package/payload/platform/plugins/scheduling/mcp/dist/index.js.map +1 -1
- package/payload/platform/templates/specialists/agents/content-producer.md +1 -1
- package/payload/premium-plugins/real-agent/plugins/brochures/skills/make-brochure/SKILL.md +1 -1
- package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-brochure/references/index.html +8 -0
- package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-brochure/references/template.html +8 -0
- package/payload/server/public/assets/{ChatInput-u7hSrC3q.css → ChatInput-DeBN_eCm.css} +1 -1
- package/payload/server/public/assets/{Checkbox-CfiWjuMH.js → Checkbox-Dd6lh79E.js} +1 -1
- package/payload/server/public/assets/{admin-CvfKXjVx.js → admin-B_-v60En.js} +1 -1
- package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-CSAyzBIK.js → architectureDiagram-Q4EWVU46-Nnicj9Oi.js} +1 -1
- package/payload/server/public/assets/{blockDiagram-DXYQGD6D-l_AoJo_I.js → blockDiagram-DXYQGD6D-NuGXhtpA.js} +1 -1
- package/payload/server/public/assets/{c4Diagram-AHTNJAMY-Dsjc59iO.js → c4Diagram-AHTNJAMY-DusOs1B8.js} +1 -1
- package/payload/server/public/assets/channel-sqt9QaiU.js +1 -0
- package/payload/server/public/assets/{chunk-336JU56O-BgAz-EJ4.js → chunk-336JU56O-L4okIbRn.js} +2 -2
- package/payload/server/public/assets/{chunk-426QAEUC-DHF9zZlS.js → chunk-426QAEUC-WhvqbTM0.js} +1 -1
- package/payload/server/public/assets/{chunk-4TB4RGXK-Cqb1TREv.js → chunk-4TB4RGXK-Bby5RW_e.js} +1 -1
- package/payload/server/public/assets/{chunk-5FUZZQ4R-CV4WMN8u.js → chunk-5FUZZQ4R-veZxFPER.js} +1 -1
- package/payload/server/public/assets/{chunk-5PVQY5BW-CL0bAr0t.js → chunk-5PVQY5BW-BwG8uJC1.js} +1 -1
- package/payload/server/public/assets/{chunk-EDXVE4YY-WY3Sg1Fq.js → chunk-EDXVE4YY-DgQhTM1z.js} +1 -1
- package/payload/server/public/assets/{chunk-ENJZ2VHE-BIVdDrD2.js → chunk-ENJZ2VHE-DpBKyLeu.js} +1 -1
- package/payload/server/public/assets/{chunk-ICPOFSXX-CUHDQxso.js → chunk-ICPOFSXX-Bb8kEMah.js} +1 -1
- package/payload/server/public/assets/{chunk-OYMX7WX6-D1sj6R4f.js → chunk-OYMX7WX6-BUrpyQuA.js} +1 -1
- package/payload/server/public/assets/{chunk-U2HBQHQK-BGso49fW.js → chunk-U2HBQHQK-D0mOjNKD.js} +1 -1
- package/payload/server/public/assets/{chunk-X2U36JSP-C2tUGTcL.js → chunk-X2U36JSP-CQ7VnONI.js} +1 -1
- package/payload/server/public/assets/{chunk-YZCP3GAM-CLvYLDvo.js → chunk-YZCP3GAM-BWgvd9aw.js} +1 -1
- package/payload/server/public/assets/{chunk-ZZ45TVLE-yHQe8STh.js → chunk-ZZ45TVLE-UFB_t9gw.js} +1 -1
- package/payload/server/public/assets/classDiagram-6PBFFD2Q-rYq1YLUo.js +1 -0
- package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-Cc4tKtqG.js +1 -0
- package/payload/server/public/assets/clone-SdNqIUjS.js +1 -0
- package/payload/server/public/assets/{dagre-KV5264BT-Df1MO_DJ.js → dagre-KV5264BT-w7RChnHk.js} +1 -1
- package/payload/server/public/assets/{dagre-fQyUaxmN.js → dagre-VrERS_-G.js} +1 -1
- package/payload/server/public/assets/data-DQafmlMy.js +1 -0
- package/payload/server/public/assets/{diagram-5BDNPKRD-E3qTf9lX.js → diagram-5BDNPKRD-DDdrN3bf.js} +1 -1
- package/payload/server/public/assets/{diagram-G4DWMVQ6-DCV-gR0I.js → diagram-G4DWMVQ6-B_lLNyeb.js} +1 -1
- package/payload/server/public/assets/{diagram-MMDJMWI5-CZKwrxSp.js → diagram-MMDJMWI5-Da0x1Yf0.js} +1 -1
- package/payload/server/public/assets/{diagram-TYMM5635-ClXOl5De.js → diagram-TYMM5635-DoFKKnVr.js} +1 -1
- package/payload/server/public/assets/{erDiagram-SMLLAGMA-v2-MNn-e.js → erDiagram-SMLLAGMA-DBPmAPTe.js} +1 -1
- package/payload/server/public/assets/{flowDiagram-DWJPFMVM-CDFzDH-2.js → flowDiagram-DWJPFMVM-CnkJzYU4.js} +1 -1
- package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-DEA-33qn.js → ganttDiagram-T4ZO3ILL-BM9c9VN5.js} +1 -1
- package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-lLy_eZzu.js → gitGraphDiagram-UUTBAWPF-C-1OqQDw.js} +1 -1
- package/payload/server/public/assets/graph-CTM-V4lS.js +1 -0
- package/payload/server/public/assets/graph-labels-BkDqelbQ.js +1 -0
- package/payload/server/public/assets/{graphlib-B6Y7yD4A.js → graphlib-Be3_mRCh.js} +1 -1
- package/payload/server/public/assets/{infoDiagram-42DDH7IO-D-Pm-tYB.js → infoDiagram-42DDH7IO-o4FB6Zjb.js} +1 -1
- package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-DVHkDPv1.js → ishikawaDiagram-UXIWVN3A-BlnRfx6Z.js} +1 -1
- package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-CsxM47ah.js → journeyDiagram-VCZTEJTY-Da26YPBj.js} +1 -1
- package/payload/server/public/assets/{kanban-definition-6JOO6SKY-C7EYwNjH.js → kanban-definition-6JOO6SKY-C1jVbsV0.js} +1 -1
- package/payload/server/public/assets/{lib-iH6Mg9EP.js → lib-CKcXekKF.js} +1 -1
- package/payload/server/public/assets/{line-CvBly01q.js → line-BS0h3YlR.js} +1 -1
- package/payload/server/public/assets/{mermaid-parser.core-D32akjeh.js → mermaid-parser.core-4FY7A26h.js} +1 -1
- package/payload/server/public/assets/{mermaid.core-B3O4X8ja.js → mermaid.core-CD1JRYmG.js} +3 -3
- package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-yreoqnSK.js → mindmap-definition-QFDTVHPH-BmCJ5q81.js} +1 -1
- package/payload/server/public/assets/{page-CJOpTjue.js → page-1atlhFFT.js} +1 -1
- package/payload/server/public/assets/{page-CBKMOwaH.js → page-D6QVxITy.js} +1 -1
- package/payload/server/public/assets/{pieDiagram-DEJITSTG-DEYXlFD5.js → pieDiagram-DEJITSTG-ClXRAXST.js} +1 -1
- package/payload/server/public/assets/{public-DknvBIqv.js → public-7fuvQJwF.js} +3 -3
- package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-CVTVYl5c.js → quadrantDiagram-34T5L4WZ-D17aBgPP.js} +1 -1
- package/payload/server/public/assets/{requirementDiagram-MS252O5E-D438ZRqW.js → requirementDiagram-MS252O5E-CUpkUJlh.js} +1 -1
- package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-B2Hs1q9K.js → sankeyDiagram-XADWPNL6-DnrrGp2c.js} +1 -1
- package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-BqRHtAoK.js → sequenceDiagram-FGHM5R23-CMprmJg9.js} +1 -1
- package/payload/server/public/assets/{stateDiagram-FHFEXIEX-ILOj6_TV.js → stateDiagram-FHFEXIEX-BdpBUtXc.js} +1 -1
- package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-DPekwBDP.js +1 -0
- package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-D-uskEEs.js → timeline-definition-GMOUNBTQ-u7JucCMs.js} +1 -1
- package/payload/server/public/assets/{vennDiagram-DHZGUBPP-DJjaoR79.js → vennDiagram-DHZGUBPP-CP1Q9zf2.js} +1 -1
- package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-B1EO_5jp.js → wardleyDiagram-NUSXRM2D-BOVxInz5.js} +1 -1
- package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-CQnz0KUb.js → xychartDiagram-5P7HB3ND-Dcx1f04K.js} +1 -1
- package/payload/server/public/data.html +5 -5
- package/payload/server/public/graph.html +6 -6
- package/payload/server/public/index.html +8 -8
- package/payload/server/public/public.html +5 -5
- package/payload/server/server.js +201 -79
- package/payload/server/public/assets/channel-BlwH4wTf.js +0 -1
- package/payload/server/public/assets/classDiagram-6PBFFD2Q-DuEhfP67.js +0 -1
- package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-zSqemF--.js +0 -1
- package/payload/server/public/assets/clone-DUSqJbTD.js +0 -1
- package/payload/server/public/assets/data-DPx0BO-i.js +0 -1
- package/payload/server/public/assets/graph-FRecl_Yt.js +0 -1
- package/payload/server/public/assets/graph-labels-IY4_aDc-.js +0 -1
- package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-B2cQBKI1.js +0 -1
- /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-
|
|
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-
|
|
11
|
-
<link rel="modulepreload" crossorigin href="/assets/graph-labels-
|
|
12
|
-
<link rel="modulepreload" crossorigin href="/assets/page-
|
|
13
|
-
<link rel="stylesheet" crossorigin href="/assets/ChatInput-
|
|
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-
|
|
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-
|
|
11
|
-
<link rel="modulepreload" crossorigin href="/assets/graph-labels-
|
|
12
|
-
<link rel="modulepreload" crossorigin href="/assets/Checkbox-
|
|
13
|
-
<link rel="modulepreload" crossorigin href="/assets/page-
|
|
14
|
-
<link rel="stylesheet" crossorigin href="/assets/ChatInput-
|
|
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-
|
|
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-
|
|
11
|
-
<link rel="modulepreload" crossorigin href="/assets/graph-labels-
|
|
12
|
-
<link rel="modulepreload" crossorigin href="/assets/Checkbox-
|
|
13
|
-
<link rel="modulepreload" crossorigin href="/assets/page-
|
|
14
|
-
<link rel="modulepreload" crossorigin href="/assets/page-
|
|
15
|
-
<link rel="modulepreload" crossorigin href="/assets/lib-
|
|
16
|
-
<link rel="stylesheet" crossorigin href="/assets/ChatInput-
|
|
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-
|
|
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-
|
|
11
|
-
<link rel="modulepreload" crossorigin href="/assets/Checkbox-
|
|
12
|
-
<link rel="modulepreload" crossorigin href="/assets/lib-
|
|
13
|
-
<link rel="stylesheet" crossorigin href="/assets/ChatInput-
|
|
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>
|
package/payload/server/server.js
CHANGED
|
@@ -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
|
|
12761
|
-
|
|
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 =
|
|
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
|
|
12880
|
-
|
|
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 =
|
|
13051
|
+
var linkedin_ingest_default = app36;
|
|
12931
13052
|
|
|
12932
13053
|
// server/routes/admin/index.ts
|
|
12933
|
-
var
|
|
12934
|
-
|
|
12935
|
-
|
|
12936
|
-
|
|
12937
|
-
|
|
12938
|
-
|
|
12939
|
-
|
|
12940
|
-
|
|
12941
|
-
|
|
12942
|
-
|
|
12943
|
-
|
|
12944
|
-
|
|
12945
|
-
|
|
12946
|
-
|
|
12947
|
-
|
|
12948
|
-
|
|
12949
|
-
|
|
12950
|
-
|
|
12951
|
-
|
|
12952
|
-
|
|
12953
|
-
|
|
12954
|
-
|
|
12955
|
-
|
|
12956
|
-
|
|
12957
|
-
|
|
12958
|
-
|
|
12959
|
-
|
|
12960
|
-
|
|
12961
|
-
|
|
12962
|
-
|
|
12963
|
-
|
|
12964
|
-
|
|
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
|
|
13000
|
-
|
|
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 =
|
|
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
|
|
13511
|
-
|
|
13512
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
13870
|
+
app39.get("/api/remote-auth/status", (c) => {
|
|
13749
13871
|
return c.json({ configured: isRemoteAuthConfigured() });
|
|
13750
13872
|
});
|
|
13751
|
-
|
|
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
|
-
|
|
13904
|
+
app39.route("/api/_client-error", client_error_default);
|
|
13783
13905
|
console.log("[client-error-route] mounted");
|
|
13784
|
-
|
|
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
|
-
|
|
13825
|
-
|
|
13826
|
-
|
|
13827
|
-
|
|
13828
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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, "&").replace(/"/g, """).replace(/</g, "<").replace(/>/g, ">");
|
|
14041
14163
|
}
|
|
14042
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
14075
|
-
|
|
14076
|
-
|
|
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
|
-
|
|
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
|
-
|
|
14232
|
+
app39.get("/g/:slug", (c) => {
|
|
14111
14233
|
return c.html(brandedPublicHtml());
|
|
14112
14234
|
});
|
|
14113
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
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
|
|
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,{}));
|