mirror of
https://github.com/kuhyx/utils.git
synced 2026-11-13 00:30:58 +01:00
Some checks are pending
crdt_sync_dart tests / test (push) Waiting to run
crdt_sync_flutter tests / test (push) Waiting to run
crdt-sync pre-commit / pre-commit (push) Waiting to run
crdt-sync tests / test (push) Waiting to run
dependency freshness / dependencies on newest stable (push) Waiting to run
design_system tests / test (push) Waiting to run
file length / file-length (push) Waiting to run
md-naming / markdown naming convention (push) Waiting to run
palette drift / palette (push) Waiting to run
repo-contract / repo contract (push) Waiting to run
shared gate tests / gate unit tests (push) Waiting to run
sync_settings_ui tests / test (push) Waiting to run
Byte-compatible with crdt_sync_dart 0.14.0, proven by golden vectors in both directions. EncryptingStore, -e2e layout, one-time copy, and open_encrypted_client for the Python daemons. Dev pins bumped. Todo: fda71ed1 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
139 lines
3.1 KiB
Python
139 lines
3.1 KiB
Python
# Copyright (c) 2026 Krzysztof Rudnicki
|
|
"""Shared CRDT merge scheme + pluggable remote sync transports."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from crdt_sync._config import (
|
|
CONFIG_DIR,
|
|
CONFIG_FILE,
|
|
PASSWORD_FILE,
|
|
ConfigError,
|
|
FirebaseConfig,
|
|
credential_store_for,
|
|
firebase_client_for,
|
|
mirror_client_for,
|
|
)
|
|
from crdt_sync._device import DeviceIdentity, load_device_identity
|
|
from crdt_sync._e2e_cipher import (
|
|
E2eCipher,
|
|
E2eDecryptError,
|
|
is_e2e_envelope,
|
|
open_log_text,
|
|
seal_log_text,
|
|
)
|
|
from crdt_sync._e2e_key import (
|
|
Argon2Params,
|
|
E2eHeaderError,
|
|
E2eKey,
|
|
E2eWrongPassphraseError,
|
|
default_e2e_path,
|
|
unlock_e2e,
|
|
)
|
|
from crdt_sync._e2e_store import (
|
|
E2eLayout,
|
|
E2eLockedError,
|
|
EncryptingStore,
|
|
copy_to_encrypted,
|
|
open_encrypted_client,
|
|
reset_e2e_copy_memo,
|
|
)
|
|
from crdt_sync._firebase import (
|
|
DatabaseNotFoundError,
|
|
FirebaseSyncClient,
|
|
FirebaseSyncError,
|
|
)
|
|
from crdt_sync._firebase_auth import (
|
|
CredentialStore,
|
|
FileCredentialStore,
|
|
FirebaseAuthError,
|
|
FirebaseCredentials,
|
|
FirebaseTokenProvider,
|
|
MemoryCredentialStore,
|
|
)
|
|
from crdt_sync._github import GitHubSyncClient, GitHubSyncError, RepoNotFoundError
|
|
from crdt_sync._hlc import Hlc
|
|
from crdt_sync._log import Log, merge_logs
|
|
from crdt_sync._mirror import MirrorSyncClient
|
|
from crdt_sync._record import Field, Record, merge_field, merge_record
|
|
from crdt_sync._remote import RemoteNotFoundError, RemoteStore, RemoteSyncError
|
|
from crdt_sync._store import dump_log, load_log, read_log, write_log
|
|
from crdt_sync._sync import (
|
|
FileSyncStateStore,
|
|
LogCodec,
|
|
MemorySyncStateStore,
|
|
RevisionTracking,
|
|
SyncState,
|
|
SyncStateStore,
|
|
SyncTarget,
|
|
default_revs_path,
|
|
revision_of,
|
|
sync_log,
|
|
)
|
|
|
|
__all__ = [
|
|
"CONFIG_DIR",
|
|
"CONFIG_FILE",
|
|
"PASSWORD_FILE",
|
|
"Argon2Params",
|
|
"ConfigError",
|
|
"CredentialStore",
|
|
"DatabaseNotFoundError",
|
|
"DeviceIdentity",
|
|
"E2eCipher",
|
|
"E2eDecryptError",
|
|
"E2eHeaderError",
|
|
"E2eKey",
|
|
"E2eLayout",
|
|
"E2eLockedError",
|
|
"E2eWrongPassphraseError",
|
|
"EncryptingStore",
|
|
"Field",
|
|
"FileCredentialStore",
|
|
"FileSyncStateStore",
|
|
"FirebaseAuthError",
|
|
"FirebaseConfig",
|
|
"FirebaseCredentials",
|
|
"FirebaseSyncClient",
|
|
"FirebaseSyncError",
|
|
"FirebaseTokenProvider",
|
|
"GitHubSyncClient",
|
|
"GitHubSyncError",
|
|
"Hlc",
|
|
"Log",
|
|
"LogCodec",
|
|
"MemoryCredentialStore",
|
|
"MemorySyncStateStore",
|
|
"MirrorSyncClient",
|
|
"Record",
|
|
"RemoteNotFoundError",
|
|
"RemoteStore",
|
|
"RemoteSyncError",
|
|
"RepoNotFoundError",
|
|
"RevisionTracking",
|
|
"SyncState",
|
|
"SyncStateStore",
|
|
"SyncTarget",
|
|
"copy_to_encrypted",
|
|
"credential_store_for",
|
|
"default_e2e_path",
|
|
"default_revs_path",
|
|
"dump_log",
|
|
"firebase_client_for",
|
|
"is_e2e_envelope",
|
|
"load_device_identity",
|
|
"load_log",
|
|
"merge_field",
|
|
"merge_logs",
|
|
"merge_record",
|
|
"mirror_client_for",
|
|
"open_encrypted_client",
|
|
"open_log_text",
|
|
"read_log",
|
|
"reset_e2e_copy_memo",
|
|
"revision_of",
|
|
"seal_log_text",
|
|
"sync_log",
|
|
"unlock_e2e",
|
|
"write_log",
|
|
]
|