dev.knotless.getThread

lexicons.knotless.dev

Schema Diff

+8 -0

From

CID
bafyreifjglryqda...
Indexed At
2026-10-28 21:21 UTC
View this version

To

CID
bafyreiggg63q73v...
Indexed At
2026-10-29 04:27 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 6 non-breaking changes.

Non-Breaking Changes (6)
  • AddedVertex AddedVertex { vertex_id: "dev.knotless.defs#reviewView" }
  • AddedVertex AddedVertex { vertex_id: "dev.knotless.getThread:output.reviews" }
  • AddedVertex AddedVertex { vertex_id: "dev.knotless.getThread:output.reviews:items" }
  • AddedEdge AddedEdge { src: "dev.knotless.getThread:output", tgt: "dev.knotless.getThread:output.reviews", kind: "prop", name: Some("reviews") }
  • AddedEdge AddedEdge { src: "dev.knotless.getThread:output.reviews", tgt: "dev.knotless.getThread:output.reviews:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "dev.knotless.getThread:output.reviews:items", tgt: "dev.knotless.defs#reviewView", kind: "ref", name: None }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "dev.knotless.defs#reviewView" }
  • AddedVertex { vertex_id: "dev.knotless.getThread:output.reviews" }
  • AddedVertex { vertex_id: "dev.knotless.getThread:output.reviews:items" }

Additional Notes

  • Non-breaking: AddedEdge { src: "dev.knotless.getThread:output", tgt: "dev.knotless.getThread:output.reviews", kind: "prop", name: Some("reviews") }
  • Non-breaking: AddedEdge { src: "dev.knotless.getThread:output.reviews", tgt: "dev.knotless.getThread:output.reviews:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "dev.knotless.getThread:output.reviews:items", tgt: "dev.knotless.defs#reviewView", kind: "ref", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 5
      "description": "A pull or an issue on a repository: what it says, what was said on it, and for a pull what it brings in, how its checks stand and where it is in the merge queue. No authentication; asked as an account, with a service token or the pages' session cookie, the answer says what that account may do with it, and which reactions are its own. A private repository is read for its members asking so.",
6 6
      "errors": [
7 7
        {
8 8
          "description": "No such repository or record on it; or this appview keeps no index, so it knows no pulls or issues.",
9 9
          "name": "NotFound"
10 10
        }
11 11
      ],
12 12
      "output": {
13 13
        "encoding": "application/json",
14 14
        "schema": {
15 15
          "properties": {
16 16
            "base": {
17 17
              "description": "A pull's target branch.",
18 18
              "type": "string"
19 19
            },
20 20
            "body": {
21 21
              "description": "What it says, as its author wrote it, in Markdown.",
22 22
              "type": "string"
23 23
            },
24 24
            "card": {
25 25
              "description": "The path of the picture its page unfurls into.",
26 26
              "type": "string"
27 27
            },
28 28
            "changes": {
29 29
              "description": "What a pull brings in; absent for an issue, or a pull whose branch is gone.",
30 30
              "ref": "dev.knotless.defs#changesView",
31 31
              "type": "ref"
32 32
            },
33 33
            "checks": {
34 34
              "description": "For a pull, the newest run of each workflow at its head: by the target's runners for the pull, and by those of the repository it comes from for its branch.",
35 35
              "items": {
36 36
                "ref": "dev.knotless.defs#checkView",
37 37
                "type": "ref"
38 38
              },
39 39
              "type": "array"
40 40
            },
41 41
            "closedBy": {
42 42
              "description": "For a closed issue, the pull whose merge closed it.",
43 43
              "ref": "dev.knotless.defs#itemViewBasic",
44 44
              "type": "ref"
45 45
            },
46 46
            "closes": {
47 47
              "description": "The issues on the repository a pull's title or body names to close as it merges into the default branch.",
48 48
              "items": {
49 49
                "ref": "dev.knotless.defs#itemView",
50 50
                "type": "ref"
51 51
              },
52 52
              "type": "array"
53 53
            },
54 54
            "comments": {
55 55
              "description": "Oldest first.",
56 56
              "items": {
57 57
                "ref": "dev.knotless.defs#commentView",
58 58
                "type": "ref"
59 59
              },
60 60
              "type": "array"
61 61
            },
62 62
            "head": {
63 63
              "description": "What a pull brings in.",
64 64
              "ref": "dev.knotless.defs#pullHeadView",
65 65
              "type": "ref"
66 66
            },
67 67
            "html": {
68 68
              "description": "Its body, made into HTML as a comment's is.",
69 69
              "type": "string"
70 70
            },
71 71
            "item": {
72 72
              "ref": "dev.knotless.defs#itemView",
73 73
              "type": "ref"
74 74
            },
75 75
            "merged": {
76 76
              "description": "For a merged pull, the commit it merged as.",
77 77
              "type": "string"
78 78
            },
79 79
            "minutes": {
80 80
              "description": "For a pull, the minutes each runner of the target counts for the target's owner, where it has counted any; none for a private repository.",
81 81
              "items": {
82 82
                "ref": "dev.knotless.defs#minutesView",
83 83
                "type": "ref"
84 84
              },
85 85
              "type": "array"
86 86
            },
87 87
            "queue": {
88 88
              "description": "Where an open pull stands in its branch's merge queue, if it was queued or ejected from it.",
89 89
              "ref": "dev.knotless.defs#queueStateView",
90 90
              "type": "ref"
91 91
            },
92 92
            "reactions": {
93 93
              "description": "How accounts reacted to the pull or issue itself, by content, as dev.knotless.getReactions counts them. Absent when none did.",
94 94
              "items": {
95 95
                "ref": "dev.knotless.defs#reactionCountView",
96 96
                "type": "ref"
97 97
              },
98 98
              "type": "array"
99 99
            },
100 +
            "reviews": {
101 +
              "description": "For a pull, where each reviewer stands, in the order they last reviewed. Absent when no one has.",
102 +
              "items": {
103 +
                "ref": "dev.knotless.defs#reviewView",
104 +
                "type": "ref"
105 +
              },
106 +
              "type": "array"
107 +
            },
100 108
            "viewer": {
101 109
              "description": "What the account asking may do with it; absent when no one asks.",
102 110
              "ref": "#viewerState",
103 111
              "type": "ref"
104 112
            }
105 113
          },
106 114
          "required": [
107 115
            "item",
108 116
            "comments",
109 117
            "closes",
110 118
            "checks",
111 119
            "card"
112 120
          ],
113 121
          "type": "object"
114 122
        }
115 123
      },
116 124
      "parameters": {
117 125
        "properties": {
118 126
          "filesOnly": {
119 127
            "default": false,
120 128
            "description": "A pull's changed files without their rows: what each is, how many lines it adds and removes, and a note where its rows would not be shown. dev.knotless.getPullDiff gives the rows of the files a reader comes to.",
121 129
            "type": "boolean"
122 130
          },
123 131
          "repo": {
124 132
            "description": "The repository's dev.knotless.repo record. Its authority may be a handle; a name the repository had before, or an owner it moved from with its agreement, finds it under the name it has now.",
125 133
            "format": "at-uri",
126 134
            "type": "string"
127 135
          },
128 136
          "uri": {
129 137
            "description": "The dev.knotless.pull or dev.knotless.issue record.",
130 138
            "format": "at-uri",
131 139
            "type": "string"
132 140
          }
133 141
        },
134 142
        "required": [
135 143
          "repo",
136 144
          "uri"
137 145
        ],
138 146
        "type": "params"
139 147
      },
140 148
      "type": "query"
141 149
    },
142 150
    "viewerState": {
143 151
      "description": "What the account asking may do with a pull or an issue, past commenting on it, editing what it wrote and reporting, which anyone may.",
144 152
      "properties": {
145 153
        "hide": {
146 154
          "description": "Whether it may hide it, or what is said on it: as the repository's owner.",
147 155
          "type": "boolean"
148 156
        },
149 157
        "labels": {
150 158
          "description": "The labels the repository defines that it may put on or take off, in the order the repository defines them.",
151 159
          "items": {
152 160
            "ref": "dev.knotless.repo#label",
153 161
            "type": "ref"
154 162
          },
155 163
          "type": "array"
156 164
        },
157 165
        "setState": {
158 166
          "description": "Whether it may close or reopen it: as who opened it, or the repository's owner or a collaborator.",
159 167
          "type": "boolean"
160 168
        }
161 169
      },
162 170
      "type": "object"
163 171
    }
164 172
  },
165 173
  "description": "A pull or an issue, and everything said on it.",
166 174
  "id": "dev.knotless.getThread",
167 175
  "lexicon": 1
168 176
}

Compare Other Versions

Lexicon Garden

@