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,138 @@
|
|
|
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
|
+
"repo": {
|
|
13
|
+
"$ref": "#/definitions/RepoRef"
|
|
14
|
+
},
|
|
15
|
+
"release": {
|
|
16
|
+
"$ref": "#/definitions/ReleaseRef"
|
|
17
|
+
},
|
|
18
|
+
"id": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"description": "Forge-native asset id; the asset name, or the link id, on forges that have no asset id."
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"required": [
|
|
24
|
+
"forge",
|
|
25
|
+
"id",
|
|
26
|
+
"instance",
|
|
27
|
+
"release",
|
|
28
|
+
"repo"
|
|
29
|
+
],
|
|
30
|
+
"description": "A release asset, addressable for download with `releases.downloadAsset`.",
|
|
31
|
+
"x-forges-type": "ReleaseAssetRef",
|
|
32
|
+
"definitions": {
|
|
33
|
+
"ForgeInstance": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"description": "Host of a single forge deployment, for example `github.com` or `codeberg.org`.",
|
|
36
|
+
"x-forges-type": "ForgeInstance"
|
|
37
|
+
},
|
|
38
|
+
"ForgeKind": {
|
|
39
|
+
"anyOf": [
|
|
40
|
+
{
|
|
41
|
+
"$ref": "#/definitions/KnownForgeKind"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"type": "string"
|
|
45
|
+
}
|
|
46
|
+
],
|
|
47
|
+
"description": "Identifier of a forge implementation. Unknown forges are permitted so that third-party providers can be registered without a core release.",
|
|
48
|
+
"x-forges-type": "ForgeKind"
|
|
49
|
+
},
|
|
50
|
+
"KnownForgeKind": {
|
|
51
|
+
"type": "string",
|
|
52
|
+
"enum": [
|
|
53
|
+
"github",
|
|
54
|
+
"gitlab",
|
|
55
|
+
"bitbucket",
|
|
56
|
+
"forgejo",
|
|
57
|
+
"gitea",
|
|
58
|
+
"tangled",
|
|
59
|
+
"gitee",
|
|
60
|
+
"azure-devops",
|
|
61
|
+
"cursor-origin",
|
|
62
|
+
"pushin"
|
|
63
|
+
],
|
|
64
|
+
"description": "The forges this package ships providers for.",
|
|
65
|
+
"x-forges-type": "KnownForgeKind"
|
|
66
|
+
},
|
|
67
|
+
"ReleaseRef": {
|
|
68
|
+
"type": "object",
|
|
69
|
+
"properties": {
|
|
70
|
+
"forge": {
|
|
71
|
+
"$ref": "#/definitions/ForgeKind"
|
|
72
|
+
},
|
|
73
|
+
"instance": {
|
|
74
|
+
"$ref": "#/definitions/ForgeInstance",
|
|
75
|
+
"description": "The host of the instance, such as `github.com` or `git.example.com`."
|
|
76
|
+
},
|
|
77
|
+
"repo": {
|
|
78
|
+
"$ref": "#/definitions/RepoRef"
|
|
79
|
+
},
|
|
80
|
+
"id": {
|
|
81
|
+
"type": "string",
|
|
82
|
+
"description": "Forge-native release id; the tag name on forges that key releases by tag."
|
|
83
|
+
},
|
|
84
|
+
"tag": {
|
|
85
|
+
"type": "string"
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
"required": [
|
|
89
|
+
"forge",
|
|
90
|
+
"id",
|
|
91
|
+
"instance",
|
|
92
|
+
"repo"
|
|
93
|
+
],
|
|
94
|
+
"description": "A release, as a notification subject or event target.",
|
|
95
|
+
"x-forges-type": "ReleaseRef"
|
|
96
|
+
},
|
|
97
|
+
"RepoRef": {
|
|
98
|
+
"type": "object",
|
|
99
|
+
"properties": {
|
|
100
|
+
"forge": {
|
|
101
|
+
"$ref": "#/definitions/ForgeKind"
|
|
102
|
+
},
|
|
103
|
+
"instance": {
|
|
104
|
+
"$ref": "#/definitions/ForgeInstance",
|
|
105
|
+
"description": "The host of the instance, such as `github.com` or `git.example.com`."
|
|
106
|
+
},
|
|
107
|
+
"owner": {
|
|
108
|
+
"type": "string",
|
|
109
|
+
"description": "Full namespace path. On forges with nested groups (GitLab) this contains slashes, for example `acme/platform`; `name` never does."
|
|
110
|
+
},
|
|
111
|
+
"name": {
|
|
112
|
+
"type": "string",
|
|
113
|
+
"description": "Repository name. Empty for namespace-scoped refs."
|
|
114
|
+
},
|
|
115
|
+
"kind": {
|
|
116
|
+
"type": "string",
|
|
117
|
+
"enum": [
|
|
118
|
+
"repo",
|
|
119
|
+
"namespace"
|
|
120
|
+
],
|
|
121
|
+
"description": "`'namespace'` for subjects that belong to a group rather than a repository (GitLab epics). Absent means a repository."
|
|
122
|
+
},
|
|
123
|
+
"externalId": {
|
|
124
|
+
"type": "string",
|
|
125
|
+
"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`."
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
"required": [
|
|
129
|
+
"forge",
|
|
130
|
+
"instance",
|
|
131
|
+
"name",
|
|
132
|
+
"owner"
|
|
133
|
+
],
|
|
134
|
+
"description": "Addresses a repository by its forge, instance, owner and name.",
|
|
135
|
+
"x-forges-type": "RepoRef"
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
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
|
+
"repo": {
|
|
13
|
+
"$ref": "#/definitions/RepoRef"
|
|
14
|
+
},
|
|
15
|
+
"id": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"description": "Forge-native release id; the tag name on forges that key releases by tag."
|
|
18
|
+
},
|
|
19
|
+
"tag": {
|
|
20
|
+
"type": "string"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"required": [
|
|
24
|
+
"forge",
|
|
25
|
+
"id",
|
|
26
|
+
"instance",
|
|
27
|
+
"repo"
|
|
28
|
+
],
|
|
29
|
+
"description": "A release, as a notification subject or event target.",
|
|
30
|
+
"x-forges-type": "ReleaseRef",
|
|
31
|
+
"definitions": {
|
|
32
|
+
"ForgeInstance": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"description": "Host of a single forge deployment, for example `github.com` or `codeberg.org`.",
|
|
35
|
+
"x-forges-type": "ForgeInstance"
|
|
36
|
+
},
|
|
37
|
+
"ForgeKind": {
|
|
38
|
+
"anyOf": [
|
|
39
|
+
{
|
|
40
|
+
"$ref": "#/definitions/KnownForgeKind"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"type": "string"
|
|
44
|
+
}
|
|
45
|
+
],
|
|
46
|
+
"description": "Identifier of a forge implementation. Unknown forges are permitted so that third-party providers can be registered without a core release.",
|
|
47
|
+
"x-forges-type": "ForgeKind"
|
|
48
|
+
},
|
|
49
|
+
"KnownForgeKind": {
|
|
50
|
+
"type": "string",
|
|
51
|
+
"enum": [
|
|
52
|
+
"github",
|
|
53
|
+
"gitlab",
|
|
54
|
+
"bitbucket",
|
|
55
|
+
"forgejo",
|
|
56
|
+
"gitea",
|
|
57
|
+
"tangled",
|
|
58
|
+
"gitee",
|
|
59
|
+
"azure-devops",
|
|
60
|
+
"cursor-origin",
|
|
61
|
+
"pushin"
|
|
62
|
+
],
|
|
63
|
+
"description": "The forges this package ships providers for.",
|
|
64
|
+
"x-forges-type": "KnownForgeKind"
|
|
65
|
+
},
|
|
66
|
+
"RepoRef": {
|
|
67
|
+
"type": "object",
|
|
68
|
+
"properties": {
|
|
69
|
+
"forge": {
|
|
70
|
+
"$ref": "#/definitions/ForgeKind"
|
|
71
|
+
},
|
|
72
|
+
"instance": {
|
|
73
|
+
"$ref": "#/definitions/ForgeInstance",
|
|
74
|
+
"description": "The host of the instance, such as `github.com` or `git.example.com`."
|
|
75
|
+
},
|
|
76
|
+
"owner": {
|
|
77
|
+
"type": "string",
|
|
78
|
+
"description": "Full namespace path. On forges with nested groups (GitLab) this contains slashes, for example `acme/platform`; `name` never does."
|
|
79
|
+
},
|
|
80
|
+
"name": {
|
|
81
|
+
"type": "string",
|
|
82
|
+
"description": "Repository name. Empty for namespace-scoped refs."
|
|
83
|
+
},
|
|
84
|
+
"kind": {
|
|
85
|
+
"type": "string",
|
|
86
|
+
"enum": [
|
|
87
|
+
"repo",
|
|
88
|
+
"namespace"
|
|
89
|
+
],
|
|
90
|
+
"description": "`'namespace'` for subjects that belong to a group rather than a repository (GitLab epics). Absent means a repository."
|
|
91
|
+
},
|
|
92
|
+
"externalId": {
|
|
93
|
+
"type": "string",
|
|
94
|
+
"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`."
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
"required": [
|
|
98
|
+
"forge",
|
|
99
|
+
"instance",
|
|
100
|
+
"name",
|
|
101
|
+
"owner"
|
|
102
|
+
],
|
|
103
|
+
"description": "Addresses a repository by its forge, instance, owner and name.",
|
|
104
|
+
"x-forges-type": "RepoRef"
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
@@ -0,0 +1,354 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"properties": {
|
|
5
|
+
"ref": {
|
|
6
|
+
"$ref": "#/definitions/RepoRef"
|
|
7
|
+
},
|
|
8
|
+
"displayName": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "The repository's name where `ref.name` is an identifier rather than the name (a Tangled record key)."
|
|
11
|
+
},
|
|
12
|
+
"description": {
|
|
13
|
+
"type": "string"
|
|
14
|
+
},
|
|
15
|
+
"defaultBranch": {
|
|
16
|
+
"type": "string"
|
|
17
|
+
},
|
|
18
|
+
"visibility": {
|
|
19
|
+
"$ref": "#/definitions/RepoVisibility",
|
|
20
|
+
"description": "Who can see the repository."
|
|
21
|
+
},
|
|
22
|
+
"visibilityRaw": {
|
|
23
|
+
"type": "string"
|
|
24
|
+
},
|
|
25
|
+
"isFork": {
|
|
26
|
+
"type": "boolean"
|
|
27
|
+
},
|
|
28
|
+
"isArchived": {
|
|
29
|
+
"type": "boolean",
|
|
30
|
+
"description": "The repository is archived and read-only."
|
|
31
|
+
},
|
|
32
|
+
"parent": {
|
|
33
|
+
"$ref": "#/definitions/RepoRef",
|
|
34
|
+
"description": "The repository that this one was forked from."
|
|
35
|
+
},
|
|
36
|
+
"topics": {
|
|
37
|
+
"type": "array",
|
|
38
|
+
"items": {
|
|
39
|
+
"type": "string"
|
|
40
|
+
},
|
|
41
|
+
"description": "Topics, also called tags, that describe the repository."
|
|
42
|
+
},
|
|
43
|
+
"url": {
|
|
44
|
+
"type": "string"
|
|
45
|
+
},
|
|
46
|
+
"cloneUrls": {
|
|
47
|
+
"type": "object",
|
|
48
|
+
"properties": {
|
|
49
|
+
"https": {
|
|
50
|
+
"type": "string"
|
|
51
|
+
},
|
|
52
|
+
"ssh": {
|
|
53
|
+
"type": "string"
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"description": "Git remotes. Tangled maps the hosting knot to its SSH host."
|
|
57
|
+
},
|
|
58
|
+
"createdAt": {
|
|
59
|
+
"type": "string",
|
|
60
|
+
"format": "date-time"
|
|
61
|
+
},
|
|
62
|
+
"updatedAt": {
|
|
63
|
+
"type": "string",
|
|
64
|
+
"format": "date-time"
|
|
65
|
+
},
|
|
66
|
+
"pushedAt": {
|
|
67
|
+
"type": "string",
|
|
68
|
+
"format": "date-time",
|
|
69
|
+
"description": "Last push, where the listing endpoint reports it."
|
|
70
|
+
},
|
|
71
|
+
"openIssueCount": {
|
|
72
|
+
"type": "number",
|
|
73
|
+
"description": "Open issues only, never combined with pull requests. Absent where the forge reports only the combined count (GitHub)."
|
|
74
|
+
},
|
|
75
|
+
"openPullCount": {
|
|
76
|
+
"type": "number",
|
|
77
|
+
"description": "The number of open pull requests, where the forge reports it."
|
|
78
|
+
},
|
|
79
|
+
"owner": {
|
|
80
|
+
"$ref": "#/definitions/Actor",
|
|
81
|
+
"description": "The account or organisation that owns the repository, where the forge reports one."
|
|
82
|
+
},
|
|
83
|
+
"language": {
|
|
84
|
+
"type": "string",
|
|
85
|
+
"description": "Primary language, as the forge detects it."
|
|
86
|
+
},
|
|
87
|
+
"homepage": {
|
|
88
|
+
"type": "string",
|
|
89
|
+
"description": "Project website, apart from the repository's own `url`."
|
|
90
|
+
},
|
|
91
|
+
"licence": {
|
|
92
|
+
"type": "string",
|
|
93
|
+
"description": "SPDX identifier of the licence the forge detects, for example `MIT`. SPDX identifiers are case-insensitive, and GitLab reports them in lower case, such as `mit`."
|
|
94
|
+
},
|
|
95
|
+
"stars": {
|
|
96
|
+
"type": "number"
|
|
97
|
+
},
|
|
98
|
+
"forks": {
|
|
99
|
+
"type": "number"
|
|
100
|
+
},
|
|
101
|
+
"watchers": {
|
|
102
|
+
"type": "number",
|
|
103
|
+
"description": "Accounts watching the repository's activity, apart from stars."
|
|
104
|
+
},
|
|
105
|
+
"permissions": {
|
|
106
|
+
"$ref": "#/definitions/RepoPermissions",
|
|
107
|
+
"description": "What the authenticated account may do."
|
|
108
|
+
},
|
|
109
|
+
"mergeMethods": {
|
|
110
|
+
"type": "array",
|
|
111
|
+
"items": {
|
|
112
|
+
"$ref": "#/definitions/MergeMethod"
|
|
113
|
+
},
|
|
114
|
+
"description": "Merge methods the repository allows, where the forge reports them. Empty means the forge reported none."
|
|
115
|
+
},
|
|
116
|
+
"features": {
|
|
117
|
+
"$ref": "#/definitions/RepoFeatures"
|
|
118
|
+
},
|
|
119
|
+
"raw": {}
|
|
120
|
+
},
|
|
121
|
+
"required": [
|
|
122
|
+
"ref",
|
|
123
|
+
"visibility",
|
|
124
|
+
"isFork",
|
|
125
|
+
"isArchived",
|
|
126
|
+
"topics",
|
|
127
|
+
"raw"
|
|
128
|
+
],
|
|
129
|
+
"description": "A repository as every forge reports it. Fields that not every forge has, such as `openPullCount`, are optional.",
|
|
130
|
+
"x-forges-type": "Repo",
|
|
131
|
+
"definitions": {
|
|
132
|
+
"Actor": {
|
|
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
|
+
"login": {
|
|
143
|
+
"type": "string"
|
|
144
|
+
},
|
|
145
|
+
"id": {
|
|
146
|
+
"type": "string"
|
|
147
|
+
},
|
|
148
|
+
"name": {
|
|
149
|
+
"type": "string"
|
|
150
|
+
},
|
|
151
|
+
"avatarUrl": {
|
|
152
|
+
"type": "string"
|
|
153
|
+
},
|
|
154
|
+
"url": {
|
|
155
|
+
"type": "string"
|
|
156
|
+
},
|
|
157
|
+
"typeRaw": {
|
|
158
|
+
"type": "string",
|
|
159
|
+
"description": "Forge-reported account type, retained verbatim for callers that classify further."
|
|
160
|
+
},
|
|
161
|
+
"isBotHint": {
|
|
162
|
+
"type": "boolean",
|
|
163
|
+
"description": "Hint derived from forge metadata that the actor is automation. Callers own the classification policy."
|
|
164
|
+
},
|
|
165
|
+
"app": {
|
|
166
|
+
"type": "object",
|
|
167
|
+
"properties": {
|
|
168
|
+
"slug": {
|
|
169
|
+
"type": "string"
|
|
170
|
+
},
|
|
171
|
+
"id": {
|
|
172
|
+
"type": "string"
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
"required": [
|
|
176
|
+
"slug"
|
|
177
|
+
],
|
|
178
|
+
"description": "The app behind a bot account, where the forge ties one to it (GitHub Apps' `slug[bot]` users)."
|
|
179
|
+
}
|
|
180
|
+
},
|
|
181
|
+
"required": [
|
|
182
|
+
"forge",
|
|
183
|
+
"id",
|
|
184
|
+
"instance",
|
|
185
|
+
"isBotHint",
|
|
186
|
+
"login"
|
|
187
|
+
],
|
|
188
|
+
"description": "An account: a user, an organisation or a bot.",
|
|
189
|
+
"x-forges-type": "Actor"
|
|
190
|
+
},
|
|
191
|
+
"ForgeInstance": {
|
|
192
|
+
"type": "string",
|
|
193
|
+
"description": "Host of a single forge deployment, for example `github.com` or `codeberg.org`.",
|
|
194
|
+
"x-forges-type": "ForgeInstance"
|
|
195
|
+
},
|
|
196
|
+
"ForgeKind": {
|
|
197
|
+
"anyOf": [
|
|
198
|
+
{
|
|
199
|
+
"$ref": "#/definitions/KnownForgeKind"
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"type": "string"
|
|
203
|
+
}
|
|
204
|
+
],
|
|
205
|
+
"description": "Identifier of a forge implementation. Unknown forges are permitted so that third-party providers can be registered without a core release.",
|
|
206
|
+
"x-forges-type": "ForgeKind"
|
|
207
|
+
},
|
|
208
|
+
"KnownForgeKind": {
|
|
209
|
+
"type": "string",
|
|
210
|
+
"enum": [
|
|
211
|
+
"github",
|
|
212
|
+
"gitlab",
|
|
213
|
+
"bitbucket",
|
|
214
|
+
"forgejo",
|
|
215
|
+
"gitea",
|
|
216
|
+
"tangled",
|
|
217
|
+
"gitee",
|
|
218
|
+
"azure-devops",
|
|
219
|
+
"cursor-origin",
|
|
220
|
+
"pushin"
|
|
221
|
+
],
|
|
222
|
+
"description": "The forges this package ships providers for.",
|
|
223
|
+
"x-forges-type": "KnownForgeKind"
|
|
224
|
+
},
|
|
225
|
+
"MergeMethod": {
|
|
226
|
+
"type": "string",
|
|
227
|
+
"enum": [
|
|
228
|
+
"merge",
|
|
229
|
+
"squash",
|
|
230
|
+
"rebase",
|
|
231
|
+
"rebase_merge",
|
|
232
|
+
"fast_forward_only"
|
|
233
|
+
],
|
|
234
|
+
"description": "How a pull request is merged.",
|
|
235
|
+
"x-forges-type": "MergeMethod"
|
|
236
|
+
},
|
|
237
|
+
"RepoFeatures": {
|
|
238
|
+
"type": "object",
|
|
239
|
+
"properties": {
|
|
240
|
+
"issues": {
|
|
241
|
+
"type": "boolean"
|
|
242
|
+
},
|
|
243
|
+
"pullRequests": {
|
|
244
|
+
"type": "boolean"
|
|
245
|
+
},
|
|
246
|
+
"discussions": {
|
|
247
|
+
"type": "boolean"
|
|
248
|
+
},
|
|
249
|
+
"wiki": {
|
|
250
|
+
"type": "boolean"
|
|
251
|
+
},
|
|
252
|
+
"projects": {
|
|
253
|
+
"type": "boolean"
|
|
254
|
+
},
|
|
255
|
+
"releases": {
|
|
256
|
+
"type": "boolean"
|
|
257
|
+
}
|
|
258
|
+
},
|
|
259
|
+
"required": [
|
|
260
|
+
"issues",
|
|
261
|
+
"pullRequests",
|
|
262
|
+
"discussions",
|
|
263
|
+
"wiki",
|
|
264
|
+
"projects",
|
|
265
|
+
"releases"
|
|
266
|
+
],
|
|
267
|
+
"description": "Which subjects a repository has switched on, where the forge makes them per repository.",
|
|
268
|
+
"x-forges-type": "RepoFeatures"
|
|
269
|
+
},
|
|
270
|
+
"RepoPermissions": {
|
|
271
|
+
"type": "object",
|
|
272
|
+
"properties": {
|
|
273
|
+
"admin": {
|
|
274
|
+
"type": "boolean",
|
|
275
|
+
"description": "Full administrative access."
|
|
276
|
+
},
|
|
277
|
+
"maintain": {
|
|
278
|
+
"type": "boolean",
|
|
279
|
+
"description": "Manage the repository without access to sensitive or destructive settings."
|
|
280
|
+
},
|
|
281
|
+
"push": {
|
|
282
|
+
"type": "boolean"
|
|
283
|
+
},
|
|
284
|
+
"triage": {
|
|
285
|
+
"type": "boolean",
|
|
286
|
+
"description": "Manage issues and pull requests without write access."
|
|
287
|
+
},
|
|
288
|
+
"pull": {
|
|
289
|
+
"type": "boolean",
|
|
290
|
+
"description": "Read and clone the repository."
|
|
291
|
+
}
|
|
292
|
+
},
|
|
293
|
+
"required": [
|
|
294
|
+
"admin",
|
|
295
|
+
"maintain",
|
|
296
|
+
"push",
|
|
297
|
+
"triage",
|
|
298
|
+
"pull"
|
|
299
|
+
],
|
|
300
|
+
"description": "The authenticated account's access to a repository.",
|
|
301
|
+
"x-forges-type": "RepoPermissions"
|
|
302
|
+
},
|
|
303
|
+
"RepoRef": {
|
|
304
|
+
"type": "object",
|
|
305
|
+
"properties": {
|
|
306
|
+
"forge": {
|
|
307
|
+
"$ref": "#/definitions/ForgeKind"
|
|
308
|
+
},
|
|
309
|
+
"instance": {
|
|
310
|
+
"$ref": "#/definitions/ForgeInstance",
|
|
311
|
+
"description": "The host of the instance, such as `github.com` or `git.example.com`."
|
|
312
|
+
},
|
|
313
|
+
"owner": {
|
|
314
|
+
"type": "string",
|
|
315
|
+
"description": "Full namespace path. On forges with nested groups (GitLab) this contains slashes, for example `acme/platform`; `name` never does."
|
|
316
|
+
},
|
|
317
|
+
"name": {
|
|
318
|
+
"type": "string",
|
|
319
|
+
"description": "Repository name. Empty for namespace-scoped refs."
|
|
320
|
+
},
|
|
321
|
+
"kind": {
|
|
322
|
+
"type": "string",
|
|
323
|
+
"enum": [
|
|
324
|
+
"repo",
|
|
325
|
+
"namespace"
|
|
326
|
+
],
|
|
327
|
+
"description": "`'namespace'` for subjects that belong to a group rather than a repository (GitLab epics). Absent means a repository."
|
|
328
|
+
},
|
|
329
|
+
"externalId": {
|
|
330
|
+
"type": "string",
|
|
331
|
+
"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`."
|
|
332
|
+
}
|
|
333
|
+
},
|
|
334
|
+
"required": [
|
|
335
|
+
"forge",
|
|
336
|
+
"instance",
|
|
337
|
+
"name",
|
|
338
|
+
"owner"
|
|
339
|
+
],
|
|
340
|
+
"description": "Addresses a repository by its forge, instance, owner and name.",
|
|
341
|
+
"x-forges-type": "RepoRef"
|
|
342
|
+
},
|
|
343
|
+
"RepoVisibility": {
|
|
344
|
+
"type": "string",
|
|
345
|
+
"enum": [
|
|
346
|
+
"public",
|
|
347
|
+
"private",
|
|
348
|
+
"internal"
|
|
349
|
+
],
|
|
350
|
+
"description": "Who can see a repository.",
|
|
351
|
+
"x-forges-type": "RepoVisibility"
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"properties": {
|
|
5
|
+
"issues": {
|
|
6
|
+
"type": "boolean"
|
|
7
|
+
},
|
|
8
|
+
"pullRequests": {
|
|
9
|
+
"type": "boolean"
|
|
10
|
+
},
|
|
11
|
+
"discussions": {
|
|
12
|
+
"type": "boolean"
|
|
13
|
+
},
|
|
14
|
+
"wiki": {
|
|
15
|
+
"type": "boolean"
|
|
16
|
+
},
|
|
17
|
+
"projects": {
|
|
18
|
+
"type": "boolean"
|
|
19
|
+
},
|
|
20
|
+
"releases": {
|
|
21
|
+
"type": "boolean"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"required": [
|
|
25
|
+
"issues",
|
|
26
|
+
"pullRequests",
|
|
27
|
+
"discussions",
|
|
28
|
+
"wiki",
|
|
29
|
+
"projects",
|
|
30
|
+
"releases"
|
|
31
|
+
],
|
|
32
|
+
"description": "Which subjects a repository has switched on, where the forge makes them per repository.",
|
|
33
|
+
"x-forges-type": "RepoFeatures",
|
|
34
|
+
"definitions": {}
|
|
35
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"properties": {
|
|
5
|
+
"admin": {
|
|
6
|
+
"type": "boolean",
|
|
7
|
+
"description": "Full administrative access."
|
|
8
|
+
},
|
|
9
|
+
"maintain": {
|
|
10
|
+
"type": "boolean",
|
|
11
|
+
"description": "Manage the repository without access to sensitive or destructive settings."
|
|
12
|
+
},
|
|
13
|
+
"push": {
|
|
14
|
+
"type": "boolean"
|
|
15
|
+
},
|
|
16
|
+
"triage": {
|
|
17
|
+
"type": "boolean",
|
|
18
|
+
"description": "Manage issues and pull requests without write access."
|
|
19
|
+
},
|
|
20
|
+
"pull": {
|
|
21
|
+
"type": "boolean",
|
|
22
|
+
"description": "Read and clone the repository."
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"required": [
|
|
26
|
+
"admin",
|
|
27
|
+
"maintain",
|
|
28
|
+
"push",
|
|
29
|
+
"triage",
|
|
30
|
+
"pull"
|
|
31
|
+
],
|
|
32
|
+
"description": "The authenticated account's access to a repository.",
|
|
33
|
+
"x-forges-type": "RepoPermissions",
|
|
34
|
+
"definitions": {}
|
|
35
|
+
}
|