forges 0.0.0 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENCE +21 -0
- package/README.md +72 -0
- package/dist/azure-devops/index.d.mts +2 -0
- package/dist/azure-devops/index.mjs +1 -0
- package/dist/azure-devops-DwQvL4TV.mjs +1355 -0
- package/dist/bitbucket/index.d.mts +2 -0
- package/dist/bitbucket/index.mjs +1 -0
- package/dist/bitbucket-CpcfJlYi.mjs +1171 -0
- package/dist/crypto-CQNEyYHD.mjs +156 -0
- package/dist/cursor-origin/index.d.mts +2 -0
- package/dist/cursor-origin/index.mjs +1 -0
- package/dist/cursor-origin-BhqYx2oW.mjs +980 -0
- package/dist/define-B2_4ob2i.d.mts +307 -0
- package/dist/define-D3yEXtKK.mjs +2276 -0
- package/dist/env.d.mts +46 -0
- package/dist/env.mjs +283 -0
- package/dist/fake/index.d.mts +227 -0
- package/dist/fake/index.mjs +1001 -0
- package/dist/fetch-D4pSRvvA.d.mts +1723 -0
- package/dist/forgejo/index.d.mts +2 -0
- package/dist/forgejo/index.mjs +1 -0
- package/dist/forgejo-BCefbHUN.mjs +2005 -0
- package/dist/gitea/index.d.mts +2 -0
- package/dist/gitea/index.mjs +22 -0
- package/dist/gitee/index.d.mts +2 -0
- package/dist/gitee/index.mjs +1 -0
- package/dist/gitee-CA-f7Rs8.mjs +1272 -0
- package/dist/github/index.d.mts +2 -0
- package/dist/github/index.mjs +1 -0
- package/dist/github-B0umL8_f.mjs +3259 -0
- package/dist/gitlab/index.d.mts +2 -0
- package/dist/gitlab/index.mjs +1 -0
- package/dist/gitlab-Bsr__Z0C.mjs +2378 -0
- package/dist/graphql-D7uGzZTf.mjs +366 -0
- package/dist/index-BQ6VS31s.d.mts +32 -0
- package/dist/index-C-jz9Mo3.d.mts +16 -0
- package/dist/index-C4fYzmK3.d.mts +102 -0
- package/dist/index-CQiIX4SH.d.mts +27 -0
- package/dist/index-CTj5gQzl.d.mts +35 -0
- package/dist/index-CliBWzOF.d.mts +23 -0
- package/dist/index-Cz_y-t3d.d.mts +36 -0
- package/dist/index-DEt25E1w.d.mts +77 -0
- package/dist/index-DIuS0EOy.d.mts +43 -0
- package/dist/index-uSpsMCrC.d.mts +26 -0
- package/dist/index.d.mts +41 -0
- package/dist/index.mjs +13 -0
- package/dist/kit.d.mts +183 -0
- package/dist/kit.mjs +4 -0
- package/dist/provider-CoZ7cCxp.d.mts +1439 -0
- package/dist/provider-Ed1YhkQN.mjs +169 -0
- package/dist/pushin/index.d.mts +2 -0
- package/dist/pushin/index.mjs +1 -0
- package/dist/pushin-CkxgJ2cU.mjs +343 -0
- package/dist/schema/Actor.json +96 -0
- package/dist/schema/AlertSupport.json +49 -0
- package/dist/schema/AuthKind.json +15 -0
- package/dist/schema/Branch.json +31 -0
- package/dist/schema/ChangedFile.json +58 -0
- package/dist/schema/Check.json +169 -0
- package/dist/schema/CheckRef.json +114 -0
- package/dist/schema/CheckState.json +14 -0
- package/dist/schema/ChecksSummary.json +34 -0
- package/dist/schema/CiJob.json +186 -0
- package/dist/schema/CiJobRef.json +132 -0
- package/dist/schema/CiRun.json +234 -0
- package/dist/schema/CiRunRef.json +103 -0
- package/dist/schema/CodeFragment.json +19 -0
- package/dist/schema/CodeMatch.json +128 -0
- package/dist/schema/Collaborator.json +169 -0
- package/dist/schema/Comment.json +336 -0
- package/dist/schema/CommentRef.json +158 -0
- package/dist/schema/Commit.json +307 -0
- package/dist/schema/CommitRef.json +104 -0
- package/dist/schema/CommitSignature.json +118 -0
- package/dist/schema/Comparison.json +355 -0
- package/dist/schema/Cursor.json +21 -0
- package/dist/schema/EventAction.json +33 -0
- package/dist/schema/EventDetail.json +649 -0
- package/dist/schema/EventKind.json +26 -0
- package/dist/schema/FileContent.json +73 -0
- package/dist/schema/FileStatus.json +15 -0
- package/dist/schema/ForgeCapabilities.json +737 -0
- package/dist/schema/ForgeEvent.json +789 -0
- package/dist/schema/ForgeInstance.json +7 -0
- package/dist/schema/ForgeKind.json +32 -0
- package/dist/schema/ForgeWarning.json +49 -0
- package/dist/schema/ForgeWarningCode.json +7 -0
- package/dist/schema/GetManyResult.json +699 -0
- package/dist/schema/Installation.json +131 -0
- package/dist/schema/InstallationToken.json +31 -0
- package/dist/schema/KnownForgeKind.json +19 -0
- package/dist/schema/Label.json +22 -0
- package/dist/schema/MergeMethod.json +14 -0
- package/dist/schema/Milestone.json +40 -0
- package/dist/schema/Notification.json +498 -0
- package/dist/schema/NotificationReason.json +28 -0
- package/dist/schema/NotificationRef.json +60 -0
- package/dist/schema/NotificationSubject.json +376 -0
- package/dist/schema/PerKind.json +49 -0
- package/dist/schema/PullBranches.json +125 -0
- package/dist/schema/PushCommit.json +24 -0
- package/dist/schema/Reaction.json +148 -0
- package/dist/schema/ReactionContent.json +17 -0
- package/dist/schema/ReactionSummary.json +70 -0
- package/dist/schema/Release.json +286 -0
- package/dist/schema/ReleaseAsset.json +169 -0
- package/dist/schema/ReleaseAssetRef.json +138 -0
- package/dist/schema/ReleaseRef.json +107 -0
- package/dist/schema/Repo.json +354 -0
- package/dist/schema/RepoFeatures.json +35 -0
- package/dist/schema/RepoPermissions.json +35 -0
- package/dist/schema/RepoRef.json +77 -0
- package/dist/schema/RepoRole.json +15 -0
- package/dist/schema/RepoVisibility.json +12 -0
- package/dist/schema/Review.json +371 -0
- package/dist/schema/ReviewComment.json +280 -0
- package/dist/schema/ReviewCommentInput.json +34 -0
- package/dist/schema/ReviewRef.json +158 -0
- package/dist/schema/ReviewState.json +15 -0
- package/dist/schema/Reviewer.json +133 -0
- package/dist/schema/SecurityAlert.json +219 -0
- package/dist/schema/SecurityAlertKind.json +14 -0
- package/dist/schema/SecurityAlertRef.json +122 -0
- package/dist/schema/SecuritySeverity.json +14 -0
- package/dist/schema/SourceKind.json +12 -0
- package/dist/schema/SubscriptionState.json +12 -0
- package/dist/schema/Support.json +23 -0
- package/dist/schema/Tag.json +25 -0
- package/dist/schema/TextLimits.json +18 -0
- package/dist/schema/Thread.json +653 -0
- package/dist/schema/ThreadKind.json +14 -0
- package/dist/schema/ThreadRef.json +131 -0
- package/dist/schema/ThreadStack.json +146 -0
- package/dist/schema/ThreadState.json +13 -0
- package/dist/schema/TreeEntry.json +46 -0
- package/dist/schema/TreeEntryType.json +13 -0
- package/dist/schema/UpsertCommentResult.json +355 -0
- package/dist/schema/User.json +123 -0
- package/dist/schema/Webhook.json +188 -0
- package/dist/schema/WebhookDeliveryRecord.json +173 -0
- package/dist/schema/WebhookDeliveryRef.json +135 -0
- package/dist/schema/WebhookRef.json +105 -0
- package/dist/schema/index.d.mts +4 -0
- package/dist/schema/index.mjs +3219 -0
- package/dist/tangled/index.d.mts +2 -0
- package/dist/tangled/index.mjs +1 -0
- package/dist/tangled-ChdPmiv-.mjs +1570 -0
- package/dist/testing/index.d.mts +123 -0
- package/dist/testing/index.mjs +242 -0
- package/dist/webhooks-rn9-8lxT.mjs +70 -0
- package/package.json +115 -3
- package/dist/.gitkeep +0 -0
|
@@ -0,0 +1,355 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"properties": {
|
|
5
|
+
"comment": {
|
|
6
|
+
"$ref": "#/definitions/Comment",
|
|
7
|
+
"description": "The comment that was created or edited."
|
|
8
|
+
},
|
|
9
|
+
"created": {
|
|
10
|
+
"type": "boolean",
|
|
11
|
+
"description": "`false` when an existing comment with the same key was edited."
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"required": [
|
|
15
|
+
"comment",
|
|
16
|
+
"created"
|
|
17
|
+
],
|
|
18
|
+
"description": "What `threads.upsertComment()` did.",
|
|
19
|
+
"x-forges-type": "UpsertCommentResult",
|
|
20
|
+
"definitions": {
|
|
21
|
+
"Actor": {
|
|
22
|
+
"type": "object",
|
|
23
|
+
"properties": {
|
|
24
|
+
"forge": {
|
|
25
|
+
"$ref": "#/definitions/ForgeKind"
|
|
26
|
+
},
|
|
27
|
+
"instance": {
|
|
28
|
+
"$ref": "#/definitions/ForgeInstance",
|
|
29
|
+
"description": "The host of the instance, such as `github.com` or `git.example.com`."
|
|
30
|
+
},
|
|
31
|
+
"login": {
|
|
32
|
+
"type": "string"
|
|
33
|
+
},
|
|
34
|
+
"id": {
|
|
35
|
+
"type": "string"
|
|
36
|
+
},
|
|
37
|
+
"name": {
|
|
38
|
+
"type": "string"
|
|
39
|
+
},
|
|
40
|
+
"avatarUrl": {
|
|
41
|
+
"type": "string"
|
|
42
|
+
},
|
|
43
|
+
"url": {
|
|
44
|
+
"type": "string"
|
|
45
|
+
},
|
|
46
|
+
"typeRaw": {
|
|
47
|
+
"type": "string",
|
|
48
|
+
"description": "Forge-reported account type, retained verbatim for callers that classify further."
|
|
49
|
+
},
|
|
50
|
+
"isBotHint": {
|
|
51
|
+
"type": "boolean",
|
|
52
|
+
"description": "Hint derived from forge metadata that the actor is automation. Callers own the classification policy."
|
|
53
|
+
},
|
|
54
|
+
"app": {
|
|
55
|
+
"type": "object",
|
|
56
|
+
"properties": {
|
|
57
|
+
"slug": {
|
|
58
|
+
"type": "string"
|
|
59
|
+
},
|
|
60
|
+
"id": {
|
|
61
|
+
"type": "string"
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
"required": [
|
|
65
|
+
"slug"
|
|
66
|
+
],
|
|
67
|
+
"description": "The app behind a bot account, where the forge ties one to it (GitHub Apps' `slug[bot]` users)."
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
"required": [
|
|
71
|
+
"forge",
|
|
72
|
+
"id",
|
|
73
|
+
"instance",
|
|
74
|
+
"isBotHint",
|
|
75
|
+
"login"
|
|
76
|
+
],
|
|
77
|
+
"description": "An account: a user, an organisation or a bot.",
|
|
78
|
+
"x-forges-type": "Actor"
|
|
79
|
+
},
|
|
80
|
+
"Comment": {
|
|
81
|
+
"type": "object",
|
|
82
|
+
"properties": {
|
|
83
|
+
"ref": {
|
|
84
|
+
"$ref": "#/definitions/CommentRef"
|
|
85
|
+
},
|
|
86
|
+
"body": {
|
|
87
|
+
"type": "string"
|
|
88
|
+
},
|
|
89
|
+
"author": {
|
|
90
|
+
"$ref": "#/definitions/Actor"
|
|
91
|
+
},
|
|
92
|
+
"createdAt": {
|
|
93
|
+
"type": "string",
|
|
94
|
+
"format": "date-time"
|
|
95
|
+
},
|
|
96
|
+
"updatedAt": {
|
|
97
|
+
"type": "string",
|
|
98
|
+
"format": "date-time"
|
|
99
|
+
},
|
|
100
|
+
"url": {
|
|
101
|
+
"type": "string"
|
|
102
|
+
},
|
|
103
|
+
"reactions": {
|
|
104
|
+
"$ref": "#/definitions/ReactionSummary"
|
|
105
|
+
},
|
|
106
|
+
"thread": {
|
|
107
|
+
"type": "object",
|
|
108
|
+
"properties": {
|
|
109
|
+
"id": {
|
|
110
|
+
"type": "string"
|
|
111
|
+
},
|
|
112
|
+
"resolved": {
|
|
113
|
+
"type": "boolean"
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
"required": [
|
|
117
|
+
"id",
|
|
118
|
+
"resolved"
|
|
119
|
+
],
|
|
120
|
+
"description": "The resolvable conversation the comment belongs to, where the forge has one; `resolveReviewThread()` takes its id."
|
|
121
|
+
},
|
|
122
|
+
"raw": {}
|
|
123
|
+
},
|
|
124
|
+
"required": [
|
|
125
|
+
"ref",
|
|
126
|
+
"body",
|
|
127
|
+
"raw"
|
|
128
|
+
],
|
|
129
|
+
"description": "A comment on a thread.",
|
|
130
|
+
"x-forges-type": "Comment"
|
|
131
|
+
},
|
|
132
|
+
"CommentRef": {
|
|
133
|
+
"type": "object",
|
|
134
|
+
"properties": {
|
|
135
|
+
"forge": {
|
|
136
|
+
"$ref": "#/definitions/ForgeKind"
|
|
137
|
+
},
|
|
138
|
+
"instance": {
|
|
139
|
+
"$ref": "#/definitions/ForgeInstance",
|
|
140
|
+
"description": "The host of the instance, such as `github.com` or `git.example.com`."
|
|
141
|
+
},
|
|
142
|
+
"thread": {
|
|
143
|
+
"$ref": "#/definitions/ThreadRef"
|
|
144
|
+
},
|
|
145
|
+
"id": {
|
|
146
|
+
"type": "string",
|
|
147
|
+
"description": "Forge-native comment id; an AT-URI on Tangled."
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
"required": [
|
|
151
|
+
"forge",
|
|
152
|
+
"id",
|
|
153
|
+
"instance",
|
|
154
|
+
"thread"
|
|
155
|
+
],
|
|
156
|
+
"description": "Reference to a comment on a thread.",
|
|
157
|
+
"x-forges-type": "CommentRef"
|
|
158
|
+
},
|
|
159
|
+
"ForgeInstance": {
|
|
160
|
+
"type": "string",
|
|
161
|
+
"description": "Host of a single forge deployment, for example `github.com` or `codeberg.org`.",
|
|
162
|
+
"x-forges-type": "ForgeInstance"
|
|
163
|
+
},
|
|
164
|
+
"ForgeKind": {
|
|
165
|
+
"anyOf": [
|
|
166
|
+
{
|
|
167
|
+
"$ref": "#/definitions/KnownForgeKind"
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"type": "string"
|
|
171
|
+
}
|
|
172
|
+
],
|
|
173
|
+
"description": "Identifier of a forge implementation. Unknown forges are permitted so that third-party providers can be registered without a core release.",
|
|
174
|
+
"x-forges-type": "ForgeKind"
|
|
175
|
+
},
|
|
176
|
+
"KnownForgeKind": {
|
|
177
|
+
"type": "string",
|
|
178
|
+
"enum": [
|
|
179
|
+
"github",
|
|
180
|
+
"gitlab",
|
|
181
|
+
"bitbucket",
|
|
182
|
+
"forgejo",
|
|
183
|
+
"gitea",
|
|
184
|
+
"tangled",
|
|
185
|
+
"gitee",
|
|
186
|
+
"azure-devops",
|
|
187
|
+
"cursor-origin",
|
|
188
|
+
"pushin"
|
|
189
|
+
],
|
|
190
|
+
"description": "The forges this package ships providers for.",
|
|
191
|
+
"x-forges-type": "KnownForgeKind"
|
|
192
|
+
},
|
|
193
|
+
"ReactionContent": {
|
|
194
|
+
"type": "string",
|
|
195
|
+
"enum": [
|
|
196
|
+
"+1",
|
|
197
|
+
"-1",
|
|
198
|
+
"laugh",
|
|
199
|
+
"confused",
|
|
200
|
+
"heart",
|
|
201
|
+
"hooray",
|
|
202
|
+
"rocket",
|
|
203
|
+
"eyes"
|
|
204
|
+
],
|
|
205
|
+
"description": "The reactions every forge with reactions has in common, named as GitHub names them. A {@link Reaction} whose forge-native name has no entry here has `content: 'other'`, with the forge-native name in `contentRaw`.",
|
|
206
|
+
"x-forges-type": "ReactionContent"
|
|
207
|
+
},
|
|
208
|
+
"ReactionSummary": {
|
|
209
|
+
"type": "object",
|
|
210
|
+
"properties": {
|
|
211
|
+
"total": {
|
|
212
|
+
"type": "number",
|
|
213
|
+
"description": "The number of reactions of every kind."
|
|
214
|
+
},
|
|
215
|
+
"counts": {
|
|
216
|
+
"type": "object",
|
|
217
|
+
"properties": {
|
|
218
|
+
"+1": {
|
|
219
|
+
"type": "number"
|
|
220
|
+
},
|
|
221
|
+
"-1": {
|
|
222
|
+
"type": "number"
|
|
223
|
+
},
|
|
224
|
+
"laugh": {
|
|
225
|
+
"type": "number"
|
|
226
|
+
},
|
|
227
|
+
"confused": {
|
|
228
|
+
"type": "number"
|
|
229
|
+
},
|
|
230
|
+
"heart": {
|
|
231
|
+
"type": "number"
|
|
232
|
+
},
|
|
233
|
+
"hooray": {
|
|
234
|
+
"type": "number"
|
|
235
|
+
},
|
|
236
|
+
"rocket": {
|
|
237
|
+
"type": "number"
|
|
238
|
+
},
|
|
239
|
+
"eyes": {
|
|
240
|
+
"type": "number"
|
|
241
|
+
}
|
|
242
|
+
},
|
|
243
|
+
"description": "The number of reactions of each kind. A reaction with no {@link ReactionContent} entry has no key here."
|
|
244
|
+
},
|
|
245
|
+
"viewerReacted": {
|
|
246
|
+
"type": "array",
|
|
247
|
+
"items": {
|
|
248
|
+
"$ref": "#/definitions/ReactionContent"
|
|
249
|
+
},
|
|
250
|
+
"description": "Reactions the authenticated account has left. Absent when the forge does not report them."
|
|
251
|
+
}
|
|
252
|
+
},
|
|
253
|
+
"required": [
|
|
254
|
+
"total",
|
|
255
|
+
"counts"
|
|
256
|
+
],
|
|
257
|
+
"description": "The reactions on a thread or comment, counted.",
|
|
258
|
+
"x-forges-type": "ReactionSummary"
|
|
259
|
+
},
|
|
260
|
+
"RepoRef": {
|
|
261
|
+
"type": "object",
|
|
262
|
+
"properties": {
|
|
263
|
+
"forge": {
|
|
264
|
+
"$ref": "#/definitions/ForgeKind"
|
|
265
|
+
},
|
|
266
|
+
"instance": {
|
|
267
|
+
"$ref": "#/definitions/ForgeInstance",
|
|
268
|
+
"description": "The host of the instance, such as `github.com` or `git.example.com`."
|
|
269
|
+
},
|
|
270
|
+
"owner": {
|
|
271
|
+
"type": "string",
|
|
272
|
+
"description": "Full namespace path. On forges with nested groups (GitLab) this contains slashes, for example `acme/platform`; `name` never does."
|
|
273
|
+
},
|
|
274
|
+
"name": {
|
|
275
|
+
"type": "string",
|
|
276
|
+
"description": "Repository name. Empty for namespace-scoped refs."
|
|
277
|
+
},
|
|
278
|
+
"kind": {
|
|
279
|
+
"type": "string",
|
|
280
|
+
"enum": [
|
|
281
|
+
"repo",
|
|
282
|
+
"namespace"
|
|
283
|
+
],
|
|
284
|
+
"description": "`'namespace'` for subjects that belong to a group rather than a repository (GitLab epics). Absent means a repository."
|
|
285
|
+
},
|
|
286
|
+
"externalId": {
|
|
287
|
+
"type": "string",
|
|
288
|
+
"description": "Stable forge-native identifier that survives renames and transfers: a GitHub, Forgejo or Gitea numeric id, a GitLab project or group id, a Bitbucket UUID or a Tangled repo DID. {@link repoKey} prefers it over `owner` and `name`."
|
|
289
|
+
}
|
|
290
|
+
},
|
|
291
|
+
"required": [
|
|
292
|
+
"forge",
|
|
293
|
+
"instance",
|
|
294
|
+
"name",
|
|
295
|
+
"owner"
|
|
296
|
+
],
|
|
297
|
+
"description": "Addresses a repository by its forge, instance, owner and name.",
|
|
298
|
+
"x-forges-type": "RepoRef"
|
|
299
|
+
},
|
|
300
|
+
"ThreadKind": {
|
|
301
|
+
"type": "string",
|
|
302
|
+
"enum": [
|
|
303
|
+
"issue",
|
|
304
|
+
"pull_request",
|
|
305
|
+
"discussion",
|
|
306
|
+
"commit",
|
|
307
|
+
"other"
|
|
308
|
+
],
|
|
309
|
+
"description": "Kind of thread. `'other'` holds forge-specific subjects with no shared kind (check suites, epics); `ThreadRef.typeRaw` names them.",
|
|
310
|
+
"x-forges-type": "ThreadKind"
|
|
311
|
+
},
|
|
312
|
+
"ThreadRef": {
|
|
313
|
+
"type": "object",
|
|
314
|
+
"properties": {
|
|
315
|
+
"forge": {
|
|
316
|
+
"$ref": "#/definitions/ForgeKind"
|
|
317
|
+
},
|
|
318
|
+
"instance": {
|
|
319
|
+
"$ref": "#/definitions/ForgeInstance",
|
|
320
|
+
"description": "The host of the instance, such as `github.com` or `git.example.com`."
|
|
321
|
+
},
|
|
322
|
+
"repo": {
|
|
323
|
+
"$ref": "#/definitions/RepoRef"
|
|
324
|
+
},
|
|
325
|
+
"kind": {
|
|
326
|
+
"$ref": "#/definitions/ThreadKind"
|
|
327
|
+
},
|
|
328
|
+
"typeRaw": {
|
|
329
|
+
"type": "string",
|
|
330
|
+
"description": "Forge-native subject type, for example `PullRequest` or `MergeRequest`."
|
|
331
|
+
},
|
|
332
|
+
"number": {
|
|
333
|
+
"type": "string",
|
|
334
|
+
"description": "Per-repo thread number, the commit sha for `kind: 'commit'`, or the forge-native id for `kind: 'other'`. Absent when the forge did not identify the thread; such a ref cannot be fetched or keyed until enriched."
|
|
335
|
+
},
|
|
336
|
+
"displayNumber": {
|
|
337
|
+
"type": "string",
|
|
338
|
+
"description": "Human-facing per-repo number, when it differs from `number`. Tangled identifies threads by AT-URI but shows numbers in its UI and webhooks."
|
|
339
|
+
},
|
|
340
|
+
"externalId": {
|
|
341
|
+
"type": "string",
|
|
342
|
+
"description": "Globally unique forge-native identifier, where one exists: a GitHub `node_id`, a GitLab global id, or an atproto record URI."
|
|
343
|
+
}
|
|
344
|
+
},
|
|
345
|
+
"required": [
|
|
346
|
+
"forge",
|
|
347
|
+
"instance",
|
|
348
|
+
"kind",
|
|
349
|
+
"repo"
|
|
350
|
+
],
|
|
351
|
+
"description": "Reference to a thread. A thread `number` is unique only within its repo, so the repo is always carried alongside it.",
|
|
352
|
+
"x-forges-type": "ThreadRef"
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"properties": {
|
|
5
|
+
"forge": {
|
|
6
|
+
"$ref": "#/definitions/ForgeKind"
|
|
7
|
+
},
|
|
8
|
+
"instance": {
|
|
9
|
+
"$ref": "#/definitions/ForgeInstance",
|
|
10
|
+
"description": "The host of the instance, such as `github.com` or `git.example.com`."
|
|
11
|
+
},
|
|
12
|
+
"login": {
|
|
13
|
+
"type": "string"
|
|
14
|
+
},
|
|
15
|
+
"id": {
|
|
16
|
+
"type": "string"
|
|
17
|
+
},
|
|
18
|
+
"name": {
|
|
19
|
+
"type": "string"
|
|
20
|
+
},
|
|
21
|
+
"avatarUrl": {
|
|
22
|
+
"type": "string"
|
|
23
|
+
},
|
|
24
|
+
"url": {
|
|
25
|
+
"type": "string"
|
|
26
|
+
},
|
|
27
|
+
"typeRaw": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"description": "Forge-reported account type, retained verbatim for callers that classify further."
|
|
30
|
+
},
|
|
31
|
+
"isBotHint": {
|
|
32
|
+
"type": "boolean",
|
|
33
|
+
"description": "Hint derived from forge metadata that the actor is automation. Callers own the classification policy."
|
|
34
|
+
},
|
|
35
|
+
"app": {
|
|
36
|
+
"type": "object",
|
|
37
|
+
"properties": {
|
|
38
|
+
"slug": {
|
|
39
|
+
"type": "string"
|
|
40
|
+
},
|
|
41
|
+
"id": {
|
|
42
|
+
"type": "string"
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"required": [
|
|
46
|
+
"slug"
|
|
47
|
+
],
|
|
48
|
+
"description": "The app behind a bot account, where the forge ties one to it (GitHub Apps' `slug[bot]` users)."
|
|
49
|
+
},
|
|
50
|
+
"bio": {
|
|
51
|
+
"type": "string"
|
|
52
|
+
},
|
|
53
|
+
"company": {
|
|
54
|
+
"type": "string"
|
|
55
|
+
},
|
|
56
|
+
"location": {
|
|
57
|
+
"type": "string"
|
|
58
|
+
},
|
|
59
|
+
"websiteUrl": {
|
|
60
|
+
"type": "string"
|
|
61
|
+
},
|
|
62
|
+
"createdAt": {
|
|
63
|
+
"type": "string",
|
|
64
|
+
"format": "date-time"
|
|
65
|
+
},
|
|
66
|
+
"followers": {
|
|
67
|
+
"type": "number"
|
|
68
|
+
},
|
|
69
|
+
"following": {
|
|
70
|
+
"type": "number"
|
|
71
|
+
},
|
|
72
|
+
"publicRepos": {
|
|
73
|
+
"type": "number"
|
|
74
|
+
},
|
|
75
|
+
"raw": {}
|
|
76
|
+
},
|
|
77
|
+
"required": [
|
|
78
|
+
"forge",
|
|
79
|
+
"id",
|
|
80
|
+
"instance",
|
|
81
|
+
"isBotHint",
|
|
82
|
+
"login",
|
|
83
|
+
"raw"
|
|
84
|
+
],
|
|
85
|
+
"description": "A user or organisation account, as `users.get()` reads it.",
|
|
86
|
+
"x-forges-type": "User",
|
|
87
|
+
"definitions": {
|
|
88
|
+
"ForgeInstance": {
|
|
89
|
+
"type": "string",
|
|
90
|
+
"description": "Host of a single forge deployment, for example `github.com` or `codeberg.org`.",
|
|
91
|
+
"x-forges-type": "ForgeInstance"
|
|
92
|
+
},
|
|
93
|
+
"ForgeKind": {
|
|
94
|
+
"anyOf": [
|
|
95
|
+
{
|
|
96
|
+
"$ref": "#/definitions/KnownForgeKind"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"type": "string"
|
|
100
|
+
}
|
|
101
|
+
],
|
|
102
|
+
"description": "Identifier of a forge implementation. Unknown forges are permitted so that third-party providers can be registered without a core release.",
|
|
103
|
+
"x-forges-type": "ForgeKind"
|
|
104
|
+
},
|
|
105
|
+
"KnownForgeKind": {
|
|
106
|
+
"type": "string",
|
|
107
|
+
"enum": [
|
|
108
|
+
"github",
|
|
109
|
+
"gitlab",
|
|
110
|
+
"bitbucket",
|
|
111
|
+
"forgejo",
|
|
112
|
+
"gitea",
|
|
113
|
+
"tangled",
|
|
114
|
+
"gitee",
|
|
115
|
+
"azure-devops",
|
|
116
|
+
"cursor-origin",
|
|
117
|
+
"pushin"
|
|
118
|
+
],
|
|
119
|
+
"description": "The forges this package ships providers for.",
|
|
120
|
+
"x-forges-type": "KnownForgeKind"
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"properties": {
|
|
5
|
+
"ref": {
|
|
6
|
+
"$ref": "#/definitions/WebhookRef"
|
|
7
|
+
},
|
|
8
|
+
"url": {
|
|
9
|
+
"type": "string"
|
|
10
|
+
},
|
|
11
|
+
"events": {
|
|
12
|
+
"type": "array",
|
|
13
|
+
"items": {
|
|
14
|
+
"$ref": "#/definitions/EventKind"
|
|
15
|
+
},
|
|
16
|
+
"description": "Normalised kinds the subscription covers, derived from `nativeEvents`."
|
|
17
|
+
},
|
|
18
|
+
"nativeEvents": {
|
|
19
|
+
"type": "array",
|
|
20
|
+
"items": {
|
|
21
|
+
"type": "string"
|
|
22
|
+
},
|
|
23
|
+
"description": "Forge-native event names exactly as the forge stores them."
|
|
24
|
+
},
|
|
25
|
+
"active": {
|
|
26
|
+
"type": "boolean"
|
|
27
|
+
},
|
|
28
|
+
"contentType": {
|
|
29
|
+
"type": "string",
|
|
30
|
+
"enum": [
|
|
31
|
+
"json",
|
|
32
|
+
"form"
|
|
33
|
+
],
|
|
34
|
+
"description": "`'json'` or `'form'` where the forge offers a choice."
|
|
35
|
+
},
|
|
36
|
+
"createdAt": {
|
|
37
|
+
"type": "string",
|
|
38
|
+
"format": "date-time"
|
|
39
|
+
},
|
|
40
|
+
"updatedAt": {
|
|
41
|
+
"type": "string",
|
|
42
|
+
"format": "date-time"
|
|
43
|
+
},
|
|
44
|
+
"secret": {
|
|
45
|
+
"not": {},
|
|
46
|
+
"description": "Never returned: no forge reads a webhook secret back."
|
|
47
|
+
},
|
|
48
|
+
"raw": {}
|
|
49
|
+
},
|
|
50
|
+
"required": [
|
|
51
|
+
"ref",
|
|
52
|
+
"url",
|
|
53
|
+
"events",
|
|
54
|
+
"nativeEvents",
|
|
55
|
+
"active",
|
|
56
|
+
"raw"
|
|
57
|
+
],
|
|
58
|
+
"description": "A registered webhook. The secret is never readable, so it is never returned.",
|
|
59
|
+
"x-forges-type": "Webhook",
|
|
60
|
+
"definitions": {
|
|
61
|
+
"EventKind": {
|
|
62
|
+
"type": "string",
|
|
63
|
+
"enum": [
|
|
64
|
+
"comment",
|
|
65
|
+
"review",
|
|
66
|
+
"review_comment",
|
|
67
|
+
"commit",
|
|
68
|
+
"label",
|
|
69
|
+
"state_change",
|
|
70
|
+
"assignment",
|
|
71
|
+
"mention",
|
|
72
|
+
"referenced",
|
|
73
|
+
"reaction",
|
|
74
|
+
"push",
|
|
75
|
+
"ref",
|
|
76
|
+
"repo",
|
|
77
|
+
"installation",
|
|
78
|
+
"membership",
|
|
79
|
+
"release",
|
|
80
|
+
"other"
|
|
81
|
+
],
|
|
82
|
+
"description": "What an event is about.",
|
|
83
|
+
"x-forges-type": "EventKind"
|
|
84
|
+
},
|
|
85
|
+
"ForgeInstance": {
|
|
86
|
+
"type": "string",
|
|
87
|
+
"description": "Host of a single forge deployment, for example `github.com` or `codeberg.org`.",
|
|
88
|
+
"x-forges-type": "ForgeInstance"
|
|
89
|
+
},
|
|
90
|
+
"ForgeKind": {
|
|
91
|
+
"anyOf": [
|
|
92
|
+
{
|
|
93
|
+
"$ref": "#/definitions/KnownForgeKind"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"type": "string"
|
|
97
|
+
}
|
|
98
|
+
],
|
|
99
|
+
"description": "Identifier of a forge implementation. Unknown forges are permitted so that third-party providers can be registered without a core release.",
|
|
100
|
+
"x-forges-type": "ForgeKind"
|
|
101
|
+
},
|
|
102
|
+
"KnownForgeKind": {
|
|
103
|
+
"type": "string",
|
|
104
|
+
"enum": [
|
|
105
|
+
"github",
|
|
106
|
+
"gitlab",
|
|
107
|
+
"bitbucket",
|
|
108
|
+
"forgejo",
|
|
109
|
+
"gitea",
|
|
110
|
+
"tangled",
|
|
111
|
+
"gitee",
|
|
112
|
+
"azure-devops",
|
|
113
|
+
"cursor-origin",
|
|
114
|
+
"pushin"
|
|
115
|
+
],
|
|
116
|
+
"description": "The forges this package ships providers for.",
|
|
117
|
+
"x-forges-type": "KnownForgeKind"
|
|
118
|
+
},
|
|
119
|
+
"RepoRef": {
|
|
120
|
+
"type": "object",
|
|
121
|
+
"properties": {
|
|
122
|
+
"forge": {
|
|
123
|
+
"$ref": "#/definitions/ForgeKind"
|
|
124
|
+
},
|
|
125
|
+
"instance": {
|
|
126
|
+
"$ref": "#/definitions/ForgeInstance",
|
|
127
|
+
"description": "The host of the instance, such as `github.com` or `git.example.com`."
|
|
128
|
+
},
|
|
129
|
+
"owner": {
|
|
130
|
+
"type": "string",
|
|
131
|
+
"description": "Full namespace path. On forges with nested groups (GitLab) this contains slashes, for example `acme/platform`; `name` never does."
|
|
132
|
+
},
|
|
133
|
+
"name": {
|
|
134
|
+
"type": "string",
|
|
135
|
+
"description": "Repository name. Empty for namespace-scoped refs."
|
|
136
|
+
},
|
|
137
|
+
"kind": {
|
|
138
|
+
"type": "string",
|
|
139
|
+
"enum": [
|
|
140
|
+
"repo",
|
|
141
|
+
"namespace"
|
|
142
|
+
],
|
|
143
|
+
"description": "`'namespace'` for subjects that belong to a group rather than a repository (GitLab epics). Absent means a repository."
|
|
144
|
+
},
|
|
145
|
+
"externalId": {
|
|
146
|
+
"type": "string",
|
|
147
|
+
"description": "Stable forge-native identifier that survives renames and transfers: a GitHub, Forgejo or Gitea numeric id, a GitLab project or group id, a Bitbucket UUID or a Tangled repo DID. {@link repoKey} prefers it over `owner` and `name`."
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
"required": [
|
|
151
|
+
"forge",
|
|
152
|
+
"instance",
|
|
153
|
+
"name",
|
|
154
|
+
"owner"
|
|
155
|
+
],
|
|
156
|
+
"description": "Addresses a repository by its forge, instance, owner and name.",
|
|
157
|
+
"x-forges-type": "RepoRef"
|
|
158
|
+
},
|
|
159
|
+
"WebhookRef": {
|
|
160
|
+
"type": "object",
|
|
161
|
+
"properties": {
|
|
162
|
+
"forge": {
|
|
163
|
+
"$ref": "#/definitions/ForgeKind"
|
|
164
|
+
},
|
|
165
|
+
"instance": {
|
|
166
|
+
"$ref": "#/definitions/ForgeInstance",
|
|
167
|
+
"description": "The host of the instance, such as `github.com` or `git.example.com`."
|
|
168
|
+
},
|
|
169
|
+
"target": {
|
|
170
|
+
"$ref": "#/definitions/RepoRef",
|
|
171
|
+
"description": "The repository or namespace that the hook is registered on."
|
|
172
|
+
},
|
|
173
|
+
"id": {
|
|
174
|
+
"type": "string",
|
|
175
|
+
"description": "Forge-native hook id."
|
|
176
|
+
}
|
|
177
|
+
},
|
|
178
|
+
"required": [
|
|
179
|
+
"forge",
|
|
180
|
+
"id",
|
|
181
|
+
"instance",
|
|
182
|
+
"target"
|
|
183
|
+
],
|
|
184
|
+
"description": "Reference to a registered webhook. `target` is the repository, or a namespace ref (`kind: 'namespace'`, empty `name`) for an organisation or workspace hook.",
|
|
185
|
+
"x-forges-type": "WebhookRef"
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|