@node9/proxy 2.44.0 → 2.45.0

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/scan-ink.mjs CHANGED
@@ -7960,9 +7960,10 @@ function AgentLoopsPanel({ loopFindings, width }) {
7960
7960
  import { Box as Box11, Text as Text11 } from "ink";
7961
7961
 
7962
7962
  // src/protection.ts
7963
- var PROTECTIVE_SHIELD_DISCOUNTS = {
7964
- "project-jail": 0.7
7965
- };
7963
+ var PROTECTIVE_SHIELDS = /* @__PURE__ */ new Set(["project-jail"]);
7964
+ function isProtectiveShield(name) {
7965
+ return PROTECTIVE_SHIELDS.has(name);
7966
+ }
7966
7967
 
7967
7968
  // src/cli/render/ink/panels/ShieldsPanel.tsx
7968
7969
  import { jsx as jsx11, jsxs as jsxs11 } from "react/jsx-runtime";
@@ -7970,8 +7971,8 @@ function ShieldsPanel({ summary, width, enabledShields = [] }) {
7970
7971
  const enabled = new Set(enabledShields);
7971
7972
  const impacts = rollupByShield(summary.sections);
7972
7973
  const ranked = [...impacts].sort((a, b) => {
7973
- const aDiscount = PROTECTIVE_SHIELD_DISCOUNTS[a.shieldName] ?? 0;
7974
- const bDiscount = PROTECTIVE_SHIELD_DISCOUNTS[b.shieldName] ?? 0;
7974
+ const aDiscount = isProtectiveShield(a.shieldName) ? 1 : 0;
7975
+ const bDiscount = isProtectiveShield(b.shieldName) ? 1 : 0;
7975
7976
  if (aDiscount !== bDiscount) return bDiscount - aDiscount;
7976
7977
  return b.totalCatches - a.totalCatches;
7977
7978
  });
@@ -7981,15 +7982,13 @@ function ShieldsPanel({ summary, width, enabledShields = [] }) {
7981
7982
  const zeroHitBuiltins = zeroHitAll.filter((name) => !enabled.has(name));
7982
7983
  const zeroHitEnabled = zeroHitAll.filter((name) => enabled.has(name));
7983
7984
  const topRec = hitShields.find(
7984
- (r) => (PROTECTIVE_SHIELD_DISCOUNTS[r.shieldName] ?? 0) > 0 && !enabled.has(r.shieldName)
7985
- );
7986
- const allCovered = !topRec && hitShields.some(
7987
- (r) => (PROTECTIVE_SHIELD_DISCOUNTS[r.shieldName] ?? 0) > 0 && enabled.has(r.shieldName)
7985
+ (r) => isProtectiveShield(r.shieldName) && !enabled.has(r.shieldName)
7988
7986
  );
7987
+ const allCovered = !topRec && hitShields.some((r) => isProtectiveShield(r.shieldName) && enabled.has(r.shieldName));
7989
7988
  return /* @__PURE__ */ jsxs11(Box11, { borderStyle: "round", borderColor: "cyan", paddingX: 1, flexDirection: "column", width, children: [
7990
7989
  /* @__PURE__ */ jsx11(Text11, { bold: true, color: "cyan", children: "SHIELDS" }),
7991
7990
  hitShields.map((impact) => {
7992
- const discount = PROTECTIVE_SHIELD_DISCOUNTS[impact.shieldName] ?? 0;
7991
+ const discount = isProtectiveShield(impact.shieldName) ? 1 : 0;
7993
7992
  const isOn = enabled.has(impact.shieldName);
7994
7993
  const noun = `op${impact.totalCatches !== 1 ? "s" : ""}`;
7995
7994
  return /* @__PURE__ */ jsxs11(Box11, { children: [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@node9/proxy",
3
- "version": "2.44.0",
3
+ "version": "2.45.0",
4
4
  "description": "Access control for AI agents. Set what Claude Code, Codex, Gemini, Cursor and any MCP server are allowed to do, review risky actions before they run, and keep every action on the record.",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",