vibora 0.1.7 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/server/index.js CHANGED
@@ -3315,9 +3315,9 @@ function getColorEnabled() {
3315
3315
  return !isNoColor;
3316
3316
  }
3317
3317
  async function getColorEnabledAsync() {
3318
- const { navigator } = globalThis;
3318
+ const { navigator: navigator2 } = globalThis;
3319
3319
  const cfWorkers = "cloudflare:workers";
3320
- const isNoColor = navigator !== undefined && navigator.userAgent === "Cloudflare-Workers" ? await (async () => {
3320
+ const isNoColor = navigator2 !== undefined && navigator2.userAgent === "Cloudflare-Workers" ? await (async () => {
3321
3321
  try {
3322
3322
  return "NO_COLOR" in ((await import(cfWorkers)).env ?? {});
3323
3323
  } catch {
@@ -3380,7 +3380,8 @@ var DEFAULT_SETTINGS = {
3380
3380
  sshPort: 22,
3381
3381
  basicAuthUsername: null,
3382
3382
  basicAuthPassword: null,
3383
- linearApiKey: null
3383
+ linearApiKey: null,
3384
+ githubPat: null
3384
3385
  };
3385
3386
  function expandPath(p) {
3386
3387
  if (p.startsWith("~/")) {
@@ -3453,7 +3454,8 @@ function getSettings() {
3453
3454
  sshPort: parsed.sshPort ?? DEFAULT_SETTINGS.sshPort,
3454
3455
  basicAuthUsername: parsed.basicAuthUsername ?? null,
3455
3456
  basicAuthPassword: parsed.basicAuthPassword ?? null,
3456
- linearApiKey: parsed.linearApiKey ?? null
3457
+ linearApiKey: parsed.linearApiKey ?? null,
3458
+ githubPat: parsed.githubPat ?? null
3457
3459
  };
3458
3460
  if (hasMissingKeys) {
3459
3461
  fs.writeFileSync(settingsPath, JSON.stringify(fileSettings, null, 2), "utf-8");
@@ -3468,7 +3470,8 @@ function getSettings() {
3468
3470
  sshPort: !isNaN(sshPortEnv) && sshPortEnv > 0 ? sshPortEnv : fileSettings.sshPort,
3469
3471
  basicAuthUsername: process.env.VIBORA_BASIC_AUTH_USERNAME ?? fileSettings.basicAuthUsername,
3470
3472
  basicAuthPassword: process.env.VIBORA_BASIC_AUTH_PASSWORD ?? fileSettings.basicAuthPassword,
3471
- linearApiKey: process.env.LINEAR_API_KEY ?? fileSettings.linearApiKey
3473
+ linearApiKey: process.env.LINEAR_API_KEY ?? fileSettings.linearApiKey,
3474
+ githubPat: process.env.GITHUB_PAT ?? fileSettings.githubPat
3472
3475
  };
3473
3476
  }
3474
3477
  function getSetting(key) {
@@ -7539,6 +7542,7 @@ var repositories = sqliteTable("repositories", {
7539
7542
  displayName: text("display_name").notNull(),
7540
7543
  startupScript: text("startup_script"),
7541
7544
  copyFiles: text("copy_files"),
7545
+ remoteUrl: text("remote_url"),
7542
7546
  createdAt: text("created_at").notNull(),
7543
7547
  updatedAt: text("updated_at").notNull()
7544
7548
  });
@@ -138611,7 +138615,8 @@ var CONFIG_KEYS = {
138611
138615
  TASK_CREATION_COMMAND: "taskCreationCommand",
138612
138616
  HOSTNAME: "hostname",
138613
138617
  SSH_PORT: "sshPort",
138614
- LINEAR_API_KEY: "linearApiKey"
138618
+ LINEAR_API_KEY: "linearApiKey",
138619
+ GITHUB_PAT: "githubPat"
138615
138620
  };
138616
138621
  var app5 = new Hono2;
138617
138622
  app5.get("/notifications", (c) => {
@@ -138652,6 +138657,8 @@ app5.get("/:key", (c) => {
138652
138657
  value = settings.sshPort;
138653
138658
  } else if (key === "linear_api_key" || key === CONFIG_KEYS.LINEAR_API_KEY) {
138654
138659
  value = settings.linearApiKey;
138660
+ } else if (key === "github_pat" || key === CONFIG_KEYS.GITHUB_PAT) {
138661
+ value = settings.githubPat;
138655
138662
  } else if (key === "worktree_base_path") {
138656
138663
  return c.json({ key, value: getWorktreeBasePath(), isDefault: true });
138657
138664
  }
@@ -138702,6 +138709,12 @@ app5.put("/:key", async (c) => {
138702
138709
  }
138703
138710
  updateSettings({ linearApiKey: body.value || null });
138704
138711
  return c.json({ key, value: body.value });
138712
+ } else if (key === "github_pat" || key === CONFIG_KEYS.GITHUB_PAT) {
138713
+ if (typeof body.value !== "string") {
138714
+ return c.json({ error: "Value must be a string" }, 400);
138715
+ }
138716
+ updateSettings({ githubPat: body.value || null });
138717
+ return c.json({ key, value: body.value });
138705
138718
  } else {
138706
138719
  return c.json({ error: `Unknown or read-only config key: ${key}` }, 400);
138707
138720
  }
@@ -138725,6 +138738,8 @@ app5.delete("/:key", (c) => {
138725
138738
  defaultValue = defaults2.sshPort;
138726
138739
  } else if (key === "linear_api_key" || key === CONFIG_KEYS.LINEAR_API_KEY) {
138727
138740
  defaultValue = defaults2.linearApiKey;
138741
+ } else if (key === "github_pat" || key === CONFIG_KEYS.GITHUB_PAT) {
138742
+ defaultValue = defaults2.githubPat;
138728
138743
  }
138729
138744
  return c.json({ key, value: defaultValue, isDefault: true });
138730
138745
  });
@@ -139086,6 +139101,3721 @@ app10.get("/ticket/:identifier", async (c) => {
139086
139101
  });
139087
139102
  var linear_default = app10;
139088
139103
 
139104
+ // node_modules/universal-user-agent/index.js
139105
+ function getUserAgent() {
139106
+ if (typeof navigator === "object" && "userAgent" in navigator) {
139107
+ return navigator.userAgent;
139108
+ }
139109
+ if (typeof process === "object" && process.version !== undefined) {
139110
+ return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;
139111
+ }
139112
+ return "<environment undetectable>";
139113
+ }
139114
+
139115
+ // node_modules/before-after-hook/lib/register.js
139116
+ function register(state, name, method, options) {
139117
+ if (typeof method !== "function") {
139118
+ throw new Error("method for before hook must be a function");
139119
+ }
139120
+ if (!options) {
139121
+ options = {};
139122
+ }
139123
+ if (Array.isArray(name)) {
139124
+ return name.reverse().reduce((callback, name2) => {
139125
+ return register.bind(null, state, name2, callback, options);
139126
+ }, method)();
139127
+ }
139128
+ return Promise.resolve().then(() => {
139129
+ if (!state.registry[name]) {
139130
+ return method(options);
139131
+ }
139132
+ return state.registry[name].reduce((method2, registered) => {
139133
+ return registered.hook.bind(null, method2, options);
139134
+ }, method)();
139135
+ });
139136
+ }
139137
+
139138
+ // node_modules/before-after-hook/lib/add.js
139139
+ function addHook(state, kind, name, hook) {
139140
+ const orig = hook;
139141
+ if (!state.registry[name]) {
139142
+ state.registry[name] = [];
139143
+ }
139144
+ if (kind === "before") {
139145
+ hook = (method, options) => {
139146
+ return Promise.resolve().then(orig.bind(null, options)).then(method.bind(null, options));
139147
+ };
139148
+ }
139149
+ if (kind === "after") {
139150
+ hook = (method, options) => {
139151
+ let result;
139152
+ return Promise.resolve().then(method.bind(null, options)).then((result_) => {
139153
+ result = result_;
139154
+ return orig(result, options);
139155
+ }).then(() => {
139156
+ return result;
139157
+ });
139158
+ };
139159
+ }
139160
+ if (kind === "error") {
139161
+ hook = (method, options) => {
139162
+ return Promise.resolve().then(method.bind(null, options)).catch((error) => {
139163
+ return orig(error, options);
139164
+ });
139165
+ };
139166
+ }
139167
+ state.registry[name].push({
139168
+ hook,
139169
+ orig
139170
+ });
139171
+ }
139172
+
139173
+ // node_modules/before-after-hook/lib/remove.js
139174
+ function removeHook(state, name, method) {
139175
+ if (!state.registry[name]) {
139176
+ return;
139177
+ }
139178
+ const index = state.registry[name].map((registered) => {
139179
+ return registered.orig;
139180
+ }).indexOf(method);
139181
+ if (index === -1) {
139182
+ return;
139183
+ }
139184
+ state.registry[name].splice(index, 1);
139185
+ }
139186
+
139187
+ // node_modules/before-after-hook/index.js
139188
+ var bind = Function.bind;
139189
+ var bindable = bind.bind(bind);
139190
+ function bindApi(hook, state, name) {
139191
+ const removeHookRef = bindable(removeHook, null).apply(null, name ? [state, name] : [state]);
139192
+ hook.api = { remove: removeHookRef };
139193
+ hook.remove = removeHookRef;
139194
+ ["before", "error", "after", "wrap"].forEach((kind) => {
139195
+ const args = name ? [state, kind, name] : [state, kind];
139196
+ hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args);
139197
+ });
139198
+ }
139199
+ function Singular() {
139200
+ const singularHookName = Symbol("Singular");
139201
+ const singularHookState = {
139202
+ registry: {}
139203
+ };
139204
+ const singularHook = register.bind(null, singularHookState, singularHookName);
139205
+ bindApi(singularHook, singularHookState, singularHookName);
139206
+ return singularHook;
139207
+ }
139208
+ function Collection() {
139209
+ const state = {
139210
+ registry: {}
139211
+ };
139212
+ const hook = register.bind(null, state);
139213
+ bindApi(hook, state);
139214
+ return hook;
139215
+ }
139216
+ var before_after_hook_default = { Singular, Collection };
139217
+
139218
+ // node_modules/@octokit/endpoint/dist-bundle/index.js
139219
+ var VERSION = "0.0.0-development";
139220
+ var userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;
139221
+ var DEFAULTS = {
139222
+ method: "GET",
139223
+ baseUrl: "https://api.github.com",
139224
+ headers: {
139225
+ accept: "application/vnd.github.v3+json",
139226
+ "user-agent": userAgent
139227
+ },
139228
+ mediaType: {
139229
+ format: ""
139230
+ }
139231
+ };
139232
+ function lowercaseKeys(object) {
139233
+ if (!object) {
139234
+ return {};
139235
+ }
139236
+ return Object.keys(object).reduce((newObj, key) => {
139237
+ newObj[key.toLowerCase()] = object[key];
139238
+ return newObj;
139239
+ }, {});
139240
+ }
139241
+ function isPlainObject(value) {
139242
+ if (typeof value !== "object" || value === null)
139243
+ return false;
139244
+ if (Object.prototype.toString.call(value) !== "[object Object]")
139245
+ return false;
139246
+ const proto = Object.getPrototypeOf(value);
139247
+ if (proto === null)
139248
+ return true;
139249
+ const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor;
139250
+ return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value);
139251
+ }
139252
+ function mergeDeep(defaults2, options) {
139253
+ const result = Object.assign({}, defaults2);
139254
+ Object.keys(options).forEach((key) => {
139255
+ if (isPlainObject(options[key])) {
139256
+ if (!(key in defaults2))
139257
+ Object.assign(result, { [key]: options[key] });
139258
+ else
139259
+ result[key] = mergeDeep(defaults2[key], options[key]);
139260
+ } else {
139261
+ Object.assign(result, { [key]: options[key] });
139262
+ }
139263
+ });
139264
+ return result;
139265
+ }
139266
+ function removeUndefinedProperties(obj) {
139267
+ for (const key in obj) {
139268
+ if (obj[key] === undefined) {
139269
+ delete obj[key];
139270
+ }
139271
+ }
139272
+ return obj;
139273
+ }
139274
+ function merge(defaults2, route, options) {
139275
+ if (typeof route === "string") {
139276
+ let [method, url] = route.split(" ");
139277
+ options = Object.assign(url ? { method, url } : { url: method }, options);
139278
+ } else {
139279
+ options = Object.assign({}, route);
139280
+ }
139281
+ options.headers = lowercaseKeys(options.headers);
139282
+ removeUndefinedProperties(options);
139283
+ removeUndefinedProperties(options.headers);
139284
+ const mergedOptions = mergeDeep(defaults2 || {}, options);
139285
+ if (options.url === "/graphql") {
139286
+ if (defaults2 && defaults2.mediaType.previews?.length) {
139287
+ mergedOptions.mediaType.previews = defaults2.mediaType.previews.filter((preview) => !mergedOptions.mediaType.previews.includes(preview)).concat(mergedOptions.mediaType.previews);
139288
+ }
139289
+ mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, ""));
139290
+ }
139291
+ return mergedOptions;
139292
+ }
139293
+ function addQueryParameters(url, parameters) {
139294
+ const separator = /\?/.test(url) ? "&" : "?";
139295
+ const names = Object.keys(parameters);
139296
+ if (names.length === 0) {
139297
+ return url;
139298
+ }
139299
+ return url + separator + names.map((name) => {
139300
+ if (name === "q") {
139301
+ return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+");
139302
+ }
139303
+ return `${name}=${encodeURIComponent(parameters[name])}`;
139304
+ }).join("&");
139305
+ }
139306
+ var urlVariableRegex = /\{[^{}}]+\}/g;
139307
+ function removeNonChars(variableName) {
139308
+ return variableName.replace(/(?:^\W+)|(?:(?<!\W)\W+$)/g, "").split(/,/);
139309
+ }
139310
+ function extractUrlVariableNames(url) {
139311
+ const matches = url.match(urlVariableRegex);
139312
+ if (!matches) {
139313
+ return [];
139314
+ }
139315
+ return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);
139316
+ }
139317
+ function omit(object, keysToOmit) {
139318
+ const result = { __proto__: null };
139319
+ for (const key of Object.keys(object)) {
139320
+ if (keysToOmit.indexOf(key) === -1) {
139321
+ result[key] = object[key];
139322
+ }
139323
+ }
139324
+ return result;
139325
+ }
139326
+ function encodeReserved(str) {
139327
+ return str.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) {
139328
+ if (!/%[0-9A-Fa-f]/.test(part)) {
139329
+ part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]");
139330
+ }
139331
+ return part;
139332
+ }).join("");
139333
+ }
139334
+ function encodeUnreserved(str) {
139335
+ return encodeURIComponent(str).replace(/[!'()*]/g, function(c) {
139336
+ return "%" + c.charCodeAt(0).toString(16).toUpperCase();
139337
+ });
139338
+ }
139339
+ function encodeValue(operator, value, key) {
139340
+ value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value);
139341
+ if (key) {
139342
+ return encodeUnreserved(key) + "=" + value;
139343
+ } else {
139344
+ return value;
139345
+ }
139346
+ }
139347
+ function isDefined(value) {
139348
+ return value !== undefined && value !== null;
139349
+ }
139350
+ function isKeyOperator(operator) {
139351
+ return operator === ";" || operator === "&" || operator === "?";
139352
+ }
139353
+ function getValues(context, operator, key, modifier) {
139354
+ var value = context[key], result = [];
139355
+ if (isDefined(value) && value !== "") {
139356
+ if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
139357
+ value = value.toString();
139358
+ if (modifier && modifier !== "*") {
139359
+ value = value.substring(0, parseInt(modifier, 10));
139360
+ }
139361
+ result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : ""));
139362
+ } else {
139363
+ if (modifier === "*") {
139364
+ if (Array.isArray(value)) {
139365
+ value.filter(isDefined).forEach(function(value2) {
139366
+ result.push(encodeValue(operator, value2, isKeyOperator(operator) ? key : ""));
139367
+ });
139368
+ } else {
139369
+ Object.keys(value).forEach(function(k) {
139370
+ if (isDefined(value[k])) {
139371
+ result.push(encodeValue(operator, value[k], k));
139372
+ }
139373
+ });
139374
+ }
139375
+ } else {
139376
+ const tmp = [];
139377
+ if (Array.isArray(value)) {
139378
+ value.filter(isDefined).forEach(function(value2) {
139379
+ tmp.push(encodeValue(operator, value2));
139380
+ });
139381
+ } else {
139382
+ Object.keys(value).forEach(function(k) {
139383
+ if (isDefined(value[k])) {
139384
+ tmp.push(encodeUnreserved(k));
139385
+ tmp.push(encodeValue(operator, value[k].toString()));
139386
+ }
139387
+ });
139388
+ }
139389
+ if (isKeyOperator(operator)) {
139390
+ result.push(encodeUnreserved(key) + "=" + tmp.join(","));
139391
+ } else if (tmp.length !== 0) {
139392
+ result.push(tmp.join(","));
139393
+ }
139394
+ }
139395
+ }
139396
+ } else {
139397
+ if (operator === ";") {
139398
+ if (isDefined(value)) {
139399
+ result.push(encodeUnreserved(key));
139400
+ }
139401
+ } else if (value === "" && (operator === "&" || operator === "?")) {
139402
+ result.push(encodeUnreserved(key) + "=");
139403
+ } else if (value === "") {
139404
+ result.push("");
139405
+ }
139406
+ }
139407
+ return result;
139408
+ }
139409
+ function parseUrl(template) {
139410
+ return {
139411
+ expand: expand2.bind(null, template)
139412
+ };
139413
+ }
139414
+ function expand2(template, context) {
139415
+ var operators = ["+", "#", ".", "/", ";", "?", "&"];
139416
+ template = template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function(_, expression, literal) {
139417
+ if (expression) {
139418
+ let operator = "";
139419
+ const values = [];
139420
+ if (operators.indexOf(expression.charAt(0)) !== -1) {
139421
+ operator = expression.charAt(0);
139422
+ expression = expression.substr(1);
139423
+ }
139424
+ expression.split(/,/g).forEach(function(variable) {
139425
+ var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable);
139426
+ values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));
139427
+ });
139428
+ if (operator && operator !== "+") {
139429
+ var separator = ",";
139430
+ if (operator === "?") {
139431
+ separator = "&";
139432
+ } else if (operator !== "#") {
139433
+ separator = operator;
139434
+ }
139435
+ return (values.length !== 0 ? operator : "") + values.join(separator);
139436
+ } else {
139437
+ return values.join(",");
139438
+ }
139439
+ } else {
139440
+ return encodeReserved(literal);
139441
+ }
139442
+ });
139443
+ if (template === "/") {
139444
+ return template;
139445
+ } else {
139446
+ return template.replace(/\/$/, "");
139447
+ }
139448
+ }
139449
+ function parse(options) {
139450
+ let method = options.method.toUpperCase();
139451
+ let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}");
139452
+ let headers = Object.assign({}, options.headers);
139453
+ let body;
139454
+ let parameters = omit(options, [
139455
+ "method",
139456
+ "baseUrl",
139457
+ "url",
139458
+ "headers",
139459
+ "request",
139460
+ "mediaType"
139461
+ ]);
139462
+ const urlVariableNames = extractUrlVariableNames(url);
139463
+ url = parseUrl(url).expand(parameters);
139464
+ if (!/^http/.test(url)) {
139465
+ url = options.baseUrl + url;
139466
+ }
139467
+ const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat("baseUrl");
139468
+ const remainingParameters = omit(parameters, omittedParameters);
139469
+ const isBinaryRequest = /application\/octet-stream/i.test(headers.accept);
139470
+ if (!isBinaryRequest) {
139471
+ if (options.mediaType.format) {
139472
+ headers.accept = headers.accept.split(/,/).map((format) => format.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)).join(",");
139473
+ }
139474
+ if (url.endsWith("/graphql")) {
139475
+ if (options.mediaType.previews?.length) {
139476
+ const previewsFromAcceptHeader = headers.accept.match(/(?<![\w-])[\w-]+(?=-preview)/g) || [];
139477
+ headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map((preview) => {
139478
+ const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json";
139479
+ return `application/vnd.github.${preview}-preview${format}`;
139480
+ }).join(",");
139481
+ }
139482
+ }
139483
+ }
139484
+ if (["GET", "HEAD"].includes(method)) {
139485
+ url = addQueryParameters(url, remainingParameters);
139486
+ } else {
139487
+ if ("data" in remainingParameters) {
139488
+ body = remainingParameters.data;
139489
+ } else {
139490
+ if (Object.keys(remainingParameters).length) {
139491
+ body = remainingParameters;
139492
+ }
139493
+ }
139494
+ }
139495
+ if (!headers["content-type"] && typeof body !== "undefined") {
139496
+ headers["content-type"] = "application/json; charset=utf-8";
139497
+ }
139498
+ if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") {
139499
+ body = "";
139500
+ }
139501
+ return Object.assign({ method, url, headers }, typeof body !== "undefined" ? { body } : null, options.request ? { request: options.request } : null);
139502
+ }
139503
+ function endpointWithDefaults(defaults2, route, options) {
139504
+ return parse(merge(defaults2, route, options));
139505
+ }
139506
+ function withDefaults(oldDefaults, newDefaults) {
139507
+ const DEFAULTS2 = merge(oldDefaults, newDefaults);
139508
+ const endpoint2 = endpointWithDefaults.bind(null, DEFAULTS2);
139509
+ return Object.assign(endpoint2, {
139510
+ DEFAULTS: DEFAULTS2,
139511
+ defaults: withDefaults.bind(null, DEFAULTS2),
139512
+ merge: merge.bind(null, DEFAULTS2),
139513
+ parse
139514
+ });
139515
+ }
139516
+ var endpoint = withDefaults(null, DEFAULTS);
139517
+
139518
+ // node_modules/fast-content-type-parse/index.js
139519
+ var NullObject = function NullObject2() {};
139520
+ NullObject.prototype = Object.create(null);
139521
+ var paramRE = /; *([!#$%&'*+.^\w`|~-]+)=("(?:[\v\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\v\u0020-\u00ff])*"|[!#$%&'*+.^\w`|~-]+) */gu;
139522
+ var quotedPairRE = /\\([\v\u0020-\u00ff])/gu;
139523
+ var mediaTypeRE = /^[!#$%&'*+.^\w|~-]+\/[!#$%&'*+.^\w|~-]+$/u;
139524
+ var defaultContentType = { type: "", parameters: new NullObject };
139525
+ Object.freeze(defaultContentType.parameters);
139526
+ Object.freeze(defaultContentType);
139527
+ function safeParse(header) {
139528
+ if (typeof header !== "string") {
139529
+ return defaultContentType;
139530
+ }
139531
+ let index = header.indexOf(";");
139532
+ const type = index !== -1 ? header.slice(0, index).trim() : header.trim();
139533
+ if (mediaTypeRE.test(type) === false) {
139534
+ return defaultContentType;
139535
+ }
139536
+ const result = {
139537
+ type: type.toLowerCase(),
139538
+ parameters: new NullObject
139539
+ };
139540
+ if (index === -1) {
139541
+ return result;
139542
+ }
139543
+ let key;
139544
+ let match3;
139545
+ let value;
139546
+ paramRE.lastIndex = index;
139547
+ while (match3 = paramRE.exec(header)) {
139548
+ if (match3.index !== index) {
139549
+ return defaultContentType;
139550
+ }
139551
+ index += match3[0].length;
139552
+ key = match3[1].toLowerCase();
139553
+ value = match3[2];
139554
+ if (value[0] === '"') {
139555
+ value = value.slice(1, value.length - 1);
139556
+ quotedPairRE.test(value) && (value = value.replace(quotedPairRE, "$1"));
139557
+ }
139558
+ result.parameters[key] = value;
139559
+ }
139560
+ if (index !== header.length) {
139561
+ return defaultContentType;
139562
+ }
139563
+ return result;
139564
+ }
139565
+ var $safeParse = safeParse;
139566
+
139567
+ // node_modules/@octokit/request-error/dist-src/index.js
139568
+ class RequestError2 extends Error {
139569
+ name;
139570
+ status;
139571
+ request;
139572
+ response;
139573
+ constructor(message, statusCode, options) {
139574
+ super(message, { cause: options.cause });
139575
+ this.name = "HttpError";
139576
+ this.status = Number.parseInt(statusCode);
139577
+ if (Number.isNaN(this.status)) {
139578
+ this.status = 0;
139579
+ }
139580
+ if ("response" in options) {
139581
+ this.response = options.response;
139582
+ }
139583
+ const requestCopy = Object.assign({}, options.request);
139584
+ if (options.request.headers.authorization) {
139585
+ requestCopy.headers = Object.assign({}, options.request.headers, {
139586
+ authorization: options.request.headers.authorization.replace(/(?<! ) .*$/, " [REDACTED]")
139587
+ });
139588
+ }
139589
+ requestCopy.url = requestCopy.url.replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]").replace(/\baccess_token=\w+/g, "access_token=[REDACTED]");
139590
+ this.request = requestCopy;
139591
+ }
139592
+ }
139593
+
139594
+ // node_modules/@octokit/request/dist-bundle/index.js
139595
+ var VERSION2 = "10.0.7";
139596
+ var defaults_default = {
139597
+ headers: {
139598
+ "user-agent": `octokit-request.js/${VERSION2} ${getUserAgent()}`
139599
+ }
139600
+ };
139601
+ function isPlainObject2(value) {
139602
+ if (typeof value !== "object" || value === null)
139603
+ return false;
139604
+ if (Object.prototype.toString.call(value) !== "[object Object]")
139605
+ return false;
139606
+ const proto = Object.getPrototypeOf(value);
139607
+ if (proto === null)
139608
+ return true;
139609
+ const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor;
139610
+ return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value);
139611
+ }
139612
+ var noop = () => "";
139613
+ async function fetchWrapper(requestOptions) {
139614
+ const fetch2 = requestOptions.request?.fetch || globalThis.fetch;
139615
+ if (!fetch2) {
139616
+ throw new Error("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");
139617
+ }
139618
+ const log2 = requestOptions.request?.log || console;
139619
+ const parseSuccessResponseBody = requestOptions.request?.parseSuccessResponseBody !== false;
139620
+ const body = isPlainObject2(requestOptions.body) || Array.isArray(requestOptions.body) ? JSON.stringify(requestOptions.body) : requestOptions.body;
139621
+ const requestHeaders = Object.fromEntries(Object.entries(requestOptions.headers).map(([name, value]) => [
139622
+ name,
139623
+ String(value)
139624
+ ]));
139625
+ let fetchResponse;
139626
+ try {
139627
+ fetchResponse = await fetch2(requestOptions.url, {
139628
+ method: requestOptions.method,
139629
+ body,
139630
+ redirect: requestOptions.request?.redirect,
139631
+ headers: requestHeaders,
139632
+ signal: requestOptions.request?.signal,
139633
+ ...requestOptions.body && { duplex: "half" }
139634
+ });
139635
+ } catch (error) {
139636
+ let message = "Unknown Error";
139637
+ if (error instanceof Error) {
139638
+ if (error.name === "AbortError") {
139639
+ error.status = 500;
139640
+ throw error;
139641
+ }
139642
+ message = error.message;
139643
+ if (error.name === "TypeError" && "cause" in error) {
139644
+ if (error.cause instanceof Error) {
139645
+ message = error.cause.message;
139646
+ } else if (typeof error.cause === "string") {
139647
+ message = error.cause;
139648
+ }
139649
+ }
139650
+ }
139651
+ const requestError = new RequestError2(message, 500, {
139652
+ request: requestOptions
139653
+ });
139654
+ requestError.cause = error;
139655
+ throw requestError;
139656
+ }
139657
+ const status = fetchResponse.status;
139658
+ const url = fetchResponse.url;
139659
+ const responseHeaders = {};
139660
+ for (const [key, value] of fetchResponse.headers) {
139661
+ responseHeaders[key] = value;
139662
+ }
139663
+ const octokitResponse = {
139664
+ url,
139665
+ status,
139666
+ headers: responseHeaders,
139667
+ data: ""
139668
+ };
139669
+ if ("deprecation" in responseHeaders) {
139670
+ const matches = responseHeaders.link && responseHeaders.link.match(/<([^<>]+)>; rel="deprecation"/);
139671
+ const deprecationLink = matches && matches.pop();
139672
+ log2.warn(`[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${responseHeaders.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`);
139673
+ }
139674
+ if (status === 204 || status === 205) {
139675
+ return octokitResponse;
139676
+ }
139677
+ if (requestOptions.method === "HEAD") {
139678
+ if (status < 400) {
139679
+ return octokitResponse;
139680
+ }
139681
+ throw new RequestError2(fetchResponse.statusText, status, {
139682
+ response: octokitResponse,
139683
+ request: requestOptions
139684
+ });
139685
+ }
139686
+ if (status === 304) {
139687
+ octokitResponse.data = await getResponseData(fetchResponse);
139688
+ throw new RequestError2("Not modified", status, {
139689
+ response: octokitResponse,
139690
+ request: requestOptions
139691
+ });
139692
+ }
139693
+ if (status >= 400) {
139694
+ octokitResponse.data = await getResponseData(fetchResponse);
139695
+ throw new RequestError2(toErrorMessage(octokitResponse.data), status, {
139696
+ response: octokitResponse,
139697
+ request: requestOptions
139698
+ });
139699
+ }
139700
+ octokitResponse.data = parseSuccessResponseBody ? await getResponseData(fetchResponse) : fetchResponse.body;
139701
+ return octokitResponse;
139702
+ }
139703
+ async function getResponseData(response) {
139704
+ const contentType = response.headers.get("content-type");
139705
+ if (!contentType) {
139706
+ return response.text().catch(noop);
139707
+ }
139708
+ const mimetype = $safeParse(contentType);
139709
+ if (isJSONResponse(mimetype)) {
139710
+ let text2 = "";
139711
+ try {
139712
+ text2 = await response.text();
139713
+ return JSON.parse(text2);
139714
+ } catch (err) {
139715
+ return text2;
139716
+ }
139717
+ } else if (mimetype.type.startsWith("text/") || mimetype.parameters.charset?.toLowerCase() === "utf-8") {
139718
+ return response.text().catch(noop);
139719
+ } else {
139720
+ return response.arrayBuffer().catch(() => new ArrayBuffer(0));
139721
+ }
139722
+ }
139723
+ function isJSONResponse(mimetype) {
139724
+ return mimetype.type === "application/json" || mimetype.type === "application/scim+json";
139725
+ }
139726
+ function toErrorMessage(data) {
139727
+ if (typeof data === "string") {
139728
+ return data;
139729
+ }
139730
+ if (data instanceof ArrayBuffer) {
139731
+ return "Unknown error";
139732
+ }
139733
+ if ("message" in data) {
139734
+ const suffix = "documentation_url" in data ? ` - ${data.documentation_url}` : "";
139735
+ return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(", ")}${suffix}` : `${data.message}${suffix}`;
139736
+ }
139737
+ return `Unknown error: ${JSON.stringify(data)}`;
139738
+ }
139739
+ function withDefaults2(oldEndpoint, newDefaults) {
139740
+ const endpoint2 = oldEndpoint.defaults(newDefaults);
139741
+ const newApi = function(route, parameters) {
139742
+ const endpointOptions = endpoint2.merge(route, parameters);
139743
+ if (!endpointOptions.request || !endpointOptions.request.hook) {
139744
+ return fetchWrapper(endpoint2.parse(endpointOptions));
139745
+ }
139746
+ const request2 = (route2, parameters2) => {
139747
+ return fetchWrapper(endpoint2.parse(endpoint2.merge(route2, parameters2)));
139748
+ };
139749
+ Object.assign(request2, {
139750
+ endpoint: endpoint2,
139751
+ defaults: withDefaults2.bind(null, endpoint2)
139752
+ });
139753
+ return endpointOptions.request.hook(request2, endpointOptions);
139754
+ };
139755
+ return Object.assign(newApi, {
139756
+ endpoint: endpoint2,
139757
+ defaults: withDefaults2.bind(null, endpoint2)
139758
+ });
139759
+ }
139760
+ var request = withDefaults2(endpoint, defaults_default);
139761
+
139762
+ // node_modules/@octokit/graphql/dist-bundle/index.js
139763
+ var VERSION3 = "0.0.0-development";
139764
+ function _buildMessageForResponseErrors(data) {
139765
+ return `Request failed due to following response errors:
139766
+ ` + data.errors.map((e) => ` - ${e.message}`).join(`
139767
+ `);
139768
+ }
139769
+ var GraphqlResponseError = class extends Error {
139770
+ constructor(request2, headers, response) {
139771
+ super(_buildMessageForResponseErrors(response));
139772
+ this.request = request2;
139773
+ this.headers = headers;
139774
+ this.response = response;
139775
+ this.errors = response.errors;
139776
+ this.data = response.data;
139777
+ if (Error.captureStackTrace) {
139778
+ Error.captureStackTrace(this, this.constructor);
139779
+ }
139780
+ }
139781
+ name = "GraphqlResponseError";
139782
+ errors;
139783
+ data;
139784
+ };
139785
+ var NON_VARIABLE_OPTIONS = [
139786
+ "method",
139787
+ "baseUrl",
139788
+ "url",
139789
+ "headers",
139790
+ "request",
139791
+ "query",
139792
+ "mediaType",
139793
+ "operationName"
139794
+ ];
139795
+ var FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"];
139796
+ var GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/;
139797
+ function graphql(request2, query, options) {
139798
+ if (options) {
139799
+ if (typeof query === "string" && "query" in options) {
139800
+ return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`));
139801
+ }
139802
+ for (const key in options) {
139803
+ if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key))
139804
+ continue;
139805
+ return Promise.reject(new Error(`[@octokit/graphql] "${key}" cannot be used as variable name`));
139806
+ }
139807
+ }
139808
+ const parsedOptions = typeof query === "string" ? Object.assign({ query }, options) : query;
139809
+ const requestOptions = Object.keys(parsedOptions).reduce((result, key) => {
139810
+ if (NON_VARIABLE_OPTIONS.includes(key)) {
139811
+ result[key] = parsedOptions[key];
139812
+ return result;
139813
+ }
139814
+ if (!result.variables) {
139815
+ result.variables = {};
139816
+ }
139817
+ result.variables[key] = parsedOptions[key];
139818
+ return result;
139819
+ }, {});
139820
+ const baseUrl = parsedOptions.baseUrl || request2.endpoint.DEFAULTS.baseUrl;
139821
+ if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {
139822
+ requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql");
139823
+ }
139824
+ return request2(requestOptions).then((response) => {
139825
+ if (response.data.errors) {
139826
+ const headers = {};
139827
+ for (const key of Object.keys(response.headers)) {
139828
+ headers[key] = response.headers[key];
139829
+ }
139830
+ throw new GraphqlResponseError(requestOptions, headers, response.data);
139831
+ }
139832
+ return response.data.data;
139833
+ });
139834
+ }
139835
+ function withDefaults3(request2, newDefaults) {
139836
+ const newRequest2 = request2.defaults(newDefaults);
139837
+ const newApi = (query, options) => {
139838
+ return graphql(newRequest2, query, options);
139839
+ };
139840
+ return Object.assign(newApi, {
139841
+ defaults: withDefaults3.bind(null, newRequest2),
139842
+ endpoint: newRequest2.endpoint
139843
+ });
139844
+ }
139845
+ var graphql2 = withDefaults3(request, {
139846
+ headers: {
139847
+ "user-agent": `octokit-graphql.js/${VERSION3} ${getUserAgent()}`
139848
+ },
139849
+ method: "POST",
139850
+ url: "/graphql"
139851
+ });
139852
+ function withCustomRequest(customRequest) {
139853
+ return withDefaults3(customRequest, {
139854
+ method: "POST",
139855
+ url: "/graphql"
139856
+ });
139857
+ }
139858
+
139859
+ // node_modules/@octokit/auth-token/dist-bundle/index.js
139860
+ var b64url = "(?:[a-zA-Z0-9_-]+)";
139861
+ var sep3 = "\\.";
139862
+ var jwtRE = new RegExp(`^${b64url}${sep3}${b64url}${sep3}${b64url}$`);
139863
+ var isJWT = jwtRE.test.bind(jwtRE);
139864
+ async function auth2(token) {
139865
+ const isApp = isJWT(token);
139866
+ const isInstallation = token.startsWith("v1.") || token.startsWith("ghs_");
139867
+ const isUserToServer = token.startsWith("ghu_");
139868
+ const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth";
139869
+ return {
139870
+ type: "token",
139871
+ token,
139872
+ tokenType
139873
+ };
139874
+ }
139875
+ function withAuthorizationPrefix(token) {
139876
+ if (token.split(/\./).length === 3) {
139877
+ return `bearer ${token}`;
139878
+ }
139879
+ return `token ${token}`;
139880
+ }
139881
+ async function hook(token, request2, route, parameters) {
139882
+ const endpoint2 = request2.endpoint.merge(route, parameters);
139883
+ endpoint2.headers.authorization = withAuthorizationPrefix(token);
139884
+ return request2(endpoint2);
139885
+ }
139886
+ var createTokenAuth = function createTokenAuth2(token) {
139887
+ if (!token) {
139888
+ throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");
139889
+ }
139890
+ if (typeof token !== "string") {
139891
+ throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string");
139892
+ }
139893
+ token = token.replace(/^(token|bearer) +/i, "");
139894
+ return Object.assign(auth2.bind(null, token), {
139895
+ hook: hook.bind(null, token)
139896
+ });
139897
+ };
139898
+
139899
+ // node_modules/@octokit/core/dist-src/version.js
139900
+ var VERSION4 = "7.0.6";
139901
+
139902
+ // node_modules/@octokit/core/dist-src/index.js
139903
+ var noop2 = () => {};
139904
+ var consoleWarn = console.warn.bind(console);
139905
+ var consoleError = console.error.bind(console);
139906
+ function createLogger(logger2 = {}) {
139907
+ if (typeof logger2.debug !== "function") {
139908
+ logger2.debug = noop2;
139909
+ }
139910
+ if (typeof logger2.info !== "function") {
139911
+ logger2.info = noop2;
139912
+ }
139913
+ if (typeof logger2.warn !== "function") {
139914
+ logger2.warn = consoleWarn;
139915
+ }
139916
+ if (typeof logger2.error !== "function") {
139917
+ logger2.error = consoleError;
139918
+ }
139919
+ return logger2;
139920
+ }
139921
+ var userAgentTrail = `octokit-core.js/${VERSION4} ${getUserAgent()}`;
139922
+
139923
+ class Octokit {
139924
+ static VERSION = VERSION4;
139925
+ static defaults(defaults2) {
139926
+ const OctokitWithDefaults = class extends this {
139927
+ constructor(...args) {
139928
+ const options = args[0] || {};
139929
+ if (typeof defaults2 === "function") {
139930
+ super(defaults2(options));
139931
+ return;
139932
+ }
139933
+ super(Object.assign({}, defaults2, options, options.userAgent && defaults2.userAgent ? {
139934
+ userAgent: `${options.userAgent} ${defaults2.userAgent}`
139935
+ } : null));
139936
+ }
139937
+ };
139938
+ return OctokitWithDefaults;
139939
+ }
139940
+ static plugins = [];
139941
+ static plugin(...newPlugins) {
139942
+ const currentPlugins = this.plugins;
139943
+ const NewOctokit = class extends this {
139944
+ static plugins = currentPlugins.concat(newPlugins.filter((plugin) => !currentPlugins.includes(plugin)));
139945
+ };
139946
+ return NewOctokit;
139947
+ }
139948
+ constructor(options = {}) {
139949
+ const hook2 = new before_after_hook_default.Collection;
139950
+ const requestDefaults = {
139951
+ baseUrl: request.endpoint.DEFAULTS.baseUrl,
139952
+ headers: {},
139953
+ request: Object.assign({}, options.request, {
139954
+ hook: hook2.bind(null, "request")
139955
+ }),
139956
+ mediaType: {
139957
+ previews: [],
139958
+ format: ""
139959
+ }
139960
+ };
139961
+ requestDefaults.headers["user-agent"] = options.userAgent ? `${options.userAgent} ${userAgentTrail}` : userAgentTrail;
139962
+ if (options.baseUrl) {
139963
+ requestDefaults.baseUrl = options.baseUrl;
139964
+ }
139965
+ if (options.previews) {
139966
+ requestDefaults.mediaType.previews = options.previews;
139967
+ }
139968
+ if (options.timeZone) {
139969
+ requestDefaults.headers["time-zone"] = options.timeZone;
139970
+ }
139971
+ this.request = request.defaults(requestDefaults);
139972
+ this.graphql = withCustomRequest(this.request).defaults(requestDefaults);
139973
+ this.log = createLogger(options.log);
139974
+ this.hook = hook2;
139975
+ if (!options.authStrategy) {
139976
+ if (!options.auth) {
139977
+ this.auth = async () => ({
139978
+ type: "unauthenticated"
139979
+ });
139980
+ } else {
139981
+ const auth3 = createTokenAuth(options.auth);
139982
+ hook2.wrap("request", auth3.hook);
139983
+ this.auth = auth3;
139984
+ }
139985
+ } else {
139986
+ const { authStrategy, ...otherOptions } = options;
139987
+ const auth3 = authStrategy(Object.assign({
139988
+ request: this.request,
139989
+ log: this.log,
139990
+ octokit: this,
139991
+ octokitOptions: otherOptions
139992
+ }, options.auth));
139993
+ hook2.wrap("request", auth3.hook);
139994
+ this.auth = auth3;
139995
+ }
139996
+ const classConstructor = this.constructor;
139997
+ for (let i = 0;i < classConstructor.plugins.length; ++i) {
139998
+ Object.assign(this, classConstructor.plugins[i](this, options));
139999
+ }
140000
+ }
140001
+ request;
140002
+ graphql;
140003
+ log;
140004
+ hook;
140005
+ auth;
140006
+ }
140007
+
140008
+ // node_modules/@octokit/plugin-request-log/dist-src/version.js
140009
+ var VERSION5 = "6.0.0";
140010
+
140011
+ // node_modules/@octokit/plugin-request-log/dist-src/index.js
140012
+ function requestLog(octokit) {
140013
+ octokit.hook.wrap("request", (request2, options) => {
140014
+ octokit.log.debug("request", options);
140015
+ const start = Date.now();
140016
+ const requestOptions = octokit.request.endpoint.parse(options);
140017
+ const path9 = requestOptions.url.replace(options.baseUrl, "");
140018
+ return request2(options).then((response) => {
140019
+ const requestId = response.headers["x-github-request-id"];
140020
+ octokit.log.info(`${requestOptions.method} ${path9} - ${response.status} with id ${requestId} in ${Date.now() - start}ms`);
140021
+ return response;
140022
+ }).catch((error) => {
140023
+ const requestId = error.response?.headers["x-github-request-id"] || "UNKNOWN";
140024
+ octokit.log.error(`${requestOptions.method} ${path9} - ${error.status} with id ${requestId} in ${Date.now() - start}ms`);
140025
+ throw error;
140026
+ });
140027
+ });
140028
+ }
140029
+ requestLog.VERSION = VERSION5;
140030
+
140031
+ // node_modules/@octokit/plugin-paginate-rest/dist-bundle/index.js
140032
+ var VERSION6 = "0.0.0-development";
140033
+ function normalizePaginatedListResponse(response) {
140034
+ if (!response.data) {
140035
+ return {
140036
+ ...response,
140037
+ data: []
140038
+ };
140039
+ }
140040
+ const responseNeedsNormalization = (("total_count" in response.data) || ("total_commits" in response.data)) && !("url" in response.data);
140041
+ if (!responseNeedsNormalization)
140042
+ return response;
140043
+ const incompleteResults = response.data.incomplete_results;
140044
+ const repositorySelection = response.data.repository_selection;
140045
+ const totalCount = response.data.total_count;
140046
+ const totalCommits = response.data.total_commits;
140047
+ delete response.data.incomplete_results;
140048
+ delete response.data.repository_selection;
140049
+ delete response.data.total_count;
140050
+ delete response.data.total_commits;
140051
+ const namespaceKey = Object.keys(response.data)[0];
140052
+ const data = response.data[namespaceKey];
140053
+ response.data = data;
140054
+ if (typeof incompleteResults !== "undefined") {
140055
+ response.data.incomplete_results = incompleteResults;
140056
+ }
140057
+ if (typeof repositorySelection !== "undefined") {
140058
+ response.data.repository_selection = repositorySelection;
140059
+ }
140060
+ response.data.total_count = totalCount;
140061
+ response.data.total_commits = totalCommits;
140062
+ return response;
140063
+ }
140064
+ function iterator(octokit, route, parameters) {
140065
+ const options = typeof route === "function" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters);
140066
+ const requestMethod = typeof route === "function" ? route : octokit.request;
140067
+ const method = options.method;
140068
+ const headers = options.headers;
140069
+ let url = options.url;
140070
+ return {
140071
+ [Symbol.asyncIterator]: () => ({
140072
+ async next() {
140073
+ if (!url)
140074
+ return { done: true };
140075
+ try {
140076
+ const response = await requestMethod({ method, url, headers });
140077
+ const normalizedResponse = normalizePaginatedListResponse(response);
140078
+ url = ((normalizedResponse.headers.link || "").match(/<([^<>]+)>;\s*rel="next"/) || [])[1];
140079
+ if (!url && "total_commits" in normalizedResponse.data) {
140080
+ const parsedUrl = new URL(normalizedResponse.url);
140081
+ const params = parsedUrl.searchParams;
140082
+ const page = parseInt(params.get("page") || "1", 10);
140083
+ const per_page = parseInt(params.get("per_page") || "250", 10);
140084
+ if (page * per_page < normalizedResponse.data.total_commits) {
140085
+ params.set("page", String(page + 1));
140086
+ url = parsedUrl.toString();
140087
+ }
140088
+ }
140089
+ return { value: normalizedResponse };
140090
+ } catch (error) {
140091
+ if (error.status !== 409)
140092
+ throw error;
140093
+ url = "";
140094
+ return {
140095
+ value: {
140096
+ status: 200,
140097
+ headers: {},
140098
+ data: []
140099
+ }
140100
+ };
140101
+ }
140102
+ }
140103
+ })
140104
+ };
140105
+ }
140106
+ function paginate(octokit, route, parameters, mapFn) {
140107
+ if (typeof parameters === "function") {
140108
+ mapFn = parameters;
140109
+ parameters = undefined;
140110
+ }
140111
+ return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn);
140112
+ }
140113
+ function gather(octokit, results, iterator2, mapFn) {
140114
+ return iterator2.next().then((result) => {
140115
+ if (result.done) {
140116
+ return results;
140117
+ }
140118
+ let earlyExit = false;
140119
+ function done() {
140120
+ earlyExit = true;
140121
+ }
140122
+ results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data);
140123
+ if (earlyExit) {
140124
+ return results;
140125
+ }
140126
+ return gather(octokit, results, iterator2, mapFn);
140127
+ });
140128
+ }
140129
+ var composePaginateRest = Object.assign(paginate, {
140130
+ iterator
140131
+ });
140132
+ function paginateRest(octokit) {
140133
+ return {
140134
+ paginate: Object.assign(paginate.bind(null, octokit), {
140135
+ iterator: iterator.bind(null, octokit)
140136
+ })
140137
+ };
140138
+ }
140139
+ paginateRest.VERSION = VERSION6;
140140
+
140141
+ // node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js
140142
+ var VERSION7 = "17.0.0";
140143
+
140144
+ // node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js
140145
+ var Endpoints = {
140146
+ actions: {
140147
+ addCustomLabelsToSelfHostedRunnerForOrg: [
140148
+ "POST /orgs/{org}/actions/runners/{runner_id}/labels"
140149
+ ],
140150
+ addCustomLabelsToSelfHostedRunnerForRepo: [
140151
+ "POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"
140152
+ ],
140153
+ addRepoAccessToSelfHostedRunnerGroupInOrg: [
140154
+ "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}"
140155
+ ],
140156
+ addSelectedRepoToOrgSecret: [
140157
+ "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"
140158
+ ],
140159
+ addSelectedRepoToOrgVariable: [
140160
+ "PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"
140161
+ ],
140162
+ approveWorkflowRun: [
140163
+ "POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"
140164
+ ],
140165
+ cancelWorkflowRun: [
140166
+ "POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"
140167
+ ],
140168
+ createEnvironmentVariable: [
140169
+ "POST /repos/{owner}/{repo}/environments/{environment_name}/variables"
140170
+ ],
140171
+ createHostedRunnerForOrg: ["POST /orgs/{org}/actions/hosted-runners"],
140172
+ createOrUpdateEnvironmentSecret: [
140173
+ "PUT /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"
140174
+ ],
140175
+ createOrUpdateOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}"],
140176
+ createOrUpdateRepoSecret: [
140177
+ "PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"
140178
+ ],
140179
+ createOrgVariable: ["POST /orgs/{org}/actions/variables"],
140180
+ createRegistrationTokenForOrg: [
140181
+ "POST /orgs/{org}/actions/runners/registration-token"
140182
+ ],
140183
+ createRegistrationTokenForRepo: [
140184
+ "POST /repos/{owner}/{repo}/actions/runners/registration-token"
140185
+ ],
140186
+ createRemoveTokenForOrg: ["POST /orgs/{org}/actions/runners/remove-token"],
140187
+ createRemoveTokenForRepo: [
140188
+ "POST /repos/{owner}/{repo}/actions/runners/remove-token"
140189
+ ],
140190
+ createRepoVariable: ["POST /repos/{owner}/{repo}/actions/variables"],
140191
+ createWorkflowDispatch: [
140192
+ "POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"
140193
+ ],
140194
+ deleteActionsCacheById: [
140195
+ "DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}"
140196
+ ],
140197
+ deleteActionsCacheByKey: [
140198
+ "DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}"
140199
+ ],
140200
+ deleteArtifact: [
140201
+ "DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"
140202
+ ],
140203
+ deleteCustomImageFromOrg: [
140204
+ "DELETE /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}"
140205
+ ],
140206
+ deleteCustomImageVersionFromOrg: [
140207
+ "DELETE /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions/{version}"
140208
+ ],
140209
+ deleteEnvironmentSecret: [
140210
+ "DELETE /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"
140211
+ ],
140212
+ deleteEnvironmentVariable: [
140213
+ "DELETE /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"
140214
+ ],
140215
+ deleteHostedRunnerForOrg: [
140216
+ "DELETE /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"
140217
+ ],
140218
+ deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"],
140219
+ deleteOrgVariable: ["DELETE /orgs/{org}/actions/variables/{name}"],
140220
+ deleteRepoSecret: [
140221
+ "DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"
140222
+ ],
140223
+ deleteRepoVariable: [
140224
+ "DELETE /repos/{owner}/{repo}/actions/variables/{name}"
140225
+ ],
140226
+ deleteSelfHostedRunnerFromOrg: [
140227
+ "DELETE /orgs/{org}/actions/runners/{runner_id}"
140228
+ ],
140229
+ deleteSelfHostedRunnerFromRepo: [
140230
+ "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"
140231
+ ],
140232
+ deleteWorkflowRun: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"],
140233
+ deleteWorkflowRunLogs: [
140234
+ "DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"
140235
+ ],
140236
+ disableSelectedRepositoryGithubActionsOrganization: [
140237
+ "DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"
140238
+ ],
140239
+ disableWorkflow: [
140240
+ "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"
140241
+ ],
140242
+ downloadArtifact: [
140243
+ "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"
140244
+ ],
140245
+ downloadJobLogsForWorkflowRun: [
140246
+ "GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"
140247
+ ],
140248
+ downloadWorkflowRunAttemptLogs: [
140249
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs"
140250
+ ],
140251
+ downloadWorkflowRunLogs: [
140252
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"
140253
+ ],
140254
+ enableSelectedRepositoryGithubActionsOrganization: [
140255
+ "PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"
140256
+ ],
140257
+ enableWorkflow: [
140258
+ "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"
140259
+ ],
140260
+ forceCancelWorkflowRun: [
140261
+ "POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel"
140262
+ ],
140263
+ generateRunnerJitconfigForOrg: [
140264
+ "POST /orgs/{org}/actions/runners/generate-jitconfig"
140265
+ ],
140266
+ generateRunnerJitconfigForRepo: [
140267
+ "POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig"
140268
+ ],
140269
+ getActionsCacheList: ["GET /repos/{owner}/{repo}/actions/caches"],
140270
+ getActionsCacheUsage: ["GET /repos/{owner}/{repo}/actions/cache/usage"],
140271
+ getActionsCacheUsageByRepoForOrg: [
140272
+ "GET /orgs/{org}/actions/cache/usage-by-repository"
140273
+ ],
140274
+ getActionsCacheUsageForOrg: ["GET /orgs/{org}/actions/cache/usage"],
140275
+ getAllowedActionsOrganization: [
140276
+ "GET /orgs/{org}/actions/permissions/selected-actions"
140277
+ ],
140278
+ getAllowedActionsRepository: [
140279
+ "GET /repos/{owner}/{repo}/actions/permissions/selected-actions"
140280
+ ],
140281
+ getArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],
140282
+ getCustomImageForOrg: [
140283
+ "GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}"
140284
+ ],
140285
+ getCustomImageVersionForOrg: [
140286
+ "GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions/{version}"
140287
+ ],
140288
+ getCustomOidcSubClaimForRepo: [
140289
+ "GET /repos/{owner}/{repo}/actions/oidc/customization/sub"
140290
+ ],
140291
+ getEnvironmentPublicKey: [
140292
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key"
140293
+ ],
140294
+ getEnvironmentSecret: [
140295
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"
140296
+ ],
140297
+ getEnvironmentVariable: [
140298
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"
140299
+ ],
140300
+ getGithubActionsDefaultWorkflowPermissionsOrganization: [
140301
+ "GET /orgs/{org}/actions/permissions/workflow"
140302
+ ],
140303
+ getGithubActionsDefaultWorkflowPermissionsRepository: [
140304
+ "GET /repos/{owner}/{repo}/actions/permissions/workflow"
140305
+ ],
140306
+ getGithubActionsPermissionsOrganization: [
140307
+ "GET /orgs/{org}/actions/permissions"
140308
+ ],
140309
+ getGithubActionsPermissionsRepository: [
140310
+ "GET /repos/{owner}/{repo}/actions/permissions"
140311
+ ],
140312
+ getHostedRunnerForOrg: [
140313
+ "GET /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"
140314
+ ],
140315
+ getHostedRunnersGithubOwnedImagesForOrg: [
140316
+ "GET /orgs/{org}/actions/hosted-runners/images/github-owned"
140317
+ ],
140318
+ getHostedRunnersLimitsForOrg: [
140319
+ "GET /orgs/{org}/actions/hosted-runners/limits"
140320
+ ],
140321
+ getHostedRunnersMachineSpecsForOrg: [
140322
+ "GET /orgs/{org}/actions/hosted-runners/machine-sizes"
140323
+ ],
140324
+ getHostedRunnersPartnerImagesForOrg: [
140325
+ "GET /orgs/{org}/actions/hosted-runners/images/partner"
140326
+ ],
140327
+ getHostedRunnersPlatformsForOrg: [
140328
+ "GET /orgs/{org}/actions/hosted-runners/platforms"
140329
+ ],
140330
+ getJobForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"],
140331
+ getOrgPublicKey: ["GET /orgs/{org}/actions/secrets/public-key"],
140332
+ getOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}"],
140333
+ getOrgVariable: ["GET /orgs/{org}/actions/variables/{name}"],
140334
+ getPendingDeploymentsForRun: [
140335
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"
140336
+ ],
140337
+ getRepoPermissions: [
140338
+ "GET /repos/{owner}/{repo}/actions/permissions",
140339
+ {},
140340
+ { renamed: ["actions", "getGithubActionsPermissionsRepository"] }
140341
+ ],
140342
+ getRepoPublicKey: ["GET /repos/{owner}/{repo}/actions/secrets/public-key"],
140343
+ getRepoSecret: ["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"],
140344
+ getRepoVariable: ["GET /repos/{owner}/{repo}/actions/variables/{name}"],
140345
+ getReviewsForRun: [
140346
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"
140347
+ ],
140348
+ getSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}"],
140349
+ getSelfHostedRunnerForRepo: [
140350
+ "GET /repos/{owner}/{repo}/actions/runners/{runner_id}"
140351
+ ],
140352
+ getWorkflow: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"],
140353
+ getWorkflowAccessToRepository: [
140354
+ "GET /repos/{owner}/{repo}/actions/permissions/access"
140355
+ ],
140356
+ getWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}"],
140357
+ getWorkflowRunAttempt: [
140358
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}"
140359
+ ],
140360
+ getWorkflowRunUsage: [
140361
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"
140362
+ ],
140363
+ getWorkflowUsage: [
140364
+ "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"
140365
+ ],
140366
+ listArtifactsForRepo: ["GET /repos/{owner}/{repo}/actions/artifacts"],
140367
+ listCustomImageVersionsForOrg: [
140368
+ "GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions"
140369
+ ],
140370
+ listCustomImagesForOrg: [
140371
+ "GET /orgs/{org}/actions/hosted-runners/images/custom"
140372
+ ],
140373
+ listEnvironmentSecrets: [
140374
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets"
140375
+ ],
140376
+ listEnvironmentVariables: [
140377
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/variables"
140378
+ ],
140379
+ listGithubHostedRunnersInGroupForOrg: [
140380
+ "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners"
140381
+ ],
140382
+ listHostedRunnersForOrg: ["GET /orgs/{org}/actions/hosted-runners"],
140383
+ listJobsForWorkflowRun: [
140384
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"
140385
+ ],
140386
+ listJobsForWorkflowRunAttempt: [
140387
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"
140388
+ ],
140389
+ listLabelsForSelfHostedRunnerForOrg: [
140390
+ "GET /orgs/{org}/actions/runners/{runner_id}/labels"
140391
+ ],
140392
+ listLabelsForSelfHostedRunnerForRepo: [
140393
+ "GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"
140394
+ ],
140395
+ listOrgSecrets: ["GET /orgs/{org}/actions/secrets"],
140396
+ listOrgVariables: ["GET /orgs/{org}/actions/variables"],
140397
+ listRepoOrganizationSecrets: [
140398
+ "GET /repos/{owner}/{repo}/actions/organization-secrets"
140399
+ ],
140400
+ listRepoOrganizationVariables: [
140401
+ "GET /repos/{owner}/{repo}/actions/organization-variables"
140402
+ ],
140403
+ listRepoSecrets: ["GET /repos/{owner}/{repo}/actions/secrets"],
140404
+ listRepoVariables: ["GET /repos/{owner}/{repo}/actions/variables"],
140405
+ listRepoWorkflows: ["GET /repos/{owner}/{repo}/actions/workflows"],
140406
+ listRunnerApplicationsForOrg: ["GET /orgs/{org}/actions/runners/downloads"],
140407
+ listRunnerApplicationsForRepo: [
140408
+ "GET /repos/{owner}/{repo}/actions/runners/downloads"
140409
+ ],
140410
+ listSelectedReposForOrgSecret: [
140411
+ "GET /orgs/{org}/actions/secrets/{secret_name}/repositories"
140412
+ ],
140413
+ listSelectedReposForOrgVariable: [
140414
+ "GET /orgs/{org}/actions/variables/{name}/repositories"
140415
+ ],
140416
+ listSelectedRepositoriesEnabledGithubActionsOrganization: [
140417
+ "GET /orgs/{org}/actions/permissions/repositories"
140418
+ ],
140419
+ listSelfHostedRunnersForOrg: ["GET /orgs/{org}/actions/runners"],
140420
+ listSelfHostedRunnersForRepo: ["GET /repos/{owner}/{repo}/actions/runners"],
140421
+ listWorkflowRunArtifacts: [
140422
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"
140423
+ ],
140424
+ listWorkflowRuns: [
140425
+ "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"
140426
+ ],
140427
+ listWorkflowRunsForRepo: ["GET /repos/{owner}/{repo}/actions/runs"],
140428
+ reRunJobForWorkflowRun: [
140429
+ "POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun"
140430
+ ],
140431
+ reRunWorkflow: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"],
140432
+ reRunWorkflowFailedJobs: [
140433
+ "POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs"
140434
+ ],
140435
+ removeAllCustomLabelsFromSelfHostedRunnerForOrg: [
140436
+ "DELETE /orgs/{org}/actions/runners/{runner_id}/labels"
140437
+ ],
140438
+ removeAllCustomLabelsFromSelfHostedRunnerForRepo: [
140439
+ "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"
140440
+ ],
140441
+ removeCustomLabelFromSelfHostedRunnerForOrg: [
140442
+ "DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}"
140443
+ ],
140444
+ removeCustomLabelFromSelfHostedRunnerForRepo: [
140445
+ "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}"
140446
+ ],
140447
+ removeSelectedRepoFromOrgSecret: [
140448
+ "DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"
140449
+ ],
140450
+ removeSelectedRepoFromOrgVariable: [
140451
+ "DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"
140452
+ ],
140453
+ reviewCustomGatesForRun: [
140454
+ "POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule"
140455
+ ],
140456
+ reviewPendingDeploymentsForRun: [
140457
+ "POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"
140458
+ ],
140459
+ setAllowedActionsOrganization: [
140460
+ "PUT /orgs/{org}/actions/permissions/selected-actions"
140461
+ ],
140462
+ setAllowedActionsRepository: [
140463
+ "PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"
140464
+ ],
140465
+ setCustomLabelsForSelfHostedRunnerForOrg: [
140466
+ "PUT /orgs/{org}/actions/runners/{runner_id}/labels"
140467
+ ],
140468
+ setCustomLabelsForSelfHostedRunnerForRepo: [
140469
+ "PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"
140470
+ ],
140471
+ setCustomOidcSubClaimForRepo: [
140472
+ "PUT /repos/{owner}/{repo}/actions/oidc/customization/sub"
140473
+ ],
140474
+ setGithubActionsDefaultWorkflowPermissionsOrganization: [
140475
+ "PUT /orgs/{org}/actions/permissions/workflow"
140476
+ ],
140477
+ setGithubActionsDefaultWorkflowPermissionsRepository: [
140478
+ "PUT /repos/{owner}/{repo}/actions/permissions/workflow"
140479
+ ],
140480
+ setGithubActionsPermissionsOrganization: [
140481
+ "PUT /orgs/{org}/actions/permissions"
140482
+ ],
140483
+ setGithubActionsPermissionsRepository: [
140484
+ "PUT /repos/{owner}/{repo}/actions/permissions"
140485
+ ],
140486
+ setSelectedReposForOrgSecret: [
140487
+ "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"
140488
+ ],
140489
+ setSelectedReposForOrgVariable: [
140490
+ "PUT /orgs/{org}/actions/variables/{name}/repositories"
140491
+ ],
140492
+ setSelectedRepositoriesEnabledGithubActionsOrganization: [
140493
+ "PUT /orgs/{org}/actions/permissions/repositories"
140494
+ ],
140495
+ setWorkflowAccessToRepository: [
140496
+ "PUT /repos/{owner}/{repo}/actions/permissions/access"
140497
+ ],
140498
+ updateEnvironmentVariable: [
140499
+ "PATCH /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"
140500
+ ],
140501
+ updateHostedRunnerForOrg: [
140502
+ "PATCH /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"
140503
+ ],
140504
+ updateOrgVariable: ["PATCH /orgs/{org}/actions/variables/{name}"],
140505
+ updateRepoVariable: [
140506
+ "PATCH /repos/{owner}/{repo}/actions/variables/{name}"
140507
+ ]
140508
+ },
140509
+ activity: {
140510
+ checkRepoIsStarredByAuthenticatedUser: ["GET /user/starred/{owner}/{repo}"],
140511
+ deleteRepoSubscription: ["DELETE /repos/{owner}/{repo}/subscription"],
140512
+ deleteThreadSubscription: [
140513
+ "DELETE /notifications/threads/{thread_id}/subscription"
140514
+ ],
140515
+ getFeeds: ["GET /feeds"],
140516
+ getRepoSubscription: ["GET /repos/{owner}/{repo}/subscription"],
140517
+ getThread: ["GET /notifications/threads/{thread_id}"],
140518
+ getThreadSubscriptionForAuthenticatedUser: [
140519
+ "GET /notifications/threads/{thread_id}/subscription"
140520
+ ],
140521
+ listEventsForAuthenticatedUser: ["GET /users/{username}/events"],
140522
+ listNotificationsForAuthenticatedUser: ["GET /notifications"],
140523
+ listOrgEventsForAuthenticatedUser: [
140524
+ "GET /users/{username}/events/orgs/{org}"
140525
+ ],
140526
+ listPublicEvents: ["GET /events"],
140527
+ listPublicEventsForRepoNetwork: ["GET /networks/{owner}/{repo}/events"],
140528
+ listPublicEventsForUser: ["GET /users/{username}/events/public"],
140529
+ listPublicOrgEvents: ["GET /orgs/{org}/events"],
140530
+ listReceivedEventsForUser: ["GET /users/{username}/received_events"],
140531
+ listReceivedPublicEventsForUser: [
140532
+ "GET /users/{username}/received_events/public"
140533
+ ],
140534
+ listRepoEvents: ["GET /repos/{owner}/{repo}/events"],
140535
+ listRepoNotificationsForAuthenticatedUser: [
140536
+ "GET /repos/{owner}/{repo}/notifications"
140537
+ ],
140538
+ listReposStarredByAuthenticatedUser: ["GET /user/starred"],
140539
+ listReposStarredByUser: ["GET /users/{username}/starred"],
140540
+ listReposWatchedByUser: ["GET /users/{username}/subscriptions"],
140541
+ listStargazersForRepo: ["GET /repos/{owner}/{repo}/stargazers"],
140542
+ listWatchedReposForAuthenticatedUser: ["GET /user/subscriptions"],
140543
+ listWatchersForRepo: ["GET /repos/{owner}/{repo}/subscribers"],
140544
+ markNotificationsAsRead: ["PUT /notifications"],
140545
+ markRepoNotificationsAsRead: ["PUT /repos/{owner}/{repo}/notifications"],
140546
+ markThreadAsDone: ["DELETE /notifications/threads/{thread_id}"],
140547
+ markThreadAsRead: ["PATCH /notifications/threads/{thread_id}"],
140548
+ setRepoSubscription: ["PUT /repos/{owner}/{repo}/subscription"],
140549
+ setThreadSubscription: [
140550
+ "PUT /notifications/threads/{thread_id}/subscription"
140551
+ ],
140552
+ starRepoForAuthenticatedUser: ["PUT /user/starred/{owner}/{repo}"],
140553
+ unstarRepoForAuthenticatedUser: ["DELETE /user/starred/{owner}/{repo}"]
140554
+ },
140555
+ apps: {
140556
+ addRepoToInstallation: [
140557
+ "PUT /user/installations/{installation_id}/repositories/{repository_id}",
140558
+ {},
140559
+ { renamed: ["apps", "addRepoToInstallationForAuthenticatedUser"] }
140560
+ ],
140561
+ addRepoToInstallationForAuthenticatedUser: [
140562
+ "PUT /user/installations/{installation_id}/repositories/{repository_id}"
140563
+ ],
140564
+ checkToken: ["POST /applications/{client_id}/token"],
140565
+ createFromManifest: ["POST /app-manifests/{code}/conversions"],
140566
+ createInstallationAccessToken: [
140567
+ "POST /app/installations/{installation_id}/access_tokens"
140568
+ ],
140569
+ deleteAuthorization: ["DELETE /applications/{client_id}/grant"],
140570
+ deleteInstallation: ["DELETE /app/installations/{installation_id}"],
140571
+ deleteToken: ["DELETE /applications/{client_id}/token"],
140572
+ getAuthenticated: ["GET /app"],
140573
+ getBySlug: ["GET /apps/{app_slug}"],
140574
+ getInstallation: ["GET /app/installations/{installation_id}"],
140575
+ getOrgInstallation: ["GET /orgs/{org}/installation"],
140576
+ getRepoInstallation: ["GET /repos/{owner}/{repo}/installation"],
140577
+ getSubscriptionPlanForAccount: [
140578
+ "GET /marketplace_listing/accounts/{account_id}"
140579
+ ],
140580
+ getSubscriptionPlanForAccountStubbed: [
140581
+ "GET /marketplace_listing/stubbed/accounts/{account_id}"
140582
+ ],
140583
+ getUserInstallation: ["GET /users/{username}/installation"],
140584
+ getWebhookConfigForApp: ["GET /app/hook/config"],
140585
+ getWebhookDelivery: ["GET /app/hook/deliveries/{delivery_id}"],
140586
+ listAccountsForPlan: ["GET /marketplace_listing/plans/{plan_id}/accounts"],
140587
+ listAccountsForPlanStubbed: [
140588
+ "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"
140589
+ ],
140590
+ listInstallationReposForAuthenticatedUser: [
140591
+ "GET /user/installations/{installation_id}/repositories"
140592
+ ],
140593
+ listInstallationRequestsForAuthenticatedApp: [
140594
+ "GET /app/installation-requests"
140595
+ ],
140596
+ listInstallations: ["GET /app/installations"],
140597
+ listInstallationsForAuthenticatedUser: ["GET /user/installations"],
140598
+ listPlans: ["GET /marketplace_listing/plans"],
140599
+ listPlansStubbed: ["GET /marketplace_listing/stubbed/plans"],
140600
+ listReposAccessibleToInstallation: ["GET /installation/repositories"],
140601
+ listSubscriptionsForAuthenticatedUser: ["GET /user/marketplace_purchases"],
140602
+ listSubscriptionsForAuthenticatedUserStubbed: [
140603
+ "GET /user/marketplace_purchases/stubbed"
140604
+ ],
140605
+ listWebhookDeliveries: ["GET /app/hook/deliveries"],
140606
+ redeliverWebhookDelivery: [
140607
+ "POST /app/hook/deliveries/{delivery_id}/attempts"
140608
+ ],
140609
+ removeRepoFromInstallation: [
140610
+ "DELETE /user/installations/{installation_id}/repositories/{repository_id}",
140611
+ {},
140612
+ { renamed: ["apps", "removeRepoFromInstallationForAuthenticatedUser"] }
140613
+ ],
140614
+ removeRepoFromInstallationForAuthenticatedUser: [
140615
+ "DELETE /user/installations/{installation_id}/repositories/{repository_id}"
140616
+ ],
140617
+ resetToken: ["PATCH /applications/{client_id}/token"],
140618
+ revokeInstallationAccessToken: ["DELETE /installation/token"],
140619
+ scopeToken: ["POST /applications/{client_id}/token/scoped"],
140620
+ suspendInstallation: ["PUT /app/installations/{installation_id}/suspended"],
140621
+ unsuspendInstallation: [
140622
+ "DELETE /app/installations/{installation_id}/suspended"
140623
+ ],
140624
+ updateWebhookConfigForApp: ["PATCH /app/hook/config"]
140625
+ },
140626
+ billing: {
140627
+ getGithubActionsBillingOrg: ["GET /orgs/{org}/settings/billing/actions"],
140628
+ getGithubActionsBillingUser: [
140629
+ "GET /users/{username}/settings/billing/actions"
140630
+ ],
140631
+ getGithubBillingPremiumRequestUsageReportOrg: [
140632
+ "GET /organizations/{org}/settings/billing/premium_request/usage"
140633
+ ],
140634
+ getGithubBillingPremiumRequestUsageReportUser: [
140635
+ "GET /users/{username}/settings/billing/premium_request/usage"
140636
+ ],
140637
+ getGithubBillingUsageReportOrg: [
140638
+ "GET /organizations/{org}/settings/billing/usage"
140639
+ ],
140640
+ getGithubBillingUsageReportUser: [
140641
+ "GET /users/{username}/settings/billing/usage"
140642
+ ],
140643
+ getGithubPackagesBillingOrg: ["GET /orgs/{org}/settings/billing/packages"],
140644
+ getGithubPackagesBillingUser: [
140645
+ "GET /users/{username}/settings/billing/packages"
140646
+ ],
140647
+ getSharedStorageBillingOrg: [
140648
+ "GET /orgs/{org}/settings/billing/shared-storage"
140649
+ ],
140650
+ getSharedStorageBillingUser: [
140651
+ "GET /users/{username}/settings/billing/shared-storage"
140652
+ ]
140653
+ },
140654
+ campaigns: {
140655
+ createCampaign: ["POST /orgs/{org}/campaigns"],
140656
+ deleteCampaign: ["DELETE /orgs/{org}/campaigns/{campaign_number}"],
140657
+ getCampaignSummary: ["GET /orgs/{org}/campaigns/{campaign_number}"],
140658
+ listOrgCampaigns: ["GET /orgs/{org}/campaigns"],
140659
+ updateCampaign: ["PATCH /orgs/{org}/campaigns/{campaign_number}"]
140660
+ },
140661
+ checks: {
140662
+ create: ["POST /repos/{owner}/{repo}/check-runs"],
140663
+ createSuite: ["POST /repos/{owner}/{repo}/check-suites"],
140664
+ get: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"],
140665
+ getSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"],
140666
+ listAnnotations: [
140667
+ "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"
140668
+ ],
140669
+ listForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"],
140670
+ listForSuite: [
140671
+ "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"
140672
+ ],
140673
+ listSuitesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"],
140674
+ rerequestRun: [
140675
+ "POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest"
140676
+ ],
140677
+ rerequestSuite: [
140678
+ "POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest"
140679
+ ],
140680
+ setSuitesPreferences: [
140681
+ "PATCH /repos/{owner}/{repo}/check-suites/preferences"
140682
+ ],
140683
+ update: ["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"]
140684
+ },
140685
+ codeScanning: {
140686
+ commitAutofix: [
140687
+ "POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix/commits"
140688
+ ],
140689
+ createAutofix: [
140690
+ "POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix"
140691
+ ],
140692
+ createVariantAnalysis: [
140693
+ "POST /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses"
140694
+ ],
140695
+ deleteAnalysis: [
140696
+ "DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"
140697
+ ],
140698
+ deleteCodeqlDatabase: [
140699
+ "DELETE /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}"
140700
+ ],
140701
+ getAlert: [
140702
+ "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}",
140703
+ {},
140704
+ { renamedParameters: { alert_id: "alert_number" } }
140705
+ ],
140706
+ getAnalysis: [
140707
+ "GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"
140708
+ ],
140709
+ getAutofix: [
140710
+ "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix"
140711
+ ],
140712
+ getCodeqlDatabase: [
140713
+ "GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}"
140714
+ ],
140715
+ getDefaultSetup: ["GET /repos/{owner}/{repo}/code-scanning/default-setup"],
140716
+ getSarif: ["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"],
140717
+ getVariantAnalysis: [
140718
+ "GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}"
140719
+ ],
140720
+ getVariantAnalysisRepoTask: [
140721
+ "GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}/repos/{repo_owner}/{repo_name}"
140722
+ ],
140723
+ listAlertInstances: [
140724
+ "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"
140725
+ ],
140726
+ listAlertsForOrg: ["GET /orgs/{org}/code-scanning/alerts"],
140727
+ listAlertsForRepo: ["GET /repos/{owner}/{repo}/code-scanning/alerts"],
140728
+ listAlertsInstances: [
140729
+ "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances",
140730
+ {},
140731
+ { renamed: ["codeScanning", "listAlertInstances"] }
140732
+ ],
140733
+ listCodeqlDatabases: [
140734
+ "GET /repos/{owner}/{repo}/code-scanning/codeql/databases"
140735
+ ],
140736
+ listRecentAnalyses: ["GET /repos/{owner}/{repo}/code-scanning/analyses"],
140737
+ updateAlert: [
140738
+ "PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"
140739
+ ],
140740
+ updateDefaultSetup: [
140741
+ "PATCH /repos/{owner}/{repo}/code-scanning/default-setup"
140742
+ ],
140743
+ uploadSarif: ["POST /repos/{owner}/{repo}/code-scanning/sarifs"]
140744
+ },
140745
+ codeSecurity: {
140746
+ attachConfiguration: [
140747
+ "POST /orgs/{org}/code-security/configurations/{configuration_id}/attach"
140748
+ ],
140749
+ attachEnterpriseConfiguration: [
140750
+ "POST /enterprises/{enterprise}/code-security/configurations/{configuration_id}/attach"
140751
+ ],
140752
+ createConfiguration: ["POST /orgs/{org}/code-security/configurations"],
140753
+ createConfigurationForEnterprise: [
140754
+ "POST /enterprises/{enterprise}/code-security/configurations"
140755
+ ],
140756
+ deleteConfiguration: [
140757
+ "DELETE /orgs/{org}/code-security/configurations/{configuration_id}"
140758
+ ],
140759
+ deleteConfigurationForEnterprise: [
140760
+ "DELETE /enterprises/{enterprise}/code-security/configurations/{configuration_id}"
140761
+ ],
140762
+ detachConfiguration: [
140763
+ "DELETE /orgs/{org}/code-security/configurations/detach"
140764
+ ],
140765
+ getConfiguration: [
140766
+ "GET /orgs/{org}/code-security/configurations/{configuration_id}"
140767
+ ],
140768
+ getConfigurationForRepository: [
140769
+ "GET /repos/{owner}/{repo}/code-security-configuration"
140770
+ ],
140771
+ getConfigurationsForEnterprise: [
140772
+ "GET /enterprises/{enterprise}/code-security/configurations"
140773
+ ],
140774
+ getConfigurationsForOrg: ["GET /orgs/{org}/code-security/configurations"],
140775
+ getDefaultConfigurations: [
140776
+ "GET /orgs/{org}/code-security/configurations/defaults"
140777
+ ],
140778
+ getDefaultConfigurationsForEnterprise: [
140779
+ "GET /enterprises/{enterprise}/code-security/configurations/defaults"
140780
+ ],
140781
+ getRepositoriesForConfiguration: [
140782
+ "GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories"
140783
+ ],
140784
+ getRepositoriesForEnterpriseConfiguration: [
140785
+ "GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories"
140786
+ ],
140787
+ getSingleConfigurationForEnterprise: [
140788
+ "GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}"
140789
+ ],
140790
+ setConfigurationAsDefault: [
140791
+ "PUT /orgs/{org}/code-security/configurations/{configuration_id}/defaults"
140792
+ ],
140793
+ setConfigurationAsDefaultForEnterprise: [
140794
+ "PUT /enterprises/{enterprise}/code-security/configurations/{configuration_id}/defaults"
140795
+ ],
140796
+ updateConfiguration: [
140797
+ "PATCH /orgs/{org}/code-security/configurations/{configuration_id}"
140798
+ ],
140799
+ updateEnterpriseConfiguration: [
140800
+ "PATCH /enterprises/{enterprise}/code-security/configurations/{configuration_id}"
140801
+ ]
140802
+ },
140803
+ codesOfConduct: {
140804
+ getAllCodesOfConduct: ["GET /codes_of_conduct"],
140805
+ getConductCode: ["GET /codes_of_conduct/{key}"]
140806
+ },
140807
+ codespaces: {
140808
+ addRepositoryForSecretForAuthenticatedUser: [
140809
+ "PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"
140810
+ ],
140811
+ addSelectedRepoToOrgSecret: [
140812
+ "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"
140813
+ ],
140814
+ checkPermissionsForDevcontainer: [
140815
+ "GET /repos/{owner}/{repo}/codespaces/permissions_check"
140816
+ ],
140817
+ codespaceMachinesForAuthenticatedUser: [
140818
+ "GET /user/codespaces/{codespace_name}/machines"
140819
+ ],
140820
+ createForAuthenticatedUser: ["POST /user/codespaces"],
140821
+ createOrUpdateOrgSecret: [
140822
+ "PUT /orgs/{org}/codespaces/secrets/{secret_name}"
140823
+ ],
140824
+ createOrUpdateRepoSecret: [
140825
+ "PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"
140826
+ ],
140827
+ createOrUpdateSecretForAuthenticatedUser: [
140828
+ "PUT /user/codespaces/secrets/{secret_name}"
140829
+ ],
140830
+ createWithPrForAuthenticatedUser: [
140831
+ "POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces"
140832
+ ],
140833
+ createWithRepoForAuthenticatedUser: [
140834
+ "POST /repos/{owner}/{repo}/codespaces"
140835
+ ],
140836
+ deleteForAuthenticatedUser: ["DELETE /user/codespaces/{codespace_name}"],
140837
+ deleteFromOrganization: [
140838
+ "DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}"
140839
+ ],
140840
+ deleteOrgSecret: ["DELETE /orgs/{org}/codespaces/secrets/{secret_name}"],
140841
+ deleteRepoSecret: [
140842
+ "DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"
140843
+ ],
140844
+ deleteSecretForAuthenticatedUser: [
140845
+ "DELETE /user/codespaces/secrets/{secret_name}"
140846
+ ],
140847
+ exportForAuthenticatedUser: [
140848
+ "POST /user/codespaces/{codespace_name}/exports"
140849
+ ],
140850
+ getCodespacesForUserInOrg: [
140851
+ "GET /orgs/{org}/members/{username}/codespaces"
140852
+ ],
140853
+ getExportDetailsForAuthenticatedUser: [
140854
+ "GET /user/codespaces/{codespace_name}/exports/{export_id}"
140855
+ ],
140856
+ getForAuthenticatedUser: ["GET /user/codespaces/{codespace_name}"],
140857
+ getOrgPublicKey: ["GET /orgs/{org}/codespaces/secrets/public-key"],
140858
+ getOrgSecret: ["GET /orgs/{org}/codespaces/secrets/{secret_name}"],
140859
+ getPublicKeyForAuthenticatedUser: [
140860
+ "GET /user/codespaces/secrets/public-key"
140861
+ ],
140862
+ getRepoPublicKey: [
140863
+ "GET /repos/{owner}/{repo}/codespaces/secrets/public-key"
140864
+ ],
140865
+ getRepoSecret: [
140866
+ "GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"
140867
+ ],
140868
+ getSecretForAuthenticatedUser: [
140869
+ "GET /user/codespaces/secrets/{secret_name}"
140870
+ ],
140871
+ listDevcontainersInRepositoryForAuthenticatedUser: [
140872
+ "GET /repos/{owner}/{repo}/codespaces/devcontainers"
140873
+ ],
140874
+ listForAuthenticatedUser: ["GET /user/codespaces"],
140875
+ listInOrganization: [
140876
+ "GET /orgs/{org}/codespaces",
140877
+ {},
140878
+ { renamedParameters: { org_id: "org" } }
140879
+ ],
140880
+ listInRepositoryForAuthenticatedUser: [
140881
+ "GET /repos/{owner}/{repo}/codespaces"
140882
+ ],
140883
+ listOrgSecrets: ["GET /orgs/{org}/codespaces/secrets"],
140884
+ listRepoSecrets: ["GET /repos/{owner}/{repo}/codespaces/secrets"],
140885
+ listRepositoriesForSecretForAuthenticatedUser: [
140886
+ "GET /user/codespaces/secrets/{secret_name}/repositories"
140887
+ ],
140888
+ listSecretsForAuthenticatedUser: ["GET /user/codespaces/secrets"],
140889
+ listSelectedReposForOrgSecret: [
140890
+ "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories"
140891
+ ],
140892
+ preFlightWithRepoForAuthenticatedUser: [
140893
+ "GET /repos/{owner}/{repo}/codespaces/new"
140894
+ ],
140895
+ publishForAuthenticatedUser: [
140896
+ "POST /user/codespaces/{codespace_name}/publish"
140897
+ ],
140898
+ removeRepositoryForSecretForAuthenticatedUser: [
140899
+ "DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"
140900
+ ],
140901
+ removeSelectedRepoFromOrgSecret: [
140902
+ "DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"
140903
+ ],
140904
+ repoMachinesForAuthenticatedUser: [
140905
+ "GET /repos/{owner}/{repo}/codespaces/machines"
140906
+ ],
140907
+ setRepositoriesForSecretForAuthenticatedUser: [
140908
+ "PUT /user/codespaces/secrets/{secret_name}/repositories"
140909
+ ],
140910
+ setSelectedReposForOrgSecret: [
140911
+ "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories"
140912
+ ],
140913
+ startForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/start"],
140914
+ stopForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/stop"],
140915
+ stopInOrganization: [
140916
+ "POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop"
140917
+ ],
140918
+ updateForAuthenticatedUser: ["PATCH /user/codespaces/{codespace_name}"]
140919
+ },
140920
+ copilot: {
140921
+ addCopilotSeatsForTeams: [
140922
+ "POST /orgs/{org}/copilot/billing/selected_teams"
140923
+ ],
140924
+ addCopilotSeatsForUsers: [
140925
+ "POST /orgs/{org}/copilot/billing/selected_users"
140926
+ ],
140927
+ cancelCopilotSeatAssignmentForTeams: [
140928
+ "DELETE /orgs/{org}/copilot/billing/selected_teams"
140929
+ ],
140930
+ cancelCopilotSeatAssignmentForUsers: [
140931
+ "DELETE /orgs/{org}/copilot/billing/selected_users"
140932
+ ],
140933
+ copilotMetricsForOrganization: ["GET /orgs/{org}/copilot/metrics"],
140934
+ copilotMetricsForTeam: ["GET /orgs/{org}/team/{team_slug}/copilot/metrics"],
140935
+ getCopilotOrganizationDetails: ["GET /orgs/{org}/copilot/billing"],
140936
+ getCopilotSeatDetailsForUser: [
140937
+ "GET /orgs/{org}/members/{username}/copilot"
140938
+ ],
140939
+ listCopilotSeats: ["GET /orgs/{org}/copilot/billing/seats"]
140940
+ },
140941
+ credentials: { revoke: ["POST /credentials/revoke"] },
140942
+ dependabot: {
140943
+ addSelectedRepoToOrgSecret: [
140944
+ "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"
140945
+ ],
140946
+ createOrUpdateOrgSecret: [
140947
+ "PUT /orgs/{org}/dependabot/secrets/{secret_name}"
140948
+ ],
140949
+ createOrUpdateRepoSecret: [
140950
+ "PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"
140951
+ ],
140952
+ deleteOrgSecret: ["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"],
140953
+ deleteRepoSecret: [
140954
+ "DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"
140955
+ ],
140956
+ getAlert: ["GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"],
140957
+ getOrgPublicKey: ["GET /orgs/{org}/dependabot/secrets/public-key"],
140958
+ getOrgSecret: ["GET /orgs/{org}/dependabot/secrets/{secret_name}"],
140959
+ getRepoPublicKey: [
140960
+ "GET /repos/{owner}/{repo}/dependabot/secrets/public-key"
140961
+ ],
140962
+ getRepoSecret: [
140963
+ "GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"
140964
+ ],
140965
+ listAlertsForEnterprise: [
140966
+ "GET /enterprises/{enterprise}/dependabot/alerts"
140967
+ ],
140968
+ listAlertsForOrg: ["GET /orgs/{org}/dependabot/alerts"],
140969
+ listAlertsForRepo: ["GET /repos/{owner}/{repo}/dependabot/alerts"],
140970
+ listOrgSecrets: ["GET /orgs/{org}/dependabot/secrets"],
140971
+ listRepoSecrets: ["GET /repos/{owner}/{repo}/dependabot/secrets"],
140972
+ listSelectedReposForOrgSecret: [
140973
+ "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"
140974
+ ],
140975
+ removeSelectedRepoFromOrgSecret: [
140976
+ "DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"
140977
+ ],
140978
+ repositoryAccessForOrg: [
140979
+ "GET /organizations/{org}/dependabot/repository-access"
140980
+ ],
140981
+ setRepositoryAccessDefaultLevel: [
140982
+ "PUT /organizations/{org}/dependabot/repository-access/default-level"
140983
+ ],
140984
+ setSelectedReposForOrgSecret: [
140985
+ "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories"
140986
+ ],
140987
+ updateAlert: [
140988
+ "PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"
140989
+ ],
140990
+ updateRepositoryAccessForOrg: [
140991
+ "PATCH /organizations/{org}/dependabot/repository-access"
140992
+ ]
140993
+ },
140994
+ dependencyGraph: {
140995
+ createRepositorySnapshot: [
140996
+ "POST /repos/{owner}/{repo}/dependency-graph/snapshots"
140997
+ ],
140998
+ diffRange: [
140999
+ "GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}"
141000
+ ],
141001
+ exportSbom: ["GET /repos/{owner}/{repo}/dependency-graph/sbom"]
141002
+ },
141003
+ emojis: { get: ["GET /emojis"] },
141004
+ enterpriseTeamMemberships: {
141005
+ add: [
141006
+ "PUT /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}"
141007
+ ],
141008
+ bulkAdd: [
141009
+ "POST /enterprises/{enterprise}/teams/{enterprise-team}/memberships/add"
141010
+ ],
141011
+ bulkRemove: [
141012
+ "POST /enterprises/{enterprise}/teams/{enterprise-team}/memberships/remove"
141013
+ ],
141014
+ get: [
141015
+ "GET /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}"
141016
+ ],
141017
+ list: ["GET /enterprises/{enterprise}/teams/{enterprise-team}/memberships"],
141018
+ remove: [
141019
+ "DELETE /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}"
141020
+ ]
141021
+ },
141022
+ enterpriseTeamOrganizations: {
141023
+ add: [
141024
+ "PUT /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}"
141025
+ ],
141026
+ bulkAdd: [
141027
+ "POST /enterprises/{enterprise}/teams/{enterprise-team}/organizations/add"
141028
+ ],
141029
+ bulkRemove: [
141030
+ "POST /enterprises/{enterprise}/teams/{enterprise-team}/organizations/remove"
141031
+ ],
141032
+ delete: [
141033
+ "DELETE /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}"
141034
+ ],
141035
+ getAssignment: [
141036
+ "GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}"
141037
+ ],
141038
+ getAssignments: [
141039
+ "GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations"
141040
+ ]
141041
+ },
141042
+ enterpriseTeams: {
141043
+ create: ["POST /enterprises/{enterprise}/teams"],
141044
+ delete: ["DELETE /enterprises/{enterprise}/teams/{team_slug}"],
141045
+ get: ["GET /enterprises/{enterprise}/teams/{team_slug}"],
141046
+ list: ["GET /enterprises/{enterprise}/teams"],
141047
+ update: ["PATCH /enterprises/{enterprise}/teams/{team_slug}"]
141048
+ },
141049
+ gists: {
141050
+ checkIsStarred: ["GET /gists/{gist_id}/star"],
141051
+ create: ["POST /gists"],
141052
+ createComment: ["POST /gists/{gist_id}/comments"],
141053
+ delete: ["DELETE /gists/{gist_id}"],
141054
+ deleteComment: ["DELETE /gists/{gist_id}/comments/{comment_id}"],
141055
+ fork: ["POST /gists/{gist_id}/forks"],
141056
+ get: ["GET /gists/{gist_id}"],
141057
+ getComment: ["GET /gists/{gist_id}/comments/{comment_id}"],
141058
+ getRevision: ["GET /gists/{gist_id}/{sha}"],
141059
+ list: ["GET /gists"],
141060
+ listComments: ["GET /gists/{gist_id}/comments"],
141061
+ listCommits: ["GET /gists/{gist_id}/commits"],
141062
+ listForUser: ["GET /users/{username}/gists"],
141063
+ listForks: ["GET /gists/{gist_id}/forks"],
141064
+ listPublic: ["GET /gists/public"],
141065
+ listStarred: ["GET /gists/starred"],
141066
+ star: ["PUT /gists/{gist_id}/star"],
141067
+ unstar: ["DELETE /gists/{gist_id}/star"],
141068
+ update: ["PATCH /gists/{gist_id}"],
141069
+ updateComment: ["PATCH /gists/{gist_id}/comments/{comment_id}"]
141070
+ },
141071
+ git: {
141072
+ createBlob: ["POST /repos/{owner}/{repo}/git/blobs"],
141073
+ createCommit: ["POST /repos/{owner}/{repo}/git/commits"],
141074
+ createRef: ["POST /repos/{owner}/{repo}/git/refs"],
141075
+ createTag: ["POST /repos/{owner}/{repo}/git/tags"],
141076
+ createTree: ["POST /repos/{owner}/{repo}/git/trees"],
141077
+ deleteRef: ["DELETE /repos/{owner}/{repo}/git/refs/{ref}"],
141078
+ getBlob: ["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"],
141079
+ getCommit: ["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"],
141080
+ getRef: ["GET /repos/{owner}/{repo}/git/ref/{ref}"],
141081
+ getTag: ["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"],
141082
+ getTree: ["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"],
141083
+ listMatchingRefs: ["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"],
141084
+ updateRef: ["PATCH /repos/{owner}/{repo}/git/refs/{ref}"]
141085
+ },
141086
+ gitignore: {
141087
+ getAllTemplates: ["GET /gitignore/templates"],
141088
+ getTemplate: ["GET /gitignore/templates/{name}"]
141089
+ },
141090
+ hostedCompute: {
141091
+ createNetworkConfigurationForOrg: [
141092
+ "POST /orgs/{org}/settings/network-configurations"
141093
+ ],
141094
+ deleteNetworkConfigurationFromOrg: [
141095
+ "DELETE /orgs/{org}/settings/network-configurations/{network_configuration_id}"
141096
+ ],
141097
+ getNetworkConfigurationForOrg: [
141098
+ "GET /orgs/{org}/settings/network-configurations/{network_configuration_id}"
141099
+ ],
141100
+ getNetworkSettingsForOrg: [
141101
+ "GET /orgs/{org}/settings/network-settings/{network_settings_id}"
141102
+ ],
141103
+ listNetworkConfigurationsForOrg: [
141104
+ "GET /orgs/{org}/settings/network-configurations"
141105
+ ],
141106
+ updateNetworkConfigurationForOrg: [
141107
+ "PATCH /orgs/{org}/settings/network-configurations/{network_configuration_id}"
141108
+ ]
141109
+ },
141110
+ interactions: {
141111
+ getRestrictionsForAuthenticatedUser: ["GET /user/interaction-limits"],
141112
+ getRestrictionsForOrg: ["GET /orgs/{org}/interaction-limits"],
141113
+ getRestrictionsForRepo: ["GET /repos/{owner}/{repo}/interaction-limits"],
141114
+ getRestrictionsForYourPublicRepos: [
141115
+ "GET /user/interaction-limits",
141116
+ {},
141117
+ { renamed: ["interactions", "getRestrictionsForAuthenticatedUser"] }
141118
+ ],
141119
+ removeRestrictionsForAuthenticatedUser: ["DELETE /user/interaction-limits"],
141120
+ removeRestrictionsForOrg: ["DELETE /orgs/{org}/interaction-limits"],
141121
+ removeRestrictionsForRepo: [
141122
+ "DELETE /repos/{owner}/{repo}/interaction-limits"
141123
+ ],
141124
+ removeRestrictionsForYourPublicRepos: [
141125
+ "DELETE /user/interaction-limits",
141126
+ {},
141127
+ { renamed: ["interactions", "removeRestrictionsForAuthenticatedUser"] }
141128
+ ],
141129
+ setRestrictionsForAuthenticatedUser: ["PUT /user/interaction-limits"],
141130
+ setRestrictionsForOrg: ["PUT /orgs/{org}/interaction-limits"],
141131
+ setRestrictionsForRepo: ["PUT /repos/{owner}/{repo}/interaction-limits"],
141132
+ setRestrictionsForYourPublicRepos: [
141133
+ "PUT /user/interaction-limits",
141134
+ {},
141135
+ { renamed: ["interactions", "setRestrictionsForAuthenticatedUser"] }
141136
+ ]
141137
+ },
141138
+ issues: {
141139
+ addAssignees: [
141140
+ "POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"
141141
+ ],
141142
+ addBlockedByDependency: [
141143
+ "POST /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by"
141144
+ ],
141145
+ addLabels: ["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"],
141146
+ addSubIssue: [
141147
+ "POST /repos/{owner}/{repo}/issues/{issue_number}/sub_issues"
141148
+ ],
141149
+ checkUserCanBeAssigned: ["GET /repos/{owner}/{repo}/assignees/{assignee}"],
141150
+ checkUserCanBeAssignedToIssue: [
141151
+ "GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}"
141152
+ ],
141153
+ create: ["POST /repos/{owner}/{repo}/issues"],
141154
+ createComment: [
141155
+ "POST /repos/{owner}/{repo}/issues/{issue_number}/comments"
141156
+ ],
141157
+ createLabel: ["POST /repos/{owner}/{repo}/labels"],
141158
+ createMilestone: ["POST /repos/{owner}/{repo}/milestones"],
141159
+ deleteComment: [
141160
+ "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"
141161
+ ],
141162
+ deleteLabel: ["DELETE /repos/{owner}/{repo}/labels/{name}"],
141163
+ deleteMilestone: [
141164
+ "DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"
141165
+ ],
141166
+ get: ["GET /repos/{owner}/{repo}/issues/{issue_number}"],
141167
+ getComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"],
141168
+ getEvent: ["GET /repos/{owner}/{repo}/issues/events/{event_id}"],
141169
+ getLabel: ["GET /repos/{owner}/{repo}/labels/{name}"],
141170
+ getMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}"],
141171
+ getParent: ["GET /repos/{owner}/{repo}/issues/{issue_number}/parent"],
141172
+ list: ["GET /issues"],
141173
+ listAssignees: ["GET /repos/{owner}/{repo}/assignees"],
141174
+ listComments: ["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"],
141175
+ listCommentsForRepo: ["GET /repos/{owner}/{repo}/issues/comments"],
141176
+ listDependenciesBlockedBy: [
141177
+ "GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by"
141178
+ ],
141179
+ listDependenciesBlocking: [
141180
+ "GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocking"
141181
+ ],
141182
+ listEvents: ["GET /repos/{owner}/{repo}/issues/{issue_number}/events"],
141183
+ listEventsForRepo: ["GET /repos/{owner}/{repo}/issues/events"],
141184
+ listEventsForTimeline: [
141185
+ "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"
141186
+ ],
141187
+ listForAuthenticatedUser: ["GET /user/issues"],
141188
+ listForOrg: ["GET /orgs/{org}/issues"],
141189
+ listForRepo: ["GET /repos/{owner}/{repo}/issues"],
141190
+ listLabelsForMilestone: [
141191
+ "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"
141192
+ ],
141193
+ listLabelsForRepo: ["GET /repos/{owner}/{repo}/labels"],
141194
+ listLabelsOnIssue: [
141195
+ "GET /repos/{owner}/{repo}/issues/{issue_number}/labels"
141196
+ ],
141197
+ listMilestones: ["GET /repos/{owner}/{repo}/milestones"],
141198
+ listSubIssues: [
141199
+ "GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues"
141200
+ ],
141201
+ lock: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"],
141202
+ removeAllLabels: [
141203
+ "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"
141204
+ ],
141205
+ removeAssignees: [
141206
+ "DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"
141207
+ ],
141208
+ removeDependencyBlockedBy: [
141209
+ "DELETE /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by/{issue_id}"
141210
+ ],
141211
+ removeLabel: [
141212
+ "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"
141213
+ ],
141214
+ removeSubIssue: [
141215
+ "DELETE /repos/{owner}/{repo}/issues/{issue_number}/sub_issue"
141216
+ ],
141217
+ reprioritizeSubIssue: [
141218
+ "PATCH /repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority"
141219
+ ],
141220
+ setLabels: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"],
141221
+ unlock: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"],
141222
+ update: ["PATCH /repos/{owner}/{repo}/issues/{issue_number}"],
141223
+ updateComment: ["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"],
141224
+ updateLabel: ["PATCH /repos/{owner}/{repo}/labels/{name}"],
141225
+ updateMilestone: [
141226
+ "PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"
141227
+ ]
141228
+ },
141229
+ licenses: {
141230
+ get: ["GET /licenses/{license}"],
141231
+ getAllCommonlyUsed: ["GET /licenses"],
141232
+ getForRepo: ["GET /repos/{owner}/{repo}/license"]
141233
+ },
141234
+ markdown: {
141235
+ render: ["POST /markdown"],
141236
+ renderRaw: [
141237
+ "POST /markdown/raw",
141238
+ { headers: { "content-type": "text/plain; charset=utf-8" } }
141239
+ ]
141240
+ },
141241
+ meta: {
141242
+ get: ["GET /meta"],
141243
+ getAllVersions: ["GET /versions"],
141244
+ getOctocat: ["GET /octocat"],
141245
+ getZen: ["GET /zen"],
141246
+ root: ["GET /"]
141247
+ },
141248
+ migrations: {
141249
+ deleteArchiveForAuthenticatedUser: [
141250
+ "DELETE /user/migrations/{migration_id}/archive"
141251
+ ],
141252
+ deleteArchiveForOrg: [
141253
+ "DELETE /orgs/{org}/migrations/{migration_id}/archive"
141254
+ ],
141255
+ downloadArchiveForOrg: [
141256
+ "GET /orgs/{org}/migrations/{migration_id}/archive"
141257
+ ],
141258
+ getArchiveForAuthenticatedUser: [
141259
+ "GET /user/migrations/{migration_id}/archive"
141260
+ ],
141261
+ getStatusForAuthenticatedUser: ["GET /user/migrations/{migration_id}"],
141262
+ getStatusForOrg: ["GET /orgs/{org}/migrations/{migration_id}"],
141263
+ listForAuthenticatedUser: ["GET /user/migrations"],
141264
+ listForOrg: ["GET /orgs/{org}/migrations"],
141265
+ listReposForAuthenticatedUser: [
141266
+ "GET /user/migrations/{migration_id}/repositories"
141267
+ ],
141268
+ listReposForOrg: ["GET /orgs/{org}/migrations/{migration_id}/repositories"],
141269
+ listReposForUser: [
141270
+ "GET /user/migrations/{migration_id}/repositories",
141271
+ {},
141272
+ { renamed: ["migrations", "listReposForAuthenticatedUser"] }
141273
+ ],
141274
+ startForAuthenticatedUser: ["POST /user/migrations"],
141275
+ startForOrg: ["POST /orgs/{org}/migrations"],
141276
+ unlockRepoForAuthenticatedUser: [
141277
+ "DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock"
141278
+ ],
141279
+ unlockRepoForOrg: [
141280
+ "DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock"
141281
+ ]
141282
+ },
141283
+ oidc: {
141284
+ getOidcCustomSubTemplateForOrg: [
141285
+ "GET /orgs/{org}/actions/oidc/customization/sub"
141286
+ ],
141287
+ updateOidcCustomSubTemplateForOrg: [
141288
+ "PUT /orgs/{org}/actions/oidc/customization/sub"
141289
+ ]
141290
+ },
141291
+ orgs: {
141292
+ addSecurityManagerTeam: [
141293
+ "PUT /orgs/{org}/security-managers/teams/{team_slug}",
141294
+ {},
141295
+ {
141296
+ deprecated: "octokit.rest.orgs.addSecurityManagerTeam() is deprecated, see https://docs.github.com/rest/orgs/security-managers#add-a-security-manager-team"
141297
+ }
141298
+ ],
141299
+ assignTeamToOrgRole: [
141300
+ "PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"
141301
+ ],
141302
+ assignUserToOrgRole: [
141303
+ "PUT /orgs/{org}/organization-roles/users/{username}/{role_id}"
141304
+ ],
141305
+ blockUser: ["PUT /orgs/{org}/blocks/{username}"],
141306
+ cancelInvitation: ["DELETE /orgs/{org}/invitations/{invitation_id}"],
141307
+ checkBlockedUser: ["GET /orgs/{org}/blocks/{username}"],
141308
+ checkMembershipForUser: ["GET /orgs/{org}/members/{username}"],
141309
+ checkPublicMembershipForUser: ["GET /orgs/{org}/public_members/{username}"],
141310
+ convertMemberToOutsideCollaborator: [
141311
+ "PUT /orgs/{org}/outside_collaborators/{username}"
141312
+ ],
141313
+ createArtifactStorageRecord: [
141314
+ "POST /orgs/{org}/artifacts/metadata/storage-record"
141315
+ ],
141316
+ createInvitation: ["POST /orgs/{org}/invitations"],
141317
+ createIssueType: ["POST /orgs/{org}/issue-types"],
141318
+ createWebhook: ["POST /orgs/{org}/hooks"],
141319
+ customPropertiesForOrgsCreateOrUpdateOrganizationValues: [
141320
+ "PATCH /organizations/{org}/org-properties/values"
141321
+ ],
141322
+ customPropertiesForOrgsGetOrganizationValues: [
141323
+ "GET /organizations/{org}/org-properties/values"
141324
+ ],
141325
+ customPropertiesForReposCreateOrUpdateOrganizationDefinition: [
141326
+ "PUT /orgs/{org}/properties/schema/{custom_property_name}"
141327
+ ],
141328
+ customPropertiesForReposCreateOrUpdateOrganizationDefinitions: [
141329
+ "PATCH /orgs/{org}/properties/schema"
141330
+ ],
141331
+ customPropertiesForReposCreateOrUpdateOrganizationValues: [
141332
+ "PATCH /orgs/{org}/properties/values"
141333
+ ],
141334
+ customPropertiesForReposDeleteOrganizationDefinition: [
141335
+ "DELETE /orgs/{org}/properties/schema/{custom_property_name}"
141336
+ ],
141337
+ customPropertiesForReposGetOrganizationDefinition: [
141338
+ "GET /orgs/{org}/properties/schema/{custom_property_name}"
141339
+ ],
141340
+ customPropertiesForReposGetOrganizationDefinitions: [
141341
+ "GET /orgs/{org}/properties/schema"
141342
+ ],
141343
+ customPropertiesForReposGetOrganizationValues: [
141344
+ "GET /orgs/{org}/properties/values"
141345
+ ],
141346
+ delete: ["DELETE /orgs/{org}"],
141347
+ deleteAttestationsBulk: ["POST /orgs/{org}/attestations/delete-request"],
141348
+ deleteAttestationsById: [
141349
+ "DELETE /orgs/{org}/attestations/{attestation_id}"
141350
+ ],
141351
+ deleteAttestationsBySubjectDigest: [
141352
+ "DELETE /orgs/{org}/attestations/digest/{subject_digest}"
141353
+ ],
141354
+ deleteIssueType: ["DELETE /orgs/{org}/issue-types/{issue_type_id}"],
141355
+ deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"],
141356
+ disableSelectedRepositoryImmutableReleasesOrganization: [
141357
+ "DELETE /orgs/{org}/settings/immutable-releases/repositories/{repository_id}"
141358
+ ],
141359
+ enableSelectedRepositoryImmutableReleasesOrganization: [
141360
+ "PUT /orgs/{org}/settings/immutable-releases/repositories/{repository_id}"
141361
+ ],
141362
+ get: ["GET /orgs/{org}"],
141363
+ getImmutableReleasesSettings: [
141364
+ "GET /orgs/{org}/settings/immutable-releases"
141365
+ ],
141366
+ getImmutableReleasesSettingsRepositories: [
141367
+ "GET /orgs/{org}/settings/immutable-releases/repositories"
141368
+ ],
141369
+ getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"],
141370
+ getMembershipForUser: ["GET /orgs/{org}/memberships/{username}"],
141371
+ getOrgRole: ["GET /orgs/{org}/organization-roles/{role_id}"],
141372
+ getOrgRulesetHistory: ["GET /orgs/{org}/rulesets/{ruleset_id}/history"],
141373
+ getOrgRulesetVersion: [
141374
+ "GET /orgs/{org}/rulesets/{ruleset_id}/history/{version_id}"
141375
+ ],
141376
+ getWebhook: ["GET /orgs/{org}/hooks/{hook_id}"],
141377
+ getWebhookConfigForOrg: ["GET /orgs/{org}/hooks/{hook_id}/config"],
141378
+ getWebhookDelivery: [
141379
+ "GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}"
141380
+ ],
141381
+ list: ["GET /organizations"],
141382
+ listAppInstallations: ["GET /orgs/{org}/installations"],
141383
+ listArtifactStorageRecords: [
141384
+ "GET /orgs/{org}/artifacts/{subject_digest}/metadata/storage-records"
141385
+ ],
141386
+ listAttestationRepositories: ["GET /orgs/{org}/attestations/repositories"],
141387
+ listAttestations: ["GET /orgs/{org}/attestations/{subject_digest}"],
141388
+ listAttestationsBulk: [
141389
+ "POST /orgs/{org}/attestations/bulk-list{?per_page,before,after}"
141390
+ ],
141391
+ listBlockedUsers: ["GET /orgs/{org}/blocks"],
141392
+ listFailedInvitations: ["GET /orgs/{org}/failed_invitations"],
141393
+ listForAuthenticatedUser: ["GET /user/orgs"],
141394
+ listForUser: ["GET /users/{username}/orgs"],
141395
+ listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"],
141396
+ listIssueTypes: ["GET /orgs/{org}/issue-types"],
141397
+ listMembers: ["GET /orgs/{org}/members"],
141398
+ listMembershipsForAuthenticatedUser: ["GET /user/memberships/orgs"],
141399
+ listOrgRoleTeams: ["GET /orgs/{org}/organization-roles/{role_id}/teams"],
141400
+ listOrgRoleUsers: ["GET /orgs/{org}/organization-roles/{role_id}/users"],
141401
+ listOrgRoles: ["GET /orgs/{org}/organization-roles"],
141402
+ listOrganizationFineGrainedPermissions: [
141403
+ "GET /orgs/{org}/organization-fine-grained-permissions"
141404
+ ],
141405
+ listOutsideCollaborators: ["GET /orgs/{org}/outside_collaborators"],
141406
+ listPatGrantRepositories: [
141407
+ "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories"
141408
+ ],
141409
+ listPatGrantRequestRepositories: [
141410
+ "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories"
141411
+ ],
141412
+ listPatGrantRequests: ["GET /orgs/{org}/personal-access-token-requests"],
141413
+ listPatGrants: ["GET /orgs/{org}/personal-access-tokens"],
141414
+ listPendingInvitations: ["GET /orgs/{org}/invitations"],
141415
+ listPublicMembers: ["GET /orgs/{org}/public_members"],
141416
+ listSecurityManagerTeams: [
141417
+ "GET /orgs/{org}/security-managers",
141418
+ {},
141419
+ {
141420
+ deprecated: "octokit.rest.orgs.listSecurityManagerTeams() is deprecated, see https://docs.github.com/rest/orgs/security-managers#list-security-manager-teams"
141421
+ }
141422
+ ],
141423
+ listWebhookDeliveries: ["GET /orgs/{org}/hooks/{hook_id}/deliveries"],
141424
+ listWebhooks: ["GET /orgs/{org}/hooks"],
141425
+ pingWebhook: ["POST /orgs/{org}/hooks/{hook_id}/pings"],
141426
+ redeliverWebhookDelivery: [
141427
+ "POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"
141428
+ ],
141429
+ removeMember: ["DELETE /orgs/{org}/members/{username}"],
141430
+ removeMembershipForUser: ["DELETE /orgs/{org}/memberships/{username}"],
141431
+ removeOutsideCollaborator: [
141432
+ "DELETE /orgs/{org}/outside_collaborators/{username}"
141433
+ ],
141434
+ removePublicMembershipForAuthenticatedUser: [
141435
+ "DELETE /orgs/{org}/public_members/{username}"
141436
+ ],
141437
+ removeSecurityManagerTeam: [
141438
+ "DELETE /orgs/{org}/security-managers/teams/{team_slug}",
141439
+ {},
141440
+ {
141441
+ deprecated: "octokit.rest.orgs.removeSecurityManagerTeam() is deprecated, see https://docs.github.com/rest/orgs/security-managers#remove-a-security-manager-team"
141442
+ }
141443
+ ],
141444
+ reviewPatGrantRequest: [
141445
+ "POST /orgs/{org}/personal-access-token-requests/{pat_request_id}"
141446
+ ],
141447
+ reviewPatGrantRequestsInBulk: [
141448
+ "POST /orgs/{org}/personal-access-token-requests"
141449
+ ],
141450
+ revokeAllOrgRolesTeam: [
141451
+ "DELETE /orgs/{org}/organization-roles/teams/{team_slug}"
141452
+ ],
141453
+ revokeAllOrgRolesUser: [
141454
+ "DELETE /orgs/{org}/organization-roles/users/{username}"
141455
+ ],
141456
+ revokeOrgRoleTeam: [
141457
+ "DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"
141458
+ ],
141459
+ revokeOrgRoleUser: [
141460
+ "DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}"
141461
+ ],
141462
+ setImmutableReleasesSettings: [
141463
+ "PUT /orgs/{org}/settings/immutable-releases"
141464
+ ],
141465
+ setImmutableReleasesSettingsRepositories: [
141466
+ "PUT /orgs/{org}/settings/immutable-releases/repositories"
141467
+ ],
141468
+ setMembershipForUser: ["PUT /orgs/{org}/memberships/{username}"],
141469
+ setPublicMembershipForAuthenticatedUser: [
141470
+ "PUT /orgs/{org}/public_members/{username}"
141471
+ ],
141472
+ unblockUser: ["DELETE /orgs/{org}/blocks/{username}"],
141473
+ update: ["PATCH /orgs/{org}"],
141474
+ updateIssueType: ["PUT /orgs/{org}/issue-types/{issue_type_id}"],
141475
+ updateMembershipForAuthenticatedUser: [
141476
+ "PATCH /user/memberships/orgs/{org}"
141477
+ ],
141478
+ updatePatAccess: ["POST /orgs/{org}/personal-access-tokens/{pat_id}"],
141479
+ updatePatAccesses: ["POST /orgs/{org}/personal-access-tokens"],
141480
+ updateWebhook: ["PATCH /orgs/{org}/hooks/{hook_id}"],
141481
+ updateWebhookConfigForOrg: ["PATCH /orgs/{org}/hooks/{hook_id}/config"]
141482
+ },
141483
+ packages: {
141484
+ deletePackageForAuthenticatedUser: [
141485
+ "DELETE /user/packages/{package_type}/{package_name}"
141486
+ ],
141487
+ deletePackageForOrg: [
141488
+ "DELETE /orgs/{org}/packages/{package_type}/{package_name}"
141489
+ ],
141490
+ deletePackageForUser: [
141491
+ "DELETE /users/{username}/packages/{package_type}/{package_name}"
141492
+ ],
141493
+ deletePackageVersionForAuthenticatedUser: [
141494
+ "DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"
141495
+ ],
141496
+ deletePackageVersionForOrg: [
141497
+ "DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"
141498
+ ],
141499
+ deletePackageVersionForUser: [
141500
+ "DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"
141501
+ ],
141502
+ getAllPackageVersionsForAPackageOwnedByAnOrg: [
141503
+ "GET /orgs/{org}/packages/{package_type}/{package_name}/versions",
141504
+ {},
141505
+ { renamed: ["packages", "getAllPackageVersionsForPackageOwnedByOrg"] }
141506
+ ],
141507
+ getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [
141508
+ "GET /user/packages/{package_type}/{package_name}/versions",
141509
+ {},
141510
+ {
141511
+ renamed: [
141512
+ "packages",
141513
+ "getAllPackageVersionsForPackageOwnedByAuthenticatedUser"
141514
+ ]
141515
+ }
141516
+ ],
141517
+ getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [
141518
+ "GET /user/packages/{package_type}/{package_name}/versions"
141519
+ ],
141520
+ getAllPackageVersionsForPackageOwnedByOrg: [
141521
+ "GET /orgs/{org}/packages/{package_type}/{package_name}/versions"
141522
+ ],
141523
+ getAllPackageVersionsForPackageOwnedByUser: [
141524
+ "GET /users/{username}/packages/{package_type}/{package_name}/versions"
141525
+ ],
141526
+ getPackageForAuthenticatedUser: [
141527
+ "GET /user/packages/{package_type}/{package_name}"
141528
+ ],
141529
+ getPackageForOrganization: [
141530
+ "GET /orgs/{org}/packages/{package_type}/{package_name}"
141531
+ ],
141532
+ getPackageForUser: [
141533
+ "GET /users/{username}/packages/{package_type}/{package_name}"
141534
+ ],
141535
+ getPackageVersionForAuthenticatedUser: [
141536
+ "GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"
141537
+ ],
141538
+ getPackageVersionForOrganization: [
141539
+ "GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"
141540
+ ],
141541
+ getPackageVersionForUser: [
141542
+ "GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"
141543
+ ],
141544
+ listDockerMigrationConflictingPackagesForAuthenticatedUser: [
141545
+ "GET /user/docker/conflicts"
141546
+ ],
141547
+ listDockerMigrationConflictingPackagesForOrganization: [
141548
+ "GET /orgs/{org}/docker/conflicts"
141549
+ ],
141550
+ listDockerMigrationConflictingPackagesForUser: [
141551
+ "GET /users/{username}/docker/conflicts"
141552
+ ],
141553
+ listPackagesForAuthenticatedUser: ["GET /user/packages"],
141554
+ listPackagesForOrganization: ["GET /orgs/{org}/packages"],
141555
+ listPackagesForUser: ["GET /users/{username}/packages"],
141556
+ restorePackageForAuthenticatedUser: [
141557
+ "POST /user/packages/{package_type}/{package_name}/restore{?token}"
141558
+ ],
141559
+ restorePackageForOrg: [
141560
+ "POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"
141561
+ ],
141562
+ restorePackageForUser: [
141563
+ "POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}"
141564
+ ],
141565
+ restorePackageVersionForAuthenticatedUser: [
141566
+ "POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"
141567
+ ],
141568
+ restorePackageVersionForOrg: [
141569
+ "POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"
141570
+ ],
141571
+ restorePackageVersionForUser: [
141572
+ "POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"
141573
+ ]
141574
+ },
141575
+ privateRegistries: {
141576
+ createOrgPrivateRegistry: ["POST /orgs/{org}/private-registries"],
141577
+ deleteOrgPrivateRegistry: [
141578
+ "DELETE /orgs/{org}/private-registries/{secret_name}"
141579
+ ],
141580
+ getOrgPrivateRegistry: ["GET /orgs/{org}/private-registries/{secret_name}"],
141581
+ getOrgPublicKey: ["GET /orgs/{org}/private-registries/public-key"],
141582
+ listOrgPrivateRegistries: ["GET /orgs/{org}/private-registries"],
141583
+ updateOrgPrivateRegistry: [
141584
+ "PATCH /orgs/{org}/private-registries/{secret_name}"
141585
+ ]
141586
+ },
141587
+ projects: {
141588
+ addItemForOrg: ["POST /orgs/{org}/projectsV2/{project_number}/items"],
141589
+ addItemForUser: [
141590
+ "POST /users/{username}/projectsV2/{project_number}/items"
141591
+ ],
141592
+ deleteItemForOrg: [
141593
+ "DELETE /orgs/{org}/projectsV2/{project_number}/items/{item_id}"
141594
+ ],
141595
+ deleteItemForUser: [
141596
+ "DELETE /users/{username}/projectsV2/{project_number}/items/{item_id}"
141597
+ ],
141598
+ getFieldForOrg: [
141599
+ "GET /orgs/{org}/projectsV2/{project_number}/fields/{field_id}"
141600
+ ],
141601
+ getFieldForUser: [
141602
+ "GET /users/{username}/projectsV2/{project_number}/fields/{field_id}"
141603
+ ],
141604
+ getForOrg: ["GET /orgs/{org}/projectsV2/{project_number}"],
141605
+ getForUser: ["GET /users/{username}/projectsV2/{project_number}"],
141606
+ getOrgItem: ["GET /orgs/{org}/projectsV2/{project_number}/items/{item_id}"],
141607
+ getUserItem: [
141608
+ "GET /users/{username}/projectsV2/{project_number}/items/{item_id}"
141609
+ ],
141610
+ listFieldsForOrg: ["GET /orgs/{org}/projectsV2/{project_number}/fields"],
141611
+ listFieldsForUser: [
141612
+ "GET /users/{username}/projectsV2/{project_number}/fields"
141613
+ ],
141614
+ listForOrg: ["GET /orgs/{org}/projectsV2"],
141615
+ listForUser: ["GET /users/{username}/projectsV2"],
141616
+ listItemsForOrg: ["GET /orgs/{org}/projectsV2/{project_number}/items"],
141617
+ listItemsForUser: [
141618
+ "GET /users/{username}/projectsV2/{project_number}/items"
141619
+ ],
141620
+ updateItemForOrg: [
141621
+ "PATCH /orgs/{org}/projectsV2/{project_number}/items/{item_id}"
141622
+ ],
141623
+ updateItemForUser: [
141624
+ "PATCH /users/{username}/projectsV2/{project_number}/items/{item_id}"
141625
+ ]
141626
+ },
141627
+ pulls: {
141628
+ checkIfMerged: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"],
141629
+ create: ["POST /repos/{owner}/{repo}/pulls"],
141630
+ createReplyForReviewComment: [
141631
+ "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"
141632
+ ],
141633
+ createReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],
141634
+ createReviewComment: [
141635
+ "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"
141636
+ ],
141637
+ deletePendingReview: [
141638
+ "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"
141639
+ ],
141640
+ deleteReviewComment: [
141641
+ "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"
141642
+ ],
141643
+ dismissReview: [
141644
+ "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"
141645
+ ],
141646
+ get: ["GET /repos/{owner}/{repo}/pulls/{pull_number}"],
141647
+ getReview: [
141648
+ "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"
141649
+ ],
141650
+ getReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"],
141651
+ list: ["GET /repos/{owner}/{repo}/pulls"],
141652
+ listCommentsForReview: [
141653
+ "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"
141654
+ ],
141655
+ listCommits: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"],
141656
+ listFiles: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"],
141657
+ listRequestedReviewers: [
141658
+ "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"
141659
+ ],
141660
+ listReviewComments: [
141661
+ "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"
141662
+ ],
141663
+ listReviewCommentsForRepo: ["GET /repos/{owner}/{repo}/pulls/comments"],
141664
+ listReviews: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],
141665
+ merge: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"],
141666
+ removeRequestedReviewers: [
141667
+ "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"
141668
+ ],
141669
+ requestReviewers: [
141670
+ "POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"
141671
+ ],
141672
+ submitReview: [
141673
+ "POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"
141674
+ ],
141675
+ update: ["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"],
141676
+ updateBranch: [
141677
+ "PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch"
141678
+ ],
141679
+ updateReview: [
141680
+ "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"
141681
+ ],
141682
+ updateReviewComment: [
141683
+ "PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"
141684
+ ]
141685
+ },
141686
+ rateLimit: { get: ["GET /rate_limit"] },
141687
+ reactions: {
141688
+ createForCommitComment: [
141689
+ "POST /repos/{owner}/{repo}/comments/{comment_id}/reactions"
141690
+ ],
141691
+ createForIssue: [
141692
+ "POST /repos/{owner}/{repo}/issues/{issue_number}/reactions"
141693
+ ],
141694
+ createForIssueComment: [
141695
+ "POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"
141696
+ ],
141697
+ createForPullRequestReviewComment: [
141698
+ "POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"
141699
+ ],
141700
+ createForRelease: [
141701
+ "POST /repos/{owner}/{repo}/releases/{release_id}/reactions"
141702
+ ],
141703
+ createForTeamDiscussionCommentInOrg: [
141704
+ "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"
141705
+ ],
141706
+ createForTeamDiscussionInOrg: [
141707
+ "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"
141708
+ ],
141709
+ deleteForCommitComment: [
141710
+ "DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}"
141711
+ ],
141712
+ deleteForIssue: [
141713
+ "DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}"
141714
+ ],
141715
+ deleteForIssueComment: [
141716
+ "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}"
141717
+ ],
141718
+ deleteForPullRequestComment: [
141719
+ "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}"
141720
+ ],
141721
+ deleteForRelease: [
141722
+ "DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}"
141723
+ ],
141724
+ deleteForTeamDiscussion: [
141725
+ "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}"
141726
+ ],
141727
+ deleteForTeamDiscussionComment: [
141728
+ "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}"
141729
+ ],
141730
+ listForCommitComment: [
141731
+ "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"
141732
+ ],
141733
+ listForIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"],
141734
+ listForIssueComment: [
141735
+ "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"
141736
+ ],
141737
+ listForPullRequestReviewComment: [
141738
+ "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"
141739
+ ],
141740
+ listForRelease: [
141741
+ "GET /repos/{owner}/{repo}/releases/{release_id}/reactions"
141742
+ ],
141743
+ listForTeamDiscussionCommentInOrg: [
141744
+ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"
141745
+ ],
141746
+ listForTeamDiscussionInOrg: [
141747
+ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"
141748
+ ]
141749
+ },
141750
+ repos: {
141751
+ acceptInvitation: [
141752
+ "PATCH /user/repository_invitations/{invitation_id}",
141753
+ {},
141754
+ { renamed: ["repos", "acceptInvitationForAuthenticatedUser"] }
141755
+ ],
141756
+ acceptInvitationForAuthenticatedUser: [
141757
+ "PATCH /user/repository_invitations/{invitation_id}"
141758
+ ],
141759
+ addAppAccessRestrictions: [
141760
+ "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",
141761
+ {},
141762
+ { mapToData: "apps" }
141763
+ ],
141764
+ addCollaborator: ["PUT /repos/{owner}/{repo}/collaborators/{username}"],
141765
+ addStatusCheckContexts: [
141766
+ "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",
141767
+ {},
141768
+ { mapToData: "contexts" }
141769
+ ],
141770
+ addTeamAccessRestrictions: [
141771
+ "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",
141772
+ {},
141773
+ { mapToData: "teams" }
141774
+ ],
141775
+ addUserAccessRestrictions: [
141776
+ "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",
141777
+ {},
141778
+ { mapToData: "users" }
141779
+ ],
141780
+ cancelPagesDeployment: [
141781
+ "POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel"
141782
+ ],
141783
+ checkAutomatedSecurityFixes: [
141784
+ "GET /repos/{owner}/{repo}/automated-security-fixes"
141785
+ ],
141786
+ checkCollaborator: ["GET /repos/{owner}/{repo}/collaborators/{username}"],
141787
+ checkImmutableReleases: ["GET /repos/{owner}/{repo}/immutable-releases"],
141788
+ checkPrivateVulnerabilityReporting: [
141789
+ "GET /repos/{owner}/{repo}/private-vulnerability-reporting"
141790
+ ],
141791
+ checkVulnerabilityAlerts: [
141792
+ "GET /repos/{owner}/{repo}/vulnerability-alerts"
141793
+ ],
141794
+ codeownersErrors: ["GET /repos/{owner}/{repo}/codeowners/errors"],
141795
+ compareCommits: ["GET /repos/{owner}/{repo}/compare/{base}...{head}"],
141796
+ compareCommitsWithBasehead: [
141797
+ "GET /repos/{owner}/{repo}/compare/{basehead}"
141798
+ ],
141799
+ createAttestation: ["POST /repos/{owner}/{repo}/attestations"],
141800
+ createAutolink: ["POST /repos/{owner}/{repo}/autolinks"],
141801
+ createCommitComment: [
141802
+ "POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"
141803
+ ],
141804
+ createCommitSignatureProtection: [
141805
+ "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"
141806
+ ],
141807
+ createCommitStatus: ["POST /repos/{owner}/{repo}/statuses/{sha}"],
141808
+ createDeployKey: ["POST /repos/{owner}/{repo}/keys"],
141809
+ createDeployment: ["POST /repos/{owner}/{repo}/deployments"],
141810
+ createDeploymentBranchPolicy: [
141811
+ "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"
141812
+ ],
141813
+ createDeploymentProtectionRule: [
141814
+ "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"
141815
+ ],
141816
+ createDeploymentStatus: [
141817
+ "POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"
141818
+ ],
141819
+ createDispatchEvent: ["POST /repos/{owner}/{repo}/dispatches"],
141820
+ createForAuthenticatedUser: ["POST /user/repos"],
141821
+ createFork: ["POST /repos/{owner}/{repo}/forks"],
141822
+ createInOrg: ["POST /orgs/{org}/repos"],
141823
+ createOrUpdateEnvironment: [
141824
+ "PUT /repos/{owner}/{repo}/environments/{environment_name}"
141825
+ ],
141826
+ createOrUpdateFileContents: ["PUT /repos/{owner}/{repo}/contents/{path}"],
141827
+ createOrgRuleset: ["POST /orgs/{org}/rulesets"],
141828
+ createPagesDeployment: ["POST /repos/{owner}/{repo}/pages/deployments"],
141829
+ createPagesSite: ["POST /repos/{owner}/{repo}/pages"],
141830
+ createRelease: ["POST /repos/{owner}/{repo}/releases"],
141831
+ createRepoRuleset: ["POST /repos/{owner}/{repo}/rulesets"],
141832
+ createUsingTemplate: [
141833
+ "POST /repos/{template_owner}/{template_repo}/generate"
141834
+ ],
141835
+ createWebhook: ["POST /repos/{owner}/{repo}/hooks"],
141836
+ customPropertiesForReposCreateOrUpdateRepositoryValues: [
141837
+ "PATCH /repos/{owner}/{repo}/properties/values"
141838
+ ],
141839
+ customPropertiesForReposGetRepositoryValues: [
141840
+ "GET /repos/{owner}/{repo}/properties/values"
141841
+ ],
141842
+ declineInvitation: [
141843
+ "DELETE /user/repository_invitations/{invitation_id}",
141844
+ {},
141845
+ { renamed: ["repos", "declineInvitationForAuthenticatedUser"] }
141846
+ ],
141847
+ declineInvitationForAuthenticatedUser: [
141848
+ "DELETE /user/repository_invitations/{invitation_id}"
141849
+ ],
141850
+ delete: ["DELETE /repos/{owner}/{repo}"],
141851
+ deleteAccessRestrictions: [
141852
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"
141853
+ ],
141854
+ deleteAdminBranchProtection: [
141855
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"
141856
+ ],
141857
+ deleteAnEnvironment: [
141858
+ "DELETE /repos/{owner}/{repo}/environments/{environment_name}"
141859
+ ],
141860
+ deleteAutolink: ["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"],
141861
+ deleteBranchProtection: [
141862
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection"
141863
+ ],
141864
+ deleteCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}"],
141865
+ deleteCommitSignatureProtection: [
141866
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"
141867
+ ],
141868
+ deleteDeployKey: ["DELETE /repos/{owner}/{repo}/keys/{key_id}"],
141869
+ deleteDeployment: [
141870
+ "DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"
141871
+ ],
141872
+ deleteDeploymentBranchPolicy: [
141873
+ "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"
141874
+ ],
141875
+ deleteFile: ["DELETE /repos/{owner}/{repo}/contents/{path}"],
141876
+ deleteInvitation: [
141877
+ "DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"
141878
+ ],
141879
+ deleteOrgRuleset: ["DELETE /orgs/{org}/rulesets/{ruleset_id}"],
141880
+ deletePagesSite: ["DELETE /repos/{owner}/{repo}/pages"],
141881
+ deletePullRequestReviewProtection: [
141882
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"
141883
+ ],
141884
+ deleteRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}"],
141885
+ deleteReleaseAsset: [
141886
+ "DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"
141887
+ ],
141888
+ deleteRepoRuleset: ["DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}"],
141889
+ deleteWebhook: ["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"],
141890
+ disableAutomatedSecurityFixes: [
141891
+ "DELETE /repos/{owner}/{repo}/automated-security-fixes"
141892
+ ],
141893
+ disableDeploymentProtectionRule: [
141894
+ "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"
141895
+ ],
141896
+ disableImmutableReleases: [
141897
+ "DELETE /repos/{owner}/{repo}/immutable-releases"
141898
+ ],
141899
+ disablePrivateVulnerabilityReporting: [
141900
+ "DELETE /repos/{owner}/{repo}/private-vulnerability-reporting"
141901
+ ],
141902
+ disableVulnerabilityAlerts: [
141903
+ "DELETE /repos/{owner}/{repo}/vulnerability-alerts"
141904
+ ],
141905
+ downloadArchive: [
141906
+ "GET /repos/{owner}/{repo}/zipball/{ref}",
141907
+ {},
141908
+ { renamed: ["repos", "downloadZipballArchive"] }
141909
+ ],
141910
+ downloadTarballArchive: ["GET /repos/{owner}/{repo}/tarball/{ref}"],
141911
+ downloadZipballArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}"],
141912
+ enableAutomatedSecurityFixes: [
141913
+ "PUT /repos/{owner}/{repo}/automated-security-fixes"
141914
+ ],
141915
+ enableImmutableReleases: ["PUT /repos/{owner}/{repo}/immutable-releases"],
141916
+ enablePrivateVulnerabilityReporting: [
141917
+ "PUT /repos/{owner}/{repo}/private-vulnerability-reporting"
141918
+ ],
141919
+ enableVulnerabilityAlerts: [
141920
+ "PUT /repos/{owner}/{repo}/vulnerability-alerts"
141921
+ ],
141922
+ generateReleaseNotes: [
141923
+ "POST /repos/{owner}/{repo}/releases/generate-notes"
141924
+ ],
141925
+ get: ["GET /repos/{owner}/{repo}"],
141926
+ getAccessRestrictions: [
141927
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"
141928
+ ],
141929
+ getAdminBranchProtection: [
141930
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"
141931
+ ],
141932
+ getAllDeploymentProtectionRules: [
141933
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"
141934
+ ],
141935
+ getAllEnvironments: ["GET /repos/{owner}/{repo}/environments"],
141936
+ getAllStatusCheckContexts: [
141937
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"
141938
+ ],
141939
+ getAllTopics: ["GET /repos/{owner}/{repo}/topics"],
141940
+ getAppsWithAccessToProtectedBranch: [
141941
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"
141942
+ ],
141943
+ getAutolink: ["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"],
141944
+ getBranch: ["GET /repos/{owner}/{repo}/branches/{branch}"],
141945
+ getBranchProtection: [
141946
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection"
141947
+ ],
141948
+ getBranchRules: ["GET /repos/{owner}/{repo}/rules/branches/{branch}"],
141949
+ getClones: ["GET /repos/{owner}/{repo}/traffic/clones"],
141950
+ getCodeFrequencyStats: ["GET /repos/{owner}/{repo}/stats/code_frequency"],
141951
+ getCollaboratorPermissionLevel: [
141952
+ "GET /repos/{owner}/{repo}/collaborators/{username}/permission"
141953
+ ],
141954
+ getCombinedStatusForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/status"],
141955
+ getCommit: ["GET /repos/{owner}/{repo}/commits/{ref}"],
141956
+ getCommitActivityStats: ["GET /repos/{owner}/{repo}/stats/commit_activity"],
141957
+ getCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}"],
141958
+ getCommitSignatureProtection: [
141959
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"
141960
+ ],
141961
+ getCommunityProfileMetrics: ["GET /repos/{owner}/{repo}/community/profile"],
141962
+ getContent: ["GET /repos/{owner}/{repo}/contents/{path}"],
141963
+ getContributorsStats: ["GET /repos/{owner}/{repo}/stats/contributors"],
141964
+ getCustomDeploymentProtectionRule: [
141965
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"
141966
+ ],
141967
+ getDeployKey: ["GET /repos/{owner}/{repo}/keys/{key_id}"],
141968
+ getDeployment: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}"],
141969
+ getDeploymentBranchPolicy: [
141970
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"
141971
+ ],
141972
+ getDeploymentStatus: [
141973
+ "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"
141974
+ ],
141975
+ getEnvironment: [
141976
+ "GET /repos/{owner}/{repo}/environments/{environment_name}"
141977
+ ],
141978
+ getLatestPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/latest"],
141979
+ getLatestRelease: ["GET /repos/{owner}/{repo}/releases/latest"],
141980
+ getOrgRuleSuite: ["GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}"],
141981
+ getOrgRuleSuites: ["GET /orgs/{org}/rulesets/rule-suites"],
141982
+ getOrgRuleset: ["GET /orgs/{org}/rulesets/{ruleset_id}"],
141983
+ getOrgRulesets: ["GET /orgs/{org}/rulesets"],
141984
+ getPages: ["GET /repos/{owner}/{repo}/pages"],
141985
+ getPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/{build_id}"],
141986
+ getPagesDeployment: [
141987
+ "GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}"
141988
+ ],
141989
+ getPagesHealthCheck: ["GET /repos/{owner}/{repo}/pages/health"],
141990
+ getParticipationStats: ["GET /repos/{owner}/{repo}/stats/participation"],
141991
+ getPullRequestReviewProtection: [
141992
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"
141993
+ ],
141994
+ getPunchCardStats: ["GET /repos/{owner}/{repo}/stats/punch_card"],
141995
+ getReadme: ["GET /repos/{owner}/{repo}/readme"],
141996
+ getReadmeInDirectory: ["GET /repos/{owner}/{repo}/readme/{dir}"],
141997
+ getRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}"],
141998
+ getReleaseAsset: ["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"],
141999
+ getReleaseByTag: ["GET /repos/{owner}/{repo}/releases/tags/{tag}"],
142000
+ getRepoRuleSuite: [
142001
+ "GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}"
142002
+ ],
142003
+ getRepoRuleSuites: ["GET /repos/{owner}/{repo}/rulesets/rule-suites"],
142004
+ getRepoRuleset: ["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"],
142005
+ getRepoRulesetHistory: [
142006
+ "GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history"
142007
+ ],
142008
+ getRepoRulesetVersion: [
142009
+ "GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history/{version_id}"
142010
+ ],
142011
+ getRepoRulesets: ["GET /repos/{owner}/{repo}/rulesets"],
142012
+ getStatusChecksProtection: [
142013
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"
142014
+ ],
142015
+ getTeamsWithAccessToProtectedBranch: [
142016
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"
142017
+ ],
142018
+ getTopPaths: ["GET /repos/{owner}/{repo}/traffic/popular/paths"],
142019
+ getTopReferrers: ["GET /repos/{owner}/{repo}/traffic/popular/referrers"],
142020
+ getUsersWithAccessToProtectedBranch: [
142021
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"
142022
+ ],
142023
+ getViews: ["GET /repos/{owner}/{repo}/traffic/views"],
142024
+ getWebhook: ["GET /repos/{owner}/{repo}/hooks/{hook_id}"],
142025
+ getWebhookConfigForRepo: [
142026
+ "GET /repos/{owner}/{repo}/hooks/{hook_id}/config"
142027
+ ],
142028
+ getWebhookDelivery: [
142029
+ "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}"
142030
+ ],
142031
+ listActivities: ["GET /repos/{owner}/{repo}/activity"],
142032
+ listAttestations: [
142033
+ "GET /repos/{owner}/{repo}/attestations/{subject_digest}"
142034
+ ],
142035
+ listAutolinks: ["GET /repos/{owner}/{repo}/autolinks"],
142036
+ listBranches: ["GET /repos/{owner}/{repo}/branches"],
142037
+ listBranchesForHeadCommit: [
142038
+ "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head"
142039
+ ],
142040
+ listCollaborators: ["GET /repos/{owner}/{repo}/collaborators"],
142041
+ listCommentsForCommit: [
142042
+ "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"
142043
+ ],
142044
+ listCommitCommentsForRepo: ["GET /repos/{owner}/{repo}/comments"],
142045
+ listCommitStatusesForRef: [
142046
+ "GET /repos/{owner}/{repo}/commits/{ref}/statuses"
142047
+ ],
142048
+ listCommits: ["GET /repos/{owner}/{repo}/commits"],
142049
+ listContributors: ["GET /repos/{owner}/{repo}/contributors"],
142050
+ listCustomDeploymentRuleIntegrations: [
142051
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps"
142052
+ ],
142053
+ listDeployKeys: ["GET /repos/{owner}/{repo}/keys"],
142054
+ listDeploymentBranchPolicies: [
142055
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"
142056
+ ],
142057
+ listDeploymentStatuses: [
142058
+ "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"
142059
+ ],
142060
+ listDeployments: ["GET /repos/{owner}/{repo}/deployments"],
142061
+ listForAuthenticatedUser: ["GET /user/repos"],
142062
+ listForOrg: ["GET /orgs/{org}/repos"],
142063
+ listForUser: ["GET /users/{username}/repos"],
142064
+ listForks: ["GET /repos/{owner}/{repo}/forks"],
142065
+ listInvitations: ["GET /repos/{owner}/{repo}/invitations"],
142066
+ listInvitationsForAuthenticatedUser: ["GET /user/repository_invitations"],
142067
+ listLanguages: ["GET /repos/{owner}/{repo}/languages"],
142068
+ listPagesBuilds: ["GET /repos/{owner}/{repo}/pages/builds"],
142069
+ listPublic: ["GET /repositories"],
142070
+ listPullRequestsAssociatedWithCommit: [
142071
+ "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"
142072
+ ],
142073
+ listReleaseAssets: [
142074
+ "GET /repos/{owner}/{repo}/releases/{release_id}/assets"
142075
+ ],
142076
+ listReleases: ["GET /repos/{owner}/{repo}/releases"],
142077
+ listTags: ["GET /repos/{owner}/{repo}/tags"],
142078
+ listTeams: ["GET /repos/{owner}/{repo}/teams"],
142079
+ listWebhookDeliveries: [
142080
+ "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"
142081
+ ],
142082
+ listWebhooks: ["GET /repos/{owner}/{repo}/hooks"],
142083
+ merge: ["POST /repos/{owner}/{repo}/merges"],
142084
+ mergeUpstream: ["POST /repos/{owner}/{repo}/merge-upstream"],
142085
+ pingWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"],
142086
+ redeliverWebhookDelivery: [
142087
+ "POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"
142088
+ ],
142089
+ removeAppAccessRestrictions: [
142090
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",
142091
+ {},
142092
+ { mapToData: "apps" }
142093
+ ],
142094
+ removeCollaborator: [
142095
+ "DELETE /repos/{owner}/{repo}/collaborators/{username}"
142096
+ ],
142097
+ removeStatusCheckContexts: [
142098
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",
142099
+ {},
142100
+ { mapToData: "contexts" }
142101
+ ],
142102
+ removeStatusCheckProtection: [
142103
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"
142104
+ ],
142105
+ removeTeamAccessRestrictions: [
142106
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",
142107
+ {},
142108
+ { mapToData: "teams" }
142109
+ ],
142110
+ removeUserAccessRestrictions: [
142111
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",
142112
+ {},
142113
+ { mapToData: "users" }
142114
+ ],
142115
+ renameBranch: ["POST /repos/{owner}/{repo}/branches/{branch}/rename"],
142116
+ replaceAllTopics: ["PUT /repos/{owner}/{repo}/topics"],
142117
+ requestPagesBuild: ["POST /repos/{owner}/{repo}/pages/builds"],
142118
+ setAdminBranchProtection: [
142119
+ "POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"
142120
+ ],
142121
+ setAppAccessRestrictions: [
142122
+ "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",
142123
+ {},
142124
+ { mapToData: "apps" }
142125
+ ],
142126
+ setStatusCheckContexts: [
142127
+ "PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",
142128
+ {},
142129
+ { mapToData: "contexts" }
142130
+ ],
142131
+ setTeamAccessRestrictions: [
142132
+ "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",
142133
+ {},
142134
+ { mapToData: "teams" }
142135
+ ],
142136
+ setUserAccessRestrictions: [
142137
+ "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",
142138
+ {},
142139
+ { mapToData: "users" }
142140
+ ],
142141
+ testPushWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"],
142142
+ transfer: ["POST /repos/{owner}/{repo}/transfer"],
142143
+ update: ["PATCH /repos/{owner}/{repo}"],
142144
+ updateBranchProtection: [
142145
+ "PUT /repos/{owner}/{repo}/branches/{branch}/protection"
142146
+ ],
142147
+ updateCommitComment: ["PATCH /repos/{owner}/{repo}/comments/{comment_id}"],
142148
+ updateDeploymentBranchPolicy: [
142149
+ "PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"
142150
+ ],
142151
+ updateInformationAboutPagesSite: ["PUT /repos/{owner}/{repo}/pages"],
142152
+ updateInvitation: [
142153
+ "PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"
142154
+ ],
142155
+ updateOrgRuleset: ["PUT /orgs/{org}/rulesets/{ruleset_id}"],
142156
+ updatePullRequestReviewProtection: [
142157
+ "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"
142158
+ ],
142159
+ updateRelease: ["PATCH /repos/{owner}/{repo}/releases/{release_id}"],
142160
+ updateReleaseAsset: [
142161
+ "PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"
142162
+ ],
142163
+ updateRepoRuleset: ["PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}"],
142164
+ updateStatusCheckPotection: [
142165
+ "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks",
142166
+ {},
142167
+ { renamed: ["repos", "updateStatusCheckProtection"] }
142168
+ ],
142169
+ updateStatusCheckProtection: [
142170
+ "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"
142171
+ ],
142172
+ updateWebhook: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"],
142173
+ updateWebhookConfigForRepo: [
142174
+ "PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"
142175
+ ],
142176
+ uploadReleaseAsset: [
142177
+ "POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}",
142178
+ { baseUrl: "https://uploads.github.com" }
142179
+ ]
142180
+ },
142181
+ search: {
142182
+ code: ["GET /search/code"],
142183
+ commits: ["GET /search/commits"],
142184
+ issuesAndPullRequests: ["GET /search/issues"],
142185
+ labels: ["GET /search/labels"],
142186
+ repos: ["GET /search/repositories"],
142187
+ topics: ["GET /search/topics"],
142188
+ users: ["GET /search/users"]
142189
+ },
142190
+ secretScanning: {
142191
+ createPushProtectionBypass: [
142192
+ "POST /repos/{owner}/{repo}/secret-scanning/push-protection-bypasses"
142193
+ ],
142194
+ getAlert: [
142195
+ "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"
142196
+ ],
142197
+ getScanHistory: ["GET /repos/{owner}/{repo}/secret-scanning/scan-history"],
142198
+ listAlertsForOrg: ["GET /orgs/{org}/secret-scanning/alerts"],
142199
+ listAlertsForRepo: ["GET /repos/{owner}/{repo}/secret-scanning/alerts"],
142200
+ listLocationsForAlert: [
142201
+ "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"
142202
+ ],
142203
+ listOrgPatternConfigs: [
142204
+ "GET /orgs/{org}/secret-scanning/pattern-configurations"
142205
+ ],
142206
+ updateAlert: [
142207
+ "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"
142208
+ ],
142209
+ updateOrgPatternConfigs: [
142210
+ "PATCH /orgs/{org}/secret-scanning/pattern-configurations"
142211
+ ]
142212
+ },
142213
+ securityAdvisories: {
142214
+ createFork: [
142215
+ "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks"
142216
+ ],
142217
+ createPrivateVulnerabilityReport: [
142218
+ "POST /repos/{owner}/{repo}/security-advisories/reports"
142219
+ ],
142220
+ createRepositoryAdvisory: [
142221
+ "POST /repos/{owner}/{repo}/security-advisories"
142222
+ ],
142223
+ createRepositoryAdvisoryCveRequest: [
142224
+ "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve"
142225
+ ],
142226
+ getGlobalAdvisory: ["GET /advisories/{ghsa_id}"],
142227
+ getRepositoryAdvisory: [
142228
+ "GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}"
142229
+ ],
142230
+ listGlobalAdvisories: ["GET /advisories"],
142231
+ listOrgRepositoryAdvisories: ["GET /orgs/{org}/security-advisories"],
142232
+ listRepositoryAdvisories: ["GET /repos/{owner}/{repo}/security-advisories"],
142233
+ updateRepositoryAdvisory: [
142234
+ "PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}"
142235
+ ]
142236
+ },
142237
+ teams: {
142238
+ addOrUpdateMembershipForUserInOrg: [
142239
+ "PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"
142240
+ ],
142241
+ addOrUpdateRepoPermissionsInOrg: [
142242
+ "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
142243
+ ],
142244
+ checkPermissionsForRepoInOrg: [
142245
+ "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
142246
+ ],
142247
+ create: ["POST /orgs/{org}/teams"],
142248
+ createDiscussionCommentInOrg: [
142249
+ "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"
142250
+ ],
142251
+ createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"],
142252
+ deleteDiscussionCommentInOrg: [
142253
+ "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
142254
+ ],
142255
+ deleteDiscussionInOrg: [
142256
+ "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
142257
+ ],
142258
+ deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"],
142259
+ getByName: ["GET /orgs/{org}/teams/{team_slug}"],
142260
+ getDiscussionCommentInOrg: [
142261
+ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
142262
+ ],
142263
+ getDiscussionInOrg: [
142264
+ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
142265
+ ],
142266
+ getMembershipForUserInOrg: [
142267
+ "GET /orgs/{org}/teams/{team_slug}/memberships/{username}"
142268
+ ],
142269
+ list: ["GET /orgs/{org}/teams"],
142270
+ listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"],
142271
+ listDiscussionCommentsInOrg: [
142272
+ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"
142273
+ ],
142274
+ listDiscussionsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions"],
142275
+ listForAuthenticatedUser: ["GET /user/teams"],
142276
+ listMembersInOrg: ["GET /orgs/{org}/teams/{team_slug}/members"],
142277
+ listPendingInvitationsInOrg: [
142278
+ "GET /orgs/{org}/teams/{team_slug}/invitations"
142279
+ ],
142280
+ listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"],
142281
+ removeMembershipForUserInOrg: [
142282
+ "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"
142283
+ ],
142284
+ removeRepoInOrg: [
142285
+ "DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
142286
+ ],
142287
+ updateDiscussionCommentInOrg: [
142288
+ "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
142289
+ ],
142290
+ updateDiscussionInOrg: [
142291
+ "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
142292
+ ],
142293
+ updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"]
142294
+ },
142295
+ users: {
142296
+ addEmailForAuthenticated: [
142297
+ "POST /user/emails",
142298
+ {},
142299
+ { renamed: ["users", "addEmailForAuthenticatedUser"] }
142300
+ ],
142301
+ addEmailForAuthenticatedUser: ["POST /user/emails"],
142302
+ addSocialAccountForAuthenticatedUser: ["POST /user/social_accounts"],
142303
+ block: ["PUT /user/blocks/{username}"],
142304
+ checkBlocked: ["GET /user/blocks/{username}"],
142305
+ checkFollowingForUser: ["GET /users/{username}/following/{target_user}"],
142306
+ checkPersonIsFollowedByAuthenticated: ["GET /user/following/{username}"],
142307
+ createGpgKeyForAuthenticated: [
142308
+ "POST /user/gpg_keys",
142309
+ {},
142310
+ { renamed: ["users", "createGpgKeyForAuthenticatedUser"] }
142311
+ ],
142312
+ createGpgKeyForAuthenticatedUser: ["POST /user/gpg_keys"],
142313
+ createPublicSshKeyForAuthenticated: [
142314
+ "POST /user/keys",
142315
+ {},
142316
+ { renamed: ["users", "createPublicSshKeyForAuthenticatedUser"] }
142317
+ ],
142318
+ createPublicSshKeyForAuthenticatedUser: ["POST /user/keys"],
142319
+ createSshSigningKeyForAuthenticatedUser: ["POST /user/ssh_signing_keys"],
142320
+ deleteAttestationsBulk: [
142321
+ "POST /users/{username}/attestations/delete-request"
142322
+ ],
142323
+ deleteAttestationsById: [
142324
+ "DELETE /users/{username}/attestations/{attestation_id}"
142325
+ ],
142326
+ deleteAttestationsBySubjectDigest: [
142327
+ "DELETE /users/{username}/attestations/digest/{subject_digest}"
142328
+ ],
142329
+ deleteEmailForAuthenticated: [
142330
+ "DELETE /user/emails",
142331
+ {},
142332
+ { renamed: ["users", "deleteEmailForAuthenticatedUser"] }
142333
+ ],
142334
+ deleteEmailForAuthenticatedUser: ["DELETE /user/emails"],
142335
+ deleteGpgKeyForAuthenticated: [
142336
+ "DELETE /user/gpg_keys/{gpg_key_id}",
142337
+ {},
142338
+ { renamed: ["users", "deleteGpgKeyForAuthenticatedUser"] }
142339
+ ],
142340
+ deleteGpgKeyForAuthenticatedUser: ["DELETE /user/gpg_keys/{gpg_key_id}"],
142341
+ deletePublicSshKeyForAuthenticated: [
142342
+ "DELETE /user/keys/{key_id}",
142343
+ {},
142344
+ { renamed: ["users", "deletePublicSshKeyForAuthenticatedUser"] }
142345
+ ],
142346
+ deletePublicSshKeyForAuthenticatedUser: ["DELETE /user/keys/{key_id}"],
142347
+ deleteSocialAccountForAuthenticatedUser: ["DELETE /user/social_accounts"],
142348
+ deleteSshSigningKeyForAuthenticatedUser: [
142349
+ "DELETE /user/ssh_signing_keys/{ssh_signing_key_id}"
142350
+ ],
142351
+ follow: ["PUT /user/following/{username}"],
142352
+ getAuthenticated: ["GET /user"],
142353
+ getById: ["GET /user/{account_id}"],
142354
+ getByUsername: ["GET /users/{username}"],
142355
+ getContextForUser: ["GET /users/{username}/hovercard"],
142356
+ getGpgKeyForAuthenticated: [
142357
+ "GET /user/gpg_keys/{gpg_key_id}",
142358
+ {},
142359
+ { renamed: ["users", "getGpgKeyForAuthenticatedUser"] }
142360
+ ],
142361
+ getGpgKeyForAuthenticatedUser: ["GET /user/gpg_keys/{gpg_key_id}"],
142362
+ getPublicSshKeyForAuthenticated: [
142363
+ "GET /user/keys/{key_id}",
142364
+ {},
142365
+ { renamed: ["users", "getPublicSshKeyForAuthenticatedUser"] }
142366
+ ],
142367
+ getPublicSshKeyForAuthenticatedUser: ["GET /user/keys/{key_id}"],
142368
+ getSshSigningKeyForAuthenticatedUser: [
142369
+ "GET /user/ssh_signing_keys/{ssh_signing_key_id}"
142370
+ ],
142371
+ list: ["GET /users"],
142372
+ listAttestations: ["GET /users/{username}/attestations/{subject_digest}"],
142373
+ listAttestationsBulk: [
142374
+ "POST /users/{username}/attestations/bulk-list{?per_page,before,after}"
142375
+ ],
142376
+ listBlockedByAuthenticated: [
142377
+ "GET /user/blocks",
142378
+ {},
142379
+ { renamed: ["users", "listBlockedByAuthenticatedUser"] }
142380
+ ],
142381
+ listBlockedByAuthenticatedUser: ["GET /user/blocks"],
142382
+ listEmailsForAuthenticated: [
142383
+ "GET /user/emails",
142384
+ {},
142385
+ { renamed: ["users", "listEmailsForAuthenticatedUser"] }
142386
+ ],
142387
+ listEmailsForAuthenticatedUser: ["GET /user/emails"],
142388
+ listFollowedByAuthenticated: [
142389
+ "GET /user/following",
142390
+ {},
142391
+ { renamed: ["users", "listFollowedByAuthenticatedUser"] }
142392
+ ],
142393
+ listFollowedByAuthenticatedUser: ["GET /user/following"],
142394
+ listFollowersForAuthenticatedUser: ["GET /user/followers"],
142395
+ listFollowersForUser: ["GET /users/{username}/followers"],
142396
+ listFollowingForUser: ["GET /users/{username}/following"],
142397
+ listGpgKeysForAuthenticated: [
142398
+ "GET /user/gpg_keys",
142399
+ {},
142400
+ { renamed: ["users", "listGpgKeysForAuthenticatedUser"] }
142401
+ ],
142402
+ listGpgKeysForAuthenticatedUser: ["GET /user/gpg_keys"],
142403
+ listGpgKeysForUser: ["GET /users/{username}/gpg_keys"],
142404
+ listPublicEmailsForAuthenticated: [
142405
+ "GET /user/public_emails",
142406
+ {},
142407
+ { renamed: ["users", "listPublicEmailsForAuthenticatedUser"] }
142408
+ ],
142409
+ listPublicEmailsForAuthenticatedUser: ["GET /user/public_emails"],
142410
+ listPublicKeysForUser: ["GET /users/{username}/keys"],
142411
+ listPublicSshKeysForAuthenticated: [
142412
+ "GET /user/keys",
142413
+ {},
142414
+ { renamed: ["users", "listPublicSshKeysForAuthenticatedUser"] }
142415
+ ],
142416
+ listPublicSshKeysForAuthenticatedUser: ["GET /user/keys"],
142417
+ listSocialAccountsForAuthenticatedUser: ["GET /user/social_accounts"],
142418
+ listSocialAccountsForUser: ["GET /users/{username}/social_accounts"],
142419
+ listSshSigningKeysForAuthenticatedUser: ["GET /user/ssh_signing_keys"],
142420
+ listSshSigningKeysForUser: ["GET /users/{username}/ssh_signing_keys"],
142421
+ setPrimaryEmailVisibilityForAuthenticated: [
142422
+ "PATCH /user/email/visibility",
142423
+ {},
142424
+ { renamed: ["users", "setPrimaryEmailVisibilityForAuthenticatedUser"] }
142425
+ ],
142426
+ setPrimaryEmailVisibilityForAuthenticatedUser: [
142427
+ "PATCH /user/email/visibility"
142428
+ ],
142429
+ unblock: ["DELETE /user/blocks/{username}"],
142430
+ unfollow: ["DELETE /user/following/{username}"],
142431
+ updateAuthenticated: ["PATCH /user"]
142432
+ }
142433
+ };
142434
+ var endpoints_default = Endpoints;
142435
+
142436
+ // node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js
142437
+ var endpointMethodsMap = /* @__PURE__ */ new Map;
142438
+ for (const [scope, endpoints] of Object.entries(endpoints_default)) {
142439
+ for (const [methodName, endpoint2] of Object.entries(endpoints)) {
142440
+ const [route, defaults2, decorations] = endpoint2;
142441
+ const [method, url] = route.split(/ /);
142442
+ const endpointDefaults = Object.assign({
142443
+ method,
142444
+ url
142445
+ }, defaults2);
142446
+ if (!endpointMethodsMap.has(scope)) {
142447
+ endpointMethodsMap.set(scope, /* @__PURE__ */ new Map);
142448
+ }
142449
+ endpointMethodsMap.get(scope).set(methodName, {
142450
+ scope,
142451
+ methodName,
142452
+ endpointDefaults,
142453
+ decorations
142454
+ });
142455
+ }
142456
+ }
142457
+ var handler = {
142458
+ has({ scope }, methodName) {
142459
+ return endpointMethodsMap.get(scope).has(methodName);
142460
+ },
142461
+ getOwnPropertyDescriptor(target, methodName) {
142462
+ return {
142463
+ value: this.get(target, methodName),
142464
+ configurable: true,
142465
+ writable: true,
142466
+ enumerable: true
142467
+ };
142468
+ },
142469
+ defineProperty(target, methodName, descriptor) {
142470
+ Object.defineProperty(target.cache, methodName, descriptor);
142471
+ return true;
142472
+ },
142473
+ deleteProperty(target, methodName) {
142474
+ delete target.cache[methodName];
142475
+ return true;
142476
+ },
142477
+ ownKeys({ scope }) {
142478
+ return [...endpointMethodsMap.get(scope).keys()];
142479
+ },
142480
+ set(target, methodName, value) {
142481
+ return target.cache[methodName] = value;
142482
+ },
142483
+ get({ octokit, scope, cache }, methodName) {
142484
+ if (cache[methodName]) {
142485
+ return cache[methodName];
142486
+ }
142487
+ const method = endpointMethodsMap.get(scope).get(methodName);
142488
+ if (!method) {
142489
+ return;
142490
+ }
142491
+ const { endpointDefaults, decorations } = method;
142492
+ if (decorations) {
142493
+ cache[methodName] = decorate(octokit, scope, methodName, endpointDefaults, decorations);
142494
+ } else {
142495
+ cache[methodName] = octokit.request.defaults(endpointDefaults);
142496
+ }
142497
+ return cache[methodName];
142498
+ }
142499
+ };
142500
+ function endpointsToMethods(octokit) {
142501
+ const newMethods = {};
142502
+ for (const scope of endpointMethodsMap.keys()) {
142503
+ newMethods[scope] = new Proxy({ octokit, scope, cache: {} }, handler);
142504
+ }
142505
+ return newMethods;
142506
+ }
142507
+ function decorate(octokit, scope, methodName, defaults2, decorations) {
142508
+ const requestWithDefaults = octokit.request.defaults(defaults2);
142509
+ function withDecorations(...args) {
142510
+ let options = requestWithDefaults.endpoint.merge(...args);
142511
+ if (decorations.mapToData) {
142512
+ options = Object.assign({}, options, {
142513
+ data: options[decorations.mapToData],
142514
+ [decorations.mapToData]: undefined
142515
+ });
142516
+ return requestWithDefaults(options);
142517
+ }
142518
+ if (decorations.renamed) {
142519
+ const [newScope, newMethodName] = decorations.renamed;
142520
+ octokit.log.warn(`octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`);
142521
+ }
142522
+ if (decorations.deprecated) {
142523
+ octokit.log.warn(decorations.deprecated);
142524
+ }
142525
+ if (decorations.renamedParameters) {
142526
+ const options2 = requestWithDefaults.endpoint.merge(...args);
142527
+ for (const [name, alias] of Object.entries(decorations.renamedParameters)) {
142528
+ if (name in options2) {
142529
+ octokit.log.warn(`"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead`);
142530
+ if (!(alias in options2)) {
142531
+ options2[alias] = options2[name];
142532
+ }
142533
+ delete options2[name];
142534
+ }
142535
+ }
142536
+ return requestWithDefaults(options2);
142537
+ }
142538
+ return requestWithDefaults(...args);
142539
+ }
142540
+ return Object.assign(withDecorations, requestWithDefaults);
142541
+ }
142542
+
142543
+ // node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js
142544
+ function restEndpointMethods(octokit) {
142545
+ const api = endpointsToMethods(octokit);
142546
+ return {
142547
+ rest: api
142548
+ };
142549
+ }
142550
+ restEndpointMethods.VERSION = VERSION7;
142551
+ function legacyRestEndpointMethods(octokit) {
142552
+ const api = endpointsToMethods(octokit);
142553
+ return {
142554
+ ...api,
142555
+ rest: api
142556
+ };
142557
+ }
142558
+ legacyRestEndpointMethods.VERSION = VERSION7;
142559
+
142560
+ // node_modules/@octokit/rest/dist-src/version.js
142561
+ var VERSION8 = "22.0.1";
142562
+
142563
+ // node_modules/@octokit/rest/dist-src/index.js
142564
+ var Octokit2 = Octokit.plugin(requestLog, legacyRestEndpointMethods, paginateRest).defaults({
142565
+ userAgent: `octokit-rest.js/${VERSION8}`
142566
+ });
142567
+
142568
+ // server/services/github.ts
142569
+ var octokitClient = null;
142570
+ var cachedPat = null;
142571
+ function getOctokit() {
142572
+ const pat = getSetting("githubPat");
142573
+ if (!pat)
142574
+ return null;
142575
+ if (pat !== cachedPat) {
142576
+ octokitClient = new Octokit2({ auth: pat });
142577
+ cachedPat = pat;
142578
+ }
142579
+ return octokitClient;
142580
+ }
142581
+ function parseGitHubRemoteUrl(url) {
142582
+ const httpsMatch = url.match(/github\.com\/([^/]+)\/([^/]+?)(?:\.git)?$/);
142583
+ if (httpsMatch) {
142584
+ return { owner: httpsMatch[1], repo: httpsMatch[2] };
142585
+ }
142586
+ const sshMatch = url.match(/github\.com:([^/]+)\/([^/]+?)(?:\.git)?$/);
142587
+ if (sshMatch) {
142588
+ return { owner: sshMatch[1], repo: sshMatch[2] };
142589
+ }
142590
+ return null;
142591
+ }
142592
+ async function getAuthenticatedUser() {
142593
+ const octokit = getOctokit();
142594
+ if (!octokit)
142595
+ return null;
142596
+ try {
142597
+ const { data } = await octokit.users.getAuthenticated();
142598
+ return {
142599
+ login: data.login,
142600
+ avatarUrl: data.avatar_url
142601
+ };
142602
+ } catch {
142603
+ return null;
142604
+ }
142605
+ }
142606
+ async function fetchUserOrgs() {
142607
+ const octokit = getOctokit();
142608
+ if (!octokit)
142609
+ return [];
142610
+ try {
142611
+ const { data } = await octokit.orgs.listForAuthenticatedUser({
142612
+ per_page: 100
142613
+ });
142614
+ return data.map((org) => ({
142615
+ login: org.login,
142616
+ avatarUrl: org.avatar_url
142617
+ }));
142618
+ } catch (err) {
142619
+ console.error("Failed to fetch GitHub orgs:", err);
142620
+ return [];
142621
+ }
142622
+ }
142623
+ async function fetchUserIssues(filter2 = "assigned", repoFilters, org) {
142624
+ const octokit = getOctokit();
142625
+ if (!octokit)
142626
+ return [];
142627
+ try {
142628
+ const filterQueries = {
142629
+ assigned: "is:issue is:open assignee:@me",
142630
+ created: "is:issue is:open author:@me",
142631
+ mentioned: "is:issue is:open mentions:@me"
142632
+ };
142633
+ let query = filterQueries[filter2];
142634
+ if (org) {
142635
+ query = `${query} org:${org}`;
142636
+ } else if (repoFilters && repoFilters.length > 0) {
142637
+ const repoQueries = repoFilters.map((r) => `repo:${r.owner}/${r.repo}`).join(" ");
142638
+ query = `${query} ${repoQueries}`;
142639
+ }
142640
+ const { data } = await octokit.search.issuesAndPullRequests({
142641
+ q: query,
142642
+ sort: "updated",
142643
+ order: "desc",
142644
+ per_page: 100
142645
+ });
142646
+ return data.items.filter((item) => !(("pull_request" in item) && item.pull_request)).map((issue) => {
142647
+ const repoMatch = issue.repository_url.match(/repos\/([^/]+)\/([^/]+)$/);
142648
+ const owner = repoMatch?.[1] ?? "";
142649
+ const repo = repoMatch?.[2] ?? "";
142650
+ return {
142651
+ id: issue.id,
142652
+ number: issue.number,
142653
+ title: issue.title,
142654
+ htmlUrl: issue.html_url,
142655
+ createdAt: issue.created_at,
142656
+ updatedAt: issue.updated_at,
142657
+ repository: {
142658
+ owner,
142659
+ repo,
142660
+ fullName: `${owner}/${repo}`
142661
+ },
142662
+ labels: (issue.labels ?? []).filter((l) => typeof l === "object" && l !== null && ("name" in l)).map((l) => ({
142663
+ name: l.name ?? "",
142664
+ color: l.color ?? ""
142665
+ }))
142666
+ };
142667
+ });
142668
+ } catch (err) {
142669
+ console.error("Failed to fetch GitHub issues:", err);
142670
+ return [];
142671
+ }
142672
+ }
142673
+ async function fetchUserPRs(filter2, repoFilters, org) {
142674
+ const octokit = getOctokit();
142675
+ if (!octokit)
142676
+ return [];
142677
+ try {
142678
+ const results = [];
142679
+ let scopeQueryPart = "";
142680
+ if (org) {
142681
+ scopeQueryPart = `org:${org}`;
142682
+ } else if (repoFilters && repoFilters.length > 0) {
142683
+ scopeQueryPart = repoFilters.map((r) => `repo:${r.owner}/${r.repo}`).join(" ");
142684
+ }
142685
+ const parsePR = (pr) => {
142686
+ const repoMatch = pr.repository_url.match(/repos\/([^/]+)\/([^/]+)$/);
142687
+ const owner = repoMatch?.[1] ?? "";
142688
+ const repo = repoMatch?.[2] ?? "";
142689
+ return {
142690
+ id: pr.id,
142691
+ number: pr.number,
142692
+ title: pr.title,
142693
+ htmlUrl: pr.html_url,
142694
+ createdAt: pr.created_at,
142695
+ updatedAt: pr.updated_at,
142696
+ draft: pr.draft ?? false,
142697
+ repository: {
142698
+ owner,
142699
+ repo,
142700
+ fullName: `${owner}/${repo}`
142701
+ },
142702
+ author: {
142703
+ login: pr.user?.login ?? "",
142704
+ avatarUrl: pr.user?.avatar_url ?? ""
142705
+ },
142706
+ labels: (pr.labels ?? []).filter((l) => typeof l === "object" && l !== null && ("name" in l)).map((l) => ({
142707
+ name: l.name ?? "",
142708
+ color: l.color ?? ""
142709
+ }))
142710
+ };
142711
+ };
142712
+ if (filter2 === "all" || filter2 === "created") {
142713
+ const query = `is:pr is:open author:@me ${scopeQueryPart}`.trim();
142714
+ const { data } = await octokit.search.issuesAndPullRequests({
142715
+ q: query,
142716
+ sort: "updated",
142717
+ order: "desc",
142718
+ per_page: 100
142719
+ });
142720
+ for (const pr of data.items) {
142721
+ results.push(parsePR(pr));
142722
+ }
142723
+ }
142724
+ if (filter2 === "all" || filter2 === "assigned") {
142725
+ const query = `is:pr is:open assignee:@me ${scopeQueryPart}`.trim();
142726
+ const { data } = await octokit.search.issuesAndPullRequests({
142727
+ q: query,
142728
+ sort: "updated",
142729
+ order: "desc",
142730
+ per_page: 100
142731
+ });
142732
+ for (const pr of data.items) {
142733
+ if (!results.some((r) => r.id === pr.id)) {
142734
+ results.push(parsePR(pr));
142735
+ }
142736
+ }
142737
+ }
142738
+ if (filter2 === "all" || filter2 === "review_requested") {
142739
+ const query = `is:pr is:open review-requested:@me ${scopeQueryPart}`.trim();
142740
+ const { data } = await octokit.search.issuesAndPullRequests({
142741
+ q: query,
142742
+ sort: "updated",
142743
+ order: "desc",
142744
+ per_page: 100
142745
+ });
142746
+ for (const pr of data.items) {
142747
+ if (!results.some((r) => r.id === pr.id)) {
142748
+ results.push(parsePR(pr));
142749
+ }
142750
+ }
142751
+ }
142752
+ if (filter2 === "all" || filter2 === "mentioned") {
142753
+ const query = `is:pr is:open mentions:@me ${scopeQueryPart}`.trim();
142754
+ const { data } = await octokit.search.issuesAndPullRequests({
142755
+ q: query,
142756
+ sort: "updated",
142757
+ order: "desc",
142758
+ per_page: 100
142759
+ });
142760
+ for (const pr of data.items) {
142761
+ if (!results.some((r) => r.id === pr.id)) {
142762
+ results.push(parsePR(pr));
142763
+ }
142764
+ }
142765
+ }
142766
+ results.sort((a, b) => new Date(b.updatedAt).getTime() - new Date(a.updatedAt).getTime());
142767
+ return results;
142768
+ } catch (err) {
142769
+ console.error("Failed to fetch GitHub PRs:", err);
142770
+ return [];
142771
+ }
142772
+ }
142773
+
142774
+ // server/routes/github.ts
142775
+ var app11 = new Hono2;
142776
+ app11.get("/user", async (c) => {
142777
+ const user = await getAuthenticatedUser();
142778
+ if (!user) {
142779
+ return c.json({ error: "GitHub PAT not configured or invalid" }, 401);
142780
+ }
142781
+ return c.json(user);
142782
+ });
142783
+ app11.get("/orgs", async (c) => {
142784
+ const orgs = await fetchUserOrgs();
142785
+ return c.json(orgs);
142786
+ });
142787
+ app11.get("/issues", async (c) => {
142788
+ const filter2 = c.req.query("filter") || "assigned";
142789
+ const org = c.req.query("org") || undefined;
142790
+ const viboraReposOnly = c.req.query("viboraReposOnly") === "true";
142791
+ let repoFilters;
142792
+ if (!org && viboraReposOnly) {
142793
+ const repos = db.select().from(repositories).all();
142794
+ repoFilters = repos.filter((r) => r.remoteUrl).map((r) => parseGitHubRemoteUrl(r.remoteUrl)).filter((r) => r !== null);
142795
+ if (repoFilters.length === 0) {
142796
+ return c.json([]);
142797
+ }
142798
+ }
142799
+ const issues = await fetchUserIssues(filter2, repoFilters, org);
142800
+ return c.json(issues);
142801
+ });
142802
+ app11.get("/prs", async (c) => {
142803
+ const filter2 = c.req.query("filter") || "all";
142804
+ const org = c.req.query("org") || undefined;
142805
+ const viboraReposOnly = c.req.query("viboraReposOnly") === "true";
142806
+ let repoFilters;
142807
+ if (!org && viboraReposOnly) {
142808
+ const repos = db.select().from(repositories).all();
142809
+ repoFilters = repos.filter((r) => r.remoteUrl).map((r) => parseGitHubRemoteUrl(r.remoteUrl)).filter((r) => r !== null);
142810
+ if (repoFilters.length === 0) {
142811
+ return c.json([]);
142812
+ }
142813
+ }
142814
+ const prs = await fetchUserPRs(filter2, repoFilters, org);
142815
+ return c.json(prs);
142816
+ });
142817
+ var github_default = app11;
142818
+
139089
142819
  // server/app.ts
