@dxos/echo-pipeline 0.6.2-main.c33bf0c → 0.6.2-main.d41f0d2

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.
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/automerge/automerge-host.ts", "../../../src/automerge/echo-network-adapter.ts", "../../../src/automerge/heads-store.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", "../../../src/automerge/mesh-echo-replicator-connection.ts"],
4
4
  "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Event, asyncTimeout } from '@dxos/async';\nimport {\n next as automerge,\n getBackend,\n getHeads,\n isAutomerge,\n save,\n equals as headsEquals,\n type Doc,\n type Heads,\n} from '@dxos/automerge/automerge';\nimport {\n Repo,\n type AnyDocumentId,\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, Resource, cancelWithContext, 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 LevelDB } from '@dxos/kv-store';\nimport { log } from '@dxos/log';\nimport { objectPointerCodec } from '@dxos/protocols';\nimport {\n type DocHeadsList,\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, isEchoPeerMetadata } from './echo-network-adapter';\nimport { type EchoReplicator } from './echo-replicator';\nimport { HeadsStore } from './heads-store';\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: LevelDB;\n\n indexMetadataStore: IndexMetadataStore;\n};\n\nexport type LoadDocOptions = {\n timeout?: number;\n};\n\nexport type CreateDocOptions = {\n /**\n * Import the document together with its history.\n */\n preserveHistory?: boolean;\n};\n\n/**\n * Abstracts over the AutomergeRepo.\n */\n@trace.resource()\nexport class AutomergeHost extends Resource {\n private readonly _db: LevelDB;\n private readonly _indexMetadataStore: IndexMetadataStore;\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 private readonly _headsStore: HeadsStore;\n\n @trace.info()\n private _peerId!: string;\n\n constructor({ db, indexMetadataStore }: AutomergeHostParams) {\n super();\n this._db = db;\n this._storage = new LevelDBStorageAdapter({\n db: db.sublevel('automerge'),\n callbacks: {\n beforeSave: async (params) => this._beforeSave(params),\n afterSave: async () => this._afterSave(),\n },\n });\n this._headsStore = new HeadsStore({ db: db.sublevel('heads') });\n this._indexMetadataStore = indexMetadataStore;\n }\n\n protected override 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 protected override 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 /**\n * @deprecated To be abstracted away.\n */\n get repo(): Repo {\n return this._repo;\n }\n\n get loadedDocsCount(): number {\n return Object.keys(this._repo.handles).length;\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 /**\n * Loads the document handle from the repo and waits for it to be ready.\n */\n async loadDoc<T>(ctx: Context, documentId: AnyDocumentId, opts?: LoadDocOptions): Promise<DocHandle<T>> {\n let handle: DocHandle<T> | undefined;\n if (typeof documentId === 'string') {\n // NOTE: documentId might also be a URL, in which case this lookup will fail.\n handle = this._repo.handles[documentId as DocumentId];\n }\n if (!handle) {\n handle = this._repo.find(documentId as DocumentId);\n }\n\n // `whenReady` creates a timeout so we guard it with an if to skip it if the handle is already ready.\n if (!handle.isReady()) {\n if (!opts?.timeout) {\n await cancelWithContext(ctx, handle.whenReady());\n } else {\n await cancelWithContext(ctx, asyncTimeout(handle.whenReady(), opts.timeout));\n }\n }\n\n return handle;\n }\n\n /**\n * Create new persisted document.\n */\n createDoc<T>(initialValue?: T | Doc<T>, opts?: CreateDocOptions): DocHandle<T> {\n if (opts?.preserveHistory) {\n if (!isAutomerge(initialValue)) {\n throw new TypeError('Initial value must be an Automerge document');\n }\n // TODO(dmaretskyi): There's a more efficient way.\n return this._repo.import(save(initialValue as Doc<T>));\n } else {\n return this._repo.create(initialValue);\n }\n }\n\n async waitUntilHeadsReplicated(heads: DocHeadsList): Promise<void> {\n await Promise.all(\n heads.entries?.map(async ({ documentId, heads }) => {\n if (!heads || heads.length === 0) {\n return;\n }\n\n const currentHeads = this.getHeads(documentId as DocumentId);\n if (currentHeads !== null && headsEquals(currentHeads, heads)) {\n return;\n }\n\n const handle = await this.loadDoc(Context.default(), documentId as DocumentId);\n await waitForHeads(handle, heads);\n }) ?? [],\n );\n\n // Flush to disk also so that the indexer can pick up the changes.\n await this._repo.flush((heads.entries?.map((entry) => entry.documentId) ?? []) as DocumentId[]);\n }\n\n async reIndexHeads(documentIds: DocumentId[]) {\n for (const documentId of documentIds) {\n log.info('re-indexing heads for document', { documentId });\n const handle = this._repo.find(documentId);\n await handle.whenReady(['ready', 'requesting']);\n if (handle.inState(['requesting'])) {\n log.warn('document is not available locally, skipping', { documentId });\n continue; // Handle not available locally.\n }\n\n const doc = handle.docSync();\n invariant(doc);\n\n const heads = getHeads(doc);\n const batch = this._db.batch();\n this._headsStore.setHeads(documentId, heads, batch);\n await batch.write();\n }\n log.info('done re-indexing heads');\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(peerId: PeerId, documentId?: DocumentId): 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 (isEchoPeerMetadata(peerMetadata)) {\n return this._echoNetworkAdapter.shouldAdvertise(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 heads = getHeads(doc);\n\n this._headsStore.setHeads(handle.documentId, heads, batch);\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, heads]));\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 * Flush documents to disk.\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 if (states) {\n await Promise.all(\n states.map(async ({ heads, documentId }) => {\n if (!heads) {\n return;\n }\n const handle = this._repo.handles[documentId as DocumentId] ?? this._repo.find(documentId as DocumentId);\n await waitForHeads(handle, heads);\n }) ?? [],\n );\n }\n\n await this._repo.flush(states?.map(({ documentId }) => documentId as DocumentId));\n }\n\n async getHeads(documentId: DocumentId): Promise<Heads | undefined> {\n const handle = this._repo.handles[documentId];\n if (handle) {\n const doc = handle.docSync();\n if (!doc) {\n return undefined;\n }\n return getHeads(doc);\n } else {\n return this._headsStore.getHeads(documentId);\n }\n }\n\n /**\n * Host <-> Client sync.\n */\n syncRepo(request: SyncRepoRequest): Stream<SyncRepoResponse> {\n return this._clientNetwork.syncRepo(request);\n }\n\n /**\n * Host <-> Client sync.\n */\n sendSyncMessage(request: SyncRepoRequest): Promise<void> {\n return this._clientNetwork.sendSyncMessage(request);\n }\n\n /**\n * Host <-> Client sync.\n */\n async getHostInfo(): Promise<HostInfo> {\n return this._clientNetwork.getHostInfo();\n }\n}\n\nexport const getSpaceKeyFromDoc = (doc: Doc<SpaceDoc>): 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 as any).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 const unavailableHeads = new Set(heads);\n\n await handle.whenReady();\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 return unavailableHeads.size === 0;\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 { synchronized, Trigger } 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 ShouldAdvertiseParams } 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 if (this._lifecycleState === LifecycleState.OPEN) {\n return;\n }\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 if (this._lifecycleState === LifecycleState.CLOSED) {\n return;\n }\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 shouldAdvertise(peerId: PeerId, params: ShouldAdvertiseParams): Promise<boolean> {\n const connection = this._connections.get(peerId);\n if (!connection) {\n return false;\n }\n\n return connection.connection.shouldAdvertise(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: createEchoPeerMetadata(),\n });\n }\n}\n\ntype ConnectionEntry = {\n connection: ReplicatorConnection;\n reader: ReadableStreamDefaultReader<Message>;\n writer: WritableStreamDefaultWriter<Message>;\n isOpen: boolean;\n};\n\nexport const createEchoPeerMetadata = (): PeerMetadata =>\n ({\n // TODO(dmaretskyi): Refactor this.\n dxos_peerSource: 'EchoNetworkAdapter',\n }) as any;\n\nexport const isEchoPeerMetadata = (metadata: PeerMetadata): boolean =>\n (metadata as any)?.dxos_peerSource === 'EchoNetworkAdapter';\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport type { Heads } from '@dxos/automerge/automerge';\nimport type { DocumentId } from '@dxos/automerge/automerge-repo';\nimport { headsEncoding } from '@dxos/indexing';\nimport type { BatchLevel, SublevelDB } from '@dxos/kv-store';\n\nexport type HeadsStoreParams = {\n db: SublevelDB;\n};\n\nexport class HeadsStore {\n private readonly _db: SublevelDB;\n\n constructor({ db }: HeadsStoreParams) {\n this._db = db;\n }\n\n setHeads(documentId: DocumentId, heads: Heads, batch: BatchLevel) {\n batch.put<DocumentId, Heads>(documentId, heads, {\n sublevel: this._db,\n keyEncoding: 'utf8',\n valueEncoding: headsEncoding,\n });\n }\n\n async getHeads(documentId: DocumentId): Promise<Heads | undefined> {\n try {\n return await this._db.get<DocumentId, Heads>(documentId, { keyEncoding: 'utf8', valueEncoding: headsEncoding });\n } catch (err: any) {\n if (err.notFound) {\n return undefined;\n }\n throw err;\n }\n }\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 {\n type DocHandle,\n type AutomergeUrl,\n type DocumentId,\n type Repo,\n interpretAsDocumentId,\n} 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 getObjectDocumentId(objectId: string): string | undefined;\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 throw new Error('Database opened with no rootUrl');\n }\n\n const existingDocHandle = await this._initDocHandle(ctx, spaceState.rootUrl);\n const doc = existingDocHandle.docSync();\n invariant(doc);\n invariant(doc.version === SpaceDocVersion.CURRENT);\n if (doc.access == null) {\n this._initDocAccess(existingDocHandle);\n }\n this._spaceRootDocHandle = existingDocHandle;\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 getObjectDocumentId(objectId: string): string | undefined {\n invariant(this._spaceRootDocHandle);\n const spaceRootDoc = this._spaceRootDocHandle.docSync();\n invariant(spaceRootDoc);\n if (spaceRootDoc.objects?.[objectId]) {\n return this._spaceRootDocHandle.documentId;\n }\n const documentUrl = (spaceRootDoc.links ?? {})[objectId];\n return documentUrl && interpretAsDocumentId(documentUrl);\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 _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.whenReady();\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 { invariant } from '@dxos/invariant';\nimport { PublicKey } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport {\n type AutomergeReplicator,\n type AutomergeReplicatorFactory,\n} from '@dxos/teleport-extension-automerge-replicator';\nimport { ComplexMap, ComplexSet, defaultMap } from '@dxos/util';\n\nimport { type EchoReplicator, type EchoReplicatorContext, type ShouldAdvertiseParams } from './echo-replicator';\nimport { MeshReplicatorConnection } from './mesh-echo-replicator-connection';\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(extensionFactory?: AutomergeReplicatorFactory): AutomergeReplicator {\n invariant(this._context);\n\n const connection: MeshReplicatorConnection = new MeshReplicatorConnection({\n ownPeerId: this._context.peerId,\n replicatorFactory: extensionFactory,\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 this._context.onConnectionOpen(connection);\n connection.enable();\n }\n },\n onRemoteDisconnected: async () => {\n log('onRemoteDisconnected', { peerId: connection.peerId });\n this._context?.onConnectionClosed(connection);\n this._connectionsPerPeer.delete(connection.peerId);\n connection.disable();\n this._connections.delete(connection);\n },\n shouldAdvertise: async (params: ShouldAdvertiseParams) => {\n log('shouldAdvertise', { 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 if (this._connectionsPerPeer.has(connection.peerId)) {\n this._context?.onConnectionAuthScopeChanged(connection);\n }\n }\n }\n }\n}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { cbor, type Message } from '@dxos/automerge/automerge-repo';\nimport { Resource } from '@dxos/context';\nimport { invariant } from '@dxos/invariant';\nimport { type PublicKey } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport { AutomergeReplicator, type AutomergeReplicatorFactory } from '@dxos/teleport-extension-automerge-replicator';\n\nimport type { ReplicatorConnection, ShouldAdvertiseParams } from './echo-replicator';\n\nconst DEFAULT_FACTORY: AutomergeReplicatorFactory = (params) => new AutomergeReplicator(...params);\n\nexport type MeshReplicatorConnectionParams = {\n ownPeerId: string;\n onRemoteConnected: () => void;\n onRemoteDisconnected: () => void;\n shouldAdvertise: (params: ShouldAdvertiseParams) => Promise<boolean>;\n replicatorFactory?: AutomergeReplicatorFactory;\n};\n\nexport class 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 invariant(this._isEnabled, 'Writing to a disabled connection');\n try {\n await this.replicatorExtension.sendSyncMessage({ payload: cbor.encode(message) });\n } catch (err) {\n controller.error(err);\n this._disconnectIfEnabled();\n }\n },\n });\n\n const createAutomergeReplicator = this._params.replicatorFactory ?? DEFAULT_FACTORY;\n this.replicatorExtension = createAutomergeReplicator([\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 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 this._disconnectIfEnabled();\n },\n },\n ]);\n }\n\n private _disconnectIfEnabled() {\n if (this._isEnabled) {\n this._params.onRemoteDisconnected();\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 shouldAdvertise(params: ShouldAdvertiseParams): Promise<boolean> {\n return this._params.shouldAdvertise(params);\n }\n\n /**\n * Start exchanging messages with the remote peer.\n * Call after the remote peer has connected.\n */\n 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 disable() {\n this._isEnabled = false;\n }\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["Event", "asyncTimeout", "next", "automerge", "getBackend", "getHeads", "isAutomerge", "save", "equals", "headsEquals", "Repo", "Context", "Resource", "cancelWithContext", "invariant", "PublicKey", "log", "objectPointerCodec", "trace", "mapValues", "synchronized", "Trigger", "NetworkAdapter", "LifecycleState", "invariant", "log", "EchoNetworkAdapter", "constructor", "_params", "_replicators", "Set", "_connections", "Map", "_lifecycleState", "CLOSED", "_connected", "connect", "peerId", "peerMetadata", "wake", "send", "message", "connectionEntry", "get", "targetId", "Error", "writer", "write", "catch", "err", "isOpen", "disconnect", "open", "OPEN", "emit", "network", "close", "replicator", "clear", "whenConnected", "wait", "timeout", "addReplicator", "has", "add", "onConnectionOpen", "_onConnectionOpen", "bind", "onConnectionClosed", "_onConnectionClosed", "onConnectionAuthScopeChanged", "_onConnectionAuthScopeChanged", "getContainingSpaceForDocument", "removeReplicator", "delete", "shouldAdvertise", "params", "connection", "reader", "readable", "getReader", "writable", "getWriter", "set", "queueMicrotask", "done", "value", "read", "_emitPeerCandidate", "entry", "cancel", "abort", "createEchoPeerMetadata", "dxos_peerSource", "isEchoPeerMetadata", "metadata", "headsEncoding", "HeadsStore", "constructor", "db", "_db", "setHeads", "documentId", "heads", "batch", "put", "sublevel", "keyEncoding", "valueEncoding", "headsEncoding", "getHeads", "get", "err", "notFound", "undefined", "LifecycleState", "Resource", "LevelDBStorageAdapter", "Resource", "constructor", "_params", "load", "keyArray", "_lifecycleState", "LifecycleState", "OPEN", "undefined", "db", "get", "encodingOptions", "err", "isLevelDbNotFoundError", "save", "binary", "batch", "callbacks", "beforeSave", "path", "put", "Buffer", "from", "write", "afterSave", "remove", "del", "loadRange", "keyPrefix", "result", "key", "value", "iterator", "gte", "lte", "push", "data", "removeRange", "keyEncoder", "encode", "map", "k", "replaceAll", "join", "decode", "toString", "split", "format", "keyEncoding", "valueEncoding", "code", "Trigger", "NetworkAdapter", "cbor", "Stream", "invariant", "LocalHostNetworkAdapter", "_peers", "Map", "_connected", "_isConnected", "ready", "emit", "network", "connect", "peerId", "wake", "send", "message", "peer", "get", "targetId", "close", "forEach", "disconnect", "whenConnected", "wait", "timeout", "syncRepo", "id", "syncMessage", "_getPeerId", "next", "has", "set", "connected", "encode", "delete", "peerMetadata", "sendSyncMessage", "decode", "getHostInfo", "AutomergeHost", "Resource", "constructor", "db", "indexMetadataStore", "_echoNetworkAdapter", "EchoNetworkAdapter", "getContainingSpaceForDocument", "_getContainingSpaceForDocument", "bind", "_db", "_storage", "LevelDBStorageAdapter", "sublevel", "callbacks", "beforeSave", "params", "_beforeSave", "afterSave", "_afterSave", "_headsStore", "HeadsStore", "_indexMetadataStore", "_open", "_peerId", "PublicKey", "random", "toHex", "open", "_clientNetwork", "LocalHostNetworkAdapter", "_repo", "Repo", "peerId", "sharePolicy", "_sharePolicy", "storage", "network", "ready", "whenConnected", "_close", "close", "_ctx", "dispose", "repo", "loadedDocsCount", "Object", "keys", "handles", "length", "addReplicator", "replicator", "removeReplicator", "loadDoc", "ctx", "documentId", "opts", "handle", "find", "isReady", "timeout", "cancelWithContext", "whenReady", "asyncTimeout", "createDoc", "initialValue", "preserveHistory", "isAutomerge", "TypeError", "import", "save", "create", "waitUntilHeadsReplicated", "heads", "Promise", "all", "entries", "map", "currentHeads", "getHeads", "headsEquals", "Context", "default", "waitForHeads", "flush", "entry", "reIndexHeads", "documentIds", "log", "info", "inState", "warn", "doc", "docSync", "invariant", "batch", "setHeads", "write", "startsWith", "peerMetadata", "peerMetadataByPeerId", "isEchoPeerMetadata", "shouldAdvertise", "path", "spaceKey", "getSpaceKeyFromDoc", "undefined", "objectIds", "objects", "encodedIds", "objectId", "objectPointerCodec", "encode", "idToLastHash", "Map", "id", "markDirty", "notifyMarkedDirty", "_automergeDocs", "mapValues", "state", "hasDoc", "automerge", "data", "value", "key", "err", "_automergePeers", "peers", "spaceKeyHex", "from", "states", "syncRepo", "request", "sendSyncMessage", "getHostInfo", "trace", "depth", "span", "showInBrowserTimeline", "resource", "rawSpaceKey", "access", "experimental_spaceKey", "String", "unavailableHeads", "Set", "Event", "wrap", "waitForCondition", "changeHash", "values", "changeIsPresentInDoc", "delete", "size", "getBackend", "getChangeByHash", "Event", "interpretAsDocumentId", "cancelWithContext", "warnAfterTimeout", "SpaceDocVersion", "invariant", "log", "trace", "AutomergeDocumentLoaderImpl", "constructor", "_spaceId", "_repo", "_spaceKey", "_spaceRootDocHandle", "_objectDocumentHandles", "Map", "_objectsPendingDocumentLoad", "Set", "onObjectDocumentLoaded", "getAllHandles", "values", "loadSpaceRootDocHandle", "ctx", "spaceState", "rootUrl", "Error", "existingDocHandle", "_initDocHandle", "doc", "docSync", "version", "CURRENT", "access", "_initDocAccess", "loadObjectDocument", "objectIdOrMany", "objectIds", "Array", "isArray", "hasUrlsToLoad", "urlsToLoad", "objectId", "has", "spaceRootDoc", "documentUrl", "links", "add", "info", "_loadLinkedObjects", "getObjectDocumentId", "objects", "documentId", "onObjectLinksUpdated", "linksAwaitingLoad", "Object", "entries", "filter", "fromEntries", "forEach", "delete", "getSpaceRootDocHandle", "createDocumentForObject", "spaceDocHandle", "create", "onObjectBoundToDocument", "change", "newDoc", "url", "handle", "set", "clearHandleReferences", "objectsWithHandles", "keys", "clear", "automergeUrl", "logMeta", "objectDocumentHandle", "get", "warn", "actualDocumentUrl", "find", "debug", "_createObjectOnDocumentLoad", "docHandle", "whenReady", "err", "includes", "id", "state", "spaceKey", "toHex", "docUrl", "listenerCount", "objectDocHandle", "emit", "shouldRetryLoading", "retryLoading", "span", "showInBrowserTimeline", "resource", "invariant", "PublicKey", "log", "ComplexMap", "ComplexSet", "defaultMap", "cbor", "Resource", "invariant", "log", "AutomergeReplicator", "DEFAULT_FACTORY", "params", "MeshReplicatorConnection", "constructor", "_params", "remoteDeviceKey", "_remotePeerId", "_isEnabled", "readableStreamController", "readable", "ReadableStream", "start", "controller", "_ctx", "onDispose", "close", "writable", "WritableStream", "write", "message", "replicatorExtension", "sendSyncMessage", "payload", "encode", "err", "error", "_disconnectIfEnabled", "createAutomergeReplicator", "replicatorFactory", "peerId", "ownPeerId", "onStartReplication", "info", "remotePeerId", "id", "thisPeerId", "toHex", "onRemoteConnected", "onSyncMessage", "decode", "enqueue", "onClose", "onRemoteDisconnected", "shouldAdvertise", "enable", "disable", "MeshEchoReplicator", "_connections", "Set", "_connectionsPerPeer", "Map", "_authorizedDevices", "ComplexMap", "PublicKey", "hash", "_context", "connect", "context", "disconnect", "connection", "close", "clear", "createExtension", "extensionFactory", "invariant", "MeshReplicatorConnection", "ownPeerId", "peerId", "replicatorFactory", "onRemoteConnected", "log", "has", "onConnectionAuthScopeChanged", "set", "onConnectionOpen", "enable", "onRemoteDisconnected", "onConnectionClosed", "delete", "disable", "shouldAdvertise", "params", "documentId", "spaceKey", "getContainingSpaceForDocument", "authorizedDevices", "get", "remoteDeviceKey", "isAuthorized", "localPeer", "remotePeer", "deviceKey", "err", "catch", "add", "replicatorExtension", "authorizeDevice", "defaultMap", "ComplexSet", "equals"]
