Commits
- Session management via com.atproto.server.createSession
- createRecord, putRecord, deleteRecord write operations
- Blob upload support (uploadBlob)
- Auto-load credentials from .env via dotenvy
- Builder-style set_password().login() API
- New example: create_record (CRUD with dummy schema)
- New example: upload_blob (upload + inspect)
- Add features section to readme
- Fix: use POST instead of PUT for putRecord
- Fix: add skip_serializing_if to all fields
- Fix: return Error::Auth instead of panicking on missing password
Walks content block trees (text, headers, sub-pages, facets)
and renders documents with title, date, tags, description,
and structured content blocks including clickable terminal links.
- nsid.rs: Collection trait associating types with their ATProto NSIDs,
plus constants for all site.standard lexicons
- document/publication/subscription/recommend: impl Collection for each type
- Repo: fetch_cursor and fetch_collection_cursor for resuming from a cursor
- Repo: fetch_collection and fetch_all_collection as convenience methods
fetch()/fetch_collection() take no cursor (first page).
fetch_cursor()/fetch_collection_cursor() accept an explicit cursor.
fetch_all()/fetch_all_collection() follow all pages automatically.
Move the separate lexicons crate into src/lexicons/ as a module
within the atcrab crate. Remove the standalone lexicons/ crate.
- basic.rs: handle resolution and document fetch with built-in types
- custom_schema.rs: fetching posts with a user-defined deserializable struct
- pagination.rs: demonstrating fetch() vs fetch_all() cursor-based pagination
- .gitignore: exclude references/ directory
- handle.rs: resolve DID from ATProto handle via DNS TXT or HTTP well-known
- did.rs: resolve PDS endpoint from DID via PLC directory or did:web
- repo.rs: Repo struct with fetch() and fetch_all() for collection queries
- error.rs: unified error type covering HTTP, DNS, JSON, and resolution failures
- types.rs: Record<T> and ListRecords<T> paginated response wrappers
- lib.rs: public API re-exports including the lexicons crate
Mirrors the TypeScript lexicons reference package. Covers all
site.standard record types: document, publication, subscription,
recommend, theme.basic, and theme.color. Includes shared ATProto
types (Blob, StrongRef, SelfLabel).
- Session management via com.atproto.server.createSession
- createRecord, putRecord, deleteRecord write operations
- Blob upload support (uploadBlob)
- Auto-load credentials from .env via dotenvy
- Builder-style set_password().login() API
- New example: create_record (CRUD with dummy schema)
- New example: upload_blob (upload + inspect)
- Add features section to readme
- Fix: use POST instead of PUT for putRecord
- Fix: add skip_serializing_if to all fields
- Fix: return Error::Auth instead of panicking on missing password
- nsid.rs: Collection trait associating types with their ATProto NSIDs,
plus constants for all site.standard lexicons
- document/publication/subscription/recommend: impl Collection for each type
- Repo: fetch_cursor and fetch_collection_cursor for resuming from a cursor
- Repo: fetch_collection and fetch_all_collection as convenience methods
fetch()/fetch_collection() take no cursor (first page).
fetch_cursor()/fetch_collection_cursor() accept an explicit cursor.
fetch_all()/fetch_all_collection() follow all pages automatically.
- handle.rs: resolve DID from ATProto handle via DNS TXT or HTTP well-known
- did.rs: resolve PDS endpoint from DID via PLC directory or did:web
- repo.rs: Repo struct with fetch() and fetch_all() for collection queries
- error.rs: unified error type covering HTTP, DNS, JSON, and resolution failures
- types.rs: Record<T> and ListRecords<T> paginated response wrappers
- lib.rs: public API re-exports including the lexicons crate