@solongate/proxy 0.81.73 → 0.81.74
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 +8 -17
- package/dist/tui/index.js +8 -17
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -9376,7 +9376,7 @@ function DlpPanel({ focused }) {
|
|
|
9376
9376
|
});
|
|
9377
9377
|
const note = (key, text) => lines.push({ node: /* @__PURE__ */ jsx5(Text5, { color: theme.dim, wrap: "truncate", children: text }, key), entry: -1 });
|
|
9378
9378
|
let ei = 0;
|
|
9379
|
-
header("h:builtin", "built-in secret patterns", "space toggles");
|
|
9379
|
+
header("h:builtin", "built-in secret patterns", "space toggles on/off");
|
|
9380
9380
|
available.forEach((p) => {
|
|
9381
9381
|
const on = enabled.has(p);
|
|
9382
9382
|
const isCur = focused && ei === selC;
|
|
@@ -9390,7 +9390,8 @@ function DlpPanel({ focused }) {
|
|
|
9390
9390
|
entry: idx
|
|
9391
9391
|
});
|
|
9392
9392
|
});
|
|
9393
|
-
header("h:custom", "custom patterns", "a add \xB7 d remove");
|
|
9393
|
+
header("h:custom", "custom patterns", "regex over tool args \xB7 a add \xB7 d remove");
|
|
9394
|
+
note("n:custom-help", " a JS regex, e.g. sk-[a-z0-9]{20} AKIA[0-9A-Z]{16} password=\\S+");
|
|
9394
9395
|
if ((dlp?.custom.length ?? 0) === 0) note("n:custom", " (none \u2014 press a to add a name + regex)");
|
|
9395
9396
|
(dlp?.custom ?? []).forEach((c2, i) => {
|
|
9396
9397
|
const isCur = focused && ei === selC;
|
|
@@ -9405,7 +9406,8 @@ function DlpPanel({ focused }) {
|
|
|
9405
9406
|
});
|
|
9406
9407
|
});
|
|
9407
9408
|
header("h:ghost", "ghost \u2014 hidden paths", `${ghostOn ? "ON" : "off"} (g) \xB7 r add route \xB7 d remove`);
|
|
9408
|
-
|
|
9409
|
+
note("n:ghost-help", " glob path, * = any chars, e.g. */.env *.pem */secrets/* *secret*");
|
|
9410
|
+
if (ghostPats.length === 0) note("n:ghost", " (none \u2014 g turns ghost on, r adds a path to hide)");
|
|
9409
9411
|
ghostPats.forEach((p, i) => {
|
|
9410
9412
|
const isCur = focused && ei === selC;
|
|
9411
9413
|
const idx = ei++;
|
|
@@ -9419,7 +9421,7 @@ function DlpPanel({ focused }) {
|
|
|
9419
9421
|
});
|
|
9420
9422
|
});
|
|
9421
9423
|
const editRows = adding === "re" ? 2 : adding ? 1 : 0;
|
|
9422
|
-
const headerRows =
|
|
9424
|
+
const headerRows = 2 + editRows + (status ? 1 : 0);
|
|
9423
9425
|
const budget = Math.max(3, rows - headerRows - 1);
|
|
9424
9426
|
const selLine = Math.max(0, lines.findIndex((l) => l.entry === selC));
|
|
9425
9427
|
const maxStart = Math.max(0, lines.length - budget);
|
|
@@ -9434,21 +9436,10 @@ function DlpPanel({ focused }) {
|
|
|
9434
9436
|
/* @__PURE__ */ jsx5(Text5, { color: theme.dim, children: dlp.mode === "off" ? " (scanning disabled)" : dlp.mode === "detect" ? " (flag dlp:yes, redact output)" : " (deny + redact secrets)" }),
|
|
9435
9437
|
dirty ? /* @__PURE__ */ jsx5(Text5, { color: theme.warn, children: " \u25CF unsaved (s save \xB7 x discard)" }) : null
|
|
9436
9438
|
] }),
|
|
9437
|
-
/* @__PURE__ */ jsx5(Text5, { color: theme.dim, wrap: "truncate", children: focused ?
|
|
9438
|
-
/* @__PURE__ */ jsxs5(Text5, { color: theme.dim, wrap: "truncate", children: [
|
|
9439
|
-
"legend ",
|
|
9440
|
-
/* @__PURE__ */ jsx5(Text5, { color: theme.ok, children: "\u25CF" }),
|
|
9441
|
-
" on \xB7 ",
|
|
9442
|
-
/* @__PURE__ */ jsx5(Text5, { color: theme.dim, children: "\u25CB" }),
|
|
9443
|
-
" off \xB7 ",
|
|
9444
|
-
/* @__PURE__ */ jsx5(Text5, { color: theme.accentBright, children: "\u25B8" }),
|
|
9445
|
-
" cursor",
|
|
9446
|
-
moreAbove ? /* @__PURE__ */ jsx5(Text5, { children: ` \u25B2${moreAbove}` }) : null,
|
|
9447
|
-
moreBelow ? /* @__PURE__ */ jsx5(Text5, { children: ` \u25BC${moreBelow}` }) : null
|
|
9448
|
-
] }),
|
|
9439
|
+
/* @__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" }),
|
|
9449
9440
|
adding ? /* @__PURE__ */ jsxs5(Box5, { flexDirection: "column", children: [
|
|
9450
9441
|
/* @__PURE__ */ jsxs5(Box5, { children: [
|
|
9451
|
-
/* @__PURE__ */ jsx5(Text5, { color: theme.warn, children: adding === "name" ? "new pattern name: " : adding === "re" ? `regex for "${newName}": ` : "ghost
|
|
9442
|
+
/* @__PURE__ */ jsx5(Text5, { color: theme.warn, children: adding === "name" ? "new pattern name: " : adding === "re" ? `regex for "${newName}" (e.g. sk-[a-z0-9]{20}): ` : "ghost path to hide (glob, * = any chars, e.g. */.env *.pem): " }),
|
|
9452
9443
|
/* @__PURE__ */ jsx5(
|
|
9453
9444
|
TextInput3,
|
|
9454
9445
|
{
|
package/dist/tui/index.js
CHANGED
|
@@ -2424,7 +2424,7 @@ function DlpPanel({ focused }) {
|
|
|
2424
2424
|
});
|
|
2425
2425
|
const note = (key, text) => lines.push({ node: /* @__PURE__ */ jsx5(Text5, { color: theme.dim, wrap: "truncate", children: text }, key), entry: -1 });
|
|
2426
2426
|
let ei = 0;
|
|
2427
|
-
header("h:builtin", "built-in secret patterns", "space toggles");
|
|
2427
|
+
header("h:builtin", "built-in secret patterns", "space toggles on/off");
|
|
2428
2428
|
available.forEach((p) => {
|
|
2429
2429
|
const on = enabled.has(p);
|
|
2430
2430
|
const isCur = focused && ei === selC;
|
|
@@ -2438,7 +2438,8 @@ function DlpPanel({ focused }) {
|
|
|
2438
2438
|
entry: idx
|
|
2439
2439
|
});
|
|
2440
2440
|
});
|
|
2441
|
-
header("h:custom", "custom patterns", "a add \xB7 d remove");
|
|
2441
|
+
header("h:custom", "custom patterns", "regex over tool args \xB7 a add \xB7 d remove");
|
|
2442
|
+
note("n:custom-help", " a JS regex, e.g. sk-[a-z0-9]{20} AKIA[0-9A-Z]{16} password=\\S+");
|
|
2442
2443
|
if ((dlp?.custom.length ?? 0) === 0) note("n:custom", " (none \u2014 press a to add a name + regex)");
|
|
2443
2444
|
(dlp?.custom ?? []).forEach((c2, i) => {
|
|
2444
2445
|
const isCur = focused && ei === selC;
|
|
@@ -2453,7 +2454,8 @@ function DlpPanel({ focused }) {
|
|
|
2453
2454
|
});
|
|
2454
2455
|
});
|
|
2455
2456
|
header("h:ghost", "ghost \u2014 hidden paths", `${ghostOn ? "ON" : "off"} (g) \xB7 r add route \xB7 d remove`);
|
|
2456
|
-
|
|
2457
|
+
note("n:ghost-help", " glob path, * = any chars, e.g. */.env *.pem */secrets/* *secret*");
|
|
2458
|
+
if (ghostPats.length === 0) note("n:ghost", " (none \u2014 g turns ghost on, r adds a path to hide)");
|
|
2457
2459
|
ghostPats.forEach((p, i) => {
|
|
2458
2460
|
const isCur = focused && ei === selC;
|
|
2459
2461
|
const idx = ei++;
|
|
@@ -2467,7 +2469,7 @@ function DlpPanel({ focused }) {
|
|
|
2467
2469
|
});
|
|
2468
2470
|
});
|
|
2469
2471
|
const editRows = adding === "re" ? 2 : adding ? 1 : 0;
|
|
2470
|
-
const headerRows =
|
|
2472
|
+
const headerRows = 2 + editRows + (status ? 1 : 0);
|
|
2471
2473
|
const budget = Math.max(3, rows - headerRows - 1);
|
|
2472
2474
|
const selLine = Math.max(0, lines.findIndex((l) => l.entry === selC));
|
|
2473
2475
|
const maxStart = Math.max(0, lines.length - budget);
|
|
@@ -2482,21 +2484,10 @@ function DlpPanel({ focused }) {
|
|
|
2482
2484
|
/* @__PURE__ */ jsx5(Text5, { color: theme.dim, children: dlp.mode === "off" ? " (scanning disabled)" : dlp.mode === "detect" ? " (flag dlp:yes, redact output)" : " (deny + redact secrets)" }),
|
|
2483
2485
|
dirty ? /* @__PURE__ */ jsx5(Text5, { color: theme.warn, children: " \u25CF unsaved (s save \xB7 x discard)" }) : null
|
|
2484
2486
|
] }),
|
|
2485
|
-
/* @__PURE__ */ jsx5(Text5, { color: theme.dim, wrap: "truncate", children: focused ?
|
|
2486
|
-
/* @__PURE__ */ jsxs5(Text5, { color: theme.dim, wrap: "truncate", children: [
|
|
2487
|
-
"legend ",
|
|
2488
|
-
/* @__PURE__ */ jsx5(Text5, { color: theme.ok, children: "\u25CF" }),
|
|
2489
|
-
" on \xB7 ",
|
|
2490
|
-
/* @__PURE__ */ jsx5(Text5, { color: theme.dim, children: "\u25CB" }),
|
|
2491
|
-
" off \xB7 ",
|
|
2492
|
-
/* @__PURE__ */ jsx5(Text5, { color: theme.accentBright, children: "\u25B8" }),
|
|
2493
|
-
" cursor",
|
|
2494
|
-
moreAbove ? /* @__PURE__ */ jsx5(Text5, { children: ` \u25B2${moreAbove}` }) : null,
|
|
2495
|
-
moreBelow ? /* @__PURE__ */ jsx5(Text5, { children: ` \u25BC${moreBelow}` }) : null
|
|
2496
|
-
] }),
|
|
2487
|
+
/* @__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" }),
|
|
2497
2488
|
adding ? /* @__PURE__ */ jsxs5(Box5, { flexDirection: "column", children: [
|
|
2498
2489
|
/* @__PURE__ */ jsxs5(Box5, { children: [
|
|
2499
|
-
/* @__PURE__ */ jsx5(Text5, { color: theme.warn, children: adding === "name" ? "new pattern name: " : adding === "re" ? `regex for "${newName}": ` : "ghost
|
|
2490
|
+
/* @__PURE__ */ jsx5(Text5, { color: theme.warn, children: adding === "name" ? "new pattern name: " : adding === "re" ? `regex for "${newName}" (e.g. sk-[a-z0-9]{20}): ` : "ghost path to hide (glob, * = any chars, e.g. */.env *.pem): " }),
|
|
2500
2491
|
/* @__PURE__ */ jsx5(
|
|
2501
2492
|
TextInput3,
|
|
2502
2493
|
{
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@solongate/proxy",
|
|
3
|
-
"version": "0.81.
|
|
3
|
+
"version": "0.81.74",
|
|
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": {
|