halkyon/packages/halkyon_content/lib/halkyon_content.dart

37 lines
1.8 KiB
Dart
Raw Normal View History

/// What seals and opens a person's synced content, in pure Dart (Halkyon's
/// ADR 0044, D49):
///
/// - **The envelope** every synced row is sealed in (`PayloadEnvelope`, on a
/// `ContentCipher`, ADR 0019): sealed for its table, row and what it belongs
/// to, readable rows signed; a file sealed alike (`SealedFile`, HLKF).
/// - **People's files** on the device and the module's store (`FileCache`,
/// `FileServerGateway`).
/// - **The account's keys**, unlocked (`UnlockedAccountKeys`), and new ones
/// for an account without a password (`newAccountKeys`, an agent's).
/// - **Shared spaces** (ADR 0044): their members and invitations through the
/// module (`SharedSpaceGateway`), and their keys, sealed to each member and
/// held to the public keys first seen (`SharedKeys`, `KeyPins`).
///
/// Rich text (`RichContent`, the editor's document JSON, which
/// halkyon_editor edits and exports) is a library of its own here,
/// `rich_text.dart`. An app takes the rest through halkyon_app, which
/// exports it; Learn's agent takes it directly.
library;
// A member's public keys, as `SharedKeys` and `KeyPins` take them.
export 'package:halkyon_keys/halkyon_keys.dart' show PublicKeys;
export 'src/files/file_cache.dart';
export 'src/files/file_server_gateway.dart';
export 'src/files/serverpod_file_server_gateway.dart';
export 'src/privacy/content_cipher.dart';
export 'src/privacy/new_account_keys.dart';
export 'src/privacy/payload_envelope.dart';
export 'src/privacy/sealed_file.dart';
export 'src/privacy/unlocked_account_keys.dart';
export 'src/shared_space/key_pins.dart';
export 'src/shared_space/serverpod_shared_keys_gateway.dart';
export 'src/shared_space/serverpod_shared_space_gateway.dart';
export 'src/shared_space/shared_keys.dart';
export 'src/shared_space/shared_keys_gateway.dart';
export 'src/shared_space/shared_space_gateway.dart';