Encrypted, ephemeral, private memos on atproto
at main 37 lines 1.0 kB view raw
1import type { Did, Handle } from "@atcute/lexicons"; 2import type { Client, CredentialManager } from "@atcute/client"; 3import type { 4 ComAtprotoRepoCreateRecord, 5 ComAtprotoRepoDeleteRecord, 6 ComAtprotoRepoGetRecord, 7 ComAtprotoRepoListRecords, 8} from "@atcute/atproto"; 9 10export interface MiniDoc { 11 did: Did; 12 handle: Handle; 13 pds: string; 14 signing_key: string; 15} 16 17export interface BaseClientOptions { 18 handle: string; 19 appPassword: string; 20} 21 22export interface XRPCQueries { 23 "com.atproto.repo.getRecord": ComAtprotoRepoGetRecord.mainSchema; 24 "com.atproto.repo.listRecords": ComAtprotoRepoListRecords.mainSchema; 25} 26 27export interface XRPCProcedures { 28 "com.atproto.repo.createRecord": ComAtprotoRepoCreateRecord.mainSchema; 29 "com.atproto.repo.deleteRecord": ComAtprotoRepoDeleteRecord.mainSchema; 30} 31 32export interface ClientRequirements<Options extends BaseClientOptions> { 33 miniDoc: MiniDoc; 34 manager: CredentialManager; 35 rpc: Client<XRPCQueries, XRPCProcedures>; 36 options: Options; 37}