@dxos/echo-pipeline 0.1.46 → 0.1.48-next.83f55fd

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist/lib/browser/{chunk-YFIFTFHQ.mjs → chunk-JEULF2QN.mjs} +52 -45
  2. package/dist/lib/browser/chunk-JEULF2QN.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +1 -1
  4. package/dist/lib/browser/meta.json +1 -1
  5. package/dist/lib/browser/testing/index.mjs +2 -3
  6. package/dist/lib/browser/testing/index.mjs.map +2 -2
  7. package/dist/lib/node/index.cjs +51 -44
  8. package/dist/lib/node/index.cjs.map +3 -3
  9. package/dist/lib/node/meta.json +1 -1
  10. package/dist/lib/node/testing/index.cjs +52 -46
  11. package/dist/lib/node/testing/index.cjs.map +3 -3
  12. package/dist/types/src/dbhost/data-service-host.d.ts.map +1 -1
  13. package/dist/types/src/space/space-manager.d.ts +2 -1
  14. package/dist/types/src/space/space-manager.d.ts.map +1 -1
  15. package/dist/types/src/space/space-protocol.d.ts +6 -2
  16. package/dist/types/src/space/space-protocol.d.ts.map +1 -1
  17. package/dist/types/src/testing/database-test-rig.d.ts +2 -1
  18. package/dist/types/src/testing/database-test-rig.d.ts.map +1 -1
  19. package/dist/types/src/testing/test-agent-builder.d.ts +1 -1
  20. package/dist/types/src/testing/test-agent-builder.d.ts.map +1 -1
  21. package/package.json +30 -30
  22. package/src/dbhost/data-service-host.ts +19 -14
  23. package/src/space/auth.ts +1 -1
  24. package/src/space/space-manager.ts +9 -1
  25. package/src/space/space-protocol.ts +12 -4
  26. package/src/space/space.test.ts +1 -1
  27. package/src/space/space.ts +1 -1
  28. package/src/testing/database-test-rig.ts +30 -7
  29. package/src/testing/test-agent-builder.ts +1 -1
  30. package/src/tests/database-unit.test.ts +58 -17
  31. package/dist/lib/browser/chunk-YFIFTFHQ.mjs.map +0 -7
