@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.
- package/dist/lib/browser/{chunk-DMUP426Q.mjs → chunk-SJUDZ3CQ.mjs} +383 -186
- package/dist/lib/browser/chunk-SJUDZ3CQ.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +3 -1
- package/dist/lib/browser/index.mjs.map +1 -1
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +1 -1
- package/dist/lib/node/{chunk-NH5WJKOW.cjs → chunk-NLHNTXVQ.cjs} +438 -246
- package/dist/lib/node/chunk-NLHNTXVQ.cjs.map +7 -0
- package/dist/lib/node/index.cjs +27 -25
- package/dist/lib/node/index.cjs.map +1 -1
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/testing/index.cjs +11 -11
- package/dist/types/src/db-host/data-service.d.ts +10 -4
- package/dist/types/src/db-host/data-service.d.ts.map +1 -1
- package/dist/types/src/db-host/documents-synchronizer.d.ts +43 -0
- package/dist/types/src/db-host/documents-synchronizer.d.ts.map +1 -0
- package/dist/types/src/db-host/documents-synchronizer.test.d.ts +2 -0
- package/dist/types/src/db-host/documents-synchronizer.test.d.ts.map +1 -0
- package/dist/types/src/db-host/index.d.ts +1 -0
- package/dist/types/src/db-host/index.d.ts.map +1 -1
- package/package.json +33 -33
- package/src/db-host/data-service.ts +51 -10
- package/src/db-host/documents-synchronizer.test.ts +40 -0
- package/src/db-host/documents-synchronizer.ts +156 -0
- package/src/db-host/index.ts +1 -0
- package/dist/lib/browser/chunk-DMUP426Q.mjs.map +0 -7
- package/dist/lib/node/chunk-NH5WJKOW.cjs.map +0 -7
|
@@ -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": ["import_async", "import_automerge_repo", "import_context", "import_invariant", "import_log", "import_tracing", "import_keys", "import_util", "EchoNetworkAdapter", "NetworkAdapter", "constructor", "_params", "_replicators", "Set", "_connections", "Map", "_lifecycleState", "LifecycleState", "CLOSED", "_connected", "Trigger", "connect", "peerId", "peerMetadata", "wake", "send", "message", "connectionEntry", "get", "targetId", "Error", "writer", "write", "catch", "err", "isOpen", "log", "disconnect", "open", "OPEN", "emit", "network", "close", "replicator", "clear", "whenConnected", "wait", "timeout", "addReplicator", "invariant", "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", "synchronized", "dxos_peerSource", "isEchoPeerMetadata", "metadata", "HeadsStore", "db", "_db", "setHeads", "documentId", "heads", "batch", "put", "sublevel", "keyEncoding", "valueEncoding", "headsEncoding", "getHeads", "notFound", "undefined", "LevelDBStorageAdapter", "Resource", "load", "keyArray", "encodingOptions", "isLevelDbNotFoundError", "save", "binary", "callbacks", "beforeSave", "path", "Buffer", "from", "afterSave", "remove", "del", "loadRange", "keyPrefix", "result", "key", "iterator", "gte", "lte", "push", "data", "removeRange", "keyEncoder", "encode", "map", "k", "replaceAll", "join", "decode", "toString", "split", "format", "code", "LocalHostNetworkAdapter", "_peers", "_isConnected", "ready", "peer", "forEach", "syncRepo", "id", "syncMessage", "_getPeerId", "Stream", "next", "connected", "cbor", "sendSyncMessage", "getHostInfo", "AutomergeHost", "indexMetadataStore", "_echoNetworkAdapter", "_getContainingSpaceForDocument", "_storage", "_beforeSave", "_afterSave", "_headsStore", "_indexMetadataStore", "_open", "_peerId", "PublicKey", "random", "toHex", "_clientNetwork", "_repo", "Repo", "sharePolicy", "_sharePolicy", "storage", "_close", "_ctx", "dispose", "repo", "loadedDocsCount", "Object", "keys", "handles", "length", "loadDoc", "ctx", "opts", "handle", "find", "isReady", "cancelWithContext", "whenReady", "asyncTimeout", "createDoc", "initialValue", "preserveHistory", "isAutomerge", "TypeError", "import", "create", "waitUntilHeadsReplicated", "Promise", "all", "entries", "currentHeads", "headsEquals", "Context", "default", "waitForHeads", "flush", "reIndexHeads", "documentIds", "info", "inState", "warn", "doc", "docSync", "startsWith", "peerMetadataByPeerId", "spaceKey", "getSpaceKeyFromDoc", "objectIds", "objects", "encodedIds", "objectId", "objectPointerCodec", "idToLastHash", "markDirty", "notifyMarkedDirty", "_automergeDocs", "mapValues", "state", "hasDoc", "automerge", "_automergePeers", "peers", "spaceKeyHex", "states", "request", "trace", "depth", "span", "showInBrowserTimeline", "resource", "rawSpaceKey", "access", "experimental_spaceKey", "String", "unavailableHeads", "Event", "wrap", "waitForCondition", "changeHash", "values", "changeIsPresentInDoc", "size", "getBackend", "getChangeByHash", "AutomergeDocumentLoaderImpl", "_spaceId", "_spaceKey", "_spaceRootDocHandle", "_objectDocumentHandles", "_objectsPendingDocumentLoad", "onObjectDocumentLoaded", "getAllHandles", "loadSpaceRootDocHandle", "spaceState", "rootUrl", "existingDocHandle", "_initDocHandle", "version", "SpaceDocVersion", "CURRENT", "_initDocAccess", "loadObjectDocument", "objectIdOrMany", "Array", "isArray", "hasUrlsToLoad", "urlsToLoad", "spaceRootDoc", "documentUrl", "links", "_loadLinkedObjects", "getObjectDocumentId", "interpretAsDocumentId", "onObjectLinksUpdated", "linksAwaitingLoad", "filter", "fromEntries", "getSpaceRootDocHandle", "createDocumentForObject", "spaceDocHandle", "onObjectBoundToDocument", "change", "newDoc", "url", "clearHandleReferences", "objectsWithHandles", "automergeUrl", "logMeta", "objectDocumentHandle", "actualDocumentUrl", "debug", "_createObjectOnDocumentLoad", "docHandle", "warnAfterTimeout", "includes", "docUrl", "listenerCount", "objectDocHandle", "shouldRetryLoading", "retryLoading", "DEFAULT_FACTORY", "AutomergeReplicator", "MeshReplicatorConnection", "remoteDeviceKey", "_remotePeerId", "_isEnabled", "readableStreamController", "ReadableStream", "start", "controller", "onDispose", "WritableStream", "replicatorExtension", "payload", "error", "_disconnectIfEnabled", "createAutomergeReplicator", "replicatorFactory", "ownPeerId", "onStartReplication", "remotePeerId", "thisPeerId", "onRemoteConnected", "onSyncMessage", "enqueue", "onClose", "onRemoteDisconnected", "enable", "disable", "MeshEchoReplicator", "ComplexMap", "hash", "_context", "context", "_connectionsPerPeer", "createExtension", "extensionFactory", "authorizedDevices", "_authorizedDevices", "isAuthorized", "localPeer", "remotePeer", "deviceKey", "authorizeDevice", "defaultMap", "ComplexSet", "equals"]
|
|
7
7
|
}
|
package/dist/lib/node/meta.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"packages/core/echo/echo-pipeline/src/common/codec.ts":{"bytes":1690,"imports":[{"path":"@dxos/hypercore","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/common/feeds.ts":{"bytes":2202,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/common/index.ts":{"bytes":585,"imports":[{"path":"packages/core/echo/echo-pipeline/src/common/codec.ts","kind":"import-statement","original":"./codec"},{"path":"packages/core/echo/echo-pipeline/src/common/feeds.ts","kind":"import-statement","original":"./feeds"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/db-host/snapshot-manager.ts":{"bytes":6468,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/echo/blob","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/db-host/snapshot-store.ts":{"bytes":6171,"imports":[{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/db-host/data-service.ts":{"bytes":7700,"imports":[],"format":"esm"},"packages/core/echo/echo-pipeline/src/db-host/index.ts":{"bytes":742,"imports":[{"path":"packages/core/echo/echo-pipeline/src/db-host/snapshot-manager.ts","kind":"import-statement","original":"./snapshot-manager"},{"path":"packages/core/echo/echo-pipeline/src/db-host/snapshot-store.ts","kind":"import-statement","original":"./snapshot-store"},{"path":"packages/core/echo/echo-pipeline/src/db-host/data-service.ts","kind":"import-statement","original":"./data-service"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/metadata/metadata-store.ts":{"bytes":40132,"imports":[{"path":"crc-32","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/metadata/index.ts":{"bytes":531,"imports":[{"path":"packages/core/echo/echo-pipeline/src/metadata/metadata-store.ts","kind":"import-statement","original":"./metadata-store"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/pipeline/message-selector.ts":{"bytes":3861,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/pipeline/timeframe-clock.ts":{"bytes":9762,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/timeframe","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/pipeline/pipeline.ts":{"bytes":47570,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/feed-store","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/timeframe","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/pipeline/message-selector.ts","kind":"import-statement","original":"./message-selector"},{"path":"packages/core/echo/echo-pipeline/src/pipeline/timeframe-clock.ts","kind":"import-statement","original":"./timeframe-clock"},{"path":"packages/core/echo/echo-pipeline/src/common/index.ts","kind":"import-statement","original":"../common"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/pipeline/index.ts":{"bytes":707,"imports":[{"path":"packages/core/echo/echo-pipeline/src/pipeline/pipeline.ts","kind":"import-statement","original":"./pipeline"},{"path":"packages/core/echo/echo-pipeline/src/pipeline/timeframe-clock.ts","kind":"import-statement","original":"./timeframe-clock"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/auth.ts":{"bytes":10731,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/teleport","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/control-pipeline.ts":{"bytes":29988,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/credentials","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/halo/credentials","kind":"import-statement","external":true},{"path":"@dxos/timeframe","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/pipeline/index.ts","kind":"import-statement","original":"../pipeline"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/space.ts":{"bytes":26184,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/halo/credentials","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/space/control-pipeline.ts","kind":"import-statement","original":"./control-pipeline"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/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}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/space-protocol.ts":{"bytes":27067,"imports":[{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/network-manager","kind":"import-statement","external":true},{"path":"@dxos/teleport","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-object-sync","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-replicator","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/space/auth.ts","kind":"import-statement","original":"./auth"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/space-manager.ts":{"bytes":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"}],"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"}],"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}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/heads-store.ts":{"bytes":3379,"imports":[{"path":"@dxos/indexing","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/leveldb-storage-adapter.ts":{"bytes":11789,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/local-host-network-adapter.ts":{"bytes":11950,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge-repo","kind":"import-statement","external":true},{"path":"@dxos/codec-protobuf","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/automerge-host.ts":{"bytes":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"}],"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}],"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}],"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"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/echo-replicator.ts":{"bytes":2356,"imports":[],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/index.ts":{"bytes":1140,"imports":[{"path":"packages/core/echo/echo-pipeline/src/automerge/automerge-host.ts","kind":"import-statement","original":"./automerge-host"},{"path":"packages/core/echo/echo-pipeline/src/automerge/automerge-doc-loader.ts","kind":"import-statement","original":"./automerge-doc-loader"},{"path":"packages/core/echo/echo-pipeline/src/automerge/leveldb-storage-adapter.ts","kind":"import-statement","original":"./leveldb-storage-adapter"},{"path":"packages/core/echo/echo-pipeline/src/automerge/local-host-network-adapter.ts","kind":"import-statement","original":"./local-host-network-adapter"},{"path":"packages/core/echo/echo-pipeline/src/automerge/mesh-echo-replicator.ts","kind":"import-statement","original":"./mesh-echo-replicator"},{"path":"packages/core/echo/echo-pipeline/src/automerge/echo-replicator.ts","kind":"import-statement","original":"./echo-replicator"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/index.ts":{"bytes":939,"imports":[{"path":"packages/core/echo/echo-pipeline/src/common/index.ts","kind":"import-statement","original":"./common"},{"path":"packages/core/echo/echo-pipeline/src/db-host/index.ts","kind":"import-statement","original":"./db-host"},{"path":"packages/core/echo/echo-pipeline/src/metadata/index.ts","kind":"import-statement","original":"./metadata"},{"path":"packages/core/echo/echo-pipeline/src/pipeline/index.ts","kind":"import-statement","original":"./pipeline"},{"path":"packages/core/echo/echo-pipeline/src/space/index.ts","kind":"import-statement","original":"./space"},{"path":"packages/core/echo/echo-pipeline/src/automerge/index.ts","kind":"import-statement","original":"./automerge"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/testing/change-metadata.ts":{"bytes":3654,"imports":[{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/metadata/index.ts","kind":"import-statement","original":"../metadata"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/testing/test-feed-builder.ts":{"bytes":1518,"imports":[{"path":"@dxos/feed-store/testing","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/common/index.ts","kind":"import-statement","original":"../common"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/testing/test-agent-builder.ts":{"bytes":29258,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/credentials","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/messaging","kind":"import-statement","external":true},{"path":"@dxos/network-manager","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/halo/credentials","kind":"import-statement","external":true},{"path":"@dxos/random-access-storage","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-gossip","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-object-sync","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/testing/test-feed-builder.ts","kind":"import-statement","original":"./test-feed-builder"},{"path":"packages/core/echo/echo-pipeline/src/db-host/index.ts","kind":"import-statement","original":"../db-host"},{"path":"packages/core/echo/echo-pipeline/src/metadata/index.ts","kind":"import-statement","original":"../metadata"},{"path":"packages/core/echo/echo-pipeline/src/space/index.ts","kind":"import-statement","original":"../space"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/testing/test-network-adapter.ts":{"bytes":7559,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge-repo","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/testing/index.ts":{"bytes":878,"imports":[{"path":"packages/core/echo/echo-pipeline/src/testing/change-metadata.ts","kind":"import-statement","original":"./change-metadata"},{"path":"packages/core/echo/echo-pipeline/src/testing/test-agent-builder.ts","kind":"import-statement","original":"./test-agent-builder"},{"path":"packages/core/echo/echo-pipeline/src/testing/test-feed-builder.ts","kind":"import-statement","original":"./test-feed-builder"},{"path":"packages/core/echo/echo-pipeline/src/testing/test-network-adapter.ts","kind":"import-statement","original":"./test-network-adapter"}],"format":"esm"}},"outputs":{"packages/core/echo/echo-pipeline/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":76555},"packages/core/echo/echo-pipeline/dist/lib/node/index.cjs":{"imports":[{"path":"packages/core/echo/echo-pipeline/dist/lib/node/chunk-NH5WJKOW.cjs","kind":"import-statement"},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge-repo","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/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":45369},"packages/core/echo/echo-pipeline/dist/lib/node/testing/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":20640},"packages/core/echo/echo-pipeline/dist/lib/node/testing/index.cjs":{"imports":[{"path":"packages/core/echo/echo-pipeline/dist/lib/node/chunk-NH5WJKOW.cjs","kind":"import-statement"},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/credentials","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/messaging","kind":"import-statement","external":true},{"path":"@dxos/network-manager","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/halo/credentials","kind":"import-statement","external":true},{"path":"@dxos/random-access-storage","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-gossip","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-object-sync","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/feed-store/testing","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge-repo","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["MemoryNetworkManagerProvider","TestAdapter","TestAgent","TestAgentBuilder","TestFeedBuilder","WebsocketNetworkManagerProvider","changeStorageVersionInMetadata"],"entryPoint":"packages/core/echo/echo-pipeline/src/testing/index.ts","inputs":{"packages/core/echo/echo-pipeline/src/testing/change-metadata.ts":{"bytesInOutput":843},"packages/core/echo/echo-pipeline/src/testing/index.ts":{"bytesInOutput":0},"packages/core/echo/echo-pipeline/src/testing/test-agent-builder.ts":{"bytesInOutput":6630},"packages/core/echo/echo-pipeline/src/testing/test-feed-builder.ts":{"bytesInOutput":171},"packages/core/echo/echo-pipeline/src/testing/test-network-adapter.ts":{"bytesInOutput":2248}},"bytes":10627},"packages/core/echo/echo-pipeline/dist/lib/node/chunk-NH5WJKOW.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":118267},"packages/core/echo/echo-pipeline/dist/lib/node/chunk-NH5WJKOW.cjs":{"imports":[{"path":"@dxos/hypercore","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/echo/blob","kind":"import-statement","external":true},{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"crc-32","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/timeframe","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/feed-store","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/timeframe","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/teleport","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/halo/credentials","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/credentials","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/halo/credentials","kind":"import-statement","external":true},{"path":"@dxos/timeframe","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/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","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":{"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":66197}}}
|
|
1
|
+
{"inputs":{"packages/core/echo/echo-pipeline/src/common/codec.ts":{"bytes":1690,"imports":[{"path":"@dxos/hypercore","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/common/feeds.ts":{"bytes":2202,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/common/index.ts":{"bytes":585,"imports":[{"path":"packages/core/echo/echo-pipeline/src/common/codec.ts","kind":"import-statement","original":"./codec"},{"path":"packages/core/echo/echo-pipeline/src/common/feeds.ts","kind":"import-statement","original":"./feeds"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/db-host/snapshot-manager.ts":{"bytes":6468,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/echo/blob","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/db-host/snapshot-store.ts":{"bytes":6171,"imports":[{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/db-host/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}],"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"}],"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"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/metadata/metadata-store.ts":{"bytes":40132,"imports":[{"path":"crc-32","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/metadata/index.ts":{"bytes":531,"imports":[{"path":"packages/core/echo/echo-pipeline/src/metadata/metadata-store.ts","kind":"import-statement","original":"./metadata-store"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/pipeline/message-selector.ts":{"bytes":3861,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/pipeline/timeframe-clock.ts":{"bytes":9762,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/timeframe","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/pipeline/pipeline.ts":{"bytes":47570,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/feed-store","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/timeframe","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/pipeline/message-selector.ts","kind":"import-statement","original":"./message-selector"},{"path":"packages/core/echo/echo-pipeline/src/pipeline/timeframe-clock.ts","kind":"import-statement","original":"./timeframe-clock"},{"path":"packages/core/echo/echo-pipeline/src/common/index.ts","kind":"import-statement","original":"../common"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/pipeline/index.ts":{"bytes":707,"imports":[{"path":"packages/core/echo/echo-pipeline/src/pipeline/pipeline.ts","kind":"import-statement","original":"./pipeline"},{"path":"packages/core/echo/echo-pipeline/src/pipeline/timeframe-clock.ts","kind":"import-statement","original":"./timeframe-clock"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/auth.ts":{"bytes":10731,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/teleport","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/control-pipeline.ts":{"bytes":29988,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/credentials","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/halo/credentials","kind":"import-statement","external":true},{"path":"@dxos/timeframe","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/pipeline/index.ts","kind":"import-statement","original":"../pipeline"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/space.ts":{"bytes":26184,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/halo/credentials","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/space/control-pipeline.ts","kind":"import-statement","original":"./control-pipeline"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/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}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/space-protocol.ts":{"bytes":27067,"imports":[{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/network-manager","kind":"import-statement","external":true},{"path":"@dxos/teleport","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-object-sync","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-replicator","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/space/auth.ts","kind":"import-statement","original":"./auth"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/space/space-manager.ts":{"bytes":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"}],"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"}],"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}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/heads-store.ts":{"bytes":3379,"imports":[{"path":"@dxos/indexing","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/leveldb-storage-adapter.ts":{"bytes":11789,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/local-host-network-adapter.ts":{"bytes":11950,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge-repo","kind":"import-statement","external":true},{"path":"@dxos/codec-protobuf","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/automerge-host.ts":{"bytes":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"}],"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}],"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}],"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"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/echo-replicator.ts":{"bytes":2356,"imports":[],"format":"esm"},"packages/core/echo/echo-pipeline/src/automerge/index.ts":{"bytes":1140,"imports":[{"path":"packages/core/echo/echo-pipeline/src/automerge/automerge-host.ts","kind":"import-statement","original":"./automerge-host"},{"path":"packages/core/echo/echo-pipeline/src/automerge/automerge-doc-loader.ts","kind":"import-statement","original":"./automerge-doc-loader"},{"path":"packages/core/echo/echo-pipeline/src/automerge/leveldb-storage-adapter.ts","kind":"import-statement","original":"./leveldb-storage-adapter"},{"path":"packages/core/echo/echo-pipeline/src/automerge/local-host-network-adapter.ts","kind":"import-statement","original":"./local-host-network-adapter"},{"path":"packages/core/echo/echo-pipeline/src/automerge/mesh-echo-replicator.ts","kind":"import-statement","original":"./mesh-echo-replicator"},{"path":"packages/core/echo/echo-pipeline/src/automerge/echo-replicator.ts","kind":"import-statement","original":"./echo-replicator"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/index.ts":{"bytes":939,"imports":[{"path":"packages/core/echo/echo-pipeline/src/common/index.ts","kind":"import-statement","original":"./common"},{"path":"packages/core/echo/echo-pipeline/src/db-host/index.ts","kind":"import-statement","original":"./db-host"},{"path":"packages/core/echo/echo-pipeline/src/metadata/index.ts","kind":"import-statement","original":"./metadata"},{"path":"packages/core/echo/echo-pipeline/src/pipeline/index.ts","kind":"import-statement","original":"./pipeline"},{"path":"packages/core/echo/echo-pipeline/src/space/index.ts","kind":"import-statement","original":"./space"},{"path":"packages/core/echo/echo-pipeline/src/automerge/index.ts","kind":"import-statement","original":"./automerge"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/testing/change-metadata.ts":{"bytes":3654,"imports":[{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/metadata/index.ts","kind":"import-statement","original":"../metadata"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/testing/test-feed-builder.ts":{"bytes":1518,"imports":[{"path":"@dxos/feed-store/testing","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/common/index.ts","kind":"import-statement","original":"../common"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/testing/test-agent-builder.ts":{"bytes":29258,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/credentials","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/messaging","kind":"import-statement","external":true},{"path":"@dxos/network-manager","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/halo/credentials","kind":"import-statement","external":true},{"path":"@dxos/random-access-storage","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-gossip","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-object-sync","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-pipeline/src/testing/test-feed-builder.ts","kind":"import-statement","original":"./test-feed-builder"},{"path":"packages/core/echo/echo-pipeline/src/db-host/index.ts","kind":"import-statement","original":"../db-host"},{"path":"packages/core/echo/echo-pipeline/src/metadata/index.ts","kind":"import-statement","original":"../metadata"},{"path":"packages/core/echo/echo-pipeline/src/space/index.ts","kind":"import-statement","original":"../space"}],"format":"esm"},"packages/core/echo/echo-pipeline/src/testing/test-network-adapter.ts":{"bytes":7559,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge-repo","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-pipeline/src/testing/index.ts":{"bytes":878,"imports":[{"path":"packages/core/echo/echo-pipeline/src/testing/change-metadata.ts","kind":"import-statement","original":"./change-metadata"},{"path":"packages/core/echo/echo-pipeline/src/testing/test-agent-builder.ts","kind":"import-statement","original":"./test-agent-builder"},{"path":"packages/core/echo/echo-pipeline/src/testing/test-feed-builder.ts","kind":"import-statement","original":"./test-feed-builder"},{"path":"packages/core/echo/echo-pipeline/src/testing/test-network-adapter.ts","kind":"import-statement","original":"./test-network-adapter"}],"format":"esm"}},"outputs":{"packages/core/echo/echo-pipeline/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":76556},"packages/core/echo/echo-pipeline/dist/lib/node/index.cjs":{"imports":[{"path":"packages/core/echo/echo-pipeline/dist/lib/node/chunk-NLHNTXVQ.cjs","kind":"import-statement"},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge-repo","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/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":45419},"packages/core/echo/echo-pipeline/dist/lib/node/testing/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":20640},"packages/core/echo/echo-pipeline/dist/lib/node/testing/index.cjs":{"imports":[{"path":"packages/core/echo/echo-pipeline/dist/lib/node/chunk-NLHNTXVQ.cjs","kind":"import-statement"},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/credentials","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/messaging","kind":"import-statement","external":true},{"path":"@dxos/network-manager","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/halo/credentials","kind":"import-statement","external":true},{"path":"@dxos/random-access-storage","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-gossip","kind":"import-statement","external":true},{"path":"@dxos/teleport-extension-object-sync","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/feed-store/testing","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/automerge/automerge-repo","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["MemoryNetworkManagerProvider","TestAdapter","TestAgent","TestAgentBuilder","TestFeedBuilder","WebsocketNetworkManagerProvider","changeStorageVersionInMetadata"],"entryPoint":"packages/core/echo/echo-pipeline/src/testing/index.ts","inputs":{"packages/core/echo/echo-pipeline/src/testing/change-metadata.ts":{"bytesInOutput":843},"packages/core/echo/echo-pipeline/src/testing/index.ts":{"bytesInOutput":0},"packages/core/echo/echo-pipeline/src/testing/test-agent-builder.ts":{"bytesInOutput":6630},"packages/core/echo/echo-pipeline/src/testing/test-feed-builder.ts":{"bytesInOutput":171},"packages/core/echo/echo-pipeline/src/testing/test-network-adapter.ts":{"bytesInOutput":2248}},"bytes":10627},"packages/core/echo/echo-pipeline/dist/lib/node/chunk-NLHNTXVQ.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":129529},"packages/core/echo/echo-pipeline/dist/lib/node/chunk-NLHNTXVQ.cjs":{"imports":[{"path":"@dxos/hypercore","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/echo/blob","kind":"import-statement","external":true},{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@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","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":{"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":72286}}}
|
|
@@ -27,7 +27,7 @@ __export(testing_exports, {
|
|
|
27
27
|
changeStorageVersionInMetadata: () => changeStorageVersionInMetadata
|
|
28
28
|
});
|
|
29
29
|
module.exports = __toCommonJS(testing_exports);
|
|
30
|
-
var
|
|
30
|
+
var import_chunk_NLHNTXVQ = require("../chunk-NLHNTXVQ.cjs");
|
|
31
31
|
var import_log = require("@dxos/log");
|
|
32
32
|
var import_protocols = require("@dxos/protocols");
|
|
33
33
|
var import_context = require("@dxos/context");
|
|
@@ -54,7 +54,7 @@ var changeStorageVersionInMetadata = async (storage, version) => {
|
|
|
54
54
|
S: void 0,
|
|
55
55
|
C: (f, a) => f(...a)
|
|
56
56
|
});
|
|
57
|
-
const metadata = new
|
|
57
|
+
const metadata = new import_chunk_NLHNTXVQ.MetadataStore(storage.createDirectory("metadata"));
|
|
58
58
|
await metadata.load();
|
|
59
59
|
const echoMetadata = metadata.metadata;
|
|
60
60
|
echoMetadata.version = version;
|
|
@@ -65,7 +65,7 @@ var changeStorageVersionInMetadata = async (storage, version) => {
|
|
|
65
65
|
var TestFeedBuilder = class extends import_testing.TestBuilder {
|
|
66
66
|
constructor() {
|
|
67
67
|
super({
|
|
68
|
-
valueEncoding:
|
|
68
|
+
valueEncoding: import_chunk_NLHNTXVQ.valueEncoding
|
|
69
69
|
});
|
|
70
70
|
}
|
|
71
71
|
};
|
|
@@ -110,10 +110,10 @@ var TestAgentBuilder = class {
|
|
|
110
110
|
};
|
|
111
111
|
var TestAgent = class {
|
|
112
112
|
get metadataStore() {
|
|
113
|
-
return this._metadataStore ??= new
|
|
113
|
+
return this._metadataStore ??= new import_chunk_NLHNTXVQ.MetadataStore(this.storage.createDirectory("metadata"));
|
|
114
114
|
}
|
|
115
115
|
get snapshotStore() {
|
|
116
|
-
return this._snapshotStore ??= new
|
|
116
|
+
return this._snapshotStore ??= new import_chunk_NLHNTXVQ.SnapshotStore(this.storage.createDirectory("snapshots"));
|
|
117
117
|
}
|
|
118
118
|
get blobStore() {
|
|
119
119
|
return this._blobStore ??= new import_teleport_extension_object_sync.BlobStore(this.storage.createDirectory("blobs"));
|
|
@@ -140,7 +140,7 @@ var TestAgent = class {
|
|
|
140
140
|
return this._spaces.get(spaceKey);
|
|
141
141
|
}
|
|
142
142
|
get spaceManager() {
|
|
143
|
-
return this._spaceManager ??= new
|
|
143
|
+
return this._spaceManager ??= new import_chunk_NLHNTXVQ.SpaceManager({
|
|
144
144
|
feedStore: this.feedStore,
|
|
145
145
|
networkManager: this._networkManagerProvider(),
|
|
146
146
|
metadataStore: this.metadataStore,
|
|
@@ -177,8 +177,8 @@ var TestAgent = class {
|
|
|
177
177
|
metadata,
|
|
178
178
|
swarmIdentity: {
|
|
179
179
|
peerKey: this.deviceKey,
|
|
180
|
-
credentialProvider:
|
|
181
|
-
credentialAuthenticator:
|
|
180
|
+
credentialProvider: import_chunk_NLHNTXVQ.MOCK_AUTH_PROVIDER,
|
|
181
|
+
credentialAuthenticator: import_chunk_NLHNTXVQ.MOCK_AUTH_VERIFIER
|
|
182
182
|
},
|
|
183
183
|
memberKey: identityKey,
|
|
184
184
|
onAuthorizedConnection: (session) => {
|
|
@@ -201,12 +201,12 @@ var TestAgent = class {
|
|
|
201
201
|
return space;
|
|
202
202
|
}
|
|
203
203
|
createSpaceProtocol(topic, gossip) {
|
|
204
|
-
return new
|
|
204
|
+
return new import_chunk_NLHNTXVQ.SpaceProtocol({
|
|
205
205
|
topic,
|
|
206
206
|
swarmIdentity: {
|
|
207
207
|
peerKey: this.deviceKey,
|
|
208
|
-
credentialProvider:
|
|
209
|
-
credentialAuthenticator:
|
|
208
|
+
credentialProvider: import_chunk_NLHNTXVQ.MOCK_AUTH_PROVIDER,
|
|
209
|
+
credentialAuthenticator: import_chunk_NLHNTXVQ.MOCK_AUTH_VERIFIER
|
|
210
210
|
},
|
|
211
211
|
networkManager: this._networkManagerProvider(),
|
|
212
212
|
blobStore: this.blobStore,
|