mindoodb 0.0.60 → 0.0.63

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 (66) hide show
  1. package/README-server.md +13 -3
  2. package/README.md +1 -0
  3. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts.map +1 -1
  4. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js +41 -5
  5. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js.map +1 -1
  6. package/dist/core/BaseMindooTenant.d.ts +9 -2
  7. package/dist/core/BaseMindooTenant.d.ts.map +1 -1
  8. package/dist/core/BaseMindooTenant.js +102 -11
  9. package/dist/core/BaseMindooTenant.js.map +1 -1
  10. package/dist/core/appendonlystores/network/IrohNetworkTransport.d.ts +29 -0
  11. package/dist/core/appendonlystores/network/IrohNetworkTransport.d.ts.map +1 -1
  12. package/dist/core/appendonlystores/network/IrohNetworkTransport.js +204 -25
  13. package/dist/core/appendonlystores/network/IrohNetworkTransport.js.map +1 -1
  14. package/dist/core/appendonlystores/network/IrohStreamIO.d.ts +30 -1
  15. package/dist/core/appendonlystores/network/IrohStreamIO.d.ts.map +1 -1
  16. package/dist/core/appendonlystores/network/IrohStreamIO.js +43 -11
  17. package/dist/core/appendonlystores/network/IrohStreamIO.js.map +1 -1
  18. package/dist/core/appendonlystores/syncStores.d.ts.map +1 -1
  19. package/dist/core/appendonlystores/syncStores.js +20 -3
  20. package/dist/core/appendonlystores/syncStores.js.map +1 -1
  21. package/dist/core/types.d.ts +21 -1
  22. package/dist/core/types.d.ts.map +1 -1
  23. package/dist/core/types.js.map +1 -1
  24. package/dist/iroh/index.d.ts +5 -1
  25. package/dist/iroh/index.d.ts.map +1 -1
  26. package/dist/iroh/index.js +4 -0
  27. package/dist/iroh/index.js.map +1 -1
  28. package/dist/iroh/node.d.ts +26 -0
  29. package/dist/iroh/node.d.ts.map +1 -0
  30. package/dist/iroh/node.js +27 -0
  31. package/dist/iroh/node.js.map +1 -0
  32. package/dist/node/server/IrohServerEndpoint.d.ts +5 -0
  33. package/dist/node/server/IrohServerEndpoint.d.ts.map +1 -1
  34. package/dist/node/server/IrohServerEndpoint.js +14 -104
  35. package/dist/node/server/IrohServerEndpoint.js.map +1 -1
  36. package/dist/node/server/IrohServerRpc.d.ts +57 -0
  37. package/dist/node/server/IrohServerRpc.d.ts.map +1 -1
  38. package/dist/node/server/IrohServerRpc.js +422 -5
  39. package/dist/node/server/IrohServerRpc.js.map +1 -1
  40. package/dist/node/server/MindooDBServer.d.ts +3 -0
  41. package/dist/node/server/MindooDBServer.d.ts.map +1 -1
  42. package/dist/node/server/MindooDBServer.js +36 -0
  43. package/dist/node/server/MindooDBServer.js.map +1 -1
  44. package/dist/node/server/nativeIrohStreamIO.d.ts +13 -0
  45. package/dist/node/server/nativeIrohStreamIO.d.ts.map +1 -0
  46. package/dist/node/server/nativeIrohStreamIO.js +259 -0
  47. package/dist/node/server/nativeIrohStreamIO.js.map +1 -0
  48. package/dist/node/server/peer/ClusterManager.d.ts +6 -0
  49. package/dist/node/server/peer/ClusterManager.d.ts.map +1 -1
  50. package/dist/node/server/peer/ClusterManager.js +1 -0
  51. package/dist/node/server/peer/ClusterManager.js.map +1 -1
  52. package/dist/node/server/peer/IrohPeerLink.d.ts +24 -0
  53. package/dist/node/server/peer/IrohPeerLink.d.ts.map +1 -0
  54. package/dist/node/server/peer/IrohPeerLink.js +115 -0
  55. package/dist/node/server/peer/IrohPeerLink.js.map +1 -0
  56. package/dist/node/server/peer/PeerReplicator.d.ts +9 -0
  57. package/dist/node/server/peer/PeerReplicator.d.ts.map +1 -1
  58. package/dist/node/server/peer/PeerReplicator.js +103 -6
  59. package/dist/node/server/peer/PeerReplicator.js.map +1 -1
  60. package/dist/node/server/types.d.ts +5 -3
  61. package/dist/node/server/types.d.ts.map +1 -1
  62. package/dist/node/server/types.js.map +1 -1
  63. package/package.json +7 -1
  64. package/scripts/iroh-live-test-server.mjs +30 -0
  65. package/scripts/iroh-live-test-server.ts +61 -0
  66. package/scripts/iroh-multistream-spike.mjs +113 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nativeIrohStreamIO.js","sourceRoot":"","sources":["../../../src/node/server/nativeIrohStreamIO.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@
