@node9/proxy 1.0.18 → 1.0.19

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/README.md CHANGED
@@ -5,11 +5,14 @@
5
5
  [![NPM Version](https://img.shields.io/npm/v/@node9/proxy.svg)](https://www.npmjs.com/package/@node9/proxy)
6
6
  [![License: Apache-2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
7
7
  [![Open in HF Spaces](https://huggingface.co/datasets/huggingface/badges/resolve/main/open-in-hf-spaces-sm.svg)](https://huggingface.co/spaces/Node9ai/node9-security-demo)
8
+ [![Documentation](https://img.shields.io/badge/docs-node9.ai%2Fdocs-blue)](https://node9.ai/docs)
8
9
 
9
10
  **Node9** is the execution security layer for the Agentic Era. It encases autonomous AI Agents (Claude Code, Gemini CLI, Cursor, MCP Servers) in a deterministic security wrapper, intercepting dangerous shell commands and tool calls before they execute.
10
11
 
11
12
  While others try to _guess_ if a prompt is malicious (Semantic Security), Node9 _governs_ the actual action (Execution Security).
12
13
 
14
+ 📖 **[Full Documentation →](https://node9.ai/docs)**
15
+
13
16
  ---
14
17
 
15
18
  ## 💎 The "Aha!" Moment
package/dist/cli.js CHANGED
@@ -2404,7 +2404,7 @@ var init_core = __esm({
2404
2404
  {
2405
2405
  field: "command",
2406
2406
  op: "matches",
2407
- value: "git push.*(--force|--force-with-lease|-f\\b)",
2407
+ value: "^\\s*git\\b.*\\bpush\\b.*(--force|--force-with-lease|-f\\b)",
2408
2408
  flags: "i"
2409
2409
  }
2410
2410
  ],
@@ -2415,7 +2415,14 @@ var init_core = __esm({
2415
2415
  {
2416
2416
  name: "review-git-push",
2417
2417
  tool: "bash",
2418
- conditions: [{ field: "command", op: "matches", value: "^\\s*git\\s+push\\b", flags: "i" }],
2418
+ conditions: [
2419
+ {
2420
+ field: "command",
2421
+ op: "matches",
2422
+ value: "^\\s*git\\b.*\\bpush\\b(?!.*(-f\\b|--force|--force-with-lease))",
2423
+ flags: "i"
2424
+ }
2425
+ ],
2419
2426
  conditionMode: "all",
2420
2427
  verdict: "review",
2421
2428
  reason: "git push sends changes to a shared remote"
@@ -2427,7 +2434,7 @@ var init_core = __esm({
2427
2434
  {
2428
2435
  field: "command",
2429
2436
  op: "matches",
2430
- value: "git\\s+(reset\\s+--hard|clean\\s+-[fdxX]|rebase|tag\\s+-d|branch\\s+-[dD])",
2437
+ value: "^\\s*git\\b.*(reset\\s+--hard|clean\\s+-[fdxX]|\\brebase\\b|tag\\s+-d|branch\\s+-[dD])",
2431
2438
  flags: "i"
2432
2439
  }
2433
2440
  ],
package/dist/cli.mjs CHANGED
@@ -2383,7 +2383,7 @@ var init_core = __esm({
2383
2383
  {
2384
2384
  field: "command",
2385
2385
  op: "matches",
2386
- value: "git push.*(--force|--force-with-lease|-f\\b)",
2386
+ value: "^\\s*git\\b.*\\bpush\\b.*(--force|--force-with-lease|-f\\b)",
2387
2387
  flags: "i"
2388
2388
  }
2389
2389
  ],
@@ -2394,7 +2394,14 @@ var init_core = __esm({
2394
2394
  {
2395
2395
  name: "review-git-push",
2396
2396
  tool: "bash",
2397
- conditions: [{ field: "command", op: "matches", value: "^\\s*git\\s+push\\b", flags: "i" }],
2397
+ conditions: [
2398
+ {
2399
+ field: "command",
2400
+ op: "matches",
2401
+ value: "^\\s*git\\b.*\\bpush\\b(?!.*(-f\\b|--force|--force-with-lease))",
2402
+ flags: "i"
2403
+ }
2404
+ ],
2398
2405
  conditionMode: "all",
2399
2406
  verdict: "review",
2400
2407
  reason: "git push sends changes to a shared remote"
@@ -2406,7 +2413,7 @@ var init_core = __esm({
2406
2413
  {
2407
2414
  field: "command",
2408
2415
  op: "matches",
2409
- value: "git\\s+(reset\\s+--hard|clean\\s+-[fdxX]|rebase|tag\\s+-d|branch\\s+-[dD])",
2416
+ value: "^\\s*git\\b.*(reset\\s+--hard|clean\\s+-[fdxX]|\\brebase\\b|tag\\s+-d|branch\\s+-[dD])",
2410
2417
  flags: "i"
2411
2418
  }
2412
2419
  ],
package/dist/index.js CHANGED
@@ -1115,7 +1115,7 @@ var DEFAULT_CONFIG = {
1115
1115
  {
1116
1116
  field: "command",
1117
1117
  op: "matches",
1118
- value: "git push.*(--force|--force-with-lease|-f\\b)",
1118
+ value: "^\\s*git\\b.*\\bpush\\b.*(--force|--force-with-lease|-f\\b)",
1119
1119
  flags: "i"
1120
1120
  }
1121
1121
  ],
@@ -1126,7 +1126,14 @@ var DEFAULT_CONFIG = {
1126
1126
  {
1127
1127
  name: "review-git-push",
1128
1128
  tool: "bash",
1129
- conditions: [{ field: "command", op: "matches", value: "^\\s*git\\s+push\\b", flags: "i" }],
1129
+ conditions: [
1130
+ {
1131
+ field: "command",
1132
+ op: "matches",
1133
+ value: "^\\s*git\\b.*\\bpush\\b(?!.*(-f\\b|--force|--force-with-lease))",
1134
+ flags: "i"
1135
+ }
1136
+ ],
1130
1137
  conditionMode: "all",
1131
1138
  verdict: "review",
1132
1139
  reason: "git push sends changes to a shared remote"
@@ -1138,7 +1145,7 @@ var DEFAULT_CONFIG = {
1138
1145
  {
1139
1146
  field: "command",
1140
1147
  op: "matches",
1141
- value: "git\\s+(reset\\s+--hard|clean\\s+-[fdxX]|rebase|tag\\s+-d|branch\\s+-[dD])",
1148
+ value: "^\\s*git\\b.*(reset\\s+--hard|clean\\s+-[fdxX]|\\brebase\\b|tag\\s+-d|branch\\s+-[dD])",
1142
1149
  flags: "i"
1143
1150
  }
1144
1151
  ],
package/dist/index.mjs CHANGED
@@ -1079,7 +1079,7 @@ var DEFAULT_CONFIG = {
1079
1079
  {
1080
1080
  field: "command",
1081
1081
  op: "matches",
1082
- value: "git push.*(--force|--force-with-lease|-f\\b)",
1082
+ value: "^\\s*git\\b.*\\bpush\\b.*(--force|--force-with-lease|-f\\b)",
1083
1083
  flags: "i"
1084
1084
  }
1085
1085
  ],
@@ -1090,7 +1090,14 @@ var DEFAULT_CONFIG = {
1090
1090
  {
1091
1091
  name: "review-git-push",
1092
1092
  tool: "bash",
1093
- conditions: [{ field: "command", op: "matches", value: "^\\s*git\\s+push\\b", flags: "i" }],
1093
+ conditions: [
1094
+ {
1095
+ field: "command",
1096
+ op: "matches",
1097
+ value: "^\\s*git\\b.*\\bpush\\b(?!.*(-f\\b|--force|--force-with-lease))",
1098
+ flags: "i"
1099
+ }
1100
+ ],
1094
1101
  conditionMode: "all",
1095
1102
  verdict: "review",
1096
1103
  reason: "git push sends changes to a shared remote"
@@ -1102,7 +1109,7 @@ var DEFAULT_CONFIG = {
1102
1109
  {
1103
1110
  field: "command",
1104
1111
  op: "matches",
1105
- value: "git\\s+(reset\\s+--hard|clean\\s+-[fdxX]|rebase|tag\\s+-d|branch\\s+-[dD])",
1112
+ value: "^\\s*git\\b.*(reset\\s+--hard|clean\\s+-[fdxX]|\\brebase\\b|tag\\s+-d|branch\\s+-[dD])",
1106
1113
  flags: "i"
1107
1114
  }
1108
1115
  ],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@node9/proxy",
3
- "version": "1.0.18",
3
+ "version": "1.0.19",
4
4
  "description": "The Sudo Command for AI Agents. Execution Security for Claude Code & MCP.",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",