@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.
Files changed (130) hide show
  1. package/LICENSE +21 -0
  2. package/THEORY.md +207 -0
  3. package/dist/agency/commandRouter.d.ts +10 -0
  4. package/dist/agency/commandRouter.d.ts.map +1 -1
  5. package/dist/agency/commandRouter.js +206 -0
  6. package/dist/agency/commandRouter.js.map +1 -1
  7. package/dist/agency/runtime.d.ts +26 -0
  8. package/dist/agency/runtime.d.ts.map +1 -1
  9. package/dist/agency/runtime.js +138 -6
  10. package/dist/agency/runtime.js.map +1 -1
  11. package/dist/channels/gemini.d.ts +73 -0
  12. package/dist/channels/gemini.d.ts.map +1 -0
  13. package/dist/channels/gemini.js +246 -0
  14. package/dist/channels/gemini.js.map +1 -0
  15. package/dist/channels/sms.d.ts.map +1 -1
  16. package/dist/channels/sms.js +1 -2
  17. package/dist/channels/sms.js.map +1 -1
  18. package/dist/interop/a2a.d.ts +133 -0
  19. package/dist/interop/a2a.d.ts.map +1 -0
  20. package/dist/interop/a2a.js +357 -0
  21. package/dist/interop/a2a.js.map +1 -0
  22. package/dist/interop/index.d.ts +10 -0
  23. package/dist/interop/index.d.ts.map +1 -0
  24. package/dist/interop/index.js +10 -0
  25. package/dist/interop/index.js.map +1 -0
  26. package/dist/interop/mcp.d.ts +111 -0
  27. package/dist/interop/mcp.d.ts.map +1 -0
  28. package/dist/interop/mcp.js +337 -0
  29. package/dist/interop/mcp.js.map +1 -0
  30. package/dist/moltbook/approvalGate.d.ts +23 -0
  31. package/dist/moltbook/approvalGate.d.ts.map +1 -1
  32. package/dist/moltbook/approvalGate.js +45 -0
  33. package/dist/moltbook/approvalGate.js.map +1 -1
  34. package/dist/moltbook/attentionField.d.ts +14 -0
  35. package/dist/moltbook/attentionField.d.ts.map +1 -1
  36. package/dist/moltbook/attentionField.js +37 -1
  37. package/dist/moltbook/attentionField.js.map +1 -1
  38. package/dist/moltbook/daemon.d.ts +27 -0
  39. package/dist/moltbook/daemon.d.ts.map +1 -1
  40. package/dist/moltbook/daemon.js +184 -5
  41. package/dist/moltbook/daemon.js.map +1 -1
  42. package/dist/moltbook/responseComposer.d.ts +7 -2
  43. package/dist/moltbook/responseComposer.d.ts.map +1 -1
  44. package/dist/moltbook/responseComposer.js +36 -7
  45. package/dist/moltbook/responseComposer.js.map +1 -1
  46. package/dist/moltbook/strategicContext.d.ts +89 -0
  47. package/dist/moltbook/strategicContext.d.ts.map +1 -0
  48. package/dist/moltbook/strategicContext.js +283 -0
  49. package/dist/moltbook/strategicContext.js.map +1 -0
  50. package/dist/primitives/index.d.ts +6 -2
  51. package/dist/primitives/index.d.ts.map +1 -1
  52. package/dist/primitives/index.js +6 -2
  53. package/dist/primitives/index.js.map +1 -1
  54. package/dist/rail/persistence.d.ts +70 -1
  55. package/dist/rail/persistence.d.ts.map +1 -1
  56. package/dist/rail/persistence.js +270 -3
  57. package/dist/rail/persistence.js.map +1 -1
  58. package/dist/rail/plugin.d.ts +76 -0
  59. package/dist/rail/plugin.d.ts.map +1 -0
  60. package/dist/rail/plugin.js +141 -0
  61. package/dist/rail/plugin.js.map +1 -0
  62. package/dist/rail/server.d.ts +121 -30
  63. package/dist/rail/server.d.ts.map +1 -1
  64. package/dist/rail/server.js +404 -28
  65. package/dist/rail/server.js.map +1 -1
  66. package/dist/rail/wsServer.d.ts +7 -0
  67. package/dist/rail/wsServer.d.ts.map +1 -1
  68. package/dist/rail/wsServer.js +233 -11
  69. package/dist/rail/wsServer.js.map +1 -1
  70. package/dist/resonance/globalKuramoto.d.ts +20 -0
  71. package/dist/resonance/globalKuramoto.d.ts.map +1 -1
  72. package/dist/resonance/globalKuramoto.js +95 -2
  73. package/dist/resonance/globalKuramoto.js.map +1 -1
  74. package/dist/resonance/kuramoto.d.ts +6 -0
  75. package/dist/resonance/kuramoto.d.ts.map +1 -1
  76. package/dist/resonance/kuramoto.js +25 -0
  77. package/dist/resonance/kuramoto.js.map +1 -1
  78. package/dist/routing/index.d.ts +2 -0
  79. package/dist/routing/index.d.ts.map +1 -1
  80. package/dist/routing/index.js +1 -0
  81. package/dist/routing/index.js.map +1 -1
  82. package/dist/routing/modelRegistry.d.ts +54 -0
  83. package/dist/routing/modelRegistry.d.ts.map +1 -0
  84. package/dist/routing/modelRegistry.js +150 -0
  85. package/dist/routing/modelRegistry.js.map +1 -0
  86. package/dist/routing/thermodynamic.d.ts +14 -3
  87. package/dist/routing/thermodynamic.d.ts.map +1 -1
  88. package/dist/routing/thermodynamic.js +26 -12
  89. package/dist/routing/thermodynamic.js.map +1 -1
  90. package/dist/runtime/agent-zero.d.ts +38 -2
  91. package/dist/runtime/agent-zero.d.ts.map +1 -1
  92. package/dist/runtime/agent-zero.js +110 -7
  93. package/dist/runtime/agent-zero.js.map +1 -1
  94. package/dist/runtime/contextWindow.d.ts +62 -0
  95. package/dist/runtime/contextWindow.d.ts.map +1 -0
  96. package/dist/runtime/contextWindow.js +125 -0
  97. package/dist/runtime/contextWindow.js.map +1 -0
  98. package/dist/runtime/identity.d.ts +65 -0
  99. package/dist/runtime/identity.d.ts.map +1 -0
  100. package/dist/runtime/identity.js +199 -0
  101. package/dist/runtime/identity.js.map +1 -0
  102. package/dist/runtime/index.d.ts +6 -0
  103. package/dist/runtime/index.d.ts.map +1 -1
  104. package/dist/runtime/index.js +6 -0
  105. package/dist/runtime/index.js.map +1 -1
  106. package/dist/runtime/sessionStore.d.ts +70 -0
  107. package/dist/runtime/sessionStore.d.ts.map +1 -0
  108. package/dist/runtime/sessionStore.js +134 -0
  109. package/dist/runtime/sessionStore.js.map +1 -0
  110. package/dist/security/capabilities.d.ts +46 -0
  111. package/dist/security/capabilities.d.ts.map +1 -1
  112. package/dist/security/capabilities.js +176 -0
  113. package/dist/security/capabilities.js.map +1 -1
  114. package/dist/security/combinators.d.ts +89 -0
  115. package/dist/security/combinators.d.ts.map +1 -0
  116. package/dist/security/combinators.js +168 -0
  117. package/dist/security/combinators.js.map +1 -0
  118. package/dist/security/index.d.ts +7 -1
  119. package/dist/security/index.d.ts.map +1 -1
  120. package/dist/security/index.js +4 -1
  121. package/dist/security/index.js.map +1 -1
  122. package/dist/security/isolation.d.ts +76 -0
  123. package/dist/security/isolation.d.ts.map +1 -0
  124. package/dist/security/isolation.js +118 -0
  125. package/dist/security/isolation.js.map +1 -0
  126. package/dist/security/sandbox.d.ts +38 -1
  127. package/dist/security/sandbox.d.ts.map +1 -1
  128. package/dist/security/sandbox.js +68 -8
  129. package/dist/security/sandbox.js.map +1 -1
  130. package/package.json +13 -3
