@peerbit/trusted-network 5.0.5 → 5.1.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.
@@ -1,6 +1,6 @@
1
1
  import { type PeerId } from "@libp2p/interface";
2
2
  import { PublicSignKey } from "@peerbit/crypto";
3
- import { type CanPerformOperations, type CanRead, Documents, type Operation } from "@peerbit/document";
3
+ import { type CanPerformOperations, type CanRead, type DocumentsLike, type Operation } from "@peerbit/document";
4
4
  import { type AppendOptions } from "@peerbit/log";
5
5
  import { Program } from "@peerbit/program";
6
6
  import { type ReplicationOptions } from "@peerbit/shared-log";
@@ -10,10 +10,10 @@ type IdentityGraphArgs = {
10
10
  replicate?: ReplicationOptions;
11
11
  };
12
12
  export declare class IdentityGraph extends Program<IdentityGraphArgs> {
13
- relationGraph: Documents<IdentityRelation, FromTo>;
13
+ relationGraph: DocumentsLike<IdentityRelation, FromTo>;
14
14
  constructor(props?: {
15
15
  id?: Uint8Array;
16
- relationGraph?: Documents<IdentityRelation, FromTo>;
16
+ relationGraph?: DocumentsLike<IdentityRelation, FromTo>;
17
17
  });
18
18
  canPerform(properties: CanPerformOperations<IdentityRelation>): Promise<boolean>;
19
19
  open(options?: IdentityGraphArgs): Promise<void>;
@@ -27,7 +27,7 @@ type TrustedNetworkArgs = {
27
27
  };
28
28
  export declare class TrustedNetwork extends Program<TrustedNetworkArgs> {
29
29
  rootTrust: PublicSignKey;
30
- trustGraph: Documents<IdentityRelation, FromTo>;
30
+ trustGraph: DocumentsLike<IdentityRelation, FromTo>;
31
31
  constructor(props: {
32
32
  id?: Uint8Array;
33
33
  rootTrust: PublicSignKey | PeerId;
@@ -1 +1 @@
1
- {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACN,aAAa,EAGb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,KAAK,oBAAoB,EACzB,KAAK,OAAO,EACZ,SAAS,EACT,KAAK,SAAS,EAEd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EACN,MAAM,EACN,gBAAgB,EAOhB,MAAM,qBAAqB,CAAC;AA2C7B,KAAK,iBAAiB,GAAG;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1B,SAAS,CAAC,EAAE,kBAAkB,CAAC;CAC/B,CAAC;AAEF,qBACa,aAAc,SAAQ,OAAO,CAAC,iBAAiB,CAAC;IAE5D,aAAa,EAAE,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;gBAEvC,KAAK,CAAC,EAAE;QACnB,EAAE,CAAC,EAAE,UAAU,CAAC;QAChB,aAAa,CAAC,EAAE,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;KACpD;IAQK,UAAU,CACf,UAAU,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,GAChD,OAAO,CAAC,OAAO,CAAC;IAIb,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB;IAYhC,WAAW,CAChB,EAAE,EAAE,aAAa,GAAG,MAAM,EAC1B,OAAO,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC;CAWnC;AAED;;GAEG;AAEH,KAAK,kBAAkB,GAAG;IAAE,SAAS,CAAC,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAE7D,qBACa,cAAe,SAAQ,OAAO,CAAC,kBAAkB,CAAC;IAE9D,SAAS,EAAE,aAAa,CAAC;IAGzB,UAAU,EAAE,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;gBAEpC,KAAK,EAAE;QAAE,EAAE,CAAC,EAAE,UAAU,CAAC;QAAC,SAAS,EAAE,aAAa,GAAG,MAAM,CAAA;KAAE;IAMnE,IAAI,CAAC,OAAO,CAAC,EAAE,kBAAkB;IAejC,UAAU,CACf,UAAU,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,GAChD,OAAO,CAAC,OAAO,CAAC;IAIb,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAInE,GAAG,CACR,OAAO,EAAE,aAAa,GAAG,MAAM,EAC/B,OAAO,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC;IAsB7B,WAAW,CAChB,OAAO,EAAE,aAAa,GAAG,MAAM,EAC/B,OAAO,GAAE,aAAa,GAAG,MAAuB;IAIjD,WAAW,CACV,OAAO,EAAE,aAAa,GAAG,MAAM,EAC/B,OAAO,GAAE,aAAa,GAAG,MAAuB;IASjD;;;;;;;;;OASG;IACG,SAAS,CACd,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE,aAA8B,GACrC,OAAO,CAAC,OAAO,CAAC;IAcb,eAAe,CACpB,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE,aAA8B,GACrC,OAAO,CAAC,OAAO,CAAC;IAUb,UAAU,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAU5C,QAAQ,IAAI,MAAM;CAGlB"}
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACN,aAAa,EAGb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,KAAK,oBAAoB,EACzB,KAAK,OAAO,EAEZ,KAAK,aAAa,EAClB,KAAK,SAAS,EAEd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EACN,MAAM,EACN,gBAAgB,EAOhB,MAAM,qBAAqB,CAAC;AA8D7B,KAAK,iBAAiB,GAAG;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1B,SAAS,CAAC,EAAE,kBAAkB,CAAC;CAC/B,CAAC;AAEF,qBACa,aAAc,SAAQ,OAAO,CAAC,iBAAiB,CAAC;IAE5D,aAAa,EAAE,aAAa,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;gBAE3C,KAAK,CAAC,EAAE;QACnB,EAAE,CAAC,EAAE,UAAU,CAAC;QAChB,aAAa,CAAC,EAAE,aAAa,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;KACxD;IAQK,UAAU,CACf,UAAU,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,GAChD,OAAO,CAAC,OAAO,CAAC;IAIb,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB;IAYhC,WAAW,CAChB,EAAE,EAAE,aAAa,GAAG,MAAM,EAC1B,OAAO,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC;CAWnC;AAED;;GAEG;AAEH,KAAK,kBAAkB,GAAG;IAAE,SAAS,CAAC,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAE7D,qBACa,cAAe,SAAQ,OAAO,CAAC,kBAAkB,CAAC;IAE9D,SAAS,EAAE,aAAa,CAAC;IAGzB,UAAU,EAAE,aAAa,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;gBAExC,KAAK,EAAE;QAAE,EAAE,CAAC,EAAE,UAAU,CAAC;QAAC,SAAS,EAAE,aAAa,GAAG,MAAM,CAAA;KAAE;IAMnE,IAAI,CAAC,OAAO,CAAC,EAAE,kBAAkB;IAejC,UAAU,CACf,UAAU,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,GAChD,OAAO,CAAC,OAAO,CAAC;IAIb,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAInE,GAAG,CACR,OAAO,EAAE,aAAa,GAAG,MAAM,EAC/B,OAAO,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC;IAsB7B,WAAW,CAChB,OAAO,EAAE,aAAa,GAAG,MAAM,EAC/B,OAAO,GAAE,aAAa,GAAG,MAAuB;IAIjD,WAAW,CACV,OAAO,EAAE,aAAa,GAAG,MAAM,EAC/B,OAAO,GAAE,aAAa,GAAG,MAAuB;IASjD;;;;;;;;;OASG;IACG,SAAS,CACd,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE,aAA8B,GACrC,OAAO,CAAC,OAAO,CAAC;IAmBb,eAAe,CACpB,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE,aAA8B,GACrC,OAAO,CAAC,OAAO,CAAC;IAUb,UAAU,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAU5C,QAAQ,IAAI,MAAM;CAGlB"}
@@ -40,6 +40,20 @@ import {} from "@peerbit/log";
40
40
  import { Program } from "@peerbit/program";
41
41
  import {} from "@peerbit/shared-log";
42
42
  import { FromTo, IdentityRelation, createIdentityGraphStore, getFromByTo, getPathGenerator, getToByFrom, hasPath, getRelation as resolveRelation, } from "./identity-graph.js";
43
+ const openDocumentsLike = async (owner, docs, args) => {
44
+ if (!(docs instanceof Program)) {
45
+ return docs;
46
+ }
47
+ const opened = await owner.node.open(docs, {
48
+ args,
49
+ parent: owner,
50
+ existing: "reuse",
51
+ });
52
+ if (opened instanceof Documents && !opened._clazz) {
53
+ await opened.open(args);
54
+ }
55
+ return opened;
56
+ };
43
57
  const coercePublicKey = (publicKey) => {
44
58
  return publicKey instanceof PublicSignKey
45
59
  ? publicKey
@@ -109,7 +123,7 @@ let IdentityGraph = (() => {
109
123
  return canPerformByRelation(properties);
110
124
  }
111
125
  async open(options) {
112
- await this.relationGraph.open({
126
+ this.relationGraph = await openDocumentsLike(this, this.relationGraph, {
113
127
  type: IdentityRelation,
114
128
  canPerform: this.canPerform.bind(this),
115
129
  replicate: options?.replicate,
@@ -165,7 +179,7 @@ let TrustedNetwork = (() => {
165
179
  }
166
180
  async open(options) {
167
181
  this.trustGraph = this.trustGraph || createIdentityGraphStore();
168
- await this.trustGraph.open({
182
+ this.trustGraph = await openDocumentsLike(this, this.trustGraph, {
169
183
  type: IdentityRelation,
170
184
  canPerform: this.canPerform.bind(this),
171
185
  replicate: options?.replicate || {
@@ -218,7 +232,11 @@ let TrustedNetwork = (() => {
218
232
  if (trustee.equals(this.rootTrust)) {
219
233
  return true;
220
234
  }
221
- if (await this.trustGraph.log.isReplicating()) {
235
+ const log = this.trustGraph?.log;
236
+ const isReplicating = log && typeof log.isReplicating === "function"
237
+ ? await log.isReplicating()
238
+ : false;
239
+ if (isReplicating) {
222
240
  return this._isTrustedLocal(trustee, truster);
223
241
  }
224
242
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/controller.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import { PublicSignKey } from "@peerbit/crypto";
2
- import { Documents } from "@peerbit/document";
2
+ import { Documents, type DocumentsLike } from "@peerbit/document";
3
3
  export type RelationResolver = {
4
- resolve: (key: PublicSignKey, db: Documents<IdentityRelation, FromTo>) => Promise<IdentityRelation[]>;
4
+ resolve: (key: PublicSignKey, db: DocumentsLike<IdentityRelation, FromTo>) => Promise<IdentityRelation[]>;
5
5
  next: (relation: IdentityRelation) => PublicSignKey;
6
6
  };
7
7
  export declare const getFromByTo: RelationResolver;
8
8
  export declare const getToByFrom: RelationResolver;
9
- export declare function getPathGenerator(from: PublicSignKey, db: Documents<IdentityRelation, FromTo>, resolver: RelationResolver): AsyncGenerator<IdentityRelation, void, unknown>;
9
+ export declare function getPathGenerator(from: PublicSignKey, db: DocumentsLike<IdentityRelation, FromTo>, resolver: RelationResolver): AsyncGenerator<IdentityRelation, void, unknown>;
10
10
  /**
11
11
  * Get path, to target.
12
12
  * @param start
@@ -14,7 +14,7 @@ export declare function getPathGenerator(from: PublicSignKey, db: Documents<Iden
14
14
  * @param db
15
15
  * @returns
16
16
  */
17
- export declare const hasPathToTarget: (start: PublicSignKey, target: (key: PublicSignKey) => boolean, db: Documents<IdentityRelation, FromTo>, resolver: RelationResolver) => Promise<boolean>;
17
+ export declare const hasPathToTarget: (start: PublicSignKey, target: (key: PublicSignKey) => boolean, db: DocumentsLike<IdentityRelation, FromTo>, resolver: RelationResolver) => Promise<boolean>;
18
18
  export declare abstract class AbstractRelation {
19
19
  id: Uint8Array;
20
20
  }
@@ -30,8 +30,8 @@ export declare class IdentityRelation extends AbstractRelation {
30
30
  initializeId(): void;
31
31
  static id(to: PublicSignKey, from: PublicSignKey): Uint8Array<ArrayBufferLike>;
32
32
  }
33
- export declare const hasPath: (start: PublicSignKey, end: PublicSignKey, db: Documents<IdentityRelation, FromTo>, resolver: RelationResolver) => Promise<boolean>;
34
- export declare const getRelation: (from: PublicSignKey, to: PublicSignKey, db: Documents<IdentityRelation, FromTo>) => Promise<IdentityRelation | undefined>;
33
+ export declare const hasPath: (start: PublicSignKey, end: PublicSignKey, db: DocumentsLike<IdentityRelation, FromTo>, resolver: RelationResolver) => Promise<boolean>;
34
+ export declare const getRelation: (from: PublicSignKey, to: PublicSignKey, db: DocumentsLike<IdentityRelation, FromTo>) => Promise<IdentityRelation | undefined>;
35
35
  export declare class FromTo {
36
36
  id: Uint8Array;
37
37
  from: string;
@@ -1 +1 @@
1
- {"version":3,"file":"identity-graph.d.ts","sourceRoot":"","sources":["../../src/identity-graph.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAc,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAA8B,MAAM,mBAAmB,CAAC;AAG1E,MAAM,MAAM,gBAAgB,GAAG;IAC9B,OAAO,EAAE,CACR,GAAG,EAAE,aAAa,EAClB,EAAE,EAAE,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,KACnC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACjC,IAAI,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,aAAa,CAAC;CACpD,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,gBAmBzB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,gBAmBzB,CAAC;AAEF,wBAAuB,gBAAgB,CACtC,IAAI,EAAE,aAAa,EACnB,EAAE,EAAE,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,EACvC,QAAQ,EAAE,gBAAgB,mDAsB1B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAC3B,OAAO,aAAa,EACpB,QAAQ,CAAC,GAAG,EAAE,aAAa,KAAK,OAAO,EACvC,IAAI,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,EACvC,UAAU,gBAAgB,KACxB,OAAO,CAAC,OAAO,CAiBjB,CAAC;AAEF,8BACsB,gBAAgB;IAErC,EAAE,EAAE,UAAU,CAAC;CACf;AAED,qBACa,gBAAiB,SAAQ,gBAAgB;IAErD,KAAK,EAAE,aAAa,CAAC;IAGrB,GAAG,EAAE,aAAa,CAAC;gBAEP,UAAU,CAAC,EAAE;QACxB,EAAE,EAAE,aAAa,CAAC;QAClB,IAAI,EAAE,aAAa,CAAC;KACpB;IASD,IAAI,IAAI,IAAI,aAAa,CAExB;IAED,IAAI,EAAE,IAAI,aAAa,CAEtB;IAED,YAAY;IAIZ,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa;CAGhD;AAED,eAAO,MAAM,OAAO,GACnB,OAAO,aAAa,EACpB,KAAK,aAAa,EAClB,IAAI,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,EACvC,UAAU,gBAAgB,KACxB,OAAO,CAAC,OAAO,CAEjB,CAAC;AAEF,eAAO,MAAM,WAAW,GACvB,MAAM,aAAa,EACnB,IAAI,aAAa,EACjB,IAAI,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,KACrC,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAEtC,CAAC;AAEF,qBACa,MAAM;IAElB,EAAE,EAAE,UAAU,CAAC;IAGf,IAAI,EAAE,MAAM,CAAC;IAGb,EAAE,EAAE,MAAM,CAAC;gBAEC,KAAK,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,GAAG;CAKnD;AAED,eAAO,MAAM,wBAAwB,GAAI,KAAK,UAAU,6CAGrD,CAAC"}
1
+ {"version":3,"file":"identity-graph.d.ts","sourceRoot":"","sources":["../../src/identity-graph.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAc,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EACN,SAAS,EACT,KAAK,aAAa,EAGlB,MAAM,mBAAmB,CAAC;AAG3B,MAAM,MAAM,gBAAgB,GAAG;IAC9B,OAAO,EAAE,CACR,GAAG,EAAE,aAAa,EAClB,EAAE,EAAE,aAAa,CAAC,gBAAgB,EAAE,MAAM,CAAC,KACvC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACjC,IAAI,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,aAAa,CAAC;CACpD,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,gBAmBzB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,gBAmBzB,CAAC;AAEF,wBAAuB,gBAAgB,CACtC,IAAI,EAAE,aAAa,EACnB,EAAE,EAAE,aAAa,CAAC,gBAAgB,EAAE,MAAM,CAAC,EAC3C,QAAQ,EAAE,gBAAgB,mDAsB1B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAC3B,OAAO,aAAa,EACpB,QAAQ,CAAC,GAAG,EAAE,aAAa,KAAK,OAAO,EACvC,IAAI,aAAa,CAAC,gBAAgB,EAAE,MAAM,CAAC,EAC3C,UAAU,gBAAgB,KACxB,OAAO,CAAC,OAAO,CAiBjB,CAAC;AAEF,8BACsB,gBAAgB;IAErC,EAAE,EAAE,UAAU,CAAC;CACf;AAED,qBACa,gBAAiB,SAAQ,gBAAgB;IAErD,KAAK,EAAE,aAAa,CAAC;IAGrB,GAAG,EAAE,aAAa,CAAC;gBAEP,UAAU,CAAC,EAAE;QACxB,EAAE,EAAE,aAAa,CAAC;QAClB,IAAI,EAAE,aAAa,CAAC;KACpB;IASD,IAAI,IAAI,IAAI,aAAa,CAExB;IAED,IAAI,EAAE,IAAI,aAAa,CAEtB;IAED,YAAY;IAIZ,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa;CAGhD;AAED,eAAO,MAAM,OAAO,GACnB,OAAO,aAAa,EACpB,KAAK,aAAa,EAClB,IAAI,aAAa,CAAC,gBAAgB,EAAE,MAAM,CAAC,EAC3C,UAAU,gBAAgB,KACxB,OAAO,CAAC,OAAO,CAEjB,CAAC;AAEF,eAAO,MAAM,WAAW,GACvB,MAAM,aAAa,EACnB,IAAI,aAAa,EACjB,IAAI,aAAa,CAAC,gBAAgB,EAAE,MAAM,CAAC,KACzC,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAEtC,CAAC;AAEF,qBACa,MAAM;IAElB,EAAE,EAAE,UAAU,CAAC;IAGf,IAAI,EAAE,MAAM,CAAC;IAGb,EAAE,EAAE,MAAM,CAAC;gBAEC,KAAK,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,GAAG;CAKnD;AAED,eAAO,MAAM,wBAAwB,GAAI,KAAK,UAAU,6CAGrD,CAAC"}
@@ -34,7 +34,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
34
34
  };
35
35
  import { field, fixedArray, serialize, variant } from "@dao-xyz/borsh";
36
36
  import { PublicSignKey, sha256Sync } from "@peerbit/crypto";
37
- import { Documents, SearchRequest, StringMatch } from "@peerbit/document";
37
+ import { Documents, SearchRequest, StringMatch, } from "@peerbit/document";
38
38
  import { concat } from "uint8arrays";
39
39
  export const getFromByTo = {
40
40
  resolve: async (to, db) => {
@@ -1 +1 @@
1
- {"version":3,"file":"identity-graph.js","sourceRoot":"","sources":["../../src/identity-graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identity-graph.js","sourceRoot":"","sources":["../../src/identity-graph.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@peerbit/trusted-network",
3
- "version": "5.0.5",
3
+ "version": "5.1.0",
4
4
  "description": "Access controller that operates on a DB",
5
5
  "sideEffects": false,
6
6
  "type": "module",
@@ -56,15 +56,15 @@
56
56
  "@libp2p/interface": "^3.1.0",
57
57
  "uint8arrays": "^5.1.0",
58
58
  "@peerbit/crypto": "2.4.1",
59
- "@peerbit/document": "12.1.2",
60
- "@peerbit/log": "5.0.5",
61
- "@peerbit/program": "5.5.2",
62
- "@peerbit/shared-log": "12.1.3"
59
+ "@peerbit/document": "12.2.0",
60
+ "@peerbit/log": "5.0.6",
61
+ "@peerbit/program": "5.6.0",
62
+ "@peerbit/shared-log": "12.2.0"
63
63
  },
64
64
  "devDependencies": {
65
65
  "@ethersproject/wallet": "^5.8.0",
66
66
  "@peerbit/time": "2.3.0",
67
- "@peerbit/test-utils": "2.3.14"
67
+ "@peerbit/test-utils": "2.3.15"
68
68
  },
69
69
  "scripts": {
70
70
  "clean": "aegir clean",
package/src/controller.ts CHANGED
@@ -9,6 +9,7 @@ import {
9
9
  type CanPerformOperations,
10
10
  type CanRead,
11
11
  Documents,
12
+ type DocumentsLike,
12
13
  type Operation,
13
14
  SearchRequest,
14
15
  } from "@peerbit/document";
@@ -26,6 +27,25 @@ import {
26
27
  getRelation as resolveRelation,
27
28
  } from "./identity-graph.js";
28
29
 
30
+ const openDocumentsLike = async <T, I extends Record<string, any> = any>(
31
+ owner: Program<any, any>,
32
+ docs: DocumentsLike<T, I>,
33
+ args: any,
34
+ ): Promise<DocumentsLike<T, I>> => {
35
+ if (!(docs instanceof Program)) {
36
+ return docs;
37
+ }
38
+ const opened = await owner.node.open(docs as Documents<T, I>, {
39
+ args,
40
+ parent: owner as any,
41
+ existing: "reuse",
42
+ });
43
+ if (opened instanceof Documents && !(opened as any)._clazz) {
44
+ await opened.open(args);
45
+ }
46
+ return opened as DocumentsLike<T, I>;
47
+ };
48
+
29
49
  const coercePublicKey = (publicKey: PublicSignKey | PeerId) => {
30
50
  return publicKey instanceof PublicSignKey
31
51
  ? publicKey
@@ -75,11 +95,11 @@ type IdentityGraphArgs = {
75
95
  @variant("relations")
76
96
  export class IdentityGraph extends Program<IdentityGraphArgs> {
77
97
  @field({ type: Documents })
78
- relationGraph: Documents<IdentityRelation, FromTo>;
98
+ relationGraph: DocumentsLike<IdentityRelation, FromTo>;
79
99
 
80
100
  constructor(props?: {
81
101
  id?: Uint8Array;
82
- relationGraph?: Documents<IdentityRelation, FromTo>;
102
+ relationGraph?: DocumentsLike<IdentityRelation, FromTo>;
83
103
  }) {
84
104
  super();
85
105
  if (props) {
@@ -95,7 +115,7 @@ export class IdentityGraph extends Program<IdentityGraphArgs> {
95
115
  }
96
116
 
97
117
  async open(options?: IdentityGraphArgs) {
98
- await this.relationGraph.open({
118
+ this.relationGraph = await openDocumentsLike(this, this.relationGraph, {
99
119
  type: IdentityRelation,
100
120
  canPerform: this.canPerform.bind(this),
101
121
  replicate: options?.replicate,
@@ -133,7 +153,7 @@ export class TrustedNetwork extends Program<TrustedNetworkArgs> {
133
153
  rootTrust: PublicSignKey;
134
154
 
135
155
  @field({ type: Documents })
136
- trustGraph: Documents<IdentityRelation, FromTo>;
156
+ trustGraph: DocumentsLike<IdentityRelation, FromTo>;
137
157
 
138
158
  constructor(props: { id?: Uint8Array; rootTrust: PublicSignKey | PeerId }) {
139
159
  super();
@@ -143,7 +163,7 @@ export class TrustedNetwork extends Program<TrustedNetworkArgs> {
143
163
 
144
164
  async open(options?: TrustedNetworkArgs) {
145
165
  this.trustGraph = this.trustGraph || createIdentityGraphStore();
146
- await this.trustGraph.open({
166
+ this.trustGraph = await openDocumentsLike(this, this.trustGraph, {
147
167
  type: IdentityRelation,
148
168
  canPerform: this.canPerform.bind(this),
149
169
  replicate: options?.replicate || {
@@ -224,7 +244,12 @@ export class TrustedNetwork extends Program<TrustedNetworkArgs> {
224
244
  if (trustee.equals(this.rootTrust)) {
225
245
  return true;
226
246
  }
227
- if (await this.trustGraph.log.isReplicating()) {
247
+ const log = (this.trustGraph as any)?.log;
248
+ const isReplicating =
249
+ log && typeof log.isReplicating === "function"
250
+ ? await log.isReplicating()
251
+ : false;
252
+ if (isReplicating) {
228
253
  return this._isTrustedLocal(trustee, truster);
229
254
  } else {
230
255
  this.trustGraph.index.search(new SearchRequest({ query: [] }), {
@@ -1,12 +1,17 @@
1
1
  import { field, fixedArray, serialize, variant } from "@dao-xyz/borsh";
2
2
  import { PublicSignKey, sha256Sync } from "@peerbit/crypto";
3
- import { Documents, SearchRequest, StringMatch } from "@peerbit/document";
3
+ import {
4
+ Documents,
5
+ type DocumentsLike,
6
+ SearchRequest,
7
+ StringMatch,
8
+ } from "@peerbit/document";
4
9
  import { concat } from "uint8arrays";
5
10
 
6
11
  export type RelationResolver = {
7
12
  resolve: (
8
13
  key: PublicSignKey,
9
- db: Documents<IdentityRelation, FromTo>,
14
+ db: DocumentsLike<IdentityRelation, FromTo>,
10
15
  ) => Promise<IdentityRelation[]>;
11
16
  next: (relation: IdentityRelation) => PublicSignKey;
12
17
  };
@@ -14,7 +19,7 @@ export type RelationResolver = {
14
19
  export const getFromByTo: RelationResolver = {
15
20
  resolve: async (
16
21
  to: PublicSignKey,
17
- db: Documents<IdentityRelation, FromTo>,
22
+ db: DocumentsLike<IdentityRelation, FromTo>,
18
23
  ) => {
19
24
  return Promise.all(
20
25
  await db.index.search(
@@ -35,7 +40,7 @@ export const getFromByTo: RelationResolver = {
35
40
  export const getToByFrom: RelationResolver = {
36
41
  resolve: async (
37
42
  from: PublicSignKey,
38
- db: Documents<IdentityRelation, FromTo>,
43
+ db: DocumentsLike<IdentityRelation, FromTo>,
39
44
  ) => {
40
45
  return Promise.all(
41
46
  await db.index.search(
@@ -55,7 +60,7 @@ export const getToByFrom: RelationResolver = {
55
60
 
56
61
  export async function* getPathGenerator(
57
62
  from: PublicSignKey,
58
- db: Documents<IdentityRelation, FromTo>,
63
+ db: DocumentsLike<IdentityRelation, FromTo>,
59
64
  resolver: RelationResolver,
60
65
  ) {
61
66
  let iter = [from];
@@ -90,7 +95,7 @@ export async function* getPathGenerator(
90
95
  export const hasPathToTarget = async (
91
96
  start: PublicSignKey,
92
97
  target: (key: PublicSignKey) => boolean,
93
- db: Documents<IdentityRelation, FromTo>,
98
+ db: DocumentsLike<IdentityRelation, FromTo>,
94
99
  resolver: RelationResolver,
95
100
  ): Promise<boolean> => {
96
101
  if (!db) {
@@ -157,7 +162,7 @@ export class IdentityRelation extends AbstractRelation {
157
162
  export const hasPath = async (
158
163
  start: PublicSignKey,
159
164
  end: PublicSignKey,
160
- db: Documents<IdentityRelation, FromTo>,
165
+ db: DocumentsLike<IdentityRelation, FromTo>,
161
166
  resolver: RelationResolver,
162
167
  ): Promise<boolean> => {
163
168
  return hasPathToTarget(start, (key) => end.equals(key), db, resolver);
@@ -166,7 +171,7 @@ export const hasPath = async (
166
171
  export const getRelation = async (
167
172
  from: PublicSignKey,
168
173
  to: PublicSignKey,
169
- db: Documents<IdentityRelation, FromTo>,
174
+ db: DocumentsLike<IdentityRelation, FromTo>,
170
175
  ): Promise<IdentityRelation | undefined> => {
171
176
  return db.index.get(new IdentityRelation({ from, to }).id);
172
177
  };