@terminals-tech/agent-zero 1.0.0 → 2.0.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/LICENSE +21 -0
- package/THEORY.md +207 -0
- package/dist/agency/commandRouter.d.ts +10 -0
- package/dist/agency/commandRouter.d.ts.map +1 -1
- package/dist/agency/commandRouter.js +206 -0
- package/dist/agency/commandRouter.js.map +1 -1
- package/dist/agency/runtime.d.ts +26 -0
- package/dist/agency/runtime.d.ts.map +1 -1
- package/dist/agency/runtime.js +138 -6
- package/dist/agency/runtime.js.map +1 -1
- package/dist/channels/gemini.d.ts +73 -0
- package/dist/channels/gemini.d.ts.map +1 -0
- package/dist/channels/gemini.js +246 -0
- package/dist/channels/gemini.js.map +1 -0
- package/dist/channels/sms.d.ts.map +1 -1
- package/dist/channels/sms.js +1 -2
- package/dist/channels/sms.js.map +1 -1
- package/dist/interop/a2a.d.ts +133 -0
- package/dist/interop/a2a.d.ts.map +1 -0
- package/dist/interop/a2a.js +357 -0
- package/dist/interop/a2a.js.map +1 -0
- package/dist/interop/index.d.ts +10 -0
- package/dist/interop/index.d.ts.map +1 -0
- package/dist/interop/index.js +10 -0
- package/dist/interop/index.js.map +1 -0
- package/dist/interop/mcp.d.ts +111 -0
- package/dist/interop/mcp.d.ts.map +1 -0
- package/dist/interop/mcp.js +337 -0
- package/dist/interop/mcp.js.map +1 -0
- package/dist/moltbook/approvalGate.d.ts +23 -0
- package/dist/moltbook/approvalGate.d.ts.map +1 -1
- package/dist/moltbook/approvalGate.js +45 -0
- package/dist/moltbook/approvalGate.js.map +1 -1
- package/dist/moltbook/attentionField.d.ts +14 -0
- package/dist/moltbook/attentionField.d.ts.map +1 -1
- package/dist/moltbook/attentionField.js +37 -1
- package/dist/moltbook/attentionField.js.map +1 -1
- package/dist/moltbook/daemon.d.ts +27 -0
- package/dist/moltbook/daemon.d.ts.map +1 -1
- package/dist/moltbook/daemon.js +184 -5
- package/dist/moltbook/daemon.js.map +1 -1
- package/dist/moltbook/responseComposer.d.ts +7 -2
- package/dist/moltbook/responseComposer.d.ts.map +1 -1
- package/dist/moltbook/responseComposer.js +36 -7
- package/dist/moltbook/responseComposer.js.map +1 -1
- package/dist/moltbook/strategicContext.d.ts +89 -0
- package/dist/moltbook/strategicContext.d.ts.map +1 -0
- package/dist/moltbook/strategicContext.js +283 -0
- package/dist/moltbook/strategicContext.js.map +1 -0
- package/dist/primitives/index.d.ts +6 -2
- package/dist/primitives/index.d.ts.map +1 -1
- package/dist/primitives/index.js +6 -2
- package/dist/primitives/index.js.map +1 -1
- package/dist/rail/persistence.d.ts +70 -1
- package/dist/rail/persistence.d.ts.map +1 -1
- package/dist/rail/persistence.js +270 -3
- package/dist/rail/persistence.js.map +1 -1
- package/dist/rail/plugin.d.ts +76 -0
- package/dist/rail/plugin.d.ts.map +1 -0
- package/dist/rail/plugin.js +141 -0
- package/dist/rail/plugin.js.map +1 -0
- package/dist/rail/server.d.ts +121 -30
- package/dist/rail/server.d.ts.map +1 -1
- package/dist/rail/server.js +404 -28
- package/dist/rail/server.js.map +1 -1
- package/dist/rail/wsServer.d.ts +7 -0
- package/dist/rail/wsServer.d.ts.map +1 -1
- package/dist/rail/wsServer.js +233 -11
- package/dist/rail/wsServer.js.map +1 -1
- package/dist/resonance/globalKuramoto.d.ts +20 -0
- package/dist/resonance/globalKuramoto.d.ts.map +1 -1
- package/dist/resonance/globalKuramoto.js +95 -2
- package/dist/resonance/globalKuramoto.js.map +1 -1
- package/dist/resonance/kuramoto.d.ts +6 -0
- package/dist/resonance/kuramoto.d.ts.map +1 -1
- package/dist/resonance/kuramoto.js +25 -0
- package/dist/resonance/kuramoto.js.map +1 -1
- package/dist/routing/index.d.ts +2 -0
- package/dist/routing/index.d.ts.map +1 -1
- package/dist/routing/index.js +1 -0
- package/dist/routing/index.js.map +1 -1
- package/dist/routing/modelRegistry.d.ts +54 -0
- package/dist/routing/modelRegistry.d.ts.map +1 -0
- package/dist/routing/modelRegistry.js +150 -0
- package/dist/routing/modelRegistry.js.map +1 -0
- package/dist/routing/thermodynamic.d.ts +14 -3
- package/dist/routing/thermodynamic.d.ts.map +1 -1
- package/dist/routing/thermodynamic.js +26 -12
- package/dist/routing/thermodynamic.js.map +1 -1
- package/dist/runtime/agent-zero.d.ts +38 -2
- package/dist/runtime/agent-zero.d.ts.map +1 -1
- package/dist/runtime/agent-zero.js +110 -7
- package/dist/runtime/agent-zero.js.map +1 -1
- package/dist/runtime/contextWindow.d.ts +62 -0
- package/dist/runtime/contextWindow.d.ts.map +1 -0
- package/dist/runtime/contextWindow.js +125 -0
- package/dist/runtime/contextWindow.js.map +1 -0
- package/dist/runtime/identity.d.ts +65 -0
- package/dist/runtime/identity.d.ts.map +1 -0
- package/dist/runtime/identity.js +199 -0
- package/dist/runtime/identity.js.map +1 -0
- package/dist/runtime/index.d.ts +6 -0
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +6 -0
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/sessionStore.d.ts +70 -0
- package/dist/runtime/sessionStore.d.ts.map +1 -0
- package/dist/runtime/sessionStore.js +134 -0
- package/dist/runtime/sessionStore.js.map +1 -0
- package/dist/security/capabilities.d.ts +46 -0
- package/dist/security/capabilities.d.ts.map +1 -1
- package/dist/security/capabilities.js +176 -0
- package/dist/security/capabilities.js.map +1 -1
- package/dist/security/combinators.d.ts +89 -0
- package/dist/security/combinators.d.ts.map +1 -0
- package/dist/security/combinators.js +168 -0
- package/dist/security/combinators.js.map +1 -0
- package/dist/security/index.d.ts +7 -1
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js +4 -1
- package/dist/security/index.js.map +1 -1
- package/dist/security/isolation.d.ts +76 -0
- package/dist/security/isolation.d.ts.map +1 -0
- package/dist/security/isolation.js +118 -0
- package/dist/security/isolation.js.map +1 -0
- package/dist/security/sandbox.d.ts +38 -1
- package/dist/security/sandbox.d.ts.map +1 -1
- package/dist/security/sandbox.js +68 -8
- package/dist/security/sandbox.js.map +1 -1
- package/package.json +13 -3
package/dist/rail/wsServer.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* - Maps clientId -> WebSocket for message routing
|
|
7
7
|
* - Heartbeat ping/pong every 10s
|
|
8
8
|
* - HTTP health endpoint at GET /health
|
|
9
|
+
* - HTTP endpoints for pause/resume, traces, search, synthesis
|
|
9
10
|
*/
|
|
10
11
|
import { createServer } from 'http';
|
|
11
12
|
import { WebSocketServer, WebSocket } from 'ws';
|
|
@@ -13,14 +14,18 @@ import { ResonanceRailServer } from './server.js';
|
|
|
13
14
|
import { ClientRateLimiter } from './clientRateLimiter.js';
|
|
14
15
|
import { createRailPersistence } from './persistence.js';
|
|
15
16
|
import { createMetadataBroadcaster } from './metadataBroadcaster.js';
|
|
17
|
+
import { RailPluginManager } from './plugin.js';
|
|
16
18
|
import { verifyUserToken } from './jwtVerifier.js';
|
|
17
19
|
import { UserSessionManager } from './userSessionManager.js';
|
|
18
20
|
import { AbsorptionProtocol } from '../coherence/absorption.js';
|
|
19
21
|
import { RailAuthProtocol } from './authProtocol.js';
|
|
22
|
+
import { timingSafeEqual as cryptoTimingSafeEqual } from 'crypto';
|
|
20
23
|
import { railLog } from './logger.js';
|
|
21
24
|
// Connection limits
|
|
22
25
|
const MAX_CONNECTIONS = 200;
|
|
23
26
|
const MAX_OBSERVERS = 50;
|
|
27
|
+
// GoAway grace period for graceful shutdown
|
|
28
|
+
const GOAWAY_GRACE_MS = 5000;
|
|
24
29
|
// ============================================================================
|
|
25
30
|
// WS SERVER
|
|
26
31
|
// ============================================================================
|
|
@@ -34,12 +39,16 @@ export class RailWebSocketServer {
|
|
|
34
39
|
rateLimiter;
|
|
35
40
|
persistence;
|
|
36
41
|
metadataBroadcaster;
|
|
42
|
+
pluginManager;
|
|
37
43
|
userSessionManager = new UserSessionManager();
|
|
38
44
|
constructor(config) {
|
|
39
45
|
this.config = config;
|
|
40
46
|
const absorptionProtocol = new AbsorptionProtocol();
|
|
41
47
|
this.rail = new ResonanceRailServer(absorptionProtocol);
|
|
42
48
|
this.rateLimiter = new ClientRateLimiter();
|
|
49
|
+
// Initialize plugin manager and wire to rail
|
|
50
|
+
this.pluginManager = new RailPluginManager(this.rail);
|
|
51
|
+
this.rail.setPluginManager(this.pluginManager);
|
|
43
52
|
this.httpServer = createServer((req, res) => {
|
|
44
53
|
this.handleHttp(req, res);
|
|
45
54
|
});
|
|
@@ -69,6 +78,8 @@ export class RailWebSocketServer {
|
|
|
69
78
|
this.persistence = createRailPersistence(dataDir);
|
|
70
79
|
await this.persistence.init();
|
|
71
80
|
railLog.info('rail', 'Persistence initialized', { dataDir });
|
|
81
|
+
// Wire persistence to rail server
|
|
82
|
+
this.rail.setPersistence(this.persistence);
|
|
72
83
|
// Restore enrollments from persistence
|
|
73
84
|
try {
|
|
74
85
|
const enrollments = await this.persistence.loadEnrollments();
|
|
@@ -113,7 +124,10 @@ export class RailWebSocketServer {
|
|
|
113
124
|
this.heartbeatTimer = undefined;
|
|
114
125
|
}
|
|
115
126
|
this.metadataBroadcaster?.stop();
|
|
116
|
-
|
|
127
|
+
// D1: Graceful GoAway shutdown with 5s grace period
|
|
128
|
+
this.rail.stop(GOAWAY_GRACE_MS);
|
|
129
|
+
// Wait for grace period to allow clients to disconnect
|
|
130
|
+
await new Promise(resolve => setTimeout(resolve, GOAWAY_GRACE_MS + 100));
|
|
117
131
|
// Close all WebSocket connections
|
|
118
132
|
for (const tracked of this.sockets.values()) {
|
|
119
133
|
tracked.ws.close(1001, 'Server shutting down');
|
|
@@ -171,7 +185,7 @@ export class RailWebSocketServer {
|
|
|
171
185
|
observer: true,
|
|
172
186
|
};
|
|
173
187
|
this.sockets.set(observerId, tracked);
|
|
174
|
-
// Send sync with current state
|
|
188
|
+
// Send sync with current state (includes lastSeq for D2 replay)
|
|
175
189
|
this.sendTo(tracked, {
|
|
176
190
|
type: 'sync',
|
|
177
191
|
agentId: 'server',
|
|
@@ -185,6 +199,7 @@ export class RailWebSocketServer {
|
|
|
185
199
|
platform: c.platform,
|
|
186
200
|
})),
|
|
187
201
|
observer: true,
|
|
202
|
+
lastSeq: this.rail.getMessageSeq(),
|
|
188
203
|
},
|
|
189
204
|
timestamp: Date.now(),
|
|
190
205
|
});
|
|
@@ -244,6 +259,7 @@ export class RailWebSocketServer {
|
|
|
244
259
|
})),
|
|
245
260
|
sessionToken: session.sessionToken,
|
|
246
261
|
reconnectToken: result.reconnectToken,
|
|
262
|
+
lastSeq: this.rail.getMessageSeq(),
|
|
247
263
|
},
|
|
248
264
|
timestamp: Date.now(),
|
|
249
265
|
});
|
|
@@ -277,7 +293,7 @@ export class RailWebSocketServer {
|
|
|
277
293
|
this.sockets.set(result.client.id, tracked);
|
|
278
294
|
// Persist join
|
|
279
295
|
this.persistence?.recordSession(result.client, 'join').catch(() => { });
|
|
280
|
-
// Send join acknowledgement with reconnect token
|
|
296
|
+
// Send join acknowledgement with reconnect token and lastSeq (D2)
|
|
281
297
|
this.sendTo(tracked, {
|
|
282
298
|
type: 'sync',
|
|
283
299
|
agentId: 'server',
|
|
@@ -291,6 +307,7 @@ export class RailWebSocketServer {
|
|
|
291
307
|
platform: c.platform,
|
|
292
308
|
})),
|
|
293
309
|
reconnectToken: result.reconnectToken,
|
|
310
|
+
lastSeq: this.rail.getMessageSeq(),
|
|
294
311
|
},
|
|
295
312
|
timestamp: Date.now(),
|
|
296
313
|
});
|
|
@@ -376,7 +393,29 @@ export class RailWebSocketServer {
|
|
|
376
393
|
}
|
|
377
394
|
}
|
|
378
395
|
// ==========================================================================
|
|
379
|
-
// HTTP
|
|
396
|
+
// HTTP REQUEST BODY HELPER
|
|
397
|
+
// ==========================================================================
|
|
398
|
+
/** Maximum HTTP request body size (1 MB) */
|
|
399
|
+
static MAX_BODY_SIZE = 1_048_576;
|
|
400
|
+
readBody(req) {
|
|
401
|
+
return new Promise((resolve, reject) => {
|
|
402
|
+
let body = '';
|
|
403
|
+
let size = 0;
|
|
404
|
+
req.on('data', (chunk) => {
|
|
405
|
+
size += chunk.length;
|
|
406
|
+
if (size > RailWebSocketServer.MAX_BODY_SIZE) {
|
|
407
|
+
req.destroy();
|
|
408
|
+
reject(new Error('Request body too large'));
|
|
409
|
+
return;
|
|
410
|
+
}
|
|
411
|
+
body += chunk.toString();
|
|
412
|
+
});
|
|
413
|
+
req.on('end', () => resolve(body));
|
|
414
|
+
req.on('error', reject);
|
|
415
|
+
});
|
|
416
|
+
}
|
|
417
|
+
// ==========================================================================
|
|
418
|
+
// HTTP ENDPOINTS
|
|
380
419
|
// ==========================================================================
|
|
381
420
|
handleHttp(req, res) {
|
|
382
421
|
const url = req.url ?? '';
|
|
@@ -398,6 +437,7 @@ export class RailWebSocketServer {
|
|
|
398
437
|
res.end();
|
|
399
438
|
return;
|
|
400
439
|
}
|
|
440
|
+
// ---- GET /health ----
|
|
401
441
|
if (req.method === 'GET' && url === '/health') {
|
|
402
442
|
const stats = this.rail.getStats();
|
|
403
443
|
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
@@ -407,19 +447,23 @@ export class RailWebSocketServer {
|
|
|
407
447
|
agents: stats.connectedAgents,
|
|
408
448
|
coherence: stats.globalCoherence,
|
|
409
449
|
messages: stats.messagesProcessed,
|
|
450
|
+
paused: stats.paused,
|
|
410
451
|
observers: Array.from(this.sockets.values()).filter(s => s.observer).length,
|
|
411
452
|
}));
|
|
412
453
|
return;
|
|
413
454
|
}
|
|
455
|
+
// ---- GET /stats ----
|
|
414
456
|
if (req.method === 'GET' && url === '/stats') {
|
|
415
457
|
const stats = this.rail.getStats();
|
|
416
458
|
const securityStats = this.rail.getSecurityStats(3600_000);
|
|
417
459
|
const coherenceStats = this.rail.getCoherenceStats();
|
|
418
460
|
const userSessions = this.userSessionManager.getActiveCount();
|
|
461
|
+
const plugins = this.pluginManager.listPlugins();
|
|
419
462
|
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
420
|
-
res.end(JSON.stringify({ stats, security: securityStats, coherence: coherenceStats, userSessions }));
|
|
463
|
+
res.end(JSON.stringify({ stats, security: securityStats, coherence: coherenceStats, userSessions, plugins }));
|
|
421
464
|
return;
|
|
422
465
|
}
|
|
466
|
+
// ---- GET /metrics ----
|
|
423
467
|
if (req.method === 'GET' && url === '/metrics') {
|
|
424
468
|
const stats = this.rail.getStats();
|
|
425
469
|
const lines = [
|
|
@@ -435,11 +479,153 @@ export class RailWebSocketServer {
|
|
|
435
479
|
`# HELP rail_uptime_seconds Server uptime`,
|
|
436
480
|
`# TYPE rail_uptime_seconds counter`,
|
|
437
481
|
`rail_uptime_seconds ${stats.uptimeSeconds}`,
|
|
482
|
+
`# HELP rail_paused Server paused state`,
|
|
483
|
+
`# TYPE rail_paused gauge`,
|
|
484
|
+
`rail_paused ${stats.paused ? 1 : 0}`,
|
|
438
485
|
];
|
|
439
486
|
res.writeHead(200, { 'Content-Type': 'text/plain' });
|
|
440
487
|
res.end(lines.join('\n') + '\n');
|
|
441
488
|
return;
|
|
442
489
|
}
|
|
490
|
+
// ---- Admin auth helper for mutating/compute endpoints ----
|
|
491
|
+
const requireAdmin = () => {
|
|
492
|
+
const adminSecret = process.env['RAIL_ADMIN_SECRET'];
|
|
493
|
+
if (!adminSecret) {
|
|
494
|
+
res.writeHead(503, { 'Content-Type': 'application/json' });
|
|
495
|
+
res.end(JSON.stringify({ error: 'Admin auth not configured' }));
|
|
496
|
+
return false;
|
|
497
|
+
}
|
|
498
|
+
const authHeader = req.headers['authorization'] ?? '';
|
|
499
|
+
const expected = `Bearer ${adminSecret}`;
|
|
500
|
+
if (authHeader.length !== expected.length ||
|
|
501
|
+
!cryptoTimingSafeEqual(Buffer.from(authHeader), Buffer.from(expected))) {
|
|
502
|
+
res.writeHead(401, { 'Content-Type': 'application/json' });
|
|
503
|
+
res.end(JSON.stringify({ error: 'Unauthorized' }));
|
|
504
|
+
return false;
|
|
505
|
+
}
|
|
506
|
+
return true;
|
|
507
|
+
};
|
|
508
|
+
// ---- POST /pause (A1) ----
|
|
509
|
+
if (req.method === 'POST' && url === '/pause') {
|
|
510
|
+
if (!requireAdmin())
|
|
511
|
+
return;
|
|
512
|
+
const snapshot = this.rail.pause();
|
|
513
|
+
// Persist pause state if persistence available
|
|
514
|
+
if (this.persistence) {
|
|
515
|
+
this.persistence.savePauseState(snapshot.phases, snapshot.coherence).catch(err => {
|
|
516
|
+
railLog.warn('rail', 'Failed to persist pause state', { error: String(err) });
|
|
517
|
+
});
|
|
518
|
+
}
|
|
519
|
+
const phasesObj = {};
|
|
520
|
+
for (const [k, v] of snapshot.phases) {
|
|
521
|
+
phasesObj[k] = v;
|
|
522
|
+
}
|
|
523
|
+
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
524
|
+
res.end(JSON.stringify({
|
|
525
|
+
paused: true,
|
|
526
|
+
coherence: snapshot.coherence,
|
|
527
|
+
phases: phasesObj,
|
|
528
|
+
agentCount: Object.keys(phasesObj).length,
|
|
529
|
+
}));
|
|
530
|
+
return;
|
|
531
|
+
}
|
|
532
|
+
// ---- POST /resume (A1) ----
|
|
533
|
+
if (req.method === 'POST' && url === '/resume') {
|
|
534
|
+
if (!requireAdmin())
|
|
535
|
+
return;
|
|
536
|
+
this.rail.resume();
|
|
537
|
+
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
538
|
+
res.end(JSON.stringify({
|
|
539
|
+
paused: false,
|
|
540
|
+
coherence: this.rail.getStats().globalCoherence,
|
|
541
|
+
}));
|
|
542
|
+
return;
|
|
543
|
+
}
|
|
544
|
+
// ---- GET /traces (A2/A3) ----
|
|
545
|
+
if (req.method === 'GET' && url.startsWith('/traces')) {
|
|
546
|
+
if (!this.persistence) {
|
|
547
|
+
res.writeHead(503, { 'Content-Type': 'application/json' });
|
|
548
|
+
res.end(JSON.stringify({ error: 'Persistence unavailable' }));
|
|
549
|
+
return;
|
|
550
|
+
}
|
|
551
|
+
// Parse query params
|
|
552
|
+
const urlObj = new URL(url, `http://localhost:${this.config.port}`);
|
|
553
|
+
const agentId = urlObj.searchParams.get('agent') ?? undefined;
|
|
554
|
+
const kind = urlObj.searchParams.get('kind') ?? undefined;
|
|
555
|
+
const limitStr = urlObj.searchParams.get('limit');
|
|
556
|
+
const sinceStr = urlObj.searchParams.get('since');
|
|
557
|
+
const limit = limitStr ? parseInt(limitStr, 10) : 50;
|
|
558
|
+
const since = sinceStr ? parseInt(sinceStr, 10) : undefined;
|
|
559
|
+
this.persistence.searchTraces({ agentId, kind, limit, since })
|
|
560
|
+
.then(traces => {
|
|
561
|
+
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
562
|
+
res.end(JSON.stringify({ traces, total: traces.length }));
|
|
563
|
+
})
|
|
564
|
+
.catch(err => {
|
|
565
|
+
res.writeHead(500, { 'Content-Type': 'application/json' });
|
|
566
|
+
res.end(JSON.stringify({ error: String(err) }));
|
|
567
|
+
});
|
|
568
|
+
return;
|
|
569
|
+
}
|
|
570
|
+
// ---- POST /traces/search (A3) ----
|
|
571
|
+
if (req.method === 'POST' && url === '/traces/search') {
|
|
572
|
+
if (!this.persistence) {
|
|
573
|
+
res.writeHead(503, { 'Content-Type': 'application/json' });
|
|
574
|
+
res.end(JSON.stringify({ error: 'Persistence unavailable' }));
|
|
575
|
+
return;
|
|
576
|
+
}
|
|
577
|
+
this.readBody(req).then(body => {
|
|
578
|
+
let parsed;
|
|
579
|
+
try {
|
|
580
|
+
parsed = JSON.parse(body);
|
|
581
|
+
}
|
|
582
|
+
catch {
|
|
583
|
+
res.writeHead(400, { 'Content-Type': 'application/json' });
|
|
584
|
+
res.end(JSON.stringify({ error: 'Invalid JSON' }));
|
|
585
|
+
return;
|
|
586
|
+
}
|
|
587
|
+
return this.persistence.searchTraces({
|
|
588
|
+
embedding: parsed.embedding,
|
|
589
|
+
limit: parsed.limit,
|
|
590
|
+
}).then(traces => {
|
|
591
|
+
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
592
|
+
res.end(JSON.stringify({ traces, total: traces.length }));
|
|
593
|
+
});
|
|
594
|
+
}).catch(err => {
|
|
595
|
+
res.writeHead(500, { 'Content-Type': 'application/json' });
|
|
596
|
+
res.end(JSON.stringify({ error: String(err) }));
|
|
597
|
+
});
|
|
598
|
+
return;
|
|
599
|
+
}
|
|
600
|
+
// ---- POST /synthesize (A3) ----
|
|
601
|
+
if (req.method === 'POST' && url === '/synthesize') {
|
|
602
|
+
if (!requireAdmin())
|
|
603
|
+
return;
|
|
604
|
+
this.readBody(req).then(body => {
|
|
605
|
+
let parsed;
|
|
606
|
+
try {
|
|
607
|
+
parsed = JSON.parse(body);
|
|
608
|
+
}
|
|
609
|
+
catch {
|
|
610
|
+
res.writeHead(400, { 'Content-Type': 'application/json' });
|
|
611
|
+
res.end(JSON.stringify({ error: 'Invalid JSON' }));
|
|
612
|
+
return;
|
|
613
|
+
}
|
|
614
|
+
return this.rail.synthesize({
|
|
615
|
+
embedding: parsed.embedding,
|
|
616
|
+
agentIds: parsed.agentIds,
|
|
617
|
+
limit: parsed.limit,
|
|
618
|
+
}).then(result => {
|
|
619
|
+
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
620
|
+
res.end(JSON.stringify(result));
|
|
621
|
+
});
|
|
622
|
+
}).catch(err => {
|
|
623
|
+
res.writeHead(500, { 'Content-Type': 'application/json' });
|
|
624
|
+
res.end(JSON.stringify({ error: String(err) }));
|
|
625
|
+
});
|
|
626
|
+
return;
|
|
627
|
+
}
|
|
628
|
+
// ---- POST /enroll ----
|
|
443
629
|
if (req.method === 'POST' && url === '/enroll') {
|
|
444
630
|
const adminSecret = process.env['RAIL_ADMIN_SECRET'];
|
|
445
631
|
if (!adminSecret) {
|
|
@@ -447,15 +633,15 @@ export class RailWebSocketServer {
|
|
|
447
633
|
res.end(JSON.stringify({ error: 'Enrollment not configured' }));
|
|
448
634
|
return;
|
|
449
635
|
}
|
|
450
|
-
const authHeader = req.headers['authorization'];
|
|
451
|
-
|
|
636
|
+
const authHeader = req.headers['authorization'] ?? '';
|
|
637
|
+
const expected = `Bearer ${adminSecret}`;
|
|
638
|
+
if (authHeader.length !== expected.length ||
|
|
639
|
+
!cryptoTimingSafeEqual(Buffer.from(authHeader), Buffer.from(expected))) {
|
|
452
640
|
res.writeHead(401, { 'Content-Type': 'application/json' });
|
|
453
641
|
res.end(JSON.stringify({ error: 'Unauthorized' }));
|
|
454
642
|
return;
|
|
455
643
|
}
|
|
456
|
-
|
|
457
|
-
req.on('data', (chunk) => { body += chunk; });
|
|
458
|
-
req.on('end', () => {
|
|
644
|
+
this.readBody(req).then(body => {
|
|
459
645
|
try {
|
|
460
646
|
const { agentId, secret: providedSecret } = JSON.parse(body);
|
|
461
647
|
if (!agentId) {
|
|
@@ -478,9 +664,41 @@ export class RailWebSocketServer {
|
|
|
478
664
|
res.writeHead(400, { 'Content-Type': 'application/json' });
|
|
479
665
|
res.end(JSON.stringify({ error: 'Invalid JSON' }));
|
|
480
666
|
}
|
|
667
|
+
}).catch(err => {
|
|
668
|
+
res.writeHead(500, { 'Content-Type': 'application/json' });
|
|
669
|
+
res.end(JSON.stringify({ error: String(err) }));
|
|
481
670
|
});
|
|
482
671
|
return;
|
|
483
672
|
}
|
|
673
|
+
// ---- GET /replay (D2) ----
|
|
674
|
+
if (req.method === 'GET' && url.startsWith('/replay')) {
|
|
675
|
+
if (!this.persistence) {
|
|
676
|
+
res.writeHead(503, { 'Content-Type': 'application/json' });
|
|
677
|
+
res.end(JSON.stringify({ error: 'Persistence unavailable' }));
|
|
678
|
+
return;
|
|
679
|
+
}
|
|
680
|
+
const urlObj = new URL(url, `http://localhost:${this.config.port}`);
|
|
681
|
+
const fromStr = urlObj.searchParams.get('from');
|
|
682
|
+
const limitStr = urlObj.searchParams.get('limit');
|
|
683
|
+
const from = fromStr ? parseInt(fromStr, 10) : 0;
|
|
684
|
+
const limit = limitStr ? parseInt(limitStr, 10) : undefined;
|
|
685
|
+
if (isNaN(from) || from < 0) {
|
|
686
|
+
res.writeHead(400, { 'Content-Type': 'application/json' });
|
|
687
|
+
res.end(JSON.stringify({ error: 'Invalid "from" parameter' }));
|
|
688
|
+
return;
|
|
689
|
+
}
|
|
690
|
+
this.persistence.replayMessages(from, limit)
|
|
691
|
+
.then(messages => {
|
|
692
|
+
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
693
|
+
res.end(JSON.stringify({ messages, total: messages.length }));
|
|
694
|
+
})
|
|
695
|
+
.catch(err => {
|
|
696
|
+
res.writeHead(500, { 'Content-Type': 'application/json' });
|
|
697
|
+
res.end(JSON.stringify({ error: String(err) }));
|
|
698
|
+
});
|
|
699
|
+
return;
|
|
700
|
+
}
|
|
701
|
+
// ---- GET /agents ----
|
|
484
702
|
if (req.method === 'GET' && url === '/agents') {
|
|
485
703
|
const clients = this.rail.getClients();
|
|
486
704
|
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
@@ -495,6 +713,7 @@ export class RailWebSocketServer {
|
|
|
495
713
|
}));
|
|
496
714
|
return;
|
|
497
715
|
}
|
|
716
|
+
// ---- GET /.well-known/resonance-rail ----
|
|
498
717
|
if (req.method === 'GET' && (url === '/.well-known/resonance-rail' || url === '/.well-known/resonance-rail.json')) {
|
|
499
718
|
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
500
719
|
res.end(JSON.stringify({
|
|
@@ -502,7 +721,7 @@ export class RailWebSocketServer {
|
|
|
502
721
|
version: '0.2.0',
|
|
503
722
|
protocol: 'resonance-rail-v1',
|
|
504
723
|
absorption: true,
|
|
505
|
-
capabilities: ['kuramoto', 'thermodynamic-routing', 'semantic-search'],
|
|
724
|
+
capabilities: ['kuramoto', 'thermodynamic-routing', 'semantic-search', 'traces', 'synthesis', 'plugins'],
|
|
506
725
|
enrollment: 'https://space.terminals.tech/enroll',
|
|
507
726
|
auth_methods: ['hmac-sha256', 'jwt', 'observer'],
|
|
508
727
|
join_schema: {
|
|
@@ -529,6 +748,9 @@ export class RailWebSocketServer {
|
|
|
529
748
|
getConnectedCount() {
|
|
530
749
|
return this.sockets.size;
|
|
531
750
|
}
|
|
751
|
+
getPluginManager() {
|
|
752
|
+
return this.pluginManager;
|
|
753
|
+
}
|
|
532
754
|
}
|
|
533
755
|
// ============================================================================
|
|
534
756
|
// FACTORY
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wsServer.js","sourceRoot":"","sources":["../../src/rail/wsServer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wsServer.js","sourceRoot":"","sources":["../../src/rail/wsServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,8 @@ export interface GlobalKuramotoConfig extends KuramotoConfig {
|
|
|
13
13
|
minCoupling: number;
|
|
14
14
|
maxCoupling: number;
|
|
15
15
|
groupthinkThreshold: number;
|
|
16
|
+
/** Cross-model coupling factor: cross-model pairs couple at K * this factor (default 0.7) */
|
|
17
|
+
crossModelCouplingFactor: number;
|
|
16
18
|
}
|
|
17
19
|
export declare class GlobalKuramotoEngine {
|
|
18
20
|
private engine;
|
|
@@ -27,6 +29,7 @@ export declare class GlobalKuramotoEngine {
|
|
|
27
29
|
name: string;
|
|
28
30
|
frequency: number;
|
|
29
31
|
phase: number;
|
|
32
|
+
modelType?: string;
|
|
30
33
|
}): void;
|
|
31
34
|
removeAgent(agentId: string): void;
|
|
32
35
|
tick(): {
|
|
@@ -34,6 +37,13 @@ export declare class GlobalKuramotoEngine {
|
|
|
34
37
|
phases: Map<string, number>;
|
|
35
38
|
adaptedK: number;
|
|
36
39
|
};
|
|
40
|
+
/**
|
|
41
|
+
* Apply reduced coupling between oscillators of different model types.
|
|
42
|
+
* The base KuramotoEngine applies uniform coupling K to all pairs.
|
|
43
|
+
* This post-tick step partially reverts phase changes from cross-model
|
|
44
|
+
* pairs so they effectively couple at K * crossModelCouplingFactor.
|
|
45
|
+
*/
|
|
46
|
+
private applyCrossModelCorrection;
|
|
37
47
|
private adaptCoupling;
|
|
38
48
|
pruneStale(): string[];
|
|
39
49
|
getCoherenceField(): {
|
|
@@ -43,6 +53,16 @@ export declare class GlobalKuramotoEngine {
|
|
|
43
53
|
coupling: number;
|
|
44
54
|
};
|
|
45
55
|
detectFloodAttack(agentId: string): boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Calculate per-model-type Kuramoto order parameter.
|
|
58
|
+
* Groups oscillators by modelType and computes coherence within each group.
|
|
59
|
+
* Oscillators without a modelType are grouped under the key 'unknown'.
|
|
60
|
+
*/
|
|
61
|
+
getCoherenceByModel(): Map<string, number>;
|
|
62
|
+
/**
|
|
63
|
+
* Check if any model-specific cluster exceeds the groupthink threshold.
|
|
64
|
+
*/
|
|
65
|
+
getGroupthinkByModel(): Map<string, boolean>;
|
|
46
66
|
addObserver(observer: Observer): void;
|
|
47
67
|
removeObserver(id: string): void;
|
|
48
68
|
getCoherence(): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globalKuramoto.d.ts","sourceRoot":"","sources":["../../src/resonance/globalKuramoto.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"globalKuramoto.d.ts","sourceRoot":"","sources":["../../src/resonance/globalKuramoto.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAoC,KAAK,cAAc,EAAmB,MAAM,eAAe,CAAC;AACvG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,6FAA6F;IAC7F,wBAAwB,EAAE,MAAM,CAAC;CAClC;AA2BD,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,WAAW,CAA6C;IAChE,OAAO,CAAC,YAAY,CAAoC;IACxD,OAAO,CAAC,eAAe,CAAS;gBAEpB,MAAM,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC;IAMlD,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAkBpE,QAAQ,CAAC,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAoB5G,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAMlC,IAAI,IAAI;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;IAgB5E;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB;IA+CjC,OAAO,CAAC,aAAa;IAgBrB,UAAU,IAAI,MAAM,EAAE;IActB,iBAAiB,IAAI;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;KAClB;IASD,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAe3C;;;;OAIG;IACH,mBAAmB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAsB1C;;OAEG;IACH,oBAAoB,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAW5C,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IASrC,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAIhC,YAAY,IAAI,MAAM;IAItB,YAAY,IAAI,MAAM;IAItB,kBAAkB,IAAI,KAAK,CAAC;QAC1B,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IAYF,QAAQ;;;;;;;IAIR,iBAAiB,IAAI,OAAO;IAI5B,gBAAgB,IAAI,IAAI;CAGzB;AAED,wBAAgB,oBAAoB,CAClC,MAAM,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACrC,oBAAoB,CAEtB"}
|