@solongate/proxy 0.82.29 → 0.82.30
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 +11 -2
- package/dist/tui/index.js +9 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -8906,6 +8906,13 @@ function PoliciesPanel({ focused }) {
|
|
|
8906
8906
|
return;
|
|
8907
8907
|
}
|
|
8908
8908
|
if (view === "rules") {
|
|
8909
|
+
if (key.ctrl && input === "d") {
|
|
8910
|
+
if (selected) {
|
|
8911
|
+
openBrowser(`${DASHBOARD_URL}/playground?policy=${encodeURIComponent(selected.id)}`);
|
|
8912
|
+
setStatus("Opened the dry-run playground in your browser.");
|
|
8913
|
+
}
|
|
8914
|
+
return;
|
|
8915
|
+
}
|
|
8909
8916
|
if (key.leftArrow) return setView("list"), void setStatus(null);
|
|
8910
8917
|
if (key.upArrow) setRi((n) => Math.max(0, n - 1));
|
|
8911
8918
|
else if (key.downArrow) setRi((n) => Math.min(rules.length - 1, n + 1));
|
|
@@ -9018,7 +9025,7 @@ function PoliciesPanel({ focused }) {
|
|
|
9018
9025
|
/* @__PURE__ */ jsx3(Text3, { color: theme.dim, children: ` ${rules.length} rules` }),
|
|
9019
9026
|
dirtyTag
|
|
9020
9027
|
] }),
|
|
9021
|
-
/* @__PURE__ */ jsx3(Text3, { color: theme.dim, wrap: "truncate", children: `\u2191\u2193 \xB7 enter edit \xB7 space on/off \xB7 e effect \xB7 n new \xB7 d del \xB7 m mode \xB7 D dry-run \xB7 s save \xB7 \u2190 back${rAbove ? ` \xB7 \u25B2${rAbove}` : ""}${rBelow ? ` \xB7 \u25BC${rBelow}` : ""}` }),
|
|
9028
|
+
/* @__PURE__ */ jsx3(Text3, { color: theme.dim, wrap: "truncate", children: `\u2191\u2193 \xB7 enter edit \xB7 space on/off \xB7 e effect \xB7 n new \xB7 d del \xB7 m mode \xB7 D dry-run \xB7 ^D playground \xB7 s save \xB7 \u2190 back${rAbove ? ` \xB7 \u25B2${rAbove}` : ""}${rBelow ? ` \xB7 \u25BC${rBelow}` : ""}` }),
|
|
9022
9029
|
/* @__PURE__ */ jsx3(Box3, { marginTop: 1, children: /* @__PURE__ */ jsx3(
|
|
9023
9030
|
Table,
|
|
9024
9031
|
{
|
|
@@ -9085,14 +9092,16 @@ function PoliciesPanel({ focused }) {
|
|
|
9085
9092
|
status ? /* @__PURE__ */ jsx3(Text3, { color: status.startsWith("\u2717") ? theme.bad : theme.ok, children: status }) : null
|
|
9086
9093
|
] });
|
|
9087
9094
|
}
|
|
9088
|
-
var constr, setConstr, FIELDS;
|
|
9095
|
+
var DASHBOARD_URL, constr, setConstr, FIELDS;
|
|
9089
9096
|
var init_Policies = __esm({
|
|
9090
9097
|
"src/tui/panels/Policies.tsx"() {
|
|
9091
9098
|
"use strict";
|
|
9092
9099
|
init_api_client();
|
|
9100
|
+
init_device_login();
|
|
9093
9101
|
init_components();
|
|
9094
9102
|
init_hooks();
|
|
9095
9103
|
init_theme();
|
|
9104
|
+
DASHBOARD_URL = "https://dashboard.solongate.com";
|
|
9096
9105
|
constr = (r, g, side) => (r[g]?.[side] ?? []).join(", ");
|
|
9097
9106
|
setConstr = (r, g, side, val) => {
|
|
9098
9107
|
const arr = val.split(",").map((s) => s.trim()).filter(Boolean);
|
package/dist/tui/index.js
CHANGED
|
@@ -1903,6 +1903,7 @@ import { Box as Box3, Text as Text3, useInput as useInput2 } from "ink";
|
|
|
1903
1903
|
import TextInput2 from "ink-text-input";
|
|
1904
1904
|
import { useEffect as useEffect3, useState as useState3 } from "react";
|
|
1905
1905
|
import { Fragment as Fragment3, jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
1906
|
+
var DASHBOARD_URL = "https://dashboard.solongate.com";
|
|
1906
1907
|
var constr = (r, g, side) => (r[g]?.[side] ?? []).join(", ");
|
|
1907
1908
|
var setConstr = (r, g, side, val) => {
|
|
1908
1909
|
const arr = val.split(",").map((s) => s.trim()).filter(Boolean);
|
|
@@ -2031,6 +2032,13 @@ function PoliciesPanel({ focused }) {
|
|
|
2031
2032
|
return;
|
|
2032
2033
|
}
|
|
2033
2034
|
if (view === "rules") {
|
|
2035
|
+
if (key.ctrl && input === "d") {
|
|
2036
|
+
if (selected) {
|
|
2037
|
+
openBrowser(`${DASHBOARD_URL}/playground?policy=${encodeURIComponent(selected.id)}`);
|
|
2038
|
+
setStatus("Opened the dry-run playground in your browser.");
|
|
2039
|
+
}
|
|
2040
|
+
return;
|
|
2041
|
+
}
|
|
2034
2042
|
if (key.leftArrow) return setView("list"), void setStatus(null);
|
|
2035
2043
|
if (key.upArrow) setRi((n) => Math.max(0, n - 1));
|
|
2036
2044
|
else if (key.downArrow) setRi((n) => Math.min(rules.length - 1, n + 1));
|
|
@@ -2143,7 +2151,7 @@ function PoliciesPanel({ focused }) {
|
|
|
2143
2151
|
/* @__PURE__ */ jsx3(Text3, { color: theme.dim, children: ` ${rules.length} rules` }),
|
|
2144
2152
|
dirtyTag
|
|
2145
2153
|
] }),
|
|
2146
|
-
/* @__PURE__ */ jsx3(Text3, { color: theme.dim, wrap: "truncate", children: `\u2191\u2193 \xB7 enter edit \xB7 space on/off \xB7 e effect \xB7 n new \xB7 d del \xB7 m mode \xB7 D dry-run \xB7 s save \xB7 \u2190 back${rAbove ? ` \xB7 \u25B2${rAbove}` : ""}${rBelow ? ` \xB7 \u25BC${rBelow}` : ""}` }),
|
|
2154
|
+
/* @__PURE__ */ jsx3(Text3, { color: theme.dim, wrap: "truncate", children: `\u2191\u2193 \xB7 enter edit \xB7 space on/off \xB7 e effect \xB7 n new \xB7 d del \xB7 m mode \xB7 D dry-run \xB7 ^D playground \xB7 s save \xB7 \u2190 back${rAbove ? ` \xB7 \u25B2${rAbove}` : ""}${rBelow ? ` \xB7 \u25BC${rBelow}` : ""}` }),
|
|
2147
2155
|
/* @__PURE__ */ jsx3(Box3, { marginTop: 1, children: /* @__PURE__ */ jsx3(
|
|
2148
2156
|
Table,
|
|
2149
2157
|
{
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@solongate/proxy",
|
|
3
|
-
"version": "0.82.
|
|
3
|
+
"version": "0.82.30",
|
|
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": {
|