@foss.global/interfaces 0.7.0 → 0.9.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/changelog.md +18 -0
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/data/public.d.ts +66 -0
- package/dist_ts/data/runner.d.ts +20 -1
- package/dist_ts/requests/public.d.ts +117 -0
- package/package.json +1 -1
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/data/public.ts +87 -0
- package/ts/data/runner.ts +22 -1
- package/ts/requests/public.ts +153 -0
package/changelog.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2026-07-21 - 0.9.0
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- add native pull request contracts (pull-requests)
|
|
8
|
+
- Add public pull request, discussion, review, inline review comment, and merge state shapes.
|
|
9
|
+
- Add typed mutation contracts for pull request creation, state changes, review submission and dismissal, and generation-fenced merge queue operations.
|
|
10
|
+
- Extend repository public reads with pull request details and conversation data.
|
|
11
|
+
|
|
12
|
+
## 2026-07-21 - 0.8.0
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
- add repository-scoped CI cache protocol contracts (ci-caches)
|
|
17
|
+
- Add exact cache key, declared restore path, save policy, and retention job specifications.
|
|
18
|
+
- Allow runners to advertise cache capability and return generation-fenced save metadata.
|
|
19
|
+
- Add export coverage for the new cache contract shapes.
|
|
20
|
+
|
|
3
21
|
## 2026-07-21 - 0.7.0
|
|
4
22
|
|
|
5
23
|
### Features
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@foss.global/interfaces',
|
|
6
|
-
version: '0.
|
|
6
|
+
version: '0.9.0',
|
|
7
7
|
description: 'Shared TypeScript interfaces and TypedRequest contracts for the foss.global Git platform ecosystem.'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSx5QkFBeUI7SUFDL0IsT0FBTyxFQUFFLE9BQU87SUFDaEIsV0FBVyxFQUFFLHFHQUFxRztDQUNuSCxDQUFBIn0=
|
package/dist_ts/data/public.d.ts
CHANGED
|
@@ -111,6 +111,72 @@ export interface IPublicIssueComment {
|
|
|
111
111
|
updatedAt: string;
|
|
112
112
|
user: IPublicUser;
|
|
113
113
|
}
|
|
114
|
+
export type TRepositoryPullRequestState = 'open' | 'closed' | 'merged';
|
|
115
|
+
export type TRepositoryPullRequestMergeMethod = 'merge' | 'squash' | 'rebase';
|
|
116
|
+
export type TRepositoryPullRequestMergeState = 'checking' | 'clean' | 'conflicting' | 'blocked' | 'queued' | 'merging' | 'merged' | 'failed';
|
|
117
|
+
export type TRepositoryPullRequestReviewState = 'commented' | 'approved' | 'changes_requested' | 'dismissed';
|
|
118
|
+
export type TRepositoryPullRequestReviewSide = 'base' | 'head';
|
|
119
|
+
export interface IPublicPullRequest {
|
|
120
|
+
number: number;
|
|
121
|
+
title: string;
|
|
122
|
+
body: string;
|
|
123
|
+
htmlUrl: string;
|
|
124
|
+
state: TRepositoryPullRequestState;
|
|
125
|
+
draft: boolean;
|
|
126
|
+
sourceOrg: string;
|
|
127
|
+
sourceRepo: string;
|
|
128
|
+
sourceRef: string;
|
|
129
|
+
targetRef: string;
|
|
130
|
+
sourceObjectId: string;
|
|
131
|
+
targetObjectId: string;
|
|
132
|
+
mergeState: TRepositoryPullRequestMergeState;
|
|
133
|
+
mergeable: boolean | null;
|
|
134
|
+
mergeMethod: TRepositoryPullRequestMergeMethod | null;
|
|
135
|
+
mergeCommitId: string | null;
|
|
136
|
+
queuePosition: number | null;
|
|
137
|
+
comments: number;
|
|
138
|
+
reviews: number;
|
|
139
|
+
approvals: number;
|
|
140
|
+
changesRequested: number;
|
|
141
|
+
createdAt: string;
|
|
142
|
+
updatedAt: string;
|
|
143
|
+
closedAt: string | null;
|
|
144
|
+
mergedAt: string | null;
|
|
145
|
+
user: IPublicUser;
|
|
146
|
+
mergedBy: IPublicUser | null;
|
|
147
|
+
}
|
|
148
|
+
export interface IPublicPullRequestComment {
|
|
149
|
+
id: number;
|
|
150
|
+
body: string;
|
|
151
|
+
htmlUrl: string;
|
|
152
|
+
createdAt: string;
|
|
153
|
+
updatedAt: string;
|
|
154
|
+
user: IPublicUser;
|
|
155
|
+
}
|
|
156
|
+
export interface IPublicPullRequestReview {
|
|
157
|
+
id: number;
|
|
158
|
+
body: string;
|
|
159
|
+
htmlUrl: string;
|
|
160
|
+
state: TRepositoryPullRequestReviewState;
|
|
161
|
+
commitId: string;
|
|
162
|
+
submittedAt: string;
|
|
163
|
+
dismissedAt: string | null;
|
|
164
|
+
user: IPublicUser;
|
|
165
|
+
}
|
|
166
|
+
export interface IPublicPullRequestReviewComment {
|
|
167
|
+
id: number;
|
|
168
|
+
reviewId: number;
|
|
169
|
+
body: string;
|
|
170
|
+
path: string;
|
|
171
|
+
side: TRepositoryPullRequestReviewSide;
|
|
172
|
+
line: number;
|
|
173
|
+
commitId: string;
|
|
174
|
+
stale: boolean;
|
|
175
|
+
htmlUrl: string;
|
|
176
|
+
createdAt: string;
|
|
177
|
+
updatedAt: string;
|
|
178
|
+
user: IPublicUser;
|
|
179
|
+
}
|
|
114
180
|
export interface IPublicCommit {
|
|
115
181
|
sha: string;
|
|
116
182
|
shortSha: string;
|
package/dist_ts/data/runner.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export type TOciRuntime = 'docker' | 'podman';
|
|
|
4
4
|
export type TJobNetwork = 'none' | 'bridge';
|
|
5
5
|
export type TLogStream = 'stdout' | 'stderr' | 'runner';
|
|
6
6
|
export type TJobArtifactWhen = 'always' | 'success' | 'failure';
|
|
7
|
+
export type TJobCacheSaveWhen = 'always' | 'success';
|
|
7
8
|
export type TJobCompletionStatus = 'succeeded' | 'failed' | 'canceled' | 'timed_out' | 'system_error';
|
|
8
9
|
export type TCiJobState = 'queued' | 'running' | TJobCompletionStatus;
|
|
9
10
|
export interface IRunnerCredential {
|
|
@@ -17,7 +18,7 @@ export interface IRunnerCapabilities {
|
|
|
17
18
|
networks: TJobNetwork[];
|
|
18
19
|
sourceArchives: ['tar.gz'];
|
|
19
20
|
artifacts: boolean;
|
|
20
|
-
caches:
|
|
21
|
+
caches: boolean;
|
|
21
22
|
serviceContainers: false;
|
|
22
23
|
}
|
|
23
24
|
export interface IRegisterRunnerRequest {
|
|
@@ -71,6 +72,13 @@ export interface IJobArtifactSpec {
|
|
|
71
72
|
required?: boolean;
|
|
72
73
|
retentionDays?: number;
|
|
73
74
|
}
|
|
75
|
+
export interface IJobCacheSpec {
|
|
76
|
+
name: string;
|
|
77
|
+
key: string;
|
|
78
|
+
paths: string[];
|
|
79
|
+
saveWhen?: TJobCacheSaveWhen;
|
|
80
|
+
retentionDays?: number;
|
|
81
|
+
}
|
|
74
82
|
export interface IJobSpec {
|
|
75
83
|
image: string;
|
|
76
84
|
command: string[];
|
|
@@ -81,6 +89,7 @@ export interface IJobSpec {
|
|
|
81
89
|
resources?: IJobResources;
|
|
82
90
|
source?: IJobSourceArchive;
|
|
83
91
|
artifacts?: IJobArtifactSpec[];
|
|
92
|
+
caches?: IJobCacheSpec[];
|
|
84
93
|
}
|
|
85
94
|
export interface IJobLease {
|
|
86
95
|
jobId: string;
|
|
@@ -135,6 +144,16 @@ export interface ICiArtifactUploadResponse {
|
|
|
135
144
|
createdAt: string;
|
|
136
145
|
expiresAt: string;
|
|
137
146
|
}
|
|
147
|
+
export interface ICiCacheSaveResponse {
|
|
148
|
+
name: string;
|
|
149
|
+
key: string;
|
|
150
|
+
generation: number;
|
|
151
|
+
sha256: string;
|
|
152
|
+
sizeBytes: number;
|
|
153
|
+
createdAt: string;
|
|
154
|
+
updatedAt: string;
|
|
155
|
+
expiresAt: string;
|
|
156
|
+
}
|
|
138
157
|
export interface ICompleteJobRequest extends IJobMutationIdentity {
|
|
139
158
|
status: TJobCompletionStatus;
|
|
140
159
|
exitCode: number | null;
|
|
@@ -42,6 +42,7 @@ export interface IReq_PublicRepo extends plugins.typedrequestInterfaces.implemen
|
|
|
42
42
|
repo: string;
|
|
43
43
|
path?: string;
|
|
44
44
|
issueNumber?: number;
|
|
45
|
+
pullRequestNumber?: number;
|
|
45
46
|
};
|
|
46
47
|
response: {
|
|
47
48
|
repo: data.IPublicRepo | null;
|
|
@@ -52,6 +53,11 @@ export interface IReq_PublicRepo extends plugins.typedrequestInterfaces.implemen
|
|
|
52
53
|
issues: data.IPublicIssue[];
|
|
53
54
|
selectedIssue: data.IPublicIssue | null;
|
|
54
55
|
selectedIssueComments: data.IPublicIssueComment[];
|
|
56
|
+
pullRequests: data.IPublicPullRequest[];
|
|
57
|
+
selectedPullRequest: data.IPublicPullRequest | null;
|
|
58
|
+
selectedPullRequestComments: data.IPublicPullRequestComment[];
|
|
59
|
+
selectedPullRequestReviews: data.IPublicPullRequestReview[];
|
|
60
|
+
selectedPullRequestReviewComments: data.IPublicPullRequestReviewComment[];
|
|
55
61
|
commits: data.IPublicCommit[];
|
|
56
62
|
languages: Record<string, number>;
|
|
57
63
|
};
|
|
@@ -170,3 +176,114 @@ export interface IReq_RepositoryIssueStateUpdate extends plugins.typedrequestInt
|
|
|
170
176
|
issue: data.IPublicIssue;
|
|
171
177
|
};
|
|
172
178
|
}
|
|
179
|
+
export interface IReq_RepositoryPullRequestCreate extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_RepositoryPullRequestCreate> {
|
|
180
|
+
method: 'repositoryPullRequestCreate';
|
|
181
|
+
request: {
|
|
182
|
+
org: string;
|
|
183
|
+
repo: string;
|
|
184
|
+
title: string;
|
|
185
|
+
body: string;
|
|
186
|
+
sourceOrg: string;
|
|
187
|
+
sourceRepo: string;
|
|
188
|
+
sourceRef: string;
|
|
189
|
+
targetRef: string;
|
|
190
|
+
draft: boolean;
|
|
191
|
+
accessToken: string;
|
|
192
|
+
};
|
|
193
|
+
response: {
|
|
194
|
+
pullRequest: data.IPublicPullRequest;
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
export interface IReq_RepositoryPullRequestCommentCreate extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_RepositoryPullRequestCommentCreate> {
|
|
198
|
+
method: 'repositoryPullRequestCommentCreate';
|
|
199
|
+
request: {
|
|
200
|
+
org: string;
|
|
201
|
+
repo: string;
|
|
202
|
+
pullRequestNumber: number;
|
|
203
|
+
body: string;
|
|
204
|
+
accessToken: string;
|
|
205
|
+
};
|
|
206
|
+
response: {
|
|
207
|
+
comment: data.IPublicPullRequestComment;
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
export interface IReq_RepositoryPullRequestStateUpdate extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_RepositoryPullRequestStateUpdate> {
|
|
211
|
+
method: 'repositoryPullRequestStateUpdate';
|
|
212
|
+
request: {
|
|
213
|
+
org: string;
|
|
214
|
+
repo: string;
|
|
215
|
+
pullRequestNumber: number;
|
|
216
|
+
state: 'open' | 'closed';
|
|
217
|
+
draft?: boolean;
|
|
218
|
+
accessToken: string;
|
|
219
|
+
};
|
|
220
|
+
response: {
|
|
221
|
+
pullRequest: data.IPublicPullRequest;
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
export interface IRepositoryPullRequestReviewCommentInput {
|
|
225
|
+
body: string;
|
|
226
|
+
path: string;
|
|
227
|
+
side: data.TRepositoryPullRequestReviewSide;
|
|
228
|
+
line: number;
|
|
229
|
+
}
|
|
230
|
+
export interface IReq_RepositoryPullRequestReviewSubmit extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_RepositoryPullRequestReviewSubmit> {
|
|
231
|
+
method: 'repositoryPullRequestReviewSubmit';
|
|
232
|
+
request: {
|
|
233
|
+
org: string;
|
|
234
|
+
repo: string;
|
|
235
|
+
pullRequestNumber: number;
|
|
236
|
+
state: Exclude<data.TRepositoryPullRequestReviewState, 'dismissed'>;
|
|
237
|
+
body: string;
|
|
238
|
+
commitId: string;
|
|
239
|
+
comments: IRepositoryPullRequestReviewCommentInput[];
|
|
240
|
+
accessToken: string;
|
|
241
|
+
};
|
|
242
|
+
response: {
|
|
243
|
+
review: data.IPublicPullRequestReview;
|
|
244
|
+
comments: data.IPublicPullRequestReviewComment[];
|
|
245
|
+
pullRequest: data.IPublicPullRequest;
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
export interface IReq_RepositoryPullRequestReviewDismiss extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_RepositoryPullRequestReviewDismiss> {
|
|
249
|
+
method: 'repositoryPullRequestReviewDismiss';
|
|
250
|
+
request: {
|
|
251
|
+
org: string;
|
|
252
|
+
repo: string;
|
|
253
|
+
pullRequestNumber: number;
|
|
254
|
+
reviewId: number;
|
|
255
|
+
message: string;
|
|
256
|
+
accessToken: string;
|
|
257
|
+
};
|
|
258
|
+
response: {
|
|
259
|
+
review: data.IPublicPullRequestReview;
|
|
260
|
+
pullRequest: data.IPublicPullRequest;
|
|
261
|
+
};
|
|
262
|
+
}
|
|
263
|
+
export interface IReq_RepositoryPullRequestMergeEnqueue extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_RepositoryPullRequestMergeEnqueue> {
|
|
264
|
+
method: 'repositoryPullRequestMergeEnqueue';
|
|
265
|
+
request: {
|
|
266
|
+
org: string;
|
|
267
|
+
repo: string;
|
|
268
|
+
pullRequestNumber: number;
|
|
269
|
+
method: data.TRepositoryPullRequestMergeMethod;
|
|
270
|
+
expectedSourceObjectId: string;
|
|
271
|
+
expectedTargetObjectId: string;
|
|
272
|
+
accessToken: string;
|
|
273
|
+
};
|
|
274
|
+
response: {
|
|
275
|
+
pullRequest: data.IPublicPullRequest;
|
|
276
|
+
};
|
|
277
|
+
}
|
|
278
|
+
export interface IReq_RepositoryPullRequestMergeCancel extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_RepositoryPullRequestMergeCancel> {
|
|
279
|
+
method: 'repositoryPullRequestMergeCancel';
|
|
280
|
+
request: {
|
|
281
|
+
org: string;
|
|
282
|
+
repo: string;
|
|
283
|
+
pullRequestNumber: number;
|
|
284
|
+
accessToken: string;
|
|
285
|
+
};
|
|
286
|
+
response: {
|
|
287
|
+
pullRequest: data.IPublicPullRequest;
|
|
288
|
+
};
|
|
289
|
+
}
|
package/package.json
CHANGED
package/ts/00_commitinfo_data.ts
CHANGED
package/ts/data/public.ts
CHANGED
|
@@ -135,6 +135,93 @@ export interface IPublicIssueComment {
|
|
|
135
135
|
user: IPublicUser;
|
|
136
136
|
}
|
|
137
137
|
|
|
138
|
+
export type TRepositoryPullRequestState = 'open' | 'closed' | 'merged';
|
|
139
|
+
|
|
140
|
+
export type TRepositoryPullRequestMergeMethod = 'merge' | 'squash' | 'rebase';
|
|
141
|
+
|
|
142
|
+
export type TRepositoryPullRequestMergeState =
|
|
143
|
+
| 'checking'
|
|
144
|
+
| 'clean'
|
|
145
|
+
| 'conflicting'
|
|
146
|
+
| 'blocked'
|
|
147
|
+
| 'queued'
|
|
148
|
+
| 'merging'
|
|
149
|
+
| 'merged'
|
|
150
|
+
| 'failed';
|
|
151
|
+
|
|
152
|
+
export type TRepositoryPullRequestReviewState =
|
|
153
|
+
| 'commented'
|
|
154
|
+
| 'approved'
|
|
155
|
+
| 'changes_requested'
|
|
156
|
+
| 'dismissed';
|
|
157
|
+
|
|
158
|
+
export type TRepositoryPullRequestReviewSide = 'base' | 'head';
|
|
159
|
+
|
|
160
|
+
export interface IPublicPullRequest {
|
|
161
|
+
number: number;
|
|
162
|
+
title: string;
|
|
163
|
+
body: string;
|
|
164
|
+
htmlUrl: string;
|
|
165
|
+
state: TRepositoryPullRequestState;
|
|
166
|
+
draft: boolean;
|
|
167
|
+
sourceOrg: string;
|
|
168
|
+
sourceRepo: string;
|
|
169
|
+
sourceRef: string;
|
|
170
|
+
targetRef: string;
|
|
171
|
+
sourceObjectId: string;
|
|
172
|
+
targetObjectId: string;
|
|
173
|
+
mergeState: TRepositoryPullRequestMergeState;
|
|
174
|
+
mergeable: boolean | null;
|
|
175
|
+
mergeMethod: TRepositoryPullRequestMergeMethod | null;
|
|
176
|
+
mergeCommitId: string | null;
|
|
177
|
+
queuePosition: number | null;
|
|
178
|
+
comments: number;
|
|
179
|
+
reviews: number;
|
|
180
|
+
approvals: number;
|
|
181
|
+
changesRequested: number;
|
|
182
|
+
createdAt: string;
|
|
183
|
+
updatedAt: string;
|
|
184
|
+
closedAt: string | null;
|
|
185
|
+
mergedAt: string | null;
|
|
186
|
+
user: IPublicUser;
|
|
187
|
+
mergedBy: IPublicUser | null;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
export interface IPublicPullRequestComment {
|
|
191
|
+
id: number;
|
|
192
|
+
body: string;
|
|
193
|
+
htmlUrl: string;
|
|
194
|
+
createdAt: string;
|
|
195
|
+
updatedAt: string;
|
|
196
|
+
user: IPublicUser;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
export interface IPublicPullRequestReview {
|
|
200
|
+
id: number;
|
|
201
|
+
body: string;
|
|
202
|
+
htmlUrl: string;
|
|
203
|
+
state: TRepositoryPullRequestReviewState;
|
|
204
|
+
commitId: string;
|
|
205
|
+
submittedAt: string;
|
|
206
|
+
dismissedAt: string | null;
|
|
207
|
+
user: IPublicUser;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
export interface IPublicPullRequestReviewComment {
|
|
211
|
+
id: number;
|
|
212
|
+
reviewId: number;
|
|
213
|
+
body: string;
|
|
214
|
+
path: string;
|
|
215
|
+
side: TRepositoryPullRequestReviewSide;
|
|
216
|
+
line: number;
|
|
217
|
+
commitId: string;
|
|
218
|
+
stale: boolean;
|
|
219
|
+
htmlUrl: string;
|
|
220
|
+
createdAt: string;
|
|
221
|
+
updatedAt: string;
|
|
222
|
+
user: IPublicUser;
|
|
223
|
+
}
|
|
224
|
+
|
|
138
225
|
export interface IPublicCommit {
|
|
139
226
|
sha: string;
|
|
140
227
|
shortSha: string;
|
package/ts/data/runner.ts
CHANGED
|
@@ -5,6 +5,7 @@ export type TOciRuntime = 'docker' | 'podman';
|
|
|
5
5
|
export type TJobNetwork = 'none' | 'bridge';
|
|
6
6
|
export type TLogStream = 'stdout' | 'stderr' | 'runner';
|
|
7
7
|
export type TJobArtifactWhen = 'always' | 'success' | 'failure';
|
|
8
|
+
export type TJobCacheSaveWhen = 'always' | 'success';
|
|
8
9
|
export type TJobCompletionStatus =
|
|
9
10
|
| 'succeeded'
|
|
10
11
|
| 'failed'
|
|
@@ -25,7 +26,7 @@ export interface IRunnerCapabilities {
|
|
|
25
26
|
networks: TJobNetwork[];
|
|
26
27
|
sourceArchives: ['tar.gz'];
|
|
27
28
|
artifacts: boolean;
|
|
28
|
-
caches:
|
|
29
|
+
caches: boolean;
|
|
29
30
|
serviceContainers: false;
|
|
30
31
|
}
|
|
31
32
|
|
|
@@ -89,6 +90,14 @@ export interface IJobArtifactSpec {
|
|
|
89
90
|
retentionDays?: number;
|
|
90
91
|
}
|
|
91
92
|
|
|
93
|
+
export interface IJobCacheSpec {
|
|
94
|
+
name: string;
|
|
95
|
+
key: string;
|
|
96
|
+
paths: string[];
|
|
97
|
+
saveWhen?: TJobCacheSaveWhen;
|
|
98
|
+
retentionDays?: number;
|
|
99
|
+
}
|
|
100
|
+
|
|
92
101
|
export interface IJobSpec {
|
|
93
102
|
image: string;
|
|
94
103
|
command: string[];
|
|
@@ -99,6 +108,7 @@ export interface IJobSpec {
|
|
|
99
108
|
resources?: IJobResources;
|
|
100
109
|
source?: IJobSourceArchive;
|
|
101
110
|
artifacts?: IJobArtifactSpec[];
|
|
111
|
+
caches?: IJobCacheSpec[];
|
|
102
112
|
}
|
|
103
113
|
|
|
104
114
|
export interface IJobLease {
|
|
@@ -162,6 +172,17 @@ export interface ICiArtifactUploadResponse {
|
|
|
162
172
|
expiresAt: string;
|
|
163
173
|
}
|
|
164
174
|
|
|
175
|
+
export interface ICiCacheSaveResponse {
|
|
176
|
+
name: string;
|
|
177
|
+
key: string;
|
|
178
|
+
generation: number;
|
|
179
|
+
sha256: string;
|
|
180
|
+
sizeBytes: number;
|
|
181
|
+
createdAt: string;
|
|
182
|
+
updatedAt: string;
|
|
183
|
+
expiresAt: string;
|
|
184
|
+
}
|
|
185
|
+
|
|
165
186
|
export interface ICompleteJobRequest extends IJobMutationIdentity {
|
|
166
187
|
status: TJobCompletionStatus;
|
|
167
188
|
exitCode: number | null;
|
package/ts/requests/public.ts
CHANGED
|
@@ -62,6 +62,7 @@ export interface IReq_PublicRepo
|
|
|
62
62
|
repo: string;
|
|
63
63
|
path?: string;
|
|
64
64
|
issueNumber?: number;
|
|
65
|
+
pullRequestNumber?: number;
|
|
65
66
|
};
|
|
66
67
|
response: {
|
|
67
68
|
repo: data.IPublicRepo | null;
|
|
@@ -72,6 +73,11 @@ export interface IReq_PublicRepo
|
|
|
72
73
|
issues: data.IPublicIssue[];
|
|
73
74
|
selectedIssue: data.IPublicIssue | null;
|
|
74
75
|
selectedIssueComments: data.IPublicIssueComment[];
|
|
76
|
+
pullRequests: data.IPublicPullRequest[];
|
|
77
|
+
selectedPullRequest: data.IPublicPullRequest | null;
|
|
78
|
+
selectedPullRequestComments: data.IPublicPullRequestComment[];
|
|
79
|
+
selectedPullRequestReviews: data.IPublicPullRequestReview[];
|
|
80
|
+
selectedPullRequestReviewComments: data.IPublicPullRequestReviewComment[];
|
|
75
81
|
commits: data.IPublicCommit[];
|
|
76
82
|
languages: Record<string, number>;
|
|
77
83
|
};
|
|
@@ -235,3 +241,150 @@ export interface IReq_RepositoryIssueStateUpdate
|
|
|
235
241
|
issue: data.IPublicIssue;
|
|
236
242
|
};
|
|
237
243
|
}
|
|
244
|
+
|
|
245
|
+
export interface IReq_RepositoryPullRequestCreate
|
|
246
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
247
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
248
|
+
IReq_RepositoryPullRequestCreate
|
|
249
|
+
> {
|
|
250
|
+
method: 'repositoryPullRequestCreate';
|
|
251
|
+
request: {
|
|
252
|
+
org: string;
|
|
253
|
+
repo: string;
|
|
254
|
+
title: string;
|
|
255
|
+
body: string;
|
|
256
|
+
sourceOrg: string;
|
|
257
|
+
sourceRepo: string;
|
|
258
|
+
sourceRef: string;
|
|
259
|
+
targetRef: string;
|
|
260
|
+
draft: boolean;
|
|
261
|
+
accessToken: string;
|
|
262
|
+
};
|
|
263
|
+
response: {
|
|
264
|
+
pullRequest: data.IPublicPullRequest;
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
export interface IReq_RepositoryPullRequestCommentCreate
|
|
269
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
270
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
271
|
+
IReq_RepositoryPullRequestCommentCreate
|
|
272
|
+
> {
|
|
273
|
+
method: 'repositoryPullRequestCommentCreate';
|
|
274
|
+
request: {
|
|
275
|
+
org: string;
|
|
276
|
+
repo: string;
|
|
277
|
+
pullRequestNumber: number;
|
|
278
|
+
body: string;
|
|
279
|
+
accessToken: string;
|
|
280
|
+
};
|
|
281
|
+
response: {
|
|
282
|
+
comment: data.IPublicPullRequestComment;
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
export interface IReq_RepositoryPullRequestStateUpdate
|
|
287
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
288
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
289
|
+
IReq_RepositoryPullRequestStateUpdate
|
|
290
|
+
> {
|
|
291
|
+
method: 'repositoryPullRequestStateUpdate';
|
|
292
|
+
request: {
|
|
293
|
+
org: string;
|
|
294
|
+
repo: string;
|
|
295
|
+
pullRequestNumber: number;
|
|
296
|
+
state: 'open' | 'closed';
|
|
297
|
+
draft?: boolean;
|
|
298
|
+
accessToken: string;
|
|
299
|
+
};
|
|
300
|
+
response: {
|
|
301
|
+
pullRequest: data.IPublicPullRequest;
|
|
302
|
+
};
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
export interface IRepositoryPullRequestReviewCommentInput {
|
|
306
|
+
body: string;
|
|
307
|
+
path: string;
|
|
308
|
+
side: data.TRepositoryPullRequestReviewSide;
|
|
309
|
+
line: number;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
export interface IReq_RepositoryPullRequestReviewSubmit
|
|
313
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
314
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
315
|
+
IReq_RepositoryPullRequestReviewSubmit
|
|
316
|
+
> {
|
|
317
|
+
method: 'repositoryPullRequestReviewSubmit';
|
|
318
|
+
request: {
|
|
319
|
+
org: string;
|
|
320
|
+
repo: string;
|
|
321
|
+
pullRequestNumber: number;
|
|
322
|
+
state: Exclude<data.TRepositoryPullRequestReviewState, 'dismissed'>;
|
|
323
|
+
body: string;
|
|
324
|
+
commitId: string;
|
|
325
|
+
comments: IRepositoryPullRequestReviewCommentInput[];
|
|
326
|
+
accessToken: string;
|
|
327
|
+
};
|
|
328
|
+
response: {
|
|
329
|
+
review: data.IPublicPullRequestReview;
|
|
330
|
+
comments: data.IPublicPullRequestReviewComment[];
|
|
331
|
+
pullRequest: data.IPublicPullRequest;
|
|
332
|
+
};
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
export interface IReq_RepositoryPullRequestReviewDismiss
|
|
336
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
337
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
338
|
+
IReq_RepositoryPullRequestReviewDismiss
|
|
339
|
+
> {
|
|
340
|
+
method: 'repositoryPullRequestReviewDismiss';
|
|
341
|
+
request: {
|
|
342
|
+
org: string;
|
|
343
|
+
repo: string;
|
|
344
|
+
pullRequestNumber: number;
|
|
345
|
+
reviewId: number;
|
|
346
|
+
message: string;
|
|
347
|
+
accessToken: string;
|
|
348
|
+
};
|
|
349
|
+
response: {
|
|
350
|
+
review: data.IPublicPullRequestReview;
|
|
351
|
+
pullRequest: data.IPublicPullRequest;
|
|
352
|
+
};
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
export interface IReq_RepositoryPullRequestMergeEnqueue
|
|
356
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
357
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
358
|
+
IReq_RepositoryPullRequestMergeEnqueue
|
|
359
|
+
> {
|
|
360
|
+
method: 'repositoryPullRequestMergeEnqueue';
|
|
361
|
+
request: {
|
|
362
|
+
org: string;
|
|
363
|
+
repo: string;
|
|
364
|
+
pullRequestNumber: number;
|
|
365
|
+
method: data.TRepositoryPullRequestMergeMethod;
|
|
366
|
+
expectedSourceObjectId: string;
|
|
367
|
+
expectedTargetObjectId: string;
|
|
368
|
+
accessToken: string;
|
|
369
|
+
};
|
|
370
|
+
response: {
|
|
371
|
+
pullRequest: data.IPublicPullRequest;
|
|
372
|
+
};
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
export interface IReq_RepositoryPullRequestMergeCancel
|
|
376
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
377
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
378
|
+
IReq_RepositoryPullRequestMergeCancel
|
|
379
|
+
> {
|
|
380
|
+
method: 'repositoryPullRequestMergeCancel';
|
|
381
|
+
request: {
|
|
382
|
+
org: string;
|
|
383
|
+
repo: string;
|
|
384
|
+
pullRequestNumber: number;
|
|
385
|
+
accessToken: string;
|
|
386
|
+
};
|
|
387
|
+
response: {
|
|
388
|
+
pullRequest: data.IPublicPullRequest;
|
|
389
|
+
};
|
|
390
|
+
}
|