@dxos/echo-pipeline 0.6.7 → 0.6.8-main.3be982f

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 (70) hide show
  1. package/dist/lib/browser/chunk-NE5LORNQ.mjs +2028 -0
  2. package/dist/lib/browser/chunk-NE5LORNQ.mjs.map +7 -0
  3. package/dist/lib/browser/chunk-Q4B5JN6L.mjs +2150 -0
  4. package/dist/lib/browser/chunk-Q4B5JN6L.mjs.map +7 -0
  5. package/dist/lib/browser/chunk-XPCF2V5U.mjs +31 -0
  6. package/dist/lib/browser/chunk-XPCF2V5U.mjs.map +7 -0
  7. package/dist/lib/browser/index.mjs +16 -16
  8. package/dist/lib/browser/light.mjs +32 -0
  9. package/dist/lib/browser/light.mjs.map +7 -0
  10. package/dist/lib/browser/meta.json +1 -1
  11. package/dist/lib/browser/testing/index.mjs +3 -7
  12. package/dist/lib/browser/testing/index.mjs.map +3 -3
  13. package/dist/lib/node/chunk-5KNTTBQK.cjs +2146 -0
  14. package/dist/lib/node/chunk-5KNTTBQK.cjs.map +7 -0
  15. package/dist/lib/node/chunk-DZVH7HDD.cjs +43 -0
  16. package/dist/lib/node/chunk-DZVH7HDD.cjs.map +7 -0
  17. package/dist/lib/node/chunk-IHR4UMVA.cjs +2043 -0
  18. package/dist/lib/node/chunk-IHR4UMVA.cjs.map +7 -0
  19. package/dist/lib/node/index.cjs +35 -37
  20. package/dist/lib/node/index.cjs.map +2 -2
  21. package/dist/lib/node/light.cjs +52 -0
  22. package/dist/lib/node/light.cjs.map +7 -0
  23. package/dist/lib/node/meta.json +1 -1
  24. package/dist/lib/node/testing/index.cjs +12 -15
  25. package/dist/lib/node/testing/index.cjs.map +3 -3
  26. package/dist/types/src/automerge/automerge-host.d.ts.map +1 -1
  27. package/dist/types/src/automerge/network-protocol.d.ts.map +1 -1
  28. package/dist/types/src/common/codec.d.ts +0 -1
  29. package/dist/types/src/common/codec.d.ts.map +1 -1
  30. package/dist/types/src/common/feeds.d.ts.map +1 -1
  31. package/dist/types/src/common/index.d.ts +1 -0
  32. package/dist/types/src/common/index.d.ts.map +1 -1
  33. package/dist/types/src/common/space-id.d.ts +7 -0
  34. package/dist/types/src/common/space-id.d.ts.map +1 -0
  35. package/dist/types/src/db-host/index.d.ts +0 -2
  36. package/dist/types/src/db-host/index.d.ts.map +1 -1
  37. package/dist/types/src/light.d.ts +4 -0
  38. package/dist/types/src/light.d.ts.map +1 -0
  39. package/dist/types/src/pipeline/message-selector.d.ts.map +1 -1
  40. package/dist/types/src/space/space-manager.d.ts +1 -7
  41. package/dist/types/src/space/space-manager.d.ts.map +1 -1
  42. package/dist/types/src/space/space-protocol.d.ts +0 -1
  43. package/dist/types/src/space/space-protocol.d.ts.map +1 -1
  44. package/dist/types/src/space/space.d.ts +1 -10
  45. package/dist/types/src/space/space.d.ts.map +1 -1
  46. package/dist/types/src/testing/test-agent-builder.d.ts +0 -3
  47. package/dist/types/src/testing/test-agent-builder.d.ts.map +1 -1
  48. package/package.json +43 -33
  49. package/src/automerge/echo-network-adapter.ts +1 -1
  50. package/src/automerge/mesh-echo-replicator.ts +1 -1
  51. package/src/common/index.ts +1 -0
  52. package/src/common/space-id.ts +27 -0
  53. package/src/db-host/index.ts +0 -2
  54. package/src/light.ts +7 -0
  55. package/src/space/space-manager.ts +3 -19
  56. package/src/space/space.ts +2 -32
  57. package/src/testing/test-agent-builder.ts +0 -7
  58. package/dist/lib/browser/chunk-P6XSIJKM.mjs +0 -4281
  59. package/dist/lib/browser/chunk-P6XSIJKM.mjs.map +0 -7
  60. package/dist/lib/node/chunk-IYTGTZ7D.cjs +0 -4255
  61. package/dist/lib/node/chunk-IYTGTZ7D.cjs.map +0 -7
  62. package/dist/types/src/db-host/snapshot-manager.d.ts +0 -19
  63. package/dist/types/src/db-host/snapshot-manager.d.ts.map +0 -1
  64. package/dist/types/src/db-host/snapshot-store.d.ts +0 -16
  65. package/dist/types/src/db-host/snapshot-store.d.ts.map +0 -1
  66. package/dist/types/src/db-host/snapshot-store.test.d.ts +0 -2
  67. package/dist/types/src/db-host/snapshot-store.test.d.ts.map +0 -1
  68. package/src/db-host/snapshot-manager.ts +0 -54
  69. package/src/db-host/snapshot-store.test.ts +0 -31
  70. package/src/db-host/snapshot-store.ts +0 -61