11
11
  import { StoreKind, type ContentAddressedStore } from "../../../core/types";
12
12
  import { Logger } from "../../../core/logging";
13
13
  import type { CryptoAdapter } from "../../../core/crypto/CryptoAdapter";
14
+ import type { IrohStreamIO } from "../../../core/appendonlystores/network/IrohStreamIO";
14
15
  import type { TrustedServer } from "../types";
15
16
  import type { SyncEventBus } from "../SyncEventBus";
16
17
  import { PeerAuthService } from "./PeerAuthService";
@@ -43,6 +44,11 @@ export interface ClusterManagerDeps {
43
44
  getLocalStore(tenantId: string, dbId: string, storeKind: StoreKind): Promise<ContentAddressedStore>;
44
45
  /** This node's mesh role; `peer` unless config says hub or spoke. */
45
46
  localRole?: PeerRole;
47
+ /**
48
+ * Bound Iroh endpoint for outbound peer dials. `null` until Iroh is online
49
+ * (or when `iroh.enabled` is off). Replicators treat that as a reconnect.
50
+ */
51
+ getIrohStreamIO?: () => IrohStreamIO | null;
46
52
  logger?: Logger;
47
53
  }
48
54
  export declare class ClusterManager {
@@ -1 +1 @@
1
- {"version":3,"file":"ClusterManager.d.ts","sourceRoot":"","sources":["../../../../src/node/server/peer/ClusterManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ClusterManager.d.ts","sourceRoot":"","sources":["../../../../src/node/server/peer/ClusterManager.ts"],"names":[],"mappings":"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"}
@@ -78,6 +78,7 @@ class ClusterManager {
78
78
  listDatabases: (tenantId) => this.deps.listDatabases(tenantId),
79
79
  getLocalStore: (tenantId, dbId, storeKind) => this.deps.getLocalStore(tenantId, dbId, storeKind),
80
80
  eventBus: this.deps.eventBus,
81
+ getIrohStreamIO: this.deps.getIrohStreamIO,
81
82
  logger: this.logger,
82
83
  });
83
84
  this.replicators.set(name, replicator);
@@ -1 +1 @@
1
- {"version":3,"file":"ClusterManager.js","sourceRoot":"","sources":["../../../../src/node/server/peer/ClusterManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ClusterManager.js","sourceRoot":"","sources":["../../../../src/node/server/peer/ClusterManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * One QUIC connection to a trusted Iroh peer: control-plane RPCs and the
3
+ * change feed share the handshake; each in-flight call still owns its stream.
4
+ */
5
+ import { type IrohByteStream, type IrohRpcContext, type IrohStreamIO } from "../../../core/appendonlystores/network/IrohStreamIO";
6
+ import type { SyncChangeEvent } from "../SyncEventBus";
7
+ export declare class IrohPeerLink {
8
+ private readonly io;
9
+ private readonly ticket;
10
+ private connection;
11
+ private nextId;
12
+ constructor(io: IrohStreamIO, ticket: string);
13
+ private ensureConnection;
14
+ rpc(method: string, args: unknown[], ctx?: IrohRpcContext): Promise<unknown>;
15
+ /**
16
+ * IO view that reuses this link's connection so
17
+ * {@link IrohNetworkTransport} does not open a second handshake.
18
+ */
19
+ asStreamIO(): IrohStreamIO;
20
+ subscribeEvents(token: string, onEvent: (event: SyncChangeEvent) => void, signal: AbortSignal): Promise<void>;
21
+ close(): Promise<void>;
22
+ }
23
+ export type { IrohByteStream };
24
+ //# sourceMappingURL=IrohPeerLink.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IrohPeerLink.d.ts","sourceRoot":"","sources":["../../../../src/node/server/peer/IrohPeerLink.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAIL,KAAK,cAAc,EAEnB,KAAK,cAAc,EAEnB,KAAK,YAAY,EAClB,MAAM,qDAAqD,CAAC;AAI7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,qBAAa,YAAY;IAKrB,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,MAAM,CAAK;gBAGA,EAAE,EAAE,YAAY,EAChB,MAAM,EAAE,MAAM;YAGnB,gBAAgB;IAUxB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAUlF;;;OAGG;IACH,UAAU,IAAI,YAAY;IAWpB,eAAe,CACnB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,EACzC,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC;IA4CV,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAO7B;AAkBD,YAAY,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ /**
3
+ * One QUIC connection to a trusted Iroh peer: control-plane RPCs and the
4
+ * change feed share the handshake; each in-flight call still owns its stream.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.IrohPeerLink = void 0;
8
+ const IrohStreamIO_1 = require("../../../core/appendonlystores/network/IrohStreamIO");
9
+ const IrohNetworkTransport_1 = require("../../../core/appendonlystores/network/IrohNetworkTransport");
10
+ const types_1 = require("../../../core/appendonlystores/network/types");
11
+ const IrohServerRpc_1 = require("../IrohServerRpc");
12
+ class IrohPeerLink {
13
+ constructor(io, ticket) {
14
+ this.io = io;
15
+ this.ticket = ticket;
16
+ this.connection = null;
17
+ this.nextId = 1;
18
+ }
19
+ async ensureConnection() {
20
+ if (!this.io.openConnection) {
21
+ throw new Error("Iroh peer mesh requires IrohStreamIO.openConnection()");
22
+ }
23
+ if (!this.connection) {
24
+ this.connection = this.io.openConnection(this.ticket, IrohStreamIO_1.MINDOODB_IROH_ALPN);
25
+ }
26
+ return this.connection;
27
+ }
28
+ async rpc(method, args, ctx) {
29
+ const connection = await this.ensureConnection();
30
+ const stream = await connection.openStream();
31
+ try {
32
+ return await (0, IrohNetworkTransport_1.rpcCall)(stream, method, args, this.nextId++, ctx);
33
+ }
34
+ finally {
35
+ await stream.close();
36
+ }
37
+ }
38
+ /**
39
+ * IO view that reuses this link's connection so
40
+ * {@link IrohNetworkTransport} does not open a second handshake.
41
+ */
42
+ asStreamIO() {
43
+ return {
44
+ getLocalTicket: () => this.io.getLocalTicket(),
45
+ connect: async () => {
46
+ const connection = await this.ensureConnection();
47
+ return connection.openStream();
48
+ },
49
+ openConnection: () => this.ensureConnection(),
50
+ };
51
+ }
52
+ async subscribeEvents(token, onEvent, signal) {
53
+ const connection = await this.ensureConnection();
54
+ const stream = await connection.openStream();
55
+ const onAbort = () => {
56
+ void stream.close();
57
+ };
58
+ if (signal.aborted) {
59
+ await stream.close();
60
+ return;
61
+ }
62
+ signal.addEventListener("abort", onAbort, { once: true });
63
+ try {
64
+ await stream.send((0, IrohStreamIO_1.encodeIrohFrame)({
65
+ id: this.nextId++,
66
+ method: "peer.subscribeEvents",
67
+ args: [token],
68
+ }));
69
+ const ackBytes = await stream.recv();
70
+ if (!ackBytes) {
71
+ throw new types_1.NetworkError(types_1.NetworkErrorType.NETWORK_ERROR, "Iroh stream closed");
72
+ }
73
+ const ack = (0, IrohStreamIO_1.decodeIrohFrame)(ackBytes);
74
+ if (!ack.ok) {
75
+ throw new types_1.NetworkError(types_1.NetworkErrorType.NETWORK_ERROR, ack.error ?? "Iroh RPC failed");
76
+ }
77
+ while (!signal.aborted) {
78
+ const bytes = await stream.recv();
79
+ if (!bytes) {
80
+ return;
81
+ }
82
+ const frame = (0, IrohStreamIO_1.decodeIrohFrame)(bytes);
83
+ if (isHeartbeat(frame) || !isPeerChangeEvent(frame)) {
84
+ continue;
85
+ }
86
+ onEvent(frame);
87
+ }
88
+ }
89
+ finally {
90
+ signal.removeEventListener("abort", onAbort);
91
+ await stream.close();
92
+ }
93
+ }
94
+ async close() {
95
+ const pending = this.connection;
96
+ this.connection = null;
97
+ if (pending) {
98
+ await (await pending).close();
99
+ }
100
+ }
101
+ }
102
+ exports.IrohPeerLink = IrohPeerLink;
103
+ function isHeartbeat(value) {
104
+ return Boolean(value &&
105
+ typeof value === "object" &&
106
+ value.type === IrohServerRpc_1.IROH_CHANGE_FEED_HEARTBEAT.type);
107
+ }
108
+ function isPeerChangeEvent(value) {
109
+ if (!value || typeof value !== "object") {
110
+ return false;
111
+ }
112
+ const event = value;
113
+ return typeof event.tenantId === "string" && typeof event.dbId === "string";
114
+ }
115
+ //# sourceMappingURL=IrohPeerLink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IrohPeerLink.js","sourceRoot":"","sources":["../../../../src/node/server/peer/IrohPeerLink.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,sFAS6D;AAC7D,sGAAsF;AACtF,wEAA8F;AAC9F,oDAA8D;AAG9D,MAAa,YAAY;IAIvB,YACmB,EAAgB,EAChB,MAAc;QADd,OAAE,GAAF,EAAE,CAAc;QAChB,WAAM,GAAN,MAAM,CAAQ;QALzB,eAAU,GAAyC,IAAI,CAAC;QACxD,WAAM,GAAG,CAAC,CAAC;IAKhB,CAAC;IAEI,KAAK,CAAC,gBAAgB;QAC5B,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,iCAAkB,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,MAAc,EAAE,IAAe,EAAE,GAAoB;QAC7D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;QAC7C,IAAI,CAAC;YACH,OAAO,MAAM,IAAA,8BAAO,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC;QACjE,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,UAAU;QACR,OAAO;YACL,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE;YAC9C,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACjD,OAAO,UAAU,CAAC,UAAU,EAAE,CAAC;YACjC,CAAC;YACD,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE;SAC9C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,KAAa,EACb,OAAyC,EACzC,MAAmB;QAEnB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;QAC7C,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC,CAAC;QACF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QACD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CACf,IAAA,8BAAe,EAAC;gBACd,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE;gBACjB,MAAM,EAAE,sBAAsB;gBAC9B,IAAI,EAAE,CAAC,KAAK,CAAC;aACd,CAAC,CACH,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YACrC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,oBAAY,CAAC,wBAAgB,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC;YAC/E,CAAC;YACD,MAAM,GAAG,GAAG,IAAA,8BAAe,EAAC,QAAQ,CAAoB,CAAC;YACzD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,IAAI,oBAAY,CAAC,wBAAgB,CAAC,aAAa,EAAE,GAAG,CAAC,KAAK,IAAI,iBAAiB,CAAC,CAAC;YACzF,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACvB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAClC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO;gBACT,CAAC;gBACD,MAAM,KAAK,GAAG,IAAA,8BAAe,EAAC,KAAK,CAAC,CAAC;gBACrC,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;oBACpD,SAAS;gBACX,CAAC;gBACD,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC7C,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,CAAC,MAAM,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;QAChC,CAAC;IACH,CAAC;CACF;AAnGD,oCAmGC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,OAAO,CACZ,KAAK;QACH,OAAO,KAAK,KAAK,QAAQ;QACxB,KAA2B,CAAC,IAAI,KAAK,0CAA0B,CAAC,IAAI,CACxE,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAG,KAAwB,CAAC;IACvC,OAAO,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;AAC9E,CAAC"}
@@ -29,6 +29,7 @@
29
29
  * 3. **Receipts are preserved, not re-stamped.** Enforced on the receiving side
30
30
  * in `ServerNetworkContentAddressedStore`; this side just transports.
31
31
  */
32
+ import type { IrohStreamIO } from "../../../core/appendonlystores/network/IrohStreamIO";
32
33
  import { StoreKind, type ContentAddressedStore } from "../../../core/types";
33
34
  import type { CryptoAdapter } from "../../../core/crypto/CryptoAdapter";
34
35
  import { Logger } from "../../../core/logging";
@@ -55,6 +56,8 @@ export interface PeerReplicatorHost {
55
56
  /** Local store for a (tenant, db, kind) triple, created on demand. */
56
57
  getLocalStore(tenantId: string, dbId: string, storeKind: StoreKind): Promise<ContentAddressedStore>;
57
58
  eventBus: SyncEventBus;
59
+ /** Bound Iroh endpoint for `iroh:` peer urls. Missing / null → reconnect. */
60
+ getIrohStreamIO?: () => IrohStreamIO | null;
58
61
  logger?: Logger;
59
62
  }
60
63
  export interface PeerSyncScope {
@@ -98,6 +101,7 @@ export declare class PeerReplicator {
98
101
  private reconnectTimer;
99
102
  private reconnectAttempt;
100
103
  private sseAbort;
104
+ private irohLink;
101
105
  private unsubscribeBus;
102
106
  private lastError;
103
107
  private lastErrorClass;
@@ -127,7 +131,10 @@ export declare class PeerReplicator {
127
131
  private scheduleReconnect;
128
132
  private ensureToken;
129
133
  private authenticate;
134
+ private isIrohPeer;
135
+ private getIrohLink;
130
136
  private peerFetch;
137
+ private irohPeerFetch;
131
138
  /**
132
139
  * Recompute the set of tenants both servers host.
133
140
  *
@@ -200,7 +207,9 @@ export declare class PeerReplicator {
200
207
  private flushScopes;
201
208
  private startEventStream;
202
209
  private consumeEventStream;
210
+ private consumeIrohEventStream;
203
211
  private handleEventFrame;
212
+ private handleChangeEvent;
204
213
  private recordError;
205
214
  /**
206
215
  * Status snapshot for `GET /system/cluster/status`.
@@ -1 +1 @@
1
- {"version":3,"file":"PeerReplicator.d.ts","sourceRoot":"","sources":["../../../../src/node/server/peer/PeerReplicator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAIH,OAAO,EAAE,SAAS,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,MAAM,EAAoC,MAAM,uBAAuB,CAAC;AAQjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAmB,MAAM,iBAAiB,CAAC;AACrE,OAAO,EASL,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EAEtB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EAExB,KAAK,QAAQ,EAEd,MAAM,SAAS,CAAC;AAEjB,yEAAyE;AACzE,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,gFAAgF;IAChF,eAAe,EAAE,MAAM,CAAC;IACxB,yEAAyE;IACzE,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qFAAqF;IACrF,SAAS,EAAE,QAAQ,CAAC;IACpB,mDAAmD;IACnD,aAAa,IAAI,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAChD,4DAA4D;IAC5D,gBAAgB,IAAI,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IACnD,iCAAiC;IACjC,WAAW,IAAI,MAAM,EAAE,CAAC;IACxB,8CAA8C;IAC9C,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1C,sEAAsE;IACtE,aAAa,CACX,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAClC,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAwBD,qBAAa,cAAc;IACzB,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,IAAI,CAAW;IACvB,OAAO,CAAC,WAAW,CAAqB;IAExC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAmC;IACvD,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,YAAY,CAAgC;IAEpD,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,gBAAgB,CAAK;IAE7B,OAAO,CAAC,YAAY,CAA2C;IAC/D,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,QAAQ,CAAgC;IAChD,OAAO,CAAC,cAAc,CAA6B;IAEnD,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,UAAU,CAAuB;IAEzC;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2C;gBAEvD,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB;IAYzD,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,GAAG,IAAI,MAAM,GAAG,SAAS,CAE5B;IAED,6EAA6E;IAC7E,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAWrC,8DAA8D;IAC9D,aAAa,IAAI,mBAAmB;IAWpC,KAAK,IAAI,IAAI;IAiCP,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB3B,KAAK,IAAI,IAAI;IAQb,MAAM,IAAI,IAAI;YAQA,SAAS;IAavB,OAAO,CAAC,iBAAiB;YAiBX,WAAW;YAWX,YAAY;YA4CZ,SAAS;IAsCvB;;;;;;;;;OASG;IACG,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAsC9C;;;;;;OAMG;IACG,OAAO,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAQhE;;;;;;OAMG;IACG,aAAa,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,iBAAiB,CAAC;YAIxD,OAAO;IAqFrB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAE,UAAU;IAiBnB;;;;;;OAMG;YACW,YAAY;YAeZ,aAAa;IAkE3B;;;;;;OAMG;YACW,QAAQ;YAmCR,iBAAiB;IA0C/B,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,aAAa;IAoBrB;;;;;;OAMG;YACW,WAAW;IAazB,OAAO,CAAC,gBAAgB;YAeV,kBAAkB;IA4ChC,OAAO,CAAC,gBAAgB;IAwCxB,OAAO,CAAC,WAAW;IAYnB;;;;;;OAMG;IACH,QAAQ,IAAI,iBAAiB;IA4B7B,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI;IAK5D,OAAO,CAAC,YAAY;IAkBpB,8EAA8E;IAC9E,OAAO,CAAC,gBAAgB;CAkBzB;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,mBAAmB,EAAE,EAC9B,YAAY,GAAE,mBAAmB,EAAO,GACvC;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,mBAAmB,EAAE,CAAA;CAAE,CAsB3D"}
1
+ {"version":3,"file":"PeerReplicator.d.ts","sourceRoot":"","sources":["../../../../src/node/server/peer/PeerReplicator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qDAAqD,CAAC;AACxF,OAAO,EAAE,SAAS,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAG5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,MAAM,EAAoC,MAAM,uBAAuB,CAAC;AAQjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAmB,MAAM,iBAAiB,CAAC;AACrE,OAAO,EASL,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EAEtB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EAExB,KAAK,QAAQ,EAEd,MAAM,SAAS,CAAC;AAEjB,yEAAyE;AACzE,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,gFAAgF;IAChF,eAAe,EAAE,MAAM,CAAC;IACxB,yEAAyE;IACzE,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qFAAqF;IACrF,SAAS,EAAE,QAAQ,CAAC;IACpB,mDAAmD;IACnD,aAAa,IAAI,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAChD,4DAA4D;IAC5D,gBAAgB,IAAI,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IACnD,iCAAiC;IACjC,WAAW,IAAI,MAAM,EAAE,CAAC;IACxB,8CAA8C;IAC9C,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1C,sEAAsE;IACtE,aAAa,CACX,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAClC,QAAQ,EAAE,YAAY,CAAC;IACvB,6EAA6E;IAC7E,eAAe,CAAC,EAAE,MAAM,YAAY,GAAG,IAAI,CAAC;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAwBD,qBAAa,cAAc;IACzB,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,IAAI,CAAW;IACvB,OAAO,CAAC,WAAW,CAAqB;IAExC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAmC;IACvD,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,YAAY,CAAgC;IAEpD,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,gBAAgB,CAAK;IAE7B,OAAO,CAAC,YAAY,CAA2C;IAC/D,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,QAAQ,CAAgC;IAChD,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,cAAc,CAA6B;IAEnD,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,UAAU,CAAuB;IAEzC;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2C;gBAEvD,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB;IAYzD,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,GAAG,IAAI,MAAM,GAAG,SAAS,CAE5B;IAED,6EAA6E;IAC7E,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAarC,8DAA8D;IAC9D,aAAa,IAAI,mBAAmB;IAWpC,KAAK,IAAI,IAAI;IAiCP,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAuB3B,KAAK,IAAI,IAAI;IAQb,MAAM,IAAI,IAAI;YAQA,SAAS;IAavB,OAAO,CAAC,iBAAiB;YAiBX,WAAW;YAWX,YAAY;IA4C1B,OAAO,CAAC,UAAU;YAIJ,WAAW;YAoBX,SAAS;YAuCT,aAAa;IA6C3B;;;;;;;;;OASG;IACG,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAsC9C;;;;;;OAMG;IACG,OAAO,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAQhE;;;;;;OAMG;IACG,aAAa,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,iBAAiB,CAAC;YAIxD,OAAO;IAqFrB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAE,UAAU;IAiBnB;;;;;;OAMG;YACW,YAAY;YAeZ,aAAa;IAkE3B;;;;;;OAMG;YACW,QAAQ;YAmCR,iBAAiB;IAgD/B,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,aAAa;IAoBrB;;;;;;OAMG;YACW,WAAW;IAazB,OAAO,CAAC,gBAAgB;YAeV,kBAAkB;YAgDlB,sBAAsB;IAoBpC,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,iBAAiB;IA6BzB,OAAO,CAAC,WAAW;IAYnB;;;;;;OAMG;IACH,QAAQ,IAAI,iBAAiB;IA4B7B,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI;IAK5D,OAAO,CAAC,YAAY;IAkBpB,8EAA8E;IAC9E,OAAO,CAAC,gBAAgB;CAkBzB;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,mBAAmB,EAAE,EAC9B,YAAY,GAAE,mBAAmB,EAAO,GACvC;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,mBAAmB,EAAE,CAAA;CAAE,CAsB3D"}
@@ -35,8 +35,11 @@ exports.PeerReplicator = void 0;
35
35
  exports.rollUpHealth = rollUpHealth;
36
36
  const HttpTransport_1 = require("../../../appendonlystores/network/HttpTransport");
37
37
  const ClientNetworkContentAddressedStore_1 = require("../../../appendonlystores/network/ClientNetworkContentAddressedStore");
38
+ const IrohNetworkTransport_1 = require("../../../core/appendonlystores/network/IrohNetworkTransport");
39
+ const irohLocator_1 = require("../../../core/appendonlystores/network/irohLocator");
38
40
  const types_1 = require("../../../core/types");
39
41
  const types_2 = require("../../../core/appendonlystores/network/types");
42
+ const IrohPeerLink_1 = require("./IrohPeerLink");
40
43
  const logging_1 = require("../../../core/logging");
41
44
  const bloom_1 = require("../../../core/appendonlystores/bloom");
42
45
  const syncStores_1 = require("../../../core/appendonlystores/syncStores");
@@ -69,6 +72,7 @@ class PeerReplicator {
69
72
  this.reconnectTimer = null;
70
73
  this.reconnectAttempt = 0;
71
74
  this.sseAbort = null;
75
+ this.irohLink = null;
72
76
  this.unsubscribeBus = null;
73
77
  this.lastError = null;
74
78
  this.lastErrorClass = null;
@@ -109,6 +113,8 @@ class PeerReplicator {
109
113
  // Identity or endpoint may have changed; force a fresh session.
110
114
  this.token = null;
111
115
  this.tokenIssuedAt = 0;
116
+ void this.irohLink?.close();
117
+ this.irohLink = null;
112
118
  }
113
119
  /** Roles and endpoint, for `GET /system/cluster/topology`. */
114
120
  topologyEntry() {
@@ -167,6 +173,8 @@ class PeerReplicator {
167
173
  this.sseAbort?.abort();
168
174
  this.sseAbort = null;
169
175
  this.eventsConnected = false;
176
+ void this.irohLink?.close();
177
+ this.irohLink = null;
170
178
  this.sessionState = "disabled";
171
179
  try {
172
180
  await this.syncInFlight;
@@ -263,10 +271,31 @@ class PeerReplicator {
263
271
  this.sessionState = "connected";
264
272
  return this.token;
265
273
  }
274
+ isIrohPeer() {
275
+ return typeof this.peer.url === "string" && (0, irohLocator_1.isIrohLocator)(this.peer.url);
276
+ }
277
+ async getIrohLink() {
278
+ if (this.irohLink) {
279
+ return this.irohLink;
280
+ }
281
+ const io = this.host.getIrohStreamIO?.() ?? null;
282
+ if (!io) {
283
+ throw new Error(`Iroh peer ${this.peer.name} requires iroh.enabled and a ready Iroh endpoint`);
284
+ }
285
+ const parsed = (0, irohLocator_1.parseIrohLocator)(this.peer.url);
286
+ if (!parsed.ticket) {
287
+ throw new Error(`Iroh peer ${this.peer.name} url is an endpoint id only; store a full ticket to dial`);
288
+ }
289
+ this.irohLink = new IrohPeerLink_1.IrohPeerLink(io, parsed.ticket);
290
+ return this.irohLink;
291
+ }
266
292
  async peerFetch(path, init = {}) {
267
293
  const base = this.peer.url;
268
294
  if (!base)
269
295
  throw new Error(`Peer ${this.peer.name} has no url`);
296
+ if (this.isIrohPeer()) {
297
+ return this.irohPeerFetch(path, init);
298
+ }
270
299
  const headers = { "Content-Type": "application/json" };
271
300
  if (init.authenticated !== false) {
272
301
  headers.Authorization = `Bearer ${await this.ensureToken()}`;
@@ -288,6 +317,41 @@ class PeerReplicator {
288
317
  }
289
318
  return response.json();
290
319
  }
320
+ async irohPeerFetch(path, init) {
321
+ const link = await this.getIrohLink();
322
+ const body = (init.body ?? {});
323
+ try {
324
+ if (path === "/system/peer/challenge") {
325
+ return await link.rpc("peer.challenge", [body.publicsignkey]);
326
+ }
327
+ if (path === "/system/peer/authenticate") {
328
+ const signature = body.signature;
329
+ const bytes = signature instanceof Uint8Array
330
+ ? signature
331
+ : new Uint8Array(Buffer.from(String(signature ?? ""), "base64"));
332
+ return await link.rpc("peer.authenticate", [body.challenge, bytes]);
333
+ }
334
+ const token = init.authenticated !== false ? await this.ensureToken() : "";
335
+ if (path === "/system/peer/tenant-bloom") {
336
+ return await link.rpc("peer.tenantBloom", [token, body.bloom]);
337
+ }
338
+ if (path.startsWith("/system/peer/databases")) {
339
+ const tenantId = new URL(`http://peer${path}`).searchParams.get("tenantId") ?? "";
340
+ return await link.rpc("peer.listDatabases", [token, tenantId]);
341
+ }
342
+ if (path === "/system/peer/sync") {
343
+ return await link.rpc("peer.sync", [token, body]);
344
+ }
345
+ throw new Error(`No Iroh mapping for ${path}`);
346
+ }
347
+ catch (error) {
348
+ const message = error instanceof Error ? error.message : String(error);
349
+ if (/Invalid or expired peer token|Unknown peer|Authentication failed/i.test(message)) {
350
+ this.token = null;
351
+ }
352
+ throw new Error(`Peer ${this.peer.name} ${path} failed: ${message}`);
353
+ }
354
+ }
291
355
  // ----------------------------------------------------------- intersection
292
356
  /**
293
357
  * Recompute the set of tenants both servers host.
@@ -583,12 +647,18 @@ class PeerReplicator {
583
647
  // sync under `/:tenantId/sync/*`. Passing the bare server url — as the old
584
648
  // per-tenant ServerSync did — makes every request land on `/sync/...`,
585
649
  // where Express reads "sync" as the tenant id and answers 404.
586
- const transport = new HttpTransport_1.HttpTransport({
587
- baseUrl: `${this.peer.url.replace(/\/$/, "")}/${encodeURIComponent(tenantId)}`,
588
- tenantId,
589
- dbId,
590
- storeKind,
591
- });
650
+ const transport = this.isIrohPeer()
651
+ ? new IrohNetworkTransport_1.IrohNetworkTransport((await this.getIrohLink()).asStreamIO(), (0, irohLocator_1.parseIrohLocator)(this.peer.url).ticket, {
652
+ tenantId,
653
+ dbId,
654
+ storeKind,
655
+ })
656
+ : new HttpTransport_1.HttpTransport({
657
+ baseUrl: `${this.peer.url.replace(/\/$/, "")}/${encodeURIComponent(tenantId)}`,
658
+ tenantId,
659
+ dbId,
660
+ storeKind,
661
+ });
592
662
  const store = new ClientNetworkContentAddressedStore_1.ClientNetworkContentAddressedStore(dbId, storeKind, transport, this.host.cryptoAdapter, this.host.localServerName, signingKey, encryptionKey, this.logger);
593
663
  // The tenant handshake would fail: a peer holds no per-tenant grant. It
594
664
  // carries the cluster-level peer token instead.
@@ -667,6 +737,10 @@ class PeerReplicator {
667
737
  });
668
738
  }
669
739
  async consumeEventStream(controller) {
740
+ if (this.isIrohPeer()) {
741
+ await this.consumeIrohEventStream(controller);
742
+ return;
743
+ }
670
744
  const base = this.peer.url;
671
745
  const token = await this.ensureToken();
672
746
  const response = await fetch(`${base.replace(/\/$/, "")}/system/peer/events`, {
@@ -706,6 +780,26 @@ class PeerReplicator {
706
780
  }
707
781
  }
708
782
  }
783
+ async consumeIrohEventStream(controller) {
784
+ const link = await this.getIrohLink();
785
+ const token = await this.ensureToken();
786
+ this.sessionState = "connected";
787
+ this.eventsConnected = true;
788
+ this.reconnectAttempt = 0;
789
+ try {
790
+ await link.subscribeEvents(token, (event) => this.handleChangeEvent(event), controller.signal);
791
+ }
792
+ finally {
793
+ if (this.sseAbort === controller) {
794
+ this.sseAbort = null;
795
+ this.eventsConnected = false;
796
+ if (this.running && !this.paused && !controller.signal.aborted) {
797
+ void this.syncNow().catch(() => undefined);
798
+ this.scheduleReconnect();
799
+ }
800
+ }
801
+ }
802
+ }
709
803
  handleEventFrame(frame) {
710
804
  const dataLine = frame
711
805
  .split("\n")
@@ -719,6 +813,9 @@ class PeerReplicator {
719
813
  catch {
720
814
  return;
721
815
  }
816
+ this.handleChangeEvent(event);
817
+ }
818
+ handleChangeEvent(event) {
722
819
  if (!event.tenantId || !event.dbId)
723
820
  return;
724
821
  if (!this.intersection.includes(event.tenantId))