{ "lexicon": 1, "id": "sh.tangled.git.temp2.getBlame", "defs": { "main": { "type": "query", "parameters": { "type": "params", "required": [ "repo", "ref", "path" ], "properties": { "repo": { "type": "string", "format": "did", "description": "DID of the repository" }, "ref": { "type": "string", "description": "Revspec to blame at: a branch, tag, or commit sha" }, "path": { "type": "string", "description": "Path to the file within the repository" } } }, "output": { "encoding": "application/json", "schema": { "type": "object", "required": [ "commit", "commits", "runs" ], "properties": { "commit": { "type": "string", "description": "The resolved git commit object id" }, "commits": { "type": "array", "description": "Unique commits referenced by blame runs", "items": { "type": "ref", "ref": "#commit" } }, "runs": { "type": "array", "description": "Complete, gap-free one-based line ranges sorted by start", "items": { "type": "ref", "ref": "#run" } } } } }, "errors": [ { "name": "RepoNotFound", "description": "Repository not found or access denied" }, { "name": "RefNotFound", "description": "Git reference not found" }, { "name": "FileNotFound", "description": "File not found at the specified path" }, { "name": "BlameTooLarge", "description": "Blame exceeds file byte, line, or run limits" }, { "name": "BlameTimeout", "description": "Blame exceeded its computation time budget" }, { "name": "InvalidRequest", "description": "Invalid request parameters" } ] }, "commit": { "type": "object", "required": [ "oid", "message", "author" ], "properties": { "oid": { "type": "string" }, "message": { "type": "string", "description": "Full commit message" }, "author": { "type": "ref", "ref": "sh.tangled.git.defs#signature" } } }, "run": { "type": "object", "required": [ "start", "count", "commit" ], "properties": { "start": { "type": "integer", "minimum": 1, "description": "First one-based line in this run" }, "count": { "type": "integer", "minimum": 1, "description": "Number of consecutive lines in this run" }, "commit": { "type": "string", "description": "oid of a commit in the output commits array" } } } } }