@distilled.cloud/forgejo 0.0.0 → 1.0.0-rc.9

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.
Files changed (88) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +71 -0
  3. package/lib/credentials.d.ts +35 -0
  4. package/lib/credentials.d.ts.map +1 -0
  5. package/lib/credentials.js +57 -0
  6. package/lib/credentials.js.map +1 -0
  7. package/lib/errors.d.ts +56 -0
  8. package/lib/errors.d.ts.map +1 -0
  9. package/lib/errors.js +36 -0
  10. package/lib/errors.js.map +1 -0
  11. package/lib/index.d.ts +28 -0
  12. package/lib/index.d.ts.map +1 -0
  13. package/lib/index.js +28 -0
  14. package/lib/index.js.map +1 -0
  15. package/lib/protocol.d.ts +18 -0
  16. package/lib/protocol.d.ts.map +1 -0
  17. package/lib/protocol.js +61 -0
  18. package/lib/protocol.js.map +1 -0
  19. package/lib/retry.d.ts +50 -0
  20. package/lib/retry.d.ts.map +1 -0
  21. package/lib/retry.js +43 -0
  22. package/lib/retry.js.map +1 -0
  23. package/lib/services/activitypub.d.ts +121 -0
  24. package/lib/services/activitypub.d.ts.map +1 -0
  25. package/lib/services/activitypub.js +202 -0
  26. package/lib/services/activitypub.js.map +1 -0
  27. package/lib/services/admin.d.ts +1196 -0
  28. package/lib/services/admin.d.ts.map +1 -0
  29. package/lib/services/admin.js +1276 -0
  30. package/lib/services/admin.js.map +1 -0
  31. package/lib/services/index.d.ts +11 -0
  32. package/lib/services/index.d.ts.map +1 -0
  33. package/lib/services/index.js +12 -0
  34. package/lib/services/index.js.map +1 -0
  35. package/lib/services/issue.d.ts +1479 -0
  36. package/lib/services/issue.d.ts.map +1 -0
  37. package/lib/services/issue.js +1732 -0
  38. package/lib/services/issue.js.map +1 -0
  39. package/lib/services/miscellaneous.d.ts +494 -0
  40. package/lib/services/miscellaneous.d.ts.map +1 -0
  41. package/lib/services/miscellaneous.js +471 -0
  42. package/lib/services/miscellaneous.js.map +1 -0
  43. package/lib/services/notification.d.ts +390 -0
  44. package/lib/services/notification.d.ts.map +1 -0
  45. package/lib/services/notification.js +344 -0
  46. package/lib/services/notification.js.map +1 -0
  47. package/lib/services/organization.d.ts +1593 -0
  48. package/lib/services/organization.d.ts.map +1 -0
  49. package/lib/services/organization.js +1672 -0
  50. package/lib/services/organization.js.map +1 -0
  51. package/lib/services/package.d.ts +347 -0
  52. package/lib/services/package.d.ts.map +1 -0
  53. package/lib/services/package.js +320 -0
  54. package/lib/services/package.js.map +1 -0
  55. package/lib/services/repository.d.ts +4770 -0
  56. package/lib/services/repository.d.ts.map +1 -0
  57. package/lib/services/repository.js +5449 -0
  58. package/lib/services/repository.js.map +1 -0
  59. package/lib/services/settings.d.ts +67 -0
  60. package/lib/services/settings.d.ts.map +1 -0
  61. package/lib/services/settings.js +87 -0
  62. package/lib/services/settings.js.map +1 -0
  63. package/lib/services/user.d.ts +1764 -0
  64. package/lib/services/user.d.ts.map +1 -0
  65. package/lib/services/user.js +1921 -0
  66. package/lib/services/user.js.map +1 -0
  67. package/lib/traits.d.ts +10 -0
  68. package/lib/traits.d.ts.map +1 -0
  69. package/lib/traits.js +11 -0
  70. package/lib/traits.js.map +1 -0
  71. package/package.json +78 -6
  72. package/src/credentials.ts +89 -0
  73. package/src/errors.ts +72 -0
  74. package/src/index.ts +31 -0
  75. package/src/protocol.ts +86 -0
  76. package/src/retry.ts +74 -0
  77. package/src/services/activitypub.ts +415 -0
  78. package/src/services/admin.ts +3103 -0
  79. package/src/services/index.ts +11 -0
  80. package/src/services/issue.ts +3949 -0
  81. package/src/services/miscellaneous.ts +1118 -0
  82. package/src/services/notification.ts +847 -0
  83. package/src/services/organization.ts +4008 -0
  84. package/src/services/package.ts +767 -0
  85. package/src/services/repository.ts +12839 -0
  86. package/src/services/settings.ts +190 -0
  87. package/src/services/user.ts +4669 -0
  88. package/src/traits.ts +44 -0
