@dxos/echo-pipeline 0.5.9-main.e9bab55 → 0.5.9-main.eacfffa
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/browser/{chunk-I2J5TTHJ.mjs → chunk-ZCEMVITI.mjs} +28 -7
- package/dist/lib/browser/{chunk-I2J5TTHJ.mjs.map → chunk-ZCEMVITI.mjs.map} +1 -1
- package/dist/lib/browser/index.mjs +5 -2
- package/dist/lib/browser/index.mjs.map +1 -1
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +11 -7
- package/dist/lib/browser/testing/index.mjs.map +1 -1
- package/dist/lib/node/{chunk-QPCNQ4ZK.cjs → chunk-V2O4ACHA.cjs} +31 -10
- package/dist/lib/node/{chunk-QPCNQ4ZK.cjs.map → chunk-V2O4ACHA.cjs.map} +1 -1
- package/dist/lib/node/index.cjs +27 -24
- package/dist/lib/node/index.cjs.map +1 -1
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/testing/index.cjs +21 -17
- package/dist/lib/node/testing/index.cjs.map +1 -1
- package/package.json +33 -33
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/automerge/automerge-host.ts", "../../../src/automerge/echo-network-adapter.ts", "../../../src/automerge/leveldb-storage-adapter.ts", "../../../src/automerge/local-host-network-adapter.ts", "../../../src/automerge/automerge-doc-loader.ts", "../../../src/automerge/mesh-echo-replicator.ts"],
|
|
4
4
|
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Event } from '@dxos/async';\nimport { next as automerge, getBackend, getHeads, type Doc, type Heads } from '@dxos/automerge/automerge';\nimport {\n Repo,\n type DocHandle,\n type DocHandleChangePayload,\n type DocumentId,\n type PeerId,\n type StorageAdapterInterface,\n} from '@dxos/automerge/automerge-repo';\nimport { type Stream } from '@dxos/codec-protobuf';\nimport { Context, type Lifecycle } from '@dxos/context';\nimport { type SpaceDoc } from '@dxos/echo-protocol';\nimport { type IndexMetadataStore } from '@dxos/indexing';\nimport { invariant } from '@dxos/invariant';\nimport { PublicKey } from '@dxos/keys';\nimport { type SublevelDB } from '@dxos/kv-store';\nimport { objectPointerCodec } from '@dxos/protocols';\nimport {\n type FlushRequest,\n type HostInfo,\n type SyncRepoRequest,\n type SyncRepoResponse,\n} from '@dxos/protocols/proto/dxos/echo/service';\nimport { trace } from '@dxos/tracing';\nimport { mapValues } from '@dxos/util';\n\nimport { EchoNetworkAdapter } from './echo-network-adapter';\nimport { type EchoReplicator } from './echo-replicator';\nimport { LevelDBStorageAdapter, type BeforeSaveParams } from './leveldb-storage-adapter';\nimport { LocalHostNetworkAdapter } from './local-host-network-adapter';\n\n// TODO: Remove\nexport type { DocumentId };\n\nexport type AutomergeHostParams = {\n db: SublevelDB;\n\n indexMetadataStore: IndexMetadataStore;\n};\n\n@trace.resource()\nexport class AutomergeHost {\n private readonly _indexMetadataStore: IndexMetadataStore;\n private readonly _ctx = new Context();\n private readonly _echoNetworkAdapter = new EchoNetworkAdapter({\n getContainingSpaceForDocument: this._getContainingSpaceForDocument.bind(this),\n });\n\n private _repo!: Repo;\n private _clientNetwork!: LocalHostNetworkAdapter;\n private _storage!: StorageAdapterInterface & Lifecycle;\n\n @trace.info()\n private _peerId!: string;\n\n constructor({ db, indexMetadataStore }: AutomergeHostParams) {\n this._storage = new LevelDBStorageAdapter({\n db,\n callbacks: {\n beforeSave: async (params) => this._beforeSave(params),\n afterSave: async () => this._afterSave(),\n },\n });\n this._indexMetadataStore = indexMetadataStore;\n }\n\n async open() {\n // TODO(burdon): Should this be stable?\n this._peerId = `host-${PublicKey.random().toHex()}` as PeerId;\n\n await this._storage.open?.();\n this._clientNetwork = new LocalHostNetworkAdapter();\n\n // Construct the automerge repo.\n this._repo = new Repo({\n peerId: this._peerId as PeerId,\n sharePolicy: this._sharePolicy.bind(this),\n storage: this._storage,\n network: [\n // Downstream client.\n this._clientNetwork,\n // Upstream swarm.\n this._echoNetworkAdapter,\n ],\n });\n\n this._clientNetwork.ready();\n await this._echoNetworkAdapter.open();\n await this._clientNetwork.whenConnected();\n await this._echoNetworkAdapter.whenConnected();\n }\n\n async close() {\n await this._storage.close?.();\n await this._clientNetwork.close();\n await this._echoNetworkAdapter.close();\n await this._ctx.dispose();\n }\n\n get repo(): Repo {\n return this._repo;\n }\n\n async addReplicator(replicator: EchoReplicator) {\n await this._echoNetworkAdapter.addReplicator(replicator);\n }\n\n async removeReplicator(replicator: EchoReplicator) {\n await this._echoNetworkAdapter.removeReplicator(replicator);\n }\n\n // TODO(dmaretskyi): Share based on HALO permissions and space affinity.\n // Hosts, running in the worker, don't share documents unless requested by other peers.\n // NOTE: If both peers return sharePolicy=false the replication will not happen\n // https://github.com/automerge/automerge-repo/pull/292\n private async _sharePolicy(\n peerId: PeerId /* device key */,\n documentId?: DocumentId /* space key */,\n ): Promise<boolean> {\n if (peerId.startsWith('client-')) {\n return false; // Only send docs to clients if they are requested.\n }\n\n if (!documentId) {\n return false;\n }\n\n const peerMetadata = this.repo.peerMetadataByPeerId[peerId];\n if ((peerMetadata as any)?.dxos_peerSource === 'EchoNetworkAdapter') {\n return this._echoNetworkAdapter.shouldAdvertize(peerId, { documentId });\n }\n\n return false;\n }\n\n private async _beforeSave({ path, batch }: BeforeSaveParams) {\n const handle = this._repo.handles[path[0] as DocumentId];\n if (!handle) {\n return;\n }\n const doc = handle.docSync();\n if (!doc) {\n return;\n }\n\n const spaceKey = getSpaceKeyFromDoc(doc) ?? undefined;\n\n const lastAvailableHash = getHeads(doc);\n\n const objectIds = Object.keys(doc.objects ?? {});\n const encodedIds = objectIds.map((objectId) =>\n objectPointerCodec.encode({ documentId: handle.documentId, objectId, spaceKey }),\n );\n const idToLastHash = new Map(encodedIds.map((id) => [id, lastAvailableHash]));\n this._indexMetadataStore.markDirty(idToLastHash, batch);\n }\n\n /**\n * Called by AutomergeStorageAdapter after levelDB batch commit.\n */\n private async _afterSave() {\n this._indexMetadataStore.notifyMarkedDirty();\n }\n\n @trace.info({ depth: null })\n private _automergeDocs() {\n return mapValues(this._repo.handles, (handle) => ({\n state: handle.state,\n hasDoc: !!handle.docSync(),\n heads: handle.docSync() ? automerge.getHeads(handle.docSync()) : null,\n data:\n handle.docSync() &&\n mapValues(handle.docSync(), (value, key) => {\n try {\n switch (key) {\n case 'access':\n case 'links':\n return value;\n case 'objects':\n return Object.keys(value as any);\n default:\n return `${value}`;\n }\n } catch (err) {\n return `${err}`;\n }\n }),\n }));\n }\n\n @trace.info({ depth: null })\n private _automergePeers() {\n return this._repo.peers;\n }\n\n private async _getContainingSpaceForDocument(documentId: string): Promise<PublicKey | null> {\n const doc = this._repo.handles[documentId as any]?.docSync();\n if (!doc) {\n return null;\n }\n\n const spaceKeyHex = getSpaceKeyFromDoc(doc);\n if (!spaceKeyHex) {\n return null;\n }\n\n return PublicKey.from(spaceKeyHex);\n }\n\n //\n // Methods for client-services.\n //\n @trace.span({ showInBrowserTimeline: true })\n async flush({ states }: FlushRequest): Promise<void> {\n // Note: Wait for all requested documents to be loaded/synced from thin-client.\n await Promise.all(\n states?.map(async ({ heads, documentId }) => {\n invariant(heads, 'heads are required for flush');\n const handle = this.repo.handles[documentId as DocumentId] ?? this._repo.find(documentId as DocumentId);\n await waitForHeads(handle, heads);\n }) ?? [],\n );\n\n await this._repo.flush(states?.map(({ documentId }) => documentId as DocumentId));\n }\n\n syncRepo(request: SyncRepoRequest): Stream<SyncRepoResponse> {\n return this._clientNetwork.syncRepo(request);\n }\n\n sendSyncMessage(request: SyncRepoRequest): Promise<void> {\n return this._clientNetwork.sendSyncMessage(request);\n }\n\n async getHostInfo(): Promise<HostInfo> {\n return this._clientNetwork.getHostInfo();\n }\n}\n\nexport const getSpaceKeyFromDoc = (doc: any): string | null => {\n // experimental_spaceKey is set on old documents, new ones are created with doc.access.spaceKey\n const rawSpaceKey = doc.access?.spaceKey ?? doc.experimental_spaceKey;\n if (rawSpaceKey == null) {\n return null;\n }\n\n return String(rawSpaceKey);\n};\n\nconst waitForHeads = async (handle: DocHandle<SpaceDoc>, heads: Heads) => {\n await handle.whenReady();\n const unavailableHeads = new Set(heads);\n\n await Event.wrap<DocHandleChangePayload<SpaceDoc>>(handle, 'change').waitForCondition(() => {\n // Check if unavailable heads became available.\n for (const changeHash of unavailableHeads.values()) {\n if (changeIsPresentInDoc(handle.docSync(), changeHash)) {\n unavailableHeads.delete(changeHash);\n }\n }\n\n if (unavailableHeads.size === 0) {\n return true;\n }\n return false;\n });\n};\n\nconst changeIsPresentInDoc = (doc: Doc<any>, changeHash: string): boolean => {\n return !!getBackend(doc).getChangeByHash(changeHash);\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Trigger, synchronized } from '@dxos/async';\nimport { type Message, NetworkAdapter, type PeerId, type PeerMetadata } from '@dxos/automerge/automerge-repo';\nimport { LifecycleState } from '@dxos/context';\nimport { invariant } from '@dxos/invariant';\nimport { type PublicKey } from '@dxos/keys';\nimport { log } from '@dxos/log';\n\nimport { type EchoReplicator, type ReplicatorConnection, type ShouldAdvertizeParams } from './echo-replicator';\n\nexport type EchoNetworkAdapterParams = {\n getContainingSpaceForDocument: (documentId: string) => Promise<PublicKey | null>;\n};\n\n/**\n * Manages a set of {@link EchoReplicator} instances.\n */\nexport class EchoNetworkAdapter extends NetworkAdapter {\n private readonly _replicators = new Set<EchoReplicator>();\n /**\n * Remote peer id -> connection.\n */\n private readonly _connections = new Map<PeerId, ConnectionEntry>();\n private _lifecycleState: LifecycleState = LifecycleState.CLOSED;\n private readonly _connected = new Trigger();\n\n constructor(private readonly _params: EchoNetworkAdapterParams) {\n super();\n }\n\n override connect(peerId: PeerId, peerMetadata?: PeerMetadata | undefined): void {\n this.peerId = peerId;\n this.peerMetadata = peerMetadata;\n this._connected.wake();\n }\n\n override send(message: Message): void {\n const connectionEntry = this._connections.get(message.targetId);\n if (!connectionEntry) {\n throw new Error('Connection not found.');\n }\n\n // TODO(dmaretskyi): Find a way to enforce backpressure on AM-repo.\n connectionEntry.writer.write(message).catch((err) => {\n if (connectionEntry.isOpen) {\n log.catch(err);\n }\n });\n }\n\n override disconnect(): void {\n // No-op\n }\n\n @synchronized\n async open() {\n invariant(this._lifecycleState === LifecycleState.CLOSED);\n this._lifecycleState = LifecycleState.OPEN;\n\n log('emit ready');\n this.emit('ready', {\n network: this,\n });\n }\n\n @synchronized\n async close() {\n invariant(this._lifecycleState === LifecycleState.OPEN);\n\n for (const replicator of this._replicators) {\n await replicator.disconnect();\n }\n this._replicators.clear();\n\n this._lifecycleState = LifecycleState.CLOSED;\n }\n\n async whenConnected() {\n await this._connected.wait({ timeout: 10_000 });\n }\n\n @synchronized\n async addReplicator(replicator: EchoReplicator) {\n invariant(this._lifecycleState === LifecycleState.OPEN);\n invariant(this.peerId);\n invariant(!this._replicators.has(replicator));\n\n this._replicators.add(replicator);\n await replicator.connect({\n peerId: this.peerId,\n onConnectionOpen: this._onConnectionOpen.bind(this),\n onConnectionClosed: this._onConnectionClosed.bind(this),\n onConnectionAuthScopeChanged: this._onConnectionAuthScopeChanged.bind(this),\n getContainingSpaceForDocument: this._params.getContainingSpaceForDocument,\n });\n }\n\n @synchronized\n async removeReplicator(replicator: EchoReplicator) {\n invariant(this._lifecycleState === LifecycleState.OPEN);\n invariant(this._replicators.has(replicator));\n await replicator.disconnect();\n this._replicators.delete(replicator);\n }\n\n async shouldAdvertize(peerId: PeerId, params: ShouldAdvertizeParams): Promise<boolean> {\n const connection = this._connections.get(peerId);\n if (!connection) {\n return false;\n }\n\n return connection.connection.shouldAdvertize(params);\n }\n\n private _onConnectionOpen(connection: ReplicatorConnection) {\n log('Connection opened', { peerId: connection.peerId });\n invariant(!this._connections.has(connection.peerId as PeerId));\n const reader = connection.readable.getReader();\n const writer = connection.writable.getWriter();\n const connectionEntry: ConnectionEntry = { connection, reader, writer, isOpen: true };\n this._connections.set(connection.peerId as PeerId, connectionEntry);\n\n queueMicrotask(async () => {\n try {\n while (true) {\n // TODO(dmaretskyi): Find a way to enforce backpressure on AM-repo.\n const { done, value } = await reader.read();\n if (done) {\n break;\n }\n\n this.emit('message', value);\n }\n } catch (err) {\n if (connectionEntry.isOpen) {\n log.catch(err);\n }\n }\n });\n\n log('emit peer-candidate', { peerId: connection.peerId });\n this._emitPeerCandidate(connection);\n }\n\n /**\n * Trigger doc-synchronizer shared documents set recalculation. Happens on peer-candidate.\n * TODO(y): replace with a proper API call when sharePolicy update becomes supported by automerge-repo\n */\n private _onConnectionAuthScopeChanged(connection: ReplicatorConnection) {\n log('Connection auth scope changed', { peerId: connection.peerId });\n const entry = this._connections.get(connection.peerId as PeerId);\n invariant(entry);\n this.emit('peer-disconnected', { peerId: connection.peerId as PeerId });\n this._emitPeerCandidate(connection);\n }\n\n private _onConnectionClosed(connection: ReplicatorConnection) {\n log('Connection closed', { peerId: connection.peerId });\n const entry = this._connections.get(connection.peerId as PeerId);\n invariant(entry);\n\n entry.isOpen = false;\n this.emit('peer-disconnected', { peerId: connection.peerId as PeerId });\n\n void entry.reader.cancel().catch((err) => log.catch(err));\n void entry.writer.abort().catch((err) => log.catch(err));\n\n this._connections.delete(connection.peerId as PeerId);\n }\n\n private _emitPeerCandidate(connection: ReplicatorConnection) {\n this.emit('peer-candidate', {\n peerId: connection.peerId as PeerId,\n peerMetadata: {\n // TODO(dmaretskyi): Refactor this.\n dxos_peerSource: 'EchoNetworkAdapter',\n } as any,\n });\n }\n}\n\ntype ConnectionEntry = {\n connection: ReplicatorConnection;\n reader: ReadableStreamDefaultReader<Message>;\n writer: WritableStreamDefaultWriter<Message>;\n isOpen: boolean;\n};\n", "//\n// Copyright 2024 DXOS.org\n// s\n\nimport { type MixedEncoding } from 'level-transcoder';\n\nimport { type StorageAdapterInterface, type Chunk, type StorageKey } from '@dxos/automerge/automerge-repo';\nimport { LifecycleState, Resource } from '@dxos/context';\nimport { type BatchLevel, type SublevelDB } from '@dxos/kv-store';\nimport { type MaybePromise } from '@dxos/util';\n\nexport type LevelDBStorageAdapterParams = {\n db: SublevelDB;\n callbacks?: StorageCallbacks;\n};\n\nexport type BeforeSaveParams = { path: StorageKey; batch: BatchLevel };\n\nexport interface StorageCallbacks {\n beforeSave(params: BeforeSaveParams): MaybePromise<void>;\n afterSave(path: StorageKey): MaybePromise<void>;\n}\n\nexport class LevelDBStorageAdapter extends Resource implements StorageAdapterInterface {\n constructor(private readonly _params: LevelDBStorageAdapterParams) {\n super();\n }\n\n async load(keyArray: StorageKey): Promise<Uint8Array | undefined> {\n try {\n if (this._lifecycleState !== LifecycleState.OPEN) {\n // TODO(mykola): this should be an error.\n return undefined;\n }\n return await this._params.db.get<StorageKey, Uint8Array>(keyArray, { ...encodingOptions });\n } catch (err: any) {\n if (isLevelDbNotFoundError(err)) {\n return undefined;\n }\n throw err;\n }\n }\n\n async save(keyArray: StorageKey, binary: Uint8Array): Promise<void> {\n if (this._lifecycleState !== LifecycleState.OPEN) {\n return undefined;\n }\n const batch = this._params.db.batch();\n\n await this._params.callbacks?.beforeSave?.({ path: keyArray, batch });\n batch.put<StorageKey, Uint8Array>(keyArray, Buffer.from(binary), {\n ...encodingOptions,\n });\n await batch.write();\n\n await this._params.callbacks?.afterSave?.(keyArray);\n }\n\n async remove(keyArray: StorageKey): Promise<void> {\n if (this._lifecycleState !== LifecycleState.OPEN) {\n return undefined;\n }\n await this._params.db.del<StorageKey>(keyArray, { ...encodingOptions });\n }\n\n async loadRange(keyPrefix: StorageKey): Promise<Chunk[]> {\n if (this._lifecycleState !== LifecycleState.OPEN) {\n return [];\n }\n const result: Chunk[] = [];\n for await (const [key, value] of this._params.db.iterator<StorageKey, Uint8Array>({\n gte: keyPrefix,\n lte: [...keyPrefix, '\\uffff'],\n ...encodingOptions,\n })) {\n result.push({\n key,\n data: value,\n });\n }\n return result;\n }\n\n async removeRange(keyPrefix: StorageKey): Promise<void> {\n if (this._lifecycleState !== LifecycleState.OPEN) {\n return undefined;\n }\n const batch = this._params.db.batch();\n\n for await (const [key] of this._params.db.iterator<StorageKey, Uint8Array>({\n gte: keyPrefix,\n lte: [...keyPrefix, '\\uffff'],\n ...encodingOptions,\n })) {\n batch.del<StorageKey>(key, { ...encodingOptions });\n }\n await batch.write();\n }\n}\n\nconst keyEncoder: MixedEncoding<StorageKey, Uint8Array, StorageKey> = {\n encode: (key: StorageKey): Uint8Array =>\n Buffer.from(key.map((k) => k.replaceAll('%', '%25').replaceAll('-', '%2D')).join('-')),\n decode: (key: Uint8Array): StorageKey =>\n Buffer.from(key)\n .toString()\n .split('-')\n .map((k) => k.replaceAll('%2D', '-').replaceAll('%25', '%')),\n format: 'buffer',\n};\n\nexport const encodingOptions = {\n keyEncoding: keyEncoder,\n valueEncoding: 'buffer',\n};\n\nconst isLevelDbNotFoundError = (err: any): boolean => err.code === 'LEVEL_NOT_FOUND';\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Trigger } from '@dxos/async';\nimport { NetworkAdapter, type Message, type PeerId, cbor } from '@dxos/automerge/automerge-repo';\nimport { Stream } from '@dxos/codec-protobuf';\nimport { invariant } from '@dxos/invariant';\nimport { type HostInfo, type SyncRepoRequest, type SyncRepoResponse } from '@dxos/protocols/proto/dxos/echo/service';\n\ntype ClientSyncState = {\n connected: boolean;\n send: (message: Message) => void;\n disconnect: () => void;\n};\n\n/**\n * Used to replicate with apps running on the same device.\n */\nexport class LocalHostNetworkAdapter extends NetworkAdapter {\n private readonly _peers: Map<PeerId, ClientSyncState> = new Map();\n\n /**\n * Emits `ready` event. That signals to `Repo` that it can start using the adapter.\n */\n ready() {\n // NOTE: Emitting `ready` event in NetworkAdapter`s constructor causes a race condition\n // because `Repo` waits for `ready` event (which it never receives) before it starts using the adapter.\n this.emit('ready', {\n network: this,\n });\n }\n\n private readonly _connected = new Trigger();\n private _isConnected: boolean = false;\n\n /**\n * Called by `Repo` to connect to the network.\n *\n * @param peerId Our peer Id.\n */\n override connect(peerId: PeerId): void {\n this.peerId = peerId;\n this._isConnected = true;\n this._connected.wake();\n // No-op. Client always connects first\n }\n\n override send(message: Message): void {\n const peer = this._peers.get(message.targetId);\n invariant(peer, 'Peer not found.');\n peer.send(message);\n }\n\n async close() {\n this._peers.forEach((peer) => peer.disconnect());\n this.emit('close');\n }\n\n override disconnect(): void {\n // TODO(mykola): `disconnect` is not used anywhere in `Repo` from `@automerge/automerge-repo`. Should we remove it?\n // No-op\n }\n\n async whenConnected(): Promise<void> {\n await this._connected.wait({ timeout: 10_000 });\n }\n\n syncRepo({ id, syncMessage }: SyncRepoRequest): Stream<SyncRepoResponse> {\n const peerId = this._getPeerId(id);\n\n return new Stream(({ next, close }) => {\n invariant(!this._peers.has(peerId), 'Peer already connected.');\n this._peers.set(peerId, {\n connected: true,\n send: (message) => {\n next({\n syncMessage: cbor.encode(message),\n });\n },\n disconnect: () => {\n this._peers.delete(peerId);\n close();\n this.emit('peer-disconnected', {\n peerId,\n });\n },\n });\n\n invariant(this._isConnected);\n this.emit('peer-candidate', {\n peerMetadata: {},\n peerId,\n });\n });\n }\n\n async sendSyncMessage({ id, syncMessage }: SyncRepoRequest): Promise<void> {\n invariant(this._isConnected);\n const message = cbor.decode(syncMessage!) as Message;\n this.emit('message', message);\n }\n\n async getHostInfo(): Promise<HostInfo> {\n invariant(this._isConnected);\n invariant(this.peerId, 'Peer id not set.');\n return {\n peerId: this.peerId,\n };\n }\n\n private _getPeerId(id: string): PeerId {\n return id as PeerId;\n }\n}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Event } from '@dxos/async';\nimport { type DocHandle, type AutomergeUrl, type DocumentId, type Repo } from '@dxos/automerge/automerge-repo';\nimport { cancelWithContext, type Context } from '@dxos/context';\nimport { warnAfterTimeout } from '@dxos/debug';\nimport { type SpaceState, type SpaceDoc, SpaceDocVersion } from '@dxos/echo-protocol';\nimport { invariant } from '@dxos/invariant';\nimport { type PublicKey, type SpaceId } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport { trace } from '@dxos/tracing';\n\ntype SpaceDocumentLinks = SpaceDoc['links'];\n\nexport interface AutomergeDocumentLoader {\n onObjectDocumentLoaded: Event<ObjectDocumentLoaded>;\n\n getAllHandles(): DocHandle<SpaceDoc>[];\n\n loadSpaceRootDocHandle(ctx: Context, spaceState: SpaceState): Promise<void>;\n loadObjectDocument(objectId: string | string[]): void;\n getSpaceRootDocHandle(): DocHandle<SpaceDoc>;\n createDocumentForObject(objectId: string): DocHandle<SpaceDoc>;\n onObjectLinksUpdated(links: SpaceDocumentLinks): void;\n onObjectBoundToDocument(handle: DocHandle<SpaceDoc>, objectId: string): void;\n\n /**\n * @returns objectIds for which we had document handles or were loading one.\n */\n clearHandleReferences(): string[];\n}\n\n/**\n * Manages object <-> docHandle binding and automerge document loading.\n */\n@trace.resource()\nexport class AutomergeDocumentLoaderImpl implements AutomergeDocumentLoader {\n private _spaceRootDocHandle: DocHandle<SpaceDoc> | null = null;\n /**\n * An object id pointer to a handle of the document where the object is stored inline.\n */\n private readonly _objectDocumentHandles = new Map<string, DocHandle<SpaceDoc>>();\n /**\n * If object was requested via loadObjectDocument but root document links weren't updated yet\n * loading will be triggered in onObjectLinksUpdated callback.\n */\n private readonly _objectsPendingDocumentLoad = new Set<string>();\n\n public readonly onObjectDocumentLoaded = new Event<ObjectDocumentLoaded>();\n\n constructor(\n private readonly _spaceId: SpaceId,\n private readonly _repo: Repo,\n /** Legacy Id */\n private readonly _spaceKey: PublicKey,\n ) {}\n\n getAllHandles(): DocHandle<SpaceDoc>[] {\n return this._spaceRootDocHandle != null\n ? [this._spaceRootDocHandle, ...new Set(this._objectDocumentHandles.values())]\n : [];\n }\n\n @trace.span({ showInBrowserTimeline: true })\n public async loadSpaceRootDocHandle(ctx: Context, spaceState: SpaceState): Promise<void> {\n if (this._spaceRootDocHandle != null) {\n return;\n }\n if (!spaceState.rootUrl) {\n log.error('Database opened with no rootUrl', { spaceId: this._spaceId });\n this._createContextBoundSpaceRootDocument(ctx);\n } else {\n const existingDocHandle = await this._initDocHandle(ctx, spaceState.rootUrl);\n const doc = existingDocHandle.docSync();\n invariant(doc);\n if (doc.access == null) {\n this._initDocAccess(existingDocHandle);\n }\n this._spaceRootDocHandle = existingDocHandle;\n }\n }\n\n public loadObjectDocument(objectIdOrMany: string | string[]) {\n const objectIds = Array.isArray(objectIdOrMany) ? objectIdOrMany : [objectIdOrMany];\n let hasUrlsToLoad = false;\n const urlsToLoad: SpaceDoc['links'] = {};\n for (const objectId of objectIds) {\n invariant(this._spaceRootDocHandle);\n if (this._objectDocumentHandles.has(objectId) || this._objectsPendingDocumentLoad.has(objectId)) {\n continue;\n }\n const spaceRootDoc = this._spaceRootDocHandle.docSync();\n invariant(spaceRootDoc);\n const documentUrl = (spaceRootDoc.links ?? {})[objectId];\n if (documentUrl == null) {\n this._objectsPendingDocumentLoad.add(objectId);\n log.info('loading delayed until object links are initialized', { objectId });\n } else {\n urlsToLoad[objectId] = documentUrl;\n hasUrlsToLoad = true;\n }\n }\n if (hasUrlsToLoad) {\n this._loadLinkedObjects(urlsToLoad);\n }\n }\n\n public onObjectLinksUpdated(links: SpaceDocumentLinks) {\n if (!links) {\n return;\n }\n const linksAwaitingLoad = Object.entries(links).filter(([objectId]) =>\n this._objectsPendingDocumentLoad.has(objectId),\n );\n this._loadLinkedObjects(Object.fromEntries(linksAwaitingLoad));\n linksAwaitingLoad.forEach(([objectId]) => this._objectsPendingDocumentLoad.delete(objectId));\n }\n\n public getSpaceRootDocHandle(): DocHandle<SpaceDoc> {\n invariant(this._spaceRootDocHandle);\n return this._spaceRootDocHandle;\n }\n\n public createDocumentForObject(objectId: string): DocHandle<SpaceDoc> {\n invariant(this._spaceRootDocHandle);\n const spaceDocHandle = this._repo.create<SpaceDoc>({\n version: SpaceDocVersion.CURRENT,\n });\n this._initDocAccess(spaceDocHandle);\n this.onObjectBoundToDocument(spaceDocHandle, objectId);\n this._spaceRootDocHandle.change((newDoc: SpaceDoc) => {\n newDoc.links ??= {};\n newDoc.links[objectId] = spaceDocHandle.url;\n });\n return spaceDocHandle;\n }\n\n public onObjectBoundToDocument(handle: DocHandle<SpaceDoc>, objectId: string) {\n this._objectDocumentHandles.set(objectId, handle);\n }\n\n public clearHandleReferences(): string[] {\n const objectsWithHandles = [...this._objectDocumentHandles.keys()];\n this._objectDocumentHandles.clear();\n this._spaceRootDocHandle = null;\n return objectsWithHandles;\n }\n\n private _loadLinkedObjects(links: SpaceDocumentLinks) {\n if (!links) {\n return;\n }\n for (const [objectId, automergeUrl] of Object.entries(links)) {\n const logMeta = { objectId, automergeUrl };\n const objectDocumentHandle = this._objectDocumentHandles.get(objectId);\n if (objectDocumentHandle != null && objectDocumentHandle.url !== automergeUrl) {\n log.warn('object already inlined in a different document, ignoring the link', {\n ...logMeta,\n actualDocumentUrl: objectDocumentHandle.url,\n });\n continue;\n }\n if (objectDocumentHandle?.url === automergeUrl) {\n log.warn('object document was already loaded', logMeta);\n continue;\n }\n const handle = this._repo.find<SpaceDoc>(automergeUrl as DocumentId);\n log.debug('document loading triggered', logMeta);\n this._objectDocumentHandles.set(objectId, handle);\n void this._createObjectOnDocumentLoad(handle, objectId);\n }\n }\n\n private async _initDocHandle(ctx: Context, url: string) {\n const docHandle = this._repo.find<SpaceDoc>(url as DocumentId);\n while (true) {\n try {\n await warnAfterTimeout(5_000, 'Automerge root doc load timeout (CoreDatabase)', async () => {\n await cancelWithContext(ctx, docHandle.whenReady()); // TODO(dmaretskyi): Temporary 5s timeout for debugging.\n });\n break;\n } catch (err) {\n if (`${err}`.includes('Timeout')) {\n log.info('wraparound', { id: docHandle.documentId, state: docHandle.state });\n continue;\n }\n\n throw err;\n }\n }\n\n if (docHandle.state === 'unavailable') {\n throw new Error('Automerge document is unavailable');\n }\n\n return docHandle;\n }\n\n private _createContextBoundSpaceRootDocument(ctx: Context) {\n const docHandle = this._repo.create<SpaceDoc>();\n this._spaceRootDocHandle = docHandle;\n ctx.onDispose(() => {\n docHandle.delete();\n this._spaceRootDocHandle = null;\n });\n }\n\n private _initDocAccess(handle: DocHandle<SpaceDoc>) {\n handle.change((newDoc: SpaceDoc) => {\n newDoc.access ??= { spaceKey: this._spaceKey.toHex() };\n newDoc.access.spaceKey = this._spaceKey.toHex();\n });\n }\n\n private async _createObjectOnDocumentLoad(handle: DocHandle<SpaceDoc>, objectId: string) {\n try {\n await handle.doc(['ready']);\n const logMeta = { objectId, docUrl: handle.url };\n if (this.onObjectDocumentLoaded.listenerCount() === 0) {\n log.info('document loaded after all listeners were removed', logMeta);\n return;\n }\n const objectDocHandle = this._objectDocumentHandles.get(objectId);\n if (objectDocHandle?.url !== handle.url) {\n log.warn('object was rebound while a document was loading, discarding handle', logMeta);\n return;\n }\n this.onObjectDocumentLoaded.emit({ handle, objectId });\n } catch (err) {\n const shouldRetryLoading = this.onObjectDocumentLoaded.listenerCount() > 0;\n log.warn('failed to load a document', {\n objectId,\n automergeUrl: handle.url,\n retryLoading: shouldRetryLoading,\n err,\n });\n if (shouldRetryLoading) {\n await this._createObjectOnDocumentLoad(handle, objectId);\n }\n }\n }\n}\n\nexport interface ObjectDocumentLoaded {\n handle: DocHandle<SpaceDoc>;\n objectId: string;\n}\n\nexport interface DocumentChanges {\n createdObjectIds: string[];\n updatedObjectIds: string[];\n objectsToRebind: string[];\n linkedDocuments: {\n [echoId: string]: AutomergeUrl;\n };\n}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type Message, cbor } from '@dxos/automerge/automerge-repo';\nimport { Resource } from '@dxos/context';\nimport { invariant } from '@dxos/invariant';\nimport { PublicKey } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport { AutomergeReplicator } from '@dxos/teleport-extension-automerge-replicator';\nimport { ComplexMap, ComplexSet, defaultMap } from '@dxos/util';\n\nimport {\n type EchoReplicator,\n type EchoReplicatorContext,\n type ReplicatorConnection,\n type ShouldAdvertizeParams,\n} from './echo-replicator';\n\n// TODO(dmaretskyi): Move out of @dxos/echo-pipeline.\n\n/**\n * Used to replicate with other peers over the network.\n */\nexport class MeshEchoReplicator implements EchoReplicator {\n private readonly _connections = new Set<MeshReplicatorConnection>();\n /**\n * Using automerge peerId as a key.\n */\n private readonly _connectionsPerPeer = new Map<string, MeshReplicatorConnection>();\n\n /**\n * spaceKey -> deviceKey[]\n */\n private readonly _authorizedDevices = new ComplexMap<PublicKey, ComplexSet<PublicKey>>(PublicKey.hash);\n\n private _context: EchoReplicatorContext | null = null;\n\n async connect(context: EchoReplicatorContext): Promise<void> {\n this._context = context;\n }\n\n async disconnect() {\n for (const connection of this._connections) {\n await connection.close();\n }\n this._connections.clear();\n this._connectionsPerPeer.clear();\n\n this._context = null;\n }\n\n createExtension(): AutomergeReplicator {\n invariant(this._context);\n\n const connection: MeshReplicatorConnection = new MeshReplicatorConnection({\n ownPeerId: this._context.peerId,\n onRemoteConnected: async () => {\n log('onRemoteConnected', { peerId: connection.peerId });\n invariant(this._context);\n\n if (this._connectionsPerPeer.has(connection.peerId)) {\n this._context.onConnectionAuthScopeChanged(connection);\n } else {\n this._connectionsPerPeer.set(connection.peerId, connection);\n await connection.enable();\n this._context.onConnectionOpen(connection);\n }\n },\n onRemoteDisconnected: async () => {\n log('onRemoteDisconnected', { peerId: connection.peerId });\n this._context?.onConnectionClosed(connection);\n await connection.disable();\n this._connectionsPerPeer.delete(connection.peerId);\n this._connections.delete(connection);\n },\n shouldAdvertize: async (params: ShouldAdvertizeParams) => {\n log('shouldAdvertize', { peerId: connection.peerId, documentId: params.documentId });\n invariant(this._context);\n try {\n const spaceKey = await this._context.getContainingSpaceForDocument(params.documentId);\n if (!spaceKey) {\n log('space key not found for share policy check', {\n peerId: connection.peerId,\n documentId: params.documentId,\n });\n return false;\n }\n\n const authorizedDevices = this._authorizedDevices.get(spaceKey);\n\n if (!connection.remoteDeviceKey) {\n log('device key not found for share policy check', {\n peerId: connection.peerId,\n documentId: params.documentId,\n });\n return false;\n }\n\n const isAuthorized = authorizedDevices?.has(connection.remoteDeviceKey) ?? false;\n log('share policy check', {\n localPeer: this._context.peerId,\n remotePeer: connection.peerId,\n documentId: params.documentId,\n deviceKey: connection.remoteDeviceKey,\n spaceKey,\n isAuthorized,\n });\n return isAuthorized;\n } catch (err) {\n log.catch(err);\n return false;\n }\n },\n });\n this._connections.add(connection);\n\n return connection.replicatorExtension;\n }\n\n authorizeDevice(spaceKey: PublicKey, deviceKey: PublicKey) {\n log('authorizeDevice', { spaceKey, deviceKey });\n defaultMap(this._authorizedDevices, spaceKey, () => new ComplexSet(PublicKey.hash)).add(deviceKey);\n for (const connection of this._connections) {\n if (connection.remoteDeviceKey && connection.remoteDeviceKey.equals(deviceKey)) {\n this._context?.onConnectionAuthScopeChanged(connection);\n }\n }\n }\n}\n\ntype MeshReplicatorConnectionParams = {\n ownPeerId: string;\n onRemoteConnected: () => Promise<void>;\n onRemoteDisconnected: () => Promise<void>;\n shouldAdvertize: (params: ShouldAdvertizeParams) => Promise<boolean>;\n};\n\nclass MeshReplicatorConnection extends Resource implements ReplicatorConnection {\n public readable: ReadableStream<Message>;\n public writable: WritableStream<Message>;\n public remoteDeviceKey: PublicKey | null = null;\n\n public readonly replicatorExtension: AutomergeReplicator;\n\n private _remotePeerId: string | null = null;\n private _isEnabled = false;\n\n constructor(private readonly _params: MeshReplicatorConnectionParams) {\n super();\n\n let readableStreamController!: ReadableStreamDefaultController<Message>;\n this.readable = new ReadableStream<Message>({\n start: (controller) => {\n readableStreamController = controller;\n this._ctx.onDispose(() => controller.close());\n },\n });\n\n this.writable = new WritableStream<Message>({\n write: async (message: Message, controller) => {\n // TODO(dmaretskyi): Show we block on RPC completing here?\n this.replicatorExtension.sendSyncMessage({ payload: cbor.encode(message) }).catch((err) => {\n controller.error(err);\n });\n },\n });\n\n this.replicatorExtension = new AutomergeReplicator(\n {\n peerId: this._params.ownPeerId,\n },\n {\n onStartReplication: async (info, remotePeerId /** Teleport ID */) => {\n // Note: We store only one extension per peer.\n // There can be a case where two connected peers have more than one teleport connection between them\n // and each of them uses different teleport connections to send messages.\n // It works because we receive messages from all teleport connections and Automerge Repo dedup them.\n // TODO(mykola): Use only one teleport connection per peer.\n\n // TODO(dmaretskyi): Critical bug.\n // - two peers get connected via swarm 1\n // - they get connected via swarm 2\n // - swarm 1 gets disconnected\n // - automerge repo thinks that peer 2 got disconnected even though swarm 2 is still active\n\n this.remoteDeviceKey = remotePeerId;\n\n // Set automerge id.\n this._remotePeerId = info.id;\n\n log('onStartReplication', { id: info.id, thisPeerId: this.peerId, remotePeerId: remotePeerId.toHex() });\n\n await this._params.onRemoteConnected();\n },\n onSyncMessage: async ({ payload }) => {\n if (!this._isEnabled) {\n return;\n }\n const message = cbor.decode(payload) as Message;\n // Note: automerge Repo dedup messages.\n readableStreamController.enqueue(message);\n },\n onClose: async () => {\n if (!this._isEnabled) {\n return;\n }\n await this._params.onRemoteDisconnected();\n },\n },\n );\n }\n\n get peerId(): string {\n invariant(this._remotePeerId != null, 'Remote peer has not connected yet.');\n return this._remotePeerId;\n }\n\n async shouldAdvertize(params: ShouldAdvertizeParams): Promise<boolean> {\n return this._params.shouldAdvertize(params);\n }\n\n /**\n * Start exchanging messages with the remote peer.\n * Call after the remote peer has connected.\n */\n async enable() {\n invariant(this._remotePeerId != null, 'Remote peer has not connected yet.');\n this._isEnabled = true;\n }\n\n /**\n * Stop exchanging messages with the remote peer.\n */\n async disable() {\n this._isEnabled = false;\n }\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["import_async", "import_automerge_repo", "import_context", "import_invariant", "import_log", "import_tracing", "import_keys", "import_util", "EchoNetworkAdapter", "NetworkAdapter", "constructor", "_params", "_replicators", "Set", "_connections", "Map", "_lifecycleState", "LifecycleState", "CLOSED", "_connected", "Trigger", "connect", "peerId", "peerMetadata", "wake", "send", "message", "connectionEntry", "get", "targetId", "Error", "writer", "write", "catch", "err", "isOpen", "log", "disconnect", "open", "invariant", "OPEN", "emit", "network", "close", "replicator", "clear", "whenConnected", "wait", "timeout", "addReplicator", "has", "add", "onConnectionOpen", "_onConnectionOpen", "bind", "onConnectionClosed", "_onConnectionClosed", "onConnectionAuthScopeChanged", "_onConnectionAuthScopeChanged", "getContainingSpaceForDocument", "removeReplicator", "delete", "shouldAdvertize", "params", "connection", "reader", "readable", "getReader", "writable", "getWriter", "set", "queueMicrotask", "done", "value", "read", "_emitPeerCandidate", "entry", "cancel", "abort", "dxos_peerSource", "synchronized", "LevelDBStorageAdapter", "Resource", "load", "keyArray", "undefined", "db", "encodingOptions", "isLevelDbNotFoundError", "save", "binary", "batch", "callbacks", "beforeSave", "path", "put", "Buffer", "from", "afterSave", "remove", "del", "loadRange", "keyPrefix", "result", "key", "iterator", "gte", "lte", "push", "data", "removeRange", "keyEncoder", "encode", "map", "k", "replaceAll", "join", "decode", "toString", "split", "format", "keyEncoding", "valueEncoding", "code", "LocalHostNetworkAdapter", "_peers", "_isConnected", "ready", "peer", "forEach", "syncRepo", "id", "syncMessage", "_getPeerId", "Stream", "next", "connected", "cbor", "sendSyncMessage", "getHostInfo", "AutomergeHost", "indexMetadataStore", "_ctx", "Context", "_echoNetworkAdapter", "_getContainingSpaceForDocument", "_storage", "_beforeSave", "_afterSave", "_indexMetadataStore", "_peerId", "PublicKey", "random", "toHex", "_clientNetwork", "_repo", "Repo", "sharePolicy", "_sharePolicy", "storage", "dispose", "repo", "documentId", "startsWith", "peerMetadataByPeerId", "handle", "handles", "doc", "docSync", "spaceKey", "getSpaceKeyFromDoc", "lastAvailableHash", "getHeads", "objectIds", "Object", "keys", "objects", "encodedIds", "objectId", "objectPointerCodec", "idToLastHash", "markDirty", "notifyMarkedDirty", "_automergeDocs", "mapValues", "state", "hasDoc", "heads", "automerge", "_automergePeers", "peers", "spaceKeyHex", "flush", "states", "Promise", "all", "find", "waitForHeads", "request", "trace", "info", "depth", "span", "showInBrowserTimeline", "resource", "rawSpaceKey", "access", "experimental_spaceKey", "String", "whenReady", "unavailableHeads", "Event", "wrap", "waitForCondition", "changeHash", "values", "changeIsPresentInDoc", "size", "getBackend", "getChangeByHash", "AutomergeDocumentLoaderImpl", "_spaceId", "_spaceKey", "_spaceRootDocHandle", "_objectDocumentHandles", "_objectsPendingDocumentLoad", "onObjectDocumentLoaded", "getAllHandles", "loadSpaceRootDocHandle", "ctx", "spaceState", "rootUrl", "error", "spaceId", "_createContextBoundSpaceRootDocument", "existingDocHandle", "_initDocHandle", "_initDocAccess", "loadObjectDocument", "objectIdOrMany", "Array", "isArray", "hasUrlsToLoad", "urlsToLoad", "spaceRootDoc", "documentUrl", "links", "_loadLinkedObjects", "onObjectLinksUpdated", "linksAwaitingLoad", "entries", "filter", "fromEntries", "getSpaceRootDocHandle", "createDocumentForObject", "spaceDocHandle", "create", "version", "SpaceDocVersion", "CURRENT", "onObjectBoundToDocument", "change", "newDoc", "url", "clearHandleReferences", "objectsWithHandles", "automergeUrl", "logMeta", "objectDocumentHandle", "warn", "actualDocumentUrl", "debug", "_createObjectOnDocumentLoad", "docHandle", "warnAfterTimeout", "cancelWithContext", "includes", "onDispose", "docUrl", "listenerCount", "objectDocHandle", "shouldRetryLoading", "retryLoading", "MeshEchoReplicator", "ComplexMap", "hash", "_context", "context", "_connectionsPerPeer", "createExtension", "MeshReplicatorConnection", "ownPeerId", "onRemoteConnected", "enable", "onRemoteDisconnected", "disable", "authorizedDevices", "_authorizedDevices", "remoteDeviceKey", "isAuthorized", "localPeer", "remotePeer", "deviceKey", "replicatorExtension", "authorizeDevice", "defaultMap", "ComplexSet", "equals", "_remotePeerId", "_isEnabled", "readableStreamController", "ReadableStream", "start", "controller", "WritableStream", "payload", "AutomergeReplicator", "onStartReplication", "remotePeerId", "thisPeerId", "onSyncMessage", "enqueue", "onClose"]
|
|
7
7
|
}
|
package/dist/lib/node/meta.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"packages/core/echo/echo-pipeline/src/common/codec.ts":{"bytes":1690,"imports":[{"path":"@dxos/hypercore","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/common/feeds.ts":{"bytes":2202,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/common/index.ts":{"bytes":585,"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"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/db-host/snapshot-manager.ts":{"bytes":6468,"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}],"format":"esm"},"packages/core/echo/echo-pipeline/src/db-host/snapshot-store.ts":{"bytes":6171,"imports":[{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/db-host/data-service.ts":{"bytes":3832,"imports":[],"format":"esm"},"packages/core/echo/echo-pipeline/src/db-host/index.ts":{"bytes":742,"imports":[{"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"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/metadata/metadata-store.ts":{"bytes":40074,"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}],"format":"esm"},"packages/core/echo/echo-pipeline/src/metadata/index.ts":{"bytes":531,"imports":[{"path":"packages/core/echo/echo-pipeline/src/metadata/metadata-store.ts","kind":"import-statement","original":"./metadata-store"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/pipeline/message-selector.ts":{"bytes":3861,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/pipeline/timeframe-clock.ts":{"bytes":9762,"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}],"format":"esm"},"packages/core/echo/echo-pipeline/src/pipeline/pipeline.ts":{"bytes":47358,"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"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/pipeline/index.ts":{"bytes":707,"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"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/auth.ts":{"bytes":10663,"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}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/control-pipeline.ts":{"bytes":29843,"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"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/space.ts":{"bytes":26184,"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/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/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"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/space-protocol.ts":{"bytes":27067,"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"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/space-manager.ts":{"bytes":14086,"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"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/index.ts":{"bytes":794,"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"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/echo-network-adapter.ts":{"bytes":25199,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge-repo","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/leveldb-storage-adapter.ts":{"bytes":11789,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/local-host-network-adapter.ts":{"bytes":11950,"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}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/automerge-host.ts":{"bytes":29715,"imports":[{"path":"@dxos/async","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/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/protocols","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/echo-network-adapter.ts","kind":"import-statement","original":"./echo-network-adapter"},{"path":"packages/core/echo/echo-pipeline/src/automerge/leveldb-storage-adapter.ts","kind":"import-statement","original":"./leveldb-storage-adapter"},{"path":"packages/core/echo/echo-pipeline/src/automerge/local-host-network-adapter.ts","kind":"import-statement","original":"./local-host-network-adapter"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/automerge-doc-loader.ts":{"bytes":33328,"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/echo-protocol","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/mesh-echo-replicator.ts":{"bytes":29711,"imports":[{"path":"@dxos/automerge/automerge-repo","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/teleport-extension-automerge-replicator","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/echo-replicator.ts":{"bytes":2368,"imports":[],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/index.ts":{"bytes":1140,"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-doc-loader.ts","kind":"import-statement","original":"./automerge-doc-loader"},{"path":"packages/core/echo/echo-pipeline/src/automerge/leveldb-storage-adapter.ts","kind":"import-statement","original":"./leveldb-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-echo-replicator.ts","kind":"import-statement","original":"./mesh-echo-replicator"},{"path":"packages/core/echo/echo-pipeline/src/automerge/echo-replicator.ts","kind":"import-statement","original":"./echo-replicator"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/index.ts":{"bytes":939,"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"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/testing/change-metadata.ts":{"bytes":3654,"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"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/testing/test-feed-builder.ts":{"bytes":1518,"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"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/testing/test-agent-builder.ts":{"bytes":29183,"imports":[{"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/messaging","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"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/testing/test-network-adapter.ts":{"bytes":7559,"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}],"format":"esm"},"packages/core/echo/echo-pipeline/src/testing/index.ts":{"bytes":878,"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/test-network-adapter.ts","kind":"import-statement","original":"./test-network-adapter"}],"format":"esm"}},"outputs":{"packages/core/echo/echo-pipeline/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":65428},"packages/core/echo/echo-pipeline/dist/lib/node/index.cjs":{"imports":[{"path":"packages/core/echo/echo-pipeline/dist/lib/node/chunk-QPCNQ4ZK.cjs","kind":"import-statement"},{"path":"@dxos/async","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/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/protocols","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/automerge/automerge-repo","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/context","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/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/echo-protocol","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge-repo","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/teleport-extension-automerge-replicator","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["AuthExtension","AuthStatus","AutomergeDocumentLoaderImpl","AutomergeHost","DataServiceImpl","LevelDBStorageAdapter","LocalHostNetworkAdapter","MOCK_AUTH_PROVIDER","MOCK_AUTH_VERIFIER","MeshEchoReplicator","MetadataStore","Pipeline","SnapshotManager","SnapshotStore","Space","SpaceManager","SpaceProtocol","SpaceProtocolSession","TimeframeClock","codec","createIdFromSpaceKey","createMappedFeedWriter","encodingOptions","getSpaceKeyFromDoc","hasInvitationExpired","mapFeedIndexesToTimeframe","mapTimeframeToFeedIndexes","startAfter","valueEncoding"],"entryPoint":"packages/core/echo/echo-pipeline/src/index.ts","inputs":{"packages/core/echo/echo-pipeline/src/index.ts":{"bytesInOutput":0},"packages/core/echo/echo-pipeline/src/automerge/automerge-host.ts":{"bytesInOutput":7243},"packages/core/echo/echo-pipeline/src/automerge/echo-network-adapter.ts":{"bytesInOutput":8023},"packages/core/echo/echo-pipeline/src/automerge/leveldb-storage-adapter.ts":{"bytesInOutput":2397},"packages/core/echo/echo-pipeline/src/automerge/local-host-network-adapter.ts":{"bytesInOutput":3188},"packages/core/echo/echo-pipeline/src/automerge/index.ts":{"bytesInOutput":0},"packages/core/echo/echo-pipeline/src/automerge/automerge-doc-loader.ts":{"bytesInOutput":9444},"packages/core/echo/echo-pipeline/src/automerge/mesh-echo-replicator.ts":{"bytesInOutput":7940}},"bytes":39835},"packages/core/echo/echo-pipeline/dist/lib/node/testing/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":20636},"packages/core/echo/echo-pipeline/dist/lib/node/testing/index.cjs":{"imports":[{"path":"packages/core/echo/echo-pipeline/dist/lib/node/chunk-QPCNQ4ZK.cjs","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/keys","kind":"import-statement","external":true},{"path":"@dxos/messaging","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/automerge/automerge-repo","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["MemoryNetworkManagerProvider","TestAdapter","TestAgent","TestAgentBuilder","TestFeedBuilder","WebsocketNetworkManagerProvider","changeStorageVersionInMetadata"],"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":6460},"packages/core/echo/echo-pipeline/src/testing/test-feed-builder.ts":{"bytesInOutput":171},"packages/core/echo/echo-pipeline/src/testing/test-network-adapter.ts":{"bytesInOutput":2248}},"bytes":10457},"packages/core/echo/echo-pipeline/dist/lib/node/chunk-QPCNQ4ZK.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":108788},"packages/core/echo/echo-pipeline/dist/lib/node/chunk-QPCNQ4ZK.cjs":{"imports":[{"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/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":"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/crypto","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/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}],"exports":["AuthExtension","AuthStatus","DataServiceImpl","MOCK_AUTH_PROVIDER","MOCK_AUTH_VERIFIER","MetadataStore","Pipeline","SnapshotManager","SnapshotStore","Space","SpaceManager","SpaceProtocol","SpaceProtocolSession","TimeframeClock","codec","createIdFromSpaceKey","createMappedFeedWriter","hasInvitationExpired","mapFeedIndexesToTimeframe","mapTimeframeToFeedIndexes","startAfter","valueEncoding"],"inputs":{"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/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":580},"packages/core/echo/echo-pipeline/src/db-host/index.ts":{"bytesInOutput":0},"packages/core/echo/echo-pipeline/src/metadata/metadata-store.ts":{"bytesInOutput":10860},"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/space.ts":{"bytesInOutput":6989},"packages/core/echo/echo-pipeline/src/space/control-pipeline.ts":{"bytesInOutput":8257},"packages/core/echo/echo-pipeline/src/space/space-protocol.ts":{"bytesInOutput":6984},"packages/core/echo/echo-pipeline/src/space/space-manager.ts":{"bytesInOutput":3538},"packages/core/echo/echo-pipeline/src/space/index.ts":{"bytesInOutput":0}},"bytes":61326}}}
|
|
1
|
+
{"inputs":{"packages/core/echo/echo-pipeline/src/common/codec.ts":{"bytes":1690,"imports":[{"path":"@dxos/hypercore","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/common/feeds.ts":{"bytes":2202,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/common/index.ts":{"bytes":585,"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"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/db-host/snapshot-manager.ts":{"bytes":6468,"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}],"format":"esm"},"packages/core/echo/echo-pipeline/src/db-host/snapshot-store.ts":{"bytes":6171,"imports":[{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/db-host/data-service.ts":{"bytes":3832,"imports":[],"format":"esm"},"packages/core/echo/echo-pipeline/src/db-host/index.ts":{"bytes":742,"imports":[{"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"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/metadata/metadata-store.ts":{"bytes":40132,"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}],"format":"esm"},"packages/core/echo/echo-pipeline/src/metadata/index.ts":{"bytes":531,"imports":[{"path":"packages/core/echo/echo-pipeline/src/metadata/metadata-store.ts","kind":"import-statement","original":"./metadata-store"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/pipeline/message-selector.ts":{"bytes":3861,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/pipeline/timeframe-clock.ts":{"bytes":9762,"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}],"format":"esm"},"packages/core/echo/echo-pipeline/src/pipeline/pipeline.ts":{"bytes":47570,"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"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/pipeline/index.ts":{"bytes":707,"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"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/auth.ts":{"bytes":10731,"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}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/control-pipeline.ts":{"bytes":29988,"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"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/space.ts":{"bytes":26184,"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/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/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"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/space-protocol.ts":{"bytes":27067,"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"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/space-manager.ts":{"bytes":14086,"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"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/index.ts":{"bytes":794,"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"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/echo-network-adapter.ts":{"bytes":25199,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge-repo","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/leveldb-storage-adapter.ts":{"bytes":11789,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/local-host-network-adapter.ts":{"bytes":11950,"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}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/automerge-host.ts":{"bytes":29777,"imports":[{"path":"@dxos/async","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/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/protocols","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/echo-network-adapter.ts","kind":"import-statement","original":"./echo-network-adapter"},{"path":"packages/core/echo/echo-pipeline/src/automerge/leveldb-storage-adapter.ts","kind":"import-statement","original":"./leveldb-storage-adapter"},{"path":"packages/core/echo/echo-pipeline/src/automerge/local-host-network-adapter.ts","kind":"import-statement","original":"./local-host-network-adapter"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/automerge-doc-loader.ts":{"bytes":33328,"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/echo-protocol","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/mesh-echo-replicator.ts":{"bytes":29711,"imports":[{"path":"@dxos/automerge/automerge-repo","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/teleport-extension-automerge-replicator","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/echo-replicator.ts":{"bytes":2368,"imports":[],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/index.ts":{"bytes":1140,"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-doc-loader.ts","kind":"import-statement","original":"./automerge-doc-loader"},{"path":"packages/core/echo/echo-pipeline/src/automerge/leveldb-storage-adapter.ts","kind":"import-statement","original":"./leveldb-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-echo-replicator.ts","kind":"import-statement","original":"./mesh-echo-replicator"},{"path":"packages/core/echo/echo-pipeline/src/automerge/echo-replicator.ts","kind":"import-statement","original":"./echo-replicator"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/index.ts":{"bytes":939,"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"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/testing/change-metadata.ts":{"bytes":3654,"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"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/testing/test-feed-builder.ts":{"bytes":1518,"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"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/testing/test-agent-builder.ts":{"bytes":29258,"imports":[{"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/messaging","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"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/testing/test-network-adapter.ts":{"bytes":7559,"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}],"format":"esm"},"packages/core/echo/echo-pipeline/src/testing/index.ts":{"bytes":878,"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/test-network-adapter.ts","kind":"import-statement","original":"./test-network-adapter"}],"format":"esm"}},"outputs":{"packages/core/echo/echo-pipeline/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":65437},"packages/core/echo/echo-pipeline/dist/lib/node/index.cjs":{"imports":[{"path":"packages/core/echo/echo-pipeline/dist/lib/node/chunk-V2O4ACHA.cjs","kind":"import-statement"},{"path":"@dxos/async","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/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/protocols","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/automerge/automerge-repo","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/context","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/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/echo-protocol","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge-repo","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/teleport-extension-automerge-replicator","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["AuthExtension","AuthStatus","AutomergeDocumentLoaderImpl","AutomergeHost","DataServiceImpl","LevelDBStorageAdapter","LocalHostNetworkAdapter","MOCK_AUTH_PROVIDER","MOCK_AUTH_VERIFIER","MeshEchoReplicator","MetadataStore","Pipeline","SnapshotManager","SnapshotStore","Space","SpaceManager","SpaceProtocol","SpaceProtocolSession","TimeframeClock","codec","createIdFromSpaceKey","createMappedFeedWriter","encodingOptions","getSpaceKeyFromDoc","hasInvitationExpired","mapFeedIndexesToTimeframe","mapTimeframeToFeedIndexes","startAfter","valueEncoding"],"entryPoint":"packages/core/echo/echo-pipeline/src/index.ts","inputs":{"packages/core/echo/echo-pipeline/src/index.ts":{"bytesInOutput":0},"packages/core/echo/echo-pipeline/src/automerge/automerge-host.ts":{"bytesInOutput":7294},"packages/core/echo/echo-pipeline/src/automerge/echo-network-adapter.ts":{"bytesInOutput":8023},"packages/core/echo/echo-pipeline/src/automerge/leveldb-storage-adapter.ts":{"bytesInOutput":2397},"packages/core/echo/echo-pipeline/src/automerge/local-host-network-adapter.ts":{"bytesInOutput":3188},"packages/core/echo/echo-pipeline/src/automerge/index.ts":{"bytesInOutput":0},"packages/core/echo/echo-pipeline/src/automerge/automerge-doc-loader.ts":{"bytesInOutput":9444},"packages/core/echo/echo-pipeline/src/automerge/mesh-echo-replicator.ts":{"bytesInOutput":7940}},"bytes":39886},"packages/core/echo/echo-pipeline/dist/lib/node/testing/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":20640},"packages/core/echo/echo-pipeline/dist/lib/node/testing/index.cjs":{"imports":[{"path":"packages/core/echo/echo-pipeline/dist/lib/node/chunk-V2O4ACHA.cjs","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/keys","kind":"import-statement","external":true},{"path":"@dxos/messaging","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/automerge/automerge-repo","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["MemoryNetworkManagerProvider","TestAdapter","TestAgent","TestAgentBuilder","TestFeedBuilder","WebsocketNetworkManagerProvider","changeStorageVersionInMetadata"],"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":6630},"packages/core/echo/echo-pipeline/src/testing/test-feed-builder.ts":{"bytesInOutput":171},"packages/core/echo/echo-pipeline/src/testing/test-network-adapter.ts":{"bytesInOutput":2248}},"bytes":10627},"packages/core/echo/echo-pipeline/dist/lib/node/chunk-V2O4ACHA.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":108838},"packages/core/echo/echo-pipeline/dist/lib/node/chunk-V2O4ACHA.cjs":{"imports":[{"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/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":"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/crypto","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/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}],"exports":["AuthExtension","AuthStatus","DataServiceImpl","MOCK_AUTH_PROVIDER","MOCK_AUTH_VERIFIER","MetadataStore","Pipeline","SnapshotManager","SnapshotStore","Space","SpaceManager","SpaceProtocol","SpaceProtocolSession","TimeframeClock","codec","createIdFromSpaceKey","createMappedFeedWriter","hasInvitationExpired","mapFeedIndexesToTimeframe","mapTimeframeToFeedIndexes","startAfter","valueEncoding"],"inputs":{"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/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":580},"packages/core/echo/echo-pipeline/src/db-host/index.ts":{"bytesInOutput":0},"packages/core/echo/echo-pipeline/src/metadata/metadata-store.ts":{"bytesInOutput":10911},"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":12750},"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":3046},"packages/core/echo/echo-pipeline/src/space/space.ts":{"bytesInOutput":6989},"packages/core/echo/echo-pipeline/src/space/control-pipeline.ts":{"bytesInOutput":8366},"packages/core/echo/echo-pipeline/src/space/space-protocol.ts":{"bytesInOutput":6984},"packages/core/echo/echo-pipeline/src/space/space-manager.ts":{"bytesInOutput":3538},"packages/core/echo/echo-pipeline/src/space/index.ts":{"bytesInOutput":0}},"bytes":61680}}}
|
|
@@ -27,7 +27,7 @@ __export(testing_exports, {
|
|
|
27
27
|
changeStorageVersionInMetadata: () => changeStorageVersionInMetadata
|
|
28
28
|
});
|
|
29
29
|
module.exports = __toCommonJS(testing_exports);
|
|
30
|
-
var
|
|
30
|
+
var import_chunk_V2O4ACHA = require("../chunk-V2O4ACHA.cjs");
|
|
31
31
|
var import_log = require("@dxos/log");
|
|
32
32
|
var import_protocols = require("@dxos/protocols");
|
|
33
33
|
var import_context = require("@dxos/context");
|
|
@@ -54,7 +54,7 @@ var changeStorageVersionInMetadata = async (storage, version) => {
|
|
|
54
54
|
S: void 0,
|
|
55
55
|
C: (f, a) => f(...a)
|
|
56
56
|
});
|
|
57
|
-
const metadata = new
|
|
57
|
+
const metadata = new import_chunk_V2O4ACHA.MetadataStore(storage.createDirectory("metadata"));
|
|
58
58
|
await metadata.load();
|
|
59
59
|
const echoMetadata = metadata.metadata;
|
|
60
60
|
echoMetadata.version = version;
|
|
@@ -65,10 +65,11 @@ var changeStorageVersionInMetadata = async (storage, version) => {
|
|
|
65
65
|
var TestFeedBuilder = class extends import_testing.TestBuilder {
|
|
66
66
|
constructor() {
|
|
67
67
|
super({
|
|
68
|
-
valueEncoding:
|
|
68
|
+
valueEncoding: import_chunk_V2O4ACHA.valueEncoding
|
|
69
69
|
});
|
|
70
70
|
}
|
|
71
71
|
};
|
|
72
|
+
var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/testing/test-agent-builder.ts";
|
|
72
73
|
var MemoryNetworkManagerProvider = (signalContext) => () => new import_network_manager.SwarmNetworkManager({
|
|
73
74
|
signalManager: new import_messaging.MemorySignalManager(signalContext),
|
|
74
75
|
transportFactory: import_network_manager.MemoryTransportFactory
|
|
@@ -109,10 +110,10 @@ var TestAgentBuilder = class {
|
|
|
109
110
|
};
|
|
110
111
|
var TestAgent = class {
|
|
111
112
|
get metadataStore() {
|
|
112
|
-
return this._metadataStore ??= new
|
|
113
|
+
return this._metadataStore ??= new import_chunk_V2O4ACHA.MetadataStore(this.storage.createDirectory("metadata"));
|
|
113
114
|
}
|
|
114
115
|
get snapshotStore() {
|
|
115
|
-
return this._snapshotStore ??= new
|
|
116
|
+
return this._snapshotStore ??= new import_chunk_V2O4ACHA.SnapshotStore(this.storage.createDirectory("snapshots"));
|
|
116
117
|
}
|
|
117
118
|
get blobStore() {
|
|
118
119
|
return this._blobStore ??= new import_teleport_extension_object_sync.BlobStore(this.storage.createDirectory("blobs"));
|
|
@@ -139,7 +140,7 @@ var TestAgent = class {
|
|
|
139
140
|
return this._spaces.get(spaceKey);
|
|
140
141
|
}
|
|
141
142
|
get spaceManager() {
|
|
142
|
-
return this._spaceManager ??= new
|
|
143
|
+
return this._spaceManager ??= new import_chunk_V2O4ACHA.SpaceManager({
|
|
143
144
|
feedStore: this.feedStore,
|
|
144
145
|
networkManager: this._networkManagerProvider(),
|
|
145
146
|
metadataStore: this.metadataStore,
|
|
@@ -176,8 +177,8 @@ var TestAgent = class {
|
|
|
176
177
|
metadata,
|
|
177
178
|
swarmIdentity: {
|
|
178
179
|
peerKey: this.deviceKey,
|
|
179
|
-
credentialProvider:
|
|
180
|
-
credentialAuthenticator:
|
|
180
|
+
credentialProvider: import_chunk_V2O4ACHA.MOCK_AUTH_PROVIDER,
|
|
181
|
+
credentialAuthenticator: import_chunk_V2O4ACHA.MOCK_AUTH_VERIFIER
|
|
181
182
|
},
|
|
182
183
|
memberKey: identityKey,
|
|
183
184
|
onAuthorizedConnection: (session) => {
|
|
@@ -192,17 +193,20 @@ var TestAgent = class {
|
|
|
192
193
|
});
|
|
193
194
|
await space.setControlFeed(controlFeed);
|
|
194
195
|
await space.setDataFeed(dataFeed);
|
|
195
|
-
await space.open(new import_context.Context(
|
|
196
|
+
await space.open(new import_context.Context(void 0, {
|
|
197
|
+
F: __dxlog_file2,
|
|
198
|
+
L: 199
|
|
199
|
+
}));
|
|
196
200
|
this._spaces.set(spaceKey, space);
|
|
197
201
|
return space;
|
|
198
202
|
}
|
|
199
203
|
createSpaceProtocol(topic, gossip) {
|
|
200
|
-
return new
|
|
204
|
+
return new import_chunk_V2O4ACHA.SpaceProtocol({
|
|
201
205
|
topic,
|
|
202
206
|
swarmIdentity: {
|
|
203
207
|
peerKey: this.deviceKey,
|
|
204
|
-
credentialProvider:
|
|
205
|
-
credentialAuthenticator:
|
|
208
|
+
credentialProvider: import_chunk_V2O4ACHA.MOCK_AUTH_PROVIDER,
|
|
209
|
+
credentialAuthenticator: import_chunk_V2O4ACHA.MOCK_AUTH_VERIFIER
|
|
206
210
|
},
|
|
207
211
|
networkManager: this._networkManagerProvider(),
|
|
208
212
|
blobStore: this.blobStore,
|
|
@@ -242,7 +246,7 @@ var TestAgent = class {
|
|
|
242
246
|
}
|
|
243
247
|
}
|
|
244
248
|
};
|
|
245
|
-
var
|
|
249
|
+
var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/core/echo/echo-pipeline/src/testing/test-network-adapter.ts";
|
|
246
250
|
var TestAdapter = class _TestAdapter extends import_automerge_repo.NetworkAdapter {
|
|
247
251
|
constructor(_params) {
|
|
248
252
|
super();
|
|
@@ -274,7 +278,7 @@ var TestAdapter = class _TestAdapter extends import_automerge_repo.NetworkAdapte
|
|
|
274
278
|
}
|
|
275
279
|
peerCandidate(peerId) {
|
|
276
280
|
(0, import_invariant.invariant)(peerId, "PeerId is required", {
|
|
277
|
-
F:
|
|
281
|
+
F: __dxlog_file3,
|
|
278
282
|
L: 40,
|
|
279
283
|
S: this,
|
|
280
284
|
A: [
|
|
@@ -289,7 +293,7 @@ var TestAdapter = class _TestAdapter extends import_automerge_repo.NetworkAdapte
|
|
|
289
293
|
}
|
|
290
294
|
peerDisconnected(peerId) {
|
|
291
295
|
(0, import_invariant.invariant)(peerId, "PeerId is required", {
|
|
292
|
-
F:
|
|
296
|
+
F: __dxlog_file3,
|
|
293
297
|
L: 45,
|
|
294
298
|
S: this,
|
|
295
299
|
A: [
|
|
@@ -307,7 +311,7 @@ var TestAdapter = class _TestAdapter extends import_automerge_repo.NetworkAdapte
|
|
|
307
311
|
to: message.targetId,
|
|
308
312
|
type: message.type
|
|
309
313
|
}, {
|
|
310
|
-
F:
|
|
314
|
+
F: __dxlog_file3,
|
|
311
315
|
L: 50,
|
|
312
316
|
S: this,
|
|
313
317
|
C: (f, a) => f(...a)
|
|
@@ -319,7 +323,7 @@ var TestAdapter = class _TestAdapter extends import_automerge_repo.NetworkAdapte
|
|
|
319
323
|
}
|
|
320
324
|
receive(message) {
|
|
321
325
|
(0, import_invariant.invariant)(this.peerId, "Peer id is not set", {
|
|
322
|
-
F:
|
|
326
|
+
F: __dxlog_file3,
|
|
323
327
|
L: 59,
|
|
324
328
|
S: this,
|
|
325
329
|
A: [
|