mindoodb 0.0.64 → 0.0.66

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 (54) hide show
  1. package/dist/browser/index.mjs +11 -0
  2. package/dist/core/BaseMindooDB.d.ts +19 -0
  3. package/dist/core/BaseMindooDB.d.ts.map +1 -1
  4. package/dist/core/BaseMindooDB.js +607 -323
  5. package/dist/core/BaseMindooDB.js.map +1 -1
  6. package/dist/core/accesscontrol/tier1Evaluator.d.ts +59 -0
  7. package/dist/core/accesscontrol/tier1Evaluator.d.ts.map +1 -0
  8. package/dist/core/accesscontrol/tier1Evaluator.js +77 -0
  9. package/dist/core/accesscontrol/tier1Evaluator.js.map +1 -0
  10. package/dist/core/appendonlystores/network/IrohNetworkTransport.d.ts +58 -5
  11. package/dist/core/appendonlystores/network/IrohNetworkTransport.d.ts.map +1 -1
  12. package/dist/core/appendonlystores/network/IrohNetworkTransport.js +77 -8
  13. package/dist/core/appendonlystores/network/IrohNetworkTransport.js.map +1 -1
  14. package/dist/core/appendonlystores/network/IrohStreamIO.d.ts +32 -10
  15. package/dist/core/appendonlystores/network/IrohStreamIO.d.ts.map +1 -1
  16. package/dist/core/appendonlystores/network/IrohStreamIO.js +26 -10
  17. package/dist/core/appendonlystores/network/IrohStreamIO.js.map +1 -1
  18. package/dist/core/appendonlystores/network/irohLocator.d.ts +16 -0
  19. package/dist/core/appendonlystores/network/irohLocator.d.ts.map +1 -1
  20. package/dist/core/appendonlystores/network/irohLocator.js +36 -0
  21. package/dist/core/appendonlystores/network/irohLocator.js.map +1 -1
  22. package/dist/core/builtinDbInvariants.d.ts +12 -6
  23. package/dist/core/builtinDbInvariants.d.ts.map +1 -1
  24. package/dist/core/builtinDbInvariants.js +7 -1
  25. package/dist/core/builtinDbInvariants.js.map +1 -1
  26. package/dist/core/index.d.ts +6 -3
  27. package/dist/core/index.d.ts.map +1 -1
  28. package/dist/core/index.js +27 -11
  29. package/dist/core/index.js.map +1 -1
  30. package/dist/core/peerdevices/PeerDeviceDocument.d.ts +144 -0
  31. package/dist/core/peerdevices/PeerDeviceDocument.d.ts.map +1 -0
  32. package/dist/core/peerdevices/PeerDeviceDocument.js +209 -0
  33. package/dist/core/peerdevices/PeerDeviceDocument.js.map +1 -0
  34. package/dist/core/types.d.ts +15 -0
  35. package/dist/core/types.d.ts.map +1 -1
  36. package/dist/core/userkeys/UserKeyManager.d.ts.map +1 -1
  37. package/dist/core/userkeys/UserKeyManager.js +11 -1
  38. package/dist/core/userkeys/UserKeyManager.js.map +1 -1
  39. package/dist/core/userkeys/fingerprint.d.ts +12 -4
  40. package/dist/core/userkeys/fingerprint.d.ts.map +1 -1
  41. package/dist/core/userkeys/fingerprint.js +14 -5
  42. package/dist/core/userkeys/fingerprint.js.map +1 -1
  43. package/dist/iroh/index.d.ts +3 -2
  44. package/dist/iroh/index.d.ts.map +1 -1
  45. package/dist/iroh/index.js +8 -1
  46. package/dist/iroh/index.js.map +1 -1
  47. package/dist/node/server/TenantManager.d.ts +5 -0
  48. package/dist/node/server/TenantManager.d.ts.map +1 -1
  49. package/dist/node/server/TenantManager.js +35 -56
  50. package/dist/node/server/TenantManager.js.map +1 -1
  51. package/dist/node/server/nativeIrohStreamIO.d.ts.map +1 -1
  52. package/dist/node/server/nativeIrohStreamIO.js +17 -4
  53. package/dist/node/server/nativeIrohStreamIO.js.map +1 -1
  54. package/package.json +1 -1
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Building a Tier 1 gate out of a tenant directory.
3
+ *
4
+ * Tier 1 (docs/accesscontrol.md §7) is the identity tier: who signed, which
5
+ * database, which operation. A witness — normally the server — evaluates it at
6
+ * the moment it accepts an entry and stamps that verdict into the receipt, and
7
+ * receivers then trust the receipt instead of re-deciding (§ Scenario C).
8
+ *
9
+ * That leaves a gap wherever entries arrive **without** passing a witness. A
10
+ * peer-to-peer sync is exactly that case: the entries carry no receipt, and
11
+ * `validateWitnessReceipt` reads "no receipt" as "purely local, nothing to
12
+ * check". Whoever accepts such entries has to evaluate Tier 1 themselves, or
13
+ * nobody ever does — hence this being shared rather than private to the
14
+ * server.
15
+ */
16
+ import type { ContentAddressedStore } from "../appendonlystores/types";
17
+ import type { StoreEntry } from "../types";
18
+ import type { AccessDecision } from "./types";
19
+ /**
20
+ * Decides whether one entry may be written to one database.
21
+ *
22
+ * Kept as a callback so callers stay decoupled from the directory
23
+ * implementation and can be unit-tested with a stub.
24
+ */
25
+ export type Tier1Evaluator = (entry: StoreEntry, dbid: string) => Promise<AccessDecision>;
26
+ /**
27
+ * The directory surface a Tier 1 evaluation needs. Structural on purpose: the
28
+ * server and the browser reach their directory by different routes, and an
29
+ * older directory may not answer at all (see the `undefined` return below).
30
+ */
31
+ export interface Tier1Directory {
32
+ evaluateAccessForSigningKey?(input: {
33
+ op: string;
34
+ dbid: string;
35
+ signingKey: string;
36
+ trustedTime: number;
37
+ isAuthor: boolean;
38
+ }): Promise<AccessDecision>;
39
+ isSamePerson?(input: {
40
+ creatorSigningKey: string;
41
+ signerSigningKey: string;
42
+ creatorTrustedTime: number;
43
+ signerTrustedTime: number;
44
+ }): Promise<boolean>;
45
+ }
46
+ /**
47
+ * Builds the gate, or returns `undefined` when this directory cannot decide
48
+ * Tier 1 at all.
49
+ *
50
+ * Note what `undefined` means for a caller: there is no verdict, not an
51
+ * approval. A caller that must not admit unchecked entries has to treat it as
52
+ * a refusal — see the peer listener, which does.
53
+ *
54
+ * `localStore` is needed only to resolve `$author`: authorship is a property
55
+ * of the document's `doc_create`, so a later change has to be traced back to
56
+ * it.
57
+ */
58
+ export declare function buildTier1Evaluator(directory: Tier1Directory, localStore: Pick<ContentAddressedStore, "findNewEntriesForDoc">): Tier1Evaluator | undefined;
59
+ //# sourceMappingURL=tier1Evaluator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tier1Evaluator.d.ts","sourceRoot":"","sources":["../../../src/core/accesscontrol/tier1Evaluator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,CAC3B,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,MAAM,KACT,OAAO,CAAC,cAAc,CAAC,CAAC;AAE7B;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,2BAA2B,CAAC,CAAC,KAAK,EAAE;QAClC,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,OAAO,CAAC;KACnB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAC5B,YAAY,CAAC,CAAC,KAAK,EAAE;QACnB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,gBAAgB,EAAE,MAAM,CAAC;QACzB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,iBAAiB,EAAE,MAAM,CAAC;KAC3B,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACtB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,cAAc,EACzB,UAAU,EAAE,IAAI,CAAC,qBAAqB,EAAE,sBAAsB,CAAC,GAC9D,cAAc,GAAG,SAAS,CAoD5B"}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ /**
3
+ * Building a Tier 1 gate out of a tenant directory.
4
+ *
5
+ * Tier 1 (docs/accesscontrol.md §7) is the identity tier: who signed, which
6
+ * database, which operation. A witness — normally the server — evaluates it at
7
+ * the moment it accepts an entry and stamps that verdict into the receipt, and
8
+ * receivers then trust the receipt instead of re-deciding (§ Scenario C).
9
+ *
10
+ * That leaves a gap wherever entries arrive **without** passing a witness. A
11
+ * peer-to-peer sync is exactly that case: the entries carry no receipt, and
12
+ * `validateWitnessReceipt` reads "no receipt" as "purely local, nothing to
13
+ * check". Whoever accepts such entries has to evaluate Tier 1 themselves, or
14
+ * nobody ever does — hence this being shared rather than private to the
15
+ * server.
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.buildTier1Evaluator = buildTier1Evaluator;
19
+ /**
20
+ * Builds the gate, or returns `undefined` when this directory cannot decide
21
+ * Tier 1 at all.
22
+ *
23
+ * Note what `undefined` means for a caller: there is no verdict, not an
24
+ * approval. A caller that must not admit unchecked entries has to treat it as
25
+ * a refusal — see the peer listener, which does.
26
+ *
27
+ * `localStore` is needed only to resolve `$author`: authorship is a property
28
+ * of the document's `doc_create`, so a later change has to be traced back to
29
+ * it.
30
+ */
31
+ function buildTier1Evaluator(directory, localStore) {
32
+ if (typeof directory.evaluateAccessForSigningKey !== "function") {
33
+ return undefined;
34
+ }
35
+ return async (entry, dbid) => {
36
+ // Tier 1 is evaluated at acceptance time — the same instant a witness
37
+ // would stamp into its receipt (docs/accesscontrol.md §5.3, §7).
38
+ const trustedTime = Date.now();
39
+ // Resolve `$author` at grant level: creator at the doc_create trusted
40
+ // time, signer at acceptance time. Falls back to device-key equality when
41
+ // the directory cannot answer.
42
+ let isAuthor = entry.entryType === "doc_create";
43
+ if (!isAuthor) {
44
+ try {
45
+ const docEntries = await localStore.findNewEntriesForDoc([], entry.docId);
46
+ const createEntry = docEntries.find((m) => m.entryType === "doc_create");
47
+ if (createEntry) {
48
+ const samePerson = directory.isSamePerson;
49
+ if (typeof samePerson === "function") {
50
+ isAuthor = await samePerson({
51
+ creatorSigningKey: createEntry.createdByPublicKey,
52
+ signerSigningKey: entry.createdByPublicKey,
53
+ creatorTrustedTime: createEntry.receivedAt ?? createEntry.createdAt,
54
+ signerTrustedTime: trustedTime,
55
+ });
56
+ }
57
+ else {
58
+ isAuthor =
59
+ createEntry.createdByPublicKey === entry.createdByPublicKey;
60
+ }
61
+ }
62
+ }
63
+ catch {
64
+ // Leaving isAuthor false makes a rule that requires $author deny,
65
+ // which is the fail-closed choice.
66
+ }
67
+ }
68
+ return directory.evaluateAccessForSigningKey({
69
+ op: entry.entryType,
70
+ dbid,
71
+ signingKey: entry.createdByPublicKey,
72
+ trustedTime,
73
+ isAuthor,
74
+ });
75
+ };
76
+ }
77
+ //# sourceMappingURL=tier1Evaluator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tier1Evaluator.js","sourceRoot":"","sources":["../../../src/core/accesscontrol/tier1Evaluator.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAmDH,kDAuDC;AAnED;;;;;;;;;;;GAWG;AACH,SAAgB,mBAAmB,CACjC,SAAyB,EACzB,UAA+D;IAE/D,IAAI,OAAO,SAAS,CAAC,2BAA2B,KAAK,UAAU,EAAE,CAAC;QAChE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3B,sEAAsE;QACtE,iEAAiE;QACjE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE/B,sEAAsE;QACtE,0EAA0E;QAC1E,+BAA+B;QAC/B,IAAI,QAAQ,GAAG,KAAK,CAAC,SAAS,KAAK,YAAY,CAAC;QAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,oBAAoB,CACtD,EAAE,EACF,KAAK,CAAC,KAAK,CACZ,CAAC;gBACF,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CACjC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,YAAY,CACpC,CAAC;gBACF,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,UAAU,GAAG,SAAS,CAAC,YAAY,CAAC;oBAC1C,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE,CAAC;wBACrC,QAAQ,GAAG,MAAM,UAAU,CAAC;4BAC1B,iBAAiB,EAAE,WAAW,CAAC,kBAAkB;4BACjD,gBAAgB,EAAE,KAAK,CAAC,kBAAkB;4BAC1C,kBAAkB,EAChB,WAAW,CAAC,UAAU,IAAI,WAAW,CAAC,SAAS;4BACjD,iBAAiB,EAAE,WAAW;yBAC/B,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,QAAQ;4BACN,WAAW,CAAC,kBAAkB,KAAK,KAAK,CAAC,kBAAkB,CAAC;oBAChE,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,kEAAkE;gBAClE,mCAAmC;YACrC,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC,2BAA4B,CAAC;YAC5C,EAAE,EAAE,KAAK,CAAC,SAAmB;YAC7B,IAAI;YACJ,UAAU,EAAE,KAAK,CAAC,kBAAkB;YACpC,WAAW;YACX,QAAQ;SACT,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
@@ -88,10 +88,21 @@ export declare class IrohPeerStore implements ContentAddressedStore {
88
88
  private stream;
89
89
  private connection;
90
90
  private sessionTail;
91
- constructor(io: IrohStreamIO, peerTicket: string, dbId: string, storeKind: ReturnType<ContentAddressedStore["getStoreKind"]>);
91
+ private readonly tenantId?;
92
+ private readonly peerKey;
93
+ constructor(io: IrohStreamIO, peerTicket: string, dbId: string, storeKind: ReturnType<ContentAddressedStore["getStoreKind"]>, options?: {
94
+ /** Sent as `ctx.tenantId` so a listener can route to the right replica. */
95
+ tenantId?: string;
96
+ /**
97
+ * Stable endpoint id of the peer. Only needed when dialing by ticket —
98
+ * dialing by id already yields a stable key.
99
+ */
100
+ peerEndpointId?: string;
101
+ });
92
102
  getId(): string;
93
103
  getStoreKind(): import("../types").StoreKind;
94
104
  getCacheIdentity(): string;
105
+ private rpcContext;
95
106
  private sharedConnection;
96
107
  private session;
97
108
  private enqueueSession;
@@ -113,10 +124,52 @@ export declare class IrohPeerStore implements ContentAddressedStore {
113
124
  resolveDependencies(startId: string, options?: Record<string, unknown>): Promise<string[]>;
114
125
  purgeDocHistory(docId: string): Promise<void>;
115
126
  }
116
- export type IrohRpcHandler = (method: string, args: unknown[], ctx?: IrohRpcContext) => Promise<unknown>;
117
- export declare function createStoreIrohHandler(store: ContentAddressedStore): IrohRpcHandler;
127
+ export type IrohRpcHandler = (method: string, args: unknown[], ctx?: IrohRpcContext,
128
+ /**
129
+ * Endpoint id of the caller, proven by the QUIC handshake. Undefined when
130
+ * the adapter cannot report it — treat that as an unknown peer.
131
+ */
132
+ peerEndpointId?: string) => Promise<unknown>;
133
+ /**
134
+ * Store methods a sync peer legitimately needs: compare (Bloom + head), scan,
135
+ * fetch, and hand over entries.
136
+ *
137
+ * Everything else a {@link ContentAddressedStore} happens to expose stays out,
138
+ * because {@link createStoreIrohHandler} resolves methods by name off the store
139
+ * object. Without this list a peer could call `purgeDocHistory` and destroy
140
+ * history on the listening device.
141
+ */
142
+ export declare const IROH_SYNC_STORE_METHODS: readonly string[];
143
+ export declare function createStoreIrohHandler(store: ContentAddressedStore, options?: {
144
+ /**
145
+ * Methods this handler will dispatch. Defaults to
146
+ * {@link IROH_SYNC_STORE_METHODS}; pass an explicit list to narrow further
147
+ * (for example read-only mirrors that must reject `putEntries`).
148
+ */
149
+ allowedMethods?: readonly string[];
150
+ }): IrohRpcHandler;
118
151
  export declare function serveIrohRpc(stream: IrohByteStream, handler: IrohRpcHandler): Promise<void>;
119
- export declare function listenForIrohPeers(io: IrohStreamIO, handler: IrohRpcHandler, options?: {
152
+ export interface IrohListenOptions {
120
153
  signal?: AbortSignal;
121
- }): Promise<void>;
154
+ /**
155
+ * Connection-level gate, run once per inbound stream before any RPC is
156
+ * served. Return false to drop the stream immediately.
157
+ *
158
+ * `peerEndpointId` is authenticated (QUIC proved key possession) but not
159
+ * authorized — that is what this callback decides, typically by looking the
160
+ * id up in the tenant directory. It is undefined when the adapter cannot
161
+ * report the peer, which an authorizing listener should reject.
162
+ *
163
+ * Per-request scope (`ctx.tenantId` / `ctx.dbId`) still has to be checked in
164
+ * the handler; this gate only sees the connection.
165
+ */
166
+ authorize?(peerEndpointId: string | undefined): boolean | Promise<boolean>;
167
+ /**
168
+ * Maximum RPC sessions served at once. Further inbound streams are closed
169
+ * without being served, so an unauthorized peer cannot pin resources by
170
+ * opening streams in a loop. Defaults to 32.
171
+ */
172
+ maxConcurrentSessions?: number;
173
+ }
174
+ export declare function listenForIrohPeers(io: IrohStreamIO, handler: IrohRpcHandler, options?: IrohListenOptions): Promise<void>;
122
175
  //# sourceMappingURL=IrohNetworkTransport.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IrohNetworkTransport.d.ts","sourceRoot":"","sources":["../../../../src/core/appendonlystores/network/IrohNetworkTransport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IrohNetworkTransport.d.ts","sourceRoot":"","sources":["../../../../src/core/appendonlystores/network/IrohNetworkTransport.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IrohPeerStore = exports.IrohNetworkTransport = void 0;
3
+ exports.IROH_SYNC_STORE_METHODS = exports.IrohPeerStore = exports.IrohNetworkTransport = void 0;
4
4
  exports.rpcCall = rpcCall;
5
5
  exports.createStoreIrohHandler = createStoreIrohHandler;
6
6
  exports.serveIrohRpc = serveIrohRpc;
7
7
  exports.listenForIrohPeers = listenForIrohPeers;
8
8
  const types_1 = require("./types");
9
9
  const IrohStreamIO_1 = require("./IrohStreamIO");
10
+ const irohLocator_1 = require("./irohLocator");
10
11
  /** One request / one response on a single stream. Exported so tests can force an id mismatch. */
11
12
  async function rpcCall(stream, method, args, id, ctx) {
12
13
  const request = { id, method, args, ctx };
@@ -221,7 +222,7 @@ exports.IrohNetworkTransport = IrohNetworkTransport;
221
222
  * RSA wrap. Use with `pullChangesFrom` / `pushChangesTo` between devices.
222
223
  */
223
224
  class IrohPeerStore {
224
- constructor(io, peerTicket, dbId, storeKind) {
225
+ constructor(io, peerTicket, dbId, storeKind, options) {
225
226
  this.io = io;
226
227
  this.peerTicket = peerTicket;
227
228
  this.dbId = dbId;
@@ -230,6 +231,15 @@ class IrohPeerStore {
230
231
  this.stream = null;
231
232
  this.connection = null;
232
233
  this.sessionTail = Promise.resolve();
234
+ this.tenantId = options?.tenantId;
235
+ // The scan cursor is keyed by this string (see `syncScanCursorKey`). A
236
+ // ticket embeds the peer's current relay and addresses, so keying on it
237
+ // would invalidate the cursor whenever the peer's network changes and
238
+ // force a full metadata rescan. The endpoint id never changes.
239
+ this.peerKey =
240
+ (0, irohLocator_1.resolveIrohEndpointId)(options?.peerEndpointId) ??
241
+ (0, irohLocator_1.resolveIrohEndpointId)(peerTicket) ??
242
+ peerTicket;
233
243
  }
234
244
  getId() {
235
245
  return this.dbId;
@@ -238,7 +248,14 @@ class IrohPeerStore {
238
248
  return this.storeKind;
239
249
  }
240
250
  getCacheIdentity() {
241
- return `iroh:${this.peerTicket}:${this.dbId}:${this.storeKind}`;
251
+ return `iroh:${this.peerKey}:${this.dbId}:${this.storeKind}`;
252
+ }
253
+ rpcContext() {
254
+ return {
255
+ tenantId: this.tenantId,
256
+ dbId: this.dbId,
257
+ storeKind: this.storeKind,
258
+ };
242
259
  }
243
260
  async sharedConnection() {
244
261
  if (!this.io.openConnection) {
@@ -265,13 +282,13 @@ class IrohPeerStore {
265
282
  if (connection) {
266
283
  const stream = await connection.openStream();
267
284
  try {
268
- return await rpcCall(stream, method, args, this.nextId++);
285
+ return await rpcCall(stream, method, args, this.nextId++, this.rpcContext());
269
286
  }
270
287
  finally {
271
288
  await stream.close();
272
289
  }
273
290
  }
274
- return this.enqueueSession(async () => rpcCall(await this.session(), method, args, this.nextId++));
291
+ return this.enqueueSession(async () => rpcCall(await this.session(), method, args, this.nextId++, this.rpcContext()));
275
292
  }
276
293
  putEntries(entries) {
277
294
  return this.call("store.putEntries", [entries]);
@@ -323,9 +340,39 @@ class IrohPeerStore {
323
340
  }
324
341
  }
325
342
  exports.IrohPeerStore = IrohPeerStore;
326
- function createStoreIrohHandler(store) {
343
+ /**
344
+ * Store methods a sync peer legitimately needs: compare (Bloom + head), scan,
345
+ * fetch, and hand over entries.
346
+ *
347
+ * Everything else a {@link ContentAddressedStore} happens to expose stays out,
348
+ * because {@link createStoreIrohHandler} resolves methods by name off the store
349
+ * object. Without this list a peer could call `purgeDocHistory` and destroy
350
+ * history on the listening device.
351
+ */
352
+ exports.IROH_SYNC_STORE_METHODS = [
353
+ "getIdBloomSummary",
354
+ "getStoreHead",
355
+ "scanEntriesSince",
356
+ "hasEntries",
357
+ "findNewEntries",
358
+ "findNewEntriesForDoc",
359
+ "findEntries",
360
+ "getEntries",
361
+ "getEntryMetadata",
362
+ "getAllIds",
363
+ "putEntries",
364
+ "applyWitnessReceipts",
365
+ "resolveDependencies",
366
+ "planDocumentMaterialization",
367
+ "planDocumentMaterializationBatch",
368
+ ];
369
+ function createStoreIrohHandler(store, options) {
370
+ const allowed = new Set(options?.allowedMethods ?? exports.IROH_SYNC_STORE_METHODS);
327
371
  return async (method, args) => {
328
372
  const name = method.startsWith("store.") ? method.slice(6) : method;
373
+ if (!allowed.has(name)) {
374
+ throw new Error(`Iroh store method ${method} is not allowed`);
375
+ }
329
376
  const fn = store[name];
330
377
  if (typeof fn !== "function") {
331
378
  throw new Error(`Unknown Iroh store method ${method}`);
@@ -352,7 +399,7 @@ async function serveIrohRpc(stream, handler) {
352
399
  }
353
400
  const request = (0, IrohStreamIO_1.decodeIrohFrame)(bytes);
354
401
  try {
355
- const result = await handler(request.method, request.args, request.ctx);
402
+ const result = await handler(request.method, request.args, request.ctx, stream.remoteEndpointId);
356
403
  if (isAsyncIterable(result)) {
357
404
  await streamHandlerIterable(stream, request, result);
358
405
  return;
@@ -420,20 +467,42 @@ async function streamHandlerIterable(stream, request, result) {
420
467
  await watchClose.catch(() => undefined);
421
468
  }
422
469
  }
470
+ const DEFAULT_MAX_CONCURRENT_IROH_SESSIONS = 32;
423
471
  async function listenForIrohPeers(io, handler, options) {
424
472
  if (!io.listen) {
425
473
  throw new Error("IrohStreamIO.listen is required to accept peers");
426
474
  }
475
+ const maxSessions = options?.maxConcurrentSessions ?? DEFAULT_MAX_CONCURRENT_IROH_SESSIONS;
476
+ const sessions = new Set();
427
477
  for await (const stream of io.listen(IrohStreamIO_1.MINDOODB_IROH_ALPN)) {
428
478
  if (options?.signal?.aborted) {
429
479
  await stream.close();
430
480
  return;
431
481
  }
432
- void serveIrohRpc(stream, handler).catch((error) => {
482
+ if (sessions.size >= maxSessions) {
483
+ await stream.close();
484
+ continue;
485
+ }
486
+ if (options?.authorize) {
487
+ let allowed = false;
488
+ try {
489
+ allowed = await options.authorize(stream.remoteEndpointId);
490
+ }
491
+ catch (error) {
492
+ console.error("[Iroh] peer authorization failed:", error);
493
+ }
494
+ if (!allowed) {
495
+ await stream.close();
496
+ continue;
497
+ }
498
+ }
499
+ const session = serveIrohRpc(stream, handler).catch((error) => {
433
500
  if (!(0, IrohStreamIO_1.isBenignIrohClose)(error)) {
434
501
  console.error("[Iroh] RPC session failed:", error);
435
502
  }
436
503
  });
504
+ sessions.add(session);
505
+ void session.finally(() => sessions.delete(session));
437
506
  }
438
507
  }
439
508
  //# sourceMappingURL=IrohNetworkTransport.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IrohNetworkTransport.js","sourceRoot":"","sources":["../../../../src/core/appendonlystores/network/IrohNetworkTransport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IrohNetworkTransport.js","sourceRoot":"","sources":["../../../../src/core/appendonlystores/network/IrohNetworkTransport.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,3 @@
1
- /**
2
- * Byte-stream IO used by {@link IrohNetworkTransport}.
3
- *
4
- * `react-native-iroh` implements this with `endpoint.streams` (ALPN
5
- * `mindoodb/sync-v5`). The Node server uses `@number0/iroh`. Tests use
6
- * {@link createLoopbackIrohPair}.
7
- */
8
1
  export declare const MINDOODB_IROH_ALPN = "mindoodb/sync-v5";
9
2
  /**
10
3
  * One bidirectional QUIC/byte stream between two Iroh endpoints.
@@ -27,6 +20,18 @@ export interface IrohByteStream {
27
20
  recv(): Promise<Uint8Array | null>;
28
21
  /** Finish the send side and release the stream. */
29
22
  close(): Promise<void>;
23
+ /**
24
+ * Endpoint id of the peer on the other end, when the adapter can report it.
25
+ *
26
+ * On an inbound stream this is proof of identity: QUIC only completes the
27
+ * handshake if the peer holds the secret key behind that id. Authorization
28
+ * (is this peer a member of the tenant?) still has to be looked up
29
+ * separately — see {@link IrohListenOptions.authorize}.
30
+ *
31
+ * Loopback and older adapters leave this undefined, which must be treated as
32
+ * "unknown peer", never as "trusted".
33
+ */
34
+ readonly remoteEndpointId?: string;
30
35
  }
31
36
  /**
32
37
  * One QUIC connection that can open many bidirectional streams.
@@ -44,6 +49,13 @@ export interface IrohConnectionHandle {
44
49
  * inbound streams on {@link MINDOODB_IROH_ALPN}.
45
50
  */
46
51
  export interface IrohStreamIO {
52
+ /**
53
+ * Stable 64-char lowercase hex id of the local endpoint, derived from its
54
+ * secret key. Unlike a ticket this never goes stale: peers dial it and the
55
+ * pkarr/DNS address lookup resolves the current relay. Adapters that cannot
56
+ * report it (loopback) leave it undefined.
57
+ */
58
+ readonly endpointId?: string;
47
59
  /**
48
60
  * Return the stable local ticket (or endpoint id) other peers can dial.
49
61
  * Native bindings usually return an `endpoint…` ticket; loopback uses
@@ -122,12 +134,14 @@ export declare function isBenignIrohClose(error: unknown): boolean;
122
134
  * message-oriented and do not use this.
123
135
  *
124
136
  * @param raw Unframed write/read/close used by `@number0/iroh` (and similar)
137
+ * @param remoteEndpointId Peer id from the QUIC handshake, forwarded onto the
138
+ * wrapped stream so listeners can authorize it
125
139
  */
126
140
  export declare function wrapLengthPrefixedByteStream(raw: {
127
141
  write(bytes: Uint8Array): Promise<void>;
128
142
  read(max: number): Promise<Uint8Array | null>;
129
143
  close(): Promise<void>;
130
- }): IrohByteStream;
144
+ }, remoteEndpointId?: string): IrohByteStream;
131
145
  /**
132
146
  * Inverse of {@link encodeIrohFrame}: parse UTF-8 JSON and restore
133
147
  * `{ $bytes }` objects to `Uint8Array`.
@@ -141,9 +155,17 @@ export declare function decodeIrohFrame(bytes: Uint8Array): unknown;
141
155
  * spike without native Iroh. Streams are already message-oriented; do not
142
156
  * wrap them with {@link wrapLengthPrefixedByteStream}.
143
157
  *
144
- * @returns Pair whose `connect` only accepts the other side's ticket
158
+ * Each side also reports a synthetic {@link IrohStreamIO.endpointId} and stamps
159
+ * inbound streams with the dialer's id, so listener authorization can be tested
160
+ * without native Iroh. `connect` accepts either the peer's loopback ticket or
161
+ * its endpoint id, mirroring the real adapters.
162
+ *
163
+ * @returns Pair whose `connect` only accepts the other side's locator
145
164
  */
146
- export declare function createLoopbackIrohPair(): {
165
+ export declare function createLoopbackIrohPair(options?: {
166
+ endpointIdA?: string;
167
+ endpointIdB?: string;
168
+ }): {
147
169
  a: IrohStreamIO;
148
170
  b: IrohStreamIO;
149
171
  };
@@ -1 +1 @@
1
- {"version":3,"file":"IrohStreamIO.d.ts","sourceRoot":"","sources":["../../../../src/core/appendonlystores/network/IrohStreamIO.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,qBAAqB,CAAC;AAErD;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC;;;;OAIG;IACH,IAAI,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IACnC,mDAAmD;IACnD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,iDAAiD;IACjD,UAAU,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;IACtC,mDAAmD;IACnD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACpE;;;;;;;OAOG;IACH,cAAc,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAClF;;;;;;OAMG;IACH,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;CACvD;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,mFAAmF;AACnF,MAAM,WAAW,cAAc;IAC7B,0DAA0D;IAC1D,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,cAAc,CAAC;CACtB;AAED,uDAAuD;AACvD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAKD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAE5D;AAED,yEAAyE;AACzE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAGzD;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE;IAChD,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAC9C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB,GAAG,cAAc,CAyCjB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAE1D;AA2FD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,IAAI;IAAE,CAAC,EAAE,YAAY,CAAC;IAAC,CAAC,EAAE,YAAY,CAAA;CAAE,CAsE7E"}
1
+ {"version":3,"file":"IrohStreamIO.d.ts","sourceRoot":"","sources":["../../../../src/core/appendonlystores/network/IrohStreamIO.ts"],"names":[],"mappings":"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"}