@@ -0,0 +1,3949 @@
1
+ // AUTO-GENERATED by scripts/generate.ts from .generated-specs (specs/spec-mirror-forgejo). Do not edit.
2
+ import * as S from "@distilled.cloud/core/schema";
3
+ import * as API from "@distilled.cloud/core/api";
4
+ import * as C from "@distilled.cloud/core/category";
5
+ import * as T from "../traits.ts";
6
+ import {
7
+ ForgejoProtocol,
8
+ type ForgejoOpError,
9
+ type ForgejoOpContext,
10
+ } from "../protocol.ts";
11
+ import * as Retry from "../retry.ts";
12
+
13
+ export type { ForgejoOpError, ForgejoOpContext };
14
+
15
+ export class BadRequest
16
+ extends /*@__PURE__*/ T.applyErrorMatchers(
17
+ /*@__PURE__*/ S.TaggedError<BadRequest>()("BadRequest", {
18
+ code: S.Number,
19
+ message: S.String,
20
+ }).pipe(C.withBadRequestError),
21
+ [{ status: 400 }],
22
+ ) {}
23
+
24
+ export class Conflict
25
+ extends /*@__PURE__*/ T.applyErrorMatchers(
26
+ /*@__PURE__*/ S.TaggedError<Conflict>()("Conflict", {
27
+ code: S.Number,
28
+ message: S.String,
29
+ }).pipe(C.withConflictError),
30
+ [{ status: 409 }],
31
+ ) {}
32
+
33
+ export class Forbidden
34
+ extends /*@__PURE__*/ T.applyErrorMatchers(
35
+ /*@__PURE__*/ S.TaggedError<Forbidden>()("Forbidden", {
36
+ code: S.Number,
37
+ message: S.String,
38
+ }).pipe(C.withAuthError),
39
+ [{ status: 403 }],
40
+ ) {}
41
+
42
+ export class Locked
43
+ extends /*@__PURE__*/ T.applyErrorMatchers(
44
+ /*@__PURE__*/ S.TaggedError<Locked>()("Locked", {
45
+ code: S.Number,
46
+ message: S.String,
47
+ }),
48
+ [{ status: 423 }],
49
+ ) {}
50
+
51
+ export class NotFound
52
+ extends /*@__PURE__*/ T.applyErrorMatchers(
53
+ /*@__PURE__*/ S.TaggedError<NotFound>()("NotFound", {
54
+ code: S.Number,
55
+ message: S.String,
56
+ }).pipe(C.withBadRequestError),
57
+ [{ status: 404 }],
58
+ ) {}
59
+
60
+ export class UnprocessableEntity
61
+ extends /*@__PURE__*/ T.applyErrorMatchers(
62
+ /*@__PURE__*/ S.TaggedError<UnprocessableEntity>()("UnprocessableEntity", {
63
+ code: S.Number,
64
+ message: S.String,
65
+ }).pipe(C.withBadRequestError),
66
+ [{ status: 422 }],
67
+ ) {}
68
+
69
+ export type CreateIssueRequestAssigneesList = Array<string>;
70
+ export const CreateIssueRequestAssigneesList = /*@__PURE__*/ S.Array(
71
+ S.String,
72
+ ) as any as S.Schema<CreateIssueRequestAssigneesList>;
73
+
74
+ /** list of label ids */
75
+ export type CreateIssueRequestLabelsList = Array<number>;
76
+ export const CreateIssueRequestLabelsList = /*@__PURE__*/ S.Array(
77
+ S.Number,
78
+ ) as any as S.Schema<CreateIssueRequestLabelsList>;
79
+
80
+ export interface CreateIssueRequest {
81
+ /** owner of the repo */
82
+ owner: string;
83
+ /** name of the repo */
84
+ repo: string;
85
+ /** deprecated */
86
+ assignee?: string;
87
+ assignees?: CreateIssueRequestAssigneesList;
88
+ body?: string;
89
+ closed?: boolean;
90
+ due_date?: string;
91
+ /** list of label ids */
92
+ labels?: CreateIssueRequestLabelsList;
93
+ /** milestone id */
94
+ milestone?: number;
95
+ ref?: string;
96
+ title: string;
97
+ }
98
+ export const CreateIssueRequest = /*@__PURE__*/ S.suspend(() =>
99
+ S.Struct({
100
+ owner: S.String.pipe(T.Label()),
101
+ repo: S.String.pipe(T.Label()),
102
+ assignee: S.optional(S.String),
103
+ assignees: S.optional(CreateIssueRequestAssigneesList),
104
+ body: S.optional(S.String),
105
+ closed: S.optional(S.Boolean),
106
+ due_date: S.optional(S.String),
107
+ labels: S.optional(CreateIssueRequestLabelsList),
108
+ milestone: S.optional(S.Number),
109
+ ref: S.optional(S.String),
110
+ title: S.String,
111
+ }).pipe(
112
+ T.Http({ method: "POST", uri: "/repos/{owner}/{repo}/issues", code: 200 }),
113
+ ),
114
+ ).annotate({
115
+ identifier: "CreateIssueRequest",
116
+ }) as any as S.Schema<CreateIssueRequest>;
117
+
118
+ export type AttachmentType = "attachment" | "external";
119
+ export const AttachmentType = /*@__PURE__*/ S.String;
120
+
121
+ /** Attachment a generic attachment */
122
+ export interface Attachment {
123
+ browser_download_url?: string;
124
+ created_at?: string;
125
+ download_count?: number;
126
+ id?: number;
127
+ name?: string;
128
+ size?: number;
129
+ type?: AttachmentType;
130
+ uuid?: string;
131
+ }
132
+ export const Attachment = /*@__PURE__*/ S.suspend(() =>
133
+ S.Struct({
134
+ browser_download_url: S.optional(S.String),
135
+ created_at: S.optional(S.String),
136
+ download_count: S.optional(S.Number),
137
+ id: S.optional(S.Number),
138
+ name: S.optional(S.String),
139
+ size: S.optional(S.Number),
140
+ type: S.optional(AttachmentType),
141
+ uuid: S.optional(S.String),
142
+ }),
143
+ ).annotate({ identifier: "Attachment" }) as any as S.Schema<Attachment>;
144
+
145
+ export type IssueAssetsList = Array<Attachment>;
146
+ export const IssueAssetsList = /*@__PURE__*/ S.Array(
147
+ Attachment,
148
+ ) as any as S.Schema<IssueAssetsList>;
149
+
150
+ /** User represents a user */
151
+ export interface User {
152
+ /** Is user active */
153
+ active?: boolean;
154
+ /** URL to the user's avatar */
155
+ avatar_url?: string;
156
+ created?: string;
157
+ /** the user's description */
158
+ description?: string;
159
+ email?: string;
160
+ /** user counts */
161
+ followers_count?: number;
162
+ following_count?: number;
163
+ /** the user's full name */
164
+ full_name?: string;
165
+ /** URL to the user's profile page */
166
+ html_url?: string;
167
+ /** the user's id */
168
+ id: number;
169
+ /** Is the user an administrator */
170
+ is_admin?: boolean;
171
+ /** User locale */
172
+ language?: string;
173
+ last_login?: string;
174
+ /** the user's location */
175
+ location?: string;
176
+ /** the user's username */
177
+ login: string;
178
+ /** the user's authentication sign-in name. */
179
+ login_name?: string;
180
+ /** Is user login prohibited */
181
+ prohibit_login?: boolean;
182
+ /** the user's pronouns */
183
+ pronouns?: string;
184
+ /** Is user restricted */
185
+ restricted?: boolean;
186
+ /** The ID of the user's Authentication Source */
187
+ source_id?: number;
188
+ starred_repos_count?: number;
189
+ /** User visibility level option: public, limited, private */
190
+ visibility?: string;
191
+ /** the user's website */
192
+ website?: string;
193
+ }
194
+ export const User = /*@__PURE__*/ S.suspend(() =>
195
+ S.Struct({
196
+ active: S.optional(S.Boolean),
197
+ avatar_url: S.optional(S.String),
198
+ created: S.optional(S.String),
199
+ description: S.optional(S.String),
200
+ email: S.optional(S.String),
201
+ followers_count: S.optional(S.Number),
202
+ following_count: S.optional(S.Number),
203
+ full_name: S.optional(S.String),
204
+ html_url: S.optional(S.String),
205
+ id: S.Number,
206
+ is_admin: S.optional(S.Boolean),
207
+ language: S.optional(S.String),
208
+ last_login: S.optional(S.String),
209
+ location: S.optional(S.String),
210
+ login: S.String,
211
+ login_name: S.optional(S.String),
212
+ prohibit_login: S.optional(S.Boolean),
213
+ pronouns: S.optional(S.String),
214
+ restricted: S.optional(S.Boolean),
215
+ source_id: S.optional(S.Number),
216
+ starred_repos_count: S.optional(S.Number),
217
+ visibility: S.optional(S.String),
218
+ website: S.optional(S.String),
219
+ }),
220
+ ).annotate({ identifier: "User" }) as any as S.Schema<User>;
221
+
222
+ export type IssueAssigneesList = Array<User>;
223
+ export const IssueAssigneesList = /*@__PURE__*/ S.Array(
224
+ User,
225
+ ) as any as S.Schema<IssueAssigneesList>;
226
+
227
+ /** Label a label to an issue or a pr */
228
+ export interface Label {
229
+ color: string;
230
+ description?: string;
231
+ exclusive?: boolean;
232
+ id: number;
233
+ is_archived?: boolean;
234
+ name: string;
235
+ url?: string;
236
+ }
237
+ export const Label = /*@__PURE__*/ S.suspend(() =>
238
+ S.Struct({
239
+ color: S.String,
240
+ description: S.optional(S.String),
241
+ exclusive: S.optional(S.Boolean),
242
+ id: S.Number,
243
+ is_archived: S.optional(S.Boolean),
244
+ name: S.String,
245
+ url: S.optional(S.String),
246
+ }),
247
+ ).annotate({ identifier: "Label" }) as any as S.Schema<Label>;
248
+
249
+ export type IssueLabelsList = Array<Label>;
250
+ export const IssueLabelsList = /*@__PURE__*/ S.Array(
251
+ Label,
252
+ ) as any as S.Schema<IssueLabelsList>;
253
+
254
+ /** Milestone milestone is a collection of issues on one repository */
255
+ export interface Milestone {
256
+ closed_at?: string;
257
+ closed_issues?: number;
258
+ created_at?: string;
259
+ description?: string;
260
+ due_on?: string;
261
+ id?: number;
262
+ open_issues?: number;
263
+ state?: string;
264
+ title?: string;
265
+ updated_at?: string;
266
+ }
267
+ export const Milestone = /*@__PURE__*/ S.suspend(() =>
268
+ S.Struct({
269
+ closed_at: S.optional(S.String),
270
+ closed_issues: S.optional(S.Number),
271
+ created_at: S.optional(S.String),
272
+ description: S.optional(S.String),
273
+ due_on: S.optional(S.String),
274
+ id: S.optional(S.Number),
275
+ open_issues: S.optional(S.Number),
276
+ state: S.optional(S.String),
277
+ title: S.optional(S.String),
278
+ updated_at: S.optional(S.String),
279
+ }),
280
+ ).annotate({ identifier: "Milestone" }) as any as S.Schema<Milestone>;
281
+
282
+ /** PullRequestMeta PR info if an issue is a PR */
283
+ export interface PullRequestMeta {
284
+ draft?: boolean;
285
+ html_url?: string;
286
+ merged?: boolean;
287
+ merged_at?: string;
288
+ }
289
+ export const PullRequestMeta = /*@__PURE__*/ S.suspend(() =>
290
+ S.Struct({
291
+ draft: S.optional(S.Boolean),
292
+ html_url: S.optional(S.String),
293
+ merged: S.optional(S.Boolean),
294
+ merged_at: S.optional(S.String),
295
+ }),
296
+ ).annotate({
297
+ identifier: "PullRequestMeta",
298
+ }) as any as S.Schema<PullRequestMeta>;
299
+
300
+ /** RepositoryMeta basic repository information */
301
+ export interface RepositoryMeta {
302
+ full_name?: string;
303
+ id?: number;
304
+ name?: string;
305
+ owner?: string;
306
+ }
307
+ export const RepositoryMeta = /*@__PURE__*/ S.suspend(() =>
308
+ S.Struct({
309
+ full_name: S.optional(S.String),
310
+ id: S.optional(S.Number),
311
+ name: S.optional(S.String),
312
+ owner: S.optional(S.String),
313
+ }),
314
+ ).annotate({ identifier: "RepositoryMeta" }) as any as S.Schema<RepositoryMeta>;
315
+
316
+ /** Issue represents an issue in a repository */
317
+ export interface Issue {
318
+ assets?: IssueAssetsList;
319
+ assignee?: User;
320
+ assignees?: IssueAssigneesList;
321
+ body?: string;
322
+ closed_at?: string;
323
+ comments?: number;
324
+ created_at?: string;
325
+ due_date?: string;
326
+ html_url?: string;
327
+ id?: number;
328
+ is_locked?: boolean;
329
+ labels?: IssueLabelsList;
330
+ milestone?: Milestone;
331
+ number?: number;
332
+ original_author?: string;
333
+ original_author_id?: number;
334
+ pin_order?: number;
335
+ pull_request?: PullRequestMeta;
336
+ ref?: string;
337
+ repository?: RepositoryMeta;
338
+ state?: string;
339
+ title?: string;
340
+ updated_at?: string;
341
+ url?: string;
342
+ user?: User;
343
+ }
344
+ export const Issue = /*@__PURE__*/ S.suspend(() =>
345
+ S.Struct({
346
+ assets: S.optional(IssueAssetsList),
347
+ assignee: S.optional(User),
348
+ assignees: S.optional(IssueAssigneesList),
349
+ body: S.optional(S.String),
350
+ closed_at: S.optional(S.String),
351
+ comments: S.optional(S.Number),
352
+ created_at: S.optional(S.String),
353
+ due_date: S.optional(S.String),
354
+ html_url: S.optional(S.String),
355
+ id: S.optional(S.Number),
356
+ is_locked: S.optional(S.Boolean),
357
+ labels: S.optional(IssueLabelsList),
358
+ milestone: S.optional(Milestone),
359
+ number: S.optional(S.Number),
360
+ original_author: S.optional(S.String),
361
+ original_author_id: S.optional(S.Number),
362
+ pin_order: S.optional(S.Number),
363
+ pull_request: S.optional(PullRequestMeta),
364
+ ref: S.optional(S.String),
365
+ repository: S.optional(RepositoryMeta),
366
+ state: S.optional(S.String),
367
+ title: S.optional(S.String),
368
+ updated_at: S.optional(S.String),
369
+ url: S.optional(S.String),
370
+ user: S.optional(User),
371
+ }),
372
+ ).annotate({ identifier: "Issue" }) as any as S.Schema<Issue>;
373
+
374
+ export interface CreateIssueAttachmentRequest {
375
+ /** owner of the repo */
376
+ owner: string;
377
+ /** name of the repo */
378
+ repo: string;
379
+ /** index of the issue */
380
+ index: number;
381
+ /** name of the attachment */
382
+ name?: string;
383
+ /** time of the attachment's creation. This is a timestamp in RFC 3339 format */
384
+ updated_at?: string;
385
+ }
386
+ export const CreateIssueAttachmentRequest = /*@__PURE__*/ S.suspend(() =>
387
+ S.Struct({
388
+ owner: S.String.pipe(T.Label()),
389
+ repo: S.String.pipe(T.Label()),
390
+ index: S.Number.pipe(T.Label()),
391
+ name: S.optional(S.String.pipe(T.Query())),
392
+ updated_at: S.optional(S.String.pipe(T.Query())),
393
+ }).pipe(
394
+ T.Http({
395
+ method: "POST",
396
+ uri: "/repos/{owner}/{repo}/issues/{index}/assets",
397
+ code: 200,
398
+ }),
399
+ ),
400
+ ).annotate({
401
+ identifier: "CreateIssueAttachmentRequest",
402
+ }) as any as S.Schema<CreateIssueAttachmentRequest>;
403
+
404
+ export interface CreateIssueBlockingRequest {
405
+ /** owner of the repo */
406
+ owner: string;
407
+ /** name of the repo */
408
+ repo: string;
409
+ /** index of the issue */
410
+ index: number;
411
+ }
412
+ export const CreateIssueBlockingRequest = /*@__PURE__*/ S.suspend(() =>
413
+ S.Struct({
414
+ owner: S.String.pipe(T.Label()),
415
+ repo: S.String.pipe(T.Label()),
416
+ index: S.Number.pipe(T.Label()),
417
+ }).pipe(
418
+ T.Http({
419
+ method: "POST",
420
+ uri: "/repos/{owner}/{repo}/issues/{index}/blocks",
421
+ code: 200,
422
+ }),
423
+ ),
424
+ ).annotate({
425
+ identifier: "CreateIssueBlockingRequest",
426
+ }) as any as S.Schema<CreateIssueBlockingRequest>;
427
+
428
+ export interface CreateIssueCommentAttachmentRequest {
429
+ /** owner of the repo */
430
+ owner: string;
431
+ /** name of the repo */
432
+ repo: string;
433
+ /** id of the comment */
434
+ id: number;
435
+ /** name of the attachment */
436
+ name?: string;
437
+ /** time of the attachment's creation. This is a timestamp in RFC 3339 format */
438
+ updated_at?: string;
439
+ }
440
+ export const CreateIssueCommentAttachmentRequest = /*@__PURE__*/ S.suspend(() =>
441
+ S.Struct({
442
+ owner: S.String.pipe(T.Label()),
443
+ repo: S.String.pipe(T.Label()),
444
+ id: S.Number.pipe(T.Label()),
445
+ name: S.optional(S.String.pipe(T.Query())),
446
+ updated_at: S.optional(S.String.pipe(T.Query())),
447
+ }).pipe(
448
+ T.Http({
449
+ method: "POST",
450
+ uri: "/repos/{owner}/{repo}/issues/comments/{id}/assets",
451
+ code: 200,
452
+ }),
453
+ ),
454
+ ).annotate({
455
+ identifier: "CreateIssueCommentAttachmentRequest",
456
+ }) as any as S.Schema<CreateIssueCommentAttachmentRequest>;
457
+
458
+ export interface CreateIssueDependenciesRequest {
459
+ /** owner of the repo */
460
+ owner: string;
461
+ /** name of the repo */
462
+ repo: string;
463
+ /** index of the issue */
464
+ index: number;
465
+ }
466
+ export const CreateIssueDependenciesRequest = /*@__PURE__*/ S.suspend(() =>
467
+ S.Struct({
468
+ owner: S.String.pipe(T.Label()),
469
+ repo: S.String.pipe(T.Label()),
470
+ index: S.Number.pipe(T.Label()),
471
+ }).pipe(
472
+ T.Http({
473
+ method: "POST",
474
+ uri: "/repos/{owner}/{repo}/issues/{index}/dependencies",
475
+ code: 200,
476
+ }),
477
+ ),
478
+ ).annotate({
479
+ identifier: "CreateIssueDependenciesRequest",
480
+ }) as any as S.Schema<CreateIssueDependenciesRequest>;
481
+
482
+ export interface DeleteIssueRequest {
483
+ /** owner of the repo */
484
+ owner: string;
485
+ /** name of the repo */
486
+ repo: string;
487
+ /** index of issue to delete */
488
+ index: number;
489
+ }
490
+ export const DeleteIssueRequest = /*@__PURE__*/ S.suspend(() =>
491
+ S.Struct({
492
+ owner: S.String.pipe(T.Label()),
493
+ repo: S.String.pipe(T.Label()),
494
+ index: S.Number.pipe(T.Label()),
495
+ }).pipe(
496
+ T.Http({
497
+ method: "DELETE",
498
+ uri: "/repos/{owner}/{repo}/issues/{index}",
499
+ code: 200,
500
+ }),
501
+ ),
502
+ ).annotate({
503
+ identifier: "DeleteIssueRequest",
504
+ }) as any as S.Schema<DeleteIssueRequest>;
505
+
506
+ export interface DeleteIssueResponse {}
507
+ export const DeleteIssueResponse = /*@__PURE__*/ S.suspend(() =>
508
+ S.Struct({}),
509
+ ).annotate({
510
+ identifier: "DeleteIssueResponse",
511
+ }) as any as S.Schema<DeleteIssueResponse>;
512
+
513
+ export interface DeleteIssueAttachmentRequest {
514
+ /** owner of the repo */
515
+ owner: string;
516
+ /** name of the repo */
517
+ repo: string;
518
+ /** index of the issue */
519
+ index: number;
520
+ /** id of the attachment to delete */
521
+ attachment_id: number;
522
+ }
523
+ export const DeleteIssueAttachmentRequest = /*@__PURE__*/ S.suspend(() =>
524
+ S.Struct({
525
+ owner: S.String.pipe(T.Label()),
526
+ repo: S.String.pipe(T.Label()),
527
+ index: S.Number.pipe(T.Label()),
528
+ attachment_id: S.Number.pipe(T.Label()),
529
+ }).pipe(
530
+ T.Http({
531
+ method: "DELETE",
532
+ uri: "/repos/{owner}/{repo}/issues/{index}/assets/{attachment_id}",
533
+ code: 200,
534
+ }),
535
+ ),
536
+ ).annotate({
537
+ identifier: "DeleteIssueAttachmentRequest",
538
+ }) as any as S.Schema<DeleteIssueAttachmentRequest>;
539
+
540
+ export interface DeleteIssueAttachmentResponse {}
541
+ export const DeleteIssueAttachmentResponse = /*@__PURE__*/ S.suspend(() =>
542
+ S.Struct({}),
543
+ ).annotate({
544
+ identifier: "DeleteIssueAttachmentResponse",
545
+ }) as any as S.Schema<DeleteIssueAttachmentResponse>;
546
+
547
+ export interface DeleteIssueCommentAttachmentRequest {
548
+ /** owner of the repo */
549
+ owner: string;
550
+ /** name of the repo */
551
+ repo: string;
552
+ /** id of the comment */
553
+ id: number;
554
+ /** id of the attachment to delete */
555
+ attachment_id: number;
556
+ }
557
+ export const DeleteIssueCommentAttachmentRequest = /*@__PURE__*/ S.suspend(() =>
558
+ S.Struct({
559
+ owner: S.String.pipe(T.Label()),
560
+ repo: S.String.pipe(T.Label()),
561
+ id: S.Number.pipe(T.Label()),
562
+ attachment_id: S.Number.pipe(T.Label()),
563
+ }).pipe(
564
+ T.Http({
565
+ method: "DELETE",
566
+ uri: "/repos/{owner}/{repo}/issues/comments/{id}/assets/{attachment_id}",
567
+ code: 200,
568
+ }),
569
+ ),
570
+ ).annotate({
571
+ identifier: "DeleteIssueCommentAttachmentRequest",
572
+ }) as any as S.Schema<DeleteIssueCommentAttachmentRequest>;
573
+
574
+ export interface DeleteIssueCommentAttachmentResponse {}
575
+ export const DeleteIssueCommentAttachmentResponse = /*@__PURE__*/ S.suspend(
576
+ () => S.Struct({}),
577
+ ).annotate({
578
+ identifier: "DeleteIssueCommentAttachmentResponse",
579
+ }) as any as S.Schema<DeleteIssueCommentAttachmentResponse>;
580
+
581
+ export interface DeleteIssueReactionRequest {
582
+ /** owner of the repo */
583
+ owner: string;
584
+ /** name of the repo */
585
+ repo: string;
586
+ /** index of the issue */
587
+ index: number;
588
+ content?: string;
589
+ }
590
+ export const DeleteIssueReactionRequest = /*@__PURE__*/ S.suspend(() =>
591
+ S.Struct({
592
+ owner: S.String.pipe(T.Label()),
593
+ repo: S.String.pipe(T.Label()),
594
+ index: S.Number.pipe(T.Label()),
595
+ content: S.optional(S.String),
596
+ }).pipe(
597
+ T.Http({
598
+ method: "DELETE",
599
+ uri: "/repos/{owner}/{repo}/issues/{index}/reactions",
600
+ code: 200,
601
+ }),
602
+ ),
603
+ ).annotate({
604
+ identifier: "DeleteIssueReactionRequest",
605
+ }) as any as S.Schema<DeleteIssueReactionRequest>;
606
+
607
+ export interface DeleteIssueReactionResponse {}
608
+ export const DeleteIssueReactionResponse = /*@__PURE__*/ S.suspend(() =>
609
+ S.Struct({}),
610
+ ).annotate({
611
+ identifier: "DeleteIssueReactionResponse",
612
+ }) as any as S.Schema<DeleteIssueReactionResponse>;
613
+
614
+ export type EditIssueRequestAssigneesList = Array<string>;
615
+ export const EditIssueRequestAssigneesList = /*@__PURE__*/ S.Array(
616
+ S.String,
617
+ ) as any as S.Schema<EditIssueRequestAssigneesList>;
618
+
619
+ export interface EditIssueRequest {
620
+ /** owner of the repo */
621
+ owner: string;
622
+ /** name of the repo */
623
+ repo: string;
624
+ /** index of the issue to edit */
625
+ index: number;
626
+ /** deprecated */
627
+ assignee?: string;
628
+ assignees?: EditIssueRequestAssigneesList;
629
+ body?: string;
630
+ due_date?: string;
631
+ milestone?: number;
632
+ ref?: string;
633
+ state?: string;
634
+ title?: string;
635
+ unset_due_date?: boolean;
636
+ updated_at?: string;
637
+ }
638
+ export const EditIssueRequest = /*@__PURE__*/ S.suspend(() =>
639
+ S.Struct({
640
+ owner: S.String.pipe(T.Label()),
641
+ repo: S.String.pipe(T.Label()),
642
+ index: S.Number.pipe(T.Label()),
643
+ assignee: S.optional(S.String),
644
+ assignees: S.optional(EditIssueRequestAssigneesList),
645
+ body: S.optional(S.String),
646
+ due_date: S.optional(S.String),
647
+ milestone: S.optional(S.Number),
648
+ ref: S.optional(S.String),
649
+ state: S.optional(S.String),
650
+ title: S.optional(S.String),
651
+ unset_due_date: S.optional(S.Boolean),
652
+ updated_at: S.optional(S.String),
653
+ }).pipe(
654
+ T.Http({
655
+ method: "PATCH",
656
+ uri: "/repos/{owner}/{repo}/issues/{index}",
657
+ code: 200,
658
+ }),
659
+ ),
660
+ ).annotate({
661
+ identifier: "EditIssueRequest",
662
+ }) as any as S.Schema<EditIssueRequest>;
663
+
664
+ export interface EditIssueAttachmentRequest {
665
+ /** owner of the repo */
666
+ owner: string;
667
+ /** name of the repo */
668
+ repo: string;
669
+ /** index of the issue */
670
+ index: number;
671
+ /** id of the attachment to edit */
672
+ attachment_id: number;
673
+ /** (Can only be set if existing attachment is of external type) */
674
+ browser_download_url?: string;
675
+ name?: string;
676
+ }
677
+ export const EditIssueAttachmentRequest = /*@__PURE__*/ S.suspend(() =>
678
+ S.Struct({
679
+ owner: S.String.pipe(T.Label()),
680
+ repo: S.String.pipe(T.Label()),
681
+ index: S.Number.pipe(T.Label()),
682
+ attachment_id: S.Number.pipe(T.Label()),
683
+ browser_download_url: S.optional(S.String),
684
+ name: S.optional(S.String),
685
+ }).pipe(
686
+ T.Http({
687
+ method: "PATCH",
688
+ uri: "/repos/{owner}/{repo}/issues/{index}/assets/{attachment_id}",
689
+ code: 200,
690
+ }),
691
+ ),
692
+ ).annotate({
693
+ identifier: "EditIssueAttachmentRequest",
694
+ }) as any as S.Schema<EditIssueAttachmentRequest>;
695
+
696
+ export interface EditIssueCommentAttachmentRequest {
697
+ /** owner of the repo */
698
+ owner: string;
699
+ /** name of the repo */
700
+ repo: string;
701
+ /** id of the comment */
702
+ id: number;
703
+ /** id of the attachment to edit */
704
+ attachment_id: number;
705
+ /** (Can only be set if existing attachment is of external type) */
706
+ browser_download_url?: string;
707
+ name?: string;
708
+ }
709
+ export const EditIssueCommentAttachmentRequest = /*@__PURE__*/ S.suspend(() =>
710
+ S.Struct({
711
+ owner: S.String.pipe(T.Label()),
712
+ repo: S.String.pipe(T.Label()),
713
+ id: S.Number.pipe(T.Label()),
714
+ attachment_id: S.Number.pipe(T.Label()),
715
+ browser_download_url: S.optional(S.String),
716
+ name: S.optional(S.String),
717
+ }).pipe(
718
+ T.Http({
719
+ method: "PATCH",
720
+ uri: "/repos/{owner}/{repo}/issues/comments/{id}/assets/{attachment_id}",
721
+ code: 200,
722
+ }),
723
+ ),
724
+ ).annotate({
725
+ identifier: "EditIssueCommentAttachmentRequest",
726
+ }) as any as S.Schema<EditIssueCommentAttachmentRequest>;
727
+
728
+ export interface EditIssueDeadlineRequest {
729
+ /** owner of the repo */
730
+ owner: string;
731
+ /** name of the repo */
732
+ repo: string;
733
+ /** index of the issue to create or update a deadline on */
734
+ index: number;
735
+ due_date: string;
736
+ }
737
+ export const EditIssueDeadlineRequest = /*@__PURE__*/ S.suspend(() =>
738
+ S.Struct({
739
+ owner: S.String.pipe(T.Label()),
740
+ repo: S.String.pipe(T.Label()),
741
+ index: S.Number.pipe(T.Label()),
742
+ due_date: S.String,
743
+ }).pipe(
744
+ T.Http({
745
+ method: "POST",
746
+ uri: "/repos/{owner}/{repo}/issues/{index}/deadline",
747
+ code: 200,
748
+ }),
749
+ ),
750
+ ).annotate({
751
+ identifier: "EditIssueDeadlineRequest",
752
+ }) as any as S.Schema<EditIssueDeadlineRequest>;
753
+
754
+ /** IssueDeadline represents an issue deadline */
755
+ export interface IssueDeadline {
756
+ due_date?: string;
757
+ }
758
+ export const IssueDeadline = /*@__PURE__*/ S.suspend(() =>
759
+ S.Struct({
760
+ due_date: S.optional(S.String),
761
+ }),
762
+ ).annotate({ identifier: "IssueDeadline" }) as any as S.Schema<IssueDeadline>;
763
+
764
+ export interface GetIssueRequest {
765
+ /** owner of the repo */
766
+ owner: string;
767
+ /** name of the repo */
768
+ repo: string;
769
+ /** index of the issue to get */
770
+ index: number;
771
+ }
772
+ export const GetIssueRequest = /*@__PURE__*/ S.suspend(() =>
773
+ S.Struct({
774
+ owner: S.String.pipe(T.Label()),
775
+ repo: S.String.pipe(T.Label()),
776
+ index: S.Number.pipe(T.Label()),
777
+ }).pipe(
778
+ T.Http({
779
+ method: "GET",
780
+ uri: "/repos/{owner}/{repo}/issues/{index}",
781
+ code: 200,
782
+ }),
783
+ ),
784
+ ).annotate({
785
+ identifier: "GetIssueRequest",
786
+ }) as any as S.Schema<GetIssueRequest>;
787
+
788
+ export interface GetIssueAttachmentRequest {
789
+ /** owner of the repo */
790
+ owner: string;
791
+ /** name of the repo */
792
+ repo: string;
793
+ /** index of the issue */
794
+ index: number;
795
+ /** id of the attachment to get */
796
+ attachment_id: number;
797
+ }
798
+ export const GetIssueAttachmentRequest = /*@__PURE__*/ S.suspend(() =>
799
+ S.Struct({
800
+ owner: S.String.pipe(T.Label()),
801
+ repo: S.String.pipe(T.Label()),
802
+ index: S.Number.pipe(T.Label()),
803
+ attachment_id: S.Number.pipe(T.Label()),
804
+ }).pipe(
805
+ T.Http({
806
+ method: "GET",
807
+ uri: "/repos/{owner}/{repo}/issues/{index}/assets/{attachment_id}",
808
+ code: 200,
809
+ }),
810
+ ),
811
+ ).annotate({
812
+ identifier: "GetIssueAttachmentRequest",
813
+ }) as any as S.Schema<GetIssueAttachmentRequest>;
814
+
815
+ export interface GetIssueCommentAttachmentRequest {
816
+ /** owner of the repo */
817
+ owner: string;
818
+ /** name of the repo */
819
+ repo: string;
820
+ /** id of the comment */
821
+ id: number;
822
+ /** id of the attachment to get */
823
+ attachment_id: number;
824
+ }
825
+ export const GetIssueCommentAttachmentRequest = /*@__PURE__*/ S.suspend(() =>
826
+ S.Struct({
827
+ owner: S.String.pipe(T.Label()),
828
+ repo: S.String.pipe(T.Label()),
829
+ id: S.Number.pipe(T.Label()),
830
+ attachment_id: S.Number.pipe(T.Label()),
831
+ }).pipe(
832
+ T.Http({
833
+ method: "GET",
834
+ uri: "/repos/{owner}/{repo}/issues/comments/{id}/assets/{attachment_id}",
835
+ code: 200,
836
+ }),
837
+ ),
838
+ ).annotate({
839
+ identifier: "GetIssueCommentAttachmentRequest",
840
+ }) as any as S.Schema<GetIssueCommentAttachmentRequest>;
841
+
842
+ export interface GetIssueReactionsRequest {
843
+ /** owner of the repo */
844
+ owner: string;
845
+ /** name of the repo */
846
+ repo: string;
847
+ /** index of the issue */
848
+ index: number;
849
+ /** page number of results to return (1-based) */
850
+ page?: number;
851
+ /** page size of results */
852
+ limit?: number;
853
+ }
854
+ export const GetIssueReactionsRequest = /*@__PURE__*/ S.suspend(() =>
855
+ S.Struct({
856
+ owner: S.String.pipe(T.Label()),
857
+ repo: S.String.pipe(T.Label()),
858
+ index: S.Number.pipe(T.Label()),
859
+ page: S.optional(S.Number.pipe(T.Query())),
860
+ limit: S.optional(S.Number.pipe(T.Query())),
861
+ }).pipe(
862
+ T.Http({
863
+ method: "GET",
864
+ uri: "/repos/{owner}/{repo}/issues/{index}/reactions",
865
+ code: 200,
866
+ }),
867
+ ),
868
+ ).annotate({
869
+ identifier: "GetIssueReactionsRequest",
870
+ }) as any as S.Schema<GetIssueReactionsRequest>;
871
+
872
+ /** Reaction contain one reaction */
873
+ export interface Reaction {
874
+ content?: string;
875
+ created_at?: string;
876
+ user?: User;
877
+ }
878
+ export const Reaction = /*@__PURE__*/ S.suspend(() =>
879
+ S.Struct({
880
+ content: S.optional(S.String),
881
+ created_at: S.optional(S.String),
882
+ user: S.optional(User),
883
+ }),
884
+ ).annotate({ identifier: "Reaction" }) as any as S.Schema<Reaction>;
885
+
886
+ export type GetIssueReactionsResponseBodyList = Array<Reaction>;
887
+ export const GetIssueReactionsResponseBodyList = /*@__PURE__*/ S.Array(
888
+ Reaction,
889
+ ) as any as S.Schema<GetIssueReactionsResponseBodyList>;
890
+
891
+ export type GetIssueReactionsResponse = GetIssueReactionsResponseBodyList;
892
+ export const GetIssueReactionsResponse = /*@__PURE__*/ S.suspend(() =>
893
+ GetIssueReactionsResponseBodyList.pipe(T.RawResponseRoot()),
894
+ ).annotate({
895
+ identifier: "GetIssueReactionsResponse",
896
+ }) as any as S.Schema<GetIssueReactionsResponse>;
897
+
898
+ /** Labels can be a list of integers representing label IDs or a list of strings representing label names */
899
+ export type IssueAddLabelRequestLabelsList = Array<unknown>;
900
+ export const IssueAddLabelRequestLabelsList = /*@__PURE__*/ S.Array(
901
+ S.Unknown,
902
+ ) as any as S.Schema<IssueAddLabelRequestLabelsList>;
903
+
904
+ export interface IssueAddLabelRequest {
905
+ /** owner of the repo */
906
+ owner: string;
907
+ /** name of the repo */
908
+ repo: string;
909
+ /** index of the issue */
910
+ index: number;
911
+ /** Labels can be a list of integers representing label IDs or a list of strings representing label names */
912
+ labels?: IssueAddLabelRequestLabelsList;
913
+ updated_at?: string;
914
+ }
915
+ export const IssueAddLabelRequest = /*@__PURE__*/ S.suspend(() =>
916
+ S.Struct({
917
+ owner: S.String.pipe(T.Label()),
918
+ repo: S.String.pipe(T.Label()),
919
+ index: S.Number.pipe(T.Label()),
920
+ labels: S.optional(IssueAddLabelRequestLabelsList),
921
+ updated_at: S.optional(S.String),
922
+ }).pipe(
923
+ T.Http({
924
+ method: "POST",
925
+ uri: "/repos/{owner}/{repo}/issues/{index}/labels",
926
+ code: 200,
927
+ }),
928
+ ),
929
+ ).annotate({
930
+ identifier: "IssueAddLabelRequest",
931
+ }) as any as S.Schema<IssueAddLabelRequest>;
932
+
933
+ export type IssueAddLabelResponseBodyList = Array<Label>;
934
+ export const IssueAddLabelResponseBodyList = /*@__PURE__*/ S.Array(
935
+ Label,
936
+ ) as any as S.Schema<IssueAddLabelResponseBodyList>;
937
+
938
+ export type IssueAddLabelResponse = IssueAddLabelResponseBodyList;
939
+ export const IssueAddLabelResponse = /*@__PURE__*/ S.suspend(() =>
940
+ IssueAddLabelResponseBodyList.pipe(T.RawResponseRoot()),
941
+ ).annotate({
942
+ identifier: "IssueAddLabelResponse",
943
+ }) as any as S.Schema<IssueAddLabelResponse>;
944
+
945
+ export interface IssueAddSubscriptionRequest {
946
+ /** owner of the repo */
947
+ owner: string;
948
+ /** name of the repo */
949
+ repo: string;
950
+ /** index of the issue */
951
+ index: number;
952
+ /** user to subscribe */
953
+ user: string;
954
+ }
955
+ export const IssueAddSubscriptionRequest = /*@__PURE__*/ S.suspend(() =>
956
+ S.Struct({
957
+ owner: S.String.pipe(T.Label()),
958
+ repo: S.String.pipe(T.Label()),
959
+ index: S.Number.pipe(T.Label()),
960
+ user: S.String.pipe(T.Label()),
961
+ }).pipe(
962
+ T.Http({
963
+ method: "PUT",
964
+ uri: "/repos/{owner}/{repo}/issues/{index}/subscriptions/{user}",
965
+ code: 200,
966
+ }),
967
+ ),
968
+ ).annotate({
969
+ identifier: "IssueAddSubscriptionRequest",
970
+ }) as any as S.Schema<IssueAddSubscriptionRequest>;
971
+
972
+ export interface IssueAddSubscriptionResponse {}
973
+ export const IssueAddSubscriptionResponse = /*@__PURE__*/ S.suspend(() =>
974
+ S.Struct({}),
975
+ ).annotate({
976
+ identifier: "IssueAddSubscriptionResponse",
977
+ }) as any as S.Schema<IssueAddSubscriptionResponse>;
978
+
979
+ export interface IssueAddTimeRequest {
980
+ /** owner of the repo */
981
+ owner: string;
982
+ /** name of the repo */
983
+ repo: string;
984
+ /** index of the issue */
985
+ index: number;
986
+ created?: string;
987
+ /** time in seconds */
988
+ time: number;
989
+ /** User who spent the time (optional) */
990
+ user_name?: string;
991
+ }
992
+ export const IssueAddTimeRequest = /*@__PURE__*/ S.suspend(() =>
993
+ S.Struct({
994
+ owner: S.String.pipe(T.Label()),
995
+ repo: S.String.pipe(T.Label()),
996
+ index: S.Number.pipe(T.Label()),
997
+ created: S.optional(S.String),
998
+ time: S.Number,
999
+ user_name: S.optional(S.String),
1000
+ }).pipe(
1001
+ T.Http({
1002
+ method: "POST",
1003
+ uri: "/repos/{owner}/{repo}/issues/{index}/times",
1004
+ code: 200,
1005
+ }),
1006
+ ),
1007
+ ).annotate({
1008
+ identifier: "IssueAddTimeRequest",
1009
+ }) as any as S.Schema<IssueAddTimeRequest>;
1010
+
1011
+ /** TrackedTime worked time for an issue / pr */
1012
+ export interface TrackedTime {
1013
+ created?: string;
1014
+ id?: number;
1015
+ issue?: Issue;
1016
+ /** deprecated (only for backwards compatibility) */
1017
+ issue_id?: number;
1018
+ /** Time in seconds */
1019
+ time?: number;
1020
+ /** deprecated (only for backwards compatibility) */
1021
+ user_id?: number;
1022
+ user_name?: string;
1023
+ }
1024
+ export const TrackedTime = /*@__PURE__*/ S.suspend(() =>
1025
+ S.Struct({
1026
+ created: S.optional(S.String),
1027
+ id: S.optional(S.Number),
1028
+ issue: S.optional(Issue),
1029
+ issue_id: S.optional(S.Number),
1030
+ time: S.optional(S.Number),
1031
+ user_id: S.optional(S.Number),
1032
+ user_name: S.optional(S.String),
1033
+ }),
1034
+ ).annotate({ identifier: "TrackedTime" }) as any as S.Schema<TrackedTime>;
1035
+
1036
+ export interface IssueCheckSubscriptionRequest {
1037
+ /** owner of the repo */
1038
+ owner: string;
1039
+ /** name of the repo */
1040
+ repo: string;
1041
+ /** index of the issue */
1042
+ index: number;
1043
+ }
1044
+ export const IssueCheckSubscriptionRequest = /*@__PURE__*/ S.suspend(() =>
1045
+ S.Struct({
1046
+ owner: S.String.pipe(T.Label()),
1047
+ repo: S.String.pipe(T.Label()),
1048
+ index: S.Number.pipe(T.Label()),
1049
+ }).pipe(
1050
+ T.Http({
1051
+ method: "GET",
1052
+ uri: "/repos/{owner}/{repo}/issues/{index}/subscriptions/check",
1053
+ code: 200,
1054
+ }),
1055
+ ),
1056
+ ).annotate({
1057
+ identifier: "IssueCheckSubscriptionRequest",
1058
+ }) as any as S.Schema<IssueCheckSubscriptionRequest>;
1059
+
1060
+ /** WatchInfo represents an API watch status of one repository */
1061
+ export interface WatchInfo {
1062
+ created_at?: string;
1063
+ ignored?: boolean;
1064
+ reason?: unknown;
1065
+ repository_url?: string;
1066
+ subscribed?: boolean;
1067
+ url?: string;
1068
+ }
1069
+ export const WatchInfo = /*@__PURE__*/ S.suspend(() =>
1070
+ S.Struct({
1071
+ created_at: S.optional(S.String),
1072
+ ignored: S.optional(S.Boolean),
1073
+ reason: S.optional(S.Unknown),
1074
+ repository_url: S.optional(S.String),
1075
+ subscribed: S.optional(S.Boolean),
1076
+ url: S.optional(S.String),
1077
+ }),
1078
+ ).annotate({ identifier: "WatchInfo" }) as any as S.Schema<WatchInfo>;
1079
+
1080
+ export interface IssueClearLabelsRequest {
1081
+ /** owner of the repo */
1082
+ owner: string;
1083
+ /** name of the repo */
1084
+ repo: string;
1085
+ /** index of the issue */
1086
+ index: number;
1087
+ updated_at?: string;
1088
+ }
1089
+ export const IssueClearLabelsRequest = /*@__PURE__*/ S.suspend(() =>
1090
+ S.Struct({
1091
+ owner: S.String.pipe(T.Label()),
1092
+ repo: S.String.pipe(T.Label()),
1093
+ index: S.Number.pipe(T.Label()),
1094
+ updated_at: S.optional(S.String),
1095
+ }).pipe(
1096
+ T.Http({
1097
+ method: "DELETE",
1098
+ uri: "/repos/{owner}/{repo}/issues/{index}/labels",
1099
+ code: 200,
1100
+ }),
1101
+ ),
1102
+ ).annotate({
1103
+ identifier: "IssueClearLabelsRequest",
1104
+ }) as any as S.Schema<IssueClearLabelsRequest>;
1105
+
1106
+ export interface IssueClearLabelsResponse {}
1107
+ export const IssueClearLabelsResponse = /*@__PURE__*/ S.suspend(() =>
1108
+ S.Struct({}),
1109
+ ).annotate({
1110
+ identifier: "IssueClearLabelsResponse",
1111
+ }) as any as S.Schema<IssueClearLabelsResponse>;
1112
+
1113
+ export interface IssueCreateCommentRequest {
1114
+ /** owner of the repo */
1115
+ owner: string;
1116
+ /** name of the repo */
1117
+ repo: string;
1118
+ /** index of the issue */
1119
+ index: number;
1120
+ /** The body of the comment */
1121
+ body: string;
1122
+ /** The time of the comment's update, needs admin or repository owner permission */
1123
+ updated_at?: string;
1124
+ }
1125
+ export const IssueCreateCommentRequest = /*@__PURE__*/ S.suspend(() =>
1126
+ S.Struct({
1127
+ owner: S.String.pipe(T.Label()),
1128
+ repo: S.String.pipe(T.Label()),
1129
+ index: S.Number.pipe(T.Label()),
1130
+ body: S.String,
1131
+ updated_at: S.optional(S.String),
1132
+ }).pipe(
1133
+ T.Http({
1134
+ method: "POST",
1135
+ uri: "/repos/{owner}/{repo}/issues/{index}/comments",
1136
+ code: 200,
1137
+ }),
1138
+ ),
1139
+ ).annotate({
1140
+ identifier: "IssueCreateCommentRequest",
1141
+ }) as any as S.Schema<IssueCreateCommentRequest>;
1142
+
1143
+ /** The attachments to the comment */
1144
+ export type CommentAssetsList = Array<Attachment>;
1145
+ export const CommentAssetsList = /*@__PURE__*/ S.Array(
1146
+ Attachment,
1147
+ ) as any as S.Schema<CommentAssetsList>;
1148
+
1149
+ /** Comment represents a comment on a commit or issue */
1150
+ export interface Comment {
1151
+ /** The attachments to the comment */
1152
+ assets?: CommentAssetsList;
1153
+ /** The body of the comment */
1154
+ body?: string;
1155
+ /** The time of the comment's creation */
1156
+ created_at?: string;
1157
+ /** The HTML URL of the comment */
1158
+ html_url?: string;
1159
+ /** The identifier of the comment */
1160
+ id?: number;
1161
+ /** The HTML URL of the issue if the comment is posted on an issue, else empty string */
1162
+ issue_url?: string;
1163
+ /** The original author that posted the comment if it was not posted locally, else empty string */
1164
+ original_author?: string;
1165
+ /** The ID of the original author that posted the comment if it was not posted locally, else 0 */
1166
+ original_author_id?: number;
1167
+ /** The HTML URL of the pull request if the comment is posted on a pull request, else empty string */
1168
+ pull_request_url?: string;
1169
+ /** The time of the comment's update */
1170
+ updated_at?: string;
1171
+ user?: User;
1172
+ }
1173
+ export const Comment = /*@__PURE__*/ S.suspend(() =>
1174
+ S.Struct({
1175
+ assets: S.optional(CommentAssetsList),
1176
+ body: S.optional(S.String),
1177
+ created_at: S.optional(S.String),
1178
+ html_url: S.optional(S.String),
1179
+ id: S.optional(S.Number),
1180
+ issue_url: S.optional(S.String),
1181
+ original_author: S.optional(S.String),
1182
+ original_author_id: S.optional(S.Number),
1183
+ pull_request_url: S.optional(S.String),
1184
+ updated_at: S.optional(S.String),
1185
+ user: S.optional(User),
1186
+ }),
1187
+ ).annotate({ identifier: "Comment" }) as any as S.Schema<Comment>;
1188
+
1189
+ export interface IssueCreateLabelRequest {
1190
+ /** owner of the repo */
1191
+ owner: string;
1192
+ /** name of the repo */
1193
+ repo: string;
1194
+ color: string;
1195
+ description?: string;
1196
+ exclusive?: boolean;
1197
+ is_archived?: boolean;
1198
+ name: string;
1199
+ }
1200
+ export const IssueCreateLabelRequest = /*@__PURE__*/ S.suspend(() =>
1201
+ S.Struct({
1202
+ owner: S.String.pipe(T.Label()),
1203
+ repo: S.String.pipe(T.Label()),
1204
+ color: S.String,
1205
+ description: S.optional(S.String),
1206
+ exclusive: S.optional(S.Boolean),
1207
+ is_archived: S.optional(S.Boolean),
1208
+ name: S.String,
1209
+ }).pipe(
1210
+ T.Http({ method: "POST", uri: "/repos/{owner}/{repo}/labels", code: 200 }),
1211
+ ),
1212
+ ).annotate({
1213
+ identifier: "IssueCreateLabelRequest",
1214
+ }) as any as S.Schema<IssueCreateLabelRequest>;
1215
+
1216
+ export type IssueCreateMilestoneRequestState = "open" | "closed";
1217
+ export const IssueCreateMilestoneRequestState = /*@__PURE__*/ S.String;
1218
+
1219
+ export interface IssueCreateMilestoneRequest {
1220
+ /** owner of the repo */
1221
+ owner: string;
1222
+ /** name of the repo */
1223
+ repo: string;
1224
+ description?: string;
1225
+ due_on?: string;
1226
+ state?: IssueCreateMilestoneRequestState | (string & {});
1227
+ title?: string;
1228
+ }
1229
+ export const IssueCreateMilestoneRequest = /*@__PURE__*/ S.suspend(() =>
1230
+ S.Struct({
1231
+ owner: S.String.pipe(T.Label()),
1232
+ repo: S.String.pipe(T.Label()),
1233
+ description: S.optional(S.String),
1234
+ due_on: S.optional(S.String),
1235
+ state: S.optional(IssueCreateMilestoneRequestState),
1236
+ title: S.optional(S.String),
1237
+ }).pipe(
1238
+ T.Http({
1239
+ method: "POST",
1240
+ uri: "/repos/{owner}/{repo}/milestones",
1241
+ code: 200,
1242
+ }),
1243
+ ),
1244
+ ).annotate({
1245
+ identifier: "IssueCreateMilestoneRequest",
1246
+ }) as any as S.Schema<IssueCreateMilestoneRequest>;
1247
+
1248
+ export interface IssueDeleteCommentRequest {
1249
+ /** owner of the repo */
1250
+ owner: string;
1251
+ /** name of the repo */
1252
+ repo: string;
1253
+ /** id of comment to delete */
1254
+ id: number;
1255
+ }
1256
+ export const IssueDeleteCommentRequest = /*@__PURE__*/ S.suspend(() =>
1257
+ S.Struct({
1258
+ owner: S.String.pipe(T.Label()),
1259
+ repo: S.String.pipe(T.Label()),
1260
+ id: S.Number.pipe(T.Label()),
1261
+ }).pipe(
1262
+ T.Http({
1263
+ method: "DELETE",
1264
+ uri: "/repos/{owner}/{repo}/issues/comments/{id}",
1265
+ code: 200,
1266
+ }),
1267
+ ),
1268
+ ).annotate({
1269
+ identifier: "IssueDeleteCommentRequest",
1270
+ }) as any as S.Schema<IssueDeleteCommentRequest>;
1271
+
1272
+ export interface IssueDeleteCommentResponse {}
1273
+ export const IssueDeleteCommentResponse = /*@__PURE__*/ S.suspend(() =>
1274
+ S.Struct({}),
1275
+ ).annotate({
1276
+ identifier: "IssueDeleteCommentResponse",
1277
+ }) as any as S.Schema<IssueDeleteCommentResponse>;
1278
+
1279
+ export interface IssueDeleteCommentReactionRequest {
1280
+ /** owner of the repo */
1281
+ owner: string;
1282
+ /** name of the repo */
1283
+ repo: string;
1284
+ /** id of the comment to edit */
1285
+ id: number;
1286
+ content?: string;
1287
+ }
1288
+ export const IssueDeleteCommentReactionRequest = /*@__PURE__*/ S.suspend(() =>
1289
+ S.Struct({
1290
+ owner: S.String.pipe(T.Label()),
1291
+ repo: S.String.pipe(T.Label()),
1292
+ id: S.Number.pipe(T.Label()),
1293
+ content: S.optional(S.String),
1294
+ }).pipe(
1295
+ T.Http({
1296
+ method: "DELETE",
1297
+ uri: "/repos/{owner}/{repo}/issues/comments/{id}/reactions",
1298
+ code: 200,
1299
+ }),
1300
+ ),
1301
+ ).annotate({
1302
+ identifier: "IssueDeleteCommentReactionRequest",
1303
+ }) as any as S.Schema<IssueDeleteCommentReactionRequest>;
1304
+
1305
+ export interface IssueDeleteCommentReactionResponse {}
1306
+ export const IssueDeleteCommentReactionResponse = /*@__PURE__*/ S.suspend(() =>
1307
+ S.Struct({}),
1308
+ ).annotate({
1309
+ identifier: "IssueDeleteCommentReactionResponse",
1310
+ }) as any as S.Schema<IssueDeleteCommentReactionResponse>;
1311
+
1312
+ export interface IssueDeleteLabelRequest {
1313
+ /** owner of the repo */
1314
+ owner: string;
1315
+ /** name of the repo */
1316
+ repo: string;
1317
+ /** id of the label to delete */
1318
+ id: number;
1319
+ }
1320
+ export const IssueDeleteLabelRequest = /*@__PURE__*/ S.suspend(() =>
1321
+ S.Struct({
1322
+ owner: S.String.pipe(T.Label()),
1323
+ repo: S.String.pipe(T.Label()),
1324
+ id: S.Number.pipe(T.Label()),
1325
+ }).pipe(
1326
+ T.Http({
1327
+ method: "DELETE",
1328
+ uri: "/repos/{owner}/{repo}/labels/{id}",
1329
+ code: 200,
1330
+ }),
1331
+ ),
1332
+ ).annotate({
1333
+ identifier: "IssueDeleteLabelRequest",
1334
+ }) as any as S.Schema<IssueDeleteLabelRequest>;
1335
+
1336
+ export interface IssueDeleteLabelResponse {}
1337
+ export const IssueDeleteLabelResponse = /*@__PURE__*/ S.suspend(() =>
1338
+ S.Struct({}),
1339
+ ).annotate({
1340
+ identifier: "IssueDeleteLabelResponse",
1341
+ }) as any as S.Schema<IssueDeleteLabelResponse>;
1342
+
1343
+ export interface IssueDeleteMilestoneRequest {
1344
+ /** owner of the repo */
1345
+ owner: string;
1346
+ /** name of the repo */
1347
+ repo: string;
1348
+ /** the milestone to delete, identified by ID and if not available by name */
1349
+ id: number;
1350
+ }
1351
+ export const IssueDeleteMilestoneRequest = /*@__PURE__*/ S.suspend(() =>
1352
+ S.Struct({
1353
+ owner: S.String.pipe(T.Label()),
1354
+ repo: S.String.pipe(T.Label()),
1355
+ id: S.Number.pipe(T.Label()),
1356
+ }).pipe(
1357
+ T.Http({
1358
+ method: "DELETE",
1359
+ uri: "/repos/{owner}/{repo}/milestones/{id}",
1360
+ code: 200,
1361
+ }),
1362
+ ),
1363
+ ).annotate({
1364
+ identifier: "IssueDeleteMilestoneRequest",
1365
+ }) as any as S.Schema<IssueDeleteMilestoneRequest>;
1366
+
1367
+ export interface IssueDeleteMilestoneResponse {}
1368
+ export const IssueDeleteMilestoneResponse = /*@__PURE__*/ S.suspend(() =>
1369
+ S.Struct({}),
1370
+ ).annotate({
1371
+ identifier: "IssueDeleteMilestoneResponse",
1372
+ }) as any as S.Schema<IssueDeleteMilestoneResponse>;
1373
+
1374
+ export interface IssueDeleteStopWatchRequest {
1375
+ /** owner of the repo */
1376
+ owner: string;
1377
+ /** name of the repo */
1378
+ repo: string;
1379
+ /** index of the issue to stop the stopwatch on */
1380
+ index: number;
1381
+ }
1382
+ export const IssueDeleteStopWatchRequest = /*@__PURE__*/ S.suspend(() =>
1383
+ S.Struct({
1384
+ owner: S.String.pipe(T.Label()),
1385
+ repo: S.String.pipe(T.Label()),
1386
+ index: S.Number.pipe(T.Label()),
1387
+ }).pipe(
1388
+ T.Http({
1389
+ method: "DELETE",
1390
+ uri: "/repos/{owner}/{repo}/issues/{index}/stopwatch/delete",
1391
+ code: 200,
1392
+ }),
1393
+ ),
1394
+ ).annotate({
1395
+ identifier: "IssueDeleteStopWatchRequest",
1396
+ }) as any as S.Schema<IssueDeleteStopWatchRequest>;
1397
+
1398
+ export interface IssueDeleteStopWatchResponse {}
1399
+ export const IssueDeleteStopWatchResponse = /*@__PURE__*/ S.suspend(() =>
1400
+ S.Struct({}),
1401
+ ).annotate({
1402
+ identifier: "IssueDeleteStopWatchResponse",
1403
+ }) as any as S.Schema<IssueDeleteStopWatchResponse>;
1404
+
1405
+ export interface IssueDeleteSubscriptionRequest {
1406
+ /** owner of the repo */
1407
+ owner: string;
1408
+ /** name of the repo */
1409
+ repo: string;
1410
+ /** index of the issue */
1411
+ index: number;
1412
+ /** user witch unsubscribe */
1413
+ user: string;
1414
+ }
1415
+ export const IssueDeleteSubscriptionRequest = /*@__PURE__*/ S.suspend(() =>
1416
+ S.Struct({
1417
+ owner: S.String.pipe(T.Label()),
1418
+ repo: S.String.pipe(T.Label()),
1419
+ index: S.Number.pipe(T.Label()),
1420
+ user: S.String.pipe(T.Label()),
1421
+ }).pipe(
1422
+ T.Http({
1423
+ method: "DELETE",
1424
+ uri: "/repos/{owner}/{repo}/issues/{index}/subscriptions/{user}",
1425
+ code: 200,
1426
+ }),
1427
+ ),
1428
+ ).annotate({
1429
+ identifier: "IssueDeleteSubscriptionRequest",
1430
+ }) as any as S.Schema<IssueDeleteSubscriptionRequest>;
1431
+
1432
+ export interface IssueDeleteSubscriptionResponse {}
1433
+ export const IssueDeleteSubscriptionResponse = /*@__PURE__*/ S.suspend(() =>
1434
+ S.Struct({}),
1435
+ ).annotate({
1436
+ identifier: "IssueDeleteSubscriptionResponse",
1437
+ }) as any as S.Schema<IssueDeleteSubscriptionResponse>;
1438
+
1439
+ export interface IssueDeleteTimeRequest {
1440
+ /** owner of the repo */
1441
+ owner: string;
1442
+ /** name of the repo */
1443
+ repo: string;
1444
+ /** index of the issue */
1445
+ index: number;
1446
+ /** id of time to delete */
1447
+ id: number;
1448
+ }
1449
+ export const IssueDeleteTimeRequest = /*@__PURE__*/ S.suspend(() =>
1450
+ S.Struct({
1451
+ owner: S.String.pipe(T.Label()),
1452
+ repo: S.String.pipe(T.Label()),
1453
+ index: S.Number.pipe(T.Label()),
1454
+ id: S.Number.pipe(T.Label()),
1455
+ }).pipe(
1456
+ T.Http({
1457
+ method: "DELETE",
1458
+ uri: "/repos/{owner}/{repo}/issues/{index}/times/{id}",
1459
+ code: 200,
1460
+ }),
1461
+ ),
1462
+ ).annotate({
1463
+ identifier: "IssueDeleteTimeRequest",
1464
+ }) as any as S.Schema<IssueDeleteTimeRequest>;
1465
+
1466
+ export interface IssueDeleteTimeResponse {}
1467
+ export const IssueDeleteTimeResponse = /*@__PURE__*/ S.suspend(() =>
1468
+ S.Struct({}),
1469
+ ).annotate({
1470
+ identifier: "IssueDeleteTimeResponse",
1471
+ }) as any as S.Schema<IssueDeleteTimeResponse>;
1472
+
1473
+ export interface IssueEditCommentRequest {
1474
+ /** owner of the repo */
1475
+ owner: string;
1476
+ /** name of the repo */
1477
+ repo: string;
1478
+ /** id of the comment to edit */
1479
+ id: number;
1480
+ /** The body of the comment */
1481
+ body: string;
1482
+ /** The time of the comment's update, needs admin or repository owner permission */
1483
+ updated_at?: string;
1484
+ }
1485
+ export const IssueEditCommentRequest = /*@__PURE__*/ S.suspend(() =>
1486
+ S.Struct({
1487
+ owner: S.String.pipe(T.Label()),
1488
+ repo: S.String.pipe(T.Label()),
1489
+ id: S.Number.pipe(T.Label()),
1490
+ body: S.String,
1491
+ updated_at: S.optional(S.String),
1492
+ }).pipe(
1493
+ T.Http({
1494
+ method: "PATCH",
1495
+ uri: "/repos/{owner}/{repo}/issues/comments/{id}",
1496
+ code: 200,
1497
+ }),
1498
+ ),
1499
+ ).annotate({
1500
+ identifier: "IssueEditCommentRequest",
1501
+ }) as any as S.Schema<IssueEditCommentRequest>;
1502
+
1503
+ export interface IssueEditLabelRequest {
1504
+ /** owner of the repo */
1505
+ owner: string;
1506
+ /** name of the repo */
1507
+ repo: string;
1508
+ /** id of the label to edit */
1509
+ id: number;
1510
+ color?: string;
1511
+ description?: string;
1512
+ exclusive?: boolean;
1513
+ is_archived?: boolean;
1514
+ name?: string;
1515
+ }
1516
+ export const IssueEditLabelRequest = /*@__PURE__*/ S.suspend(() =>
1517
+ S.Struct({
1518
+ owner: S.String.pipe(T.Label()),
1519
+ repo: S.String.pipe(T.Label()),
1520
+ id: S.Number.pipe(T.Label()),
1521
+ color: S.optional(S.String),
1522
+ description: S.optional(S.String),
1523
+ exclusive: S.optional(S.Boolean),
1524
+ is_archived: S.optional(S.Boolean),
1525
+ name: S.optional(S.String),
1526
+ }).pipe(
1527
+ T.Http({
1528
+ method: "PATCH",
1529
+ uri: "/repos/{owner}/{repo}/labels/{id}",
1530
+ code: 200,
1531
+ }),
1532
+ ),
1533
+ ).annotate({
1534
+ identifier: "IssueEditLabelRequest",
1535
+ }) as any as S.Schema<IssueEditLabelRequest>;
1536
+
1537
+ export interface IssueEditMilestoneRequest {
1538
+ /** owner of the repo */
1539
+ owner: string;
1540
+ /** name of the repo */
1541
+ repo: string;
1542
+ /** the milestone to edit, identified by ID and if not available by name */
1543
+ id: number;
1544
+ description?: string;
1545
+ due_on?: string;
1546
+ state?: string;
1547
+ title?: string;
1548
+ }
1549
+ export const IssueEditMilestoneRequest = /*@__PURE__*/ S.suspend(() =>
1550
+ S.Struct({
1551
+ owner: S.String.pipe(T.Label()),
1552
+ repo: S.String.pipe(T.Label()),
1553
+ id: S.Number.pipe(T.Label()),
1554
+ description: S.optional(S.String),
1555
+ due_on: S.optional(S.String),
1556
+ state: S.optional(S.String),
1557
+ title: S.optional(S.String),
1558
+ }).pipe(
1559
+ T.Http({
1560
+ method: "PATCH",
1561
+ uri: "/repos/{owner}/{repo}/milestones/{id}",
1562
+ code: 200,
1563
+ }),
1564
+ ),
1565
+ ).annotate({
1566
+ identifier: "IssueEditMilestoneRequest",
1567
+ }) as any as S.Schema<IssueEditMilestoneRequest>;
1568
+
1569
+ export interface IssueGetCommentRequest {
1570
+ /** owner of the repo */
1571
+ owner: string;
1572
+ /** name of the repo */
1573
+ repo: string;
1574
+ /** id of the comment */
1575
+ id: number;
1576
+ }
1577
+ export const IssueGetCommentRequest = /*@__PURE__*/ S.suspend(() =>
1578
+ S.Struct({
1579
+ owner: S.String.pipe(T.Label()),
1580
+ repo: S.String.pipe(T.Label()),
1581
+ id: S.Number.pipe(T.Label()),
1582
+ }).pipe(
1583
+ T.Http({
1584
+ method: "GET",
1585
+ uri: "/repos/{owner}/{repo}/issues/comments/{id}",
1586
+ code: 200,
1587
+ }),
1588
+ ),
1589
+ ).annotate({
1590
+ identifier: "IssueGetCommentRequest",
1591
+ }) as any as S.Schema<IssueGetCommentRequest>;
1592
+
1593
+ export interface IssueGetCommentReactionsRequest {
1594
+ /** owner of the repo */
1595
+ owner: string;
1596
+ /** name of the repo */
1597
+ repo: string;
1598
+ /** id of the comment to edit */
1599
+ id: number;
1600
+ }
1601
+ export const IssueGetCommentReactionsRequest = /*@__PURE__*/ S.suspend(() =>
1602
+ S.Struct({
1603
+ owner: S.String.pipe(T.Label()),
1604
+ repo: S.String.pipe(T.Label()),
1605
+ id: S.Number.pipe(T.Label()),
1606
+ }).pipe(
1607
+ T.Http({
1608
+ method: "GET",
1609
+ uri: "/repos/{owner}/{repo}/issues/comments/{id}/reactions",
1610
+ code: 200,
1611
+ }),
1612
+ ),
1613
+ ).annotate({
1614
+ identifier: "IssueGetCommentReactionsRequest",
1615
+ }) as any as S.Schema<IssueGetCommentReactionsRequest>;
1616
+
1617
+ export type IssueGetCommentReactionsResponseBodyList = Array<Reaction>;
1618
+ export const IssueGetCommentReactionsResponseBodyList = /*@__PURE__*/ S.Array(
1619
+ Reaction,
1620
+ ) as any as S.Schema<IssueGetCommentReactionsResponseBodyList>;
1621
+
1622
+ export type IssueGetCommentReactionsResponse =
1623
+ IssueGetCommentReactionsResponseBodyList;
1624
+ export const IssueGetCommentReactionsResponse = /*@__PURE__*/ S.suspend(() =>
1625
+ IssueGetCommentReactionsResponseBodyList.pipe(T.RawResponseRoot()),
1626
+ ).annotate({
1627
+ identifier: "IssueGetCommentReactionsResponse",
1628
+ }) as any as S.Schema<IssueGetCommentReactionsResponse>;
1629
+
1630
+ export interface IssueGetCommentsRequest {
1631
+ /** owner of the repo */
1632
+ owner: string;
1633
+ /** name of the repo */
1634
+ repo: string;
1635
+ /** index of the issue */
1636
+ index: number;
1637
+ /** if provided, only comments updated since the specified time are returned. */
1638
+ since?: string;
1639
+ /** if provided, only comments updated before the provided time are returned. */
1640
+ before?: string;
1641
+ }
1642
+ export const IssueGetCommentsRequest = /*@__PURE__*/ S.suspend(() =>
1643
+ S.Struct({
1644
+ owner: S.String.pipe(T.Label()),
1645
+ repo: S.String.pipe(T.Label()),
1646
+ index: S.Number.pipe(T.Label()),
1647
+ since: S.optional(S.String.pipe(T.Query())),
1648
+ before: S.optional(S.String.pipe(T.Query())),
1649
+ }).pipe(
1650
+ T.Http({
1651
+ method: "GET",
1652
+ uri: "/repos/{owner}/{repo}/issues/{index}/comments",
1653
+ code: 200,
1654
+ }),
1655
+ ),
1656
+ ).annotate({
1657
+ identifier: "IssueGetCommentsRequest",
1658
+ }) as any as S.Schema<IssueGetCommentsRequest>;
1659
+
1660
+ export type IssueGetCommentsResponseBodyList = Array<Comment>;
1661
+ export const IssueGetCommentsResponseBodyList = /*@__PURE__*/ S.Array(
1662
+ Comment,
1663
+ ) as any as S.Schema<IssueGetCommentsResponseBodyList>;
1664
+
1665
+ export type IssueGetCommentsResponse = IssueGetCommentsResponseBodyList;
1666
+ export const IssueGetCommentsResponse = /*@__PURE__*/ S.suspend(() =>
1667
+ IssueGetCommentsResponseBodyList.pipe(T.RawResponseRoot()),
1668
+ ).annotate({
1669
+ identifier: "IssueGetCommentsResponse",
1670
+ }) as any as S.Schema<IssueGetCommentsResponse>;
1671
+
1672
+ export interface IssueGetCommentsAndTimelineRequest {
1673
+ /** owner of the repo */
1674
+ owner: string;
1675
+ /** name of the repo */
1676
+ repo: string;
1677
+ /** index of the issue */
1678
+ index: number;
1679
+ /** if provided, only comments updated since the specified time are returned. */
1680
+ since?: string;
1681
+ /** page number of results to return (1-based) */
1682
+ page?: number;
1683
+ /** page size of results */
1684
+ limit?: number;
1685
+ /** if provided, only comments updated before the provided time are returned. */
1686
+ before?: string;
1687
+ }
1688
+ export const IssueGetCommentsAndTimelineRequest = /*@__PURE__*/ S.suspend(() =>
1689
+ S.Struct({
1690
+ owner: S.String.pipe(T.Label()),
1691
+ repo: S.String.pipe(T.Label()),
1692
+ index: S.Number.pipe(T.Label()),
1693
+ since: S.optional(S.String.pipe(T.Query())),
1694
+ page: S.optional(S.Number.pipe(T.Query())),
1695
+ limit: S.optional(S.Number.pipe(T.Query())),
1696
+ before: S.optional(S.String.pipe(T.Query())),
1697
+ }).pipe(
1698
+ T.Http({
1699
+ method: "GET",
1700
+ uri: "/repos/{owner}/{repo}/issues/{index}/timeline",
1701
+ code: 200,
1702
+ }),
1703
+ ),
1704
+ ).annotate({
1705
+ identifier: "IssueGetCommentsAndTimelineRequest",
1706
+ }) as any as S.Schema<IssueGetCommentsAndTimelineRequest>;
1707
+
1708
+ /** Organization represents an organization */
1709
+ export interface Organization {
1710
+ avatar_url?: string;
1711
+ created?: string;
1712
+ description?: string;
1713
+ email?: string;
1714
+ full_name?: string;
1715
+ id: number;
1716
+ location?: string;
1717
+ name?: string;
1718
+ repo_admin_change_team_access?: boolean;
1719
+ /** deprecated */
1720
+ username: string;
1721
+ visibility?: string;
1722
+ website?: string;
1723
+ }
1724
+ export const Organization = /*@__PURE__*/ S.suspend(() =>
1725
+ S.Struct({
1726
+ avatar_url: S.optional(S.String),
1727
+ created: S.optional(S.String),
1728
+ description: S.optional(S.String),
1729
+ email: S.optional(S.String),
1730
+ full_name: S.optional(S.String),
1731
+ id: S.Number,
1732
+ location: S.optional(S.String),
1733
+ name: S.optional(S.String),
1734
+ repo_admin_change_team_access: S.optional(S.Boolean),
1735
+ username: S.String,
1736
+ visibility: S.optional(S.String),
1737
+ website: S.optional(S.String),
1738
+ }),
1739
+ ).annotate({ identifier: "Organization" }) as any as S.Schema<Organization>;
1740
+
1741
+ export type TeamPermission = "none" | "read" | "write" | "admin" | "owner";
1742
+ export const TeamPermission = /*@__PURE__*/ S.String;
1743
+
1744
+ export type TeamUnitsList = Array<string>;
1745
+ export const TeamUnitsList = /*@__PURE__*/ S.Array(
1746
+ S.String,
1747
+ ) as any as S.Schema<TeamUnitsList>;
1748
+
1749
+ export type TeamUnitsMapMap = { [key: string]: string | undefined };
1750
+ export const TeamUnitsMapMap = /*@__PURE__*/ S.Record(
1751
+ S.String,
1752
+ S.String,
1753
+ ) as any as S.Schema<TeamUnitsMapMap>;
1754
+
1755
+ /** Team represents a team in an organization */
1756
+ export interface Team {
1757
+ can_create_org_repo?: boolean;
1758
+ description?: string;
1759
+ id: number;
1760
+ includes_all_repositories?: boolean;
1761
+ name: string;
1762
+ organization?: Organization;
1763
+ permission?: TeamPermission;
1764
+ units?: TeamUnitsList;
1765
+ units_map?: TeamUnitsMapMap;
1766
+ }
1767
+ export const Team = /*@__PURE__*/ S.suspend(() =>
1768
+ S.Struct({
1769
+ can_create_org_repo: S.optional(S.Boolean),
1770
+ description: S.optional(S.String),
1771
+ id: S.Number,
1772
+ includes_all_repositories: S.optional(S.Boolean),
1773
+ name: S.String,
1774
+ organization: S.optional(Organization),
1775
+ permission: S.optional(TeamPermission),
1776
+ units: S.optional(TeamUnitsList),
1777
+ units_map: S.optional(TeamUnitsMapMap),
1778
+ }),
1779
+ ).annotate({ identifier: "Team" }) as any as S.Schema<Team>;
1780
+
1781
+ /** TimelineComment represents a timeline comment (comment of any type) on a commit or issue */
1782
+ export interface TimelineComment {
1783
+ assignee?: User;
1784
+ assignee_team?: Team;
1785
+ body?: string;
1786
+ created_at?: string;
1787
+ dependent_issue?: Issue;
1788
+ html_url?: string;
1789
+ id?: number;
1790
+ issue_url?: string;
1791
+ label?: Label;
1792
+ milestone?: Milestone;
1793
+ new_ref?: string;
1794
+ new_title?: string;
1795
+ old_milestone?: Milestone;
1796
+ old_project_id?: number;
1797
+ old_ref?: string;
1798
+ old_title?: string;
1799
+ project_id?: number;
1800
+ pull_request_url?: string;
1801
+ ref_action?: string;
1802
+ ref_comment?: Comment;
1803
+ /** commit SHA where issue/PR was referenced */
1804
+ ref_commit_sha?: string;
1805
+ ref_issue?: Issue;
1806
+ /** whether the assignees were removed or added */
1807
+ removed_assignee?: boolean;
1808
+ resolve_doer?: User;
1809
+ review_id?: number;
1810
+ tracked_time?: TrackedTime;
1811
+ type?: string;
1812
+ updated_at?: string;
1813
+ user?: User;
1814
+ }
1815
+ export const TimelineComment = /*@__PURE__*/ S.suspend(() =>
1816
+ S.Struct({
1817
+ assignee: S.optional(User),
1818
+ assignee_team: S.optional(Team),
1819
+ body: S.optional(S.String),
1820
+ created_at: S.optional(S.String),
1821
+ dependent_issue: S.optional(Issue),
1822
+ html_url: S.optional(S.String),
1823
+ id: S.optional(S.Number),
1824
+ issue_url: S.optional(S.String),
1825
+ label: S.optional(Label),
1826
+ milestone: S.optional(Milestone),
1827
+ new_ref: S.optional(S.String),
1828
+ new_title: S.optional(S.String),
1829
+ old_milestone: S.optional(Milestone),
1830
+ old_project_id: S.optional(S.Number),
1831
+ old_ref: S.optional(S.String),
1832
+ old_title: S.optional(S.String),
1833
+ project_id: S.optional(S.Number),
1834
+ pull_request_url: S.optional(S.String),
1835
+ ref_action: S.optional(S.String),
1836
+ ref_comment: S.optional(Comment),
1837
+ ref_commit_sha: S.optional(S.String),
1838
+ ref_issue: S.optional(Issue),
1839
+ removed_assignee: S.optional(S.Boolean),
1840
+ resolve_doer: S.optional(User),
1841
+ review_id: S.optional(S.Number),
1842
+ tracked_time: S.optional(TrackedTime),
1843
+ type: S.optional(S.String),
1844
+ updated_at: S.optional(S.String),
1845
+ user: S.optional(User),
1846
+ }),
1847
+ ).annotate({
1848
+ identifier: "TimelineComment",
1849
+ }) as any as S.Schema<TimelineComment>;
1850
+
1851
+ export type IssueGetCommentsAndTimelineResponseBodyList =
1852
+ Array<TimelineComment>;
1853
+ export const IssueGetCommentsAndTimelineResponseBodyList =
1854
+ /*@__PURE__*/ S.Array(
1855
+ TimelineComment,
1856
+ ) as any as S.Schema<IssueGetCommentsAndTimelineResponseBodyList>;
1857
+
1858
+ export type IssueGetCommentsAndTimelineResponse =
1859
+ IssueGetCommentsAndTimelineResponseBodyList;
1860
+ export const IssueGetCommentsAndTimelineResponse = /*@__PURE__*/ S.suspend(() =>
1861
+ IssueGetCommentsAndTimelineResponseBodyList.pipe(T.RawResponseRoot()),
1862
+ ).annotate({
1863
+ identifier: "IssueGetCommentsAndTimelineResponse",
1864
+ }) as any as S.Schema<IssueGetCommentsAndTimelineResponse>;
1865
+
1866
+ export interface IssueGetLabelRequest {
1867
+ /** owner of the repo */
1868
+ owner: string;
1869
+ /** name of the repo */
1870
+ repo: string;
1871
+ /** id of the label to get */
1872
+ id: number;
1873
+ }
1874
+ export const IssueGetLabelRequest = /*@__PURE__*/ S.suspend(() =>
1875
+ S.Struct({
1876
+ owner: S.String.pipe(T.Label()),
1877
+ repo: S.String.pipe(T.Label()),
1878
+ id: S.Number.pipe(T.Label()),
1879
+ }).pipe(
1880
+ T.Http({
1881
+ method: "GET",
1882
+ uri: "/repos/{owner}/{repo}/labels/{id}",
1883
+ code: 200,
1884
+ }),
1885
+ ),
1886
+ ).annotate({
1887
+ identifier: "IssueGetLabelRequest",
1888
+ }) as any as S.Schema<IssueGetLabelRequest>;
1889
+
1890
+ export interface IssueGetLabelsRequest {
1891
+ /** owner of the repo */
1892
+ owner: string;
1893
+ /** name of the repo */
1894
+ repo: string;
1895
+ /** index of the issue */
1896
+ index: number;
1897
+ }
1898
+ export const IssueGetLabelsRequest = /*@__PURE__*/ S.suspend(() =>
1899
+ S.Struct({
1900
+ owner: S.String.pipe(T.Label()),
1901
+ repo: S.String.pipe(T.Label()),
1902
+ index: S.Number.pipe(T.Label()),
1903
+ }).pipe(
1904
+ T.Http({
1905
+ method: "GET",
1906
+ uri: "/repos/{owner}/{repo}/issues/{index}/labels",
1907
+ code: 200,
1908
+ }),
1909
+ ),
1910
+ ).annotate({
1911
+ identifier: "IssueGetLabelsRequest",
1912
+ }) as any as S.Schema<IssueGetLabelsRequest>;
1913
+
1914
+ export type IssueGetLabelsResponseBodyList = Array<Label>;
1915
+ export const IssueGetLabelsResponseBodyList = /*@__PURE__*/ S.Array(
1916
+ Label,
1917
+ ) as any as S.Schema<IssueGetLabelsResponseBodyList>;
1918
+
1919
+ export type IssueGetLabelsResponse = IssueGetLabelsResponseBodyList;
1920
+ export const IssueGetLabelsResponse = /*@__PURE__*/ S.suspend(() =>
1921
+ IssueGetLabelsResponseBodyList.pipe(T.RawResponseRoot()),
1922
+ ).annotate({
1923
+ identifier: "IssueGetLabelsResponse",
1924
+ }) as any as S.Schema<IssueGetLabelsResponse>;
1925
+
1926
+ export interface IssueGetMilestoneRequest {
1927
+ /** owner of the repo */
1928
+ owner: string;
1929
+ /** name of the repo */
1930
+ repo: string;
1931
+ /** the milestone to get, identified by ID and if not available by name */
1932
+ id: number;
1933
+ }
1934
+ export const IssueGetMilestoneRequest = /*@__PURE__*/ S.suspend(() =>
1935
+ S.Struct({
1936
+ owner: S.String.pipe(T.Label()),
1937
+ repo: S.String.pipe(T.Label()),
1938
+ id: S.Number.pipe(T.Label()),
1939
+ }).pipe(
1940
+ T.Http({
1941
+ method: "GET",
1942
+ uri: "/repos/{owner}/{repo}/milestones/{id}",
1943
+ code: 200,
1944
+ }),
1945
+ ),
1946
+ ).annotate({
1947
+ identifier: "IssueGetMilestoneRequest",
1948
+ }) as any as S.Schema<IssueGetMilestoneRequest>;
1949
+
1950
+ export interface IssueGetMilestonesListRequest {
1951
+ /** owner of the repo */
1952
+ owner: string;
1953
+ /** name of the repo */
1954
+ repo: string;
1955
+ /** Milestone state, Recognized values are open, closed and all. Defaults to "open" */
1956
+ state?: string;
1957
+ /** filter by milestone name */
1958
+ name?: string;
1959
+ /** page number of results to return (1-based) */
1960
+ page?: number;
1961
+ /** page size of results */
1962
+ limit?: number;
1963
+ }
1964
+ export const IssueGetMilestonesListRequest = /*@__PURE__*/ S.suspend(() =>
1965
+ S.Struct({
1966
+ owner: S.String.pipe(T.Label()),
1967
+ repo: S.String.pipe(T.Label()),
1968
+ state: S.optional(S.String.pipe(T.Query())),
1969
+ name: S.optional(S.String.pipe(T.Query())),
1970
+ page: S.optional(S.Number.pipe(T.Query())),
1971
+ limit: S.optional(S.Number.pipe(T.Query())),
1972
+ }).pipe(
1973
+ T.Http({
1974
+ method: "GET",
1975
+ uri: "/repos/{owner}/{repo}/milestones",
1976
+ code: 200,
1977
+ }),
1978
+ ),
1979
+ ).annotate({
1980
+ identifier: "IssueGetMilestonesListRequest",
1981
+ }) as any as S.Schema<IssueGetMilestonesListRequest>;
1982
+
1983
+ export type IssueGetMilestonesListResponseBodyList = Array<Milestone>;
1984
+ export const IssueGetMilestonesListResponseBodyList = /*@__PURE__*/ S.Array(
1985
+ Milestone,
1986
+ ) as any as S.Schema<IssueGetMilestonesListResponseBodyList>;
1987
+
1988
+ export type IssueGetMilestonesListResponse =
1989
+ IssueGetMilestonesListResponseBodyList;
1990
+ export const IssueGetMilestonesListResponse = /*@__PURE__*/ S.suspend(() =>
1991
+ IssueGetMilestonesListResponseBodyList.pipe(T.RawResponseRoot()),
1992
+ ).annotate({
1993
+ identifier: "IssueGetMilestonesListResponse",
1994
+ }) as any as S.Schema<IssueGetMilestonesListResponse>;
1995
+
1996
+ export interface IssueGetRepoCommentsRequest {
1997
+ /** owner of the repo */
1998
+ owner: string;
1999
+ /** name of the repo */
2000
+ repo: string;
2001
+ /** if provided, only comments updated since the provided time are returned. */
2002
+ since?: string;
2003
+ /** if provided, only comments updated before the provided time are returned. */
2004
+ before?: string;
2005
+ /** page number of results to return (1-based) */
2006
+ page?: number;
2007
+ /** page size of results */
2008
+ limit?: number;
2009
+ }
2010
+ export const IssueGetRepoCommentsRequest = /*@__PURE__*/ S.suspend(() =>
2011
+ S.Struct({
2012
+ owner: S.String.pipe(T.Label()),
2013
+ repo: S.String.pipe(T.Label()),
2014
+ since: S.optional(S.String.pipe(T.Query())),
2015
+ before: S.optional(S.String.pipe(T.Query())),
2016
+ page: S.optional(S.Number.pipe(T.Query())),
2017
+ limit: S.optional(S.Number.pipe(T.Query())),
2018
+ }).pipe(
2019
+ T.Http({
2020
+ method: "GET",
2021
+ uri: "/repos/{owner}/{repo}/issues/comments",
2022
+ code: 200,
2023
+ }),
2024
+ ),
2025
+ ).annotate({
2026
+ identifier: "IssueGetRepoCommentsRequest",
2027
+ }) as any as S.Schema<IssueGetRepoCommentsRequest>;
2028
+
2029
+ export type IssueGetRepoCommentsResponseBodyList = Array<Comment>;
2030
+ export const IssueGetRepoCommentsResponseBodyList = /*@__PURE__*/ S.Array(
2031
+ Comment,
2032
+ ) as any as S.Schema<IssueGetRepoCommentsResponseBodyList>;
2033
+
2034
+ export type IssueGetRepoCommentsResponse = IssueGetRepoCommentsResponseBodyList;
2035
+ export const IssueGetRepoCommentsResponse = /*@__PURE__*/ S.suspend(() =>
2036
+ IssueGetRepoCommentsResponseBodyList.pipe(T.RawResponseRoot()),
2037
+ ).annotate({
2038
+ identifier: "IssueGetRepoCommentsResponse",
2039
+ }) as any as S.Schema<IssueGetRepoCommentsResponse>;
2040
+
2041
+ export interface IssueListBlocksRequest {
2042
+ /** owner of the repo */
2043
+ owner: string;
2044
+ /** name of the repo */
2045
+ repo: string;
2046
+ /** index of the issue */
2047
+ index: number;
2048
+ /** page number of results to return (1-based) */
2049
+ page?: number;
2050
+ /** page size of results */
2051
+ limit?: number;
2052
+ }
2053
+ export const IssueListBlocksRequest = /*@__PURE__*/ S.suspend(() =>
2054
+ S.Struct({
2055
+ owner: S.String.pipe(T.Label()),
2056
+ repo: S.String.pipe(T.Label()),
2057
+ index: S.Number.pipe(T.Label()),
2058
+ page: S.optional(S.Number.pipe(T.Query())),
2059
+ limit: S.optional(S.Number.pipe(T.Query())),
2060
+ }).pipe(
2061
+ T.Http({
2062
+ method: "GET",
2063
+ uri: "/repos/{owner}/{repo}/issues/{index}/blocks",
2064
+ code: 200,
2065
+ }),
2066
+ ),
2067
+ ).annotate({
2068
+ identifier: "IssueListBlocksRequest",
2069
+ }) as any as S.Schema<IssueListBlocksRequest>;
2070
+
2071
+ export type IssueListBlocksResponseBodyList = Array<Issue>;
2072
+ export const IssueListBlocksResponseBodyList = /*@__PURE__*/ S.Array(
2073
+ Issue,
2074
+ ) as any as S.Schema<IssueListBlocksResponseBodyList>;
2075
+
2076
+ export type IssueListBlocksResponse = IssueListBlocksResponseBodyList;
2077
+ export const IssueListBlocksResponse = /*@__PURE__*/ S.suspend(() =>
2078
+ IssueListBlocksResponseBodyList.pipe(T.RawResponseRoot()),
2079
+ ).annotate({
2080
+ identifier: "IssueListBlocksResponse",
2081
+ }) as any as S.Schema<IssueListBlocksResponse>;
2082
+
2083
+ export type IssueListLabelsRequestSort =
2084
+ | "mostissues"
2085
+ | "leastissues"
2086
+ | "reversealphabetically";
2087
+ export const IssueListLabelsRequestSort = /*@__PURE__*/ S.String;
2088
+
2089
+ export interface IssueListLabelsRequest {
2090
+ /** owner of the repo */
2091
+ owner: string;
2092
+ /** name of the repo */
2093
+ repo: string;
2094
+ /** Specifies the sorting method: mostissues, leastissues, or reversealphabetically. */
2095
+ sort?: IssueListLabelsRequestSort | (string & {});
2096
+ /** page number of results to return (1-based) */
2097
+ page?: number;
2098
+ /** page size of results */
2099
+ limit?: number;
2100
+ }
2101
+ export const IssueListLabelsRequest = /*@__PURE__*/ S.suspend(() =>
2102
+ S.Struct({
2103
+ owner: S.String.pipe(T.Label()),
2104
+ repo: S.String.pipe(T.Label()),
2105
+ sort: S.optional(IssueListLabelsRequestSort.pipe(T.Query())),
2106
+ page: S.optional(S.Number.pipe(T.Query())),
2107
+ limit: S.optional(S.Number.pipe(T.Query())),
2108
+ }).pipe(
2109
+ T.Http({ method: "GET", uri: "/repos/{owner}/{repo}/labels", code: 200 }),
2110
+ ),
2111
+ ).annotate({
2112
+ identifier: "IssueListLabelsRequest",
2113
+ }) as any as S.Schema<IssueListLabelsRequest>;
2114
+
2115
+ export type IssueListLabelsResponseBodyList = Array<Label>;
2116
+ export const IssueListLabelsResponseBodyList = /*@__PURE__*/ S.Array(
2117
+ Label,
2118
+ ) as any as S.Schema<IssueListLabelsResponseBodyList>;
2119
+
2120
+ export type IssueListLabelsResponse = IssueListLabelsResponseBodyList;
2121
+ export const IssueListLabelsResponse = /*@__PURE__*/ S.suspend(() =>
2122
+ IssueListLabelsResponseBodyList.pipe(T.RawResponseRoot()),
2123
+ ).annotate({
2124
+ identifier: "IssueListLabelsResponse",
2125
+ }) as any as S.Schema<IssueListLabelsResponse>;
2126
+
2127
+ export interface IssuePostCommentReactionRequest {
2128
+ /** owner of the repo */
2129
+ owner: string;
2130
+ /** name of the repo */
2131
+ repo: string;
2132
+ /** id of the comment to edit */
2133
+ id: number;
2134
+ content?: string;
2135
+ }
2136
+ export const IssuePostCommentReactionRequest = /*@__PURE__*/ S.suspend(() =>
2137
+ S.Struct({
2138
+ owner: S.String.pipe(T.Label()),
2139
+ repo: S.String.pipe(T.Label()),
2140
+ id: S.Number.pipe(T.Label()),
2141
+ content: S.optional(S.String),
2142
+ }).pipe(
2143
+ T.Http({
2144
+ method: "POST",
2145
+ uri: "/repos/{owner}/{repo}/issues/comments/{id}/reactions",
2146
+ code: 200,
2147
+ }),
2148
+ ),
2149
+ ).annotate({
2150
+ identifier: "IssuePostCommentReactionRequest",
2151
+ }) as any as S.Schema<IssuePostCommentReactionRequest>;
2152
+
2153
+ export interface IssueRemoveLabelRequest {
2154
+ /** owner of the repo */
2155
+ owner: string;
2156
+ /** name of the repo */
2157
+ repo: string;
2158
+ /** index of the issue */
2159
+ index: number;
2160
+ /** name or id of the label to remove */
2161
+ identifier: string;
2162
+ updated_at?: string;
2163
+ }
2164
+ export const IssueRemoveLabelRequest = /*@__PURE__*/ S.suspend(() =>
2165
+ S.Struct({
2166
+ owner: S.String.pipe(T.Label()),
2167
+ repo: S.String.pipe(T.Label()),
2168
+ index: S.Number.pipe(T.Label()),
2169
+ identifier: S.String.pipe(T.Label()),
2170
+ updated_at: S.optional(S.String),
2171
+ }).pipe(
2172
+ T.Http({
2173
+ method: "DELETE",
2174
+ uri: "/repos/{owner}/{repo}/issues/{index}/labels/{identifier}",
2175
+ code: 200,
2176
+ }),
2177
+ ),
2178
+ ).annotate({
2179
+ identifier: "IssueRemoveLabelRequest",
2180
+ }) as any as S.Schema<IssueRemoveLabelRequest>;
2181
+
2182
+ export interface IssueRemoveLabelResponse {}
2183
+ export const IssueRemoveLabelResponse = /*@__PURE__*/ S.suspend(() =>
2184
+ S.Struct({}),
2185
+ ).annotate({
2186
+ identifier: "IssueRemoveLabelResponse",
2187
+ }) as any as S.Schema<IssueRemoveLabelResponse>;
2188
+
2189
+ /** Labels can be a list of integers representing label IDs or a list of strings representing label names */
2190
+ export type IssueReplaceLabelsRequestLabelsList = Array<unknown>;
2191
+ export const IssueReplaceLabelsRequestLabelsList = /*@__PURE__*/ S.Array(
2192
+ S.Unknown,
2193
+ ) as any as S.Schema<IssueReplaceLabelsRequestLabelsList>;
2194
+
2195
+ export interface IssueReplaceLabelsRequest {
2196
+ /** owner of the repo */
2197
+ owner: string;
2198
+ /** name of the repo */
2199
+ repo: string;
2200
+ /** index of the issue */
2201
+ index: number;
2202
+ /** Labels can be a list of integers representing label IDs or a list of strings representing label names */
2203
+ labels?: IssueReplaceLabelsRequestLabelsList;
2204
+ updated_at?: string;
2205
+ }
2206
+ export const IssueReplaceLabelsRequest = /*@__PURE__*/ S.suspend(() =>
2207
+ S.Struct({
2208
+ owner: S.String.pipe(T.Label()),
2209
+ repo: S.String.pipe(T.Label()),
2210
+ index: S.Number.pipe(T.Label()),
2211
+ labels: S.optional(IssueReplaceLabelsRequestLabelsList),
2212
+ updated_at: S.optional(S.String),
2213
+ }).pipe(
2214
+ T.Http({
2215
+ method: "PUT",
2216
+ uri: "/repos/{owner}/{repo}/issues/{index}/labels",
2217
+ code: 200,
2218
+ }),
2219
+ ),
2220
+ ).annotate({
2221
+ identifier: "IssueReplaceLabelsRequest",
2222
+ }) as any as S.Schema<IssueReplaceLabelsRequest>;
2223
+
2224
+ export type IssueReplaceLabelsResponseBodyList = Array<Label>;
2225
+ export const IssueReplaceLabelsResponseBodyList = /*@__PURE__*/ S.Array(
2226
+ Label,
2227
+ ) as any as S.Schema<IssueReplaceLabelsResponseBodyList>;
2228
+
2229
+ export type IssueReplaceLabelsResponse = IssueReplaceLabelsResponseBodyList;
2230
+ export const IssueReplaceLabelsResponse = /*@__PURE__*/ S.suspend(() =>
2231
+ IssueReplaceLabelsResponseBodyList.pipe(T.RawResponseRoot()),
2232
+ ).annotate({
2233
+ identifier: "IssueReplaceLabelsResponse",
2234
+ }) as any as S.Schema<IssueReplaceLabelsResponse>;
2235
+
2236
+ export interface IssueResetTimeRequest {
2237
+ /** owner of the repo */
2238
+ owner: string;
2239
+ /** name of the repo */
2240
+ repo: string;
2241
+ /** index of the issue to add tracked time to */
2242
+ index: number;
2243
+ }
2244
+ export const IssueResetTimeRequest = /*@__PURE__*/ S.suspend(() =>
2245
+ S.Struct({
2246
+ owner: S.String.pipe(T.Label()),
2247
+ repo: S.String.pipe(T.Label()),
2248
+ index: S.Number.pipe(T.Label()),
2249
+ }).pipe(
2250
+ T.Http({
2251
+ method: "DELETE",
2252
+ uri: "/repos/{owner}/{repo}/issues/{index}/times",
2253
+ code: 200,
2254
+ }),
2255
+ ),
2256
+ ).annotate({
2257
+ identifier: "IssueResetTimeRequest",
2258
+ }) as any as S.Schema<IssueResetTimeRequest>;
2259
+
2260
+ export interface IssueResetTimeResponse {}
2261
+ export const IssueResetTimeResponse = /*@__PURE__*/ S.suspend(() =>
2262
+ S.Struct({}),
2263
+ ).annotate({
2264
+ identifier: "IssueResetTimeResponse",
2265
+ }) as any as S.Schema<IssueResetTimeResponse>;
2266
+
2267
+ export interface IssueStartStopWatchRequest {
2268
+ /** owner of the repo */
2269
+ owner: string;
2270
+ /** name of the repo */
2271
+ repo: string;
2272
+ /** index of the issue to create the stopwatch on */
2273
+ index: number;
2274
+ }
2275
+ export const IssueStartStopWatchRequest = /*@__PURE__*/ S.suspend(() =>
2276
+ S.Struct({
2277
+ owner: S.String.pipe(T.Label()),
2278
+ repo: S.String.pipe(T.Label()),
2279
+ index: S.Number.pipe(T.Label()),
2280
+ }).pipe(
2281
+ T.Http({
2282
+ method: "POST",
2283
+ uri: "/repos/{owner}/{repo}/issues/{index}/stopwatch/start",
2284
+ code: 200,
2285
+ }),
2286
+ ),
2287
+ ).annotate({
2288
+ identifier: "IssueStartStopWatchRequest",
2289
+ }) as any as S.Schema<IssueStartStopWatchRequest>;
2290
+
2291
+ export interface IssueStartStopWatchResponse {}
2292
+ export const IssueStartStopWatchResponse = /*@__PURE__*/ S.suspend(() =>
2293
+ S.Struct({}),
2294
+ ).annotate({
2295
+ identifier: "IssueStartStopWatchResponse",
2296
+ }) as any as S.Schema<IssueStartStopWatchResponse>;
2297
+
2298
+ export interface IssueStopStopWatchRequest {
2299
+ /** owner of the repo */
2300
+ owner: string;
2301
+ /** name of the repo */
2302
+ repo: string;
2303
+ /** index of the issue to stop the stopwatch on */
2304
+ index: number;
2305
+ }
2306
+ export const IssueStopStopWatchRequest = /*@__PURE__*/ S.suspend(() =>
2307
+ S.Struct({
2308
+ owner: S.String.pipe(T.Label()),
2309
+ repo: S.String.pipe(T.Label()),
2310
+ index: S.Number.pipe(T.Label()),
2311
+ }).pipe(
2312
+ T.Http({
2313
+ method: "POST",
2314
+ uri: "/repos/{owner}/{repo}/issues/{index}/stopwatch/stop",
2315
+ code: 200,
2316
+ }),
2317
+ ),
2318
+ ).annotate({
2319
+ identifier: "IssueStopStopWatchRequest",
2320
+ }) as any as S.Schema<IssueStopStopWatchRequest>;
2321
+
2322
+ export interface IssueStopStopWatchResponse {}
2323
+ export const IssueStopStopWatchResponse = /*@__PURE__*/ S.suspend(() =>
2324
+ S.Struct({}),
2325
+ ).annotate({
2326
+ identifier: "IssueStopStopWatchResponse",
2327
+ }) as any as S.Schema<IssueStopStopWatchResponse>;
2328
+
2329
+ export interface IssueSubscriptionsRequest {
2330
+ /** owner of the repo */
2331
+ owner: string;
2332
+ /** name of the repo */
2333
+ repo: string;
2334
+ /** index of the issue */
2335
+ index: number;
2336
+ /** page number of results to return (1-based) */
2337
+ page?: number;
2338
+ /** page size of results */
2339
+ limit?: number;
2340
+ }
2341
+ export const IssueSubscriptionsRequest = /*@__PURE__*/ S.suspend(() =>
2342
+ S.Struct({
2343
+ owner: S.String.pipe(T.Label()),
2344
+ repo: S.String.pipe(T.Label()),
2345
+ index: S.Number.pipe(T.Label()),
2346
+ page: S.optional(S.Number.pipe(T.Query())),
2347
+ limit: S.optional(S.Number.pipe(T.Query())),
2348
+ }).pipe(
2349
+ T.Http({
2350
+ method: "GET",
2351
+ uri: "/repos/{owner}/{repo}/issues/{index}/subscriptions",
2352
+ code: 200,
2353
+ }),
2354
+ ),
2355
+ ).annotate({
2356
+ identifier: "IssueSubscriptionsRequest",
2357
+ }) as any as S.Schema<IssueSubscriptionsRequest>;
2358
+
2359
+ export type IssueSubscriptionsResponseBodyList = Array<User>;
2360
+ export const IssueSubscriptionsResponseBodyList = /*@__PURE__*/ S.Array(
2361
+ User,
2362
+ ) as any as S.Schema<IssueSubscriptionsResponseBodyList>;
2363
+
2364
+ export type IssueSubscriptionsResponse = IssueSubscriptionsResponseBodyList;
2365
+ export const IssueSubscriptionsResponse = /*@__PURE__*/ S.suspend(() =>
2366
+ IssueSubscriptionsResponseBodyList.pipe(T.RawResponseRoot()),
2367
+ ).annotate({
2368
+ identifier: "IssueSubscriptionsResponse",
2369
+ }) as any as S.Schema<IssueSubscriptionsResponse>;
2370
+
2371
+ export interface IssueTrackedTimesRequest {
2372
+ /** owner of the repo */
2373
+ owner: string;
2374
+ /** name of the repo */
2375
+ repo: string;
2376
+ /** index of the issue */
2377
+ index: number;
2378
+ /** optional filter by user (available for issue managers) */
2379
+ user?: string;
2380
+ /** Only show times updated after the given time. This is a timestamp in RFC 3339 format */
2381
+ since?: string;
2382
+ /** Only show times updated before the given time. This is a timestamp in RFC 3339 format */
2383
+ before?: string;
2384
+ /** page number of results to return (1-based) */
2385
+ page?: number;
2386
+ /** page size of results */
2387
+ limit?: number;
2388
+ }
2389
+ export const IssueTrackedTimesRequest = /*@__PURE__*/ S.suspend(() =>
2390
+ S.Struct({
2391
+ owner: S.String.pipe(T.Label()),
2392
+ repo: S.String.pipe(T.Label()),
2393
+ index: S.Number.pipe(T.Label()),
2394
+ user: S.optional(S.String.pipe(T.Query())),
2395
+ since: S.optional(S.String.pipe(T.Query())),
2396
+ before: S.optional(S.String.pipe(T.Query())),
2397
+ page: S.optional(S.Number.pipe(T.Query())),
2398
+ limit: S.optional(S.Number.pipe(T.Query())),
2399
+ }).pipe(
2400
+ T.Http({
2401
+ method: "GET",
2402
+ uri: "/repos/{owner}/{repo}/issues/{index}/times",
2403
+ code: 200,
2404
+ }),
2405
+ ),
2406
+ ).annotate({
2407
+ identifier: "IssueTrackedTimesRequest",
2408
+ }) as any as S.Schema<IssueTrackedTimesRequest>;
2409
+
2410
+ export type IssueTrackedTimesResponseBodyList = Array<TrackedTime>;
2411
+ export const IssueTrackedTimesResponseBodyList = /*@__PURE__*/ S.Array(
2412
+ TrackedTime,
2413
+ ) as any as S.Schema<IssueTrackedTimesResponseBodyList>;
2414
+
2415
+ export type IssueTrackedTimesResponse = IssueTrackedTimesResponseBodyList;
2416
+ export const IssueTrackedTimesResponse = /*@__PURE__*/ S.suspend(() =>
2417
+ IssueTrackedTimesResponseBodyList.pipe(T.RawResponseRoot()),
2418
+ ).annotate({
2419
+ identifier: "IssueTrackedTimesResponse",
2420
+ }) as any as S.Schema<IssueTrackedTimesResponse>;
2421
+
2422
+ export interface ListIssueAttachmentsRequest {
2423
+ /** owner of the repo */
2424
+ owner: string;
2425
+ /** name of the repo */
2426
+ repo: string;
2427
+ /** index of the issue */
2428
+ index: number;
2429
+ }
2430
+ export const ListIssueAttachmentsRequest = /*@__PURE__*/ S.suspend(() =>
2431
+ S.Struct({
2432
+ owner: S.String.pipe(T.Label()),
2433
+ repo: S.String.pipe(T.Label()),
2434
+ index: S.Number.pipe(T.Label()),
2435
+ }).pipe(
2436
+ T.Http({
2437
+ method: "GET",
2438
+ uri: "/repos/{owner}/{repo}/issues/{index}/assets",
2439
+ code: 200,
2440
+ }),
2441
+ ),
2442
+ ).annotate({
2443
+ identifier: "ListIssueAttachmentsRequest",
2444
+ }) as any as S.Schema<ListIssueAttachmentsRequest>;
2445
+
2446
+ export type ListIssueAttachmentsResponseBodyList = Array<Attachment>;
2447
+ export const ListIssueAttachmentsResponseBodyList = /*@__PURE__*/ S.Array(
2448
+ Attachment,
2449
+ ) as any as S.Schema<ListIssueAttachmentsResponseBodyList>;
2450
+
2451
+ export type ListIssueAttachmentsResponse = ListIssueAttachmentsResponseBodyList;
2452
+ export const ListIssueAttachmentsResponse = /*@__PURE__*/ S.suspend(() =>
2453
+ ListIssueAttachmentsResponseBodyList.pipe(T.RawResponseRoot()),
2454
+ ).annotate({
2455
+ identifier: "ListIssueAttachmentsResponse",
2456
+ }) as any as S.Schema<ListIssueAttachmentsResponse>;
2457
+
2458
+ export interface ListIssueCommentAttachmentsRequest {
2459
+ /** owner of the repo */
2460
+ owner: string;
2461
+ /** name of the repo */
2462
+ repo: string;
2463
+ /** id of the comment */
2464
+ id: number;
2465
+ }
2466
+ export const ListIssueCommentAttachmentsRequest = /*@__PURE__*/ S.suspend(() =>
2467
+ S.Struct({
2468
+ owner: S.String.pipe(T.Label()),
2469
+ repo: S.String.pipe(T.Label()),
2470
+ id: S.Number.pipe(T.Label()),
2471
+ }).pipe(
2472
+ T.Http({
2473
+ method: "GET",
2474
+ uri: "/repos/{owner}/{repo}/issues/comments/{id}/assets",
2475
+ code: 200,
2476
+ }),
2477
+ ),
2478
+ ).annotate({
2479
+ identifier: "ListIssueCommentAttachmentsRequest",
2480
+ }) as any as S.Schema<ListIssueCommentAttachmentsRequest>;
2481
+
2482
+ export type ListIssueCommentAttachmentsResponseBodyList = Array<Attachment>;
2483
+ export const ListIssueCommentAttachmentsResponseBodyList =
2484
+ /*@__PURE__*/ S.Array(
2485
+ Attachment,
2486
+ ) as any as S.Schema<ListIssueCommentAttachmentsResponseBodyList>;
2487
+
2488
+ export type ListIssueCommentAttachmentsResponse =
2489
+ ListIssueCommentAttachmentsResponseBodyList;
2490
+ export const ListIssueCommentAttachmentsResponse = /*@__PURE__*/ S.suspend(() =>
2491
+ ListIssueCommentAttachmentsResponseBodyList.pipe(T.RawResponseRoot()),
2492
+ ).annotate({
2493
+ identifier: "ListIssueCommentAttachmentsResponse",
2494
+ }) as any as S.Schema<ListIssueCommentAttachmentsResponse>;
2495
+
2496
+ export interface ListIssueDependenciesRequest {
2497
+ /** owner of the repo */
2498
+ owner: string;
2499
+ /** name of the repo */
2500
+ repo: string;
2501
+ /** index of the issue */
2502
+ index: number;
2503
+ /** page number of results to return (1-based) */
2504
+ page?: number;
2505
+ /** page size of results */
2506
+ limit?: number;
2507
+ }
2508
+ export const ListIssueDependenciesRequest = /*@__PURE__*/ S.suspend(() =>
2509
+ S.Struct({
2510
+ owner: S.String.pipe(T.Label()),
2511
+ repo: S.String.pipe(T.Label()),
2512
+ index: S.Number.pipe(T.Label()),
2513
+ page: S.optional(S.Number.pipe(T.Query())),
2514
+ limit: S.optional(S.Number.pipe(T.Query())),
2515
+ }).pipe(
2516
+ T.Http({
2517
+ method: "GET",
2518
+ uri: "/repos/{owner}/{repo}/issues/{index}/dependencies",
2519
+ code: 200,
2520
+ }),
2521
+ ),
2522
+ ).annotate({
2523
+ identifier: "ListIssueDependenciesRequest",
2524
+ }) as any as S.Schema<ListIssueDependenciesRequest>;
2525
+
2526
+ export type ListIssueDependenciesResponseBodyList = Array<Issue>;
2527
+ export const ListIssueDependenciesResponseBodyList = /*@__PURE__*/ S.Array(
2528
+ Issue,
2529
+ ) as any as S.Schema<ListIssueDependenciesResponseBodyList>;
2530
+
2531
+ export type ListIssueDependenciesResponse =
2532
+ ListIssueDependenciesResponseBodyList;
2533
+ export const ListIssueDependenciesResponse = /*@__PURE__*/ S.suspend(() =>
2534
+ ListIssueDependenciesResponseBodyList.pipe(T.RawResponseRoot()),
2535
+ ).annotate({
2536
+ identifier: "ListIssueDependenciesResponse",
2537
+ }) as any as S.Schema<ListIssueDependenciesResponse>;
2538
+
2539
+ export type ListIssuesRequestState = "closed" | "open" | "all";
2540
+ export const ListIssuesRequestState = /*@__PURE__*/ S.String;
2541
+
2542
+ export type ListIssuesRequestType = "issues" | "pulls";
2543
+ export const ListIssuesRequestType = /*@__PURE__*/ S.String;
2544
+
2545
+ export type ListIssuesRequestSort =
2546
+ | "relevance"
2547
+ | "latest"
2548
+ | "oldest"
2549
+ | "recentupdate"
2550
+ | "leastupdate"
2551
+ | "mostcomment"
2552
+ | "leastcomment"
2553
+ | "nearduedate"
2554
+ | "farduedate";
2555
+ export const ListIssuesRequestSort = /*@__PURE__*/ S.String;
2556
+
2557
+ export interface ListIssuesRequest {
2558
+ /** owner of the repo */
2559
+ owner: string;
2560
+ /** name of the repo */
2561
+ repo: string;
2562
+ /** whether issue is open or closed */
2563
+ state?: ListIssuesRequestState | (string & {});
2564
+ /** comma separated list of labels. Fetch only issues that have any of this labels. Non existent labels are discarded */
2565
+ labels?: string;
2566
+ /** search string */
2567
+ q?: string;
2568
+ /** filter by type (issues / pulls) if set */
2569
+ type?: ListIssuesRequestType | (string & {});
2570
+ /** comma separated list of milestone names or ids. It uses names and fall back to ids. Fetch only issues that have any of this milestones. Non existent milestones are discarded */
2571
+ milestones?: string;
2572
+ /** Only show items updated after the given time. This is a timestamp in RFC 3339 format */
2573
+ since?: string;
2574
+ /** Only show items updated before the given time. This is a timestamp in RFC 3339 format */
2575
+ before?: string;
2576
+ /** Only show items which were created by the given user */
2577
+ created_by?: string;
2578
+ /** Only show items for which the given user is assigned */
2579
+ assigned_by?: string;
2580
+ /** Only show items in which the given user was mentioned */
2581
+ mentioned_by?: string;
2582
+ /** page number of results to return (1-based) */
2583
+ page?: number;
2584
+ /** page size of results */
2585
+ limit?: number;
2586
+ /** Type of sort */
2587
+ sort?: ListIssuesRequestSort | (string & {});
2588
+ }
2589
+ export const ListIssuesRequest = /*@__PURE__*/ S.suspend(() =>
2590
+ S.Struct({
2591
+ owner: S.String.pipe(T.Label()),
2592
+ repo: S.String.pipe(T.Label()),
2593
+ state: S.optional(ListIssuesRequestState.pipe(T.Query())),
2594
+ labels: S.optional(S.String.pipe(T.Query())),
2595
+ q: S.optional(S.String.pipe(T.Query())),
2596
+ type: S.optional(ListIssuesRequestType.pipe(T.Query())),
2597
+ milestones: S.optional(S.String.pipe(T.Query())),
2598
+ since: S.optional(S.String.pipe(T.Query())),
2599
+ before: S.optional(S.String.pipe(T.Query())),
2600
+ created_by: S.optional(S.String.pipe(T.Query())),
2601
+ assigned_by: S.optional(S.String.pipe(T.Query())),
2602
+ mentioned_by: S.optional(S.String.pipe(T.Query())),
2603
+ page: S.optional(S.Number.pipe(T.Query())),
2604
+ limit: S.optional(S.Number.pipe(T.Query())),
2605
+ sort: S.optional(ListIssuesRequestSort.pipe(T.Query())),
2606
+ }).pipe(
2607
+ T.Http({ method: "GET", uri: "/repos/{owner}/{repo}/issues", code: 200 }),
2608
+ ),
2609
+ ).annotate({
2610
+ identifier: "ListIssuesRequest",
2611
+ }) as any as S.Schema<ListIssuesRequest>;
2612
+
2613
+ export type ListIssuesResponseBodyList = Array<Issue>;
2614
+ export const ListIssuesResponseBodyList = /*@__PURE__*/ S.Array(
2615
+ Issue,
2616
+ ) as any as S.Schema<ListIssuesResponseBodyList>;
2617
+
2618
+ export type ListIssuesResponse = ListIssuesResponseBodyList;
2619
+ export const ListIssuesResponse = /*@__PURE__*/ S.suspend(() =>
2620
+ ListIssuesResponseBodyList.pipe(T.RawResponseRoot()),
2621
+ ).annotate({
2622
+ identifier: "ListIssuesResponse",
2623
+ }) as any as S.Schema<ListIssuesResponse>;
2624
+
2625
+ export interface MoveIssuePinRequest {
2626
+ /** owner of the repo */
2627
+ owner: string;
2628
+ /** name of the repo */
2629
+ repo: string;
2630
+ /** index of issue */
2631
+ index: number;
2632
+ /** the new position */
2633
+ position: number;
2634
+ }
2635
+ export const MoveIssuePinRequest = /*@__PURE__*/ S.suspend(() =>
2636
+ S.Struct({
2637
+ owner: S.String.pipe(T.Label()),
2638
+ repo: S.String.pipe(T.Label()),
2639
+ index: S.Number.pipe(T.Label()),
2640
+ position: S.Number.pipe(T.Label()),
2641
+ }).pipe(
2642
+ T.Http({
2643
+ method: "PATCH",
2644
+ uri: "/repos/{owner}/{repo}/issues/{index}/pin/{position}",
2645
+ code: 200,
2646
+ }),
2647
+ ),
2648
+ ).annotate({
2649
+ identifier: "MoveIssuePinRequest",
2650
+ }) as any as S.Schema<MoveIssuePinRequest>;
2651
+
2652
+ export interface MoveIssuePinResponse {}
2653
+ export const MoveIssuePinResponse = /*@__PURE__*/ S.suspend(() =>
2654
+ S.Struct({}),
2655
+ ).annotate({
2656
+ identifier: "MoveIssuePinResponse",
2657
+ }) as any as S.Schema<MoveIssuePinResponse>;
2658
+
2659
+ export interface PinIssueRequest {
2660
+ /** owner of the repo */
2661
+ owner: string;
2662
+ /** name of the repo */
2663
+ repo: string;
2664
+ /** index of issue to pin */
2665
+ index: number;
2666
+ }
2667
+ export const PinIssueRequest = /*@__PURE__*/ S.suspend(() =>
2668
+ S.Struct({
2669
+ owner: S.String.pipe(T.Label()),
2670
+ repo: S.String.pipe(T.Label()),
2671
+ index: S.Number.pipe(T.Label()),
2672
+ }).pipe(
2673
+ T.Http({
2674
+ method: "POST",
2675
+ uri: "/repos/{owner}/{repo}/issues/{index}/pin",
2676
+ code: 200,
2677
+ }),
2678
+ ),
2679
+ ).annotate({
2680
+ identifier: "PinIssueRequest",
2681
+ }) as any as S.Schema<PinIssueRequest>;
2682
+
2683
+ export interface PinIssueResponse {}
2684
+ export const PinIssueResponse = /*@__PURE__*/ S.suspend(() =>
2685
+ S.Struct({}),
2686
+ ).annotate({
2687
+ identifier: "PinIssueResponse",
2688
+ }) as any as S.Schema<PinIssueResponse>;
2689
+
2690
+ export interface PostIssueReactionRequest {
2691
+ /** owner of the repo */
2692
+ owner: string;
2693
+ /** name of the repo */
2694
+ repo: string;
2695
+ /** index of the issue */
2696
+ index: number;
2697
+ content?: string;
2698
+ }
2699
+ export const PostIssueReactionRequest = /*@__PURE__*/ S.suspend(() =>
2700
+ S.Struct({
2701
+ owner: S.String.pipe(T.Label()),
2702
+ repo: S.String.pipe(T.Label()),
2703
+ index: S.Number.pipe(T.Label()),
2704
+ content: S.optional(S.String),
2705
+ }).pipe(
2706
+ T.Http({
2707
+ method: "POST",
2708
+ uri: "/repos/{owner}/{repo}/issues/{index}/reactions",
2709
+ code: 200,
2710
+ }),
2711
+ ),
2712
+ ).annotate({
2713
+ identifier: "PostIssueReactionRequest",
2714
+ }) as any as S.Schema<PostIssueReactionRequest>;
2715
+
2716
+ export interface RemoveIssueBlockingRequest {
2717
+ /** owner of the repo */
2718
+ owner: string;
2719
+ /** name of the repo */
2720
+ repo: string;
2721
+ /** index of the issue */
2722
+ index: number;
2723
+ }
2724
+ export const RemoveIssueBlockingRequest = /*@__PURE__*/ S.suspend(() =>
2725
+ S.Struct({
2726
+ owner: S.String.pipe(T.Label()),
2727
+ repo: S.String.pipe(T.Label()),
2728
+ index: S.Number.pipe(T.Label()),
2729
+ }).pipe(
2730
+ T.Http({
2731
+ method: "DELETE",
2732
+ uri: "/repos/{owner}/{repo}/issues/{index}/blocks",
2733
+ code: 200,
2734
+ }),
2735
+ ),
2736
+ ).annotate({
2737
+ identifier: "RemoveIssueBlockingRequest",
2738
+ }) as any as S.Schema<RemoveIssueBlockingRequest>;
2739
+
2740
+ export interface RemoveIssueDependenciesRequest {
2741
+ /** owner of the repo */
2742
+ owner: string;
2743
+ /** name of the repo */
2744
+ repo: string;
2745
+ /** index of the issue */
2746
+ index: number;
2747
+ }
2748
+ export const RemoveIssueDependenciesRequest = /*@__PURE__*/ S.suspend(() =>
2749
+ S.Struct({
2750
+ owner: S.String.pipe(T.Label()),
2751
+ repo: S.String.pipe(T.Label()),
2752
+ index: S.Number.pipe(T.Label()),
2753
+ }).pipe(
2754
+ T.Http({
2755
+ method: "DELETE",
2756
+ uri: "/repos/{owner}/{repo}/issues/{index}/dependencies",
2757
+ code: 200,
2758
+ }),
2759
+ ),
2760
+ ).annotate({
2761
+ identifier: "RemoveIssueDependenciesRequest",
2762
+ }) as any as S.Schema<RemoveIssueDependenciesRequest>;
2763
+
2764
+ export type SearchIssuesRequestState = "open" | "closed" | "all";
2765
+ export const SearchIssuesRequestState = /*@__PURE__*/ S.String;
2766
+
2767
+ export type SearchIssuesRequestType = "issues" | "pulls";
2768
+ export const SearchIssuesRequestType = /*@__PURE__*/ S.String;
2769
+
2770
+ export type SearchIssuesRequestSort =
2771
+ | "relevance"
2772
+ | "latest"
2773
+ | "oldest"
2774
+ | "recentupdate"
2775
+ | "leastupdate"
2776
+ | "mostcomment"
2777
+ | "leastcomment"
2778
+ | "nearduedate"
2779
+ | "farduedate";
2780
+ export const SearchIssuesRequestSort = /*@__PURE__*/ S.String;
2781
+
2782
+ export interface SearchIssuesRequest {
2783
+ /** State of the issue */
2784
+ state?: SearchIssuesRequestState | (string & {});
2785
+ /** Comma-separated list of label names. Fetch only issues that have any of these labels. Non existent labels are discarded. */
2786
+ labels?: string;
2787
+ /** Comma-separated list of milestone names. Fetch only issues that have any of these milestones. Non existent milestones are discarded. */
2788
+ milestones?: string;
2789
+ /** Search string */
2790
+ q?: string;
2791
+ /** Repository ID to prioritize in the results */
2792
+ priority_repo_id?: number;
2793
+ /** Filter by issue type */
2794
+ type?: SearchIssuesRequestType | (string & {});
2795
+ /** Only show issues updated after the given time (RFC 3339 format) */
2796
+ since?: string;
2797
+ /** Only show issues updated before the given time (RFC 3339 format) */
2798
+ before?: string;
2799
+ /** Filter issues or pulls assigned to the authenticated user */
2800
+ assigned?: boolean;
2801
+ /** Filter issues or pulls created by the authenticated user */
2802
+ created?: boolean;
2803
+ /** Filter issues or pulls mentioning the authenticated user */
2804
+ mentioned?: boolean;
2805
+ /** Filter pull requests where the authenticated user's review was requested */
2806
+ review_requested?: boolean;
2807
+ /** Filter pull requests reviewed by the authenticated user */
2808
+ reviewed?: boolean;
2809
+ /** Filter by repository owner */
2810
+ owner?: string;
2811
+ /** Filter by team (requires organization owner parameter) */
2812
+ team?: string;
2813
+ /** Page number of results to return (1-based) */
2814
+ page?: number;
2815
+ /** Number of items per page */
2816
+ limit?: number;
2817
+ /** Type of sort */
2818
+ sort?: SearchIssuesRequestSort | (string & {});
2819
+ }
2820
+ export const SearchIssuesRequest = /*@__PURE__*/ S.suspend(() =>
2821
+ S.Struct({
2822
+ state: S.optional(SearchIssuesRequestState.pipe(T.Query())),
2823
+ labels: S.optional(S.String.pipe(T.Query())),
2824
+ milestones: S.optional(S.String.pipe(T.Query())),
2825
+ q: S.optional(S.String.pipe(T.Query())),
2826
+ priority_repo_id: S.optional(S.Number.pipe(T.Query())),
2827
+ type: S.optional(SearchIssuesRequestType.pipe(T.Query())),
2828
+ since: S.optional(S.String.pipe(T.Query())),
2829
+ before: S.optional(S.String.pipe(T.Query())),
2830
+ assigned: S.optional(S.Boolean.pipe(T.Query())),
2831
+ created: S.optional(S.Boolean.pipe(T.Query())),
2832
+ mentioned: S.optional(S.Boolean.pipe(T.Query())),
2833
+ review_requested: S.optional(S.Boolean.pipe(T.Query())),
2834
+ reviewed: S.optional(S.Boolean.pipe(T.Query())),
2835
+ owner: S.optional(S.String.pipe(T.Query())),
2836
+ team: S.optional(S.String.pipe(T.Query())),
2837
+ page: S.optional(S.Number.pipe(T.Query())),
2838
+ limit: S.optional(S.Number.pipe(T.Query())),
2839
+ sort: S.optional(SearchIssuesRequestSort.pipe(T.Query())),
2840
+ }).pipe(T.Http({ method: "GET", uri: "/repos/issues/search", code: 200 })),
2841
+ ).annotate({
2842
+ identifier: "SearchIssuesRequest",
2843
+ }) as any as S.Schema<SearchIssuesRequest>;
2844
+
2845
+ export type SearchIssuesResponseBodyList = Array<Issue>;
2846
+ export const SearchIssuesResponseBodyList = /*@__PURE__*/ S.Array(
2847
+ Issue,
2848
+ ) as any as S.Schema<SearchIssuesResponseBodyList>;
2849
+
2850
+ export type SearchIssuesResponse = SearchIssuesResponseBodyList;
2851
+ export const SearchIssuesResponse = /*@__PURE__*/ S.suspend(() =>
2852
+ SearchIssuesResponseBodyList.pipe(T.RawResponseRoot()),
2853
+ ).annotate({
2854
+ identifier: "SearchIssuesResponse",
2855
+ }) as any as S.Schema<SearchIssuesResponse>;
2856
+
2857
+ export interface UnpinIssueRequest {
2858
+ /** owner of the repo */
2859
+ owner: string;
2860
+ /** name of the repo */
2861
+ repo: string;
2862
+ /** index of issue to unpin */
2863
+ index: number;
2864
+ }
2865
+ export const UnpinIssueRequest = /*@__PURE__*/ S.suspend(() =>
2866
+ S.Struct({
2867
+ owner: S.String.pipe(T.Label()),
2868
+ repo: S.String.pipe(T.Label()),
2869
+ index: S.Number.pipe(T.Label()),
2870
+ }).pipe(
2871
+ T.Http({
2872
+ method: "DELETE",
2873
+ uri: "/repos/{owner}/{repo}/issues/{index}/pin",
2874
+ code: 200,
2875
+ }),
2876
+ ),
2877
+ ).annotate({
2878
+ identifier: "UnpinIssueRequest",
2879
+ }) as any as S.Schema<UnpinIssueRequest>;
2880
+
2881
+ export interface UnpinIssueResponse {}
2882
+ export const UnpinIssueResponse = /*@__PURE__*/ S.suspend(() =>
2883
+ S.Struct({}),
2884
+ ).annotate({
2885
+ identifier: "UnpinIssueResponse",
2886
+ }) as any as S.Schema<UnpinIssueResponse>;
2887
+
2888
+ export type CreateIssueError =
2889
+ | Forbidden
2890
+ | NotFound
2891
+ | UnprocessableEntity
2892
+ | Locked
2893
+ | ForgejoOpError;
2894
+ /** Create an issue. If using deadline only the date will be taken into account, and time of day ignored. */
2895
+ export const createIssue: API.OperationMethod<
2896
+ CreateIssueRequest,
2897
+ Issue,
2898
+ CreateIssueError,
2899
+ ForgejoOpContext
2900
+ > = /*@__PURE__*/ API.make(() => ({
2901
+ input: CreateIssueRequest,
2902
+ output: Issue,
2903
+ errors: [Forbidden, NotFound, UnprocessableEntity, Locked],
2904
+ protocol: ForgejoProtocol,
2905
+ retry: Retry.Retry,
2906
+ }));
2907
+
2908
+ export type CreateIssueAttachmentError =
2909
+ | BadRequest
2910
+ | NotFound
2911
+ | UnprocessableEntity
2912
+ | Locked
2913
+ | ForgejoOpError;
2914
+ /** Create an issue attachment */
2915
+ export const createIssueAttachment: API.OperationMethod<
2916
+ CreateIssueAttachmentRequest,
2917
+ Attachment,
2918
+ CreateIssueAttachmentError,
2919
+ ForgejoOpContext
2920
+ > = /*@__PURE__*/ API.make(() => ({
2921
+ input: CreateIssueAttachmentRequest,
2922
+ output: Attachment,
2923
+ errors: [BadRequest, NotFound, UnprocessableEntity, Locked],
2924
+ protocol: ForgejoProtocol,
2925
+ retry: Retry.Retry,
2926
+ }));
2927
+
2928
+ export type CreateIssueBlockingError = NotFound | ForgejoOpError;
2929
+ /** Block the issue given in the body by the issue in path */
2930
+ export const createIssueBlocking: API.OperationMethod<
2931
+ CreateIssueBlockingRequest,
2932
+ Issue,
2933
+ CreateIssueBlockingError,
2934
+ ForgejoOpContext
2935
+ > = /*@__PURE__*/ API.make(() => ({
2936
+ input: CreateIssueBlockingRequest,
2937
+ output: Issue,
2938
+ errors: [NotFound],
2939
+ protocol: ForgejoProtocol,
2940
+ retry: Retry.Retry,
2941
+ }));
2942
+
2943
+ export type CreateIssueCommentAttachmentError =
2944
+ | BadRequest
2945
+ | NotFound
2946
+ | UnprocessableEntity
2947
+ | Locked
2948
+ | ForgejoOpError;
2949
+ /** Create a comment attachment */
2950
+ export const createIssueCommentAttachment: API.OperationMethod<
2951
+ CreateIssueCommentAttachmentRequest,
2952
+ Attachment,
2953
+ CreateIssueCommentAttachmentError,
2954
+ ForgejoOpContext
2955
+ > = /*@__PURE__*/ API.make(() => ({
2956
+ input: CreateIssueCommentAttachmentRequest,
2957
+ output: Attachment,
2958
+ errors: [BadRequest, NotFound, UnprocessableEntity, Locked],
2959
+ protocol: ForgejoProtocol,
2960
+ retry: Retry.Retry,
2961
+ }));
2962
+
2963
+ export type CreateIssueDependenciesError = NotFound | Locked | ForgejoOpError;
2964
+ /** Make the issue in the url depend on the issue in the form. */
2965
+ export const createIssueDependencies: API.OperationMethod<
2966
+ CreateIssueDependenciesRequest,
2967
+ Issue,
2968
+ CreateIssueDependenciesError,
2969
+ ForgejoOpContext
2970
+ > = /*@__PURE__*/ API.make(() => ({
2971
+ input: CreateIssueDependenciesRequest,
2972
+ output: Issue,
2973
+ errors: [NotFound, Locked],
2974
+ protocol: ForgejoProtocol,
2975
+ retry: Retry.Retry,
2976
+ }));
2977
+
2978
+ export type DeleteIssueError = Forbidden | NotFound | ForgejoOpError;
2979
+ /** Delete an issue */
2980
+ export const deleteIssue: API.OperationMethod<
2981
+ DeleteIssueRequest,
2982
+ DeleteIssueResponse,
2983
+ DeleteIssueError,
2984
+ ForgejoOpContext
2985
+ > = /*@__PURE__*/ API.make(() => ({
2986
+ input: DeleteIssueRequest,
2987
+ output: DeleteIssueResponse,
2988
+ errors: [Forbidden, NotFound],
2989
+ protocol: ForgejoProtocol,
2990
+ retry: Retry.Retry,
2991
+ }));
2992
+
2993
+ export type DeleteIssueAttachmentError = NotFound | Locked | ForgejoOpError;
2994
+ /** Delete an issue attachment */
2995
+ export const deleteIssueAttachment: API.OperationMethod<
2996
+ DeleteIssueAttachmentRequest,
2997
+ DeleteIssueAttachmentResponse,
2998
+ DeleteIssueAttachmentError,
2999
+ ForgejoOpContext
3000
+ > = /*@__PURE__*/ API.make(() => ({
3001
+ input: DeleteIssueAttachmentRequest,
3002
+ output: DeleteIssueAttachmentResponse,
3003
+ errors: [NotFound, Locked],
3004
+ protocol: ForgejoProtocol,
3005
+ retry: Retry.Retry,
3006
+ }));
3007
+
3008
+ export type DeleteIssueCommentAttachmentError =
3009
+ | NotFound
3010
+ | Locked
3011
+ | ForgejoOpError;
3012
+ /** Delete a comment attachment */
3013
+ export const deleteIssueCommentAttachment: API.OperationMethod<
3014
+ DeleteIssueCommentAttachmentRequest,
3015
+ DeleteIssueCommentAttachmentResponse,
3016
+ DeleteIssueCommentAttachmentError,
3017
+ ForgejoOpContext
3018
+ > = /*@__PURE__*/ API.make(() => ({
3019
+ input: DeleteIssueCommentAttachmentRequest,
3020
+ output: DeleteIssueCommentAttachmentResponse,
3021
+ errors: [NotFound, Locked],
3022
+ protocol: ForgejoProtocol,
3023
+ retry: Retry.Retry,
3024
+ }));
3025
+
3026
+ export type DeleteIssueReactionError = Forbidden | NotFound | ForgejoOpError;
3027
+ /** Remove a reaction from an issue */
3028
+ export const deleteIssueReaction: API.OperationMethod<
3029
+ DeleteIssueReactionRequest,
3030
+ DeleteIssueReactionResponse,
3031
+ DeleteIssueReactionError,
3032
+ ForgejoOpContext
3033
+ > = /*@__PURE__*/ API.make(() => ({
3034
+ input: DeleteIssueReactionRequest,
3035
+ output: DeleteIssueReactionResponse,
3036
+ errors: [Forbidden, NotFound],
3037
+ protocol: ForgejoProtocol,
3038
+ retry: Retry.Retry,
3039
+ }));
3040
+
3041
+ export type EditIssueError = Forbidden | NotFound | ForgejoOpError;
3042
+ /** Edit an issue. If using deadline only the date will be taken into account, and time of day ignored. */
3043
+ export const editIssue: API.OperationMethod<
3044
+ EditIssueRequest,
3045
+ Issue,
3046
+ EditIssueError,
3047
+ ForgejoOpContext
3048
+ > = /*@__PURE__*/ API.make(() => ({
3049
+ input: EditIssueRequest,
3050
+ output: Issue,
3051
+ errors: [Forbidden, NotFound],
3052
+ protocol: ForgejoProtocol,
3053
+ retry: Retry.Retry,
3054
+ }));
3055
+
3056
+ export type EditIssueAttachmentError = NotFound | Locked | ForgejoOpError;
3057
+ /** Edit an issue attachment */
3058
+ export const editIssueAttachment: API.OperationMethod<
3059
+ EditIssueAttachmentRequest,
3060
+ Attachment,
3061
+ EditIssueAttachmentError,
3062
+ ForgejoOpContext
3063
+ > = /*@__PURE__*/ API.make(() => ({
3064
+ input: EditIssueAttachmentRequest,
3065
+ output: Attachment,
3066
+ errors: [NotFound, Locked],
3067
+ protocol: ForgejoProtocol,
3068
+ retry: Retry.Retry,
3069
+ }));
3070
+
3071
+ export type EditIssueCommentAttachmentError =
3072
+ | NotFound
3073
+ | Locked
3074
+ | ForgejoOpError;
3075
+ /** Edit a comment attachment */
3076
+ export const editIssueCommentAttachment: API.OperationMethod<
3077
+ EditIssueCommentAttachmentRequest,
3078
+ Attachment,
3079
+ EditIssueCommentAttachmentError,
3080
+ ForgejoOpContext
3081
+ > = /*@__PURE__*/ API.make(() => ({
3082
+ input: EditIssueCommentAttachmentRequest,
3083
+ output: Attachment,
3084
+ errors: [NotFound, Locked],
3085
+ protocol: ForgejoProtocol,
3086
+ retry: Retry.Retry,
3087
+ }));
3088
+
3089
+ export type EditIssueDeadlineError = Forbidden | NotFound | ForgejoOpError;
3090
+ /** Set an issue deadline. If set to null, the deadline is deleted. If using deadline only the date will be taken into account, and time of day ignored. */
3091
+ export const editIssueDeadline: API.OperationMethod<
3092
+ EditIssueDeadlineRequest,
3093
+ IssueDeadline,
3094
+ EditIssueDeadlineError,
3095
+ ForgejoOpContext
3096
+ > = /*@__PURE__*/ API.make(() => ({
3097
+ input: EditIssueDeadlineRequest,
3098
+ output: IssueDeadline,
3099
+ errors: [Forbidden, NotFound],
3100
+ protocol: ForgejoProtocol,
3101
+ retry: Retry.Retry,
3102
+ }));
3103
+
3104
+ export type GetIssueError = NotFound | ForgejoOpError;
3105
+ /** Get an issue */
3106
+ export const getIssue: API.OperationMethod<
3107
+ GetIssueRequest,
3108
+ Issue,
3109
+ GetIssueError,
3110
+ ForgejoOpContext
3111
+ > = /*@__PURE__*/ API.make(() => ({
3112
+ input: GetIssueRequest,
3113
+ output: Issue,
3114
+ errors: [NotFound],
3115
+ protocol: ForgejoProtocol,
3116
+ retry: Retry.Retry,
3117
+ }));
3118
+
3119
+ export type GetIssueAttachmentError = NotFound | ForgejoOpError;
3120
+ /** Get an issue attachment */
3121
+ export const getIssueAttachment: API.OperationMethod<
3122
+ GetIssueAttachmentRequest,
3123
+ Attachment,
3124
+ GetIssueAttachmentError,
3125
+ ForgejoOpContext
3126
+ > = /*@__PURE__*/ API.make(() => ({
3127
+ input: GetIssueAttachmentRequest,
3128
+ output: Attachment,
3129
+ errors: [NotFound],
3130
+ protocol: ForgejoProtocol,
3131
+ retry: Retry.Retry,
3132
+ }));
3133
+
3134
+ export type GetIssueCommentAttachmentError = NotFound | ForgejoOpError;
3135
+ /** Get a comment attachment */
3136
+ export const getIssueCommentAttachment: API.OperationMethod<
3137
+ GetIssueCommentAttachmentRequest,
3138
+ Attachment,
3139
+ GetIssueCommentAttachmentError,
3140
+ ForgejoOpContext
3141
+ > = /*@__PURE__*/ API.make(() => ({
3142
+ input: GetIssueCommentAttachmentRequest,
3143
+ output: Attachment,
3144
+ errors: [NotFound],
3145
+ protocol: ForgejoProtocol,
3146
+ retry: Retry.Retry,
3147
+ }));
3148
+
3149
+ export type GetIssueReactionsError = Forbidden | NotFound | ForgejoOpError;
3150
+ /** Get a list reactions of an issue */
3151
+ export const getIssueReactions: API.OperationMethod<
3152
+ GetIssueReactionsRequest,
3153
+ GetIssueReactionsResponse,
3154
+ GetIssueReactionsError,
3155
+ ForgejoOpContext
3156
+ > = /*@__PURE__*/ API.make(() => ({
3157
+ input: GetIssueReactionsRequest,
3158
+ output: GetIssueReactionsResponse,
3159
+ errors: [Forbidden, NotFound],
3160
+ protocol: ForgejoProtocol,
3161
+ retry: Retry.Retry,
3162
+ }));
3163
+
3164
+ export type IssueAddLabelError = Forbidden | NotFound | ForgejoOpError;
3165
+ /** Add a label to an issue */
3166
+ export const issueAddLabel: API.OperationMethod<
3167
+ IssueAddLabelRequest,
3168
+ IssueAddLabelResponse,
3169
+ IssueAddLabelError,
3170
+ ForgejoOpContext
3171
+ > = /*@__PURE__*/ API.make(() => ({
3172
+ input: IssueAddLabelRequest,
3173
+ output: IssueAddLabelResponse,
3174
+ errors: [Forbidden, NotFound],
3175
+ protocol: ForgejoProtocol,
3176
+ retry: Retry.Retry,
3177
+ }));
3178
+
3179
+ export type IssueAddSubscriptionError = NotFound | ForgejoOpError;
3180
+ /** Subscribe user to issue */
3181
+ export const issueAddSubscription: API.OperationMethod<
3182
+ IssueAddSubscriptionRequest,
3183
+ IssueAddSubscriptionResponse,
3184
+ IssueAddSubscriptionError,
3185
+ ForgejoOpContext
3186
+ > = /*@__PURE__*/ API.make(() => ({
3187
+ input: IssueAddSubscriptionRequest,
3188
+ output: IssueAddSubscriptionResponse,
3189
+ errors: [NotFound],
3190
+ protocol: ForgejoProtocol,
3191
+ retry: Retry.Retry,
3192
+ }));
3193
+
3194
+ export type IssueAddTimeError =
3195
+ | BadRequest
3196
+ | Forbidden
3197
+ | NotFound
3198
+ | ForgejoOpError;
3199
+ /** Add tracked time to a issue */
3200
+ export const issueAddTime: API.OperationMethod<
3201
+ IssueAddTimeRequest,
3202
+ TrackedTime,
3203
+ IssueAddTimeError,
3204
+ ForgejoOpContext
3205
+ > = /*@__PURE__*/ API.make(() => ({
3206
+ input: IssueAddTimeRequest,
3207
+ output: TrackedTime,
3208
+ errors: [BadRequest, Forbidden, NotFound],
3209
+ protocol: ForgejoProtocol,
3210
+ retry: Retry.Retry,
3211
+ }));
3212
+
3213
+ export type IssueCheckSubscriptionError = NotFound | ForgejoOpError;
3214
+ /** Check if user is subscribed to an issue */
3215
+ export const issueCheckSubscription: API.OperationMethod<
3216
+ IssueCheckSubscriptionRequest,
3217
+ WatchInfo,
3218
+ IssueCheckSubscriptionError,
3219
+ ForgejoOpContext
3220
+ > = /*@__PURE__*/ API.make(() => ({
3221
+ input: IssueCheckSubscriptionRequest,
3222
+ output: WatchInfo,
3223
+ errors: [NotFound],
3224
+ protocol: ForgejoProtocol,
3225
+ retry: Retry.Retry,
3226
+ }));
3227
+
3228
+ export type IssueClearLabelsError = Forbidden | NotFound | ForgejoOpError;
3229
+ /** Remove all labels from an issue */
3230
+ export const issueClearLabels: API.OperationMethod<
3231
+ IssueClearLabelsRequest,
3232
+ IssueClearLabelsResponse,
3233
+ IssueClearLabelsError,
3234
+ ForgejoOpContext
3235
+ > = /*@__PURE__*/ API.make(() => ({
3236
+ input: IssueClearLabelsRequest,
3237
+ output: IssueClearLabelsResponse,
3238
+ errors: [Forbidden, NotFound],
3239
+ protocol: ForgejoProtocol,
3240
+ retry: Retry.Retry,
3241
+ }));
3242
+
3243
+ export type IssueCreateCommentError =
3244
+ | Forbidden
3245
+ | NotFound
3246
+ | Locked
3247
+ | ForgejoOpError;
3248
+ /** Add a comment to an issue */
3249
+ export const issueCreateComment: API.OperationMethod<
3250
+ IssueCreateCommentRequest,
3251
+ Comment,
3252
+ IssueCreateCommentError,
3253
+ ForgejoOpContext
3254
+ > = /*@__PURE__*/ API.make(() => ({
3255
+ input: IssueCreateCommentRequest,
3256
+ output: Comment,
3257
+ errors: [Forbidden, NotFound, Locked],
3258
+ protocol: ForgejoProtocol,
3259
+ retry: Retry.Retry,
3260
+ }));
3261
+
3262
+ export type IssueCreateLabelError =
3263
+ | NotFound
3264
+ | UnprocessableEntity
3265
+ | ForgejoOpError;
3266
+ /** Create a label */
3267
+ export const issueCreateLabel: API.OperationMethod<
3268
+ IssueCreateLabelRequest,
3269
+ Label,
3270
+ IssueCreateLabelError,
3271
+ ForgejoOpContext
3272
+ > = /*@__PURE__*/ API.make(() => ({
3273
+ input: IssueCreateLabelRequest,
3274
+ output: Label,
3275
+ errors: [NotFound, UnprocessableEntity],
3276
+ protocol: ForgejoProtocol,
3277
+ retry: Retry.Retry,
3278
+ }));
3279
+
3280
+ export type IssueCreateMilestoneError = NotFound | ForgejoOpError;
3281
+ /** Create a milestone */
3282
+ export const issueCreateMilestone: API.OperationMethod<
3283
+ IssueCreateMilestoneRequest,
3284
+ Milestone,
3285
+ IssueCreateMilestoneError,
3286
+ ForgejoOpContext
3287
+ > = /*@__PURE__*/ API.make(() => ({
3288
+ input: IssueCreateMilestoneRequest,
3289
+ output: Milestone,
3290
+ errors: [NotFound],
3291
+ protocol: ForgejoProtocol,
3292
+ retry: Retry.Retry,
3293
+ }));
3294
+
3295
+ export type IssueDeleteCommentError = Forbidden | ForgejoOpError;
3296
+ /** Delete a comment */
3297
+ export const issueDeleteComment: API.OperationMethod<
3298
+ IssueDeleteCommentRequest,
3299
+ IssueDeleteCommentResponse,
3300
+ IssueDeleteCommentError,
3301
+ ForgejoOpContext
3302
+ > = /*@__PURE__*/ API.make(() => ({
3303
+ input: IssueDeleteCommentRequest,
3304
+ output: IssueDeleteCommentResponse,
3305
+ errors: [Forbidden],
3306
+ protocol: ForgejoProtocol,
3307
+ retry: Retry.Retry,
3308
+ }));
3309
+
3310
+ export type IssueDeleteCommentReactionError =
3311
+ | Forbidden
3312
+ | NotFound
3313
+ | ForgejoOpError;
3314
+ /** Remove a reaction from a comment of an issue */
3315
+ export const issueDeleteCommentReaction: API.OperationMethod<
3316
+ IssueDeleteCommentReactionRequest,
3317
+ IssueDeleteCommentReactionResponse,
3318
+ IssueDeleteCommentReactionError,
3319
+ ForgejoOpContext
3320
+ > = /*@__PURE__*/ API.make(() => ({
3321
+ input: IssueDeleteCommentReactionRequest,
3322
+ output: IssueDeleteCommentReactionResponse,
3323
+ errors: [Forbidden, NotFound],
3324
+ protocol: ForgejoProtocol,
3325
+ retry: Retry.Retry,
3326
+ }));
3327
+
3328
+ export type IssueDeleteLabelError = NotFound | ForgejoOpError;
3329
+ /** Delete a label */
3330
+ export const issueDeleteLabel: API.OperationMethod<
3331
+ IssueDeleteLabelRequest,
3332
+ IssueDeleteLabelResponse,
3333
+ IssueDeleteLabelError,
3334
+ ForgejoOpContext
3335
+ > = /*@__PURE__*/ API.make(() => ({
3336
+ input: IssueDeleteLabelRequest,
3337
+ output: IssueDeleteLabelResponse,
3338
+ errors: [NotFound],
3339
+ protocol: ForgejoProtocol,
3340
+ retry: Retry.Retry,
3341
+ }));
3342
+
3343
+ export type IssueDeleteMilestoneError = NotFound | ForgejoOpError;
3344
+ /** Delete a milestone */
3345
+ export const issueDeleteMilestone: API.OperationMethod<
3346
+ IssueDeleteMilestoneRequest,
3347
+ IssueDeleteMilestoneResponse,
3348
+ IssueDeleteMilestoneError,
3349
+ ForgejoOpContext
3350
+ > = /*@__PURE__*/ API.make(() => ({
3351
+ input: IssueDeleteMilestoneRequest,
3352
+ output: IssueDeleteMilestoneResponse,
3353
+ errors: [NotFound],
3354
+ protocol: ForgejoProtocol,
3355
+ retry: Retry.Retry,
3356
+ }));
3357
+
3358
+ export type IssueDeleteStopWatchError =
3359
+ | Forbidden
3360
+ | NotFound
3361
+ | Conflict
3362
+ | ForgejoOpError;
3363
+ /** Delete an issue's existing stopwatch. */
3364
+ export const issueDeleteStopWatch: API.OperationMethod<
3365
+ IssueDeleteStopWatchRequest,
3366
+ IssueDeleteStopWatchResponse,
3367
+ IssueDeleteStopWatchError,
3368
+ ForgejoOpContext
3369
+ > = /*@__PURE__*/ API.make(() => ({
3370
+ input: IssueDeleteStopWatchRequest,
3371
+ output: IssueDeleteStopWatchResponse,
3372
+ errors: [Forbidden, NotFound, Conflict],
3373
+ protocol: ForgejoProtocol,
3374
+ retry: Retry.Retry,
3375
+ }));
3376
+
3377
+ export type IssueDeleteSubscriptionError = NotFound | ForgejoOpError;
3378
+ /** Unsubscribe user from issue */
3379
+ export const issueDeleteSubscription: API.OperationMethod<
3380
+ IssueDeleteSubscriptionRequest,
3381
+ IssueDeleteSubscriptionResponse,
3382
+ IssueDeleteSubscriptionError,
3383
+ ForgejoOpContext
3384
+ > = /*@__PURE__*/ API.make(() => ({
3385
+ input: IssueDeleteSubscriptionRequest,
3386
+ output: IssueDeleteSubscriptionResponse,
3387
+ errors: [NotFound],
3388
+ protocol: ForgejoProtocol,
3389
+ retry: Retry.Retry,
3390
+ }));
3391
+
3392
+ export type IssueDeleteTimeError =
3393
+ | BadRequest
3394
+ | Forbidden
3395
+ | NotFound
3396
+ | ForgejoOpError;
3397
+ /** Delete specific tracked time */
3398
+ export const issueDeleteTime: API.OperationMethod<
3399
+ IssueDeleteTimeRequest,
3400
+ IssueDeleteTimeResponse,
3401
+ IssueDeleteTimeError,
3402
+ ForgejoOpContext
3403
+ > = /*@__PURE__*/ API.make(() => ({
3404
+ input: IssueDeleteTimeRequest,
3405
+ output: IssueDeleteTimeResponse,
3406
+ errors: [BadRequest, Forbidden, NotFound],
3407
+ protocol: ForgejoProtocol,
3408
+ retry: Retry.Retry,
3409
+ }));
3410
+
3411
+ export type IssueEditCommentError =
3412
+ | Forbidden
3413
+ | NotFound
3414
+ | Locked
3415
+ | ForgejoOpError;
3416
+ /** Edit a comment */
3417
+ export const issueEditComment: API.OperationMethod<
3418
+ IssueEditCommentRequest,
3419
+ Comment,
3420
+ IssueEditCommentError,
3421
+ ForgejoOpContext
3422
+ > = /*@__PURE__*/ API.make(() => ({
3423
+ input: IssueEditCommentRequest,
3424
+ output: Comment,
3425
+ errors: [Forbidden, NotFound, Locked],
3426
+ protocol: ForgejoProtocol,
3427
+ retry: Retry.Retry,
3428
+ }));
3429
+
3430
+ export type IssueEditLabelError =
3431
+ | NotFound
3432
+ | UnprocessableEntity
3433
+ | ForgejoOpError;
3434
+ /** Update a label */
3435
+ export const issueEditLabel: API.OperationMethod<
3436
+ IssueEditLabelRequest,
3437
+ Label,
3438
+ IssueEditLabelError,
3439
+ ForgejoOpContext
3440
+ > = /*@__PURE__*/ API.make(() => ({
3441
+ input: IssueEditLabelRequest,
3442
+ output: Label,
3443
+ errors: [NotFound, UnprocessableEntity],
3444
+ protocol: ForgejoProtocol,
3445
+ retry: Retry.Retry,
3446
+ }));
3447
+
3448
+ export type IssueEditMilestoneError = NotFound | ForgejoOpError;
3449
+ /** Update a milestone */
3450
+ export const issueEditMilestone: API.OperationMethod<
3451
+ IssueEditMilestoneRequest,
3452
+ Milestone,
3453
+ IssueEditMilestoneError,
3454
+ ForgejoOpContext
3455
+ > = /*@__PURE__*/ API.make(() => ({
3456
+ input: IssueEditMilestoneRequest,
3457
+ output: Milestone,
3458
+ errors: [NotFound],
3459
+ protocol: ForgejoProtocol,
3460
+ retry: Retry.Retry,
3461
+ }));
3462
+
3463
+ export type IssueGetCommentError = Forbidden | NotFound | ForgejoOpError;
3464
+ /** Get a comment */
3465
+ export const issueGetComment: API.OperationMethod<
3466
+ IssueGetCommentRequest,
3467
+ Comment,
3468
+ IssueGetCommentError,
3469
+ ForgejoOpContext
3470
+ > = /*@__PURE__*/ API.make(() => ({
3471
+ input: IssueGetCommentRequest,
3472
+ output: Comment,
3473
+ errors: [Forbidden, NotFound],
3474
+ protocol: ForgejoProtocol,
3475
+ retry: Retry.Retry,
3476
+ }));
3477
+
3478
+ export type IssueGetCommentReactionsError =
3479
+ | Forbidden
3480
+ | NotFound
3481
+ | ForgejoOpError;
3482
+ /** Get a list of reactions from a comment of an issue */
3483
+ export const issueGetCommentReactions: API.OperationMethod<
3484
+ IssueGetCommentReactionsRequest,
3485
+ IssueGetCommentReactionsResponse,
3486
+ IssueGetCommentReactionsError,
3487
+ ForgejoOpContext
3488
+ > = /*@__PURE__*/ API.make(() => ({
3489
+ input: IssueGetCommentReactionsRequest,
3490
+ output: IssueGetCommentReactionsResponse,
3491
+ errors: [Forbidden, NotFound],
3492
+ protocol: ForgejoProtocol,
3493
+ retry: Retry.Retry,
3494
+ }));
3495
+
3496
+ export type IssueGetCommentsError =
3497
+ | NotFound
3498
+ | UnprocessableEntity
3499
+ | ForgejoOpError;
3500
+ /** List all comments on an issue */
3501
+ export const issueGetComments: API.OperationMethod<
3502
+ IssueGetCommentsRequest,
3503
+ IssueGetCommentsResponse,
3504
+ IssueGetCommentsError,
3505
+ ForgejoOpContext
3506
+ > = /*@__PURE__*/ API.make(() => ({
3507
+ input: IssueGetCommentsRequest,
3508
+ output: IssueGetCommentsResponse,
3509
+ errors: [NotFound, UnprocessableEntity],
3510
+ protocol: ForgejoProtocol,
3511
+ retry: Retry.Retry,
3512
+ }));
3513
+
3514
+ export type IssueGetCommentsAndTimelineError =
3515
+ | NotFound
3516
+ | UnprocessableEntity
3517
+ | ForgejoOpError;
3518
+ /** List all comments and events on an issue */
3519
+ export const issueGetCommentsAndTimeline: API.OperationMethod<
3520
+ IssueGetCommentsAndTimelineRequest,
3521
+ IssueGetCommentsAndTimelineResponse,
3522
+ IssueGetCommentsAndTimelineError,
3523
+ ForgejoOpContext
3524
+ > = /*@__PURE__*/ API.make(() => ({
3525
+ input: IssueGetCommentsAndTimelineRequest,
3526
+ output: IssueGetCommentsAndTimelineResponse,
3527
+ errors: [NotFound, UnprocessableEntity],
3528
+ protocol: ForgejoProtocol,
3529
+ retry: Retry.Retry,
3530
+ }));
3531
+
3532
+ export type IssueGetLabelError = NotFound | ForgejoOpError;
3533
+ /** Get a single label */
3534
+ export const issueGetLabel: API.OperationMethod<
3535
+ IssueGetLabelRequest,
3536
+ Label,
3537
+ IssueGetLabelError,
3538
+ ForgejoOpContext
3539
+ > = /*@__PURE__*/ API.make(() => ({
3540
+ input: IssueGetLabelRequest,
3541
+ output: Label,
3542
+ errors: [NotFound],
3543
+ protocol: ForgejoProtocol,
3544
+ retry: Retry.Retry,
3545
+ }));
3546
+
3547
+ export type IssueGetLabelsError = NotFound | ForgejoOpError;
3548
+ /** Get an issue's labels */
3549
+ export const issueGetLabels: API.OperationMethod<
3550
+ IssueGetLabelsRequest,
3551
+ IssueGetLabelsResponse,
3552
+ IssueGetLabelsError,
3553
+ ForgejoOpContext
3554
+ > = /*@__PURE__*/ API.make(() => ({
3555
+ input: IssueGetLabelsRequest,
3556
+ output: IssueGetLabelsResponse,
3557
+ errors: [NotFound],
3558
+ protocol: ForgejoProtocol,
3559
+ retry: Retry.Retry,
3560
+ }));
3561
+
3562
+ export type IssueGetMilestoneError = NotFound | ForgejoOpError;
3563
+ /** Get a milestone */
3564
+ export const issueGetMilestone: API.OperationMethod<
3565
+ IssueGetMilestoneRequest,
3566
+ Milestone,
3567
+ IssueGetMilestoneError,
3568
+ ForgejoOpContext
3569
+ > = /*@__PURE__*/ API.make(() => ({
3570
+ input: IssueGetMilestoneRequest,
3571
+ output: Milestone,
3572
+ errors: [NotFound],
3573
+ protocol: ForgejoProtocol,
3574
+ retry: Retry.Retry,
3575
+ }));
3576
+
3577
+ export type IssueGetMilestonesListError = NotFound | ForgejoOpError;
3578
+ /** Get all of a repository's opened milestones */
3579
+ export const issueGetMilestonesList: API.OperationMethod<
3580
+ IssueGetMilestonesListRequest,
3581
+ IssueGetMilestonesListResponse,
3582
+ IssueGetMilestonesListError,
3583
+ ForgejoOpContext
3584
+ > = /*@__PURE__*/ API.make(() => ({
3585
+ input: IssueGetMilestonesListRequest,
3586
+ output: IssueGetMilestonesListResponse,
3587
+ errors: [NotFound],
3588
+ protocol: ForgejoProtocol,
3589
+ retry: Retry.Retry,
3590
+ }));
3591
+
3592
+ export type IssueGetRepoCommentsError =
3593
+ | NotFound
3594
+ | UnprocessableEntity
3595
+ | ForgejoOpError;
3596
+ /** List all comments in a repository */
3597
+ export const issueGetRepoComments: API.OperationMethod<
3598
+ IssueGetRepoCommentsRequest,
3599
+ IssueGetRepoCommentsResponse,
3600
+ IssueGetRepoCommentsError,
3601
+ ForgejoOpContext
3602
+ > = /*@__PURE__*/ API.make(() => ({
3603
+ input: IssueGetRepoCommentsRequest,
3604
+ output: IssueGetRepoCommentsResponse,
3605
+ errors: [NotFound, UnprocessableEntity],
3606
+ protocol: ForgejoProtocol,
3607
+ retry: Retry.Retry,
3608
+ }));
3609
+
3610
+ export type IssueListBlocksError = NotFound | ForgejoOpError;
3611
+ /** List issues that are blocked by this issue */
3612
+ export const issueListBlocks: API.OperationMethod<
3613
+ IssueListBlocksRequest,
3614
+ IssueListBlocksResponse,
3615
+ IssueListBlocksError,
3616
+ ForgejoOpContext
3617
+ > = /*@__PURE__*/ API.make(() => ({
3618
+ input: IssueListBlocksRequest,
3619
+ output: IssueListBlocksResponse,
3620
+ errors: [NotFound],
3621
+ protocol: ForgejoProtocol,
3622
+ retry: Retry.Retry,
3623
+ }));
3624
+
3625
+ export type IssueListLabelsError = Forbidden | NotFound | ForgejoOpError;
3626
+ /** Get all of a repository's labels */
3627
+ export const issueListLabels: API.OperationMethod<
3628
+ IssueListLabelsRequest,
3629
+ IssueListLabelsResponse,
3630
+ IssueListLabelsError,
3631
+ ForgejoOpContext
3632
+ > = /*@__PURE__*/ API.make(() => ({
3633
+ input: IssueListLabelsRequest,
3634
+ output: IssueListLabelsResponse,
3635
+ errors: [Forbidden, NotFound],
3636
+ protocol: ForgejoProtocol,
3637
+ retry: Retry.Retry,
3638
+ }));
3639
+
3640
+ export type IssuePostCommentReactionError =
3641
+ | Forbidden
3642
+ | NotFound
3643
+ | ForgejoOpError;
3644
+ /** Add a reaction to a comment of an issue */
3645
+ export const issuePostCommentReaction: API.OperationMethod<
3646
+ IssuePostCommentReactionRequest,
3647
+ Reaction,
3648
+ IssuePostCommentReactionError,
3649
+ ForgejoOpContext
3650
+ > = /*@__PURE__*/ API.make(() => ({
3651
+ input: IssuePostCommentReactionRequest,
3652
+ output: Reaction,
3653
+ errors: [Forbidden, NotFound],
3654
+ protocol: ForgejoProtocol,
3655
+ retry: Retry.Retry,
3656
+ }));
3657
+
3658
+ export type IssueRemoveLabelError =
3659
+ | Forbidden
3660
+ | NotFound
3661
+ | UnprocessableEntity
3662
+ | ForgejoOpError;
3663
+ /** Remove a label from an issue */
3664
+ export const issueRemoveLabel: API.OperationMethod<
3665
+ IssueRemoveLabelRequest,
3666
+ IssueRemoveLabelResponse,
3667
+ IssueRemoveLabelError,
3668
+ ForgejoOpContext
3669
+ > = /*@__PURE__*/ API.make(() => ({
3670
+ input: IssueRemoveLabelRequest,
3671
+ output: IssueRemoveLabelResponse,
3672
+ errors: [Forbidden, NotFound, UnprocessableEntity],
3673
+ protocol: ForgejoProtocol,
3674
+ retry: Retry.Retry,
3675
+ }));
3676
+
3677
+ export type IssueReplaceLabelsError = Forbidden | NotFound | ForgejoOpError;
3678
+ /** Replace an issue's labels */
3679
+ export const issueReplaceLabels: API.OperationMethod<
3680
+ IssueReplaceLabelsRequest,
3681
+ IssueReplaceLabelsResponse,
3682
+ IssueReplaceLabelsError,
3683
+ ForgejoOpContext
3684
+ > = /*@__PURE__*/ API.make(() => ({
3685
+ input: IssueReplaceLabelsRequest,
3686
+ output: IssueReplaceLabelsResponse,
3687
+ errors: [Forbidden, NotFound],
3688
+ protocol: ForgejoProtocol,
3689
+ retry: Retry.Retry,
3690
+ }));
3691
+
3692
+ export type IssueResetTimeError =
3693
+ | BadRequest
3694
+ | Forbidden
3695
+ | NotFound
3696
+ | ForgejoOpError;
3697
+ /** Reset a tracked time of an issue */
3698
+ export const issueResetTime: API.OperationMethod<
3699
+ IssueResetTimeRequest,
3700
+ IssueResetTimeResponse,
3701
+ IssueResetTimeError,
3702
+ ForgejoOpContext
3703
+ > = /*@__PURE__*/ API.make(() => ({
3704
+ input: IssueResetTimeRequest,
3705
+ output: IssueResetTimeResponse,
3706
+ errors: [BadRequest, Forbidden, NotFound],
3707
+ protocol: ForgejoProtocol,
3708
+ retry: Retry.Retry,
3709
+ }));
3710
+
3711
+ export type IssueStartStopWatchError =
3712
+ | Forbidden
3713
+ | NotFound
3714
+ | Conflict
3715
+ | ForgejoOpError;
3716
+ /** Start stopwatch on an issue. */
3717
+ export const issueStartStopWatch: API.OperationMethod<
3718
+ IssueStartStopWatchRequest,
3719
+ IssueStartStopWatchResponse,
3720
+ IssueStartStopWatchError,
3721
+ ForgejoOpContext
3722
+ > = /*@__PURE__*/ API.make(() => ({
3723
+ input: IssueStartStopWatchRequest,
3724
+ output: IssueStartStopWatchResponse,
3725
+ errors: [Forbidden, NotFound, Conflict],
3726
+ protocol: ForgejoProtocol,
3727
+ retry: Retry.Retry,
3728
+ }));
3729
+
3730
+ export type IssueStopStopWatchError =
3731
+ | Forbidden
3732
+ | NotFound
3733
+ | Conflict
3734
+ | ForgejoOpError;
3735
+ /** Stop an issue's existing stopwatch. */
3736
+ export const issueStopStopWatch: API.OperationMethod<
3737
+ IssueStopStopWatchRequest,
3738
+ IssueStopStopWatchResponse,
3739
+ IssueStopStopWatchError,
3740
+ ForgejoOpContext
3741
+ > = /*@__PURE__*/ API.make(() => ({
3742
+ input: IssueStopStopWatchRequest,
3743
+ output: IssueStopStopWatchResponse,
3744
+ errors: [Forbidden, NotFound, Conflict],
3745
+ protocol: ForgejoProtocol,
3746
+ retry: Retry.Retry,
3747
+ }));
3748
+
3749
+ export type IssueSubscriptionsError = NotFound | ForgejoOpError;
3750
+ /** Get users who subscribed on an issue. */
3751
+ export const issueSubscriptions: API.OperationMethod<
3752
+ IssueSubscriptionsRequest,
3753
+ IssueSubscriptionsResponse,
3754
+ IssueSubscriptionsError,
3755
+ ForgejoOpContext
3756
+ > = /*@__PURE__*/ API.make(() => ({
3757
+ input: IssueSubscriptionsRequest,
3758
+ output: IssueSubscriptionsResponse,
3759
+ errors: [NotFound],
3760
+ protocol: ForgejoProtocol,
3761
+ retry: Retry.Retry,
3762
+ }));
3763
+
3764
+ export type IssueTrackedTimesError =
3765
+ | Forbidden
3766
+ | NotFound
3767
+ | UnprocessableEntity
3768
+ | ForgejoOpError;
3769
+ /** List an issue's tracked times */
3770
+ export const issueTrackedTimes: API.OperationMethod<
3771
+ IssueTrackedTimesRequest,
3772
+ IssueTrackedTimesResponse,
3773
+ IssueTrackedTimesError,
3774
+ ForgejoOpContext
3775
+ > = /*@__PURE__*/ API.make(() => ({
3776
+ input: IssueTrackedTimesRequest,
3777
+ output: IssueTrackedTimesResponse,
3778
+ errors: [Forbidden, NotFound, UnprocessableEntity],
3779
+ protocol: ForgejoProtocol,
3780
+ retry: Retry.Retry,
3781
+ }));
3782
+
3783
+ export type ListIssueAttachmentsError = NotFound | ForgejoOpError;
3784
+ /** List issue's attachments */
3785
+ export const listIssueAttachments: API.OperationMethod<
3786
+ ListIssueAttachmentsRequest,
3787
+ ListIssueAttachmentsResponse,
3788
+ ListIssueAttachmentsError,
3789
+ ForgejoOpContext
3790
+ > = /*@__PURE__*/ API.make(() => ({
3791
+ input: ListIssueAttachmentsRequest,
3792
+ output: ListIssueAttachmentsResponse,
3793
+ errors: [NotFound],
3794
+ protocol: ForgejoProtocol,
3795
+ retry: Retry.Retry,
3796
+ }));
3797
+
3798
+ export type ListIssueCommentAttachmentsError = NotFound | ForgejoOpError;
3799
+ /** List comment's attachments */
3800
+ export const listIssueCommentAttachments: API.OperationMethod<
3801
+ ListIssueCommentAttachmentsRequest,
3802
+ ListIssueCommentAttachmentsResponse,
3803
+ ListIssueCommentAttachmentsError,
3804
+ ForgejoOpContext
3805
+ > = /*@__PURE__*/ API.make(() => ({
3806
+ input: ListIssueCommentAttachmentsRequest,
3807
+ output: ListIssueCommentAttachmentsResponse,
3808
+ errors: [NotFound],
3809
+ protocol: ForgejoProtocol,
3810
+ retry: Retry.Retry,
3811
+ }));
3812
+
3813
+ export type ListIssueDependenciesError = NotFound | ForgejoOpError;
3814
+ /** List an issue's dependencies, i.e all issues that block this issue. */
3815
+ export const listIssueDependencies: API.OperationMethod<
3816
+ ListIssueDependenciesRequest,
3817
+ ListIssueDependenciesResponse,
3818
+ ListIssueDependenciesError,
3819
+ ForgejoOpContext
3820
+ > = /*@__PURE__*/ API.make(() => ({
3821
+ input: ListIssueDependenciesRequest,
3822
+ output: ListIssueDependenciesResponse,
3823
+ errors: [NotFound],
3824
+ protocol: ForgejoProtocol,
3825
+ retry: Retry.Retry,
3826
+ }));
3827
+
3828
+ export type ListIssuesError = NotFound | UnprocessableEntity | ForgejoOpError;
3829
+ /** List a repository's issues */
3830
+ export const listIssues: API.OperationMethod<
3831
+ ListIssuesRequest,
3832
+ ListIssuesResponse,
3833
+ ListIssuesError,
3834
+ ForgejoOpContext
3835
+ > = /*@__PURE__*/ API.make(() => ({
3836
+ input: ListIssuesRequest,
3837
+ output: ListIssuesResponse,
3838
+ errors: [NotFound, UnprocessableEntity],
3839
+ protocol: ForgejoProtocol,
3840
+ retry: Retry.Retry,
3841
+ }));
3842
+
3843
+ export type MoveIssuePinError = Forbidden | NotFound | ForgejoOpError;
3844
+ /** Moves the Pin to the given Position */
3845
+ export const moveIssuePin: API.OperationMethod<
3846
+ MoveIssuePinRequest,
3847
+ MoveIssuePinResponse,
3848
+ MoveIssuePinError,
3849
+ ForgejoOpContext
3850
+ > = /*@__PURE__*/ API.make(() => ({
3851
+ input: MoveIssuePinRequest,
3852
+ output: MoveIssuePinResponse,
3853
+ errors: [Forbidden, NotFound],
3854
+ protocol: ForgejoProtocol,
3855
+ retry: Retry.Retry,
3856
+ }));
3857
+
3858
+ export type PinIssueError = Forbidden | NotFound | ForgejoOpError;
3859
+ /** Pin an Issue */
3860
+ export const pinIssue: API.OperationMethod<
3861
+ PinIssueRequest,
3862
+ PinIssueResponse,
3863
+ PinIssueError,
3864
+ ForgejoOpContext
3865
+ > = /*@__PURE__*/ API.make(() => ({
3866
+ input: PinIssueRequest,
3867
+ output: PinIssueResponse,
3868
+ errors: [Forbidden, NotFound],
3869
+ protocol: ForgejoProtocol,
3870
+ retry: Retry.Retry,
3871
+ }));
3872
+
3873
+ export type PostIssueReactionError = Forbidden | NotFound | ForgejoOpError;
3874
+ /** Add a reaction to an issue */
3875
+ export const postIssueReaction: API.OperationMethod<
3876
+ PostIssueReactionRequest,
3877
+ Reaction,
3878
+ PostIssueReactionError,
3879
+ ForgejoOpContext
3880
+ > = /*@__PURE__*/ API.make(() => ({
3881
+ input: PostIssueReactionRequest,
3882
+ output: Reaction,
3883
+ errors: [Forbidden, NotFound],
3884
+ protocol: ForgejoProtocol,
3885
+ retry: Retry.Retry,
3886
+ }));
3887
+
3888
+ export type RemoveIssueBlockingError = NotFound | ForgejoOpError;
3889
+ /** Unblock the issue given in the body by the issue in path */
3890
+ export const removeIssueBlocking: API.OperationMethod<
3891
+ RemoveIssueBlockingRequest,
3892
+ Issue,
3893
+ RemoveIssueBlockingError,
3894
+ ForgejoOpContext
3895
+ > = /*@__PURE__*/ API.make(() => ({
3896
+ input: RemoveIssueBlockingRequest,
3897
+ output: Issue,
3898
+ errors: [NotFound],
3899
+ protocol: ForgejoProtocol,
3900
+ retry: Retry.Retry,
3901
+ }));
3902
+
3903
+ export type RemoveIssueDependenciesError = NotFound | Locked | ForgejoOpError;
3904
+ /** Remove an issue dependency */
3905
+ export const removeIssueDependencies: API.OperationMethod<
3906
+ RemoveIssueDependenciesRequest,
3907
+ Issue,
3908
+ RemoveIssueDependenciesError,
3909
+ ForgejoOpContext
3910
+ > = /*@__PURE__*/ API.make(() => ({
3911
+ input: RemoveIssueDependenciesRequest,
3912
+ output: Issue,
3913
+ errors: [NotFound, Locked],
3914
+ protocol: ForgejoProtocol,
3915
+ retry: Retry.Retry,
3916
+ }));
3917
+
3918
+ export type SearchIssuesError =
3919
+ | BadRequest
3920
+ | UnprocessableEntity
3921
+ | ForgejoOpError;
3922
+ /** Search for issues across the repositories that the user has access to */
3923
+ export const searchIssues: API.OperationMethod<
3924
+ SearchIssuesRequest,
3925
+ SearchIssuesResponse,
3926
+ SearchIssuesError,
3927
+ ForgejoOpContext
3928
+ > = /*@__PURE__*/ API.make(() => ({
3929
+ input: SearchIssuesRequest,
3930
+ output: SearchIssuesResponse,
3931
+ errors: [BadRequest, UnprocessableEntity],
3932
+ protocol: ForgejoProtocol,
3933
+ retry: Retry.Retry,
3934
+ }));
3935
+
3936
+ export type UnpinIssueError = Forbidden | NotFound | ForgejoOpError;
3937
+ /** Unpin an Issue */
3938
+ export const unpinIssue: API.OperationMethod<
3939
+ UnpinIssueRequest,
3940
+ UnpinIssueResponse,
3941
+ UnpinIssueError,
3942
+ ForgejoOpContext
3943
+ > = /*@__PURE__*/ API.make(() => ({
3944
+ input: UnpinIssueRequest,
3945
+ output: UnpinIssueResponse,
3946
+ errors: [Forbidden, NotFound],
3947
+ protocol: ForgejoProtocol,
3948
+ retry: Retry.Retry,
3949
+ }));