@dxos/echo-pipeline 0.4.8-main.ac78619 → 0.4.8-main.c1d1c78

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 +1 @@
1
- {"inputs":{"inject-globals:@inject-globals":{"bytes":384,"imports":[{"path":"@dxos/node-std/inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/common/codec.ts":{"bytes":1650,"imports":[{"path":"@dxos/hypercore","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/common/feeds.ts":{"bytes":2138,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/common/index.ts":{"bytes":553,"imports":[{"path":"packages/core/echo/echo-pipeline/src/common/codec.ts","kind":"import-statement","original":"./codec"},{"path":"packages/core/echo/echo-pipeline/src/common/feeds.ts","kind":"import-statement","original":"./feeds"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/db-host/data-service-host.ts":{"bytes":25586,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/codec-protobuf","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/echo/service","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/db-host/database-host.ts":{"bytes":5732,"imports":[{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/db-host/data-service-host.ts","kind":"import-statement","original":"./data-service-host"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/db-host/snapshot-manager.ts":{"bytes":6376,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/echo/blob","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/db-host/snapshot-store.ts":{"bytes":6075,"imports":[{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/db-host/data-service.ts":{"bytes":10586,"imports":[{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/db-host/index.ts":{"bytes":920,"imports":[{"path":"packages/core/echo/echo-pipeline/src/db-host/data-service-host.ts","kind":"import-statement","original":"./data-service-host"},{"path":"packages/core/echo/echo-pipeline/src/db-host/database-host.ts","kind":"import-statement","original":"./database-host"},{"path":"packages/core/echo/echo-pipeline/src/db-host/snapshot-manager.ts","kind":"import-statement","original":"./snapshot-manager"},{"path":"packages/core/echo/echo-pipeline/src/db-host/snapshot-store.ts","kind":"import-statement","original":"./snapshot-store"},{"path":"packages/core/echo/echo-pipeline/src/db-host/data-service.ts","kind":"import-statement","original":"./data-service"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/metadata/metadata-store.ts":{"bytes":38251,"imports":[{"path":"crc-32","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/metadata/index.ts":{"bytes":499,"imports":[{"path":"packages/core/echo/echo-pipeline/src/metadata/metadata-store.ts","kind":"import-statement","original":"./metadata-store"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/pipeline/message-selector.ts":{"bytes":3785,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/pipeline/timeframe-clock.ts":{"bytes":9606,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/timeframe","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/pipeline/pipeline.ts":{"bytes":46626,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/feed-store","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/timeframe","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/pipeline/message-selector.ts","kind":"import-statement","original":"./message-selector"},{"path":"packages/core/echo/echo-pipeline/src/pipeline/timeframe-clock.ts","kind":"import-statement","original":"./timeframe-clock"},{"path":"packages/core/echo/echo-pipeline/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/pipeline/index.ts":{"bytes":675,"imports":[{"path":"packages/core/echo/echo-pipeline/src/pipeline/pipeline.ts","kind":"import-statement","original":"./pipeline"},{"path":"packages/core/echo/echo-pipeline/src/pipeline/timeframe-clock.ts","kind":"import-statement","original":"./timeframe-clock"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/auth.ts":{"bytes":10491,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/teleport","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/control-pipeline.ts":{"bytes":28032,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/credentials","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/halo/credentials","kind":"import-statement","external":true},{"path":"@dxos/timeframe","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/pipeline/index.ts","kind":"import-statement","original":"../pipeline"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/data-pipeline.ts":{"bytes":51752,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/credentials","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/timeframe","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/db-host/index.ts","kind":"import-statement","original":"../db-host"},{"path":"packages/core/echo/echo-pipeline/src/pipeline/index.ts","kind":"import-statement","original":"../pipeline"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/space.ts":{"bytes":27926,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/halo/credentials","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/space/control-pipeline.ts","kind":"import-statement","original":"./control-pipeline"},{"path":"packages/core/echo/echo-pipeline/src/space/data-pipeline.ts","kind":"import-statement","original":"./data-pipeline"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/space-protocol.ts":{"bytes":26463,"imports":[{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/network-manager","kind":"import-statement","external":true},{"path":"@dxos/teleport","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-object-sync","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-replicator","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/space/auth.ts","kind":"import-statement","original":"./auth"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/space-manager.ts":{"bytes":13339,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/space/space.ts","kind":"import-statement","original":"./space"},{"path":"packages/core/echo/echo-pipeline/src/space/space-protocol.ts","kind":"import-statement","original":"./space-protocol"},{"path":"packages/core/echo/echo-pipeline/src/db-host/index.ts","kind":"import-statement","original":"../db-host"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/index.ts":{"bytes":859,"imports":[{"path":"packages/core/echo/echo-pipeline/src/space/auth.ts","kind":"import-statement","original":"./auth"},{"path":"packages/core/echo/echo-pipeline/src/space/space.ts","kind":"import-statement","original":"./space"},{"path":"packages/core/echo/echo-pipeline/src/space/space-manager.ts","kind":"import-statement","original":"./space-manager"},{"path":"packages/core/echo/echo-pipeline/src/space/space-protocol.ts","kind":"import-statement","original":"./space-protocol"},{"path":"packages/core/echo/echo-pipeline/src/space/data-pipeline.ts","kind":"import-statement","original":"./data-pipeline"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/automerge-storage-adapter.ts":{"bytes":11518,"imports":[{"path":"@dxos/automerge/automerge-repo","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/automerge-storage–wrapper.ts":{"bytes":5020,"imports":[{"path":"packages/core/echo/echo-pipeline/src/automerge/automerge-storage-adapter.ts","kind":"import-statement","original":"./automerge-storage-adapter"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/local-host-network-adapter.ts":{"bytes":11172,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge-repo","kind":"import-statement","external":true},{"path":"@dxos/codec-protobuf","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/mesh-network-adapter.ts":{"bytes":13712,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge-repo","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-automerge-replicator","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/automerge-host.ts":{"bytes":32916,"imports":[{"path":"@dxos/automerge/automerge","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge-repo","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge-repo-storage-indexeddb","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/random-access-storage","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/automerge/automerge-storage-adapter.ts","kind":"import-statement","original":"./automerge-storage-adapter"},{"path":"packages/core/echo/echo-pipeline/src/automerge/automerge-storage–wrapper.ts","kind":"import-statement","original":"./automerge-storage–wrapper"},{"path":"packages/core/echo/echo-pipeline/src/automerge/local-host-network-adapter.ts","kind":"import-statement","original":"./local-host-network-adapter"},{"path":"packages/core/echo/echo-pipeline/src/automerge/mesh-network-adapter.ts","kind":"import-statement","original":"./mesh-network-adapter"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/index.ts":{"bytes":883,"imports":[{"path":"packages/core/echo/echo-pipeline/src/automerge/automerge-host.ts","kind":"import-statement","original":"./automerge-host"},{"path":"packages/core/echo/echo-pipeline/src/automerge/automerge-storage-adapter.ts","kind":"import-statement","original":"./automerge-storage-adapter"},{"path":"packages/core/echo/echo-pipeline/src/automerge/local-host-network-adapter.ts","kind":"import-statement","original":"./local-host-network-adapter"},{"path":"packages/core/echo/echo-pipeline/src/automerge/mesh-network-adapter.ts","kind":"import-statement","original":"./mesh-network-adapter"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/index.ts":{"bytes":903,"imports":[{"path":"packages/core/echo/echo-pipeline/src/common/index.ts","kind":"import-statement","original":"./common"},{"path":"packages/core/echo/echo-pipeline/src/db-host/index.ts","kind":"import-statement","original":"./db-host"},{"path":"packages/core/echo/echo-pipeline/src/metadata/index.ts","kind":"import-statement","original":"./metadata"},{"path":"packages/core/echo/echo-pipeline/src/pipeline/index.ts","kind":"import-statement","original":"./pipeline"},{"path":"packages/core/echo/echo-pipeline/src/space/index.ts","kind":"import-statement","original":"./space"},{"path":"packages/core/echo/echo-pipeline/src/automerge/index.ts","kind":"import-statement","original":"./automerge"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/testing/change-metadata.ts":{"bytes":3594,"imports":[{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/metadata/index.ts","kind":"import-statement","original":"../metadata"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/testing/test-feed-builder.ts":{"bytes":1474,"imports":[{"path":"@dxos/feed-store/testing","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/testing/test-agent-builder.ts":{"bytes":29261,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/credentials","kind":"import-statement","external":true},{"path":"@dxos/document-model","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/messaging","kind":"import-statement","external":true},{"path":"@dxos/model-factory","kind":"import-statement","external":true},{"path":"@dxos/network-manager","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/halo/credentials","kind":"import-statement","external":true},{"path":"@dxos/random-access-storage","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-gossip","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-object-sync","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/testing/test-feed-builder.ts","kind":"import-statement","original":"./test-feed-builder"},{"path":"packages/core/echo/echo-pipeline/src/db-host/index.ts","kind":"import-statement","original":"../db-host"},{"path":"packages/core/echo/echo-pipeline/src/metadata/index.ts","kind":"import-statement","original":"../metadata"},{"path":"packages/core/echo/echo-pipeline/src/space/index.ts","kind":"import-statement","original":"../space"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/testing/util.ts":{"bytes":10008,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/document-model","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/feed-store/testing","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/model-factory","kind":"import-statement","external":true},{"path":"@dxos/random-access-storage","kind":"import-statement","external":true},{"path":"@dxos/timeframe","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/automerge/index.ts","kind":"import-statement","original":"../automerge"},{"path":"packages/core/echo/echo-pipeline/src/db-host/index.ts","kind":"import-statement","original":"../db-host"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/testing/database-test-rig.ts":{"bytes":30699,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/document-model","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/model-factory","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/text-model","kind":"import-statement","external":true},{"path":"@dxos/timeframe","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/db-host/index.ts","kind":"import-statement","original":"../db-host"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/testing/index.ts":{"bytes":915,"imports":[{"path":"packages/core/echo/echo-pipeline/src/testing/change-metadata.ts","kind":"import-statement","original":"./change-metadata"},{"path":"packages/core/echo/echo-pipeline/src/testing/test-agent-builder.ts","kind":"import-statement","original":"./test-agent-builder"},{"path":"packages/core/echo/echo-pipeline/src/testing/test-feed-builder.ts","kind":"import-statement","original":"./test-feed-builder"},{"path":"packages/core/echo/echo-pipeline/src/testing/util.ts","kind":"import-statement","original":"./util"},{"path":"packages/core/echo/echo-pipeline/src/testing/database-test-rig.ts","kind":"import-statement","original":"./database-test-rig"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"packages/core/echo/echo-pipeline/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/core/echo/echo-pipeline/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/core/echo/echo-pipeline/dist/lib/browser/chunk-LED7X4WK.mjs","kind":"import-statement"}],"exports":["AuthExtension","AuthStatus","AutomergeHost","AutomergeStorageAdapter","DataPipeline","DataServiceHost","DataServiceImpl","DataServiceSubscriptions","DatabaseHost","LocalHostNetworkAdapter","MOCK_AUTH_PROVIDER","MOCK_AUTH_VERIFIER","MeshNetworkAdapter","MetadataStore","Pipeline","SnapshotManager","SnapshotStore","Space","SpaceManager","SpaceProtocol","SpaceProtocolSession","TimeframeClock","codec","createMappedFeedWriter","mapFeedIndexesToTimeframe","mapTimeframeToFeedIndexes","startAfter","valueEncoding"],"entryPoint":"packages/core/echo/echo-pipeline/src/index.ts","inputs":{"packages/core/echo/echo-pipeline/src/index.ts":{"bytesInOutput":0}},"bytes":1196},"packages/core/echo/echo-pipeline/dist/lib/browser/testing/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":37811},"packages/core/echo/echo-pipeline/dist/lib/browser/testing/index.mjs":{"imports":[{"path":"packages/core/echo/echo-pipeline/dist/lib/browser/chunk-LED7X4WK.mjs","kind":"import-statement"},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/credentials","kind":"import-statement","external":true},{"path":"@dxos/document-model","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/messaging","kind":"import-statement","external":true},{"path":"@dxos/model-factory","kind":"import-statement","external":true},{"path":"@dxos/network-manager","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/halo/credentials","kind":"import-statement","external":true},{"path":"@dxos/random-access-storage","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-gossip","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-object-sync","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/feed-store/testing","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/document-model","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/feed-store/testing","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/model-factory","kind":"import-statement","external":true},{"path":"@dxos/random-access-storage","kind":"import-statement","external":true},{"path":"@dxos/timeframe","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/document-model","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/model-factory","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/text-model","kind":"import-statement","external":true},{"path":"@dxos/timeframe","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["DatabaseTestBuilder","DatabaseTestPeer","MemoryNetworkManagerProvider","TestAgent","TestAgentBuilder","TestFeedBuilder","WebsocketNetworkManagerProvider","changeStorageVersionInMetadata","createMemoryDatabase","createRemoteDatabaseFromDataServiceHost","testLocalDatabase"],"entryPoint":"packages/core/echo/echo-pipeline/src/testing/index.ts","inputs":{"packages/core/echo/echo-pipeline/src/testing/change-metadata.ts":{"bytesInOutput":843},"packages/core/echo/echo-pipeline/src/testing/index.ts":{"bytesInOutput":0},"packages/core/echo/echo-pipeline/src/testing/test-agent-builder.ts":{"bytesInOutput":6548},"packages/core/echo/echo-pipeline/src/testing/test-feed-builder.ts":{"bytesInOutput":171},"packages/core/echo/echo-pipeline/src/testing/util.ts":{"bytesInOutput":2350},"packages/core/echo/echo-pipeline/src/testing/database-test-rig.ts":{"bytesInOutput":7638}},"bytes":18568},"packages/core/echo/echo-pipeline/dist/lib/browser/chunk-LED7X4WK.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":185007},"packages/core/echo/echo-pipeline/dist/lib/browser/chunk-LED7X4WK.mjs":{"imports":[{"path":"@dxos/node-std/inject-globals","kind":"import-statement","external":true},{"path":"@dxos/hypercore","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/codec-protobuf","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/echo/service","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/echo/blob","kind":"import-statement","external":true},{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"crc-32","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/timeframe","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/feed-store","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/timeframe","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/teleport","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/credentials","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/timeframe","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/halo/credentials","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/credentials","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/halo/credentials","kind":"import-statement","external":true},{"path":"@dxos/timeframe","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/network-manager","kind":"import-statement","external":true},{"path":"@dxos/teleport","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-object-sync","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-replicator","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge-repo","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge-repo","kind":"import-statement","external":true},{"path":"@dxos/codec-protobuf","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge-repo","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-automerge-replicator","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge-repo","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge-repo-storage-indexeddb","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/random-access-storage","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["AuthExtension","AuthStatus","AutomergeHost","AutomergeStorageAdapter","DataPipeline","DataServiceHost","DataServiceImpl","DataServiceSubscriptions","DatabaseHost","LocalHostNetworkAdapter","MOCK_AUTH_PROVIDER","MOCK_AUTH_VERIFIER","MeshNetworkAdapter","MetadataStore","Pipeline","SnapshotManager","SnapshotStore","Space","SpaceManager","SpaceProtocol","SpaceProtocolSession","TimeframeClock","codec","createMappedFeedWriter","mapFeedIndexesToTimeframe","mapTimeframeToFeedIndexes","startAfter","valueEncoding"],"inputs":{"inject-globals:@inject-globals":{"bytesInOutput":79},"packages/core/echo/echo-pipeline/src/common/codec.ts":{"bytesInOutput":211},"packages/core/echo/echo-pipeline/src/common/feeds.ts":{"bytesInOutput":548},"packages/core/echo/echo-pipeline/src/common/index.ts":{"bytesInOutput":0},"packages/core/echo/echo-pipeline/src/db-host/data-service-host.ts":{"bytesInOutput":6395},"packages/core/echo/echo-pipeline/src/db-host/database-host.ts":{"bytesInOutput":871},"packages/core/echo/echo-pipeline/src/db-host/snapshot-manager.ts":{"bytesInOutput":1298},"packages/core/echo/echo-pipeline/src/db-host/snapshot-store.ts":{"bytesInOutput":1292},"packages/core/echo/echo-pipeline/src/db-host/data-service.ts":{"bytesInOutput":2942},"packages/core/echo/echo-pipeline/src/db-host/index.ts":{"bytesInOutput":0},"packages/core/echo/echo-pipeline/src/metadata/metadata-store.ts":{"bytesInOutput":10633},"packages/core/echo/echo-pipeline/src/metadata/index.ts":{"bytesInOutput":0},"packages/core/echo/echo-pipeline/src/pipeline/timeframe-clock.ts":{"bytesInOutput":2919},"packages/core/echo/echo-pipeline/src/pipeline/pipeline.ts":{"bytesInOutput":12601},"packages/core/echo/echo-pipeline/src/pipeline/message-selector.ts":{"bytesInOutput":769},"packages/core/echo/echo-pipeline/src/pipeline/index.ts":{"bytesInOutput":0},"packages/core/echo/echo-pipeline/src/space/auth.ts":{"bytesInOutput":3001},"packages/core/echo/echo-pipeline/src/space/data-pipeline.ts":{"bytesInOutput":13887},"packages/core/echo/echo-pipeline/src/space/space.ts":{"bytesInOutput":7711},"packages/core/echo/echo-pipeline/src/space/control-pipeline.ts":{"bytesInOutput":8113},"packages/core/echo/echo-pipeline/src/space/space-protocol.ts":{"bytesInOutput":6885},"packages/core/echo/echo-pipeline/src/space/space-manager.ts":{"bytesInOutput":3434},"packages/core/echo/echo-pipeline/src/space/index.ts":{"bytesInOutput":0},"packages/core/echo/echo-pipeline/src/automerge/automerge-storage-adapter.ts":{"bytesInOutput":2459},"packages/core/echo/echo-pipeline/src/automerge/local-host-network-adapter.ts":{"bytesInOutput":2827},"packages/core/echo/echo-pipeline/src/automerge/mesh-network-adapter.ts":{"bytesInOutput":3211},"packages/core/echo/echo-pipeline/src/automerge/automerge-host.ts":{"bytesInOutput":8794},"packages/core/echo/echo-pipeline/src/automerge/automerge-storage–wrapper.ts":{"bytesInOutput":725},"packages/core/echo/echo-pipeline/src/automerge/index.ts":{"bytesInOutput":0}},"bytes":103933}}}
1
+ {"inputs":{"inject-globals:@inject-globals":{"bytes":384,"imports":[{"path":"@dxos/node-std/inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/common/codec.ts":{"bytes":1650,"imports":[{"path":"@dxos/hypercore","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/common/feeds.ts":{"bytes":2138,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/common/index.ts":{"bytes":553,"imports":[{"path":"packages/core/echo/echo-pipeline/src/common/codec.ts","kind":"import-statement","original":"./codec"},{"path":"packages/core/echo/echo-pipeline/src/common/feeds.ts","kind":"import-statement","original":"./feeds"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/db-host/data-service-host.ts":{"bytes":25586,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/codec-protobuf","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/echo/service","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/db-host/database-host.ts":{"bytes":5732,"imports":[{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/db-host/data-service-host.ts","kind":"import-statement","original":"./data-service-host"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/db-host/snapshot-manager.ts":{"bytes":6376,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/echo/blob","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/db-host/snapshot-store.ts":{"bytes":6075,"imports":[{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/db-host/data-service.ts":{"bytes":10586,"imports":[{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/db-host/index.ts":{"bytes":920,"imports":[{"path":"packages/core/echo/echo-pipeline/src/db-host/data-service-host.ts","kind":"import-statement","original":"./data-service-host"},{"path":"packages/core/echo/echo-pipeline/src/db-host/database-host.ts","kind":"import-statement","original":"./database-host"},{"path":"packages/core/echo/echo-pipeline/src/db-host/snapshot-manager.ts","kind":"import-statement","original":"./snapshot-manager"},{"path":"packages/core/echo/echo-pipeline/src/db-host/snapshot-store.ts","kind":"import-statement","original":"./snapshot-store"},{"path":"packages/core/echo/echo-pipeline/src/db-host/data-service.ts","kind":"import-statement","original":"./data-service"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/metadata/metadata-store.ts":{"bytes":38251,"imports":[{"path":"crc-32","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/metadata/index.ts":{"bytes":499,"imports":[{"path":"packages/core/echo/echo-pipeline/src/metadata/metadata-store.ts","kind":"import-statement","original":"./metadata-store"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/pipeline/message-selector.ts":{"bytes":3785,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/pipeline/timeframe-clock.ts":{"bytes":9606,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/timeframe","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/pipeline/pipeline.ts":{"bytes":46626,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/feed-store","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/timeframe","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/pipeline/message-selector.ts","kind":"import-statement","original":"./message-selector"},{"path":"packages/core/echo/echo-pipeline/src/pipeline/timeframe-clock.ts","kind":"import-statement","original":"./timeframe-clock"},{"path":"packages/core/echo/echo-pipeline/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/pipeline/index.ts":{"bytes":675,"imports":[{"path":"packages/core/echo/echo-pipeline/src/pipeline/pipeline.ts","kind":"import-statement","original":"./pipeline"},{"path":"packages/core/echo/echo-pipeline/src/pipeline/timeframe-clock.ts","kind":"import-statement","original":"./timeframe-clock"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/auth.ts":{"bytes":10491,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/teleport","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/control-pipeline.ts":{"bytes":28032,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/credentials","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/halo/credentials","kind":"import-statement","external":true},{"path":"@dxos/timeframe","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/pipeline/index.ts","kind":"import-statement","original":"../pipeline"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/data-pipeline.ts":{"bytes":51752,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/credentials","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/timeframe","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/db-host/index.ts","kind":"import-statement","original":"../db-host"},{"path":"packages/core/echo/echo-pipeline/src/pipeline/index.ts","kind":"import-statement","original":"../pipeline"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/space.ts":{"bytes":27926,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/halo/credentials","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/space/control-pipeline.ts","kind":"import-statement","original":"./control-pipeline"},{"path":"packages/core/echo/echo-pipeline/src/space/data-pipeline.ts","kind":"import-statement","original":"./data-pipeline"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/space-protocol.ts":{"bytes":26463,"imports":[{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/network-manager","kind":"import-statement","external":true},{"path":"@dxos/teleport","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-object-sync","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-replicator","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/space/auth.ts","kind":"import-statement","original":"./auth"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/space-manager.ts":{"bytes":13339,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/space/space.ts","kind":"import-statement","original":"./space"},{"path":"packages/core/echo/echo-pipeline/src/space/space-protocol.ts","kind":"import-statement","original":"./space-protocol"},{"path":"packages/core/echo/echo-pipeline/src/db-host/index.ts","kind":"import-statement","original":"../db-host"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/index.ts":{"bytes":859,"imports":[{"path":"packages/core/echo/echo-pipeline/src/space/auth.ts","kind":"import-statement","original":"./auth"},{"path":"packages/core/echo/echo-pipeline/src/space/space.ts","kind":"import-statement","original":"./space"},{"path":"packages/core/echo/echo-pipeline/src/space/space-manager.ts","kind":"import-statement","original":"./space-manager"},{"path":"packages/core/echo/echo-pipeline/src/space/space-protocol.ts","kind":"import-statement","original":"./space-protocol"},{"path":"packages/core/echo/echo-pipeline/src/space/data-pipeline.ts","kind":"import-statement","original":"./data-pipeline"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/automerge-storage-adapter.ts":{"bytes":11518,"imports":[{"path":"@dxos/automerge/automerge-repo","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/automerge-storage–wrapper.ts":{"bytes":5020,"imports":[{"path":"packages/core/echo/echo-pipeline/src/automerge/automerge-storage-adapter.ts","kind":"import-statement","original":"./automerge-storage-adapter"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/local-host-network-adapter.ts":{"bytes":11172,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge-repo","kind":"import-statement","external":true},{"path":"@dxos/codec-protobuf","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/mesh-network-adapter.ts":{"bytes":13712,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge-repo","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-automerge-replicator","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/automerge-host.ts":{"bytes":32916,"imports":[{"path":"@dxos/automerge/automerge","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge-repo","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge-repo-storage-indexeddb","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/random-access-storage","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/automerge/automerge-storage-adapter.ts","kind":"import-statement","original":"./automerge-storage-adapter"},{"path":"packages/core/echo/echo-pipeline/src/automerge/automerge-storage–wrapper.ts","kind":"import-statement","original":"./automerge-storage–wrapper"},{"path":"packages/core/echo/echo-pipeline/src/automerge/local-host-network-adapter.ts","kind":"import-statement","original":"./local-host-network-adapter"},{"path":"packages/core/echo/echo-pipeline/src/automerge/mesh-network-adapter.ts","kind":"import-statement","original":"./mesh-network-adapter"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/index.ts":{"bytes":883,"imports":[{"path":"packages/core/echo/echo-pipeline/src/automerge/automerge-host.ts","kind":"import-statement","original":"./automerge-host"},{"path":"packages/core/echo/echo-pipeline/src/automerge/automerge-storage-adapter.ts","kind":"import-statement","original":"./automerge-storage-adapter"},{"path":"packages/core/echo/echo-pipeline/src/automerge/local-host-network-adapter.ts","kind":"import-statement","original":"./local-host-network-adapter"},{"path":"packages/core/echo/echo-pipeline/src/automerge/mesh-network-adapter.ts","kind":"import-statement","original":"./mesh-network-adapter"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/index.ts":{"bytes":903,"imports":[{"path":"packages/core/echo/echo-pipeline/src/common/index.ts","kind":"import-statement","original":"./common"},{"path":"packages/core/echo/echo-pipeline/src/db-host/index.ts","kind":"import-statement","original":"./db-host"},{"path":"packages/core/echo/echo-pipeline/src/metadata/index.ts","kind":"import-statement","original":"./metadata"},{"path":"packages/core/echo/echo-pipeline/src/pipeline/index.ts","kind":"import-statement","original":"./pipeline"},{"path":"packages/core/echo/echo-pipeline/src/space/index.ts","kind":"import-statement","original":"./space"},{"path":"packages/core/echo/echo-pipeline/src/automerge/index.ts","kind":"import-statement","original":"./automerge"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/testing/change-metadata.ts":{"bytes":3594,"imports":[{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/metadata/index.ts","kind":"import-statement","original":"../metadata"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/testing/test-feed-builder.ts":{"bytes":1474,"imports":[{"path":"@dxos/feed-store/testing","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/testing/test-agent-builder.ts":{"bytes":29261,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/credentials","kind":"import-statement","external":true},{"path":"@dxos/document-model","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/messaging","kind":"import-statement","external":true},{"path":"@dxos/model-factory","kind":"import-statement","external":true},{"path":"@dxos/network-manager","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/halo/credentials","kind":"import-statement","external":true},{"path":"@dxos/random-access-storage","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-gossip","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-object-sync","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/testing/test-feed-builder.ts","kind":"import-statement","original":"./test-feed-builder"},{"path":"packages/core/echo/echo-pipeline/src/db-host/index.ts","kind":"import-statement","original":"../db-host"},{"path":"packages/core/echo/echo-pipeline/src/metadata/index.ts","kind":"import-statement","original":"../metadata"},{"path":"packages/core/echo/echo-pipeline/src/space/index.ts","kind":"import-statement","original":"../space"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/testing/util.ts":{"bytes":10008,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/document-model","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/feed-store/testing","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/model-factory","kind":"import-statement","external":true},{"path":"@dxos/random-access-storage","kind":"import-statement","external":true},{"path":"@dxos/timeframe","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/automerge/index.ts","kind":"import-statement","original":"../automerge"},{"path":"packages/core/echo/echo-pipeline/src/db-host/index.ts","kind":"import-statement","original":"../db-host"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/testing/database-test-rig.ts":{"bytes":30864,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/document-model","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/model-factory","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/text-model","kind":"import-statement","external":true},{"path":"@dxos/timeframe","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/db-host/index.ts","kind":"import-statement","original":"../db-host"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/testing/index.ts":{"bytes":915,"imports":[{"path":"packages/core/echo/echo-pipeline/src/testing/change-metadata.ts","kind":"import-statement","original":"./change-metadata"},{"path":"packages/core/echo/echo-pipeline/src/testing/test-agent-builder.ts","kind":"import-statement","original":"./test-agent-builder"},{"path":"packages/core/echo/echo-pipeline/src/testing/test-feed-builder.ts","kind":"import-statement","original":"./test-feed-builder"},{"path":"packages/core/echo/echo-pipeline/src/testing/util.ts","kind":"import-statement","original":"./util"},{"path":"packages/core/echo/echo-pipeline/src/testing/database-test-rig.ts","kind":"import-statement","original":"./database-test-rig"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"packages/core/echo/echo-pipeline/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/core/echo/echo-pipeline/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/core/echo/echo-pipeline/dist/lib/browser/chunk-LED7X4WK.mjs","kind":"import-statement"}],"exports":["AuthExtension","AuthStatus","AutomergeHost","AutomergeStorageAdapter","DataPipeline","DataServiceHost","DataServiceImpl","DataServiceSubscriptions","DatabaseHost","LocalHostNetworkAdapter","MOCK_AUTH_PROVIDER","MOCK_AUTH_VERIFIER","MeshNetworkAdapter","MetadataStore","Pipeline","SnapshotManager","SnapshotStore","Space","SpaceManager","SpaceProtocol","SpaceProtocolSession","TimeframeClock","codec","createMappedFeedWriter","mapFeedIndexesToTimeframe","mapTimeframeToFeedIndexes","startAfter","valueEncoding"],"entryPoint":"packages/core/echo/echo-pipeline/src/index.ts","inputs":{"packages/core/echo/echo-pipeline/src/index.ts":{"bytesInOutput":0}},"bytes":1196},"packages/core/echo/echo-pipeline/dist/lib/browser/testing/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":37875},"packages/core/echo/echo-pipeline/dist/lib/browser/testing/index.mjs":{"imports":[{"path":"packages/core/echo/echo-pipeline/dist/lib/browser/chunk-LED7X4WK.mjs","kind":"import-statement"},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/credentials","kind":"import-statement","external":true},{"path":"@dxos/document-model","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/messaging","kind":"import-statement","external":true},{"path":"@dxos/model-factory","kind":"import-statement","external":true},{"path":"@dxos/network-manager","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/halo/credentials","kind":"import-statement","external":true},{"path":"@dxos/random-access-storage","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-gossip","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-object-sync","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/feed-store/testing","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/document-model","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/feed-store/testing","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/model-factory","kind":"import-statement","external":true},{"path":"@dxos/random-access-storage","kind":"import-statement","external":true},{"path":"@dxos/timeframe","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/document-model","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/model-factory","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/text-model","kind":"import-statement","external":true},{"path":"@dxos/timeframe","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["DatabaseTestBuilder","DatabaseTestPeer","MemoryNetworkManagerProvider","TestAgent","TestAgentBuilder","TestFeedBuilder","WebsocketNetworkManagerProvider","changeStorageVersionInMetadata","createMemoryDatabase","createRemoteDatabaseFromDataServiceHost","testLocalDatabase"],"entryPoint":"packages/core/echo/echo-pipeline/src/testing/index.ts","inputs":{"packages/core/echo/echo-pipeline/src/testing/change-metadata.ts":{"bytesInOutput":843},"packages/core/echo/echo-pipeline/src/testing/index.ts":{"bytesInOutput":0},"packages/core/echo/echo-pipeline/src/testing/test-agent-builder.ts":{"bytesInOutput":6548},"packages/core/echo/echo-pipeline/src/testing/test-feed-builder.ts":{"bytesInOutput":171},"packages/core/echo/echo-pipeline/src/testing/util.ts":{"bytesInOutput":2350},"packages/core/echo/echo-pipeline/src/testing/database-test-rig.ts":{"bytesInOutput":7638}},"bytes":18568},"packages/core/echo/echo-pipeline/dist/lib/browser/chunk-LED7X4WK.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":185007},"packages/core/echo/echo-pipeline/dist/lib/browser/chunk-LED7X4WK.mjs":{"imports":[{"path":"@dxos/node-std/inject-globals","kind":"import-statement","external":true},{"path":"@dxos/hypercore","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/codec-protobuf","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/echo/service","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/echo/blob","kind":"import-statement","external":true},{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"crc-32","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/timeframe","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/feed-store","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/timeframe","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/teleport","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/credentials","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/timeframe","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/halo/credentials","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/credentials","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/halo/credentials","kind":"import-statement","external":true},{"path":"@dxos/timeframe","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/network-manager","kind":"import-statement","external":true},{"path":"@dxos/teleport","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-object-sync","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-replicator","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge-repo","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge-repo","kind":"import-statement","external":true},{"path":"@dxos/codec-protobuf","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge-repo","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-automerge-replicator","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge-repo","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge-repo-storage-indexeddb","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/random-access-storage","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["AuthExtension","AuthStatus","AutomergeHost","AutomergeStorageAdapter","DataPipeline","DataServiceHost","DataServiceImpl","DataServiceSubscriptions","DatabaseHost","LocalHostNetworkAdapter","MOCK_AUTH_PROVIDER","MOCK_AUTH_VERIFIER","MeshNetworkAdapter","MetadataStore","Pipeline","SnapshotManager","SnapshotStore","Space","SpaceManager","SpaceProtocol","SpaceProtocolSession","TimeframeClock","codec","createMappedFeedWriter","mapFeedIndexesToTimeframe","mapTimeframeToFeedIndexes","startAfter","valueEncoding"],"inputs":{"inject-globals:@inject-globals":{"bytesInOutput":79},"packages/core/echo/echo-pipeline/src/common/codec.ts":{"bytesInOutput":211},"packages/core/echo/echo-pipeline/src/common/feeds.ts":{"bytesInOutput":548},"packages/core/echo/echo-pipeline/src/common/index.ts":{"bytesInOutput":0},"packages/core/echo/echo-pipeline/src/db-host/data-service-host.ts":{"bytesInOutput":6395},"packages/core/echo/echo-pipeline/src/db-host/database-host.ts":{"bytesInOutput":871},"packages/core/echo/echo-pipeline/src/db-host/snapshot-manager.ts":{"bytesInOutput":1298},"packages/core/echo/echo-pipeline/src/db-host/snapshot-store.ts":{"bytesInOutput":1292},"packages/core/echo/echo-pipeline/src/db-host/data-service.ts":{"bytesInOutput":2942},"packages/core/echo/echo-pipeline/src/db-host/index.ts":{"bytesInOutput":0},"packages/core/echo/echo-pipeline/src/metadata/metadata-store.ts":{"bytesInOutput":10633},"packages/core/echo/echo-pipeline/src/metadata/index.ts":{"bytesInOutput":0},"packages/core/echo/echo-pipeline/src/pipeline/timeframe-clock.ts":{"bytesInOutput":2919},"packages/core/echo/echo-pipeline/src/pipeline/pipeline.ts":{"bytesInOutput":12601},"packages/core/echo/echo-pipeline/src/pipeline/message-selector.ts":{"bytesInOutput":769},"packages/core/echo/echo-pipeline/src/pipeline/index.ts":{"bytesInOutput":0},"packages/core/echo/echo-pipeline/src/space/auth.ts":{"bytesInOutput":3001},"packages/core/echo/echo-pipeline/src/space/data-pipeline.ts":{"bytesInOutput":13887},"packages/core/echo/echo-pipeline/src/space/space.ts":{"bytesInOutput":7711},"packages/core/echo/echo-pipeline/src/space/control-pipeline.ts":{"bytesInOutput":8113},"packages/core/echo/echo-pipeline/src/space/space-protocol.ts":{"bytesInOutput":6885},"packages/core/echo/echo-pipeline/src/space/space-manager.ts":{"bytesInOutput":3434},"packages/core/echo/echo-pipeline/src/space/index.ts":{"bytesInOutput":0},"packages/core/echo/echo-pipeline/src/automerge/automerge-storage-adapter.ts":{"bytesInOutput":2459},"packages/core/echo/echo-pipeline/src/automerge/local-host-network-adapter.ts":{"bytesInOutput":2827},"packages/core/echo/echo-pipeline/src/automerge/mesh-network-adapter.ts":{"bytesInOutput":3211},"packages/core/echo/echo-pipeline/src/automerge/automerge-host.ts":{"bytesInOutput":8794},"packages/core/echo/echo-pipeline/src/automerge/automerge-storage–wrapper.ts":{"bytesInOutput":725},"packages/core/echo/echo-pipeline/src/automerge/index.ts":{"bytesInOutput":0}},"bytes":103933}}}
@@ -507,7 +507,7 @@ var DatabaseTestPeer = class {
507
507
  }
508
508
  invariant(item.modelMeta, void 0, {
509
509
  F: __dxlog_file2,
510
- L: 265,
510
+ L: 267,
511
511
  S: this,
512
512
  A: [
513
513
  "item.modelMeta",
@@ -517,7 +517,7 @@ var DatabaseTestPeer = class {
517
517
  const ModelConstructor = this.modelFactory.getModel(item.modelMeta.type)?.constructor;
518
518
  invariant(ModelConstructor, void 0, {
519
519
  F: __dxlog_file2,
520
- L: 267,
520
+ L: 269,
521
521
  S: this,
522
522
  A: [
523
523
  "ModelConstructor",
@@ -527,7 +527,7 @@ var DatabaseTestPeer = class {
527
527
  const model = new ModelConstructor(item.modelMeta, item.id, () => item.state, async (mutation) => {
528
528
  invariant(item.modelMeta, void 0, {
529
529
  F: __dxlog_file2,
530
- L: 274,
530
+ L: 276,
531
531
  S: this,
532
532
  A: [
533
533
  "item.modelMeta",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/testing/change-metadata.ts", "../../../../src/testing/test-agent-builder.ts", "../../../../src/testing/test-feed-builder.ts", "../../../../src/testing/util.ts", "../../../../src/testing/database-test-rig.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { log } from '@dxos/log';\nimport { schema } from '@dxos/protocols';\nimport type { Storage } from '@dxos/random-access-storage';\n\nimport { MetadataStore } from '../metadata';\n\nconst EchoMetadata = schema.getCodecForType('dxos.echo.metadata.EchoMetadata');\n\n/**\n * This function will change the storage version in the metadata.\n * This will break your storage and make it unusable.\n * Use this only for testing purposes.\n */\nexport const changeStorageVersionInMetadata = async (storage: Storage, version: number) => {\n log.info('Changing storage version in metadata. USE ONLY FOR TESTING.');\n const metadata = new MetadataStore(storage.createDirectory('metadata'));\n await metadata.load();\n const echoMetadata = metadata.metadata;\n echoMetadata.version = version;\n const file = metadata._directory.getOrCreateFile('EchoMetadata');\n await metadata._writeFile(file, EchoMetadata, echoMetadata);\n await metadata._directory.flush();\n};\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { Context } from '@dxos/context';\nimport { CredentialGenerator } from '@dxos/credentials';\nimport { DocumentModel } from '@dxos/document-model';\nimport { type FeedStore } from '@dxos/feed-store';\nimport { type Keyring } from '@dxos/keyring';\nimport { PublicKey } from '@dxos/keys';\nimport { MemorySignalManager, MemorySignalManagerContext, WebsocketSignalManager } from '@dxos/messaging';\nimport { ModelFactory } from '@dxos/model-factory';\nimport { createSimplePeerTransportFactory, MemoryTransportFactory, NetworkManager } from '@dxos/network-manager';\nimport type { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';\nimport { type SpaceMetadata } from '@dxos/protocols/proto/dxos/echo/metadata';\nimport { AdmittedFeed } from '@dxos/protocols/proto/dxos/halo/credentials';\nimport { createStorage, type Storage, StorageType } from '@dxos/random-access-storage';\nimport { Gossip, Presence } from '@dxos/teleport-extension-gossip';\nimport { BlobStore } from '@dxos/teleport-extension-object-sync';\nimport { ComplexMap } from '@dxos/util';\n\nimport { TestFeedBuilder } from './test-feed-builder';\nimport { SnapshotStore } from '../db-host';\nimport { MetadataStore } from '../metadata';\nimport { MOCK_AUTH_PROVIDER, MOCK_AUTH_VERIFIER, type Space, SpaceManager, SpaceProtocol } from '../space';\n\nexport type NetworkManagerProvider = () => NetworkManager;\n\nexport const MemoryNetworkManagerProvider =\n (signalContext: MemorySignalManagerContext): NetworkManagerProvider =>\n () =>\n new NetworkManager({\n signalManager: new MemorySignalManager(signalContext),\n transportFactory: MemoryTransportFactory,\n });\n\nexport const WebsocketNetworkManagerProvider =\n (signalUrl: string): NetworkManagerProvider =>\n () =>\n new NetworkManager({\n signalManager: new WebsocketSignalManager([{ server: signalUrl }]),\n transportFactory: createSimplePeerTransportFactory(),\n });\n\nexport type TestAgentBuilderOptions = {\n storage?: Storage;\n networkManagerProvider?: NetworkManagerProvider;\n};\n\n/**\n * Factory for test agents.\n */\nexport class TestAgentBuilder {\n private readonly _agents = new ComplexMap<PublicKey, TestAgent>(PublicKey.hash);\n private readonly _storage: Storage;\n private readonly _networkManagerProvider: NetworkManagerProvider;\n\n constructor({ storage, networkManagerProvider }: TestAgentBuilderOptions = {}) {\n this._storage = storage ?? createStorage({ type: StorageType.RAM });\n this._networkManagerProvider =\n networkManagerProvider ?? MemoryNetworkManagerProvider(new MemorySignalManagerContext());\n }\n\n async close() {\n return Promise.all(this.agents.map((agent) => agent.close()));\n }\n\n get agents() {\n return Array.from(this._agents.values());\n }\n\n getAgent(deviceKey: PublicKey) {\n return this._agents.get(deviceKey);\n }\n\n async createPeer(): Promise<TestAgent> {\n // prettier-ignore\n const feedBuilder = new TestFeedBuilder()\n .setStorage(this._storage, `agent-${this._agents.size}`);\n\n const identityKey = await feedBuilder.keyring.createKey();\n const deviceKey = await feedBuilder.keyring.createKey();\n\n const agent = new TestAgent(this._networkManagerProvider, feedBuilder, identityKey, deviceKey);\n this._agents.set(deviceKey, agent);\n return agent;\n }\n}\n\n/**\n * Test agent that enables the creation and replication of multiple spaces.\n */\nexport class TestAgent {\n private readonly _spaces = new ComplexMap<PublicKey, Space>(PublicKey.hash);\n\n public readonly storage: Storage;\n public readonly keyring: Keyring;\n public readonly feedStore: FeedStore<FeedMessage>;\n\n private _metadataStore?: MetadataStore;\n get metadataStore() {\n return (this._metadataStore ??= new MetadataStore(this.storage.createDirectory('metadata')));\n }\n\n private _snapshotStore?: SnapshotStore;\n get snapshotStore() {\n return (this._snapshotStore ??= new SnapshotStore(this.storage.createDirectory('snapshots')));\n }\n\n private _blobStore?: BlobStore;\n get blobStore() {\n return (this._blobStore ??= new BlobStore(this.storage.createDirectory('blobs')));\n }\n\n public modelFactory = new ModelFactory().registerModel(DocumentModel);\n\n constructor(\n private readonly _networkManagerProvider: NetworkManagerProvider,\n private readonly _feedBuilder: TestFeedBuilder,\n public readonly identityKey: PublicKey,\n public readonly deviceKey: PublicKey,\n ) {\n this.storage = this._feedBuilder.storage;\n this.keyring = this._feedBuilder.keyring;\n this.feedStore = this._feedBuilder.createFeedStore();\n }\n\n async close() {\n return Promise.all([...this.spaces.map((space) => space.close())]);\n }\n\n get spaces() {\n return Array.from(this._spaces.values());\n }\n\n getSpace(spaceKey: PublicKey) {\n return this._spaces.get(spaceKey);\n }\n\n private _spaceManager?: SpaceManager;\n get spaceManager() {\n return (this._spaceManager ??= new SpaceManager({\n feedStore: this.feedStore,\n networkManager: this._networkManagerProvider(),\n modelFactory: this.modelFactory,\n metadataStore: this.metadataStore,\n snapshotStore: this.snapshotStore,\n blobStore: this.blobStore,\n }));\n }\n\n async createSpace(\n identityKey: PublicKey = this.identityKey,\n spaceKey?: PublicKey,\n genesisKey?: PublicKey,\n dataKey?: PublicKey,\n saveMetadata = false,\n ): Promise<Space> {\n if (!spaceKey) {\n saveMetadata = true;\n spaceKey = await this.keyring.createKey();\n }\n if (!genesisKey) {\n genesisKey = await this.keyring.createKey();\n }\n\n const controlFeed = await this.feedStore.openFeed(genesisKey, { writable: true });\n const dataFeed = await this.feedStore.openFeed(dataKey ?? (await this.keyring.createKey()), {\n writable: true,\n sparse: true,\n });\n\n const metadata: SpaceMetadata = {\n key: spaceKey,\n genesisFeedKey: genesisKey,\n controlFeedKey: controlFeed.key,\n dataFeedKey: dataFeed.key,\n };\n if (saveMetadata) {\n await this.metadataStore.addSpace(metadata);\n }\n\n await this.spaceManager.open();\n const space = await this.spaceManager.constructSpace({\n metadata,\n swarmIdentity: {\n peerKey: this.deviceKey,\n credentialProvider: MOCK_AUTH_PROVIDER,\n credentialAuthenticator: MOCK_AUTH_VERIFIER,\n },\n memberKey: identityKey,\n onAuthorizedConnection: (session) => {\n session.addExtension(\n 'dxos.mesh.teleport.gossip',\n this.createGossip().createExtension({ remotePeerId: session.remotePeerId }),\n );\n },\n });\n await space.setControlFeed(controlFeed);\n await space.setDataFeed(dataFeed);\n\n await space.open(new Context());\n\n this._spaces.set(spaceKey, space);\n return space;\n }\n\n createSpaceProtocol(topic: PublicKey, gossip?: Gossip) {\n return new SpaceProtocol({\n topic,\n swarmIdentity: {\n peerKey: this.deviceKey,\n credentialProvider: MOCK_AUTH_PROVIDER,\n credentialAuthenticator: MOCK_AUTH_VERIFIER,\n },\n networkManager: this._networkManagerProvider(),\n blobStore: this.blobStore,\n onSessionAuth: (session) => {\n session.addExtension(\n 'dxos.mesh.teleport.gossip',\n (gossip ?? this.createGossip()).createExtension({ remotePeerId: session.remotePeerId }),\n );\n },\n });\n }\n\n createGossip() {\n return new Gossip({\n localPeerId: this.deviceKey,\n });\n }\n\n createPresence(gossip?: Gossip) {\n return new Presence({\n announceInterval: 30,\n offlineTimeout: 200,\n identityKey: this.identityKey,\n gossip: gossip ?? this.createGossip(),\n });\n }\n\n async spaceGenesis(space: Space) {\n const generator = new CredentialGenerator(this.keyring, this.identityKey, this.deviceKey);\n const credentials = [\n ...(await generator.createSpaceGenesis(space.key, space.controlFeedKey!)),\n await generator.createFeedAdmission(space.key, space.dataFeedKey!, AdmittedFeed.Designation.DATA),\n await generator.createEpochCredential(space.key),\n ];\n\n for (const credential of credentials) {\n await space.controlPipeline.writer.write({\n credential: { credential },\n });\n }\n }\n}\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { TestBuilder } from '@dxos/feed-store/testing';\nimport type { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';\n\nimport { valueEncoding } from '../common';\n\n/**\n * Builder with default encoder and generator.\n */\nexport class TestFeedBuilder extends TestBuilder<FeedMessage> {\n constructor() {\n super({\n valueEncoding,\n });\n }\n}\n", "//\n// Copyright 2021 DXOS.org\n//\n\nimport { asyncTimeout } from '@dxos/async';\nimport { DocumentModel } from '@dxos/document-model';\nimport { DatabaseProxy, ItemManager } from '@dxos/echo-db';\nimport { MockFeedWriter } from '@dxos/feed-store/testing';\nimport { PublicKey } from '@dxos/keys';\nimport { ModelFactory } from '@dxos/model-factory';\nimport { type DataMessage } from '@dxos/protocols/proto/dxos/echo/feed';\nimport { StorageType, createStorage } from '@dxos/random-access-storage';\nimport { Timeframe } from '@dxos/timeframe';\n\nimport { AutomergeHost } from '../automerge';\nimport { DatabaseHost, type DataServiceHost, DataServiceImpl, DataServiceSubscriptions } from '../db-host';\nimport { type DataPipeline } from '../space';\n\nexport const createMemoryDatabase = async (modelFactory: ModelFactory) => {\n const feed = new MockFeedWriter<DataMessage>();\n const backend = new DatabaseHost(feed, async () => {\n // No-op.\n });\n\n feed.written.on(([data, meta]) =>\n backend.echoProcessor({\n batch: data.batch,\n meta: {\n ...meta,\n memberKey: PublicKey.random(),\n timeframe: new Timeframe([[meta.feedKey, meta.seq]]),\n },\n }),\n );\n\n const itemManager = new ItemManager(modelFactory);\n await backend.open(itemManager, new ModelFactory().registerModel(DocumentModel));\n return {\n backend,\n itemManager,\n };\n};\n\nexport const createRemoteDatabaseFromDataServiceHost = async (\n modelFactory: ModelFactory,\n dataServiceHost: DataServiceHost,\n) => {\n const dataServiceSubscriptions = new DataServiceSubscriptions();\n const automergeHost = new AutomergeHost({\n directory: createStorage({ type: StorageType.RAM }).createDirectory(),\n });\n const dataService = new DataServiceImpl(dataServiceSubscriptions, automergeHost);\n\n const spaceKey = PublicKey.random();\n await dataServiceSubscriptions.registerSpace(spaceKey, dataServiceHost);\n\n const itemManager = new ItemManager(modelFactory);\n const backend = new DatabaseProxy({ service: dataService, itemManager, spaceKey });\n await backend.open(new ModelFactory().registerModel(DocumentModel));\n return {\n itemManager,\n backend,\n };\n};\n\nexport const testLocalDatabase = async (create: DataPipeline, check: DataPipeline = create) => {\n const objectId = PublicKey.random().toHex();\n await create.databaseHost!.getWriteStream()?.write({\n batch: {\n objects: [\n {\n objectId,\n genesis: {\n modelType: DocumentModel.meta.type,\n },\n },\n ],\n },\n });\n\n await asyncTimeout(\n check.databaseHost!._itemDemuxer.mutation.waitForCondition(() => check.itemManager.entities.has(objectId)),\n 2000,\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Event, Trigger } from '@dxos/async';\nimport { DocumentModel } from '@dxos/document-model';\nimport { DatabaseProxy, ItemManager, createModelMutation, encodeModelMutation } from '@dxos/echo-db';\nimport { type WriteOptions, type WriteReceipt } from '@dxos/feed-store';\nimport { invariant } from '@dxos/invariant';\nimport { PublicKey } from '@dxos/keys';\nimport { ModelFactory } from '@dxos/model-factory';\nimport { type FeedMessageBlock, schema } from '@dxos/protocols';\nimport { type FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';\nimport { type EchoSnapshot, type SpaceSnapshot } from '@dxos/protocols/proto/dxos/echo/snapshot';\nimport { type Epoch } from '@dxos/protocols/proto/dxos/halo/credentials';\nimport { TextModel } from '@dxos/text-model';\nimport { Timeframe } from '@dxos/timeframe';\nimport { ComplexMap, isNotNullOrUndefined } from '@dxos/util';\n\nimport { DatabaseHost } from '../db-host';\n\nconst SPACE_KEY = PublicKey.random();\n\nexport class DatabaseTestBuilder {\n public readonly peers = new ComplexMap<PublicKey, DatabaseTestPeer>(PublicKey.hash);\n\n async createPeer(spaceKey = SPACE_KEY): Promise<DatabaseTestPeer> {\n const peer = new DatabaseTestPeer(this, spaceKey);\n this.peers.set(peer.key, peer);\n await peer.open();\n return peer;\n }\n}\n\ntype WriteRequest = {\n receipt: WriteReceipt;\n options: WriteOptions;\n trigger: Trigger;\n};\n\nexport class DatabaseTestPeer {\n public readonly modelFactory = new ModelFactory().registerModel(DocumentModel).registerModel(TextModel);\n\n public items!: ItemManager;\n public proxy!: DatabaseProxy;\n\n public host!: DatabaseHost;\n public hostItems!: ItemManager;\n\n //\n // Test state.\n //\n\n public readonly key = PublicKey.random();\n\n public feedMessages: FeedMessage[] = [];\n\n public readonly snapshots = new Map<string, SpaceSnapshot>();\n private currentEpoch?: Epoch;\n\n /**\n * Sequence number of the last mutation confirmed to be written to the feed store.\n */\n public confirmed = -1;\n\n /**\n * Current position of the peer's pipeline.\n */\n public timeframe = new Timeframe();\n\n public snapshot: SpaceSnapshot | undefined;\n\n private readonly _onConfirm = new Event();\n\n private readonly _writes = new Set<WriteRequest>();\n\n constructor(\n public readonly rig: DatabaseTestBuilder,\n public readonly spaceKey: PublicKey,\n ) {}\n\n async open() {\n this.hostItems = new ItemManager(this.modelFactory);\n this.host = new DatabaseHost(\n {\n write: async (message, { afterWrite }: WriteOptions) => {\n const seq =\n this.feedMessages.push({\n timeframe: this.timeframe,\n payload: {\n data: message,\n },\n }) - 1;\n\n const request: WriteRequest = {\n receipt: {\n seq,\n feedKey: this.key,\n },\n options: { afterWrite },\n trigger: new Trigger(),\n };\n this._writes.add(request);\n await request.trigger.wait();\n return request.receipt;\n },\n },\n async () => {\n // No-op.\n },\n );\n\n await this.host.open(this.hostItems, this.modelFactory);\n if (this.snapshot) {\n this.host._itemDemuxer.restoreFromSnapshot(this.snapshot.database);\n }\n\n this.items = new ItemManager(this.modelFactory);\n this.proxy = new DatabaseProxy({\n service: this.host.createDataServiceHost({ deferEvents: false }),\n itemManager: this.items,\n spaceKey: this.spaceKey,\n });\n await this.proxy.open(this.modelFactory);\n }\n\n /**\n * Confirm mutations written to the local feed.\n * @param seq Sequence number of the mutation to confirm. If not specified, all mutations will be confirmed.\n */\n async confirm(seq?: number) {\n this.confirmed = seq ?? this.feedMessages.length - 1;\n this._onConfirm.emit();\n\n for (const request of [...this._writes]) {\n if (this.confirmed >= request.receipt.seq) {\n this._writes.delete(request);\n await request.options.afterWrite?.(request.receipt);\n request.trigger.wake();\n }\n }\n\n this._processMessages(Timeframe.merge(this.timeframe, new Timeframe([[this.key, this.confirmed]])));\n }\n\n /**\n * Replicate the database to the specified timeframe.\n * @param to Timeframe to replicate to. If not specified, the database will be replicated to the latest timeframe (based on all other peers).\n */\n replicate(to?: Timeframe) {\n const toTimeframe = Timeframe.merge(\n to ?? new Timeframe(Array.from(this.rig.peers.values()).map((peer) => [peer.key, peer.confirmed])),\n this.timeframe,\n );\n toTimeframe.set(this.key, this.confirmed);\n\n this._processMessages(toTimeframe);\n }\n\n /**\n * Reload data from the feed. Wipes unconfirmed mutations.\n */\n async reload() {\n await this.open();\n const timeframe = this.timeframe;\n this.timeframe = this.snapshot?.timeframe ?? new Timeframe();\n this._processMessages(timeframe);\n }\n\n /**\n * Create snapshot and use it for the next reload.\n */\n makeSnapshot(): SpaceSnapshot {\n this.snapshot = {\n spaceKey: SPACE_KEY.asUint8Array(),\n database: this.host.createSnapshot(),\n timeframe: this.timeframe,\n };\n return this.snapshot;\n }\n\n createEpoch(mockSnapshot?: EchoSnapshot) {\n const snapshot = this.makeSnapshot();\n // Substitute snapshot with the mock one for test purposes (e.g. to test with empty snapshot).\n mockSnapshot && (snapshot.database = mockSnapshot);\n const snapshotCid = PublicKey.from(\n schema.getCodecForType('dxos.echo.snapshot.SpaceSnapshot').encode(snapshot),\n ).toHex();\n this.snapshots.set(snapshotCid, snapshot);\n\n const epoch: Epoch = {\n previousId: PublicKey.random(),\n timeframe: this.timeframe,\n number: this.currentEpoch ? this.currentEpoch.number + 1 : 0,\n snapshotCid,\n };\n\n this.currentEpoch = epoch;\n\n this.host._itemDemuxer.restoreFromSnapshot(snapshot.database);\n }\n\n /**\n * Gets all candidate messages according to the current timeframe.\n * Does not take into account the current snapshot, timeframe dependencies, or the confirmed, or replicated state.\n */\n private _getHeads(): FeedMessageBlock[] {\n return Array.from(this.rig.peers.values())\n .map((peer): FeedMessageBlock => {\n const seq = this.timeframe.get(peer.key) ?? -1;\n const message = peer.feedMessages[seq + 1];\n return (\n message && {\n feedKey: peer.key,\n seq: seq + 1,\n data: message,\n }\n );\n })\n .filter(isNotNullOrUndefined);\n }\n\n private _processMessages(to: Timeframe) {\n let run = true;\n while (run) {\n run = false;\n\n const heads = this._getHeads();\n for (const candidate of heads) {\n const toSeq = to.get(candidate.feedKey) ?? -1;\n if (toSeq < candidate.seq) {\n continue;\n }\n\n const snapshotSeq = this.snapshot?.timeframe?.get(candidate.feedKey) ?? -1;\n if (candidate.seq <= snapshotSeq) {\n continue;\n }\n\n if (!Timeframe.dependencies(candidate.data.timeframe, this.timeframe).isEmpty()) {\n continue;\n }\n\n run = true;\n this.host.echoProcessor({\n batch: candidate.data.payload.data!.batch,\n meta: {\n feedKey: candidate.feedKey,\n seq: candidate.seq,\n memberKey: candidate.feedKey,\n timeframe: candidate.data.timeframe,\n },\n });\n this.timeframe = Timeframe.merge(this.timeframe, new Timeframe([[candidate.feedKey, candidate.seq]]));\n }\n }\n }\n\n getModel(id: string): DocumentModel | TextModel | undefined {\n const item = this.items.getItem(id);\n if (!item) {\n return;\n }\n\n invariant(item.modelMeta);\n const ModelConstructor = this.modelFactory.getModel(item.modelMeta.type)?.constructor;\n invariant(ModelConstructor);\n\n const model = new ModelConstructor(\n item.modelMeta,\n item.id,\n () => item.state,\n async (mutation) => {\n invariant(item.modelMeta);\n this.proxy.mutate(createModelMutation(id, encodeModelMutation(item.modelMeta, mutation)));\n return {\n feedKey: PublicKey.from('00'),\n seq: 0,\n waitToBeProcessed: () => Promise.resolve(),\n };\n },\n );\n model.initialize();\n\n return model;\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { log } from '@dxos/log';\nimport { schema } from '@dxos/protocols';\nimport type { Storage } from '@dxos/random-access-storage';\n\nimport { MetadataStore } from '../metadata';\n\nconst EchoMetadata = schema.getCodecForType('dxos.echo.metadata.EchoMetadata');\n\n/**\n * This function will change the storage version in the metadata.\n * This will break your storage and make it unusable.\n * Use this only for testing purposes.\n */\nexport const changeStorageVersionInMetadata = async (storage: Storage, version: number) => {\n log.info('Changing storage version in metadata. USE ONLY FOR TESTING.');\n const metadata = new MetadataStore(storage.createDirectory('metadata'));\n await metadata.load();\n const echoMetadata = metadata.metadata;\n echoMetadata.version = version;\n const file = metadata._directory.getOrCreateFile('EchoMetadata');\n await metadata._writeFile(file, EchoMetadata, echoMetadata);\n await metadata._directory.flush();\n};\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { Context } from '@dxos/context';\nimport { CredentialGenerator } from '@dxos/credentials';\nimport { DocumentModel } from '@dxos/document-model';\nimport { type FeedStore } from '@dxos/feed-store';\nimport { type Keyring } from '@dxos/keyring';\nimport { PublicKey } from '@dxos/keys';\nimport { MemorySignalManager, MemorySignalManagerContext, WebsocketSignalManager } from '@dxos/messaging';\nimport { ModelFactory } from '@dxos/model-factory';\nimport { createSimplePeerTransportFactory, MemoryTransportFactory, NetworkManager } from '@dxos/network-manager';\nimport type { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';\nimport { type SpaceMetadata } from '@dxos/protocols/proto/dxos/echo/metadata';\nimport { AdmittedFeed } from '@dxos/protocols/proto/dxos/halo/credentials';\nimport { createStorage, type Storage, StorageType } from '@dxos/random-access-storage';\nimport { Gossip, Presence } from '@dxos/teleport-extension-gossip';\nimport { BlobStore } from '@dxos/teleport-extension-object-sync';\nimport { ComplexMap } from '@dxos/util';\n\nimport { TestFeedBuilder } from './test-feed-builder';\nimport { SnapshotStore } from '../db-host';\nimport { MetadataStore } from '../metadata';\nimport { MOCK_AUTH_PROVIDER, MOCK_AUTH_VERIFIER, type Space, SpaceManager, SpaceProtocol } from '../space';\n\nexport type NetworkManagerProvider = () => NetworkManager;\n\nexport const MemoryNetworkManagerProvider =\n (signalContext: MemorySignalManagerContext): NetworkManagerProvider =>\n () =>\n new NetworkManager({\n signalManager: new MemorySignalManager(signalContext),\n transportFactory: MemoryTransportFactory,\n });\n\nexport const WebsocketNetworkManagerProvider =\n (signalUrl: string): NetworkManagerProvider =>\n () =>\n new NetworkManager({\n signalManager: new WebsocketSignalManager([{ server: signalUrl }]),\n transportFactory: createSimplePeerTransportFactory(),\n });\n\nexport type TestAgentBuilderOptions = {\n storage?: Storage;\n networkManagerProvider?: NetworkManagerProvider;\n};\n\n/**\n * Factory for test agents.\n */\nexport class TestAgentBuilder {\n private readonly _agents = new ComplexMap<PublicKey, TestAgent>(PublicKey.hash);\n private readonly _storage: Storage;\n private readonly _networkManagerProvider: NetworkManagerProvider;\n\n constructor({ storage, networkManagerProvider }: TestAgentBuilderOptions = {}) {\n this._storage = storage ?? createStorage({ type: StorageType.RAM });\n this._networkManagerProvider =\n networkManagerProvider ?? MemoryNetworkManagerProvider(new MemorySignalManagerContext());\n }\n\n async close() {\n return Promise.all(this.agents.map((agent) => agent.close()));\n }\n\n get agents() {\n return Array.from(this._agents.values());\n }\n\n getAgent(deviceKey: PublicKey) {\n return this._agents.get(deviceKey);\n }\n\n async createPeer(): Promise<TestAgent> {\n // prettier-ignore\n const feedBuilder = new TestFeedBuilder()\n .setStorage(this._storage, `agent-${this._agents.size}`);\n\n const identityKey = await feedBuilder.keyring.createKey();\n const deviceKey = await feedBuilder.keyring.createKey();\n\n const agent = new TestAgent(this._networkManagerProvider, feedBuilder, identityKey, deviceKey);\n this._agents.set(deviceKey, agent);\n return agent;\n }\n}\n\n/**\n * Test agent that enables the creation and replication of multiple spaces.\n */\nexport class TestAgent {\n private readonly _spaces = new ComplexMap<PublicKey, Space>(PublicKey.hash);\n\n public readonly storage: Storage;\n public readonly keyring: Keyring;\n public readonly feedStore: FeedStore<FeedMessage>;\n\n private _metadataStore?: MetadataStore;\n get metadataStore() {\n return (this._metadataStore ??= new MetadataStore(this.storage.createDirectory('metadata')));\n }\n\n private _snapshotStore?: SnapshotStore;\n get snapshotStore() {\n return (this._snapshotStore ??= new SnapshotStore(this.storage.createDirectory('snapshots')));\n }\n\n private _blobStore?: BlobStore;\n get blobStore() {\n return (this._blobStore ??= new BlobStore(this.storage.createDirectory('blobs')));\n }\n\n public modelFactory = new ModelFactory().registerModel(DocumentModel);\n\n constructor(\n private readonly _networkManagerProvider: NetworkManagerProvider,\n private readonly _feedBuilder: TestFeedBuilder,\n public readonly identityKey: PublicKey,\n public readonly deviceKey: PublicKey,\n ) {\n this.storage = this._feedBuilder.storage;\n this.keyring = this._feedBuilder.keyring;\n this.feedStore = this._feedBuilder.createFeedStore();\n }\n\n async close() {\n return Promise.all([...this.spaces.map((space) => space.close())]);\n }\n\n get spaces() {\n return Array.from(this._spaces.values());\n }\n\n getSpace(spaceKey: PublicKey) {\n return this._spaces.get(spaceKey);\n }\n\n private _spaceManager?: SpaceManager;\n get spaceManager() {\n return (this._spaceManager ??= new SpaceManager({\n feedStore: this.feedStore,\n networkManager: this._networkManagerProvider(),\n modelFactory: this.modelFactory,\n metadataStore: this.metadataStore,\n snapshotStore: this.snapshotStore,\n blobStore: this.blobStore,\n }));\n }\n\n async createSpace(\n identityKey: PublicKey = this.identityKey,\n spaceKey?: PublicKey,\n genesisKey?: PublicKey,\n dataKey?: PublicKey,\n saveMetadata = false,\n ): Promise<Space> {\n if (!spaceKey) {\n saveMetadata = true;\n spaceKey = await this.keyring.createKey();\n }\n if (!genesisKey) {\n genesisKey = await this.keyring.createKey();\n }\n\n const controlFeed = await this.feedStore.openFeed(genesisKey, { writable: true });\n const dataFeed = await this.feedStore.openFeed(dataKey ?? (await this.keyring.createKey()), {\n writable: true,\n sparse: true,\n });\n\n const metadata: SpaceMetadata = {\n key: spaceKey,\n genesisFeedKey: genesisKey,\n controlFeedKey: controlFeed.key,\n dataFeedKey: dataFeed.key,\n };\n if (saveMetadata) {\n await this.metadataStore.addSpace(metadata);\n }\n\n await this.spaceManager.open();\n const space = await this.spaceManager.constructSpace({\n metadata,\n swarmIdentity: {\n peerKey: this.deviceKey,\n credentialProvider: MOCK_AUTH_PROVIDER,\n credentialAuthenticator: MOCK_AUTH_VERIFIER,\n },\n memberKey: identityKey,\n onAuthorizedConnection: (session) => {\n session.addExtension(\n 'dxos.mesh.teleport.gossip',\n this.createGossip().createExtension({ remotePeerId: session.remotePeerId }),\n );\n },\n });\n await space.setControlFeed(controlFeed);\n await space.setDataFeed(dataFeed);\n\n await space.open(new Context());\n\n this._spaces.set(spaceKey, space);\n return space;\n }\n\n createSpaceProtocol(topic: PublicKey, gossip?: Gossip) {\n return new SpaceProtocol({\n topic,\n swarmIdentity: {\n peerKey: this.deviceKey,\n credentialProvider: MOCK_AUTH_PROVIDER,\n credentialAuthenticator: MOCK_AUTH_VERIFIER,\n },\n networkManager: this._networkManagerProvider(),\n blobStore: this.blobStore,\n onSessionAuth: (session) => {\n session.addExtension(\n 'dxos.mesh.teleport.gossip',\n (gossip ?? this.createGossip()).createExtension({ remotePeerId: session.remotePeerId }),\n );\n },\n });\n }\n\n createGossip() {\n return new Gossip({\n localPeerId: this.deviceKey,\n });\n }\n\n createPresence(gossip?: Gossip) {\n return new Presence({\n announceInterval: 30,\n offlineTimeout: 200,\n identityKey: this.identityKey,\n gossip: gossip ?? this.createGossip(),\n });\n }\n\n async spaceGenesis(space: Space) {\n const generator = new CredentialGenerator(this.keyring, this.identityKey, this.deviceKey);\n const credentials = [\n ...(await generator.createSpaceGenesis(space.key, space.controlFeedKey!)),\n await generator.createFeedAdmission(space.key, space.dataFeedKey!, AdmittedFeed.Designation.DATA),\n await generator.createEpochCredential(space.key),\n ];\n\n for (const credential of credentials) {\n await space.controlPipeline.writer.write({\n credential: { credential },\n });\n }\n }\n}\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { TestBuilder } from '@dxos/feed-store/testing';\nimport type { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';\n\nimport { valueEncoding } from '../common';\n\n/**\n * Builder with default encoder and generator.\n */\nexport class TestFeedBuilder extends TestBuilder<FeedMessage> {\n constructor() {\n super({\n valueEncoding,\n });\n }\n}\n", "//\n// Copyright 2021 DXOS.org\n//\n\nimport { asyncTimeout } from '@dxos/async';\nimport { DocumentModel } from '@dxos/document-model';\nimport { DatabaseProxy, ItemManager } from '@dxos/echo-db';\nimport { MockFeedWriter } from '@dxos/feed-store/testing';\nimport { PublicKey } from '@dxos/keys';\nimport { ModelFactory } from '@dxos/model-factory';\nimport { type DataMessage } from '@dxos/protocols/proto/dxos/echo/feed';\nimport { StorageType, createStorage } from '@dxos/random-access-storage';\nimport { Timeframe } from '@dxos/timeframe';\n\nimport { AutomergeHost } from '../automerge';\nimport { DatabaseHost, type DataServiceHost, DataServiceImpl, DataServiceSubscriptions } from '../db-host';\nimport { type DataPipeline } from '../space';\n\nexport const createMemoryDatabase = async (modelFactory: ModelFactory) => {\n const feed = new MockFeedWriter<DataMessage>();\n const backend = new DatabaseHost(feed, async () => {\n // No-op.\n });\n\n feed.written.on(([data, meta]) =>\n backend.echoProcessor({\n batch: data.batch,\n meta: {\n ...meta,\n memberKey: PublicKey.random(),\n timeframe: new Timeframe([[meta.feedKey, meta.seq]]),\n },\n }),\n );\n\n const itemManager = new ItemManager(modelFactory);\n await backend.open(itemManager, new ModelFactory().registerModel(DocumentModel));\n return {\n backend,\n itemManager,\n };\n};\n\nexport const createRemoteDatabaseFromDataServiceHost = async (\n modelFactory: ModelFactory,\n dataServiceHost: DataServiceHost,\n) => {\n const dataServiceSubscriptions = new DataServiceSubscriptions();\n const automergeHost = new AutomergeHost({\n directory: createStorage({ type: StorageType.RAM }).createDirectory(),\n });\n const dataService = new DataServiceImpl(dataServiceSubscriptions, automergeHost);\n\n const spaceKey = PublicKey.random();\n await dataServiceSubscriptions.registerSpace(spaceKey, dataServiceHost);\n\n const itemManager = new ItemManager(modelFactory);\n const backend = new DatabaseProxy({ service: dataService, itemManager, spaceKey });\n await backend.open(new ModelFactory().registerModel(DocumentModel));\n return {\n itemManager,\n backend,\n };\n};\n\nexport const testLocalDatabase = async (create: DataPipeline, check: DataPipeline = create) => {\n const objectId = PublicKey.random().toHex();\n await create.databaseHost!.getWriteStream()?.write({\n batch: {\n objects: [\n {\n objectId,\n genesis: {\n modelType: DocumentModel.meta.type,\n },\n },\n ],\n },\n });\n\n await asyncTimeout(\n check.databaseHost!._itemDemuxer.mutation.waitForCondition(() => check.itemManager.entities.has(objectId)),\n 2000,\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Event, Trigger } from '@dxos/async';\nimport { DocumentModel } from '@dxos/document-model';\nimport { DatabaseProxy, ItemManager, createModelMutation, encodeModelMutation } from '@dxos/echo-db';\nimport { type WriteOptions, type WriteReceipt } from '@dxos/feed-store';\nimport { invariant } from '@dxos/invariant';\nimport { PublicKey } from '@dxos/keys';\nimport { ModelFactory } from '@dxos/model-factory';\nimport { type FeedMessageBlock, schema } from '@dxos/protocols';\nimport { type FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';\nimport { type EchoSnapshot, type SpaceSnapshot } from '@dxos/protocols/proto/dxos/echo/snapshot';\nimport { type Epoch } from '@dxos/protocols/proto/dxos/halo/credentials';\nimport { TextModel } from '@dxos/text-model';\nimport { Timeframe } from '@dxos/timeframe';\nimport { ComplexMap, isNotNullOrUndefined } from '@dxos/util';\n\nimport { DatabaseHost } from '../db-host';\n\nconst SPACE_KEY = PublicKey.random();\n\nexport class DatabaseTestBuilder {\n public readonly peers = new ComplexMap<PublicKey, DatabaseTestPeer>(PublicKey.hash);\n\n async createPeer(spaceKey = SPACE_KEY): Promise<DatabaseTestPeer> {\n const peer = new DatabaseTestPeer(this, spaceKey);\n this.peers.set(peer.key, peer);\n await peer.open();\n return peer;\n }\n}\n\ntype WriteRequest = {\n receipt: WriteReceipt;\n options: WriteOptions;\n trigger: Trigger;\n};\n\n// TODO(dmaretskyi): Still used in echo-schema test builder.\n\nexport class DatabaseTestPeer {\n public readonly modelFactory = new ModelFactory().registerModel(DocumentModel).registerModel(TextModel);\n\n public items!: ItemManager;\n public proxy!: DatabaseProxy;\n\n public host!: DatabaseHost;\n public hostItems!: ItemManager;\n\n //\n // Test state.\n //\n\n public readonly key = PublicKey.random();\n\n public feedMessages: FeedMessage[] = [];\n\n public readonly snapshots = new Map<string, SpaceSnapshot>();\n private currentEpoch?: Epoch;\n\n /**\n * Sequence number of the last mutation confirmed to be written to the feed store.\n */\n public confirmed = -1;\n\n /**\n * Current position of the peer's pipeline.\n */\n public timeframe = new Timeframe();\n\n public snapshot: SpaceSnapshot | undefined;\n\n private readonly _onConfirm = new Event();\n\n private readonly _writes = new Set<WriteRequest>();\n\n constructor(\n public readonly rig: DatabaseTestBuilder,\n public readonly spaceKey: PublicKey,\n ) {}\n\n async open() {\n this.hostItems = new ItemManager(this.modelFactory);\n this.host = new DatabaseHost(\n {\n write: async (message, { afterWrite }: WriteOptions) => {\n const seq =\n this.feedMessages.push({\n timeframe: this.timeframe,\n payload: {\n data: message,\n },\n }) - 1;\n\n const request: WriteRequest = {\n receipt: {\n seq,\n feedKey: this.key,\n },\n options: { afterWrite },\n trigger: new Trigger(),\n };\n this._writes.add(request);\n await request.trigger.wait();\n return request.receipt;\n },\n },\n async () => {\n // No-op.\n },\n );\n\n await this.host.open(this.hostItems, this.modelFactory);\n if (this.snapshot) {\n this.host._itemDemuxer.restoreFromSnapshot(this.snapshot.database);\n }\n\n this.items = new ItemManager(this.modelFactory);\n this.proxy = new DatabaseProxy({\n service: this.host.createDataServiceHost({ deferEvents: false }),\n itemManager: this.items,\n spaceKey: this.spaceKey,\n });\n await this.proxy.open(this.modelFactory);\n }\n\n /**\n * Confirm mutations written to the local feed.\n * @param seq Sequence number of the mutation to confirm. If not specified, all mutations will be confirmed.\n */\n async confirm(seq?: number) {\n this.confirmed = seq ?? this.feedMessages.length - 1;\n this._onConfirm.emit();\n\n for (const request of [...this._writes]) {\n if (this.confirmed >= request.receipt.seq) {\n this._writes.delete(request);\n await request.options.afterWrite?.(request.receipt);\n request.trigger.wake();\n }\n }\n\n this._processMessages(Timeframe.merge(this.timeframe, new Timeframe([[this.key, this.confirmed]])));\n }\n\n /**\n * Replicate the database to the specified timeframe.\n * @param to Timeframe to replicate to. If not specified, the database will be replicated to the latest timeframe (based on all other peers).\n */\n replicate(to?: Timeframe) {\n const toTimeframe = Timeframe.merge(\n to ?? new Timeframe(Array.from(this.rig.peers.values()).map((peer) => [peer.key, peer.confirmed])),\n this.timeframe,\n );\n toTimeframe.set(this.key, this.confirmed);\n\n this._processMessages(toTimeframe);\n }\n\n /**\n * Reload data from the feed. Wipes unconfirmed mutations.\n */\n async reload() {\n await this.open();\n const timeframe = this.timeframe;\n this.timeframe = this.snapshot?.timeframe ?? new Timeframe();\n this._processMessages(timeframe);\n }\n\n /**\n * Create snapshot and use it for the next reload.\n */\n makeSnapshot(): SpaceSnapshot {\n this.snapshot = {\n spaceKey: SPACE_KEY.asUint8Array(),\n database: this.host.createSnapshot(),\n timeframe: this.timeframe,\n };\n return this.snapshot;\n }\n\n createEpoch(mockSnapshot?: EchoSnapshot) {\n const snapshot = this.makeSnapshot();\n // Substitute snapshot with the mock one for test purposes (e.g. to test with empty snapshot).\n mockSnapshot && (snapshot.database = mockSnapshot);\n const snapshotCid = PublicKey.from(\n schema.getCodecForType('dxos.echo.snapshot.SpaceSnapshot').encode(snapshot),\n ).toHex();\n this.snapshots.set(snapshotCid, snapshot);\n\n const epoch: Epoch = {\n previousId: PublicKey.random(),\n timeframe: this.timeframe,\n number: this.currentEpoch ? this.currentEpoch.number + 1 : 0,\n snapshotCid,\n };\n\n this.currentEpoch = epoch;\n\n this.host._itemDemuxer.restoreFromSnapshot(snapshot.database);\n }\n\n /**\n * Gets all candidate messages according to the current timeframe.\n * Does not take into account the current snapshot, timeframe dependencies, or the confirmed, or replicated state.\n */\n private _getHeads(): FeedMessageBlock[] {\n return Array.from(this.rig.peers.values())\n .map((peer): FeedMessageBlock => {\n const seq = this.timeframe.get(peer.key) ?? -1;\n const message = peer.feedMessages[seq + 1];\n return (\n message && {\n feedKey: peer.key,\n seq: seq + 1,\n data: message,\n }\n );\n })\n .filter(isNotNullOrUndefined);\n }\n\n private _processMessages(to: Timeframe) {\n let run = true;\n while (run) {\n run = false;\n\n const heads = this._getHeads();\n for (const candidate of heads) {\n const toSeq = to.get(candidate.feedKey) ?? -1;\n if (toSeq < candidate.seq) {\n continue;\n }\n\n const snapshotSeq = this.snapshot?.timeframe?.get(candidate.feedKey) ?? -1;\n if (candidate.seq <= snapshotSeq) {\n continue;\n }\n\n if (!Timeframe.dependencies(candidate.data.timeframe, this.timeframe).isEmpty()) {\n continue;\n }\n\n run = true;\n this.host.echoProcessor({\n batch: candidate.data.payload.data!.batch,\n meta: {\n feedKey: candidate.feedKey,\n seq: candidate.seq,\n memberKey: candidate.feedKey,\n timeframe: candidate.data.timeframe,\n },\n });\n this.timeframe = Timeframe.merge(this.timeframe, new Timeframe([[candidate.feedKey, candidate.seq]]));\n }\n }\n }\n\n getModel(id: string): DocumentModel | TextModel | undefined {\n const item = this.items.getItem(id);\n if (!item) {\n return;\n }\n\n invariant(item.modelMeta);\n const ModelConstructor = this.modelFactory.getModel(item.modelMeta.type)?.constructor;\n invariant(ModelConstructor);\n\n const model = new ModelConstructor(\n item.modelMeta,\n item.id,\n () => item.state,\n async (mutation) => {\n invariant(item.modelMeta);\n this.proxy.mutate(createModelMutation(id, encodeModelMutation(item.modelMeta, mutation)));\n return {\n feedKey: PublicKey.from('00'),\n seq: 0,\n waitToBeProcessed: () => Promise.resolve(),\n };\n },\n );\n model.initialize();\n\n return model;\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["log", "schema", "EchoMetadata", "schema", "getCodecForType", "changeStorageVersionInMetadata", "storage", "version", "log", "info", "metadata", "MetadataStore", "createDirectory", "load", "echoMetadata", "file", "_directory", "getOrCreateFile", "_writeFile", "flush", "Context", "CredentialGenerator", "DocumentModel", "PublicKey", "MemorySignalManager", "MemorySignalManagerContext", "WebsocketSignalManager", "ModelFactory", "createSimplePeerTransportFactory", "MemoryTransportFactory", "NetworkManager", "AdmittedFeed", "createStorage", "StorageType", "Gossip", "Presence", "BlobStore", "ComplexMap", "TestBuilder", "TestFeedBuilder", "TestBuilder", "constructor", "valueEncoding", "MemoryNetworkManagerProvider", "signalContext", "NetworkManager", "signalManager", "MemorySignalManager", "transportFactory", "MemoryTransportFactory", "WebsocketNetworkManagerProvider", "signalUrl", "WebsocketSignalManager", "server", "createSimplePeerTransportFactory", "TestAgentBuilder", "constructor", "storage", "networkManagerProvider", "_agents", "ComplexMap", "PublicKey", "hash", "_storage", "createStorage", "type", "StorageType", "RAM", "_networkManagerProvider", "MemorySignalManagerContext", "close", "Promise", "all", "agents", "map", "agent", "Array", "from", "values", "getAgent", "deviceKey", "get", "createPeer", "feedBuilder", "TestFeedBuilder", "setStorage", "size", "identityKey", "keyring", "createKey", "TestAgent", "set", "metadataStore", "_metadataStore", "MetadataStore", "createDirectory", "snapshotStore", "_snapshotStore", "SnapshotStore", "blobStore", "_blobStore", "BlobStore", "_feedBuilder", "_spaces", "modelFactory", "ModelFactory", "registerModel", "DocumentModel", "feedStore", "createFeedStore", "spaces", "space", "getSpace", "spaceKey", "spaceManager", "_spaceManager", "SpaceManager", "networkManager", "createSpace", "genesisKey", "dataKey", "saveMetadata", "controlFeed", "openFeed", "writable", "dataFeed", "sparse", "metadata", "key", "genesisFeedKey", "controlFeedKey", "dataFeedKey", "addSpace", "open", "constructSpace", "swarmIdentity", "peerKey", "credentialProvider", "MOCK_AUTH_PROVIDER", "credentialAuthenticator", "MOCK_AUTH_VERIFIER", "memberKey", "onAuthorizedConnection", "session", "addExtension", "createGossip", "createExtension", "remotePeerId", "setControlFeed", "setDataFeed", "Context", "createSpaceProtocol", "topic", "gossip", "SpaceProtocol", "onSessionAuth", "Gossip", "localPeerId", "createPresence", "Presence", "announceInterval", "offlineTimeout", "spaceGenesis", "generator", "CredentialGenerator", "credentials", "createSpaceGenesis", "createFeedAdmission", "AdmittedFeed", "Designation", "DATA", "createEpochCredential", "credential", "controlPipeline", "writer", "write", "asyncTimeout", "DocumentModel", "DatabaseProxy", "ItemManager", "MockFeedWriter", "PublicKey", "ModelFactory", "StorageType", "createStorage", "Timeframe", "createMemoryDatabase", "modelFactory", "feed", "MockFeedWriter", "backend", "DatabaseHost", "written", "on", "data", "meta", "echoProcessor", "batch", "memberKey", "PublicKey", "random", "timeframe", "Timeframe", "feedKey", "seq", "itemManager", "ItemManager", "open", "ModelFactory", "registerModel", "DocumentModel", "createRemoteDatabaseFromDataServiceHost", "dataServiceHost", "dataServiceSubscriptions", "DataServiceSubscriptions", "automergeHost", "AutomergeHost", "directory", "createStorage", "type", "StorageType", "RAM", "createDirectory", "dataService", "DataServiceImpl", "spaceKey", "registerSpace", "DatabaseProxy", "service", "testLocalDatabase", "create", "check", "objectId", "toHex", "databaseHost", "getWriteStream", "write", "objects", "genesis", "modelType", "asyncTimeout", "_itemDemuxer", "mutation", "waitForCondition", "entities", "has", "Event", "Trigger", "DocumentModel", "DatabaseProxy", "ItemManager", "createModelMutation", "encodeModelMutation", "invariant", "PublicKey", "ModelFactory", "schema", "TextModel", "Timeframe", "ComplexMap", "isNotNullOrUndefined", "SPACE_KEY", "PublicKey", "random", "DatabaseTestBuilder", "peers", "ComplexMap", "hash", "createPeer", "spaceKey", "peer", "DatabaseTestPeer", "set", "key", "open", "constructor", "rig", "modelFactory", "ModelFactory", "registerModel", "DocumentModel", "TextModel", "feedMessages", "snapshots", "Map", "confirmed", "timeframe", "Timeframe", "_onConfirm", "Event", "_writes", "Set", "hostItems", "ItemManager", "host", "DatabaseHost", "write", "message", "afterWrite", "seq", "push", "payload", "data", "request", "receipt", "feedKey", "options", "trigger", "Trigger", "add", "wait", "snapshot", "_itemDemuxer", "restoreFromSnapshot", "database", "items", "proxy", "DatabaseProxy", "service", "createDataServiceHost", "deferEvents", "itemManager", "confirm", "length", "emit", "delete", "wake", "_processMessages", "merge", "replicate", "to", "toTimeframe", "Array", "from", "values", "map", "reload", "makeSnapshot", "asUint8Array", "createSnapshot", "createEpoch", "mockSnapshot", "snapshotCid", "schema", "getCodecForType", "encode", "toHex", "epoch", "previousId", "number", "currentEpoch", "_getHeads", "get", "filter", "isNotNullOrUndefined", "run", "heads", "candidate", "toSeq", "snapshotSeq", "dependencies", "isEmpty", "echoProcessor", "batch", "meta", "memberKey", "getModel", "id", "item", "getItem", "invariant", "modelMeta", "ModelConstructor", "type", "model", "state", "mutation", "mutate", "createModelMutation", "encodeModelMutation", "waitToBeProcessed", "Promise", "resolve", "initialize"]
7
7
  }