@dxos/echo-pipeline 0.5.2 → 0.5.3-main.088a2c8

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 (48) hide show
  1. package/dist/lib/browser/{chunk-VQQD32DM.mjs → chunk-VUJXFVSK.mjs} +49 -30
  2. package/dist/lib/browser/{chunk-VQQD32DM.mjs.map → chunk-VUJXFVSK.mjs.map} +3 -3
  3. package/dist/lib/browser/index.mjs +435 -288
  4. package/dist/lib/browser/index.mjs.map +4 -4
  5. package/dist/lib/browser/meta.json +1 -1
  6. package/dist/lib/browser/testing/index.mjs +3 -1
  7. package/dist/lib/browser/testing/index.mjs.map +3 -3
  8. package/dist/lib/node/{chunk-P7L7ICAH.cjs → chunk-6733E3WM.cjs} +50 -32
  9. package/dist/lib/node/{chunk-P7L7ICAH.cjs.map → chunk-6733E3WM.cjs.map} +3 -3
  10. package/dist/lib/node/index.cjs +446 -299
  11. package/dist/lib/node/index.cjs.map +4 -4
  12. package/dist/lib/node/meta.json +1 -1
  13. package/dist/lib/node/testing/index.cjs +13 -11
  14. package/dist/lib/node/testing/index.cjs.map +3 -3
  15. package/dist/types/src/automerge/automerge-host.d.ts +4 -11
  16. package/dist/types/src/automerge/automerge-host.d.ts.map +1 -1
  17. package/dist/types/src/automerge/echo-network-adapter.d.ts +6 -0
  18. package/dist/types/src/automerge/echo-network-adapter.d.ts.map +1 -1
  19. package/dist/types/src/automerge/echo-replicator.d.ts +2 -0
  20. package/dist/types/src/automerge/echo-replicator.d.ts.map +1 -1
  21. package/dist/types/src/automerge/index.d.ts +1 -1
  22. package/dist/types/src/automerge/leveldb-storage-adapter.d.ts +2 -2
  23. package/dist/types/src/automerge/mesh-echo-replicator.d.ts +23 -0
  24. package/dist/types/src/automerge/mesh-echo-replicator.d.ts.map +1 -0
  25. package/dist/types/src/automerge/migrations.d.ts +2 -2
  26. package/dist/types/src/space/space-manager.d.ts +3 -2
  27. package/dist/types/src/space/space-manager.d.ts.map +1 -1
  28. package/dist/types/src/space/space-protocol.d.ts +2 -0
  29. package/dist/types/src/space/space-protocol.d.ts.map +1 -1
  30. package/dist/types/src/space/space.d.ts +4 -3
  31. package/dist/types/src/space/space.d.ts.map +1 -1
  32. package/dist/types/src/testing/test-agent-builder.d.ts.map +1 -1
  33. package/package.json +33 -33
  34. package/src/automerge/automerge-host.test.ts +22 -9
  35. package/src/automerge/automerge-host.ts +62 -88
  36. package/src/automerge/echo-network-adapter.ts +19 -0
  37. package/src/automerge/echo-replicator.ts +3 -0
  38. package/src/automerge/index.ts +1 -1
  39. package/src/automerge/leveldb-storage-adapter.ts +2 -2
  40. package/src/automerge/mesh-echo-replicator.ts +232 -0
  41. package/src/automerge/migrations.ts +2 -2
  42. package/src/space/space-manager.ts +4 -1
  43. package/src/space/space-protocol.ts +11 -8
  44. package/src/space/space.ts +8 -3
  45. package/src/testing/test-agent-builder.ts +1 -0
  46. package/dist/types/src/automerge/mesh-network-adapter.d.ts +0 -18
  47. package/dist/types/src/automerge/mesh-network-adapter.d.ts.map +0 -1
  48. package/src/automerge/mesh-network-adapter.ts +0 -107
