@dxos/echo-pipeline 0.5.8 → 0.5.9-main.079a532
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.
- package/dist/lib/browser/{chunk-GANAND63.mjs → chunk-I2J5TTHJ.mjs} +48 -23
- package/dist/lib/browser/{chunk-GANAND63.mjs.map → chunk-I2J5TTHJ.mjs.map} +3 -3
- package/dist/lib/browser/index.mjs +152 -230
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +99 -4
- package/dist/lib/browser/testing/index.mjs.map +4 -4
- package/dist/lib/node/{chunk-M475BGBI.cjs → chunk-QPCNQ4ZK.cjs} +51 -25
- package/dist/lib/node/chunk-QPCNQ4ZK.cjs.map +7 -0
- package/dist/lib/node/index.cjs +174 -247
- package/dist/lib/node/index.cjs.map +4 -4
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/testing/index.cjs +107 -13
- package/dist/lib/node/testing/index.cjs.map +4 -4
- package/dist/types/src/automerge/automerge-doc-loader.d.ts +7 -3
- package/dist/types/src/automerge/automerge-doc-loader.d.ts.map +1 -1
- package/dist/types/src/automerge/automerge-host.d.ts +1 -8
- package/dist/types/src/automerge/automerge-host.d.ts.map +1 -1
- package/dist/types/src/automerge/echo-network-adapter.d.ts +6 -0
- package/dist/types/src/automerge/echo-network-adapter.d.ts.map +1 -1
- package/dist/types/src/automerge/echo-replicator.d.ts +1 -0
- package/dist/types/src/automerge/echo-replicator.d.ts.map +1 -1
- package/dist/types/src/automerge/index.d.ts +0 -1
- package/dist/types/src/automerge/index.d.ts.map +1 -1
- package/dist/types/src/automerge/mesh-echo-replicator.d.ts.map +1 -1
- package/dist/types/src/space/space-manager.d.ts +2 -2
- package/dist/types/src/space/space-manager.d.ts.map +1 -1
- package/dist/types/src/space/space-protocol.d.ts +2 -2
- package/dist/types/src/space/space-protocol.d.ts.map +1 -1
- package/dist/types/src/space/space.d.ts +9 -1
- package/dist/types/src/space/space.d.ts.map +1 -1
- package/dist/types/src/testing/index.d.ts +1 -0
- package/dist/types/src/testing/index.d.ts.map +1 -1
- package/dist/types/src/testing/test-agent-builder.d.ts +2 -2
- package/dist/types/src/testing/test-agent-builder.d.ts.map +1 -1
- package/dist/types/src/testing/test-network-adapter.d.ts +18 -0
- package/dist/types/src/testing/test-network-adapter.d.ts.map +1 -0
- package/package.json +33 -33
- package/src/automerge/automerge-doc-loader.test.ts +5 -2
- package/src/automerge/automerge-doc-loader.ts +10 -6
- package/src/automerge/automerge-host.test.ts +1 -553
- package/src/automerge/automerge-host.ts +17 -23
- package/src/automerge/automerge-repo.test.ts +450 -2
- package/src/automerge/echo-network-adapter.ts +24 -8
- package/src/automerge/echo-replicator.ts +2 -0
- package/src/automerge/index.ts +0 -1
- package/src/automerge/mesh-echo-replicator.ts +3 -1
- package/src/automerge/storage-adapter.test.ts +96 -66
- package/src/space/space-manager.ts +6 -4
- package/src/space/space-protocol.test.ts +5 -3
- package/src/space/space-protocol.ts +3 -3
- package/src/space/space.ts +32 -2
- package/src/testing/index.ts +1 -0
- package/src/testing/test-agent-builder.ts +4 -4
- package/src/testing/test-network-adapter.ts +62 -0
- package/dist/lib/node/chunk-M475BGBI.cjs.map +0 -7
- package/dist/types/src/automerge/automerge-storage-adapter.d.ts +0 -16
- package/dist/types/src/automerge/automerge-storage-adapter.d.ts.map +0 -1
- package/dist/types/src/automerge/automerge-storage/342/200/223wrapper.d.ts +0 -25
- package/dist/types/src/automerge/automerge-storage/342/200/223wrapper.d.ts.map +0 -1
- package/dist/types/src/automerge/migrations.d.ts +0 -7
- package/dist/types/src/automerge/migrations.d.ts.map +0 -1
- package/src/automerge/automerge-storage-adapter.ts +0 -103
- package/src/automerge/automerge-storage/342/200/223wrapper.ts +0 -59
- package/src/automerge/migrations.ts +0 -41
|
@@ -3,29 +3,22 @@ import { type Stream } from '@dxos/codec-protobuf';
|
|
|
3
3
|
import { type IndexMetadataStore } from '@dxos/indexing';
|
|
4
4
|
import { type SublevelDB } from '@dxos/kv-store';
|
|
5
5
|
import { type FlushRequest, type HostInfo, type SyncRepoRequest, type SyncRepoResponse } from '@dxos/protocols/proto/dxos/echo/service';
|
|
6
|
-
import { type Directory } from '@dxos/random-access-storage';
|
|
7
6
|
import { type EchoReplicator } from './echo-replicator';
|
|
8
7
|
export type { DocumentId };
|
|
9
8
|
export type AutomergeHostParams = {
|
|
10
9
|
db: SublevelDB;
|
|
11
|
-
/**
|
|
12
|
-
* For migration purposes.
|
|
13
|
-
*/
|
|
14
|
-
directory?: Directory;
|
|
15
10
|
indexMetadataStore: IndexMetadataStore;
|
|
16
11
|
};
|
|
17
12
|
export declare class AutomergeHost {
|
|
18
13
|
private readonly _indexMetadataStore;
|
|
19
14
|
private readonly _ctx;
|
|
20
|
-
private readonly _directory?;
|
|
21
|
-
private readonly _db;
|
|
22
15
|
private readonly _echoNetworkAdapter;
|
|
23
16
|
private _repo;
|
|
24
17
|
private _clientNetwork;
|
|
25
18
|
private _storage;
|
|
26
19
|
private _peerId;
|
|
27
20
|
_requestedDocs: Set<string>;
|
|
28
|
-
constructor({
|
|
21
|
+
constructor({ db, indexMetadataStore }: AutomergeHostParams);
|
|
29
22
|
open(): Promise<void>;
|
|
30
23
|
close(): Promise<void>;
|
|
31
24
|
get repo(): Repo;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"automerge-host.d.ts","sourceRoot":"","sources":["../../../../src/automerge/automerge-host.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,IAAI,EAGJ,KAAK,UAAU,EAGhB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGnD,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAGzD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACtB,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"automerge-host.d.ts","sourceRoot":"","sources":["../../../../src/automerge/automerge-host.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,IAAI,EAGJ,KAAK,UAAU,EAGhB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGnD,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAGzD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACtB,MAAM,yCAAyC,CAAC;AAKjD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAKxD,YAAY,EAAE,UAAU,EAAE,CAAC;AAE3B,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,UAAU,CAAC;IAEf,kBAAkB,EAAE,kBAAkB,CAAC;CACxC,CAAC;AAEF,qBACa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;IACzD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IACtC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAEjC;IAEH,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,cAAc,CAA2B;IACjD,OAAO,CAAC,QAAQ,CAAuC;IAGvD,OAAO,CAAC,OAAO,CAAU;IAElB,cAAc,cAAqB;gBAE9B,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,mBAAmB;IAWrD,IAAI;IA0BJ,KAAK;IAOX,IAAI,IAAI,IAAI,IAAI,CAEf;IAEK,aAAa,CAAC,UAAU,EAAE,cAAc;IAIxC,gBAAgB,CAAC,UAAU,EAAE,cAAc;YAQnC,YAAY;YA+BZ,WAAW;IAsBzB;;OAEG;YACW,UAAU;IAKxB,OAAO,CAAC,cAAc;IA0BtB,OAAO,CAAC,eAAe;YAIT,8BAA8B;IAkBtC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAapD,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAAC,gBAAgB,CAAC;IAI5D,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC;CAGvC;AAED,eAAO,MAAM,kBAAkB,QAAS,GAAG,KAAG,MAAM,GAAG,IAQtD,CAAC"}
|
|
@@ -27,6 +27,12 @@ export declare class EchoNetworkAdapter extends NetworkAdapter {
|
|
|
27
27
|
removeReplicator(replicator: EchoReplicator): Promise<void>;
|
|
28
28
|
shouldAdvertize(peerId: PeerId, params: ShouldAdvertizeParams): Promise<boolean>;
|
|
29
29
|
private _onConnectionOpen;
|
|
30
|
+
/**
|
|
31
|
+
* Trigger doc-synchronizer shared documents set recalculation. Happens on peer-candidate.
|
|
32
|
+
* TODO(y): replace with a proper API call when sharePolicy update becomes supported by automerge-repo
|
|
33
|
+
*/
|
|
34
|
+
private _onConnectionAuthScopeChanged;
|
|
30
35
|
private _onConnectionClosed;
|
|
36
|
+
private _emitPeerCandidate;
|
|
31
37
|
}
|
|
32
38
|
//# sourceMappingURL=echo-network-adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"echo-network-adapter.d.ts","sourceRoot":"","sources":["../../../../src/automerge/echo-network-adapter.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,OAAO,EAAE,cAAc,EAAE,KAAK,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAG9G,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,OAAO,EAAE,KAAK,cAAc,EAA6B,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE/G,MAAM,MAAM,wBAAwB,GAAG;IACrC,6BAA6B,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;CAClF,CAAC;AAEF;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,cAAc;IASxC,OAAO,CAAC,QAAQ,CAAC,OAAO;IARpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAC1D;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsC;IACnE,OAAO,CAAC,eAAe,CAAyC;IAChE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;gBAEf,OAAO,EAAE,wBAAwB;IAIrD,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI;IAMtE,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAc5B,UAAU,IAAI,IAAI;IAKrB,IAAI;IAWJ,KAAK;IAWL,aAAa;IAKb,aAAa,CAAC,UAAU,EAAE,cAAc;
|
|
1
|
+
{"version":3,"file":"echo-network-adapter.d.ts","sourceRoot":"","sources":["../../../../src/automerge/echo-network-adapter.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,OAAO,EAAE,cAAc,EAAE,KAAK,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAG9G,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,OAAO,EAAE,KAAK,cAAc,EAA6B,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE/G,MAAM,MAAM,wBAAwB,GAAG;IACrC,6BAA6B,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;CAClF,CAAC;AAEF;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,cAAc;IASxC,OAAO,CAAC,QAAQ,CAAC,OAAO;IARpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAC1D;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsC;IACnE,OAAO,CAAC,eAAe,CAAyC;IAChE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;gBAEf,OAAO,EAAE,wBAAwB;IAIrD,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI;IAMtE,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAc5B,UAAU,IAAI,IAAI;IAKrB,IAAI;IAWJ,KAAK;IAWL,aAAa;IAKb,aAAa,CAAC,UAAU,EAAE,cAAc;IAgBxC,gBAAgB,CAAC,UAAU,EAAE,cAAc;IAO3C,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC;IAStF,OAAO,CAAC,iBAAiB;IA8BzB;;;OAGG;IACH,OAAO,CAAC,6BAA6B;IAQrC,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,kBAAkB;CAS3B"}
|
|
@@ -17,6 +17,7 @@ export interface EchoReplicatorContext {
|
|
|
17
17
|
get peerId(): string;
|
|
18
18
|
onConnectionOpen(connection: ReplicatorConnection): void;
|
|
19
19
|
onConnectionClosed(connection: ReplicatorConnection): void;
|
|
20
|
+
onConnectionAuthScopeChanged(connection: ReplicatorConnection): void;
|
|
20
21
|
getContainingSpaceForDocument(documentId: string): Promise<PublicKey | null>;
|
|
21
22
|
}
|
|
22
23
|
export interface ReplicatorConnection {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"echo-replicator.d.ts","sourceRoot":"","sources":["../../../../src/automerge/echo-replicator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvD;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAAC;IAErB,gBAAgB,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAEzD,kBAAkB,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAE3D,6BAA6B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;CAC9E;AAED,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAAC;IAErB;;OAEG;IACH,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAElC;;OAEG;IACH,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAElC;;;;OAIG;IACH,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAClE;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC"}
|
|
1
|
+
{"version":3,"file":"echo-replicator.d.ts","sourceRoot":"","sources":["../../../../src/automerge/echo-replicator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvD;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAAC;IAErB,gBAAgB,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAEzD,kBAAkB,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAE3D,4BAA4B,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAErE,6BAA6B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;CAC9E;AAED,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAAC;IAErB;;OAEG;IACH,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAElC;;OAEG;IACH,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAElC;;;;OAIG;IACH,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAClE;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/automerge/index.ts"],"names":[],"mappings":"AAIA,cAAc,kBAAkB,CAAC;AACjC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/automerge/index.ts"],"names":[],"mappings":"AAIA,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mesh-echo-replicator.d.ts","sourceRoot":"","sources":["../../../../src/automerge/mesh-echo-replicator.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AAGpF,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAG3B,MAAM,mBAAmB,CAAC;AAI3B;;GAEG;AACH,qBAAa,kBAAmB,YAAW,cAAc;IACvD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuC;IACpE;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA+C;IAEnF;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoE;IAEvG,OAAO,CAAC,QAAQ,CAAsC;IAEhD,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD,UAAU;IAUhB,eAAe,IAAI,mBAAmB;
|
|
1
|
+
{"version":3,"file":"mesh-echo-replicator.d.ts","sourceRoot":"","sources":["../../../../src/automerge/mesh-echo-replicator.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AAGpF,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAG3B,MAAM,mBAAmB,CAAC;AAI3B;;GAEG;AACH,qBAAa,kBAAmB,YAAW,cAAc;IACvD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuC;IACpE;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA+C;IAEnF;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoE;IAEvG,OAAO,CAAC,QAAQ,CAAsC;IAEhD,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD,UAAU;IAUhB,eAAe,IAAI,mBAAmB;IAoEtC,eAAe,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;CAI1D"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type DelegateInvitationCredential, type MemberInfo } from '@dxos/credentials';
|
|
2
2
|
import { type FeedStore } from '@dxos/feed-store';
|
|
3
3
|
import { PublicKey } from '@dxos/keys';
|
|
4
|
-
import { type
|
|
4
|
+
import { type SwarmNetworkManager } from '@dxos/network-manager';
|
|
5
5
|
import type { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
|
|
6
6
|
import { type SpaceMetadata } from '@dxos/protocols/proto/dxos/echo/metadata';
|
|
7
7
|
import { type Teleport } from '@dxos/teleport';
|
|
@@ -13,7 +13,7 @@ import { type SnapshotStore } from '../db-host';
|
|
|
13
13
|
import { type MetadataStore } from '../metadata';
|
|
14
14
|
export type SpaceManagerParams = {
|
|
15
15
|
feedStore: FeedStore<FeedMessage>;
|
|
16
|
-
networkManager:
|
|
16
|
+
networkManager: SwarmNetworkManager;
|
|
17
17
|
metadataStore: MetadataStore;
|
|
18
18
|
/**
|
|
19
19
|
* @deprecated Replaced by BlobStore.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"space-manager.d.ts","sourceRoot":"","sources":["../../../../src/space/space-manager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,4BAA4B,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEvF,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"space-manager.d.ts","sourceRoot":"","sources":["../../../../src/space/space-manager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,4BAA4B,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEvF,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,KAAK,EAAwB,MAAM,SAAS,CAAC;AACtD,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IAClC,cAAc,EAAE,mBAAmB,CAAC;IACpC,aAAa,EAAE,aAAa,CAAC;IAE7B;;OAEG;IACH,aAAa,EAAE,aAAa,CAAC;IAE7B,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,aAAa,CAAC;IACxB,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,sBAAsB,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC5C,iCAAiC,EAAE,CAAC,UAAU,EAAE,4BAA4B,EAAE,QAAQ,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClH,oBAAoB,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/D,CAAC;AAEF;;GAEG;AACH,qBACa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoD;IAC5E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsB;IACtD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;gBAE9C,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,kBAAkB;IAUtG,IAAI,MAAM,iCAET;IAGK,IAAI;IAGJ,KAAK;IAIL,cAAc,CAAC,EACnB,QAAQ,EACR,aAAa,EACb,sBAAsB,EACtB,aAAa,EACb,iCAAiC,EACjC,oBAAoB,EACpB,SAAS,GACV,EAAE,oBAAoB;CAoCxB"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { type Event } from '@dxos/async';
|
|
3
3
|
import { type FeedWrapper } from '@dxos/feed-store';
|
|
4
4
|
import { PublicKey } from '@dxos/keys';
|
|
5
|
-
import { type
|
|
5
|
+
import { type SwarmNetworkManager, type WireProtocol, type WireProtocolParams } from '@dxos/network-manager';
|
|
6
6
|
import type { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
|
|
7
7
|
import { type MuxerStats, Teleport } from '@dxos/teleport';
|
|
8
8
|
import { type BlobStore, BlobSync } from '@dxos/teleport-extension-object-sync';
|
|
@@ -18,7 +18,7 @@ export interface SwarmIdentity {
|
|
|
18
18
|
export type SpaceProtocolOptions = {
|
|
19
19
|
topic: PublicKey;
|
|
20
20
|
swarmIdentity: SwarmIdentity;
|
|
21
|
-
networkManager:
|
|
21
|
+
networkManager: SwarmNetworkManager;
|
|
22
22
|
blobStore: BlobStore;
|
|
23
23
|
/**
|
|
24
24
|
* Called when new session is authenticated.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"space-protocol.d.ts","sourceRoot":"","sources":["../../../../src/space/space-protocol.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAEL,KAAK,
|
|
1
|
+
{"version":3,"file":"space-protocol.d.ts","sourceRoot":"","sources":["../../../../src/space/space-protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { Event } from '@dxos/async';
|
|
|
2
2
|
import { type Context, Resource } from '@dxos/context';
|
|
3
3
|
import { type DelegateInvitationCredential, type FeedInfo, type MemberInfo } from '@dxos/credentials';
|
|
4
4
|
import { type FeedOptions, type FeedWrapper } from '@dxos/feed-store';
|
|
5
|
-
import {
|
|
5
|
+
import { PublicKey, SpaceId } from '@dxos/keys';
|
|
6
6
|
import type { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
|
|
7
7
|
import { type Credential } from '@dxos/protocols/proto/dxos/halo/credentials';
|
|
8
8
|
import { type Timeframe } from '@dxos/timeframe';
|
|
@@ -13,6 +13,7 @@ import { type MetadataStore } from '../metadata';
|
|
|
13
13
|
import { type PipelineAccessor } from '../pipeline';
|
|
14
14
|
type FeedProvider = (feedKey: PublicKey, opts?: FeedOptions) => Promise<FeedWrapper<FeedMessage>>;
|
|
15
15
|
export type SpaceParams = {
|
|
16
|
+
id: SpaceId;
|
|
16
17
|
spaceKey: PublicKey;
|
|
17
18
|
protocol: SpaceProtocol;
|
|
18
19
|
genesisFeed: FeedWrapper<FeedMessage>;
|
|
@@ -35,6 +36,7 @@ export declare class Space extends Resource {
|
|
|
35
36
|
readonly onCredentialProcessed: Callback<AsyncCallback<Credential>>;
|
|
36
37
|
readonly stateUpdate: Event<void>;
|
|
37
38
|
readonly protocol: SpaceProtocol;
|
|
39
|
+
private readonly _id;
|
|
38
40
|
private readonly _key;
|
|
39
41
|
private readonly _genesisFeedKey;
|
|
40
42
|
private readonly _feedProvider;
|
|
@@ -43,6 +45,7 @@ export declare class Space extends Resource {
|
|
|
43
45
|
private _controlFeed?;
|
|
44
46
|
private _dataFeed?;
|
|
45
47
|
constructor(params: SpaceParams);
|
|
48
|
+
get id(): SpaceId;
|
|
46
49
|
get key(): PublicKey;
|
|
47
50
|
get isOpen(): boolean;
|
|
48
51
|
get genesisFeedKey(): PublicKey;
|
|
@@ -63,5 +66,10 @@ export declare class Space extends Resource {
|
|
|
63
66
|
protected _open(ctx: Context): Promise<void>;
|
|
64
67
|
protected _close(): Promise<void>;
|
|
65
68
|
}
|
|
69
|
+
/**
|
|
70
|
+
* Space keys are generated by creating a keypair, and then taking the first 20 bytes of the SHA-256 hash of the public key and encoding them to multibase RFC4648 base-32 format (prefixed with B, see Multibase Table).
|
|
71
|
+
* Inspired by how ethereum addresses are derived.
|
|
72
|
+
*/
|
|
73
|
+
export declare const createIdFromSpaceKey: (spaceKey: PublicKey) => Promise<SpaceId>;
|
|
66
74
|
export {};
|
|
67
75
|
//# sourceMappingURL=space.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"space.d.ts","sourceRoot":"","sources":["../../../../src/space/space.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAmC,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,KAAK,OAAO,EAAkB,QAAQ,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,KAAK,4BAA4B,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"space.d.ts","sourceRoot":"","sources":["../../../../src/space/space.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/testing/index.ts"],"names":[],"mappings":"AAIA,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/testing/index.ts"],"names":[],"mappings":"AAIA,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { type FeedStore } from '@dxos/feed-store';
|
|
|
2
2
|
import { type Keyring } from '@dxos/keyring';
|
|
3
3
|
import { PublicKey } from '@dxos/keys';
|
|
4
4
|
import { MemorySignalManagerContext } from '@dxos/messaging';
|
|
5
|
-
import {
|
|
5
|
+
import { SwarmNetworkManager } from '@dxos/network-manager';
|
|
6
6
|
import type { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
|
|
7
7
|
import { type Storage } from '@dxos/random-access-storage';
|
|
8
8
|
import { Gossip, Presence } from '@dxos/teleport-extension-gossip';
|
|
@@ -11,7 +11,7 @@ import { TestFeedBuilder } from './test-feed-builder';
|
|
|
11
11
|
import { SnapshotStore } from '../db-host';
|
|
12
12
|
import { MetadataStore } from '../metadata';
|
|
13
13
|
import { SpaceManager, SpaceProtocol, type Space } from '../space';
|
|
14
|
-
export type NetworkManagerProvider = () =>
|
|
14
|
+
export type NetworkManagerProvider = () => SwarmNetworkManager;
|
|
15
15
|
export declare const MemoryNetworkManagerProvider: (signalContext: MemorySignalManagerContext) => NetworkManagerProvider;
|
|
16
16
|
export declare const WebsocketNetworkManagerProvider: (signalUrl: string) => NetworkManagerProvider;
|
|
17
17
|
export type TestAgentBuilderOptions = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-agent-builder.d.ts","sourceRoot":"","sources":["../../../../src/testing/test-agent-builder.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAuB,0BAA0B,EAA0B,MAAM,iBAAiB,CAAC;AAC1G,OAAO,EAA0B,
|
|
1
|
+
{"version":3,"file":"test-agent-builder.d.ts","sourceRoot":"","sources":["../../../../src/testing/test-agent-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Trigger } from '@dxos/async';
|
|
2
|
+
import { type Message, NetworkAdapter, type PeerId } from '@dxos/automerge/automerge-repo';
|
|
3
|
+
export declare class TestAdapter extends NetworkAdapter {
|
|
4
|
+
private readonly _params;
|
|
5
|
+
static createPair(): TestAdapter[];
|
|
6
|
+
onConnect: Trigger<void>;
|
|
7
|
+
constructor(_params: {
|
|
8
|
+
send: (message: Message) => void;
|
|
9
|
+
});
|
|
10
|
+
ready(): void;
|
|
11
|
+
connect(peerId: PeerId): void;
|
|
12
|
+
peerCandidate(peerId: PeerId): void;
|
|
13
|
+
peerDisconnected(peerId: PeerId): void;
|
|
14
|
+
send(message: Message): void;
|
|
15
|
+
disconnect(): void;
|
|
16
|
+
receive(message: Message): void;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=test-network-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-network-adapter.d.ts","sourceRoot":"","sources":["../../../../src/testing/test-network-adapter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,KAAK,OAAO,EAAE,cAAc,EAAE,KAAK,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAI3F,qBAAa,WAAY,SAAQ,cAAc;IAcjC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAbpC,MAAM,CAAC,UAAU;IAWV,SAAS,gBAAiB;gBAEJ,OAAO,EAAE;QAAE,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;KAAE;IAM1E,KAAK;IAII,OAAO,CAAC,MAAM,EAAE,MAAM;IAK/B,aAAa,CAAC,MAAM,EAAE,MAAM;IAK5B,gBAAgB,CAAC,MAAM,EAAE,MAAM;IAKtB,IAAI,CAAC,OAAO,EAAE,OAAO;IAKrB,UAAU;IAInB,OAAO,CAAC,OAAO,EAAE,OAAO;CAIzB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/echo-pipeline",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.9-main.079a532",
|
|
4
4
|
"description": "ECHO database.",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -39,38 +39,38 @@
|
|
|
39
39
|
"crc-32": "^1.2.2",
|
|
40
40
|
"level": "^8.0.1",
|
|
41
41
|
"level-transcoder": "^1.0.1",
|
|
42
|
-
"@dxos/async": "0.5.
|
|
43
|
-
"@dxos/codec-protobuf": "0.5.
|
|
44
|
-
"@dxos/automerge": "0.5.
|
|
45
|
-
"@dxos/
|
|
46
|
-
"@dxos/
|
|
47
|
-
"@dxos/crypto": "0.5.
|
|
48
|
-
"@dxos/debug": "0.5.
|
|
49
|
-
"@dxos/echo-
|
|
50
|
-
"@dxos/echo-
|
|
51
|
-
"@dxos/
|
|
52
|
-
"@dxos/
|
|
53
|
-
"@dxos/
|
|
54
|
-
"@dxos/
|
|
55
|
-
"@dxos/
|
|
56
|
-
"@dxos/keys": "0.5.
|
|
57
|
-
"@dxos/kv-store": "0.5.
|
|
58
|
-
"@dxos/log": "0.5.
|
|
59
|
-
"@dxos/messaging": "0.5.
|
|
60
|
-
"@dxos/network-manager": "0.5.
|
|
61
|
-
"@dxos/node-std": "0.5.
|
|
62
|
-
"@dxos/
|
|
63
|
-
"@dxos/
|
|
64
|
-
"@dxos/rpc": "0.5.
|
|
65
|
-
"@dxos/teleport": "0.5.
|
|
66
|
-
"@dxos/teleport-extension-
|
|
67
|
-
"@dxos/teleport-extension-
|
|
68
|
-
"@dxos/teleport-extension-object-sync": "0.5.
|
|
69
|
-
"@dxos/
|
|
70
|
-
"@dxos/
|
|
71
|
-
"@dxos/
|
|
72
|
-
"@dxos/
|
|
73
|
-
"@dxos/
|
|
42
|
+
"@dxos/async": "0.5.9-main.079a532",
|
|
43
|
+
"@dxos/codec-protobuf": "0.5.9-main.079a532",
|
|
44
|
+
"@dxos/automerge": "0.5.9-main.079a532",
|
|
45
|
+
"@dxos/credentials": "0.5.9-main.079a532",
|
|
46
|
+
"@dxos/context": "0.5.9-main.079a532",
|
|
47
|
+
"@dxos/crypto": "0.5.9-main.079a532",
|
|
48
|
+
"@dxos/debug": "0.5.9-main.079a532",
|
|
49
|
+
"@dxos/echo-protocol": "0.5.9-main.079a532",
|
|
50
|
+
"@dxos/echo-schema": "0.5.9-main.079a532",
|
|
51
|
+
"@dxos/hypercore": "0.5.9-main.079a532",
|
|
52
|
+
"@dxos/feed-store": "0.5.9-main.079a532",
|
|
53
|
+
"@dxos/indexing": "0.5.9-main.079a532",
|
|
54
|
+
"@dxos/invariant": "0.5.9-main.079a532",
|
|
55
|
+
"@dxos/keyring": "0.5.9-main.079a532",
|
|
56
|
+
"@dxos/keys": "0.5.9-main.079a532",
|
|
57
|
+
"@dxos/kv-store": "0.5.9-main.079a532",
|
|
58
|
+
"@dxos/log": "0.5.9-main.079a532",
|
|
59
|
+
"@dxos/messaging": "0.5.9-main.079a532",
|
|
60
|
+
"@dxos/network-manager": "0.5.9-main.079a532",
|
|
61
|
+
"@dxos/node-std": "0.5.9-main.079a532",
|
|
62
|
+
"@dxos/protocols": "0.5.9-main.079a532",
|
|
63
|
+
"@dxos/random-access-storage": "0.5.9-main.079a532",
|
|
64
|
+
"@dxos/rpc": "0.5.9-main.079a532",
|
|
65
|
+
"@dxos/teleport": "0.5.9-main.079a532",
|
|
66
|
+
"@dxos/teleport-extension-automerge-replicator": "0.5.9-main.079a532",
|
|
67
|
+
"@dxos/teleport-extension-gossip": "0.5.9-main.079a532",
|
|
68
|
+
"@dxos/teleport-extension-object-sync": "0.5.9-main.079a532",
|
|
69
|
+
"@dxos/timeframe": "0.5.9-main.079a532",
|
|
70
|
+
"@dxos/teleport-extension-replicator": "0.5.9-main.079a532",
|
|
71
|
+
"@dxos/tracing": "0.5.9-main.079a532",
|
|
72
|
+
"@dxos/typings": "0.5.9-main.079a532",
|
|
73
|
+
"@dxos/util": "0.5.9-main.079a532"
|
|
74
74
|
},
|
|
75
75
|
"devDependencies": {
|
|
76
76
|
"fast-check": "^3.19.0",
|
|
@@ -8,6 +8,7 @@ import { sleep } from '@dxos/async';
|
|
|
8
8
|
import { Repo } from '@dxos/automerge/automerge-repo';
|
|
9
9
|
import { Context } from '@dxos/context';
|
|
10
10
|
import { type SpaceDoc } from '@dxos/echo-protocol';
|
|
11
|
+
import { generateEchoId } from '@dxos/echo-schema';
|
|
11
12
|
import { PublicKey } from '@dxos/keys';
|
|
12
13
|
import { describe, test } from '@dxos/test';
|
|
13
14
|
|
|
@@ -16,10 +17,11 @@ import {
|
|
|
16
17
|
AutomergeDocumentLoaderImpl,
|
|
17
18
|
type ObjectDocumentLoaded,
|
|
18
19
|
} from './automerge-doc-loader';
|
|
20
|
+
import { createIdFromSpaceKey } from '../space';
|
|
19
21
|
|
|
20
22
|
const ctx = new Context();
|
|
21
23
|
const SPACE_KEY = PublicKey.random();
|
|
22
|
-
const randomId = () =>
|
|
24
|
+
const randomId = () => generateEchoId();
|
|
23
25
|
describe('AutomergeDocumentLoader', () => {
|
|
24
26
|
test('space access is set on root doc handle and it is accessible', async () => {
|
|
25
27
|
const { loader, spaceRootDocHandle } = await setupTest();
|
|
@@ -71,8 +73,9 @@ describe('AutomergeDocumentLoader', () => {
|
|
|
71
73
|
});
|
|
72
74
|
|
|
73
75
|
const setupTest = async () => {
|
|
76
|
+
const spaceId = await createIdFromSpaceKey(SPACE_KEY);
|
|
74
77
|
const repo = new Repo({ network: [] });
|
|
75
|
-
const loader = new AutomergeDocumentLoaderImpl(
|
|
78
|
+
const loader = new AutomergeDocumentLoaderImpl(spaceId, repo, SPACE_KEY);
|
|
76
79
|
const spaceRootDocHandle = repo.create<SpaceDoc>();
|
|
77
80
|
await loader.loadSpaceRootDocHandle(ctx, {
|
|
78
81
|
rootUrl: spaceRootDocHandle.url,
|
|
@@ -6,9 +6,9 @@ import { Event } from '@dxos/async';
|
|
|
6
6
|
import { type DocHandle, type AutomergeUrl, type DocumentId, type Repo } from '@dxos/automerge/automerge-repo';
|
|
7
7
|
import { cancelWithContext, type Context } from '@dxos/context';
|
|
8
8
|
import { warnAfterTimeout } from '@dxos/debug';
|
|
9
|
-
import { type SpaceState, type SpaceDoc } from '@dxos/echo-protocol';
|
|
9
|
+
import { type SpaceState, type SpaceDoc, SpaceDocVersion } from '@dxos/echo-protocol';
|
|
10
10
|
import { invariant } from '@dxos/invariant';
|
|
11
|
-
import { type PublicKey } from '@dxos/keys';
|
|
11
|
+
import { type PublicKey, type SpaceId } from '@dxos/keys';
|
|
12
12
|
import { log } from '@dxos/log';
|
|
13
13
|
import { trace } from '@dxos/tracing';
|
|
14
14
|
|
|
@@ -51,8 +51,10 @@ export class AutomergeDocumentLoaderImpl implements AutomergeDocumentLoader {
|
|
|
51
51
|
public readonly onObjectDocumentLoaded = new Event<ObjectDocumentLoaded>();
|
|
52
52
|
|
|
53
53
|
constructor(
|
|
54
|
-
private readonly
|
|
54
|
+
private readonly _spaceId: SpaceId,
|
|
55
55
|
private readonly _repo: Repo,
|
|
56
|
+
/** Legacy Id */
|
|
57
|
+
private readonly _spaceKey: PublicKey,
|
|
56
58
|
) {}
|
|
57
59
|
|
|
58
60
|
getAllHandles(): DocHandle<SpaceDoc>[] {
|
|
@@ -67,7 +69,7 @@ export class AutomergeDocumentLoaderImpl implements AutomergeDocumentLoader {
|
|
|
67
69
|
return;
|
|
68
70
|
}
|
|
69
71
|
if (!spaceState.rootUrl) {
|
|
70
|
-
log.error('Database opened with no rootUrl', {
|
|
72
|
+
log.error('Database opened with no rootUrl', { spaceId: this._spaceId });
|
|
71
73
|
this._createContextBoundSpaceRootDocument(ctx);
|
|
72
74
|
} else {
|
|
73
75
|
const existingDocHandle = await this._initDocHandle(ctx, spaceState.rootUrl);
|
|
@@ -123,7 +125,9 @@ export class AutomergeDocumentLoaderImpl implements AutomergeDocumentLoader {
|
|
|
123
125
|
|
|
124
126
|
public createDocumentForObject(objectId: string): DocHandle<SpaceDoc> {
|
|
125
127
|
invariant(this._spaceRootDocHandle);
|
|
126
|
-
const spaceDocHandle = this._repo.create<SpaceDoc>(
|
|
128
|
+
const spaceDocHandle = this._repo.create<SpaceDoc>({
|
|
129
|
+
version: SpaceDocVersion.CURRENT,
|
|
130
|
+
});
|
|
127
131
|
this._initDocAccess(spaceDocHandle);
|
|
128
132
|
this.onObjectBoundToDocument(spaceDocHandle, objectId);
|
|
129
133
|
this._spaceRootDocHandle.change((newDoc: SpaceDoc) => {
|
|
@@ -173,7 +177,7 @@ export class AutomergeDocumentLoaderImpl implements AutomergeDocumentLoader {
|
|
|
173
177
|
const docHandle = this._repo.find<SpaceDoc>(url as DocumentId);
|
|
174
178
|
while (true) {
|
|
175
179
|
try {
|
|
176
|
-
await warnAfterTimeout(5_000, 'Automerge root doc load timeout (
|
|
180
|
+
await warnAfterTimeout(5_000, 'Automerge root doc load timeout (CoreDatabase)', async () => {
|
|
177
181
|
await cancelWithContext(ctx, docHandle.whenReady()); // TODO(dmaretskyi): Temporary 5s timeout for debugging.
|
|
178
182
|
});
|
|
179
183
|
break;
|