@node9/proxy 1.10.2 → 1.11.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/README.md CHANGED
@@ -102,6 +102,10 @@ node9 mcp pin reset # clear all pins (re-pin on next connection)
102
102
 
103
103
  This is automatic — no configuration needed. The gateway pins on first `tools/list` and enforces on every subsequent session.
104
104
 
105
+ ### Skills Pinning — installed-plugin drift detection
106
+
107
+ Marketplace plugins at `~/.claude/plugins/marketplaces/` come from registries, not your workspace — `git status` never sees them. Each installed plugin gets its own pin (same model as MCP server pinning): installing a new plugin creates a new pin silently; only changes to an already-pinned plugin trigger drift. Opt-in via `policy.skillPinning.enabled: true`; use `mode: 'block'` for strict enforcement. User-edited files are **not** in default scope. Extend via `policy.skillPinning.roots`.
108
+
105
109
  ---
106
110
 
107
111
  ## Python SDK — govern any Python agent
@@ -125,12 +129,17 @@ configure(agent_name="my-agent", policy="require_approval")
125
129
  - **Shell:** blocks `curl | bash`, `sudo` commands
126
130
  - **DLP:** blocks AWS keys, GitHub tokens, Stripe keys, PEM private keys in any tool call argument
127
131
  - **Auto-undo:** git snapshot before every AI file edit → `node9 undo` to revert
132
+ - **Skills Pinning:** SHA-256 verification of agent skill files between sessions; quarantines on drift (AST 02 + AST 07 — supply chain & update drift)
128
133
 
129
134
  ---
130
135
 
131
- ## Flight Recorder & HUD
136
+ ## Observability
137
+
138
+ Every tool call your AI agent makes is recorded — command, arguments, result, and cost estimate. Node9 gives you four ways to see what your agent is doing.
132
139
 
133
- Every tool call your AI agent makes is recorded — command, arguments, result, and cost estimate. Node9 wires a live statusline into Claude Code that shows you what's happening in real time:
140
+ ### Live HUD (statusline)
141
+
142
+ Node9 wires a live statusline into Claude Code that shows you what's happening in real time:
134
143
 
135
144
  ```
136
145
  🛡 node9 | standard | [bash-safe] | ✅ 12 allowed 🛑 2 blocked 🚨 0 dlp | ~$0.43 | ⚡ no-force-push
@@ -146,9 +155,20 @@ Every tool call your AI agent makes is recorded — command, arguments, result,
146
155
 
147
156
  The HUD is wired automatically by `node9 init`. Full session logs land in `~/.node9/audit.log`.
148
157
 
149
- ### Offline Report
158
+ ### `node9 tail` — live stream
150
159
 
151
- Run `node9 report` after a session to get a summary dashboard what was allowed, what was blocked, DLP hits, cost (Claude Code only), and daily activity:
160
+ Stream every tool call as it happens. Useful when you send an agent off to work and want to watch what it's doing:
161
+
162
+ ```bash
163
+ node9 tail # stream tool calls for the active session
164
+ node9 tail --all # include all projects
165
+ ```
166
+
167
+ Each line shows the tool name, a summary of its arguments, and the decision (allowed / blocked / DLP hit).
168
+
169
+ ### `node9 report` — security dashboard
170
+
171
+ Run after a session to get a summary of what was allowed, blocked, DLP hits, cost, and daily activity:
152
172
 
153
173
  ```
154
174
  $ node9 report --period 7d
@@ -175,6 +195,92 @@ $ node9 report --period 7d
175
195
 
176
196
  Periods: `today`, `7d` (default), `30d`, `month`. Cost data is read from `~/.claude/projects/` — no API calls, fully offline.
177
197
 
198
+ ### `node9 sessions` — session history
199
+
200
+ See what your AI agent did across sessions — prompt, tool calls, cost, files modified, and whether a snapshot was taken. Useful when you hand off a task and come back to review what happened:
201
+
202
+ ```
203
+ $ node9 sessions --all
204
+
205
+ 📋 node9 sessions — what your AI agent did
206
+
207
+ 7 sessions $178.93 total 2379 tool calls 122 files modified
208
+ avg $25.56 /session 7 of 7 sessions had snapshots
209
+
210
+ Tool breakdown:
211
+ Bash ████████████████████ 1165 (49%)
212
+ Read ███████████░░░░░░░░░ 613 (26%)
213
+ Edit ██████░░░░░░░░░░░░░░ 367 (15%)
214
+ Other ███░░░░░░░░░░░░░░░░░ 203 (9%)
215
+ Write █░░░░░░░░░░░░░░░░░░░ 31 (1%)
216
+
217
+ ─── Apr 15 ~/node9
218
+ 14:47 implement delegated sessions feature 919 tools $74.45 📸 00ac39e2
219
+ 12:47 ok, it seems you crash and we have a bug… 95 tools $6.40 📸 5a4e7fab
220
+ ```
221
+
222
+ Drill into any session for a full tool trace:
223
+
224
+ ```
225
+ $ node9 sessions --detail 4812594b
226
+
227
+ Session 4812594b-c93f-4a26-91f0-44aa2e324918
228
+ Prompt can you push node9-proxy to git dev?
229
+ Project ~/node9
230
+ When Apr 9, 2026, 20:49
231
+ Cost ~$2.06
232
+ Snapshot ✓ taken
233
+
234
+ Tool calls (54):
235
+ 20:49 Bash git status && git branch -a
236
+ 20:52 Write /home/nadav/node9/node9-proxy/.git/hooks/pre-commit
237
+ 20:56 Edit /home/nadav/node9/node9-proxy/src/cli/commands/check.ts
238
+ ...
239
+
240
+ Files modified (3):
241
+ /home/nadav/node9/node9-proxy/.git/hooks/pre-commit
242
+ /home/nadav/node9/node9-proxy/src/cli/commands/check.ts
243
+ /home/nadav/node9/node9-proxy/src/cli/hud.ts
244
+ ```
245
+
246
+ ```bash
247
+ node9 sessions # last 7 days
248
+ node9 sessions --all # all time
249
+ node9 sessions --days 30 # last 30 days
250
+ node9 sessions --detail <session-id> # full tool trace (prefix match on session ID)
251
+ ```
252
+
253
+ Currently works with Claude Code. Support for other agents coming as they expose session history.
254
+
255
+ ### `node9 scan` — day-0 forecast
256
+
257
+ Not installed yet? Run `node9 scan` against your existing Claude Code history to see what Node9 **would have caught** if it had been running:
258
+
259
+ ```
260
+ $ node9 scan
261
+
262
+ 🔍 node9 scan — what would node9 catch?
263
+
264
+ 42 sessions 3,891 tool calls 1,165 bash commands last 90 days
265
+
266
+ If node9 had been installed: 23 commands flagged for review
267
+
268
+ bash-safe · 12 findings → node9 shield enable bash-safe
269
+ block-pipe-to-shell ×8 — Pipe-to-shell is a common supply-chain attack vector
270
+ review-eval ×4 — eval of dynamic content requires human approval
271
+
272
+ Secrets / DLP · 2 potential secret leaks
273
+ aws-access-key AKIA**************** Bash Apr 12
274
+ ```
275
+
276
+ `scan` reads raw JSONL history and runs the real policy engine — same shields and rules that would fire in production. No audit log needed.
277
+
278
+ ```bash
279
+ node9 scan # last 90 days
280
+ node9 scan --all # all time
281
+ node9 scan --days 30 # custom window
282
+ ```
283
+
178
284
  ---
179
285
 
180
286
  ## 📖 Full docs