diff --git a/lexicons/com/atproto/sync/subscribeRepos.json b/lexicons/com/atproto/sync/subscribeRepos.json index 5abf47cc2..0edec94ba 100644 --- a/lexicons/com/atproto/sync/subscribeRepos.json +++ b/lexicons/com/atproto/sync/subscribeRepos.json @@ -22,7 +22,8 @@ "#sync", "#identity", "#account", - "#info" + "#info", + "org.tangled.git.pushEvent" ] } }, diff --git a/lexicons/org/tangled/git/pushEvent.json b/lexicons/org/tangled/git/pushEvent.json new file mode 100644 index 000000000..5507c35a0 --- /dev/null +++ b/lexicons/org/tangled/git/pushEvent.json @@ -0,0 +1,73 @@ +{ + "lexicon": 1, + "id": "org.tangled.git.pushEvent", + "defs": { + "main": { + "type": "object", + "description": "Represents git-push operation to target repository.", + "required": [ + "seq", + "repo", + "pusher", + "edits", + "time", + "sig" + ], + "properties": { + "seq": { + "type": "integer", + "description": "The stream sequence number of this message." + }, + "repo": { + "type": "string", + "format": "did", + "description": "The repo this event comes from." + }, + "pusher": { + "type": "string", + "format": "did", + "description": "The account that performed this push." + }, + "edits": { + "type": "array", + "items": { + "type": "ref", + "ref": "#refEdit", + "description": "List of git reference update operations in this push." + }, + "maxLength": 200 + }, + "time": { + "type": "string", + "format": "datetime", + "description": "Timestamp of when this message was originally broadcast." + }, + "options": { + "type": "array", + "description": "Git push options.", + "items": { + "type": "string", + "maxLength": 1024, + "description": "Git push option." + }, + "maxLength": 10 + }, + "sig": { + "type": "bytes", + "description": "Signature over ctx (seq, repo/pusher DID, edits, time, options) by the repo's atproto signing key." + } + } + }, + "refEdit": { + "type": "object", + "description": "A git ref edit.", + "required": ["name", "new", "old"], + "nullable": ["new", "old"], + "properties": { + "name": { "type": "string", "description": "Full git reference name, ie refs/heads/main." }, + "new": { "type": "string", "description": "Full hex object id the ref now points at." }, + "old": { "type": "string", "description": "Full hex object id the ref pointed at before." } + } + } + } +}