aimeat 1.4.7 → 1.5.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 (135) hide show
  1. package/dist/locales/en.json +62 -4
  2. package/dist/locales/fi.json +62 -4
  3. package/dist/public/css/views/profile.css +37 -0
  4. package/dist/public/js/services/admin.js +6 -0
  5. package/dist/public/js/services/boards.js +6 -3
  6. package/dist/public/js/services/memory.js +10 -0
  7. package/dist/public/views/admin/federation-tab.js +93 -7
  8. package/dist/public/views/admin/ghii-tab.js +2 -0
  9. package/dist/public/views/admin.js +5 -9
  10. package/dist/public/views/profile/access-tab.js +160 -58
  11. package/dist/public/views/profile/agents-tab.js +13 -1
  12. package/dist/public/views/profile/boards-tab.js +12 -0
  13. package/dist/public/views/profile/data-wallet-tab.js +29 -2
  14. package/dist/public/views/profile/knowledge-tab.js +64 -2
  15. package/dist/public/views/profile/landing-page.js +9 -6
  16. package/dist/public/views/profile/memory-tab.js +92 -4
  17. package/dist/src/auth/jwt.d.ts +6 -0
  18. package/dist/src/auth/jwt.d.ts.map +1 -1
  19. package/dist/src/auth/jwt.js +6 -0
  20. package/dist/src/auth/jwt.js.map +1 -1
  21. package/dist/src/auth/middleware.d.ts +7 -0
  22. package/dist/src/auth/middleware.d.ts.map +1 -1
  23. package/dist/src/auth/middleware.js +20 -0
  24. package/dist/src/auth/middleware.js.map +1 -1
  25. package/dist/src/middleware/federation-proxy.d.ts +35 -0
  26. package/dist/src/middleware/federation-proxy.d.ts.map +1 -0
  27. package/dist/src/middleware/federation-proxy.js +92 -0
  28. package/dist/src/middleware/federation-proxy.js.map +1 -0
  29. package/dist/src/routes/actions.d.ts.map +1 -1
  30. package/dist/src/routes/actions.js +7 -2
  31. package/dist/src/routes/actions.js.map +1 -1
  32. package/dist/src/routes/admin-agents.d.ts.map +1 -1
  33. package/dist/src/routes/admin-agents.js +1 -0
  34. package/dist/src/routes/admin-agents.js.map +1 -1
  35. package/dist/src/routes/admin-features.d.ts.map +1 -1
  36. package/dist/src/routes/admin-features.js +2 -0
  37. package/dist/src/routes/admin-features.js.map +1 -1
  38. package/dist/src/routes/admin-monitoring.d.ts.map +1 -1
  39. package/dist/src/routes/admin-monitoring.js +12 -1
  40. package/dist/src/routes/admin-monitoring.js.map +1 -1
  41. package/dist/src/routes/admin.d.ts.map +1 -1
  42. package/dist/src/routes/admin.js +16 -0
  43. package/dist/src/routes/admin.js.map +1 -1
  44. package/dist/src/routes/agents.d.ts.map +1 -1
  45. package/dist/src/routes/agents.js +36 -3
  46. package/dist/src/routes/agents.js.map +1 -1
  47. package/dist/src/routes/boards.d.ts.map +1 -1
  48. package/dist/src/routes/boards.js +12 -5
  49. package/dist/src/routes/boards.js.map +1 -1
  50. package/dist/src/routes/federation-auth.d.ts +15 -0
  51. package/dist/src/routes/federation-auth.d.ts.map +1 -0
  52. package/dist/src/routes/federation-auth.js +182 -0
  53. package/dist/src/routes/federation-auth.js.map +1 -0
  54. package/dist/src/routes/federation-genesis.d.ts +2 -1
  55. package/dist/src/routes/federation-genesis.d.ts.map +1 -1
  56. package/dist/src/routes/federation-genesis.js +58 -2
  57. package/dist/src/routes/federation-genesis.js.map +1 -1
  58. package/dist/src/routes/federation-peer.d.ts.map +1 -1
  59. package/dist/src/routes/federation-peer.js +124 -15
  60. package/dist/src/routes/federation-peer.js.map +1 -1
  61. package/dist/src/routes/federation-sync.d.ts.map +1 -1
  62. package/dist/src/routes/federation-sync.js +14 -1
  63. package/dist/src/routes/federation-sync.js.map +1 -1
  64. package/dist/src/routes/federation.d.ts +2 -1
  65. package/dist/src/routes/federation.d.ts.map +1 -1
  66. package/dist/src/routes/federation.js +4 -2
  67. package/dist/src/routes/federation.js.map +1 -1
  68. package/dist/src/routes/ghii.d.ts +2 -1
  69. package/dist/src/routes/ghii.d.ts.map +1 -1
  70. package/dist/src/routes/ghii.js +88 -4
  71. package/dist/src/routes/ghii.js.map +1 -1
  72. package/dist/src/routes/libs.js +49 -7
  73. package/dist/src/routes/libs.js.map +1 -1
  74. package/dist/src/routes/memory.d.ts.map +1 -1
  75. package/dist/src/routes/memory.js +162 -0
  76. package/dist/src/routes/memory.js.map +1 -1
  77. package/dist/src/routes/owners.d.ts.map +1 -1
  78. package/dist/src/routes/owners.js +1 -0
  79. package/dist/src/routes/owners.js.map +1 -1
  80. package/dist/src/server-bootstrap/routes-loader.d.ts +2 -0
  81. package/dist/src/server-bootstrap/routes-loader.d.ts.map +1 -1
  82. package/dist/src/server-bootstrap/routes-loader.js +7 -4
  83. package/dist/src/server-bootstrap/routes-loader.js.map +1 -1
  84. package/dist/src/server-bootstrap/service-init.d.ts +2 -0
  85. package/dist/src/server-bootstrap/service-init.d.ts.map +1 -1
  86. package/dist/src/server-bootstrap/service-init.js +28 -1
  87. package/dist/src/server-bootstrap/service-init.js.map +1 -1
  88. package/dist/src/server.d.ts.map +1 -1
  89. package/dist/src/server.js +1 -0
  90. package/dist/src/server.js.map +1 -1
  91. package/dist/src/services/federation-helpers.d.ts.map +1 -1
  92. package/dist/src/services/federation-helpers.js +1 -0
  93. package/dist/src/services/federation-helpers.js.map +1 -1
  94. package/dist/src/services/federation.d.ts +6 -6
  95. package/dist/src/services/federation.d.ts.map +1 -1
  96. package/dist/src/services/federation.js +57 -1
  97. package/dist/src/services/federation.js.map +1 -1
  98. package/dist/src/services/memory-replication.d.ts.map +1 -1
  99. package/dist/src/services/memory-replication.js +3 -0
  100. package/dist/src/services/memory-replication.js.map +1 -1
  101. package/dist/src/storage/interface.d.ts +17 -1
  102. package/dist/src/storage/interface.d.ts.map +1 -1
  103. package/dist/src/storage/providers/mongodb/index.d.ts +6 -3
  104. package/dist/src/storage/providers/mongodb/index.d.ts.map +1 -1
  105. package/dist/src/storage/providers/mongodb/index.js +109 -48
  106. package/dist/src/storage/providers/mongodb/index.js.map +1 -1
  107. package/dist/src/storage/providers/sqlite/index.d.ts +6 -2
  108. package/dist/src/storage/providers/sqlite/index.d.ts.map +1 -1
  109. package/dist/src/storage/providers/sqlite/index.js +58 -16
  110. package/dist/src/storage/providers/sqlite/index.js.map +1 -1
  111. package/dist/src/storage/providers/sqlite/repos/action.d.ts.map +1 -1
  112. package/dist/src/storage/providers/sqlite/repos/action.js +5 -4
  113. package/dist/src/storage/providers/sqlite/repos/action.js.map +1 -1
  114. package/dist/src/storage/providers/sqlite/repos/agent.d.ts.map +1 -1
  115. package/dist/src/storage/providers/sqlite/repos/agent.js +5 -4
  116. package/dist/src/storage/providers/sqlite/repos/agent.js.map +1 -1
  117. package/dist/src/storage/providers/sqlite/repos/board.d.ts.map +1 -1
  118. package/dist/src/storage/providers/sqlite/repos/board.js +3 -2
  119. package/dist/src/storage/providers/sqlite/repos/board.js.map +1 -1
  120. package/dist/src/storage/providers/sqlite/repos/storage-file.d.ts.map +1 -1
  121. package/dist/src/storage/providers/sqlite/repos/storage-file.js +4 -2
  122. package/dist/src/storage/providers/sqlite/repos/storage-file.js.map +1 -1
  123. package/dist/src/storage/providers/sqlite/schema.d.ts.map +1 -1
  124. package/dist/src/storage/providers/sqlite/schema.js +20 -0
  125. package/dist/src/storage/providers/sqlite/schema.js.map +1 -1
  126. package/dist/src/storage/repositories/board.repository.d.ts +1 -1
  127. package/dist/src/storage/repositories/board.repository.d.ts.map +1 -1
  128. package/dist/src/storage/repositories/federation.repository.d.ts +5 -1
  129. package/dist/src/storage/repositories/federation.repository.d.ts.map +1 -1
  130. package/dist/src/utils/service-summary.d.ts +65 -0
  131. package/dist/src/utils/service-summary.d.ts.map +1 -0
  132. package/dist/src/utils/service-summary.js +100 -0
  133. package/dist/src/utils/service-summary.js.map +1 -0
  134. package/package.json +3 -1
  135. package/prisma/schema.prisma +33 -0
