@solongate/proxy 0.82.92 → 0.82.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.
@@ -1233,7 +1233,12 @@ async function collectChecks() {
1233
1233
  checks.push({ name: "active policy", ok: "warn", detail: "no policy resolves - every call falls back to default" });
1234
1234
  }
1235
1235
  const sec = active2.security;
1236
- checks.push({ name: "rate limit", ok: sec?.rateLimit ? true : "warn", detail: sec?.rateLimit ? `${sec.rateLimit.perMinute}/min` : "off" });
1236
+ const rlBlock = sec?.rateLimit;
1237
+ const rlObserve = sec?.rateLimitObserve;
1238
+ const rlWindows = (l) => [l.perMinute ? `${l.perMinute}/min` : "", l.perHour ? `${l.perHour}/hr` : "", l.perDay ? `${l.perDay}/day` : ""].filter(Boolean).join(" \xB7 ") || "no window set";
1239
+ checks.push(
1240
+ rlBlock ? { name: "rate limit", ok: true, detail: `block \xB7 ${rlWindows(rlBlock)}` } : rlObserve ? { name: "rate limit", ok: true, detail: `detect \xB7 ${rlWindows(rlObserve)} \xB7 flags bursts, never blocks` } : { name: "rate limit", ok: "warn", detail: "off" }
1241
+ );
1237
1242
  checks.push({ name: "dlp", ok: sec?.dlpBlock ? true : "warn", detail: sec?.dlpBlock ? `block \xB7 ${sec.dlpBlock.patterns.length} patterns` : sec?.dlpRedact ? "redact" : "off" });
1238
1243
  checks.push({ name: "self-protection", ok: active2.self_protection_enabled ? true : "warn", detail: active2.self_protection_enabled ? "on" : "off" });
1239
1244
  } catch (e) {
@@ -1241,7 +1246,7 @@ async function collectChecks() {
1241
1246
  }
1242
1247
  try {
1243
1248
  const g = await api.settings.getGuardStatus();
1244
- checks.push({ name: "guard hook", ok: g.up_to_date ? true : "warn", detail: g.up_to_date ? `v${g.installed} (latest) \xB7 ${g.device_count} device(s)` : `v${g.installed} \u2192 v${g.latest} available \xB7 update from \`solongate\` \u2192 Settings \u2192 guard` });
1249
+ checks.push({ name: "guard hook", ok: g.up_to_date ? true : "warn", detail: g.up_to_date ? `v${g.installed} (latest) \xB7 ${g.device_count} device(s)` : `v${g.installed} \u2192 v${g.latest} available \xB7 run \`solongate update\` in your terminal` });
1245
1250
  } catch {
1246
1251
  }
1247
1252
  }
package/dist/index.js CHANGED
@@ -11320,7 +11320,12 @@ async function collectChecks() {
11320
11320
  checks.push({ name: "active policy", ok: "warn", detail: "no policy resolves - every call falls back to default" });
11321
11321
  }
11322
11322
  const sec = active2.security;
11323
- checks.push({ name: "rate limit", ok: sec?.rateLimit ? true : "warn", detail: sec?.rateLimit ? `${sec.rateLimit.perMinute}/min` : "off" });
11323
+ const rlBlock = sec?.rateLimit;
11324
+ const rlObserve = sec?.rateLimitObserve;
11325
+ const rlWindows = (l) => [l.perMinute ? `${l.perMinute}/min` : "", l.perHour ? `${l.perHour}/hr` : "", l.perDay ? `${l.perDay}/day` : ""].filter(Boolean).join(" \xB7 ") || "no window set";
11326
+ checks.push(
11327
+ rlBlock ? { name: "rate limit", ok: true, detail: `block \xB7 ${rlWindows(rlBlock)}` } : rlObserve ? { name: "rate limit", ok: true, detail: `detect \xB7 ${rlWindows(rlObserve)} \xB7 flags bursts, never blocks` } : { name: "rate limit", ok: "warn", detail: "off" }
11328
+ );
11324
11329
  checks.push({ name: "dlp", ok: sec?.dlpBlock ? true : "warn", detail: sec?.dlpBlock ? `block \xB7 ${sec.dlpBlock.patterns.length} patterns` : sec?.dlpRedact ? "redact" : "off" });
