Encrypted, ephemeral, private memos on atproto
README.md

@cistern/producer#

Producer client for creating and encrypting Cistern memos.

Usage#

import { createProducer } from "@cistern/producer";

const producer = await createProducer({
  handle: "user.bsky.social",
  appPassword: "xxxx-xxxx-xxxx-xxxx",
});

for await (const pubkey of producer.listPublicKeys()) {
  console.log(`${pubkey.name}: ${pubkey.uri}`);
}

producer.selectPublicKey(pubkey);

const memoUri = await producer.createMemo("Hello, world!");

Or, if you already have a public key record ID:

const producer = await createProducer({
  handle: "user.bsky.social",
  appPassword: "xxxx-xxxx-xxxx-xxxx",
  publicKey: "3jzfcijpj2z",
});

const memoUri = await producer.createMemo("Hello, world!");