this repo has no description
Implementation TODOs#
Lewis' special big boy todofile
1. Server Infrastructure & Health#
- Health Check
- Implement
GET /healthendpoint (returns "OK").
- Implement
- Server Description
- Implement
com.atproto.server.describeServer(returns available user domains).
- Implement
2. Authentication & Account Management (com.atproto.server)#
-
Account Creation
- Implement
com.atproto.server.createAccount. - Validate handle format (reject invalid characters).
- Create DID for new user.
- Initialize user repository.
- Return access JWT and DID.
- MST stuff I think...
- Implement
-
Session Management
- Implement
com.atproto.server.createSession(Login).- Validate identifier (handle/email) and password.
- Return access JWT, refresh JWT, and DID.
- Implement
com.atproto.server.getSession.- Verify JWT validity.
- Implement
com.atproto.server.refreshSession. - Implement
com.atproto.server.deleteSession(Logout).- Invalidate current session/token.
- Implement
3. Repository Operations (com.atproto.repo)#
- Record CRUD
- Implement
com.atproto.repo.createRecord.- Generate
rkeyif not provided. - Validate schema against Lexicon.
- Handle
swapCommitfor optimistic locking.
- Generate
- Implement
com.atproto.repo.putRecord.- Handle create vs update logic.
- Validate
repomatches authenticated user. - Validate record schema (e.g., missing required fields).
- Implement
com.atproto.repo.getRecord.- Handle missing params (400 Bad Request).
- Handle non-existent record (404 Not Found).
- Implement
com.atproto.repo.deleteRecord. - Implement
com.atproto.repo.listRecords.- Support pagination (
limit,cursor).
- Support pagination (
- Implement
- Blob Management
- Implement
com.atproto.repo.uploadBlob.- Enforce authentication.
- Validate MIME types (reject unsupported).
- Return blob reference (
$link).
- Implement
- Repo Meta
- Implement
com.atproto.repo.describeRepo.
- Implement
4. Actor & Profile (app.bsky.actor)#
- Profile Management
- Implement
app.bsky.actor.getProfile.- Resolve handle to DID.
- Return profile record data.
- Implement
- Discovery
- Implement
app.bsky.actor.searchActors.
- Implement
5. Feed & Timeline (app.bsky.feed)#
- Feed Retrieval
- Implement
app.bsky.feed.getTimeline. - Implement
app.bsky.feed.getAuthorFeed.- Filter by actor.
- Respect mutes (if viewer is authenticated).
- Implement
app.bsky.feed.getPostThread.- Construct thread tree (parents, replies).
- Handle deleted posts (return
notFoundPostview).
- Implement
- Record Types
- Support
app.bsky.feed.postrecord type. - Support
app.bsky.feed.likerecord type. - Support
app.bsky.embed.imagesin posts.
- Support
6. Social Graph (app.bsky.graph)#
- Relationships
- Implement
app.bsky.graph.getFollows. - Implement
app.bsky.graph.getFollowers. - Implement
app.bsky.graph.getMutes. - Implement
app.bsky.graph.getBlocks.
- Implement
- Record Types
- Support
app.bsky.graph.followrecord type. - Support
app.bsky.graph.muterecord type.
- Support
7. Notifications (app.bsky.notification)#
- Notification Management
- Implement
app.bsky.notification.listNotifications.- Aggregate notifications (likes, follows, replies).
- Implement
app.bsky.notification.getUnreadCount.- Track read state.
- Reset count on list/read.
- Implement
8. Identity (com.atproto.identity)#
- Resolution
- Implement
com.atproto.identity.resolveHandle.
- Implement
9. Sync & Federation (com.atproto.sync)#
- Data Export
- Implement
com.atproto.sync.getRepo(Export CAR file). - Implement
com.atproto.sync.getBlocks.
- Implement
10. General Requirements#
- Validation
- Ensure all endpoints validate input parameters.
- Ensure proper error codes (400, 401, 404, 409).
- Concurrency
- Ensure thread safety for repo updates.