11325
11330
  checks.push({ name: "self-protection", ok: active2.self_protection_enabled ? true : "warn", detail: active2.self_protection_enabled ? "on" : "off" });
11326
11331
  } catch (e) {
@@ -11328,7 +11333,7 @@ async function collectChecks() {
11328
11333
  }
11329
11334
  try {
11330
11335
  const g = await api.settings.getGuardStatus();
11331
- checks.push({ name: "guard hook", ok: g.up_to_date ? true : "warn", detail: g.up_to_date ? `v${g.installed} (latest) \xB7 ${g.device_count} device(s)` : `v${g.installed} \u2192 v${g.latest} available \xB7 update from \`solongate\` \u2192 Settings \u2192 guard` });
11336
+ checks.push({ name: "guard hook", ok: g.up_to_date ? true : "warn", detail: g.up_to_date ? `v${g.installed} (latest) \xB7 ${g.device_count} device(s)` : `v${g.installed} \u2192 v${g.latest} available \xB7 run \`solongate update\` in your terminal` });
11332
11337
  } catch {
11333
11338
  }
11334
11339
  }
package/dist/tui/index.js CHANGED
@@ -4349,7 +4349,12 @@ async function collectChecks() {
4349
4349
  checks.push({ name: "active policy", ok: "warn", detail: "no policy resolves - every call falls back to default" });
4350
4350
  }
4351
4351
  const sec = active2.security;
4352
- checks.push({ name: "rate limit", ok: sec?.rateLimit ? true : "warn", detail: sec?.rateLimit ? `${sec.rateLimit.perMinute}/min` : "off" });
4352
+ const rlBlock = sec?.rateLimit;
4353
+ const rlObserve = sec?.rateLimitObserve;
4354
+ const rlWindows = (l) => [l.perMinute ? `${l.perMinute}/min` : "", l.perHour ? `${l.perHour}/hr` : "", l.perDay ? `${l.perDay}/day` : ""].filter(Boolean).join(" \xB7 ") || "no window set";
4355
+ checks.push(
4356
+ rlBlock ? { name: "rate limit", ok: true, detail: `block \xB7 ${rlWindows(rlBlock)}` } : rlObserve ? { name: "rate limit", ok: true, detail: `detect \xB7 ${rlWindows(rlObserve)} \xB7 flags bursts, never blocks` } : { name: "rate limit", ok: "warn", detail: "off" }
4357
+ );
4353
4358
  checks.push({ name: "dlp", ok: sec?.dlpBlock ? true : "warn", detail: sec?.dlpBlock ? `block \xB7 ${sec.dlpBlock.patterns.length} patterns` : sec?.dlpRedact ? "redact" : "off" });
4354
4359
  checks.push({ name: "self-protection", ok: active2.self_protection_enabled ? true : "warn", detail: active2.self_protection_enabled ? "on" : "off" });
4355
4360
  } catch (e) {
@@ -4357,7 +4362,7 @@ async function collectChecks() {
4357
4362
  }
4358
4363
  try {
4359
4364
  const g = await api.settings.getGuardStatus();
4360
- checks.push({ name: "guard hook", ok: g.up_to_date ? true : "warn", detail: g.up_to_date ? `v${g.installed} (latest) \xB7 ${g.device_count} device(s)` : `v${g.installed} \u2192 v${g.latest} available \xB7 update from \`solongate\` \u2192 Settings \u2192 guard` });
4365
+ checks.push({ name: "guard hook", ok: g.up_to_date ? true : "warn", detail: g.up_to_date ? `v${g.installed} (latest) \xB7 ${g.device_count} device(s)` : `v${g.installed} \u2192 v${g.latest} available \xB7 run \`solongate update\` in your terminal` });
4361
4366
  } catch {
4362
4367
  }
4363
4368
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solongate/proxy",
3
- "version": "0.82.92",
3
+ "version": "0.82.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": {