network-ai 5.8.4 → 5.8.6

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.
@@ -496,7 +496,7 @@ Run these before declaring the integration production-ready:
496
496
  - [ ] `npx ts-node test-phase4.ts` — 147 behavioral tests pass
497
497
  - [ ] `npx ts-node test-qa.ts` — 67 QA orchestrator tests pass
498
498
  - [ ] `npx ts-node test-phase7.ts` — 94 Phase 7 tests pass (hooks, flow control, composer, semantic search)
499
- - [ ] `npm run test:all` — all 3,136 tests pass across 31 suites
499
+ - [ ] `npm run test:all` — all 3,148 tests pass across 31 suites
500
500
  - [ ] `npm run demo -- --08` runs to completion in < 10 seconds
501
501
 
502
502
  ### Race Condition Safety
@@ -564,4 +564,4 @@ Run these before declaring the integration production-ready:
564
564
 
565
565
  ---
566
566
 
567
- *Network-AI v5.8.4 · MIT License · https://github.com/Jovancoding/Network-AI*
567
+ *Network-AI v5.8.6 · MIT License · https://github.com/Jovancoding/Network-AI*
package/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  [![Website](https://img.shields.io/badge/website-network--ai.org-4b9df2?style=flat&logo=web&logoColor=white)](https://network-ai.org/)
6
6
  [![CI](https://github.com/Jovancoding/Network-AI/actions/workflows/ci.yml/badge.svg)](https://github.com/Jovancoding/Network-AI/actions/workflows/ci.yml)
7
7
  [![CodeQL](https://github.com/Jovancoding/Network-AI/actions/workflows/codeql.yml/badge.svg)](https://github.com/Jovancoding/Network-AI/actions/workflows/codeql.yml)
8
- [![Release](https://img.shields.io/badge/release-v5.8.4-blue.svg)](https://github.com/Jovancoding/Network-AI/releases)
8
+ [![Release](https://img.shields.io/badge/release-v5.8.6-blue.svg)](https://github.com/Jovancoding/Network-AI/releases)
9
9
  [![npm](https://img.shields.io/npm/dw/network-ai.svg?label=npm%20downloads)](https://www.npmjs.com/package/network-ai)
10
10
  [![Tests](https://img.shields.io/badge/tests-3136%20passing-brightgreen.svg)](#testing)
11
11
  [![Adapters](https://img.shields.io/badge/frameworks-29%20supported-blueviolet.svg)](#adapter-system)
@@ -439,7 +439,7 @@ npm run test:phase9 # Agent runtime, console, strategy agent
439
439
  npm run test:phase12 # Context Throttler, Partition Planner, Coverage Gate, Route Classifier
440
440
  ```
441
441
 
442
- **3,136 passing assertions across 31 test suites** (`npm run test:all`):
442
+ **3,148 passing assertions across 31 test suites** (`npm run test:all`):
443
443
 
444
444
  | Suite | Assertions | Covers |
445
445
  |---|---|---|
package/SKILL.md CHANGED
@@ -30,7 +30,7 @@ metadata:
30
30
  path: data/audit_log.jsonl
31
31
  scope: local-only
32
32
  description: "Local append-only JSONL file recording operation metadata. No data leaves the machine."
33
- pii_warning: "Do not include PII, secrets, or credentials in justification fields. Log entries persist on disk. Grant tokens are masked to a short prefix in all listing outputs; full tokens appear only at issuance time."
33
+ pii_warning: "Justification strings are truncated to 200 characters before being written to the audit log. Audit summary output (--audit-summary --json) omits justification text from returned entries. Do not include PII, credentials, or secrets in justification fields the truncated text still persists on disk. Grant tokens are masked to a short prefix in all listing outputs; full tokens appear only at issuance time."
34
34
  data_directory:
35
35
  path: data/
36
36
  scope: local-only
@@ -754,7 +754,7 @@ The following findings are drawn from the **MAESTRO Agent Security Threat** fram
754
754
 
755
755
  | Control | How Network-AI addresses it |
756
756
  |---|---|
757
- | **Exact version pinning** | npm `package.json` uses exact `"version": "5.8.4"` — no semver range specifiers; `clawhub install network-ai` pins to a specific published version |
757
+ | **Exact version pinning** | npm `package.json` uses exact `"version": "5.8.6"` — no semver range specifiers; `clawhub install network-ai` pins to a specific published version |
758
758
  | **Zero transitive dependency drift** | All bundled Python scripts use Python stdlib only — `pip install` is never required; there are no third-party packages to drift, be compromised upstream, or introduce CVEs |
759
759
  | **Signed, tagged releases** | Every release is committed with a signed Git tag (`v5.7.x`); commit hash is verifiable against CHANGELOG.md; GitHub releases link tag → diff → changelog entry |
760
760
  | **Supply chain monitoring** | npm package continuously scored by Socket.dev (score A); any new dependency or permission change triggers an alert |
@@ -126,12 +126,22 @@ export declare class FileLock {
126
126
  acquire(holderId: string, timeoutMs?: number): boolean;
127
127
  /**
128
128
  * Release the lock if we hold it.
129
+ * Verifies ownership before unlinking to prevent deleting a lock acquired by
130
+ * another process after ours was force-released as stale.
129
131
  */
130
132
  release(): boolean;
131
133
  /**
132
134
  * Force release a stale lock (use with caution).
135
+ * Unconditional — only safe for corrupted lock files.
133
136
  */
134
137
  forceRelease(): void;
138
+ /**
139
+ * Compare-and-delete a stale lock: only unlinks if the file still has the
140
+ * exact same identity (acquired_at + pid) we observed when we decided it
141
+ * was stale. Prevents deleting a valid lock that was freshly created by
142
+ * another waiter that beat us to the cleanup.
143
+ */
144
+ private forceReleaseStale;
135
145
  /**
136
146
  * Check current lock status.
137
147
  */
@@ -1 +1 @@
1
- {"version":3,"file":"locked-blackboard.d.ts","sourceRoot":"","sources":["../../lib/locked-blackboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"locked-blackboard.d.ts","sourceRoot":"","sources":["../../lib/locked-blackboard.ts"],"names":[],"mappings":"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"}
@@ -68,10 +68,11 @@ class FileLock {
68
68
  try {
69
69
  const lockData = JSON.parse((0, fs_1.readFileSync)(this.lockPath, 'utf-8'));
70
70
  const lockAge = Date.now() - new Date(lockData.acquired_at).getTime();
71
- // If lock is stale, force release it
71
+ // If lock is stale, use compare-and-delete to avoid racing another waiter
72
+ // that may have already cleaned up this stale lock and created a fresh one.
72
73
  if (lockAge > CONFIG.staleLockThresholdMs) {
73
74
  log.warn('Stale lock detected, force releasing', { lockAgeMs: lockAge });
74
- this.forceRelease();
75
+ this.forceReleaseStale(lockData.acquired_at, lockData.pid);
75
76
  }
76
77
  else {
77
78
  // Lock is held by someone else, wait and retry with backoff
@@ -82,7 +83,8 @@ class FileLock {
82
83
  }
83
84
  catch (e) {
84
85
  if (e.code !== 'ENOENT') {
85
- // Corrupted lock file, remove it
86
+ // Corrupted lock file (cannot parse) — unconditional remove is safe here
87
+ // because no valid holder can read their own identity back from corrupted JSON.
86
88
  this.forceRelease();
87
89
  }
88
90
  // ENOENT: no lock file yet, fall through to create
@@ -116,6 +118,8 @@ class FileLock {
116
118
  }
117
119
  /**
118
120
  * Release the lock if we hold it.
121
+ * Verifies ownership before unlinking to prevent deleting a lock acquired by
122
+ * another process after ours was force-released as stale.
119
123
  */
120
124
  release() {
121
125
  if (!this.lockHolder) {
@@ -126,8 +130,29 @@ class FileLock {
126
130
  (0, fs_1.closeSync)(this.lockFd);
127
131
  this.lockFd = null;
128
132
  }
129
- if ((0, fs_1.existsSync)(this.lockPath)) {
130
- (0, fs_1.unlinkSync)(this.lockPath);
133
+ // Verify we still own the lock before deleting it.
134
+ // If another process force-released our stale lock and created its own,
135
+ // we must not delete theirs.
136
+ try {
137
+ const current = JSON.parse((0, fs_1.readFileSync)(this.lockPath, 'utf-8'));
138
+ if (current.holder === this.lockHolder && current.pid === process.pid) {
139
+ (0, fs_1.unlinkSync)(this.lockPath);
140
+ }
141
+ else {
142
+ log.warn('Release skipped: lock is owned by another holder', {
143
+ expected: this.lockHolder, found: current.holder, foundPid: current.pid
144
+ });
145
+ }
146
+ }
147
+ catch (e) {
148
+ if (e.code !== 'ENOENT') {
149
+ // File exists but unreadable — attempt removal as a best-effort
150
+ try {
151
+ (0, fs_1.unlinkSync)(this.lockPath);
152
+ }
153
+ catch { /* ignore */ }
154
+ }
155
+ // ENOENT: already removed (race with another force-release) — that's fine
131
156
  }
132
157
  this.lockHolder = null;
133
158
  return true;
@@ -139,6 +164,7 @@ class FileLock {
139
164
  }
140
165
  /**
141
166
  * Force release a stale lock (use with caution).
167
+ * Unconditional — only safe for corrupted lock files.
142
168
  */
143
169
  forceRelease() {
144
170
  try {
@@ -152,6 +178,26 @@ class FileLock {
152
178
  this.lockHolder = null;
153
179
  this.lockFd = null;
154
180
  }
181
+ /**
182
+ * Compare-and-delete a stale lock: only unlinks if the file still has the
183
+ * exact same identity (acquired_at + pid) we observed when we decided it
184
+ * was stale. Prevents deleting a valid lock that was freshly created by
185
+ * another waiter that beat us to the cleanup.
186
+ */
187
+ forceReleaseStale(expectedAcquiredAt, expectedPid) {
188
+ try {
189
+ const current = JSON.parse((0, fs_1.readFileSync)(this.lockPath, 'utf-8'));
190
+ if (current.acquired_at === expectedAcquiredAt && current.pid === expectedPid) {
191
+ (0, fs_1.unlinkSync)(this.lockPath);
192
+ }
193
+ // Identity changed — another process already cleaned up and acquired; leave it alone.
194
+ }
195
+ catch {
196
+ // ENOENT or parse error — file is gone or corrupt; nothing to do.
197
+ }
198
+ this.lockHolder = null;
199
+ this.lockFd = null;
200
+ }
155
201
  /**
156
202
  * Check current lock status.
157
203
  */
@@ -294,6 +340,12 @@ class LockedBlackboard {
294
340
  if (!this.disableWal) {
295
341
  this.replayWAL();
296
342
  }
343
+ else if (process.env['NETWORK_AI_MINIMAL'] !== '1') {
344
+ // WAL was explicitly disabled via constructor option outside of the
345
+ // recognised CI/test fast-startup path. Warn so operators who
346
+ // accidentally carry NETWORK_AI_MINIMAL=1 into production notice.
347
+ log.warn('WAL is disabled: crash recovery is not active. Set disableWal:false or unset NETWORK_AI_MINIMAL to re-enable.');
348
+ }
297
349
  this.loadPendingChanges();
298
350
  }
299
351
  writeInitialBlackboard() {
@@ -314,7 +366,10 @@ Content Hash: ${this.computeHash('')}
314
366
  ## Execution History
315
367
  <!-- Chronological log of completed tasks -->
316
368
  `;
317
- (0, fs_1.writeFileSync)(this.blackboardPath, content, { encoding: 'utf-8', mode: 0o600 });
369
+ // Atomic write: tmp + rename prevents partial writes on initial creation.
370
+ const tmpPath = `${this.blackboardPath}.tmp`;
371
+ (0, fs_1.writeFileSync)(tmpPath, content, { encoding: 'utf-8', mode: 0o600 });
372
+ (0, fs_1.renameSync)(tmpPath, this.blackboardPath);
318
373
  }
319
374
  computeHash(content) {
320
375
  return (0, crypto_1.createHash)('sha256').update(content).digest('hex').substring(0, 16);
@@ -354,6 +409,20 @@ Content Hash: ${this.computeHash('')}
354
409
  const content = (0, fs_1.readFileSync)((0, path_1.join)(this.pendingDir, file), 'utf-8');
355
410
  const change = JSON.parse(content);
356
411
  if (change.status === 'pending' || change.status === 'validated') {
412
+ // Reconcile against WAL-replayed cache: if the key was already
413
+ // committed (by WAL replay or a prior run), the current cache hash
414
+ // will differ from previous_hash. Such a change will always fail
415
+ // the conflict check in commit() — archive it now rather than
416
+ // leaving a zombie validated entry in pendingChanges.
417
+ if (change.status === 'validated' && this.cache.has(change.key)) {
418
+ const currentEntry = this.cache.get(change.key);
419
+ const currentHash = this.computeHash(JSON.stringify(currentEntry));
420
+ if (currentHash !== change.previous_hash) {
421
+ change.status = 'committed';
422
+ this.archivePendingChange(change);
423
+ continue;
424
+ }
425
+ }
357
426
  this.pendingChanges.set(change.change_id, change);
358
427
  }
359
428
  }
@@ -372,9 +441,16 @@ Content Hash: ${this.computeHash('')}
372
441
  }
373
442
  }
374
443
  cleanupOldPendingChanges() {
444
+ // Sort lowest-priority first, then oldest-first within the same priority,
445
+ // so high-priority proposals (e.g., those awaiting approval gates) are
446
+ // never evicted before low-priority ones.
375
447
  const sorted = Array.from(this.pendingChanges.entries())
376
- .sort((a, b) => new Date(a[1].proposed_at).getTime() - new Date(b[1].proposed_at).getTime());
377
- // Keep only the newest half
448
+ .sort((a, b) => {
449
+ if (a[1].priority !== b[1].priority)
450
+ return a[1].priority - b[1].priority;
451
+ return new Date(a[1].proposed_at).getTime() - new Date(b[1].proposed_at).getTime();
452
+ });
453
+ // Keep only the newest/highest-priority half
378
454
  const toRemove = sorted.slice(0, Math.floor(sorted.length / 2));
379
455
  for (const [changeId] of toRemove) {
380
456
  this.abort(changeId);
@@ -856,7 +932,12 @@ ${cacheContent}
856
932
  ## Execution History
857
933
  <!-- Chronological log of completed tasks -->
858
934
  `;
859
- (0, fs_1.writeFileSync)(this.blackboardPath, content, { encoding: 'utf-8', mode: 0o600 });
935
+ // Write to a temp file then rename atomically to prevent a crash mid-write
936
+ // from leaving a truncated/corrupt blackboard (which would lose committed data
937
+ // if the WAL was already compacted).
938
+ const tmpPath = `${this.blackboardPath}.tmp`;
939
+ (0, fs_1.writeFileSync)(tmpPath, content, { encoding: 'utf-8', mode: 0o600 });
940
+ (0, fs_1.renameSync)(tmpPath, this.blackboardPath);
860
941
  }
861
942
  // ==========================================================================
862
943
  // PUBLIC API: SIMPLE READ/WRITE (with automatic locking)
@@ -1 +1 @@
1
- {"version":3,"file":"locked-blackboard.js","sourceRoot":"","sources":["../../lib/locked-blackboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"locked-blackboard.js","sourceRoot":"","sources":["../../lib/locked-blackboard.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "network-ai",
3
- "version": "5.8.4",
3
+ "version": "5.8.6",
4
4
  "description": "AI agent orchestration framework for TypeScript/Node.js - 29 adapters (LangChain, AutoGen, CrewAI, OpenAI Assistants, LlamaIndex, Semantic Kernel, Haystack, DSPy, Agno, MCP, OpenClaw, A2A, Codex, MiniMax, NemoClaw, APS, Copilot, LangGraph, Anthropic Computer Use, OpenAI Agents SDK, Vertex AI, Pydantic AI, Browser Agent, Hermes, Orchestrator, RLM + streaming variants). Built-in CLI, security, swarm intelligence, real-time streaming, and agentic workflow patterns.",
5
5
  "homepage": "https://network-ai.org",
6
6
  "main": "dist/index.js",
@@ -102,9 +102,9 @@
102
102
  "python": ">=3.9"
103
103
  },
104
104
  "devDependencies": {
105
- "@types/node": "^25.9.0",
105
+ "@types/node": "^25.9.1",
106
106
  "dotenv": "^17.4.2",
107
- "openai": "^6.38.0",
107
+ "openai": "^6.39.0",
108
108
  "ts-node": "^10.9.2",
109
109
  "typescript": "^6.0.3"
110
110
  },
@@ -8,11 +8,13 @@
8
8
  # Imports used: argparse, json, re, sys, uuid, hmac, hashlib, datetime, pathlib, typing
9
9
  # No imports of: requests, socket, subprocess, urllib, http, ssl, ftplib, smtplib
10
10
  #
11
- # SECURITY: Justification strings supplied via --justification are logged verbatim
12
- # to data/audit_log.jsonl. Do NOT include PII, credentials, secret names, API keys,
13
- # or other sensitive business data in justification fields. Treat justifications as
14
- # permanently visible log entries. Grant tokens are only shown at issuance time;
15
- # listing commands (--active-grants) always mask tokens to a short prefix.
11
+ # SECURITY: Justification strings supplied via --justification are truncated to
12
+ # _JUSTIFICATION_MAX_LOG_LEN characters before being written to audit_log.jsonl.
13
+ # Do NOT include PII, credentials, secret names, API keys, or sensitive business
14
+ # data in justification fields. Audit summary output (--audit-summary --json)
15
+ # omits justification text entirely from returned entries. Grant tokens are only
16
+ # shown at issuance time; listing commands (--active-grants) always mask tokens
17
+ # to a short prefix.
16
18
  """
17
19
  AuthGuardian Permission Checker
18
20
 
@@ -88,6 +90,11 @@ DEFAULT_TRUST_LEVELS = {
88
90
  # receives a reduced trust score (0.3) and triggers an advisory warning.
89
91
  KNOWN_AGENTS: set[str] = set(DEFAULT_TRUST_LEVELS.keys())
90
92
 
93
+ # Maximum characters of a justification string stored in the audit log.
94
+ # Content beyond this limit is dropped before writing to prevent unbounded
95
+ # sensitive-data retention (SkillSpector Ssd3).
96
+ _JUSTIFICATION_MAX_LOG_LEN: int = 200
97
+
91
98
  # Resource types that require --confirm-high-risk before a grant is issued
92
99
  HIGH_RISK_RESOURCES: set[str] = {"PAYMENTS", "DATABASE"}
93
100
 
@@ -369,11 +376,17 @@ def evaluate_permission(
369
376
  # Warn if agent_id is not in the pre-registered known-agents list
370
377
  unknown_agent = agent_id not in KNOWN_AGENTS
371
378
 
372
- # Log the request
379
+ # Log the request — justification is truncated before writing to limit
380
+ # sensitive-data retention in audit_log.jsonl.
381
+ _justification_log = (
382
+ justification[:_JUSTIFICATION_MAX_LOG_LEN] + " [truncated]"
383
+ if len(justification) > _JUSTIFICATION_MAX_LOG_LEN
384
+ else justification
385
+ )
373
386
  log_audit("permission_request", {
374
387
  "agent_id": agent_id,
375
388
  "resource_type": resource_type,
376
- "justification": justification,
389
+ "justification": _justification_log,
377
390
  "scope": scope,
378
391
  "unknown_agent": unknown_agent,
379
392
  })
@@ -675,6 +688,13 @@ def audit_summary(last_n: int = 20, as_json: bool = False) -> int:
675
688
  last_ts = entries[-1].get("timestamp", "unknown")
676
689
 
677
690
  if as_json:
691
+ # Omit justification text from summary output to avoid re-exposing
692
+ # sensitive content that was logged earlier (SkillSpector Ssd3).
693
+ def _redact_entry(e: dict[str, Any]) -> dict[str, Any]:
694
+ if "details" not in e or "justification" not in e["details"]:
695
+ return e
696
+ return {**e, "details": {k: v for k, v in e["details"].items() if k != "justification"}}
697
+
678
698
  output: dict[str, Any] = {
679
699
  "total_entries": len(entries),
680
700
  "total_requests": total_requests,
@@ -683,7 +703,7 @@ def audit_summary(last_n: int = 20, as_json: bool = False) -> int:
683
703
  "time_range": {"first": first_ts, "last": last_ts},
684
704
  "by_agent": by_agent,
685
705
  "by_resource": by_resource,
686
- "recent": recent[-last_n:],
706
+ "recent": [_redact_entry(e) for e in recent[-last_n:]],
687
707
  }
688
708
  print(json.dumps(output, indent=2))
689
709
  else: