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- [ ] 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- [ ] com.atproto.server.deactivateAccount
38- [ ] com.atproto.server.deleteAccount
39- [x] com.atproto.server.deleteSession
40- [x] com.atproto.server.describeServer
41- [ ] com.atproto.server.getAccountInviteCodes
42- [ ] com.atproto.server.getServiceAuth
43- ~[ ] com.atproto.server.listAppPasswords~ - not going to add app passwords
44- [x] com.atproto.server.refreshSession
45- [ ] com.atproto.server.requestAccountDelete
46- [x] com.atproto.server.requestEmailConfirmation
47- [x] com.atproto.server.requestEmailUpdate
48- [x] com.atproto.server.requestPasswordReset
49- [ ] com.atproto.server.reserveSigningKey
50- [x] com.atproto.server.resetPassword
51- ~[ ] com.atproto.server.revokeAppPassword~ - not going to add app passwords
52- [x] com.atproto.server.updateEmail
53
54#### Sync
55- [x] com.atproto.sync.getBlob
56- [x] com.atproto.sync.getBlocks
57- [x] com.atproto.sync.getLatestCommit
58- [x] com.atproto.sync.getRecord
59- [x] com.atproto.sync.getRepoStatus
60- [x] com.atproto.sync.getRepo
61- [x] com.atproto.sync.listBlobs
62- [x] com.atproto.sync.listRepos
63- ~[ ] com.atproto.sync.notifyOfUpdate~ - BGS doesn't even have this implemented lol
64- [x] com.atproto.sync.requestCrawl
65- [x] com.atproto.sync.subscribeRepos
66
67#### Other
68- [ ] com.atproto.label.queryLabels
69- [ ] com.atproto.moderation.createReport
70- [x] app.bsky.actor.getPreferences
71- [x] app.bsky.actor.putPreferences