export { createShade } from './create-shade.js'; export { Shade } from './shade.js'; export type { ShadeUploadOptions, ShadeWebRtcConfig, ShadeWebRtcRuntime, } from './shade.js'; export { generateThumbnail } from './thumbnail.js'; export type { GeneratedThumbnail, ThumbnailGenerationOptions } from './thumbnail.js'; export { ShadeThumbnailCache } from './thumbnail-cache.js'; export type { ThumbnailHit } from './thumbnail-cache.js'; export { resolveConfig, parseRotationInterval } from './config.js'; export { BackgroundTasks } from './background.js'; export { exportBackup, importBackup, decryptBackup, applyBackupPayload, backupToString, backupFromString, } from './backup.js'; export { FingerprintGateRegistry, } from './gates.js'; export type { FingerprintGate, FingerprintGateContext, FingerprintGateHandler, } from './gates.js'; export type { ShadeConfig, ResolvedConfig, ShadeKTConfig, ResolvedKTConfig } from './config.js'; export type { BackgroundHooks } from './background.js'; export type { BackupBlob, BackupPayload } from './backup.js'; // ─── Stream transfers (v0.2.0) ───────────────────────────── export { ShadeControlChannel, ShadeTransferAuthenticator, canonicalChunkBytes, canonicalControlBytes, } from './streams-bridge.js'; export type { ControlEnvelopeTransport } from './streams-bridge.js'; export { TransferEngine, MemoryControlChannel, MemoryTransferTransport, ShadeTransferHttpTransport, MultiTransportFallback, createTransferRoutes, PermissiveAuthenticator, TransferError, TransferAbortError, TransferIntegrityError, TransferProtocolError, TransferOfflineError, TransferResumeError, } from '@shade/transfer'; export type { NamedTransport } from '@shade/transfer'; export type { TransferOptions, TransferProgress, TransferEvent, TransferHandle, TransferResult, TransferInput, TransferOutput, IncomingTransfer, IncomingTransferAcceptOptions, TransferSummary, TransferRouteOptions, TransferRouteAuthenticator, ITransferTransport, IControlChannel, TransferAuthenticator, ChunkAck, TransferResumeState, LaneProgress, } from '@shade/transfer'; export type { StreamMetadata, StreamFileMetadata, ThumbnailMime, LaneInitSpec, LanePartition, } from '@shade/streams'; export { THUMBNAIL_MAX_BYTES, THUMBNAIL_MIME_ALLOWLIST, isAllowedThumbnailMime, validateFileMetadata, declaresThumbnail, thumbnailStreamIdFor, mainStreamIdForThumbnail, } from '@shade/streams'; // ─── Web Workers crypto (V3.8) ───────────────────────────── export { createWorkerCryptoProvider, WorkerCryptoProvider, WorkerStreamSender, WorkerStreamReceiver, createEncryptStream, createDecryptStream, DEFAULT_STREAM_CHUNK_SIZE, WORKER_PROTOCOL_VERSION, } from '@shade/crypto-web'; export type { WorkerCryptoProviderOptions, WorkerLike, CreateEncryptStreamOptions, CreateDecryptStreamOptions, } from '@shade/crypto-web';