@@ -14,11 +14,17 @@ import { verify } from '../auth/keypair.js';
14
14
  import { validateOutboundUrl } from '../utils/url-validator.js';
15
15
  import { emitChange } from '../services/event-bus.js';
16
16
  import { peerKeyCache, performKeyExchange } from '../services/federation-helpers.js';
17
+ import { computeServiceSummary } from '../utils/service-summary.js';
18
+ /** Cached service summary hash to avoid recomputing on every ping (60s TTL). */
19
+ let cachedSummaryHash = '';
20
+ let summaryHashExpiry = 0;
17
21
  export function federationPeerRouter(config, storage, peers) {
18
22
  const router = Router();
19
23
  // GET /v1/federation/directory — public peer directory (Tier 0)
20
24
  router.get('/v1/federation/directory', async (_req, res) => {
21
- const peerList = [...peers.values()].map(p => ({
25
+ const peerList = [...peers.values()]
26
+ .filter(p => p.peerMode !== 'private')
27
+ .map(p => ({
22
28
  node_id: p.nodeId,
23
29
  url: p.url,
24
30
  status: p.status,
@@ -51,6 +57,26 @@ export function federationPeerRouter(config, storage, peers) {
51
57
  { description: 'Request peering', method: 'POST', url: '/v1/federation/peer/request' },
52
58
  ]));
53
59
  });
60
+ // GET /v1/federation/service-summary — return compact summary of all federated items
61
+ // Used by hub nodes to aggregate service listings from peers.
62
+ router.get('/v1/federation/service-summary', async (req, res) => {
63
+ const sourceNode = req.headers['x-source-node'];
64
+ if (!sourceNode) {
65
+ res.status(400).json(error(config.nodeId, 'INVALID_INPUT', 'x-source-node header is required'));
66
+ return;
67
+ }
68
+ const peer = [...peers.values()].find(p => p.nodeId === sourceNode);
69
+ if (!peer || peer.status !== 'active') {
70
+ res.status(403).json(error(config.nodeId, 'FORBIDDEN', 'Source node is not an active peer'));
71
+ return;
72
+ }
73
+ if (!peer.shareCatalogue) {
74
+ res.status(403).json(error(config.nodeId, 'POLICY_DENIED', 'Catalogue sharing is disabled for this peer'));
75
+ return;
76
+ }
77
+ const summary = await computeServiceSummary(config, storage);
78
+ res.json(success(config.nodeId, summary));
79
+ });
54
80
  // POST /v1/federation/peer/introduce — unauthenticated "knock on the door" for joining nodes
55
81
  // SECURITY: Requires cryptographic signature + operator approval (never auto-approve)
56
82
  router.post('/v1/federation/peer/introduce', async (req, res) => {
@@ -262,17 +288,23 @@ export function federationPeerRouter(config, storage, peers) {
262
288
  status: newStatus,
263
289
  updatedAt: new Date().toISOString(),
264
290
  });
265
- // If approved, add to peers list
291
+ // If approved, add to peers list and persist
266
292
  if (decision === 'approve') {
267
293
  const now = new Date().toISOString();
268
- peers.set(request.fromNodeId ?? request.id, {
294
+ const peerInfo = {
269
295
  nodeId: request.fromNodeId ?? request.id,
270
296
  url: request.targetUrl ?? request.fromNodeUrl,
271
297
  publicKey: request.publicKey ?? '',
272
298
  status: 'approved',
273
299
  addedAt: now,
274
300
  lastSeen: now,
275
- });
301
+ shareCatalogue: true,
302
+ replicateMemory: true,
303
+ allowRouting: true,
304
+ peerMode: 'federation',
305
+ };
306
+ peers.set(peerInfo.nodeId, peerInfo);
307
+ await storage.saveFederationPeer(peerInfo);
276
308
  }
277
309
  res.json(success(config.nodeId, {
278
310
  id,
@@ -282,6 +314,17 @@ export function federationPeerRouter(config, storage, peers) {
282
314
  }));
283
315
  emitChange('federation');
284
316
  });
317
+ // DELETE /v1/admin/peering/requests/:id — delete a peering request (operator)
318
+ router.delete('/v1/admin/peering/requests/:id', requireAuth(), requireRole('operator'), async (req, res) => {
319
+ const id = req.params.id;
320
+ const deleted = await storage.deletePeeringRequest(id);
321
+ if (!deleted) {
322
+ res.status(404).json(error(config.nodeId, 'NOT_FOUND', `Peering request not found: ${id}`));
323
+ return;
324
+ }
325
+ res.json(success(config.nodeId, { id, deleted: true }));
326
+ emitChange('federation');
327
+ });
285
328
  // POST /v1/federation/peer/activate — activate approved peering
286
329
  router.post('/v1/federation/peer/activate', requireAuth(), requireRole('operator'), async (req, res) => {
287
330
  const { peer_node_id } = req.body ?? {};
@@ -296,6 +339,7 @@ export function federationPeerRouter(config, storage, peers) {
296
339
  }
297
340
  peer.status = 'active';
298
341
  peer.lastSeen = new Date().toISOString();
342
+ await storage.saveFederationPeer(peer);
299
343
  // A.3: Trigger key exchange on peering activation
300
344
  const keyExchangeResult = await performKeyExchange(peer.url, config, storage);
301
345
  if (!keyExchangeResult.success) {
@@ -352,6 +396,10 @@ export function federationPeerRouter(config, storage, peers) {
352
396
  status: p.status,
353
397
  added_at: p.addedAt,
354
398
  last_seen: p.lastSeen,
399
+ share_catalogue: p.shareCatalogue ?? true,
400
+ replicate_memory: p.replicateMemory ?? true,
401
+ allow_routing: p.allowRouting ?? true,
402
+ peer_mode: p.peerMode ?? 'federation',
355
403
  }));
356
404
  res.json(success(config.nodeId, {
357
405
  peers: peerList,
@@ -370,14 +418,20 @@ export function federationPeerRouter(config, storage, peers) {
370
418
  return;
371
419
  }
372
420
  const now = new Date().toISOString();
373
- peers.set(node_id, {
421
+ const peerInfo = {
374
422
  nodeId: node_id,
375
423
  url,
376
424
  publicKey: public_key ?? '',
377
425
  status: 'pending',
378
426
  addedAt: now,
379
427
  lastSeen: now,
380
- });
428
+ shareCatalogue: true,
429
+ replicateMemory: true,
430
+ allowRouting: true,
431
+ peerMode: 'federation',
432
+ };
433
+ peers.set(node_id, peerInfo);
434
+ await storage.saveFederationPeer(peerInfo);
381
435
  res.status(201).json(success(config.nodeId, {
382
436
  peer: {
383
437
  node_id,
@@ -391,24 +445,37 @@ export function federationPeerRouter(config, storage, peers) {
391
445
  emitChange('federation');
392
446
  });
393
447
  // PUT /v1/federation/peers/:nodeId — update peer config (operator only)
394
- router.put('/v1/federation/peers/:nodeId', requireAuth(), requireRole('operator'), (req, res) => {
448
+ router.put('/v1/federation/peers/:nodeId', requireAuth(), requireRole('operator'), async (req, res) => {
395
449
  const nodeId = req.params.nodeId;
396
450
  const peer = peers.get(nodeId);
397
451
  if (!peer) {
398
452
  res.status(404).json(error(config.nodeId, 'NOT_FOUND', `Peer not found: ${nodeId}`));
399
453
  return;
400
454
  }
401
- const { url, public_key, status } = req.body ?? {};
455
+ const { url, public_key, status, share_catalogue, replicate_memory, allow_routing, peer_mode } = req.body ?? {};
402
456
  if (url)
403
457
  peer.url = url;
404
458
  if (public_key)
405
459
  peer.publicKey = public_key;
406
460
  if (status)
407
461
  peer.status = status;
462
+ if (typeof share_catalogue === 'boolean')
463
+ peer.shareCatalogue = share_catalogue;
464
+ if (typeof replicate_memory === 'boolean')
465
+ peer.replicateMemory = replicate_memory;
466
+ if (typeof allow_routing === 'boolean')
467
+ peer.allowRouting = allow_routing;
468
+ if (peer_mode === 'federation' || peer_mode === 'private')
469
+ peer.peerMode = peer_mode;
470
+ await storage.saveFederationPeer(peer);
408
471
  res.json(success(config.nodeId, {
409
472
  node_id: nodeId,
410
473
  url: peer.url,
411
474
  status: peer.status,
475
+ share_catalogue: peer.shareCatalogue,
476
+ replicate_memory: peer.replicateMemory,
477
+ allow_routing: peer.allowRouting,
478
+ peer_mode: peer.peerMode,
412
479
  updated: true,
413
480
  }));
414
481
  emitChange('federation');
@@ -430,6 +497,7 @@ export function federationPeerRouter(config, storage, peers) {
430
497
  // ── Emergency de-peering: immediate disconnect ──
431
498
  // 1. Remove peer immediately
432
499
  peers.delete(nodeId);
500
+ await storage.deleteFederationPeer(nodeId);
433
501
  // 2. Cancel all in-flight cross-node work from/to this peer and return escrow
434
502
  const allWork = await storage.listAllWork();
435
503
  let cancelledCount = 0;
@@ -489,6 +557,7 @@ export function federationPeerRouter(config, storage, peers) {
489
557
  const gracePeriodEnd = new Date(Date.now() + graceHours * 3600_000).toISOString();
490
558
  peer.status = 'depeering';
491
559
  peer.depeerGraceEnd = gracePeriodEnd;
560
+ await storage.saveFederationPeer(peer);
492
561
  // Remove federated catalogue entries from this peer (mark expiring)
493
562
  const allActions = await storage.listActions();
494
563
  let expiredActions = 0;
@@ -541,33 +610,72 @@ export function federationPeerRouter(config, storage, peers) {
541
610
  }
542
611
  });
543
612
  // POST /v1/federation/ping — federation health check (used by peers)
544
- router.post('/v1/federation/ping', (req, res) => {
613
+ router.post('/v1/federation/ping', async (req, res) => {
545
614
  const { from_node } = req.body ?? {};
546
615
  if (from_node && peers.has(from_node)) {
547
616
  const peer = peers.get(from_node);
548
617
  peer.lastSeen = new Date().toISOString();
549
618
  peer.status = 'active';
619
+ storage.saveFederationPeer(peer).catch(() => { });
620
+ }
621
+ // Compute service summary hash with 60s cache
622
+ if (!cachedSummaryHash || Date.now() > summaryHashExpiry) {
623
+ try {
624
+ const summary = await computeServiceSummary(config, storage);
625
+ cachedSummaryHash = summary.summary_hash;
626
+ summaryHashExpiry = Date.now() + 60_000;
627
+ }
628
+ catch {
629
+ // Keep stale hash on error
630
+ }
550
631
  }
551
632
  res.json(success(config.nodeId, {
552
633
  pong: true,
553
634
  node_id: config.nodeId,
554
635
  timestamp: new Date().toISOString(),
636
+ service_summary_hash: cachedSummaryHash,
555
637
  }));
556
638
  emitChange('federation');
557
639
  });
558
640
  // ── A.3: Key Exchange Endpoint ──
559
641
  // POST /v1/federation/key-exchange — Exchange public keys with a peer node
560
642
  router.post('/v1/federation/key-exchange', async (req, res) => {
561
- const { node_id, node_public_key, agent_keys, timestamp } = req.body ?? {};
643
+ const { node_id, node_url, node_public_key, agent_keys, timestamp } = req.body ?? {};
562
644
  if (!node_id || !node_public_key) {
563
645
  res.status(400).json(error(config.nodeId, 'INVALID_INPUT', 'node_id and node_public_key are required'));
564
646
  return;
565
647
  }
566
- // Validate the sender is a known active peer
567
- const peer = [...peers.values()].find(p => p.nodeId === node_id);
568
- if (!peer || peer.status !== 'active') {
569
- res.status(403).json(error(config.nodeId, 'FORBIDDEN', `Node ${node_id} is not an active peer`));
570
- return;
648
+ // Find or auto-add the sender as a peer (bidirectional peering)
649
+ let peer = [...peers.values()].find(p => p.nodeId === node_id);
650
+ if (!peer || (peer.status !== 'active' && peer.status !== 'approved')) {
651
+ // Auto-add if sender is our genesis node, or we have an approved peering request from them
652
+ const senderUrl = node_url;
653
+ const isGenesis = config.genesisUrl && senderUrl && config.genesisUrl.replace(/\/+$/, '') === senderUrl.replace(/\/+$/, '');
654
+ const requests = await storage.listPeeringRequests();
655
+ const hasApprovedRequest = requests.some(r => r.fromNodeId === node_id && (r.status === 'approved' || r.status === 'auto_approved'));
656
+ if ((isGenesis || hasApprovedRequest) && senderUrl) {
657
+ const now = new Date().toISOString();
658
+ const newPeer = {
659
+ nodeId: node_id,
660
+ url: senderUrl,
661
+ publicKey: node_public_key,
662
+ status: 'active',
663
+ addedAt: now,
664
+ lastSeen: now,
665
+ shareCatalogue: true,
666
+ replicateMemory: true,
667
+ allowRouting: true,
668
+ peerMode: 'federation',
669
+ };
670
+ peers.set(node_id, newPeer);
671
+ await storage.saveFederationPeer(newPeer);
672
+ peer = newPeer;
673
+ logger.info(`Auto-added peer ${node_id} during key exchange (reciprocal peering)`);
674
+ }
675
+ else {
676
+ res.status(403).json(error(config.nodeId, 'FORBIDDEN', `Node ${node_id} is not a recognized peer`));
677
+ return;
678
+ }
571
679
  }
572
680
  // Store the peer's keys with TTL
573
681
  const ttlMs = config.keyCacheRefreshMinutes * 60_000;
@@ -587,6 +695,7 @@ export function federationPeerRouter(config, storage, peers) {
587
695
  // Also update the peer's public key in the peers map if it changed
588
696
  if (node_public_key !== peer.publicKey) {
589
697
  peer.publicKey = node_public_key;
698
+ await storage.saveFederationPeer(peer);
590
699
  }
591
700
  logger.info(`Received key exchange from peer ${node_id}`, {
592
701
  agentKeysReceived: peerAgentKeys.size,
@@ -1 +1 @@
1
- {"version":3,"file":"federation-peer.js","sourceRoot":"","sources":["../../../src/routes/federation-peer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"federation-peer.js","sourceRoot":"","sources":["../../../src/routes/federation-peer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"federation-sync.d.ts","sourceRoot":"","sources":["../../../src/routes/federation-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAIvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAO1D,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,MAAM,CA4qBjH"}
1
+ {"version":3,"file":"federation-sync.d.ts","sourceRoot":"","sources":["../../../src/routes/federation-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAIvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAO1D,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,MAAM,CA4rBjH"}
@@ -31,6 +31,10 @@ export function federationSyncRouter(config, storage, peers) {
31
31
  res.status(403).json(error(config.nodeId, 'FORBIDDEN', 'Source node is not an active peer'));
32
32
  return;
33
33
  }
34
+ if (!peer.replicateMemory) {
35
+ res.status(403).json(error(config.nodeId, 'POLICY_DENIED', 'This peer has memory replication disabled'));
36
+ return;
37
+ }
34
38
  // P1-11: Require signed replication — verify peer signature
35
39
  if (!signature) {
36
40
  res.status(401).json(error(config.nodeId, 'UNAUTHORIZED', 'Missing signature on replication request'));
@@ -126,6 +130,10 @@ export function federationSyncRouter(config, storage, peers) {
126
130
  res.status(403).json(error(config.nodeId, 'FORBIDDEN', 'Source node is not an active peer'));
127
131
  return;
128
132
  }
133
+ if (!peer.shareCatalogue) {
134
+ res.status(403).json(error(config.nodeId, 'POLICY_DENIED', 'This peer has catalogue sharing disabled'));
135
+ return;
136
+ }
129
137
  // P1-11: Require signed catalogue sync — verify peer signature
130
138
  if (!signature) {
131
139
  res.status(401).json(error(config.nodeId, 'UNAUTHORIZED', 'Missing signature on catalogue-sync request'));
@@ -295,6 +303,10 @@ export function federationSyncRouter(config, storage, peers) {
295
303
  };
296
304
  // 1. Check if target is a direct peer
297
305
  const targetPeer = [...peers.values()].find(p => p.nodeId === target_node && p.status === 'active');
306
+ if (targetPeer && !targetPeer.allowRouting) {
307
+ res.status(403).json(error(config.nodeId, 'POLICY_DENIED', 'Routing is disabled for this peer'));
308
+ return;
309
+ }
298
310
  if (targetPeer) {
299
311
  try {
300
312
  const targetUrl = `${targetPeer.url}${path}`;
@@ -339,7 +351,7 @@ export function federationSyncRouter(config, storage, peers) {
339
351
  return;
340
352
  }
341
353
  // 2. Not a direct peer — try multi-hop relay through active peers
342
- const activePeers = [...peers.values()].filter(p => p.status === 'active' && !pathNodes.includes(p.nodeId));
354
+ const activePeers = [...peers.values()].filter(p => p.status === 'active' && p.allowRouting && !pathNodes.includes(p.nodeId));
343
355
  if (activePeers.length === 0) {
344
356
  res.status(404).json(error(config.nodeId, 'FEDERATION_ERROR', `No route to node ${target_node}`));
345
357
  return;
@@ -357,6 +369,7 @@ export function federationSyncRouter(config, storage, peers) {
357
369
  method: 'POST',
358
370
  headers: {
359
371
  'Content-Type': 'application/json',
372
+ 'Authorization': req.headers.authorization ?? '',
360
373
  'X-Forwarded-From': config.nodeId,
361
374
  'X-Relay-Hops': String(hops - 1),
362
375
  'X-Relay-Path': relayPath,
@@ -1 +1 @@
1
- {"version":3,"file":"federation-sync.js","sourceRoot":"","sources":["../../../src/routes/federation-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"federation-sync.js","sourceRoot":"","sources":["../../../src/routes/federation-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,MAAM,UAAU,oBAAoB,CAAC,MAAoB,EAAE,OAAgB,EAAE,KAA4B;IACrG,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IAExB,6EAA6E;IAC7E,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACvD,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAEpG,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC;YACnE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,yDAAyD,CAAC,CAAC,CAAC;YACvH,OAAO;QACX,CAAC;QAED,yCAAyC;QACzC,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;QACrE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACpC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,mCAAmC,CAAC,CAAC,CAAC;YAC7F,OAAO;QACX,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YACxB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,2CAA2C,CAAC,CAAC,CAAC;YACzG,OAAO;QACX,CAAC;QAED,4DAA4D;QAC5D,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,0CAA0C,CAAC,CAAC,CAAC;YACvG,OAAO;QACX,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAClB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,2DAA2D,CAAC,CAAC,CAAC;YACrH,OAAO;QACX,CAAC;QACD,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QAC3G,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;QACjF,IAAI,CAAC,cAAc,EAAE,CAAC;YAClB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,0CAA0C,CAAC,CAAC,CAAC;YACvG,OAAO;QACX,CAAC;QAED,iDAAiD;QACjD,MAAM,UAAU,GAAG,WAAW,WAAW,IAAI,GAAG,EAAE,CAAC;QACnD,MAAM,iBAAiB,GAAG,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAEhE,kDAAkD;QAClD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC3D,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;YAC5D,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE,CAAC;YAE3D,IAAI,YAAY,IAAI,YAAY,EAAE,CAAC;gBAC/B,+CAA+C;gBAC/C,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;oBAC5B,UAAU,EAAE,IAAI;oBAChB,GAAG,EAAE,UAAU;oBACf,WAAW;oBACX,OAAO;oBACP,QAAQ,EAAE,IAAI;oBACd,mBAAmB,EAAE,gBAAgB;iBACxC,CAAC,CAAC,CAAC;gBACJ,UAAU,CAAC,YAAY,CAAC,CAAC;gBACzB,OAAO;YACX,CAAC;YAED,iEAAiE;YACjE,MAAM,WAAW,GAAG,GAAG,GAAG,cAAc,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACrD,MAAM,OAAO,CAAC,SAAS,CAAC;gBACpB,GAAG,QAAQ;gBACX,GAAG,EAAE,WAAW;gBAChB,UAAU,EAAE,SAAS;gBACrB,IAAI,EAAE,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,YAAY,WAAW,EAAE,CAAC;gBACnD,QAAQ,EAAE,GAAG,EAAE,SAAS;gBACxB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACtC,CAAC,CAAC;YAEH,+CAA+C;YAC/C,MAAM,OAAO,CAAC,iBAAiB,CAAC;gBAC5B,EAAE,EAAE,YAAY,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBAChD,cAAc,EAAE,EAAE;gBAClB,IAAI,EAAE,iBAAiB;gBACvB,QAAQ,EAAE,UAAU,MAAM,CAAC,MAAM,EAAE;gBACnC,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;gBACvG,SAAS,EAAE,CAAC;gBACZ,aAAa,EAAE,CAAC;gBAChB,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC,WAAW,EAAE;gBACjE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACtC,CAAC,CAAC;QACP,CAAC;QAED,MAAM,OAAO,CAAC,SAAS,CAAC;YACpB,GAAG,EAAE,UAAU;YACf,SAAS,EAAE,IAAI;YACf,KAAK;YACL,UAAU,EAAE,UAAU,IAAI,QAAQ;YAClC,IAAI,EAAE,CAAC,WAAW,WAAW,EAAE,CAAC;YAChC,QAAQ,EAAE,IAAI;YACd,OAAO;YACP,SAAS,EAAE,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAChD,SAAS,EAAE,iBAAiB;SAC/B,CAAC,CAAC;QAEH,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;YAC5B,UAAU,EAAE,IAAI;YAChB,GAAG,EAAE,UAAU;YACf,WAAW;YACX,OAAO;YACP,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACvB,CAAC,CAAC,CAAC;QACJ,UAAU,CAAC,YAAY,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,2EAA2E;IAC3E,4EAA4E;IAC5E,8EAA8E;IAC9E,4CAA4C;IAC5C,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC5D,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAExG,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,wCAAwC,CAAC,CAAC,CAAC;YACtG,OAAO;QACX,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;QACrE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACpC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,mCAAmC,CAAC,CAAC,CAAC;YAC7F,OAAO;QACX,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACvB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,0CAA0C,CAAC,CAAC,CAAC;YACxG,OAAO;QACX,CAAC;QAED,+DAA+D;QAC/D,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,6CAA6C,CAAC,CAAC,CAAC;YAC1G,OAAO;QACX,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAClB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,2DAA2D,CAAC,CAAC,CAAC;YACrH,OAAO;QACX,CAAC;QACD,MAAM,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC,CAAC;QACnH,MAAM,kBAAkB,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,EAAE,SAAS,CAAC,CAAC;QACzF,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACtB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,6CAA6C,CAAC,CAAC,CAAC;YAC1G,OAAO;QACX,CAAC;QAED,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAErC,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,YAAY;gBAAE,SAAS;YAE1E,MAAM,WAAW,GAAG,GAAG,WAAW,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;YAClD,MAAM,UAAU,GAAG;gBACf,EAAE,EAAE,WAAW;gBACf,YAAY,EAAE,MAAM,CAAC,aAAa;gBAClC,WAAW,EAAE,IAAI,WAAW,KAAK,MAAM,CAAC,YAAY,EAAE;gBACtD,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE;gBACrC,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,WAAW,EAAE,MAAM,CAAC,YAAY,IAAI,EAAE;gBACtC,YAAY,EAAE,MAAM,CAAC,aAAa,IAAI,EAAE;gBACxC,OAAO,EAAE;oBACL,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,YAAY,IAAI,CAAC;oBAC9C,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ;iBACpC;gBACD,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,aAAa,WAAW,EAAE,CAAC;gBAC1D,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,SAAS,EAAE,MAAM,CAAC,UAAU,IAAI,GAAG;gBACnC,SAAS,EAAE,GAAG;aACjB,CAAC;YAEF,+DAA+D;YAC/D,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;YAC5E,IAAI,QAAQ,EAAE,CAAC;gBACX,MAAM,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,aAAa,EAAE;oBAC1D,WAAW,EAAE,UAAU,CAAC,WAAW;oBACnC,WAAW,EAAE,UAAU,CAAC,WAAW;oBACnC,QAAQ,EAAE,UAAU,CAAC,QAAQ;oBAC7B,WAAW,EAAE,UAAU,CAAC,WAAW;oBACnC,YAAY,EAAE,UAAU,CAAC,YAAY;oBACrC,OAAO,EAAE,UAAU,CAAC,OAAO;oBAC3B,IAAI,EAAE,UAAU,CAAC,IAAI;oBACrB,SAAS,EAAE,GAAG;iBACjB,CAAC,CAAC;gBACH,OAAO,EAAE,CAAC;YACd,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC;oBACD,MAAM,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;oBACvC,MAAM,EAAE,CAAC;gBACb,CAAC;gBAAC,MAAM,CAAC,CAAC,4BAA4B,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;YAC5B,MAAM;YACN,OAAO;YACP,WAAW;YACX,cAAc,EAAE,UAAU,CAAC,MAAM;YACjC,WAAW,EAAE,CAAC,CAAC,eAAe;YAC9B,cAAc,EAAE,cAAc,IAAI,IAAI;SACzC,CAAC,CAAC,CAAC;QACJ,UAAU,CAAC,YAAY,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,2EAA2E;IAC3E,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,WAAW,EAAE,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACpG,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAExF,IAAI,CAAC,WAAW,IAAI,CAAC,aAAa,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,qDAAqD,CAAC,CAAC,CAAC;YACnH,OAAO;QACX,CAAC;QAED,MAAM,UAAU,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACtC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,iCAAiC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACtH,OAAO;QACX,CAAC;QAED,wCAAwC;QACxC,MAAM,UAAU,GAAG,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3D,MAAM,QAAQ,GAAG;YACb,EAAE,EAAE,UAAU;YACd,WAAW;YACX,aAAa;YACb,MAAM;YACN,aAAa;YACb,SAAS,EAAE,SAAS,IAAI,MAAM,CAAC,MAAM;YACrC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACvC,CAAC;QAEF,2CAA2C;QAC3C,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;YAC1B,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;YAClF,IAAI,UAAU,EAAE,CAAC;gBACb,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YAChC,CAAC;QACL,CAAC;QAED,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;YACxC,OAAO,EAAE,sBAAsB;YAC/B,GAAG,QAAQ;SACd,CAAC,CAAC,CAAC;QACJ,UAAU,CAAC,YAAY,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,iCAAiC;IAEjC,iFAAiF;IACjF,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAClE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAE9E,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC;YACxB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,mCAAmC,CAAC,CAAC,CAAC;YACjG,OAAO;QACX,CAAC;QAED,+FAA+F;QAC/F,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7G,MAAM,IAAI,GAAG,WAAW,IAAI,QAAQ,IAAI,MAAM,CAAC,YAAY,CAAC;QAC5D,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;YACZ,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE,yBAAyB,CAAC,CAAC,CAAC;YAC1F,OAAO;QACX,CAAC;QAED,uCAAuC;QACvC,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAuB,CAAC;QACtE,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;QAElF,kEAAkE;QAClE,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE,uBAAuB,CAAC,CAAC,CAAC;YACxF,OAAO;QACX,CAAC;QAED,MAAM,aAAa,GAAG,GAAG,CAAC,IAAK,CAAC,GAAG,CAAC;QAEpC,6DAA6D;QAC7D,KAAK,UAAU,gBAAgB;YAC3B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YAC7D,IAAI,OAAO,EAAE,CAAC;gBACV,MAAM,OAAO,CAAC,cAAc,CAAC;oBACzB,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;oBAC3C,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,oBAAoB;oBAC1B,MAAM,EAAE,CAAC,CAAC;oBACV,YAAY,EAAE,SAAS,SAAS,EAAE;oBAClC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACtC,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,2CAA2C;QAC3C,KAAK,UAAU,aAAa,CAAC,WAA0B,EAAE,aAAqB;YAC1E,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC5C,MAAM,cAAc,GAAG,sBAAsB,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;YACrG,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;YAC3C,MAAM,YAAY,GAAG,OAAO,EAAE,UAAU;gBACpC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC;gBAChD,CAAC,CAAC,EAAE,CAAC;YACT,OAAO;gBACH,OAAO,EAAE,MAAM,CAAC,MAAM;gBACtB,WAAW,EAAE,UAAU;gBACvB,YAAY,EAAE,WAAW;gBACzB,SAAS,EAAE,YAAY;aAC1B,CAAC;QACN,CAAC;QAED,qDAAqD;QACrD,MAAM,eAAe,GAAkB,GAAG,CAAC,IAAI,EAAE,cAAc,IAAI;YAC/D,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAW,IAAI,MAAM,CAAC,MAAM;YAClE,IAAI,EAAE,EAAE;SACX,CAAC;QAEF,sCAAsC;QACtC,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;QAEpG,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;YACzC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,mCAAmC,CAAC,CAAC,CAAC;YACjG,OAAO;QACX,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACb,IAAI,CAAC;gBACD,MAAM,SAAS,GAAG,GAAG,UAAU,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC;gBAC7C,0DAA0D;gBAC1D,MAAM,cAAc,GAAG,MAAM,mBAAmB,CAAC,SAAS,CAAC,CAAC;gBAC5D,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;oBACxB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,cAAc,CAAC,MAAM,IAAI,uBAAuB,CAAC,CAAC,CAAC;oBAC5G,OAAO;gBACX,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE;oBACpC,MAAM,EAAE,MAAM,IAAI,KAAK;oBACvB,OAAO,EAAE;wBACL,cAAc,EAAE,kBAAkB;wBAClC,kBAAkB,EAAE,MAAM,CAAC,MAAM;wBACjC,cAAc,EAAE,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;wBAChC,cAAc,EAAE,SAAS;qBAC5B;oBACD,GAAG,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;wBAC7E,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;wBACnC,CAAC,CAAC,EAAE,CAAC;oBACT,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;iBACtC,CAAC,CAAC;gBAEH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;gBACrD,MAAM,gBAAgB,EAAE,CAAC;gBAEzB,+CAA+C;gBAC/C,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACrJ,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAE/B,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;oBACpD,SAAS,EAAE,WAAW;oBACtB,UAAU,EAAE,MAAM,CAAC,MAAM;oBACzB,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC;oBAChC,cAAc,EAAE,IAAI,GAAG,CAAC;oBACxB,eAAe,EAAE,QAAQ,CAAC,MAAM;oBAChC,aAAa,EAAE,IAAI;oBACnB,cAAc,EAAE,eAAe;iBAClC,CAAC,CAAC,CAAC;gBACJ,UAAU,CAAC,YAAY,CAAC,CAAC;YAC7B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,EACxD,wBAAwB,WAAW,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;YACzG,CAAC;YACD,OAAO;QACX,CAAC;QAED,kEAAkE;QAClE,MAAM,WAAW,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAC/C,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9E,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE,oBAAoB,WAAW,EAAE,CAAC,CAAC,CAAC;YAClG,OAAO;QACX,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,GAAG,sBAAsB,CAAC;gBACpD,0DAA0D;gBAC1D,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC;gBAC1D,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;oBACvB,MAAM,CAAC,IAAI,CAAC,kCAAkC,KAAK,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;oBACvF,SAAS;gBACb,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;oBACnC,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE;wBACL,cAAc,EAAE,kBAAkB;wBAClC,eAAe,EAAE,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE;wBAChD,kBAAkB,EAAE,MAAM,CAAC,MAAM;wBACjC,cAAc,EAAE,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;wBAChC,cAAc,EAAE,SAAS;qBAC5B;oBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACjB,WAAW;wBACX,MAAM,EAAE,MAAM,IAAI,KAAK;wBACvB,IAAI;wBACJ,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,IAAI,GAAG,CAAC;qBACrB,CAAC;oBACF,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;iBACtC,CAAC,CAAC;gBAEH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACd,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;oBACrD,MAAM,gBAAgB,EAAE,CAAC;oBAEzB,mDAAmD;oBACnD,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC3J,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAEpC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;wBAC5B,SAAS,EAAE,WAAW;wBACtB,UAAU,EAAE,KAAK,CAAC,MAAM;wBACxB,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;wBACrD,cAAc,EAAE,IAAI,GAAG,CAAC;wBACxB,aAAa,EAAE,IAAI;wBACnB,cAAc,EAAE,eAAe;qBAClC,CAAC,CAAC,CAAC;oBACJ,UAAU,CAAC,YAAY,CAAC,CAAC;oBACzB,OAAO;gBACX,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACL,iBAAiB;YACrB,CAAC;QACL,CAAC;QAED,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,EACxD,oBAAoB,WAAW,sBAAsB,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,qEAAqE;IACrE,MAAM,CAAC,GAAG,CAAC,8BAA8B,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC1D,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAc,CAAC;QAEvC,0BAA0B;QAC1B,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,UAAU,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;gBAC5B,IAAI;gBACJ,OAAO,EAAE,MAAM,CAAC,MAAM;gBACtB,KAAK,EAAE,IAAI;aACd,CAAC,CAAC,CAAC;YACJ,OAAO;QACX,CAAC;QAED,qDAAqD;QACrD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC3C,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;YAC3F,IAAI,IAAI,EAAE,CAAC;gBACP,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;oBAC5B,IAAI;oBACJ,OAAO,EAAE,QAAQ;oBACjB,QAAQ,EAAE,IAAI,CAAC,GAAG;oBAClB,KAAK,EAAE,KAAK;iBACf,CAAC,CAAC,CAAC;gBACJ,OAAO;YACX,CAAC;QACL,CAAC;QAED,gCAAgC;QAChC,MAAM,WAAW,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;QAC3E,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACD,0DAA0D;gBAC1D,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC7D,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;oBAC1B,MAAM,CAAC,IAAI,CAAC,oCAAoC,IAAI,CAAC,MAAM,KAAK,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC3F,SAAS;gBACb,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,cAAc,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE;oBAC1E,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;iBACrC,CAAC,CAAC;gBACH,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;oBACV,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;wBAC5B,IAAI;wBACJ,OAAO,EAAE,IAAI,CAAC,MAAM;wBACpB,QAAQ,EAAE,IAAI,CAAC,GAAG;wBAClB,KAAK,EAAE,KAAK;qBACf,CAAC,CAAC,CAAC;oBACJ,OAAO;gBACX,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACL,wBAAwB;YAC5B,CAAC;QACL,CAAC;QAED,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,EACjD,SAAS,IAAI,4CAA4C,CAAC,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,uEAAuE;IACvE,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,WAAW,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAClG,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAEnF,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,IAAI,CAAC,aAAa,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,EACrD,+DAA+D,CAAC,CAAC,CAAC;YACtE,OAAO;QACX,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;QAC9F,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,EACxD,2BAA2B,WAAW,EAAE,CAAC,CAAC,CAAC;YAC/C,OAAO;QACX,CAAC;QAED,IAAI,CAAC;YACD,0DAA0D;YAC1D,MAAM,iBAAiB,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9D,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;gBAC3B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,iBAAiB,CAAC,MAAM,IAAI,uBAAuB,CAAC,CAAC,CAAC;gBAC/G,OAAO;YACX,CAAC;YAED,+CAA+C;YAC/C,MAAM,WAAW,GAAG;gBAChB,SAAS;gBACT,aAAa;gBACb,KAAK;gBACL,SAAS,EAAE,SAAS,IAAI,EAAE;gBAC1B,oBAAoB,EAAE,GAAG,CAAC,IAAK,CAAC,GAAG;gBACnC,WAAW,EAAE,MAAM,CAAC,MAAM;gBAC1B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACtC,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;YAC3C,IAAI,aAAiC,CAAC;YACtC,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;gBACtB,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;YAChF,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,kBAAkB,EAAE;gBACxD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACL,cAAc,EAAE,kBAAkB;oBAClC,kBAAkB,EAAE,MAAM,CAAC,MAAM;oBACjC,kBAAkB,EAAE,MAAM,CAAC,MAAM;iBACpC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACjB,GAAG,WAAW;oBACd,SAAS,EAAE,aAAa;iBAC3B,CAAC;gBACF,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;aACtC,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YAErD,8BAA8B;YAC9B,MAAM,aAAa,GAAG,GAAG,CAAC,IAAK,CAAC,GAAG,CAAC;YACpC,2BAA2B;YAC3B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YAC7D,IAAI,OAAO,EAAE,CAAC;gBACV,MAAM,OAAO,CAAC,cAAc,CAAC;oBACzB,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;oBAC3C,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,oBAAoB;oBAC1B,MAAM,EAAE,CAAC,CAAC;oBACV,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACtC,CAAC,CAAC;YACP,CAAC;YAED,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;gBACpD,SAAS,EAAE,WAAW;gBACtB,aAAa,EAAE,IAAI;aACtB,CAAC,CAAC,CAAC;YACJ,UAAU,CAAC,YAAY,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,EACxD,qCAAqC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;QACtG,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,oCAAoC;IAEpC,uEAAuE;IACvE,MAAM,CAAC,GAAG,CAAC,0BAA0B,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACtD,IAAI,CAAC,MAAM,CAAC,wBAAwB,EAAE,CAAC;YACnC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,gDAAgD,CAAC,CAAC,CAAC;YAC1G,OAAO;QACX,CAAC;QAED,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,CAAuB,CAAC;QACtE,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,kCAAkC,CAAC,CAAC,CAAC;YAChG,OAAO;QACX,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACpC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,mCAAmC,CAAC,CAAC,CAAC;YAC7F,OAAO;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,QAA8B,CAAC;QAC1D,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,IAA0B,CAAC;QACrD,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzF,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,MAA4B,CAAC;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,KAAe,IAAI,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7E,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAgB,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;QAE/D,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAC;YACpD,MAAM,EAAE,QAAQ;YAChB,QAAQ;YACR,IAAI;YACJ,MAAM;YACN,KAAK;YACL,MAAM;SACT,CAAC,CAAC;QAEH,2BAA2B;QAC3B,MAAM,SAAS,GAAG,EAAE,CAAC;QACrB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YAC/D,MAAM,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChF,MAAM,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,GAAG;gBACd,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;gBAClG,CAAC,CAAC,CAAC,CAAC;YAER,SAAS,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,CAAC,CAAC,WAAW;gBACnB,MAAM,EAAE,CAAC,CAAC,aAAa;gBACvB,UAAU,EAAE,MAAM,CAAC,MAAM;gBACzB,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,cAAc;gBACd,cAAc;gBACd,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG;aACzC,CAAC,CAAC;QACP,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,4EAA4E;IAC5E,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,WAAW,EAAE,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACpG,IAAI,CAAC,MAAM,CAAC,wBAAwB,EAAE,CAAC;YACnC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,gDAAgD,CAAC,CAAC,CAAC;YAC1G,OAAO;QACX,CAAC;QAED,MAAM,WAAW,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;QAC3E,MAAM,OAAO,GAA0D,EAAE,CAAC;QAE1E,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACD,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,GAAG,oCAAoC,CAAC;gBAChE,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;gBACpD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;oBAClB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,IAAI,uBAAuB,EAAE,CAAC,CAAC;oBACrG,SAAS;gBACb,CAAC;gBAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE;oBAClC,OAAO,EAAE;wBACL,cAAc,EAAE,kBAAkB;wBAClC,eAAe,EAAE,MAAM,CAAC,MAAM;qBACjC;oBACD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;iBACtC,CAAC,CAAC;gBAEH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACd,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA0C,CAAC;oBAC3E,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5F,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;gBAClE,CAAC;qBAAM,CAAC;oBACJ,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACxF,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,IAAI,CAAC,MAAM;oBACjB,SAAS,EAAE,CAAC;oBACZ,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;iBAC9D,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,UAAU,CAAC,WAAW,CAAC,CAAC;QACxB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -9,7 +9,8 @@ import { Router } from 'express';
9
9
  import type { AimeatConfig } from '../config.js';
10
10
  import type { Storage } from '../storage/interface.js';
11
11
  import type { PeerInfo } from '../services/federation.js';
12
+ import type { ServiceSummary } from '../utils/service-summary.js';
12
13
  export { peerKeyCache, performKeyExchange } from '../services/federation-helpers.js';
13
14
  export type { PeerKeyEntry } from '../services/federation-helpers.js';
14
- export declare function federationRouter(config: AimeatConfig, storage: Storage, peers: Map<string, PeerInfo>): Router;
15
+ export declare function federationRouter(config: AimeatConfig, storage: Storage, peers: Map<string, PeerInfo>, networkDirectory?: Map<string, ServiceSummary>): Router;
15
16
  //# sourceMappingURL=federation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"federation.d.ts","sourceRoot":"","sources":["../../../src/routes/federation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAO1D,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACrF,YAAY,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEtE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,MAAM,CAO7G"}
1
+ {"version":3,"file":"federation.d.ts","sourceRoot":"","sources":["../../../src/routes/federation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAQlE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACrF,YAAY,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEtE,wBAAgB,gBAAgB,CAC5B,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC5B,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,GAC/C,MAAM,CAQR"}
@@ -10,14 +10,16 @@ import { federationPeerRouter } from './federation-peer.js';
10
10
  import { federationSyncRouter } from './federation-sync.js';
11
11
  import { federationSettlementsRouter } from './federation-settlements.js';
12
12
  import { federationGenesisRouter } from './federation-genesis.js';
13
+ import { federationAuthRouter } from './federation-auth.js';
13
14
  // Re-export shared helpers for backward compatibility
14
15
  export { peerKeyCache, performKeyExchange } from '../services/federation-helpers.js';
15
- export function federationRouter(config, storage, peers) {
16
+ export function federationRouter(config, storage, peers, networkDirectory) {
16
17
  const router = Router();
17
18
  router.use(federationPeerRouter(config, storage, peers));
18
19
  router.use(federationSyncRouter(config, storage, peers));
19
20
  router.use(federationSettlementsRouter(config, storage, peers));
20
- router.use(federationGenesisRouter(config, storage, peers));
21
+ router.use(federationGenesisRouter(config, storage, peers, networkDirectory));
22
+ router.use(federationAuthRouter(config, storage));
21
23
  return router;
22
24
  }
23
25
  //# sourceMappingURL=federation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"federation.js","sourceRoot":"","sources":["../../../src/routes/federation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAIjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAElE,sDAAsD;AACtD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAGrF,MAAM,UAAU,gBAAgB,CAAC,MAAoB,EAAE,OAAgB,EAAE,KAA4B;IACjG,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACzD,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACzD,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAChE,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAC5D,OAAO,MAAM,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"federation.js","sourceRoot":"","sources":["../../../src/routes/federation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAKjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,sDAAsD;AACtD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAGrF,MAAM,UAAU,gBAAgB,CAC5B,MAAoB,EACpB,OAAgB,EAChB,KAA4B,EAC5B,gBAA8C;IAE9C,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACzD,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACzD,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAChE,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC9E,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAClD,OAAO,MAAM,CAAC;AAClB,CAAC"}