@claude-flow/swarm 3.0.0-alpha.1 → 3.0.0-alpha.7

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 (60) hide show
  1. package/.claude-flow/data/pending-insights.jsonl +12 -0
  2. package/__tests__/byzantine-transport.test.ts +147 -0
  3. package/__tests__/consensus-failure-injection.test.ts +161 -0
  4. package/__tests__/consensus-transport.test.ts +200 -0
  5. package/__tests__/federation-transport.test.ts +145 -0
  6. package/__tests__/gossip-transport.test.ts +81 -0
  7. package/__tests__/queen-coordinator.test.ts +2 -2
  8. package/__tests__/raft-transport.test.ts +121 -0
  9. package/dist/attention-coordinator.js +2 -2
  10. package/dist/attention-coordinator.js.map +1 -1
  11. package/dist/consensus/byzantine.d.ts +26 -0
  12. package/dist/consensus/byzantine.d.ts.map +1 -1
  13. package/dist/consensus/byzantine.js +92 -14
  14. package/dist/consensus/byzantine.js.map +1 -1
  15. package/dist/consensus/federation-transport.d.ts +82 -0
  16. package/dist/consensus/federation-transport.d.ts.map +1 -0
  17. package/dist/consensus/federation-transport.js +144 -0
  18. package/dist/consensus/federation-transport.js.map +1 -0
  19. package/dist/consensus/gossip.d.ts +31 -1
  20. package/dist/consensus/gossip.d.ts.map +1 -1
  21. package/dist/consensus/gossip.js +89 -12
  22. package/dist/consensus/gossip.js.map +1 -1
  23. package/dist/consensus/index.d.ts +4 -0
  24. package/dist/consensus/index.d.ts.map +1 -1
  25. package/dist/consensus/index.js +9 -0
  26. package/dist/consensus/index.js.map +1 -1
  27. package/dist/consensus/raft.d.ts +19 -0
  28. package/dist/consensus/raft.d.ts.map +1 -1
  29. package/dist/consensus/raft.js +113 -3
  30. package/dist/consensus/raft.js.map +1 -1
  31. package/dist/consensus/transport.d.ts +141 -0
  32. package/dist/consensus/transport.d.ts.map +1 -0
  33. package/dist/consensus/transport.js +205 -0
  34. package/dist/consensus/transport.js.map +1 -0
  35. package/dist/federation-hub.js +1 -1
  36. package/dist/federation-hub.js.map +1 -1
  37. package/dist/queen-coordinator.d.ts +2 -1
  38. package/dist/queen-coordinator.d.ts.map +1 -1
  39. package/dist/queen-coordinator.js +4 -3
  40. package/dist/queen-coordinator.js.map +1 -1
  41. package/dist/workers/worker-dispatch.d.ts +6 -1
  42. package/dist/workers/worker-dispatch.d.ts.map +1 -1
  43. package/dist/workers/worker-dispatch.js +45 -41
  44. package/dist/workers/worker-dispatch.js.map +1 -1
  45. package/package.json +2 -3
  46. package/ruvector.db +0 -0
  47. package/src/attention-coordinator.ts +2 -2
  48. package/src/consensus/byzantine.ts +98 -15
  49. package/src/consensus/federation-transport.ts +185 -0
  50. package/src/consensus/gossip.ts +102 -16
  51. package/src/consensus/index.ts +29 -0
  52. package/src/consensus/raft.ts +125 -7
  53. package/src/consensus/transport.ts +284 -0
  54. package/src/federation-hub.ts +1 -1
  55. package/src/queen-coordinator.ts +4 -3
  56. package/src/workers/worker-dispatch.d.ts +1 -1
  57. package/src/workers/worker-dispatch.ts +45 -41
  58. package/tmp.json +0 -0
  59. package/tsconfig.tsbuildinfo +1 -1
  60. package/.agentic-flow/intelligence.json +0 -16
