@solongate/proxy 0.81.35 → 0.81.36
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/dist/index.js +20 -20
- package/dist/tui/index.js +20 -20
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -6781,8 +6781,8 @@ var init_theme = __esm({
|
|
|
6781
6781
|
init_config2();
|
|
6782
6782
|
accent = loadConfig().accent;
|
|
6783
6783
|
theme = {
|
|
6784
|
-
accent: accent || "
|
|
6785
|
-
accentBright: accent || "
|
|
6784
|
+
accent: accent || "white",
|
|
6785
|
+
accentBright: accent || "white",
|
|
6786
6786
|
ok: "green",
|
|
6787
6787
|
warn: "yellow",
|
|
6788
6788
|
bad: "red",
|
|
@@ -7401,7 +7401,7 @@ function StreamLine({ e, loc, selected }) {
|
|
|
7401
7401
|
hhmmss(e.at),
|
|
7402
7402
|
" "
|
|
7403
7403
|
] }),
|
|
7404
|
-
/* @__PURE__ */ jsx2(Text2, { color: loc ? theme.ok : "
|
|
7404
|
+
/* @__PURE__ */ jsx2(Text2, { color: loc ? theme.ok : "white", children: loc ? "LOC" : "CLD" }),
|
|
7405
7405
|
/* @__PURE__ */ jsx2(Text2, { color: theme.dim, children: "] " }),
|
|
7406
7406
|
/* @__PURE__ */ jsx2(Text2, { color: decisionColor(e.decision), bold: e.decision !== "ALLOW", children: e.decision.padEnd(6) }),
|
|
7407
7407
|
/* @__PURE__ */ jsx2(Text2, { color: theme.accent, children: truncate2(e.tool, 12).padEnd(13) }),
|
|
@@ -7908,9 +7908,9 @@ function LivePanel({ active: active2 }) {
|
|
|
7908
7908
|
] });
|
|
7909
7909
|
}
|
|
7910
7910
|
const titleBar = /* @__PURE__ */ jsxs2(Text2, { wrap: "truncate", children: [
|
|
7911
|
-
/* @__PURE__ */ jsx2(Text2, { backgroundColor: "#1432A0", color: "
|
|
7912
|
-
/* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "
|
|
7913
|
-
frozen ? /* @__PURE__ */ jsx2(Text2, { backgroundColor: "#123d1f", color: "#7bd88f", bold: true, children: " \u23F5 COPY MODE \u2014 screen frozen, select & copy freely \xB7 space resume " }) : backingOff ? /* @__PURE__ */ jsx2(Text2, { backgroundColor: "#3d2a12", color: "#ffb454", bold: true, children: " RATE LIMITED \xB7 backing off " }) : lastDeny ? /* @__PURE__ */ jsx2(Text2, { backgroundColor: "#3d1220", color: "#ff6b6b", bold: true, children: ` \u26A0 ${hhmmss(lastDeny.at)} ${lastDeny.tool} DENIED ` }) : /* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "
|
|
7911
|
+
/* @__PURE__ */ jsx2(Text2, { backgroundColor: "#1432A0", color: "white", bold: true, children: " SOLONGATE LIVE " }),
|
|
7912
|
+
/* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "white", children: ` ${spin} up ${fmtUp(nowMs - startRef.current)} \xB7 ${hhmmss(nowMs)} \xB7 api ${latNow}ms ` }),
|
|
7913
|
+
frozen ? /* @__PURE__ */ jsx2(Text2, { backgroundColor: "#123d1f", color: "#7bd88f", bold: true, children: " \u23F5 COPY MODE \u2014 screen frozen, select & copy freely \xB7 space resume " }) : backingOff ? /* @__PURE__ */ jsx2(Text2, { backgroundColor: "#3d2a12", color: "#ffb454", bold: true, children: " RATE LIMITED \xB7 backing off " }) : lastDeny ? /* @__PURE__ */ jsx2(Text2, { backgroundColor: "#3d1220", color: "#ff6b6b", bold: true, children: ` \u26A0 ${hhmmss(lastDeny.at)} ${lastDeny.tool} DENIED ` }) : /* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "white", children: " \u2713 clean " })
|
|
7914
7914
|
] });
|
|
7915
7915
|
if (showHelp) {
|
|
7916
7916
|
return /* @__PURE__ */ jsxs2(Box2, { flexDirection: "column", paddingX: 1, children: [
|
|
@@ -7937,10 +7937,10 @@ function LivePanel({ active: active2 }) {
|
|
|
7937
7937
|
return /* @__PURE__ */ jsxs2(Box2, { flexDirection: "column", paddingX: 1, children: [
|
|
7938
7938
|
titleBar,
|
|
7939
7939
|
/* @__PURE__ */ jsxs2(Text2, { wrap: "truncate", children: [
|
|
7940
|
-
/* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "
|
|
7940
|
+
/* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "white", bold: true, children: " ENTRY " }),
|
|
7941
7941
|
/* @__PURE__ */ jsx2(Text2, { color: decisionColor(e.decision), bold: true, children: " " + e.decision }),
|
|
7942
7942
|
/* @__PURE__ */ jsx2(Text2, { color: theme.accent, bold: true, children: " " + e.tool }),
|
|
7943
|
-
/* @__PURE__ */ jsx2(Text2, { color: isLoc(e) ? theme.ok : "
|
|
7943
|
+
/* @__PURE__ */ jsx2(Text2, { color: isLoc(e) ? theme.ok : "white", children: " " + (isLoc(e) ? "LOC" : "CLD") }),
|
|
7944
7944
|
e.dlp ? /* @__PURE__ */ jsx2(Text2, { color: theme.bad, children: " DLP!" }) : null,
|
|
7945
7945
|
e.burst ? /* @__PURE__ */ jsx2(Text2, { color: theme.warn, children: " BURST" }) : null,
|
|
7946
7946
|
/* @__PURE__ */ jsx2(Text2, { color: theme.dim, children: " \u2190 back" })
|
|
@@ -7966,9 +7966,9 @@ function LivePanel({ active: active2 }) {
|
|
|
7966
7966
|
/* @__PURE__ */ jsx2(PaneTitle, { label: "FULL CONTENT", extra: `${lines.length} lines${maxScroll2 ? ` \xB7 \u25BC${maxScroll2 - off} more \xB7 \u2191\u2193 scroll` : ""} \xB7 space copy \xB7 \u2190 back`, width: innerW }),
|
|
7967
7967
|
/* @__PURE__ */ jsx2(Box2, { flexDirection: "column", height: bodyRows, overflow: "hidden", children: win.map((l, i) => /* @__PURE__ */ jsx2(Text2, { wrap: "truncate", children: l || " " }, off + i)) }),
|
|
7968
7968
|
/* @__PURE__ */ jsxs2(Text2, { wrap: "truncate", children: [
|
|
7969
|
-
/* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "
|
|
7970
|
-
/* @__PURE__ */ jsx2(Text2, { backgroundColor: "#0b1530", color: "
|
|
7971
|
-
/* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "
|
|
7969
|
+
/* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "white", bold: true, children: " ENTRY " }),
|
|
7970
|
+
/* @__PURE__ */ jsx2(Text2, { backgroundColor: "#0b1530", color: "white", children: ` ${e.id} ` }),
|
|
7971
|
+
/* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "white", children: " \u2191\u2193 scroll \xB7 space copy \xB7 ? all keys \xB7 \u2190 back \xB7 esc menu " })
|
|
7972
7972
|
] })
|
|
7973
7973
|
] });
|
|
7974
7974
|
}
|
|
@@ -7998,12 +7998,12 @@ function LivePanel({ active: active2 }) {
|
|
|
7998
7998
|
return /* @__PURE__ */ jsxs2(Box2, { flexDirection: "column", paddingX: 1, children: [
|
|
7999
7999
|
titleBar,
|
|
8000
8000
|
/* @__PURE__ */ jsxs2(Text2, { wrap: "truncate", children: [
|
|
8001
|
-
/* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "
|
|
8001
|
+
/* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "white", bold: true, children: ` SESSION ${detail.id.slice(0, 8)} ` }),
|
|
8002
8002
|
(() => {
|
|
8003
8003
|
const st = STATUS_STYLE[sessStatus(detail.lastAt, nowMs)];
|
|
8004
8004
|
return /* @__PURE__ */ jsx2(Text2, { color: st.color, bold: true, children: ` ${st.dot} ${st.label}` });
|
|
8005
8005
|
})(),
|
|
8006
|
-
/* @__PURE__ */ jsx2(Text2, { color: detail.source === "local" ? theme.ok : "
|
|
8006
|
+
/* @__PURE__ */ jsx2(Text2, { color: detail.source === "local" ? theme.ok : "white", children: " " + detail.source.toUpperCase() }),
|
|
8007
8007
|
/* @__PURE__ */ jsx2(Text2, { bold: true, children: " " + truncate2(detail.isMe ? detail.agent + " (this machine)" : detail.agent, 34) }),
|
|
8008
8008
|
detail.trust != null ? /* @__PURE__ */ jsx2(Text2, { color: theme.dim, children: ` trust ${detail.trust}/100` }) : null,
|
|
8009
8009
|
/* @__PURE__ */ jsx2(Text2, { color: theme.dim, children: " \u2190 back" })
|
|
@@ -8039,9 +8039,9 @@ function LivePanel({ active: active2 }) {
|
|
|
8039
8039
|
tl.map((e, i) => /* @__PURE__ */ jsx2(StreamLine, { e, loc: isLoc(e), selected: start + i === dSel }, e.id))
|
|
8040
8040
|
] }),
|
|
8041
8041
|
/* @__PURE__ */ jsxs2(Text2, { wrap: "truncate", children: [
|
|
8042
|
-
/* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "
|
|
8043
|
-
/* @__PURE__ */ jsx2(Text2, { backgroundColor: "#0b1530", color: "
|
|
8044
|
-
/* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "
|
|
8042
|
+
/* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "white", bold: true, children: " SESSION " }),
|
|
8043
|
+
/* @__PURE__ */ jsx2(Text2, { backgroundColor: "#0b1530", color: "white", children: ` ${detail.id} ` }),
|
|
8044
|
+
/* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "white", children: " \u2191\u2193 select \xB7 enter full entry \xB7 ? all keys \xB7 \u2190 back \xB7 esc menu " })
|
|
8045
8045
|
] })
|
|
8046
8046
|
] });
|
|
8047
8047
|
}
|
|
@@ -8087,7 +8087,7 @@ function LivePanel({ active: active2 }) {
|
|
|
8087
8087
|
] }),
|
|
8088
8088
|
/* @__PURE__ */ jsxs2(Box2, { flexDirection: "column", width: rightW, children: [
|
|
8089
8089
|
/* @__PURE__ */ jsx2(PaneTitle, { label: "API LATENCY", extra: `now ${latNow}ms \xB7 med ${latMed}ms \xB7 amber >${Math.round(latHotAt)}ms`, width: rightW }),
|
|
8090
|
-
/* @__PURE__ */ jsx2(ColumnChart, { series: lat, hot: lat.map((v) => v > latHotAt), height: chartH, width: rightW, color: "
|
|
8090
|
+
/* @__PURE__ */ jsx2(ColumnChart, { series: lat, hot: lat.map((v) => v > latHotAt), height: chartH, width: rightW, color: "white", hotColor: "#ffb454" })
|
|
8091
8091
|
] })
|
|
8092
8092
|
] }),
|
|
8093
8093
|
/* @__PURE__ */ jsxs2(Box2, { height: colH, children: [
|
|
@@ -8171,9 +8171,9 @@ function LivePanel({ active: active2 }) {
|
|
|
8171
8171
|
windowed.map((e, i) => /* @__PURE__ */ jsx2(StreamLine, { e, loc: isLoc(e), selected: clampedScroll + i === selClamped }, e.id))
|
|
8172
8172
|
] }),
|
|
8173
8173
|
/* @__PURE__ */ jsxs2(Text2, { wrap: "truncate", children: [
|
|
8174
|
-
/* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "
|
|
8175
|
-
/* @__PURE__ */ jsx2(Text2, { backgroundColor: "#0b1530", color: "
|
|
8176
|
-
/* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "
|
|
8174
|
+
/* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "white", bold: true, children: " LIVE " }),
|
|
8175
|
+
/* @__PURE__ */ jsx2(Text2, { backgroundColor: "#0b1530", color: "white", children: ` local ${localOn ? "on" : "off"} \xB7 ${localBuf.length} loc/${cloudBuf.length} cld \xB7 top ${topTools.map(([t, c2]) => `${t}\xD7${c2}`).join(" ") || "\u2014"} ` }),
|
|
8176
|
+
/* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "white", children: ` \u2191\u2193 select \xB7 enter full entry \xB7 / search \xB7 space copy \xB7 ? all keys \xB7 esc menu \xB7 q quit ` })
|
|
8177
8177
|
] })
|
|
8178
8178
|
] });
|
|
8179
8179
|
}
|
package/dist/tui/index.js
CHANGED
|
@@ -69,8 +69,8 @@ function loadConfig() {
|
|
|
69
69
|
// src/tui/theme.ts
|
|
70
70
|
var accent = loadConfig().accent;
|
|
71
71
|
var theme = {
|
|
72
|
-
accent: accent || "
|
|
73
|
-
accentBright: accent || "
|
|
72
|
+
accent: accent || "white",
|
|
73
|
+
accentBright: accent || "white",
|
|
74
74
|
ok: "green",
|
|
75
75
|
warn: "yellow",
|
|
76
76
|
bad: "red",
|
|
@@ -794,7 +794,7 @@ function StreamLine({ e, loc, selected }) {
|
|
|
794
794
|
hhmmss(e.at),
|
|
795
795
|
" "
|
|
796
796
|
] }),
|
|
797
|
-
/* @__PURE__ */ jsx2(Text2, { color: loc ? theme.ok : "
|
|
797
|
+
/* @__PURE__ */ jsx2(Text2, { color: loc ? theme.ok : "white", children: loc ? "LOC" : "CLD" }),
|
|
798
798
|
/* @__PURE__ */ jsx2(Text2, { color: theme.dim, children: "] " }),
|
|
799
799
|
/* @__PURE__ */ jsx2(Text2, { color: decisionColor(e.decision), bold: e.decision !== "ALLOW", children: e.decision.padEnd(6) }),
|
|
800
800
|
/* @__PURE__ */ jsx2(Text2, { color: theme.accent, children: truncate(e.tool, 12).padEnd(13) }),
|
|
@@ -1347,9 +1347,9 @@ function LivePanel({ active: active2 }) {
|
|
|
1347
1347
|
] });
|
|
1348
1348
|
}
|
|
1349
1349
|
const titleBar = /* @__PURE__ */ jsxs2(Text2, { wrap: "truncate", children: [
|
|
1350
|
-
/* @__PURE__ */ jsx2(Text2, { backgroundColor: "#1432A0", color: "
|
|
1351
|
-
/* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "
|
|
1352
|
-
frozen ? /* @__PURE__ */ jsx2(Text2, { backgroundColor: "#123d1f", color: "#7bd88f", bold: true, children: " \u23F5 COPY MODE \u2014 screen frozen, select & copy freely \xB7 space resume " }) : backingOff ? /* @__PURE__ */ jsx2(Text2, { backgroundColor: "#3d2a12", color: "#ffb454", bold: true, children: " RATE LIMITED \xB7 backing off " }) : lastDeny ? /* @__PURE__ */ jsx2(Text2, { backgroundColor: "#3d1220", color: "#ff6b6b", bold: true, children: ` \u26A0 ${hhmmss(lastDeny.at)} ${lastDeny.tool} DENIED ` }) : /* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "
|
|
1350
|
+
/* @__PURE__ */ jsx2(Text2, { backgroundColor: "#1432A0", color: "white", bold: true, children: " SOLONGATE LIVE " }),
|
|
1351
|
+
/* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "white", children: ` ${spin} up ${fmtUp(nowMs - startRef.current)} \xB7 ${hhmmss(nowMs)} \xB7 api ${latNow}ms ` }),
|
|
1352
|
+
frozen ? /* @__PURE__ */ jsx2(Text2, { backgroundColor: "#123d1f", color: "#7bd88f", bold: true, children: " \u23F5 COPY MODE \u2014 screen frozen, select & copy freely \xB7 space resume " }) : backingOff ? /* @__PURE__ */ jsx2(Text2, { backgroundColor: "#3d2a12", color: "#ffb454", bold: true, children: " RATE LIMITED \xB7 backing off " }) : lastDeny ? /* @__PURE__ */ jsx2(Text2, { backgroundColor: "#3d1220", color: "#ff6b6b", bold: true, children: ` \u26A0 ${hhmmss(lastDeny.at)} ${lastDeny.tool} DENIED ` }) : /* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "white", children: " \u2713 clean " })
|
|
1353
1353
|
] });
|
|
1354
1354
|
if (showHelp) {
|
|
1355
1355
|
return /* @__PURE__ */ jsxs2(Box2, { flexDirection: "column", paddingX: 1, children: [
|
|
@@ -1376,10 +1376,10 @@ function LivePanel({ active: active2 }) {
|
|
|
1376
1376
|
return /* @__PURE__ */ jsxs2(Box2, { flexDirection: "column", paddingX: 1, children: [
|
|
1377
1377
|
titleBar,
|
|
1378
1378
|
/* @__PURE__ */ jsxs2(Text2, { wrap: "truncate", children: [
|
|
1379
|
-
/* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "
|
|
1379
|
+
/* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "white", bold: true, children: " ENTRY " }),
|
|
1380
1380
|
/* @__PURE__ */ jsx2(Text2, { color: decisionColor(e.decision), bold: true, children: " " + e.decision }),
|
|
1381
1381
|
/* @__PURE__ */ jsx2(Text2, { color: theme.accent, bold: true, children: " " + e.tool }),
|
|
1382
|
-
/* @__PURE__ */ jsx2(Text2, { color: isLoc(e) ? theme.ok : "
|
|
1382
|
+
/* @__PURE__ */ jsx2(Text2, { color: isLoc(e) ? theme.ok : "white", children: " " + (isLoc(e) ? "LOC" : "CLD") }),
|
|
1383
1383
|
e.dlp ? /* @__PURE__ */ jsx2(Text2, { color: theme.bad, children: " DLP!" }) : null,
|
|
1384
1384
|
e.burst ? /* @__PURE__ */ jsx2(Text2, { color: theme.warn, children: " BURST" }) : null,
|
|
1385
1385
|
/* @__PURE__ */ jsx2(Text2, { color: theme.dim, children: " \u2190 back" })
|
|
@@ -1405,9 +1405,9 @@ function LivePanel({ active: active2 }) {
|
|
|
1405
1405
|
/* @__PURE__ */ jsx2(PaneTitle, { label: "FULL CONTENT", extra: `${lines.length} lines${maxScroll2 ? ` \xB7 \u25BC${maxScroll2 - off} more \xB7 \u2191\u2193 scroll` : ""} \xB7 space copy \xB7 \u2190 back`, width: innerW }),
|
|
1406
1406
|
/* @__PURE__ */ jsx2(Box2, { flexDirection: "column", height: bodyRows, overflow: "hidden", children: win.map((l, i) => /* @__PURE__ */ jsx2(Text2, { wrap: "truncate", children: l || " " }, off + i)) }),
|
|
1407
1407
|
/* @__PURE__ */ jsxs2(Text2, { wrap: "truncate", children: [
|
|
1408
|
-
/* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "
|
|
1409
|
-
/* @__PURE__ */ jsx2(Text2, { backgroundColor: "#0b1530", color: "
|
|
1410
|
-
/* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "
|
|
1408
|
+
/* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "white", bold: true, children: " ENTRY " }),
|
|
1409
|
+
/* @__PURE__ */ jsx2(Text2, { backgroundColor: "#0b1530", color: "white", children: ` ${e.id} ` }),
|
|
1410
|
+
/* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "white", children: " \u2191\u2193 scroll \xB7 space copy \xB7 ? all keys \xB7 \u2190 back \xB7 esc menu " })
|
|
1411
1411
|
] })
|
|
1412
1412
|
] });
|
|
1413
1413
|
}
|
|
@@ -1437,12 +1437,12 @@ function LivePanel({ active: active2 }) {
|
|
|
1437
1437
|
return /* @__PURE__ */ jsxs2(Box2, { flexDirection: "column", paddingX: 1, children: [
|
|
1438
1438
|
titleBar,
|
|
1439
1439
|
/* @__PURE__ */ jsxs2(Text2, { wrap: "truncate", children: [
|
|
1440
|
-
/* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "
|
|
1440
|
+
/* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "white", bold: true, children: ` SESSION ${detail.id.slice(0, 8)} ` }),
|
|
1441
1441
|
(() => {
|
|
1442
1442
|
const st = STATUS_STYLE[sessStatus(detail.lastAt, nowMs)];
|
|
1443
1443
|
return /* @__PURE__ */ jsx2(Text2, { color: st.color, bold: true, children: ` ${st.dot} ${st.label}` });
|
|
1444
1444
|
})(),
|
|
1445
|
-
/* @__PURE__ */ jsx2(Text2, { color: detail.source === "local" ? theme.ok : "
|
|
1445
|
+
/* @__PURE__ */ jsx2(Text2, { color: detail.source === "local" ? theme.ok : "white", children: " " + detail.source.toUpperCase() }),
|
|
1446
1446
|
/* @__PURE__ */ jsx2(Text2, { bold: true, children: " " + truncate(detail.isMe ? detail.agent + " (this machine)" : detail.agent, 34) }),
|
|
1447
1447
|
detail.trust != null ? /* @__PURE__ */ jsx2(Text2, { color: theme.dim, children: ` trust ${detail.trust}/100` }) : null,
|
|
1448
1448
|
/* @__PURE__ */ jsx2(Text2, { color: theme.dim, children: " \u2190 back" })
|
|
@@ -1478,9 +1478,9 @@ function LivePanel({ active: active2 }) {
|
|
|
1478
1478
|
tl.map((e, i) => /* @__PURE__ */ jsx2(StreamLine, { e, loc: isLoc(e), selected: start + i === dSel }, e.id))
|
|
1479
1479
|
] }),
|
|
1480
1480
|
/* @__PURE__ */ jsxs2(Text2, { wrap: "truncate", children: [
|
|
1481
|
-
/* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "
|
|
1482
|
-
/* @__PURE__ */ jsx2(Text2, { backgroundColor: "#0b1530", color: "
|
|
1483
|
-
/* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "
|
|
1481
|
+
/* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "white", bold: true, children: " SESSION " }),
|
|
1482
|
+
/* @__PURE__ */ jsx2(Text2, { backgroundColor: "#0b1530", color: "white", children: ` ${detail.id} ` }),
|
|
1483
|
+
/* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "white", children: " \u2191\u2193 select \xB7 enter full entry \xB7 ? all keys \xB7 \u2190 back \xB7 esc menu " })
|
|
1484
1484
|
] })
|
|
1485
1485
|
] });
|
|
1486
1486
|
}
|
|
@@ -1526,7 +1526,7 @@ function LivePanel({ active: active2 }) {
|
|
|
1526
1526
|
] }),
|
|
1527
1527
|
/* @__PURE__ */ jsxs2(Box2, { flexDirection: "column", width: rightW, children: [
|
|
1528
1528
|
/* @__PURE__ */ jsx2(PaneTitle, { label: "API LATENCY", extra: `now ${latNow}ms \xB7 med ${latMed}ms \xB7 amber >${Math.round(latHotAt)}ms`, width: rightW }),
|
|
1529
|
-
/* @__PURE__ */ jsx2(ColumnChart, { series: lat, hot: lat.map((v) => v > latHotAt), height: chartH, width: rightW, color: "
|
|
1529
|
+
/* @__PURE__ */ jsx2(ColumnChart, { series: lat, hot: lat.map((v) => v > latHotAt), height: chartH, width: rightW, color: "white", hotColor: "#ffb454" })
|
|
1530
1530
|
] })
|
|
1531
1531
|
] }),
|
|
1532
1532
|
/* @__PURE__ */ jsxs2(Box2, { height: colH, children: [
|
|
@@ -1610,9 +1610,9 @@ function LivePanel({ active: active2 }) {
|
|
|
1610
1610
|
windowed.map((e, i) => /* @__PURE__ */ jsx2(StreamLine, { e, loc: isLoc(e), selected: clampedScroll + i === selClamped }, e.id))
|
|
1611
1611
|
] }),
|
|
1612
1612
|
/* @__PURE__ */ jsxs2(Text2, { wrap: "truncate", children: [
|
|
1613
|
-
/* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "
|
|
1614
|
-
/* @__PURE__ */ jsx2(Text2, { backgroundColor: "#0b1530", color: "
|
|
1615
|
-
/* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "
|
|
1613
|
+
/* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "white", bold: true, children: " LIVE " }),
|
|
1614
|
+
/* @__PURE__ */ jsx2(Text2, { backgroundColor: "#0b1530", color: "white", children: ` local ${localOn ? "on" : "off"} \xB7 ${localBuf.length} loc/${cloudBuf.length} cld \xB7 top ${topTools.map(([t, c2]) => `${t}\xD7${c2}`).join(" ") || "\u2014"} ` }),
|
|
1615
|
+
/* @__PURE__ */ jsx2(Text2, { backgroundColor: BG, color: "white", children: ` \u2191\u2193 select \xB7 enter full entry \xB7 / search \xB7 space copy \xB7 ? all keys \xB7 esc menu \xB7 q quit ` })
|
|
1616
1616
|
] })
|
|
1617
1617
|
] });
|
|
1618
1618
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@solongate/proxy",
|
|
3
|
-
"version": "0.81.
|
|
3
|
+
"version": "0.81.36",
|
|
4
4
|
"description": "AI tool security proxy: protect any AI tool server with customizable policies, path/command constraints, rate limiting, and audit logging. No code changes required.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|