{"$type":"com.atproto.lexicon.schema","defs":{"byteChanges":{"properties":{"lhs":{"minimum":0,"type":"integer"},"rhs":{"minimum":0,"type":"integer"}},"required":["lhs","rhs"],"type":"object"},"commit":{"properties":{"author":{"ref":"#signature","type":"ref"},"committer":{"ref":"#signature","type":"ref"},"hash":{"description":"Commit Object ID","type":"string"},"message":{"type":"string"},"tree":{"description":"Tree Object ID","type":"string"}},"required":["hash","author","committer","message","tree"],"type":"object"},"diffHunk":{"properties":{"lines":{"items":{"ref":"#linePair","type":"ref"},"type":"array"},"novelLhs":{"description":"0-based line numbers holding novel content on the left side","items":{"minimum":0,"type":"integer"},"type":"array"},"novelRhs":{"description":"0-based line numbers holding novel content on the right side","items":{"minimum":0,"type":"integer"},"type":"array"}},"required":["novelLhs","novelRhs","lines"],"type":"object"},"diffSrc":{"description":"One side of a file diff.","properties":{"content":{"description":"Inlined content. Used on interdiff's LHS.","type":"string"},"isBinary":{"type":"boolean"},"isSubmodule":{"type":"boolean"},"oid":{"description":"Blob oid, or the commit oid for a submodule","type":"string"},"path":{"type":"string"},"size":{"minimum":0,"type":"integer"}},"required":["path","oid","size","isBinary","isSubmodule"],"type":"object"},"diffStat":{"properties":{"deletions":{"minimum":0,"type":"integer"},"filesChanged":{"minimum":0,"type":"integer"},"insertions":{"minimum":0,"type":"integer"}},"required":["insertions","deletions","filesChanged"],"type":"object"},"fileDiff":{"properties":{"hasByteChanges":{"description":"Byte count per side, present only when the two sides differ","ref":"#byteChanges","type":"ref"},"hasSyntacticChanges":{"type":"boolean"},"hunks":{"items":{"ref":"#diffHunk","type":"ref"},"type":"array"},"lhsSrc":{"ref":"#diffSrc","type":"ref"},"rhsSrc":{"ref":"#diffSrc","type":"ref"}},"required":["lhsSrc","rhsSrc","hunks","hasSyntacticChanges"],"type":"object"},"linePair":{"description":"One aligned line pair; a side is absent when that side has no line.","properties":{"lhs":{"minimum":0,"type":"integer"},"rhs":{"minimum":0,"type":"integer"}},"type":"object"},"signature":{"properties":{"email":{"description":"Person email","type":"string"},"name":{"description":"Person name","type":"string"},"when":{"description":"Timestamp of the signature","format":"datetime","type":"string"}},"required":["name","email","when"],"type":"object"},"submodule":{"properties":{"branch":{"description":"Branch to track in the submodule","type":"string"},"name":{"description":"Submodule name","type":"string"},"url":{"description":"Submodule repository URL","type":"string"}},"required":["name","url"],"type":"object"}},"id":"org.tangled.git.defs","lexicon":1}