this repo has no description
1# Implementation TODOs 2 3Lewis' special big boy todofile 4 5## 1. Server Infrastructure & Health 6- [x] Health Check 7 - [x] Implement `GET /health` endpoint (returns "OK"). 8- [x] Server Description 9 - [x] Implement `com.atproto.server.describeServer` (returns available user domains). 10 11## 2. Authentication & Account Management (`com.atproto.server`) 12- [x] Account Creation 13 - [x] Implement `com.atproto.server.createAccount`. 14 - [x] Validate handle format (reject invalid characters). 15 - [x] Create DID for new user. 16 - [x] Initialize user repository. 17 - [x] Return access JWT and DID. 18 - [x] MST stuff I think... 19 20- [x] Session Management 21 - [x] Implement `com.atproto.server.createSession` (Login). 22 - [x] Validate identifier (handle/email) and password. 23 - [x] Return access JWT, refresh JWT, and DID. 24 - [x] Implement `com.atproto.server.getSession`. 25 - [x] Verify JWT validity. 26 - [x] Implement `com.atproto.server.refreshSession`. 27 - [x] Implement `com.atproto.server.deleteSession` (Logout). 28 - [x] Invalidate current session/token. 29 30## 3. Repository Operations (`com.atproto.repo`) 31- [ ] Record CRUD 32 - [ ] Implement `com.atproto.repo.createRecord`. 33 - [ ] Generate `rkey` if not provided. 34 - [ ] Validate schema against Lexicon. 35 - [ ] Handle `swapCommit` for optimistic locking. 36 - [ ] Implement `com.atproto.repo.putRecord`. 37 - [ ] Handle create vs update logic. 38 - [ ] Validate `repo` matches authenticated user. 39 - [ ] Validate record schema (e.g., missing required fields). 40 - [ ] Implement `com.atproto.repo.getRecord`. 41 - [ ] Handle missing params (400 Bad Request). 42 - [ ] Handle non-existent record (404 Not Found). 43 - [ ] Implement `com.atproto.repo.deleteRecord`. 44 - [ ] Implement `com.atproto.repo.listRecords`. 45 - [ ] Support pagination (`limit`, `cursor`). 46- [ ] Blob Management 47 - [ ] Implement `com.atproto.repo.uploadBlob`. 48 - [ ] Enforce authentication. 49 - [ ] Validate MIME types (reject unsupported). 50 - [ ] Return blob reference (`$link`). 51- [ ] Repo Meta 52 - [ ] Implement `com.atproto.repo.describeRepo`. 53 54## 4. Actor & Profile (`app.bsky.actor`) 55- [ ] Profile Management 56 - [ ] Implement `app.bsky.actor.getProfile`. 57 - [ ] Resolve handle to DID. 58 - [ ] Return profile record data. 59- [ ] Discovery 60 - [ ] Implement `app.bsky.actor.searchActors`. 61 62## 5. Feed & Timeline (`app.bsky.feed`) 63- [ ] Feed Retrieval 64 - [ ] Implement `app.bsky.feed.getTimeline`. 65 - [ ] Implement `app.bsky.feed.getAuthorFeed`. 66 - [ ] Filter by actor. 67 - [ ] Respect mutes (if viewer is authenticated). 68 - [ ] Implement `app.bsky.feed.getPostThread`. 69 - [ ] Construct thread tree (parents, replies). 70 - [ ] Handle deleted posts (return `notFoundPost` view). 71- [ ] Record Types 72 - [ ] Support `app.bsky.feed.post` record type. 73 - [ ] Support `app.bsky.feed.like` record type. 74 - [ ] Support `app.bsky.embed.images` in posts. 75 76## 6. Social Graph (`app.bsky.graph`) 77- [ ] Relationships 78 - [ ] Implement `app.bsky.graph.getFollows`. 79 - [ ] Implement `app.bsky.graph.getFollowers`. 80 - [ ] Implement `app.bsky.graph.getMutes`. 81 - [ ] Implement `app.bsky.graph.getBlocks`. 82- [ ] Record Types 83 - [ ] Support `app.bsky.graph.follow` record type. 84 - [ ] Support `app.bsky.graph.mute` record type. 85 86## 7. Notifications (`app.bsky.notification`) 87- [ ] Notification Management 88 - [ ] Implement `app.bsky.notification.listNotifications`. 89 - [ ] Aggregate notifications (likes, follows, replies). 90 - [ ] Implement `app.bsky.notification.getUnreadCount`. 91 - [ ] Track read state. 92 - [ ] Reset count on list/read. 93 94## 8. Identity (`com.atproto.identity`) 95- [ ] Resolution 96 - [ ] Implement `com.atproto.identity.resolveHandle`. 97 98## 9. Sync & Federation (`com.atproto.sync`) 99- [ ] Data Export 100 - [ ] Implement `com.atproto.sync.getRepo` (Export CAR file). 101 - [ ] Implement `com.atproto.sync.getBlocks`. 102 103## 10. General Requirements 104- [ ] Validation 105 - [ ] Ensure all endpoints validate input parameters. 106 - [ ] Ensure proper error codes (400, 401, 404, 409). 107- [ ] Concurrency 108 - [ ] Ensure thread safety for repo updates.