139090
142820
  function getDistPath() {
139091
142821
  if (process.env.VIBORA_PACKAGE_ROOT) {
@@ -139094,30 +142824,31 @@ function getDistPath() {
139094
142824
  return join11(process.cwd(), "dist");
139095
142825
  }
139096
142826
  function createApp() {
139097
- const app11 = new Hono2;
139098
- app11.use("*", logger());
139099
- app11.use("*", cors({
142827
+ const app12 = new Hono2;
142828
+ app12.use("*", logger());
142829
+ app12.use("*", cors({
139100
142830
  origin: "*",
139101
142831
  allowMethods: ["GET", "POST", "PATCH", "PUT", "DELETE", "OPTIONS"],
139102
142832
  allowHeaders: ["Content-Type", "Authorization"]
139103
142833
  }));
139104
142834
  const settings = getSettings();
139105
142835
  if (settings.basicAuthUsername && settings.basicAuthPassword) {
139106
- app11.use("*", basicAuth({
142836
+ app12.use("*", basicAuth({
139107
142837
  username: settings.basicAuthUsername,
139108
142838
  password: settings.basicAuthPassword
139109
142839
  }));
139110
142840
  }
139111
- app11.route("/health", health_default);
139112
- app11.route("/api/tasks", tasks_default);
139113
- app11.route("/api/git", git_default);
139114
- app11.route("/api/fs", filesystem_default);
139115
- app11.route("/api/config", config_default);
139116
- app11.route("/api/uploads", uploads_default);
139117
- app11.route("/api/worktrees", worktrees_default);
139118
- app11.route("/api/terminal-view-state", terminal_view_state_default);
139119
- app11.route("/api/repositories", repositories_default);
139120
- app11.route("/api/linear", linear_default);
142841
+ app12.route("/health", health_default);
142842
+ app12.route("/api/tasks", tasks_default);
142843
+ app12.route("/api/git", git_default);
142844
+ app12.route("/api/fs", filesystem_default);
142845
+ app12.route("/api/config", config_default);
142846
+ app12.route("/api/uploads", uploads_default);
142847
+ app12.route("/api/worktrees", worktrees_default);
142848
+ app12.route("/api/terminal-view-state", terminal_view_state_default);
142849
+ app12.route("/api/repositories", repositories_default);
142850
+ app12.route("/api/linear", linear_default);
142851
+ app12.route("/api/github", github_default);
139121
142852
  if (process.env.VIBORA_PACKAGE_ROOT) {
139122
142853
  const distPath = getDistPath();
139123
142854
  const serveFile = async (filePath) => {
@@ -139140,7 +142871,7 @@ function createApp() {
139140
142871
  headers: { "Content-Type": mimeTypes[ext2 || ""] || "application/octet-stream" }
139141
142872
  });
139142
142873
  };
139143
- app11.get("/assets/*", async (c) => {
142874
+ app12.get("/assets/*", async (c) => {
139144
142875
  const assetPath = join11(distPath, c.req.path);
139145
142876
  if (existsSync10(assetPath)) {
139146
142877
  return serveFile(assetPath);
@@ -139149,7 +142880,7 @@ function createApp() {
139149
142880
  });
139150
142881
  const staticFiles = ["favicon.ico", "vibora-icon.png", "vibora-logo.jpeg", "vite.svg"];
139151
142882
  for (const file of staticFiles) {
139152
- app11.get(`/${file}`, async () => {
142883
+ app12.get(`/${file}`, async () => {
139153
142884
  const filePath = join11(distPath, file);
139154
142885
  if (existsSync10(filePath)) {
139155
142886
  return serveFile(filePath);
@@ -139157,7 +142888,7 @@ function createApp() {
139157
142888
  return new Response("Not Found", { status: 404 });
139158
142889
  });
139159
142890
  }
139160
- app11.get("*", async (c, next) => {
142891
+ app12.get("*", async (c, next) => {
139161
142892
  const path9 = c.req.path;
139162
142893
  if (path9.startsWith("/api/") || path9.startsWith("/ws/") || path9 === "/health") {
139163
142894
  return next();
@@ -139166,7 +142897,7 @@ function createApp() {
139166
142897
  return c.html(html);
139167
142898
  });
139168
142899
  }
139169
- return app11;
142900
+ return app12;
139170
142901
  }
139171
142902
 
139172
142903
  // server/services/pr-monitor.ts
@@ -139252,11 +142983,11 @@ setBroadcastDestroyed((terminalId) => {
139252
142983
  payload: { terminalId }
139253
142984
  });
139254
142985
  });
139255
- var app11 = createApp();
139256
- var { injectWebSocket, upgradeWebSocket } = createNodeWebSocket({ app: app11 });
139257
- app11.get("/ws/terminal", upgradeWebSocket(() => terminalWebSocketHandlers));
142986
+ var app12 = createApp();
142987
+ var { injectWebSocket, upgradeWebSocket } = createNodeWebSocket({ app: app12 });
142988
+ app12.get("/ws/terminal", upgradeWebSocket(() => terminalWebSocketHandlers));
139258
142989
  var server = serve({
139259
- fetch: app11.fetch,
142990
+ fetch: app12.fetch,
139260
142991
  port: PORT,
139261
142992
  hostname: "0.0.0.0"
139262
142993
  }, (info) => {