@solongate/proxy 0.81.92 → 0.81.94
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 +32 -13
- package/dist/tui/index.js +32 -13
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -8886,7 +8886,7 @@ function PoliciesPanel({ focused }) {
|
|
|
8886
8886
|
};
|
|
8887
8887
|
useInput2(
|
|
8888
8888
|
(input, key) => {
|
|
8889
|
-
if (input === "r" && !editing) {
|
|
8889
|
+
if (key.ctrl && input === "r" && !editing) {
|
|
8890
8890
|
list6.reload();
|
|
8891
8891
|
activeQ.reload();
|
|
8892
8892
|
detail.reload();
|
|
@@ -8983,7 +8983,7 @@ function PoliciesPanel({ focused }) {
|
|
|
8983
8983
|
/* @__PURE__ */ jsx3(Text3, { color: theme.dim, children: activeBy ? ` (${activeBy})` : "" })
|
|
8984
8984
|
] }) : /* @__PURE__ */ jsx3(Text3, { color: theme.bad, bold: true, children: "\u25CB NONE \u2014 nothing enforced, grants refused" })
|
|
8985
8985
|
] }),
|
|
8986
|
-
/* @__PURE__ */ jsx3(Text3, { color: theme.dim, children: focused ? "\u2191\u2193 select \xB7 enter open \xB7 a activate \xB7 x deactivate \xB7
|
|
8986
|
+
/* @__PURE__ */ jsx3(Text3, { color: theme.dim, children: focused ? "\u2191\u2193 select \xB7 enter open \xB7 a activate \xB7 x deactivate \xB7 ^R refresh" : "press \u2192 to browse" }),
|
|
8987
8987
|
/* @__PURE__ */ jsx3(Box3, { marginTop: 1, flexDirection: "column", children: policies.map((p, i) => /* @__PURE__ */ jsxs3(Text3, { color: i === pi ? theme.accentBright : void 0, bold: i === pi, children: [
|
|
8988
8988
|
(i === pi ? "\u25B8 " : " ") + truncate2(p.name, 26).padEnd(27),
|
|
8989
8989
|
/* @__PURE__ */ jsxs3(Text3, { color: theme.dim, children: [
|
|
@@ -9152,7 +9152,7 @@ function RateLimitPanel({ focused }) {
|
|
|
9152
9152
|
else if (key.leftArrow) adjust(-1, step);
|
|
9153
9153
|
else if (key.rightArrow) adjust(1, step);
|
|
9154
9154
|
else if (input === "s") void save();
|
|
9155
|
-
else if (input === "r") {
|
|
9155
|
+
else if (key.ctrl && input === "r") {
|
|
9156
9156
|
layersQ.reload();
|
|
9157
9157
|
historyQ.reload();
|
|
9158
9158
|
insightsQ.reload();
|
|
@@ -9176,7 +9176,7 @@ function RateLimitPanel({ focused }) {
|
|
|
9176
9176
|
const shown = anomalies2.slice(0, burstBudget);
|
|
9177
9177
|
const bw = Math.max(10, cols - 30);
|
|
9178
9178
|
return /* @__PURE__ */ jsxs4(Box4, { flexDirection: "column", height: rows, overflow: "hidden", children: [
|
|
9179
|
-
/* @__PURE__ */ jsx4(Text4, { color: theme.dim, wrap: "truncate", children: focused ? "\u2191\u2193 field \xB7 \u2190\u2192 \xB11 \xB7 shift+\u2190\u2192 \xB110 \xB7 s save \xB7
|
|
9179
|
+
/* @__PURE__ */ jsx4(Text4, { color: theme.dim, wrap: "truncate", children: focused ? "\u2191\u2193 field \xB7 \u2190\u2192 \xB11 \xB7 shift+\u2190\u2192 \xB110 \xB7 s save \xB7 ^R refresh" : "press \u2192 to edit" }),
|
|
9180
9180
|
/* @__PURE__ */ jsxs4(FieldRow, { label: "Mode", active: focused && fi === 0, children: [
|
|
9181
9181
|
/* @__PURE__ */ jsx4(Text4, { color: modeColor(draft.mode), bold: true, children: draft.mode }),
|
|
9182
9182
|
/* @__PURE__ */ jsx4(Text4, { color: theme.dim, children: draft.mode === "off" ? " no limit" : draft.mode === "detect" ? " flag bursts, never block" : " DENY calls over the limit" })
|
|
@@ -9329,6 +9329,11 @@ function DlpPanel({ focused }) {
|
|
|
9329
9329
|
useInput4(
|
|
9330
9330
|
(input2, key) => {
|
|
9331
9331
|
if (!dlp) return;
|
|
9332
|
+
if (key.ctrl && input2 === "r") {
|
|
9333
|
+
q.reload();
|
|
9334
|
+
setStatus("refreshed");
|
|
9335
|
+
return;
|
|
9336
|
+
}
|
|
9332
9337
|
if (key.upArrow) setSel(() => Math.max(0, selC - 1));
|
|
9333
9338
|
else if (key.downArrow) setSel(() => Math.min(entries.length - 1, selC + 1));
|
|
9334
9339
|
else if (input2 === "m") mutate({ ...dlp, mode: MODES2[(MODES2.indexOf(dlp.mode) + 1) % MODES2.length] });
|
|
@@ -9434,7 +9439,7 @@ function DlpPanel({ focused }) {
|
|
|
9434
9439
|
/* @__PURE__ */ jsx5(Text5, { color: theme.dim, children: dlp.mode === "off" ? " (scanning disabled)" : dlp.mode === "detect" ? " (flag dlp:yes, redact output)" : " (deny + redact secrets)" }),
|
|
9435
9440
|
dirty ? /* @__PURE__ */ jsx5(Text5, { color: theme.warn, children: " \u25CF unsaved (s save \xB7 x discard)" }) : null
|
|
9436
9441
|
] }),
|
|
9437
|
-
/* @__PURE__ */ jsx5(Text5, { color: theme.dim, wrap: "truncate", children: focused ? `\u2191\u2193 move \xB7 space on/off \xB7 m mode \xB7 a add pattern \xB7 r add route \xB7 d remove \xB7 g ghost \xB7 s save${moreAbove ? ` \xB7 \u25B2${moreAbove}` : ""}${moreBelow ? ` \xB7 \u25BC${moreBelow}` : ""}` : "press \u2192 to edit" }),
|
|
9442
|
+
/* @__PURE__ */ jsx5(Text5, { color: theme.dim, wrap: "truncate", children: focused ? `\u2191\u2193 move \xB7 space on/off \xB7 m mode \xB7 a add pattern \xB7 r add route \xB7 d remove \xB7 g ghost \xB7 s save \xB7 ^R refresh${moreAbove ? ` \xB7 \u25B2${moreAbove}` : ""}${moreBelow ? ` \xB7 \u25BC${moreBelow}` : ""}` : "press \u2192 to edit" }),
|
|
9438
9443
|
adding ? /* @__PURE__ */ jsx5(Box5, { flexDirection: "column", children: /* @__PURE__ */ jsxs5(Box5, { children: [
|
|
9439
9444
|
/* @__PURE__ */ jsx5(Text5, { color: theme.warn, children: adding === "name" ? "new pattern name: " : adding === "re" ? `pattern for "${newName}" (glob, * = any chars, e.g. sk-* AKIA*): ` : "ghost path to hide (glob, * = any chars, e.g. */.env *.pem): " }),
|
|
9440
9445
|
/* @__PURE__ */ jsx5(
|
|
@@ -9656,6 +9661,15 @@ function AuditPanel({ active: active2, focused }) {
|
|
|
9656
9661
|
return;
|
|
9657
9662
|
}
|
|
9658
9663
|
if (frozen) return;
|
|
9664
|
+
if (key.ctrl && input === "r") {
|
|
9665
|
+
if (source === "cloud") {
|
|
9666
|
+
cloudQ.reload();
|
|
9667
|
+
agentsQ.reload();
|
|
9668
|
+
statsQ.reloadQuiet();
|
|
9669
|
+
} else localQ.reload();
|
|
9670
|
+
setMsg({ text: "refreshed", level: "ok" });
|
|
9671
|
+
return;
|
|
9672
|
+
}
|
|
9659
9673
|
if (showHelp) {
|
|
9660
9674
|
setShowHelp(false);
|
|
9661
9675
|
return;
|
|
@@ -9908,7 +9922,7 @@ function AuditPanel({ active: active2, focused }) {
|
|
|
9908
9922
|
chip("status", SESS_STATUS[si] ?? "all", si !== 0),
|
|
9909
9923
|
chip("search", sessSearch || "\xB7", !!sessSearch)
|
|
9910
9924
|
] }),
|
|
9911
|
-
/* @__PURE__ */ jsx6(Text6, { color: theme.dim, wrap: "truncate", children: focused ? "\u2191\u2193 select \xB7 enter \u2192 session logs \xB7 v logs \xB7 ? all keys" : "press \u2192 to browse" }),
|
|
9925
|
+
/* @__PURE__ */ jsx6(Text6, { color: theme.dim, wrap: "truncate", children: focused ? "\u2191\u2193 select \xB7 enter \u2192 session logs \xB7 v logs \xB7 ^R refresh \xB7 ? all keys" : "press \u2192 to browse" }),
|
|
9912
9926
|
editing === "sess-search" ? /* @__PURE__ */ jsxs6(Box6, { children: [
|
|
9913
9927
|
/* @__PURE__ */ jsx6(Text6, { color: theme.warn, children: "search: " }),
|
|
9914
9928
|
/* @__PURE__ */ jsx6(
|
|
@@ -9982,7 +9996,7 @@ function AuditPanel({ active: active2, focused }) {
|
|
|
9982
9996
|
chip("search", search || "\xB7", !!search),
|
|
9983
9997
|
sessFilter ? chip("sess", sessFilter.slice(0, 8), true) : null
|
|
9984
9998
|
] }),
|
|
9985
|
-
/* @__PURE__ */ jsx6(Text6, { color: theme.dim, wrap: "truncate", children: focused ? "\u2191\u2193 select \xB7 enter full entry \xB7 \u2190\u2192 page \xB7 v sessions \xB7 ? all keys" : "press \u2192 to browse" }),
|
|
9999
|
+
/* @__PURE__ */ jsx6(Text6, { color: theme.dim, wrap: "truncate", children: focused ? "\u2191\u2193 select \xB7 enter full entry \xB7 \u2190\u2192 page \xB7 v sessions \xB7 ^R refresh \xB7 ? all keys" : "press \u2192 to browse" }),
|
|
9986
10000
|
msg ? /* @__PURE__ */ jsx6(Text6, { color: msg.level === "bad" ? theme.bad : theme.ok, children: truncate2(msg.text, cols) }) : null,
|
|
9987
10001
|
editing && editing !== "sess-search" ? /* @__PURE__ */ jsxs6(Box6, { children: [
|
|
9988
10002
|
/* @__PURE__ */ jsxs6(Text6, { color: theme.warn, children: [
|
|
@@ -10928,7 +10942,16 @@ function SettingsPanel({
|
|
|
10928
10942
|
);
|
|
10929
10943
|
lineKey.push("");
|
|
10930
10944
|
}
|
|
10931
|
-
|
|
10945
|
+
lineEls.push(/* @__PURE__ */ jsx7(Text7, { children: " " }, "ver-sp"));
|
|
10946
|
+
lineKey.push("");
|
|
10947
|
+
lineEls.push(
|
|
10948
|
+
/* @__PURE__ */ jsxs7(Text7, { wrap: "truncate", color: theme.dim, children: [
|
|
10949
|
+
`solongate v${ver}`,
|
|
10950
|
+
latest ? newerThan(latest, ver) ? /* @__PURE__ */ jsx7(Text7, { color: theme.warn, children: ` \xB7 v${latest} on npm \u2014 auto-updating` }) : /* @__PURE__ */ jsx7(Text7, { color: theme.ok, children: " \xB7 latest" }) : null
|
|
10951
|
+
] }, "ver")
|
|
10952
|
+
);
|
|
10953
|
+
lineKey.push("");
|
|
10954
|
+
const budget = Math.max(4, rows - 2);
|
|
10932
10955
|
const selLine = Math.max(0, lineKey.indexOf(keyOf(cur)));
|
|
10933
10956
|
const maxStart = Math.max(0, lineEls.length - budget);
|
|
10934
10957
|
const startL = Math.min(Math.max(0, selLine - Math.floor(budget / 2)), maxStart);
|
|
@@ -10941,11 +10964,7 @@ function SettingsPanel({
|
|
|
10941
10964
|
/* @__PURE__ */ jsx7(Text7, { color: theme.warn, children: editing === "path" ? "local log path: " : "webhook url: " }),
|
|
10942
10965
|
/* @__PURE__ */ jsx7(TextInput5, { value: input, onChange: setInput, onSubmit: submitInput })
|
|
10943
10966
|
] }) : msg ? /* @__PURE__ */ jsx7(Text7, { wrap: "truncate", color: msg.level === "bad" ? theme.bad : theme.ok, children: truncate2(msg.text, cols) }) : login?.msg ? /* @__PURE__ */ jsx7(Text7, { wrap: "truncate", color: login.phase === "error" ? theme.bad : theme.ok, children: login.msg }) : /* @__PURE__ */ jsx7(Text7, { children: " " }),
|
|
10944
|
-
/* @__PURE__ */ jsx7(Box7, { flexDirection: "column", height: budget, overflow: "hidden", children: win })
|
|
10945
|
-
/* @__PURE__ */ jsxs7(Text7, { wrap: "truncate", color: theme.dim, children: [
|
|
10946
|
-
`solongate v${ver}`,
|
|
10947
|
-
latest ? newerThan(latest, ver) ? /* @__PURE__ */ jsx7(Text7, { color: theme.warn, children: ` \xB7 v${latest} on npm \u2014 auto-updating` }) : /* @__PURE__ */ jsx7(Text7, { color: theme.ok, children: " \xB7 latest" }) : null
|
|
10948
|
-
] })
|
|
10967
|
+
/* @__PURE__ */ jsx7(Box7, { flexDirection: "column", height: budget, overflow: "hidden", children: win })
|
|
10949
10968
|
] }) });
|
|
10950
10969
|
}
|
|
10951
10970
|
var EVENTS, SPIN2, SIGNALS2, SIGNAL_LABEL, WINDOWS, winLabel, THRESH_MIN, THRESH_MAX, nearestWindowIdx, editorFieldCount, acctLabel, alertChannel;
|
package/dist/tui/index.js
CHANGED
|
@@ -1999,7 +1999,7 @@ function PoliciesPanel({ focused }) {
|
|
|
1999
1999
|
};
|
|
2000
2000
|
useInput2(
|
|
2001
2001
|
(input, key) => {
|
|
2002
|
-
if (input === "r" && !editing) {
|
|
2002
|
+
if (key.ctrl && input === "r" && !editing) {
|
|
2003
2003
|
list5.reload();
|
|
2004
2004
|
activeQ.reload();
|
|
2005
2005
|
detail.reload();
|
|
@@ -2096,7 +2096,7 @@ function PoliciesPanel({ focused }) {
|
|
|
2096
2096
|
/* @__PURE__ */ jsx3(Text3, { color: theme.dim, children: activeBy ? ` (${activeBy})` : "" })
|
|
2097
2097
|
] }) : /* @__PURE__ */ jsx3(Text3, { color: theme.bad, bold: true, children: "\u25CB NONE \u2014 nothing enforced, grants refused" })
|
|
2098
2098
|
] }),
|
|
2099
|
-
/* @__PURE__ */ jsx3(Text3, { color: theme.dim, children: focused ? "\u2191\u2193 select \xB7 enter open \xB7 a activate \xB7 x deactivate \xB7
|
|
2099
|
+
/* @__PURE__ */ jsx3(Text3, { color: theme.dim, children: focused ? "\u2191\u2193 select \xB7 enter open \xB7 a activate \xB7 x deactivate \xB7 ^R refresh" : "press \u2192 to browse" }),
|
|
2100
2100
|
/* @__PURE__ */ jsx3(Box3, { marginTop: 1, flexDirection: "column", children: policies.map((p, i) => /* @__PURE__ */ jsxs3(Text3, { color: i === pi ? theme.accentBright : void 0, bold: i === pi, children: [
|
|
2101
2101
|
(i === pi ? "\u25B8 " : " ") + truncate(p.name, 26).padEnd(27),
|
|
2102
2102
|
/* @__PURE__ */ jsxs3(Text3, { color: theme.dim, children: [
|
|
@@ -2240,7 +2240,7 @@ function RateLimitPanel({ focused }) {
|
|
|
2240
2240
|
else if (key.leftArrow) adjust(-1, step);
|
|
2241
2241
|
else if (key.rightArrow) adjust(1, step);
|
|
2242
2242
|
else if (input === "s") void save();
|
|
2243
|
-
else if (input === "r") {
|
|
2243
|
+
else if (key.ctrl && input === "r") {
|
|
2244
2244
|
layersQ.reload();
|
|
2245
2245
|
historyQ.reload();
|
|
2246
2246
|
insightsQ.reload();
|
|
@@ -2264,7 +2264,7 @@ function RateLimitPanel({ focused }) {
|
|
|
2264
2264
|
const shown = anomalies2.slice(0, burstBudget);
|
|
2265
2265
|
const bw = Math.max(10, cols - 30);
|
|
2266
2266
|
return /* @__PURE__ */ jsxs4(Box4, { flexDirection: "column", height: rows, overflow: "hidden", children: [
|
|
2267
|
-
/* @__PURE__ */ jsx4(Text4, { color: theme.dim, wrap: "truncate", children: focused ? "\u2191\u2193 field \xB7 \u2190\u2192 \xB11 \xB7 shift+\u2190\u2192 \xB110 \xB7 s save \xB7
|
|
2267
|
+
/* @__PURE__ */ jsx4(Text4, { color: theme.dim, wrap: "truncate", children: focused ? "\u2191\u2193 field \xB7 \u2190\u2192 \xB11 \xB7 shift+\u2190\u2192 \xB110 \xB7 s save \xB7 ^R refresh" : "press \u2192 to edit" }),
|
|
2268
2268
|
/* @__PURE__ */ jsxs4(FieldRow, { label: "Mode", active: focused && fi === 0, children: [
|
|
2269
2269
|
/* @__PURE__ */ jsx4(Text4, { color: modeColor(draft.mode), bold: true, children: draft.mode }),
|
|
2270
2270
|
/* @__PURE__ */ jsx4(Text4, { color: theme.dim, children: draft.mode === "off" ? " no limit" : draft.mode === "detect" ? " flag bursts, never block" : " DENY calls over the limit" })
|
|
@@ -2402,6 +2402,11 @@ function DlpPanel({ focused }) {
|
|
|
2402
2402
|
useInput4(
|
|
2403
2403
|
(input2, key) => {
|
|
2404
2404
|
if (!dlp) return;
|
|
2405
|
+
if (key.ctrl && input2 === "r") {
|
|
2406
|
+
q.reload();
|
|
2407
|
+
setStatus("refreshed");
|
|
2408
|
+
return;
|
|
2409
|
+
}
|
|
2405
2410
|
if (key.upArrow) setSel(() => Math.max(0, selC - 1));
|
|
2406
2411
|
else if (key.downArrow) setSel(() => Math.min(entries.length - 1, selC + 1));
|
|
2407
2412
|
else if (input2 === "m") mutate({ ...dlp, mode: MODES2[(MODES2.indexOf(dlp.mode) + 1) % MODES2.length] });
|
|
@@ -2507,7 +2512,7 @@ function DlpPanel({ focused }) {
|
|
|
2507
2512
|
/* @__PURE__ */ jsx5(Text5, { color: theme.dim, children: dlp.mode === "off" ? " (scanning disabled)" : dlp.mode === "detect" ? " (flag dlp:yes, redact output)" : " (deny + redact secrets)" }),
|
|
2508
2513
|
dirty ? /* @__PURE__ */ jsx5(Text5, { color: theme.warn, children: " \u25CF unsaved (s save \xB7 x discard)" }) : null
|
|
2509
2514
|
] }),
|
|
2510
|
-
/* @__PURE__ */ jsx5(Text5, { color: theme.dim, wrap: "truncate", children: focused ? `\u2191\u2193 move \xB7 space on/off \xB7 m mode \xB7 a add pattern \xB7 r add route \xB7 d remove \xB7 g ghost \xB7 s save${moreAbove ? ` \xB7 \u25B2${moreAbove}` : ""}${moreBelow ? ` \xB7 \u25BC${moreBelow}` : ""}` : "press \u2192 to edit" }),
|
|
2515
|
+
/* @__PURE__ */ jsx5(Text5, { color: theme.dim, wrap: "truncate", children: focused ? `\u2191\u2193 move \xB7 space on/off \xB7 m mode \xB7 a add pattern \xB7 r add route \xB7 d remove \xB7 g ghost \xB7 s save \xB7 ^R refresh${moreAbove ? ` \xB7 \u25B2${moreAbove}` : ""}${moreBelow ? ` \xB7 \u25BC${moreBelow}` : ""}` : "press \u2192 to edit" }),
|
|
2511
2516
|
adding ? /* @__PURE__ */ jsx5(Box5, { flexDirection: "column", children: /* @__PURE__ */ jsxs5(Box5, { children: [
|
|
2512
2517
|
/* @__PURE__ */ jsx5(Text5, { color: theme.warn, children: adding === "name" ? "new pattern name: " : adding === "re" ? `pattern for "${newName}" (glob, * = any chars, e.g. sk-* AKIA*): ` : "ghost path to hide (glob, * = any chars, e.g. */.env *.pem): " }),
|
|
2513
2518
|
/* @__PURE__ */ jsx5(
|
|
@@ -2801,6 +2806,15 @@ function AuditPanel({ active: active2, focused }) {
|
|
|
2801
2806
|
return;
|
|
2802
2807
|
}
|
|
2803
2808
|
if (frozen) return;
|
|
2809
|
+
if (key.ctrl && input === "r") {
|
|
2810
|
+
if (source === "cloud") {
|
|
2811
|
+
cloudQ.reload();
|
|
2812
|
+
agentsQ.reload();
|
|
2813
|
+
statsQ.reloadQuiet();
|
|
2814
|
+
} else localQ.reload();
|
|
2815
|
+
setMsg({ text: "refreshed", level: "ok" });
|
|
2816
|
+
return;
|
|
2817
|
+
}
|
|
2804
2818
|
if (showHelp) {
|
|
2805
2819
|
setShowHelp(false);
|
|
2806
2820
|
return;
|
|
@@ -3053,7 +3067,7 @@ function AuditPanel({ active: active2, focused }) {
|
|
|
3053
3067
|
chip("status", SESS_STATUS[si] ?? "all", si !== 0),
|
|
3054
3068
|
chip("search", sessSearch || "\xB7", !!sessSearch)
|
|
3055
3069
|
] }),
|
|
3056
|
-
/* @__PURE__ */ jsx6(Text6, { color: theme.dim, wrap: "truncate", children: focused ? "\u2191\u2193 select \xB7 enter \u2192 session logs \xB7 v logs \xB7 ? all keys" : "press \u2192 to browse" }),
|
|
3070
|
+
/* @__PURE__ */ jsx6(Text6, { color: theme.dim, wrap: "truncate", children: focused ? "\u2191\u2193 select \xB7 enter \u2192 session logs \xB7 v logs \xB7 ^R refresh \xB7 ? all keys" : "press \u2192 to browse" }),
|
|
3057
3071
|
editing === "sess-search" ? /* @__PURE__ */ jsxs6(Box6, { children: [
|
|
3058
3072
|
/* @__PURE__ */ jsx6(Text6, { color: theme.warn, children: "search: " }),
|
|
3059
3073
|
/* @__PURE__ */ jsx6(
|
|
@@ -3127,7 +3141,7 @@ function AuditPanel({ active: active2, focused }) {
|
|
|
3127
3141
|
chip("search", search || "\xB7", !!search),
|
|
3128
3142
|
sessFilter ? chip("sess", sessFilter.slice(0, 8), true) : null
|
|
3129
3143
|
] }),
|
|
3130
|
-
/* @__PURE__ */ jsx6(Text6, { color: theme.dim, wrap: "truncate", children: focused ? "\u2191\u2193 select \xB7 enter full entry \xB7 \u2190\u2192 page \xB7 v sessions \xB7 ? all keys" : "press \u2192 to browse" }),
|
|
3144
|
+
/* @__PURE__ */ jsx6(Text6, { color: theme.dim, wrap: "truncate", children: focused ? "\u2191\u2193 select \xB7 enter full entry \xB7 \u2190\u2192 page \xB7 v sessions \xB7 ^R refresh \xB7 ? all keys" : "press \u2192 to browse" }),
|
|
3131
3145
|
msg ? /* @__PURE__ */ jsx6(Text6, { color: msg.level === "bad" ? theme.bad : theme.ok, children: truncate(msg.text, cols) }) : null,
|
|
3132
3146
|
editing && editing !== "sess-search" ? /* @__PURE__ */ jsxs6(Box6, { children: [
|
|
3133
3147
|
/* @__PURE__ */ jsxs6(Text6, { color: theme.warn, children: [
|
|
@@ -4172,7 +4186,16 @@ function SettingsPanel({
|
|
|
4172
4186
|
);
|
|
4173
4187
|
lineKey.push("");
|
|
4174
4188
|
}
|
|
4175
|
-
|
|
4189
|
+
lineEls.push(/* @__PURE__ */ jsx7(Text7, { children: " " }, "ver-sp"));
|
|
4190
|
+
lineKey.push("");
|
|
4191
|
+
lineEls.push(
|
|
4192
|
+
/* @__PURE__ */ jsxs7(Text7, { wrap: "truncate", color: theme.dim, children: [
|
|
4193
|
+
`solongate v${ver}`,
|
|
4194
|
+
latest ? newerThan(latest, ver) ? /* @__PURE__ */ jsx7(Text7, { color: theme.warn, children: ` \xB7 v${latest} on npm \u2014 auto-updating` }) : /* @__PURE__ */ jsx7(Text7, { color: theme.ok, children: " \xB7 latest" }) : null
|
|
4195
|
+
] }, "ver")
|
|
4196
|
+
);
|
|
4197
|
+
lineKey.push("");
|
|
4198
|
+
const budget = Math.max(4, rows - 2);
|
|
4176
4199
|
const selLine = Math.max(0, lineKey.indexOf(keyOf(cur)));
|
|
4177
4200
|
const maxStart = Math.max(0, lineEls.length - budget);
|
|
4178
4201
|
const startL = Math.min(Math.max(0, selLine - Math.floor(budget / 2)), maxStart);
|
|
@@ -4185,11 +4208,7 @@ function SettingsPanel({
|
|
|
4185
4208
|
/* @__PURE__ */ jsx7(Text7, { color: theme.warn, children: editing === "path" ? "local log path: " : "webhook url: " }),
|
|
4186
4209
|
/* @__PURE__ */ jsx7(TextInput5, { value: input, onChange: setInput, onSubmit: submitInput })
|
|
4187
4210
|
] }) : msg ? /* @__PURE__ */ jsx7(Text7, { wrap: "truncate", color: msg.level === "bad" ? theme.bad : theme.ok, children: truncate(msg.text, cols) }) : login?.msg ? /* @__PURE__ */ jsx7(Text7, { wrap: "truncate", color: login.phase === "error" ? theme.bad : theme.ok, children: login.msg }) : /* @__PURE__ */ jsx7(Text7, { children: " " }),
|
|
4188
|
-
/* @__PURE__ */ jsx7(Box7, { flexDirection: "column", height: budget, overflow: "hidden", children: win })
|
|
4189
|
-
/* @__PURE__ */ jsxs7(Text7, { wrap: "truncate", color: theme.dim, children: [
|
|
4190
|
-
`solongate v${ver}`,
|
|
4191
|
-
latest ? newerThan(latest, ver) ? /* @__PURE__ */ jsx7(Text7, { color: theme.warn, children: ` \xB7 v${latest} on npm \u2014 auto-updating` }) : /* @__PURE__ */ jsx7(Text7, { color: theme.ok, children: " \xB7 latest" }) : null
|
|
4192
|
-
] })
|
|
4211
|
+
/* @__PURE__ */ jsx7(Box7, { flexDirection: "column", height: budget, overflow: "hidden", children: win })
|
|
4193
4212
|
] }) });
|
|
4194
4213
|
}
|
|
4195
4214
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@solongate/proxy",
|
|
3
|
-
"version": "0.81.
|
|
3
|
+
"version": "0.81.94",
|
|
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": {
|