@@ -1 +1 @@
1
- {"inputs":{"packages/core/echo/echo-pipeline/src/errors/errors.ts":{"bytes":5163,"imports":[]},"packages/core/echo/echo-pipeline/src/errors/index.ts":{"bytes":370,"imports":[{"path":"packages/core/echo/echo-pipeline/src/errors/errors.ts","kind":"import-statement","original":"./errors"}]},"packages/core/echo/echo-pipeline/src/metadata/metadata-store.ts":{"bytes":18077,"imports":[{"path":"crc-32","kind":"import-statement","external":true},{"path":"@dxos/node-std/assert","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/errors","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true}]},"packages/core/echo/echo-pipeline/src/metadata/index.ts":{"bytes":394,"imports":[{"path":"packages/core/echo/echo-pipeline/src/metadata/metadata-store.ts","kind":"import-statement","original":"./metadata-store"}]},"packages/core/echo/echo-pipeline/src/common/codec.ts":{"bytes":1539,"imports":[{"path":"@dxos/hypercore","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true}]},"packages/core/echo/echo-pipeline/src/common/feeds.ts":{"bytes":1690,"imports":[{"path":"@dxos/node-std/assert","kind":"import-statement","external":true}]},"packages/core/echo/echo-pipeline/src/common/index.ts":{"bytes":450,"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"}]},"packages/core/echo/echo-pipeline/src/pipeline/message-selector.ts":{"bytes":3445,"imports":[{"path":"debug","kind":"import-statement","external":true},{"path":"@dxos/node-std/assert","kind":"import-statement","external":true}]},"packages/core/echo/echo-pipeline/src/pipeline/timeframe-clock.ts":{"bytes":9569,"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}]},"packages/core/echo/echo-pipeline/src/pipeline/pipeline.ts":{"bytes":36310,"imports":[{"path":"@dxos/node-std/assert","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/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/common/index.ts","kind":"import-statement","original":"../common"},{"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"}]},"packages/core/echo/echo-pipeline/src/pipeline/index.ts":{"bytes":620,"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"}]},"packages/core/echo/echo-pipeline/src/space/auth.ts":{"bytes":9511,"imports":[{"path":"@dxos/node-std/assert","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/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/teleport","kind":"import-statement","external":true}]},"packages/core/echo/echo-pipeline/src/space/control-pipeline.ts":{"bytes":12254,"imports":[{"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/util","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/pipeline/index.ts","kind":"import-statement","original":"../pipeline"}]},"packages/core/echo/echo-pipeline/src/dbhost/data-service-host.ts":{"bytes":12136,"imports":[{"path":"@dxos/node-std/assert","kind":"import-statement","external":true},{"path":"@dxos/codec-protobuf","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}]},"packages/core/echo/echo-pipeline/src/dbhost/database-host.ts":{"bytes":4884,"imports":[{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/dbhost/data-service-host.ts","kind":"import-statement","original":"./data-service-host"}]},"packages/core/echo/echo-pipeline/src/dbhost/snapshot-manager.ts":{"bytes":8285,"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/protocols","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-object-sync","kind":"import-statement","external":true}]},"packages/core/echo/echo-pipeline/src/dbhost/snapshot-store.ts":{"bytes":5936,"imports":[{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true}]},"packages/core/echo/echo-pipeline/src/dbhost/data-service.ts":{"bytes":6382,"imports":[{"path":"@dxos/node-std/assert","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/util","kind":"import-statement","external":true}]},"packages/core/echo/echo-pipeline/src/dbhost/index.ts":{"bytes":816,"imports":[{"path":"packages/core/echo/echo-pipeline/src/dbhost/data-service-host.ts","kind":"import-statement","original":"./data-service-host"},{"path":"packages/core/echo/echo-pipeline/src/dbhost/database-host.ts","kind":"import-statement","original":"./database-host"},{"path":"packages/core/echo/echo-pipeline/src/dbhost/snapshot-manager.ts","kind":"import-statement","original":"./snapshot-manager"},{"path":"packages/core/echo/echo-pipeline/src/dbhost/snapshot-store.ts","kind":"import-statement","original":"./snapshot-store"},{"path":"packages/core/echo/echo-pipeline/src/dbhost/data-service.ts","kind":"import-statement","original":"./data-service"}]},"packages/core/echo/echo-pipeline/src/space/data-pipeline.ts":{"bytes":34429,"imports":[{"path":"@dxos/node-std/assert","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/log","kind":"import-statement","external":true},{"path":"@dxos/timeframe","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/dbhost/index.ts","kind":"import-statement","original":"../dbhost"},{"path":"packages/core/echo/echo-pipeline/src/pipeline/index.ts","kind":"import-statement","original":"../pipeline"}]},"packages/core/echo/echo-pipeline/src/space/space.ts":{"bytes":25137,"imports":[{"path":"@dxos/node-std/assert","kind":"import-statement","external":true},{"path":"@dxos/async","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/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"}]},"packages/core/echo/echo-pipeline/src/space/space-protocol.ts":{"bytes":21662,"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-replicator","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"}]},"packages/core/echo/echo-pipeline/src/space/space-manager.ts":{"bytes":11902,"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/dbhost/index.ts","kind":"import-statement","original":"../dbhost"},{"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"}]},"packages/core/echo/echo-pipeline/src/space/index.ts":{"bytes":757,"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"}]},"packages/core/echo/echo-pipeline/src/index.ts":{"bytes":795,"imports":[{"path":"packages/core/echo/echo-pipeline/src/errors/index.ts","kind":"import-statement","original":"./errors"},{"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/common/index.ts","kind":"import-statement","original":"./common"},{"path":"packages/core/echo/echo-pipeline/src/dbhost/index.ts","kind":"import-statement","original":"./dbhost"}]},"packages/core/echo/echo-pipeline/src/testing/test-feed-builder.ts":{"bytes":1362,"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"}]},"packages/core/echo/echo-pipeline/src/testing/test-agent-builder.ts":{"bytes":27316,"imports":[{"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/util","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/dbhost/index.ts","kind":"import-statement","original":"../dbhost"},{"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":"packages/core/echo/echo-pipeline/src/testing/test-feed-builder.ts","kind":"import-statement","original":"./test-feed-builder"}]},"packages/core/echo/echo-pipeline/src/testing/util.ts":{"bytes":8676,"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/timeframe","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/dbhost/index.ts","kind":"import-statement","original":"../dbhost"}]},"packages/core/echo/echo-pipeline/src/testing/index.ts":{"bytes":591,"imports":[{"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"}]}},"outputs":{"packages/core/echo/echo-pipeline/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2708},"packages/core/echo/echo-pipeline/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/core/echo/echo-pipeline/dist/lib/browser/chunk-YFIFTFHQ.mjs","kind":"import-statement"}],"exports":["AuthExtension","AuthStatus","DBError","DataPipeline","DataServiceHost","DataServiceImpl","DataServiceSubscriptions","DatabaseHost","EntityNotFoundError","IdentityNotInitializedError","InvalidInvitationError","InvalidStorageVersionError","MOCK_AUTH_PROVIDER","MOCK_AUTH_VERIFIER","MetadataStore","Pipeline","PipelineAccessor","SnapshotManager","SnapshotStore","Space","SpaceManager","SpaceNotFoundError","SpaceProtocol","SpaceProtocolSession","TimeframeClock","UnknownModelError","codec","createMappedFeedWriter","mapFeedIndexesToTimeframe","mapTimeframeToFeedIndexes","startAfter","valueEncoding"],"entryPoint":"packages/core/echo/echo-pipeline/src/index.ts","inputs":{"packages/core/echo/echo-pipeline/src/errors/errors.ts":{"bytesInOutput":1196},"packages/core/echo/echo-pipeline/src/errors/index.ts":{"bytesInOutput":0},"packages/core/echo/echo-pipeline/src/index.ts":{"bytesInOutput":0}},"bytes":2427},"packages/core/echo/echo-pipeline/dist/lib/browser/testing/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":19731},"packages/core/echo/echo-pipeline/dist/lib/browser/testing/index.mjs":{"imports":[{"path":"packages/core/echo/echo-pipeline/dist/lib/browser/chunk-YFIFTFHQ.mjs","kind":"import-statement"},{"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/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/timeframe","kind":"import-statement","external":true}],"exports":["MemoryNetworkManagerProvider","TestAgent","TestAgentBuilder","TestFeedBuilder","WebsocketNetworkManagerProvider","createMemoryDatabase","createRemoteDatabaseFromDataServiceHost","testLocalDatabase"],"entryPoint":"packages/core/echo/echo-pipeline/src/testing/index.ts","inputs":{"packages/core/echo/echo-pipeline/src/testing/test-agent-builder.ts":{"bytesInOutput":6471},"packages/core/echo/echo-pipeline/src/testing/test-feed-builder.ts":{"bytesInOutput":171},"packages/core/echo/echo-pipeline/src/testing/index.ts":{"bytesInOutput":0},"packages/core/echo/echo-pipeline/src/testing/util.ts":{"bytesInOutput":2079}},"bytes":9506},"packages/core/echo/echo-pipeline/dist/lib/browser/chunk-YFIFTFHQ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":108704},"packages/core/echo/echo-pipeline/dist/lib/browser/chunk-YFIFTFHQ.mjs":{"imports":[{"path":"crc-32","kind":"import-statement","external":true},{"path":"@dxos/node-std/assert","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/errors","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/hypercore","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/node-std/assert","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/node-std/assert","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/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":"debug","kind":"import-statement","external":true},{"path":"@dxos/node-std/assert","kind":"import-statement","external":true},{"path":"@dxos/node-std/assert","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/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/teleport","kind":"import-statement","external":true},{"path":"@dxos/node-std/assert","kind":"import-statement","external":true},{"path":"@dxos/codec-protobuf","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/echo-db","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/protocols","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-object-sync","kind":"import-statement","external":true},{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/node-std/assert","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/util","kind":"import-statement","external":true},{"path":"@dxos/node-std/assert","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/log","kind":"import-statement","external":true},{"path":"@dxos/timeframe","kind":"import-statement","external":true},{"path":"@dxos/node-std/assert","kind":"import-statement","external":true},{"path":"@dxos/async","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/util","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/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-replicator","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}],"exports":["AuthExtension","AuthStatus","DataPipeline","DataServiceHost","DataServiceImpl","DataServiceSubscriptions","DatabaseHost","MOCK_AUTH_PROVIDER","MOCK_AUTH_VERIFIER","MetadataStore","Pipeline","SnapshotManager","SnapshotStore","Space","SpaceManager","SpaceProtocol","SpaceProtocolSession","TimeframeClock","codec","createMappedFeedWriter","mapFeedIndexesToTimeframe","mapTimeframeToFeedIndexes","startAfter","valueEncoding"],"inputs":{"packages/core/echo/echo-pipeline/src/metadata/metadata-store.ts":{"bytesInOutput":5335},"packages/core/echo/echo-pipeline/src/metadata/index.ts":{"bytesInOutput":0},"packages/core/echo/echo-pipeline/src/common/codec.ts":{"bytesInOutput":223},"packages/core/echo/echo-pipeline/src/common/feeds.ts":{"bytesInOutput":237},"packages/core/echo/echo-pipeline/src/common/index.ts":{"bytesInOutput":0},"packages/core/echo/echo-pipeline/src/pipeline/timeframe-clock.ts":{"bytesInOutput":2864},"packages/core/echo/echo-pipeline/src/pipeline/pipeline.ts":{"bytesInOutput":9407},"packages/core/echo/echo-pipeline/src/pipeline/message-selector.ts":{"bytesInOutput":436},"packages/core/echo/echo-pipeline/src/pipeline/index.ts":{"bytesInOutput":0},"packages/core/echo/echo-pipeline/src/space/auth.ts":{"bytesInOutput":2524},"packages/core/echo/echo-pipeline/src/dbhost/data-service-host.ts":{"bytesInOutput":3091},"packages/core/echo/echo-pipeline/src/dbhost/database-host.ts":{"bytesInOutput":840},"packages/core/echo/echo-pipeline/src/dbhost/snapshot-manager.ts":{"bytesInOutput":2645},"packages/core/echo/echo-pipeline/src/dbhost/snapshot-store.ts":{"bytesInOutput":1321},"packages/core/echo/echo-pipeline/src/dbhost/data-service.ts":{"bytesInOutput":1575},"packages/core/echo/echo-pipeline/src/dbhost/index.ts":{"bytesInOutput":0},"packages/core/echo/echo-pipeline/src/space/data-pipeline.ts":{"bytesInOutput":9334},"packages/core/echo/echo-pipeline/src/space/space.ts":{"bytesInOutput":6647},"packages/core/echo/echo-pipeline/src/space/control-pipeline.ts":{"bytesInOutput":3354},"packages/core/echo/echo-pipeline/src/space/space-protocol.ts":{"bytesInOutput":5875},"packages/core/echo/echo-pipeline/src/space/space-manager.ts":{"bytesInOutput":3247},"packages/core/echo/echo-pipeline/src/space/index.ts":{"bytesInOutput":0}},"bytes":60693}}}
1
+ {"inputs":{"packages/core/echo/echo-pipeline/src/errors/errors.ts":{"bytes":5163,"imports":[]},"packages/core/echo/echo-pipeline/src/errors/index.ts":{"bytes":370,"imports":[{"path":"packages/core/echo/echo-pipeline/src/errors/errors.ts","kind":"import-statement","original":"./errors"}]},"packages/core/echo/echo-pipeline/src/metadata/metadata-store.ts":{"bytes":18077,"imports":[{"path":"crc-32","kind":"import-statement","external":true},{"path":"@dxos/node-std/assert","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/errors","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true}]},"packages/core/echo/echo-pipeline/src/metadata/index.ts":{"bytes":394,"imports":[{"path":"packages/core/echo/echo-pipeline/src/metadata/metadata-store.ts","kind":"import-statement","original":"./metadata-store"}]},"packages/core/echo/echo-pipeline/src/common/codec.ts":{"bytes":1539,"imports":[{"path":"@dxos/hypercore","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true}]},"packages/core/echo/echo-pipeline/src/common/feeds.ts":{"bytes":1690,"imports":[{"path":"@dxos/node-std/assert","kind":"import-statement","external":true}]},"packages/core/echo/echo-pipeline/src/common/index.ts":{"bytes":450,"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"}]},"packages/core/echo/echo-pipeline/src/pipeline/message-selector.ts":{"bytes":3445,"imports":[{"path":"debug","kind":"import-statement","external":true},{"path":"@dxos/node-std/assert","kind":"import-statement","external":true}]},"packages/core/echo/echo-pipeline/src/pipeline/timeframe-clock.ts":{"bytes":9569,"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}]},"packages/core/echo/echo-pipeline/src/pipeline/pipeline.ts":{"bytes":36310,"imports":[{"path":"@dxos/node-std/assert","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/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/common/index.ts","kind":"import-statement","original":"../common"},{"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"}]},"packages/core/echo/echo-pipeline/src/pipeline/index.ts":{"bytes":620,"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"}]},"packages/core/echo/echo-pipeline/src/space/auth.ts":{"bytes":9474,"imports":[{"path":"@dxos/node-std/assert","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/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/teleport","kind":"import-statement","external":true}]},"packages/core/echo/echo-pipeline/src/space/control-pipeline.ts":{"bytes":12254,"imports":[{"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/util","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/pipeline/index.ts","kind":"import-statement","original":"../pipeline"}]},"packages/core/echo/echo-pipeline/src/dbhost/data-service-host.ts":{"bytes":12747,"imports":[{"path":"@dxos/node-std/assert","kind":"import-statement","external":true},{"path":"@dxos/codec-protobuf","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}]},"packages/core/echo/echo-pipeline/src/dbhost/database-host.ts":{"bytes":4884,"imports":[{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/dbhost/data-service-host.ts","kind":"import-statement","original":"./data-service-host"}]},"packages/core/echo/echo-pipeline/src/dbhost/snapshot-manager.ts":{"bytes":8285,"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/protocols","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-object-sync","kind":"import-statement","external":true}]},"packages/core/echo/echo-pipeline/src/dbhost/snapshot-store.ts":{"bytes":5936,"imports":[{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true}]},"packages/core/echo/echo-pipeline/src/dbhost/data-service.ts":{"bytes":6382,"imports":[{"path":"@dxos/node-std/assert","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/util","kind":"import-statement","external":true}]},"packages/core/echo/echo-pipeline/src/dbhost/index.ts":{"bytes":816,"imports":[{"path":"packages/core/echo/echo-pipeline/src/dbhost/data-service-host.ts","kind":"import-statement","original":"./data-service-host"},{"path":"packages/core/echo/echo-pipeline/src/dbhost/database-host.ts","kind":"import-statement","original":"./database-host"},{"path":"packages/core/echo/echo-pipeline/src/dbhost/snapshot-manager.ts","kind":"import-statement","original":"./snapshot-manager"},{"path":"packages/core/echo/echo-pipeline/src/dbhost/snapshot-store.ts","kind":"import-statement","original":"./snapshot-store"},{"path":"packages/core/echo/echo-pipeline/src/dbhost/data-service.ts","kind":"import-statement","original":"./data-service"}]},"packages/core/echo/echo-pipeline/src/space/data-pipeline.ts":{"bytes":34429,"imports":[{"path":"@dxos/node-std/assert","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/log","kind":"import-statement","external":true},{"path":"@dxos/timeframe","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/dbhost/index.ts","kind":"import-statement","original":"../dbhost"},{"path":"packages/core/echo/echo-pipeline/src/pipeline/index.ts","kind":"import-statement","original":"../pipeline"}]},"packages/core/echo/echo-pipeline/src/space/space.ts":{"bytes":25108,"imports":[{"path":"@dxos/node-std/assert","kind":"import-statement","external":true},{"path":"@dxos/async","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/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"}]},"packages/core/echo/echo-pipeline/src/space/space-protocol.ts":{"bytes":22388,"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-replicator","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"}]},"packages/core/echo/echo-pipeline/src/space/space-manager.ts":{"bytes":12141,"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/dbhost/index.ts","kind":"import-statement","original":"../dbhost"},{"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"}]},"packages/core/echo/echo-pipeline/src/space/index.ts":{"bytes":757,"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"}]},"packages/core/echo/echo-pipeline/src/index.ts":{"bytes":795,"imports":[{"path":"packages/core/echo/echo-pipeline/src/errors/index.ts","kind":"import-statement","original":"./errors"},{"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/common/index.ts","kind":"import-statement","original":"./common"},{"path":"packages/core/echo/echo-pipeline/src/dbhost/index.ts","kind":"import-statement","original":"./dbhost"}]},"packages/core/echo/echo-pipeline/src/testing/test-feed-builder.ts":{"bytes":1362,"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"}]},"packages/core/echo/echo-pipeline/src/testing/test-agent-builder.ts":{"bytes":27292,"imports":[{"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/util","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/dbhost/index.ts","kind":"import-statement","original":"../dbhost"},{"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":"packages/core/echo/echo-pipeline/src/testing/test-feed-builder.ts","kind":"import-statement","original":"./test-feed-builder"}]},"packages/core/echo/echo-pipeline/src/testing/util.ts":{"bytes":8676,"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/timeframe","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/dbhost/index.ts","kind":"import-statement","original":"../dbhost"}]},"packages/core/echo/echo-pipeline/src/testing/index.ts":{"bytes":591,"imports":[{"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"}]}},"outputs":{"packages/core/echo/echo-pipeline/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2708},"packages/core/echo/echo-pipeline/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/core/echo/echo-pipeline/dist/lib/browser/chunk-JEULF2QN.mjs","kind":"import-statement"}],"exports":["AuthExtension","AuthStatus","DBError","DataPipeline","DataServiceHost","DataServiceImpl","DataServiceSubscriptions","DatabaseHost","EntityNotFoundError","IdentityNotInitializedError","InvalidInvitationError","InvalidStorageVersionError","MOCK_AUTH_PROVIDER","MOCK_AUTH_VERIFIER","MetadataStore","Pipeline","PipelineAccessor","SnapshotManager","SnapshotStore","Space","SpaceManager","SpaceNotFoundError","SpaceProtocol","SpaceProtocolSession","TimeframeClock","UnknownModelError","codec","createMappedFeedWriter","mapFeedIndexesToTimeframe","mapTimeframeToFeedIndexes","startAfter","valueEncoding"],"entryPoint":"packages/core/echo/echo-pipeline/src/index.ts","inputs":{"packages/core/echo/echo-pipeline/src/errors/errors.ts":{"bytesInOutput":1196},"packages/core/echo/echo-pipeline/src/errors/index.ts":{"bytesInOutput":0},"packages/core/echo/echo-pipeline/src/index.ts":{"bytesInOutput":0}},"bytes":2427},"packages/core/echo/echo-pipeline/dist/lib/browser/testing/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":19720},"packages/core/echo/echo-pipeline/dist/lib/browser/testing/index.mjs":{"imports":[{"path":"packages/core/echo/echo-pipeline/dist/lib/browser/chunk-JEULF2QN.mjs","kind":"import-statement"},{"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/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/timeframe","kind":"import-statement","external":true}],"exports":["MemoryNetworkManagerProvider","TestAgent","TestAgentBuilder","TestFeedBuilder","WebsocketNetworkManagerProvider","createMemoryDatabase","createRemoteDatabaseFromDataServiceHost","testLocalDatabase"],"entryPoint":"packages/core/echo/echo-pipeline/src/testing/index.ts","inputs":{"packages/core/echo/echo-pipeline/src/testing/test-agent-builder.ts":{"bytesInOutput":6463},"packages/core/echo/echo-pipeline/src/testing/test-feed-builder.ts":{"bytesInOutput":171},"packages/core/echo/echo-pipeline/src/testing/index.ts":{"bytesInOutput":0},"packages/core/echo/echo-pipeline/src/testing/util.ts":{"bytesInOutput":2079}},"bytes":9498},"packages/core/echo/echo-pipeline/dist/lib/browser/chunk-JEULF2QN.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":109643},"packages/core/echo/echo-pipeline/dist/lib/browser/chunk-JEULF2QN.mjs":{"imports":[{"path":"crc-32","kind":"import-statement","external":true},{"path":"@dxos/node-std/assert","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/errors","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/hypercore","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/node-std/assert","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/node-std/assert","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/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":"debug","kind":"import-statement","external":true},{"path":"@dxos/node-std/assert","kind":"import-statement","external":true},{"path":"@dxos/node-std/assert","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/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/teleport","kind":"import-statement","external":true},{"path":"@dxos/node-std/assert","kind":"import-statement","external":true},{"path":"@dxos/codec-protobuf","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/echo-db","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/protocols","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-object-sync","kind":"import-statement","external":true},{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/node-std/assert","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/util","kind":"import-statement","external":true},{"path":"@dxos/node-std/assert","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/log","kind":"import-statement","external":true},{"path":"@dxos/timeframe","kind":"import-statement","external":true},{"path":"@dxos/node-std/assert","kind":"import-statement","external":true},{"path":"@dxos/async","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/util","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/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-replicator","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}],"exports":["AuthExtension","AuthStatus","DataPipeline","DataServiceHost","DataServiceImpl","DataServiceSubscriptions","DatabaseHost","MOCK_AUTH_PROVIDER","MOCK_AUTH_VERIFIER","MetadataStore","Pipeline","SnapshotManager","SnapshotStore","Space","SpaceManager","SpaceProtocol","SpaceProtocolSession","TimeframeClock","codec","createMappedFeedWriter","mapFeedIndexesToTimeframe","mapTimeframeToFeedIndexes","startAfter","valueEncoding"],"inputs":{"packages/core/echo/echo-pipeline/src/metadata/metadata-store.ts":{"bytesInOutput":5335},"packages/core/echo/echo-pipeline/src/metadata/index.ts":{"bytesInOutput":0},"packages/core/echo/echo-pipeline/src/common/codec.ts":{"bytesInOutput":223},"packages/core/echo/echo-pipeline/src/common/feeds.ts":{"bytesInOutput":237},"packages/core/echo/echo-pipeline/src/common/index.ts":{"bytesInOutput":0},"packages/core/echo/echo-pipeline/src/pipeline/timeframe-clock.ts":{"bytesInOutput":2864},"packages/core/echo/echo-pipeline/src/pipeline/pipeline.ts":{"bytesInOutput":9407},"packages/core/echo/echo-pipeline/src/pipeline/message-selector.ts":{"bytesInOutput":436},"packages/core/echo/echo-pipeline/src/pipeline/index.ts":{"bytesInOutput":0},"packages/core/echo/echo-pipeline/src/space/auth.ts":{"bytesInOutput":2519},"packages/core/echo/echo-pipeline/src/dbhost/data-service-host.ts":{"bytesInOutput":3255},"packages/core/echo/echo-pipeline/src/dbhost/database-host.ts":{"bytesInOutput":840},"packages/core/echo/echo-pipeline/src/dbhost/snapshot-manager.ts":{"bytesInOutput":2645},"packages/core/echo/echo-pipeline/src/dbhost/snapshot-store.ts":{"bytesInOutput":1321},"packages/core/echo/echo-pipeline/src/dbhost/data-service.ts":{"bytesInOutput":1575},"packages/core/echo/echo-pipeline/src/dbhost/index.ts":{"bytesInOutput":0},"packages/core/echo/echo-pipeline/src/space/data-pipeline.ts":{"bytesInOutput":9334},"packages/core/echo/echo-pipeline/src/space/space.ts":{"bytesInOutput":6642},"packages/core/echo/echo-pipeline/src/space/control-pipeline.ts":{"bytesInOutput":3354},"packages/core/echo/echo-pipeline/src/space/space-protocol.ts":{"bytesInOutput":5961},"packages/core/echo/echo-pipeline/src/space/space-manager.ts":{"bytesInOutput":3283},"packages/core/echo/echo-pipeline/src/space/index.ts":{"bytesInOutput":0}},"bytes":60969}}}
@@ -10,7 +10,7 @@ import {
10
10
  SpaceManager,
11
11
  SpaceProtocol,
12
12
  valueEncoding
13
- } from "../chunk-YFIFTFHQ.mjs";
13
+ } from "../chunk-JEULF2QN.mjs";
14
14
 
