@dxos/echo-pipeline 0.3.8-next.f4e0086 → 0.3.9-main.14901ff
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-KD6OVLI6.mjs → chunk-HSZ2EJ74.mjs} +81 -43
- package/dist/lib/browser/chunk-HSZ2EJ74.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +1 -1
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +1 -1
- package/dist/lib/node/chunk-RMIDX4JE.cjs +2766 -0
- package/dist/lib/node/chunk-RMIDX4JE.cjs.map +7 -0
- package/dist/lib/node/index.cjs +28 -2727
- package/dist/lib/node/index.cjs.map +4 -4
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/testing/index.cjs +89 -2798
- package/dist/lib/node/testing/index.cjs.map +4 -4
- package/dist/types/src/db-host/data-service-host.d.ts +3 -1
- package/dist/types/src/db-host/data-service-host.d.ts.map +1 -1
- package/dist/types/src/db-host/data-service.d.ts +3 -1
- package/dist/types/src/db-host/data-service.d.ts.map +1 -1
- package/dist/types/src/space/data-pipeline.d.ts.map +1 -1
- package/dist/types/src/space/space-protocol.d.ts +2 -1
- package/dist/types/src/space/space-protocol.d.ts.map +1 -1
- package/package.json +51 -35
- package/src/db-host/data-service-host.ts +15 -1
- package/src/db-host/data-service.ts +10 -0
- package/src/space/data-pipeline.ts +39 -2
- package/src/space/space-protocol.ts +6 -3
- package/dist/lib/browser/chunk-KD6OVLI6.mjs.map +0 -7
- package/testing.d.ts +0 -11
- package/testing.js +0 -5
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Stream } from '@dxos/codec-protobuf';
|
|
2
2
|
import { PublicKey } from '@dxos/keys';
|
|
3
|
-
import { type DataService, type MutationReceipt, type SubscribeRequest, type EchoEvent, type WriteRequest, type FlushRequest } from '@dxos/protocols/proto/dxos/echo/service';
|
|
3
|
+
import { type DataService, type MutationReceipt, type SubscribeRequest, type EchoEvent, type WriteRequest, type FlushRequest, type SyncRepoRequest, type SyncRepoResponse } from '@dxos/protocols/proto/dxos/echo/service';
|
|
4
4
|
import { type DataServiceHost } from './data-service-host';
|
|
5
5
|
export declare class DataServiceSubscriptions {
|
|
6
6
|
private readonly _spaces;
|
|
@@ -18,5 +18,7 @@ export declare class DataServiceImpl implements DataService {
|
|
|
18
18
|
subscribe(request: SubscribeRequest): Stream<EchoEvent>;
|
|
19
19
|
write(request: WriteRequest): Promise<MutationReceipt>;
|
|
20
20
|
flush(request: FlushRequest): Promise<void>;
|
|
21
|
+
syncRepo(request: SyncRepoRequest): Stream<SyncRepoResponse>;
|
|
22
|
+
sendSyncMessage(request: SyncRepoRequest): Promise<void>;
|
|
21
23
|
}
|
|
22
24
|
//# sourceMappingURL=data-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-service.d.ts","sourceRoot":"","sources":["../../../../src/db-host/data-service.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGnD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,YAAY,
|
|
1
|
+
{"version":3,"file":"data-service.d.ts","sourceRoot":"","sources":["../../../../src/db-host/data-service.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGnD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACtB,MAAM,yCAAyC,CAAC;AAGjD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAG3D,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8D;IAEtF,KAAK;IAIC,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe;IAOxD,eAAe,CAAC,QAAQ,EAAE,SAAS;IAOzC,cAAc,CAAC,QAAQ,EAAE,SAAS;CAGnC;AAED;;GAEG;AAEH,qBAAa,eAAgB,YAAW,WAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAAd,cAAc,EAAE,wBAAwB;IAErE,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAC;IAOvD,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC;IAQtD,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAO3C,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAAC,gBAAgB,CAAC;IAI5D,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;CAGzD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-pipeline.d.ts","sourceRoot":"","sources":["../../../../src/space/data-pipeline.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAiD,MAAM,aAAa,CAAC;AAEnF,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,QAAQ,EACb,KAAK,kBAAkB,EAExB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAA2B,WAAW,EAAmB,MAAM,eAAe,CAAC;AAGtF,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAMxD,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,KAAK,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,OAAO,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;CACvD;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,EAAE,YAAY,CAAC;IAC3B,eAAe,EAAE,eAAe,CAAC;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;IACpB,gBAAgB,EAAE,CAAC,OAAO,EAAE,SAAS,KAAK,QAAQ,GAAG,SAAS,CAAC;IAC/D,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAE/B;;OAEG;IACH,iBAAiB,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1D,CAAC;AAiBF;;;;GAIG;AACH,qBAEa,YAAa,YAAW,mBAAmB;IAmC1C,OAAO,CAAC,QAAQ,CAAC,OAAO;IAlCpC,OAAO,CAAC,IAAI,CAAiB;IAC7B,OAAO,CAAC,SAAS,CAAC,CAAuB;IACzC,OAAO,CAAC,gBAAgB,CAAC,CAAwB;IAEjD,OAAO,CAAC,+BAA+B,CAAmB;IAC1D,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,sBAAsB,CAAK;IACnC,OAAO,CAAC,qBAAqB,CAAK;IAClC,OAAO,CAAC,mBAAmB,CAAM;IACjC,OAAO,CAAC,SAAS,CAAC,CAAU;IAG5B,OAAO,CAAC,MAAM,CAA0B;IAGxC,OAAO,CAAC,UAAU,CAA2B;IAEtC,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B,WAAW,EAAG,WAAW,CAAC;IAEjC;;OAEG;IACI,YAAY,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAa;IAE5D;;OAEG;IACI,YAAY,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAa;IAE5D,SAAgB,UAAU,oBAA2B;gBAExB,OAAO,EAAE,kBAAkB;IAExD,IAAI,MAAM,YAET;IAED,IAAI,QAAQ,yBAEX;IAED,IAAI,aAAa,6DAEhB;IAED,kBAAkB,CAAC,SAAS,EAAE,SAAS;IAKjC,iBAAiB,CAAC,UAAU,EAAE,UAAU;IAaxC,IAAI;IAuCJ,KAAK;YAiCG,gBAAgB;
|
|
1
|
+
{"version":3,"file":"data-pipeline.d.ts","sourceRoot":"","sources":["../../../../src/space/data-pipeline.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAiD,MAAM,aAAa,CAAC;AAEnF,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,QAAQ,EACb,KAAK,kBAAkB,EAExB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAA2B,WAAW,EAAmB,MAAM,eAAe,CAAC;AAGtF,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAMxD,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,KAAK,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,OAAO,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;CACvD;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,EAAE,YAAY,CAAC;IAC3B,eAAe,EAAE,eAAe,CAAC;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;IACpB,gBAAgB,EAAE,CAAC,OAAO,EAAE,SAAS,KAAK,QAAQ,GAAG,SAAS,CAAC;IAC/D,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAE/B;;OAEG;IACH,iBAAiB,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1D,CAAC;AAiBF;;;;GAIG;AACH,qBAEa,YAAa,YAAW,mBAAmB;IAmC1C,OAAO,CAAC,QAAQ,CAAC,OAAO;IAlCpC,OAAO,CAAC,IAAI,CAAiB;IAC7B,OAAO,CAAC,SAAS,CAAC,CAAuB;IACzC,OAAO,CAAC,gBAAgB,CAAC,CAAwB;IAEjD,OAAO,CAAC,+BAA+B,CAAmB;IAC1D,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,sBAAsB,CAAK;IACnC,OAAO,CAAC,qBAAqB,CAAK;IAClC,OAAO,CAAC,mBAAmB,CAAM;IACjC,OAAO,CAAC,SAAS,CAAC,CAAU;IAG5B,OAAO,CAAC,MAAM,CAA0B;IAGxC,OAAO,CAAC,UAAU,CAA2B;IAEtC,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B,WAAW,EAAG,WAAW,CAAC;IAEjC;;OAEG;IACI,YAAY,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAa;IAE5D;;OAEG;IACI,YAAY,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAa;IAE5D,SAAgB,UAAU,oBAA2B;gBAExB,OAAO,EAAE,kBAAkB;IAExD,IAAI,MAAM,YAET;IAED,IAAI,QAAQ,yBAEX;IAED,IAAI,aAAa,6DAEhB;IAED,kBAAkB,CAAC,SAAS,EAAE,SAAS;IAKjC,iBAAiB,CAAC,UAAU,EAAE,UAAU;IAaxC,IAAI;IAuCJ,KAAK;YAiCG,gBAAgB;IA8D9B,OAAO,CAAC,eAAe;YAST,oBAAoB;YAMpB,UAAU;YAsBV,wBAAwB;YAqBxB,2BAA2B;YA4B3B,aAAa;IAiBrB,kBAAkB,CAAC,SAAS,EAAE,SAAS;IAMvC,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC;IAqB7B,sBAAsB;YAId,MAAM;CAYrB"}
|
|
@@ -37,6 +37,7 @@ export declare class SpaceProtocol {
|
|
|
37
37
|
private readonly _onAuthFailure?;
|
|
38
38
|
readonly blobSync: BlobSync;
|
|
39
39
|
private readonly _topic;
|
|
40
|
+
private readonly _spaceKey;
|
|
40
41
|
private readonly _feeds;
|
|
41
42
|
private readonly _sessions;
|
|
42
43
|
private _connection?;
|
|
@@ -81,7 +82,7 @@ export declare class SpaceProtocolSession implements WireProtocol {
|
|
|
81
82
|
get stats(): Event<MuxerStats>;
|
|
82
83
|
constructor({ wireParams, swarmIdentity, onSessionAuth, onAuthFailure, blobSync }: SpaceProtocolSessionParams);
|
|
83
84
|
get stream(): import("stream").Duplex;
|
|
84
|
-
open(): Promise<void>;
|
|
85
|
+
open(sessionId?: PublicKey): Promise<void>;
|
|
85
86
|
close(): Promise<void>;
|
|
86
87
|
abort(): Promise<void>;
|
|
87
88
|
}
|
|
@@ -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,cAAc,EAEnB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EAExB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,KAAK,UAAU,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,KAAK,SAAS,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAG1E,OAAO,EAAiB,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,QAAQ,CAAC;AAE7E,eAAO,MAAM,kBAAkB,EAAE,YAA+D,CAAC;AACjG,eAAO,MAAM,kBAAkB,EAAE,YAAwE,CAAC;AAG1G,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,SAAS,CAAC;IACnB,kBAAkB,EAAE,YAAY,CAAC;IACjC,uBAAuB,EAAE,YAAY,CAAC;CACvC;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,SAAS,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,cAAc,CAAC;IAE/B,SAAS,EAAE,SAAS,CAAC;IAErB;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC5C,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC;CAC7C,CAAC;AAEF;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAA8B;IAC9D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAA8B;IAE9D,SAAgB,QAAQ,EAAE,QAAQ,CAAC;IAGnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAE5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAC9D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmE;IAE7F,OAAO,CAAC,WAAW,CAAC,CAAkB;IAEtC,IAAI,QAAQ,IAAI,WAAW,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAE3D;IAED,IAAI,KAAK,IAAI,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAEjD;IAGD,OAAO,KAAK,WAAW,GAEtB;gBAEW,EAAE,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,oBAAoB;
|
|
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,cAAc,EAEnB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EAExB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,KAAK,UAAU,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,KAAK,SAAS,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAG1E,OAAO,EAAiB,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,QAAQ,CAAC;AAE7E,eAAO,MAAM,kBAAkB,EAAE,YAA+D,CAAC;AACjG,eAAO,MAAM,kBAAkB,EAAE,YAAwE,CAAC;AAG1G,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,SAAS,CAAC;IACnB,kBAAkB,EAAE,YAAY,CAAC;IACjC,uBAAuB,EAAE,YAAY,CAAC;CACvC;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,SAAS,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,cAAc,CAAC;IAE/B,SAAS,EAAE,SAAS,CAAC;IAErB;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC5C,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC;CAC7C,CAAC;AAEF;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAA8B;IAC9D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAA8B;IAE9D,SAAgB,QAAQ,EAAE,QAAQ,CAAC;IAGnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAE5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IAEtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAC9D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmE;IAE7F,OAAO,CAAC,WAAW,CAAC,CAAkB;IAEtC,IAAI,QAAQ,IAAI,WAAW,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAE3D;IAED,IAAI,KAAK,IAAI,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAEjD;IAGD,OAAO,KAAK,WAAW,GAEtB;gBAEW,EAAE,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,oBAAoB;IAanH,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC;IAUhC,KAAK;IA8BL,IAAI;IAUV,OAAO,CAAC,uBAAuB;CAkBhC;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,UAAU,EAAE,kBAAkB,CAAC;IAC/B,aAAa,EAAE,aAAa,CAAC;IAE7B,QAAQ,EAAE,QAAQ,CAAC;IAEnB;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC;IAE5C,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC;CAC7C,CAAC;AAEF,oBAAY,UAAU;IACpB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAGD;;GAEG;AACH,qBAAa,oBAAqB,YAAW,YAAY;IAEvD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IAEjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAA8B;IAC9D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAA8B;IAC9D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IAErC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IAGrC,SAAgB,UAAU,sBAA0D;IAEpF,OAAO,CAAC,WAAW,CAAsB;IAEzC,IACI,UAAU,eAEb;IAED,IAAI,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,CAE7B;gBAGW,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,0BAA0B;IAU7G,IAAI,MAAM,4BAET;IAEK,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB1C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
|
package/package.json
CHANGED
|
@@ -1,17 +1,33 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/echo-pipeline",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.9-main.14901ff",
|
|
4
4
|
"description": "ECHO database.",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"author": "info@dxos.org",
|
|
9
|
-
"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"browser": "./dist/lib/browser/index.mjs",
|
|
12
|
+
"import": "./dist/lib/browser/index.mjs",
|
|
13
|
+
"require": "./dist/lib/node/index.cjs",
|
|
14
|
+
"node": "./dist/lib/node/index.cjs"
|
|
15
|
+
},
|
|
16
|
+
"./testing": {
|
|
17
|
+
"browser": "./dist/lib/browser/testing/index.mjs",
|
|
18
|
+
"import": "./dist/lib/browser/testing/index.mjs",
|
|
19
|
+
"require": "./dist/lib/node/testing/index.cjs",
|
|
20
|
+
"node": "./dist/lib/node/testing/index.cjs"
|
|
21
|
+
}
|
|
13
22
|
},
|
|
14
23
|
"types": "dist/types/src/index.d.ts",
|
|
24
|
+
"typesVersions": {
|
|
25
|
+
"*": {
|
|
26
|
+
"testing": [
|
|
27
|
+
"dist/types/src/testing/index.d.ts"
|
|
28
|
+
]
|
|
29
|
+
}
|
|
30
|
+
},
|
|
15
31
|
"files": [
|
|
16
32
|
"testing.d.ts",
|
|
17
33
|
"testing.js",
|
|
@@ -20,36 +36,36 @@
|
|
|
20
36
|
],
|
|
21
37
|
"dependencies": {
|
|
22
38
|
"crc-32": "^1.2.2",
|
|
23
|
-
"@dxos/
|
|
24
|
-
"@dxos/
|
|
25
|
-
"@dxos/
|
|
26
|
-
"@dxos/
|
|
27
|
-
"@dxos/
|
|
28
|
-
"@dxos/
|
|
29
|
-
"@dxos/document-model": "0.3.
|
|
30
|
-
"@dxos/echo-db": "0.3.
|
|
31
|
-
"@dxos/feed-store": "0.3.
|
|
32
|
-
"@dxos/
|
|
33
|
-
"@dxos/
|
|
34
|
-
"@dxos/
|
|
35
|
-
"@dxos/
|
|
36
|
-
"@dxos/log": "0.3.
|
|
37
|
-
"@dxos/
|
|
38
|
-
"@dxos/
|
|
39
|
-
"@dxos/network-manager": "0.3.
|
|
40
|
-
"@dxos/
|
|
41
|
-
"@dxos/random-access-storage": "0.3.
|
|
42
|
-
"@dxos/
|
|
43
|
-
"@dxos/
|
|
44
|
-
"@dxos/teleport
|
|
45
|
-
"@dxos/teleport-extension-
|
|
46
|
-
"@dxos/
|
|
47
|
-
"@dxos/teleport-extension-
|
|
48
|
-
"@dxos/text-model": "0.3.
|
|
49
|
-
"@dxos/timeframe": "0.3.
|
|
50
|
-
"@dxos/
|
|
51
|
-
"@dxos/
|
|
52
|
-
"@dxos/
|
|
39
|
+
"@dxos/codec-protobuf": "0.3.9-main.14901ff",
|
|
40
|
+
"@dxos/async": "0.3.9-main.14901ff",
|
|
41
|
+
"@dxos/context": "0.3.9-main.14901ff",
|
|
42
|
+
"@dxos/credentials": "0.3.9-main.14901ff",
|
|
43
|
+
"@dxos/crypto": "0.3.9-main.14901ff",
|
|
44
|
+
"@dxos/debug": "0.3.9-main.14901ff",
|
|
45
|
+
"@dxos/document-model": "0.3.9-main.14901ff",
|
|
46
|
+
"@dxos/echo-db": "0.3.9-main.14901ff",
|
|
47
|
+
"@dxos/feed-store": "0.3.9-main.14901ff",
|
|
48
|
+
"@dxos/invariant": "0.3.9-main.14901ff",
|
|
49
|
+
"@dxos/hypercore": "0.3.9-main.14901ff",
|
|
50
|
+
"@dxos/keys": "0.3.9-main.14901ff",
|
|
51
|
+
"@dxos/keyring": "0.3.9-main.14901ff",
|
|
52
|
+
"@dxos/log": "0.3.9-main.14901ff",
|
|
53
|
+
"@dxos/node-std": "0.3.9-main.14901ff",
|
|
54
|
+
"@dxos/model-factory": "0.3.9-main.14901ff",
|
|
55
|
+
"@dxos/network-manager": "0.3.9-main.14901ff",
|
|
56
|
+
"@dxos/messaging": "0.3.9-main.14901ff",
|
|
57
|
+
"@dxos/random-access-storage": "0.3.9-main.14901ff",
|
|
58
|
+
"@dxos/rpc": "0.3.9-main.14901ff",
|
|
59
|
+
"@dxos/protocols": "0.3.9-main.14901ff",
|
|
60
|
+
"@dxos/teleport": "0.3.9-main.14901ff",
|
|
61
|
+
"@dxos/teleport-extension-gossip": "0.3.9-main.14901ff",
|
|
62
|
+
"@dxos/teleport-extension-replicator": "0.3.9-main.14901ff",
|
|
63
|
+
"@dxos/teleport-extension-object-sync": "0.3.9-main.14901ff",
|
|
64
|
+
"@dxos/text-model": "0.3.9-main.14901ff",
|
|
65
|
+
"@dxos/timeframe": "0.3.9-main.14901ff",
|
|
66
|
+
"@dxos/typings": "0.3.9-main.14901ff",
|
|
67
|
+
"@dxos/tracing": "0.3.9-main.14901ff",
|
|
68
|
+
"@dxos/util": "0.3.9-main.14901ff"
|
|
53
69
|
},
|
|
54
70
|
"devDependencies": {
|
|
55
71
|
"fast-check": "~3.3.0",
|
|
@@ -12,7 +12,13 @@ import { type PublicKey } from '@dxos/keys';
|
|
|
12
12
|
import { log } from '@dxos/log';
|
|
13
13
|
import { type DataMessage } from '@dxos/protocols/proto/dxos/echo/feed';
|
|
14
14
|
import { type EchoObject, type EchoObjectBatch } from '@dxos/protocols/proto/dxos/echo/object';
|
|
15
|
-
import {
|
|
15
|
+
import {
|
|
16
|
+
EchoEvent,
|
|
17
|
+
type SyncRepoRequest,
|
|
18
|
+
type MutationReceipt,
|
|
19
|
+
type WriteRequest,
|
|
20
|
+
type SyncRepoResponse,
|
|
21
|
+
} from '@dxos/protocols/proto/dxos/echo/service';
|
|
16
22
|
import { ComplexMap } from '@dxos/util';
|
|
17
23
|
|
|
18
24
|
// After this limit the incremental object updates will be replaced with the full snapshot of the object.
|
|
@@ -198,6 +204,14 @@ export class DataServiceHost {
|
|
|
198
204
|
async flush(): Promise<void> {
|
|
199
205
|
await this._flush();
|
|
200
206
|
}
|
|
207
|
+
|
|
208
|
+
syncRepo(request: SyncRepoRequest): Stream<SyncRepoResponse> {
|
|
209
|
+
throw new Error('Method not implemented.');
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
sendSyncMessage(request: SyncRepoRequest): Promise<void> {
|
|
213
|
+
throw new Error('Method not implemented.');
|
|
214
|
+
}
|
|
201
215
|
}
|
|
202
216
|
|
|
203
217
|
const createDataMessage = (batch: EchoObjectBatch) => ({
|
|
@@ -14,6 +14,8 @@ import {
|
|
|
14
14
|
type EchoEvent,
|
|
15
15
|
type WriteRequest,
|
|
16
16
|
type FlushRequest,
|
|
17
|
+
type SyncRepoRequest,
|
|
18
|
+
type SyncRepoResponse,
|
|
17
19
|
} from '@dxos/protocols/proto/dxos/echo/service';
|
|
18
20
|
import { ComplexMap } from '@dxos/util';
|
|
19
21
|
|
|
@@ -74,4 +76,12 @@ export class DataServiceImpl implements DataService {
|
|
|
74
76
|
this._subscriptions.getDataService(request.spaceKey) ?? raise(new Error(`space not found: ${request.spaceKey}`));
|
|
75
77
|
return host.flush();
|
|
76
78
|
}
|
|
79
|
+
|
|
80
|
+
syncRepo(request: SyncRepoRequest): Stream<SyncRepoResponse> {
|
|
81
|
+
throw new Error('Method not implemented.');
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
sendSyncMessage(request: SyncRepoRequest): Promise<void> {
|
|
85
|
+
throw new Error('Method not implemented.');
|
|
86
|
+
}
|
|
77
87
|
}
|
|
@@ -217,6 +217,7 @@ export class DataPipeline implements CredentialProcessor {
|
|
|
217
217
|
await waitForOneEpoch;
|
|
218
218
|
}
|
|
219
219
|
|
|
220
|
+
// CPU bottleneck control.
|
|
220
221
|
let messageCounter = 0;
|
|
221
222
|
|
|
222
223
|
invariant(this._pipeline, 'Pipeline is not initialized.');
|
|
@@ -263,10 +264,10 @@ export class DataPipeline implements CredentialProcessor {
|
|
|
263
264
|
|
|
264
265
|
span.end();
|
|
265
266
|
|
|
266
|
-
if (++messageCounter >
|
|
267
|
+
if (++messageCounter > 100) {
|
|
267
268
|
messageCounter = 0;
|
|
268
269
|
// Allow other tasks to process.
|
|
269
|
-
await
|
|
270
|
+
await idle(1_000);
|
|
270
271
|
}
|
|
271
272
|
}
|
|
272
273
|
}
|
|
@@ -418,3 +419,39 @@ export class DataPipeline implements CredentialProcessor {
|
|
|
418
419
|
await this._params.metadataStore.flush();
|
|
419
420
|
}
|
|
420
421
|
}
|
|
422
|
+
|
|
423
|
+
/**
|
|
424
|
+
* Waits up to `timeout` ms for the browser to be idle.
|
|
425
|
+
*/
|
|
426
|
+
const idle = async (timeout?: number) => {
|
|
427
|
+
if (!('scheduler' in globalThis && typeof (globalThis as any).scheduler.postTask === 'function')) {
|
|
428
|
+
await sleep(1);
|
|
429
|
+
return;
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
await new Promise<void>((resolve) => {
|
|
433
|
+
// const beginTime = performance.now();
|
|
434
|
+
const cleanup = () => {
|
|
435
|
+
clearTimeout(timer);
|
|
436
|
+
controller.abort();
|
|
437
|
+
// log.warn('yielded for', { ms: performance.now() - beginTime });
|
|
438
|
+
};
|
|
439
|
+
|
|
440
|
+
const controller = new AbortController();
|
|
441
|
+
|
|
442
|
+
void (globalThis as any).scheduler
|
|
443
|
+
.postTask(
|
|
444
|
+
() => {
|
|
445
|
+
cleanup();
|
|
446
|
+
resolve();
|
|
447
|
+
},
|
|
448
|
+
{ priority: 'background', signal: controller.signal },
|
|
449
|
+
)
|
|
450
|
+
.catch(() => {});
|
|
451
|
+
|
|
452
|
+
const timer = setTimeout(() => {
|
|
453
|
+
cleanup();
|
|
454
|
+
resolve();
|
|
455
|
+
}, timeout);
|
|
456
|
+
});
|
|
457
|
+
};
|
|
@@ -62,6 +62,8 @@ export class SpaceProtocol {
|
|
|
62
62
|
@logInfo
|
|
63
63
|
private readonly _topic: Promise<PublicKey>;
|
|
64
64
|
|
|
65
|
+
private readonly _spaceKey: PublicKey;
|
|
66
|
+
|
|
65
67
|
private readonly _feeds = new Set<FeedWrapper<FeedMessage>>();
|
|
66
68
|
private readonly _sessions = new ComplexMap<PublicKey, SpaceProtocolSession>(PublicKey.hash);
|
|
67
69
|
|
|
@@ -81,6 +83,7 @@ export class SpaceProtocol {
|
|
|
81
83
|
}
|
|
82
84
|
|
|
83
85
|
constructor({ topic, swarmIdentity, networkManager, onSessionAuth, onAuthFailure, blobStore }: SpaceProtocolOptions) {
|
|
86
|
+
this._spaceKey = topic;
|
|
84
87
|
this._networkManager = networkManager;
|
|
85
88
|
this._swarmIdentity = swarmIdentity;
|
|
86
89
|
this._onSessionAuth = onSessionAuth;
|
|
@@ -126,7 +129,7 @@ export class SpaceProtocol {
|
|
|
126
129
|
peerId: this._swarmIdentity.peerKey,
|
|
127
130
|
topic,
|
|
128
131
|
topology: new MMSTTopology(topologyConfig),
|
|
129
|
-
label: `
|
|
132
|
+
label: `swarm ${topic.truncate()} for space ${this._spaceKey.truncate()}`,
|
|
130
133
|
});
|
|
131
134
|
|
|
132
135
|
log('started');
|
|
@@ -227,8 +230,8 @@ export class SpaceProtocolSession implements WireProtocol {
|
|
|
227
230
|
return this._teleport.stream;
|
|
228
231
|
}
|
|
229
232
|
|
|
230
|
-
async open(): Promise<void> {
|
|
231
|
-
await this._teleport.open();
|
|
233
|
+
async open(sessionId?: PublicKey): Promise<void> {
|
|
234
|
+
await this._teleport.open(sessionId);
|
|
232
235
|
this._teleport.addExtension(
|
|
233
236
|
'dxos.mesh.teleport.auth',
|
|
234
237
|
new AuthExtension({
|