@eldrforge/commands-tree 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3883 @@
1
+ import { run } from '@eldrforge/git-tools';
2
+ import 'path';
3
+ import 'os';
4
+ import 'child_process';
5
+ import 'fs/promises';
6
+
7
+ // Default console logger if winston isn't provided
8
+ /* eslint-disable no-console */ const defaultLogger = {
9
+ info: (message)=>console.log(message),
10
+ warn: (message)=>console.warn(message),
11
+ error: (message)=>console.error(message),
12
+ debug: (message)=>console.debug(message)
13
+ };
14
+ /* eslint-enable no-console */ let currentLogger = defaultLogger;
15
+ const getLogger = ()=>currentLogger;
16
+
17
+ function getUserAgent() {
18
+ if (typeof navigator === "object" && "userAgent" in navigator) {
19
+ return navigator.userAgent;
20
+ }
21
+
22
+ if (typeof process === "object" && process.version !== undefined) {
23
+ return `Node.js/${process.version.substr(1)} (${process.platform}; ${
24
+ process.arch
25
+ })`;
26
+ }
27
+
28
+ return "<environment undetectable>";
29
+ }
30
+
31
+ // @ts-check
32
+
33
+ function register(state, name, method, options) {
34
+ if (typeof method !== "function") {
35
+ throw new Error("method for before hook must be a function");
36
+ }
37
+
38
+ if (!options) {
39
+ options = {};
40
+ }
41
+
42
+ if (Array.isArray(name)) {
43
+ return name.reverse().reduce((callback, name) => {
44
+ return register.bind(null, state, name, callback, options);
45
+ }, method)();
46
+ }
47
+
48
+ return Promise.resolve().then(() => {
49
+ if (!state.registry[name]) {
50
+ return method(options);
51
+ }
52
+
53
+ return state.registry[name].reduce((method, registered) => {
54
+ return registered.hook.bind(null, method, options);
55
+ }, method)();
56
+ });
57
+ }
58
+
59
+ // @ts-check
60
+
61
+ function addHook(state, kind, name, hook) {
62
+ const orig = hook;
63
+ if (!state.registry[name]) {
64
+ state.registry[name] = [];
65
+ }
66
+
67
+ if (kind === "before") {
68
+ hook = (method, options) => {
69
+ return Promise.resolve()
70
+ .then(orig.bind(null, options))
71
+ .then(method.bind(null, options));
72
+ };
73
+ }
74
+
75
+ if (kind === "after") {
76
+ hook = (method, options) => {
77
+ let result;
78
+ return Promise.resolve()
79
+ .then(method.bind(null, options))
80
+ .then((result_) => {
81
+ result = result_;
82
+ return orig(result, options);
83
+ })
84
+ .then(() => {
85
+ return result;
86
+ });
87
+ };
88
+ }
89
+
90
+ if (kind === "error") {
91
+ hook = (method, options) => {
92
+ return Promise.resolve()
93
+ .then(method.bind(null, options))
94
+ .catch((error) => {
95
+ return orig(error, options);
96
+ });
97
+ };
98
+ }
99
+
100
+ state.registry[name].push({
101
+ hook: hook,
102
+ orig: orig,
103
+ });
104
+ }
105
+
106
+ // @ts-check
107
+
108
+ function removeHook(state, name, method) {
109
+ if (!state.registry[name]) {
110
+ return;
111
+ }
112
+
113
+ const index = state.registry[name]
114
+ .map((registered) => {
115
+ return registered.orig;
116
+ })
117
+ .indexOf(method);
118
+
119
+ if (index === -1) {
120
+ return;
121
+ }
122
+
123
+ state.registry[name].splice(index, 1);
124
+ }
125
+
126
+ // @ts-check
127
+
128
+
129
+ // bind with array of arguments: https://stackoverflow.com/a/21792913
130
+ const bind = Function.bind;
131
+ const bindable = bind.bind(bind);
132
+
133
+ function bindApi(hook, state, name) {
134
+ const removeHookRef = bindable(removeHook, null).apply(
135
+ null,
136
+ [state]
137
+ );
138
+ hook.api = { remove: removeHookRef };
139
+ hook.remove = removeHookRef;
140
+ ["before", "error", "after", "wrap"].forEach((kind) => {
141
+ const args = [state, kind];
142
+ hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args);
143
+ });
144
+ }
145
+
146
+ function Collection() {
147
+ const state = {
148
+ registry: {},
149
+ };
150
+
151
+ const hook = register.bind(null, state);
152
+ bindApi(hook, state);
153
+
154
+ return hook;
155
+ }
156
+
157
+ const Hook = { Collection };
158
+
159
+ // pkg/dist-src/defaults.js
160
+
161
+ // pkg/dist-src/version.js
162
+ var VERSION$7 = "0.0.0-development";
163
+
164
+ // pkg/dist-src/defaults.js
165
+ var userAgent = `octokit-endpoint.js/${VERSION$7} ${getUserAgent()}`;
166
+ var DEFAULTS = {
167
+ method: "GET",
168
+ baseUrl: "https://api.github.com",
169
+ headers: {
170
+ accept: "application/vnd.github.v3+json",
171
+ "user-agent": userAgent
172
+ },
173
+ mediaType: {
174
+ format: ""
175
+ }
176
+ };
177
+
178
+ // pkg/dist-src/util/lowercase-keys.js
179
+ function lowercaseKeys(object) {
180
+ if (!object) {
181
+ return {};
182
+ }
183
+ return Object.keys(object).reduce((newObj, key) => {
184
+ newObj[key.toLowerCase()] = object[key];
185
+ return newObj;
186
+ }, {});
187
+ }
188
+
189
+ // pkg/dist-src/util/is-plain-object.js
190
+ function isPlainObject$1(value) {
191
+ if (typeof value !== "object" || value === null) return false;
192
+ if (Object.prototype.toString.call(value) !== "[object Object]") return false;
193
+ const proto = Object.getPrototypeOf(value);
194
+ if (proto === null) return true;
195
+ const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor;
196
+ return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value);
197
+ }
198
+
199
+ // pkg/dist-src/util/merge-deep.js
200
+ function mergeDeep(defaults, options) {
201
+ const result = Object.assign({}, defaults);
202
+ Object.keys(options).forEach((key) => {
203
+ if (isPlainObject$1(options[key])) {
204
+ if (!(key in defaults)) Object.assign(result, { [key]: options[key] });
205
+ else result[key] = mergeDeep(defaults[key], options[key]);
206
+ } else {
207
+ Object.assign(result, { [key]: options[key] });
208
+ }
209
+ });
210
+ return result;
211
+ }
212
+
213
+ // pkg/dist-src/util/remove-undefined-properties.js
214
+ function removeUndefinedProperties(obj) {
215
+ for (const key in obj) {
216
+ if (obj[key] === void 0) {
217
+ delete obj[key];
218
+ }
219
+ }
220
+ return obj;
221
+ }
222
+
223
+ // pkg/dist-src/merge.js
224
+ function merge(defaults, route, options) {
225
+ if (typeof route === "string") {
226
+ let [method, url] = route.split(" ");
227
+ options = Object.assign(url ? { method, url } : { url: method }, options);
228
+ } else {
229
+ options = Object.assign({}, route);
230
+ }
231
+ options.headers = lowercaseKeys(options.headers);
232
+ removeUndefinedProperties(options);
233
+ removeUndefinedProperties(options.headers);
234
+ const mergedOptions = mergeDeep(defaults || {}, options);
235
+ if (options.url === "/graphql") {
236
+ if (defaults && defaults.mediaType.previews?.length) {
237
+ mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(
238
+ (preview) => !mergedOptions.mediaType.previews.includes(preview)
239
+ ).concat(mergedOptions.mediaType.previews);
240
+ }
241
+ mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, ""));
242
+ }
243
+ return mergedOptions;
244
+ }
245
+
246
+ // pkg/dist-src/util/add-query-parameters.js
247
+ function addQueryParameters(url, parameters) {
248
+ const separator = /\?/.test(url) ? "&" : "?";
249
+ const names = Object.keys(parameters);
250
+ if (names.length === 0) {
251
+ return url;
252
+ }
253
+ return url + separator + names.map((name) => {
254
+ if (name === "q") {
255
+ return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+");
256
+ }
257
+ return `${name}=${encodeURIComponent(parameters[name])}`;
258
+ }).join("&");
259
+ }
260
+
261
+ // pkg/dist-src/util/extract-url-variable-names.js
262
+ var urlVariableRegex = /\{[^{}}]+\}/g;
263
+ function removeNonChars(variableName) {
264
+ return variableName.replace(/(?:^\W+)|(?:(?<!\W)\W+$)/g, "").split(/,/);
265
+ }
266
+ function extractUrlVariableNames(url) {
267
+ const matches = url.match(urlVariableRegex);
268
+ if (!matches) {
269
+ return [];
270
+ }
271
+ return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);
272
+ }
273
+
274
+ // pkg/dist-src/util/omit.js
275
+ function omit(object, keysToOmit) {
276
+ const result = { __proto__: null };
277
+ for (const key of Object.keys(object)) {
278
+ if (keysToOmit.indexOf(key) === -1) {
279
+ result[key] = object[key];
280
+ }
281
+ }
282
+ return result;
283
+ }
284
+
285
+ // pkg/dist-src/util/url-template.js
286
+ function encodeReserved(str) {
287
+ return str.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) {
288
+ if (!/%[0-9A-Fa-f]/.test(part)) {
289
+ part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]");
290
+ }
291
+ return part;
292
+ }).join("");
293
+ }
294
+ function encodeUnreserved(str) {
295
+ return encodeURIComponent(str).replace(/[!'()*]/g, function(c) {
296
+ return "%" + c.charCodeAt(0).toString(16).toUpperCase();
297
+ });
298
+ }
299
+ function encodeValue(operator, value, key) {
300
+ value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value);
301
+ if (key) {
302
+ return encodeUnreserved(key) + "=" + value;
303
+ } else {
304
+ return value;
305
+ }
306
+ }
307
+ function isDefined(value) {
308
+ return value !== void 0 && value !== null;
309
+ }
310
+ function isKeyOperator(operator) {
311
+ return operator === ";" || operator === "&" || operator === "?";
312
+ }
313
+ function getValues(context, operator, key, modifier) {
314
+ var value = context[key], result = [];
315
+ if (isDefined(value) && value !== "") {
316
+ if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
317
+ value = value.toString();
318
+ if (modifier && modifier !== "*") {
319
+ value = value.substring(0, parseInt(modifier, 10));
320
+ }
321
+ result.push(
322
+ encodeValue(operator, value, isKeyOperator(operator) ? key : "")
323
+ );
324
+ } else {
325
+ if (modifier === "*") {
326
+ if (Array.isArray(value)) {
327
+ value.filter(isDefined).forEach(function(value2) {
328
+ result.push(
329
+ encodeValue(operator, value2, isKeyOperator(operator) ? key : "")
330
+ );
331
+ });
332
+ } else {
333
+ Object.keys(value).forEach(function(k) {
334
+ if (isDefined(value[k])) {
335
+ result.push(encodeValue(operator, value[k], k));
336
+ }
337
+ });
338
+ }
339
+ } else {
340
+ const tmp = [];
341
+ if (Array.isArray(value)) {
342
+ value.filter(isDefined).forEach(function(value2) {
343
+ tmp.push(encodeValue(operator, value2));
344
+ });
345
+ } else {
346
+ Object.keys(value).forEach(function(k) {
347
+ if (isDefined(value[k])) {
348
+ tmp.push(encodeUnreserved(k));
349
+ tmp.push(encodeValue(operator, value[k].toString()));
350
+ }
351
+ });
352
+ }
353
+ if (isKeyOperator(operator)) {
354
+ result.push(encodeUnreserved(key) + "=" + tmp.join(","));
355
+ } else if (tmp.length !== 0) {
356
+ result.push(tmp.join(","));
357
+ }
358
+ }
359
+ }
360
+ } else {
361
+ if (operator === ";") {
362
+ if (isDefined(value)) {
363
+ result.push(encodeUnreserved(key));
364
+ }
365
+ } else if (value === "" && (operator === "&" || operator === "?")) {
366
+ result.push(encodeUnreserved(key) + "=");
367
+ } else if (value === "") {
368
+ result.push("");
369
+ }
370
+ }
371
+ return result;
372
+ }
373
+ function parseUrl(template) {
374
+ return {
375
+ expand: expand.bind(null, template)
376
+ };
377
+ }
378
+ function expand(template, context) {
379
+ var operators = ["+", "#", ".", "/", ";", "?", "&"];
380
+ template = template.replace(
381
+ /\{([^\{\}]+)\}|([^\{\}]+)/g,
382
+ function(_, expression, literal) {
383
+ if (expression) {
384
+ let operator = "";
385
+ const values = [];
386
+ if (operators.indexOf(expression.charAt(0)) !== -1) {
387
+ operator = expression.charAt(0);
388
+ expression = expression.substr(1);
389
+ }
390
+ expression.split(/,/g).forEach(function(variable) {
391
+ var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable);
392
+ values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));
393
+ });
394
+ if (operator && operator !== "+") {
395
+ var separator = ",";
396
+ if (operator === "?") {
397
+ separator = "&";
398
+ } else if (operator !== "#") {
399
+ separator = operator;
400
+ }
401
+ return (values.length !== 0 ? operator : "") + values.join(separator);
402
+ } else {
403
+ return values.join(",");
404
+ }
405
+ } else {
406
+ return encodeReserved(literal);
407
+ }
408
+ }
409
+ );
410
+ if (template === "/") {
411
+ return template;
412
+ } else {
413
+ return template.replace(/\/$/, "");
414
+ }
415
+ }
416
+
417
+ // pkg/dist-src/parse.js
418
+ function parse(options) {
419
+ let method = options.method.toUpperCase();
420
+ let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}");
421
+ let headers = Object.assign({}, options.headers);
422
+ let body;
423
+ let parameters = omit(options, [
424
+ "method",
425
+ "baseUrl",
426
+ "url",
427
+ "headers",
428
+ "request",
429
+ "mediaType"
430
+ ]);
431
+ const urlVariableNames = extractUrlVariableNames(url);
432
+ url = parseUrl(url).expand(parameters);
433
+ if (!/^http/.test(url)) {
434
+ url = options.baseUrl + url;
435
+ }
436
+ const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat("baseUrl");
437
+ const remainingParameters = omit(parameters, omittedParameters);
438
+ const isBinaryRequest = /application\/octet-stream/i.test(headers.accept);
439
+ if (!isBinaryRequest) {
440
+ if (options.mediaType.format) {
441
+ headers.accept = headers.accept.split(/,/).map(
442
+ (format) => format.replace(
443
+ /application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,
444
+ `application/vnd$1$2.${options.mediaType.format}`
445
+ )
446
+ ).join(",");
447
+ }
448
+ if (url.endsWith("/graphql")) {
449
+ if (options.mediaType.previews?.length) {
450
+ const previewsFromAcceptHeader = headers.accept.match(/(?<![\w-])[\w-]+(?=-preview)/g) || [];
451
+ headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map((preview) => {
452
+ const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json";
453
+ return `application/vnd.github.${preview}-preview${format}`;
454
+ }).join(",");
455
+ }
456
+ }
457
+ }
458
+ if (["GET", "HEAD"].includes(method)) {
459
+ url = addQueryParameters(url, remainingParameters);
460
+ } else {
461
+ if ("data" in remainingParameters) {
462
+ body = remainingParameters.data;
463
+ } else {
464
+ if (Object.keys(remainingParameters).length) {
465
+ body = remainingParameters;
466
+ }
467
+ }
468
+ }
469
+ if (!headers["content-type"] && typeof body !== "undefined") {
470
+ headers["content-type"] = "application/json; charset=utf-8";
471
+ }
472
+ if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") {
473
+ body = "";
474
+ }
475
+ return Object.assign(
476
+ { method, url, headers },
477
+ typeof body !== "undefined" ? { body } : null,
478
+ options.request ? { request: options.request } : null
479
+ );
480
+ }
481
+
482
+ // pkg/dist-src/endpoint-with-defaults.js
483
+ function endpointWithDefaults(defaults, route, options) {
484
+ return parse(merge(defaults, route, options));
485
+ }
486
+
487
+ // pkg/dist-src/with-defaults.js
488
+ function withDefaults$2(oldDefaults, newDefaults) {
489
+ const DEFAULTS2 = merge(oldDefaults, newDefaults);
490
+ const endpoint2 = endpointWithDefaults.bind(null, DEFAULTS2);
491
+ return Object.assign(endpoint2, {
492
+ DEFAULTS: DEFAULTS2,
493
+ defaults: withDefaults$2.bind(null, DEFAULTS2),
494
+ merge: merge.bind(null, DEFAULTS2),
495
+ parse
496
+ });
497
+ }
498
+
499
+ // pkg/dist-src/index.js
500
+ var endpoint = withDefaults$2(null, DEFAULTS);
501
+
502
+ var fastContentTypeParse = {};
503
+
504
+ var hasRequiredFastContentTypeParse;
505
+
506
+ function requireFastContentTypeParse () {
507
+ if (hasRequiredFastContentTypeParse) return fastContentTypeParse;
508
+ hasRequiredFastContentTypeParse = 1;
509
+
510
+ const NullObject = function NullObject () { };
511
+ NullObject.prototype = Object.create(null);
512
+
513
+ /**
514
+ * RegExp to match *( ";" parameter ) in RFC 7231 sec 3.1.1.1
515
+ *
516
+ * parameter = token "=" ( token / quoted-string )
517
+ * token = 1*tchar
518
+ * tchar = "!" / "#" / "$" / "%" / "&" / "'" / "*"
519
+ * / "+" / "-" / "." / "^" / "_" / "`" / "|" / "~"
520
+ * / DIGIT / ALPHA
521
+ * ; any VCHAR, except delimiters
522
+ * quoted-string = DQUOTE *( qdtext / quoted-pair ) DQUOTE
523
+ * qdtext = HTAB / SP / %x21 / %x23-5B / %x5D-7E / obs-text
524
+ * obs-text = %x80-FF
525
+ * quoted-pair = "\" ( HTAB / SP / VCHAR / obs-text )
526
+ */
527
+ const paramRE = /; *([!#$%&'*+.^\w`|~-]+)=("(?:[\v\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\v\u0020-\u00ff])*"|[!#$%&'*+.^\w`|~-]+) */gu;
528
+
529
+ /**
530
+ * RegExp to match quoted-pair in RFC 7230 sec 3.2.6
531
+ *
532
+ * quoted-pair = "\" ( HTAB / SP / VCHAR / obs-text )
533
+ * obs-text = %x80-FF
534
+ */
535
+ const quotedPairRE = /\\([\v\u0020-\u00ff])/gu;
536
+
537
+ /**
538
+ * RegExp to match type in RFC 7231 sec 3.1.1.1
539
+ *
540
+ * media-type = type "/" subtype
541
+ * type = token
542
+ * subtype = token
543
+ */
544
+ const mediaTypeRE = /^[!#$%&'*+.^\w|~-]+\/[!#$%&'*+.^\w|~-]+$/u;
545
+
546
+ // default ContentType to prevent repeated object creation
547
+ const defaultContentType = { type: '', parameters: new NullObject() };
548
+ Object.freeze(defaultContentType.parameters);
549
+ Object.freeze(defaultContentType);
550
+
551
+ /**
552
+ * Parse media type to object.
553
+ *
554
+ * @param {string|object} header
555
+ * @return {Object}
556
+ * @public
557
+ */
558
+
559
+ function parse (header) {
560
+ if (typeof header !== 'string') {
561
+ throw new TypeError('argument header is required and must be a string')
562
+ }
563
+
564
+ let index = header.indexOf(';');
565
+ const type = index !== -1
566
+ ? header.slice(0, index).trim()
567
+ : header.trim();
568
+
569
+ if (mediaTypeRE.test(type) === false) {
570
+ throw new TypeError('invalid media type')
571
+ }
572
+
573
+ const result = {
574
+ type: type.toLowerCase(),
575
+ parameters: new NullObject()
576
+ };
577
+
578
+ // parse parameters
579
+ if (index === -1) {
580
+ return result
581
+ }
582
+
583
+ let key;
584
+ let match;
585
+ let value;
586
+
587
+ paramRE.lastIndex = index;
588
+
589
+ while ((match = paramRE.exec(header))) {
590
+ if (match.index !== index) {
591
+ throw new TypeError('invalid parameter format')
592
+ }
593
+
594
+ index += match[0].length;
595
+ key = match[1].toLowerCase();
596
+ value = match[2];
597
+
598
+ if (value[0] === '"') {
599
+ // remove quotes and escapes
600
+ value = value
601
+ .slice(1, value.length - 1);
602
+
603
+ quotedPairRE.test(value) && (value = value.replace(quotedPairRE, '$1'));
604
+ }
605
+
606
+ result.parameters[key] = value;
607
+ }
608
+
609
+ if (index !== header.length) {
610
+ throw new TypeError('invalid parameter format')
611
+ }
612
+
613
+ return result
614
+ }
615
+
616
+ function safeParse (header) {
617
+ if (typeof header !== 'string') {
618
+ return defaultContentType
619
+ }
620
+
621
+ let index = header.indexOf(';');
622
+ const type = index !== -1
623
+ ? header.slice(0, index).trim()
624
+ : header.trim();
625
+
626
+ if (mediaTypeRE.test(type) === false) {
627
+ return defaultContentType
628
+ }
629
+
630
+ const result = {
631
+ type: type.toLowerCase(),
632
+ parameters: new NullObject()
633
+ };
634
+
635
+ // parse parameters
636
+ if (index === -1) {
637
+ return result
638
+ }
639
+
640
+ let key;
641
+ let match;
642
+ let value;
643
+
644
+ paramRE.lastIndex = index;
645
+
646
+ while ((match = paramRE.exec(header))) {
647
+ if (match.index !== index) {
648
+ return defaultContentType
649
+ }
650
+
651
+ index += match[0].length;
652
+ key = match[1].toLowerCase();
653
+ value = match[2];
654
+
655
+ if (value[0] === '"') {
656
+ // remove quotes and escapes
657
+ value = value
658
+ .slice(1, value.length - 1);
659
+
660
+ quotedPairRE.test(value) && (value = value.replace(quotedPairRE, '$1'));
661
+ }
662
+
663
+ result.parameters[key] = value;
664
+ }
665
+
666
+ if (index !== header.length) {
667
+ return defaultContentType
668
+ }
669
+
670
+ return result
671
+ }
672
+
673
+ fastContentTypeParse.default = { parse, safeParse };
674
+ fastContentTypeParse.parse = parse;
675
+ fastContentTypeParse.safeParse = safeParse;
676
+ fastContentTypeParse.defaultContentType = defaultContentType;
677
+ return fastContentTypeParse;
678
+ }
679
+
680
+ var fastContentTypeParseExports = requireFastContentTypeParse();
681
+
682
+ class RequestError extends Error {
683
+ name;
684
+ /**
685
+ * http status code
686
+ */
687
+ status;
688
+ /**
689
+ * Request options that lead to the error.
690
+ */
691
+ request;
692
+ /**
693
+ * Response object if a response was received
694
+ */
695
+ response;
696
+ constructor(message, statusCode, options) {
697
+ super(message, { cause: options.cause });
698
+ this.name = "HttpError";
699
+ this.status = Number.parseInt(statusCode);
700
+ if (Number.isNaN(this.status)) {
701
+ this.status = 0;
702
+ }
703
+ /* v8 ignore else -- @preserve -- Bug with vitest coverage where it sees an else branch that doesn't exist */
704
+ if ("response" in options) {
705
+ this.response = options.response;
706
+ }
707
+ const requestCopy = Object.assign({}, options.request);
708
+ if (options.request.headers.authorization) {
709
+ requestCopy.headers = Object.assign({}, options.request.headers, {
710
+ authorization: options.request.headers.authorization.replace(
711
+ /(?<! ) .*$/,
712
+ " [REDACTED]"
713
+ )
714
+ });
715
+ }
716
+ requestCopy.url = requestCopy.url.replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]").replace(/\baccess_token=\w+/g, "access_token=[REDACTED]");
717
+ this.request = requestCopy;
718
+ }
719
+ }
720
+
721
+ // pkg/dist-src/index.js
722
+
723
+ // pkg/dist-src/version.js
724
+ var VERSION$6 = "10.0.7";
725
+
726
+ // pkg/dist-src/defaults.js
727
+ var defaults_default = {
728
+ headers: {
729
+ "user-agent": `octokit-request.js/${VERSION$6} ${getUserAgent()}`
730
+ }
731
+ };
732
+
733
+ // pkg/dist-src/is-plain-object.js
734
+ function isPlainObject(value) {
735
+ if (typeof value !== "object" || value === null) return false;
736
+ if (Object.prototype.toString.call(value) !== "[object Object]") return false;
737
+ const proto = Object.getPrototypeOf(value);
738
+ if (proto === null) return true;
739
+ const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor;
740
+ return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value);
741
+ }
742
+ var noop$1 = () => "";
743
+ async function fetchWrapper(requestOptions) {
744
+ const fetch = requestOptions.request?.fetch || globalThis.fetch;
745
+ if (!fetch) {
746
+ throw new Error(
747
+ "fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing"
748
+ );
749
+ }
750
+ const log = requestOptions.request?.log || console;
751
+ const parseSuccessResponseBody = requestOptions.request?.parseSuccessResponseBody !== false;
752
+ const body = isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body) ? JSON.stringify(requestOptions.body) : requestOptions.body;
753
+ const requestHeaders = Object.fromEntries(
754
+ Object.entries(requestOptions.headers).map(([name, value]) => [
755
+ name,
756
+ String(value)
757
+ ])
758
+ );
759
+ let fetchResponse;
760
+ try {
761
+ fetchResponse = await fetch(requestOptions.url, {
762
+ method: requestOptions.method,
763
+ body,
764
+ redirect: requestOptions.request?.redirect,
765
+ headers: requestHeaders,
766
+ signal: requestOptions.request?.signal,
767
+ // duplex must be set if request.body is ReadableStream or Async Iterables.
768
+ // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex.
769
+ ...requestOptions.body && { duplex: "half" }
770
+ });
771
+ } catch (error) {
772
+ let message = "Unknown Error";
773
+ if (error instanceof Error) {
774
+ if (error.name === "AbortError") {
775
+ error.status = 500;
776
+ throw error;
777
+ }
778
+ message = error.message;
779
+ if (error.name === "TypeError" && "cause" in error) {
780
+ if (error.cause instanceof Error) {
781
+ message = error.cause.message;
782
+ } else if (typeof error.cause === "string") {
783
+ message = error.cause;
784
+ }
785
+ }
786
+ }
787
+ const requestError = new RequestError(message, 500, {
788
+ request: requestOptions
789
+ });
790
+ requestError.cause = error;
791
+ throw requestError;
792
+ }
793
+ const status = fetchResponse.status;
794
+ const url = fetchResponse.url;
795
+ const responseHeaders = {};
796
+ for (const [key, value] of fetchResponse.headers) {
797
+ responseHeaders[key] = value;
798
+ }
799
+ const octokitResponse = {
800
+ url,
801
+ status,
802
+ headers: responseHeaders,
803
+ data: ""
804
+ };
805
+ if ("deprecation" in responseHeaders) {
806
+ const matches = responseHeaders.link && responseHeaders.link.match(/<([^<>]+)>; rel="deprecation"/);
807
+ const deprecationLink = matches && matches.pop();
808
+ log.warn(
809
+ `[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${responseHeaders.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`
810
+ );
811
+ }
812
+ if (status === 204 || status === 205) {
813
+ return octokitResponse;
814
+ }
815
+ if (requestOptions.method === "HEAD") {
816
+ if (status < 400) {
817
+ return octokitResponse;
818
+ }
819
+ throw new RequestError(fetchResponse.statusText, status, {
820
+ response: octokitResponse,
821
+ request: requestOptions
822
+ });
823
+ }
824
+ if (status === 304) {
825
+ octokitResponse.data = await getResponseData(fetchResponse);
826
+ throw new RequestError("Not modified", status, {
827
+ response: octokitResponse,
828
+ request: requestOptions
829
+ });
830
+ }
831
+ if (status >= 400) {
832
+ octokitResponse.data = await getResponseData(fetchResponse);
833
+ throw new RequestError(toErrorMessage(octokitResponse.data), status, {
834
+ response: octokitResponse,
835
+ request: requestOptions
836
+ });
837
+ }
838
+ octokitResponse.data = parseSuccessResponseBody ? await getResponseData(fetchResponse) : fetchResponse.body;
839
+ return octokitResponse;
840
+ }
841
+ async function getResponseData(response) {
842
+ const contentType = response.headers.get("content-type");
843
+ if (!contentType) {
844
+ return response.text().catch(noop$1);
845
+ }
846
+ const mimetype = fastContentTypeParseExports.safeParse(contentType);
847
+ if (isJSONResponse(mimetype)) {
848
+ let text = "";
849
+ try {
850
+ text = await response.text();
851
+ return JSON.parse(text);
852
+ } catch (err) {
853
+ return text;
854
+ }
855
+ } else if (mimetype.type.startsWith("text/") || mimetype.parameters.charset?.toLowerCase() === "utf-8") {
856
+ return response.text().catch(noop$1);
857
+ } else {
858
+ return response.arrayBuffer().catch(
859
+ /* v8 ignore next -- @preserve */
860
+ () => new ArrayBuffer(0)
861
+ );
862
+ }
863
+ }
864
+ function isJSONResponse(mimetype) {
865
+ return mimetype.type === "application/json" || mimetype.type === "application/scim+json";
866
+ }
867
+ function toErrorMessage(data) {
868
+ if (typeof data === "string") {
869
+ return data;
870
+ }
871
+ if (data instanceof ArrayBuffer) {
872
+ return "Unknown error";
873
+ }
874
+ if ("message" in data) {
875
+ const suffix = "documentation_url" in data ? ` - ${data.documentation_url}` : "";
876
+ return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(", ")}${suffix}` : `${data.message}${suffix}`;
877
+ }
878
+ return `Unknown error: ${JSON.stringify(data)}`;
879
+ }
880
+
881
+ // pkg/dist-src/with-defaults.js
882
+ function withDefaults$1(oldEndpoint, newDefaults) {
883
+ const endpoint2 = oldEndpoint.defaults(newDefaults);
884
+ const newApi = function(route, parameters) {
885
+ const endpointOptions = endpoint2.merge(route, parameters);
886
+ if (!endpointOptions.request || !endpointOptions.request.hook) {
887
+ return fetchWrapper(endpoint2.parse(endpointOptions));
888
+ }
889
+ const request2 = (route2, parameters2) => {
890
+ return fetchWrapper(
891
+ endpoint2.parse(endpoint2.merge(route2, parameters2))
892
+ );
893
+ };
894
+ Object.assign(request2, {
895
+ endpoint: endpoint2,
896
+ defaults: withDefaults$1.bind(null, endpoint2)
897
+ });
898
+ return endpointOptions.request.hook(request2, endpointOptions);
899
+ };
900
+ return Object.assign(newApi, {
901
+ endpoint: endpoint2,
902
+ defaults: withDefaults$1.bind(null, endpoint2)
903
+ });
904
+ }
905
+
906
+ // pkg/dist-src/index.js
907
+ var request = withDefaults$1(endpoint, defaults_default);
908
+ /* v8 ignore next -- @preserve */
909
+ /* v8 ignore else -- @preserve */
910
+
911
+ // pkg/dist-src/index.js
912
+
913
+ // pkg/dist-src/version.js
914
+ var VERSION$5 = "0.0.0-development";
915
+
916
+ // pkg/dist-src/error.js
917
+ function _buildMessageForResponseErrors(data) {
918
+ return `Request failed due to following response errors:
919
+ ` + data.errors.map((e) => ` - ${e.message}`).join("\n");
920
+ }
921
+ var GraphqlResponseError = class extends Error {
922
+ constructor(request2, headers, response) {
923
+ super(_buildMessageForResponseErrors(response));
924
+ this.request = request2;
925
+ this.headers = headers;
926
+ this.response = response;
927
+ this.errors = response.errors;
928
+ this.data = response.data;
929
+ if (Error.captureStackTrace) {
930
+ Error.captureStackTrace(this, this.constructor);
931
+ }
932
+ }
933
+ name = "GraphqlResponseError";
934
+ errors;
935
+ data;
936
+ };
937
+
938
+ // pkg/dist-src/graphql.js
939
+ var NON_VARIABLE_OPTIONS = [
940
+ "method",
941
+ "baseUrl",
942
+ "url",
943
+ "headers",
944
+ "request",
945
+ "query",
946
+ "mediaType",
947
+ "operationName"
948
+ ];
949
+ var FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"];
950
+ var GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/;
951
+ function graphql(request2, query, options) {
952
+ if (options) {
953
+ if (typeof query === "string" && "query" in options) {
954
+ return Promise.reject(
955
+ new Error(`[@octokit/graphql] "query" cannot be used as variable name`)
956
+ );
957
+ }
958
+ for (const key in options) {
959
+ if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue;
960
+ return Promise.reject(
961
+ new Error(
962
+ `[@octokit/graphql] "${key}" cannot be used as variable name`
963
+ )
964
+ );
965
+ }
966
+ }
967
+ const parsedOptions = typeof query === "string" ? Object.assign({ query }, options) : query;
968
+ const requestOptions = Object.keys(
969
+ parsedOptions
970
+ ).reduce((result, key) => {
971
+ if (NON_VARIABLE_OPTIONS.includes(key)) {
972
+ result[key] = parsedOptions[key];
973
+ return result;
974
+ }
975
+ if (!result.variables) {
976
+ result.variables = {};
977
+ }
978
+ result.variables[key] = parsedOptions[key];
979
+ return result;
980
+ }, {});
981
+ const baseUrl = parsedOptions.baseUrl || request2.endpoint.DEFAULTS.baseUrl;
982
+ if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {
983
+ requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql");
984
+ }
985
+ return request2(requestOptions).then((response) => {
986
+ if (response.data.errors) {
987
+ const headers = {};
988
+ for (const key of Object.keys(response.headers)) {
989
+ headers[key] = response.headers[key];
990
+ }
991
+ throw new GraphqlResponseError(
992
+ requestOptions,
993
+ headers,
994
+ response.data
995
+ );
996
+ }
997
+ return response.data.data;
998
+ });
999
+ }
1000
+
1001
+ // pkg/dist-src/with-defaults.js
1002
+ function withDefaults(request2, newDefaults) {
1003
+ const newRequest = request2.defaults(newDefaults);
1004
+ const newApi = (query, options) => {
1005
+ return graphql(newRequest, query, options);
1006
+ };
1007
+ return Object.assign(newApi, {
1008
+ defaults: withDefaults.bind(null, newRequest),
1009
+ endpoint: newRequest.endpoint
1010
+ });
1011
+ }
1012
+
1013
+ // pkg/dist-src/index.js
1014
+ withDefaults(request, {
1015
+ headers: {
1016
+ "user-agent": `octokit-graphql.js/${VERSION$5} ${getUserAgent()}`
1017
+ },
1018
+ method: "POST",
1019
+ url: "/graphql"
1020
+ });
1021
+ function withCustomRequest(customRequest) {
1022
+ return withDefaults(customRequest, {
1023
+ method: "POST",
1024
+ url: "/graphql"
1025
+ });
1026
+ }
1027
+
1028
+ // pkg/dist-src/is-jwt.js
1029
+ var b64url = "(?:[a-zA-Z0-9_-]+)";
1030
+ var sep = "\\.";
1031
+ var jwtRE = new RegExp(`^${b64url}${sep}${b64url}${sep}${b64url}$`);
1032
+ var isJWT = jwtRE.test.bind(jwtRE);
1033
+
1034
+ // pkg/dist-src/auth.js
1035
+ async function auth(token) {
1036
+ const isApp = isJWT(token);
1037
+ const isInstallation = token.startsWith("v1.") || token.startsWith("ghs_");
1038
+ const isUserToServer = token.startsWith("ghu_");
1039
+ const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth";
1040
+ return {
1041
+ type: "token",
1042
+ token,
1043
+ tokenType
1044
+ };
1045
+ }
1046
+
1047
+ // pkg/dist-src/with-authorization-prefix.js
1048
+ function withAuthorizationPrefix(token) {
1049
+ if (token.split(/\./).length === 3) {
1050
+ return `bearer ${token}`;
1051
+ }
1052
+ return `token ${token}`;
1053
+ }
1054
+
1055
+ // pkg/dist-src/hook.js
1056
+ async function hook(token, request, route, parameters) {
1057
+ const endpoint = request.endpoint.merge(
1058
+ route,
1059
+ parameters
1060
+ );
1061
+ endpoint.headers.authorization = withAuthorizationPrefix(token);
1062
+ return request(endpoint);
1063
+ }
1064
+
1065
+ // pkg/dist-src/index.js
1066
+ var createTokenAuth = function createTokenAuth2(token) {
1067
+ if (!token) {
1068
+ throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");
1069
+ }
1070
+ if (typeof token !== "string") {
1071
+ throw new Error(
1072
+ "[@octokit/auth-token] Token passed to createTokenAuth is not a string"
1073
+ );
1074
+ }
1075
+ token = token.replace(/^(token|bearer) +/i, "");
1076
+ return Object.assign(auth.bind(null, token), {
1077
+ hook: hook.bind(null, token)
1078
+ });
1079
+ };
1080
+
1081
+ const VERSION$4 = "7.0.6";
1082
+
1083
+ const noop = () => {
1084
+ };
1085
+ const consoleWarn = console.warn.bind(console);
1086
+ const consoleError = console.error.bind(console);
1087
+ function createLogger(logger = {}) {
1088
+ if (typeof logger.debug !== "function") {
1089
+ logger.debug = noop;
1090
+ }
1091
+ if (typeof logger.info !== "function") {
1092
+ logger.info = noop;
1093
+ }
1094
+ if (typeof logger.warn !== "function") {
1095
+ logger.warn = consoleWarn;
1096
+ }
1097
+ if (typeof logger.error !== "function") {
1098
+ logger.error = consoleError;
1099
+ }
1100
+ return logger;
1101
+ }
1102
+ const userAgentTrail = `octokit-core.js/${VERSION$4} ${getUserAgent()}`;
1103
+ let Octokit$1 = class Octokit {
1104
+ static VERSION = VERSION$4;
1105
+ static defaults(defaults) {
1106
+ const OctokitWithDefaults = class extends this {
1107
+ constructor(...args) {
1108
+ const options = args[0] || {};
1109
+ if (typeof defaults === "function") {
1110
+ super(defaults(options));
1111
+ return;
1112
+ }
1113
+ super(
1114
+ Object.assign(
1115
+ {},
1116
+ defaults,
1117
+ options,
1118
+ options.userAgent && defaults.userAgent ? {
1119
+ userAgent: `${options.userAgent} ${defaults.userAgent}`
1120
+ } : null
1121
+ )
1122
+ );
1123
+ }
1124
+ };
1125
+ return OctokitWithDefaults;
1126
+ }
1127
+ static plugins = [];
1128
+ /**
1129
+ * Attach a plugin (or many) to your Octokit instance.
1130
+ *
1131
+ * @example
1132
+ * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)
1133
+ */
1134
+ static plugin(...newPlugins) {
1135
+ const currentPlugins = this.plugins;
1136
+ const NewOctokit = class extends this {
1137
+ static plugins = currentPlugins.concat(
1138
+ newPlugins.filter((plugin) => !currentPlugins.includes(plugin))
1139
+ );
1140
+ };
1141
+ return NewOctokit;
1142
+ }
1143
+ constructor(options = {}) {
1144
+ const hook = new Hook.Collection();
1145
+ const requestDefaults = {
1146
+ baseUrl: request.endpoint.DEFAULTS.baseUrl,
1147
+ headers: {},
1148
+ request: Object.assign({}, options.request, {
1149
+ // @ts-ignore internal usage only, no need to type
1150
+ hook: hook.bind(null, "request")
1151
+ }),
1152
+ mediaType: {
1153
+ previews: [],
1154
+ format: ""
1155
+ }
1156
+ };
1157
+ requestDefaults.headers["user-agent"] = options.userAgent ? `${options.userAgent} ${userAgentTrail}` : userAgentTrail;
1158
+ if (options.baseUrl) {
1159
+ requestDefaults.baseUrl = options.baseUrl;
1160
+ }
1161
+ if (options.previews) {
1162
+ requestDefaults.mediaType.previews = options.previews;
1163
+ }
1164
+ if (options.timeZone) {
1165
+ requestDefaults.headers["time-zone"] = options.timeZone;
1166
+ }
1167
+ this.request = request.defaults(requestDefaults);
1168
+ this.graphql = withCustomRequest(this.request).defaults(requestDefaults);
1169
+ this.log = createLogger(options.log);
1170
+ this.hook = hook;
1171
+ if (!options.authStrategy) {
1172
+ if (!options.auth) {
1173
+ this.auth = async () => ({
1174
+ type: "unauthenticated"
1175
+ });
1176
+ } else {
1177
+ const auth = createTokenAuth(options.auth);
1178
+ hook.wrap("request", auth.hook);
1179
+ this.auth = auth;
1180
+ }
1181
+ } else {
1182
+ const { authStrategy, ...otherOptions } = options;
1183
+ const auth = authStrategy(
1184
+ Object.assign(
1185
+ {
1186
+ request: this.request,
1187
+ log: this.log,
1188
+ // we pass the current octokit instance as well as its constructor options
1189
+ // to allow for authentication strategies that return a new octokit instance
1190
+ // that shares the same internal state as the current one. The original
1191
+ // requirement for this was the "event-octokit" authentication strategy
1192
+ // of https://github.com/probot/octokit-auth-probot.
1193
+ octokit: this,
1194
+ octokitOptions: otherOptions
1195
+ },
1196
+ options.auth
1197
+ )
1198
+ );
1199
+ hook.wrap("request", auth.hook);
1200
+ this.auth = auth;
1201
+ }
1202
+ const classConstructor = this.constructor;
1203
+ for (let i = 0; i < classConstructor.plugins.length; ++i) {
1204
+ Object.assign(this, classConstructor.plugins[i](this, options));
1205
+ }
1206
+ }
1207
+ // assigned during constructor
1208
+ request;
1209
+ graphql;
1210
+ log;
1211
+ hook;
1212
+ // TODO: type `octokit.auth` based on passed options.authStrategy
1213
+ auth;
1214
+ };
1215
+
1216
+ const VERSION$3 = "6.0.0";
1217
+
1218
+ function requestLog(octokit) {
1219
+ octokit.hook.wrap("request", (request, options) => {
1220
+ octokit.log.debug("request", options);
1221
+ const start = Date.now();
1222
+ const requestOptions = octokit.request.endpoint.parse(options);
1223
+ const path = requestOptions.url.replace(options.baseUrl, "");
1224
+ return request(options).then((response) => {
1225
+ const requestId = response.headers["x-github-request-id"];
1226
+ octokit.log.info(
1227
+ `${requestOptions.method} ${path} - ${response.status} with id ${requestId} in ${Date.now() - start}ms`
1228
+ );
1229
+ return response;
1230
+ }).catch((error) => {
1231
+ const requestId = error.response?.headers["x-github-request-id"] || "UNKNOWN";
1232
+ octokit.log.error(
1233
+ `${requestOptions.method} ${path} - ${error.status} with id ${requestId} in ${Date.now() - start}ms`
1234
+ );
1235
+ throw error;
1236
+ });
1237
+ });
1238
+ }
1239
+ requestLog.VERSION = VERSION$3;
1240
+
1241
+ // pkg/dist-src/version.js
1242
+ var VERSION$2 = "0.0.0-development";
1243
+
1244
+ // pkg/dist-src/normalize-paginated-list-response.js
1245
+ function normalizePaginatedListResponse(response) {
1246
+ if (!response.data) {
1247
+ return {
1248
+ ...response,
1249
+ data: []
1250
+ };
1251
+ }
1252
+ const responseNeedsNormalization = ("total_count" in response.data || "total_commits" in response.data) && !("url" in response.data);
1253
+ if (!responseNeedsNormalization) return response;
1254
+ const incompleteResults = response.data.incomplete_results;
1255
+ const repositorySelection = response.data.repository_selection;
1256
+ const totalCount = response.data.total_count;
1257
+ const totalCommits = response.data.total_commits;
1258
+ delete response.data.incomplete_results;
1259
+ delete response.data.repository_selection;
1260
+ delete response.data.total_count;
1261
+ delete response.data.total_commits;
1262
+ const namespaceKey = Object.keys(response.data)[0];
1263
+ const data = response.data[namespaceKey];
1264
+ response.data = data;
1265
+ if (typeof incompleteResults !== "undefined") {
1266
+ response.data.incomplete_results = incompleteResults;
1267
+ }
1268
+ if (typeof repositorySelection !== "undefined") {
1269
+ response.data.repository_selection = repositorySelection;
1270
+ }
1271
+ response.data.total_count = totalCount;
1272
+ response.data.total_commits = totalCommits;
1273
+ return response;
1274
+ }
1275
+
1276
+ // pkg/dist-src/iterator.js
1277
+ function iterator(octokit, route, parameters) {
1278
+ const options = typeof route === "function" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters);
1279
+ const requestMethod = typeof route === "function" ? route : octokit.request;
1280
+ const method = options.method;
1281
+ const headers = options.headers;
1282
+ let url = options.url;
1283
+ return {
1284
+ [Symbol.asyncIterator]: () => ({
1285
+ async next() {
1286
+ if (!url) return { done: true };
1287
+ try {
1288
+ const response = await requestMethod({ method, url, headers });
1289
+ const normalizedResponse = normalizePaginatedListResponse(response);
1290
+ url = ((normalizedResponse.headers.link || "").match(
1291
+ /<([^<>]+)>;\s*rel="next"/
1292
+ ) || [])[1];
1293
+ if (!url && "total_commits" in normalizedResponse.data) {
1294
+ const parsedUrl = new URL(normalizedResponse.url);
1295
+ const params = parsedUrl.searchParams;
1296
+ const page = parseInt(params.get("page") || "1", 10);
1297
+ const per_page = parseInt(params.get("per_page") || "250", 10);
1298
+ if (page * per_page < normalizedResponse.data.total_commits) {
1299
+ params.set("page", String(page + 1));
1300
+ url = parsedUrl.toString();
1301
+ }
1302
+ }
1303
+ return { value: normalizedResponse };
1304
+ } catch (error) {
1305
+ if (error.status !== 409) throw error;
1306
+ url = "";
1307
+ return {
1308
+ value: {
1309
+ status: 200,
1310
+ headers: {},
1311
+ data: []
1312
+ }
1313
+ };
1314
+ }
1315
+ }
1316
+ })
1317
+ };
1318
+ }
1319
+
1320
+ // pkg/dist-src/paginate.js
1321
+ function paginate(octokit, route, parameters, mapFn) {
1322
+ if (typeof parameters === "function") {
1323
+ mapFn = parameters;
1324
+ parameters = void 0;
1325
+ }
1326
+ return gather(
1327
+ octokit,
1328
+ [],
1329
+ iterator(octokit, route, parameters)[Symbol.asyncIterator](),
1330
+ mapFn
1331
+ );
1332
+ }
1333
+ function gather(octokit, results, iterator2, mapFn) {
1334
+ return iterator2.next().then((result) => {
1335
+ if (result.done) {
1336
+ return results;
1337
+ }
1338
+ let earlyExit = false;
1339
+ function done() {
1340
+ earlyExit = true;
1341
+ }
1342
+ results = results.concat(
1343
+ mapFn ? mapFn(result.value, done) : result.value.data
1344
+ );
1345
+ if (earlyExit) {
1346
+ return results;
1347
+ }
1348
+ return gather(octokit, results, iterator2, mapFn);
1349
+ });
1350
+ }
1351
+
1352
+ // pkg/dist-src/compose-paginate.js
1353
+ Object.assign(paginate, {
1354
+ iterator
1355
+ });
1356
+
1357
+ // pkg/dist-src/index.js
1358
+ function paginateRest(octokit) {
1359
+ return {
1360
+ paginate: Object.assign(paginate.bind(null, octokit), {
1361
+ iterator: iterator.bind(null, octokit)
1362
+ })
1363
+ };
1364
+ }
1365
+ paginateRest.VERSION = VERSION$2;
1366
+
1367
+ const VERSION$1 = "17.0.0";
1368
+
1369
+ const Endpoints = {
1370
+ actions: {
1371
+ addCustomLabelsToSelfHostedRunnerForOrg: [
1372
+ "POST /orgs/{org}/actions/runners/{runner_id}/labels"
1373
+ ],
1374
+ addCustomLabelsToSelfHostedRunnerForRepo: [
1375
+ "POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"
1376
+ ],
1377
+ addRepoAccessToSelfHostedRunnerGroupInOrg: [
1378
+ "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}"
1379
+ ],
1380
+ addSelectedRepoToOrgSecret: [
1381
+ "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"
1382
+ ],
1383
+ addSelectedRepoToOrgVariable: [
1384
+ "PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"
1385
+ ],
1386
+ approveWorkflowRun: [
1387
+ "POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"
1388
+ ],
1389
+ cancelWorkflowRun: [
1390
+ "POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"
1391
+ ],
1392
+ createEnvironmentVariable: [
1393
+ "POST /repos/{owner}/{repo}/environments/{environment_name}/variables"
1394
+ ],
1395
+ createHostedRunnerForOrg: ["POST /orgs/{org}/actions/hosted-runners"],
1396
+ createOrUpdateEnvironmentSecret: [
1397
+ "PUT /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"
1398
+ ],
1399
+ createOrUpdateOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}"],
1400
+ createOrUpdateRepoSecret: [
1401
+ "PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"
1402
+ ],
1403
+ createOrgVariable: ["POST /orgs/{org}/actions/variables"],
1404
+ createRegistrationTokenForOrg: [
1405
+ "POST /orgs/{org}/actions/runners/registration-token"
1406
+ ],
1407
+ createRegistrationTokenForRepo: [
1408
+ "POST /repos/{owner}/{repo}/actions/runners/registration-token"
1409
+ ],
1410
+ createRemoveTokenForOrg: ["POST /orgs/{org}/actions/runners/remove-token"],
1411
+ createRemoveTokenForRepo: [
1412
+ "POST /repos/{owner}/{repo}/actions/runners/remove-token"
1413
+ ],
1414
+ createRepoVariable: ["POST /repos/{owner}/{repo}/actions/variables"],
1415
+ createWorkflowDispatch: [
1416
+ "POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"
1417
+ ],
1418
+ deleteActionsCacheById: [
1419
+ "DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}"
1420
+ ],
1421
+ deleteActionsCacheByKey: [
1422
+ "DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}"
1423
+ ],
1424
+ deleteArtifact: [
1425
+ "DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"
1426
+ ],
1427
+ deleteCustomImageFromOrg: [
1428
+ "DELETE /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}"
1429
+ ],
1430
+ deleteCustomImageVersionFromOrg: [
1431
+ "DELETE /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions/{version}"
1432
+ ],
1433
+ deleteEnvironmentSecret: [
1434
+ "DELETE /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"
1435
+ ],
1436
+ deleteEnvironmentVariable: [
1437
+ "DELETE /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"
1438
+ ],
1439
+ deleteHostedRunnerForOrg: [
1440
+ "DELETE /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"
1441
+ ],
1442
+ deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"],
1443
+ deleteOrgVariable: ["DELETE /orgs/{org}/actions/variables/{name}"],
1444
+ deleteRepoSecret: [
1445
+ "DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"
1446
+ ],
1447
+ deleteRepoVariable: [
1448
+ "DELETE /repos/{owner}/{repo}/actions/variables/{name}"
1449
+ ],
1450
+ deleteSelfHostedRunnerFromOrg: [
1451
+ "DELETE /orgs/{org}/actions/runners/{runner_id}"
1452
+ ],
1453
+ deleteSelfHostedRunnerFromRepo: [
1454
+ "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"
1455
+ ],
1456
+ deleteWorkflowRun: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"],
1457
+ deleteWorkflowRunLogs: [
1458
+ "DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"
1459
+ ],
1460
+ disableSelectedRepositoryGithubActionsOrganization: [
1461
+ "DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"
1462
+ ],
1463
+ disableWorkflow: [
1464
+ "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"
1465
+ ],
1466
+ downloadArtifact: [
1467
+ "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"
1468
+ ],
1469
+ downloadJobLogsForWorkflowRun: [
1470
+ "GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"
1471
+ ],
1472
+ downloadWorkflowRunAttemptLogs: [
1473
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs"
1474
+ ],
1475
+ downloadWorkflowRunLogs: [
1476
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"
1477
+ ],
1478
+ enableSelectedRepositoryGithubActionsOrganization: [
1479
+ "PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"
1480
+ ],
1481
+ enableWorkflow: [
1482
+ "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"
1483
+ ],
1484
+ forceCancelWorkflowRun: [
1485
+ "POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel"
1486
+ ],
1487
+ generateRunnerJitconfigForOrg: [
1488
+ "POST /orgs/{org}/actions/runners/generate-jitconfig"
1489
+ ],
1490
+ generateRunnerJitconfigForRepo: [
1491
+ "POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig"
1492
+ ],
1493
+ getActionsCacheList: ["GET /repos/{owner}/{repo}/actions/caches"],
1494
+ getActionsCacheUsage: ["GET /repos/{owner}/{repo}/actions/cache/usage"],
1495
+ getActionsCacheUsageByRepoForOrg: [
1496
+ "GET /orgs/{org}/actions/cache/usage-by-repository"
1497
+ ],
1498
+ getActionsCacheUsageForOrg: ["GET /orgs/{org}/actions/cache/usage"],
1499
+ getAllowedActionsOrganization: [
1500
+ "GET /orgs/{org}/actions/permissions/selected-actions"
1501
+ ],
1502
+ getAllowedActionsRepository: [
1503
+ "GET /repos/{owner}/{repo}/actions/permissions/selected-actions"
1504
+ ],
1505
+ getArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],
1506
+ getCustomImageForOrg: [
1507
+ "GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}"
1508
+ ],
1509
+ getCustomImageVersionForOrg: [
1510
+ "GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions/{version}"
1511
+ ],
1512
+ getCustomOidcSubClaimForRepo: [
1513
+ "GET /repos/{owner}/{repo}/actions/oidc/customization/sub"
1514
+ ],
1515
+ getEnvironmentPublicKey: [
1516
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key"
1517
+ ],
1518
+ getEnvironmentSecret: [
1519
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"
1520
+ ],
1521
+ getEnvironmentVariable: [
1522
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"
1523
+ ],
1524
+ getGithubActionsDefaultWorkflowPermissionsOrganization: [
1525
+ "GET /orgs/{org}/actions/permissions/workflow"
1526
+ ],
1527
+ getGithubActionsDefaultWorkflowPermissionsRepository: [
1528
+ "GET /repos/{owner}/{repo}/actions/permissions/workflow"
1529
+ ],
1530
+ getGithubActionsPermissionsOrganization: [
1531
+ "GET /orgs/{org}/actions/permissions"
1532
+ ],
1533
+ getGithubActionsPermissionsRepository: [
1534
+ "GET /repos/{owner}/{repo}/actions/permissions"
1535
+ ],
1536
+ getHostedRunnerForOrg: [
1537
+ "GET /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"
1538
+ ],
1539
+ getHostedRunnersGithubOwnedImagesForOrg: [
1540
+ "GET /orgs/{org}/actions/hosted-runners/images/github-owned"
1541
+ ],
1542
+ getHostedRunnersLimitsForOrg: [
1543
+ "GET /orgs/{org}/actions/hosted-runners/limits"
1544
+ ],
1545
+ getHostedRunnersMachineSpecsForOrg: [
1546
+ "GET /orgs/{org}/actions/hosted-runners/machine-sizes"
1547
+ ],
1548
+ getHostedRunnersPartnerImagesForOrg: [
1549
+ "GET /orgs/{org}/actions/hosted-runners/images/partner"
1550
+ ],
1551
+ getHostedRunnersPlatformsForOrg: [
1552
+ "GET /orgs/{org}/actions/hosted-runners/platforms"
1553
+ ],
1554
+ getJobForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"],
1555
+ getOrgPublicKey: ["GET /orgs/{org}/actions/secrets/public-key"],
1556
+ getOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}"],
1557
+ getOrgVariable: ["GET /orgs/{org}/actions/variables/{name}"],
1558
+ getPendingDeploymentsForRun: [
1559
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"
1560
+ ],
1561
+ getRepoPermissions: [
1562
+ "GET /repos/{owner}/{repo}/actions/permissions",
1563
+ {},
1564
+ { renamed: ["actions", "getGithubActionsPermissionsRepository"] }
1565
+ ],
1566
+ getRepoPublicKey: ["GET /repos/{owner}/{repo}/actions/secrets/public-key"],
1567
+ getRepoSecret: ["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"],
1568
+ getRepoVariable: ["GET /repos/{owner}/{repo}/actions/variables/{name}"],
1569
+ getReviewsForRun: [
1570
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"
1571
+ ],
1572
+ getSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}"],
1573
+ getSelfHostedRunnerForRepo: [
1574
+ "GET /repos/{owner}/{repo}/actions/runners/{runner_id}"
1575
+ ],
1576
+ getWorkflow: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"],
1577
+ getWorkflowAccessToRepository: [
1578
+ "GET /repos/{owner}/{repo}/actions/permissions/access"
1579
+ ],
1580
+ getWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}"],
1581
+ getWorkflowRunAttempt: [
1582
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}"
1583
+ ],
1584
+ getWorkflowRunUsage: [
1585
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"
1586
+ ],
1587
+ getWorkflowUsage: [
1588
+ "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"
1589
+ ],
1590
+ listArtifactsForRepo: ["GET /repos/{owner}/{repo}/actions/artifacts"],
1591
+ listCustomImageVersionsForOrg: [
1592
+ "GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions"
1593
+ ],
1594
+ listCustomImagesForOrg: [
1595
+ "GET /orgs/{org}/actions/hosted-runners/images/custom"
1596
+ ],
1597
+ listEnvironmentSecrets: [
1598
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets"
1599
+ ],
1600
+ listEnvironmentVariables: [
1601
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/variables"
1602
+ ],
1603
+ listGithubHostedRunnersInGroupForOrg: [
1604
+ "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners"
1605
+ ],
1606
+ listHostedRunnersForOrg: ["GET /orgs/{org}/actions/hosted-runners"],
1607
+ listJobsForWorkflowRun: [
1608
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"
1609
+ ],
1610
+ listJobsForWorkflowRunAttempt: [
1611
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"
1612
+ ],
1613
+ listLabelsForSelfHostedRunnerForOrg: [
1614
+ "GET /orgs/{org}/actions/runners/{runner_id}/labels"
1615
+ ],
1616
+ listLabelsForSelfHostedRunnerForRepo: [
1617
+ "GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"
1618
+ ],
1619
+ listOrgSecrets: ["GET /orgs/{org}/actions/secrets"],
1620
+ listOrgVariables: ["GET /orgs/{org}/actions/variables"],
1621
+ listRepoOrganizationSecrets: [
1622
+ "GET /repos/{owner}/{repo}/actions/organization-secrets"
1623
+ ],
1624
+ listRepoOrganizationVariables: [
1625
+ "GET /repos/{owner}/{repo}/actions/organization-variables"
1626
+ ],
1627
+ listRepoSecrets: ["GET /repos/{owner}/{repo}/actions/secrets"],
1628
+ listRepoVariables: ["GET /repos/{owner}/{repo}/actions/variables"],
1629
+ listRepoWorkflows: ["GET /repos/{owner}/{repo}/actions/workflows"],
1630
+ listRunnerApplicationsForOrg: ["GET /orgs/{org}/actions/runners/downloads"],
1631
+ listRunnerApplicationsForRepo: [
1632
+ "GET /repos/{owner}/{repo}/actions/runners/downloads"
1633
+ ],
1634
+ listSelectedReposForOrgSecret: [
1635
+ "GET /orgs/{org}/actions/secrets/{secret_name}/repositories"
1636
+ ],
1637
+ listSelectedReposForOrgVariable: [
1638
+ "GET /orgs/{org}/actions/variables/{name}/repositories"
1639
+ ],
1640
+ listSelectedRepositoriesEnabledGithubActionsOrganization: [
1641
+ "GET /orgs/{org}/actions/permissions/repositories"
1642
+ ],
1643
+ listSelfHostedRunnersForOrg: ["GET /orgs/{org}/actions/runners"],
1644
+ listSelfHostedRunnersForRepo: ["GET /repos/{owner}/{repo}/actions/runners"],
1645
+ listWorkflowRunArtifacts: [
1646
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"
1647
+ ],
1648
+ listWorkflowRuns: [
1649
+ "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"
1650
+ ],
1651
+ listWorkflowRunsForRepo: ["GET /repos/{owner}/{repo}/actions/runs"],
1652
+ reRunJobForWorkflowRun: [
1653
+ "POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun"
1654
+ ],
1655
+ reRunWorkflow: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"],
1656
+ reRunWorkflowFailedJobs: [
1657
+ "POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs"
1658
+ ],
1659
+ removeAllCustomLabelsFromSelfHostedRunnerForOrg: [
1660
+ "DELETE /orgs/{org}/actions/runners/{runner_id}/labels"
1661
+ ],
1662
+ removeAllCustomLabelsFromSelfHostedRunnerForRepo: [
1663
+ "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"
1664
+ ],
1665
+ removeCustomLabelFromSelfHostedRunnerForOrg: [
1666
+ "DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}"
1667
+ ],
1668
+ removeCustomLabelFromSelfHostedRunnerForRepo: [
1669
+ "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}"
1670
+ ],
1671
+ removeSelectedRepoFromOrgSecret: [
1672
+ "DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"
1673
+ ],
1674
+ removeSelectedRepoFromOrgVariable: [
1675
+ "DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"
1676
+ ],
1677
+ reviewCustomGatesForRun: [
1678
+ "POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule"
1679
+ ],
1680
+ reviewPendingDeploymentsForRun: [
1681
+ "POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"
1682
+ ],
1683
+ setAllowedActionsOrganization: [
1684
+ "PUT /orgs/{org}/actions/permissions/selected-actions"
1685
+ ],
1686
+ setAllowedActionsRepository: [
1687
+ "PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"
1688
+ ],
1689
+ setCustomLabelsForSelfHostedRunnerForOrg: [
1690
+ "PUT /orgs/{org}/actions/runners/{runner_id}/labels"
1691
+ ],
1692
+ setCustomLabelsForSelfHostedRunnerForRepo: [
1693
+ "PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"
1694
+ ],
1695
+ setCustomOidcSubClaimForRepo: [
1696
+ "PUT /repos/{owner}/{repo}/actions/oidc/customization/sub"
1697
+ ],
1698
+ setGithubActionsDefaultWorkflowPermissionsOrganization: [
1699
+ "PUT /orgs/{org}/actions/permissions/workflow"
1700
+ ],
1701
+ setGithubActionsDefaultWorkflowPermissionsRepository: [
1702
+ "PUT /repos/{owner}/{repo}/actions/permissions/workflow"
1703
+ ],
1704
+ setGithubActionsPermissionsOrganization: [
1705
+ "PUT /orgs/{org}/actions/permissions"
1706
+ ],
1707
+ setGithubActionsPermissionsRepository: [
1708
+ "PUT /repos/{owner}/{repo}/actions/permissions"
1709
+ ],
1710
+ setSelectedReposForOrgSecret: [
1711
+ "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"
1712
+ ],
1713
+ setSelectedReposForOrgVariable: [
1714
+ "PUT /orgs/{org}/actions/variables/{name}/repositories"
1715
+ ],
1716
+ setSelectedRepositoriesEnabledGithubActionsOrganization: [
1717
+ "PUT /orgs/{org}/actions/permissions/repositories"
1718
+ ],
1719
+ setWorkflowAccessToRepository: [
1720
+ "PUT /repos/{owner}/{repo}/actions/permissions/access"
1721
+ ],
1722
+ updateEnvironmentVariable: [
1723
+ "PATCH /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"
1724
+ ],
1725
+ updateHostedRunnerForOrg: [
1726
+ "PATCH /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"
1727
+ ],
1728
+ updateOrgVariable: ["PATCH /orgs/{org}/actions/variables/{name}"],
1729
+ updateRepoVariable: [
1730
+ "PATCH /repos/{owner}/{repo}/actions/variables/{name}"
1731
+ ]
1732
+ },
1733
+ activity: {
1734
+ checkRepoIsStarredByAuthenticatedUser: ["GET /user/starred/{owner}/{repo}"],
1735
+ deleteRepoSubscription: ["DELETE /repos/{owner}/{repo}/subscription"],
1736
+ deleteThreadSubscription: [
1737
+ "DELETE /notifications/threads/{thread_id}/subscription"
1738
+ ],
1739
+ getFeeds: ["GET /feeds"],
1740
+ getRepoSubscription: ["GET /repos/{owner}/{repo}/subscription"],
1741
+ getThread: ["GET /notifications/threads/{thread_id}"],
1742
+ getThreadSubscriptionForAuthenticatedUser: [
1743
+ "GET /notifications/threads/{thread_id}/subscription"
1744
+ ],
1745
+ listEventsForAuthenticatedUser: ["GET /users/{username}/events"],
1746
+ listNotificationsForAuthenticatedUser: ["GET /notifications"],
1747
+ listOrgEventsForAuthenticatedUser: [
1748
+ "GET /users/{username}/events/orgs/{org}"
1749
+ ],
1750
+ listPublicEvents: ["GET /events"],
1751
+ listPublicEventsForRepoNetwork: ["GET /networks/{owner}/{repo}/events"],
1752
+ listPublicEventsForUser: ["GET /users/{username}/events/public"],
1753
+ listPublicOrgEvents: ["GET /orgs/{org}/events"],
1754
+ listReceivedEventsForUser: ["GET /users/{username}/received_events"],
1755
+ listReceivedPublicEventsForUser: [
1756
+ "GET /users/{username}/received_events/public"
1757
+ ],
1758
+ listRepoEvents: ["GET /repos/{owner}/{repo}/events"],
1759
+ listRepoNotificationsForAuthenticatedUser: [
1760
+ "GET /repos/{owner}/{repo}/notifications"
1761
+ ],
1762
+ listReposStarredByAuthenticatedUser: ["GET /user/starred"],
1763
+ listReposStarredByUser: ["GET /users/{username}/starred"],
1764
+ listReposWatchedByUser: ["GET /users/{username}/subscriptions"],
1765
+ listStargazersForRepo: ["GET /repos/{owner}/{repo}/stargazers"],
1766
+ listWatchedReposForAuthenticatedUser: ["GET /user/subscriptions"],
1767
+ listWatchersForRepo: ["GET /repos/{owner}/{repo}/subscribers"],
1768
+ markNotificationsAsRead: ["PUT /notifications"],
1769
+ markRepoNotificationsAsRead: ["PUT /repos/{owner}/{repo}/notifications"],
1770
+ markThreadAsDone: ["DELETE /notifications/threads/{thread_id}"],
1771
+ markThreadAsRead: ["PATCH /notifications/threads/{thread_id}"],
1772
+ setRepoSubscription: ["PUT /repos/{owner}/{repo}/subscription"],
1773
+ setThreadSubscription: [
1774
+ "PUT /notifications/threads/{thread_id}/subscription"
1775
+ ],
1776
+ starRepoForAuthenticatedUser: ["PUT /user/starred/{owner}/{repo}"],
1777
+ unstarRepoForAuthenticatedUser: ["DELETE /user/starred/{owner}/{repo}"]
1778
+ },
1779
+ apps: {
1780
+ addRepoToInstallation: [
1781
+ "PUT /user/installations/{installation_id}/repositories/{repository_id}",
1782
+ {},
1783
+ { renamed: ["apps", "addRepoToInstallationForAuthenticatedUser"] }
1784
+ ],
1785
+ addRepoToInstallationForAuthenticatedUser: [
1786
+ "PUT /user/installations/{installation_id}/repositories/{repository_id}"
1787
+ ],
1788
+ checkToken: ["POST /applications/{client_id}/token"],
1789
+ createFromManifest: ["POST /app-manifests/{code}/conversions"],
1790
+ createInstallationAccessToken: [
1791
+ "POST /app/installations/{installation_id}/access_tokens"
1792
+ ],
1793
+ deleteAuthorization: ["DELETE /applications/{client_id}/grant"],
1794
+ deleteInstallation: ["DELETE /app/installations/{installation_id}"],
1795
+ deleteToken: ["DELETE /applications/{client_id}/token"],
1796
+ getAuthenticated: ["GET /app"],
1797
+ getBySlug: ["GET /apps/{app_slug}"],
1798
+ getInstallation: ["GET /app/installations/{installation_id}"],
1799
+ getOrgInstallation: ["GET /orgs/{org}/installation"],
1800
+ getRepoInstallation: ["GET /repos/{owner}/{repo}/installation"],
1801
+ getSubscriptionPlanForAccount: [
1802
+ "GET /marketplace_listing/accounts/{account_id}"
1803
+ ],
1804
+ getSubscriptionPlanForAccountStubbed: [
1805
+ "GET /marketplace_listing/stubbed/accounts/{account_id}"
1806
+ ],
1807
+ getUserInstallation: ["GET /users/{username}/installation"],
1808
+ getWebhookConfigForApp: ["GET /app/hook/config"],
1809
+ getWebhookDelivery: ["GET /app/hook/deliveries/{delivery_id}"],
1810
+ listAccountsForPlan: ["GET /marketplace_listing/plans/{plan_id}/accounts"],
1811
+ listAccountsForPlanStubbed: [
1812
+ "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"
1813
+ ],
1814
+ listInstallationReposForAuthenticatedUser: [
1815
+ "GET /user/installations/{installation_id}/repositories"
1816
+ ],
1817
+ listInstallationRequestsForAuthenticatedApp: [
1818
+ "GET /app/installation-requests"
1819
+ ],
1820
+ listInstallations: ["GET /app/installations"],
1821
+ listInstallationsForAuthenticatedUser: ["GET /user/installations"],
1822
+ listPlans: ["GET /marketplace_listing/plans"],
1823
+ listPlansStubbed: ["GET /marketplace_listing/stubbed/plans"],
1824
+ listReposAccessibleToInstallation: ["GET /installation/repositories"],
1825
+ listSubscriptionsForAuthenticatedUser: ["GET /user/marketplace_purchases"],
1826
+ listSubscriptionsForAuthenticatedUserStubbed: [
1827
+ "GET /user/marketplace_purchases/stubbed"
1828
+ ],
1829
+ listWebhookDeliveries: ["GET /app/hook/deliveries"],
1830
+ redeliverWebhookDelivery: [
1831
+ "POST /app/hook/deliveries/{delivery_id}/attempts"
1832
+ ],
1833
+ removeRepoFromInstallation: [
1834
+ "DELETE /user/installations/{installation_id}/repositories/{repository_id}",
1835
+ {},
1836
+ { renamed: ["apps", "removeRepoFromInstallationForAuthenticatedUser"] }
1837
+ ],
1838
+ removeRepoFromInstallationForAuthenticatedUser: [
1839
+ "DELETE /user/installations/{installation_id}/repositories/{repository_id}"
1840
+ ],
1841
+ resetToken: ["PATCH /applications/{client_id}/token"],
1842
+ revokeInstallationAccessToken: ["DELETE /installation/token"],
1843
+ scopeToken: ["POST /applications/{client_id}/token/scoped"],
1844
+ suspendInstallation: ["PUT /app/installations/{installation_id}/suspended"],
1845
+ unsuspendInstallation: [
1846
+ "DELETE /app/installations/{installation_id}/suspended"
1847
+ ],
1848
+ updateWebhookConfigForApp: ["PATCH /app/hook/config"]
1849
+ },
1850
+ billing: {
1851
+ getGithubActionsBillingOrg: ["GET /orgs/{org}/settings/billing/actions"],
1852
+ getGithubActionsBillingUser: [
1853
+ "GET /users/{username}/settings/billing/actions"
1854
+ ],
1855
+ getGithubBillingPremiumRequestUsageReportOrg: [
1856
+ "GET /organizations/{org}/settings/billing/premium_request/usage"
1857
+ ],
1858
+ getGithubBillingPremiumRequestUsageReportUser: [
1859
+ "GET /users/{username}/settings/billing/premium_request/usage"
1860
+ ],
1861
+ getGithubBillingUsageReportOrg: [
1862
+ "GET /organizations/{org}/settings/billing/usage"
1863
+ ],
1864
+ getGithubBillingUsageReportUser: [
1865
+ "GET /users/{username}/settings/billing/usage"
1866
+ ],
1867
+ getGithubPackagesBillingOrg: ["GET /orgs/{org}/settings/billing/packages"],
1868
+ getGithubPackagesBillingUser: [
1869
+ "GET /users/{username}/settings/billing/packages"
1870
+ ],
1871
+ getSharedStorageBillingOrg: [
1872
+ "GET /orgs/{org}/settings/billing/shared-storage"
1873
+ ],
1874
+ getSharedStorageBillingUser: [
1875
+ "GET /users/{username}/settings/billing/shared-storage"
1876
+ ]
1877
+ },
1878
+ campaigns: {
1879
+ createCampaign: ["POST /orgs/{org}/campaigns"],
1880
+ deleteCampaign: ["DELETE /orgs/{org}/campaigns/{campaign_number}"],
1881
+ getCampaignSummary: ["GET /orgs/{org}/campaigns/{campaign_number}"],
1882
+ listOrgCampaigns: ["GET /orgs/{org}/campaigns"],
1883
+ updateCampaign: ["PATCH /orgs/{org}/campaigns/{campaign_number}"]
1884
+ },
1885
+ checks: {
1886
+ create: ["POST /repos/{owner}/{repo}/check-runs"],
1887
+ createSuite: ["POST /repos/{owner}/{repo}/check-suites"],
1888
+ get: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"],
1889
+ getSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"],
1890
+ listAnnotations: [
1891
+ "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"
1892
+ ],
1893
+ listForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"],
1894
+ listForSuite: [
1895
+ "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"
1896
+ ],
1897
+ listSuitesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"],
1898
+ rerequestRun: [
1899
+ "POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest"
1900
+ ],
1901
+ rerequestSuite: [
1902
+ "POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest"
1903
+ ],
1904
+ setSuitesPreferences: [
1905
+ "PATCH /repos/{owner}/{repo}/check-suites/preferences"
1906
+ ],
1907
+ update: ["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"]
1908
+ },
1909
+ codeScanning: {
1910
+ commitAutofix: [
1911
+ "POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix/commits"
1912
+ ],
1913
+ createAutofix: [
1914
+ "POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix"
1915
+ ],
1916
+ createVariantAnalysis: [
1917
+ "POST /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses"
1918
+ ],
1919
+ deleteAnalysis: [
1920
+ "DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"
1921
+ ],
1922
+ deleteCodeqlDatabase: [
1923
+ "DELETE /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}"
1924
+ ],
1925
+ getAlert: [
1926
+ "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}",
1927
+ {},
1928
+ { renamedParameters: { alert_id: "alert_number" } }
1929
+ ],
1930
+ getAnalysis: [
1931
+ "GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"
1932
+ ],
1933
+ getAutofix: [
1934
+ "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix"
1935
+ ],
1936
+ getCodeqlDatabase: [
1937
+ "GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}"
1938
+ ],
1939
+ getDefaultSetup: ["GET /repos/{owner}/{repo}/code-scanning/default-setup"],
1940
+ getSarif: ["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"],
1941
+ getVariantAnalysis: [
1942
+ "GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}"
1943
+ ],
1944
+ getVariantAnalysisRepoTask: [
1945
+ "GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}/repos/{repo_owner}/{repo_name}"
1946
+ ],
1947
+ listAlertInstances: [
1948
+ "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"
1949
+ ],
1950
+ listAlertsForOrg: ["GET /orgs/{org}/code-scanning/alerts"],
1951
+ listAlertsForRepo: ["GET /repos/{owner}/{repo}/code-scanning/alerts"],
1952
+ listAlertsInstances: [
1953
+ "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances",
1954
+ {},
1955
+ { renamed: ["codeScanning", "listAlertInstances"] }
1956
+ ],
1957
+ listCodeqlDatabases: [
1958
+ "GET /repos/{owner}/{repo}/code-scanning/codeql/databases"
1959
+ ],
1960
+ listRecentAnalyses: ["GET /repos/{owner}/{repo}/code-scanning/analyses"],
1961
+ updateAlert: [
1962
+ "PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"
1963
+ ],
1964
+ updateDefaultSetup: [
1965
+ "PATCH /repos/{owner}/{repo}/code-scanning/default-setup"
1966
+ ],
1967
+ uploadSarif: ["POST /repos/{owner}/{repo}/code-scanning/sarifs"]
1968
+ },
1969
+ codeSecurity: {
1970
+ attachConfiguration: [
1971
+ "POST /orgs/{org}/code-security/configurations/{configuration_id}/attach"
1972
+ ],
1973
+ attachEnterpriseConfiguration: [
1974
+ "POST /enterprises/{enterprise}/code-security/configurations/{configuration_id}/attach"
1975
+ ],
1976
+ createConfiguration: ["POST /orgs/{org}/code-security/configurations"],
1977
+ createConfigurationForEnterprise: [
1978
+ "POST /enterprises/{enterprise}/code-security/configurations"
1979
+ ],
1980
+ deleteConfiguration: [
1981
+ "DELETE /orgs/{org}/code-security/configurations/{configuration_id}"
1982
+ ],
1983
+ deleteConfigurationForEnterprise: [
1984
+ "DELETE /enterprises/{enterprise}/code-security/configurations/{configuration_id}"
1985
+ ],
1986
+ detachConfiguration: [
1987
+ "DELETE /orgs/{org}/code-security/configurations/detach"
1988
+ ],
1989
+ getConfiguration: [
1990
+ "GET /orgs/{org}/code-security/configurations/{configuration_id}"
1991
+ ],
1992
+ getConfigurationForRepository: [
1993
+ "GET /repos/{owner}/{repo}/code-security-configuration"
1994
+ ],
1995
+ getConfigurationsForEnterprise: [
1996
+ "GET /enterprises/{enterprise}/code-security/configurations"
1997
+ ],
1998
+ getConfigurationsForOrg: ["GET /orgs/{org}/code-security/configurations"],
1999
+ getDefaultConfigurations: [
2000
+ "GET /orgs/{org}/code-security/configurations/defaults"
2001
+ ],
2002
+ getDefaultConfigurationsForEnterprise: [
2003
+ "GET /enterprises/{enterprise}/code-security/configurations/defaults"
2004
+ ],
2005
+ getRepositoriesForConfiguration: [
2006
+ "GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories"
2007
+ ],
2008
+ getRepositoriesForEnterpriseConfiguration: [
2009
+ "GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories"
2010
+ ],
2011
+ getSingleConfigurationForEnterprise: [
2012
+ "GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}"
2013
+ ],
2014
+ setConfigurationAsDefault: [
2015
+ "PUT /orgs/{org}/code-security/configurations/{configuration_id}/defaults"
2016
+ ],
2017
+ setConfigurationAsDefaultForEnterprise: [
2018
+ "PUT /enterprises/{enterprise}/code-security/configurations/{configuration_id}/defaults"
2019
+ ],
2020
+ updateConfiguration: [
2021
+ "PATCH /orgs/{org}/code-security/configurations/{configuration_id}"
2022
+ ],
2023
+ updateEnterpriseConfiguration: [
2024
+ "PATCH /enterprises/{enterprise}/code-security/configurations/{configuration_id}"
2025
+ ]
2026
+ },
2027
+ codesOfConduct: {
2028
+ getAllCodesOfConduct: ["GET /codes_of_conduct"],
2029
+ getConductCode: ["GET /codes_of_conduct/{key}"]
2030
+ },
2031
+ codespaces: {
2032
+ addRepositoryForSecretForAuthenticatedUser: [
2033
+ "PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"
2034
+ ],
2035
+ addSelectedRepoToOrgSecret: [
2036
+ "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"
2037
+ ],
2038
+ checkPermissionsForDevcontainer: [
2039
+ "GET /repos/{owner}/{repo}/codespaces/permissions_check"
2040
+ ],
2041
+ codespaceMachinesForAuthenticatedUser: [
2042
+ "GET /user/codespaces/{codespace_name}/machines"
2043
+ ],
2044
+ createForAuthenticatedUser: ["POST /user/codespaces"],
2045
+ createOrUpdateOrgSecret: [
2046
+ "PUT /orgs/{org}/codespaces/secrets/{secret_name}"
2047
+ ],
2048
+ createOrUpdateRepoSecret: [
2049
+ "PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"
2050
+ ],
2051
+ createOrUpdateSecretForAuthenticatedUser: [
2052
+ "PUT /user/codespaces/secrets/{secret_name}"
2053
+ ],
2054
+ createWithPrForAuthenticatedUser: [
2055
+ "POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces"
2056
+ ],
2057
+ createWithRepoForAuthenticatedUser: [
2058
+ "POST /repos/{owner}/{repo}/codespaces"
2059
+ ],
2060
+ deleteForAuthenticatedUser: ["DELETE /user/codespaces/{codespace_name}"],
2061
+ deleteFromOrganization: [
2062
+ "DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}"
2063
+ ],
2064
+ deleteOrgSecret: ["DELETE /orgs/{org}/codespaces/secrets/{secret_name}"],
2065
+ deleteRepoSecret: [
2066
+ "DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"
2067
+ ],
2068
+ deleteSecretForAuthenticatedUser: [
2069
+ "DELETE /user/codespaces/secrets/{secret_name}"
2070
+ ],
2071
+ exportForAuthenticatedUser: [
2072
+ "POST /user/codespaces/{codespace_name}/exports"
2073
+ ],
2074
+ getCodespacesForUserInOrg: [
2075
+ "GET /orgs/{org}/members/{username}/codespaces"
2076
+ ],
2077
+ getExportDetailsForAuthenticatedUser: [
2078
+ "GET /user/codespaces/{codespace_name}/exports/{export_id}"
2079
+ ],
2080
+ getForAuthenticatedUser: ["GET /user/codespaces/{codespace_name}"],
2081
+ getOrgPublicKey: ["GET /orgs/{org}/codespaces/secrets/public-key"],
2082
+ getOrgSecret: ["GET /orgs/{org}/codespaces/secrets/{secret_name}"],
2083
+ getPublicKeyForAuthenticatedUser: [
2084
+ "GET /user/codespaces/secrets/public-key"
2085
+ ],
2086
+ getRepoPublicKey: [
2087
+ "GET /repos/{owner}/{repo}/codespaces/secrets/public-key"
2088
+ ],
2089
+ getRepoSecret: [
2090
+ "GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"
2091
+ ],
2092
+ getSecretForAuthenticatedUser: [
2093
+ "GET /user/codespaces/secrets/{secret_name}"
2094
+ ],
2095
+ listDevcontainersInRepositoryForAuthenticatedUser: [
2096
+ "GET /repos/{owner}/{repo}/codespaces/devcontainers"
2097
+ ],
2098
+ listForAuthenticatedUser: ["GET /user/codespaces"],
2099
+ listInOrganization: [
2100
+ "GET /orgs/{org}/codespaces",
2101
+ {},
2102
+ { renamedParameters: { org_id: "org" } }
2103
+ ],
2104
+ listInRepositoryForAuthenticatedUser: [
2105
+ "GET /repos/{owner}/{repo}/codespaces"
2106
+ ],
2107
+ listOrgSecrets: ["GET /orgs/{org}/codespaces/secrets"],
2108
+ listRepoSecrets: ["GET /repos/{owner}/{repo}/codespaces/secrets"],
2109
+ listRepositoriesForSecretForAuthenticatedUser: [
2110
+ "GET /user/codespaces/secrets/{secret_name}/repositories"
2111
+ ],
2112
+ listSecretsForAuthenticatedUser: ["GET /user/codespaces/secrets"],
2113
+ listSelectedReposForOrgSecret: [
2114
+ "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories"
2115
+ ],
2116
+ preFlightWithRepoForAuthenticatedUser: [
2117
+ "GET /repos/{owner}/{repo}/codespaces/new"
2118
+ ],
2119
+ publishForAuthenticatedUser: [
2120
+ "POST /user/codespaces/{codespace_name}/publish"
2121
+ ],
2122
+ removeRepositoryForSecretForAuthenticatedUser: [
2123
+ "DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"
2124
+ ],
2125
+ removeSelectedRepoFromOrgSecret: [
2126
+ "DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"
2127
+ ],
2128
+ repoMachinesForAuthenticatedUser: [
2129
+ "GET /repos/{owner}/{repo}/codespaces/machines"
2130
+ ],
2131
+ setRepositoriesForSecretForAuthenticatedUser: [
2132
+ "PUT /user/codespaces/secrets/{secret_name}/repositories"
2133
+ ],
2134
+ setSelectedReposForOrgSecret: [
2135
+ "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories"
2136
+ ],
2137
+ startForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/start"],
2138
+ stopForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/stop"],
2139
+ stopInOrganization: [
2140
+ "POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop"
2141
+ ],
2142
+ updateForAuthenticatedUser: ["PATCH /user/codespaces/{codespace_name}"]
2143
+ },
2144
+ copilot: {
2145
+ addCopilotSeatsForTeams: [
2146
+ "POST /orgs/{org}/copilot/billing/selected_teams"
2147
+ ],
2148
+ addCopilotSeatsForUsers: [
2149
+ "POST /orgs/{org}/copilot/billing/selected_users"
2150
+ ],
2151
+ cancelCopilotSeatAssignmentForTeams: [
2152
+ "DELETE /orgs/{org}/copilot/billing/selected_teams"
2153
+ ],
2154
+ cancelCopilotSeatAssignmentForUsers: [
2155
+ "DELETE /orgs/{org}/copilot/billing/selected_users"
2156
+ ],
2157
+ copilotMetricsForOrganization: ["GET /orgs/{org}/copilot/metrics"],
2158
+ copilotMetricsForTeam: ["GET /orgs/{org}/team/{team_slug}/copilot/metrics"],
2159
+ getCopilotOrganizationDetails: ["GET /orgs/{org}/copilot/billing"],
2160
+ getCopilotSeatDetailsForUser: [
2161
+ "GET /orgs/{org}/members/{username}/copilot"
2162
+ ],
2163
+ listCopilotSeats: ["GET /orgs/{org}/copilot/billing/seats"]
2164
+ },
2165
+ credentials: { revoke: ["POST /credentials/revoke"] },
2166
+ dependabot: {
2167
+ addSelectedRepoToOrgSecret: [
2168
+ "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"
2169
+ ],
2170
+ createOrUpdateOrgSecret: [
2171
+ "PUT /orgs/{org}/dependabot/secrets/{secret_name}"
2172
+ ],
2173
+ createOrUpdateRepoSecret: [
2174
+ "PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"
2175
+ ],
2176
+ deleteOrgSecret: ["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"],
2177
+ deleteRepoSecret: [
2178
+ "DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"
2179
+ ],
2180
+ getAlert: ["GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"],
2181
+ getOrgPublicKey: ["GET /orgs/{org}/dependabot/secrets/public-key"],
2182
+ getOrgSecret: ["GET /orgs/{org}/dependabot/secrets/{secret_name}"],
2183
+ getRepoPublicKey: [
2184
+ "GET /repos/{owner}/{repo}/dependabot/secrets/public-key"
2185
+ ],
2186
+ getRepoSecret: [
2187
+ "GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"
2188
+ ],
2189
+ listAlertsForEnterprise: [
2190
+ "GET /enterprises/{enterprise}/dependabot/alerts"
2191
+ ],
2192
+ listAlertsForOrg: ["GET /orgs/{org}/dependabot/alerts"],
2193
+ listAlertsForRepo: ["GET /repos/{owner}/{repo}/dependabot/alerts"],
2194
+ listOrgSecrets: ["GET /orgs/{org}/dependabot/secrets"],
2195
+ listRepoSecrets: ["GET /repos/{owner}/{repo}/dependabot/secrets"],
2196
+ listSelectedReposForOrgSecret: [
2197
+ "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"
2198
+ ],
2199
+ removeSelectedRepoFromOrgSecret: [
2200
+ "DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"
2201
+ ],
2202
+ repositoryAccessForOrg: [
2203
+ "GET /organizations/{org}/dependabot/repository-access"
2204
+ ],
2205
+ setRepositoryAccessDefaultLevel: [
2206
+ "PUT /organizations/{org}/dependabot/repository-access/default-level"
2207
+ ],
2208
+ setSelectedReposForOrgSecret: [
2209
+ "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories"
2210
+ ],
2211
+ updateAlert: [
2212
+ "PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"
2213
+ ],
2214
+ updateRepositoryAccessForOrg: [
2215
+ "PATCH /organizations/{org}/dependabot/repository-access"
2216
+ ]
2217
+ },
2218
+ dependencyGraph: {
2219
+ createRepositorySnapshot: [
2220
+ "POST /repos/{owner}/{repo}/dependency-graph/snapshots"
2221
+ ],
2222
+ diffRange: [
2223
+ "GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}"
2224
+ ],
2225
+ exportSbom: ["GET /repos/{owner}/{repo}/dependency-graph/sbom"]
2226
+ },
2227
+ emojis: { get: ["GET /emojis"] },
2228
+ enterpriseTeamMemberships: {
2229
+ add: [
2230
+ "PUT /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}"
2231
+ ],
2232
+ bulkAdd: [
2233
+ "POST /enterprises/{enterprise}/teams/{enterprise-team}/memberships/add"
2234
+ ],
2235
+ bulkRemove: [
2236
+ "POST /enterprises/{enterprise}/teams/{enterprise-team}/memberships/remove"
2237
+ ],
2238
+ get: [
2239
+ "GET /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}"
2240
+ ],
2241
+ list: ["GET /enterprises/{enterprise}/teams/{enterprise-team}/memberships"],
2242
+ remove: [
2243
+ "DELETE /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}"
2244
+ ]
2245
+ },
2246
+ enterpriseTeamOrganizations: {
2247
+ add: [
2248
+ "PUT /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}"
2249
+ ],
2250
+ bulkAdd: [
2251
+ "POST /enterprises/{enterprise}/teams/{enterprise-team}/organizations/add"
2252
+ ],
2253
+ bulkRemove: [
2254
+ "POST /enterprises/{enterprise}/teams/{enterprise-team}/organizations/remove"
2255
+ ],
2256
+ delete: [
2257
+ "DELETE /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}"
2258
+ ],
2259
+ getAssignment: [
2260
+ "GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}"
2261
+ ],
2262
+ getAssignments: [
2263
+ "GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations"
2264
+ ]
2265
+ },
2266
+ enterpriseTeams: {
2267
+ create: ["POST /enterprises/{enterprise}/teams"],
2268
+ delete: ["DELETE /enterprises/{enterprise}/teams/{team_slug}"],
2269
+ get: ["GET /enterprises/{enterprise}/teams/{team_slug}"],
2270
+ list: ["GET /enterprises/{enterprise}/teams"],
2271
+ update: ["PATCH /enterprises/{enterprise}/teams/{team_slug}"]
2272
+ },
2273
+ gists: {
2274
+ checkIsStarred: ["GET /gists/{gist_id}/star"],
2275
+ create: ["POST /gists"],
2276
+ createComment: ["POST /gists/{gist_id}/comments"],
2277
+ delete: ["DELETE /gists/{gist_id}"],
2278
+ deleteComment: ["DELETE /gists/{gist_id}/comments/{comment_id}"],
2279
+ fork: ["POST /gists/{gist_id}/forks"],
2280
+ get: ["GET /gists/{gist_id}"],
2281
+ getComment: ["GET /gists/{gist_id}/comments/{comment_id}"],
2282
+ getRevision: ["GET /gists/{gist_id}/{sha}"],
2283
+ list: ["GET /gists"],
2284
+ listComments: ["GET /gists/{gist_id}/comments"],
2285
+ listCommits: ["GET /gists/{gist_id}/commits"],
2286
+ listForUser: ["GET /users/{username}/gists"],
2287
+ listForks: ["GET /gists/{gist_id}/forks"],
2288
+ listPublic: ["GET /gists/public"],
2289
+ listStarred: ["GET /gists/starred"],
2290
+ star: ["PUT /gists/{gist_id}/star"],
2291
+ unstar: ["DELETE /gists/{gist_id}/star"],
2292
+ update: ["PATCH /gists/{gist_id}"],
2293
+ updateComment: ["PATCH /gists/{gist_id}/comments/{comment_id}"]
2294
+ },
2295
+ git: {
2296
+ createBlob: ["POST /repos/{owner}/{repo}/git/blobs"],
2297
+ createCommit: ["POST /repos/{owner}/{repo}/git/commits"],
2298
+ createRef: ["POST /repos/{owner}/{repo}/git/refs"],
2299
+ createTag: ["POST /repos/{owner}/{repo}/git/tags"],
2300
+ createTree: ["POST /repos/{owner}/{repo}/git/trees"],
2301
+ deleteRef: ["DELETE /repos/{owner}/{repo}/git/refs/{ref}"],
2302
+ getBlob: ["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"],
2303
+ getCommit: ["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"],
2304
+ getRef: ["GET /repos/{owner}/{repo}/git/ref/{ref}"],
2305
+ getTag: ["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"],
2306
+ getTree: ["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"],
2307
+ listMatchingRefs: ["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"],
2308
+ updateRef: ["PATCH /repos/{owner}/{repo}/git/refs/{ref}"]
2309
+ },
2310
+ gitignore: {
2311
+ getAllTemplates: ["GET /gitignore/templates"],
2312
+ getTemplate: ["GET /gitignore/templates/{name}"]
2313
+ },
2314
+ hostedCompute: {
2315
+ createNetworkConfigurationForOrg: [
2316
+ "POST /orgs/{org}/settings/network-configurations"
2317
+ ],
2318
+ deleteNetworkConfigurationFromOrg: [
2319
+ "DELETE /orgs/{org}/settings/network-configurations/{network_configuration_id}"
2320
+ ],
2321
+ getNetworkConfigurationForOrg: [
2322
+ "GET /orgs/{org}/settings/network-configurations/{network_configuration_id}"
2323
+ ],
2324
+ getNetworkSettingsForOrg: [
2325
+ "GET /orgs/{org}/settings/network-settings/{network_settings_id}"
2326
+ ],
2327
+ listNetworkConfigurationsForOrg: [
2328
+ "GET /orgs/{org}/settings/network-configurations"
2329
+ ],
2330
+ updateNetworkConfigurationForOrg: [
2331
+ "PATCH /orgs/{org}/settings/network-configurations/{network_configuration_id}"
2332
+ ]
2333
+ },
2334
+ interactions: {
2335
+ getRestrictionsForAuthenticatedUser: ["GET /user/interaction-limits"],
2336
+ getRestrictionsForOrg: ["GET /orgs/{org}/interaction-limits"],
2337
+ getRestrictionsForRepo: ["GET /repos/{owner}/{repo}/interaction-limits"],
2338
+ getRestrictionsForYourPublicRepos: [
2339
+ "GET /user/interaction-limits",
2340
+ {},
2341
+ { renamed: ["interactions", "getRestrictionsForAuthenticatedUser"] }
2342
+ ],
2343
+ removeRestrictionsForAuthenticatedUser: ["DELETE /user/interaction-limits"],
2344
+ removeRestrictionsForOrg: ["DELETE /orgs/{org}/interaction-limits"],
2345
+ removeRestrictionsForRepo: [
2346
+ "DELETE /repos/{owner}/{repo}/interaction-limits"
2347
+ ],
2348
+ removeRestrictionsForYourPublicRepos: [
2349
+ "DELETE /user/interaction-limits",
2350
+ {},
2351
+ { renamed: ["interactions", "removeRestrictionsForAuthenticatedUser"] }
2352
+ ],
2353
+ setRestrictionsForAuthenticatedUser: ["PUT /user/interaction-limits"],
2354
+ setRestrictionsForOrg: ["PUT /orgs/{org}/interaction-limits"],
2355
+ setRestrictionsForRepo: ["PUT /repos/{owner}/{repo}/interaction-limits"],
2356
+ setRestrictionsForYourPublicRepos: [
2357
+ "PUT /user/interaction-limits",
2358
+ {},
2359
+ { renamed: ["interactions", "setRestrictionsForAuthenticatedUser"] }
2360
+ ]
2361
+ },
2362
+ issues: {
2363
+ addAssignees: [
2364
+ "POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"
2365
+ ],
2366
+ addBlockedByDependency: [
2367
+ "POST /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by"
2368
+ ],
2369
+ addLabels: ["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"],
2370
+ addSubIssue: [
2371
+ "POST /repos/{owner}/{repo}/issues/{issue_number}/sub_issues"
2372
+ ],
2373
+ checkUserCanBeAssigned: ["GET /repos/{owner}/{repo}/assignees/{assignee}"],
2374
+ checkUserCanBeAssignedToIssue: [
2375
+ "GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}"
2376
+ ],
2377
+ create: ["POST /repos/{owner}/{repo}/issues"],
2378
+ createComment: [
2379
+ "POST /repos/{owner}/{repo}/issues/{issue_number}/comments"
2380
+ ],
2381
+ createLabel: ["POST /repos/{owner}/{repo}/labels"],
2382
+ createMilestone: ["POST /repos/{owner}/{repo}/milestones"],
2383
+ deleteComment: [
2384
+ "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"
2385
+ ],
2386
+ deleteLabel: ["DELETE /repos/{owner}/{repo}/labels/{name}"],
2387
+ deleteMilestone: [
2388
+ "DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"
2389
+ ],
2390
+ get: ["GET /repos/{owner}/{repo}/issues/{issue_number}"],
2391
+ getComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"],
2392
+ getEvent: ["GET /repos/{owner}/{repo}/issues/events/{event_id}"],
2393
+ getLabel: ["GET /repos/{owner}/{repo}/labels/{name}"],
2394
+ getMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}"],
2395
+ getParent: ["GET /repos/{owner}/{repo}/issues/{issue_number}/parent"],
2396
+ list: ["GET /issues"],
2397
+ listAssignees: ["GET /repos/{owner}/{repo}/assignees"],
2398
+ listComments: ["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"],
2399
+ listCommentsForRepo: ["GET /repos/{owner}/{repo}/issues/comments"],
2400
+ listDependenciesBlockedBy: [
2401
+ "GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by"
2402
+ ],
2403
+ listDependenciesBlocking: [
2404
+ "GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocking"
2405
+ ],
2406
+ listEvents: ["GET /repos/{owner}/{repo}/issues/{issue_number}/events"],
2407
+ listEventsForRepo: ["GET /repos/{owner}/{repo}/issues/events"],
2408
+ listEventsForTimeline: [
2409
+ "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"
2410
+ ],
2411
+ listForAuthenticatedUser: ["GET /user/issues"],
2412
+ listForOrg: ["GET /orgs/{org}/issues"],
2413
+ listForRepo: ["GET /repos/{owner}/{repo}/issues"],
2414
+ listLabelsForMilestone: [
2415
+ "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"
2416
+ ],
2417
+ listLabelsForRepo: ["GET /repos/{owner}/{repo}/labels"],
2418
+ listLabelsOnIssue: [
2419
+ "GET /repos/{owner}/{repo}/issues/{issue_number}/labels"
2420
+ ],
2421
+ listMilestones: ["GET /repos/{owner}/{repo}/milestones"],
2422
+ listSubIssues: [
2423
+ "GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues"
2424
+ ],
2425
+ lock: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"],
2426
+ removeAllLabels: [
2427
+ "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"
2428
+ ],
2429
+ removeAssignees: [
2430
+ "DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"
2431
+ ],
2432
+ removeDependencyBlockedBy: [
2433
+ "DELETE /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by/{issue_id}"
2434
+ ],
2435
+ removeLabel: [
2436
+ "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"
2437
+ ],
2438
+ removeSubIssue: [
2439
+ "DELETE /repos/{owner}/{repo}/issues/{issue_number}/sub_issue"
2440
+ ],
2441
+ reprioritizeSubIssue: [
2442
+ "PATCH /repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority"
2443
+ ],
2444
+ setLabels: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"],
2445
+ unlock: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"],
2446
+ update: ["PATCH /repos/{owner}/{repo}/issues/{issue_number}"],
2447
+ updateComment: ["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"],
2448
+ updateLabel: ["PATCH /repos/{owner}/{repo}/labels/{name}"],
2449
+ updateMilestone: [
2450
+ "PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"
2451
+ ]
2452
+ },
2453
+ licenses: {
2454
+ get: ["GET /licenses/{license}"],
2455
+ getAllCommonlyUsed: ["GET /licenses"],
2456
+ getForRepo: ["GET /repos/{owner}/{repo}/license"]
2457
+ },
2458
+ markdown: {
2459
+ render: ["POST /markdown"],
2460
+ renderRaw: [
2461
+ "POST /markdown/raw",
2462
+ { headers: { "content-type": "text/plain; charset=utf-8" } }
2463
+ ]
2464
+ },
2465
+ meta: {
2466
+ get: ["GET /meta"],
2467
+ getAllVersions: ["GET /versions"],
2468
+ getOctocat: ["GET /octocat"],
2469
+ getZen: ["GET /zen"],
2470
+ root: ["GET /"]
2471
+ },
2472
+ migrations: {
2473
+ deleteArchiveForAuthenticatedUser: [
2474
+ "DELETE /user/migrations/{migration_id}/archive"
2475
+ ],
2476
+ deleteArchiveForOrg: [
2477
+ "DELETE /orgs/{org}/migrations/{migration_id}/archive"
2478
+ ],
2479
+ downloadArchiveForOrg: [
2480
+ "GET /orgs/{org}/migrations/{migration_id}/archive"
2481
+ ],
2482
+ getArchiveForAuthenticatedUser: [
2483
+ "GET /user/migrations/{migration_id}/archive"
2484
+ ],
2485
+ getStatusForAuthenticatedUser: ["GET /user/migrations/{migration_id}"],
2486
+ getStatusForOrg: ["GET /orgs/{org}/migrations/{migration_id}"],
2487
+ listForAuthenticatedUser: ["GET /user/migrations"],
2488
+ listForOrg: ["GET /orgs/{org}/migrations"],
2489
+ listReposForAuthenticatedUser: [
2490
+ "GET /user/migrations/{migration_id}/repositories"
2491
+ ],
2492
+ listReposForOrg: ["GET /orgs/{org}/migrations/{migration_id}/repositories"],
2493
+ listReposForUser: [
2494
+ "GET /user/migrations/{migration_id}/repositories",
2495
+ {},
2496
+ { renamed: ["migrations", "listReposForAuthenticatedUser"] }
2497
+ ],
2498
+ startForAuthenticatedUser: ["POST /user/migrations"],
2499
+ startForOrg: ["POST /orgs/{org}/migrations"],
2500
+ unlockRepoForAuthenticatedUser: [
2501
+ "DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock"
2502
+ ],
2503
+ unlockRepoForOrg: [
2504
+ "DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock"
2505
+ ]
2506
+ },
2507
+ oidc: {
2508
+ getOidcCustomSubTemplateForOrg: [
2509
+ "GET /orgs/{org}/actions/oidc/customization/sub"
2510
+ ],
2511
+ updateOidcCustomSubTemplateForOrg: [
2512
+ "PUT /orgs/{org}/actions/oidc/customization/sub"
2513
+ ]
2514
+ },
2515
+ orgs: {
2516
+ addSecurityManagerTeam: [
2517
+ "PUT /orgs/{org}/security-managers/teams/{team_slug}",
2518
+ {},
2519
+ {
2520
+ deprecated: "octokit.rest.orgs.addSecurityManagerTeam() is deprecated, see https://docs.github.com/rest/orgs/security-managers#add-a-security-manager-team"
2521
+ }
2522
+ ],
2523
+ assignTeamToOrgRole: [
2524
+ "PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"
2525
+ ],
2526
+ assignUserToOrgRole: [
2527
+ "PUT /orgs/{org}/organization-roles/users/{username}/{role_id}"
2528
+ ],
2529
+ blockUser: ["PUT /orgs/{org}/blocks/{username}"],
2530
+ cancelInvitation: ["DELETE /orgs/{org}/invitations/{invitation_id}"],
2531
+ checkBlockedUser: ["GET /orgs/{org}/blocks/{username}"],
2532
+ checkMembershipForUser: ["GET /orgs/{org}/members/{username}"],
2533
+ checkPublicMembershipForUser: ["GET /orgs/{org}/public_members/{username}"],
2534
+ convertMemberToOutsideCollaborator: [
2535
+ "PUT /orgs/{org}/outside_collaborators/{username}"
2536
+ ],
2537
+ createArtifactStorageRecord: [
2538
+ "POST /orgs/{org}/artifacts/metadata/storage-record"
2539
+ ],
2540
+ createInvitation: ["POST /orgs/{org}/invitations"],
2541
+ createIssueType: ["POST /orgs/{org}/issue-types"],
2542
+ createWebhook: ["POST /orgs/{org}/hooks"],
2543
+ customPropertiesForOrgsCreateOrUpdateOrganizationValues: [
2544
+ "PATCH /organizations/{org}/org-properties/values"
2545
+ ],
2546
+ customPropertiesForOrgsGetOrganizationValues: [
2547
+ "GET /organizations/{org}/org-properties/values"
2548
+ ],
2549
+ customPropertiesForReposCreateOrUpdateOrganizationDefinition: [
2550
+ "PUT /orgs/{org}/properties/schema/{custom_property_name}"
2551
+ ],
2552
+ customPropertiesForReposCreateOrUpdateOrganizationDefinitions: [
2553
+ "PATCH /orgs/{org}/properties/schema"
2554
+ ],
2555
+ customPropertiesForReposCreateOrUpdateOrganizationValues: [
2556
+ "PATCH /orgs/{org}/properties/values"
2557
+ ],
2558
+ customPropertiesForReposDeleteOrganizationDefinition: [
2559
+ "DELETE /orgs/{org}/properties/schema/{custom_property_name}"
2560
+ ],
2561
+ customPropertiesForReposGetOrganizationDefinition: [
2562
+ "GET /orgs/{org}/properties/schema/{custom_property_name}"
2563
+ ],
2564
+ customPropertiesForReposGetOrganizationDefinitions: [
2565
+ "GET /orgs/{org}/properties/schema"
2566
+ ],
2567
+ customPropertiesForReposGetOrganizationValues: [
2568
+ "GET /orgs/{org}/properties/values"
2569
+ ],
2570
+ delete: ["DELETE /orgs/{org}"],
2571
+ deleteAttestationsBulk: ["POST /orgs/{org}/attestations/delete-request"],
2572
+ deleteAttestationsById: [
2573
+ "DELETE /orgs/{org}/attestations/{attestation_id}"
2574
+ ],
2575
+ deleteAttestationsBySubjectDigest: [
2576
+ "DELETE /orgs/{org}/attestations/digest/{subject_digest}"
2577
+ ],
2578
+ deleteIssueType: ["DELETE /orgs/{org}/issue-types/{issue_type_id}"],
2579
+ deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"],
2580
+ disableSelectedRepositoryImmutableReleasesOrganization: [
2581
+ "DELETE /orgs/{org}/settings/immutable-releases/repositories/{repository_id}"
2582
+ ],
2583
+ enableSelectedRepositoryImmutableReleasesOrganization: [
2584
+ "PUT /orgs/{org}/settings/immutable-releases/repositories/{repository_id}"
2585
+ ],
2586
+ get: ["GET /orgs/{org}"],
2587
+ getImmutableReleasesSettings: [
2588
+ "GET /orgs/{org}/settings/immutable-releases"
2589
+ ],
2590
+ getImmutableReleasesSettingsRepositories: [
2591
+ "GET /orgs/{org}/settings/immutable-releases/repositories"
2592
+ ],
2593
+ getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"],
2594
+ getMembershipForUser: ["GET /orgs/{org}/memberships/{username}"],
2595
+ getOrgRole: ["GET /orgs/{org}/organization-roles/{role_id}"],
2596
+ getOrgRulesetHistory: ["GET /orgs/{org}/rulesets/{ruleset_id}/history"],
2597
+ getOrgRulesetVersion: [
2598
+ "GET /orgs/{org}/rulesets/{ruleset_id}/history/{version_id}"
2599
+ ],
2600
+ getWebhook: ["GET /orgs/{org}/hooks/{hook_id}"],
2601
+ getWebhookConfigForOrg: ["GET /orgs/{org}/hooks/{hook_id}/config"],
2602
+ getWebhookDelivery: [
2603
+ "GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}"
2604
+ ],
2605
+ list: ["GET /organizations"],
2606
+ listAppInstallations: ["GET /orgs/{org}/installations"],
2607
+ listArtifactStorageRecords: [
2608
+ "GET /orgs/{org}/artifacts/{subject_digest}/metadata/storage-records"
2609
+ ],
2610
+ listAttestationRepositories: ["GET /orgs/{org}/attestations/repositories"],
2611
+ listAttestations: ["GET /orgs/{org}/attestations/{subject_digest}"],
2612
+ listAttestationsBulk: [
2613
+ "POST /orgs/{org}/attestations/bulk-list{?per_page,before,after}"
2614
+ ],
2615
+ listBlockedUsers: ["GET /orgs/{org}/blocks"],
2616
+ listFailedInvitations: ["GET /orgs/{org}/failed_invitations"],
2617
+ listForAuthenticatedUser: ["GET /user/orgs"],
2618
+ listForUser: ["GET /users/{username}/orgs"],
2619
+ listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"],
2620
+ listIssueTypes: ["GET /orgs/{org}/issue-types"],
2621
+ listMembers: ["GET /orgs/{org}/members"],
2622
+ listMembershipsForAuthenticatedUser: ["GET /user/memberships/orgs"],
2623
+ listOrgRoleTeams: ["GET /orgs/{org}/organization-roles/{role_id}/teams"],
2624
+ listOrgRoleUsers: ["GET /orgs/{org}/organization-roles/{role_id}/users"],
2625
+ listOrgRoles: ["GET /orgs/{org}/organization-roles"],
2626
+ listOrganizationFineGrainedPermissions: [
2627
+ "GET /orgs/{org}/organization-fine-grained-permissions"
2628
+ ],
2629
+ listOutsideCollaborators: ["GET /orgs/{org}/outside_collaborators"],
2630
+ listPatGrantRepositories: [
2631
+ "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories"
2632
+ ],
2633
+ listPatGrantRequestRepositories: [
2634
+ "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories"
2635
+ ],
2636
+ listPatGrantRequests: ["GET /orgs/{org}/personal-access-token-requests"],
2637
+ listPatGrants: ["GET /orgs/{org}/personal-access-tokens"],
2638
+ listPendingInvitations: ["GET /orgs/{org}/invitations"],
2639
+ listPublicMembers: ["GET /orgs/{org}/public_members"],
2640
+ listSecurityManagerTeams: [
2641
+ "GET /orgs/{org}/security-managers",
2642
+ {},
2643
+ {
2644
+ deprecated: "octokit.rest.orgs.listSecurityManagerTeams() is deprecated, see https://docs.github.com/rest/orgs/security-managers#list-security-manager-teams"
2645
+ }
2646
+ ],
2647
+ listWebhookDeliveries: ["GET /orgs/{org}/hooks/{hook_id}/deliveries"],
2648
+ listWebhooks: ["GET /orgs/{org}/hooks"],
2649
+ pingWebhook: ["POST /orgs/{org}/hooks/{hook_id}/pings"],
2650
+ redeliverWebhookDelivery: [
2651
+ "POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"
2652
+ ],
2653
+ removeMember: ["DELETE /orgs/{org}/members/{username}"],
2654
+ removeMembershipForUser: ["DELETE /orgs/{org}/memberships/{username}"],
2655
+ removeOutsideCollaborator: [
2656
+ "DELETE /orgs/{org}/outside_collaborators/{username}"
2657
+ ],
2658
+ removePublicMembershipForAuthenticatedUser: [
2659
+ "DELETE /orgs/{org}/public_members/{username}"
2660
+ ],
2661
+ removeSecurityManagerTeam: [
2662
+ "DELETE /orgs/{org}/security-managers/teams/{team_slug}",
2663
+ {},
2664
+ {
2665
+ deprecated: "octokit.rest.orgs.removeSecurityManagerTeam() is deprecated, see https://docs.github.com/rest/orgs/security-managers#remove-a-security-manager-team"
2666
+ }
2667
+ ],
2668
+ reviewPatGrantRequest: [
2669
+ "POST /orgs/{org}/personal-access-token-requests/{pat_request_id}"
2670
+ ],
2671
+ reviewPatGrantRequestsInBulk: [
2672
+ "POST /orgs/{org}/personal-access-token-requests"
2673
+ ],
2674
+ revokeAllOrgRolesTeam: [
2675
+ "DELETE /orgs/{org}/organization-roles/teams/{team_slug}"
2676
+ ],
2677
+ revokeAllOrgRolesUser: [
2678
+ "DELETE /orgs/{org}/organization-roles/users/{username}"
2679
+ ],
2680
+ revokeOrgRoleTeam: [
2681
+ "DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"
2682
+ ],
2683
+ revokeOrgRoleUser: [
2684
+ "DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}"
2685
+ ],
2686
+ setImmutableReleasesSettings: [
2687
+ "PUT /orgs/{org}/settings/immutable-releases"
2688
+ ],
2689
+ setImmutableReleasesSettingsRepositories: [
2690
+ "PUT /orgs/{org}/settings/immutable-releases/repositories"
2691
+ ],
2692
+ setMembershipForUser: ["PUT /orgs/{org}/memberships/{username}"],
2693
+ setPublicMembershipForAuthenticatedUser: [
2694
+ "PUT /orgs/{org}/public_members/{username}"
2695
+ ],
2696
+ unblockUser: ["DELETE /orgs/{org}/blocks/{username}"],
2697
+ update: ["PATCH /orgs/{org}"],
2698
+ updateIssueType: ["PUT /orgs/{org}/issue-types/{issue_type_id}"],
2699
+ updateMembershipForAuthenticatedUser: [
2700
+ "PATCH /user/memberships/orgs/{org}"
2701
+ ],
2702
+ updatePatAccess: ["POST /orgs/{org}/personal-access-tokens/{pat_id}"],
2703
+ updatePatAccesses: ["POST /orgs/{org}/personal-access-tokens"],
2704
+ updateWebhook: ["PATCH /orgs/{org}/hooks/{hook_id}"],
2705
+ updateWebhookConfigForOrg: ["PATCH /orgs/{org}/hooks/{hook_id}/config"]
2706
+ },
2707
+ packages: {
2708
+ deletePackageForAuthenticatedUser: [
2709
+ "DELETE /user/packages/{package_type}/{package_name}"
2710
+ ],
2711
+ deletePackageForOrg: [
2712
+ "DELETE /orgs/{org}/packages/{package_type}/{package_name}"
2713
+ ],
2714
+ deletePackageForUser: [
2715
+ "DELETE /users/{username}/packages/{package_type}/{package_name}"
2716
+ ],
2717
+ deletePackageVersionForAuthenticatedUser: [
2718
+ "DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"
2719
+ ],
2720
+ deletePackageVersionForOrg: [
2721
+ "DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"
2722
+ ],
2723
+ deletePackageVersionForUser: [
2724
+ "DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"
2725
+ ],
2726
+ getAllPackageVersionsForAPackageOwnedByAnOrg: [
2727
+ "GET /orgs/{org}/packages/{package_type}/{package_name}/versions",
2728
+ {},
2729
+ { renamed: ["packages", "getAllPackageVersionsForPackageOwnedByOrg"] }
2730
+ ],
2731
+ getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [
2732
+ "GET /user/packages/{package_type}/{package_name}/versions",
2733
+ {},
2734
+ {
2735
+ renamed: [
2736
+ "packages",
2737
+ "getAllPackageVersionsForPackageOwnedByAuthenticatedUser"
2738
+ ]
2739
+ }
2740
+ ],
2741
+ getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [
2742
+ "GET /user/packages/{package_type}/{package_name}/versions"
2743
+ ],
2744
+ getAllPackageVersionsForPackageOwnedByOrg: [
2745
+ "GET /orgs/{org}/packages/{package_type}/{package_name}/versions"
2746
+ ],
2747
+ getAllPackageVersionsForPackageOwnedByUser: [
2748
+ "GET /users/{username}/packages/{package_type}/{package_name}/versions"
2749
+ ],
2750
+ getPackageForAuthenticatedUser: [
2751
+ "GET /user/packages/{package_type}/{package_name}"
2752
+ ],
2753
+ getPackageForOrganization: [
2754
+ "GET /orgs/{org}/packages/{package_type}/{package_name}"
2755
+ ],
2756
+ getPackageForUser: [
2757
+ "GET /users/{username}/packages/{package_type}/{package_name}"
2758
+ ],
2759
+ getPackageVersionForAuthenticatedUser: [
2760
+ "GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"
2761
+ ],
2762
+ getPackageVersionForOrganization: [
2763
+ "GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"
2764
+ ],
2765
+ getPackageVersionForUser: [
2766
+ "GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"
2767
+ ],
2768
+ listDockerMigrationConflictingPackagesForAuthenticatedUser: [
2769
+ "GET /user/docker/conflicts"
2770
+ ],
2771
+ listDockerMigrationConflictingPackagesForOrganization: [
2772
+ "GET /orgs/{org}/docker/conflicts"
2773
+ ],
2774
+ listDockerMigrationConflictingPackagesForUser: [
2775
+ "GET /users/{username}/docker/conflicts"
2776
+ ],
2777
+ listPackagesForAuthenticatedUser: ["GET /user/packages"],
2778
+ listPackagesForOrganization: ["GET /orgs/{org}/packages"],
2779
+ listPackagesForUser: ["GET /users/{username}/packages"],
2780
+ restorePackageForAuthenticatedUser: [
2781
+ "POST /user/packages/{package_type}/{package_name}/restore{?token}"
2782
+ ],
2783
+ restorePackageForOrg: [
2784
+ "POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"
2785
+ ],
2786
+ restorePackageForUser: [
2787
+ "POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}"
2788
+ ],
2789
+ restorePackageVersionForAuthenticatedUser: [
2790
+ "POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"
2791
+ ],
2792
+ restorePackageVersionForOrg: [
2793
+ "POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"
2794
+ ],
2795
+ restorePackageVersionForUser: [
2796
+ "POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"
2797
+ ]
2798
+ },
2799
+ privateRegistries: {
2800
+ createOrgPrivateRegistry: ["POST /orgs/{org}/private-registries"],
2801
+ deleteOrgPrivateRegistry: [
2802
+ "DELETE /orgs/{org}/private-registries/{secret_name}"
2803
+ ],
2804
+ getOrgPrivateRegistry: ["GET /orgs/{org}/private-registries/{secret_name}"],
2805
+ getOrgPublicKey: ["GET /orgs/{org}/private-registries/public-key"],
2806
+ listOrgPrivateRegistries: ["GET /orgs/{org}/private-registries"],
2807
+ updateOrgPrivateRegistry: [
2808
+ "PATCH /orgs/{org}/private-registries/{secret_name}"
2809
+ ]
2810
+ },
2811
+ projects: {
2812
+ addItemForOrg: ["POST /orgs/{org}/projectsV2/{project_number}/items"],
2813
+ addItemForUser: [
2814
+ "POST /users/{username}/projectsV2/{project_number}/items"
2815
+ ],
2816
+ deleteItemForOrg: [
2817
+ "DELETE /orgs/{org}/projectsV2/{project_number}/items/{item_id}"
2818
+ ],
2819
+ deleteItemForUser: [
2820
+ "DELETE /users/{username}/projectsV2/{project_number}/items/{item_id}"
2821
+ ],
2822
+ getFieldForOrg: [
2823
+ "GET /orgs/{org}/projectsV2/{project_number}/fields/{field_id}"
2824
+ ],
2825
+ getFieldForUser: [
2826
+ "GET /users/{username}/projectsV2/{project_number}/fields/{field_id}"
2827
+ ],
2828
+ getForOrg: ["GET /orgs/{org}/projectsV2/{project_number}"],
2829
+ getForUser: ["GET /users/{username}/projectsV2/{project_number}"],
2830
+ getOrgItem: ["GET /orgs/{org}/projectsV2/{project_number}/items/{item_id}"],
2831
+ getUserItem: [
2832
+ "GET /users/{username}/projectsV2/{project_number}/items/{item_id}"
2833
+ ],
2834
+ listFieldsForOrg: ["GET /orgs/{org}/projectsV2/{project_number}/fields"],
2835
+ listFieldsForUser: [
2836
+ "GET /users/{username}/projectsV2/{project_number}/fields"
2837
+ ],
2838
+ listForOrg: ["GET /orgs/{org}/projectsV2"],
2839
+ listForUser: ["GET /users/{username}/projectsV2"],
2840
+ listItemsForOrg: ["GET /orgs/{org}/projectsV2/{project_number}/items"],
2841
+ listItemsForUser: [
2842
+ "GET /users/{username}/projectsV2/{project_number}/items"
2843
+ ],
2844
+ updateItemForOrg: [
2845
+ "PATCH /orgs/{org}/projectsV2/{project_number}/items/{item_id}"
2846
+ ],
2847
+ updateItemForUser: [
2848
+ "PATCH /users/{username}/projectsV2/{project_number}/items/{item_id}"
2849
+ ]
2850
+ },
2851
+ pulls: {
2852
+ checkIfMerged: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"],
2853
+ create: ["POST /repos/{owner}/{repo}/pulls"],
2854
+ createReplyForReviewComment: [
2855
+ "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"
2856
+ ],
2857
+ createReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],
2858
+ createReviewComment: [
2859
+ "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"
2860
+ ],
2861
+ deletePendingReview: [
2862
+ "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"
2863
+ ],
2864
+ deleteReviewComment: [
2865
+ "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"
2866
+ ],
2867
+ dismissReview: [
2868
+ "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"
2869
+ ],
2870
+ get: ["GET /repos/{owner}/{repo}/pulls/{pull_number}"],
2871
+ getReview: [
2872
+ "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"
2873
+ ],
2874
+ getReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"],
2875
+ list: ["GET /repos/{owner}/{repo}/pulls"],
2876
+ listCommentsForReview: [
2877
+ "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"
2878
+ ],
2879
+ listCommits: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"],
2880
+ listFiles: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"],
2881
+ listRequestedReviewers: [
2882
+ "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"
2883
+ ],
2884
+ listReviewComments: [
2885
+ "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"
2886
+ ],
2887
+ listReviewCommentsForRepo: ["GET /repos/{owner}/{repo}/pulls/comments"],
2888
+ listReviews: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],
2889
+ merge: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"],
2890
+ removeRequestedReviewers: [
2891
+ "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"
2892
+ ],
2893
+ requestReviewers: [
2894
+ "POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"
2895
+ ],
2896
+ submitReview: [
2897
+ "POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"
2898
+ ],
2899
+ update: ["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"],
2900
+ updateBranch: [
2901
+ "PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch"
2902
+ ],
2903
+ updateReview: [
2904
+ "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"
2905
+ ],
2906
+ updateReviewComment: [
2907
+ "PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"
2908
+ ]
2909
+ },
2910
+ rateLimit: { get: ["GET /rate_limit"] },
2911
+ reactions: {
2912
+ createForCommitComment: [
2913
+ "POST /repos/{owner}/{repo}/comments/{comment_id}/reactions"
2914
+ ],
2915
+ createForIssue: [
2916
+ "POST /repos/{owner}/{repo}/issues/{issue_number}/reactions"
2917
+ ],
2918
+ createForIssueComment: [
2919
+ "POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"
2920
+ ],
2921
+ createForPullRequestReviewComment: [
2922
+ "POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"
2923
+ ],
2924
+ createForRelease: [
2925
+ "POST /repos/{owner}/{repo}/releases/{release_id}/reactions"
2926
+ ],
2927
+ createForTeamDiscussionCommentInOrg: [
2928
+ "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"
2929
+ ],
2930
+ createForTeamDiscussionInOrg: [
2931
+ "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"
2932
+ ],
2933
+ deleteForCommitComment: [
2934
+ "DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}"
2935
+ ],
2936
+ deleteForIssue: [
2937
+ "DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}"
2938
+ ],
2939
+ deleteForIssueComment: [
2940
+ "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}"
2941
+ ],
2942
+ deleteForPullRequestComment: [
2943
+ "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}"
2944
+ ],
2945
+ deleteForRelease: [
2946
+ "DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}"
2947
+ ],
2948
+ deleteForTeamDiscussion: [
2949
+ "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}"
2950
+ ],
2951
+ deleteForTeamDiscussionComment: [
2952
+ "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}"
2953
+ ],
2954
+ listForCommitComment: [
2955
+ "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"
2956
+ ],
2957
+ listForIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"],
2958
+ listForIssueComment: [
2959
+ "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"
2960
+ ],
2961
+ listForPullRequestReviewComment: [
2962
+ "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"
2963
+ ],
2964
+ listForRelease: [
2965
+ "GET /repos/{owner}/{repo}/releases/{release_id}/reactions"
2966
+ ],
2967
+ listForTeamDiscussionCommentInOrg: [
2968
+ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"
2969
+ ],
2970
+ listForTeamDiscussionInOrg: [
2971
+ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"
2972
+ ]
2973
+ },
2974
+ repos: {
2975
+ acceptInvitation: [
2976
+ "PATCH /user/repository_invitations/{invitation_id}",
2977
+ {},
2978
+ { renamed: ["repos", "acceptInvitationForAuthenticatedUser"] }
2979
+ ],
2980
+ acceptInvitationForAuthenticatedUser: [
2981
+ "PATCH /user/repository_invitations/{invitation_id}"
2982
+ ],
2983
+ addAppAccessRestrictions: [
2984
+ "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",
2985
+ {},
2986
+ { mapToData: "apps" }
2987
+ ],
2988
+ addCollaborator: ["PUT /repos/{owner}/{repo}/collaborators/{username}"],
2989
+ addStatusCheckContexts: [
2990
+ "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",
2991
+ {},
2992
+ { mapToData: "contexts" }
2993
+ ],
2994
+ addTeamAccessRestrictions: [
2995
+ "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",
2996
+ {},
2997
+ { mapToData: "teams" }
2998
+ ],
2999
+ addUserAccessRestrictions: [
3000
+ "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",
3001
+ {},
3002
+ { mapToData: "users" }
3003
+ ],
3004
+ cancelPagesDeployment: [
3005
+ "POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel"
3006
+ ],
3007
+ checkAutomatedSecurityFixes: [
3008
+ "GET /repos/{owner}/{repo}/automated-security-fixes"
3009
+ ],
3010
+ checkCollaborator: ["GET /repos/{owner}/{repo}/collaborators/{username}"],
3011
+ checkImmutableReleases: ["GET /repos/{owner}/{repo}/immutable-releases"],
3012
+ checkPrivateVulnerabilityReporting: [
3013
+ "GET /repos/{owner}/{repo}/private-vulnerability-reporting"
3014
+ ],
3015
+ checkVulnerabilityAlerts: [
3016
+ "GET /repos/{owner}/{repo}/vulnerability-alerts"
3017
+ ],
3018
+ codeownersErrors: ["GET /repos/{owner}/{repo}/codeowners/errors"],
3019
+ compareCommits: ["GET /repos/{owner}/{repo}/compare/{base}...{head}"],
3020
+ compareCommitsWithBasehead: [
3021
+ "GET /repos/{owner}/{repo}/compare/{basehead}"
3022
+ ],
3023
+ createAttestation: ["POST /repos/{owner}/{repo}/attestations"],
3024
+ createAutolink: ["POST /repos/{owner}/{repo}/autolinks"],
3025
+ createCommitComment: [
3026
+ "POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"
3027
+ ],
3028
+ createCommitSignatureProtection: [
3029
+ "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"
3030
+ ],
3031
+ createCommitStatus: ["POST /repos/{owner}/{repo}/statuses/{sha}"],
3032
+ createDeployKey: ["POST /repos/{owner}/{repo}/keys"],
3033
+ createDeployment: ["POST /repos/{owner}/{repo}/deployments"],
3034
+ createDeploymentBranchPolicy: [
3035
+ "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"
3036
+ ],
3037
+ createDeploymentProtectionRule: [
3038
+ "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"
3039
+ ],
3040
+ createDeploymentStatus: [
3041
+ "POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"
3042
+ ],
3043
+ createDispatchEvent: ["POST /repos/{owner}/{repo}/dispatches"],
3044
+ createForAuthenticatedUser: ["POST /user/repos"],
3045
+ createFork: ["POST /repos/{owner}/{repo}/forks"],
3046
+ createInOrg: ["POST /orgs/{org}/repos"],
3047
+ createOrUpdateEnvironment: [
3048
+ "PUT /repos/{owner}/{repo}/environments/{environment_name}"
3049
+ ],
3050
+ createOrUpdateFileContents: ["PUT /repos/{owner}/{repo}/contents/{path}"],
3051
+ createOrgRuleset: ["POST /orgs/{org}/rulesets"],
3052
+ createPagesDeployment: ["POST /repos/{owner}/{repo}/pages/deployments"],
3053
+ createPagesSite: ["POST /repos/{owner}/{repo}/pages"],
3054
+ createRelease: ["POST /repos/{owner}/{repo}/releases"],
3055
+ createRepoRuleset: ["POST /repos/{owner}/{repo}/rulesets"],
3056
+ createUsingTemplate: [
3057
+ "POST /repos/{template_owner}/{template_repo}/generate"
3058
+ ],
3059
+ createWebhook: ["POST /repos/{owner}/{repo}/hooks"],
3060
+ customPropertiesForReposCreateOrUpdateRepositoryValues: [
3061
+ "PATCH /repos/{owner}/{repo}/properties/values"
3062
+ ],
3063
+ customPropertiesForReposGetRepositoryValues: [
3064
+ "GET /repos/{owner}/{repo}/properties/values"
3065
+ ],
3066
+ declineInvitation: [
3067
+ "DELETE /user/repository_invitations/{invitation_id}",
3068
+ {},
3069
+ { renamed: ["repos", "declineInvitationForAuthenticatedUser"] }
3070
+ ],
3071
+ declineInvitationForAuthenticatedUser: [
3072
+ "DELETE /user/repository_invitations/{invitation_id}"
3073
+ ],
3074
+ delete: ["DELETE /repos/{owner}/{repo}"],
3075
+ deleteAccessRestrictions: [
3076
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"
3077
+ ],
3078
+ deleteAdminBranchProtection: [
3079
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"
3080
+ ],
3081
+ deleteAnEnvironment: [
3082
+ "DELETE /repos/{owner}/{repo}/environments/{environment_name}"
3083
+ ],
3084
+ deleteAutolink: ["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"],
3085
+ deleteBranchProtection: [
3086
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection"
3087
+ ],
3088
+ deleteCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}"],
3089
+ deleteCommitSignatureProtection: [
3090
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"
3091
+ ],
3092
+ deleteDeployKey: ["DELETE /repos/{owner}/{repo}/keys/{key_id}"],
3093
+ deleteDeployment: [
3094
+ "DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"
3095
+ ],
3096
+ deleteDeploymentBranchPolicy: [
3097
+ "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"
3098
+ ],
3099
+ deleteFile: ["DELETE /repos/{owner}/{repo}/contents/{path}"],
3100
+ deleteInvitation: [
3101
+ "DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"
3102
+ ],
3103
+ deleteOrgRuleset: ["DELETE /orgs/{org}/rulesets/{ruleset_id}"],
3104
+ deletePagesSite: ["DELETE /repos/{owner}/{repo}/pages"],
3105
+ deletePullRequestReviewProtection: [
3106
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"
3107
+ ],
3108
+ deleteRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}"],
3109
+ deleteReleaseAsset: [
3110
+ "DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"
3111
+ ],
3112
+ deleteRepoRuleset: ["DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}"],
3113
+ deleteWebhook: ["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"],
3114
+ disableAutomatedSecurityFixes: [
3115
+ "DELETE /repos/{owner}/{repo}/automated-security-fixes"
3116
+ ],
3117
+ disableDeploymentProtectionRule: [
3118
+ "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"
3119
+ ],
3120
+ disableImmutableReleases: [
3121
+ "DELETE /repos/{owner}/{repo}/immutable-releases"
3122
+ ],
3123
+ disablePrivateVulnerabilityReporting: [
3124
+ "DELETE /repos/{owner}/{repo}/private-vulnerability-reporting"
3125
+ ],
3126
+ disableVulnerabilityAlerts: [
3127
+ "DELETE /repos/{owner}/{repo}/vulnerability-alerts"
3128
+ ],
3129
+ downloadArchive: [
3130
+ "GET /repos/{owner}/{repo}/zipball/{ref}",
3131
+ {},
3132
+ { renamed: ["repos", "downloadZipballArchive"] }
3133
+ ],
3134
+ downloadTarballArchive: ["GET /repos/{owner}/{repo}/tarball/{ref}"],
3135
+ downloadZipballArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}"],
3136
+ enableAutomatedSecurityFixes: [
3137
+ "PUT /repos/{owner}/{repo}/automated-security-fixes"
3138
+ ],
3139
+ enableImmutableReleases: ["PUT /repos/{owner}/{repo}/immutable-releases"],
3140
+ enablePrivateVulnerabilityReporting: [
3141
+ "PUT /repos/{owner}/{repo}/private-vulnerability-reporting"
3142
+ ],
3143
+ enableVulnerabilityAlerts: [
3144
+ "PUT /repos/{owner}/{repo}/vulnerability-alerts"
3145
+ ],
3146
+ generateReleaseNotes: [
3147
+ "POST /repos/{owner}/{repo}/releases/generate-notes"
3148
+ ],
3149
+ get: ["GET /repos/{owner}/{repo}"],
3150
+ getAccessRestrictions: [
3151
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"
3152
+ ],
3153
+ getAdminBranchProtection: [
3154
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"
3155
+ ],
3156
+ getAllDeploymentProtectionRules: [
3157
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"
3158
+ ],
3159
+ getAllEnvironments: ["GET /repos/{owner}/{repo}/environments"],
3160
+ getAllStatusCheckContexts: [
3161
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"
3162
+ ],
3163
+ getAllTopics: ["GET /repos/{owner}/{repo}/topics"],
3164
+ getAppsWithAccessToProtectedBranch: [
3165
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"
3166
+ ],
3167
+ getAutolink: ["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"],
3168
+ getBranch: ["GET /repos/{owner}/{repo}/branches/{branch}"],
3169
+ getBranchProtection: [
3170
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection"
3171
+ ],
3172
+ getBranchRules: ["GET /repos/{owner}/{repo}/rules/branches/{branch}"],
3173
+ getClones: ["GET /repos/{owner}/{repo}/traffic/clones"],
3174
+ getCodeFrequencyStats: ["GET /repos/{owner}/{repo}/stats/code_frequency"],
3175
+ getCollaboratorPermissionLevel: [
3176
+ "GET /repos/{owner}/{repo}/collaborators/{username}/permission"
3177
+ ],
3178
+ getCombinedStatusForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/status"],
3179
+ getCommit: ["GET /repos/{owner}/{repo}/commits/{ref}"],
3180
+ getCommitActivityStats: ["GET /repos/{owner}/{repo}/stats/commit_activity"],
3181
+ getCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}"],
3182
+ getCommitSignatureProtection: [
3183
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"
3184
+ ],
3185
+ getCommunityProfileMetrics: ["GET /repos/{owner}/{repo}/community/profile"],
3186
+ getContent: ["GET /repos/{owner}/{repo}/contents/{path}"],
3187
+ getContributorsStats: ["GET /repos/{owner}/{repo}/stats/contributors"],
3188
+ getCustomDeploymentProtectionRule: [
3189
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"
3190
+ ],
3191
+ getDeployKey: ["GET /repos/{owner}/{repo}/keys/{key_id}"],
3192
+ getDeployment: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}"],
3193
+ getDeploymentBranchPolicy: [
3194
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"
3195
+ ],
3196
+ getDeploymentStatus: [
3197
+ "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"
3198
+ ],
3199
+ getEnvironment: [
3200
+ "GET /repos/{owner}/{repo}/environments/{environment_name}"
3201
+ ],
3202
+ getLatestPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/latest"],
3203
+ getLatestRelease: ["GET /repos/{owner}/{repo}/releases/latest"],
3204
+ getOrgRuleSuite: ["GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}"],
3205
+ getOrgRuleSuites: ["GET /orgs/{org}/rulesets/rule-suites"],
3206
+ getOrgRuleset: ["GET /orgs/{org}/rulesets/{ruleset_id}"],
3207
+ getOrgRulesets: ["GET /orgs/{org}/rulesets"],
3208
+ getPages: ["GET /repos/{owner}/{repo}/pages"],
3209
+ getPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/{build_id}"],
3210
+ getPagesDeployment: [
3211
+ "GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}"
3212
+ ],
3213
+ getPagesHealthCheck: ["GET /repos/{owner}/{repo}/pages/health"],
3214
+ getParticipationStats: ["GET /repos/{owner}/{repo}/stats/participation"],
3215
+ getPullRequestReviewProtection: [
3216
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"
3217
+ ],
3218
+ getPunchCardStats: ["GET /repos/{owner}/{repo}/stats/punch_card"],
3219
+ getReadme: ["GET /repos/{owner}/{repo}/readme"],
3220
+ getReadmeInDirectory: ["GET /repos/{owner}/{repo}/readme/{dir}"],
3221
+ getRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}"],
3222
+ getReleaseAsset: ["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"],
3223
+ getReleaseByTag: ["GET /repos/{owner}/{repo}/releases/tags/{tag}"],
3224
+ getRepoRuleSuite: [
3225
+ "GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}"
3226
+ ],
3227
+ getRepoRuleSuites: ["GET /repos/{owner}/{repo}/rulesets/rule-suites"],
3228
+ getRepoRuleset: ["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"],
3229
+ getRepoRulesetHistory: [
3230
+ "GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history"
3231
+ ],
3232
+ getRepoRulesetVersion: [
3233
+ "GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history/{version_id}"
3234
+ ],
3235
+ getRepoRulesets: ["GET /repos/{owner}/{repo}/rulesets"],
3236
+ getStatusChecksProtection: [
3237
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"
3238
+ ],
3239
+ getTeamsWithAccessToProtectedBranch: [
3240
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"
3241
+ ],
3242
+ getTopPaths: ["GET /repos/{owner}/{repo}/traffic/popular/paths"],
3243
+ getTopReferrers: ["GET /repos/{owner}/{repo}/traffic/popular/referrers"],
3244
+ getUsersWithAccessToProtectedBranch: [
3245
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"
3246
+ ],
3247
+ getViews: ["GET /repos/{owner}/{repo}/traffic/views"],
3248
+ getWebhook: ["GET /repos/{owner}/{repo}/hooks/{hook_id}"],
3249
+ getWebhookConfigForRepo: [
3250
+ "GET /repos/{owner}/{repo}/hooks/{hook_id}/config"
3251
+ ],
3252
+ getWebhookDelivery: [
3253
+ "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}"
3254
+ ],
3255
+ listActivities: ["GET /repos/{owner}/{repo}/activity"],
3256
+ listAttestations: [
3257
+ "GET /repos/{owner}/{repo}/attestations/{subject_digest}"
3258
+ ],
3259
+ listAutolinks: ["GET /repos/{owner}/{repo}/autolinks"],
3260
+ listBranches: ["GET /repos/{owner}/{repo}/branches"],
3261
+ listBranchesForHeadCommit: [
3262
+ "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head"
3263
+ ],
3264
+ listCollaborators: ["GET /repos/{owner}/{repo}/collaborators"],
3265
+ listCommentsForCommit: [
3266
+ "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"
3267
+ ],
3268
+ listCommitCommentsForRepo: ["GET /repos/{owner}/{repo}/comments"],
3269
+ listCommitStatusesForRef: [
3270
+ "GET /repos/{owner}/{repo}/commits/{ref}/statuses"
3271
+ ],
3272
+ listCommits: ["GET /repos/{owner}/{repo}/commits"],
3273
+ listContributors: ["GET /repos/{owner}/{repo}/contributors"],
3274
+ listCustomDeploymentRuleIntegrations: [
3275
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps"
3276
+ ],
3277
+ listDeployKeys: ["GET /repos/{owner}/{repo}/keys"],
3278
+ listDeploymentBranchPolicies: [
3279
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"
3280
+ ],
3281
+ listDeploymentStatuses: [
3282
+ "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"
3283
+ ],
3284
+ listDeployments: ["GET /repos/{owner}/{repo}/deployments"],
3285
+ listForAuthenticatedUser: ["GET /user/repos"],
3286
+ listForOrg: ["GET /orgs/{org}/repos"],
3287
+ listForUser: ["GET /users/{username}/repos"],
3288
+ listForks: ["GET /repos/{owner}/{repo}/forks"],
3289
+ listInvitations: ["GET /repos/{owner}/{repo}/invitations"],
3290
+ listInvitationsForAuthenticatedUser: ["GET /user/repository_invitations"],
3291
+ listLanguages: ["GET /repos/{owner}/{repo}/languages"],
3292
+ listPagesBuilds: ["GET /repos/{owner}/{repo}/pages/builds"],
3293
+ listPublic: ["GET /repositories"],
3294
+ listPullRequestsAssociatedWithCommit: [
3295
+ "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"
3296
+ ],
3297
+ listReleaseAssets: [
3298
+ "GET /repos/{owner}/{repo}/releases/{release_id}/assets"
3299
+ ],
3300
+ listReleases: ["GET /repos/{owner}/{repo}/releases"],
3301
+ listTags: ["GET /repos/{owner}/{repo}/tags"],
3302
+ listTeams: ["GET /repos/{owner}/{repo}/teams"],
3303
+ listWebhookDeliveries: [
3304
+ "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"
3305
+ ],
3306
+ listWebhooks: ["GET /repos/{owner}/{repo}/hooks"],
3307
+ merge: ["POST /repos/{owner}/{repo}/merges"],
3308
+ mergeUpstream: ["POST /repos/{owner}/{repo}/merge-upstream"],
3309
+ pingWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"],
3310
+ redeliverWebhookDelivery: [
3311
+ "POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"
3312
+ ],
3313
+ removeAppAccessRestrictions: [
3314
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",
3315
+ {},
3316
+ { mapToData: "apps" }
3317
+ ],
3318
+ removeCollaborator: [
3319
+ "DELETE /repos/{owner}/{repo}/collaborators/{username}"
3320
+ ],
3321
+ removeStatusCheckContexts: [
3322
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",
3323
+ {},
3324
+ { mapToData: "contexts" }
3325
+ ],
3326
+ removeStatusCheckProtection: [
3327
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"
3328
+ ],
3329
+ removeTeamAccessRestrictions: [
3330
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",
3331
+ {},
3332
+ { mapToData: "teams" }
3333
+ ],
3334
+ removeUserAccessRestrictions: [
3335
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",
3336
+ {},
3337
+ { mapToData: "users" }
3338
+ ],
3339
+ renameBranch: ["POST /repos/{owner}/{repo}/branches/{branch}/rename"],
3340
+ replaceAllTopics: ["PUT /repos/{owner}/{repo}/topics"],
3341
+ requestPagesBuild: ["POST /repos/{owner}/{repo}/pages/builds"],
3342
+ setAdminBranchProtection: [
3343
+ "POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"
3344
+ ],
3345
+ setAppAccessRestrictions: [
3346
+ "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",
3347
+ {},
3348
+ { mapToData: "apps" }
3349
+ ],
3350
+ setStatusCheckContexts: [
3351
+ "PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",
3352
+ {},
3353
+ { mapToData: "contexts" }
3354
+ ],
3355
+ setTeamAccessRestrictions: [
3356
+ "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",
3357
+ {},
3358
+ { mapToData: "teams" }
3359
+ ],
3360
+ setUserAccessRestrictions: [
3361
+ "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",
3362
+ {},
3363
+ { mapToData: "users" }
3364
+ ],
3365
+ testPushWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"],
3366
+ transfer: ["POST /repos/{owner}/{repo}/transfer"],
3367
+ update: ["PATCH /repos/{owner}/{repo}"],
3368
+ updateBranchProtection: [
3369
+ "PUT /repos/{owner}/{repo}/branches/{branch}/protection"
3370
+ ],
3371
+ updateCommitComment: ["PATCH /repos/{owner}/{repo}/comments/{comment_id}"],
3372
+ updateDeploymentBranchPolicy: [
3373
+ "PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"
3374
+ ],
3375
+ updateInformationAboutPagesSite: ["PUT /repos/{owner}/{repo}/pages"],
3376
+ updateInvitation: [
3377
+ "PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"
3378
+ ],
3379
+ updateOrgRuleset: ["PUT /orgs/{org}/rulesets/{ruleset_id}"],
3380
+ updatePullRequestReviewProtection: [
3381
+ "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"
3382
+ ],
3383
+ updateRelease: ["PATCH /repos/{owner}/{repo}/releases/{release_id}"],
3384
+ updateReleaseAsset: [
3385
+ "PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"
3386
+ ],
3387
+ updateRepoRuleset: ["PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}"],
3388
+ updateStatusCheckPotection: [
3389
+ "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks",
3390
+ {},
3391
+ { renamed: ["repos", "updateStatusCheckProtection"] }
3392
+ ],
3393
+ updateStatusCheckProtection: [
3394
+ "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"
3395
+ ],
3396
+ updateWebhook: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"],
3397
+ updateWebhookConfigForRepo: [
3398
+ "PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"
3399
+ ],
3400
+ uploadReleaseAsset: [
3401
+ "POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}",
3402
+ { baseUrl: "https://uploads.github.com" }
3403
+ ]
3404
+ },
3405
+ search: {
3406
+ code: ["GET /search/code"],
3407
+ commits: ["GET /search/commits"],
3408
+ issuesAndPullRequests: ["GET /search/issues"],
3409
+ labels: ["GET /search/labels"],
3410
+ repos: ["GET /search/repositories"],
3411
+ topics: ["GET /search/topics"],
3412
+ users: ["GET /search/users"]
3413
+ },
3414
+ secretScanning: {
3415
+ createPushProtectionBypass: [
3416
+ "POST /repos/{owner}/{repo}/secret-scanning/push-protection-bypasses"
3417
+ ],
3418
+ getAlert: [
3419
+ "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"
3420
+ ],
3421
+ getScanHistory: ["GET /repos/{owner}/{repo}/secret-scanning/scan-history"],
3422
+ listAlertsForOrg: ["GET /orgs/{org}/secret-scanning/alerts"],
3423
+ listAlertsForRepo: ["GET /repos/{owner}/{repo}/secret-scanning/alerts"],
3424
+ listLocationsForAlert: [
3425
+ "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"
3426
+ ],
3427
+ listOrgPatternConfigs: [
3428
+ "GET /orgs/{org}/secret-scanning/pattern-configurations"
3429
+ ],
3430
+ updateAlert: [
3431
+ "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"
3432
+ ],
3433
+ updateOrgPatternConfigs: [
3434
+ "PATCH /orgs/{org}/secret-scanning/pattern-configurations"
3435
+ ]
3436
+ },
3437
+ securityAdvisories: {
3438
+ createFork: [
3439
+ "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks"
3440
+ ],
3441
+ createPrivateVulnerabilityReport: [
3442
+ "POST /repos/{owner}/{repo}/security-advisories/reports"
3443
+ ],
3444
+ createRepositoryAdvisory: [
3445
+ "POST /repos/{owner}/{repo}/security-advisories"
3446
+ ],
3447
+ createRepositoryAdvisoryCveRequest: [
3448
+ "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve"
3449
+ ],
3450
+ getGlobalAdvisory: ["GET /advisories/{ghsa_id}"],
3451
+ getRepositoryAdvisory: [
3452
+ "GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}"
3453
+ ],
3454
+ listGlobalAdvisories: ["GET /advisories"],
3455
+ listOrgRepositoryAdvisories: ["GET /orgs/{org}/security-advisories"],
3456
+ listRepositoryAdvisories: ["GET /repos/{owner}/{repo}/security-advisories"],
3457
+ updateRepositoryAdvisory: [
3458
+ "PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}"
3459
+ ]
3460
+ },
3461
+ teams: {
3462
+ addOrUpdateMembershipForUserInOrg: [
3463
+ "PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"
3464
+ ],
3465
+ addOrUpdateRepoPermissionsInOrg: [
3466
+ "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
3467
+ ],
3468
+ checkPermissionsForRepoInOrg: [
3469
+ "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
3470
+ ],
3471
+ create: ["POST /orgs/{org}/teams"],
3472
+ createDiscussionCommentInOrg: [
3473
+ "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"
3474
+ ],
3475
+ createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"],
3476
+ deleteDiscussionCommentInOrg: [
3477
+ "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
3478
+ ],
3479
+ deleteDiscussionInOrg: [
3480
+ "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
3481
+ ],
3482
+ deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"],
3483
+ getByName: ["GET /orgs/{org}/teams/{team_slug}"],
3484
+ getDiscussionCommentInOrg: [
3485
+ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
3486
+ ],
3487
+ getDiscussionInOrg: [
3488
+ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
3489
+ ],
3490
+ getMembershipForUserInOrg: [
3491
+ "GET /orgs/{org}/teams/{team_slug}/memberships/{username}"
3492
+ ],
3493
+ list: ["GET /orgs/{org}/teams"],
3494
+ listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"],
3495
+ listDiscussionCommentsInOrg: [
3496
+ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"
3497
+ ],
3498
+ listDiscussionsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions"],
3499
+ listForAuthenticatedUser: ["GET /user/teams"],
3500
+ listMembersInOrg: ["GET /orgs/{org}/teams/{team_slug}/members"],
3501
+ listPendingInvitationsInOrg: [
3502
+ "GET /orgs/{org}/teams/{team_slug}/invitations"
3503
+ ],
3504
+ listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"],
3505
+ removeMembershipForUserInOrg: [
3506
+ "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"
3507
+ ],
3508
+ removeRepoInOrg: [
3509
+ "DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
3510
+ ],
3511
+ updateDiscussionCommentInOrg: [
3512
+ "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
3513
+ ],
3514
+ updateDiscussionInOrg: [
3515
+ "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
3516
+ ],
3517
+ updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"]
3518
+ },
3519
+ users: {
3520
+ addEmailForAuthenticated: [
3521
+ "POST /user/emails",
3522
+ {},
3523
+ { renamed: ["users", "addEmailForAuthenticatedUser"] }
3524
+ ],
3525
+ addEmailForAuthenticatedUser: ["POST /user/emails"],
3526
+ addSocialAccountForAuthenticatedUser: ["POST /user/social_accounts"],
3527
+ block: ["PUT /user/blocks/{username}"],
3528
+ checkBlocked: ["GET /user/blocks/{username}"],
3529
+ checkFollowingForUser: ["GET /users/{username}/following/{target_user}"],
3530
+ checkPersonIsFollowedByAuthenticated: ["GET /user/following/{username}"],
3531
+ createGpgKeyForAuthenticated: [
3532
+ "POST /user/gpg_keys",
3533
+ {},
3534
+ { renamed: ["users", "createGpgKeyForAuthenticatedUser"] }
3535
+ ],
3536
+ createGpgKeyForAuthenticatedUser: ["POST /user/gpg_keys"],
3537
+ createPublicSshKeyForAuthenticated: [
3538
+ "POST /user/keys",
3539
+ {},
3540
+ { renamed: ["users", "createPublicSshKeyForAuthenticatedUser"] }
3541
+ ],
3542
+ createPublicSshKeyForAuthenticatedUser: ["POST /user/keys"],
3543
+ createSshSigningKeyForAuthenticatedUser: ["POST /user/ssh_signing_keys"],
3544
+ deleteAttestationsBulk: [
3545
+ "POST /users/{username}/attestations/delete-request"
3546
+ ],
3547
+ deleteAttestationsById: [
3548
+ "DELETE /users/{username}/attestations/{attestation_id}"
3549
+ ],
3550
+ deleteAttestationsBySubjectDigest: [
3551
+ "DELETE /users/{username}/attestations/digest/{subject_digest}"
3552
+ ],
3553
+ deleteEmailForAuthenticated: [
3554
+ "DELETE /user/emails",
3555
+ {},
3556
+ { renamed: ["users", "deleteEmailForAuthenticatedUser"] }
3557
+ ],
3558
+ deleteEmailForAuthenticatedUser: ["DELETE /user/emails"],
3559
+ deleteGpgKeyForAuthenticated: [
3560
+ "DELETE /user/gpg_keys/{gpg_key_id}",
3561
+ {},
3562
+ { renamed: ["users", "deleteGpgKeyForAuthenticatedUser"] }
3563
+ ],
3564
+ deleteGpgKeyForAuthenticatedUser: ["DELETE /user/gpg_keys/{gpg_key_id}"],
3565
+ deletePublicSshKeyForAuthenticated: [
3566
+ "DELETE /user/keys/{key_id}",
3567
+ {},
3568
+ { renamed: ["users", "deletePublicSshKeyForAuthenticatedUser"] }
3569
+ ],
3570
+ deletePublicSshKeyForAuthenticatedUser: ["DELETE /user/keys/{key_id}"],
3571
+ deleteSocialAccountForAuthenticatedUser: ["DELETE /user/social_accounts"],
3572
+ deleteSshSigningKeyForAuthenticatedUser: [
3573
+ "DELETE /user/ssh_signing_keys/{ssh_signing_key_id}"
3574
+ ],
3575
+ follow: ["PUT /user/following/{username}"],
3576
+ getAuthenticated: ["GET /user"],
3577
+ getById: ["GET /user/{account_id}"],
3578
+ getByUsername: ["GET /users/{username}"],
3579
+ getContextForUser: ["GET /users/{username}/hovercard"],
3580
+ getGpgKeyForAuthenticated: [
3581
+ "GET /user/gpg_keys/{gpg_key_id}",
3582
+ {},
3583
+ { renamed: ["users", "getGpgKeyForAuthenticatedUser"] }
3584
+ ],
3585
+ getGpgKeyForAuthenticatedUser: ["GET /user/gpg_keys/{gpg_key_id}"],
3586
+ getPublicSshKeyForAuthenticated: [
3587
+ "GET /user/keys/{key_id}",
3588
+ {},
3589
+ { renamed: ["users", "getPublicSshKeyForAuthenticatedUser"] }
3590
+ ],
3591
+ getPublicSshKeyForAuthenticatedUser: ["GET /user/keys/{key_id}"],
3592
+ getSshSigningKeyForAuthenticatedUser: [
3593
+ "GET /user/ssh_signing_keys/{ssh_signing_key_id}"
3594
+ ],
3595
+ list: ["GET /users"],
3596
+ listAttestations: ["GET /users/{username}/attestations/{subject_digest}"],
3597
+ listAttestationsBulk: [
3598
+ "POST /users/{username}/attestations/bulk-list{?per_page,before,after}"
3599
+ ],
3600
+ listBlockedByAuthenticated: [
3601
+ "GET /user/blocks",
3602
+ {},
3603
+ { renamed: ["users", "listBlockedByAuthenticatedUser"] }
3604
+ ],
3605
+ listBlockedByAuthenticatedUser: ["GET /user/blocks"],
3606
+ listEmailsForAuthenticated: [
3607
+ "GET /user/emails",
3608
+ {},
3609
+ { renamed: ["users", "listEmailsForAuthenticatedUser"] }
3610
+ ],
3611
+ listEmailsForAuthenticatedUser: ["GET /user/emails"],
3612
+ listFollowedByAuthenticated: [
3613
+ "GET /user/following",
3614
+ {},
3615
+ { renamed: ["users", "listFollowedByAuthenticatedUser"] }
3616
+ ],
3617
+ listFollowedByAuthenticatedUser: ["GET /user/following"],
3618
+ listFollowersForAuthenticatedUser: ["GET /user/followers"],
3619
+ listFollowersForUser: ["GET /users/{username}/followers"],
3620
+ listFollowingForUser: ["GET /users/{username}/following"],
3621
+ listGpgKeysForAuthenticated: [
3622
+ "GET /user/gpg_keys",
3623
+ {},
3624
+ { renamed: ["users", "listGpgKeysForAuthenticatedUser"] }
3625
+ ],
3626
+ listGpgKeysForAuthenticatedUser: ["GET /user/gpg_keys"],
3627
+ listGpgKeysForUser: ["GET /users/{username}/gpg_keys"],
3628
+ listPublicEmailsForAuthenticated: [
3629
+ "GET /user/public_emails",
3630
+ {},
3631
+ { renamed: ["users", "listPublicEmailsForAuthenticatedUser"] }
3632
+ ],
3633
+ listPublicEmailsForAuthenticatedUser: ["GET /user/public_emails"],
3634
+ listPublicKeysForUser: ["GET /users/{username}/keys"],
3635
+ listPublicSshKeysForAuthenticated: [
3636
+ "GET /user/keys",
3637
+ {},
3638
+ { renamed: ["users", "listPublicSshKeysForAuthenticatedUser"] }
3639
+ ],
3640
+ listPublicSshKeysForAuthenticatedUser: ["GET /user/keys"],
3641
+ listSocialAccountsForAuthenticatedUser: ["GET /user/social_accounts"],
3642
+ listSocialAccountsForUser: ["GET /users/{username}/social_accounts"],
3643
+ listSshSigningKeysForAuthenticatedUser: ["GET /user/ssh_signing_keys"],
3644
+ listSshSigningKeysForUser: ["GET /users/{username}/ssh_signing_keys"],
3645
+ setPrimaryEmailVisibilityForAuthenticated: [
3646
+ "PATCH /user/email/visibility",
3647
+ {},
3648
+ { renamed: ["users", "setPrimaryEmailVisibilityForAuthenticatedUser"] }
3649
+ ],
3650
+ setPrimaryEmailVisibilityForAuthenticatedUser: [
3651
+ "PATCH /user/email/visibility"
3652
+ ],
3653
+ unblock: ["DELETE /user/blocks/{username}"],
3654
+ unfollow: ["DELETE /user/following/{username}"],
3655
+ updateAuthenticated: ["PATCH /user"]
3656
+ }
3657
+ };
3658
+ var endpoints_default = Endpoints;
3659
+
3660
+ const endpointMethodsMap = /* @__PURE__ */ new Map();
3661
+ for (const [scope, endpoints] of Object.entries(endpoints_default)) {
3662
+ for (const [methodName, endpoint] of Object.entries(endpoints)) {
3663
+ const [route, defaults, decorations] = endpoint;
3664
+ const [method, url] = route.split(/ /);
3665
+ const endpointDefaults = Object.assign(
3666
+ {
3667
+ method,
3668
+ url
3669
+ },
3670
+ defaults
3671
+ );
3672
+ if (!endpointMethodsMap.has(scope)) {
3673
+ endpointMethodsMap.set(scope, /* @__PURE__ */ new Map());
3674
+ }
3675
+ endpointMethodsMap.get(scope).set(methodName, {
3676
+ scope,
3677
+ methodName,
3678
+ endpointDefaults,
3679
+ decorations
3680
+ });
3681
+ }
3682
+ }
3683
+ const handler = {
3684
+ has({ scope }, methodName) {
3685
+ return endpointMethodsMap.get(scope).has(methodName);
3686
+ },
3687
+ getOwnPropertyDescriptor(target, methodName) {
3688
+ return {
3689
+ value: this.get(target, methodName),
3690
+ // ensures method is in the cache
3691
+ configurable: true,
3692
+ writable: true,
3693
+ enumerable: true
3694
+ };
3695
+ },
3696
+ defineProperty(target, methodName, descriptor) {
3697
+ Object.defineProperty(target.cache, methodName, descriptor);
3698
+ return true;
3699
+ },
3700
+ deleteProperty(target, methodName) {
3701
+ delete target.cache[methodName];
3702
+ return true;
3703
+ },
3704
+ ownKeys({ scope }) {
3705
+ return [...endpointMethodsMap.get(scope).keys()];
3706
+ },
3707
+ set(target, methodName, value) {
3708
+ return target.cache[methodName] = value;
3709
+ },
3710
+ get({ octokit, scope, cache }, methodName) {
3711
+ if (cache[methodName]) {
3712
+ return cache[methodName];
3713
+ }
3714
+ const method = endpointMethodsMap.get(scope).get(methodName);
3715
+ if (!method) {
3716
+ return void 0;
3717
+ }
3718
+ const { endpointDefaults, decorations } = method;
3719
+ if (decorations) {
3720
+ cache[methodName] = decorate(
3721
+ octokit,
3722
+ scope,
3723
+ methodName,
3724
+ endpointDefaults,
3725
+ decorations
3726
+ );
3727
+ } else {
3728
+ cache[methodName] = octokit.request.defaults(endpointDefaults);
3729
+ }
3730
+ return cache[methodName];
3731
+ }
3732
+ };
3733
+ function endpointsToMethods(octokit) {
3734
+ const newMethods = {};
3735
+ for (const scope of endpointMethodsMap.keys()) {
3736
+ newMethods[scope] = new Proxy({ octokit, scope, cache: {} }, handler);
3737
+ }
3738
+ return newMethods;
3739
+ }
3740
+ function decorate(octokit, scope, methodName, defaults, decorations) {
3741
+ const requestWithDefaults = octokit.request.defaults(defaults);
3742
+ function withDecorations(...args) {
3743
+ let options = requestWithDefaults.endpoint.merge(...args);
3744
+ if (decorations.mapToData) {
3745
+ options = Object.assign({}, options, {
3746
+ data: options[decorations.mapToData],
3747
+ [decorations.mapToData]: void 0
3748
+ });
3749
+ return requestWithDefaults(options);
3750
+ }
3751
+ if (decorations.renamed) {
3752
+ const [newScope, newMethodName] = decorations.renamed;
3753
+ octokit.log.warn(
3754
+ `octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`
3755
+ );
3756
+ }
3757
+ if (decorations.deprecated) {
3758
+ octokit.log.warn(decorations.deprecated);
3759
+ }
3760
+ if (decorations.renamedParameters) {
3761
+ const options2 = requestWithDefaults.endpoint.merge(...args);
3762
+ for (const [name, alias] of Object.entries(
3763
+ decorations.renamedParameters
3764
+ )) {
3765
+ if (name in options2) {
3766
+ octokit.log.warn(
3767
+ `"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead`
3768
+ );
3769
+ if (!(alias in options2)) {
3770
+ options2[alias] = options2[name];
3771
+ }
3772
+ delete options2[name];
3773
+ }
3774
+ }
3775
+ return requestWithDefaults(options2);
3776
+ }
3777
+ return requestWithDefaults(...args);
3778
+ }
3779
+ return Object.assign(withDecorations, requestWithDefaults);
3780
+ }
3781
+
3782
+ function legacyRestEndpointMethods(octokit) {
3783
+ const api = endpointsToMethods(octokit);
3784
+ return {
3785
+ ...api,
3786
+ rest: api
3787
+ };
3788
+ }
3789
+ legacyRestEndpointMethods.VERSION = VERSION$1;
3790
+
3791
+ const VERSION = "22.0.1";
3792
+
3793
+ const Octokit = Octokit$1.plugin(requestLog, legacyRestEndpointMethods, paginateRest).defaults(
3794
+ {
3795
+ userAgent: `octokit-rest.js/${VERSION}`
3796
+ }
3797
+ );
3798
+
3799
+ const getOctokit = ()=>{
3800
+ const logger = getLogger();
3801
+ const token = process.env.GITHUB_TOKEN;
3802
+ if (!token) {
3803
+ logger.error('GITHUB_TOKEN environment variable is not set.');
3804
+ throw new Error('GITHUB_TOKEN is not set.');
3805
+ }
3806
+ return new Octokit({
3807
+ auth: token
3808
+ });
3809
+ };
3810
+ const getRepoDetails = async (cwd)=>{
3811
+ try {
3812
+ const { stdout } = await run('git remote get-url origin', {
3813
+ cwd,
3814
+ suppressErrorLogging: true
3815
+ });
3816
+ const url = stdout.trim();
3817
+ // Extract owner/repo from the URL - just look for the pattern owner/repo at the end
3818
+ // Works with any hostname or SSH alias:
3819
+ // - git@github.com:owner/repo.git
3820
+ // - git@github.com-fjell:owner/repo.git
3821
+ // - https://github.com/owner/repo.git
3822
+ // - ssh://git@host/owner/repo.git
3823
+ // Two cases:
3824
+ // 1. SSH format: :owner/repo (after colon)
3825
+ // 2. HTTPS format: //hostname/owner/repo (need at least 2 path segments)
3826
+ const match = url.match(/(?::([^/:]+)\/([^/:]+)|\/\/[^/]+\/([^/:]+)\/([^/:]+))(?:\.git)?$/);
3827
+ if (!match) {
3828
+ throw new Error(`Could not parse repository owner and name from origin URL: "${url}". Expected format: git@host:owner/repo.git or https://host/owner/repo.git`);
3829
+ }
3830
+ // Match groups: either [1,2] for SSH or [3,4] for HTTPS
3831
+ const owner = match[1] || match[3];
3832
+ let repo = match[2] || match[4];
3833
+ // Strip .git extension if present
3834
+ if (repo.endsWith('.git')) {
3835
+ repo = repo.slice(0, -4);
3836
+ }
3837
+ return {
3838
+ owner,
3839
+ repo
3840
+ };
3841
+ } catch (error) {
3842
+ const logger = getLogger();
3843
+ const isNotGitRepo = error.message.includes('not a git repository');
3844
+ const hasNoOrigin = error.message.includes('remote origin does not exist');
3845
+ if (isNotGitRepo || hasNoOrigin) {
3846
+ logger.debug(`Failed to get repository details (expected): ${error.message} (${cwd || process.cwd()})`);
3847
+ } else {
3848
+ logger.debug(`Failed to get repository details: ${error.message}`);
3849
+ }
3850
+ throw error;
3851
+ }
3852
+ };
3853
+ const findOpenPullRequestByHeadRef = async (head, cwd)=>{
3854
+ const octokit = getOctokit();
3855
+ const logger = getLogger();
3856
+ try {
3857
+ var _response_data_;
3858
+ const { owner, repo } = await getRepoDetails(cwd);
3859
+ logger.debug(`Searching for open pull requests with head: ${owner}:${head} in ${owner}/${repo}`);
3860
+ const response = await octokit.pulls.list({
3861
+ owner,
3862
+ repo,
3863
+ state: 'open',
3864
+ head: `${owner}:${head}`
3865
+ });
3866
+ logger.debug(`Found ${response.data.length} open pull requests`);
3867
+ return (_response_data_ = response.data[0]) !== null && _response_data_ !== void 0 ? _response_data_ : null;
3868
+ } catch (error) {
3869
+ // Only log error if it's NOT a "not a git repository" error which we already logged at debug
3870
+ if (!error.message.includes('not a git repository')) {
3871
+ logger.error(`Failed to find open pull requests: ${error.message}`);
3872
+ } else {
3873
+ logger.debug(`Skipping PR search: not a git repository (${cwd || process.cwd()})`);
3874
+ }
3875
+ if (error.status === 404) {
3876
+ logger.error(`Repository not found or access denied. Please check your GITHUB_TOKEN permissions.`);
3877
+ }
3878
+ throw error;
3879
+ }
3880
+ };
3881
+
3882
+ export { findOpenPullRequestByHeadRef, getLogger, getOctokit, getRepoDetails };
3883
+ //# sourceMappingURL=index-DqPh_i40.js.map