@@ -5,32 +5,32 @@
5
5
  * Deploy at: space.terminals.tech (or rail.terminals.tech)
6
6
  *
7
7
  * Architecture:
8
- * ┌─────────────────────────────────────────────────────────────────────────────┐
9
- * RESONANCE RAIL SERVER
10
- * (space.terminals.tech)
11
- * ├─────────────────────────────────────────────────────────────────────────────┤
12
- *
13
- * ┌───────────────┐ ┌───────────────┐ ┌───────────────┐
14
- * Moltbot #1 │────▶│ │◀────│ Moltbot #2
15
- * (WhatsApp) RESONANCE (Telegram)
16
- * └───────────────┘ FIELD └───────────────┘
17
- *
18
- * ┌───────────────┐ ┌─────────┐ ┌───────────────┐
19
- * Moltbot #3 │────▶│ Kuramoto │◀────│ Moltbot #N
20
- * (Discord) Engine (Terminal)
21
- * └───────────────┘ └─────────┘ └───────────────┘
22
- *
23
- * └───────┬───────┘
24
- *
25
- * ┌────────────┴────────────┐
26
- *
27
- * ┌───────────────┐ ┌───────────────┐
28
- * Collective Migration
29
- * Memory Queue
30
- * (PGlite) terminals
31
- * └───────────────┘ └───────────────┘
32
- *
33
- * └─────────────────────────────────────────────────────────────────────────────┘
8
+ * +---------------------------------------------------------------------------+
9
+ * | RESONANCE RAIL SERVER |
10
+ * | (space.terminals.tech) |
11
+ * +------------------------------------------------------------------------- -+
12
+ * | |
13
+ * | +---------------+ +---------------+ +---------------+ |
14
+ * | | Moltbot #1 |---->| |<----| Moltbot #2 | |
15
+ * | | (WhatsApp) | | RESONANCE | | (Telegram) | |
16
+ * | +---------------+ | FIELD | +---------------+ |
17
+ * | | | |
18
+ * | +---------------+ | +---------+ | +---------------+ |
19
+ * | | Moltbot #3 |---->| | Kuramoto| |<----| Moltbot #N | |
20
+ * | | (Discord) | | | Engine | | | (Terminal) | |
21
+ * | +---------------+ | +---------+ | +---------------+ |
22
+ * | | | |
23
+ * | +-------+-------+ |
24
+ * | | |
25
+ * | +------------+------------+ |
26
+ * | v v |
27
+ * | +---------------+ +---------------+ |
28
+ * | | Collective | | Migration | |
29
+ * | | Memory | | Queue | |
30
+ * | | (PGlite) | | -> terminals | |
31
+ * | +---------------+ +---------------+ |
32
+ * | |
33
+ * +---------------------------------------------------------------------------+
34
34
  *
