···11+# @cistern/lexicon
22+33+AT Protocol lexicon definitions and TypeScript types for Cistern records.
44+55+## Record Types
66+77+| Collection | Description |
88+|------------|-------------|
99+| `app.cistern.lexicon.pubkey` | Public key records with human-readable names, referenced by items via AT-URI |
1010+| `app.cistern.lexicon.item` | Encrypted item records containing ciphertext, nonce, algorithm metadata, and public key reference |
+34
packages/producer/README.md
···11+# @cistern/producer
22+33+Producer client for creating and encrypting Cistern items.
44+55+## Usage
66+77+```typescript
88+import { createProducer } from "@cistern/producer";
99+1010+const producer = await createProducer({
1111+ handle: "user.bsky.social",
1212+ appPassword: "xxxx-xxxx-xxxx-xxxx",
1313+});
1414+1515+for await (const pubkey of producer.listPublicKeys()) {
1616+ console.log(`${pubkey.name}: ${pubkey.uri}`);
1717+}
1818+1919+producer.selectPublicKey(pubkey);
2020+2121+const itemUri = await producer.createItem("Hello, world!");
2222+```
2323+2424+Or, if you already have a public key record ID:
2525+2626+```typescript
2727+const producer = await createProducer({
2828+ handle: "user.bsky.social",
2929+ appPassword: "xxxx-xxxx-xxxx-xxxx",
3030+ publicKey: "3jzfcijpj2z",
3131+});
3232+3333+const itemUri = await producer.createItem("Hello, world!");
3434+```
+6
packages/shared/README.md
···11+# @cistern/shared
22+33+Shared authentication utilities for Cistern producer and consumer packages.
44+55+Provides DID resolution via Slingshot and authenticated RPC client creation for
66+AT Protocol operations.