1{
2 "lexicon": 1,
3 "id": "sh.tangled.repo.branch",
4 "defs": {
5 "main": {
6 "type": "query",
7 "parameters": {
8 "type": "params",
9 "required": ["repo", "name"],
10 "properties": {
11 "repo": {
12 "type": "string",
13 "description": "Repository identifier in format 'did:plc:.../repoName'"
14 },
15 "name": {
16 "type": "string",
17 "description": "Branch name to get information for"
18 }
19 }
20 },
21 "output": {
22 "encoding": "application/json",
23 "schema": {
24 "type": "object",
25 "required": ["name", "hash", "when"],
26 "properties": {
27 "name": {
28 "type": "string",
29 "description": "Branch name"
30 },
31 "hash": {
32 "type": "string",
33 "description": "Latest commit hash on this branch"
34 },
35 "shortHash": {
36 "type": "string",
37 "description": "Short commit hash"
38 },
39 "when": {
40 "type": "string",
41 "format": "datetime",
42 "description": "Timestamp of latest commit"
43 },
44 "message": {
45 "type": "string",
46 "description": "Latest commit message"
47 },
48 "author": {
49 "type": "ref",
50 "ref": "#signature"
51 },
52 "isDefault": {
53 "type": "boolean",
54 "description": "Whether this is the default branch"
55 }
56 }
57 }
58 },
59 "errors": [
60 {
61 "name": "RepoNotFound",
62 "description": "Repository not found or access denied"
63 },
64 {
65 "name": "BranchNotFound",
66 "description": "Branch not found"
67 },
68 {
69 "name": "InvalidRequest",
70 "description": "Invalid request parameters"
71 }
72 ]
73 },
74 "signature": {
75 "type": "object",
76 "required": ["name", "email", "when"],
77 "properties": {
78 "name": {
79 "type": "string",
80 "description": "Author name"
81 },
82 "email": {
83 "type": "string",
84 "description": "Author email"
85 },
86 "when": {
87 "type": "string",
88 "format": "datetime",
89 "description": "Author timestamp"
90 }
91 }
92 }
93 }
94}