@@ -26,8 +26,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var chunk_P7L7ICAH_exports = {};
30
- __export(chunk_P7L7ICAH_exports, {
29
+ var chunk_6733E3WM_exports = {};
30
+ __export(chunk_6733E3WM_exports, {
31
31
  AuthExtension: () => AuthExtension,
32
32
  AuthStatus: () => AuthStatus,
33
33
  DataServiceImpl: () => DataServiceImpl,
@@ -50,7 +50,7 @@ __export(chunk_P7L7ICAH_exports, {
50
50
  startAfter: () => startAfter,
51
51
  valueEncoding: () => valueEncoding
52
52
  });
53
- module.exports = __toCommonJS(chunk_P7L7ICAH_exports);
53
+ module.exports = __toCommonJS(chunk_6733E3WM_exports);
54
54
  var import_hypercore = require("@dxos/hypercore");
55
55
  var import_protocols = require("@dxos/protocols");
56
56
  var import_invariant = require("@dxos/invariant");
@@ -1468,7 +1468,7 @@ var Space = class extends import_context5.Resource {
1468
1468
  this.stateUpdate = new import_async5.Event();
1469
1469
  (0, import_invariant6.invariant)(params.spaceKey && params.feedProvider, void 0, {
1470
1470
  F: __dxlog_file8,
1471
- L: 74,
1471
+ L: 75,
1472
1472
  S: this,
1473
1473
  A: [
1474
1474
  "params.spaceKey && params.feedProvider",
@@ -1501,7 +1501,7 @@ var Space = class extends import_context5.Resource {
1501
1501
  credential
1502
1502
  }, {
1503
1503
  F: __dxlog_file8,
1504
- L: 101,
1504
+ L: 102,
1505
1505
  S: this,
1506
1506
  C: (f, a) => f(...a)
1507
1507
  });
@@ -1512,7 +1512,7 @@ var Space = class extends import_context5.Resource {
1512
1512
  invitation
1513
1513
  }, {
1514
1514
  F: __dxlog_file8,
1515
- L: 105,
1515
+ L: 106,
1516
1516
  S: this,
1517
1517
  C: (f, a) => f(...a)
1518
1518
  });
@@ -1523,12 +1523,26 @@ var Space = class extends import_context5.Resource {
1523
1523
  invitation
1524
1524
  }, {
1525
1525
  F: __dxlog_file8,
1526
- L: 109,
1526
+ L: 110,
1527
1527
  S: this,
1528
1528
  C: (f, a) => f(...a)
1529
1529
  });
1530
1530
  await params.onDelegatedInvitationStatusChange(invitation, false);
1531
1531
  });
1532
+ this._controlPipeline.onMemberRoleChanged.set(async (changedMembers) => {
1533
+ (0, import_log6.log)("onMemberRoleChanged", () => ({
1534
+ changedMembers: changedMembers.map((m) => [
1535
+ m.key,
1536
+ m.role
1537
+ ])
1538
+ }), {
1539
+ F: __dxlog_file8,
1540
+ L: 114,
1541
+ S: this,
1542
+ C: (f, a) => f(...a)
1543
+ });
1544
+ await params.onMemberRolesChanged(changedMembers);
1545
+ });
1532
1546
  this.protocol = params.protocol;
1533
1547
  this.protocol.addFeed(params.genesisFeed);
1534
1548
  }
@@ -1562,7 +1576,7 @@ var Space = class extends import_context5.Resource {
1562
1576
  async setControlFeed(feed) {
1563
1577
  (0, import_invariant6.invariant)(!this._controlFeed, "Control feed already set.", {
1564
1578
  F: __dxlog_file8,
1565
- L: 156,
1579
+ L: 161,
1566
1580
  S: this,
1567
1581
  A: [
1568
1582
  "!this._controlFeed",
@@ -1576,7 +1590,7 @@ var Space = class extends import_context5.Resource {
1576
1590
  async setDataFeed(feed) {
1577
1591
  (0, import_invariant6.invariant)(!this._dataFeed, "Data feed already set.", {
1578
1592
  F: __dxlog_file8,
1579
- L: 163,
1593
+ L: 168,
1580
1594
  S: this,
1581
1595
  A: [
1582
1596
  "!this._dataFeed",
@@ -1595,7 +1609,7 @@ var Space = class extends import_context5.Resource {
1595
1609
  async _open(ctx) {
1596
1610
  (0, import_log6.log)("opening...", void 0, {
1597
1611
  F: __dxlog_file8,
1598
- L: 177,
1612
+ L: 182,
1599
1613
  S: this,
1600
1614
  C: (f, a) => f(...a)
1601
1615
  });
@@ -1603,7 +1617,7 @@ var Space = class extends import_context5.Resource {
1603
1617
  await this.protocol.start();
1604
1618
  (0, import_log6.log)("opened", void 0, {
1605
1619
  F: __dxlog_file8,
1606
- L: 183,
1620
+ L: 188,
1607
1621
  S: this,
1608
1622
  C: (f, a) => f(...a)
1609
1623
  });
@@ -1613,7 +1627,7 @@ var Space = class extends import_context5.Resource {
1613
1627
  key: this._key
1614
1628
  }, {
1615
1629
  F: __dxlog_file8,
1616
- L: 188,
1630
+ L: 193,
1617
1631
  S: this,
1618
1632
  C: (f, a) => f(...a)
1619
1633
  });
@@ -1621,7 +1635,7 @@ var Space = class extends import_context5.Resource {
1621
1635
  await this._controlPipeline.stop();
1622
1636
  (0, import_log6.log)("closed", void 0, {
1623
1637
  F: __dxlog_file8,
1624
- L: 194,
1638
+ L: 199,
1625
1639
  S: this,
1626
1640
  C: (f, a) => f(...a)
1627
1641
  });
@@ -1664,6 +1678,11 @@ var SpaceProtocol = class {
1664
1678
  constructor({ topic, swarmIdentity, networkManager, onSessionAuth, onAuthFailure, blobStore }) {
1665
1679
  this._feeds = /* @__PURE__ */ new Set();
1666
1680
  this._sessions = new import_util5.ComplexMap(import_keys5.PublicKey.hash);
1681
+ this._topology = new import_network_manager.MMSTTopology({
1682
+ originateConnections: 4,
1683
+ maxPeers: 10,
1684
+ sampleSize: 20
1685
+ });
1667
1686
  this._spaceKey = topic;
1668
1687
  this._networkManager = networkManager;
1669
1688
  this._swarmIdentity = swarmIdentity;
@@ -1689,7 +1708,7 @@ var SpaceProtocol = class {
1689
1708
  key: feed.key
1690
1709
  }, {
1691
1710
  F: __dxlog_file9,
1692
- L: 103,
1711
+ L: 109,
1693
1712
  S: this,
1694
1713
  C: (f, a) => f(...a)
1695
1714
  });
@@ -1704,15 +1723,10 @@ var SpaceProtocol = class {
1704
1723
  return;
1705
1724
  }
1706
1725
  const credentials = await this._swarmIdentity.credentialProvider(Buffer.from(""));
1707
- const topologyConfig = {
1708
- originateConnections: 4,
1709
- maxPeers: 10,
1710
- sampleSize: 20
1711
- };
1712
1726
  await this.blobSync.open();
1713
1727
  (0, import_log8.log)("starting...", void 0, {
1714
1728
  F: __dxlog_file9,
1715
- L: 129,
1729
+ L: 128,
1716
1730
  S: this,
1717
1731
  C: (f, a) => f(...a)
1718
1732
  });
@@ -1721,29 +1735,32 @@ var SpaceProtocol = class {
1721
1735
  protocolProvider: this._createProtocolProvider(credentials),
1722
1736
  peerId: this._swarmIdentity.peerKey,
1723
1737
  topic,
1724
- topology: new import_network_manager.MMSTTopology(topologyConfig),
1738
+ topology: this._topology,
1725
1739
  label: `swarm ${topic.truncate()} for space ${this._spaceKey.truncate()}`
1726
1740
  });
1727
1741
  (0, import_log8.log)("started", void 0, {
1728
1742
  F: __dxlog_file9,
1729
- L: 139,
1743
+ L: 138,
1730
1744
  S: this,
1731
1745
  C: (f, a) => f(...a)
1732
1746
  });
1733
1747
  }
1748
+ updateTopology() {
1749
+ this._topology.forceUpdate();
1750
+ }
1734
1751
  async stop() {
1735
1752
  await this.blobSync.close();
1736
1753
  if (this._connection) {
1737
1754
  (0, import_log8.log)("stopping...", void 0, {
1738
1755
  F: __dxlog_file9,
1739
- L: 146,
1756
+ L: 149,
1740
1757
  S: this,
1741
1758
  C: (f, a) => f(...a)
1742
1759
  });
1743
1760
  await this._connection.close();
1744
1761
  (0, import_log8.log)("stopped", void 0, {
1745
1762
  F: __dxlog_file9,
1746
- L: 148,
1763
+ L: 151,
1747
1764
  S: this,
1748
1765
  C: (f, a) => f(...a)
1749
1766
  });
@@ -1816,7 +1833,7 @@ var SpaceProtocolSession = class {
1816
1833
  onAuthSuccess: () => {
1817
1834
  (0, import_log8.log)("Peer authenticated", void 0, {
1818
1835
  F: __dxlog_file9,
1819
- L: 245,
1836
+ L: 248,
1820
1837
  S: this,
1821
1838
  C: (f, a) => f(...a)
1822
1839
  });
@@ -1834,7 +1851,7 @@ var SpaceProtocolSession = class {
1834
1851
  async close() {
1835
1852
  (0, import_log8.log)("close", void 0, {
1836
1853
  F: __dxlog_file9,
1837
- L: 261,
1854
+ L: 264,
1838
1855
  S: this,
1839
1856
  C: (f, a) => f(...a)
1840
1857
  });
@@ -1882,12 +1899,12 @@ var SpaceManager = class {
1882
1899
  ...this._spaces.values()
1883
1900
  ].map((space) => space.close()));
1884
1901
  }
1885
- async constructSpace({ metadata, swarmIdentity, onAuthorizedConnection, onAuthFailure, onDelegatedInvitationStatusChange, memberKey }) {
1902
+ async constructSpace({ metadata, swarmIdentity, onAuthorizedConnection, onAuthFailure, onDelegatedInvitationStatusChange, onMemberRolesChanged, memberKey }) {
1886
1903
  import_log9.log.trace("dxos.echo.space-manager.construct-space", import_protocols6.trace.begin({
1887
1904
  id: this._instanceId
1888
1905
  }), {
1889
1906
  F: __dxlog_file10,
1890
- L: 92,
1907
+ L: 94,
1891
1908
  S: this,
1892
1909
  C: (f, a) => f(...a)
1893
1910
  });
@@ -1895,7 +1912,7 @@ var SpaceManager = class {
1895
1912
  spaceKey: metadata.genesisFeedKey
1896
1913
  }, {
1897
1914
  F: __dxlog_file10,
1898
- L: 93,
1915
+ L: 95,
1899
1916
  S: this,
1900
1917
  C: (f, a) => f(...a)
1901
1918
  });
@@ -1918,14 +1935,15 @@ var SpaceManager = class {
1918
1935
  metadataStore: this._metadataStore,
1919
1936
  snapshotManager,
1920
1937
  memberKey,
1921
- onDelegatedInvitationStatusChange
1938
+ onDelegatedInvitationStatusChange,
1939
+ onMemberRolesChanged
1922
1940
  });
1923
1941
  this._spaces.set(space.key, space);
1924
1942
  import_log9.log.trace("dxos.echo.space-manager.construct-space", import_protocols6.trace.end({
1925
1943
  id: this._instanceId
1926
1944
  }), {
1927
1945
  F: __dxlog_file10,
1928
- L: 121,
1946
+ L: 124,
1929
1947
  S: this,
1930
1948
  C: (f, a) => f(...a)
1931
1949
  });
@@ -1965,4 +1983,4 @@ SpaceManager = _ts_decorate7([
1965
1983
  startAfter,
1966
1984
  valueEncoding
1967
1985
  });
1968
- //# sourceMappingURL=chunk-P7L7ICAH.cjs.map
1986
+ //# sourceMappingURL=chunk-6733E3WM.cjs.map