Update public exports and README for Client class
Exports Client, all lower-level modules, and all types from src/index.ts. Replaces Phase 7 (on-disk session persistence) with the Client class phase: session lives in the object, consumer handles persistence via toJSON/fromJSON.
This commit is contained in:
15
README.md
15
README.md
@@ -649,12 +649,17 @@ Phase 6: download
|
||||
- [x] Live integration test: logs in, decrypts collections and files, downloads
|
||||
a real JPEG from the dev account and verifies it on disk
|
||||
|
||||
Phase 7: session persistence
|
||||
Phase 7: Client class
|
||||
|
||||
- [ ] `SessionStore` writing an encrypted session blob with a key from the OS
|
||||
keychain (`keytar`) or a `0600` keyfile fallback
|
||||
- [ ] `Client.fromSavedSession()` and `Client.saveSession()`
|
||||
- [ ] `quack logout` deletes the session and the keychain entry
|
||||
- [x] `Client.login({ email, password, totp?, emailOTP? })` performs the full
|
||||
SRP handshake, key unwrap, returns a ready Client
|
||||
- [x] `Client.fromJSON(snapshot)` restores from a serialized snapshot
|
||||
- [x] `client.toJSON()` produces a `ClientSnapshot` the consumer can persist
|
||||
- [x] `client.whoami()`, `client.logout()`
|
||||
- [x] `client.listCollections()` with decryption
|
||||
- [x] `client.listFiles(collectionID, collectionKey)` with pagination
|
||||
- [x] `client.downloadFile(file, outPath?)` and `client.downloadThumbnail()`
|
||||
- [x] Literate test/client/usage.test.ts tutorial covering the entire API
|
||||
|
||||
Phase 8: CLI
|
||||
|
||||
|
||||
Reference in New Issue
Block a user