An atproto PDS written in Go
1# Cocoon 2 3> [!WARNING] 4You should not use this PDS. You should not rely on this code as a reference for a PDS implementation. You should not trust this code. Using this PDS implementation may result in data loss, corruption, etc. 5 6Cocoon is a PDS implementation in Go. It is highly experimental, and is not ready for any production use. 7 8### Impmlemented Endpoints 9 10> [!NOTE] 11Just because something is implemented doesn't mean it is finisehd. Tons of these are returning bad errors, don't do validation properly, etc. I'll make a "second pass" checklist at some point to do all of that. 12 13#### Identity 14- [ ] com.atproto.identity.getRecommendedDidCredentials 15- [ ] com.atproto.identity.requestPlcOperationSignature 16- [x] com.atproto.identity.resolveHandle 17- [ ] com.atproto.identity.signPlcOperation 18- [ ] com.atproto.identity.submitPlcOperatioin 19- [x] com.atproto.identity.updateHandle 20 21#### Repo 22- [x] com.atproto.repo.applyWrites 23- [x] com.atproto.repo.createRecord 24- [x] com.atproto.repo.putRecord 25- [x] com.atproto.repo.deleteRecord 26- [x] com.atproto.repo.describeRepo 27- [x] com.atproto.repo.getRecord 28- [ ] com.atproto.repo.importRepo 29- [x] com.atproto.repo.listRecords 30- [ ] com.atproto.repo.listMissingBlobs 31 32#### Server 33- [ ] com.atproto.server.activateAccount 34- [ ] com.atproto.server.checkAccountStatus 35- [x] com.atproto.server.confirmEmail 36- [x] com.atproto.server.createAccount 37- [x] com.atproto.server.createInviteCode 38- [x] com.atproto.server.createInviteCodes 39- [ ] com.atproto.server.deactivateAccount 40- [ ] com.atproto.server.deleteAccount 41- [x] com.atproto.server.deleteSession 42- [x] com.atproto.server.describeServer 43- [ ] com.atproto.server.getAccountInviteCodes 44- [ ] com.atproto.server.getServiceAuth 45- ~[ ] com.atproto.server.listAppPasswords~ - not going to add app passwords 46- [x] com.atproto.server.refreshSession 47- [ ] com.atproto.server.requestAccountDelete 48- [x] com.atproto.server.requestEmailConfirmation 49- [x] com.atproto.server.requestEmailUpdate 50- [x] com.atproto.server.requestPasswordReset 51- [ ] com.atproto.server.reserveSigningKey 52- [x] com.atproto.server.resetPassword 53- ~[ ] com.atproto.server.revokeAppPassword~ - not going to add app passwords 54- [x] com.atproto.server.updateEmail 55 56#### Sync 57- [x] com.atproto.sync.getBlob 58- [x] com.atproto.sync.getBlocks 59- [x] com.atproto.sync.getLatestCommit 60- [x] com.atproto.sync.getRecord 61- [x] com.atproto.sync.getRepoStatus 62- [x] com.atproto.sync.getRepo 63- [x] com.atproto.sync.listBlobs 64- [x] com.atproto.sync.listRepos 65- ~[ ] com.atproto.sync.notifyOfUpdate~ - BGS doesn't even have this implemented lol 66- [x] com.atproto.sync.requestCrawl 67- [x] com.atproto.sync.subscribeRepos 68 69#### Other 70- [ ] com.atproto.label.queryLabels 71- [ ] com.atproto.moderation.createReport 72- [x] app.bsky.actor.getPreferences 73- [x] app.bsky.actor.putPreferences