7
7
  }
@@ -1 +1 @@
1
- {"inputs":{"inject-globals:@inject-globals":{"bytes":384,"imports":[{"path":"@dxos/node-std/inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/common/codec.ts":{"bytes":1690,"imports":[{"path":"@dxos/hypercore","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/common/feeds.ts":{"bytes":2202,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/common/index.ts":{"bytes":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"},{"path":"@inject-globals","kind":"import-statement","external":true}],"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},{"path":"@inject-globals","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},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/db-host/data-service.ts":{"bytes":7700,"imports":[{"path":"@inject-globals","kind":"import-statement","external":true}],"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"},{"path":"@inject-globals","kind":"import-statement","external":true}],"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},{"path":"@inject-globals","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"},{"path":"@inject-globals","kind":"import-statement","external":true}],"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},{"path":"@inject-globals","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},{"path":"@inject-globals","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"},{"path":"@inject-globals","kind":"import-statement","external":true}],"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"},{"path":"@inject-globals","kind":"import-statement","external":true}],"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},{"path":"@inject-globals","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"},{"path":"@inject-globals","kind":"import-statement","external":true}],"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"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/admission-discovery-extension.ts":{"bytes":8672,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/teleport","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/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"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/space-manager.ts":{"bytes":20165,"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/admission-discovery-extension.ts","kind":"import-statement","original":"./admission-discovery-extension"},{"path":"packages/core/echo/echo-pipeline/src/space/space.ts","kind":"import-statement","original":"./space"},{"path":"packages/core/echo/echo-pipeline/src/space/space-protocol.ts","kind":"import-statement","original":"./space-protocol"},{"path":"packages/core/echo/echo-pipeline/src/db-host/index.ts","kind":"import-statement","original":"../db-host"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/index.ts":{"bytes":935,"imports":[{"path":"packages/core/echo/echo-pipeline/src/space/auth.ts","kind":"import-statement","original":"./auth"},{"path":"packages/core/echo/echo-pipeline/src/space/space.ts","kind":"import-statement","original":"./space"},{"path":"packages/core/echo/echo-pipeline/src/space/space-manager.ts","kind":"import-statement","original":"./space-manager"},{"path":"packages/core/echo/echo-pipeline/src/space/space-protocol.ts","kind":"import-statement","original":"./space-protocol"},{"path":"packages/core/echo/echo-pipeline/src/space/admission-discovery-extension.ts","kind":"import-statement","original":"./admission-discovery-extension"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/echo-network-adapter.ts":{"bytes":25543,"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},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/heads-store.ts":{"bytes":3379,"imports":[{"path":"@dxos/indexing","kind":"import-statement","external":true},{"path":"@inject-globals","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},{"path":"@inject-globals","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},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/automerge-host.ts":{"bytes":43799,"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/log","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/heads-store.ts","kind":"import-statement","original":"./heads-store"},{"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":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/automerge-doc-loader.ts":{"bytes":34309,"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/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":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/mesh-echo-replicator-connection.ts":{"bytes":15535,"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/log","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-automerge-replicator","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/mesh-echo-replicator.ts":{"bytes":17898,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/automerge/mesh-echo-replicator-connection.ts","kind":"import-statement","original":"./mesh-echo-replicator-connection"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/echo-replicator.ts":{"bytes":2356,"imports":[{"path":"@inject-globals","kind":"import-statement","external":true}],"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"},{"path":"@inject-globals","kind":"import-statement","external":true}],"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"},{"path":"@inject-globals","kind":"import-statement","external":true}],"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"},{"path":"@inject-globals","kind":"import-statement","external":true}],"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"},{"path":"@inject-globals","kind":"import-statement","external":true}],"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"},{"path":"@inject-globals","kind":"import-statement","external":true}],"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},{"path":"@inject-globals","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"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"packages/core/echo/echo-pipeline/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":76557},"packages/core/echo/echo-pipeline/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/core/echo/echo-pipeline/dist/lib/browser/chunk-DMUP426Q.mjs","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/log","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/indexing","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/automerge/automerge-repo","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/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@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/teleport-extension-automerge-replicator","kind":"import-statement","external":true}],"exports":["AuthExtension","AuthStatus","AutomergeDocumentLoaderImpl","AutomergeHost","CredentialRetrieverExtension","CredentialServerExtension","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":10601},"packages/core/echo/echo-pipeline/src/automerge/echo-network-adapter.ts":{"bytesInOutput":7879},"packages/core/echo/echo-pipeline/src/automerge/heads-store.ts":{"bytesInOutput":564},"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":9918},"packages/core/echo/echo-pipeline/src/automerge/mesh-echo-replicator.ts":{"bytesInOutput":5301},"packages/core/echo/echo-pipeline/src/automerge/mesh-echo-replicator-connection.ts":{"bytesInOutput":3572}},"bytes":45412},"packages/core/echo/echo-pipeline/dist/lib/browser/testing/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":20641},"packages/core/echo/echo-pipeline/dist/lib/browser/testing/index.mjs":{"imports":[{"path":"packages/core/echo/echo-pipeline/dist/lib/browser/chunk-DMUP426Q.mjs","kind":"import-statement"},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/credentials","kind":"import-statement","external":true},{"path":"@dxos/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":10660},"packages/core/echo/echo-pipeline/dist/lib/browser/chunk-DMUP426Q.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":118276},"packages/core/echo/echo-pipeline/dist/lib/browser/chunk-DMUP426Q.mjs":{"imports":[{"path":"@dxos/node-std/inject-globals","kind":"import-statement","external":true},{"path":"@dxos/hypercore","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/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/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/teleport","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","Buffer","CredentialRetrieverExtension","CredentialServerExtension","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":{"inject-globals:@inject-globals":{"bytesInOutput":79},"packages/core/echo/echo-pipeline/src/common/codec.ts":{"bytesInOutput":211},"packages/core/echo/echo-pipeline/src/common/feeds.ts":{"bytesInOutput":548},"packages/core/echo/echo-pipeline/src/common/index.ts":{"bytesInOutput":0},"packages/core/echo/echo-pipeline/src/db-host/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":1260},"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/admission-discovery-extension.ts":{"bytesInOutput":1990},"packages/core/echo/echo-pipeline/src/space/space-protocol.ts":{"bytesInOutput":6992},"packages/core/echo/echo-pipeline/src/space/space-manager.ts":{"bytesInOutput":5236},"packages/core/echo/echo-pipeline/src/space/index.ts":{"bytesInOutput":0}},"bytes":66355}}}
1
+ {"inputs":{"inject-globals:@inject-globals":{"bytes":384,"imports":[{"path":"@dxos/node-std/inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/common/codec.ts":{"bytes":1690,"imports":[{"path":"@dxos/hypercore","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/common/feeds.ts":{"bytes":2202,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/common/index.ts":{"bytes":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"},{"path":"@inject-globals","kind":"import-statement","external":true}],"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},{"path":"@inject-globals","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},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/db-host/documents-synchronizer.ts":{"bytes":17482,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge","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":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/db-host/data-service.ts":{"bytes":13277,"imports":[{"path":"@dxos/codec-protobuf","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/db-host/documents-synchronizer.ts","kind":"import-statement","original":"./documents-synchronizer"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/db-host/index.ts":{"bytes":864,"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"},{"path":"packages/core/echo/echo-pipeline/src/db-host/documents-synchronizer.ts","kind":"import-statement","original":"./documents-synchronizer"},{"path":"@inject-globals","kind":"import-statement","external":true}],"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},{"path":"@inject-globals","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"},{"path":"@inject-globals","kind":"import-statement","external":true}],"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},{"path":"@inject-globals","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},{"path":"@inject-globals","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"},{"path":"@inject-globals","kind":"import-statement","external":true}],"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"},{"path":"@inject-globals","kind":"import-statement","external":true}],"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},{"path":"@inject-globals","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"},{"path":"@inject-globals","kind":"import-statement","external":true}],"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"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/admission-discovery-extension.ts":{"bytes":8672,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/teleport","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/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"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/space-manager.ts":{"bytes":20165,"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/admission-discovery-extension.ts","kind":"import-statement","original":"./admission-discovery-extension"},{"path":"packages/core/echo/echo-pipeline/src/space/space.ts","kind":"import-statement","original":"./space"},{"path":"packages/core/echo/echo-pipeline/src/space/space-protocol.ts","kind":"import-statement","original":"./space-protocol"},{"path":"packages/core/echo/echo-pipeline/src/db-host/index.ts","kind":"import-statement","original":"../db-host"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/index.ts":{"bytes":935,"imports":[{"path":"packages/core/echo/echo-pipeline/src/space/auth.ts","kind":"import-statement","original":"./auth"},{"path":"packages/core/echo/echo-pipeline/src/space/space.ts","kind":"import-statement","original":"./space"},{"path":"packages/core/echo/echo-pipeline/src/space/space-manager.ts","kind":"import-statement","original":"./space-manager"},{"path":"packages/core/echo/echo-pipeline/src/space/space-protocol.ts","kind":"import-statement","original":"./space-protocol"},{"path":"packages/core/echo/echo-pipeline/src/space/admission-discovery-extension.ts","kind":"import-statement","original":"./admission-discovery-extension"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/echo-network-adapter.ts":{"bytes":25543,"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},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/heads-store.ts":{"bytes":3379,"imports":[{"path":"@dxos/indexing","kind":"import-statement","external":true},{"path":"@inject-globals","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},{"path":"@inject-globals","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},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/automerge-host.ts":{"bytes":43799,"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/log","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/heads-store.ts","kind":"import-statement","original":"./heads-store"},{"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":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/automerge-doc-loader.ts":{"bytes":34309,"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/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":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/mesh-echo-replicator-connection.ts":{"bytes":15535,"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/log","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-automerge-replicator","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/mesh-echo-replicator.ts":{"bytes":17898,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/automerge/mesh-echo-replicator-connection.ts","kind":"import-statement","original":"./mesh-echo-replicator-connection"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/echo-replicator.ts":{"bytes":2356,"imports":[{"path":"@inject-globals","kind":"import-statement","external":true}],"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"},{"path":"@inject-globals","kind":"import-statement","external":true}],"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"},{"path":"@inject-globals","kind":"import-statement","external":true}],"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"},{"path":"@inject-globals","kind":"import-statement","external":true}],"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"},{"path":"@inject-globals","kind":"import-statement","external":true}],"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"},{"path":"@inject-globals","kind":"import-statement","external":true}],"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},{"path":"@inject-globals","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"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"packages/core/echo/echo-pipeline/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":76558},"packages/core/echo/echo-pipeline/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/core/echo/echo-pipeline/dist/lib/browser/chunk-SJUDZ3CQ.mjs","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/log","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/indexing","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/automerge/automerge-repo","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/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@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/teleport-extension-automerge-replicator","kind":"import-statement","external":true}],"exports":["AuthExtension","AuthStatus","AutomergeDocumentLoaderImpl","AutomergeHost","CredentialRetrieverExtension","CredentialServerExtension","DataServiceImpl","DocumentsSynchronizer","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":10601},"packages/core/echo/echo-pipeline/src/automerge/echo-network-adapter.ts":{"bytesInOutput":7879},"packages/core/echo/echo-pipeline/src/automerge/heads-store.ts":{"bytesInOutput":564},"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":9918},"packages/core/echo/echo-pipeline/src/automerge/mesh-echo-replicator.ts":{"bytesInOutput":5301},"packages/core/echo/echo-pipeline/src/automerge/mesh-echo-replicator-connection.ts":{"bytesInOutput":3572}},"bytes":45462},"packages/core/echo/echo-pipeline/dist/lib/browser/testing/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":20641},"packages/core/echo/echo-pipeline/dist/lib/browser/testing/index.mjs":{"imports":[{"path":"packages/core/echo/echo-pipeline/dist/lib/browser/chunk-SJUDZ3CQ.mjs","kind":"import-statement"},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/credentials","kind":"import-statement","external":true},{"path":"@dxos/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":10660},"packages/core/echo/echo-pipeline/dist/lib/browser/chunk-SJUDZ3CQ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":129538},"packages/core/echo/echo-pipeline/dist/lib/browser/chunk-SJUDZ3CQ.mjs":{"imports":[{"path":"@dxos/node-std/inject-globals","kind":"import-statement","external":true},{"path":"@dxos/hypercore","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/echo/blob","kind":"import-statement","external":true},{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge","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/codec-protobuf","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","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/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/teleport","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","Buffer","CredentialRetrieverExtension","CredentialServerExtension","DataServiceImpl","DocumentsSynchronizer","MOCK_AUTH_PROVIDER","MOCK_AUTH_VERIFIER","MetadataStore","Pipeline","SnapshotManager","SnapshotStore","Space","SpaceManager","SpaceProtocol","SpaceProtocolSession","TimeframeClock","codec","createIdFromSpaceKey","createMappedFeedWriter","hasInvitationExpired","mapFeedIndexesToTimeframe","mapTimeframeToFeedIndexes","startAfter","valueEncoding"],"inputs":{"inject-globals:@inject-globals":{"bytesInOutput":79},"packages/core/echo/echo-pipeline/src/common/codec.ts":{"bytesInOutput":211},"packages/core/echo/echo-pipeline/src/common/feeds.ts":{"bytesInOutput":548},"packages/core/echo/echo-pipeline/src/common/index.ts":{"bytesInOutput":0},"packages/core/echo/echo-pipeline/src/db-host/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/documents-synchronizer.ts":{"bytesInOutput":4206},"packages/core/echo/echo-pipeline/src/db-host/data-service.ts":{"bytesInOutput":2985},"packages/core/echo/echo-pipeline/src/db-host/index.ts":{"bytesInOutput":0},"packages/core/echo/echo-pipeline/src/metadata/metadata-store.ts":{"bytesInOutput":10925},"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":7015},"packages/core/echo/echo-pipeline/src/space/control-pipeline.ts":{"bytesInOutput":8366},"packages/core/echo/echo-pipeline/src/space/admission-discovery-extension.ts":{"bytesInOutput":1992},"packages/core/echo/echo-pipeline/src/space/space-protocol.ts":{"bytesInOutput":7000},"packages/core/echo/echo-pipeline/src/space/space-manager.ts":{"bytesInOutput":5244},"packages/core/echo/echo-pipeline/src/space/index.ts":{"bytesInOutput":0}},"bytes":72444}}}
@@ -7,7 +7,7 @@ import {
7
7
  SpaceManager,
8
8
  SpaceProtocol,
9
9
  valueEncoding
10
- } from "../chunk-DMUP426Q.mjs";
10
+ } from "../chunk-SJUDZ3CQ.mjs";
11
11
 
12
12
  // packages/core/echo/echo-pipeline/src/testing/change-metadata.ts
13
13
  import { log } from "@dxos/log";