add lexicon codegen: vendored lexicons, lex cli and generation scripts

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Samuel Newman
2026-08-03 12:06:59 +03:00
parent a2129885c6
commit a3243820c9
311 changed files with 23342 additions and 14 deletions
@@ -0,0 +1,88 @@
{
"lexicon": 1,
"id": "com.atproto.temp.checkHandleAvailability",
"defs": {
"main": {
"type": "query",
"description": "Checks whether the provided handle is available. If the handle is not available, available suggestions will be returned. Optional inputs will be used to generate suggestions.",
"parameters": {
"type": "params",
"required": ["handle"],
"properties": {
"handle": {
"type": "string",
"format": "handle",
"description": "Tentative handle. Will be checked for availability or used to build handle suggestions."
},
"email": {
"type": "string",
"description": "User-provided email. Might be used to build handle suggestions."
},
"birthDate": {
"type": "string",
"format": "datetime",
"description": "User-provided birth date. Might be used to build handle suggestions."
}
}
},
"output": {
"encoding": "application/json",
"schema": {
"type": "object",
"required": ["handle", "result"],
"properties": {
"handle": {
"type": "string",
"format": "handle",
"description": "Echo of the input handle."
},
"result": {
"type": "union",
"refs": ["#resultAvailable", "#resultUnavailable"]
}
}
}
},
"errors": [
{
"name": "InvalidEmail",
"description": "An invalid email was provided."
}
]
},
"resultAvailable": {
"type": "object",
"description": "Indicates the provided handle is available.",
"properties": {}
},
"resultUnavailable": {
"type": "object",
"description": "Indicates the provided handle is unavailable and gives suggestions of available handles.",
"required": ["suggestions"],
"properties": {
"suggestions": {
"type": "array",
"description": "List of suggested handles based on the provided inputs.",
"items": {
"type": "ref",
"ref": "#suggestion"
}
}
}
},
"suggestion": {
"type": "object",
"required": ["handle", "method"],
"properties": {
"handle": {
"type": "string",
"format": "handle"
},
"method": {
"type": "string",
"description": "Method used to build this suggestion. Should be considered opaque to clients. Can be used for metrics."
}
}
}
}
}
@@ -0,0 +1,22 @@
{
"lexicon": 1,
"id": "com.atproto.temp.checkSignupQueue",
"defs": {
"main": {
"type": "query",
"description": "Check accounts location in signup queue.",
"output": {
"encoding": "application/json",
"schema": {
"type": "object",
"required": ["activated"],
"properties": {
"activated": { "type": "boolean" },
"placeInQueue": { "type": "integer" },
"estimatedTimeMs": { "type": "integer" }
}
}
}
}
}
}