35
35
  * Purpose:
36
36
  * 1. Coordinate coherence across distributed Moltbot agents
@@ -58,11 +58,26 @@ export class ResonanceRailServer extends EventEmitter {
58
58
  migrationQueue = [];
59
59
  startTime;
60
60
  tickInterval;
61
+ tickRate = 100;
61
62
  authProtocol;
62
63
  firewall;
63
64
  securityMonitor;
64
65
  authRequired;
65
66
  absorptionBridge;
67
+ /** Maximum queued messages during pause before dropping */
68
+ static MAX_QUEUE_SIZE = 10_000;
69
+ // A1: Pause/Resume state
70
+ paused = false;
71
+ pausedPhases = new Map();
72
+ messageQueue = [];
73
+ // A2/A3: Persistence for traces
74
+ persistence;
75
+ // A4: Plugin manager
76
+ pluginManager;
77
+ // D1: GoAway shutdown
78
+ goAwayTimer;
79
+ // D2: Message replay / event sourcing
80
+ messageSeq = 0;
66
81
  constructor(absorptionProtocol) {
67
82
  super();
68
83
  this.kuramoto = new GlobalKuramotoEngine({
@@ -137,14 +152,47 @@ export class ResonanceRailServer extends EventEmitter {
137
152
  ║ ║
138
153
  ╚═══════════════════════════════════════════════════════════════════════════════╝
139
154
  `);
155
+ this.tickRate = tickRate;
140
156
  // Start coherence tick loop
141
157
  this.tickInterval = setInterval(() => this.tick(), tickRate);
142
158
  railLog.info('rail', 'Server started', { tickRate });
143
159
  }
144
160
  /**
145
- * Stop the server
161
+ * Stop the server. Supports optional GoAway grace period (D1).
146
162
  */
147
- stop() {
163
+ stop(gracePeriodMs) {
164
+ if (gracePeriodMs && gracePeriodMs > 0) {
165
+ // Broadcast GoAway with time remaining
166
+ this.broadcast({
167
+ type: 'broadcast',
168
+ agentId: 'server',
169
+ agentName: 'Resonance Rail',
170
+ payload: {
171
+ event: 'go_away',
172
+ timeRemainingMs: gracePeriodMs,
173
+ reason: 'server_shutdown',
174
+ },
175
+ timestamp: Date.now(),
176
+ });
177
+ railLog.info('rail', 'GoAway broadcast sent', { gracePeriodMs });
178
+ // Wait grace period, then force stop
179
+ this.goAwayTimer = setTimeout(() => {
180
+ this.goAwayTimer = undefined;
181
+ this.forceStop();
182
+ }, gracePeriodMs);
183
+ }
184
+ else {
185
+ this.forceStop();
186
+ }
187
+ }
188
+ /**
189
+ * Force immediate stop without grace period.
190
+ */
191
+ forceStop() {
192
+ if (this.goAwayTimer) {
193
+ clearTimeout(this.goAwayTimer);
194
+ this.goAwayTimer = undefined;
195
+ }
148
196
  if (this.tickInterval) {
149
197
  clearInterval(this.tickInterval);
150
198
  this.tickInterval = undefined;
@@ -160,6 +208,107 @@ export class ResonanceRailServer extends EventEmitter {
160
208
  railLog.info('rail', 'Server stopped');
161
209
  }
162
210
  // ==========================================================================
211
+ // A1: PAUSE / RESUME
212
+ // ==========================================================================
213
+ /**
214
+ * Pause the server. Kuramoto evolution stops, messages are queued,
215
+ * but connections stay alive. Heartbeats still process.
216
+ */
217
+ pause() {
218
+ if (this.paused) {
219
+ return {
220
+ phases: new Map(this.pausedPhases),
221
+ coherence: this.kuramoto.getCoherence(),
222
+ };
223
+ }
224
+ // Save all oscillator phases
225
+ this.pausedPhases.clear();
226
+ for (const client of this.clients.values()) {
227
+ this.pausedPhases.set(client.agentId, client.phase);
228
+ }
229
+ const coherence = this.kuramoto.getCoherence();
230
+ // Stop tick loop
231
+ if (this.tickInterval) {
232
+ clearInterval(this.tickInterval);
233
+ this.tickInterval = undefined;
234
+ }
235
+ this.paused = true;
236
+ this.messageQueue = [];
237
+ railLog.info('rail', 'Server paused', {
238
+ agents: this.clients.size,
239
+ coherence,
240
+ });
241
+ return {
242
+ phases: new Map(this.pausedPhases),
243
+ coherence,
244
+ };
245
+ }
246
+ /**
247
+ * Resume the server. Restores phases, replays queued messages,
248
+ * restarts the tick loop.
249
+ */
250
+ resume() {
251
+ if (!this.paused)
252
+ return;
253
+ // Restore phases to Kuramoto engine observers
254
+ for (const [agentId, phase] of this.pausedPhases) {
255
+ // Update client phase
256
+ for (const client of this.clients.values()) {
257
+ if (client.agentId === agentId) {
258
+ client.phase = phase;
259
+ break;
260
+ }
261
+ }
262
+ }
263
+ this.paused = false;
264
+ // Restart tick loop
265
+ this.tickInterval = setInterval(() => this.tick(), this.tickRate);
266
+ // Replay queued messages in order
267
+ const queued = this.messageQueue;
268
+ this.messageQueue = [];
269
+ for (const msg of queued) {
270
+ this.processMessage(msg);
271
+ }
272
+ this.pausedPhases.clear();
273
+ railLog.info('rail', 'Server resumed', {
274
+ replayedMessages: queued.length,
275
+ coherence: this.kuramoto.getCoherence(),
276
+ });
277
+ }
278
+ /**
279
+ * Check if server is currently paused.
280
+ */
281
+ isPaused() {
282
+ return this.paused;
283
+ }
284
+ // ==========================================================================
285
+ // PERSISTENCE / PLUGIN SETTERS
286
+ // ==========================================================================
287
+ /**
288
+ * Set persistence layer for trace storage and pause state.
289
+ */
290
+ setPersistence(persistence) {
291
+ this.persistence = persistence;
292
+ }
293
+ /**
294
+ * Get persistence layer.
295
+ */
296
+ getPersistence() {
297
+ return this.persistence;
298
+ }
299
+ /**
300
+ * Set plugin manager for event notifications.
301
+ */
302
+ setPluginManager(manager) {
303
+ this.pluginManager = manager;
304
+ }
305
+ /**
306
+ * Get plugin manager.
307
+ */
308
+ getPluginManager() {
309
+ return this.pluginManager;
310
+ }
311
+ // ==========================================================================
163
312
  // CLIENT MANAGEMENT
164
313
  // ==========================================================================
165
314
  /**
@@ -342,6 +491,186 @@ export class ResonanceRailServer extends EventEmitter {
342
491
  }
343
492
  }
344
493
  // ==========================================================================
494
+ // A2: REASONING TRACE HANDLING
495
+ // ==========================================================================
496
+ /**
497
+ * Handle incoming trace message — persist and notify plugins.
498
+ */
499
+ async handleTrace(message) {
500
+ const payload = message.payload;
501
+ if (!payload?.content || !payload?.kind) {
502
+ railLog.warn('rail', 'Invalid trace message — missing content or kind', {
503
+ agentId: message.agentId,
504
+ });
505
+ return;
506
+ }
507
+ // Persist trace if persistence layer available
508
+ if (this.persistence) {
509
+ try {
510
+ await this.persistence.saveTrace({
511
+ agentId: message.agentId,
512
+ agentName: message.agentName,
513
+ content: payload.content,
514
+ embedding: payload.embedding,
515
+ kind: payload.kind,
516
+ metadata: payload.metadata,
517
+ });
518
+ }
519
+ catch (err) {
520
+ railLog.error('rail', 'Failed to save trace', { error: String(err) });
521
+ }
522
+ }
523
+ // Notify plugins
524
+ this.pluginManager?.notifyTrace({
525
+ agentId: message.agentId,
526
+ content: payload.content,
527
+ kind: payload.kind,
528
+ });
529
+ railLog.debug('rail', 'Trace recorded', {
530
+ agentId: message.agentId,
531
+ kind: payload.kind,
532
+ });
533
+ }
534
+ /**
535
+ * Handle search message — query traces by embedding or filters.
536
+ */
537
+ async handleSearch(message) {
538
+ const payload = message.payload;
539
+ if (!this.persistence) {
540
+ railLog.warn('rail', 'Search requested but persistence unavailable');
541
+ return [];
542
+ }
543
+ try {
544
+ return await this.persistence.searchTraces({
545
+ embedding: payload?.embedding,
546
+ agentId: payload?.agentId,
547
+ kind: payload?.kind,
548
+ limit: payload?.limit,
549
+ since: payload?.since,
550
+ });
551
+ }
552
+ catch (err) {
553
+ railLog.error('rail', 'Trace search failed', { error: String(err) });
554
+ return [];
555
+ }
556
+ }
557
+ // ==========================================================================
558
+ // A3: CROSS-AGENT SYNTHESIS
559
+ // ==========================================================================
560
+ /**
561
+ * Synthesize traces from multiple agents into a coherence-weighted summary.
562
+ * Local operation — no LLM call. Concatenates trace contents ordered by
563
+ * relevance with agent attribution and coherence weighting.
564
+ */
565
+ async synthesize(query) {
566
+ if (!this.persistence) {
567
+ return { traces: [], summary: 'No persistence layer available for synthesis.' };
568
+ }
569
+ const limit = query.limit ?? 10;
570
+ // Build coherence weight map from connected clients
571
+ const coherenceMap = new Map();
572
+ for (const client of this.clients.values()) {
573
+ coherenceMap.set(client.agentId, client.coherenceContribution);
574
+ }
575
+ // If agentIds are specified, search per agent and merge
576
+ let allTraces = [];
577
+ if (query.agentIds && query.agentIds.length > 0) {
578
+ for (const agentId of query.agentIds) {
579
+ const traces = await this.persistence.searchTraces({
580
+ embedding: query.embedding,
581
+ agentId,
582
+ limit,
583
+ });
584
+ allTraces.push(...traces);
585
+ }
586
+ }
587
+ else {
588
+ allTraces = await this.persistence.searchTraces({
589
+ embedding: query.embedding,
590
+ limit: limit * 2, // fetch extra for diversity
591
+ });
592
+ }
593
+ // Deduplicate by id
594
+ const seen = new Set();
595
+ allTraces = allTraces.filter(t => {
596
+ if (seen.has(t.id))
597
+ return false;
598
+ seen.add(t.id);
599
+ return true;
600
+ });
601
+ // Score: combine similarity with coherence weight
602
+ const scored = allTraces.map(trace => {
603
+ const coherenceWeight = coherenceMap.get(trace.agent_id) ?? 0;
604
+ const similarity = trace.similarity ?? 0;
605
+ const combinedScore = similarity * 0.7 + coherenceWeight * 0.3;
606
+ return {
607
+ agentId: trace.agent_id,
608
+ agentName: trace.agent_name,
609
+ content: trace.content,
610
+ similarity,
611
+ coherenceWeight,
612
+ combinedScore,
613
+ };
614
+ });
615
+ // Sort by combined score descending
616
+ scored.sort((a, b) => b.combinedScore - a.combinedScore);
617
+ const topTraces = scored.slice(0, limit);
618
+ // Build formatted summary
619
+ const summaryParts = [];
620
+ for (const trace of topTraces) {
621
+ const simStr = trace.similarity > 0 ? ` (similarity: ${trace.similarity.toFixed(3)})` : '';
622
+ summaryParts.push(`[${trace.agentName}]${simStr}: ${trace.content}`);
623
+ }
624
+ const summary = topTraces.length > 0
625
+ ? `Synthesis from ${new Set(topTraces.map(t => t.agentId)).size} agent(s):\n\n${summaryParts.join('\n\n')}`
626
+ : 'No traces found matching the query.';
627
+ return {
628
+ traces: topTraces.map(({ combinedScore, ...rest }) => rest),
629
+ summary,
630
+ };
631
+ }
632
+ // ==========================================================================
633
+ // D2: MESSAGE REPLAY / EVENT SOURCING
634
+ // ==========================================================================
635
+ /**
636
+ * Handle a replay request — return messages from a given sequence number.
637
+ */
638
+ async handleReplay(message) {
639
+ const payload = message.payload;
640
+ if (!this.persistence) {
641
+ railLog.warn('rail', 'Replay requested but persistence unavailable');
642
+ return [];
643
+ }
644
+ const fromSeq = payload?.fromSeq ?? 0;
645
+ const limit = payload?.limit;
646
+ try {
647
+ return await this.persistence.replayMessages(fromSeq, limit);
648
+ }
649
+ catch (err) {
650
+ railLog.error('rail', 'Message replay failed', { error: String(err) });
651
+ return [];
652
+ }
653
+ }
654
+ /**
655
+ * Get the current message sequence number.
656
+ */
657
+ getMessageSeq() {
658
+ return this.messageSeq;
659
+ }
660
+ /**
661
+ * Get the latest persisted sequence number.
662
+ */
663
+ async getLatestSeq() {
664
+ if (!this.persistence)
665
+ return 0;
666
+ try {
667
+ return await this.persistence.getLatestSeq();
668
+ }
669
+ catch {
670
+ return 0;
671
+ }
672
+ }
673
+ // ==========================================================================
345
674
  // MESSAGE ROUTING
346
675
  // ==========================================================================
347
676
  /**
@@ -349,6 +678,20 @@ export class ResonanceRailServer extends EventEmitter {
349
678
  */
350
679
  processMessage(message) {
351
680
  this.messagesProcessed++;
681
+ // A1: If paused, queue everything except heartbeats (with size limit)
682
+ if (this.paused && message.type !== 'heartbeat') {
683
+ if (this.messageQueue.length < ResonanceRailServer.MAX_QUEUE_SIZE) {
684
+ this.messageQueue.push(message);
685
+ }
686
+ else {
687
+ railLog.warn('rail', 'Message queue full during pause, dropping message', {
688
+ type: message.type,
689
+ agentId: message.agentId,
690
+ queueSize: this.messageQueue.length,
691
+ });
692
+ }
693
+ return;
694
+ }
352
695
  switch (message.type) {
353
696
  case 'join':
354
697
  this.handleJoin(message);
@@ -374,6 +717,31 @@ export class ResonanceRailServer extends EventEmitter {
374
717
  case 'sync':
375
718
  this.syncCoherence(message.agentId);
376
719
  break;
720
+ case 'trace':
721
+ this.handleTrace(message).catch(err => {
722
+ railLog.error('rail', 'Trace handler error', { error: String(err) });
723
+ });
724
+ break;
725
+ case 'search':
726
+ // Search is handled via HTTP endpoints in wsServer, not through processMessage
727
+ break;
728
+ case 'synthesize':
729
+ // Synthesis is handled via HTTP endpoints in wsServer, not through processMessage
730
+ break;
731
+ case 'replay':
732
+ // Replay is handled via handleReplay() or HTTP endpoint
733
+ break;
734
+ }
735
+ // D2: Log message to persistence for replay (fire-and-forget)
736
+ if (this.persistence) {
737
+ this.persistence.logMessage(message).then(seq => {
738
+ this.messageSeq = seq;
739
+ }).catch(err => {
740
+ railLog.error('rail', 'Failed to log message', { error: String(err) });
741
+ });
742
+ }
743
+ else {
744
+ this.messageSeq++;
377
745
  }
378
746
  }
379
747
  /**
@@ -436,6 +804,8 @@ export class ResonanceRailServer extends EventEmitter {
436
804
  */
437
805
  broadcast(message) {
438
806
  this.emit('message:broadcast', message);
807
+ // Notify plugins
808
+ this.pluginManager?.notifyBroadcast(message);
439
809
  // In production, this would send via WebSocket to all clients
440
810
  railLog.debug('rail', 'Broadcast', { type: message.type, from: message.agentName });
441
811
  }
@@ -452,10 +822,15 @@ export class ResonanceRailServer extends EventEmitter {
452
822
  // TICK LOOP
453
823
  // ==========================================================================
454
824
  tick() {
825
+ // A1: Skip if paused
826
+ if (this.paused)
827
+ return;
455
828
  // Evolve Kuramoto phases
456
829
  const { coherence } = this.kuramoto.tick();
457
830
  // Emit coherence update
458
831
  this.emit('coherence:update', coherence);
832
+ // Notify plugins
833
+ this.pluginManager?.notifyCoherence(coherence);
459
834
  // Check for stale clients (no heartbeat in 30s)
460
835
  const now = Date.now();
461
836
  const staleThreshold = 30000;
@@ -509,6 +884,7 @@ export class ResonanceRailServer extends EventEmitter {
509
884
  messagesProcessed: this.messagesProcessed,
510
885
  migrationsPending: this.migrationQueue.length,
511
886
  uptimeSeconds: Math.floor((Date.now() - this.startTime) / 1000),
887
+ paused: this.paused,
512
888
  };
513
889
  }
514
890
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/rail/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/rail/server.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,10 @@
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 { ResonanceRailServer } from './server.js';
12
+ import { RailPluginManager } from './plugin.js';
11
13
  export interface WsServerConfig {
12
14
  port: number;
13
15
  heartbeatIntervalMs: number;
@@ -23,6 +25,7 @@ export declare class RailWebSocketServer {
23
25
  private rateLimiter;
24
26
  private persistence?;
25
27
  private metadataBroadcaster?;
28
+ private pluginManager;
26
29
  private userSessionManager;
27
30
  constructor(config: WsServerConfig);
28
31
  start(): Promise<void>;
@@ -31,9 +34,13 @@ export declare class RailWebSocketServer {
31
34
  private heartbeat;
32
35
  private sendTo;
33
36
  private broadcastToAll;
37
+ /** Maximum HTTP request body size (1 MB) */
38
+ private static readonly MAX_BODY_SIZE;
39
+ private readBody;
34
40
  private handleHttp;
35
41
  getRail(): ResonanceRailServer;
36
42
  getConnectedCount(): number;
43
+ getPluginManager(): RailPluginManager;
37
44
  }
38
45
  export declare function createRailWebSocketServer(config?: Partial<WsServerConfig>): RailWebSocketServer;
39
46
  //# sourceMappingURL=wsServer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wsServer.d.ts","sourceRoot":"","sources":["../../src/rail/wsServer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,mBAAmB,EAAqC,MAAM,aAAa,CAAC;AAcrF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;CACxB;AAkBD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,IAAI,CAAsB;IAClC,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,GAAG,CAAkB;IAC7B,OAAO,CAAC,OAAO,CAAyC;IACxD,OAAO,CAAC,cAAc,CAAC,CAAiC;IACxD,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,WAAW,CAAC,CAAwB;IAC5C,OAAO,CAAC,mBAAmB,CAAC,CAAsB;IAClD,OAAO,CAAC,kBAAkB,CAAgD;gBAE9D,MAAM,EAAE,cAAc;IAiC5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA0DtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA+B3B,OAAO,CAAC,gBAAgB;IAwOxB,OAAO,CAAC,SAAS;IA0BjB,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,UAAU;IA2JlB,OAAO,IAAI,mBAAmB;IAI9B,iBAAiB,IAAI,MAAM;CAG5B;AAMD,wBAAgB,yBAAyB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,mBAAmB,CAO/F"}
1
+ {"version":3,"file":"wsServer.d.ts","sourceRoot":"","sources":["../../src/rail/wsServer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAE,mBAAmB,EAAqC,MAAM,aAAa,CAAC;AAIrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAYhD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;CACxB;AAqBD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,IAAI,CAAsB;IAClC,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,GAAG,CAAkB;IAC7B,OAAO,CAAC,OAAO,CAAyC;IACxD,OAAO,CAAC,cAAc,CAAC,CAAiC;IACxD,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,WAAW,CAAC,CAAwB;IAC5C,OAAO,CAAC,mBAAmB,CAAC,CAAsB;IAClD,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,kBAAkB,CAAgD;gBAE9D,MAAM,EAAE,cAAc;IAqC5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA6DtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAoC3B,OAAO,CAAC,gBAAgB;IA2OxB,OAAO,CAAC,SAAS;IA0BjB,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,cAAc;IAatB,4CAA4C;IAC5C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAa;IAElD,OAAO,CAAC,QAAQ;IAsBhB,OAAO,CAAC,UAAU;IAyVlB,OAAO,IAAI,mBAAmB;IAI9B,iBAAiB,IAAI,MAAM;IAI3B,gBAAgB,IAAI,iBAAiB;CAGtC;AAMD,wBAAgB,yBAAyB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,mBAAmB,CAO/F"}