@@ -1 +1 @@
1
- {"version":3,"file":"worker-dispatch.js","sourceRoot":"","sources":["../../src/workers/worker-dispatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker-dispatch.js","sourceRoot":"","sources":["../../src/workers/worker-dispatch.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@claude-flow/swarm",
3
- "version": "3.0.0-alpha.1",
3
+ "version": "3.0.0-alpha.7",
4
4
  "type": "module",
5
5
  "description": "Standalone swarm coordination - up to 100+ agents, 4 topologies, hive-mind, consensus",
6
6
  "main": "dist/index.js",
@@ -13,9 +13,8 @@
13
13
  "test": "vitest run",
14
14
  "build": "tsc"
15
15
  },
16
- "dependencies": {},
17
16
  "devDependencies": {
18
- "vitest": "^1.0.0"
17
+ "vitest": "^4.0.16"
19
18
  },
20
19
  "keywords": [
21
20
  "swarm",
package/ruvector.db ADDED
Binary file
@@ -382,8 +382,8 @@ export class AttentionCoordinator extends EventEmitter {
382
382
  const n = agentOutputs.length;
383
383
  const blockSize = this.config.flashAttention.blockSize;
384
384
 
385
- // Simulate Flash Attention with block-wise computation
386
- // In production, this would use GPU-accelerated Flash Attention
385
+ // Flash Attention block-wise computation (memory efficient O(N) vs O(N²))
386
+ // For GPU acceleration, integrate with @ruvector/flash-attention-wasm
387
387
  const attentionWeights = new Array(n).fill(0);
388
388
  let memoryUsed = 0;
389
389
 
@@ -4,6 +4,7 @@
4
4
  */
5
5
 
6
6
  import { EventEmitter } from 'events';
7
+ import { createHash } from 'node:crypto';
7
8
  import {
8
9
  ConsensusProposal,
9
10
  ConsensusVote,
@@ -11,6 +12,7 @@ import {
11
12
  ConsensusConfig,
12
13
  SWARM_CONSTANTS,
13
14
  } from '../types.js';
15
+ import type { ConsensusTransport, ConsensusMessage } from './transport.js';
14
16
 
15
17
  export type ByzantinePhase = 'pre-prepare' | 'prepare' | 'commit' | 'reply';
16
18
 
@@ -37,6 +39,15 @@ export interface ByzantineNode {
37
39
  export interface ByzantineConfig extends Partial<ConsensusConfig> {
38
40
  maxFaultyNodes?: number;
39
41
  viewChangeTimeoutMs?: number;
42
+ /**
43
+ * ADR-095 G2 — optional pluggable transport. When set, PBFT messages
44
+ * (pre-prepare/prepare/commit) go over it (and are signed if the
45
+ * transport has a keypair) instead of being `emit`ted into the void.
46
+ * When unset, behavior is unchanged: messages are emitted as
47
+ * `message.broadcast` / `message.sent` events for an external wiring
48
+ * layer to relay (the legacy single-process path).
49
+ */
50
+ transport?: ConsensusTransport;
40
51
  }
41
52
 
42
53
  export class ByzantineConsensus extends EventEmitter {
@@ -47,6 +58,7 @@ export class ByzantineConsensus extends EventEmitter {
47
58
  private messageLog: Map<string, ByzantineMessage[]> = new Map();
48
59
  private proposalCounter: number = 0;
49
60
  private viewChangeTimeout?: NodeJS.Timeout;
61
+ private readonly transport?: ConsensusTransport;
50
62
 
51
63
  constructor(nodeId: string, config: ByzantineConfig = {}) {
52
64
  super();
@@ -55,9 +67,11 @@ export class ByzantineConsensus extends EventEmitter {
55
67
  timeoutMs: config.timeoutMs ?? SWARM_CONSTANTS.DEFAULT_CONSENSUS_TIMEOUT_MS,
56
68
  maxRounds: config.maxRounds ?? 10,
57
69
  requireQuorum: config.requireQuorum ?? true,
58
- maxFaultyNodes: config.maxFaultyNodes ?? 1,
70
+ maxFaultyNodes: config.maxFaultyNodes, // #G2: undefined → byzantineF() derives from cluster size; a value caps it
59
71
  viewChangeTimeoutMs: config.viewChangeTimeoutMs ?? 5000,
72
+ transport: config.transport,
60
73
  };
74
+ this.transport = config.transport;
61
75
 
62
76
  this.node = {
63
77
  id: nodeId,
@@ -67,6 +81,42 @@ export class ByzantineConsensus extends EventEmitter {
67
81
  preparedMessages: new Map(),
68
82
  committedMessages: new Map(),
69
83
  };
84
+
85
+ // ADR-095 G2 — when a transport is wired, route inbound PBFT messages
86
+ // through the protocol handlers. The transport handles signature
87
+ // verification (if signing is enabled) before we ever see the message.
88
+ if (this.transport) {
89
+ this.transport.onMessage(async (msg: ConsensusMessage) => {
90
+ await this.handleInboundMessage(msg);
91
+ });
92
+ }
93
+ }
94
+
95
+ /**
96
+ * ADR-095 G2 — dispatch an inbound transport message to the right PBFT
97
+ * handler. The transport has already verified the signature (if signing
98
+ * is on); here we only need to demux by type and reconstruct the
99
+ * ByzantineMessage shape the handlers expect.
100
+ */
101
+ private async handleInboundMessage(msg: ConsensusMessage): Promise<void> {
102
+ const p = msg.payload as Partial<ByzantineMessage> | undefined;
103
+ if (!p || typeof p.viewNumber !== 'number' || typeof p.sequenceNumber !== 'number' || typeof p.digest !== 'string') return;
104
+ const bm: ByzantineMessage = {
105
+ type: (msg.type as ByzantinePhase) ?? p.type ?? 'prepare',
106
+ viewNumber: p.viewNumber,
107
+ sequenceNumber: p.sequenceNumber,
108
+ digest: p.digest,
109
+ senderId: msg.from,
110
+ timestamp: p.timestamp ? new Date(p.timestamp as unknown as string) : new Date(),
111
+ payload: p.payload,
112
+ signature: msg.signature,
113
+ };
114
+ switch (bm.type) {
115
+ case 'pre-prepare': await this.handlePrePrepare(bm); break;
116
+ case 'prepare': await this.handlePrepare(bm); break;
117
+ case 'commit': await this.handleCommit(bm); break;
118
+ default: break;
119
+ }
70
120
  }
71
121
 
72
122
  async initialize(): Promise<void> {
@@ -99,6 +149,20 @@ export class ByzantineConsensus extends EventEmitter {
99
149
  this.nodes.delete(nodeId);
100
150
  }
101
151
 
152
+ /**
153
+ * ADR-095 G2 — BFT fault tolerance f, derived from the *actual* cluster
154
+ * size unless explicitly capped via config.maxFaultyNodes. PBFT needs
155
+ * n ≥ 3f+1, so f = floor((n-1)/3) where n = self + known peers. The
156
+ * config value (if set) acts as an upper bound — never exceed what the
157
+ * operator declared the cluster can tolerate.
158
+ */
159
+ private byzantineF(): number {
160
+ const n = this.nodes.size + 1; // self + known peers
161
+ const derived = Math.max(1, Math.floor((n - 1) / 3));
162
+ const cap = this.config.maxFaultyNodes;
163
+ return cap === undefined ? derived : Math.min(derived, cap);
164
+ }
165
+
102
166
  electPrimary(): string {
103
167
  const nodeIds = [this.node.id, ...Array.from(this.nodes.keys())];
104
168
  const primaryIndex = this.node.viewNumber % nodeIds.length;
@@ -172,7 +236,7 @@ export class ByzantineConsensus extends EventEmitter {
172
236
  proposal.votes.set(vote.voterId, vote);
173
237
 
174
238
  // Check consensus
175
- const f = this.config.maxFaultyNodes ?? 1;
239
+ const f = this.byzantineF();
176
240
  const n = this.nodes.size + 1;
177
241
  const requiredVotes = 2 * f + 1;
178
242
 
@@ -271,7 +335,7 @@ export class ByzantineConsensus extends EventEmitter {
271
335
  }
272
336
 
273
337
  // Check if prepared (2f + 1 prepare messages)
274
- const f = this.config.maxFaultyNodes ?? 1;
338
+ const f = this.byzantineF();
275
339
  const prepareCount = messages.filter(m => m.type === 'prepare').length;
276
340
 
277
341
  if (prepareCount >= 2 * f + 1) {
@@ -321,7 +385,7 @@ export class ByzantineConsensus extends EventEmitter {
321
385
  }
322
386
 
323
387
  // Check if committed (2f + 1 commit messages)
324
- const f = this.config.maxFaultyNodes ?? 1;
388
+ const f = this.byzantineF();
325
389
  const commitCount = messages.filter(m => m.type === 'commit').length;
326
390
 
327
391
  if (commitCount >= 2 * f + 1) {
@@ -352,24 +416,43 @@ export class ByzantineConsensus extends EventEmitter {
352
416
  // ===== PRIVATE METHODS =====
353
417
 
354
418
  private async broadcastMessage(message: ByzantineMessage): Promise<void> {
419
+ // Always emit for observability / legacy external relay.
355
420
  this.emit('message.broadcast', { message });
356
-
357
- // Simulate broadcast to all nodes
358
421
  for (const node of this.nodes.values()) {
359
422
  this.emit('message.sent', { to: node.id, message });
360
423
  }
424
+
425
+ // ADR-095 G2 — when a transport is wired, actually send the message
426
+ // over it (signed by the transport if signing is enabled). This is
427
+ // the real inter-node path; the emits above stay for observers.
428
+ if (this.transport) {
429
+ const cm: Omit<ConsensusMessage, 'from'> = {
430
+ type: message.type,
431
+ payload: {
432
+ type: message.type,
433
+ viewNumber: message.viewNumber,
434
+ sequenceNumber: message.sequenceNumber,
435
+ digest: message.digest,
436
+ timestamp: message.timestamp.toISOString(),
437
+ payload: message.payload,
438
+ },
439
+ viewNumber: message.viewNumber,
440
+ };
441
+ try {
442
+ await this.transport.broadcast(cm);
443
+ } catch {
444
+ // Transport failures are non-fatal at the protocol layer — the
445
+ // proposal will simply not reach consensus and time out, which is
446
+ // the correct failure mode (no liveness, but no incorrect commit).
447
+ }
448
+ }
361
449
  }
362
450
 
363
451
  private computeDigest(value: unknown): string {
364
- // Simple hash for demonstration
365
- const str = JSON.stringify(value);
366
- let hash = 0;
367
- for (let i = 0; i < str.length; i++) {
368
- const char = str.charCodeAt(i);
369
- hash = ((hash << 5) - hash) + char;
370
- hash = hash & hash;
371
- }
372
- return hash.toString(16);
452
+ // ADR-095 G2 — was a 32-bit string-hash "for demonstration"; replaced
453
+ // with sha256 so digests are collision-resistant (PBFT relies on the
454
+ // digest uniquely identifying the request being agreed on).
455
+ return createHash('sha256').update(JSON.stringify(value ?? null)).digest('hex');
373
456
  }
374
457
 
375
458
  private createResult(proposal: ConsensusProposal, durationMs: number): ConsensusResult {
@@ -0,0 +1,185 @@
1
+ /**
2
+ * ADR-095 G2 — FederationTransport: a ConsensusTransport backed by the
3
+ * federation plugin's ADR-104 WS wire (agentic-flow/transport/loader).
4
+ *
5
+ * @claude-flow/swarm has zero runtime dependencies and shouldn't take a
6
+ * hard dep on @claude-flow/plugin-agent-federation (the wiring would also
7
+ * be circular-ish). So this adapter takes its WS primitives by injection:
8
+ * pass an object that satisfies `AgenticFlowTransportLike` (which the
9
+ * federation plugin's `loadQuicTransport` result does) plus a small amount
10
+ * of consensus-level metadata (this node's id, how to address peers, who
11
+ * the peers are).
12
+ *
13
+ * The agentic-flow transport is fire-and-forget message delivery; this
14
+ * adapter layers request-response on top via per-message correlation ids
15
+ * (`corr`) + a pending-replies map + per-call timeout. Stream multiplexing
16
+ * (ADR-104 stream-mux) is used for the `streamId` so consensus traffic
17
+ * doesn't interleave with application traffic on the same connection.
18
+ *
19
+ * Optional Ed25519 signing: when a keypair is supplied, outbound messages
20
+ * are signed and inbound are verified against the sender's published
21
+ * public key (resolved via `resolvePeerPublicKey`) before reaching the
22
+ * handler. Fail-closed — an unverifiable inbound message is dropped.
23
+ */
24
+
25
+ import { randomBytes } from 'node:crypto';
26
+ import type {
27
+ ConsensusTransport,
28
+ ConsensusMessage,
29
+ ConsensusReply,
30
+ ConsensusMessageHandler,
31
+ NodeKeyPair,
32
+ } from './transport.js';
33
+ import { signMessage, verifyMessage } from './transport.js';
34
+
35
+ /**
36
+ * Minimal shape of the agentic-flow transport (the `loadQuicTransport`
37
+ * result). We only need send + onMessage + (optional) close. Keeping this
38
+ * structural means swarm doesn't import agentic-flow.
39
+ */
40
+ export interface AgenticFlowTransportLike {
41
+ send(address: string, message: { type?: string; payload: unknown; streamId?: string }): Promise<void>;
42
+ onMessage(handler: (msg: { from?: string; address?: string; type?: string; payload: unknown }) => void | Promise<void>): void;
43
+ close?(): Promise<void> | void;
44
+ }
45
+
46
+ /** What we put on the wire — a ConsensusMessage plus correlation metadata. */
47
+ interface WireEnvelope {
48
+ /** Correlation id — present on requests; the reply echoes it. */
49
+ readonly corr?: string;
50
+ /** True if this envelope is a reply to a `corr` request. */
51
+ readonly isReply?: boolean;
52
+ /** The consensus message. `from` is filled by us. */
53
+ readonly msg: ConsensusMessage;
54
+ }
55
+
56
+ export interface FederationTransportOptions {
57
+ /** This node's consensus id (the `from` on outbound messages). */
58
+ readonly nodeId: string;
59
+ /** Map a consensus nodeId → the WS address agentic-flow uses to reach it. Return undefined for unknown peers. */
60
+ readonly addressOf: (nodeId: string) => string | undefined;
61
+ /** Currently-known peer consensus node ids (excludes self — or includes; we filter). */
62
+ readonly peerIds: () => readonly string[];
63
+ /** Stream id for consensus traffic (ADR-104 stream-mux). Defaults to 'ruflo-consensus'. */
64
+ readonly streamId?: string;
65
+ /** Default per-`send` timeout in ms. Defaults to 5000. */
66
+ readonly defaultTimeoutMs?: number;
67
+ /** Optional Ed25519 keypair — signs outbound, verifies inbound. */
68
+ readonly keyPair?: NodeKeyPair;
69
+ /** Resolve a peer consensus nodeId → its Ed25519 public key PEM. Required if `keyPair` is set and you want verification. */
70
+ readonly resolvePeerPublicKey?: (nodeId: string) => string | undefined;
71
+ }
72
+
73
+ export class FederationTransport implements ConsensusTransport {
74
+ readonly nodeId: string;
75
+ private readonly wire: AgenticFlowTransportLike;
76
+ private readonly addressOf: (nodeId: string) => string | undefined;
77
+ private readonly peerIdsFn: () => readonly string[];
78
+ private readonly streamId: string;
79
+ private readonly defaultTimeoutMs: number;
80
+ private readonly keyPair?: NodeKeyPair;
81
+ private readonly resolvePeerPublicKey?: (nodeId: string) => string | undefined;
82
+ private handler: ConsensusMessageHandler | null = null;
83
+ private closed = false;
84
+ private seqCounter = 0;
85
+ private readonly pending = new Map<string, { resolve: (r: ConsensusReply) => void; reject: (e: Error) => void; timer: ReturnType<typeof setTimeout> }>();
86
+ private readonly lastSeenSeq = new Map<string, number>();
87
+
88
+ constructor(wire: AgenticFlowTransportLike, opts: FederationTransportOptions) {
89
+ this.wire = wire;
90
+ this.nodeId = opts.nodeId;
91
+ this.addressOf = opts.addressOf;
92
+ this.peerIdsFn = opts.peerIds;
93
+ this.streamId = opts.streamId ?? 'ruflo-consensus';
94
+ this.defaultTimeoutMs = opts.defaultTimeoutMs ?? 5_000;
95
+ this.keyPair = opts.keyPair;
96
+ this.resolvePeerPublicKey = opts.resolvePeerPublicKey;
97
+
98
+ this.wire.onMessage(async (raw) => {
99
+ if (this.closed) return;
100
+ const env = raw.payload as WireEnvelope | undefined;
101
+ if (!env || !env.msg) return;
102
+ const msg = env.msg;
103
+
104
+ // Signature verification (if this node expects signed messages).
105
+ if (this.keyPair && this.resolvePeerPublicKey) {
106
+ const pub = this.resolvePeerPublicKey(msg.from);
107
+ if (!pub || !verifyMessage(msg, pub)) return; // fail-closed: drop
108
+ if (typeof msg.seq === 'number') {
109
+ const last = this.lastSeenSeq.get(msg.from) ?? 0;
110
+ if (msg.seq <= last) return; // replayed / out of order: drop
111
+ this.lastSeenSeq.set(msg.from, msg.seq);
112
+ }
113
+ }
114
+
115
+ // Reply to a pending `send`?
116
+ if (env.isReply && env.corr) {
117
+ const p = this.pending.get(env.corr);
118
+ if (p) { clearTimeout(p.timer); this.pending.delete(env.corr); p.resolve(msg); }
119
+ return;
120
+ }
121
+
122
+ // Inbound request → run the handler; if it returns a reply, send it back.
123
+ if (this.handler) {
124
+ const reply = await this.handler(msg);
125
+ if (reply && env.corr) {
126
+ const addr = this.addressOf(msg.from);
127
+ if (addr) {
128
+ const replyMsg = this.stamp({ ...reply, to: msg.from });
129
+ await this.wire.send(addr, { type: 'consensus', payload: { corr: env.corr, isReply: true, msg: replyMsg } as WireEnvelope, streamId: this.streamId }).catch(() => {});
130
+ }
131
+ }
132
+ }
133
+ });
134
+ }
135
+
136
+ onMessage(handler: ConsensusMessageHandler): void {
137
+ this.handler = handler;
138
+ }
139
+
140
+ peers(): readonly string[] {
141
+ return this.peerIdsFn().filter(id => id !== this.nodeId);
142
+ }
143
+
144
+ private stamp(msg: Omit<ConsensusMessage, 'from'>): ConsensusMessage {
145
+ const base: Omit<ConsensusMessage, 'signature'> = {
146
+ ...msg,
147
+ from: this.nodeId,
148
+ seq: this.keyPair ? ++this.seqCounter : msg.seq,
149
+ };
150
+ return this.keyPair ? { ...base, signature: signMessage(base, this.keyPair.privateKeyPem) } : base;
151
+ }
152
+
153
+ async send(to: string, msg: Omit<ConsensusMessage, 'from'>, timeoutMs?: number): Promise<ConsensusReply> {
154
+ if (this.closed) throw new Error('FederationTransport: closed');
155
+ const addr = this.addressOf(to);
156
+ if (!addr) throw new Error(`FederationTransport: no address for peer ${to}`);
157
+ const corr = randomBytes(8).toString('hex');
158
+ const stamped = this.stamp({ ...msg, to });
159
+ const t = timeoutMs ?? this.defaultTimeoutMs;
160
+ return new Promise<ConsensusReply>((resolve, reject) => {
161
+ const timer = setTimeout(() => { this.pending.delete(corr); reject(new Error(`FederationTransport: send to ${to} timed out (${t}ms)`)); }, t);
162
+ this.pending.set(corr, { resolve, reject, timer });
163
+ this.wire.send(addr, { type: 'consensus', payload: { corr, msg: stamped } as WireEnvelope, streamId: this.streamId })
164
+ .catch((e) => { clearTimeout(timer); this.pending.delete(corr); reject(e instanceof Error ? e : new Error(String(e))); });
165
+ });
166
+ }
167
+
168
+ async broadcast(msg: Omit<ConsensusMessage, 'from'>): Promise<void> {
169
+ if (this.closed) throw new Error('FederationTransport: closed');
170
+ const stamped = this.stamp(msg);
171
+ await Promise.allSettled(this.peers().map(async (to) => {
172
+ const addr = this.addressOf(to);
173
+ if (!addr) return;
174
+ await this.wire.send(addr, { type: 'consensus', payload: { msg: stamped } as WireEnvelope, streamId: this.streamId }).catch(() => {});
175
+ }));
176
+ }
177
+
178
+ async close(): Promise<void> {
179
+ this.closed = true;
180
+ this.handler = null;
181
+ for (const [, p] of this.pending) { clearTimeout(p.timer); p.reject(new Error('FederationTransport: closed')); }
182
+ this.pending.clear();
183
+ if (this.wire.close) await this.wire.close();
184
+ }
185
+ }