pydantic model generator for atproto lexicons
1//! built-in atproto lexicons for resolving external refs
2
3use atrium_lex::LexiconDoc;
4use std::sync::LazyLock;
5
6/// all bundled com.atproto.* lexicons
7static LEXICONS: LazyLock<Vec<LexiconDoc>> = LazyLock::new(|| {
8 let mut docs = Vec::new();
9
10 for json in LEXICON_JSON {
11 if let Ok(doc) = serde_json::from_str::<LexiconDoc>(json) {
12 docs.push(doc);
13 }
14 }
15
16 docs.sort_by(|a, b| a.id.cmp(&b.id));
17 docs
18});
19
20/// get all built-in lexicon documents
21pub fn builtin_lexicons() -> &'static [LexiconDoc] {
22 &LEXICONS
23}
24
25const LEXICON_JSON: &[&str] = &[
26 include_str!("../lexicons/com/atproto/admin/defs.json"),
27 include_str!("../lexicons/com/atproto/admin/deleteAccount.json"),
28 include_str!("../lexicons/com/atproto/admin/disableAccountInvites.json"),
29 include_str!("../lexicons/com/atproto/admin/disableInviteCodes.json"),
30 include_str!("../lexicons/com/atproto/admin/enableAccountInvites.json"),
31 include_str!("../lexicons/com/atproto/admin/getAccountInfo.json"),
32 include_str!("../lexicons/com/atproto/admin/getAccountInfos.json"),
33 include_str!("../lexicons/com/atproto/admin/getInviteCodes.json"),
34 include_str!("../lexicons/com/atproto/admin/getSubjectStatus.json"),
35 include_str!("../lexicons/com/atproto/admin/searchAccounts.json"),
36 include_str!("../lexicons/com/atproto/admin/sendEmail.json"),
37 include_str!("../lexicons/com/atproto/admin/updateAccountEmail.json"),
38 include_str!("../lexicons/com/atproto/admin/updateAccountHandle.json"),
39 include_str!("../lexicons/com/atproto/admin/updateAccountPassword.json"),
40 include_str!("../lexicons/com/atproto/admin/updateSubjectStatus.json"),
41 include_str!("../lexicons/com/atproto/identity/getRecommendedDidCredentials.json"),
42 include_str!("../lexicons/com/atproto/identity/requestPlcOperationSignature.json"),
43 include_str!("../lexicons/com/atproto/identity/resolveHandle.json"),
44 include_str!("../lexicons/com/atproto/identity/signPlcOperation.json"),
45 include_str!("../lexicons/com/atproto/identity/submitPlcOperation.json"),
46 include_str!("../lexicons/com/atproto/identity/updateHandle.json"),
47 include_str!("../lexicons/com/atproto/label/defs.json"),
48 include_str!("../lexicons/com/atproto/label/queryLabels.json"),
49 include_str!("../lexicons/com/atproto/label/subscribeLabels.json"),
50 include_str!("../lexicons/com/atproto/moderation/createReport.json"),
51 include_str!("../lexicons/com/atproto/moderation/defs.json"),
52 include_str!("../lexicons/com/atproto/repo/applyWrites.json"),
53 include_str!("../lexicons/com/atproto/repo/createRecord.json"),
54 include_str!("../lexicons/com/atproto/repo/defs.json"),
55 include_str!("../lexicons/com/atproto/repo/deleteRecord.json"),
56 include_str!("../lexicons/com/atproto/repo/describeRepo.json"),
57 include_str!("../lexicons/com/atproto/repo/getRecord.json"),
58 include_str!("../lexicons/com/atproto/repo/importRepo.json"),
59 include_str!("../lexicons/com/atproto/repo/listMissingBlobs.json"),
60 include_str!("../lexicons/com/atproto/repo/listRecords.json"),
61 include_str!("../lexicons/com/atproto/repo/putRecord.json"),
62 include_str!("../lexicons/com/atproto/repo/strongRef.json"),
63 include_str!("../lexicons/com/atproto/repo/uploadBlob.json"),
64 include_str!("../lexicons/com/atproto/server/activateAccount.json"),
65 include_str!("../lexicons/com/atproto/server/checkAccountStatus.json"),
66 include_str!("../lexicons/com/atproto/server/confirmEmail.json"),
67 include_str!("../lexicons/com/atproto/server/createAccount.json"),
68 include_str!("../lexicons/com/atproto/server/createAppPassword.json"),
69 include_str!("../lexicons/com/atproto/server/createInviteCode.json"),
70 include_str!("../lexicons/com/atproto/server/createInviteCodes.json"),
71 include_str!("../lexicons/com/atproto/server/createSession.json"),
72 include_str!("../lexicons/com/atproto/server/deactivateAccount.json"),
73 include_str!("../lexicons/com/atproto/server/defs.json"),
74 include_str!("../lexicons/com/atproto/server/deleteAccount.json"),
75 include_str!("../lexicons/com/atproto/server/deleteSession.json"),
76 include_str!("../lexicons/com/atproto/server/describeServer.json"),
77 include_str!("../lexicons/com/atproto/server/getAccountInviteCodes.json"),
78 include_str!("../lexicons/com/atproto/server/getServiceAuth.json"),
79 include_str!("../lexicons/com/atproto/server/getSession.json"),
80 include_str!("../lexicons/com/atproto/server/listAppPasswords.json"),
81 include_str!("../lexicons/com/atproto/server/refreshSession.json"),
82 include_str!("../lexicons/com/atproto/server/requestAccountDelete.json"),
83 include_str!("../lexicons/com/atproto/server/requestEmailConfirmation.json"),
84 include_str!("../lexicons/com/atproto/server/requestEmailUpdate.json"),
85 include_str!("../lexicons/com/atproto/server/requestPasswordReset.json"),
86 include_str!("../lexicons/com/atproto/server/reserveSigningKey.json"),
87 include_str!("../lexicons/com/atproto/server/resetPassword.json"),
88 include_str!("../lexicons/com/atproto/server/revokeAppPassword.json"),
89 include_str!("../lexicons/com/atproto/server/updateEmail.json"),
90 include_str!("../lexicons/com/atproto/sync/getBlob.json"),
91 include_str!("../lexicons/com/atproto/sync/getBlocks.json"),
92 include_str!("../lexicons/com/atproto/sync/getCheckout.json"),
93 include_str!("../lexicons/com/atproto/sync/getHead.json"),
94 include_str!("../lexicons/com/atproto/sync/getLatestCommit.json"),
95 include_str!("../lexicons/com/atproto/sync/getRecord.json"),
96 include_str!("../lexicons/com/atproto/sync/getRepo.json"),
97 include_str!("../lexicons/com/atproto/sync/getRepoStatus.json"),
98 include_str!("../lexicons/com/atproto/sync/listBlobs.json"),
99 include_str!("../lexicons/com/atproto/sync/listRepos.json"),
100 include_str!("../lexicons/com/atproto/sync/notifyOfUpdate.json"),
101 include_str!("../lexicons/com/atproto/sync/requestCrawl.json"),
102 include_str!("../lexicons/com/atproto/sync/subscribeRepos.json"),
103 include_str!("../lexicons/com/atproto/temp/addReservedHandle.json"),
104 include_str!("../lexicons/com/atproto/temp/checkSignupQueue.json"),
105 include_str!("../lexicons/com/atproto/temp/fetchLabels.json"),
106 include_str!("../lexicons/com/atproto/temp/requestPhoneVerification.json"),
107];