network-ai 3.0.3 → 3.1.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 +34 -15
- package/dist/adapters/adapter-registry.d.ts +21 -0
- package/dist/adapters/adapter-registry.d.ts.map +1 -1
- package/dist/adapters/adapter-registry.js +34 -3
- package/dist/adapters/adapter-registry.js.map +1 -1
- package/dist/adapters/base-adapter.d.ts.map +1 -1
- package/dist/adapters/base-adapter.js +2 -1
- package/dist/adapters/base-adapter.js.map +1 -1
- package/dist/index.d.ts +243 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +297 -10
- package/dist/index.js.map +1 -1
- package/dist/lib/errors.d.ts +97 -0
- package/dist/lib/errors.d.ts.map +1 -0
- package/dist/lib/errors.js +163 -0
- package/dist/lib/errors.js.map +1 -0
- package/dist/lib/locked-blackboard.d.ts +18 -2
- package/dist/lib/locked-blackboard.d.ts.map +1 -1
- package/dist/lib/locked-blackboard.js +75 -15
- package/dist/lib/locked-blackboard.js.map +1 -1
- package/dist/lib/logger.d.ts +102 -0
- package/dist/lib/logger.d.ts.map +1 -0
- package/dist/lib/logger.js +150 -0
- package/dist/lib/logger.js.map +1 -0
- package/dist/lib/swarm-utils.d.ts.map +1 -1
- package/dist/lib/swarm-utils.js +3 -1
- package/dist/lib/swarm-utils.js.map +1 -1
- package/dist/security.d.ts +100 -0
- package/dist/security.d.ts.map +1 -1
- package/dist/security.js +100 -0
- package/dist/security.js.map +1 -1
- package/package.json +1 -1
|
@@ -21,6 +21,9 @@ exports.LockedBlackboard = exports.FileLock = void 0;
|
|
|
21
21
|
const fs_1 = require("fs");
|
|
22
22
|
const path_1 = require("path");
|
|
23
23
|
const crypto_1 = require("crypto");
|
|
24
|
+
const logger_1 = require("./logger");
|
|
25
|
+
const errors_1 = require("./errors");
|
|
26
|
+
const log = logger_1.Logger.create('LockedBlackboard');
|
|
24
27
|
// ============================================================================
|
|
25
28
|
// CONFIGURATION
|
|
26
29
|
// ============================================================================
|
|
@@ -67,7 +70,7 @@ class FileLock {
|
|
|
67
70
|
const lockAge = Date.now() - new Date(lockData.acquired_at).getTime();
|
|
68
71
|
// If lock is stale, force release it
|
|
69
72
|
if (lockAge > CONFIG.staleLockThresholdMs) {
|
|
70
|
-
|
|
73
|
+
log.warn('Stale lock detected, force releasing', { lockAgeMs: lockAge });
|
|
71
74
|
this.forceRelease();
|
|
72
75
|
}
|
|
73
76
|
else {
|
|
@@ -125,7 +128,7 @@ class FileLock {
|
|
|
125
128
|
return true;
|
|
126
129
|
}
|
|
127
130
|
catch (error) {
|
|
128
|
-
|
|
131
|
+
log.error('Failed to release lock', { error: error instanceof Error ? error.message : String(error) });
|
|
129
132
|
return false;
|
|
130
133
|
}
|
|
131
134
|
}
|
|
@@ -182,7 +185,11 @@ exports.FileLock = FileLock;
|
|
|
182
185
|
// LOCKED BLACKBOARD IMPLEMENTATION
|
|
183
186
|
// ============================================================================
|
|
184
187
|
/**
|
|
185
|
-
* LockedBlackboard - Thread-safe blackboard with atomic commits.
|
|
188
|
+
* LockedBlackboard - Thread-safe blackboard with atomic commits and audit trail.
|
|
189
|
+
*
|
|
190
|
+
* Every mutating operation (write, delete, commit) records an audit entry
|
|
191
|
+
* capturing the lock holder, operation duration, and change details when
|
|
192
|
+
* an optional {@link SecureAuditLogger} is provided.
|
|
186
193
|
*
|
|
187
194
|
* Usage:
|
|
188
195
|
* ```typescript
|
|
@@ -206,12 +213,14 @@ class LockedBlackboard {
|
|
|
206
213
|
lock;
|
|
207
214
|
cache = new Map();
|
|
208
215
|
pendingChanges = new Map();
|
|
209
|
-
|
|
216
|
+
auditLogger;
|
|
217
|
+
constructor(basePath = '.', auditLogger) {
|
|
210
218
|
this.basePath = basePath;
|
|
211
219
|
this.blackboardPath = (0, path_1.join)(basePath, 'swarm-blackboard.md');
|
|
212
220
|
this.lockPath = (0, path_1.join)(basePath, 'data', '.blackboard.lock');
|
|
213
221
|
this.pendingDir = (0, path_1.join)(basePath, 'data', 'pending_changes');
|
|
214
222
|
this.lock = new FileLock(this.lockPath);
|
|
223
|
+
this.auditLogger = auditLogger;
|
|
215
224
|
this.initialize();
|
|
216
225
|
}
|
|
217
226
|
initialize() {
|
|
@@ -272,7 +281,7 @@ Content Hash: ${this.computeHash('')}
|
|
|
272
281
|
}
|
|
273
282
|
}
|
|
274
283
|
catch (error) {
|
|
275
|
-
|
|
284
|
+
log.error('Failed to load from disk', { error: error instanceof Error ? error.message : String(error) });
|
|
276
285
|
}
|
|
277
286
|
}
|
|
278
287
|
loadPendingChanges() {
|
|
@@ -297,12 +306,12 @@ Content Hash: ${this.computeHash('')}
|
|
|
297
306
|
}
|
|
298
307
|
// Enforce max pending changes limit
|
|
299
308
|
if (this.pendingChanges.size > CONFIG.maxPendingChanges) {
|
|
300
|
-
|
|
309
|
+
log.warn('Too many pending changes, cleaning up old ones', { count: this.pendingChanges.size });
|
|
301
310
|
this.cleanupOldPendingChanges();
|
|
302
311
|
}
|
|
303
312
|
}
|
|
304
313
|
catch (error) {
|
|
305
|
-
|
|
314
|
+
log.error('Failed to load pending changes', { error: error instanceof Error ? error.message : String(error) });
|
|
306
315
|
}
|
|
307
316
|
}
|
|
308
317
|
cleanupOldPendingChanges() {
|
|
@@ -317,7 +326,7 @@ Content Hash: ${this.computeHash('')}
|
|
|
317
326
|
persistToDisk() {
|
|
318
327
|
const holderId = `writer-${(0, crypto_1.randomUUID)().substring(0, 8)}`;
|
|
319
328
|
if (!this.lock.acquire(holderId)) {
|
|
320
|
-
throw new
|
|
329
|
+
throw new errors_1.LockAcquisitionError('writing to blackboard');
|
|
321
330
|
}
|
|
322
331
|
try {
|
|
323
332
|
const cacheContent = Array.from(this.cache.entries())
|
|
@@ -371,7 +380,7 @@ ${cacheContent}
|
|
|
371
380
|
}
|
|
372
381
|
}
|
|
373
382
|
catch (error) {
|
|
374
|
-
|
|
383
|
+
log.error('Failed to archive change', { error: error instanceof Error ? error.message : String(error) });
|
|
375
384
|
}
|
|
376
385
|
}
|
|
377
386
|
// ==========================================================================
|
|
@@ -410,11 +419,11 @@ ${cacheContent}
|
|
|
410
419
|
validate(changeId, validatorAgent) {
|
|
411
420
|
const change = this.pendingChanges.get(changeId);
|
|
412
421
|
if (!change) {
|
|
413
|
-
|
|
422
|
+
log.error('Change not found', { changeId });
|
|
414
423
|
return false;
|
|
415
424
|
}
|
|
416
425
|
if (change.status !== 'pending') {
|
|
417
|
-
|
|
426
|
+
log.error('Change cannot be validated', { changeId, status: change.status });
|
|
418
427
|
return false;
|
|
419
428
|
}
|
|
420
429
|
// Check for conflicts (has the key been modified since proposal?)
|
|
@@ -423,8 +432,7 @@ ${cacheContent}
|
|
|
423
432
|
? this.computeHash(JSON.stringify(currentEntry))
|
|
424
433
|
: null;
|
|
425
434
|
if (change.previous_hash !== currentHash) {
|
|
426
|
-
|
|
427
|
-
`expected hash ${change.previous_hash}, got ${currentHash}`);
|
|
435
|
+
log.warn('CONFLICT DETECTED', { key: change.key, expectedHash: change.previous_hash, actualHash: currentHash });
|
|
428
436
|
return false;
|
|
429
437
|
}
|
|
430
438
|
// Mark as validated
|
|
@@ -442,6 +450,7 @@ ${cacheContent}
|
|
|
442
450
|
*/
|
|
443
451
|
commit(changeId) {
|
|
444
452
|
const change = this.pendingChanges.get(changeId);
|
|
453
|
+
const lockStart = Date.now();
|
|
445
454
|
if (!change) {
|
|
446
455
|
return {
|
|
447
456
|
success: false,
|
|
@@ -459,6 +468,9 @@ ${cacheContent}
|
|
|
459
468
|
// Acquire lock and apply change atomically
|
|
460
469
|
const holderId = `commit-${changeId}`;
|
|
461
470
|
if (!this.lock.acquire(holderId)) {
|
|
471
|
+
this.audit('BLACKBOARD_COMMIT', change.source_agent, 'commit', 'failure', {
|
|
472
|
+
changeId, key: change.key, reason: 'lock_timeout', lockHolder: holderId,
|
|
473
|
+
});
|
|
462
474
|
return {
|
|
463
475
|
success: false,
|
|
464
476
|
change_id: changeId,
|
|
@@ -476,6 +488,10 @@ ${cacheContent}
|
|
|
476
488
|
this.savePendingChange(change);
|
|
477
489
|
this.archivePendingChange(change);
|
|
478
490
|
this.pendingChanges.delete(changeId);
|
|
491
|
+
this.audit('BLACKBOARD_COMMIT', change.source_agent, 'commit', 'failure', {
|
|
492
|
+
changeId, key: change.key, reason: 'conflict',
|
|
493
|
+
lockHolder: holderId, lockDurationMs: Date.now() - lockStart,
|
|
494
|
+
});
|
|
479
495
|
return {
|
|
480
496
|
success: false,
|
|
481
497
|
change_id: changeId,
|
|
@@ -499,6 +515,11 @@ ${cacheContent}
|
|
|
499
515
|
// Archive the change
|
|
500
516
|
this.archivePendingChange(change);
|
|
501
517
|
this.pendingChanges.delete(changeId);
|
|
518
|
+
this.audit('BLACKBOARD_COMMIT', change.source_agent, 'commit', 'success', {
|
|
519
|
+
changeId, key: change.key, version: newVersion,
|
|
520
|
+
lockHolder: holderId, lockDurationMs: Date.now() - lockStart,
|
|
521
|
+
validatedBy: change.validation?.validated_by,
|
|
522
|
+
});
|
|
502
523
|
return {
|
|
503
524
|
success: true,
|
|
504
525
|
change_id: changeId,
|
|
@@ -570,8 +591,12 @@ ${cacheContent}
|
|
|
570
591
|
*/
|
|
571
592
|
write(key, value, sourceAgent, ttl) {
|
|
572
593
|
const holderId = `write-${(0, crypto_1.randomUUID)().substring(0, 8)}`;
|
|
594
|
+
const lockStart = Date.now();
|
|
573
595
|
if (!this.lock.acquire(holderId)) {
|
|
574
|
-
|
|
596
|
+
this.audit('BLACKBOARD_WRITE', sourceAgent, 'write', 'failure', {
|
|
597
|
+
key, reason: 'lock_timeout', lockHolder: holderId,
|
|
598
|
+
});
|
|
599
|
+
throw new errors_1.LockAcquisitionError('write');
|
|
575
600
|
}
|
|
576
601
|
try {
|
|
577
602
|
const currentEntry = this.cache.get(key);
|
|
@@ -586,6 +611,11 @@ ${cacheContent}
|
|
|
586
611
|
};
|
|
587
612
|
this.cache.set(key, entry);
|
|
588
613
|
this.persistToDiskInternal();
|
|
614
|
+
this.audit('BLACKBOARD_WRITE', sourceAgent, 'write', 'success', {
|
|
615
|
+
key, version: newVersion, lockHolder: holderId,
|
|
616
|
+
lockDurationMs: Date.now() - lockStart,
|
|
617
|
+
hadPreviousValue: !!currentEntry,
|
|
618
|
+
});
|
|
589
619
|
return entry;
|
|
590
620
|
}
|
|
591
621
|
finally {
|
|
@@ -597,13 +627,21 @@ ${cacheContent}
|
|
|
597
627
|
*/
|
|
598
628
|
delete(key) {
|
|
599
629
|
const holderId = `delete-${(0, crypto_1.randomUUID)().substring(0, 8)}`;
|
|
630
|
+
const lockStart = Date.now();
|
|
600
631
|
if (!this.lock.acquire(holderId)) {
|
|
601
|
-
|
|
632
|
+
this.audit('BLACKBOARD_DELETE', 'system', 'delete', 'failure', {
|
|
633
|
+
key, reason: 'lock_timeout', lockHolder: holderId,
|
|
634
|
+
});
|
|
635
|
+
throw new errors_1.LockAcquisitionError('delete');
|
|
602
636
|
}
|
|
603
637
|
try {
|
|
604
638
|
if (this.cache.has(key)) {
|
|
605
639
|
this.cache.delete(key);
|
|
606
640
|
this.persistToDiskInternal();
|
|
641
|
+
this.audit('BLACKBOARD_DELETE', 'system', 'delete', 'success', {
|
|
642
|
+
key, lockHolder: holderId,
|
|
643
|
+
lockDurationMs: Date.now() - lockStart,
|
|
644
|
+
});
|
|
607
645
|
return true;
|
|
608
646
|
}
|
|
609
647
|
return false;
|
|
@@ -645,6 +683,28 @@ ${cacheContent}
|
|
|
645
683
|
getLockStatus() {
|
|
646
684
|
return this.lock.getStatus();
|
|
647
685
|
}
|
|
686
|
+
/**
|
|
687
|
+
* Attach an audit logger at runtime (useful when the logger is created
|
|
688
|
+
* after the blackboard, e.g., in the orchestrator constructor).
|
|
689
|
+
*/
|
|
690
|
+
setAuditLogger(logger) {
|
|
691
|
+
this.auditLogger = logger;
|
|
692
|
+
}
|
|
693
|
+
// ---------- Internal audit helper ----------
|
|
694
|
+
/**
|
|
695
|
+
* Log an audit entry if an audit logger is attached.
|
|
696
|
+
* Non-fatal: failures are swallowed so auditing never blocks operations.
|
|
697
|
+
*/
|
|
698
|
+
audit(eventType, agentId, action, outcome, details) {
|
|
699
|
+
if (!this.auditLogger)
|
|
700
|
+
return;
|
|
701
|
+
try {
|
|
702
|
+
this.auditLogger.log(eventType, agentId, action, outcome, details);
|
|
703
|
+
}
|
|
704
|
+
catch {
|
|
705
|
+
// Audit logging must never block blackboard operations
|
|
706
|
+
}
|
|
707
|
+
}
|
|
648
708
|
}
|
|
649
709
|
exports.LockedBlackboard = LockedBlackboard;
|
|
650
710
|
// ============================================================================
|
|
@@ -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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"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structured Logger for Network-AI
|
|
3
|
+
*
|
|
4
|
+
* Replaces raw console.log/warn/error with a leveled, filterable logger.
|
|
5
|
+
* Users can set the log level, provide a custom transport, or disable
|
|
6
|
+
* logging entirely. All log entries include a timestamp, level, module
|
|
7
|
+
* source, and structured data.
|
|
8
|
+
*
|
|
9
|
+
* @module Logger
|
|
10
|
+
* @version 1.0.0
|
|
11
|
+
* @license MIT
|
|
12
|
+
*/
|
|
13
|
+
/** Log severity levels (numeric for comparison) */
|
|
14
|
+
export declare enum LogLevel {
|
|
15
|
+
DEBUG = 0,
|
|
16
|
+
INFO = 1,
|
|
17
|
+
WARN = 2,
|
|
18
|
+
ERROR = 3,
|
|
19
|
+
SILENT = 4
|
|
20
|
+
}
|
|
21
|
+
/** A structured log entry */
|
|
22
|
+
export interface LogEntry {
|
|
23
|
+
timestamp: string;
|
|
24
|
+
level: keyof typeof LogLevel;
|
|
25
|
+
module: string;
|
|
26
|
+
message: string;
|
|
27
|
+
data?: Record<string, unknown>;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Custom log transport function. Receives a structured log entry.
|
|
31
|
+
* Return value is ignored.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* // Send logs to an external service
|
|
35
|
+
* const transport: LogTransport = (entry) => {
|
|
36
|
+
* fetch('/logs', { method: 'POST', body: JSON.stringify(entry) });
|
|
37
|
+
* };
|
|
38
|
+
*/
|
|
39
|
+
export type LogTransport = (entry: LogEntry) => void;
|
|
40
|
+
/** Logger configuration */
|
|
41
|
+
export interface LoggerConfig {
|
|
42
|
+
/** Minimum level to emit. Default: LogLevel.WARN */
|
|
43
|
+
level: LogLevel;
|
|
44
|
+
/** Custom transport. Default: console-based output */
|
|
45
|
+
transport?: LogTransport;
|
|
46
|
+
/** If true, suppresses all output (equivalent to LogLevel.SILENT) */
|
|
47
|
+
silent: boolean;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Structured logger with level filtering, module tagging, and pluggable transports.
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```typescript
|
|
54
|
+
* import { Logger, LogLevel } from 'network-ai';
|
|
55
|
+
*
|
|
56
|
+
* // Set global log level
|
|
57
|
+
* Logger.setLevel(LogLevel.DEBUG);
|
|
58
|
+
*
|
|
59
|
+
* // Create a module-scoped logger
|
|
60
|
+
* const log = Logger.create('MyAdapter');
|
|
61
|
+
* log.info('Adapter initialized', { agents: 3 });
|
|
62
|
+
* log.warn('Slow response', { latencyMs: 5000 });
|
|
63
|
+
* log.error('Connection failed', { host: 'api.example.com' });
|
|
64
|
+
*
|
|
65
|
+
* // Silence all logs
|
|
66
|
+
* Logger.setLevel(LogLevel.SILENT);
|
|
67
|
+
*
|
|
68
|
+
* // Use a custom transport (e.g., send to monitoring service)
|
|
69
|
+
* Logger.setTransport((entry) => {
|
|
70
|
+
* myMonitoringService.log(entry);
|
|
71
|
+
* });
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
export declare class Logger {
|
|
75
|
+
private static config;
|
|
76
|
+
private module;
|
|
77
|
+
private constructor();
|
|
78
|
+
/** Set the minimum log level globally */
|
|
79
|
+
static setLevel(level: LogLevel): void;
|
|
80
|
+
/** Get the current log level */
|
|
81
|
+
static getLevel(): LogLevel;
|
|
82
|
+
/** Set a custom transport for all loggers */
|
|
83
|
+
static setTransport(transport: LogTransport): void;
|
|
84
|
+
/** Reset to default console transport */
|
|
85
|
+
static resetTransport(): void;
|
|
86
|
+
/** Silence all logging */
|
|
87
|
+
static silence(): void;
|
|
88
|
+
/** Re-enable logging */
|
|
89
|
+
static unsilence(): void;
|
|
90
|
+
/** Create a logger scoped to a module name */
|
|
91
|
+
static create(module: string): Logger;
|
|
92
|
+
/** Log at DEBUG level */
|
|
93
|
+
debug(message: string, data?: Record<string, unknown>): void;
|
|
94
|
+
/** Log at INFO level */
|
|
95
|
+
info(message: string, data?: Record<string, unknown>): void;
|
|
96
|
+
/** Log at WARN level */
|
|
97
|
+
warn(message: string, data?: Record<string, unknown>): void;
|
|
98
|
+
/** Log at ERROR level */
|
|
99
|
+
error(message: string, data?: Record<string, unknown>): void;
|
|
100
|
+
private emit;
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../lib/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,mDAAmD;AACnD,oBAAY,QAAQ;IAClB,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;IACT,MAAM,IAAI;CACX;AAED,6BAA6B;AAC7B,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,OAAO,QAAQ,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;AAErD,2BAA2B;AAC3B,MAAM,WAAW,YAAY;IAC3B,oDAAoD;IACpD,KAAK,EAAE,QAAQ,CAAC;IAChB,sDAAsD;IACtD,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,qEAAqE;IACrE,MAAM,EAAE,OAAO,CAAC;CACjB;AA8BD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAC,MAAM,CAGnB;IAEF,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO;IAMP,yCAAyC;IACzC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAItC,gCAAgC;IAChC,MAAM,CAAC,QAAQ,IAAI,QAAQ;IAI3B,6CAA6C;IAC7C,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI;IAIlD,yCAAyC;IACzC,MAAM,CAAC,cAAc,IAAI,IAAI;IAI7B,0BAA0B;IAC1B,MAAM,CAAC,OAAO,IAAI,IAAI;IAItB,wBAAwB;IACxB,MAAM,CAAC,SAAS,IAAI,IAAI;IAIxB,8CAA8C;IAC9C,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAMrC,yBAAyB;IACzB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI5D,wBAAwB;IACxB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI3D,wBAAwB;IACxB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI3D,yBAAyB;IACzB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAM5D,OAAO,CAAC,IAAI;CAoBb"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Structured Logger for Network-AI
|
|
4
|
+
*
|
|
5
|
+
* Replaces raw console.log/warn/error with a leveled, filterable logger.
|
|
6
|
+
* Users can set the log level, provide a custom transport, or disable
|
|
7
|
+
* logging entirely. All log entries include a timestamp, level, module
|
|
8
|
+
* source, and structured data.
|
|
9
|
+
*
|
|
10
|
+
* @module Logger
|
|
11
|
+
* @version 1.0.0
|
|
12
|
+
* @license MIT
|
|
13
|
+
*/
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.Logger = exports.LogLevel = void 0;
|
|
16
|
+
// ============================================================================
|
|
17
|
+
// TYPES
|
|
18
|
+
// ============================================================================
|
|
19
|
+
/** Log severity levels (numeric for comparison) */
|
|
20
|
+
var LogLevel;
|
|
21
|
+
(function (LogLevel) {
|
|
22
|
+
LogLevel[LogLevel["DEBUG"] = 0] = "DEBUG";
|
|
23
|
+
LogLevel[LogLevel["INFO"] = 1] = "INFO";
|
|
24
|
+
LogLevel[LogLevel["WARN"] = 2] = "WARN";
|
|
25
|
+
LogLevel[LogLevel["ERROR"] = 3] = "ERROR";
|
|
26
|
+
LogLevel[LogLevel["SILENT"] = 4] = "SILENT";
|
|
27
|
+
})(LogLevel || (exports.LogLevel = LogLevel = {}));
|
|
28
|
+
// ============================================================================
|
|
29
|
+
// DEFAULT TRANSPORT
|
|
30
|
+
// ============================================================================
|
|
31
|
+
const defaultTransport = (entry) => {
|
|
32
|
+
const prefix = `[${entry.timestamp}] [${entry.level}] [${entry.module}]`;
|
|
33
|
+
const msg = `${prefix} ${entry.message}`;
|
|
34
|
+
switch (entry.level) {
|
|
35
|
+
case 'ERROR':
|
|
36
|
+
console.error(msg, entry.data ?? '');
|
|
37
|
+
break;
|
|
38
|
+
case 'WARN':
|
|
39
|
+
console.warn(msg, entry.data ?? '');
|
|
40
|
+
break;
|
|
41
|
+
case 'DEBUG':
|
|
42
|
+
console.debug(msg, entry.data ?? '');
|
|
43
|
+
break;
|
|
44
|
+
default:
|
|
45
|
+
console.log(msg, entry.data ?? '');
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
// ============================================================================
|
|
50
|
+
// LOGGER CLASS
|
|
51
|
+
// ============================================================================
|
|
52
|
+
/**
|
|
53
|
+
* Structured logger with level filtering, module tagging, and pluggable transports.
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```typescript
|
|
57
|
+
* import { Logger, LogLevel } from 'network-ai';
|
|
58
|
+
*
|
|
59
|
+
* // Set global log level
|
|
60
|
+
* Logger.setLevel(LogLevel.DEBUG);
|
|
61
|
+
*
|
|
62
|
+
* // Create a module-scoped logger
|
|
63
|
+
* const log = Logger.create('MyAdapter');
|
|
64
|
+
* log.info('Adapter initialized', { agents: 3 });
|
|
65
|
+
* log.warn('Slow response', { latencyMs: 5000 });
|
|
66
|
+
* log.error('Connection failed', { host: 'api.example.com' });
|
|
67
|
+
*
|
|
68
|
+
* // Silence all logs
|
|
69
|
+
* Logger.setLevel(LogLevel.SILENT);
|
|
70
|
+
*
|
|
71
|
+
* // Use a custom transport (e.g., send to monitoring service)
|
|
72
|
+
* Logger.setTransport((entry) => {
|
|
73
|
+
* myMonitoringService.log(entry);
|
|
74
|
+
* });
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
class Logger {
|
|
78
|
+
static config = {
|
|
79
|
+
level: LogLevel.WARN,
|
|
80
|
+
silent: false,
|
|
81
|
+
};
|
|
82
|
+
module;
|
|
83
|
+
constructor(module) {
|
|
84
|
+
this.module = module;
|
|
85
|
+
}
|
|
86
|
+
// ---- Static configuration ----
|
|
87
|
+
/** Set the minimum log level globally */
|
|
88
|
+
static setLevel(level) {
|
|
89
|
+
Logger.config.level = level;
|
|
90
|
+
}
|
|
91
|
+
/** Get the current log level */
|
|
92
|
+
static getLevel() {
|
|
93
|
+
return Logger.config.level;
|
|
94
|
+
}
|
|
95
|
+
/** Set a custom transport for all loggers */
|
|
96
|
+
static setTransport(transport) {
|
|
97
|
+
Logger.config.transport = transport;
|
|
98
|
+
}
|
|
99
|
+
/** Reset to default console transport */
|
|
100
|
+
static resetTransport() {
|
|
101
|
+
Logger.config.transport = undefined;
|
|
102
|
+
}
|
|
103
|
+
/** Silence all logging */
|
|
104
|
+
static silence() {
|
|
105
|
+
Logger.config.silent = true;
|
|
106
|
+
}
|
|
107
|
+
/** Re-enable logging */
|
|
108
|
+
static unsilence() {
|
|
109
|
+
Logger.config.silent = false;
|
|
110
|
+
}
|
|
111
|
+
/** Create a logger scoped to a module name */
|
|
112
|
+
static create(module) {
|
|
113
|
+
return new Logger(module);
|
|
114
|
+
}
|
|
115
|
+
// ---- Instance methods ----
|
|
116
|
+
/** Log at DEBUG level */
|
|
117
|
+
debug(message, data) {
|
|
118
|
+
this.emit(LogLevel.DEBUG, 'DEBUG', message, data);
|
|
119
|
+
}
|
|
120
|
+
/** Log at INFO level */
|
|
121
|
+
info(message, data) {
|
|
122
|
+
this.emit(LogLevel.INFO, 'INFO', message, data);
|
|
123
|
+
}
|
|
124
|
+
/** Log at WARN level */
|
|
125
|
+
warn(message, data) {
|
|
126
|
+
this.emit(LogLevel.WARN, 'WARN', message, data);
|
|
127
|
+
}
|
|
128
|
+
/** Log at ERROR level */
|
|
129
|
+
error(message, data) {
|
|
130
|
+
this.emit(LogLevel.ERROR, 'ERROR', message, data);
|
|
131
|
+
}
|
|
132
|
+
// ---- Internal ----
|
|
133
|
+
emit(numericLevel, levelName, message, data) {
|
|
134
|
+
if (Logger.config.silent)
|
|
135
|
+
return;
|
|
136
|
+
if (numericLevel < Logger.config.level)
|
|
137
|
+
return;
|
|
138
|
+
const entry = {
|
|
139
|
+
timestamp: new Date().toISOString(),
|
|
140
|
+
level: levelName,
|
|
141
|
+
module: this.module,
|
|
142
|
+
message,
|
|
143
|
+
...(data !== undefined ? { data } : {}),
|
|
144
|
+
};
|
|
145
|
+
const transport = Logger.config.transport ?? defaultTransport;
|
|
146
|
+
transport(entry);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
exports.Logger = Logger;
|
|
150
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../lib/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swarm-utils.d.ts","sourceRoot":"","sources":["../../lib/swarm-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"swarm-utils.d.ts","sourceRoot":"","sources":["../../lib/swarm-utils.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/swarm-utils.js
CHANGED
|
@@ -19,6 +19,7 @@ exports.getAuthGuardian = getAuthGuardian;
|
|
|
19
19
|
const fs_1 = require("fs");
|
|
20
20
|
const path_1 = require("path");
|
|
21
21
|
const crypto_1 = require("crypto");
|
|
22
|
+
const logger_1 = require("./logger");
|
|
22
23
|
// ============================================================================
|
|
23
24
|
// CONFIGURATION
|
|
24
25
|
// ============================================================================
|
|
@@ -114,7 +115,8 @@ Last Updated: ${new Date().toISOString()}
|
|
|
114
115
|
}
|
|
115
116
|
}
|
|
116
117
|
catch (error) {
|
|
117
|
-
|
|
118
|
+
const log = logger_1.Logger.create('Blackboard');
|
|
119
|
+
log.error('Failed to load from disk', { error: error instanceof Error ? error.message : String(error) });
|
|
118
120
|
}
|
|
119
121
|
}
|
|
120
122
|
persistToDisk() {
|