@@ -1,19 +0,0 @@
1
- import { type Context } from '@dxos/context';
2
- import { type SpaceSnapshot } from '@dxos/protocols/proto/dxos/echo/snapshot';
3
- import { type BlobStore, type BlobSync } from '@dxos/teleport-extension-object-sync';
4
- import { type SnapshotStore } from './snapshot-store';
5
- declare const SpaceSnapshot: import("packages/common/codec-protobuf/dist/types/src").ProtoCodec<SpaceSnapshot>;
6
- /**
7
- * Snapshot manager for a specific space.
8
- */
9
- export declare class SnapshotManager {
10
- private readonly _snapshotStore;
11
- private readonly _blobStore;
12
- private readonly _blobSync;
13
- constructor(_snapshotStore: SnapshotStore, _blobStore: BlobStore, _blobSync: BlobSync);
14
- private _getBlob;
15
- load(ctx: Context, id: string): Promise<SpaceSnapshot>;
16
- store(snapshot: SpaceSnapshot): Promise<string>;
17
- }
18
- export {};
19
- //# sourceMappingURL=snapshot-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"snapshot-manager.d.ts","sourceRoot":"","sources":["../../../../src/db-host/snapshot-manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,OAAO,EAAqB,MAAM,eAAe,CAAC;AAIhE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAErF,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,QAAA,MAAM,aAAa,mFAA6D,CAAC;AAEjF;;GAEG;AACH,qBAAa,eAAe;IAExB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAFT,cAAc,EAAE,aAAa,EAC7B,UAAU,EAAE,SAAS,EACrB,SAAS,EAAE,QAAQ;YAGxB,QAAQ;IAKhB,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAkBtD,KAAK,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;CAKtD"}
@@ -1,16 +0,0 @@
1
- import { type StoredSnapshotInfo } from '@dxos/protocols/proto/dxos/devtools/host';
2
- import { type SpaceSnapshot } from '@dxos/protocols/proto/dxos/echo/snapshot';
3
- import { type Directory } from '@dxos/random-access-storage';
4
- declare const SpaceSnapshot: import("packages/common/codec-protobuf/dist/types/src").ProtoCodec<SpaceSnapshot>;
5
- /**
6
- * @deprecated
7
- */
8
- export declare class SnapshotStore {
9
- private readonly _directory;
10
- constructor(_directory: Directory);
11
- saveSnapshot(snapshot: SpaceSnapshot): Promise<string>;
12
- loadSnapshot(key: string): Promise<SpaceSnapshot | undefined>;
13
- listSnapshots(): Promise<StoredSnapshotInfo[]>;
14
- }
15
- export {};
16
- //# sourceMappingURL=snapshot-store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"snapshot-store.d.ts","sourceRoot":"","sources":["../../../../src/db-host/snapshot-store.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE7D,QAAA,MAAM,aAAa,mFAA6D,CAAC;AACjF;;GAEG;AACH,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,SAAS;IAE5C,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IAetD,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAe7D,aAAa,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;CAarD"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=snapshot-store.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"snapshot-store.test.d.ts","sourceRoot":"","sources":["../../../../src/db-host/snapshot-store.test.ts"],"names":[],"mappings":""}
@@ -1,54 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import { type Context, cancelWithContext } from '@dxos/context';
6
- import { PublicKey } from '@dxos/keys';
7
- import { schema } from '@dxos/protocols';
8
- import { BlobMeta } from '@dxos/protocols/proto/dxos/echo/blob';
9
- import { type SpaceSnapshot } from '@dxos/protocols/proto/dxos/echo/snapshot';
10
- import { type BlobStore, type BlobSync } from '@dxos/teleport-extension-object-sync';
11
-
12
- import { type SnapshotStore } from './snapshot-store';
13
-
14
- const SpaceSnapshot = schema.getCodecForType('dxos.echo.snapshot.SpaceSnapshot');
15
-
16
- /**
17
- * Snapshot manager for a specific space.
18
- */
19
- export class SnapshotManager {
20
- constructor(
21
- private readonly _snapshotStore: SnapshotStore,
22
- private readonly _blobStore: BlobStore,
23
- private readonly _blobSync: BlobSync,
24
- ) {}
25
-
26
- private async _getBlob(blobId: Uint8Array): Promise<SpaceSnapshot> {
27
- const blob = await this._blobStore.get(blobId);
28
- return SpaceSnapshot.decode(blob);
29
- }
30
-
31
- async load(ctx: Context, id: string): Promise<SpaceSnapshot> {
32
- const blobId = PublicKey.fromHex(id).asUint8Array();
33
- const blobMeta = await this._blobStore.getMeta(blobId);
34
- if (blobMeta && blobMeta.state === BlobMeta.State.FULLY_PRESENT) {
35
- return this._getBlob(blobId);
36
- }
37
-
38
- // TODO(dmaretskyi): Remove once we fully migrate to blob store.
39
- const fallbackStore = await cancelWithContext(ctx, this._snapshotStore.loadSnapshot(id));
40
- if (fallbackStore) {
41
- return fallbackStore;
42
- }
43
-
44
- await this._blobSync.download(ctx, blobId);
45
-
46
- return this._getBlob(blobId);
47
- }
48
-
49
- async store(snapshot: SpaceSnapshot): Promise<string> {
50
- const { id } = await this._blobStore.set(SpaceSnapshot.encode(snapshot));
51
- await this._blobSync.notifyBlobAdded(id);
52
- return PublicKey.from(id).toHex();
53
- }
54
- }
@@ -1,31 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import expect from 'expect';
6
-
7
- import { PublicKey } from '@dxos/keys';
8
- import { type SpaceSnapshot } from '@dxos/protocols/proto/dxos/echo/snapshot';
9
- import { createStorage } from '@dxos/random-access-storage';
10
- import { describe, test } from '@dxos/test';
11
- import { Timeframe } from '@dxos/timeframe';
12
-
13
- import { SnapshotStore } from './snapshot-store';
14
-
15
- describe('SnapshotStore', () => {
16
- test('should save and load snapshot', async () => {
17
- const store = new SnapshotStore(createStorage().createDirectory('snapshots'));
18
-
19
- const snapshot: SpaceSnapshot = {
20
- spaceKey: PublicKey.random().asBuffer(),
21
- timeframe: new Timeframe(),
22
- database: {
23
- items: [],
24
- },
25
- };
26
-
27
- const key = await store.saveSnapshot(snapshot);
28
- const loaded = await store.loadSnapshot(key);
29
- expect(loaded).toEqual(snapshot);
30
- }).tag('flaky');
31
- });
@@ -1,61 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import { subtleCrypto } from '@dxos/crypto';
6
- import { schema } from '@dxos/protocols';
7
- import { type StoredSnapshotInfo } from '@dxos/protocols/proto/dxos/devtools/host';
8
- import { type SpaceSnapshot } from '@dxos/protocols/proto/dxos/echo/snapshot';
9
- import { type Directory } from '@dxos/random-access-storage';
10
-
11
- const SpaceSnapshot = schema.getCodecForType('dxos.echo.snapshot.SpaceSnapshot');
12
- /**
13
- * @deprecated
14
- */
15
- export class SnapshotStore {
16
- constructor(private readonly _directory: Directory) {}
17
-
18
- async saveSnapshot(snapshot: SpaceSnapshot): Promise<string> {
19
- const encoded = SpaceSnapshot.encode(snapshot);
20
- const key = await subtleCrypto.digest('SHA-256', encoded);
21
- const keyString = Buffer.from(key).toString('hex');
22
-
23
- const file = await this._directory.getOrCreateFile(keyString);
24
- try {
25
- await file.write(0, Buffer.from(encoded));
26
- } finally {
27
- await file.close();
28
- }
29
-
30
- return keyString;
31
- }
32
-
33
- async loadSnapshot(key: string): Promise<SpaceSnapshot | undefined> {
34
- const file = await this._directory.getOrCreateFile(key);
35
- try {
36
- const { size } = await file.stat();
37
- if (size === 0) {
38
- return undefined;
39
- }
40
-
41
- const buffer = await file.read(0, size);
42
- return SpaceSnapshot.decode(buffer);
43
- } finally {
44
- await file.close();
45
- }
46
- }
47
-
48
- async listSnapshots(): Promise<StoredSnapshotInfo[]> {
49
- const entries = await this._directory.list();
50
-
51
- return await Promise.all(
52
- entries.map(async (key) => {
53
- const { size } = await this._directory.getOrCreateFile(key).stat();
54
- return {
55
- key,
56
- size,
57
- };
58
- }),
59
- );
60
- }
61
- }