15
15
  // packages/core/echo/echo-pipeline/src/testing/test-agent-builder.ts
16
16
  import { CredentialGenerator } from "@dxos/credentials";
@@ -114,8 +114,7 @@ var TestAgent = class {
114
114
  snapshotStore: this.snapshotStore
115
115
  });
116
116
  }
117
- async createSpace(identityKey = this.identityKey, spaceKey, genesisKey, dataKey) {
118
- let saveMetadata = false;
117
+ async createSpace(identityKey = this.identityKey, spaceKey, genesisKey, dataKey, saveMetadata = false) {
119
118
  if (!spaceKey) {
120
119
  saveMetadata = true;
121
120
  spaceKey = await this.keyring.createKey();
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/testing/test-agent-builder.ts", "../../../../src/testing/test-feed-builder.ts", "../../../../src/testing/util.ts"],
4
- "sourcesContent": ["//\n// Copyright 2022 DXOS.org\n//\n\nimport { CredentialGenerator } from '@dxos/credentials';\nimport { DocumentModel } from '@dxos/document-model';\nimport { FeedStore } from '@dxos/feed-store';\nimport { Keyring } from '@dxos/keyring';\nimport { PublicKey } from '@dxos/keys';\nimport { MemorySignalManager, MemorySignalManagerContext, WebsocketSignalManager } from '@dxos/messaging';\nimport { ModelFactory } from '@dxos/model-factory';\nimport { createWebRTCTransportFactory, MemoryTransportFactory, NetworkManager } from '@dxos/network-manager';\nimport type { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';\nimport { SpaceMetadata } from '@dxos/protocols/proto/dxos/echo/metadata';\nimport { AdmittedFeed } from '@dxos/protocols/proto/dxos/halo/credentials';\nimport { createStorage, Storage, StorageType } from '@dxos/random-access-storage';\nimport { Gossip, Presence } from '@dxos/teleport-extension-gossip';\nimport { ComplexMap } from '@dxos/util';\n\nimport { SnapshotStore } from '../dbhost';\nimport { MetadataStore } from '../metadata';\nimport { MOCK_AUTH_PROVIDER, MOCK_AUTH_VERIFIER, Space, SpaceManager, SpaceProtocol } from '../space';\nimport { TestFeedBuilder } from './test-feed-builder';\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: createWebRTCTransportFactory(),\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 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 }));\n }\n\n async createSpace(\n identityKey: PublicKey = this.identityKey,\n spaceKey?: PublicKey,\n genesisKey?: PublicKey,\n dataKey?: PublicKey,\n ): Promise<Space> {\n let saveMetadata = false;\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()), { writable: true });\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 onNetworkConnection: (session) => {\n session.addExtension(\n 'dxos.mesh.teleport.gossip',\n this.createGossip().createExtension({ remotePeerId: session.remotePeerId }),\n );\n },\n });\n space.setControlFeed(controlFeed);\n space.setDataFeed(dataFeed);\n\n await space.open();\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 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 { DataMessage } from '@dxos/protocols/proto/dxos/echo/feed';\nimport { Timeframe } from '@dxos/timeframe';\n\nimport { DatabaseHost, DataServiceHost, DataServiceImpl, DataServiceSubscriptions } from '../dbhost';\nimport { DataPipeline } from '../space';\n\nexport const createMemoryDatabase = async (modelFactory: ModelFactory) => {\n const feed = new MockFeedWriter<DataMessage>();\n const backend = new DatabaseHost(feed);\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 dataService = new DataServiceImpl(dataServiceSubscriptions);\n\n const spaceKey = PublicKey.random();\n dataServiceSubscriptions.registerSpace(spaceKey, dataServiceHost);\n\n const backend = new DatabaseProxy(dataService, spaceKey);\n const itemManager = new ItemManager(modelFactory);\n await backend.open(itemManager, 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 500,\n );\n};\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["//\n// Copyright 2022 DXOS.org\n//\n\nimport { CredentialGenerator } from '@dxos/credentials';\nimport { DocumentModel } from '@dxos/document-model';\nimport { FeedStore } from '@dxos/feed-store';\nimport { Keyring } from '@dxos/keyring';\nimport { PublicKey } from '@dxos/keys';\nimport { MemorySignalManager, MemorySignalManagerContext, WebsocketSignalManager } from '@dxos/messaging';\nimport { ModelFactory } from '@dxos/model-factory';\nimport { createWebRTCTransportFactory, MemoryTransportFactory, NetworkManager } from '@dxos/network-manager';\nimport type { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';\nimport { SpaceMetadata } from '@dxos/protocols/proto/dxos/echo/metadata';\nimport { AdmittedFeed } from '@dxos/protocols/proto/dxos/halo/credentials';\nimport { createStorage, Storage, StorageType } from '@dxos/random-access-storage';\nimport { Gossip, Presence } from '@dxos/teleport-extension-gossip';\nimport { ComplexMap } from '@dxos/util';\n\nimport { SnapshotStore } from '../dbhost';\nimport { MetadataStore } from '../metadata';\nimport { MOCK_AUTH_PROVIDER, MOCK_AUTH_VERIFIER, Space, SpaceManager, SpaceProtocol } from '../space';\nimport { TestFeedBuilder } from './test-feed-builder';\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: createWebRTCTransportFactory(),\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 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 }));\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()), { writable: true });\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 onNetworkConnection: (session) => {\n session.addExtension(\n 'dxos.mesh.teleport.gossip',\n this.createGossip().createExtension({ remotePeerId: session.remotePeerId }),\n );\n },\n });\n space.setControlFeed(controlFeed);\n space.setDataFeed(dataFeed);\n\n await space.open();\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 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 { DataMessage } from '@dxos/protocols/proto/dxos/echo/feed';\nimport { Timeframe } from '@dxos/timeframe';\n\nimport { DatabaseHost, DataServiceHost, DataServiceImpl, DataServiceSubscriptions } from '../dbhost';\nimport { DataPipeline } from '../space';\n\nexport const createMemoryDatabase = async (modelFactory: ModelFactory) => {\n const feed = new MockFeedWriter<DataMessage>();\n const backend = new DatabaseHost(feed);\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 dataService = new DataServiceImpl(dataServiceSubscriptions);\n\n const spaceKey = PublicKey.random();\n dataServiceSubscriptions.registerSpace(spaceKey, dataServiceHost);\n\n const backend = new DatabaseProxy(dataService, spaceKey);\n const itemManager = new ItemManager(modelFactory);\n await backend.open(itemManager, 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 500,\n );\n};\n"],
5
+ "mappings": "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",
6
6
  "names": ["CredentialGenerator", "DocumentModel", "PublicKey", "MemorySignalManager", "MemorySignalManagerContext", "WebsocketSignalManager", "ModelFactory", "createWebRTCTransportFactory", "MemoryTransportFactory", "NetworkManager", "AdmittedFeed", "createStorage", "StorageType", "Gossip", "Presence", "ComplexMap", "TestBuilder", "TestFeedBuilder", "TestBuilder", "constructor", "valueEncoding", "MemoryNetworkManagerProvider", "signalContext", "NetworkManager", "signalManager", "MemorySignalManager", "transportFactory", "MemoryTransportFactory", "WebsocketNetworkManagerProvider", "signalUrl", "WebsocketSignalManager", "server", "createWebRTCTransportFactory", "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", "_feedBuilder", "_spaces", "modelFactory", "ModelFactory", "registerModel", "DocumentModel", "feedStore", "createFeedStore", "spaces", "space", "getSpace", "spaceKey", "spaceManager", "_spaceManager", "SpaceManager", "networkManager", "createSpace", "genesisKey", "dataKey", "saveMetadata", "controlFeed", "openFeed", "writable", "dataFeed", "metadata", "key", "genesisFeedKey", "controlFeedKey", "dataFeedKey", "addSpace", "open", "constructSpace", "swarmIdentity", "peerKey", "credentialProvider", "MOCK_AUTH_PROVIDER", "credentialAuthenticator", "MOCK_AUTH_VERIFIER", "memberKey", "onNetworkConnection", "session", "addExtension", "createGossip", "createExtension", "remotePeerId", "setControlFeed", "setDataFeed", "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", "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", "dataService", "DataServiceImpl", "spaceKey", "registerSpace", "DatabaseProxy", "testLocalDatabase", "create", "check", "objectId", "toHex", "databaseHost", "getWriteStream", "write", "objects", "genesis", "modelType", "type", "asyncTimeout", "_itemDemuxer", "mutation", "waitForCondition", "entities", "has"]
7
7
  }
@@ -771,7 +771,7 @@ var AuthExtension = class extends import_teleport.RpcExtension {
771
771
  (0, import_node_assert5.default)(success, "credential not verified");
772
772
  (0, import_async4.runInContext)(this._ctx, () => this._authParams.onAuthSuccess());
773
773
  } catch (err) {
774
- import_log4.log.warn("auth failed", err, {
774
+ (0, import_log4.log)("auth failed", err, {
775
775
  file: "auth.ts",
776
776
  line: 75,
777
777
  scope: this,
@@ -946,12 +946,13 @@ var DataServiceHost = class {
946
946
  this._itemDemuxer.mutation.on(ctx, (message) => {
947
947
  var _a;
948
948
  const { batch, meta } = message;
949
+ (0, import_node_assert6.default)(!meta.clientTag, "Unexpected client tag in mutation message");
949
950
  (0, import_log6.log)("message", {
950
951
  batch,
951
952
  meta
952
953
  }, {
953
954
  file: "data-service-host.ts",
954
- line: 49,
955
+ line: 51,
955
956
  scope: this,
956
957
  callSite: (f, a) => f(...a)
957
958
  });
@@ -960,10 +961,12 @@ var DataServiceHost = class {
960
961
  message.meta.seq
961
962
  ]);
962
963
  (_a = batch.objects) == null ? void 0 : _a.forEach((object) => {
963
- (0, import_echo_db.setMetadataOnObject)(object, meta);
964
+ (0, import_echo_db.setMetadataOnObject)(object, {
965
+ ...meta
966
+ });
964
967
  });
965
968
  if (clientTag) {
966
- (0, import_echo_db.tagMutationsInBatch)(batch, clientTag);
969
+ (0, import_echo_db.tagMutationsInBatch)(batch, clientTag, 0);
967
970
  }
968
971
  next({
969
972
  clientTag,
@@ -975,32 +978,18 @@ var DataServiceHost = class {
975
978
  });
976
979
  }
977
980
  async write(request) {
978
- var _a, _b, _c;
981
+ var _a, _b;
979
982
  (0, import_node_assert6.default)(this._writeStream, "Cannot write mutations in readonly mode");
980
983
  (0, import_log6.log)("write", {
981
984
  clientTag: request.clientTag,
982
985
  objectCount: (_b = (_a = request.batch.objects) == null ? void 0 : _a.length) != null ? _b : 0
983
986
  }, {
984
987
  file: "data-service-host.ts",
985
- line: 77,
988
+ line: 79,
986
989
  scope: this,
987
990
  callSite: (f, a) => f(...a)
988
991
  });
989
- const message = {
990
- batch: {
991
- objects: (_c = request.batch.objects) == null ? void 0 : _c.map((object) => {
992
- var _a2;
993
- return {
994
- ...object,
995
- mutations: (_a2 = object.mutations) == null ? void 0 : _a2.map((mutation) => ({
996
- ...mutation,
997
- meta: void 0
998
- })),
999
- meta: void 0
1000
- };
1001
- })
1002
- }
1003
- };
992
+ const message = createDataMessage(request.batch);
1004
993
  const receipt = await this._writeStream.write(message, {
1005
994
  afterWrite: async (receipt2) => {
1006
995
  if (request.clientTag) {
@@ -1010,7 +999,7 @@ var DataServiceHost = class {
1010
999
  seq: receipt2.seq
1011
1000
  }, {
1012
1001
  file: "data-service-host.ts",
1013
- line: 96,
1002
+ line: 88,
1014
1003
  scope: this,
1015
1004
  callSite: (f, a) => f(...a)
1016
1005
  });
@@ -1024,6 +1013,24 @@ var DataServiceHost = class {
1024
1013
  return receipt;
1025
1014
  }
1026
1015
  };
1016
+ var createDataMessage = (batch) => {
1017
+ var _a;
1018
+ return {
1019
+ batch: {
1020
+ objects: (_a = batch.objects) == null ? void 0 : _a.map((object) => {
1021
+ var _a2;
1022
+ return {
1023
+ ...object,
1024
+ mutations: (_a2 = object.mutations) == null ? void 0 : _a2.map((mutation) => ({
1025
+ ...mutation,
1026
+ meta: void 0
1027
+ })),
1028
+ meta: void 0
1029
+ };
1030
+ })
1031
+ }
1032
+ };
1033
+ };
1027
1034
 
1028
1035
  // packages/core/echo/echo-pipeline/src/dbhost/database-host.ts
1029
1036
  var import_echo_db2 = require("@dxos/echo-db");
@@ -1702,7 +1709,7 @@ var Space = class Space2 {
1702
1709
  });
1703
1710
  }
1704
1711
  async initializeDataPipeline() {
1705
- import_log10.log.info("initializeDataPipeline", {}, {
1712
+ (0, import_log10.log)("initializeDataPipeline", {}, {
1706
1713
  file: "space.ts",
1707
1714
  line: 245,
1708
1715
  scope: this,
@@ -1755,12 +1762,13 @@ var __decorate7 = function(decorators, target, key, desc) {
1755
1762
  var MOCK_AUTH_PROVIDER = async (nonce) => Buffer.from("mock");
1756
1763
  var MOCK_AUTH_VERIFIER = async (nonce, credential) => true;
1757
1764
  var SpaceProtocol = class {
1758
- constructor({ topic, swarmIdentity, networkManager, onSessionAuth }) {
1765
+ constructor({ topic, swarmIdentity, networkManager, onSessionAuth, onAuthFailure }) {
1759
1766
  this._feeds = /* @__PURE__ */ new Set();
1760
1767
  this._sessions = new import_util6.ComplexMap(import_keys4.PublicKey.hash);
1761
1768
  this._networkManager = networkManager;
1762
1769
  this._swarmIdentity = swarmIdentity;
1763
1770
  this._onSessionAuth = onSessionAuth;
1771
+ this._onAuthFailure = onAuthFailure;
1764
1772
  this._topic = import_keys4.PublicKey.from((0, import_crypto3.discoveryKey)((0, import_crypto3.sha256)(topic.toHex())));
1765
1773
  }
1766
1774
  get sessions() {
@@ -1778,7 +1786,7 @@ var SpaceProtocol = class {
1778
1786
  key: feed.key
1779
1787
  }, {
1780
1788
  file: "space-protocol.ts",
1781
- line: 84,
1789
+ line: 87,
1782
1790
  scope: this,
1783
1791
  callSite: (f, a) => f(...a)
1784
1792
  });
@@ -1799,7 +1807,7 @@ var SpaceProtocol = class {
1799
1807
  };
1800
1808
  (0, import_log11.log)("starting...", {}, {
1801
1809
  file: "space-protocol.ts",
1802
- line: 107,
1810
+ line: 110,
1803
1811
  scope: this,
1804
1812
  callSite: (f, a) => f(...a)
1805
1813
  });
@@ -1812,7 +1820,7 @@ var SpaceProtocol = class {
1812
1820
  });
1813
1821
  (0, import_log11.log)("started", {}, {
1814
1822
  file: "space-protocol.ts",
1815
- line: 116,
1823
+ line: 119,
1816
1824
  scope: this,
1817
1825
  callSite: (f, a) => f(...a)
1818
1826
  });
@@ -1821,14 +1829,14 @@ var SpaceProtocol = class {
1821
1829
  if (this._connection) {
1822
1830
  (0, import_log11.log)("stopping...", {}, {
1823
1831
  file: "space-protocol.ts",
1824
- line: 121,
1832
+ line: 124,
1825
1833
  scope: this,
1826
1834
  callSite: (f, a) => f(...a)
1827
1835
  });
1828
1836
  await this._connection.close();
1829
1837
  (0, import_log11.log)("stopped", {}, {
1830
1838
  file: "space-protocol.ts",
1831
- line: 123,
1839
+ line: 126,
1832
1840
  scope: this,
1833
1841
  callSite: (f, a) => f(...a)
1834
1842
  });
@@ -1839,7 +1847,8 @@ var SpaceProtocol = class {
1839
1847
  const session = new SpaceProtocolSession({
1840
1848
  wireParams,
1841
1849
  swarmIdentity: this._swarmIdentity,
1842
- onSessionAuth: this._onSessionAuth
1850
+ onSessionAuth: this._onSessionAuth,
1851
+ onAuthFailure: this._onAuthFailure
1843
1852
  });
1844
1853
  this._sessions.set(wireParams.remotePeerId, session);
1845
1854
  for (const feed of this._feeds) {
@@ -1863,7 +1872,7 @@ var AuthStatus;
1863
1872
  })(AuthStatus || (AuthStatus = {}));
1864
1873
  var SpaceProtocolSession = class {
1865
1874
  // TODO(dmaretskyi): Allow to pass in extra extensions.
1866
- constructor({ wireParams, swarmIdentity, onSessionAuth }) {
1875
+ constructor({ wireParams, swarmIdentity, onSessionAuth, onAuthFailure }) {
1867
1876
  // TODO(dmaretskyi): Start with upload=false when switching it on the fly works.
1868
1877
  this.replicator = new import_teleport_extension_replicator.ReplicatorExtension().setOptions({
1869
1878
  upload: true
@@ -1872,6 +1881,7 @@ var SpaceProtocolSession = class {
1872
1881
  this._wireParams = wireParams;
1873
1882
  this._swarmIdentity = swarmIdentity;
1874
1883
  this._onSessionAuth = onSessionAuth;
1884
+ this._onAuthFailure = onAuthFailure;
1875
1885
  this._teleport = new import_teleport2.Teleport(wireParams);
1876
1886
  }
1877
1887
  get authStatus() {
@@ -1887,23 +1897,19 @@ var SpaceProtocolSession = class {
1887
1897
  verifier: this._swarmIdentity.credentialAuthenticator,
1888
1898
  onAuthSuccess: () => {
1889
1899
  var _a;
1890
- this._authStatus = AuthStatus.SUCCESS;
1891
1900
  (0, import_log11.log)("Peer authenticated", {}, {
1892
1901
  file: "space-protocol.ts",
1893
- line: 206,
1902
+ line: 213,
1894
1903
  scope: this,
1895
1904
  callSite: (f, a) => f(...a)
1896
1905
  });
1906
+ this._authStatus = AuthStatus.SUCCESS;
1897
1907
  (_a = this._onSessionAuth) == null ? void 0 : _a.call(this, this._teleport);
1898
1908
  },
1899
1909
  onAuthFailure: () => {
1900
- import_log11.log.warn("Auth failed", {}, {
1901
- file: "space-protocol.ts",
1902
- line: 211,
1903
- scope: this,
1904
- callSite: (f, a) => f(...a)
1905
- });
1910
+ var _a;
1906
1911
  this._authStatus = AuthStatus.FAILURE;
1912
+ (_a = this._onAuthFailure) == null ? void 0 : _a.call(this, this._teleport);
1907
1913
  }
1908
1914
  }));
1909
1915
  this._teleport.addExtension("dxos.mesh.teleport.replicator", this.replicator);
@@ -1951,13 +1957,13 @@ var SpaceManager = class SpaceManager2 {
1951
1957
  ...this._spaces.values()
1952
1958
  ].map((space) => space.close()));
1953
1959
  }
1954
- async constructSpace({ metadata, swarmIdentity, onNetworkConnection, memberKey }) {
1960
+ async constructSpace({ metadata, swarmIdentity, onNetworkConnection, onAuthFailure, memberKey }) {
1955
1961
  var _a;
1956
1962
  import_log12.log.trace("dxos.echo.space-manager.construct-space", import_protocols6.trace.begin({
1957
1963
  id: this._instanceId
1958
1964
  }), {
1959
1965
  file: "space-manager.ts",
1960
- line: 74,
1966
+ line: 81,
1961
1967
  scope: this,
1962
1968
  callSite: (f, a) => f(...a)
1963
1969
  });
@@ -1965,7 +1971,7 @@ var SpaceManager = class SpaceManager2 {
1965
1971
  spaceKey: metadata.genesisFeedKey
1966
1972
  }, {
1967
1973
  file: "space-manager.ts",
1968
- line: 75,
1974
+ line: 82,
1969
1975
  scope: this,
1970
1976
  callSite: (f, a) => f(...a)
1971
1977
  });
@@ -1975,7 +1981,8 @@ var SpaceManager = class SpaceManager2 {
1975
1981
  topic: spaceKey,
1976
1982
  swarmIdentity,
1977
1983
  networkManager: this._networkManager,
1978
- onSessionAuth: onNetworkConnection
1984
+ onSessionAuth: onNetworkConnection,
1985
+ onAuthFailure
1979
1986
  });
1980
1987
  const snapshotManager = new SnapshotManager(this._snapshotStore);
1981
1988
  const space = new Space({
@@ -1993,7 +2000,7 @@ var SpaceManager = class SpaceManager2 {
1993
2000
  id: this._instanceId
1994
2001
  }), {
1995
2002
  file: "space-manager.ts",
1996
- line: 100,
2003
+ line: 108,
1997
2004
  scope: this,
1998
2005
  callSite: (f, a) => f(...a)
1999
2006
  });