Platform-independent CouchDB sync core for MDFriday. Zero hard dependency on Obsidian APIs.
- PouchDB local database management
- CouchDB replication with conflict resolution
- End-to-end encryption (HKDF)
- Content-defined chunking
- Connection monitoring & failure handling
- Hidden file sync support
- Server connectivity checking
This package contains the pure sync logic extracted from the MDFriday Obsidian plugin.
Obsidian-specific APIs are injected via adapters (see src/interfaces/IPluginAdapters.ts).
src/
├── core/ # Pure sync logic (PouchDB, replication, encryption, etc.)
├── features/ # Feature modules (ConnectionMonitor, HiddenFileSync, etc.)
├── interfaces/ # Adapter interfaces (IHttpClient, IDomEventRegistrar, etc.)
└── index.ts # Public API entry point
import type { ISyncCore, IHttpClient, IDomEventRegistrar } from '@mdfriday/sync-core';Apache-2.0