diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index e8f4b06..8cf1ecd 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -40,11 +40,12 @@ jobs:
runs-on: ubuntu-latest
environment:
name: CppWarningNotifier
+ env:
+ APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}
steps:
- uses: actions/checkout@v6
- uses: ./
with:
- PRIVATE_KEY: ${{ secrets.PRIVATE_KEY }}
RUN_ID: ${{ github.run_id }}
JOB_ID: ${{ job.check_run_id }}
STEP_REGEX: build-.*
diff --git a/action.yml b/action.yml
index c034b47..d08f0f7 100644
--- a/action.yml
+++ b/action.yml
@@ -9,8 +9,6 @@ inputs:
requird: true
JOB_ID:
required: true
- PRIVATE_KEY:
- required: true
JOB_REGEX:
required: true
STEP_REGEX:
diff --git a/dist/index.js b/dist/index.js
index d3fc90c..c3ff9b0 100644
--- a/dist/index.js
+++ b/dist/index.js
@@ -8606,106 +8606,79 @@ function onSecondaryRateLimit(retryAfter, options, octokit) {
}
var App = App$1.defaults({ Octokit });
-if (!process.env.GITHUB_REF?.startsWith("refs/pull/")) {
- console.log("not a pull request, exiting.");
- process.exit(0);
-}
-function requireEnv(name) {
- const value = process.env[name];
- if (!value)
- throw new Error(`Missing required environment variable: ${name}`);
- return value;
-}
-const githubRepository = requireEnv("GITHUB_REPOSITORY");
-const githubRef = requireEnv("GITHUB_REF");
-const current_run_id = parseInt(requireEnv("INPUT_RUN_ID"));
-const current_job_id = parseInt(requireEnv("INPUT_JOB_ID"));
-const [owner, repo] = githubRepository.split("/");
-const pull_request_number = parseInt(githubRef.split("/")[2]);
-const ignore_no_marker = requireEnv("INPUT_IGNORE_NO_MARKER") === 'true';
-const job_regex = requireEnv("INPUT_JOB_REGEX");
-const step_regex = requireEnv("INPUT_STEP_REGEX");
-const appId = 1230093;
-const privateKey = requireEnv("INPUT_PRIVATE_KEY");
-const app = new App({ appId, privateKey });
-const { data: installation } = await app.octokit.request("GET /repos/{owner}/{repo}/installation", { owner, repo });
-const octokit = await app.getInstallationOctokit(installation.id);
-let body = null;
-const rows = [];
-const { data: jobList } = await octokit.rest.actions.listJobsForWorkflowRun({
- owner,
- repo,
- run_id: current_run_id,
- per_page: 100,
-});
-for (const job of jobList.jobs) {
- const job_id = job.id;
- if (job_id === current_job_id)
- continue;
- const { url: redirectUrl } = await octokit.rest.actions.downloadJobLogsForWorkflowRun({
+const warning_regex = /warning( .\d+)?:/;
+const error_regex = /error( .\d+)?:/;
+function find_first_issue(lines, regex, label) {
+ const index = lines.findIndex((line) => line.match(regex));
+ if (index === -1)
+ return null;
+ console.log(`${label} index: ${index}, matched line: ${lines[index]}`);
+ return { index, label };
+}
+async function collect_rows(octokit, owner, repo, run_id, config, exclude_job_id) {
+ const rows = [];
+ const { data: job_list } = await octokit.rest.actions.listJobsForWorkflowRun({
owner,
repo,
- job_id,
+ run_id,
+ per_page: 100,
});
- const response = await fetch(redirectUrl);
- if (!response.ok) {
- console.log(`failed to retrieve job log for ${job_id}`);
- continue;
- }
- const jobLog = await response.text();
- const warningRegex = /warning( .\d+)?:/;
- const errorRegex = /error( .\d+)?:/;
- const lines = jobLog.split("\n");
- console.log(`total lines: ${lines.length}`);
- let offset = 0;
- const offsetIdx = lines.findIndex((line) => line.match("CPPWARNINGNOTIFIER_LOG_MARKER"));
- if (offsetIdx !== -1) {
- offset = offsetIdx;
- }
- else {
- if (ignore_no_marker) {
+ for (const job of job_list.jobs) {
+ const job_id = job.id;
+ if (exclude_job_id !== undefined && job_id === exclude_job_id)
+ continue;
+ const { url: redirect_url } = await octokit.rest.actions.downloadJobLogsForWorkflowRun({
+ owner,
+ repo,
+ job_id,
+ });
+ const response = await fetch(redirect_url);
+ if (!response.ok) {
+ console.log(`failed to retrieve job log for ${job_id}`);
continue;
}
- }
- let compileResult = "✅success";
- let firstIssueLine = 1;
- const warningIdx = lines.findIndex((line) => line.match(warningRegex));
- console.log(`warningIdx: ${warningIdx}`);
- if (warningIdx !== -1) {
- compileResult = "⚠️warning";
- firstIssueLine = warningIdx - offset + 1;
- console.log(`matched warning line: ${lines[warningIdx]}`);
- }
- else {
- const errorIdx = lines.findIndex((line) => line.match(errorRegex));
- console.log(`errorIdx: ${errorIdx}`);
- if (errorIdx !== -1) {
- compileResult = "❌error";
- firstIssueLine = errorIdx - offset + 1;
- console.log(`matched error line: ${lines[errorIdx]}`);
+ const job_log = await response.text();
+ const lines = job_log.split("\n");
+ console.log(`total lines: ${lines.length}`);
+ let offset = 0;
+ const offset_idx = lines.findIndex((line) => line.match("CPPWARNINGNOTIFIER_LOG_MARKER"));
+ if (offset_idx !== -1) {
+ offset = offset_idx;
+ }
+ else {
+ if (config.ignore_no_marker) {
+ continue;
+ }
+ }
+ let compile_result = "✅success";
+ let first_issue_line = 1;
+ const issue = find_first_issue(lines, warning_regex, "warning") ??
+ find_first_issue(lines, error_regex, "error");
+ if (issue) {
+ compile_result = issue.label === "warning" ? "⚠️warning" : "❌error";
+ first_issue_line = issue.index - offset + 1;
+ }
+ const steps = job.steps ?? [];
+ const step_index = steps.findIndex((step) => step.name.match(config.step_regex) &&
+ step.status === "completed" &&
+ step.conclusion === "success");
+ const step_id = (step_index === -1 ? steps.length : step_index) + 1;
+ console.log(`step_id is ${step_id}`);
+ console.log(`job name is "${job.name}"`);
+ const job_match = job.name.match(config.job_regex);
+ if (!job_match) {
+ console.log("job match fail");
+ continue;
}
+ rows.push({
+ url: `https://github.com/${owner}/${repo}/actions/runs/${run_id}/job/${job_id}#step:${step_id}:${first_issue_line}`,
+ status: compile_result,
+ ...job_match.groups,
+ });
}
- const steps = job.steps ?? [];
- const stepIndex = steps.findIndex((step) => step.name.match(step_regex) &&
- step.status === "completed" &&
- step.conclusion === "success");
- const stepId = (stepIndex === -1 ? steps.length : stepIndex) + 1;
- console.log(`stepId is ${stepId}`);
- console.log(`job name is "${job.name}"`);
- const jobMatch = job.name.match(job_regex);
- if (!jobMatch) {
- console.log("job match fail");
- continue;
- }
- rows.push({
- url: `https://github.com/${owner}/${repo}/actions/runs/${current_run_id}/job/${job_id}#step:${stepId}:${firstIssueLine}`,
- status: compileResult,
- ...jobMatch.groups,
- });
+ console.log("rows", rows);
+ return rows;
}
-console.log("rows", rows);
-const ROW_HEADER_FIELDS = JSON.parse(requireEnv("INPUT_ROW_HEADERS"));
-const COLUMN_FIELD = requireEnv("INPUT_COLUMN_HEADER");
class CompositeKeyMap {
map = new Map();
get(keys) {
@@ -8715,56 +8688,45 @@ class CompositeKeyMap {
this.map.set(JSON.stringify(keys), value);
}
}
-function escapeHtml(s) {
+function escape_html(s) {
return s
.replace(/&/g, "&")
.replace(//g, ">")
.replace(/"/g, """);
}
-function renderRows(rows, depth, columns, cellMap) {
- if (depth === ROW_HEADER_FIELDS.length) {
+function render_rows(rows, depth, columns, cell_map, row_header_fields) {
+ if (depth === row_header_fields.length) {
const representative = rows[0];
- const rowFields = ROW_HEADER_FIELDS.map((f) => representative[f]);
+ const row_fields = row_header_fields.map((f) => representative[f]);
const tds = columns.map((col) => {
- const cell = cellMap.get([...rowFields, col]);
+ const cell = cell_map.get([...row_fields, col]);
if (!cell)
return "
| ";
- return `${escapeHtml(cell.status)} | `;
+ return `${escape_html(cell.status)} | `;
});
return [`${tds.join("")}`];
}
- const field = ROW_HEADER_FIELDS[depth];
- const groups = groupBy(rows, (r) => r[field] ?? "");
+ const field = row_header_fields[depth];
+ const groups = Object.entries(Object.groupBy(rows, (r) => r[field] ?? ""));
const result = [];
for (const [value, group] of groups) {
- const childRows = renderRows(group, depth + 1, columns, cellMap);
- const rowspan = childRows.length;
+ const child_rows = render_rows(group, depth + 1, columns, cell_map, row_header_fields);
+ const rowspan = child_rows.length;
const th = rowspan > 1
- ? `${escapeHtml(value)} | `
- : `${escapeHtml(value)} | `;
- childRows[0] = `${th}${childRows[0]}`;
- result.push(...childRows);
+ ? `${escape_html(value)} | `
+ : `${escape_html(value)} | `;
+ child_rows[0] = `${th}${child_rows[0]}`;
+ result.push(...child_rows);
}
return result;
}
-function groupBy(items, keyFn) {
- const map = new Map();
- for (const item of items) {
- const key = keyFn(item);
- let group = map.get(key);
- if (!group) {
- group = [];
- map.set(key, group);
- }
- group.push(item);
- }
- return [...map.entries()];
-}
-function generateTable(entries) {
- const columns = [...new Set(entries.map((e) => e[COLUMN_FIELD] ?? ""))].sort((a, b) => Number(a) - Number(b));
+function generate_table(entries, config) {
+ const row_header_fields = config.row_headers;
+ const column_field = config.column_header;
+ const columns = [...new Set(entries.map((e) => e[column_field] ?? ""))].sort((a, b) => Number(a) - Number(b));
const sorted = [...entries].sort((a, b) => {
- for (const field of ROW_HEADER_FIELDS) {
+ for (const field of row_header_fields) {
const av = a[field] ?? "";
const bv = b[field] ?? "";
if (av < bv)
@@ -8774,27 +8736,24 @@ function generateTable(entries) {
}
return 0;
});
- const cellMap = new CompositeKeyMap();
+ const cell_map = new CompositeKeyMap();
for (const entry of sorted) {
- const key = [...ROW_HEADER_FIELDS.map((f) => entry[f]), entry[COLUMN_FIELD]];
- cellMap.set(key, entry);
+ const key = [...row_header_fields.map((f) => entry[f]), entry[column_field]];
+ cell_map.set(key, entry);
}
- const theadCols = columns.map((v) => `C++${v} | `).join("");
- const thead = `| Environment | ${theadCols}
`;
- const rows = renderRows(sorted, 0, columns, cellMap);
- const tbody = `${rows.map((r) => `${r}`).join("")}
`;
+ const thead_cols = columns.map((v) => `C++${v} | `).join("");
+ const thead = `| Environment | ${thead_cols}
`;
+ const table_rows = render_rows(sorted, 0, columns, cell_map, row_header_fields);
+ const tbody = `${table_rows.map((r) => `${r}`).join("")}
`;
return ``;
}
-body ??= generateTable(rows);
-console.log("body is", body);
-if (body) {
+async function post_or_update_comment(octokit, owner, repo, pull_request_number, body, bot_login) {
console.log("outdates previous comments");
const { data: comments } = await octokit.rest.issues.listComments({
owner,
repo,
issue_number: pull_request_number,
});
- const compareDate = (a, b) => a.getTime() - b.getTime();
const post_comment = async () => {
console.log("leaving comment");
await octokit.rest.issues.createComment({
@@ -8805,19 +8764,16 @@ if (body) {
});
};
const sorted_comments = comments
- .filter((comment) => comment.user?.login === "cppwarningnotifier[bot]")
- .toSorted((a, b) => compareDate(new Date(a.created_at), new Date(b.created_at)));
+ .filter((comment) => comment.user?.login === bot_login)
+ .toSorted((a, b) => new Date(a.created_at).getTime() - new Date(b.created_at).getTime());
if (sorted_comments.length > 0) {
const latest_comment = sorted_comments[sorted_comments.length - 1];
if (body.includes("warning") || latest_comment.body?.includes("warning")) {
- // minimize latest comment
- await octokit.graphql(`
- mutation {
- minimizeComment(input: { subjectId: "${latest_comment.node_id}", classifier: OUTDATED }) {
+ await octokit.graphql(`mutation($id: ID!) {
+ minimizeComment(input: { subjectId: $id, classifier: OUTDATED }) {
clientMutationId
}
- }
- `);
+ }`, { id: latest_comment.node_id });
await post_comment();
}
}
@@ -8825,4 +8781,39 @@ if (body) {
await post_comment();
}
}
+
+if (!process.env.GITHUB_REF?.startsWith("refs/pull/")) {
+ console.log("not a pull request, exiting.");
+ process.exit(0);
+}
+function require_env(name) {
+ const value = process.env[name];
+ if (!value)
+ throw new Error(`Missing required environment variable: ${name}`);
+ return value;
+}
+const github_repository = require_env("GITHUB_REPOSITORY");
+const github_ref = require_env("GITHUB_REF");
+const current_run_id = parseInt(require_env("INPUT_RUN_ID"));
+const current_job_id = parseInt(require_env("INPUT_JOB_ID"));
+const [owner, repo] = github_repository.split("/");
+const pull_request_number = parseInt(github_ref.split("/")[2]);
+const config = {
+ job_regex: require_env("INPUT_JOB_REGEX"),
+ step_regex: require_env("INPUT_STEP_REGEX"),
+ row_headers: JSON.parse(require_env("INPUT_ROW_HEADERS")),
+ column_header: require_env("INPUT_COLUMN_HEADER"),
+ ignore_no_marker: require_env("INPUT_IGNORE_NO_MARKER") === "true",
+};
+const app_id = 1230093;
+const private_key = require_env("APP_PRIVATE_KEY");
+const app = new App({ appId: app_id, privateKey: private_key });
+const { data: installation } = await app.octokit.request("GET /repos/{owner}/{repo}/installation", { owner, repo });
+const octokit = await app.getInstallationOctokit(installation.id);
+const rows = await collect_rows(octokit, owner, repo, current_run_id, config, current_job_id);
+const body = generate_table(rows, config);
+console.log("body is", body);
+if (body) {
+ await post_or_update_comment(octokit, owner, repo, pull_request_number, body, "cppwarningnotifier[bot]");
+}
//# sourceMappingURL=index.js.map
diff --git a/dist/index.js.map b/dist/index.js.map
index 42e904b..ddf81db 100644
--- a/dist/index.js.map
+++ b/dist/index.js.map
@@ -1 +1 @@
-{"version":3,"file":"index.js","sources":["../node_modules/universal-user-agent/index.js","../node_modules/before-after-hook/lib/register.js","../node_modules/before-after-hook/lib/add.js","../node_modules/before-after-hook/lib/remove.js","../node_modules/before-after-hook/index.js","../node_modules/@octokit/endpoint/dist-bundle/index.js","../node_modules/fast-content-type-parse/index.js","../node_modules/@octokit/request-error/dist-src/index.js","../node_modules/@octokit/request/dist-bundle/index.js","../node_modules/@octokit/graphql/dist-bundle/index.js","../node_modules/@octokit/auth-token/dist-bundle/index.js","../node_modules/@octokit/core/dist-src/version.js","../node_modules/@octokit/core/dist-src/index.js","../node_modules/@octokit/plugin-paginate-rest/dist-bundle/index.js","../node_modules/@octokit/plugin-paginate-graphql/dist-bundle/index.js","../node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js","../node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js","../node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js","../node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js","../node_modules/bottleneck/light.js","../node_modules/@octokit/plugin-retry/dist-bundle/index.js","../node_modules/@octokit/plugin-throttling/dist-bundle/index.js","../node_modules/@octokit/oauth-authorization-url/dist-src/index.js","../node_modules/@octokit/oauth-methods/dist-bundle/index.js","../node_modules/@octokit/auth-oauth-device/dist-bundle/index.js","../node_modules/@octokit/auth-oauth-user/dist-bundle/index.js","../node_modules/@octokit/auth-oauth-app/dist-bundle/index.js","../node_modules/universal-github-app-jwt/lib/utils.js","../node_modules/universal-github-app-jwt/lib/crypto-native.js","../node_modules/universal-github-app-jwt/lib/get-token.js","../node_modules/universal-github-app-jwt/index.js","../node_modules/toad-cache/dist/toad-cache.mjs","../node_modules/@octokit/auth-app/dist-node/index.js","../node_modules/@octokit/auth-unauthenticated/dist-node/index.js","../node_modules/@octokit/oauth-app/dist-node/index.js","../node_modules/@octokit/webhooks-methods/dist-node/index.js","../node_modules/@octokit/webhooks/dist-bundle/index.js","../node_modules/@octokit/app/dist-node/index.js","../node_modules/octokit/dist-bundle/index.js","../../src/index.ts"],"sourcesContent":["export function getUserAgent() {\n if (typeof navigator === \"object\" && \"userAgent\" in navigator) {\n return navigator.userAgent;\n }\n\n if (typeof process === \"object\" && process.version !== undefined) {\n return `Node.js/${process.version.substr(1)} (${process.platform}; ${\n process.arch\n })`;\n }\n\n return \"\";\n}\n","// @ts-check\n\nexport function register(state, name, method, options) {\n if (typeof method !== \"function\") {\n throw new Error(\"method for before hook must be a function\");\n }\n\n if (!options) {\n options = {};\n }\n\n if (Array.isArray(name)) {\n return name.reverse().reduce((callback, name) => {\n return register.bind(null, state, name, callback, options);\n }, method)();\n }\n\n return Promise.resolve().then(() => {\n if (!state.registry[name]) {\n return method(options);\n }\n\n return state.registry[name].reduce((method, registered) => {\n return registered.hook.bind(null, method, options);\n }, method)();\n });\n}\n","// @ts-check\n\nexport function addHook(state, kind, name, hook) {\n const orig = hook;\n if (!state.registry[name]) {\n state.registry[name] = [];\n }\n\n if (kind === \"before\") {\n hook = (method, options) => {\n return Promise.resolve()\n .then(orig.bind(null, options))\n .then(method.bind(null, options));\n };\n }\n\n if (kind === \"after\") {\n hook = (method, options) => {\n let result;\n return Promise.resolve()\n .then(method.bind(null, options))\n .then((result_) => {\n result = result_;\n return orig(result, options);\n })\n .then(() => {\n return result;\n });\n };\n }\n\n if (kind === \"error\") {\n hook = (method, options) => {\n return Promise.resolve()\n .then(method.bind(null, options))\n .catch((error) => {\n return orig(error, options);\n });\n };\n }\n\n state.registry[name].push({\n hook: hook,\n orig: orig,\n });\n}\n","// @ts-check\n\nexport function removeHook(state, name, method) {\n if (!state.registry[name]) {\n return;\n }\n\n const index = state.registry[name]\n .map((registered) => {\n return registered.orig;\n })\n .indexOf(method);\n\n if (index === -1) {\n return;\n }\n\n state.registry[name].splice(index, 1);\n}\n","// @ts-check\n\nimport { register } from \"./lib/register.js\";\nimport { addHook } from \"./lib/add.js\";\nimport { removeHook } from \"./lib/remove.js\";\n\n// bind with array of arguments: https://stackoverflow.com/a/21792913\nconst bind = Function.bind;\nconst bindable = bind.bind(bind);\n\nfunction bindApi(hook, state, name) {\n const removeHookRef = bindable(removeHook, null).apply(\n null,\n name ? [state, name] : [state]\n );\n hook.api = { remove: removeHookRef };\n hook.remove = removeHookRef;\n [\"before\", \"error\", \"after\", \"wrap\"].forEach((kind) => {\n const args = name ? [state, kind, name] : [state, kind];\n hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args);\n });\n}\n\nfunction Singular() {\n const singularHookName = Symbol(\"Singular\");\n const singularHookState = {\n registry: {},\n };\n const singularHook = register.bind(null, singularHookState, singularHookName);\n bindApi(singularHook, singularHookState, singularHookName);\n return singularHook;\n}\n\nfunction Collection() {\n const state = {\n registry: {},\n };\n\n const hook = register.bind(null, state);\n bindApi(hook, state);\n\n return hook;\n}\n\nexport default { Singular, Collection };\n","// pkg/dist-src/defaults.js\nimport { getUserAgent } from \"universal-user-agent\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"0.0.0-development\";\n\n// pkg/dist-src/defaults.js\nvar userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;\nvar DEFAULTS = {\n method: \"GET\",\n baseUrl: \"https://api.github.com\",\n headers: {\n accept: \"application/vnd.github.v3+json\",\n \"user-agent\": userAgent\n },\n mediaType: {\n format: \"\"\n }\n};\n\n// pkg/dist-src/util/lowercase-keys.js\nfunction lowercaseKeys(object) {\n if (!object) {\n return {};\n }\n return Object.keys(object).reduce((newObj, key) => {\n newObj[key.toLowerCase()] = object[key];\n return newObj;\n }, {});\n}\n\n// pkg/dist-src/util/is-plain-object.js\nfunction isPlainObject(value) {\n if (typeof value !== \"object\" || value === null) return false;\n if (Object.prototype.toString.call(value) !== \"[object Object]\") return false;\n const proto = Object.getPrototypeOf(value);\n if (proto === null) return true;\n const Ctor = Object.prototype.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\n return typeof Ctor === \"function\" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value);\n}\n\n// pkg/dist-src/util/merge-deep.js\nfunction mergeDeep(defaults, options) {\n const result = Object.assign({}, defaults);\n Object.keys(options).forEach((key) => {\n if (isPlainObject(options[key])) {\n if (!(key in defaults)) Object.assign(result, { [key]: options[key] });\n else result[key] = mergeDeep(defaults[key], options[key]);\n } else {\n Object.assign(result, { [key]: options[key] });\n }\n });\n return result;\n}\n\n// pkg/dist-src/util/remove-undefined-properties.js\nfunction removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === void 0) {\n delete obj[key];\n }\n }\n return obj;\n}\n\n// pkg/dist-src/merge.js\nfunction merge(defaults, route, options) {\n if (typeof route === \"string\") {\n let [method, url] = route.split(\" \");\n options = Object.assign(url ? { method, url } : { url: method }, options);\n } else {\n options = Object.assign({}, route);\n }\n options.headers = lowercaseKeys(options.headers);\n removeUndefinedProperties(options);\n removeUndefinedProperties(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options);\n if (options.url === \"/graphql\") {\n if (defaults && defaults.mediaType.previews?.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(\n (preview) => !mergedOptions.mediaType.previews.includes(preview)\n ).concat(mergedOptions.mediaType.previews);\n }\n mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, \"\"));\n }\n return mergedOptions;\n}\n\n// pkg/dist-src/util/add-query-parameters.js\nfunction addQueryParameters(url, parameters) {\n const separator = /\\?/.test(url) ? \"&\" : \"?\";\n const names = Object.keys(parameters);\n if (names.length === 0) {\n return url;\n }\n return url + separator + names.map((name) => {\n if (name === \"q\") {\n return \"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\");\n }\n return `${name}=${encodeURIComponent(parameters[name])}`;\n }).join(\"&\");\n}\n\n// pkg/dist-src/util/extract-url-variable-names.js\nvar urlVariableRegex = /\\{[^{}}]+\\}/g;\nfunction removeNonChars(variableName) {\n return variableName.replace(/(?:^\\W+)|(?:(? a.concat(b), []);\n}\n\n// pkg/dist-src/util/omit.js\nfunction omit(object, keysToOmit) {\n const result = { __proto__: null };\n for (const key of Object.keys(object)) {\n if (keysToOmit.indexOf(key) === -1) {\n result[key] = object[key];\n }\n }\n return result;\n}\n\n// pkg/dist-src/util/url-template.js\nfunction encodeReserved(str) {\n return str.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) {\n if (!/%[0-9A-Fa-f]/.test(part)) {\n part = encodeURI(part).replace(/%5B/g, \"[\").replace(/%5D/g, \"]\");\n }\n return part;\n }).join(\"\");\n}\nfunction encodeUnreserved(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function(c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\nfunction encodeValue(operator, value, key) {\n value = operator === \"+\" || operator === \"#\" ? encodeReserved(value) : encodeUnreserved(value);\n if (key) {\n return encodeUnreserved(key) + \"=\" + value;\n } else {\n return value;\n }\n}\nfunction isDefined(value) {\n return value !== void 0 && value !== null;\n}\nfunction isKeyOperator(operator) {\n return operator === \";\" || operator === \"&\" || operator === \"?\";\n}\nfunction getValues(context, operator, key, modifier) {\n var value = context[key], result = [];\n if (isDefined(value) && value !== \"\") {\n if (typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\") {\n value = value.toString();\n if (modifier && modifier !== \"*\") {\n value = value.substring(0, parseInt(modifier, 10));\n }\n result.push(\n encodeValue(operator, value, isKeyOperator(operator) ? key : \"\")\n );\n } else {\n if (modifier === \"*\") {\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function(value2) {\n result.push(\n encodeValue(operator, value2, isKeyOperator(operator) ? key : \"\")\n );\n });\n } else {\n Object.keys(value).forEach(function(k) {\n if (isDefined(value[k])) {\n result.push(encodeValue(operator, value[k], k));\n }\n });\n }\n } else {\n const tmp = [];\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function(value2) {\n tmp.push(encodeValue(operator, value2));\n });\n } else {\n Object.keys(value).forEach(function(k) {\n if (isDefined(value[k])) {\n tmp.push(encodeUnreserved(k));\n tmp.push(encodeValue(operator, value[k].toString()));\n }\n });\n }\n if (isKeyOperator(operator)) {\n result.push(encodeUnreserved(key) + \"=\" + tmp.join(\",\"));\n } else if (tmp.length !== 0) {\n result.push(tmp.join(\",\"));\n }\n }\n }\n } else {\n if (operator === \";\") {\n if (isDefined(value)) {\n result.push(encodeUnreserved(key));\n }\n } else if (value === \"\" && (operator === \"&\" || operator === \"?\")) {\n result.push(encodeUnreserved(key) + \"=\");\n } else if (value === \"\") {\n result.push(\"\");\n }\n }\n return result;\n}\nfunction parseUrl(template) {\n return {\n expand: expand.bind(null, template)\n };\n}\nfunction expand(template, context) {\n var operators = [\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"];\n template = template.replace(\n /\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g,\n function(_, expression, literal) {\n if (expression) {\n let operator = \"\";\n const values = [];\n if (operators.indexOf(expression.charAt(0)) !== -1) {\n operator = expression.charAt(0);\n expression = expression.substr(1);\n }\n expression.split(/,/g).forEach(function(variable) {\n var tmp = /([^:\\*]*)(?::(\\d+)|(\\*))?/.exec(variable);\n values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));\n });\n if (operator && operator !== \"+\") {\n var separator = \",\";\n if (operator === \"?\") {\n separator = \"&\";\n } else if (operator !== \"#\") {\n separator = operator;\n }\n return (values.length !== 0 ? operator : \"\") + values.join(separator);\n } else {\n return values.join(\",\");\n }\n } else {\n return encodeReserved(literal);\n }\n }\n );\n if (template === \"/\") {\n return template;\n } else {\n return template.replace(/\\/$/, \"\");\n }\n}\n\n// pkg/dist-src/parse.js\nfunction parse(options) {\n let method = options.method.toUpperCase();\n let url = (options.url || \"/\").replace(/:([a-z]\\w+)/g, \"{$1}\");\n let headers = Object.assign({}, options.headers);\n let body;\n let parameters = omit(options, [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"mediaType\"\n ]);\n const urlVariableNames = extractUrlVariableNames(url);\n url = parseUrl(url).expand(parameters);\n if (!/^http/.test(url)) {\n url = options.baseUrl + url;\n }\n const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n if (!isBinaryRequest) {\n if (options.mediaType.format) {\n headers.accept = headers.accept.split(/,/).map(\n (format) => format.replace(\n /application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/,\n `application/vnd$1$2.${options.mediaType.format}`\n )\n ).join(\",\");\n }\n if (url.endsWith(\"/graphql\")) {\n if (options.mediaType.previews?.length) {\n const previewsFromAcceptHeader = headers.accept.match(/(? {\n const format = options.mediaType.format ? `.${options.mediaType.format}` : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n }).join(\",\");\n }\n }\n }\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n } else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n } else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n }\n }\n }\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n }\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n }\n return Object.assign(\n { method, url, headers },\n typeof body !== \"undefined\" ? { body } : null,\n options.request ? { request: options.request } : null\n );\n}\n\n// pkg/dist-src/endpoint-with-defaults.js\nfunction endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\n\n// pkg/dist-src/with-defaults.js\nfunction withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS2 = merge(oldDefaults, newDefaults);\n const endpoint2 = endpointWithDefaults.bind(null, DEFAULTS2);\n return Object.assign(endpoint2, {\n DEFAULTS: DEFAULTS2,\n defaults: withDefaults.bind(null, DEFAULTS2),\n merge: merge.bind(null, DEFAULTS2),\n parse\n });\n}\n\n// pkg/dist-src/index.js\nvar endpoint = withDefaults(null, DEFAULTS);\nexport {\n endpoint\n};\n","'use strict'\n\nconst NullObject = function NullObject () { }\nNullObject.prototype = Object.create(null)\n\n/**\n * RegExp to match *( \";\" parameter ) in RFC 7231 sec 3.1.1.1\n *\n * parameter = token \"=\" ( token / quoted-string )\n * token = 1*tchar\n * tchar = \"!\" / \"#\" / \"$\" / \"%\" / \"&\" / \"'\" / \"*\"\n * / \"+\" / \"-\" / \".\" / \"^\" / \"_\" / \"`\" / \"|\" / \"~\"\n * / DIGIT / ALPHA\n * ; any VCHAR, except delimiters\n * quoted-string = DQUOTE *( qdtext / quoted-pair ) DQUOTE\n * qdtext = HTAB / SP / %x21 / %x23-5B / %x5D-7E / obs-text\n * obs-text = %x80-FF\n * quoted-pair = \"\\\" ( HTAB / SP / VCHAR / obs-text )\n */\nconst paramRE = /; *([!#$%&'*+.^\\w`|~-]+)=(\"(?:[\\v\\u0020\\u0021\\u0023-\\u005b\\u005d-\\u007e\\u0080-\\u00ff]|\\\\[\\v\\u0020-\\u00ff])*\"|[!#$%&'*+.^\\w`|~-]+) */gu\n\n/**\n * RegExp to match quoted-pair in RFC 7230 sec 3.2.6\n *\n * quoted-pair = \"\\\" ( HTAB / SP / VCHAR / obs-text )\n * obs-text = %x80-FF\n */\nconst quotedPairRE = /\\\\([\\v\\u0020-\\u00ff])/gu\n\n/**\n * RegExp to match type in RFC 7231 sec 3.1.1.1\n *\n * media-type = type \"/\" subtype\n * type = token\n * subtype = token\n */\nconst mediaTypeRE = /^[!#$%&'*+.^\\w|~-]+\\/[!#$%&'*+.^\\w|~-]+$/u\n\n// default ContentType to prevent repeated object creation\nconst defaultContentType = { type: '', parameters: new NullObject() }\nObject.freeze(defaultContentType.parameters)\nObject.freeze(defaultContentType)\n\n/**\n * Parse media type to object.\n *\n * @param {string|object} header\n * @return {Object}\n * @public\n */\n\nfunction parse (header) {\n if (typeof header !== 'string') {\n throw new TypeError('argument header is required and must be a string')\n }\n\n let index = header.indexOf(';')\n const type = index !== -1\n ? header.slice(0, index).trim()\n : header.trim()\n\n if (mediaTypeRE.test(type) === false) {\n throw new TypeError('invalid media type')\n }\n\n const result = {\n type: type.toLowerCase(),\n parameters: new NullObject()\n }\n\n // parse parameters\n if (index === -1) {\n return result\n }\n\n let key\n let match\n let value\n\n paramRE.lastIndex = index\n\n while ((match = paramRE.exec(header))) {\n if (match.index !== index) {\n throw new TypeError('invalid parameter format')\n }\n\n index += match[0].length\n key = match[1].toLowerCase()\n value = match[2]\n\n if (value[0] === '\"') {\n // remove quotes and escapes\n value = value\n .slice(1, value.length - 1)\n\n quotedPairRE.test(value) && (value = value.replace(quotedPairRE, '$1'))\n }\n\n result.parameters[key] = value\n }\n\n if (index !== header.length) {\n throw new TypeError('invalid parameter format')\n }\n\n return result\n}\n\nfunction safeParse (header) {\n if (typeof header !== 'string') {\n return defaultContentType\n }\n\n let index = header.indexOf(';')\n const type = index !== -1\n ? header.slice(0, index).trim()\n : header.trim()\n\n if (mediaTypeRE.test(type) === false) {\n return defaultContentType\n }\n\n const result = {\n type: type.toLowerCase(),\n parameters: new NullObject()\n }\n\n // parse parameters\n if (index === -1) {\n return result\n }\n\n let key\n let match\n let value\n\n paramRE.lastIndex = index\n\n while ((match = paramRE.exec(header))) {\n if (match.index !== index) {\n return defaultContentType\n }\n\n index += match[0].length\n key = match[1].toLowerCase()\n value = match[2]\n\n if (value[0] === '\"') {\n // remove quotes and escapes\n value = value\n .slice(1, value.length - 1)\n\n quotedPairRE.test(value) && (value = value.replace(quotedPairRE, '$1'))\n }\n\n result.parameters[key] = value\n }\n\n if (index !== header.length) {\n return defaultContentType\n }\n\n return result\n}\n\nmodule.exports.default = { parse, safeParse }\nmodule.exports.parse = parse\nmodule.exports.safeParse = safeParse\nmodule.exports.defaultContentType = defaultContentType\n","class RequestError extends Error {\n name;\n /**\n * http status code\n */\n status;\n /**\n * Request options that lead to the error.\n */\n request;\n /**\n * Response object if a response was received\n */\n response;\n constructor(message, statusCode, options) {\n super(message);\n this.name = \"HttpError\";\n this.status = Number.parseInt(statusCode);\n if (Number.isNaN(this.status)) {\n this.status = 0;\n }\n if (\"response\" in options) {\n this.response = options.response;\n }\n const requestCopy = Object.assign({}, options.request);\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(\n /(? [\n name,\n String(value)\n ])\n );\n let fetchResponse;\n try {\n fetchResponse = await fetch(requestOptions.url, {\n method: requestOptions.method,\n body,\n redirect: requestOptions.request?.redirect,\n headers: requestHeaders,\n signal: requestOptions.request?.signal,\n // duplex must be set if request.body is ReadableStream or Async Iterables.\n // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex.\n ...requestOptions.body && { duplex: \"half\" }\n });\n } catch (error) {\n let message = \"Unknown Error\";\n if (error instanceof Error) {\n if (error.name === \"AbortError\") {\n error.status = 500;\n throw error;\n }\n message = error.message;\n if (error.name === \"TypeError\" && \"cause\" in error) {\n if (error.cause instanceof Error) {\n message = error.cause.message;\n } else if (typeof error.cause === \"string\") {\n message = error.cause;\n }\n }\n }\n const requestError = new RequestError(message, 500, {\n request: requestOptions\n });\n requestError.cause = error;\n throw requestError;\n }\n const status = fetchResponse.status;\n const url = fetchResponse.url;\n const responseHeaders = {};\n for (const [key, value] of fetchResponse.headers) {\n responseHeaders[key] = value;\n }\n const octokitResponse = {\n url,\n status,\n headers: responseHeaders,\n data: \"\"\n };\n if (\"deprecation\" in responseHeaders) {\n const matches = responseHeaders.link && responseHeaders.link.match(/<([^<>]+)>; rel=\"deprecation\"/);\n const deprecationLink = matches && matches.pop();\n log.warn(\n `[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${responseHeaders.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`\n );\n }\n if (status === 204 || status === 205) {\n return octokitResponse;\n }\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return octokitResponse;\n }\n throw new RequestError(fetchResponse.statusText, status, {\n response: octokitResponse,\n request: requestOptions\n });\n }\n if (status === 304) {\n octokitResponse.data = await getResponseData(fetchResponse);\n throw new RequestError(\"Not modified\", status, {\n response: octokitResponse,\n request: requestOptions\n });\n }\n if (status >= 400) {\n octokitResponse.data = await getResponseData(fetchResponse);\n throw new RequestError(toErrorMessage(octokitResponse.data), status, {\n response: octokitResponse,\n request: requestOptions\n });\n }\n octokitResponse.data = parseSuccessResponseBody ? await getResponseData(fetchResponse) : fetchResponse.body;\n return octokitResponse;\n}\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n if (!contentType) {\n return response.text().catch(() => \"\");\n }\n const mimetype = safeParse(contentType);\n if (isJSONResponse(mimetype)) {\n let text = \"\";\n try {\n text = await response.text();\n return JSON.parse(text);\n } catch (err) {\n return text;\n }\n } else if (mimetype.type.startsWith(\"text/\") || mimetype.parameters.charset?.toLowerCase() === \"utf-8\") {\n return response.text().catch(() => \"\");\n } else {\n return response.arrayBuffer().catch(() => new ArrayBuffer(0));\n }\n}\nfunction isJSONResponse(mimetype) {\n return mimetype.type === \"application/json\" || mimetype.type === \"application/scim+json\";\n}\nfunction toErrorMessage(data) {\n if (typeof data === \"string\") {\n return data;\n }\n if (data instanceof ArrayBuffer) {\n return \"Unknown error\";\n }\n if (\"message\" in data) {\n const suffix = \"documentation_url\" in data ? ` - ${data.documentation_url}` : \"\";\n return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(\", \")}${suffix}` : `${data.message}${suffix}`;\n }\n return `Unknown error: ${JSON.stringify(data)}`;\n}\n\n// pkg/dist-src/with-defaults.js\nfunction withDefaults(oldEndpoint, newDefaults) {\n const endpoint2 = oldEndpoint.defaults(newDefaults);\n const newApi = function(route, parameters) {\n const endpointOptions = endpoint2.merge(route, parameters);\n if (!endpointOptions.request || !endpointOptions.request.hook) {\n return fetchWrapper(endpoint2.parse(endpointOptions));\n }\n const request2 = (route2, parameters2) => {\n return fetchWrapper(\n endpoint2.parse(endpoint2.merge(route2, parameters2))\n );\n };\n Object.assign(request2, {\n endpoint: endpoint2,\n defaults: withDefaults.bind(null, endpoint2)\n });\n return endpointOptions.request.hook(request2, endpointOptions);\n };\n return Object.assign(newApi, {\n endpoint: endpoint2,\n defaults: withDefaults.bind(null, endpoint2)\n });\n}\n\n// pkg/dist-src/index.js\nvar request = withDefaults(endpoint, defaults_default);\nexport {\n request\n};\n","// pkg/dist-src/index.js\nimport { request } from \"@octokit/request\";\nimport { getUserAgent } from \"universal-user-agent\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"0.0.0-development\";\n\n// pkg/dist-src/with-defaults.js\nimport { request as Request2 } from \"@octokit/request\";\n\n// pkg/dist-src/graphql.js\nimport { request as Request } from \"@octokit/request\";\n\n// pkg/dist-src/error.js\nfunction _buildMessageForResponseErrors(data) {\n return `Request failed due to following response errors:\n` + data.errors.map((e) => ` - ${e.message}`).join(\"\\n\");\n}\nvar GraphqlResponseError = class extends Error {\n constructor(request2, headers, response) {\n super(_buildMessageForResponseErrors(response));\n this.request = request2;\n this.headers = headers;\n this.response = response;\n this.errors = response.errors;\n this.data = response.data;\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n name = \"GraphqlResponseError\";\n errors;\n data;\n};\n\n// pkg/dist-src/graphql.js\nvar NON_VARIABLE_OPTIONS = [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"query\",\n \"mediaType\",\n \"operationName\"\n];\nvar FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nvar GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nfunction graphql(request2, query, options) {\n if (options) {\n if (typeof query === \"string\" && \"query\" in options) {\n return Promise.reject(\n new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`)\n );\n }\n for (const key in options) {\n if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue;\n return Promise.reject(\n new Error(\n `[@octokit/graphql] \"${key}\" cannot be used as variable name`\n )\n );\n }\n }\n const parsedOptions = typeof query === \"string\" ? Object.assign({ query }, options) : query;\n const requestOptions = Object.keys(\n parsedOptions\n ).reduce((result, key) => {\n if (NON_VARIABLE_OPTIONS.includes(key)) {\n result[key] = parsedOptions[key];\n return result;\n }\n if (!result.variables) {\n result.variables = {};\n }\n result.variables[key] = parsedOptions[key];\n return result;\n }, {});\n const baseUrl = parsedOptions.baseUrl || request2.endpoint.DEFAULTS.baseUrl;\n if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {\n requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, \"/api/graphql\");\n }\n return request2(requestOptions).then((response) => {\n if (response.data.errors) {\n const headers = {};\n for (const key of Object.keys(response.headers)) {\n headers[key] = response.headers[key];\n }\n throw new GraphqlResponseError(\n requestOptions,\n headers,\n response.data\n );\n }\n return response.data.data;\n });\n}\n\n// pkg/dist-src/with-defaults.js\nfunction withDefaults(request2, newDefaults) {\n const newRequest = request2.defaults(newDefaults);\n const newApi = (query, options) => {\n return graphql(newRequest, query, options);\n };\n return Object.assign(newApi, {\n defaults: withDefaults.bind(null, newRequest),\n endpoint: newRequest.endpoint\n });\n}\n\n// pkg/dist-src/index.js\nvar graphql2 = withDefaults(request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${getUserAgent()}`\n },\n method: \"POST\",\n url: \"/graphql\"\n});\nfunction withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\"\n });\n}\nexport {\n GraphqlResponseError,\n graphql2 as graphql,\n withCustomRequest\n};\n","// pkg/dist-src/is-jwt.js\nvar b64url = \"(?:[a-zA-Z0-9_-]+)\";\nvar sep = \"\\\\.\";\nvar jwtRE = new RegExp(`^${b64url}${sep}${b64url}${sep}${b64url}$`);\nvar isJWT = jwtRE.test.bind(jwtRE);\n\n// pkg/dist-src/auth.js\nasync function auth(token) {\n const isApp = isJWT(token);\n const isInstallation = token.startsWith(\"v1.\") || token.startsWith(\"ghs_\");\n const isUserToServer = token.startsWith(\"ghu_\");\n const tokenType = isApp ? \"app\" : isInstallation ? \"installation\" : isUserToServer ? \"user-to-server\" : \"oauth\";\n return {\n type: \"token\",\n token,\n tokenType\n };\n}\n\n// pkg/dist-src/with-authorization-prefix.js\nfunction withAuthorizationPrefix(token) {\n if (token.split(/\\./).length === 3) {\n return `bearer ${token}`;\n }\n return `token ${token}`;\n}\n\n// pkg/dist-src/hook.js\nasync function hook(token, request, route, parameters) {\n const endpoint = request.endpoint.merge(\n route,\n parameters\n );\n endpoint.headers.authorization = withAuthorizationPrefix(token);\n return request(endpoint);\n}\n\n// pkg/dist-src/index.js\nvar createTokenAuth = function createTokenAuth2(token) {\n if (!token) {\n throw new Error(\"[@octokit/auth-token] No token passed to createTokenAuth\");\n }\n if (typeof token !== \"string\") {\n throw new Error(\n \"[@octokit/auth-token] Token passed to createTokenAuth is not a string\"\n );\n }\n token = token.replace(/^(token|bearer) +/i, \"\");\n return Object.assign(auth.bind(null, token), {\n hook: hook.bind(null, token)\n });\n};\nexport {\n createTokenAuth\n};\n","const VERSION = \"7.0.4\";\nexport {\n VERSION\n};\n","import { getUserAgent } from \"universal-user-agent\";\nimport Hook from \"before-after-hook\";\nimport { request } from \"@octokit/request\";\nimport { withCustomRequest } from \"@octokit/graphql\";\nimport { createTokenAuth } from \"@octokit/auth-token\";\nimport { VERSION } from \"./version.js\";\nconst noop = () => {\n};\nconst consoleWarn = console.warn.bind(console);\nconst consoleError = console.error.bind(console);\nfunction createLogger(logger = {}) {\n if (typeof logger.debug !== \"function\") {\n logger.debug = noop;\n }\n if (typeof logger.info !== \"function\") {\n logger.info = noop;\n }\n if (typeof logger.warn !== \"function\") {\n logger.warn = consoleWarn;\n }\n if (typeof logger.error !== \"function\") {\n logger.error = consoleError;\n }\n return logger;\n}\nconst userAgentTrail = `octokit-core.js/${VERSION} ${getUserAgent()}`;\nclass Octokit {\n static VERSION = VERSION;\n static defaults(defaults) {\n const OctokitWithDefaults = class extends this {\n constructor(...args) {\n const options = args[0] || {};\n if (typeof defaults === \"function\") {\n super(defaults(options));\n return;\n }\n super(\n Object.assign(\n {},\n defaults,\n options,\n options.userAgent && defaults.userAgent ? {\n userAgent: `${options.userAgent} ${defaults.userAgent}`\n } : null\n )\n );\n }\n };\n return OctokitWithDefaults;\n }\n static plugins = [];\n /**\n * Attach a plugin (or many) to your Octokit instance.\n *\n * @example\n * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)\n */\n static plugin(...newPlugins) {\n const currentPlugins = this.plugins;\n const NewOctokit = class extends this {\n static plugins = currentPlugins.concat(\n newPlugins.filter((plugin) => !currentPlugins.includes(plugin))\n );\n };\n return NewOctokit;\n }\n constructor(options = {}) {\n const hook = new Hook.Collection();\n const requestDefaults = {\n baseUrl: request.endpoint.DEFAULTS.baseUrl,\n headers: {},\n request: Object.assign({}, options.request, {\n // @ts-ignore internal usage only, no need to type\n hook: hook.bind(null, \"request\")\n }),\n mediaType: {\n previews: [],\n format: \"\"\n }\n };\n requestDefaults.headers[\"user-agent\"] = options.userAgent ? `${options.userAgent} ${userAgentTrail}` : userAgentTrail;\n if (options.baseUrl) {\n requestDefaults.baseUrl = options.baseUrl;\n }\n if (options.previews) {\n requestDefaults.mediaType.previews = options.previews;\n }\n if (options.timeZone) {\n requestDefaults.headers[\"time-zone\"] = options.timeZone;\n }\n this.request = request.defaults(requestDefaults);\n this.graphql = withCustomRequest(this.request).defaults(requestDefaults);\n this.log = createLogger(options.log);\n this.hook = hook;\n if (!options.authStrategy) {\n if (!options.auth) {\n this.auth = async () => ({\n type: \"unauthenticated\"\n });\n } else {\n const auth = createTokenAuth(options.auth);\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n } else {\n const { authStrategy, ...otherOptions } = options;\n const auth = authStrategy(\n Object.assign(\n {\n request: this.request,\n log: this.log,\n // we pass the current octokit instance as well as its constructor options\n // to allow for authentication strategies that return a new octokit instance\n // that shares the same internal state as the current one. The original\n // requirement for this was the \"event-octokit\" authentication strategy\n // of https://github.com/probot/octokit-auth-probot.\n octokit: this,\n octokitOptions: otherOptions\n },\n options.auth\n )\n );\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n const classConstructor = this.constructor;\n for (let i = 0; i < classConstructor.plugins.length; ++i) {\n Object.assign(this, classConstructor.plugins[i](this, options));\n }\n }\n // assigned during constructor\n request;\n graphql;\n log;\n hook;\n // TODO: type `octokit.auth` based on passed options.authStrategy\n auth;\n}\nexport {\n Octokit\n};\n","// pkg/dist-src/version.js\nvar VERSION = \"0.0.0-development\";\n\n// pkg/dist-src/normalize-paginated-list-response.js\nfunction normalizePaginatedListResponse(response) {\n if (!response.data) {\n return {\n ...response,\n data: []\n };\n }\n const responseNeedsNormalization = (\"total_count\" in response.data || \"total_commits\" in response.data) && !(\"url\" in response.data);\n if (!responseNeedsNormalization) return response;\n const incompleteResults = response.data.incomplete_results;\n const repositorySelection = response.data.repository_selection;\n const totalCount = response.data.total_count;\n const totalCommits = response.data.total_commits;\n delete response.data.incomplete_results;\n delete response.data.repository_selection;\n delete response.data.total_count;\n delete response.data.total_commits;\n const namespaceKey = Object.keys(response.data)[0];\n const data = response.data[namespaceKey];\n response.data = data;\n if (typeof incompleteResults !== \"undefined\") {\n response.data.incomplete_results = incompleteResults;\n }\n if (typeof repositorySelection !== \"undefined\") {\n response.data.repository_selection = repositorySelection;\n }\n response.data.total_count = totalCount;\n response.data.total_commits = totalCommits;\n return response;\n}\n\n// pkg/dist-src/iterator.js\nfunction iterator(octokit, route, parameters) {\n const options = typeof route === \"function\" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters);\n const requestMethod = typeof route === \"function\" ? route : octokit.request;\n const method = options.method;\n const headers = options.headers;\n let url = options.url;\n return {\n [Symbol.asyncIterator]: () => ({\n async next() {\n if (!url) return { done: true };\n try {\n const response = await requestMethod({ method, url, headers });\n const normalizedResponse = normalizePaginatedListResponse(response);\n url = ((normalizedResponse.headers.link || \"\").match(\n /<([^<>]+)>;\\s*rel=\"next\"/\n ) || [])[1];\n if (!url && \"total_commits\" in normalizedResponse.data) {\n const parsedUrl = new URL(normalizedResponse.url);\n const params = parsedUrl.searchParams;\n const page = parseInt(params.get(\"page\") || \"1\", 10);\n const per_page = parseInt(params.get(\"per_page\") || \"250\", 10);\n if (page * per_page < normalizedResponse.data.total_commits) {\n params.set(\"page\", String(page + 1));\n url = parsedUrl.toString();\n }\n }\n return { value: normalizedResponse };\n } catch (error) {\n if (error.status !== 409) throw error;\n url = \"\";\n return {\n value: {\n status: 200,\n headers: {},\n data: []\n }\n };\n }\n }\n })\n };\n}\n\n// pkg/dist-src/paginate.js\nfunction paginate(octokit, route, parameters, mapFn) {\n if (typeof parameters === \"function\") {\n mapFn = parameters;\n parameters = void 0;\n }\n return gather(\n octokit,\n [],\n iterator(octokit, route, parameters)[Symbol.asyncIterator](),\n mapFn\n );\n}\nfunction gather(octokit, results, iterator2, mapFn) {\n return iterator2.next().then((result) => {\n if (result.done) {\n return results;\n }\n let earlyExit = false;\n function done() {\n earlyExit = true;\n }\n results = results.concat(\n mapFn ? mapFn(result.value, done) : result.value.data\n );\n if (earlyExit) {\n return results;\n }\n return gather(octokit, results, iterator2, mapFn);\n });\n}\n\n// pkg/dist-src/compose-paginate.js\nvar composePaginateRest = Object.assign(paginate, {\n iterator\n});\n\n// pkg/dist-src/generated/paginating-endpoints.js\nvar paginatingEndpoints = [\n \"GET /advisories\",\n \"GET /app/hook/deliveries\",\n \"GET /app/installation-requests\",\n \"GET /app/installations\",\n \"GET /assignments/{assignment_id}/accepted_assignments\",\n \"GET /classrooms\",\n \"GET /classrooms/{classroom_id}/assignments\",\n \"GET /enterprises/{enterprise}/code-security/configurations\",\n \"GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories\",\n \"GET /enterprises/{enterprise}/dependabot/alerts\",\n \"GET /enterprises/{enterprise}/secret-scanning/alerts\",\n \"GET /events\",\n \"GET /gists\",\n \"GET /gists/public\",\n \"GET /gists/starred\",\n \"GET /gists/{gist_id}/comments\",\n \"GET /gists/{gist_id}/commits\",\n \"GET /gists/{gist_id}/forks\",\n \"GET /installation/repositories\",\n \"GET /issues\",\n \"GET /licenses\",\n \"GET /marketplace_listing/plans\",\n \"GET /marketplace_listing/plans/{plan_id}/accounts\",\n \"GET /marketplace_listing/stubbed/plans\",\n \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\",\n \"GET /networks/{owner}/{repo}/events\",\n \"GET /notifications\",\n \"GET /organizations\",\n \"GET /orgs/{org}/actions/cache/usage-by-repository\",\n \"GET /orgs/{org}/actions/hosted-runners\",\n \"GET /orgs/{org}/actions/permissions/repositories\",\n \"GET /orgs/{org}/actions/runner-groups\",\n \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners\",\n \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories\",\n \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners\",\n \"GET /orgs/{org}/actions/runners\",\n \"GET /orgs/{org}/actions/secrets\",\n \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\",\n \"GET /orgs/{org}/actions/variables\",\n \"GET /orgs/{org}/actions/variables/{name}/repositories\",\n \"GET /orgs/{org}/attestations/{subject_digest}\",\n \"GET /orgs/{org}/blocks\",\n \"GET /orgs/{org}/campaigns\",\n \"GET /orgs/{org}/code-scanning/alerts\",\n \"GET /orgs/{org}/code-security/configurations\",\n \"GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories\",\n \"GET /orgs/{org}/codespaces\",\n \"GET /orgs/{org}/codespaces/secrets\",\n \"GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories\",\n \"GET /orgs/{org}/copilot/billing/seats\",\n \"GET /orgs/{org}/copilot/metrics\",\n \"GET /orgs/{org}/dependabot/alerts\",\n \"GET /orgs/{org}/dependabot/secrets\",\n \"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\",\n \"GET /orgs/{org}/events\",\n \"GET /orgs/{org}/failed_invitations\",\n \"GET /orgs/{org}/hooks\",\n \"GET /orgs/{org}/hooks/{hook_id}/deliveries\",\n \"GET /orgs/{org}/insights/api/route-stats/{actor_type}/{actor_id}\",\n \"GET /orgs/{org}/insights/api/subject-stats\",\n \"GET /orgs/{org}/insights/api/user-stats/{user_id}\",\n \"GET /orgs/{org}/installations\",\n \"GET /orgs/{org}/invitations\",\n \"GET /orgs/{org}/invitations/{invitation_id}/teams\",\n \"GET /orgs/{org}/issues\",\n \"GET /orgs/{org}/members\",\n \"GET /orgs/{org}/members/{username}/codespaces\",\n \"GET /orgs/{org}/migrations\",\n \"GET /orgs/{org}/migrations/{migration_id}/repositories\",\n \"GET /orgs/{org}/organization-roles/{role_id}/teams\",\n \"GET /orgs/{org}/organization-roles/{role_id}/users\",\n \"GET /orgs/{org}/outside_collaborators\",\n \"GET /orgs/{org}/packages\",\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\",\n \"GET /orgs/{org}/personal-access-token-requests\",\n \"GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories\",\n \"GET /orgs/{org}/personal-access-tokens\",\n \"GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories\",\n \"GET /orgs/{org}/private-registries\",\n \"GET /orgs/{org}/projects\",\n \"GET /orgs/{org}/properties/values\",\n \"GET /orgs/{org}/public_members\",\n \"GET /orgs/{org}/repos\",\n \"GET /orgs/{org}/rulesets\",\n \"GET /orgs/{org}/rulesets/rule-suites\",\n \"GET /orgs/{org}/rulesets/{ruleset_id}/history\",\n \"GET /orgs/{org}/secret-scanning/alerts\",\n \"GET /orgs/{org}/security-advisories\",\n \"GET /orgs/{org}/settings/network-configurations\",\n \"GET /orgs/{org}/team/{team_slug}/copilot/metrics\",\n \"GET /orgs/{org}/teams\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n \"GET /orgs/{org}/teams/{team_slug}/invitations\",\n \"GET /orgs/{org}/teams/{team_slug}/members\",\n \"GET /orgs/{org}/teams/{team_slug}/projects\",\n \"GET /orgs/{org}/teams/{team_slug}/repos\",\n \"GET /orgs/{org}/teams/{team_slug}/teams\",\n \"GET /projects/columns/{column_id}/cards\",\n \"GET /projects/{project_id}/collaborators\",\n \"GET /projects/{project_id}/columns\",\n \"GET /repos/{owner}/{repo}/actions/artifacts\",\n \"GET /repos/{owner}/{repo}/actions/caches\",\n \"GET /repos/{owner}/{repo}/actions/organization-secrets\",\n \"GET /repos/{owner}/{repo}/actions/organization-variables\",\n \"GET /repos/{owner}/{repo}/actions/runners\",\n \"GET /repos/{owner}/{repo}/actions/runs\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\",\n \"GET /repos/{owner}/{repo}/actions/secrets\",\n \"GET /repos/{owner}/{repo}/actions/variables\",\n \"GET /repos/{owner}/{repo}/actions/workflows\",\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\",\n \"GET /repos/{owner}/{repo}/activity\",\n \"GET /repos/{owner}/{repo}/assignees\",\n \"GET /repos/{owner}/{repo}/attestations/{subject_digest}\",\n \"GET /repos/{owner}/{repo}/branches\",\n \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\",\n \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\",\n \"GET /repos/{owner}/{repo}/code-scanning/alerts\",\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n \"GET /repos/{owner}/{repo}/code-scanning/analyses\",\n \"GET /repos/{owner}/{repo}/codespaces\",\n \"GET /repos/{owner}/{repo}/codespaces/devcontainers\",\n \"GET /repos/{owner}/{repo}/codespaces/secrets\",\n \"GET /repos/{owner}/{repo}/collaborators\",\n \"GET /repos/{owner}/{repo}/comments\",\n \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/commits\",\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/status\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\",\n \"GET /repos/{owner}/{repo}/compare/{basehead}\",\n \"GET /repos/{owner}/{repo}/compare/{base}...{head}\",\n \"GET /repos/{owner}/{repo}/contributors\",\n \"GET /repos/{owner}/{repo}/dependabot/alerts\",\n \"GET /repos/{owner}/{repo}/dependabot/secrets\",\n \"GET /repos/{owner}/{repo}/deployments\",\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\",\n \"GET /repos/{owner}/{repo}/environments\",\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies\",\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps\",\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/secrets\",\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/variables\",\n \"GET /repos/{owner}/{repo}/events\",\n \"GET /repos/{owner}/{repo}/forks\",\n \"GET /repos/{owner}/{repo}/hooks\",\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\",\n \"GET /repos/{owner}/{repo}/invitations\",\n \"GET /repos/{owner}/{repo}/issues\",\n \"GET /repos/{owner}/{repo}/issues/comments\",\n \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/issues/events\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/events\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\",\n \"GET /repos/{owner}/{repo}/keys\",\n \"GET /repos/{owner}/{repo}/labels\",\n \"GET /repos/{owner}/{repo}/milestones\",\n \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\",\n \"GET /repos/{owner}/{repo}/notifications\",\n \"GET /repos/{owner}/{repo}/pages/builds\",\n \"GET /repos/{owner}/{repo}/projects\",\n \"GET /repos/{owner}/{repo}/pulls\",\n \"GET /repos/{owner}/{repo}/pulls/comments\",\n \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\",\n \"GET /repos/{owner}/{repo}/releases\",\n \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\",\n \"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\",\n \"GET /repos/{owner}/{repo}/rules/branches/{branch}\",\n \"GET /repos/{owner}/{repo}/rulesets\",\n \"GET /repos/{owner}/{repo}/rulesets/rule-suites\",\n \"GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history\",\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts\",\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\",\n \"GET /repos/{owner}/{repo}/security-advisories\",\n \"GET /repos/{owner}/{repo}/stargazers\",\n \"GET /repos/{owner}/{repo}/subscribers\",\n \"GET /repos/{owner}/{repo}/tags\",\n \"GET /repos/{owner}/{repo}/teams\",\n \"GET /repos/{owner}/{repo}/topics\",\n \"GET /repositories\",\n \"GET /search/code\",\n \"GET /search/commits\",\n \"GET /search/issues\",\n \"GET /search/labels\",\n \"GET /search/repositories\",\n \"GET /search/topics\",\n \"GET /search/users\",\n \"GET /teams/{team_id}/discussions\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/comments\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/reactions\",\n \"GET /teams/{team_id}/invitations\",\n \"GET /teams/{team_id}/members\",\n \"GET /teams/{team_id}/projects\",\n \"GET /teams/{team_id}/repos\",\n \"GET /teams/{team_id}/teams\",\n \"GET /user/blocks\",\n \"GET /user/codespaces\",\n \"GET /user/codespaces/secrets\",\n \"GET /user/emails\",\n \"GET /user/followers\",\n \"GET /user/following\",\n \"GET /user/gpg_keys\",\n \"GET /user/installations\",\n \"GET /user/installations/{installation_id}/repositories\",\n \"GET /user/issues\",\n \"GET /user/keys\",\n \"GET /user/marketplace_purchases\",\n \"GET /user/marketplace_purchases/stubbed\",\n \"GET /user/memberships/orgs\",\n \"GET /user/migrations\",\n \"GET /user/migrations/{migration_id}/repositories\",\n \"GET /user/orgs\",\n \"GET /user/packages\",\n \"GET /user/packages/{package_type}/{package_name}/versions\",\n \"GET /user/public_emails\",\n \"GET /user/repos\",\n \"GET /user/repository_invitations\",\n \"GET /user/social_accounts\",\n \"GET /user/ssh_signing_keys\",\n \"GET /user/starred\",\n \"GET /user/subscriptions\",\n \"GET /user/teams\",\n \"GET /users\",\n \"GET /users/{username}/attestations/{subject_digest}\",\n \"GET /users/{username}/events\",\n \"GET /users/{username}/events/orgs/{org}\",\n \"GET /users/{username}/events/public\",\n \"GET /users/{username}/followers\",\n \"GET /users/{username}/following\",\n \"GET /users/{username}/gists\",\n \"GET /users/{username}/gpg_keys\",\n \"GET /users/{username}/keys\",\n \"GET /users/{username}/orgs\",\n \"GET /users/{username}/packages\",\n \"GET /users/{username}/projects\",\n \"GET /users/{username}/received_events\",\n \"GET /users/{username}/received_events/public\",\n \"GET /users/{username}/repos\",\n \"GET /users/{username}/social_accounts\",\n \"GET /users/{username}/ssh_signing_keys\",\n \"GET /users/{username}/starred\",\n \"GET /users/{username}/subscriptions\"\n];\n\n// pkg/dist-src/paginating-endpoints.js\nfunction isPaginatingEndpoint(arg) {\n if (typeof arg === \"string\") {\n return paginatingEndpoints.includes(arg);\n } else {\n return false;\n }\n}\n\n// pkg/dist-src/index.js\nfunction paginateRest(octokit) {\n return {\n paginate: Object.assign(paginate.bind(null, octokit), {\n iterator: iterator.bind(null, octokit)\n })\n };\n}\npaginateRest.VERSION = VERSION;\nexport {\n composePaginateRest,\n isPaginatingEndpoint,\n paginateRest,\n paginatingEndpoints\n};\n","// pkg/dist-src/errors.js\nvar generateMessage = (path, cursorValue) => `The cursor at \"${path.join(\n \",\"\n)}\" did not change its value \"${cursorValue}\" after a page transition. Please make sure your that your query is set up correctly.`;\nvar MissingCursorChange = class extends Error {\n constructor(pageInfo, cursorValue) {\n super(generateMessage(pageInfo.pathInQuery, cursorValue));\n this.pageInfo = pageInfo;\n this.cursorValue = cursorValue;\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n name = \"MissingCursorChangeError\";\n};\nvar MissingPageInfo = class extends Error {\n constructor(response) {\n super(\n `No pageInfo property found in response. Please make sure to specify the pageInfo in your query. Response-Data: ${JSON.stringify(\n response,\n null,\n 2\n )}`\n );\n this.response = response;\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n name = \"MissingPageInfo\";\n};\n\n// pkg/dist-src/object-helpers.js\nvar isObject = (value) => Object.prototype.toString.call(value) === \"[object Object]\";\nfunction findPaginatedResourcePath(responseData) {\n const paginatedResourcePath = deepFindPathToProperty(\n responseData,\n \"pageInfo\"\n );\n if (paginatedResourcePath.length === 0) {\n throw new MissingPageInfo(responseData);\n }\n return paginatedResourcePath;\n}\nvar deepFindPathToProperty = (object, searchProp, path = []) => {\n for (const key of Object.keys(object)) {\n const currentPath = [...path, key];\n const currentValue = object[key];\n if (isObject(currentValue)) {\n if (currentValue.hasOwnProperty(searchProp)) {\n return currentPath;\n }\n const result = deepFindPathToProperty(\n currentValue,\n searchProp,\n currentPath\n );\n if (result.length > 0) {\n return result;\n }\n }\n }\n return [];\n};\nvar get = (object, path) => {\n return path.reduce((current, nextProperty) => current[nextProperty], object);\n};\nvar set = (object, path, mutator) => {\n const lastProperty = path[path.length - 1];\n const parentPath = [...path].slice(0, -1);\n const parent = get(object, parentPath);\n if (typeof mutator === \"function\") {\n parent[lastProperty] = mutator(parent[lastProperty]);\n } else {\n parent[lastProperty] = mutator;\n }\n};\n\n// pkg/dist-src/extract-page-info.js\nvar extractPageInfos = (responseData) => {\n const pageInfoPath = findPaginatedResourcePath(responseData);\n return {\n pathInQuery: pageInfoPath,\n pageInfo: get(responseData, [...pageInfoPath, \"pageInfo\"])\n };\n};\n\n// pkg/dist-src/page-info.js\nvar isForwardSearch = (givenPageInfo) => {\n return givenPageInfo.hasOwnProperty(\"hasNextPage\");\n};\nvar getCursorFrom = (pageInfo) => isForwardSearch(pageInfo) ? pageInfo.endCursor : pageInfo.startCursor;\nvar hasAnotherPage = (pageInfo) => isForwardSearch(pageInfo) ? pageInfo.hasNextPage : pageInfo.hasPreviousPage;\n\n// pkg/dist-src/iterator.js\nvar createIterator = (octokit) => {\n return (query, initialParameters = {}) => {\n let nextPageExists = true;\n let parameters = { ...initialParameters };\n return {\n [Symbol.asyncIterator]: () => ({\n async next() {\n if (!nextPageExists) return { done: true, value: {} };\n const response = await octokit.graphql(\n query,\n parameters\n );\n const pageInfoContext = extractPageInfos(response);\n const nextCursorValue = getCursorFrom(pageInfoContext.pageInfo);\n nextPageExists = hasAnotherPage(pageInfoContext.pageInfo);\n if (nextPageExists && nextCursorValue === parameters.cursor) {\n throw new MissingCursorChange(pageInfoContext, nextCursorValue);\n }\n parameters = {\n ...parameters,\n cursor: nextCursorValue\n };\n return { done: false, value: response };\n }\n })\n };\n };\n};\n\n// pkg/dist-src/merge-responses.js\nvar mergeResponses = (response1, response2) => {\n if (Object.keys(response1).length === 0) {\n return Object.assign(response1, response2);\n }\n const path = findPaginatedResourcePath(response1);\n const nodesPath = [...path, \"nodes\"];\n const newNodes = get(response2, nodesPath);\n if (newNodes) {\n set(response1, nodesPath, (values) => {\n return [...values, ...newNodes];\n });\n }\n const edgesPath = [...path, \"edges\"];\n const newEdges = get(response2, edgesPath);\n if (newEdges) {\n set(response1, edgesPath, (values) => {\n return [...values, ...newEdges];\n });\n }\n const pageInfoPath = [...path, \"pageInfo\"];\n set(response1, pageInfoPath, get(response2, pageInfoPath));\n return response1;\n};\n\n// pkg/dist-src/paginate.js\nvar createPaginate = (octokit) => {\n const iterator = createIterator(octokit);\n return async (query, initialParameters = {}) => {\n let mergedResponse = {};\n for await (const response of iterator(\n query,\n initialParameters\n )) {\n mergedResponse = mergeResponses(mergedResponse, response);\n }\n return mergedResponse;\n };\n};\n\n// pkg/dist-src/version.js\nvar VERSION = \"0.0.0-development\";\n\n// pkg/dist-src/index.js\nfunction paginateGraphQL(octokit) {\n return {\n graphql: Object.assign(octokit.graphql, {\n paginate: Object.assign(createPaginate(octokit), {\n iterator: createIterator(octokit)\n })\n })\n };\n}\nexport {\n VERSION,\n paginateGraphQL\n};\n","const VERSION = \"16.1.0\";\nexport {\n VERSION\n};\n//# sourceMappingURL=version.js.map\n","const Endpoints = {\n actions: {\n addCustomLabelsToSelfHostedRunnerForOrg: [\n \"POST /orgs/{org}/actions/runners/{runner_id}/labels\"\n ],\n addCustomLabelsToSelfHostedRunnerForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"\n ],\n addRepoAccessToSelfHostedRunnerGroupInOrg: [\n \"PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}\"\n ],\n addSelectedRepoToOrgSecret: [\n \"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n addSelectedRepoToOrgVariable: [\n \"PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}\"\n ],\n approveWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve\"\n ],\n cancelWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel\"\n ],\n createEnvironmentVariable: [\n \"POST /repos/{owner}/{repo}/environments/{environment_name}/variables\"\n ],\n createHostedRunnerForOrg: [\"POST /orgs/{org}/actions/hosted-runners\"],\n createOrUpdateEnvironmentSecret: [\n \"PUT /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}\"\n ],\n createOrUpdateOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}\"],\n createOrUpdateRepoSecret: [\n \"PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}\"\n ],\n createOrgVariable: [\"POST /orgs/{org}/actions/variables\"],\n createRegistrationTokenForOrg: [\n \"POST /orgs/{org}/actions/runners/registration-token\"\n ],\n createRegistrationTokenForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/registration-token\"\n ],\n createRemoveTokenForOrg: [\"POST /orgs/{org}/actions/runners/remove-token\"],\n createRemoveTokenForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/remove-token\"\n ],\n createRepoVariable: [\"POST /repos/{owner}/{repo}/actions/variables\"],\n createWorkflowDispatch: [\n \"POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches\"\n ],\n deleteActionsCacheById: [\n \"DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}\"\n ],\n deleteActionsCacheByKey: [\n \"DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}\"\n ],\n deleteArtifact: [\n \"DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"\n ],\n deleteEnvironmentSecret: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}\"\n ],\n deleteEnvironmentVariable: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}\"\n ],\n deleteHostedRunnerForOrg: [\n \"DELETE /orgs/{org}/actions/hosted-runners/{hosted_runner_id}\"\n ],\n deleteOrgSecret: [\"DELETE /orgs/{org}/actions/secrets/{secret_name}\"],\n deleteOrgVariable: [\"DELETE /orgs/{org}/actions/variables/{name}\"],\n deleteRepoSecret: [\n \"DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}\"\n ],\n deleteRepoVariable: [\n \"DELETE /repos/{owner}/{repo}/actions/variables/{name}\"\n ],\n deleteSelfHostedRunnerFromOrg: [\n \"DELETE /orgs/{org}/actions/runners/{runner_id}\"\n ],\n deleteSelfHostedRunnerFromRepo: [\n \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}\"\n ],\n deleteWorkflowRun: [\"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n deleteWorkflowRunLogs: [\n \"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs\"\n ],\n disableSelectedRepositoryGithubActionsOrganization: [\n \"DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}\"\n ],\n disableWorkflow: [\n \"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable\"\n ],\n downloadArtifact: [\n \"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}\"\n ],\n downloadJobLogsForWorkflowRun: [\n \"GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs\"\n ],\n downloadWorkflowRunAttemptLogs: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs\"\n ],\n downloadWorkflowRunLogs: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs\"\n ],\n enableSelectedRepositoryGithubActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/repositories/{repository_id}\"\n ],\n enableWorkflow: [\n \"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable\"\n ],\n forceCancelWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel\"\n ],\n generateRunnerJitconfigForOrg: [\n \"POST /orgs/{org}/actions/runners/generate-jitconfig\"\n ],\n generateRunnerJitconfigForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig\"\n ],\n getActionsCacheList: [\"GET /repos/{owner}/{repo}/actions/caches\"],\n getActionsCacheUsage: [\"GET /repos/{owner}/{repo}/actions/cache/usage\"],\n getActionsCacheUsageByRepoForOrg: [\n \"GET /orgs/{org}/actions/cache/usage-by-repository\"\n ],\n getActionsCacheUsageForOrg: [\"GET /orgs/{org}/actions/cache/usage\"],\n getAllowedActionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/selected-actions\"\n ],\n getAllowedActionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions/selected-actions\"\n ],\n getArtifact: [\"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"],\n getCustomOidcSubClaimForRepo: [\n \"GET /repos/{owner}/{repo}/actions/oidc/customization/sub\"\n ],\n getEnvironmentPublicKey: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key\"\n ],\n getEnvironmentSecret: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}\"\n ],\n getEnvironmentVariable: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}\"\n ],\n getGithubActionsDefaultWorkflowPermissionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/workflow\"\n ],\n getGithubActionsDefaultWorkflowPermissionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions/workflow\"\n ],\n getGithubActionsPermissionsOrganization: [\n \"GET /orgs/{org}/actions/permissions\"\n ],\n getGithubActionsPermissionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions\"\n ],\n getHostedRunnerForOrg: [\n \"GET /orgs/{org}/actions/hosted-runners/{hosted_runner_id}\"\n ],\n getHostedRunnersGithubOwnedImagesForOrg: [\n \"GET /orgs/{org}/actions/hosted-runners/images/github-owned\"\n ],\n getHostedRunnersLimitsForOrg: [\n \"GET /orgs/{org}/actions/hosted-runners/limits\"\n ],\n getHostedRunnersMachineSpecsForOrg: [\n \"GET /orgs/{org}/actions/hosted-runners/machine-sizes\"\n ],\n getHostedRunnersPartnerImagesForOrg: [\n \"GET /orgs/{org}/actions/hosted-runners/images/partner\"\n ],\n getHostedRunnersPlatformsForOrg: [\n \"GET /orgs/{org}/actions/hosted-runners/platforms\"\n ],\n getJobForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/actions/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/actions/secrets/{secret_name}\"],\n getOrgVariable: [\"GET /orgs/{org}/actions/variables/{name}\"],\n getPendingDeploymentsForRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\"\n ],\n getRepoPermissions: [\n \"GET /repos/{owner}/{repo}/actions/permissions\",\n {},\n { renamed: [\"actions\", \"getGithubActionsPermissionsRepository\"] }\n ],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/actions/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n getRepoVariable: [\"GET /repos/{owner}/{repo}/actions/variables/{name}\"],\n getReviewsForRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals\"\n ],\n getSelfHostedRunnerForOrg: [\"GET /orgs/{org}/actions/runners/{runner_id}\"],\n getSelfHostedRunnerForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/{runner_id}\"\n ],\n getWorkflow: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}\"],\n getWorkflowAccessToRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions/access\"\n ],\n getWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n getWorkflowRunAttempt: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}\"\n ],\n getWorkflowRunUsage: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing\"\n ],\n getWorkflowUsage: [\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing\"\n ],\n listArtifactsForRepo: [\"GET /repos/{owner}/{repo}/actions/artifacts\"],\n listEnvironmentSecrets: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/secrets\"\n ],\n listEnvironmentVariables: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/variables\"\n ],\n listGithubHostedRunnersInGroupForOrg: [\n \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners\"\n ],\n listHostedRunnersForOrg: [\"GET /orgs/{org}/actions/hosted-runners\"],\n listJobsForWorkflowRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\"\n ],\n listJobsForWorkflowRunAttempt: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\"\n ],\n listLabelsForSelfHostedRunnerForOrg: [\n \"GET /orgs/{org}/actions/runners/{runner_id}/labels\"\n ],\n listLabelsForSelfHostedRunnerForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"\n ],\n listOrgSecrets: [\"GET /orgs/{org}/actions/secrets\"],\n listOrgVariables: [\"GET /orgs/{org}/actions/variables\"],\n listRepoOrganizationSecrets: [\n \"GET /repos/{owner}/{repo}/actions/organization-secrets\"\n ],\n listRepoOrganizationVariables: [\n \"GET /repos/{owner}/{repo}/actions/organization-variables\"\n ],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/actions/secrets\"],\n listRepoVariables: [\"GET /repos/{owner}/{repo}/actions/variables\"],\n listRepoWorkflows: [\"GET /repos/{owner}/{repo}/actions/workflows\"],\n listRunnerApplicationsForOrg: [\"GET /orgs/{org}/actions/runners/downloads\"],\n listRunnerApplicationsForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/downloads\"\n ],\n listSelectedReposForOrgSecret: [\n \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\"\n ],\n listSelectedReposForOrgVariable: [\n \"GET /orgs/{org}/actions/variables/{name}/repositories\"\n ],\n listSelectedRepositoriesEnabledGithubActionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/repositories\"\n ],\n listSelfHostedRunnersForOrg: [\"GET /orgs/{org}/actions/runners\"],\n listSelfHostedRunnersForRepo: [\"GET /repos/{owner}/{repo}/actions/runners\"],\n listWorkflowRunArtifacts: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\"\n ],\n listWorkflowRuns: [\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\"\n ],\n listWorkflowRunsForRepo: [\"GET /repos/{owner}/{repo}/actions/runs\"],\n reRunJobForWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun\"\n ],\n reRunWorkflow: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun\"],\n reRunWorkflowFailedJobs: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs\"\n ],\n removeAllCustomLabelsFromSelfHostedRunnerForOrg: [\n \"DELETE /orgs/{org}/actions/runners/{runner_id}/labels\"\n ],\n removeAllCustomLabelsFromSelfHostedRunnerForRepo: [\n \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"\n ],\n removeCustomLabelFromSelfHostedRunnerForOrg: [\n \"DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}\"\n ],\n removeCustomLabelFromSelfHostedRunnerForRepo: [\n \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}\"\n ],\n removeSelectedRepoFromOrgSecret: [\n \"DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n removeSelectedRepoFromOrgVariable: [\n \"DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}\"\n ],\n reviewCustomGatesForRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule\"\n ],\n reviewPendingDeploymentsForRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\"\n ],\n setAllowedActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/selected-actions\"\n ],\n setAllowedActionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions/selected-actions\"\n ],\n setCustomLabelsForSelfHostedRunnerForOrg: [\n \"PUT /orgs/{org}/actions/runners/{runner_id}/labels\"\n ],\n setCustomLabelsForSelfHostedRunnerForRepo: [\n \"PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"\n ],\n setCustomOidcSubClaimForRepo: [\n \"PUT /repos/{owner}/{repo}/actions/oidc/customization/sub\"\n ],\n setGithubActionsDefaultWorkflowPermissionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/workflow\"\n ],\n setGithubActionsDefaultWorkflowPermissionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions/workflow\"\n ],\n setGithubActionsPermissionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions\"\n ],\n setGithubActionsPermissionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions\"\n ],\n setSelectedReposForOrgSecret: [\n \"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories\"\n ],\n setSelectedReposForOrgVariable: [\n \"PUT /orgs/{org}/actions/variables/{name}/repositories\"\n ],\n setSelectedRepositoriesEnabledGithubActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/repositories\"\n ],\n setWorkflowAccessToRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions/access\"\n ],\n updateEnvironmentVariable: [\n \"PATCH /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}\"\n ],\n updateHostedRunnerForOrg: [\n \"PATCH /orgs/{org}/actions/hosted-runners/{hosted_runner_id}\"\n ],\n updateOrgVariable: [\"PATCH /orgs/{org}/actions/variables/{name}\"],\n updateRepoVariable: [\n \"PATCH /repos/{owner}/{repo}/actions/variables/{name}\"\n ]\n },\n activity: {\n checkRepoIsStarredByAuthenticatedUser: [\"GET /user/starred/{owner}/{repo}\"],\n deleteRepoSubscription: [\"DELETE /repos/{owner}/{repo}/subscription\"],\n deleteThreadSubscription: [\n \"DELETE /notifications/threads/{thread_id}/subscription\"\n ],\n getFeeds: [\"GET /feeds\"],\n getRepoSubscription: [\"GET /repos/{owner}/{repo}/subscription\"],\n getThread: [\"GET /notifications/threads/{thread_id}\"],\n getThreadSubscriptionForAuthenticatedUser: [\n \"GET /notifications/threads/{thread_id}/subscription\"\n ],\n listEventsForAuthenticatedUser: [\"GET /users/{username}/events\"],\n listNotificationsForAuthenticatedUser: [\"GET /notifications\"],\n listOrgEventsForAuthenticatedUser: [\n \"GET /users/{username}/events/orgs/{org}\"\n ],\n listPublicEvents: [\"GET /events\"],\n listPublicEventsForRepoNetwork: [\"GET /networks/{owner}/{repo}/events\"],\n listPublicEventsForUser: [\"GET /users/{username}/events/public\"],\n listPublicOrgEvents: [\"GET /orgs/{org}/events\"],\n listReceivedEventsForUser: [\"GET /users/{username}/received_events\"],\n listReceivedPublicEventsForUser: [\n \"GET /users/{username}/received_events/public\"\n ],\n listRepoEvents: [\"GET /repos/{owner}/{repo}/events\"],\n listRepoNotificationsForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/notifications\"\n ],\n listReposStarredByAuthenticatedUser: [\"GET /user/starred\"],\n listReposStarredByUser: [\"GET /users/{username}/starred\"],\n listReposWatchedByUser: [\"GET /users/{username}/subscriptions\"],\n listStargazersForRepo: [\"GET /repos/{owner}/{repo}/stargazers\"],\n listWatchedReposForAuthenticatedUser: [\"GET /user/subscriptions\"],\n listWatchersForRepo: [\"GET /repos/{owner}/{repo}/subscribers\"],\n markNotificationsAsRead: [\"PUT /notifications\"],\n markRepoNotificationsAsRead: [\"PUT /repos/{owner}/{repo}/notifications\"],\n markThreadAsDone: [\"DELETE /notifications/threads/{thread_id}\"],\n markThreadAsRead: [\"PATCH /notifications/threads/{thread_id}\"],\n setRepoSubscription: [\"PUT /repos/{owner}/{repo}/subscription\"],\n setThreadSubscription: [\n \"PUT /notifications/threads/{thread_id}/subscription\"\n ],\n starRepoForAuthenticatedUser: [\"PUT /user/starred/{owner}/{repo}\"],\n unstarRepoForAuthenticatedUser: [\"DELETE /user/starred/{owner}/{repo}\"]\n },\n apps: {\n addRepoToInstallation: [\n \"PUT /user/installations/{installation_id}/repositories/{repository_id}\",\n {},\n { renamed: [\"apps\", \"addRepoToInstallationForAuthenticatedUser\"] }\n ],\n addRepoToInstallationForAuthenticatedUser: [\n \"PUT /user/installations/{installation_id}/repositories/{repository_id}\"\n ],\n checkToken: [\"POST /applications/{client_id}/token\"],\n createFromManifest: [\"POST /app-manifests/{code}/conversions\"],\n createInstallationAccessToken: [\n \"POST /app/installations/{installation_id}/access_tokens\"\n ],\n deleteAuthorization: [\"DELETE /applications/{client_id}/grant\"],\n deleteInstallation: [\"DELETE /app/installations/{installation_id}\"],\n deleteToken: [\"DELETE /applications/{client_id}/token\"],\n getAuthenticated: [\"GET /app\"],\n getBySlug: [\"GET /apps/{app_slug}\"],\n getInstallation: [\"GET /app/installations/{installation_id}\"],\n getOrgInstallation: [\"GET /orgs/{org}/installation\"],\n getRepoInstallation: [\"GET /repos/{owner}/{repo}/installation\"],\n getSubscriptionPlanForAccount: [\n \"GET /marketplace_listing/accounts/{account_id}\"\n ],\n getSubscriptionPlanForAccountStubbed: [\n \"GET /marketplace_listing/stubbed/accounts/{account_id}\"\n ],\n getUserInstallation: [\"GET /users/{username}/installation\"],\n getWebhookConfigForApp: [\"GET /app/hook/config\"],\n getWebhookDelivery: [\"GET /app/hook/deliveries/{delivery_id}\"],\n listAccountsForPlan: [\"GET /marketplace_listing/plans/{plan_id}/accounts\"],\n listAccountsForPlanStubbed: [\n \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\"\n ],\n listInstallationReposForAuthenticatedUser: [\n \"GET /user/installations/{installation_id}/repositories\"\n ],\n listInstallationRequestsForAuthenticatedApp: [\n \"GET /app/installation-requests\"\n ],\n listInstallations: [\"GET /app/installations\"],\n listInstallationsForAuthenticatedUser: [\"GET /user/installations\"],\n listPlans: [\"GET /marketplace_listing/plans\"],\n listPlansStubbed: [\"GET /marketplace_listing/stubbed/plans\"],\n listReposAccessibleToInstallation: [\"GET /installation/repositories\"],\n listSubscriptionsForAuthenticatedUser: [\"GET /user/marketplace_purchases\"],\n listSubscriptionsForAuthenticatedUserStubbed: [\n \"GET /user/marketplace_purchases/stubbed\"\n ],\n listWebhookDeliveries: [\"GET /app/hook/deliveries\"],\n redeliverWebhookDelivery: [\n \"POST /app/hook/deliveries/{delivery_id}/attempts\"\n ],\n removeRepoFromInstallation: [\n \"DELETE /user/installations/{installation_id}/repositories/{repository_id}\",\n {},\n { renamed: [\"apps\", \"removeRepoFromInstallationForAuthenticatedUser\"] }\n ],\n removeRepoFromInstallationForAuthenticatedUser: [\n \"DELETE /user/installations/{installation_id}/repositories/{repository_id}\"\n ],\n resetToken: [\"PATCH /applications/{client_id}/token\"],\n revokeInstallationAccessToken: [\"DELETE /installation/token\"],\n scopeToken: [\"POST /applications/{client_id}/token/scoped\"],\n suspendInstallation: [\"PUT /app/installations/{installation_id}/suspended\"],\n unsuspendInstallation: [\n \"DELETE /app/installations/{installation_id}/suspended\"\n ],\n updateWebhookConfigForApp: [\"PATCH /app/hook/config\"]\n },\n billing: {\n getGithubActionsBillingOrg: [\"GET /orgs/{org}/settings/billing/actions\"],\n getGithubActionsBillingUser: [\n \"GET /users/{username}/settings/billing/actions\"\n ],\n getGithubBillingUsageReportOrg: [\n \"GET /organizations/{org}/settings/billing/usage\"\n ],\n getGithubBillingUsageReportUser: [\n \"GET /users/{username}/settings/billing/usage\"\n ],\n getGithubPackagesBillingOrg: [\"GET /orgs/{org}/settings/billing/packages\"],\n getGithubPackagesBillingUser: [\n \"GET /users/{username}/settings/billing/packages\"\n ],\n getSharedStorageBillingOrg: [\n \"GET /orgs/{org}/settings/billing/shared-storage\"\n ],\n getSharedStorageBillingUser: [\n \"GET /users/{username}/settings/billing/shared-storage\"\n ]\n },\n campaigns: {\n createCampaign: [\"POST /orgs/{org}/campaigns\"],\n deleteCampaign: [\"DELETE /orgs/{org}/campaigns/{campaign_number}\"],\n getCampaignSummary: [\"GET /orgs/{org}/campaigns/{campaign_number}\"],\n listOrgCampaigns: [\"GET /orgs/{org}/campaigns\"],\n updateCampaign: [\"PATCH /orgs/{org}/campaigns/{campaign_number}\"]\n },\n checks: {\n create: [\"POST /repos/{owner}/{repo}/check-runs\"],\n createSuite: [\"POST /repos/{owner}/{repo}/check-suites\"],\n get: [\"GET /repos/{owner}/{repo}/check-runs/{check_run_id}\"],\n getSuite: [\"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}\"],\n listAnnotations: [\n \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\"\n ],\n listForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\"],\n listForSuite: [\n \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\"\n ],\n listSuitesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\"],\n rerequestRun: [\n \"POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest\"\n ],\n rerequestSuite: [\n \"POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest\"\n ],\n setSuitesPreferences: [\n \"PATCH /repos/{owner}/{repo}/check-suites/preferences\"\n ],\n update: [\"PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}\"]\n },\n codeScanning: {\n commitAutofix: [\n \"POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix/commits\"\n ],\n createAutofix: [\n \"POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix\"\n ],\n createVariantAnalysis: [\n \"POST /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses\"\n ],\n deleteAnalysis: [\n \"DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}\"\n ],\n deleteCodeqlDatabase: [\n \"DELETE /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}\"\n ],\n getAlert: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\",\n {},\n { renamedParameters: { alert_id: \"alert_number\" } }\n ],\n getAnalysis: [\n \"GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}\"\n ],\n getAutofix: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix\"\n ],\n getCodeqlDatabase: [\n \"GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}\"\n ],\n getDefaultSetup: [\"GET /repos/{owner}/{repo}/code-scanning/default-setup\"],\n getSarif: [\"GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}\"],\n getVariantAnalysis: [\n \"GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}\"\n ],\n getVariantAnalysisRepoTask: [\n \"GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}/repos/{repo_owner}/{repo_name}\"\n ],\n listAlertInstances: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\"\n ],\n listAlertsForOrg: [\"GET /orgs/{org}/code-scanning/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/code-scanning/alerts\"],\n listAlertsInstances: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n {},\n { renamed: [\"codeScanning\", \"listAlertInstances\"] }\n ],\n listCodeqlDatabases: [\n \"GET /repos/{owner}/{repo}/code-scanning/codeql/databases\"\n ],\n listRecentAnalyses: [\"GET /repos/{owner}/{repo}/code-scanning/analyses\"],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\"\n ],\n updateDefaultSetup: [\n \"PATCH /repos/{owner}/{repo}/code-scanning/default-setup\"\n ],\n uploadSarif: [\"POST /repos/{owner}/{repo}/code-scanning/sarifs\"]\n },\n codeSecurity: {\n attachConfiguration: [\n \"POST /orgs/{org}/code-security/configurations/{configuration_id}/attach\"\n ],\n attachEnterpriseConfiguration: [\n \"POST /enterprises/{enterprise}/code-security/configurations/{configuration_id}/attach\"\n ],\n createConfiguration: [\"POST /orgs/{org}/code-security/configurations\"],\n createConfigurationForEnterprise: [\n \"POST /enterprises/{enterprise}/code-security/configurations\"\n ],\n deleteConfiguration: [\n \"DELETE /orgs/{org}/code-security/configurations/{configuration_id}\"\n ],\n deleteConfigurationForEnterprise: [\n \"DELETE /enterprises/{enterprise}/code-security/configurations/{configuration_id}\"\n ],\n detachConfiguration: [\n \"DELETE /orgs/{org}/code-security/configurations/detach\"\n ],\n getConfiguration: [\n \"GET /orgs/{org}/code-security/configurations/{configuration_id}\"\n ],\n getConfigurationForRepository: [\n \"GET /repos/{owner}/{repo}/code-security-configuration\"\n ],\n getConfigurationsForEnterprise: [\n \"GET /enterprises/{enterprise}/code-security/configurations\"\n ],\n getConfigurationsForOrg: [\"GET /orgs/{org}/code-security/configurations\"],\n getDefaultConfigurations: [\n \"GET /orgs/{org}/code-security/configurations/defaults\"\n ],\n getDefaultConfigurationsForEnterprise: [\n \"GET /enterprises/{enterprise}/code-security/configurations/defaults\"\n ],\n getRepositoriesForConfiguration: [\n \"GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories\"\n ],\n getRepositoriesForEnterpriseConfiguration: [\n \"GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories\"\n ],\n getSingleConfigurationForEnterprise: [\n \"GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}\"\n ],\n setConfigurationAsDefault: [\n \"PUT /orgs/{org}/code-security/configurations/{configuration_id}/defaults\"\n ],\n setConfigurationAsDefaultForEnterprise: [\n \"PUT /enterprises/{enterprise}/code-security/configurations/{configuration_id}/defaults\"\n ],\n updateConfiguration: [\n \"PATCH /orgs/{org}/code-security/configurations/{configuration_id}\"\n ],\n updateEnterpriseConfiguration: [\n \"PATCH /enterprises/{enterprise}/code-security/configurations/{configuration_id}\"\n ]\n },\n codesOfConduct: {\n getAllCodesOfConduct: [\"GET /codes_of_conduct\"],\n getConductCode: [\"GET /codes_of_conduct/{key}\"]\n },\n codespaces: {\n addRepositoryForSecretForAuthenticatedUser: [\n \"PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n addSelectedRepoToOrgSecret: [\n \"PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n checkPermissionsForDevcontainer: [\n \"GET /repos/{owner}/{repo}/codespaces/permissions_check\"\n ],\n codespaceMachinesForAuthenticatedUser: [\n \"GET /user/codespaces/{codespace_name}/machines\"\n ],\n createForAuthenticatedUser: [\"POST /user/codespaces\"],\n createOrUpdateOrgSecret: [\n \"PUT /orgs/{org}/codespaces/secrets/{secret_name}\"\n ],\n createOrUpdateRepoSecret: [\n \"PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"\n ],\n createOrUpdateSecretForAuthenticatedUser: [\n \"PUT /user/codespaces/secrets/{secret_name}\"\n ],\n createWithPrForAuthenticatedUser: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces\"\n ],\n createWithRepoForAuthenticatedUser: [\n \"POST /repos/{owner}/{repo}/codespaces\"\n ],\n deleteForAuthenticatedUser: [\"DELETE /user/codespaces/{codespace_name}\"],\n deleteFromOrganization: [\n \"DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}\"\n ],\n deleteOrgSecret: [\"DELETE /orgs/{org}/codespaces/secrets/{secret_name}\"],\n deleteRepoSecret: [\n \"DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"\n ],\n deleteSecretForAuthenticatedUser: [\n \"DELETE /user/codespaces/secrets/{secret_name}\"\n ],\n exportForAuthenticatedUser: [\n \"POST /user/codespaces/{codespace_name}/exports\"\n ],\n getCodespacesForUserInOrg: [\n \"GET /orgs/{org}/members/{username}/codespaces\"\n ],\n getExportDetailsForAuthenticatedUser: [\n \"GET /user/codespaces/{codespace_name}/exports/{export_id}\"\n ],\n getForAuthenticatedUser: [\"GET /user/codespaces/{codespace_name}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/codespaces/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/codespaces/secrets/{secret_name}\"],\n getPublicKeyForAuthenticatedUser: [\n \"GET /user/codespaces/secrets/public-key\"\n ],\n getRepoPublicKey: [\n \"GET /repos/{owner}/{repo}/codespaces/secrets/public-key\"\n ],\n getRepoSecret: [\n \"GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"\n ],\n getSecretForAuthenticatedUser: [\n \"GET /user/codespaces/secrets/{secret_name}\"\n ],\n listDevcontainersInRepositoryForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces/devcontainers\"\n ],\n listForAuthenticatedUser: [\"GET /user/codespaces\"],\n listInOrganization: [\n \"GET /orgs/{org}/codespaces\",\n {},\n { renamedParameters: { org_id: \"org\" } }\n ],\n listInRepositoryForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces\"\n ],\n listOrgSecrets: [\"GET /orgs/{org}/codespaces/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/codespaces/secrets\"],\n listRepositoriesForSecretForAuthenticatedUser: [\n \"GET /user/codespaces/secrets/{secret_name}/repositories\"\n ],\n listSecretsForAuthenticatedUser: [\"GET /user/codespaces/secrets\"],\n listSelectedReposForOrgSecret: [\n \"GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories\"\n ],\n preFlightWithRepoForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces/new\"\n ],\n publishForAuthenticatedUser: [\n \"POST /user/codespaces/{codespace_name}/publish\"\n ],\n removeRepositoryForSecretForAuthenticatedUser: [\n \"DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n removeSelectedRepoFromOrgSecret: [\n \"DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n repoMachinesForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces/machines\"\n ],\n setRepositoriesForSecretForAuthenticatedUser: [\n \"PUT /user/codespaces/secrets/{secret_name}/repositories\"\n ],\n setSelectedReposForOrgSecret: [\n \"PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories\"\n ],\n startForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/start\"],\n stopForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/stop\"],\n stopInOrganization: [\n \"POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop\"\n ],\n updateForAuthenticatedUser: [\"PATCH /user/codespaces/{codespace_name}\"]\n },\n copilot: {\n addCopilotSeatsForTeams: [\n \"POST /orgs/{org}/copilot/billing/selected_teams\"\n ],\n addCopilotSeatsForUsers: [\n \"POST /orgs/{org}/copilot/billing/selected_users\"\n ],\n cancelCopilotSeatAssignmentForTeams: [\n \"DELETE /orgs/{org}/copilot/billing/selected_teams\"\n ],\n cancelCopilotSeatAssignmentForUsers: [\n \"DELETE /orgs/{org}/copilot/billing/selected_users\"\n ],\n copilotMetricsForOrganization: [\"GET /orgs/{org}/copilot/metrics\"],\n copilotMetricsForTeam: [\"GET /orgs/{org}/team/{team_slug}/copilot/metrics\"],\n getCopilotOrganizationDetails: [\"GET /orgs/{org}/copilot/billing\"],\n getCopilotSeatDetailsForUser: [\n \"GET /orgs/{org}/members/{username}/copilot\"\n ],\n listCopilotSeats: [\"GET /orgs/{org}/copilot/billing/seats\"]\n },\n credentials: { revoke: [\"POST /credentials/revoke\"] },\n dependabot: {\n addSelectedRepoToOrgSecret: [\n \"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n createOrUpdateOrgSecret: [\n \"PUT /orgs/{org}/dependabot/secrets/{secret_name}\"\n ],\n createOrUpdateRepoSecret: [\n \"PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"\n ],\n deleteOrgSecret: [\"DELETE /orgs/{org}/dependabot/secrets/{secret_name}\"],\n deleteRepoSecret: [\n \"DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"\n ],\n getAlert: [\"GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/dependabot/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/dependabot/secrets/{secret_name}\"],\n getRepoPublicKey: [\n \"GET /repos/{owner}/{repo}/dependabot/secrets/public-key\"\n ],\n getRepoSecret: [\n \"GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"\n ],\n listAlertsForEnterprise: [\n \"GET /enterprises/{enterprise}/dependabot/alerts\"\n ],\n listAlertsForOrg: [\"GET /orgs/{org}/dependabot/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/dependabot/alerts\"],\n listOrgSecrets: [\"GET /orgs/{org}/dependabot/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/dependabot/secrets\"],\n listSelectedReposForOrgSecret: [\n \"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\"\n ],\n removeSelectedRepoFromOrgSecret: [\n \"DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n repositoryAccessForOrg: [\n \"GET /organizations/{org}/dependabot/repository-access\"\n ],\n setRepositoryAccessDefaultLevel: [\n \"PUT /organizations/{org}/dependabot/repository-access/default-level\"\n ],\n setSelectedReposForOrgSecret: [\n \"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories\"\n ],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}\"\n ],\n updateRepositoryAccessForOrg: [\n \"PATCH /organizations/{org}/dependabot/repository-access\"\n ]\n },\n dependencyGraph: {\n createRepositorySnapshot: [\n \"POST /repos/{owner}/{repo}/dependency-graph/snapshots\"\n ],\n diffRange: [\n \"GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}\"\n ],\n exportSbom: [\"GET /repos/{owner}/{repo}/dependency-graph/sbom\"]\n },\n emojis: { get: [\"GET /emojis\"] },\n gists: {\n checkIsStarred: [\"GET /gists/{gist_id}/star\"],\n create: [\"POST /gists\"],\n createComment: [\"POST /gists/{gist_id}/comments\"],\n delete: [\"DELETE /gists/{gist_id}\"],\n deleteComment: [\"DELETE /gists/{gist_id}/comments/{comment_id}\"],\n fork: [\"POST /gists/{gist_id}/forks\"],\n get: [\"GET /gists/{gist_id}\"],\n getComment: [\"GET /gists/{gist_id}/comments/{comment_id}\"],\n getRevision: [\"GET /gists/{gist_id}/{sha}\"],\n list: [\"GET /gists\"],\n listComments: [\"GET /gists/{gist_id}/comments\"],\n listCommits: [\"GET /gists/{gist_id}/commits\"],\n listForUser: [\"GET /users/{username}/gists\"],\n listForks: [\"GET /gists/{gist_id}/forks\"],\n listPublic: [\"GET /gists/public\"],\n listStarred: [\"GET /gists/starred\"],\n star: [\"PUT /gists/{gist_id}/star\"],\n unstar: [\"DELETE /gists/{gist_id}/star\"],\n update: [\"PATCH /gists/{gist_id}\"],\n updateComment: [\"PATCH /gists/{gist_id}/comments/{comment_id}\"]\n },\n git: {\n createBlob: [\"POST /repos/{owner}/{repo}/git/blobs\"],\n createCommit: [\"POST /repos/{owner}/{repo}/git/commits\"],\n createRef: [\"POST /repos/{owner}/{repo}/git/refs\"],\n createTag: [\"POST /repos/{owner}/{repo}/git/tags\"],\n createTree: [\"POST /repos/{owner}/{repo}/git/trees\"],\n deleteRef: [\"DELETE /repos/{owner}/{repo}/git/refs/{ref}\"],\n getBlob: [\"GET /repos/{owner}/{repo}/git/blobs/{file_sha}\"],\n getCommit: [\"GET /repos/{owner}/{repo}/git/commits/{commit_sha}\"],\n getRef: [\"GET /repos/{owner}/{repo}/git/ref/{ref}\"],\n getTag: [\"GET /repos/{owner}/{repo}/git/tags/{tag_sha}\"],\n getTree: [\"GET /repos/{owner}/{repo}/git/trees/{tree_sha}\"],\n listMatchingRefs: [\"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\"],\n updateRef: [\"PATCH /repos/{owner}/{repo}/git/refs/{ref}\"]\n },\n gitignore: {\n getAllTemplates: [\"GET /gitignore/templates\"],\n getTemplate: [\"GET /gitignore/templates/{name}\"]\n },\n hostedCompute: {\n createNetworkConfigurationForOrg: [\n \"POST /orgs/{org}/settings/network-configurations\"\n ],\n deleteNetworkConfigurationFromOrg: [\n \"DELETE /orgs/{org}/settings/network-configurations/{network_configuration_id}\"\n ],\n getNetworkConfigurationForOrg: [\n \"GET /orgs/{org}/settings/network-configurations/{network_configuration_id}\"\n ],\n getNetworkSettingsForOrg: [\n \"GET /orgs/{org}/settings/network-settings/{network_settings_id}\"\n ],\n listNetworkConfigurationsForOrg: [\n \"GET /orgs/{org}/settings/network-configurations\"\n ],\n updateNetworkConfigurationForOrg: [\n \"PATCH /orgs/{org}/settings/network-configurations/{network_configuration_id}\"\n ]\n },\n interactions: {\n getRestrictionsForAuthenticatedUser: [\"GET /user/interaction-limits\"],\n getRestrictionsForOrg: [\"GET /orgs/{org}/interaction-limits\"],\n getRestrictionsForRepo: [\"GET /repos/{owner}/{repo}/interaction-limits\"],\n getRestrictionsForYourPublicRepos: [\n \"GET /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"getRestrictionsForAuthenticatedUser\"] }\n ],\n removeRestrictionsForAuthenticatedUser: [\"DELETE /user/interaction-limits\"],\n removeRestrictionsForOrg: [\"DELETE /orgs/{org}/interaction-limits\"],\n removeRestrictionsForRepo: [\n \"DELETE /repos/{owner}/{repo}/interaction-limits\"\n ],\n removeRestrictionsForYourPublicRepos: [\n \"DELETE /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"removeRestrictionsForAuthenticatedUser\"] }\n ],\n setRestrictionsForAuthenticatedUser: [\"PUT /user/interaction-limits\"],\n setRestrictionsForOrg: [\"PUT /orgs/{org}/interaction-limits\"],\n setRestrictionsForRepo: [\"PUT /repos/{owner}/{repo}/interaction-limits\"],\n setRestrictionsForYourPublicRepos: [\n \"PUT /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"setRestrictionsForAuthenticatedUser\"] }\n ]\n },\n issues: {\n addAssignees: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/assignees\"\n ],\n addBlockedByDependency: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by\"\n ],\n addLabels: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n addSubIssue: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/sub_issues\"\n ],\n checkUserCanBeAssigned: [\"GET /repos/{owner}/{repo}/assignees/{assignee}\"],\n checkUserCanBeAssignedToIssue: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}\"\n ],\n create: [\"POST /repos/{owner}/{repo}/issues\"],\n createComment: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/comments\"\n ],\n createLabel: [\"POST /repos/{owner}/{repo}/labels\"],\n createMilestone: [\"POST /repos/{owner}/{repo}/milestones\"],\n deleteComment: [\n \"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}\"\n ],\n deleteLabel: [\"DELETE /repos/{owner}/{repo}/labels/{name}\"],\n deleteMilestone: [\n \"DELETE /repos/{owner}/{repo}/milestones/{milestone_number}\"\n ],\n get: [\"GET /repos/{owner}/{repo}/issues/{issue_number}\"],\n getComment: [\"GET /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n getEvent: [\"GET /repos/{owner}/{repo}/issues/events/{event_id}\"],\n getLabel: [\"GET /repos/{owner}/{repo}/labels/{name}\"],\n getMilestone: [\"GET /repos/{owner}/{repo}/milestones/{milestone_number}\"],\n getParent: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/parent\"],\n list: [\"GET /issues\"],\n listAssignees: [\"GET /repos/{owner}/{repo}/assignees\"],\n listComments: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\"],\n listCommentsForRepo: [\"GET /repos/{owner}/{repo}/issues/comments\"],\n listDependenciesBlockedBy: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by\"\n ],\n listDependenciesBlocking: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocking\"\n ],\n listEvents: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/events\"],\n listEventsForRepo: [\"GET /repos/{owner}/{repo}/issues/events\"],\n listEventsForTimeline: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\"\n ],\n listForAuthenticatedUser: [\"GET /user/issues\"],\n listForOrg: [\"GET /orgs/{org}/issues\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/issues\"],\n listLabelsForMilestone: [\n \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\"\n ],\n listLabelsForRepo: [\"GET /repos/{owner}/{repo}/labels\"],\n listLabelsOnIssue: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\"\n ],\n listMilestones: [\"GET /repos/{owner}/{repo}/milestones\"],\n listSubIssues: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues\"\n ],\n lock: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n removeAllLabels: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels\"\n ],\n removeAssignees: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees\"\n ],\n removeDependencyBlockedBy: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by/{issue_id}\"\n ],\n removeLabel: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}\"\n ],\n removeSubIssue: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/sub_issue\"\n ],\n reprioritizeSubIssue: [\n \"PATCH /repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority\"\n ],\n setLabels: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n unlock: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n update: [\"PATCH /repos/{owner}/{repo}/issues/{issue_number}\"],\n updateComment: [\"PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n updateLabel: [\"PATCH /repos/{owner}/{repo}/labels/{name}\"],\n updateMilestone: [\n \"PATCH /repos/{owner}/{repo}/milestones/{milestone_number}\"\n ]\n },\n licenses: {\n get: [\"GET /licenses/{license}\"],\n getAllCommonlyUsed: [\"GET /licenses\"],\n getForRepo: [\"GET /repos/{owner}/{repo}/license\"]\n },\n markdown: {\n render: [\"POST /markdown\"],\n renderRaw: [\n \"POST /markdown/raw\",\n { headers: { \"content-type\": \"text/plain; charset=utf-8\" } }\n ]\n },\n meta: {\n get: [\"GET /meta\"],\n getAllVersions: [\"GET /versions\"],\n getOctocat: [\"GET /octocat\"],\n getZen: [\"GET /zen\"],\n root: [\"GET /\"]\n },\n migrations: {\n deleteArchiveForAuthenticatedUser: [\n \"DELETE /user/migrations/{migration_id}/archive\"\n ],\n deleteArchiveForOrg: [\n \"DELETE /orgs/{org}/migrations/{migration_id}/archive\"\n ],\n downloadArchiveForOrg: [\n \"GET /orgs/{org}/migrations/{migration_id}/archive\"\n ],\n getArchiveForAuthenticatedUser: [\n \"GET /user/migrations/{migration_id}/archive\"\n ],\n getStatusForAuthenticatedUser: [\"GET /user/migrations/{migration_id}\"],\n getStatusForOrg: [\"GET /orgs/{org}/migrations/{migration_id}\"],\n listForAuthenticatedUser: [\"GET /user/migrations\"],\n listForOrg: [\"GET /orgs/{org}/migrations\"],\n listReposForAuthenticatedUser: [\n \"GET /user/migrations/{migration_id}/repositories\"\n ],\n listReposForOrg: [\"GET /orgs/{org}/migrations/{migration_id}/repositories\"],\n listReposForUser: [\n \"GET /user/migrations/{migration_id}/repositories\",\n {},\n { renamed: [\"migrations\", \"listReposForAuthenticatedUser\"] }\n ],\n startForAuthenticatedUser: [\"POST /user/migrations\"],\n startForOrg: [\"POST /orgs/{org}/migrations\"],\n unlockRepoForAuthenticatedUser: [\n \"DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock\"\n ],\n unlockRepoForOrg: [\n \"DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock\"\n ]\n },\n oidc: {\n getOidcCustomSubTemplateForOrg: [\n \"GET /orgs/{org}/actions/oidc/customization/sub\"\n ],\n updateOidcCustomSubTemplateForOrg: [\n \"PUT /orgs/{org}/actions/oidc/customization/sub\"\n ]\n },\n orgs: {\n addSecurityManagerTeam: [\n \"PUT /orgs/{org}/security-managers/teams/{team_slug}\",\n {},\n {\n deprecated: \"octokit.rest.orgs.addSecurityManagerTeam() is deprecated, see https://docs.github.com/rest/orgs/security-managers#add-a-security-manager-team\"\n }\n ],\n assignTeamToOrgRole: [\n \"PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}\"\n ],\n assignUserToOrgRole: [\n \"PUT /orgs/{org}/organization-roles/users/{username}/{role_id}\"\n ],\n blockUser: [\"PUT /orgs/{org}/blocks/{username}\"],\n cancelInvitation: [\"DELETE /orgs/{org}/invitations/{invitation_id}\"],\n checkBlockedUser: [\"GET /orgs/{org}/blocks/{username}\"],\n checkMembershipForUser: [\"GET /orgs/{org}/members/{username}\"],\n checkPublicMembershipForUser: [\"GET /orgs/{org}/public_members/{username}\"],\n convertMemberToOutsideCollaborator: [\n \"PUT /orgs/{org}/outside_collaborators/{username}\"\n ],\n createArtifactStorageRecord: [\n \"POST /orgs/{org}/artifacts/metadata/storage-record\"\n ],\n createInvitation: [\"POST /orgs/{org}/invitations\"],\n createIssueType: [\"POST /orgs/{org}/issue-types\"],\n createOrUpdateCustomProperties: [\"PATCH /orgs/{org}/properties/schema\"],\n createOrUpdateCustomPropertiesValuesForRepos: [\n \"PATCH /orgs/{org}/properties/values\"\n ],\n createOrUpdateCustomProperty: [\n \"PUT /orgs/{org}/properties/schema/{custom_property_name}\"\n ],\n createWebhook: [\"POST /orgs/{org}/hooks\"],\n delete: [\"DELETE /orgs/{org}\"],\n deleteAttestationsBulk: [\"POST /orgs/{org}/attestations/delete-request\"],\n deleteAttestationsById: [\n \"DELETE /orgs/{org}/attestations/{attestation_id}\"\n ],\n deleteAttestationsBySubjectDigest: [\n \"DELETE /orgs/{org}/attestations/digest/{subject_digest}\"\n ],\n deleteIssueType: [\"DELETE /orgs/{org}/issue-types/{issue_type_id}\"],\n deleteWebhook: [\"DELETE /orgs/{org}/hooks/{hook_id}\"],\n get: [\"GET /orgs/{org}\"],\n getAllCustomProperties: [\"GET /orgs/{org}/properties/schema\"],\n getCustomProperty: [\n \"GET /orgs/{org}/properties/schema/{custom_property_name}\"\n ],\n getMembershipForAuthenticatedUser: [\"GET /user/memberships/orgs/{org}\"],\n getMembershipForUser: [\"GET /orgs/{org}/memberships/{username}\"],\n getOrgRole: [\"GET /orgs/{org}/organization-roles/{role_id}\"],\n getOrgRulesetHistory: [\"GET /orgs/{org}/rulesets/{ruleset_id}/history\"],\n getOrgRulesetVersion: [\n \"GET /orgs/{org}/rulesets/{ruleset_id}/history/{version_id}\"\n ],\n getWebhook: [\"GET /orgs/{org}/hooks/{hook_id}\"],\n getWebhookConfigForOrg: [\"GET /orgs/{org}/hooks/{hook_id}/config\"],\n getWebhookDelivery: [\n \"GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}\"\n ],\n list: [\"GET /organizations\"],\n listAppInstallations: [\"GET /orgs/{org}/installations\"],\n listArtifactStorageRecords: [\n \"GET /orgs/{org}/artifacts/{subject_digest}/metadata/storage-records\"\n ],\n listAttestations: [\"GET /orgs/{org}/attestations/{subject_digest}\"],\n listAttestationsBulk: [\n \"POST /orgs/{org}/attestations/bulk-list{?per_page,before,after}\"\n ],\n listBlockedUsers: [\"GET /orgs/{org}/blocks\"],\n listCustomPropertiesValuesForRepos: [\"GET /orgs/{org}/properties/values\"],\n listFailedInvitations: [\"GET /orgs/{org}/failed_invitations\"],\n listForAuthenticatedUser: [\"GET /user/orgs\"],\n listForUser: [\"GET /users/{username}/orgs\"],\n listInvitationTeams: [\"GET /orgs/{org}/invitations/{invitation_id}/teams\"],\n listIssueTypes: [\"GET /orgs/{org}/issue-types\"],\n listMembers: [\"GET /orgs/{org}/members\"],\n listMembershipsForAuthenticatedUser: [\"GET /user/memberships/orgs\"],\n listOrgRoleTeams: [\"GET /orgs/{org}/organization-roles/{role_id}/teams\"],\n listOrgRoleUsers: [\"GET /orgs/{org}/organization-roles/{role_id}/users\"],\n listOrgRoles: [\"GET /orgs/{org}/organization-roles\"],\n listOrganizationFineGrainedPermissions: [\n \"GET /orgs/{org}/organization-fine-grained-permissions\"\n ],\n listOutsideCollaborators: [\"GET /orgs/{org}/outside_collaborators\"],\n listPatGrantRepositories: [\n \"GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories\"\n ],\n listPatGrantRequestRepositories: [\n \"GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories\"\n ],\n listPatGrantRequests: [\"GET /orgs/{org}/personal-access-token-requests\"],\n listPatGrants: [\"GET /orgs/{org}/personal-access-tokens\"],\n listPendingInvitations: [\"GET /orgs/{org}/invitations\"],\n listPublicMembers: [\"GET /orgs/{org}/public_members\"],\n listSecurityManagerTeams: [\n \"GET /orgs/{org}/security-managers\",\n {},\n {\n deprecated: \"octokit.rest.orgs.listSecurityManagerTeams() is deprecated, see https://docs.github.com/rest/orgs/security-managers#list-security-manager-teams\"\n }\n ],\n listWebhookDeliveries: [\"GET /orgs/{org}/hooks/{hook_id}/deliveries\"],\n listWebhooks: [\"GET /orgs/{org}/hooks\"],\n pingWebhook: [\"POST /orgs/{org}/hooks/{hook_id}/pings\"],\n redeliverWebhookDelivery: [\n \"POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\"\n ],\n removeCustomProperty: [\n \"DELETE /orgs/{org}/properties/schema/{custom_property_name}\"\n ],\n removeMember: [\"DELETE /orgs/{org}/members/{username}\"],\n removeMembershipForUser: [\"DELETE /orgs/{org}/memberships/{username}\"],\n removeOutsideCollaborator: [\n \"DELETE /orgs/{org}/outside_collaborators/{username}\"\n ],\n removePublicMembershipForAuthenticatedUser: [\n \"DELETE /orgs/{org}/public_members/{username}\"\n ],\n removeSecurityManagerTeam: [\n \"DELETE /orgs/{org}/security-managers/teams/{team_slug}\",\n {},\n {\n deprecated: \"octokit.rest.orgs.removeSecurityManagerTeam() is deprecated, see https://docs.github.com/rest/orgs/security-managers#remove-a-security-manager-team\"\n }\n ],\n reviewPatGrantRequest: [\n \"POST /orgs/{org}/personal-access-token-requests/{pat_request_id}\"\n ],\n reviewPatGrantRequestsInBulk: [\n \"POST /orgs/{org}/personal-access-token-requests\"\n ],\n revokeAllOrgRolesTeam: [\n \"DELETE /orgs/{org}/organization-roles/teams/{team_slug}\"\n ],\n revokeAllOrgRolesUser: [\n \"DELETE /orgs/{org}/organization-roles/users/{username}\"\n ],\n revokeOrgRoleTeam: [\n \"DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}\"\n ],\n revokeOrgRoleUser: [\n \"DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}\"\n ],\n setMembershipForUser: [\"PUT /orgs/{org}/memberships/{username}\"],\n setPublicMembershipForAuthenticatedUser: [\n \"PUT /orgs/{org}/public_members/{username}\"\n ],\n unblockUser: [\"DELETE /orgs/{org}/blocks/{username}\"],\n update: [\"PATCH /orgs/{org}\"],\n updateIssueType: [\"PUT /orgs/{org}/issue-types/{issue_type_id}\"],\n updateMembershipForAuthenticatedUser: [\n \"PATCH /user/memberships/orgs/{org}\"\n ],\n updatePatAccess: [\"POST /orgs/{org}/personal-access-tokens/{pat_id}\"],\n updatePatAccesses: [\"POST /orgs/{org}/personal-access-tokens\"],\n updateWebhook: [\"PATCH /orgs/{org}/hooks/{hook_id}\"],\n updateWebhookConfigForOrg: [\"PATCH /orgs/{org}/hooks/{hook_id}/config\"]\n },\n packages: {\n deletePackageForAuthenticatedUser: [\n \"DELETE /user/packages/{package_type}/{package_name}\"\n ],\n deletePackageForOrg: [\n \"DELETE /orgs/{org}/packages/{package_type}/{package_name}\"\n ],\n deletePackageForUser: [\n \"DELETE /users/{username}/packages/{package_type}/{package_name}\"\n ],\n deletePackageVersionForAuthenticatedUser: [\n \"DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n deletePackageVersionForOrg: [\n \"DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n deletePackageVersionForUser: [\n \"DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n getAllPackageVersionsForAPackageOwnedByAnOrg: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\",\n {},\n { renamed: [\"packages\", \"getAllPackageVersionsForPackageOwnedByOrg\"] }\n ],\n getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions\",\n {},\n {\n renamed: [\n \"packages\",\n \"getAllPackageVersionsForPackageOwnedByAuthenticatedUser\"\n ]\n }\n ],\n getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions\"\n ],\n getAllPackageVersionsForPackageOwnedByOrg: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\"\n ],\n getAllPackageVersionsForPackageOwnedByUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}/versions\"\n ],\n getPackageForAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}\"\n ],\n getPackageForOrganization: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}\"\n ],\n getPackageForUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}\"\n ],\n getPackageVersionForAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n getPackageVersionForOrganization: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n getPackageVersionForUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n listDockerMigrationConflictingPackagesForAuthenticatedUser: [\n \"GET /user/docker/conflicts\"\n ],\n listDockerMigrationConflictingPackagesForOrganization: [\n \"GET /orgs/{org}/docker/conflicts\"\n ],\n listDockerMigrationConflictingPackagesForUser: [\n \"GET /users/{username}/docker/conflicts\"\n ],\n listPackagesForAuthenticatedUser: [\"GET /user/packages\"],\n listPackagesForOrganization: [\"GET /orgs/{org}/packages\"],\n listPackagesForUser: [\"GET /users/{username}/packages\"],\n restorePackageForAuthenticatedUser: [\n \"POST /user/packages/{package_type}/{package_name}/restore{?token}\"\n ],\n restorePackageForOrg: [\n \"POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}\"\n ],\n restorePackageForUser: [\n \"POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}\"\n ],\n restorePackageVersionForAuthenticatedUser: [\n \"POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"\n ],\n restorePackageVersionForOrg: [\n \"POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"\n ],\n restorePackageVersionForUser: [\n \"POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"\n ]\n },\n privateRegistries: {\n createOrgPrivateRegistry: [\"POST /orgs/{org}/private-registries\"],\n deleteOrgPrivateRegistry: [\n \"DELETE /orgs/{org}/private-registries/{secret_name}\"\n ],\n getOrgPrivateRegistry: [\"GET /orgs/{org}/private-registries/{secret_name}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/private-registries/public-key\"],\n listOrgPrivateRegistries: [\"GET /orgs/{org}/private-registries\"],\n updateOrgPrivateRegistry: [\n \"PATCH /orgs/{org}/private-registries/{secret_name}\"\n ]\n },\n projects: {\n addItemForOrg: [\"POST /orgs/{org}/projectsV2/{project_number}/items\"],\n addItemForUser: [\"POST /users/{user_id}/projectsV2/{project_number}/items\"],\n deleteItemForOrg: [\n \"DELETE /orgs/{org}/projectsV2/{project_number}/items/{item_id}\"\n ],\n deleteItemForUser: [\n \"DELETE /users/{user_id}/projectsV2/{project_number}/items/{item_id}\"\n ],\n getFieldForOrg: [\n \"GET /orgs/{org}/projectsV2/{project_number}/fields/{field_id}\"\n ],\n getFieldForUser: [\n \"GET /users/{user_id}/projectsV2/{project_number}/fields/{field_id}\"\n ],\n getForOrg: [\"GET /orgs/{org}/projectsV2/{project_number}\"],\n getForUser: [\"GET /users/{user_id}/projectsV2/{project_number}\"],\n getOrgItem: [\"GET /orgs/{org}/projectsV2/{project_number}/items/{item_id}\"],\n getUserItem: [\n \"GET /users/{user_id}/projectsV2/{project_number}/items/{item_id}\"\n ],\n listFieldsForOrg: [\"GET /orgs/{org}/projectsV2/{project_number}/fields\"],\n listFieldsForUser: [\n \"GET /users/{user_id}/projectsV2/{project_number}/fields\"\n ],\n listForOrg: [\"GET /orgs/{org}/projectsV2\"],\n listForUser: [\"GET /users/{username}/projectsV2\"],\n listItemsForOrg: [\"GET /orgs/{org}/projectsV2/{project_number}/items\"],\n listItemsForUser: [\n \"GET /users/{user_id}/projectsV2/{project_number}/items\"\n ],\n updateItemForOrg: [\n \"PATCH /orgs/{org}/projectsV2/{project_number}/items/{item_id}\"\n ],\n updateItemForUser: [\n \"PATCH /users/{user_id}/projectsV2/{project_number}/items/{item_id}\"\n ]\n },\n pulls: {\n checkIfMerged: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n create: [\"POST /repos/{owner}/{repo}/pulls\"],\n createReplyForReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies\"\n ],\n createReview: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n createReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments\"\n ],\n deletePendingReview: [\n \"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"\n ],\n deleteReviewComment: [\n \"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}\"\n ],\n dismissReview: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals\"\n ],\n get: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}\"],\n getReview: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"\n ],\n getReviewComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}\"],\n list: [\"GET /repos/{owner}/{repo}/pulls\"],\n listCommentsForReview: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\"\n ],\n listCommits: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\"],\n listFiles: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\"],\n listRequestedReviewers: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"\n ],\n listReviewComments: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\"\n ],\n listReviewCommentsForRepo: [\"GET /repos/{owner}/{repo}/pulls/comments\"],\n listReviews: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n merge: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n removeRequestedReviewers: [\n \"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"\n ],\n requestReviewers: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"\n ],\n submitReview: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events\"\n ],\n update: [\"PATCH /repos/{owner}/{repo}/pulls/{pull_number}\"],\n updateBranch: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch\"\n ],\n updateReview: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"\n ],\n updateReviewComment: [\n \"PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}\"\n ]\n },\n rateLimit: { get: [\"GET /rate_limit\"] },\n reactions: {\n createForCommitComment: [\n \"POST /repos/{owner}/{repo}/comments/{comment_id}/reactions\"\n ],\n createForIssue: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/reactions\"\n ],\n createForIssueComment: [\n \"POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\"\n ],\n createForPullRequestReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\"\n ],\n createForRelease: [\n \"POST /repos/{owner}/{repo}/releases/{release_id}/reactions\"\n ],\n createForTeamDiscussionCommentInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\"\n ],\n createForTeamDiscussionInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\"\n ],\n deleteForCommitComment: [\n \"DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}\"\n ],\n deleteForIssue: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}\"\n ],\n deleteForIssueComment: [\n \"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}\"\n ],\n deleteForPullRequestComment: [\n \"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}\"\n ],\n deleteForRelease: [\n \"DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}\"\n ],\n deleteForTeamDiscussion: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}\"\n ],\n deleteForTeamDiscussionComment: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}\"\n ],\n listForCommitComment: [\n \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\"\n ],\n listForIssue: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\"],\n listForIssueComment: [\n \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\"\n ],\n listForPullRequestReviewComment: [\n \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\"\n ],\n listForRelease: [\n \"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\"\n ],\n listForTeamDiscussionCommentInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\"\n ],\n listForTeamDiscussionInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\"\n ]\n },\n repos: {\n acceptInvitation: [\n \"PATCH /user/repository_invitations/{invitation_id}\",\n {},\n { renamed: [\"repos\", \"acceptInvitationForAuthenticatedUser\"] }\n ],\n acceptInvitationForAuthenticatedUser: [\n \"PATCH /user/repository_invitations/{invitation_id}\"\n ],\n addAppAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" }\n ],\n addCollaborator: [\"PUT /repos/{owner}/{repo}/collaborators/{username}\"],\n addStatusCheckContexts: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" }\n ],\n addTeamAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" }\n ],\n addUserAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" }\n ],\n cancelPagesDeployment: [\n \"POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel\"\n ],\n checkAutomatedSecurityFixes: [\n \"GET /repos/{owner}/{repo}/automated-security-fixes\"\n ],\n checkCollaborator: [\"GET /repos/{owner}/{repo}/collaborators/{username}\"],\n checkPrivateVulnerabilityReporting: [\n \"GET /repos/{owner}/{repo}/private-vulnerability-reporting\"\n ],\n checkVulnerabilityAlerts: [\n \"GET /repos/{owner}/{repo}/vulnerability-alerts\"\n ],\n codeownersErrors: [\"GET /repos/{owner}/{repo}/codeowners/errors\"],\n compareCommits: [\"GET /repos/{owner}/{repo}/compare/{base}...{head}\"],\n compareCommitsWithBasehead: [\n \"GET /repos/{owner}/{repo}/compare/{basehead}\"\n ],\n createAttestation: [\"POST /repos/{owner}/{repo}/attestations\"],\n createAutolink: [\"POST /repos/{owner}/{repo}/autolinks\"],\n createCommitComment: [\n \"POST /repos/{owner}/{repo}/commits/{commit_sha}/comments\"\n ],\n createCommitSignatureProtection: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"\n ],\n createCommitStatus: [\"POST /repos/{owner}/{repo}/statuses/{sha}\"],\n createDeployKey: [\"POST /repos/{owner}/{repo}/keys\"],\n createDeployment: [\"POST /repos/{owner}/{repo}/deployments\"],\n createDeploymentBranchPolicy: [\n \"POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies\"\n ],\n createDeploymentProtectionRule: [\n \"POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules\"\n ],\n createDeploymentStatus: [\n \"POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\"\n ],\n createDispatchEvent: [\"POST /repos/{owner}/{repo}/dispatches\"],\n createForAuthenticatedUser: [\"POST /user/repos\"],\n createFork: [\"POST /repos/{owner}/{repo}/forks\"],\n createInOrg: [\"POST /orgs/{org}/repos\"],\n createOrUpdateCustomPropertiesValues: [\n \"PATCH /repos/{owner}/{repo}/properties/values\"\n ],\n createOrUpdateEnvironment: [\n \"PUT /repos/{owner}/{repo}/environments/{environment_name}\"\n ],\n createOrUpdateFileContents: [\"PUT /repos/{owner}/{repo}/contents/{path}\"],\n createOrgRuleset: [\"POST /orgs/{org}/rulesets\"],\n createPagesDeployment: [\"POST /repos/{owner}/{repo}/pages/deployments\"],\n createPagesSite: [\"POST /repos/{owner}/{repo}/pages\"],\n createRelease: [\"POST /repos/{owner}/{repo}/releases\"],\n createRepoRuleset: [\"POST /repos/{owner}/{repo}/rulesets\"],\n createUsingTemplate: [\n \"POST /repos/{template_owner}/{template_repo}/generate\"\n ],\n createWebhook: [\"POST /repos/{owner}/{repo}/hooks\"],\n declineInvitation: [\n \"DELETE /user/repository_invitations/{invitation_id}\",\n {},\n { renamed: [\"repos\", \"declineInvitationForAuthenticatedUser\"] }\n ],\n declineInvitationForAuthenticatedUser: [\n \"DELETE /user/repository_invitations/{invitation_id}\"\n ],\n delete: [\"DELETE /repos/{owner}/{repo}\"],\n deleteAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\"\n ],\n deleteAdminBranchProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"\n ],\n deleteAnEnvironment: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}\"\n ],\n deleteAutolink: [\"DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\n deleteBranchProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection\"\n ],\n deleteCommitComment: [\"DELETE /repos/{owner}/{repo}/comments/{comment_id}\"],\n deleteCommitSignatureProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"\n ],\n deleteDeployKey: [\"DELETE /repos/{owner}/{repo}/keys/{key_id}\"],\n deleteDeployment: [\n \"DELETE /repos/{owner}/{repo}/deployments/{deployment_id}\"\n ],\n deleteDeploymentBranchPolicy: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}\"\n ],\n deleteFile: [\"DELETE /repos/{owner}/{repo}/contents/{path}\"],\n deleteInvitation: [\n \"DELETE /repos/{owner}/{repo}/invitations/{invitation_id}\"\n ],\n deleteOrgRuleset: [\"DELETE /orgs/{org}/rulesets/{ruleset_id}\"],\n deletePagesSite: [\"DELETE /repos/{owner}/{repo}/pages\"],\n deletePullRequestReviewProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"\n ],\n deleteRelease: [\"DELETE /repos/{owner}/{repo}/releases/{release_id}\"],\n deleteReleaseAsset: [\n \"DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}\"\n ],\n deleteRepoRuleset: [\"DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}\"],\n deleteWebhook: [\"DELETE /repos/{owner}/{repo}/hooks/{hook_id}\"],\n disableAutomatedSecurityFixes: [\n \"DELETE /repos/{owner}/{repo}/automated-security-fixes\"\n ],\n disableDeploymentProtectionRule: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}\"\n ],\n disablePrivateVulnerabilityReporting: [\n \"DELETE /repos/{owner}/{repo}/private-vulnerability-reporting\"\n ],\n disableVulnerabilityAlerts: [\n \"DELETE /repos/{owner}/{repo}/vulnerability-alerts\"\n ],\n downloadArchive: [\n \"GET /repos/{owner}/{repo}/zipball/{ref}\",\n {},\n { renamed: [\"repos\", \"downloadZipballArchive\"] }\n ],\n downloadTarballArchive: [\"GET /repos/{owner}/{repo}/tarball/{ref}\"],\n downloadZipballArchive: [\"GET /repos/{owner}/{repo}/zipball/{ref}\"],\n enableAutomatedSecurityFixes: [\n \"PUT /repos/{owner}/{repo}/automated-security-fixes\"\n ],\n enablePrivateVulnerabilityReporting: [\n \"PUT /repos/{owner}/{repo}/private-vulnerability-reporting\"\n ],\n enableVulnerabilityAlerts: [\n \"PUT /repos/{owner}/{repo}/vulnerability-alerts\"\n ],\n generateReleaseNotes: [\n \"POST /repos/{owner}/{repo}/releases/generate-notes\"\n ],\n get: [\"GET /repos/{owner}/{repo}\"],\n getAccessRestrictions: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\"\n ],\n getAdminBranchProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"\n ],\n getAllDeploymentProtectionRules: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules\"\n ],\n getAllEnvironments: [\"GET /repos/{owner}/{repo}/environments\"],\n getAllStatusCheckContexts: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\"\n ],\n getAllTopics: [\"GET /repos/{owner}/{repo}/topics\"],\n getAppsWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\"\n ],\n getAutolink: [\"GET /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\n getBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}\"],\n getBranchProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection\"\n ],\n getBranchRules: [\"GET /repos/{owner}/{repo}/rules/branches/{branch}\"],\n getClones: [\"GET /repos/{owner}/{repo}/traffic/clones\"],\n getCodeFrequencyStats: [\"GET /repos/{owner}/{repo}/stats/code_frequency\"],\n getCollaboratorPermissionLevel: [\n \"GET /repos/{owner}/{repo}/collaborators/{username}/permission\"\n ],\n getCombinedStatusForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/status\"],\n getCommit: [\"GET /repos/{owner}/{repo}/commits/{ref}\"],\n getCommitActivityStats: [\"GET /repos/{owner}/{repo}/stats/commit_activity\"],\n getCommitComment: [\"GET /repos/{owner}/{repo}/comments/{comment_id}\"],\n getCommitSignatureProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"\n ],\n getCommunityProfileMetrics: [\"GET /repos/{owner}/{repo}/community/profile\"],\n getContent: [\"GET /repos/{owner}/{repo}/contents/{path}\"],\n getContributorsStats: [\"GET /repos/{owner}/{repo}/stats/contributors\"],\n getCustomDeploymentProtectionRule: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}\"\n ],\n getCustomPropertiesValues: [\"GET /repos/{owner}/{repo}/properties/values\"],\n getDeployKey: [\"GET /repos/{owner}/{repo}/keys/{key_id}\"],\n getDeployment: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}\"],\n getDeploymentBranchPolicy: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}\"\n ],\n getDeploymentStatus: [\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}\"\n ],\n getEnvironment: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}\"\n ],\n getLatestPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/latest\"],\n getLatestRelease: [\"GET /repos/{owner}/{repo}/releases/latest\"],\n getOrgRuleSuite: [\"GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}\"],\n getOrgRuleSuites: [\"GET /orgs/{org}/rulesets/rule-suites\"],\n getOrgRuleset: [\"GET /orgs/{org}/rulesets/{ruleset_id}\"],\n getOrgRulesets: [\"GET /orgs/{org}/rulesets\"],\n getPages: [\"GET /repos/{owner}/{repo}/pages\"],\n getPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/{build_id}\"],\n getPagesDeployment: [\n \"GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}\"\n ],\n getPagesHealthCheck: [\"GET /repos/{owner}/{repo}/pages/health\"],\n getParticipationStats: [\"GET /repos/{owner}/{repo}/stats/participation\"],\n getPullRequestReviewProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"\n ],\n getPunchCardStats: [\"GET /repos/{owner}/{repo}/stats/punch_card\"],\n getReadme: [\"GET /repos/{owner}/{repo}/readme\"],\n getReadmeInDirectory: [\"GET /repos/{owner}/{repo}/readme/{dir}\"],\n getRelease: [\"GET /repos/{owner}/{repo}/releases/{release_id}\"],\n getReleaseAsset: [\"GET /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n getReleaseByTag: [\"GET /repos/{owner}/{repo}/releases/tags/{tag}\"],\n getRepoRuleSuite: [\n \"GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}\"\n ],\n getRepoRuleSuites: [\"GET /repos/{owner}/{repo}/rulesets/rule-suites\"],\n getRepoRuleset: [\"GET /repos/{owner}/{repo}/rulesets/{ruleset_id}\"],\n getRepoRulesetHistory: [\n \"GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history\"\n ],\n getRepoRulesetVersion: [\n \"GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history/{version_id}\"\n ],\n getRepoRulesets: [\"GET /repos/{owner}/{repo}/rulesets\"],\n getStatusChecksProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"\n ],\n getTeamsWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\"\n ],\n getTopPaths: [\"GET /repos/{owner}/{repo}/traffic/popular/paths\"],\n getTopReferrers: [\"GET /repos/{owner}/{repo}/traffic/popular/referrers\"],\n getUsersWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\"\n ],\n getViews: [\"GET /repos/{owner}/{repo}/traffic/views\"],\n getWebhook: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}\"],\n getWebhookConfigForRepo: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/config\"\n ],\n getWebhookDelivery: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}\"\n ],\n listActivities: [\"GET /repos/{owner}/{repo}/activity\"],\n listAttestations: [\n \"GET /repos/{owner}/{repo}/attestations/{subject_digest}\"\n ],\n listAutolinks: [\"GET /repos/{owner}/{repo}/autolinks\"],\n listBranches: [\"GET /repos/{owner}/{repo}/branches\"],\n listBranchesForHeadCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head\"\n ],\n listCollaborators: [\"GET /repos/{owner}/{repo}/collaborators\"],\n listCommentsForCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\"\n ],\n listCommitCommentsForRepo: [\"GET /repos/{owner}/{repo}/comments\"],\n listCommitStatusesForRef: [\n \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\"\n ],\n listCommits: [\"GET /repos/{owner}/{repo}/commits\"],\n listContributors: [\"GET /repos/{owner}/{repo}/contributors\"],\n listCustomDeploymentRuleIntegrations: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps\"\n ],\n listDeployKeys: [\"GET /repos/{owner}/{repo}/keys\"],\n listDeploymentBranchPolicies: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies\"\n ],\n listDeploymentStatuses: [\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\"\n ],\n listDeployments: [\"GET /repos/{owner}/{repo}/deployments\"],\n listForAuthenticatedUser: [\"GET /user/repos\"],\n listForOrg: [\"GET /orgs/{org}/repos\"],\n listForUser: [\"GET /users/{username}/repos\"],\n listForks: [\"GET /repos/{owner}/{repo}/forks\"],\n listInvitations: [\"GET /repos/{owner}/{repo}/invitations\"],\n listInvitationsForAuthenticatedUser: [\"GET /user/repository_invitations\"],\n listLanguages: [\"GET /repos/{owner}/{repo}/languages\"],\n listPagesBuilds: [\"GET /repos/{owner}/{repo}/pages/builds\"],\n listPublic: [\"GET /repositories\"],\n listPullRequestsAssociatedWithCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\"\n ],\n listReleaseAssets: [\n \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\"\n ],\n listReleases: [\"GET /repos/{owner}/{repo}/releases\"],\n listTags: [\"GET /repos/{owner}/{repo}/tags\"],\n listTeams: [\"GET /repos/{owner}/{repo}/teams\"],\n listWebhookDeliveries: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\"\n ],\n listWebhooks: [\"GET /repos/{owner}/{repo}/hooks\"],\n merge: [\"POST /repos/{owner}/{repo}/merges\"],\n mergeUpstream: [\"POST /repos/{owner}/{repo}/merge-upstream\"],\n pingWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/pings\"],\n redeliverWebhookDelivery: [\n \"POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\"\n ],\n removeAppAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" }\n ],\n removeCollaborator: [\n \"DELETE /repos/{owner}/{repo}/collaborators/{username}\"\n ],\n removeStatusCheckContexts: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" }\n ],\n removeStatusCheckProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"\n ],\n removeTeamAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" }\n ],\n removeUserAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" }\n ],\n renameBranch: [\"POST /repos/{owner}/{repo}/branches/{branch}/rename\"],\n replaceAllTopics: [\"PUT /repos/{owner}/{repo}/topics\"],\n requestPagesBuild: [\"POST /repos/{owner}/{repo}/pages/builds\"],\n setAdminBranchProtection: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"\n ],\n setAppAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" }\n ],\n setStatusCheckContexts: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" }\n ],\n setTeamAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" }\n ],\n setUserAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" }\n ],\n testPushWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/tests\"],\n transfer: [\"POST /repos/{owner}/{repo}/transfer\"],\n update: [\"PATCH /repos/{owner}/{repo}\"],\n updateBranchProtection: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection\"\n ],\n updateCommitComment: [\"PATCH /repos/{owner}/{repo}/comments/{comment_id}\"],\n updateDeploymentBranchPolicy: [\n \"PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}\"\n ],\n updateInformationAboutPagesSite: [\"PUT /repos/{owner}/{repo}/pages\"],\n updateInvitation: [\n \"PATCH /repos/{owner}/{repo}/invitations/{invitation_id}\"\n ],\n updateOrgRuleset: [\"PUT /orgs/{org}/rulesets/{ruleset_id}\"],\n updatePullRequestReviewProtection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"\n ],\n updateRelease: [\"PATCH /repos/{owner}/{repo}/releases/{release_id}\"],\n updateReleaseAsset: [\n \"PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}\"\n ],\n updateRepoRuleset: [\"PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}\"],\n updateStatusCheckPotection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n {},\n { renamed: [\"repos\", \"updateStatusCheckProtection\"] }\n ],\n updateStatusCheckProtection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"\n ],\n updateWebhook: [\"PATCH /repos/{owner}/{repo}/hooks/{hook_id}\"],\n updateWebhookConfigForRepo: [\n \"PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config\"\n ],\n uploadReleaseAsset: [\n \"POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}\",\n { baseUrl: \"https://uploads.github.com\" }\n ]\n },\n search: {\n code: [\"GET /search/code\"],\n commits: [\"GET /search/commits\"],\n issuesAndPullRequests: [\n \"GET /search/issues\",\n {},\n {\n deprecated: \"octokit.rest.search.issuesAndPullRequests() is deprecated, see https://docs.github.com/rest/search/search#search-issues-and-pull-requests\"\n }\n ],\n labels: [\"GET /search/labels\"],\n repos: [\"GET /search/repositories\"],\n topics: [\"GET /search/topics\"],\n users: [\"GET /search/users\"]\n },\n secretScanning: {\n createPushProtectionBypass: [\n \"POST /repos/{owner}/{repo}/secret-scanning/push-protection-bypasses\"\n ],\n getAlert: [\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\"\n ],\n getScanHistory: [\"GET /repos/{owner}/{repo}/secret-scanning/scan-history\"],\n listAlertsForEnterprise: [\n \"GET /enterprises/{enterprise}/secret-scanning/alerts\"\n ],\n listAlertsForOrg: [\"GET /orgs/{org}/secret-scanning/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts\"],\n listLocationsForAlert: [\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\"\n ],\n listOrgPatternConfigs: [\n \"GET /orgs/{org}/secret-scanning/pattern-configurations\"\n ],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\"\n ],\n updateOrgPatternConfigs: [\n \"PATCH /orgs/{org}/secret-scanning/pattern-configurations\"\n ]\n },\n securityAdvisories: {\n createFork: [\n \"POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks\"\n ],\n createPrivateVulnerabilityReport: [\n \"POST /repos/{owner}/{repo}/security-advisories/reports\"\n ],\n createRepositoryAdvisory: [\n \"POST /repos/{owner}/{repo}/security-advisories\"\n ],\n createRepositoryAdvisoryCveRequest: [\n \"POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve\"\n ],\n getGlobalAdvisory: [\"GET /advisories/{ghsa_id}\"],\n getRepositoryAdvisory: [\n \"GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}\"\n ],\n listGlobalAdvisories: [\"GET /advisories\"],\n listOrgRepositoryAdvisories: [\"GET /orgs/{org}/security-advisories\"],\n listRepositoryAdvisories: [\"GET /repos/{owner}/{repo}/security-advisories\"],\n updateRepositoryAdvisory: [\n \"PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}\"\n ]\n },\n teams: {\n addOrUpdateMembershipForUserInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/memberships/{username}\"\n ],\n addOrUpdateRepoPermissionsInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"\n ],\n checkPermissionsForRepoInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"\n ],\n create: [\"POST /orgs/{org}/teams\"],\n createDiscussionCommentInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\"\n ],\n createDiscussionInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions\"],\n deleteDiscussionCommentInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"\n ],\n deleteDiscussionInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"\n ],\n deleteInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}\"],\n getByName: [\"GET /orgs/{org}/teams/{team_slug}\"],\n getDiscussionCommentInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"\n ],\n getDiscussionInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"\n ],\n getMembershipForUserInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/memberships/{username}\"\n ],\n list: [\"GET /orgs/{org}/teams\"],\n listChildInOrg: [\"GET /orgs/{org}/teams/{team_slug}/teams\"],\n listDiscussionCommentsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\"\n ],\n listDiscussionsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions\"],\n listForAuthenticatedUser: [\"GET /user/teams\"],\n listMembersInOrg: [\"GET /orgs/{org}/teams/{team_slug}/members\"],\n listPendingInvitationsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/invitations\"\n ],\n listReposInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos\"],\n removeMembershipForUserInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}\"\n ],\n removeRepoInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"\n ],\n updateDiscussionCommentInOrg: [\n \"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"\n ],\n updateDiscussionInOrg: [\n \"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"\n ],\n updateInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}\"]\n },\n users: {\n addEmailForAuthenticated: [\n \"POST /user/emails\",\n {},\n { renamed: [\"users\", \"addEmailForAuthenticatedUser\"] }\n ],\n addEmailForAuthenticatedUser: [\"POST /user/emails\"],\n addSocialAccountForAuthenticatedUser: [\"POST /user/social_accounts\"],\n block: [\"PUT /user/blocks/{username}\"],\n checkBlocked: [\"GET /user/blocks/{username}\"],\n checkFollowingForUser: [\"GET /users/{username}/following/{target_user}\"],\n checkPersonIsFollowedByAuthenticated: [\"GET /user/following/{username}\"],\n createGpgKeyForAuthenticated: [\n \"POST /user/gpg_keys\",\n {},\n { renamed: [\"users\", \"createGpgKeyForAuthenticatedUser\"] }\n ],\n createGpgKeyForAuthenticatedUser: [\"POST /user/gpg_keys\"],\n createPublicSshKeyForAuthenticated: [\n \"POST /user/keys\",\n {},\n { renamed: [\"users\", \"createPublicSshKeyForAuthenticatedUser\"] }\n ],\n createPublicSshKeyForAuthenticatedUser: [\"POST /user/keys\"],\n createSshSigningKeyForAuthenticatedUser: [\"POST /user/ssh_signing_keys\"],\n deleteAttestationsBulk: [\n \"POST /users/{username}/attestations/delete-request\"\n ],\n deleteAttestationsById: [\n \"DELETE /users/{username}/attestations/{attestation_id}\"\n ],\n deleteAttestationsBySubjectDigest: [\n \"DELETE /users/{username}/attestations/digest/{subject_digest}\"\n ],\n deleteEmailForAuthenticated: [\n \"DELETE /user/emails\",\n {},\n { renamed: [\"users\", \"deleteEmailForAuthenticatedUser\"] }\n ],\n deleteEmailForAuthenticatedUser: [\"DELETE /user/emails\"],\n deleteGpgKeyForAuthenticated: [\n \"DELETE /user/gpg_keys/{gpg_key_id}\",\n {},\n { renamed: [\"users\", \"deleteGpgKeyForAuthenticatedUser\"] }\n ],\n deleteGpgKeyForAuthenticatedUser: [\"DELETE /user/gpg_keys/{gpg_key_id}\"],\n deletePublicSshKeyForAuthenticated: [\n \"DELETE /user/keys/{key_id}\",\n {},\n { renamed: [\"users\", \"deletePublicSshKeyForAuthenticatedUser\"] }\n ],\n deletePublicSshKeyForAuthenticatedUser: [\"DELETE /user/keys/{key_id}\"],\n deleteSocialAccountForAuthenticatedUser: [\"DELETE /user/social_accounts\"],\n deleteSshSigningKeyForAuthenticatedUser: [\n \"DELETE /user/ssh_signing_keys/{ssh_signing_key_id}\"\n ],\n follow: [\"PUT /user/following/{username}\"],\n getAuthenticated: [\"GET /user\"],\n getById: [\"GET /user/{account_id}\"],\n getByUsername: [\"GET /users/{username}\"],\n getContextForUser: [\"GET /users/{username}/hovercard\"],\n getGpgKeyForAuthenticated: [\n \"GET /user/gpg_keys/{gpg_key_id}\",\n {},\n { renamed: [\"users\", \"getGpgKeyForAuthenticatedUser\"] }\n ],\n getGpgKeyForAuthenticatedUser: [\"GET /user/gpg_keys/{gpg_key_id}\"],\n getPublicSshKeyForAuthenticated: [\n \"GET /user/keys/{key_id}\",\n {},\n { renamed: [\"users\", \"getPublicSshKeyForAuthenticatedUser\"] }\n ],\n getPublicSshKeyForAuthenticatedUser: [\"GET /user/keys/{key_id}\"],\n getSshSigningKeyForAuthenticatedUser: [\n \"GET /user/ssh_signing_keys/{ssh_signing_key_id}\"\n ],\n list: [\"GET /users\"],\n listAttestations: [\"GET /users/{username}/attestations/{subject_digest}\"],\n listAttestationsBulk: [\n \"POST /users/{username}/attestations/bulk-list{?per_page,before,after}\"\n ],\n listBlockedByAuthenticated: [\n \"GET /user/blocks\",\n {},\n { renamed: [\"users\", \"listBlockedByAuthenticatedUser\"] }\n ],\n listBlockedByAuthenticatedUser: [\"GET /user/blocks\"],\n listEmailsForAuthenticated: [\n \"GET /user/emails\",\n {},\n { renamed: [\"users\", \"listEmailsForAuthenticatedUser\"] }\n ],\n listEmailsForAuthenticatedUser: [\"GET /user/emails\"],\n listFollowedByAuthenticated: [\n \"GET /user/following\",\n {},\n { renamed: [\"users\", \"listFollowedByAuthenticatedUser\"] }\n ],\n listFollowedByAuthenticatedUser: [\"GET /user/following\"],\n listFollowersForAuthenticatedUser: [\"GET /user/followers\"],\n listFollowersForUser: [\"GET /users/{username}/followers\"],\n listFollowingForUser: [\"GET /users/{username}/following\"],\n listGpgKeysForAuthenticated: [\n \"GET /user/gpg_keys\",\n {},\n { renamed: [\"users\", \"listGpgKeysForAuthenticatedUser\"] }\n ],\n listGpgKeysForAuthenticatedUser: [\"GET /user/gpg_keys\"],\n listGpgKeysForUser: [\"GET /users/{username}/gpg_keys\"],\n listPublicEmailsForAuthenticated: [\n \"GET /user/public_emails\",\n {},\n { renamed: [\"users\", \"listPublicEmailsForAuthenticatedUser\"] }\n ],\n listPublicEmailsForAuthenticatedUser: [\"GET /user/public_emails\"],\n listPublicKeysForUser: [\"GET /users/{username}/keys\"],\n listPublicSshKeysForAuthenticated: [\n \"GET /user/keys\",\n {},\n { renamed: [\"users\", \"listPublicSshKeysForAuthenticatedUser\"] }\n ],\n listPublicSshKeysForAuthenticatedUser: [\"GET /user/keys\"],\n listSocialAccountsForAuthenticatedUser: [\"GET /user/social_accounts\"],\n listSocialAccountsForUser: [\"GET /users/{username}/social_accounts\"],\n listSshSigningKeysForAuthenticatedUser: [\"GET /user/ssh_signing_keys\"],\n listSshSigningKeysForUser: [\"GET /users/{username}/ssh_signing_keys\"],\n setPrimaryEmailVisibilityForAuthenticated: [\n \"PATCH /user/email/visibility\",\n {},\n { renamed: [\"users\", \"setPrimaryEmailVisibilityForAuthenticatedUser\"] }\n ],\n setPrimaryEmailVisibilityForAuthenticatedUser: [\n \"PATCH /user/email/visibility\"\n ],\n unblock: [\"DELETE /user/blocks/{username}\"],\n unfollow: [\"DELETE /user/following/{username}\"],\n updateAuthenticated: [\"PATCH /user\"]\n }\n};\nvar endpoints_default = Endpoints;\nexport {\n endpoints_default as default\n};\n//# sourceMappingURL=endpoints.js.map\n","import ENDPOINTS from \"./generated/endpoints.js\";\nconst endpointMethodsMap = /* @__PURE__ */ new Map();\nfor (const [scope, endpoints] of Object.entries(ENDPOINTS)) {\n for (const [methodName, endpoint] of Object.entries(endpoints)) {\n const [route, defaults, decorations] = endpoint;\n const [method, url] = route.split(/ /);\n const endpointDefaults = Object.assign(\n {\n method,\n url\n },\n defaults\n );\n if (!endpointMethodsMap.has(scope)) {\n endpointMethodsMap.set(scope, /* @__PURE__ */ new Map());\n }\n endpointMethodsMap.get(scope).set(methodName, {\n scope,\n methodName,\n endpointDefaults,\n decorations\n });\n }\n}\nconst handler = {\n has({ scope }, methodName) {\n return endpointMethodsMap.get(scope).has(methodName);\n },\n getOwnPropertyDescriptor(target, methodName) {\n return {\n value: this.get(target, methodName),\n // ensures method is in the cache\n configurable: true,\n writable: true,\n enumerable: true\n };\n },\n defineProperty(target, methodName, descriptor) {\n Object.defineProperty(target.cache, methodName, descriptor);\n return true;\n },\n deleteProperty(target, methodName) {\n delete target.cache[methodName];\n return true;\n },\n ownKeys({ scope }) {\n return [...endpointMethodsMap.get(scope).keys()];\n },\n set(target, methodName, value) {\n return target.cache[methodName] = value;\n },\n get({ octokit, scope, cache }, methodName) {\n if (cache[methodName]) {\n return cache[methodName];\n }\n const method = endpointMethodsMap.get(scope).get(methodName);\n if (!method) {\n return void 0;\n }\n const { endpointDefaults, decorations } = method;\n if (decorations) {\n cache[methodName] = decorate(\n octokit,\n scope,\n methodName,\n endpointDefaults,\n decorations\n );\n } else {\n cache[methodName] = octokit.request.defaults(endpointDefaults);\n }\n return cache[methodName];\n }\n};\nfunction endpointsToMethods(octokit) {\n const newMethods = {};\n for (const scope of endpointMethodsMap.keys()) {\n newMethods[scope] = new Proxy({ octokit, scope, cache: {} }, handler);\n }\n return newMethods;\n}\nfunction decorate(octokit, scope, methodName, defaults, decorations) {\n const requestWithDefaults = octokit.request.defaults(defaults);\n function withDecorations(...args) {\n let options = requestWithDefaults.endpoint.merge(...args);\n if (decorations.mapToData) {\n options = Object.assign({}, options, {\n data: options[decorations.mapToData],\n [decorations.mapToData]: void 0\n });\n return requestWithDefaults(options);\n }\n if (decorations.renamed) {\n const [newScope, newMethodName] = decorations.renamed;\n octokit.log.warn(\n `octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`\n );\n }\n if (decorations.deprecated) {\n octokit.log.warn(decorations.deprecated);\n }\n if (decorations.renamedParameters) {\n const options2 = requestWithDefaults.endpoint.merge(...args);\n for (const [name, alias] of Object.entries(\n decorations.renamedParameters\n )) {\n if (name in options2) {\n octokit.log.warn(\n `\"${name}\" parameter is deprecated for \"octokit.${scope}.${methodName}()\". Use \"${alias}\" instead`\n );\n if (!(alias in options2)) {\n options2[alias] = options2[name];\n }\n delete options2[name];\n }\n }\n return requestWithDefaults(options2);\n }\n return requestWithDefaults(...args);\n }\n return Object.assign(withDecorations, requestWithDefaults);\n}\nexport {\n endpointsToMethods\n};\n//# sourceMappingURL=endpoints-to-methods.js.map\n","import { VERSION } from \"./version.js\";\nimport { endpointsToMethods } from \"./endpoints-to-methods.js\";\nfunction restEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit);\n return {\n rest: api\n };\n}\nrestEndpointMethods.VERSION = VERSION;\nfunction legacyRestEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit);\n return {\n ...api,\n rest: api\n };\n}\nlegacyRestEndpointMethods.VERSION = VERSION;\nexport {\n legacyRestEndpointMethods,\n restEndpointMethods\n};\n//# sourceMappingURL=index.js.map\n","/**\n * This file contains the Bottleneck library (MIT), compiled to ES2017, and without Clustering support.\n * https://github.com/SGrondin/bottleneck\n */\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.Bottleneck = factory());\n}(this, (function () { 'use strict';\n\n\tvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\n\tfunction getCjsExportFromNamespace (n) {\n\t\treturn n && n['default'] || n;\n\t}\n\n\tvar load = function(received, defaults, onto = {}) {\n\t var k, ref, v;\n\t for (k in defaults) {\n\t v = defaults[k];\n\t onto[k] = (ref = received[k]) != null ? ref : v;\n\t }\n\t return onto;\n\t};\n\n\tvar overwrite = function(received, defaults, onto = {}) {\n\t var k, v;\n\t for (k in received) {\n\t v = received[k];\n\t if (defaults[k] !== void 0) {\n\t onto[k] = v;\n\t }\n\t }\n\t return onto;\n\t};\n\n\tvar parser = {\n\t\tload: load,\n\t\toverwrite: overwrite\n\t};\n\n\tvar DLList;\n\n\tDLList = class DLList {\n\t constructor(incr, decr) {\n\t this.incr = incr;\n\t this.decr = decr;\n\t this._first = null;\n\t this._last = null;\n\t this.length = 0;\n\t }\n\n\t push(value) {\n\t var node;\n\t this.length++;\n\t if (typeof this.incr === \"function\") {\n\t this.incr();\n\t }\n\t node = {\n\t value,\n\t prev: this._last,\n\t next: null\n\t };\n\t if (this._last != null) {\n\t this._last.next = node;\n\t this._last = node;\n\t } else {\n\t this._first = this._last = node;\n\t }\n\t return void 0;\n\t }\n\n\t shift() {\n\t var value;\n\t if (this._first == null) {\n\t return;\n\t } else {\n\t this.length--;\n\t if (typeof this.decr === \"function\") {\n\t this.decr();\n\t }\n\t }\n\t value = this._first.value;\n\t if ((this._first = this._first.next) != null) {\n\t this._first.prev = null;\n\t } else {\n\t this._last = null;\n\t }\n\t return value;\n\t }\n\n\t first() {\n\t if (this._first != null) {\n\t return this._first.value;\n\t }\n\t }\n\n\t getArray() {\n\t var node, ref, results;\n\t node = this._first;\n\t results = [];\n\t while (node != null) {\n\t results.push((ref = node, node = node.next, ref.value));\n\t }\n\t return results;\n\t }\n\n\t forEachShift(cb) {\n\t var node;\n\t node = this.shift();\n\t while (node != null) {\n\t (cb(node), node = this.shift());\n\t }\n\t return void 0;\n\t }\n\n\t debug() {\n\t var node, ref, ref1, ref2, results;\n\t node = this._first;\n\t results = [];\n\t while (node != null) {\n\t results.push((ref = node, node = node.next, {\n\t value: ref.value,\n\t prev: (ref1 = ref.prev) != null ? ref1.value : void 0,\n\t next: (ref2 = ref.next) != null ? ref2.value : void 0\n\t }));\n\t }\n\t return results;\n\t }\n\n\t};\n\n\tvar DLList_1 = DLList;\n\n\tvar Events;\n\n\tEvents = class Events {\n\t constructor(instance) {\n\t this.instance = instance;\n\t this._events = {};\n\t if ((this.instance.on != null) || (this.instance.once != null) || (this.instance.removeAllListeners != null)) {\n\t throw new Error(\"An Emitter already exists for this object\");\n\t }\n\t this.instance.on = (name, cb) => {\n\t return this._addListener(name, \"many\", cb);\n\t };\n\t this.instance.once = (name, cb) => {\n\t return this._addListener(name, \"once\", cb);\n\t };\n\t this.instance.removeAllListeners = (name = null) => {\n\t if (name != null) {\n\t return delete this._events[name];\n\t } else {\n\t return this._events = {};\n\t }\n\t };\n\t }\n\n\t _addListener(name, status, cb) {\n\t var base;\n\t if ((base = this._events)[name] == null) {\n\t base[name] = [];\n\t }\n\t this._events[name].push({cb, status});\n\t return this.instance;\n\t }\n\n\t listenerCount(name) {\n\t if (this._events[name] != null) {\n\t return this._events[name].length;\n\t } else {\n\t return 0;\n\t }\n\t }\n\n\t async trigger(name, ...args) {\n\t var e, promises;\n\t try {\n\t if (name !== \"debug\") {\n\t this.trigger(\"debug\", `Event triggered: ${name}`, args);\n\t }\n\t if (this._events[name] == null) {\n\t return;\n\t }\n\t this._events[name] = this._events[name].filter(function(listener) {\n\t return listener.status !== \"none\";\n\t });\n\t promises = this._events[name].map(async(listener) => {\n\t var e, returned;\n\t if (listener.status === \"none\") {\n\t return;\n\t }\n\t if (listener.status === \"once\") {\n\t listener.status = \"none\";\n\t }\n\t try {\n\t returned = typeof listener.cb === \"function\" ? listener.cb(...args) : void 0;\n\t if (typeof (returned != null ? returned.then : void 0) === \"function\") {\n\t return (await returned);\n\t } else {\n\t return returned;\n\t }\n\t } catch (error) {\n\t e = error;\n\t {\n\t this.trigger(\"error\", e);\n\t }\n\t return null;\n\t }\n\t });\n\t return ((await Promise.all(promises))).find(function(x) {\n\t return x != null;\n\t });\n\t } catch (error) {\n\t e = error;\n\t {\n\t this.trigger(\"error\", e);\n\t }\n\t return null;\n\t }\n\t }\n\n\t};\n\n\tvar Events_1 = Events;\n\n\tvar DLList$1, Events$1, Queues;\n\n\tDLList$1 = DLList_1;\n\n\tEvents$1 = Events_1;\n\n\tQueues = class Queues {\n\t constructor(num_priorities) {\n\t var i;\n\t this.Events = new Events$1(this);\n\t this._length = 0;\n\t this._lists = (function() {\n\t var j, ref, results;\n\t results = [];\n\t for (i = j = 1, ref = num_priorities; (1 <= ref ? j <= ref : j >= ref); i = 1 <= ref ? ++j : --j) {\n\t results.push(new DLList$1((() => {\n\t return this.incr();\n\t }), (() => {\n\t return this.decr();\n\t })));\n\t }\n\t return results;\n\t }).call(this);\n\t }\n\n\t incr() {\n\t if (this._length++ === 0) {\n\t return this.Events.trigger(\"leftzero\");\n\t }\n\t }\n\n\t decr() {\n\t if (--this._length === 0) {\n\t return this.Events.trigger(\"zero\");\n\t }\n\t }\n\n\t push(job) {\n\t return this._lists[job.options.priority].push(job);\n\t }\n\n\t queued(priority) {\n\t if (priority != null) {\n\t return this._lists[priority].length;\n\t } else {\n\t return this._length;\n\t }\n\t }\n\n\t shiftAll(fn) {\n\t return this._lists.forEach(function(list) {\n\t return list.forEachShift(fn);\n\t });\n\t }\n\n\t getFirst(arr = this._lists) {\n\t var j, len, list;\n\t for (j = 0, len = arr.length; j < len; j++) {\n\t list = arr[j];\n\t if (list.length > 0) {\n\t return list;\n\t }\n\t }\n\t return [];\n\t }\n\n\t shiftLastFrom(priority) {\n\t return this.getFirst(this._lists.slice(priority).reverse()).shift();\n\t }\n\n\t};\n\n\tvar Queues_1 = Queues;\n\n\tvar BottleneckError;\n\n\tBottleneckError = class BottleneckError extends Error {};\n\n\tvar BottleneckError_1 = BottleneckError;\n\n\tvar BottleneckError$1, DEFAULT_PRIORITY, Job, NUM_PRIORITIES, parser$1;\n\n\tNUM_PRIORITIES = 10;\n\n\tDEFAULT_PRIORITY = 5;\n\n\tparser$1 = parser;\n\n\tBottleneckError$1 = BottleneckError_1;\n\n\tJob = class Job {\n\t constructor(task, args, options, jobDefaults, rejectOnDrop, Events, _states, Promise) {\n\t this.task = task;\n\t this.args = args;\n\t this.rejectOnDrop = rejectOnDrop;\n\t this.Events = Events;\n\t this._states = _states;\n\t this.Promise = Promise;\n\t this.options = parser$1.load(options, jobDefaults);\n\t this.options.priority = this._sanitizePriority(this.options.priority);\n\t if (this.options.id === jobDefaults.id) {\n\t this.options.id = `${this.options.id}-${this._randomIndex()}`;\n\t }\n\t this.promise = new this.Promise((_resolve, _reject) => {\n\t this._resolve = _resolve;\n\t this._reject = _reject;\n\t });\n\t this.retryCount = 0;\n\t }\n\n\t _sanitizePriority(priority) {\n\t var sProperty;\n\t sProperty = ~~priority !== priority ? DEFAULT_PRIORITY : priority;\n\t if (sProperty < 0) {\n\t return 0;\n\t } else if (sProperty > NUM_PRIORITIES - 1) {\n\t return NUM_PRIORITIES - 1;\n\t } else {\n\t return sProperty;\n\t }\n\t }\n\n\t _randomIndex() {\n\t return Math.random().toString(36).slice(2);\n\t }\n\n\t doDrop({error, message = \"This job has been dropped by Bottleneck\"} = {}) {\n\t if (this._states.remove(this.options.id)) {\n\t if (this.rejectOnDrop) {\n\t this._reject(error != null ? error : new BottleneckError$1(message));\n\t }\n\t this.Events.trigger(\"dropped\", {args: this.args, options: this.options, task: this.task, promise: this.promise});\n\t return true;\n\t } else {\n\t return false;\n\t }\n\t }\n\n\t _assertStatus(expected) {\n\t var status;\n\t status = this._states.jobStatus(this.options.id);\n\t if (!(status === expected || (expected === \"DONE\" && status === null))) {\n\t throw new BottleneckError$1(`Invalid job status ${status}, expected ${expected}. Please open an issue at https://github.com/SGrondin/bottleneck/issues`);\n\t }\n\t }\n\n\t doReceive() {\n\t this._states.start(this.options.id);\n\t return this.Events.trigger(\"received\", {args: this.args, options: this.options});\n\t }\n\n\t doQueue(reachedHWM, blocked) {\n\t this._assertStatus(\"RECEIVED\");\n\t this._states.next(this.options.id);\n\t return this.Events.trigger(\"queued\", {args: this.args, options: this.options, reachedHWM, blocked});\n\t }\n\n\t doRun() {\n\t if (this.retryCount === 0) {\n\t this._assertStatus(\"QUEUED\");\n\t this._states.next(this.options.id);\n\t } else {\n\t this._assertStatus(\"EXECUTING\");\n\t }\n\t return this.Events.trigger(\"scheduled\", {args: this.args, options: this.options});\n\t }\n\n\t async doExecute(chained, clearGlobalState, run, free) {\n\t var error, eventInfo, passed;\n\t if (this.retryCount === 0) {\n\t this._assertStatus(\"RUNNING\");\n\t this._states.next(this.options.id);\n\t } else {\n\t this._assertStatus(\"EXECUTING\");\n\t }\n\t eventInfo = {args: this.args, options: this.options, retryCount: this.retryCount};\n\t this.Events.trigger(\"executing\", eventInfo);\n\t try {\n\t passed = (await (chained != null ? chained.schedule(this.options, this.task, ...this.args) : this.task(...this.args)));\n\t if (clearGlobalState()) {\n\t this.doDone(eventInfo);\n\t await free(this.options, eventInfo);\n\t this._assertStatus(\"DONE\");\n\t return this._resolve(passed);\n\t }\n\t } catch (error1) {\n\t error = error1;\n\t return this._onFailure(error, eventInfo, clearGlobalState, run, free);\n\t }\n\t }\n\n\t doExpire(clearGlobalState, run, free) {\n\t var error, eventInfo;\n\t if (this._states.jobStatus(this.options.id === \"RUNNING\")) {\n\t this._states.next(this.options.id);\n\t }\n\t this._assertStatus(\"EXECUTING\");\n\t eventInfo = {args: this.args, options: this.options, retryCount: this.retryCount};\n\t error = new BottleneckError$1(`This job timed out after ${this.options.expiration} ms.`);\n\t return this._onFailure(error, eventInfo, clearGlobalState, run, free);\n\t }\n\n\t async _onFailure(error, eventInfo, clearGlobalState, run, free) {\n\t var retry, retryAfter;\n\t if (clearGlobalState()) {\n\t retry = (await this.Events.trigger(\"failed\", error, eventInfo));\n\t if (retry != null) {\n\t retryAfter = ~~retry;\n\t this.Events.trigger(\"retry\", `Retrying ${this.options.id} after ${retryAfter} ms`, eventInfo);\n\t this.retryCount++;\n\t return run(retryAfter);\n\t } else {\n\t this.doDone(eventInfo);\n\t await free(this.options, eventInfo);\n\t this._assertStatus(\"DONE\");\n\t return this._reject(error);\n\t }\n\t }\n\t }\n\n\t doDone(eventInfo) {\n\t this._assertStatus(\"EXECUTING\");\n\t this._states.next(this.options.id);\n\t return this.Events.trigger(\"done\", eventInfo);\n\t }\n\n\t};\n\n\tvar Job_1 = Job;\n\n\tvar BottleneckError$2, LocalDatastore, parser$2;\n\n\tparser$2 = parser;\n\n\tBottleneckError$2 = BottleneckError_1;\n\n\tLocalDatastore = class LocalDatastore {\n\t constructor(instance, storeOptions, storeInstanceOptions) {\n\t this.instance = instance;\n\t this.storeOptions = storeOptions;\n\t this.clientId = this.instance._randomIndex();\n\t parser$2.load(storeInstanceOptions, storeInstanceOptions, this);\n\t this._nextRequest = this._lastReservoirRefresh = this._lastReservoirIncrease = Date.now();\n\t this._running = 0;\n\t this._done = 0;\n\t this._unblockTime = 0;\n\t this.ready = this.Promise.resolve();\n\t this.clients = {};\n\t this._startHeartbeat();\n\t }\n\n\t _startHeartbeat() {\n\t var base;\n\t if ((this.heartbeat == null) && (((this.storeOptions.reservoirRefreshInterval != null) && (this.storeOptions.reservoirRefreshAmount != null)) || ((this.storeOptions.reservoirIncreaseInterval != null) && (this.storeOptions.reservoirIncreaseAmount != null)))) {\n\t return typeof (base = (this.heartbeat = setInterval(() => {\n\t var amount, incr, maximum, now, reservoir;\n\t now = Date.now();\n\t if ((this.storeOptions.reservoirRefreshInterval != null) && now >= this._lastReservoirRefresh + this.storeOptions.reservoirRefreshInterval) {\n\t this._lastReservoirRefresh = now;\n\t this.storeOptions.reservoir = this.storeOptions.reservoirRefreshAmount;\n\t this.instance._drainAll(this.computeCapacity());\n\t }\n\t if ((this.storeOptions.reservoirIncreaseInterval != null) && now >= this._lastReservoirIncrease + this.storeOptions.reservoirIncreaseInterval) {\n\t ({\n\t reservoirIncreaseAmount: amount,\n\t reservoirIncreaseMaximum: maximum,\n\t reservoir\n\t } = this.storeOptions);\n\t this._lastReservoirIncrease = now;\n\t incr = maximum != null ? Math.min(amount, maximum - reservoir) : amount;\n\t if (incr > 0) {\n\t this.storeOptions.reservoir += incr;\n\t return this.instance._drainAll(this.computeCapacity());\n\t }\n\t }\n\t }, this.heartbeatInterval))).unref === \"function\" ? base.unref() : void 0;\n\t } else {\n\t return clearInterval(this.heartbeat);\n\t }\n\t }\n\n\t async __publish__(message) {\n\t await this.yieldLoop();\n\t return this.instance.Events.trigger(\"message\", message.toString());\n\t }\n\n\t async __disconnect__(flush) {\n\t await this.yieldLoop();\n\t clearInterval(this.heartbeat);\n\t return this.Promise.resolve();\n\t }\n\n\t yieldLoop(t = 0) {\n\t return new this.Promise(function(resolve, reject) {\n\t return setTimeout(resolve, t);\n\t });\n\t }\n\n\t computePenalty() {\n\t var ref;\n\t return (ref = this.storeOptions.penalty) != null ? ref : (15 * this.storeOptions.minTime) || 5000;\n\t }\n\n\t async __updateSettings__(options) {\n\t await this.yieldLoop();\n\t parser$2.overwrite(options, options, this.storeOptions);\n\t this._startHeartbeat();\n\t this.instance._drainAll(this.computeCapacity());\n\t return true;\n\t }\n\n\t async __running__() {\n\t await this.yieldLoop();\n\t return this._running;\n\t }\n\n\t async __queued__() {\n\t await this.yieldLoop();\n\t return this.instance.queued();\n\t }\n\n\t async __done__() {\n\t await this.yieldLoop();\n\t return this._done;\n\t }\n\n\t async __groupCheck__(time) {\n\t await this.yieldLoop();\n\t return (this._nextRequest + this.timeout) < time;\n\t }\n\n\t computeCapacity() {\n\t var maxConcurrent, reservoir;\n\t ({maxConcurrent, reservoir} = this.storeOptions);\n\t if ((maxConcurrent != null) && (reservoir != null)) {\n\t return Math.min(maxConcurrent - this._running, reservoir);\n\t } else if (maxConcurrent != null) {\n\t return maxConcurrent - this._running;\n\t } else if (reservoir != null) {\n\t return reservoir;\n\t } else {\n\t return null;\n\t }\n\t }\n\n\t conditionsCheck(weight) {\n\t var capacity;\n\t capacity = this.computeCapacity();\n\t return (capacity == null) || weight <= capacity;\n\t }\n\n\t async __incrementReservoir__(incr) {\n\t var reservoir;\n\t await this.yieldLoop();\n\t reservoir = this.storeOptions.reservoir += incr;\n\t this.instance._drainAll(this.computeCapacity());\n\t return reservoir;\n\t }\n\n\t async __currentReservoir__() {\n\t await this.yieldLoop();\n\t return this.storeOptions.reservoir;\n\t }\n\n\t isBlocked(now) {\n\t return this._unblockTime >= now;\n\t }\n\n\t check(weight, now) {\n\t return this.conditionsCheck(weight) && (this._nextRequest - now) <= 0;\n\t }\n\n\t async __check__(weight) {\n\t var now;\n\t await this.yieldLoop();\n\t now = Date.now();\n\t return this.check(weight, now);\n\t }\n\n\t async __register__(index, weight, expiration) {\n\t var now, wait;\n\t await this.yieldLoop();\n\t now = Date.now();\n\t if (this.conditionsCheck(weight)) {\n\t this._running += weight;\n\t if (this.storeOptions.reservoir != null) {\n\t this.storeOptions.reservoir -= weight;\n\t }\n\t wait = Math.max(this._nextRequest - now, 0);\n\t this._nextRequest = now + wait + this.storeOptions.minTime;\n\t return {\n\t success: true,\n\t wait,\n\t reservoir: this.storeOptions.reservoir\n\t };\n\t } else {\n\t return {\n\t success: false\n\t };\n\t }\n\t }\n\n\t strategyIsBlock() {\n\t return this.storeOptions.strategy === 3;\n\t }\n\n\t async __submit__(queueLength, weight) {\n\t var blocked, now, reachedHWM;\n\t await this.yieldLoop();\n\t if ((this.storeOptions.maxConcurrent != null) && weight > this.storeOptions.maxConcurrent) {\n\t throw new BottleneckError$2(`Impossible to add a job having a weight of ${weight} to a limiter having a maxConcurrent setting of ${this.storeOptions.maxConcurrent}`);\n\t }\n\t now = Date.now();\n\t reachedHWM = (this.storeOptions.highWater != null) && queueLength === this.storeOptions.highWater && !this.check(weight, now);\n\t blocked = this.strategyIsBlock() && (reachedHWM || this.isBlocked(now));\n\t if (blocked) {\n\t this._unblockTime = now + this.computePenalty();\n\t this._nextRequest = this._unblockTime + this.storeOptions.minTime;\n\t this.instance._dropAllQueued();\n\t }\n\t return {\n\t reachedHWM,\n\t blocked,\n\t strategy: this.storeOptions.strategy\n\t };\n\t }\n\n\t async __free__(index, weight) {\n\t await this.yieldLoop();\n\t this._running -= weight;\n\t this._done += weight;\n\t this.instance._drainAll(this.computeCapacity());\n\t return {\n\t running: this._running\n\t };\n\t }\n\n\t};\n\n\tvar LocalDatastore_1 = LocalDatastore;\n\n\tvar BottleneckError$3, States;\n\n\tBottleneckError$3 = BottleneckError_1;\n\n\tStates = class States {\n\t constructor(status1) {\n\t this.status = status1;\n\t this._jobs = {};\n\t this.counts = this.status.map(function() {\n\t return 0;\n\t });\n\t }\n\n\t next(id) {\n\t var current, next;\n\t current = this._jobs[id];\n\t next = current + 1;\n\t if ((current != null) && next < this.status.length) {\n\t this.counts[current]--;\n\t this.counts[next]++;\n\t return this._jobs[id]++;\n\t } else if (current != null) {\n\t this.counts[current]--;\n\t return delete this._jobs[id];\n\t }\n\t }\n\n\t start(id) {\n\t var initial;\n\t initial = 0;\n\t this._jobs[id] = initial;\n\t return this.counts[initial]++;\n\t }\n\n\t remove(id) {\n\t var current;\n\t current = this._jobs[id];\n\t if (current != null) {\n\t this.counts[current]--;\n\t delete this._jobs[id];\n\t }\n\t return current != null;\n\t }\n\n\t jobStatus(id) {\n\t var ref;\n\t return (ref = this.status[this._jobs[id]]) != null ? ref : null;\n\t }\n\n\t statusJobs(status) {\n\t var k, pos, ref, results, v;\n\t if (status != null) {\n\t pos = this.status.indexOf(status);\n\t if (pos < 0) {\n\t throw new BottleneckError$3(`status must be one of ${this.status.join(', ')}`);\n\t }\n\t ref = this._jobs;\n\t results = [];\n\t for (k in ref) {\n\t v = ref[k];\n\t if (v === pos) {\n\t results.push(k);\n\t }\n\t }\n\t return results;\n\t } else {\n\t return Object.keys(this._jobs);\n\t }\n\t }\n\n\t statusCounts() {\n\t return this.counts.reduce(((acc, v, i) => {\n\t acc[this.status[i]] = v;\n\t return acc;\n\t }), {});\n\t }\n\n\t};\n\n\tvar States_1 = States;\n\n\tvar DLList$2, Sync;\n\n\tDLList$2 = DLList_1;\n\n\tSync = class Sync {\n\t constructor(name, Promise) {\n\t this.schedule = this.schedule.bind(this);\n\t this.name = name;\n\t this.Promise = Promise;\n\t this._running = 0;\n\t this._queue = new DLList$2();\n\t }\n\n\t isEmpty() {\n\t return this._queue.length === 0;\n\t }\n\n\t async _tryToRun() {\n\t var args, cb, error, reject, resolve, returned, task;\n\t if ((this._running < 1) && this._queue.length > 0) {\n\t this._running++;\n\t ({task, args, resolve, reject} = this._queue.shift());\n\t cb = (await (async function() {\n\t try {\n\t returned = (await task(...args));\n\t return function() {\n\t return resolve(returned);\n\t };\n\t } catch (error1) {\n\t error = error1;\n\t return function() {\n\t return reject(error);\n\t };\n\t }\n\t })());\n\t this._running--;\n\t this._tryToRun();\n\t return cb();\n\t }\n\t }\n\n\t schedule(task, ...args) {\n\t var promise, reject, resolve;\n\t resolve = reject = null;\n\t promise = new this.Promise(function(_resolve, _reject) {\n\t resolve = _resolve;\n\t return reject = _reject;\n\t });\n\t this._queue.push({task, args, resolve, reject});\n\t this._tryToRun();\n\t return promise;\n\t }\n\n\t};\n\n\tvar Sync_1 = Sync;\n\n\tvar version = \"2.19.5\";\n\tvar version$1 = {\n\t\tversion: version\n\t};\n\n\tvar version$2 = /*#__PURE__*/Object.freeze({\n\t\tversion: version,\n\t\tdefault: version$1\n\t});\n\n\tvar require$$2 = () => console.log('You must import the full version of Bottleneck in order to use this feature.');\n\n\tvar require$$3 = () => console.log('You must import the full version of Bottleneck in order to use this feature.');\n\n\tvar require$$4 = () => console.log('You must import the full version of Bottleneck in order to use this feature.');\n\n\tvar Events$2, Group, IORedisConnection$1, RedisConnection$1, Scripts$1, parser$3;\n\n\tparser$3 = parser;\n\n\tEvents$2 = Events_1;\n\n\tRedisConnection$1 = require$$2;\n\n\tIORedisConnection$1 = require$$3;\n\n\tScripts$1 = require$$4;\n\n\tGroup = (function() {\n\t class Group {\n\t constructor(limiterOptions = {}) {\n\t this.deleteKey = this.deleteKey.bind(this);\n\t this.limiterOptions = limiterOptions;\n\t parser$3.load(this.limiterOptions, this.defaults, this);\n\t this.Events = new Events$2(this);\n\t this.instances = {};\n\t this.Bottleneck = Bottleneck_1;\n\t this._startAutoCleanup();\n\t this.sharedConnection = this.connection != null;\n\t if (this.connection == null) {\n\t if (this.limiterOptions.datastore === \"redis\") {\n\t this.connection = new RedisConnection$1(Object.assign({}, this.limiterOptions, {Events: this.Events}));\n\t } else if (this.limiterOptions.datastore === \"ioredis\") {\n\t this.connection = new IORedisConnection$1(Object.assign({}, this.limiterOptions, {Events: this.Events}));\n\t }\n\t }\n\t }\n\n\t key(key = \"\") {\n\t var ref;\n\t return (ref = this.instances[key]) != null ? ref : (() => {\n\t var limiter;\n\t limiter = this.instances[key] = new this.Bottleneck(Object.assign(this.limiterOptions, {\n\t id: `${this.id}-${key}`,\n\t timeout: this.timeout,\n\t connection: this.connection\n\t }));\n\t this.Events.trigger(\"created\", limiter, key);\n\t return limiter;\n\t })();\n\t }\n\n\t async deleteKey(key = \"\") {\n\t var deleted, instance;\n\t instance = this.instances[key];\n\t if (this.connection) {\n\t deleted = (await this.connection.__runCommand__(['del', ...Scripts$1.allKeys(`${this.id}-${key}`)]));\n\t }\n\t if (instance != null) {\n\t delete this.instances[key];\n\t await instance.disconnect();\n\t }\n\t return (instance != null) || deleted > 0;\n\t }\n\n\t limiters() {\n\t var k, ref, results, v;\n\t ref = this.instances;\n\t results = [];\n\t for (k in ref) {\n\t v = ref[k];\n\t results.push({\n\t key: k,\n\t limiter: v\n\t });\n\t }\n\t return results;\n\t }\n\n\t keys() {\n\t return Object.keys(this.instances);\n\t }\n\n\t async clusterKeys() {\n\t var cursor, end, found, i, k, keys, len, next, start;\n\t if (this.connection == null) {\n\t return this.Promise.resolve(this.keys());\n\t }\n\t keys = [];\n\t cursor = null;\n\t start = `b_${this.id}-`.length;\n\t end = \"_settings\".length;\n\t while (cursor !== 0) {\n\t [next, found] = (await this.connection.__runCommand__([\"scan\", cursor != null ? cursor : 0, \"match\", `b_${this.id}-*_settings`, \"count\", 10000]));\n\t cursor = ~~next;\n\t for (i = 0, len = found.length; i < len; i++) {\n\t k = found[i];\n\t keys.push(k.slice(start, -end));\n\t }\n\t }\n\t return keys;\n\t }\n\n\t _startAutoCleanup() {\n\t var base;\n\t clearInterval(this.interval);\n\t return typeof (base = (this.interval = setInterval(async() => {\n\t var e, k, ref, results, time, v;\n\t time = Date.now();\n\t ref = this.instances;\n\t results = [];\n\t for (k in ref) {\n\t v = ref[k];\n\t try {\n\t if ((await v._store.__groupCheck__(time))) {\n\t results.push(this.deleteKey(k));\n\t } else {\n\t results.push(void 0);\n\t }\n\t } catch (error) {\n\t e = error;\n\t results.push(v.Events.trigger(\"error\", e));\n\t }\n\t }\n\t return results;\n\t }, this.timeout / 2))).unref === \"function\" ? base.unref() : void 0;\n\t }\n\n\t updateSettings(options = {}) {\n\t parser$3.overwrite(options, this.defaults, this);\n\t parser$3.overwrite(options, options, this.limiterOptions);\n\t if (options.timeout != null) {\n\t return this._startAutoCleanup();\n\t }\n\t }\n\n\t disconnect(flush = true) {\n\t var ref;\n\t if (!this.sharedConnection) {\n\t return (ref = this.connection) != null ? ref.disconnect(flush) : void 0;\n\t }\n\t }\n\n\t }\n\t Group.prototype.defaults = {\n\t timeout: 1000 * 60 * 5,\n\t connection: null,\n\t Promise: Promise,\n\t id: \"group-key\"\n\t };\n\n\t return Group;\n\n\t}).call(commonjsGlobal);\n\n\tvar Group_1 = Group;\n\n\tvar Batcher, Events$3, parser$4;\n\n\tparser$4 = parser;\n\n\tEvents$3 = Events_1;\n\n\tBatcher = (function() {\n\t class Batcher {\n\t constructor(options = {}) {\n\t this.options = options;\n\t parser$4.load(this.options, this.defaults, this);\n\t this.Events = new Events$3(this);\n\t this._arr = [];\n\t this._resetPromise();\n\t this._lastFlush = Date.now();\n\t }\n\n\t _resetPromise() {\n\t return this._promise = new this.Promise((res, rej) => {\n\t return this._resolve = res;\n\t });\n\t }\n\n\t _flush() {\n\t clearTimeout(this._timeout);\n\t this._lastFlush = Date.now();\n\t this._resolve();\n\t this.Events.trigger(\"batch\", this._arr);\n\t this._arr = [];\n\t return this._resetPromise();\n\t }\n\n\t add(data) {\n\t var ret;\n\t this._arr.push(data);\n\t ret = this._promise;\n\t if (this._arr.length === this.maxSize) {\n\t this._flush();\n\t } else if ((this.maxTime != null) && this._arr.length === 1) {\n\t this._timeout = setTimeout(() => {\n\t return this._flush();\n\t }, this.maxTime);\n\t }\n\t return ret;\n\t }\n\n\t }\n\t Batcher.prototype.defaults = {\n\t maxTime: null,\n\t maxSize: null,\n\t Promise: Promise\n\t };\n\n\t return Batcher;\n\n\t}).call(commonjsGlobal);\n\n\tvar Batcher_1 = Batcher;\n\n\tvar require$$4$1 = () => console.log('You must import the full version of Bottleneck in order to use this feature.');\n\n\tvar require$$8 = getCjsExportFromNamespace(version$2);\n\n\tvar Bottleneck, DEFAULT_PRIORITY$1, Events$4, Job$1, LocalDatastore$1, NUM_PRIORITIES$1, Queues$1, RedisDatastore$1, States$1, Sync$1, parser$5,\n\t splice = [].splice;\n\n\tNUM_PRIORITIES$1 = 10;\n\n\tDEFAULT_PRIORITY$1 = 5;\n\n\tparser$5 = parser;\n\n\tQueues$1 = Queues_1;\n\n\tJob$1 = Job_1;\n\n\tLocalDatastore$1 = LocalDatastore_1;\n\n\tRedisDatastore$1 = require$$4$1;\n\n\tEvents$4 = Events_1;\n\n\tStates$1 = States_1;\n\n\tSync$1 = Sync_1;\n\n\tBottleneck = (function() {\n\t class Bottleneck {\n\t constructor(options = {}, ...invalid) {\n\t var storeInstanceOptions, storeOptions;\n\t this._addToQueue = this._addToQueue.bind(this);\n\t this._validateOptions(options, invalid);\n\t parser$5.load(options, this.instanceDefaults, this);\n\t this._queues = new Queues$1(NUM_PRIORITIES$1);\n\t this._scheduled = {};\n\t this._states = new States$1([\"RECEIVED\", \"QUEUED\", \"RUNNING\", \"EXECUTING\"].concat(this.trackDoneStatus ? [\"DONE\"] : []));\n\t this._limiter = null;\n\t this.Events = new Events$4(this);\n\t this._submitLock = new Sync$1(\"submit\", this.Promise);\n\t this._registerLock = new Sync$1(\"register\", this.Promise);\n\t storeOptions = parser$5.load(options, this.storeDefaults, {});\n\t this._store = (function() {\n\t if (this.datastore === \"redis\" || this.datastore === \"ioredis\" || (this.connection != null)) {\n\t storeInstanceOptions = parser$5.load(options, this.redisStoreDefaults, {});\n\t return new RedisDatastore$1(this, storeOptions, storeInstanceOptions);\n\t } else if (this.datastore === \"local\") {\n\t storeInstanceOptions = parser$5.load(options, this.localStoreDefaults, {});\n\t return new LocalDatastore$1(this, storeOptions, storeInstanceOptions);\n\t } else {\n\t throw new Bottleneck.prototype.BottleneckError(`Invalid datastore type: ${this.datastore}`);\n\t }\n\t }).call(this);\n\t this._queues.on(\"leftzero\", () => {\n\t var ref;\n\t return (ref = this._store.heartbeat) != null ? typeof ref.ref === \"function\" ? ref.ref() : void 0 : void 0;\n\t });\n\t this._queues.on(\"zero\", () => {\n\t var ref;\n\t return (ref = this._store.heartbeat) != null ? typeof ref.unref === \"function\" ? ref.unref() : void 0 : void 0;\n\t });\n\t }\n\n\t _validateOptions(options, invalid) {\n\t if (!((options != null) && typeof options === \"object\" && invalid.length === 0)) {\n\t throw new Bottleneck.prototype.BottleneckError(\"Bottleneck v2 takes a single object argument. Refer to https://github.com/SGrondin/bottleneck#upgrading-to-v2 if you're upgrading from Bottleneck v1.\");\n\t }\n\t }\n\n\t ready() {\n\t return this._store.ready;\n\t }\n\n\t clients() {\n\t return this._store.clients;\n\t }\n\n\t channel() {\n\t return `b_${this.id}`;\n\t }\n\n\t channel_client() {\n\t return `b_${this.id}_${this._store.clientId}`;\n\t }\n\n\t publish(message) {\n\t return this._store.__publish__(message);\n\t }\n\n\t disconnect(flush = true) {\n\t return this._store.__disconnect__(flush);\n\t }\n\n\t chain(_limiter) {\n\t this._limiter = _limiter;\n\t return this;\n\t }\n\n\t queued(priority) {\n\t return this._queues.queued(priority);\n\t }\n\n\t clusterQueued() {\n\t return this._store.__queued__();\n\t }\n\n\t empty() {\n\t return this.queued() === 0 && this._submitLock.isEmpty();\n\t }\n\n\t running() {\n\t return this._store.__running__();\n\t }\n\n\t done() {\n\t return this._store.__done__();\n\t }\n\n\t jobStatus(id) {\n\t return this._states.jobStatus(id);\n\t }\n\n\t jobs(status) {\n\t return this._states.statusJobs(status);\n\t }\n\n\t counts() {\n\t return this._states.statusCounts();\n\t }\n\n\t _randomIndex() {\n\t return Math.random().toString(36).slice(2);\n\t }\n\n\t check(weight = 1) {\n\t return this._store.__check__(weight);\n\t }\n\n\t _clearGlobalState(index) {\n\t if (this._scheduled[index] != null) {\n\t clearTimeout(this._scheduled[index].expiration);\n\t delete this._scheduled[index];\n\t return true;\n\t } else {\n\t return false;\n\t }\n\t }\n\n\t async _free(index, job, options, eventInfo) {\n\t var e, running;\n\t try {\n\t ({running} = (await this._store.__free__(index, options.weight)));\n\t this.Events.trigger(\"debug\", `Freed ${options.id}`, eventInfo);\n\t if (running === 0 && this.empty()) {\n\t return this.Events.trigger(\"idle\");\n\t }\n\t } catch (error1) {\n\t e = error1;\n\t return this.Events.trigger(\"error\", e);\n\t }\n\t }\n\n\t _run(index, job, wait) {\n\t var clearGlobalState, free, run;\n\t job.doRun();\n\t clearGlobalState = this._clearGlobalState.bind(this, index);\n\t run = this._run.bind(this, index, job);\n\t free = this._free.bind(this, index, job);\n\t return this._scheduled[index] = {\n\t timeout: setTimeout(() => {\n\t return job.doExecute(this._limiter, clearGlobalState, run, free);\n\t }, wait),\n\t expiration: job.options.expiration != null ? setTimeout(function() {\n\t return job.doExpire(clearGlobalState, run, free);\n\t }, wait + job.options.expiration) : void 0,\n\t job: job\n\t };\n\t }\n\n\t _drainOne(capacity) {\n\t return this._registerLock.schedule(() => {\n\t var args, index, next, options, queue;\n\t if (this.queued() === 0) {\n\t return this.Promise.resolve(null);\n\t }\n\t queue = this._queues.getFirst();\n\t ({options, args} = next = queue.first());\n\t if ((capacity != null) && options.weight > capacity) {\n\t return this.Promise.resolve(null);\n\t }\n\t this.Events.trigger(\"debug\", `Draining ${options.id}`, {args, options});\n\t index = this._randomIndex();\n\t return this._store.__register__(index, options.weight, options.expiration).then(({success, wait, reservoir}) => {\n\t var empty;\n\t this.Events.trigger(\"debug\", `Drained ${options.id}`, {success, args, options});\n\t if (success) {\n\t queue.shift();\n\t empty = this.empty();\n\t if (empty) {\n\t this.Events.trigger(\"empty\");\n\t }\n\t if (reservoir === 0) {\n\t this.Events.trigger(\"depleted\", empty);\n\t }\n\t this._run(index, next, wait);\n\t return this.Promise.resolve(options.weight);\n\t } else {\n\t return this.Promise.resolve(null);\n\t }\n\t });\n\t });\n\t }\n\n\t _drainAll(capacity, total = 0) {\n\t return this._drainOne(capacity).then((drained) => {\n\t var newCapacity;\n\t if (drained != null) {\n\t newCapacity = capacity != null ? capacity - drained : capacity;\n\t return this._drainAll(newCapacity, total + drained);\n\t } else {\n\t return this.Promise.resolve(total);\n\t }\n\t }).catch((e) => {\n\t return this.Events.trigger(\"error\", e);\n\t });\n\t }\n\n\t _dropAllQueued(message) {\n\t return this._queues.shiftAll(function(job) {\n\t return job.doDrop({message});\n\t });\n\t }\n\n\t stop(options = {}) {\n\t var done, waitForExecuting;\n\t options = parser$5.load(options, this.stopDefaults);\n\t waitForExecuting = (at) => {\n\t var finished;\n\t finished = () => {\n\t var counts;\n\t counts = this._states.counts;\n\t return (counts[0] + counts[1] + counts[2] + counts[3]) === at;\n\t };\n\t return new this.Promise((resolve, reject) => {\n\t if (finished()) {\n\t return resolve();\n\t } else {\n\t return this.on(\"done\", () => {\n\t if (finished()) {\n\t this.removeAllListeners(\"done\");\n\t return resolve();\n\t }\n\t });\n\t }\n\t });\n\t };\n\t done = options.dropWaitingJobs ? (this._run = function(index, next) {\n\t return next.doDrop({\n\t message: options.dropErrorMessage\n\t });\n\t }, this._drainOne = () => {\n\t return this.Promise.resolve(null);\n\t }, this._registerLock.schedule(() => {\n\t return this._submitLock.schedule(() => {\n\t var k, ref, v;\n\t ref = this._scheduled;\n\t for (k in ref) {\n\t v = ref[k];\n\t if (this.jobStatus(v.job.options.id) === \"RUNNING\") {\n\t clearTimeout(v.timeout);\n\t clearTimeout(v.expiration);\n\t v.job.doDrop({\n\t message: options.dropErrorMessage\n\t });\n\t }\n\t }\n\t this._dropAllQueued(options.dropErrorMessage);\n\t return waitForExecuting(0);\n\t });\n\t })) : this.schedule({\n\t priority: NUM_PRIORITIES$1 - 1,\n\t weight: 0\n\t }, () => {\n\t return waitForExecuting(1);\n\t });\n\t this._receive = function(job) {\n\t return job._reject(new Bottleneck.prototype.BottleneckError(options.enqueueErrorMessage));\n\t };\n\t this.stop = () => {\n\t return this.Promise.reject(new Bottleneck.prototype.BottleneckError(\"stop() has already been called\"));\n\t };\n\t return done;\n\t }\n\n\t async _addToQueue(job) {\n\t var args, blocked, error, options, reachedHWM, shifted, strategy;\n\t ({args, options} = job);\n\t try {\n\t ({reachedHWM, blocked, strategy} = (await this._store.__submit__(this.queued(), options.weight)));\n\t } catch (error1) {\n\t error = error1;\n\t this.Events.trigger(\"debug\", `Could not queue ${options.id}`, {args, options, error});\n\t job.doDrop({error});\n\t return false;\n\t }\n\t if (blocked) {\n\t job.doDrop();\n\t return true;\n\t } else if (reachedHWM) {\n\t shifted = strategy === Bottleneck.prototype.strategy.LEAK ? this._queues.shiftLastFrom(options.priority) : strategy === Bottleneck.prototype.strategy.OVERFLOW_PRIORITY ? this._queues.shiftLastFrom(options.priority + 1) : strategy === Bottleneck.prototype.strategy.OVERFLOW ? job : void 0;\n\t if (shifted != null) {\n\t shifted.doDrop();\n\t }\n\t if ((shifted == null) || strategy === Bottleneck.prototype.strategy.OVERFLOW) {\n\t if (shifted == null) {\n\t job.doDrop();\n\t }\n\t return reachedHWM;\n\t }\n\t }\n\t job.doQueue(reachedHWM, blocked);\n\t this._queues.push(job);\n\t await this._drainAll();\n\t return reachedHWM;\n\t }\n\n\t _receive(job) {\n\t if (this._states.jobStatus(job.options.id) != null) {\n\t job._reject(new Bottleneck.prototype.BottleneckError(`A job with the same id already exists (id=${job.options.id})`));\n\t return false;\n\t } else {\n\t job.doReceive();\n\t return this._submitLock.schedule(this._addToQueue, job);\n\t }\n\t }\n\n\t submit(...args) {\n\t var cb, fn, job, options, ref, ref1, task;\n\t if (typeof args[0] === \"function\") {\n\t ref = args, [fn, ...args] = ref, [cb] = splice.call(args, -1);\n\t options = parser$5.load({}, this.jobDefaults);\n\t } else {\n\t ref1 = args, [options, fn, ...args] = ref1, [cb] = splice.call(args, -1);\n\t options = parser$5.load(options, this.jobDefaults);\n\t }\n\t task = (...args) => {\n\t return new this.Promise(function(resolve, reject) {\n\t return fn(...args, function(...args) {\n\t return (args[0] != null ? reject : resolve)(args);\n\t });\n\t });\n\t };\n\t job = new Job$1(task, args, options, this.jobDefaults, this.rejectOnDrop, this.Events, this._states, this.Promise);\n\t job.promise.then(function(args) {\n\t return typeof cb === \"function\" ? cb(...args) : void 0;\n\t }).catch(function(args) {\n\t if (Array.isArray(args)) {\n\t return typeof cb === \"function\" ? cb(...args) : void 0;\n\t } else {\n\t return typeof cb === \"function\" ? cb(args) : void 0;\n\t }\n\t });\n\t return this._receive(job);\n\t }\n\n\t schedule(...args) {\n\t var job, options, task;\n\t if (typeof args[0] === \"function\") {\n\t [task, ...args] = args;\n\t options = {};\n\t } else {\n\t [options, task, ...args] = args;\n\t }\n\t job = new Job$1(task, args, options, this.jobDefaults, this.rejectOnDrop, this.Events, this._states, this.Promise);\n\t this._receive(job);\n\t return job.promise;\n\t }\n\n\t wrap(fn) {\n\t var schedule, wrapped;\n\t schedule = this.schedule.bind(this);\n\t wrapped = function(...args) {\n\t return schedule(fn.bind(this), ...args);\n\t };\n\t wrapped.withOptions = function(options, ...args) {\n\t return schedule(options, fn, ...args);\n\t };\n\t return wrapped;\n\t }\n\n\t async updateSettings(options = {}) {\n\t await this._store.__updateSettings__(parser$5.overwrite(options, this.storeDefaults));\n\t parser$5.overwrite(options, this.instanceDefaults, this);\n\t return this;\n\t }\n\n\t currentReservoir() {\n\t return this._store.__currentReservoir__();\n\t }\n\n\t incrementReservoir(incr = 0) {\n\t return this._store.__incrementReservoir__(incr);\n\t }\n\n\t }\n\t Bottleneck.default = Bottleneck;\n\n\t Bottleneck.Events = Events$4;\n\n\t Bottleneck.version = Bottleneck.prototype.version = require$$8.version;\n\n\t Bottleneck.strategy = Bottleneck.prototype.strategy = {\n\t LEAK: 1,\n\t OVERFLOW: 2,\n\t OVERFLOW_PRIORITY: 4,\n\t BLOCK: 3\n\t };\n\n\t Bottleneck.BottleneckError = Bottleneck.prototype.BottleneckError = BottleneckError_1;\n\n\t Bottleneck.Group = Bottleneck.prototype.Group = Group_1;\n\n\t Bottleneck.RedisConnection = Bottleneck.prototype.RedisConnection = require$$2;\n\n\t Bottleneck.IORedisConnection = Bottleneck.prototype.IORedisConnection = require$$3;\n\n\t Bottleneck.Batcher = Bottleneck.prototype.Batcher = Batcher_1;\n\n\t Bottleneck.prototype.jobDefaults = {\n\t priority: DEFAULT_PRIORITY$1,\n\t weight: 1,\n\t expiration: null,\n\t id: \"\"\n\t };\n\n\t Bottleneck.prototype.storeDefaults = {\n\t maxConcurrent: null,\n\t minTime: 0,\n\t highWater: null,\n\t strategy: Bottleneck.prototype.strategy.LEAK,\n\t penalty: null,\n\t reservoir: null,\n\t reservoirRefreshInterval: null,\n\t reservoirRefreshAmount: null,\n\t reservoirIncreaseInterval: null,\n\t reservoirIncreaseAmount: null,\n\t reservoirIncreaseMaximum: null\n\t };\n\n\t Bottleneck.prototype.localStoreDefaults = {\n\t Promise: Promise,\n\t timeout: null,\n\t heartbeatInterval: 250\n\t };\n\n\t Bottleneck.prototype.redisStoreDefaults = {\n\t Promise: Promise,\n\t timeout: null,\n\t heartbeatInterval: 5000,\n\t clientTimeout: 10000,\n\t Redis: null,\n\t clientOptions: {},\n\t clusterNodes: null,\n\t clearDatastore: false,\n\t connection: null\n\t };\n\n\t Bottleneck.prototype.instanceDefaults = {\n\t datastore: \"local\",\n\t connection: null,\n\t id: \"\",\n\t rejectOnDrop: true,\n\t trackDoneStatus: false,\n\t Promise: Promise\n\t };\n\n\t Bottleneck.prototype.stopDefaults = {\n\t enqueueErrorMessage: \"This limiter has been stopped and cannot accept new jobs.\",\n\t dropWaitingJobs: true,\n\t dropErrorMessage: \"This limiter has been stopped.\"\n\t };\n\n\t return Bottleneck;\n\n\t}).call(commonjsGlobal);\n\n\tvar Bottleneck_1 = Bottleneck;\n\n\tvar lib = Bottleneck_1;\n\n\treturn lib;\n\n})));\n","// pkg/dist-src/version.js\nvar VERSION = \"0.0.0-development\";\n\n// pkg/dist-src/error-request.js\nasync function errorRequest(state, octokit, error, options) {\n if (!error.request || !error.request.request) {\n throw error;\n }\n if (error.status >= 400 && !state.doNotRetry.includes(error.status)) {\n const retries = options.request.retries != null ? options.request.retries : state.retries;\n const retryAfter = Math.pow((options.request.retryCount || 0) + 1, 2);\n throw octokit.retry.retryRequest(error, retries, retryAfter);\n }\n throw error;\n}\n\n// pkg/dist-src/wrap-request.js\nimport Bottleneck from \"bottleneck/light.js\";\nimport { RequestError } from \"@octokit/request-error\";\nasync function wrapRequest(state, octokit, request, options) {\n const limiter = new Bottleneck();\n limiter.on(\"failed\", function(error, info) {\n const maxRetries = ~~error.request.request.retries;\n const after = ~~error.request.request.retryAfter;\n options.request.retryCount = info.retryCount + 1;\n if (maxRetries > info.retryCount) {\n return after * state.retryAfterBaseValue;\n }\n });\n return limiter.schedule(\n requestWithGraphqlErrorHandling.bind(null, state, octokit, request),\n options\n );\n}\nasync function requestWithGraphqlErrorHandling(state, octokit, request, options) {\n const response = await request(request, options);\n if (response.data && response.data.errors && response.data.errors.length > 0 && /Something went wrong while executing your query/.test(\n response.data.errors[0].message\n )) {\n const error = new RequestError(response.data.errors[0].message, 500, {\n request: options,\n response\n });\n return errorRequest(state, octokit, error, options);\n }\n return response;\n}\n\n// pkg/dist-src/index.js\nfunction retry(octokit, octokitOptions) {\n const state = Object.assign(\n {\n enabled: true,\n retryAfterBaseValue: 1e3,\n doNotRetry: [400, 401, 403, 404, 410, 422, 451],\n retries: 3\n },\n octokitOptions.retry\n );\n if (state.enabled) {\n octokit.hook.error(\"request\", errorRequest.bind(null, state, octokit));\n octokit.hook.wrap(\"request\", wrapRequest.bind(null, state, octokit));\n }\n return {\n retry: {\n retryRequest: (error, retries, retryAfter) => {\n error.request.request = Object.assign({}, error.request.request, {\n retries,\n retryAfter\n });\n return error;\n }\n }\n };\n}\nretry.VERSION = VERSION;\nexport {\n VERSION,\n retry\n};\n","// pkg/dist-src/index.js\nimport BottleneckLight from \"bottleneck/light.js\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"0.0.0-development\";\n\n// pkg/dist-src/wrap-request.js\nvar noop = () => Promise.resolve();\nfunction wrapRequest(state, request, options) {\n return state.retryLimiter.schedule(doRequest, state, request, options);\n}\nasync function doRequest(state, request, options) {\n const { pathname } = new URL(options.url, \"http://github.test\");\n const isAuth = isAuthRequest(options.method, pathname);\n const isWrite = !isAuth && options.method !== \"GET\" && options.method !== \"HEAD\";\n const isSearch = options.method === \"GET\" && pathname.startsWith(\"/search/\");\n const isGraphQL = pathname.startsWith(\"/graphql\");\n const retryCount = ~~request.retryCount;\n const jobOptions = retryCount > 0 ? { priority: 0, weight: 0 } : {};\n if (state.clustering) {\n jobOptions.expiration = 1e3 * 60;\n }\n if (isWrite || isGraphQL) {\n await state.write.key(state.id).schedule(jobOptions, noop);\n }\n if (isWrite && state.triggersNotification(pathname)) {\n await state.notifications.key(state.id).schedule(jobOptions, noop);\n }\n if (isSearch) {\n await state.search.key(state.id).schedule(jobOptions, noop);\n }\n const req = (isAuth ? state.auth : state.global).key(state.id).schedule(jobOptions, request, options);\n if (isGraphQL) {\n const res = await req;\n if (res.data.errors != null && res.data.errors.some((error) => error.type === \"RATE_LIMITED\")) {\n const error = Object.assign(new Error(\"GraphQL Rate Limit Exceeded\"), {\n response: res,\n data: res.data\n });\n throw error;\n }\n }\n return req;\n}\nfunction isAuthRequest(method, pathname) {\n return method === \"PATCH\" && // https://docs.github.com/en/rest/apps/apps?apiVersion=2022-11-28#create-a-scoped-access-token\n /^\\/applications\\/[^/]+\\/token\\/scoped$/.test(pathname) || method === \"POST\" && // https://docs.github.com/en/rest/apps/oauth-applications?apiVersion=2022-11-28#reset-a-token\n (/^\\/applications\\/[^/]+\\/token$/.test(pathname) || // https://docs.github.com/en/rest/apps/apps?apiVersion=2022-11-28#create-an-installation-access-token-for-an-app\n /^\\/app\\/installations\\/[^/]+\\/access_tokens$/.test(pathname) || // https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps\n pathname === \"/login/oauth/access_token\");\n}\n\n// pkg/dist-src/generated/triggers-notification-paths.js\nvar triggers_notification_paths_default = [\n \"/orgs/{org}/invitations\",\n \"/orgs/{org}/invitations/{invitation_id}\",\n \"/orgs/{org}/teams/{team_slug}/discussions\",\n \"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n \"/repos/{owner}/{repo}/collaborators/{username}\",\n \"/repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n \"/repos/{owner}/{repo}/issues\",\n \"/repos/{owner}/{repo}/issues/{issue_number}/comments\",\n \"/repos/{owner}/{repo}/issues/{issue_number}/sub_issue\",\n \"/repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority\",\n \"/repos/{owner}/{repo}/pulls\",\n \"/repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n \"/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies\",\n \"/repos/{owner}/{repo}/pulls/{pull_number}/merge\",\n \"/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n \"/repos/{owner}/{repo}/pulls/{pull_number}/reviews\",\n \"/repos/{owner}/{repo}/releases\",\n \"/teams/{team_id}/discussions\",\n \"/teams/{team_id}/discussions/{discussion_number}/comments\"\n];\n\n// pkg/dist-src/route-matcher.js\nfunction routeMatcher(paths) {\n const regexes = paths.map(\n (path) => path.split(\"/\").map((c) => c.startsWith(\"{\") ? \"(?:.+?)\" : c).join(\"/\")\n );\n const regex2 = `^(?:${regexes.map((r) => `(?:${r})`).join(\"|\")})[^/]*$`;\n return new RegExp(regex2, \"i\");\n}\n\n// pkg/dist-src/index.js\nvar regex = routeMatcher(triggers_notification_paths_default);\nvar triggersNotification = regex.test.bind(regex);\nvar groups = {};\nvar createGroups = function(Bottleneck, common) {\n groups.global = new Bottleneck.Group({\n id: \"octokit-global\",\n maxConcurrent: 10,\n ...common\n });\n groups.auth = new Bottleneck.Group({\n id: \"octokit-auth\",\n maxConcurrent: 1,\n ...common\n });\n groups.search = new Bottleneck.Group({\n id: \"octokit-search\",\n maxConcurrent: 1,\n minTime: 2e3,\n ...common\n });\n groups.write = new Bottleneck.Group({\n id: \"octokit-write\",\n maxConcurrent: 1,\n minTime: 1e3,\n ...common\n });\n groups.notifications = new Bottleneck.Group({\n id: \"octokit-notifications\",\n maxConcurrent: 1,\n minTime: 3e3,\n ...common\n });\n};\nfunction throttling(octokit, octokitOptions) {\n const {\n enabled = true,\n Bottleneck = BottleneckLight,\n id = \"no-id\",\n timeout = 1e3 * 60 * 2,\n // Redis TTL: 2 minutes\n connection\n } = octokitOptions.throttle || {};\n if (!enabled) {\n return {};\n }\n const common = { timeout };\n if (typeof connection !== \"undefined\") {\n common.connection = connection;\n }\n if (groups.global == null) {\n createGroups(Bottleneck, common);\n }\n const state = Object.assign(\n {\n clustering: connection != null,\n triggersNotification,\n fallbackSecondaryRateRetryAfter: 60,\n retryAfterBaseValue: 1e3,\n retryLimiter: new Bottleneck(),\n id,\n ...groups\n },\n octokitOptions.throttle\n );\n if (typeof state.onSecondaryRateLimit !== \"function\" || typeof state.onRateLimit !== \"function\") {\n throw new Error(`octokit/plugin-throttling error:\n You must pass the onSecondaryRateLimit and onRateLimit error handlers.\n See https://octokit.github.io/rest.js/#throttling\n\n const octokit = new Octokit({\n throttle: {\n onSecondaryRateLimit: (retryAfter, options) => {/* ... */},\n onRateLimit: (retryAfter, options) => {/* ... */}\n }\n })\n `);\n }\n const events = {};\n const emitter = new Bottleneck.Events(events);\n events.on(\"secondary-limit\", state.onSecondaryRateLimit);\n events.on(\"rate-limit\", state.onRateLimit);\n events.on(\n \"error\",\n (e) => octokit.log.warn(\"Error in throttling-plugin limit handler\", e)\n );\n state.retryLimiter.on(\"failed\", async function(error, info) {\n const [state2, request, options] = info.args;\n const { pathname } = new URL(options.url, \"http://github.test\");\n const shouldRetryGraphQL = pathname.startsWith(\"/graphql\") && error.status !== 401;\n if (!(shouldRetryGraphQL || error.status === 403 || error.status === 429)) {\n return;\n }\n const retryCount = ~~request.retryCount;\n request.retryCount = retryCount;\n options.request.retryCount = retryCount;\n const { wantRetry, retryAfter = 0 } = await async function() {\n if (/\\bsecondary rate\\b/i.test(error.message)) {\n const retryAfter2 = Number(error.response.headers[\"retry-after\"]) || state2.fallbackSecondaryRateRetryAfter;\n const wantRetry2 = await emitter.trigger(\n \"secondary-limit\",\n retryAfter2,\n options,\n octokit,\n retryCount\n );\n return { wantRetry: wantRetry2, retryAfter: retryAfter2 };\n }\n if (error.response.headers != null && error.response.headers[\"x-ratelimit-remaining\"] === \"0\" || (error.response.data?.errors ?? []).some(\n (error2) => error2.type === \"RATE_LIMITED\"\n )) {\n const rateLimitReset = new Date(\n ~~error.response.headers[\"x-ratelimit-reset\"] * 1e3\n ).getTime();\n const retryAfter2 = Math.max(\n // Add one second so we retry _after_ the reset time\n // https://docs.github.com/en/rest/overview/resources-in-the-rest-api?apiVersion=2022-11-28#exceeding-the-rate-limit\n Math.ceil((rateLimitReset - Date.now()) / 1e3) + 1,\n 0\n );\n const wantRetry2 = await emitter.trigger(\n \"rate-limit\",\n retryAfter2,\n options,\n octokit,\n retryCount\n );\n return { wantRetry: wantRetry2, retryAfter: retryAfter2 };\n }\n return {};\n }();\n if (wantRetry) {\n request.retryCount++;\n return retryAfter * state2.retryAfterBaseValue;\n }\n });\n octokit.hook.wrap(\"request\", wrapRequest.bind(null, state));\n return {};\n}\nthrottling.VERSION = VERSION;\nthrottling.triggersNotification = triggersNotification;\nexport {\n throttling\n};\n","function oauthAuthorizationUrl(options) {\n const clientType = options.clientType || \"oauth-app\";\n const baseUrl = options.baseUrl || \"https://github.com\";\n const result = {\n clientType,\n allowSignup: options.allowSignup === false ? false : true,\n clientId: options.clientId,\n login: options.login || null,\n redirectUrl: options.redirectUrl || null,\n state: options.state || Math.random().toString(36).substr(2),\n url: \"\"\n };\n if (clientType === \"oauth-app\") {\n const scopes = \"scopes\" in options ? options.scopes : [];\n result.scopes = typeof scopes === \"string\" ? scopes.split(/[,\\s]+/).filter(Boolean) : scopes;\n }\n result.url = urlBuilderAuthorize(`${baseUrl}/login/oauth/authorize`, result);\n return result;\n}\nfunction urlBuilderAuthorize(base, options) {\n const map = {\n allowSignup: \"allow_signup\",\n clientId: \"client_id\",\n login: \"login\",\n redirectUrl: \"redirect_uri\",\n scopes: \"scope\",\n state: \"state\"\n };\n let url = base;\n Object.keys(map).filter((k) => options[k] !== null).filter((k) => {\n if (k !== \"scopes\") return true;\n if (options.clientType === \"github-app\") return false;\n return !Array.isArray(options[k]) || options[k].length > 0;\n }).map((key) => [map[key], `${options[key]}`]).forEach(([key, value], index) => {\n url += index === 0 ? `?` : \"&\";\n url += `${key}=${encodeURIComponent(value)}`;\n });\n return url;\n}\nexport {\n oauthAuthorizationUrl\n};\n","// pkg/dist-src/version.js\nvar VERSION = \"0.0.0-development\";\n\n// pkg/dist-src/get-web-flow-authorization-url.js\nimport { oauthAuthorizationUrl } from \"@octokit/oauth-authorization-url\";\nimport { request as defaultRequest } from \"@octokit/request\";\n\n// pkg/dist-src/utils.js\nimport { RequestError } from \"@octokit/request-error\";\nfunction requestToOAuthBaseUrl(request) {\n const endpointDefaults = request.endpoint.DEFAULTS;\n return /^https:\\/\\/(api\\.)?github\\.com$/.test(endpointDefaults.baseUrl) ? \"https://github.com\" : endpointDefaults.baseUrl.replace(\"/api/v3\", \"\");\n}\nasync function oauthRequest(request, route, parameters) {\n const withOAuthParameters = {\n baseUrl: requestToOAuthBaseUrl(request),\n headers: {\n accept: \"application/json\"\n },\n ...parameters\n };\n const response = await request(route, withOAuthParameters);\n if (\"error\" in response.data) {\n const error = new RequestError(\n `${response.data.error_description} (${response.data.error}, ${response.data.error_uri})`,\n 400,\n {\n request: request.endpoint.merge(\n route,\n withOAuthParameters\n )\n }\n );\n error.response = response;\n throw error;\n }\n return response;\n}\n\n// pkg/dist-src/get-web-flow-authorization-url.js\nfunction getWebFlowAuthorizationUrl({\n request = defaultRequest,\n ...options\n}) {\n const baseUrl = requestToOAuthBaseUrl(request);\n return oauthAuthorizationUrl({\n ...options,\n baseUrl\n });\n}\n\n// pkg/dist-src/exchange-web-flow-code.js\nimport { request as defaultRequest2 } from \"@octokit/request\";\nasync function exchangeWebFlowCode(options) {\n const request = options.request || defaultRequest2;\n const response = await oauthRequest(\n request,\n \"POST /login/oauth/access_token\",\n {\n client_id: options.clientId,\n client_secret: options.clientSecret,\n code: options.code,\n redirect_uri: options.redirectUrl\n }\n );\n const authentication = {\n clientType: options.clientType,\n clientId: options.clientId,\n clientSecret: options.clientSecret,\n token: response.data.access_token,\n scopes: response.data.scope.split(/\\s+/).filter(Boolean)\n };\n if (options.clientType === \"github-app\") {\n if (\"refresh_token\" in response.data) {\n const apiTimeInMs = new Date(response.headers.date).getTime();\n authentication.refreshToken = response.data.refresh_token, authentication.expiresAt = toTimestamp(\n apiTimeInMs,\n response.data.expires_in\n ), authentication.refreshTokenExpiresAt = toTimestamp(\n apiTimeInMs,\n response.data.refresh_token_expires_in\n );\n }\n delete authentication.scopes;\n }\n return { ...response, authentication };\n}\nfunction toTimestamp(apiTimeInMs, expirationInSeconds) {\n return new Date(apiTimeInMs + expirationInSeconds * 1e3).toISOString();\n}\n\n// pkg/dist-src/create-device-code.js\nimport { request as defaultRequest3 } from \"@octokit/request\";\nasync function createDeviceCode(options) {\n const request = options.request || defaultRequest3;\n const parameters = {\n client_id: options.clientId\n };\n if (\"scopes\" in options && Array.isArray(options.scopes)) {\n parameters.scope = options.scopes.join(\" \");\n }\n return oauthRequest(request, \"POST /login/device/code\", parameters);\n}\n\n// pkg/dist-src/exchange-device-code.js\nimport { request as defaultRequest4 } from \"@octokit/request\";\nasync function exchangeDeviceCode(options) {\n const request = options.request || defaultRequest4;\n const response = await oauthRequest(\n request,\n \"POST /login/oauth/access_token\",\n {\n client_id: options.clientId,\n device_code: options.code,\n grant_type: \"urn:ietf:params:oauth:grant-type:device_code\"\n }\n );\n const authentication = {\n clientType: options.clientType,\n clientId: options.clientId,\n token: response.data.access_token,\n scopes: response.data.scope.split(/\\s+/).filter(Boolean)\n };\n if (\"clientSecret\" in options) {\n authentication.clientSecret = options.clientSecret;\n }\n if (options.clientType === \"github-app\") {\n if (\"refresh_token\" in response.data) {\n const apiTimeInMs = new Date(response.headers.date).getTime();\n authentication.refreshToken = response.data.refresh_token, authentication.expiresAt = toTimestamp2(\n apiTimeInMs,\n response.data.expires_in\n ), authentication.refreshTokenExpiresAt = toTimestamp2(\n apiTimeInMs,\n response.data.refresh_token_expires_in\n );\n }\n delete authentication.scopes;\n }\n return { ...response, authentication };\n}\nfunction toTimestamp2(apiTimeInMs, expirationInSeconds) {\n return new Date(apiTimeInMs + expirationInSeconds * 1e3).toISOString();\n}\n\n// pkg/dist-src/check-token.js\nimport { request as defaultRequest5 } from \"@octokit/request\";\nasync function checkToken(options) {\n const request = options.request || defaultRequest5;\n const response = await request(\"POST /applications/{client_id}/token\", {\n headers: {\n authorization: `basic ${btoa(\n `${options.clientId}:${options.clientSecret}`\n )}`\n },\n client_id: options.clientId,\n access_token: options.token\n });\n const authentication = {\n clientType: options.clientType,\n clientId: options.clientId,\n clientSecret: options.clientSecret,\n token: options.token,\n scopes: response.data.scopes\n };\n if (response.data.expires_at)\n authentication.expiresAt = response.data.expires_at;\n if (options.clientType === \"github-app\") {\n delete authentication.scopes;\n }\n return { ...response, authentication };\n}\n\n// pkg/dist-src/refresh-token.js\nimport { request as defaultRequest6 } from \"@octokit/request\";\nasync function refreshToken(options) {\n const request = options.request || defaultRequest6;\n const response = await oauthRequest(\n request,\n \"POST /login/oauth/access_token\",\n {\n client_id: options.clientId,\n client_secret: options.clientSecret,\n grant_type: \"refresh_token\",\n refresh_token: options.refreshToken\n }\n );\n const apiTimeInMs = new Date(response.headers.date).getTime();\n const authentication = {\n clientType: \"github-app\",\n clientId: options.clientId,\n clientSecret: options.clientSecret,\n token: response.data.access_token,\n refreshToken: response.data.refresh_token,\n expiresAt: toTimestamp3(apiTimeInMs, response.data.expires_in),\n refreshTokenExpiresAt: toTimestamp3(\n apiTimeInMs,\n response.data.refresh_token_expires_in\n )\n };\n return { ...response, authentication };\n}\nfunction toTimestamp3(apiTimeInMs, expirationInSeconds) {\n return new Date(apiTimeInMs + expirationInSeconds * 1e3).toISOString();\n}\n\n// pkg/dist-src/scope-token.js\nimport { request as defaultRequest7 } from \"@octokit/request\";\nasync function scopeToken(options) {\n const {\n request: optionsRequest,\n clientType,\n clientId,\n clientSecret,\n token,\n ...requestOptions\n } = options;\n const request = options.request || defaultRequest7;\n const response = await request(\n \"POST /applications/{client_id}/token/scoped\",\n {\n headers: {\n authorization: `basic ${btoa(`${clientId}:${clientSecret}`)}`\n },\n client_id: clientId,\n access_token: token,\n ...requestOptions\n }\n );\n const authentication = Object.assign(\n {\n clientType,\n clientId,\n clientSecret,\n token: response.data.token\n },\n response.data.expires_at ? { expiresAt: response.data.expires_at } : {}\n );\n return { ...response, authentication };\n}\n\n// pkg/dist-src/reset-token.js\nimport { request as defaultRequest8 } from \"@octokit/request\";\nasync function resetToken(options) {\n const request = options.request || defaultRequest8;\n const auth = btoa(`${options.clientId}:${options.clientSecret}`);\n const response = await request(\n \"PATCH /applications/{client_id}/token\",\n {\n headers: {\n authorization: `basic ${auth}`\n },\n client_id: options.clientId,\n access_token: options.token\n }\n );\n const authentication = {\n clientType: options.clientType,\n clientId: options.clientId,\n clientSecret: options.clientSecret,\n token: response.data.token,\n scopes: response.data.scopes\n };\n if (response.data.expires_at)\n authentication.expiresAt = response.data.expires_at;\n if (options.clientType === \"github-app\") {\n delete authentication.scopes;\n }\n return { ...response, authentication };\n}\n\n// pkg/dist-src/delete-token.js\nimport { request as defaultRequest9 } from \"@octokit/request\";\nasync function deleteToken(options) {\n const request = options.request || defaultRequest9;\n const auth = btoa(`${options.clientId}:${options.clientSecret}`);\n return request(\n \"DELETE /applications/{client_id}/token\",\n {\n headers: {\n authorization: `basic ${auth}`\n },\n client_id: options.clientId,\n access_token: options.token\n }\n );\n}\n\n// pkg/dist-src/delete-authorization.js\nimport { request as defaultRequest10 } from \"@octokit/request\";\nasync function deleteAuthorization(options) {\n const request = options.request || defaultRequest10;\n const auth = btoa(`${options.clientId}:${options.clientSecret}`);\n return request(\n \"DELETE /applications/{client_id}/grant\",\n {\n headers: {\n authorization: `basic ${auth}`\n },\n client_id: options.clientId,\n access_token: options.token\n }\n );\n}\nexport {\n VERSION,\n checkToken,\n createDeviceCode,\n deleteAuthorization,\n deleteToken,\n exchangeDeviceCode,\n exchangeWebFlowCode,\n getWebFlowAuthorizationUrl,\n refreshToken,\n resetToken,\n scopeToken\n};\n","// pkg/dist-src/index.js\nimport { getUserAgent } from \"universal-user-agent\";\nimport { request as octokitRequest } from \"@octokit/request\";\n\n// pkg/dist-src/get-oauth-access-token.js\nimport { createDeviceCode, exchangeDeviceCode } from \"@octokit/oauth-methods\";\nasync function getOAuthAccessToken(state, options) {\n const cachedAuthentication = getCachedAuthentication(state, options.auth);\n if (cachedAuthentication) return cachedAuthentication;\n const { data: verification } = await createDeviceCode({\n clientType: state.clientType,\n clientId: state.clientId,\n request: options.request || state.request,\n // @ts-expect-error the extra code to make TS happy is not worth it\n scopes: options.auth.scopes || state.scopes\n });\n await state.onVerification(verification);\n const authentication = await waitForAccessToken(\n options.request || state.request,\n state.clientId,\n state.clientType,\n verification\n );\n state.authentication = authentication;\n return authentication;\n}\nfunction getCachedAuthentication(state, auth2) {\n if (auth2.refresh === true) return false;\n if (!state.authentication) return false;\n if (state.clientType === \"github-app\") {\n return state.authentication;\n }\n const authentication = state.authentication;\n const newScope = (\"scopes\" in auth2 && auth2.scopes || state.scopes).join(\n \" \"\n );\n const currentScope = authentication.scopes.join(\" \");\n return newScope === currentScope ? authentication : false;\n}\nasync function wait(seconds) {\n await new Promise((resolve) => setTimeout(resolve, seconds * 1e3));\n}\nasync function waitForAccessToken(request, clientId, clientType, verification) {\n try {\n const options = {\n clientId,\n request,\n code: verification.device_code\n };\n const { authentication } = clientType === \"oauth-app\" ? await exchangeDeviceCode({\n ...options,\n clientType: \"oauth-app\"\n }) : await exchangeDeviceCode({\n ...options,\n clientType: \"github-app\"\n });\n return {\n type: \"token\",\n tokenType: \"oauth\",\n ...authentication\n };\n } catch (error) {\n if (!error.response) throw error;\n const errorType = error.response.data.error;\n if (errorType === \"authorization_pending\") {\n await wait(verification.interval);\n return waitForAccessToken(request, clientId, clientType, verification);\n }\n if (errorType === \"slow_down\") {\n await wait(verification.interval + 7);\n return waitForAccessToken(request, clientId, clientType, verification);\n }\n throw error;\n }\n}\n\n// pkg/dist-src/auth.js\nasync function auth(state, authOptions) {\n return getOAuthAccessToken(state, {\n auth: authOptions\n });\n}\n\n// pkg/dist-src/hook.js\nasync function hook(state, request, route, parameters) {\n let endpoint = request.endpoint.merge(\n route,\n parameters\n );\n if (/\\/login\\/(oauth\\/access_token|device\\/code)$/.test(endpoint.url)) {\n return request(endpoint);\n }\n const { token } = await getOAuthAccessToken(state, {\n request,\n auth: { type: \"oauth\" }\n });\n endpoint.headers.authorization = `token ${token}`;\n return request(endpoint);\n}\n\n// pkg/dist-src/version.js\nvar VERSION = \"0.0.0-development\";\n\n// pkg/dist-src/index.js\nfunction createOAuthDeviceAuth(options) {\n const requestWithDefaults = options.request || octokitRequest.defaults({\n headers: {\n \"user-agent\": `octokit-auth-oauth-device.js/${VERSION} ${getUserAgent()}`\n }\n });\n const { request = requestWithDefaults, ...otherOptions } = options;\n const state = options.clientType === \"github-app\" ? {\n ...otherOptions,\n clientType: \"github-app\",\n request\n } : {\n ...otherOptions,\n clientType: \"oauth-app\",\n request,\n scopes: options.scopes || []\n };\n if (!options.clientId) {\n throw new Error(\n '[@octokit/auth-oauth-device] \"clientId\" option must be set (https://github.com/octokit/auth-oauth-device.js#usage)'\n );\n }\n if (!options.onVerification) {\n throw new Error(\n '[@octokit/auth-oauth-device] \"onVerification\" option must be a function (https://github.com/octokit/auth-oauth-device.js#usage)'\n );\n }\n return Object.assign(auth.bind(null, state), {\n hook: hook.bind(null, state)\n });\n}\nexport {\n createOAuthDeviceAuth\n};\n","// pkg/dist-src/index.js\nimport { getUserAgent } from \"universal-user-agent\";\nimport { request as octokitRequest } from \"@octokit/request\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"0.0.0-development\";\n\n// pkg/dist-src/get-authentication.js\nimport { createOAuthDeviceAuth } from \"@octokit/auth-oauth-device\";\nimport { exchangeWebFlowCode } from \"@octokit/oauth-methods\";\nasync function getAuthentication(state) {\n if (\"code\" in state.strategyOptions) {\n const { authentication } = await exchangeWebFlowCode({\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n clientType: state.clientType,\n onTokenCreated: state.onTokenCreated,\n ...state.strategyOptions,\n request: state.request\n });\n return {\n type: \"token\",\n tokenType: \"oauth\",\n ...authentication\n };\n }\n if (\"onVerification\" in state.strategyOptions) {\n const deviceAuth = createOAuthDeviceAuth({\n clientType: state.clientType,\n clientId: state.clientId,\n onTokenCreated: state.onTokenCreated,\n ...state.strategyOptions,\n request: state.request\n });\n const authentication = await deviceAuth({\n type: \"oauth\"\n });\n return {\n clientSecret: state.clientSecret,\n ...authentication\n };\n }\n if (\"token\" in state.strategyOptions) {\n return {\n type: \"token\",\n tokenType: \"oauth\",\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n clientType: state.clientType,\n onTokenCreated: state.onTokenCreated,\n ...state.strategyOptions\n };\n }\n throw new Error(\"[@octokit/auth-oauth-user] Invalid strategy options\");\n}\n\n// pkg/dist-src/auth.js\nimport {\n checkToken,\n deleteAuthorization,\n deleteToken,\n refreshToken,\n resetToken\n} from \"@octokit/oauth-methods\";\nasync function auth(state, options = {}) {\n if (!state.authentication) {\n state.authentication = state.clientType === \"oauth-app\" ? await getAuthentication(state) : await getAuthentication(state);\n }\n if (state.authentication.invalid) {\n throw new Error(\"[@octokit/auth-oauth-user] Token is invalid\");\n }\n const currentAuthentication = state.authentication;\n if (\"expiresAt\" in currentAuthentication) {\n if (options.type === \"refresh\" || new Date(currentAuthentication.expiresAt) < /* @__PURE__ */ new Date()) {\n const { authentication } = await refreshToken({\n clientType: \"github-app\",\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n refreshToken: currentAuthentication.refreshToken,\n request: state.request\n });\n state.authentication = {\n tokenType: \"oauth\",\n type: \"token\",\n ...authentication\n };\n }\n }\n if (options.type === \"refresh\") {\n if (state.clientType === \"oauth-app\") {\n throw new Error(\n \"[@octokit/auth-oauth-user] OAuth Apps do not support expiring tokens\"\n );\n }\n if (!currentAuthentication.hasOwnProperty(\"expiresAt\")) {\n throw new Error(\"[@octokit/auth-oauth-user] Refresh token missing\");\n }\n await state.onTokenCreated?.(state.authentication, {\n type: options.type\n });\n }\n if (options.type === \"check\" || options.type === \"reset\") {\n const method = options.type === \"check\" ? checkToken : resetToken;\n try {\n const { authentication } = await method({\n // @ts-expect-error making TS happy would require unnecessary code so no\n clientType: state.clientType,\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n token: state.authentication.token,\n request: state.request\n });\n state.authentication = {\n tokenType: \"oauth\",\n type: \"token\",\n // @ts-expect-error TBD\n ...authentication\n };\n if (options.type === \"reset\") {\n await state.onTokenCreated?.(state.authentication, {\n type: options.type\n });\n }\n return state.authentication;\n } catch (error) {\n if (error.status === 404) {\n error.message = \"[@octokit/auth-oauth-user] Token is invalid\";\n state.authentication.invalid = true;\n }\n throw error;\n }\n }\n if (options.type === \"delete\" || options.type === \"deleteAuthorization\") {\n const method = options.type === \"delete\" ? deleteToken : deleteAuthorization;\n try {\n await method({\n // @ts-expect-error making TS happy would require unnecessary code so no\n clientType: state.clientType,\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n token: state.authentication.token,\n request: state.request\n });\n } catch (error) {\n if (error.status !== 404) throw error;\n }\n state.authentication.invalid = true;\n return state.authentication;\n }\n return state.authentication;\n}\n\n// pkg/dist-src/requires-basic-auth.js\nvar ROUTES_REQUIRING_BASIC_AUTH = /\\/applications\\/[^/]+\\/(token|grant)s?/;\nfunction requiresBasicAuth(url) {\n return url && ROUTES_REQUIRING_BASIC_AUTH.test(url);\n}\n\n// pkg/dist-src/hook.js\nasync function hook(state, request, route, parameters = {}) {\n const endpoint = request.endpoint.merge(\n route,\n parameters\n );\n if (/\\/login\\/(oauth\\/access_token|device\\/code)$/.test(endpoint.url)) {\n return request(endpoint);\n }\n if (requiresBasicAuth(endpoint.url)) {\n const credentials = btoa(`${state.clientId}:${state.clientSecret}`);\n endpoint.headers.authorization = `basic ${credentials}`;\n return request(endpoint);\n }\n const { token } = state.clientType === \"oauth-app\" ? await auth({ ...state, request }) : await auth({ ...state, request });\n endpoint.headers.authorization = \"token \" + token;\n return request(endpoint);\n}\n\n// pkg/dist-src/index.js\nfunction createOAuthUserAuth({\n clientId,\n clientSecret,\n clientType = \"oauth-app\",\n request = octokitRequest.defaults({\n headers: {\n \"user-agent\": `octokit-auth-oauth-app.js/${VERSION} ${getUserAgent()}`\n }\n }),\n onTokenCreated,\n ...strategyOptions\n}) {\n const state = Object.assign({\n clientType,\n clientId,\n clientSecret,\n onTokenCreated,\n strategyOptions,\n request\n });\n return Object.assign(auth.bind(null, state), {\n // @ts-expect-error not worth the extra code needed to appease TS\n hook: hook.bind(null, state)\n });\n}\ncreateOAuthUserAuth.VERSION = VERSION;\nexport {\n createOAuthUserAuth,\n requiresBasicAuth\n};\n","// pkg/dist-src/index.js\nimport { getUserAgent } from \"universal-user-agent\";\nimport { request } from \"@octokit/request\";\n\n// pkg/dist-src/auth.js\nimport { createOAuthUserAuth } from \"@octokit/auth-oauth-user\";\nasync function auth(state, authOptions) {\n if (authOptions.type === \"oauth-app\") {\n return {\n type: \"oauth-app\",\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n clientType: state.clientType,\n headers: {\n authorization: `basic ${btoa(\n `${state.clientId}:${state.clientSecret}`\n )}`\n }\n };\n }\n if (\"factory\" in authOptions) {\n const { type, ...options } = {\n ...authOptions,\n ...state\n };\n return authOptions.factory(options);\n }\n const common = {\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n request: state.request,\n ...authOptions\n };\n const userAuth = state.clientType === \"oauth-app\" ? await createOAuthUserAuth({\n ...common,\n clientType: state.clientType\n }) : await createOAuthUserAuth({\n ...common,\n clientType: state.clientType\n });\n return userAuth();\n}\n\n// pkg/dist-src/hook.js\nimport { requiresBasicAuth } from \"@octokit/auth-oauth-user\";\nasync function hook(state, request2, route, parameters) {\n let endpoint = request2.endpoint.merge(\n route,\n parameters\n );\n if (/\\/login\\/(oauth\\/access_token|device\\/code)$/.test(endpoint.url)) {\n return request2(endpoint);\n }\n if (state.clientType === \"github-app\" && !requiresBasicAuth(endpoint.url)) {\n throw new Error(\n `[@octokit/auth-oauth-app] GitHub Apps cannot use their client ID/secret for basic authentication for endpoints other than \"/applications/{client_id}/**\". \"${endpoint.method} ${endpoint.url}\" is not supported.`\n );\n }\n const credentials = btoa(`${state.clientId}:${state.clientSecret}`);\n endpoint.headers.authorization = `basic ${credentials}`;\n try {\n return await request2(endpoint);\n } catch (error) {\n if (error.status !== 401) throw error;\n error.message = `[@octokit/auth-oauth-app] \"${endpoint.method} ${endpoint.url}\" does not support clientId/clientSecret basic authentication.`;\n throw error;\n }\n}\n\n// pkg/dist-src/version.js\nvar VERSION = \"0.0.0-development\";\n\n// pkg/dist-src/index.js\nimport { createOAuthUserAuth as createOAuthUserAuth2 } from \"@octokit/auth-oauth-user\";\nfunction createOAuthAppAuth(options) {\n const state = Object.assign(\n {\n request: request.defaults({\n headers: {\n \"user-agent\": `octokit-auth-oauth-app.js/${VERSION} ${getUserAgent()}`\n }\n }),\n clientType: \"oauth-app\"\n },\n options\n );\n return Object.assign(auth.bind(null, state), {\n hook: hook.bind(null, state)\n });\n}\nexport {\n createOAuthAppAuth,\n createOAuthUserAuth2 as createOAuthUserAuth\n};\n","// we don't @ts-check here because it chokes on atob and btoa which are available in all modern JS runtime environments\n\n/**\n * @param {string} privateKey\n * @returns {boolean}\n */\nexport function isPkcs1(privateKey) {\n return privateKey.includes(\"-----BEGIN RSA PRIVATE KEY-----\");\n}\n\n/**\n * @param {string} privateKey\n * @returns {boolean}\n */\nexport function isOpenSsh(privateKey) {\n return privateKey.includes(\"-----BEGIN OPENSSH PRIVATE KEY-----\");\n}\n\n/**\n * @param {string} str\n * @returns {ArrayBuffer}\n */\nexport function string2ArrayBuffer(str) {\n const buf = new ArrayBuffer(str.length);\n const bufView = new Uint8Array(buf);\n for (let i = 0, strLen = str.length; i < strLen; i++) {\n bufView[i] = str.charCodeAt(i);\n }\n return buf;\n}\n\n/**\n * @param {string} pem\n * @returns {ArrayBuffer}\n */\nexport function getDERfromPEM(pem) {\n const pemB64 = pem\n .trim()\n .split(\"\\n\")\n .slice(1, -1) // Remove the --- BEGIN / END PRIVATE KEY ---\n .join(\"\");\n\n const decoded = atob(pemB64);\n return string2ArrayBuffer(decoded);\n}\n\n/**\n * @param {import('../internals').Header} header\n * @param {import('../internals').Payload} payload\n * @returns {string}\n */\nexport function getEncodedMessage(header, payload) {\n return `${base64encodeJSON(header)}.${base64encodeJSON(payload)}`;\n}\n\n/**\n * @param {ArrayBuffer} buffer\n * @returns {string}\n */\nexport function base64encode(buffer) {\n var binary = \"\";\n var bytes = new Uint8Array(buffer);\n var len = bytes.byteLength;\n for (var i = 0; i < len; i++) {\n binary += String.fromCharCode(bytes[i]);\n }\n\n return fromBase64(btoa(binary));\n}\n\n/**\n * @param {string} base64\n * @returns {string}\n */\nfunction fromBase64(base64) {\n return base64.replace(/=/g, \"\").replace(/\\+/g, \"-\").replace(/\\//g, \"_\");\n}\n\n/**\n * @param {Record} obj\n * @returns {string}\n */\nfunction base64encodeJSON(obj) {\n return fromBase64(btoa(JSON.stringify(obj)));\n}\n","const { subtle } = globalThis.crypto;\n\n// no-op, unfortunately there is no way to transform from PKCS8 or OpenSSH to PKCS1 with WebCrypto\nfunction convertPrivateKey(privateKey) {\n return privateKey;\n}\n\nexport { subtle, convertPrivateKey };\n","// we don't @ts-check here because it chokes crypto which is a global API in modern JS runtime environments\n\nimport {\n isPkcs1,\n isOpenSsh,\n getEncodedMessage,\n getDERfromPEM,\n string2ArrayBuffer,\n base64encode,\n} from \"./utils.js\";\n\nimport { subtle, convertPrivateKey } from \"#crypto\";\n\n/**\n * @param {import('../internals').GetTokenOptions} options\n * @returns {Promise}\n */\nexport async function getToken({ privateKey, payload }) {\n const convertedPrivateKey = convertPrivateKey(privateKey);\n\n // WebCrypto only supports PKCS#8, unfortunately\n /* c8 ignore start */\n if (isPkcs1(convertedPrivateKey)) {\n throw new Error(\n \"[universal-github-app-jwt] Private Key is in PKCS#1 format, but only PKCS#8 is supported. See https://github.com/gr2m/universal-github-app-jwt#private-key-formats\"\n );\n }\n /* c8 ignore stop */\n\n // WebCrypto does not support OpenSSH, unfortunately\n if (isOpenSsh(convertedPrivateKey)) {\n throw new Error(\n \"[universal-github-app-jwt] Private Key is in OpenSSH format, but only PKCS#8 is supported. See https://github.com/gr2m/universal-github-app-jwt#private-key-formats\"\n );\n }\n\n const algorithm = {\n name: \"RSASSA-PKCS1-v1_5\",\n hash: { name: \"SHA-256\" },\n };\n\n /** @type {import('../internals').Header} */\n const header = { alg: \"RS256\", typ: \"JWT\" };\n\n const privateKeyDER = getDERfromPEM(convertedPrivateKey);\n const importedKey = await subtle.importKey(\n \"pkcs8\",\n privateKeyDER,\n algorithm,\n false,\n [\"sign\"]\n );\n\n const encodedMessage = getEncodedMessage(header, payload);\n const encodedMessageArrBuf = string2ArrayBuffer(encodedMessage);\n\n const signatureArrBuf = await subtle.sign(\n algorithm.name,\n importedKey,\n encodedMessageArrBuf\n );\n\n const encodedSignature = base64encode(signatureArrBuf);\n\n return `${encodedMessage}.${encodedSignature}`;\n}\n","// @ts-check\n\n// @ts-ignore - #get-token is defined in \"imports\" in package.json\nimport { getToken } from \"./lib/get-token.js\";\n\n/**\n * @param {import(\".\").Options} options\n * @returns {Promise}\n */\nexport default async function githubAppJwt({\n id,\n privateKey,\n now = Math.floor(Date.now() / 1000),\n}) {\n // Private keys are often times configured as environment variables, in which case line breaks are escaped using `\\\\n`.\n // Replace these here for convenience.\n const privateKeyWithNewlines = privateKey.replace(/\\\\n/g, '\\n');\n\n // When creating a JSON Web Token, it sets the \"issued at time\" (iat) to 30s\n // in the past as we have seen people running situations where the GitHub API\n // claimed the iat would be in future. It turned out the clocks on the\n // different machine were not in sync.\n const nowWithSafetyMargin = now - 30;\n const expiration = nowWithSafetyMargin + 60 * 10; // JWT expiration time (10 minute maximum)\n\n const payload = {\n iat: nowWithSafetyMargin, // Issued at time\n exp: expiration,\n iss: id,\n };\n\n const token = await getToken({\n privateKey: privateKeyWithNewlines,\n payload,\n });\n\n return {\n appId: id,\n expiration,\n token,\n };\n}\n","/**\n * toad-cache\n *\n * @copyright 2024 Igor Savin \n * @license MIT\n * @version 3.7.0\n */\nclass FifoMap {\n constructor(max = 1000, ttlInMsecs = 0) {\n if (isNaN(max) || max < 0) {\n throw new Error('Invalid max value')\n }\n\n if (isNaN(ttlInMsecs) || ttlInMsecs < 0) {\n throw new Error('Invalid ttl value')\n }\n\n this.first = null;\n this.items = new Map();\n this.last = null;\n this.max = max;\n this.ttl = ttlInMsecs;\n }\n\n get size() {\n return this.items.size\n }\n\n clear() {\n this.items = new Map();\n this.first = null;\n this.last = null;\n }\n\n delete(key) {\n if (this.items.has(key)) {\n const deletedItem = this.items.get(key);\n\n this.items.delete(key);\n\n if (deletedItem.prev !== null) {\n deletedItem.prev.next = deletedItem.next;\n }\n\n if (deletedItem.next !== null) {\n deletedItem.next.prev = deletedItem.prev;\n }\n\n if (this.first === deletedItem) {\n this.first = deletedItem.next;\n }\n\n if (this.last === deletedItem) {\n this.last = deletedItem.prev;\n }\n }\n }\n\n deleteMany(keys) {\n for (var i = 0; i < keys.length; i++) {\n this.delete(keys[i]);\n }\n }\n\n evict() {\n if (this.size > 0) {\n const item = this.first;\n\n this.items.delete(item.key);\n\n if (this.size === 0) {\n this.first = null;\n this.last = null;\n } else {\n this.first = item.next;\n this.first.prev = null;\n }\n }\n }\n\n expiresAt(key) {\n if (this.items.has(key)) {\n return this.items.get(key).expiry\n }\n }\n\n get(key) {\n if (this.items.has(key)) {\n const item = this.items.get(key);\n\n if (this.ttl > 0 && item.expiry <= Date.now()) {\n this.delete(key);\n return\n }\n\n return item.value\n }\n }\n\n getMany(keys) {\n const result = [];\n\n for (var i = 0; i < keys.length; i++) {\n result.push(this.get(keys[i]));\n }\n\n return result\n }\n\n keys() {\n return this.items.keys()\n }\n\n set(key, value) {\n // Replace existing item\n if (this.items.has(key)) {\n const item = this.items.get(key);\n item.value = value;\n\n item.expiry = this.ttl > 0 ? Date.now() + this.ttl : this.ttl;\n\n return\n }\n\n // Add new item\n if (this.max > 0 && this.size === this.max) {\n this.evict();\n }\n\n const item = {\n expiry: this.ttl > 0 ? Date.now() + this.ttl : this.ttl,\n key: key,\n prev: this.last,\n next: null,\n value,\n };\n this.items.set(key, item);\n\n if (this.size === 1) {\n this.first = item;\n } else {\n this.last.next = item;\n }\n\n this.last = item;\n }\n}class LruMap {\n constructor(max = 1000, ttlInMsecs = 0) {\n if (isNaN(max) || max < 0) {\n throw new Error('Invalid max value')\n }\n\n if (isNaN(ttlInMsecs) || ttlInMsecs < 0) {\n throw new Error('Invalid ttl value')\n }\n\n this.first = null;\n this.items = new Map();\n this.last = null;\n this.max = max;\n this.ttl = ttlInMsecs;\n }\n\n get size() {\n return this.items.size\n }\n\n bumpLru(item) {\n if (this.last === item) {\n return // Item is already the last one, no need to bump\n }\n\n const last = this.last;\n const next = item.next;\n const prev = item.prev;\n\n if (this.first === item) {\n this.first = next;\n }\n\n item.next = null;\n item.prev = last;\n last.next = item;\n\n if (prev !== null) {\n prev.next = next;\n }\n\n if (next !== null) {\n next.prev = prev;\n }\n\n this.last = item;\n }\n\n clear() {\n this.items = new Map();\n this.first = null;\n this.last = null;\n }\n\n delete(key) {\n if (this.items.has(key)) {\n const item = this.items.get(key);\n\n this.items.delete(key);\n\n if (item.prev !== null) {\n item.prev.next = item.next;\n }\n\n if (item.next !== null) {\n item.next.prev = item.prev;\n }\n\n if (this.first === item) {\n this.first = item.next;\n }\n\n if (this.last === item) {\n this.last = item.prev;\n }\n }\n }\n\n deleteMany(keys) {\n for (var i = 0; i < keys.length; i++) {\n this.delete(keys[i]);\n }\n }\n\n evict() {\n if (this.size > 0) {\n const item = this.first;\n\n this.items.delete(item.key);\n\n if (this.size === 0) {\n this.first = null;\n this.last = null;\n } else {\n this.first = item.next;\n this.first.prev = null;\n }\n }\n }\n\n expiresAt(key) {\n if (this.items.has(key)) {\n return this.items.get(key).expiry\n }\n }\n\n get(key) {\n if (this.items.has(key)) {\n const item = this.items.get(key);\n\n // Item has already expired\n if (this.ttl > 0 && item.expiry <= Date.now()) {\n this.delete(key);\n return\n }\n\n // Item is still fresh\n this.bumpLru(item);\n return item.value\n }\n }\n\n getMany(keys) {\n const result = [];\n\n for (var i = 0; i < keys.length; i++) {\n result.push(this.get(keys[i]));\n }\n\n return result\n }\n\n keys() {\n return this.items.keys()\n }\n\n set(key, value) {\n // Replace existing item\n if (this.items.has(key)) {\n const item = this.items.get(key);\n item.value = value;\n\n item.expiry = this.ttl > 0 ? Date.now() + this.ttl : this.ttl;\n\n if (this.last !== item) {\n this.bumpLru(item);\n }\n\n return\n }\n\n // Add new item\n if (this.max > 0 && this.size === this.max) {\n this.evict();\n }\n\n const item = {\n expiry: this.ttl > 0 ? Date.now() + this.ttl : this.ttl,\n key: key,\n prev: this.last,\n next: null,\n value,\n };\n this.items.set(key, item);\n\n if (this.size === 1) {\n this.first = item;\n } else {\n this.last.next = item;\n }\n\n this.last = item;\n }\n}class LruObject {\n constructor(max = 1000, ttlInMsecs = 0) {\n if (isNaN(max) || max < 0) {\n throw new Error('Invalid max value')\n }\n\n if (isNaN(ttlInMsecs) || ttlInMsecs < 0) {\n throw new Error('Invalid ttl value')\n }\n\n this.first = null;\n this.items = Object.create(null);\n this.last = null;\n this.size = 0;\n this.max = max;\n this.ttl = ttlInMsecs;\n }\n\n bumpLru(item) {\n if (this.last === item) {\n return // Item is already the last one, no need to bump\n }\n\n const last = this.last;\n const next = item.next;\n const prev = item.prev;\n\n if (this.first === item) {\n this.first = next;\n }\n\n item.next = null;\n item.prev = last;\n last.next = item;\n\n if (prev !== null) {\n prev.next = next;\n }\n\n if (next !== null) {\n next.prev = prev;\n }\n\n this.last = item;\n }\n\n clear() {\n this.items = Object.create(null);\n this.first = null;\n this.last = null;\n this.size = 0;\n }\n\n delete(key) {\n if (Object.prototype.hasOwnProperty.call(this.items, key)) {\n const item = this.items[key];\n\n delete this.items[key];\n this.size--;\n\n if (item.prev !== null) {\n item.prev.next = item.next;\n }\n\n if (item.next !== null) {\n item.next.prev = item.prev;\n }\n\n if (this.first === item) {\n this.first = item.next;\n }\n\n if (this.last === item) {\n this.last = item.prev;\n }\n }\n }\n\n deleteMany(keys) {\n for (var i = 0; i < keys.length; i++) {\n this.delete(keys[i]);\n }\n }\n\n evict() {\n if (this.size > 0) {\n const item = this.first;\n\n delete this.items[item.key];\n\n if (--this.size === 0) {\n this.first = null;\n this.last = null;\n } else {\n this.first = item.next;\n this.first.prev = null;\n }\n }\n }\n\n expiresAt(key) {\n if (Object.prototype.hasOwnProperty.call(this.items, key)) {\n return this.items[key].expiry\n }\n }\n\n get(key) {\n if (Object.prototype.hasOwnProperty.call(this.items, key)) {\n const item = this.items[key];\n\n // Item has already expired\n if (this.ttl > 0 && item.expiry <= Date.now()) {\n this.delete(key);\n return\n }\n\n // Item is still fresh\n this.bumpLru(item);\n return item.value\n }\n }\n\n getMany(keys) {\n const result = [];\n\n for (var i = 0; i < keys.length; i++) {\n result.push(this.get(keys[i]));\n }\n\n return result\n }\n\n keys() {\n return Object.keys(this.items)\n }\n\n set(key, value) {\n // Replace existing item\n if (Object.prototype.hasOwnProperty.call(this.items, key)) {\n const item = this.items[key];\n item.value = value;\n\n item.expiry = this.ttl > 0 ? Date.now() + this.ttl : this.ttl;\n\n if (this.last !== item) {\n this.bumpLru(item);\n }\n\n return\n }\n\n // Add new item\n if (this.max > 0 && this.size === this.max) {\n this.evict();\n }\n\n const item = {\n expiry: this.ttl > 0 ? Date.now() + this.ttl : this.ttl,\n key: key,\n prev: this.last,\n next: null,\n value,\n };\n this.items[key] = item;\n\n if (++this.size === 1) {\n this.first = item;\n } else {\n this.last.next = item;\n }\n\n this.last = item;\n }\n}class HitStatisticsRecord {\n constructor() {\n this.records = {};\n }\n\n initForCache(cacheId, currentTimeStamp) {\n this.records[cacheId] = {\n [currentTimeStamp]: {\n cacheSize: 0,\n hits: 0,\n falsyHits: 0,\n emptyHits: 0,\n misses: 0,\n expirations: 0,\n evictions: 0,\n invalidateOne: 0,\n invalidateAll: 0,\n sets: 0,\n },\n };\n }\n\n resetForCache(cacheId) {\n for (let key of Object.keys(this.records[cacheId])) {\n this.records[cacheId][key] = {\n cacheSize: 0,\n hits: 0,\n falsyHits: 0,\n emptyHits: 0,\n misses: 0,\n expirations: 0,\n evictions: 0,\n invalidateOne: 0,\n invalidateAll: 0,\n sets: 0,\n };\n }\n }\n\n getStatistics() {\n return this.records\n }\n}/**\n *\n * @param {Date} date\n * @returns {string}\n */\nfunction getTimestamp(date) {\n return `${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, '0')}-${date\n .getDate()\n .toString()\n .padStart(2, '0')}`\n}class HitStatistics {\n constructor(cacheId, statisticTtlInHours, globalStatisticsRecord) {\n this.cacheId = cacheId;\n this.statisticTtlInHours = statisticTtlInHours;\n\n this.collectionStart = new Date();\n this.currentTimeStamp = getTimestamp(this.collectionStart);\n\n this.records = globalStatisticsRecord || new HitStatisticsRecord();\n this.records.initForCache(this.cacheId, this.currentTimeStamp);\n }\n\n get currentRecord() {\n // safety net\n /* c8 ignore next 14 */\n if (!this.records.records[this.cacheId][this.currentTimeStamp]) {\n this.records.records[this.cacheId][this.currentTimeStamp] = {\n cacheSize: 0,\n hits: 0,\n falsyHits: 0,\n emptyHits: 0,\n misses: 0,\n expirations: 0,\n evictions: 0,\n sets: 0,\n invalidateOne: 0,\n invalidateAll: 0,\n };\n }\n\n return this.records.records[this.cacheId][this.currentTimeStamp]\n }\n\n hoursPassed() {\n return (Date.now() - this.collectionStart) / 1000 / 60 / 60\n }\n\n addHit() {\n this.archiveIfNeeded();\n this.currentRecord.hits++;\n }\n addFalsyHit() {\n this.archiveIfNeeded();\n this.currentRecord.falsyHits++;\n }\n\n addEmptyHit() {\n this.archiveIfNeeded();\n this.currentRecord.emptyHits++;\n }\n\n addMiss() {\n this.archiveIfNeeded();\n this.currentRecord.misses++;\n }\n\n addEviction() {\n this.archiveIfNeeded();\n this.currentRecord.evictions++;\n }\n\n setCacheSize(currentSize) {\n this.archiveIfNeeded();\n this.currentRecord.cacheSize = currentSize;\n }\n\n addExpiration() {\n this.archiveIfNeeded();\n this.currentRecord.expirations++;\n }\n\n addSet() {\n this.archiveIfNeeded();\n this.currentRecord.sets++;\n }\n\n addInvalidateOne() {\n this.archiveIfNeeded();\n this.currentRecord.invalidateOne++;\n }\n\n addInvalidateAll() {\n this.archiveIfNeeded();\n this.currentRecord.invalidateAll++;\n }\n\n getStatistics() {\n return this.records.getStatistics()\n }\n\n archiveIfNeeded() {\n if (this.hoursPassed() >= this.statisticTtlInHours) {\n this.collectionStart = new Date();\n this.currentTimeStamp = getTimestamp(this.collectionStart);\n this.records.initForCache(this.cacheId, this.currentTimeStamp);\n }\n }\n}class LruObjectHitStatistics extends LruObject {\n constructor(max, ttlInMsecs, cacheId, globalStatisticsRecord, statisticTtlInHours) {\n super(max || 1000, ttlInMsecs || 0);\n\n if (!cacheId) {\n throw new Error('Cache id is mandatory')\n }\n\n this.hitStatistics = new HitStatistics(\n cacheId,\n statisticTtlInHours !== undefined ? statisticTtlInHours : 24,\n globalStatisticsRecord,\n );\n }\n\n getStatistics() {\n return this.hitStatistics.getStatistics()\n }\n\n set(key, value) {\n super.set(key, value);\n this.hitStatistics.addSet();\n this.hitStatistics.setCacheSize(this.size);\n }\n\n evict() {\n super.evict();\n this.hitStatistics.addEviction();\n this.hitStatistics.setCacheSize(this.size);\n }\n\n delete(key, isExpiration = false) {\n super.delete(key);\n\n if (!isExpiration) {\n this.hitStatistics.addInvalidateOne();\n }\n this.hitStatistics.setCacheSize(this.size);\n }\n\n clear() {\n super.clear();\n\n this.hitStatistics.addInvalidateAll();\n this.hitStatistics.setCacheSize(this.size);\n }\n\n get(key) {\n if (Object.prototype.hasOwnProperty.call(this.items, key)) {\n const item = this.items[key];\n\n // Item has already expired\n if (this.ttl > 0 && item.expiry <= Date.now()) {\n this.delete(key, true);\n this.hitStatistics.addExpiration();\n return\n }\n\n // Item is still fresh\n this.bumpLru(item);\n if (!item.value) {\n this.hitStatistics.addFalsyHit();\n }\n if (item.value === undefined || item.value === null || item.value === '') {\n this.hitStatistics.addEmptyHit();\n }\n this.hitStatistics.addHit();\n return item.value\n }\n this.hitStatistics.addMiss();\n }\n}class FifoObject {\n constructor(max = 1000, ttlInMsecs = 0) {\n if (isNaN(max) || max < 0) {\n throw new Error('Invalid max value')\n }\n\n if (isNaN(ttlInMsecs) || ttlInMsecs < 0) {\n throw new Error('Invalid ttl value')\n }\n\n this.first = null;\n this.items = Object.create(null);\n this.last = null;\n this.size = 0;\n this.max = max;\n this.ttl = ttlInMsecs;\n }\n\n clear() {\n this.items = Object.create(null);\n this.first = null;\n this.last = null;\n this.size = 0;\n }\n\n delete(key) {\n if (Object.prototype.hasOwnProperty.call(this.items, key)) {\n const deletedItem = this.items[key];\n\n delete this.items[key];\n this.size--;\n\n if (deletedItem.prev !== null) {\n deletedItem.prev.next = deletedItem.next;\n }\n\n if (deletedItem.next !== null) {\n deletedItem.next.prev = deletedItem.prev;\n }\n\n if (this.first === deletedItem) {\n this.first = deletedItem.next;\n }\n\n if (this.last === deletedItem) {\n this.last = deletedItem.prev;\n }\n }\n }\n\n deleteMany(keys) {\n for (var i = 0; i < keys.length; i++) {\n this.delete(keys[i]);\n }\n }\n\n evict() {\n if (this.size > 0) {\n const item = this.first;\n\n delete this.items[item.key];\n\n if (--this.size === 0) {\n this.first = null;\n this.last = null;\n } else {\n this.first = item.next;\n this.first.prev = null;\n }\n }\n }\n\n expiresAt(key) {\n if (Object.prototype.hasOwnProperty.call(this.items, key)) {\n return this.items[key].expiry\n }\n }\n\n get(key) {\n if (Object.prototype.hasOwnProperty.call(this.items, key)) {\n const item = this.items[key];\n\n if (this.ttl > 0 && item.expiry <= Date.now()) {\n this.delete(key);\n return\n }\n\n return item.value\n }\n }\n\n getMany(keys) {\n const result = [];\n\n for (var i = 0; i < keys.length; i++) {\n result.push(this.get(keys[i]));\n }\n\n return result\n }\n\n keys() {\n return Object.keys(this.items)\n }\n\n set(key, value) {\n // Replace existing item\n if (Object.prototype.hasOwnProperty.call(this.items, key)) {\n const item = this.items[key];\n item.value = value;\n\n item.expiry = this.ttl > 0 ? Date.now() + this.ttl : this.ttl;\n\n return\n }\n\n // Add new item\n if (this.max > 0 && this.size === this.max) {\n this.evict();\n }\n\n const item = {\n expiry: this.ttl > 0 ? Date.now() + this.ttl : this.ttl,\n key: key,\n prev: this.last,\n next: null,\n value,\n };\n this.items[key] = item;\n\n if (++this.size === 1) {\n this.first = item;\n } else {\n this.last.next = item;\n }\n\n this.last = item;\n }\n}export{FifoObject as Fifo,FifoMap,FifoObject,HitStatisticsRecord,LruObject as Lru,LruObjectHitStatistics as LruHitStatistics,LruMap,LruObject,LruObjectHitStatistics};","// pkg/dist-src/index.js\nimport { getUserAgent } from \"universal-user-agent\";\nimport { request as defaultRequest } from \"@octokit/request\";\nimport { createOAuthAppAuth } from \"@octokit/auth-oauth-app\";\n\n// pkg/dist-src/get-app-authentication.js\nimport githubAppJwt from \"universal-github-app-jwt\";\nasync function getAppAuthentication({\n appId,\n privateKey,\n timeDifference,\n createJwt\n}) {\n try {\n if (createJwt) {\n const { jwt, expiresAt } = await createJwt(appId, timeDifference);\n return {\n type: \"app\",\n token: jwt,\n appId,\n expiresAt\n };\n }\n const authOptions = {\n id: appId,\n privateKey\n };\n if (timeDifference) {\n Object.assign(authOptions, {\n now: Math.floor(Date.now() / 1e3) + timeDifference\n });\n }\n const appAuthentication = await githubAppJwt(authOptions);\n return {\n type: \"app\",\n token: appAuthentication.token,\n appId: appAuthentication.appId,\n expiresAt: new Date(appAuthentication.expiration * 1e3).toISOString()\n };\n } catch (error) {\n if (privateKey === \"-----BEGIN RSA PRIVATE KEY-----\") {\n throw new Error(\n \"The 'privateKey` option contains only the first line '-----BEGIN RSA PRIVATE KEY-----'. If you are setting it using a `.env` file, make sure it is set on a single line with newlines replaced by '\\n'\"\n );\n } else {\n throw error;\n }\n }\n}\n\n// pkg/dist-src/cache.js\nimport { Lru } from \"toad-cache\";\nfunction getCache() {\n return new Lru(\n // cache max. 15000 tokens, that will use less than 10mb memory\n 15e3,\n // Cache for 1 minute less than GitHub expiry\n 1e3 * 60 * 59\n );\n}\nasync function get(cache, options) {\n const cacheKey = optionsToCacheKey(options);\n const result = await cache.get(cacheKey);\n if (!result) {\n return;\n }\n const [\n token,\n createdAt,\n expiresAt,\n repositorySelection,\n permissionsString,\n singleFileName\n ] = result.split(\"|\");\n const permissions = options.permissions || permissionsString.split(/,/).reduce((permissions2, string) => {\n if (/!$/.test(string)) {\n permissions2[string.slice(0, -1)] = \"write\";\n } else {\n permissions2[string] = \"read\";\n }\n return permissions2;\n }, {});\n return {\n token,\n createdAt,\n expiresAt,\n permissions,\n repositoryIds: options.repositoryIds,\n repositoryNames: options.repositoryNames,\n singleFileName,\n repositorySelection\n };\n}\nasync function set(cache, options, data) {\n const key = optionsToCacheKey(options);\n const permissionsString = options.permissions ? \"\" : Object.keys(data.permissions).map(\n (name) => `${name}${data.permissions[name] === \"write\" ? \"!\" : \"\"}`\n ).join(\",\");\n const value = [\n data.token,\n data.createdAt,\n data.expiresAt,\n data.repositorySelection,\n permissionsString,\n data.singleFileName\n ].join(\"|\");\n await cache.set(key, value);\n}\nfunction optionsToCacheKey({\n installationId,\n permissions = {},\n repositoryIds = [],\n repositoryNames = []\n}) {\n const permissionsString = Object.keys(permissions).sort().map((name) => permissions[name] === \"read\" ? name : `${name}!`).join(\",\");\n const repositoryIdsString = repositoryIds.sort().join(\",\");\n const repositoryNamesString = repositoryNames.join(\",\");\n return [\n installationId,\n repositoryIdsString,\n repositoryNamesString,\n permissionsString\n ].filter(Boolean).join(\"|\");\n}\n\n// pkg/dist-src/to-token-authentication.js\nfunction toTokenAuthentication({\n installationId,\n token,\n createdAt,\n expiresAt,\n repositorySelection,\n permissions,\n repositoryIds,\n repositoryNames,\n singleFileName\n}) {\n return Object.assign(\n {\n type: \"token\",\n tokenType: \"installation\",\n token,\n installationId,\n permissions,\n createdAt,\n expiresAt,\n repositorySelection\n },\n repositoryIds ? { repositoryIds } : null,\n repositoryNames ? { repositoryNames } : null,\n singleFileName ? { singleFileName } : null\n );\n}\n\n// pkg/dist-src/get-installation-authentication.js\nasync function getInstallationAuthentication(state, options, customRequest) {\n const installationId = Number(options.installationId || state.installationId);\n if (!installationId) {\n throw new Error(\n \"[@octokit/auth-app] installationId option is required for installation authentication.\"\n );\n }\n if (options.factory) {\n const { type, factory, oauthApp, ...factoryAuthOptions } = {\n ...state,\n ...options\n };\n return factory(factoryAuthOptions);\n }\n const request = customRequest || state.request;\n return getInstallationAuthenticationConcurrently(\n state,\n { ...options, installationId },\n request\n );\n}\nvar pendingPromises = /* @__PURE__ */ new Map();\nfunction getInstallationAuthenticationConcurrently(state, options, request) {\n const cacheKey = optionsToCacheKey(options);\n if (pendingPromises.has(cacheKey)) {\n return pendingPromises.get(cacheKey);\n }\n const promise = getInstallationAuthenticationImpl(\n state,\n options,\n request\n ).finally(() => pendingPromises.delete(cacheKey));\n pendingPromises.set(cacheKey, promise);\n return promise;\n}\nasync function getInstallationAuthenticationImpl(state, options, request) {\n if (!options.refresh) {\n const result = await get(state.cache, options);\n if (result) {\n const {\n token: token2,\n createdAt: createdAt2,\n expiresAt: expiresAt2,\n permissions: permissions2,\n repositoryIds: repositoryIds2,\n repositoryNames: repositoryNames2,\n singleFileName: singleFileName2,\n repositorySelection: repositorySelection2\n } = result;\n return toTokenAuthentication({\n installationId: options.installationId,\n token: token2,\n createdAt: createdAt2,\n expiresAt: expiresAt2,\n permissions: permissions2,\n repositorySelection: repositorySelection2,\n repositoryIds: repositoryIds2,\n repositoryNames: repositoryNames2,\n singleFileName: singleFileName2\n });\n }\n }\n const appAuthentication = await getAppAuthentication(state);\n const payload = {\n installation_id: options.installationId,\n mediaType: {\n previews: [\"machine-man\"]\n },\n headers: {\n authorization: `bearer ${appAuthentication.token}`\n }\n };\n if (options.repositoryIds) {\n Object.assign(payload, { repository_ids: options.repositoryIds });\n }\n if (options.repositoryNames) {\n Object.assign(payload, {\n repositories: options.repositoryNames\n });\n }\n if (options.permissions) {\n Object.assign(payload, { permissions: options.permissions });\n }\n const {\n data: {\n token,\n expires_at: expiresAt,\n repositories,\n permissions: permissionsOptional,\n repository_selection: repositorySelectionOptional,\n single_file: singleFileName\n }\n } = await request(\n \"POST /app/installations/{installation_id}/access_tokens\",\n payload\n );\n const permissions = permissionsOptional || {};\n const repositorySelection = repositorySelectionOptional || \"all\";\n const repositoryIds = repositories ? repositories.map((r) => r.id) : void 0;\n const repositoryNames = repositories ? repositories.map((repo) => repo.name) : void 0;\n const createdAt = (/* @__PURE__ */ new Date()).toISOString();\n const cacheOptions = {\n token,\n createdAt,\n expiresAt,\n repositorySelection,\n permissions,\n repositoryIds,\n repositoryNames\n };\n if (singleFileName) {\n Object.assign(payload, { singleFileName });\n }\n await set(state.cache, options, cacheOptions);\n const cacheData = {\n installationId: options.installationId,\n token,\n createdAt,\n expiresAt,\n repositorySelection,\n permissions,\n repositoryIds,\n repositoryNames\n };\n if (singleFileName) {\n Object.assign(cacheData, { singleFileName });\n }\n return toTokenAuthentication(cacheData);\n}\n\n// pkg/dist-src/auth.js\nasync function auth(state, authOptions) {\n switch (authOptions.type) {\n case \"app\":\n return getAppAuthentication(state);\n case \"oauth-app\":\n return state.oauthApp({ type: \"oauth-app\" });\n case \"installation\":\n authOptions;\n return getInstallationAuthentication(state, {\n ...authOptions,\n type: \"installation\"\n });\n case \"oauth-user\":\n return state.oauthApp(authOptions);\n default:\n throw new Error(`Invalid auth type: ${authOptions.type}`);\n }\n}\n\n// pkg/dist-src/hook.js\nimport { requiresBasicAuth } from \"@octokit/auth-oauth-user\";\nimport { RequestError } from \"@octokit/request-error\";\n\n// pkg/dist-src/requires-app-auth.js\nvar PATHS = [\n \"/app\",\n \"/app/hook/config\",\n \"/app/hook/deliveries\",\n \"/app/hook/deliveries/{delivery_id}\",\n \"/app/hook/deliveries/{delivery_id}/attempts\",\n \"/app/installations\",\n \"/app/installations/{installation_id}\",\n \"/app/installations/{installation_id}/access_tokens\",\n \"/app/installations/{installation_id}/suspended\",\n \"/app/installation-requests\",\n \"/marketplace_listing/accounts/{account_id}\",\n \"/marketplace_listing/plan\",\n \"/marketplace_listing/plans\",\n \"/marketplace_listing/plans/{plan_id}/accounts\",\n \"/marketplace_listing/stubbed/accounts/{account_id}\",\n \"/marketplace_listing/stubbed/plan\",\n \"/marketplace_listing/stubbed/plans\",\n \"/marketplace_listing/stubbed/plans/{plan_id}/accounts\",\n \"/orgs/{org}/installation\",\n \"/repos/{owner}/{repo}/installation\",\n \"/users/{username}/installation\"\n];\nfunction routeMatcher(paths) {\n const regexes = paths.map(\n (p) => p.split(\"/\").map((c) => c.startsWith(\"{\") ? \"(?:.+?)\" : c).join(\"/\")\n );\n const regex = `^(?:${regexes.map((r) => `(?:${r})`).join(\"|\")})$`;\n return new RegExp(regex, \"i\");\n}\nvar REGEX = routeMatcher(PATHS);\nfunction requiresAppAuth(url) {\n return !!url && REGEX.test(url.split(\"?\")[0]);\n}\n\n// pkg/dist-src/hook.js\nvar FIVE_SECONDS_IN_MS = 5 * 1e3;\nfunction isNotTimeSkewError(error) {\n return !(error.message.match(\n /'Expiration time' claim \\('exp'\\) must be a numeric value representing the future time at which the assertion expires/\n ) || error.message.match(\n /'Issued at' claim \\('iat'\\) must be an Integer representing the time that the assertion was issued/\n ));\n}\nasync function hook(state, request, route, parameters) {\n const endpoint = request.endpoint.merge(route, parameters);\n const url = endpoint.url;\n if (/\\/login\\/oauth\\/access_token$/.test(url)) {\n return request(endpoint);\n }\n if (requiresAppAuth(url.replace(request.endpoint.DEFAULTS.baseUrl, \"\"))) {\n const { token: token2 } = await getAppAuthentication(state);\n endpoint.headers.authorization = `bearer ${token2}`;\n let response;\n try {\n response = await request(endpoint);\n } catch (error) {\n if (isNotTimeSkewError(error)) {\n throw error;\n }\n if (typeof error.response.headers.date === \"undefined\") {\n throw error;\n }\n const diff = Math.floor(\n (Date.parse(error.response.headers.date) - Date.parse((/* @__PURE__ */ new Date()).toString())) / 1e3\n );\n state.log.warn(error.message);\n state.log.warn(\n `[@octokit/auth-app] GitHub API time and system time are different by ${diff} seconds. Retrying request with the difference accounted for.`\n );\n const { token: token3 } = await getAppAuthentication({\n ...state,\n timeDifference: diff\n });\n endpoint.headers.authorization = `bearer ${token3}`;\n return request(endpoint);\n }\n return response;\n }\n if (requiresBasicAuth(url)) {\n const authentication = await state.oauthApp({ type: \"oauth-app\" });\n endpoint.headers.authorization = authentication.headers.authorization;\n return request(endpoint);\n }\n const { token, createdAt } = await getInstallationAuthentication(\n state,\n // @ts-expect-error TBD\n {},\n request.defaults({ baseUrl: endpoint.baseUrl })\n );\n endpoint.headers.authorization = `token ${token}`;\n return sendRequestWithRetries(\n state,\n request,\n endpoint,\n createdAt\n );\n}\nasync function sendRequestWithRetries(state, request, options, createdAt, retries = 0) {\n const timeSinceTokenCreationInMs = +/* @__PURE__ */ new Date() - +new Date(createdAt);\n try {\n return await request(options);\n } catch (error) {\n if (error.status !== 401) {\n throw error;\n }\n if (timeSinceTokenCreationInMs >= FIVE_SECONDS_IN_MS) {\n if (retries > 0) {\n error.message = `After ${retries} retries within ${timeSinceTokenCreationInMs / 1e3}s of creating the installation access token, the response remains 401. At this point, the cause may be an authentication problem or a system outage. Please check https://www.githubstatus.com for status information`;\n }\n throw error;\n }\n ++retries;\n const awaitTime = retries * 1e3;\n state.log.warn(\n `[@octokit/auth-app] Retrying after 401 response to account for token replication delay (retry: ${retries}, wait: ${awaitTime / 1e3}s)`\n );\n await new Promise((resolve) => setTimeout(resolve, awaitTime));\n return sendRequestWithRetries(state, request, options, createdAt, retries);\n }\n}\n\n// pkg/dist-src/version.js\nvar VERSION = \"8.1.0\";\n\n// pkg/dist-src/index.js\nimport { createOAuthUserAuth } from \"@octokit/auth-oauth-user\";\nfunction createAppAuth(options) {\n if (!options.appId) {\n throw new Error(\"[@octokit/auth-app] appId option is required\");\n }\n if (!options.privateKey && !options.createJwt) {\n throw new Error(\"[@octokit/auth-app] privateKey option is required\");\n } else if (options.privateKey && options.createJwt) {\n throw new Error(\n \"[@octokit/auth-app] privateKey and createJwt options are mutually exclusive\"\n );\n }\n if (\"installationId\" in options && !options.installationId) {\n throw new Error(\n \"[@octokit/auth-app] installationId is set to a falsy value\"\n );\n }\n const log = options.log || {};\n if (typeof log.warn !== \"function\") {\n log.warn = console.warn.bind(console);\n }\n const request = options.request || defaultRequest.defaults({\n headers: {\n \"user-agent\": `octokit-auth-app.js/${VERSION} ${getUserAgent()}`\n }\n });\n const state = Object.assign(\n {\n request,\n cache: getCache()\n },\n options,\n options.installationId ? { installationId: Number(options.installationId) } : {},\n {\n log,\n oauthApp: createOAuthAppAuth({\n clientType: \"github-app\",\n clientId: options.clientId || \"\",\n clientSecret: options.clientSecret || \"\",\n request\n })\n }\n );\n return Object.assign(auth.bind(null, state), {\n hook: hook.bind(null, state)\n });\n}\nexport {\n createAppAuth,\n createOAuthUserAuth\n};\n","// pkg/dist-src/auth.js\nasync function auth(reason) {\n return {\n type: \"unauthenticated\",\n reason\n };\n}\n\n// pkg/dist-src/is-rate-limit-error.js\nfunction isRateLimitError(error) {\n if (error.status !== 403) {\n return false;\n }\n if (!error.response) {\n return false;\n }\n return error.response.headers[\"x-ratelimit-remaining\"] === \"0\";\n}\n\n// pkg/dist-src/is-abuse-limit-error.js\nvar REGEX_ABUSE_LIMIT_MESSAGE = /\\babuse\\b/i;\nfunction isAbuseLimitError(error) {\n if (error.status !== 403) {\n return false;\n }\n return REGEX_ABUSE_LIMIT_MESSAGE.test(error.message);\n}\n\n// pkg/dist-src/hook.js\nasync function hook(reason, request, route, parameters) {\n const endpoint = request.endpoint.merge(\n route,\n parameters\n );\n return request(endpoint).catch((error) => {\n if (error.status === 404) {\n error.message = `Not found. May be due to lack of authentication. Reason: ${reason}`;\n throw error;\n }\n if (isRateLimitError(error)) {\n error.message = `API rate limit exceeded. This maybe caused by the lack of authentication. Reason: ${reason}`;\n throw error;\n }\n if (isAbuseLimitError(error)) {\n error.message = `You have triggered an abuse detection mechanism. This maybe caused by the lack of authentication. Reason: ${reason}`;\n throw error;\n }\n if (error.status === 401) {\n error.message = `Unauthorized. \"${endpoint.method} ${endpoint.url}\" failed most likely due to lack of authentication. Reason: ${reason}`;\n throw error;\n }\n if (error.status >= 400 && error.status < 500) {\n error.message = error.message.replace(\n /\\.?$/,\n `. May be caused by lack of authentication (${reason}).`\n );\n }\n throw error;\n });\n}\n\n// pkg/dist-src/index.js\nvar createUnauthenticatedAuth = function createUnauthenticatedAuth2(options) {\n if (!options || !options.reason) {\n throw new Error(\n \"[@octokit/auth-unauthenticated] No reason passed to createUnauthenticatedAuth\"\n );\n }\n return Object.assign(auth.bind(null, options.reason), {\n hook: hook.bind(null, options.reason)\n });\n};\nexport {\n createUnauthenticatedAuth\n};\n","// pkg/dist-src/index.js\nimport { createOAuthAppAuth } from \"@octokit/auth-oauth-app\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"8.0.1\";\n\n// pkg/dist-src/add-event-handler.js\nfunction addEventHandler(state, eventName, eventHandler) {\n if (Array.isArray(eventName)) {\n for (const singleEventName of eventName) {\n addEventHandler(state, singleEventName, eventHandler);\n }\n return;\n }\n if (!state.eventHandlers[eventName]) {\n state.eventHandlers[eventName] = [];\n }\n state.eventHandlers[eventName].push(eventHandler);\n}\n\n// pkg/dist-src/oauth-app-octokit.js\nimport { Octokit } from \"@octokit/core\";\nimport { getUserAgent } from \"universal-user-agent\";\nvar OAuthAppOctokit = Octokit.defaults({\n userAgent: `octokit-oauth-app.js/${VERSION} ${getUserAgent()}`\n});\n\n// pkg/dist-src/methods/get-user-octokit.js\nimport { createOAuthUserAuth } from \"@octokit/auth-oauth-user\";\n\n// pkg/dist-src/emit-event.js\nasync function emitEvent(state, context) {\n const { name, action } = context;\n if (state.eventHandlers[`${name}.${action}`]) {\n for (const eventHandler of state.eventHandlers[`${name}.${action}`]) {\n await eventHandler(context);\n }\n }\n if (state.eventHandlers[name]) {\n for (const eventHandler of state.eventHandlers[name]) {\n await eventHandler(context);\n }\n }\n}\n\n// pkg/dist-src/methods/get-user-octokit.js\nasync function getUserOctokitWithState(state, options) {\n return state.octokit.auth({\n type: \"oauth-user\",\n ...options,\n async factory(options2) {\n const octokit = new state.Octokit({\n authStrategy: createOAuthUserAuth,\n auth: options2\n });\n const authentication = await octokit.auth({\n type: \"get\"\n });\n await emitEvent(state, {\n name: \"token\",\n action: \"created\",\n token: authentication.token,\n scopes: authentication.scopes,\n authentication,\n octokit\n });\n return octokit;\n }\n });\n}\n\n// pkg/dist-src/methods/get-web-flow-authorization-url.js\nimport * as OAuthMethods from \"@octokit/oauth-methods\";\nfunction getWebFlowAuthorizationUrlWithState(state, options) {\n const optionsWithDefaults = {\n clientId: state.clientId,\n request: state.octokit.request,\n ...options,\n allowSignup: state.allowSignup ?? options.allowSignup,\n redirectUrl: options.redirectUrl ?? state.redirectUrl,\n scopes: options.scopes ?? state.defaultScopes\n };\n return OAuthMethods.getWebFlowAuthorizationUrl({\n clientType: state.clientType,\n ...optionsWithDefaults\n });\n}\n\n// pkg/dist-src/methods/create-token.js\nimport * as OAuthAppAuth from \"@octokit/auth-oauth-app\";\nasync function createTokenWithState(state, options) {\n const authentication = await state.octokit.auth({\n type: \"oauth-user\",\n ...options\n });\n await emitEvent(state, {\n name: \"token\",\n action: \"created\",\n token: authentication.token,\n scopes: authentication.scopes,\n authentication,\n octokit: new state.Octokit({\n authStrategy: OAuthAppAuth.createOAuthUserAuth,\n auth: {\n clientType: state.clientType,\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n token: authentication.token,\n scopes: authentication.scopes,\n refreshToken: authentication.refreshToken,\n expiresAt: authentication.expiresAt,\n refreshTokenExpiresAt: authentication.refreshTokenExpiresAt\n }\n })\n });\n return { authentication };\n}\n\n// pkg/dist-src/methods/check-token.js\nimport * as OAuthMethods2 from \"@octokit/oauth-methods\";\nasync function checkTokenWithState(state, options) {\n const result = await OAuthMethods2.checkToken({\n // @ts-expect-error not worth the extra code to appease TS\n clientType: state.clientType,\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n request: state.octokit.request,\n ...options\n });\n Object.assign(result.authentication, { type: \"token\", tokenType: \"oauth\" });\n return result;\n}\n\n// pkg/dist-src/methods/reset-token.js\nimport * as OAuthMethods3 from \"@octokit/oauth-methods\";\nimport { createOAuthUserAuth as createOAuthUserAuth3 } from \"@octokit/auth-oauth-user\";\nasync function resetTokenWithState(state, options) {\n const optionsWithDefaults = {\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n request: state.octokit.request,\n ...options\n };\n if (state.clientType === \"oauth-app\") {\n const response2 = await OAuthMethods3.resetToken({\n clientType: \"oauth-app\",\n ...optionsWithDefaults\n });\n const authentication2 = Object.assign(response2.authentication, {\n type: \"token\",\n tokenType: \"oauth\"\n });\n await emitEvent(state, {\n name: \"token\",\n action: \"reset\",\n token: response2.authentication.token,\n scopes: response2.authentication.scopes || void 0,\n authentication: authentication2,\n octokit: new state.Octokit({\n authStrategy: createOAuthUserAuth3,\n auth: {\n clientType: state.clientType,\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n token: response2.authentication.token,\n scopes: response2.authentication.scopes\n }\n })\n });\n return { ...response2, authentication: authentication2 };\n }\n const response = await OAuthMethods3.resetToken({\n clientType: \"github-app\",\n ...optionsWithDefaults\n });\n const authentication = Object.assign(response.authentication, {\n type: \"token\",\n tokenType: \"oauth\"\n });\n await emitEvent(state, {\n name: \"token\",\n action: \"reset\",\n token: response.authentication.token,\n authentication,\n octokit: new state.Octokit({\n authStrategy: createOAuthUserAuth3,\n auth: {\n clientType: state.clientType,\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n token: response.authentication.token\n }\n })\n });\n return { ...response, authentication };\n}\n\n// pkg/dist-src/methods/refresh-token.js\nimport * as OAuthMethods4 from \"@octokit/oauth-methods\";\nimport { createOAuthUserAuth as createOAuthUserAuth4 } from \"@octokit/auth-oauth-user\";\nasync function refreshTokenWithState(state, options) {\n if (state.clientType === \"oauth-app\") {\n throw new Error(\n \"[@octokit/oauth-app] app.refreshToken() is not supported for OAuth Apps\"\n );\n }\n const response = await OAuthMethods4.refreshToken({\n clientType: \"github-app\",\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n request: state.octokit.request,\n refreshToken: options.refreshToken\n });\n const authentication = Object.assign(response.authentication, {\n type: \"token\",\n tokenType: \"oauth\"\n });\n await emitEvent(state, {\n name: \"token\",\n action: \"refreshed\",\n token: response.authentication.token,\n authentication,\n octokit: new state.Octokit({\n authStrategy: createOAuthUserAuth4,\n auth: {\n clientType: state.clientType,\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n token: response.authentication.token\n }\n })\n });\n return { ...response, authentication };\n}\n\n// pkg/dist-src/methods/scope-token.js\nimport * as OAuthMethods5 from \"@octokit/oauth-methods\";\nimport { createOAuthUserAuth as createOAuthUserAuth5 } from \"@octokit/auth-oauth-user\";\nasync function scopeTokenWithState(state, options) {\n if (state.clientType === \"oauth-app\") {\n throw new Error(\n \"[@octokit/oauth-app] app.scopeToken() is not supported for OAuth Apps\"\n );\n }\n const response = await OAuthMethods5.scopeToken({\n clientType: \"github-app\",\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n request: state.octokit.request,\n ...options\n });\n const authentication = Object.assign(response.authentication, {\n type: \"token\",\n tokenType: \"oauth\"\n });\n await emitEvent(state, {\n name: \"token\",\n action: \"scoped\",\n token: response.authentication.token,\n authentication,\n octokit: new state.Octokit({\n authStrategy: createOAuthUserAuth5,\n auth: {\n clientType: state.clientType,\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n token: response.authentication.token\n }\n })\n });\n return { ...response, authentication };\n}\n\n// pkg/dist-src/methods/delete-token.js\nimport * as OAuthMethods6 from \"@octokit/oauth-methods\";\nimport { createUnauthenticatedAuth } from \"@octokit/auth-unauthenticated\";\nasync function deleteTokenWithState(state, options) {\n const optionsWithDefaults = {\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n request: state.octokit.request,\n ...options\n };\n const response = state.clientType === \"oauth-app\" ? await OAuthMethods6.deleteToken({\n clientType: \"oauth-app\",\n ...optionsWithDefaults\n }) : (\n /* v8 ignore next 4 */\n await OAuthMethods6.deleteToken({\n clientType: \"github-app\",\n ...optionsWithDefaults\n })\n );\n await emitEvent(state, {\n name: \"token\",\n action: \"deleted\",\n token: options.token,\n octokit: new state.Octokit({\n authStrategy: createUnauthenticatedAuth,\n auth: {\n reason: `Handling \"token.deleted\" event. The access for the token has been revoked.`\n }\n })\n });\n return response;\n}\n\n// pkg/dist-src/methods/delete-authorization.js\nimport * as OAuthMethods7 from \"@octokit/oauth-methods\";\nimport { createUnauthenticatedAuth as createUnauthenticatedAuth2 } from \"@octokit/auth-unauthenticated\";\nasync function deleteAuthorizationWithState(state, options) {\n const optionsWithDefaults = {\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n request: state.octokit.request,\n ...options\n };\n const response = state.clientType === \"oauth-app\" ? await OAuthMethods7.deleteAuthorization({\n clientType: \"oauth-app\",\n ...optionsWithDefaults\n }) : (\n /* v8 ignore next 4 */\n await OAuthMethods7.deleteAuthorization({\n clientType: \"github-app\",\n ...optionsWithDefaults\n })\n );\n await emitEvent(state, {\n name: \"token\",\n action: \"deleted\",\n token: options.token,\n octokit: new state.Octokit({\n authStrategy: createUnauthenticatedAuth2,\n auth: {\n reason: `Handling \"token.deleted\" event. The access for the token has been revoked.`\n }\n })\n });\n await emitEvent(state, {\n name: \"authorization\",\n action: \"deleted\",\n token: options.token,\n octokit: new state.Octokit({\n authStrategy: createUnauthenticatedAuth2,\n auth: {\n reason: `Handling \"authorization.deleted\" event. The access for the app has been revoked.`\n }\n })\n });\n return response;\n}\n\n// pkg/dist-src/middleware/unknown-route-response.js\nfunction unknownRouteResponse(request) {\n return {\n status: 404,\n headers: { \"content-type\": \"application/json\" },\n text: JSON.stringify({\n error: `Unknown route: ${request.method} ${request.url}`\n })\n };\n}\n\n// pkg/dist-src/middleware/handle-request.js\nasync function handleRequest(app, { pathPrefix = \"/api/github/oauth\" }, request) {\n let { pathname } = new URL(request.url, \"http://localhost\");\n if (!pathname.startsWith(`${pathPrefix}/`)) {\n return void 0;\n }\n if (request.method === \"OPTIONS\") {\n return {\n status: 200,\n headers: {\n \"access-control-allow-origin\": \"*\",\n \"access-control-allow-methods\": \"*\",\n \"access-control-allow-headers\": \"Content-Type, User-Agent, Authorization\"\n }\n };\n }\n pathname = pathname.slice(pathPrefix.length + 1);\n const route = [request.method, pathname].join(\" \");\n const routes = {\n getLogin: `GET login`,\n getCallback: `GET callback`,\n createToken: `POST token`,\n getToken: `GET token`,\n patchToken: `PATCH token`,\n patchRefreshToken: `PATCH refresh-token`,\n scopeToken: `POST token/scoped`,\n deleteToken: `DELETE token`,\n deleteGrant: `DELETE grant`\n };\n if (!Object.values(routes).includes(route)) {\n return unknownRouteResponse(request);\n }\n let json;\n try {\n const text = await request.text();\n json = text ? JSON.parse(text) : {};\n } catch (error) {\n return {\n status: 400,\n headers: {\n \"content-type\": \"application/json\",\n \"access-control-allow-origin\": \"*\"\n },\n text: JSON.stringify({\n error: \"[@octokit/oauth-app] request error\"\n })\n };\n }\n const { searchParams } = new URL(request.url, \"http://localhost\");\n const query = Object.fromEntries(searchParams);\n const headers = request.headers;\n try {\n if (route === routes.getLogin) {\n const authOptions = {};\n if (query.state) {\n Object.assign(authOptions, { state: query.state });\n }\n if (query.scopes) {\n Object.assign(authOptions, { scopes: query.scopes.split(\",\") });\n }\n if (query.allowSignup) {\n Object.assign(authOptions, {\n allowSignup: query.allowSignup === \"true\"\n });\n }\n if (query.redirectUrl) {\n Object.assign(authOptions, { redirectUrl: query.redirectUrl });\n }\n const { url } = app.getWebFlowAuthorizationUrl(authOptions);\n return { status: 302, headers: { location: url } };\n }\n if (route === routes.getCallback) {\n if (query.error) {\n throw new Error(\n `[@octokit/oauth-app] ${query.error} ${query.error_description}`\n );\n }\n if (!query.code) {\n throw new Error('[@octokit/oauth-app] \"code\" parameter is required');\n }\n const {\n authentication: { token: token2 }\n } = await app.createToken({\n code: query.code\n });\n return {\n status: 200,\n headers: {\n \"content-type\": \"text/html\"\n },\n text: `Token created successfully
\n\nYour token is: ${token2}. Copy it now as it cannot be shown again.
`\n };\n }\n if (route === routes.createToken) {\n const { code, redirectUrl } = json;\n if (!code) {\n throw new Error('[@octokit/oauth-app] \"code\" parameter is required');\n }\n const result = await app.createToken({\n code,\n redirectUrl\n });\n delete result.authentication.clientSecret;\n return {\n status: 201,\n headers: {\n \"content-type\": \"application/json\",\n \"access-control-allow-origin\": \"*\"\n },\n text: JSON.stringify(result)\n };\n }\n if (route === routes.getToken) {\n const token2 = headers.authorization?.substr(\"token \".length);\n if (!token2) {\n throw new Error(\n '[@octokit/oauth-app] \"Authorization\" header is required'\n );\n }\n const result = await app.checkToken({\n token: token2\n });\n delete result.authentication.clientSecret;\n return {\n status: 200,\n headers: {\n \"content-type\": \"application/json\",\n \"access-control-allow-origin\": \"*\"\n },\n text: JSON.stringify(result)\n };\n }\n if (route === routes.patchToken) {\n const token2 = headers.authorization?.substr(\"token \".length);\n if (!token2) {\n throw new Error(\n '[@octokit/oauth-app] \"Authorization\" header is required'\n );\n }\n const result = await app.resetToken({ token: token2 });\n delete result.authentication.clientSecret;\n return {\n status: 200,\n headers: {\n \"content-type\": \"application/json\",\n \"access-control-allow-origin\": \"*\"\n },\n text: JSON.stringify(result)\n };\n }\n if (route === routes.patchRefreshToken) {\n const token2 = headers.authorization?.substr(\"token \".length);\n if (!token2) {\n throw new Error(\n '[@octokit/oauth-app] \"Authorization\" header is required'\n );\n }\n const { refreshToken: refreshToken2 } = json;\n if (!refreshToken2) {\n throw new Error(\n \"[@octokit/oauth-app] refreshToken must be sent in request body\"\n );\n }\n const result = await app.refreshToken({ refreshToken: refreshToken2 });\n delete result.authentication.clientSecret;\n return {\n status: 200,\n headers: {\n \"content-type\": \"application/json\",\n \"access-control-allow-origin\": \"*\"\n },\n text: JSON.stringify(result)\n };\n }\n if (route === routes.scopeToken) {\n const token2 = headers.authorization?.substr(\"token \".length);\n if (!token2) {\n throw new Error(\n '[@octokit/oauth-app] \"Authorization\" header is required'\n );\n }\n const result = await app.scopeToken({\n token: token2,\n ...json\n });\n delete result.authentication.clientSecret;\n return {\n status: 200,\n headers: {\n \"content-type\": \"application/json\",\n \"access-control-allow-origin\": \"*\"\n },\n text: JSON.stringify(result)\n };\n }\n if (route === routes.deleteToken) {\n const token2 = headers.authorization?.substr(\"token \".length);\n if (!token2) {\n throw new Error(\n '[@octokit/oauth-app] \"Authorization\" header is required'\n );\n }\n await app.deleteToken({\n token: token2\n });\n return {\n status: 204,\n headers: { \"access-control-allow-origin\": \"*\" }\n };\n }\n const token = headers.authorization?.substr(\"token \".length);\n if (!token) {\n throw new Error(\n '[@octokit/oauth-app] \"Authorization\" header is required'\n );\n }\n await app.deleteAuthorization({\n token\n });\n return {\n status: 204,\n headers: { \"access-control-allow-origin\": \"*\" }\n };\n } catch (error) {\n return {\n status: 400,\n headers: {\n \"content-type\": \"application/json\",\n \"access-control-allow-origin\": \"*\"\n },\n text: JSON.stringify({ error: error.message })\n };\n }\n}\n\n// pkg/dist-src/middleware/node/parse-request.js\nfunction parseRequest(request) {\n const { method, url, headers } = request;\n async function text() {\n const text2 = await new Promise((resolve, reject) => {\n let bodyChunks = [];\n request.on(\"error\", reject).on(\"data\", (chunk) => bodyChunks.push(chunk)).on(\"end\", () => resolve(Buffer.concat(bodyChunks).toString()));\n });\n return text2;\n }\n return { method, url, headers, text };\n}\n\n// pkg/dist-src/middleware/node/send-response.js\nfunction sendResponse(octokitResponse, response) {\n response.writeHead(octokitResponse.status, octokitResponse.headers);\n response.end(octokitResponse.text);\n}\n\n// pkg/dist-src/middleware/node/index.js\nfunction createNodeMiddleware(app, options = {}) {\n return async function(request, response, next) {\n const octokitRequest = await parseRequest(request);\n const octokitResponse = await handleRequest(app, options, octokitRequest);\n if (octokitResponse) {\n sendResponse(octokitResponse, response);\n return true;\n } else {\n next?.();\n return false;\n }\n };\n}\n\n// pkg/dist-src/middleware/web-worker/parse-request.js\nfunction parseRequest2(request) {\n const headers = Object.fromEntries(request.headers.entries());\n return {\n method: request.method,\n url: request.url,\n headers,\n text: () => request.text()\n };\n}\n\n// pkg/dist-src/middleware/web-worker/send-response.js\nfunction sendResponse2(octokitResponse) {\n const responseOptions = {\n status: octokitResponse.status\n };\n if (octokitResponse.headers) {\n Object.assign(responseOptions, { headers: octokitResponse.headers });\n }\n return new Response(octokitResponse.text, responseOptions);\n}\n\n// pkg/dist-src/middleware/web-worker/index.js\nfunction createWebWorkerHandler(app, options = {}) {\n return async function(request) {\n const octokitRequest = await parseRequest2(request);\n const octokitResponse = await handleRequest(app, options, octokitRequest);\n return octokitResponse ? sendResponse2(octokitResponse) : void 0;\n };\n}\n\n// pkg/dist-src/middleware/aws-lambda/api-gateway-v2-parse-request.js\nfunction parseRequest3(request) {\n const { method } = request.requestContext.http;\n let url = request.rawPath;\n const { stage } = request.requestContext;\n if (url.startsWith(\"/\" + stage)) url = url.substring(stage.length + 1);\n if (request.rawQueryString) url += \"?\" + request.rawQueryString;\n const headers = request.headers;\n const text = async () => request.body || \"\";\n return { method, url, headers, text };\n}\n\n// pkg/dist-src/middleware/aws-lambda/api-gateway-v2-send-response.js\nfunction sendResponse3(octokitResponse) {\n return {\n statusCode: octokitResponse.status,\n headers: octokitResponse.headers,\n body: octokitResponse.text\n };\n}\n\n// pkg/dist-src/middleware/aws-lambda/api-gateway-v2.js\nfunction createAWSLambdaAPIGatewayV2Handler(app, options = {}) {\n return async function(event) {\n const request = parseRequest3(event);\n const response = await handleRequest(app, options, request);\n return response ? sendResponse3(response) : void 0;\n };\n}\n\n// pkg/dist-src/index.js\nvar OAuthApp = class {\n static VERSION = VERSION;\n static defaults(defaults) {\n const OAuthAppWithDefaults = class extends this {\n constructor(...args) {\n super({\n ...defaults,\n ...args[0]\n });\n }\n };\n return OAuthAppWithDefaults;\n }\n constructor(options) {\n const Octokit2 = options.Octokit || OAuthAppOctokit;\n this.type = options.clientType || \"oauth-app\";\n const octokit = new Octokit2({\n authStrategy: createOAuthAppAuth,\n auth: {\n clientType: this.type,\n clientId: options.clientId,\n clientSecret: options.clientSecret\n }\n });\n const state = {\n clientType: this.type,\n clientId: options.clientId,\n clientSecret: options.clientSecret,\n // @ts-expect-error defaultScopes not permitted for GitHub Apps\n defaultScopes: options.defaultScopes || [],\n allowSignup: options.allowSignup,\n baseUrl: options.baseUrl,\n redirectUrl: options.redirectUrl,\n log: options.log,\n Octokit: Octokit2,\n octokit,\n eventHandlers: {}\n };\n this.on = addEventHandler.bind(null, state);\n this.octokit = octokit;\n this.getUserOctokit = getUserOctokitWithState.bind(null, state);\n this.getWebFlowAuthorizationUrl = getWebFlowAuthorizationUrlWithState.bind(\n null,\n state\n );\n this.createToken = createTokenWithState.bind(\n null,\n state\n );\n this.checkToken = checkTokenWithState.bind(\n null,\n state\n );\n this.resetToken = resetTokenWithState.bind(\n null,\n state\n );\n this.refreshToken = refreshTokenWithState.bind(\n null,\n state\n );\n this.scopeToken = scopeTokenWithState.bind(\n null,\n state\n );\n this.deleteToken = deleteTokenWithState.bind(null, state);\n this.deleteAuthorization = deleteAuthorizationWithState.bind(null, state);\n }\n // assigned during constructor\n type;\n on;\n octokit;\n getUserOctokit;\n getWebFlowAuthorizationUrl;\n createToken;\n checkToken;\n resetToken;\n refreshToken;\n scopeToken;\n deleteToken;\n deleteAuthorization;\n};\nexport {\n OAuthApp,\n createAWSLambdaAPIGatewayV2Handler,\n createNodeMiddleware,\n createWebWorkerHandler,\n handleRequest,\n sendResponse as sendNodeResponse,\n unknownRouteResponse\n};\n","// pkg/dist-src/node/sign.js\nimport { createHmac } from \"node:crypto\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"6.0.0\";\n\n// pkg/dist-src/node/sign.js\nasync function sign(secret, payload) {\n if (!secret || !payload) {\n throw new TypeError(\n \"[@octokit/webhooks-methods] secret & payload required for sign()\"\n );\n }\n if (typeof payload !== \"string\") {\n throw new TypeError(\"[@octokit/webhooks-methods] payload must be a string\");\n }\n const algorithm = \"sha256\";\n return `${algorithm}=${createHmac(algorithm, secret).update(payload).digest(\"hex\")}`;\n}\nsign.VERSION = VERSION;\n\n// pkg/dist-src/node/verify.js\nimport { timingSafeEqual } from \"node:crypto\";\nimport { Buffer } from \"node:buffer\";\nasync function verify(secret, eventPayload, signature) {\n if (!secret || !eventPayload || !signature) {\n throw new TypeError(\n \"[@octokit/webhooks-methods] secret, eventPayload & signature required\"\n );\n }\n if (typeof eventPayload !== \"string\") {\n throw new TypeError(\n \"[@octokit/webhooks-methods] eventPayload must be a string\"\n );\n }\n const signatureBuffer = Buffer.from(signature);\n const verificationBuffer = Buffer.from(await sign(secret, eventPayload));\n if (signatureBuffer.length !== verificationBuffer.length) {\n return false;\n }\n return timingSafeEqual(signatureBuffer, verificationBuffer);\n}\nverify.VERSION = VERSION;\n\n// pkg/dist-src/index.js\nasync function verifyWithFallback(secret, payload, signature, additionalSecrets) {\n const firstPass = await verify(secret, payload, signature);\n if (firstPass) {\n return true;\n }\n if (additionalSecrets !== void 0) {\n for (const s of additionalSecrets) {\n const v = await verify(s, payload, signature);\n if (v) {\n return v;\n }\n }\n }\n return false;\n}\nexport {\n sign,\n verify,\n verifyWithFallback\n};\n","// pkg/dist-src/create-logger.js\nvar createLogger = (logger = {}) => {\n if (typeof logger.debug !== \"function\") {\n logger.debug = () => {\n };\n }\n if (typeof logger.info !== \"function\") {\n logger.info = () => {\n };\n }\n if (typeof logger.warn !== \"function\") {\n logger.warn = console.warn.bind(console);\n }\n if (typeof logger.error !== \"function\") {\n logger.error = console.error.bind(console);\n }\n return logger;\n};\n\n// pkg/dist-src/generated/webhook-names.js\nvar emitterEventNames = [\n \"branch_protection_configuration\",\n \"branch_protection_configuration.disabled\",\n \"branch_protection_configuration.enabled\",\n \"branch_protection_rule\",\n \"branch_protection_rule.created\",\n \"branch_protection_rule.deleted\",\n \"branch_protection_rule.edited\",\n \"check_run\",\n \"check_run.completed\",\n \"check_run.created\",\n \"check_run.requested_action\",\n \"check_run.rerequested\",\n \"check_suite\",\n \"check_suite.completed\",\n \"check_suite.requested\",\n \"check_suite.rerequested\",\n \"code_scanning_alert\",\n \"code_scanning_alert.appeared_in_branch\",\n \"code_scanning_alert.closed_by_user\",\n \"code_scanning_alert.created\",\n \"code_scanning_alert.fixed\",\n \"code_scanning_alert.reopened\",\n \"code_scanning_alert.reopened_by_user\",\n \"commit_comment\",\n \"commit_comment.created\",\n \"create\",\n \"custom_property\",\n \"custom_property.created\",\n \"custom_property.deleted\",\n \"custom_property.promote_to_enterprise\",\n \"custom_property.updated\",\n \"custom_property_values\",\n \"custom_property_values.updated\",\n \"delete\",\n \"dependabot_alert\",\n \"dependabot_alert.auto_dismissed\",\n \"dependabot_alert.auto_reopened\",\n \"dependabot_alert.created\",\n \"dependabot_alert.dismissed\",\n \"dependabot_alert.fixed\",\n \"dependabot_alert.reintroduced\",\n \"dependabot_alert.reopened\",\n \"deploy_key\",\n \"deploy_key.created\",\n \"deploy_key.deleted\",\n \"deployment\",\n \"deployment.created\",\n \"deployment_protection_rule\",\n \"deployment_protection_rule.requested\",\n \"deployment_review\",\n \"deployment_review.approved\",\n \"deployment_review.rejected\",\n \"deployment_review.requested\",\n \"deployment_status\",\n \"deployment_status.created\",\n \"discussion\",\n \"discussion.answered\",\n \"discussion.category_changed\",\n \"discussion.closed\",\n \"discussion.created\",\n \"discussion.deleted\",\n \"discussion.edited\",\n \"discussion.labeled\",\n \"discussion.locked\",\n \"discussion.pinned\",\n \"discussion.reopened\",\n \"discussion.transferred\",\n \"discussion.unanswered\",\n \"discussion.unlabeled\",\n \"discussion.unlocked\",\n \"discussion.unpinned\",\n \"discussion_comment\",\n \"discussion_comment.created\",\n \"discussion_comment.deleted\",\n \"discussion_comment.edited\",\n \"fork\",\n \"github_app_authorization\",\n \"github_app_authorization.revoked\",\n \"gollum\",\n \"installation\",\n \"installation.created\",\n \"installation.deleted\",\n \"installation.new_permissions_accepted\",\n \"installation.suspend\",\n \"installation.unsuspend\",\n \"installation_repositories\",\n \"installation_repositories.added\",\n \"installation_repositories.removed\",\n \"installation_target\",\n \"installation_target.renamed\",\n \"issue_comment\",\n \"issue_comment.created\",\n \"issue_comment.deleted\",\n \"issue_comment.edited\",\n \"issues\",\n \"issues.assigned\",\n \"issues.closed\",\n \"issues.deleted\",\n \"issues.demilestoned\",\n \"issues.edited\",\n \"issues.labeled\",\n \"issues.locked\",\n \"issues.milestoned\",\n \"issues.opened\",\n \"issues.pinned\",\n \"issues.reopened\",\n \"issues.transferred\",\n \"issues.typed\",\n \"issues.unassigned\",\n \"issues.unlabeled\",\n \"issues.unlocked\",\n \"issues.unpinned\",\n \"issues.untyped\",\n \"label\",\n \"label.created\",\n \"label.deleted\",\n \"label.edited\",\n \"marketplace_purchase\",\n \"marketplace_purchase.cancelled\",\n \"marketplace_purchase.changed\",\n \"marketplace_purchase.pending_change\",\n \"marketplace_purchase.pending_change_cancelled\",\n \"marketplace_purchase.purchased\",\n \"member\",\n \"member.added\",\n \"member.edited\",\n \"member.removed\",\n \"membership\",\n \"membership.added\",\n \"membership.removed\",\n \"merge_group\",\n \"merge_group.checks_requested\",\n \"merge_group.destroyed\",\n \"meta\",\n \"meta.deleted\",\n \"milestone\",\n \"milestone.closed\",\n \"milestone.created\",\n \"milestone.deleted\",\n \"milestone.edited\",\n \"milestone.opened\",\n \"org_block\",\n \"org_block.blocked\",\n \"org_block.unblocked\",\n \"organization\",\n \"organization.deleted\",\n \"organization.member_added\",\n \"organization.member_invited\",\n \"organization.member_removed\",\n \"organization.renamed\",\n \"package\",\n \"package.published\",\n \"package.updated\",\n \"page_build\",\n \"personal_access_token_request\",\n \"personal_access_token_request.approved\",\n \"personal_access_token_request.cancelled\",\n \"personal_access_token_request.created\",\n \"personal_access_token_request.denied\",\n \"ping\",\n \"project\",\n \"project.closed\",\n \"project.created\",\n \"project.deleted\",\n \"project.edited\",\n \"project.reopened\",\n \"project_card\",\n \"project_card.converted\",\n \"project_card.created\",\n \"project_card.deleted\",\n \"project_card.edited\",\n \"project_card.moved\",\n \"project_column\",\n \"project_column.created\",\n \"project_column.deleted\",\n \"project_column.edited\",\n \"project_column.moved\",\n \"projects_v2\",\n \"projects_v2.closed\",\n \"projects_v2.created\",\n \"projects_v2.deleted\",\n \"projects_v2.edited\",\n \"projects_v2.reopened\",\n \"projects_v2_item\",\n \"projects_v2_item.archived\",\n \"projects_v2_item.converted\",\n \"projects_v2_item.created\",\n \"projects_v2_item.deleted\",\n \"projects_v2_item.edited\",\n \"projects_v2_item.reordered\",\n \"projects_v2_item.restored\",\n \"projects_v2_status_update\",\n \"projects_v2_status_update.created\",\n \"projects_v2_status_update.deleted\",\n \"projects_v2_status_update.edited\",\n \"public\",\n \"pull_request\",\n \"pull_request.assigned\",\n \"pull_request.auto_merge_disabled\",\n \"pull_request.auto_merge_enabled\",\n \"pull_request.closed\",\n \"pull_request.converted_to_draft\",\n \"pull_request.demilestoned\",\n \"pull_request.dequeued\",\n \"pull_request.edited\",\n \"pull_request.enqueued\",\n \"pull_request.labeled\",\n \"pull_request.locked\",\n \"pull_request.milestoned\",\n \"pull_request.opened\",\n \"pull_request.ready_for_review\",\n \"pull_request.reopened\",\n \"pull_request.review_request_removed\",\n \"pull_request.review_requested\",\n \"pull_request.synchronize\",\n \"pull_request.unassigned\",\n \"pull_request.unlabeled\",\n \"pull_request.unlocked\",\n \"pull_request_review\",\n \"pull_request_review.dismissed\",\n \"pull_request_review.edited\",\n \"pull_request_review.submitted\",\n \"pull_request_review_comment\",\n \"pull_request_review_comment.created\",\n \"pull_request_review_comment.deleted\",\n \"pull_request_review_comment.edited\",\n \"pull_request_review_thread\",\n \"pull_request_review_thread.resolved\",\n \"pull_request_review_thread.unresolved\",\n \"push\",\n \"registry_package\",\n \"registry_package.published\",\n \"registry_package.updated\",\n \"release\",\n \"release.created\",\n \"release.deleted\",\n \"release.edited\",\n \"release.prereleased\",\n \"release.published\",\n \"release.released\",\n \"release.unpublished\",\n \"repository\",\n \"repository.archived\",\n \"repository.created\",\n \"repository.deleted\",\n \"repository.edited\",\n \"repository.privatized\",\n \"repository.publicized\",\n \"repository.renamed\",\n \"repository.transferred\",\n \"repository.unarchived\",\n \"repository_advisory\",\n \"repository_advisory.published\",\n \"repository_advisory.reported\",\n \"repository_dispatch\",\n \"repository_dispatch.sample.collected\",\n \"repository_import\",\n \"repository_ruleset\",\n \"repository_ruleset.created\",\n \"repository_ruleset.deleted\",\n \"repository_ruleset.edited\",\n \"repository_vulnerability_alert\",\n \"repository_vulnerability_alert.create\",\n \"repository_vulnerability_alert.dismiss\",\n \"repository_vulnerability_alert.reopen\",\n \"repository_vulnerability_alert.resolve\",\n \"secret_scanning_alert\",\n \"secret_scanning_alert.created\",\n \"secret_scanning_alert.publicly_leaked\",\n \"secret_scanning_alert.reopened\",\n \"secret_scanning_alert.resolved\",\n \"secret_scanning_alert.validated\",\n \"secret_scanning_alert_location\",\n \"secret_scanning_alert_location.created\",\n \"secret_scanning_scan\",\n \"secret_scanning_scan.completed\",\n \"security_advisory\",\n \"security_advisory.published\",\n \"security_advisory.updated\",\n \"security_advisory.withdrawn\",\n \"security_and_analysis\",\n \"sponsorship\",\n \"sponsorship.cancelled\",\n \"sponsorship.created\",\n \"sponsorship.edited\",\n \"sponsorship.pending_cancellation\",\n \"sponsorship.pending_tier_change\",\n \"sponsorship.tier_changed\",\n \"star\",\n \"star.created\",\n \"star.deleted\",\n \"status\",\n \"sub_issues\",\n \"sub_issues.parent_issue_added\",\n \"sub_issues.parent_issue_removed\",\n \"sub_issues.sub_issue_added\",\n \"sub_issues.sub_issue_removed\",\n \"team\",\n \"team.added_to_repository\",\n \"team.created\",\n \"team.deleted\",\n \"team.edited\",\n \"team.removed_from_repository\",\n \"team_add\",\n \"watch\",\n \"watch.started\",\n \"workflow_dispatch\",\n \"workflow_job\",\n \"workflow_job.completed\",\n \"workflow_job.in_progress\",\n \"workflow_job.queued\",\n \"workflow_job.waiting\",\n \"workflow_run\",\n \"workflow_run.completed\",\n \"workflow_run.in_progress\",\n \"workflow_run.requested\"\n];\n\n// pkg/dist-src/event-handler/validate-event-name.js\nfunction validateEventName(eventName, options = {}) {\n if (typeof eventName !== \"string\") {\n throw new TypeError(\"eventName must be of type string\");\n }\n if (eventName === \"*\") {\n throw new TypeError(\n `Using the \"*\" event with the regular Webhooks.on() function is not supported. Please use the Webhooks.onAny() method instead`\n );\n }\n if (eventName === \"error\") {\n throw new TypeError(\n `Using the \"error\" event with the regular Webhooks.on() function is not supported. Please use the Webhooks.onError() method instead`\n );\n }\n if (options.onUnknownEventName === \"ignore\") {\n return;\n }\n if (!emitterEventNames.includes(eventName)) {\n if (options.onUnknownEventName !== \"warn\") {\n throw new TypeError(\n `\"${eventName}\" is not a known webhook name (https://developer.github.com/v3/activity/events/types/)`\n );\n } else {\n (options.log || console).warn(\n `\"${eventName}\" is not a known webhook name (https://developer.github.com/v3/activity/events/types/)`\n );\n }\n }\n}\n\n// pkg/dist-src/event-handler/on.js\nfunction handleEventHandlers(state, webhookName, handler) {\n if (!state.hooks[webhookName]) {\n state.hooks[webhookName] = [];\n }\n state.hooks[webhookName].push(handler);\n}\nfunction receiverOn(state, webhookNameOrNames, handler) {\n if (Array.isArray(webhookNameOrNames)) {\n webhookNameOrNames.forEach(\n (webhookName) => receiverOn(state, webhookName, handler)\n );\n return;\n }\n validateEventName(webhookNameOrNames, {\n onUnknownEventName: \"warn\",\n log: state.log\n });\n handleEventHandlers(state, webhookNameOrNames, handler);\n}\nfunction receiverOnAny(state, handler) {\n handleEventHandlers(state, \"*\", handler);\n}\nfunction receiverOnError(state, handler) {\n handleEventHandlers(state, \"error\", handler);\n}\n\n// pkg/dist-src/event-handler/wrap-error-handler.js\nfunction wrapErrorHandler(handler, error) {\n let returnValue;\n try {\n returnValue = handler(error);\n } catch (error2) {\n console.log('FATAL: Error occurred in \"error\" event handler');\n console.log(error2);\n }\n if (returnValue && returnValue.catch) {\n returnValue.catch((error2) => {\n console.log('FATAL: Error occurred in \"error\" event handler');\n console.log(error2);\n });\n }\n}\n\n// pkg/dist-src/event-handler/receive.js\nfunction getHooks(state, eventPayloadAction, eventName) {\n const hooks = [state.hooks[eventName], state.hooks[\"*\"]];\n if (eventPayloadAction) {\n hooks.unshift(state.hooks[`${eventName}.${eventPayloadAction}`]);\n }\n return [].concat(...hooks.filter(Boolean));\n}\nfunction receiverHandle(state, event) {\n const errorHandlers = state.hooks.error || [];\n if (event instanceof Error) {\n const error = Object.assign(new AggregateError([event], event.message), {\n event\n });\n errorHandlers.forEach((handler) => wrapErrorHandler(handler, error));\n return Promise.reject(error);\n }\n if (!event || !event.name) {\n const error = new Error(\"Event name not passed\");\n throw new AggregateError([error], error.message);\n }\n if (!event.payload) {\n const error = new Error(\"Event name not passed\");\n throw new AggregateError([error], error.message);\n }\n const hooks = getHooks(\n state,\n \"action\" in event.payload ? event.payload.action : null,\n event.name\n );\n if (hooks.length === 0) {\n return Promise.resolve();\n }\n const errors = [];\n const promises = hooks.map((handler) => {\n let promise = Promise.resolve(event);\n if (state.transform) {\n promise = promise.then(state.transform);\n }\n return promise.then((event2) => {\n return handler(event2);\n }).catch((error) => errors.push(Object.assign(error, { event })));\n });\n return Promise.all(promises).then(() => {\n if (errors.length === 0) {\n return;\n }\n const error = new AggregateError(\n errors,\n errors.map((error2) => error2.message).join(\"\\n\")\n );\n Object.assign(error, {\n event\n });\n errorHandlers.forEach((handler) => wrapErrorHandler(handler, error));\n throw error;\n });\n}\n\n// pkg/dist-src/event-handler/remove-listener.js\nfunction removeListener(state, webhookNameOrNames, handler) {\n if (Array.isArray(webhookNameOrNames)) {\n webhookNameOrNames.forEach(\n (webhookName) => removeListener(state, webhookName, handler)\n );\n return;\n }\n if (!state.hooks[webhookNameOrNames]) {\n return;\n }\n for (let i = state.hooks[webhookNameOrNames].length - 1; i >= 0; i--) {\n if (state.hooks[webhookNameOrNames][i] === handler) {\n state.hooks[webhookNameOrNames].splice(i, 1);\n return;\n }\n }\n}\n\n// pkg/dist-src/event-handler/index.js\nfunction createEventHandler(options) {\n const state = {\n hooks: {},\n log: createLogger(options && options.log)\n };\n if (options && options.transform) {\n state.transform = options.transform;\n }\n return {\n on: receiverOn.bind(null, state),\n onAny: receiverOnAny.bind(null, state),\n onError: receiverOnError.bind(null, state),\n removeListener: removeListener.bind(null, state),\n receive: receiverHandle.bind(null, state)\n };\n}\n\n// pkg/dist-src/index.js\nimport { sign, verify } from \"@octokit/webhooks-methods\";\n\n// pkg/dist-src/verify-and-receive.js\nimport { verifyWithFallback } from \"@octokit/webhooks-methods\";\nasync function verifyAndReceive(state, event) {\n const matchesSignature = await verifyWithFallback(\n state.secret,\n event.payload,\n event.signature,\n state.additionalSecrets\n ).catch(() => false);\n if (!matchesSignature) {\n const error = new Error(\n \"[@octokit/webhooks] signature does not match event payload and secret\"\n );\n error.event = event;\n error.status = 400;\n return state.eventHandler.receive(error);\n }\n let payload;\n try {\n payload = JSON.parse(event.payload);\n } catch (error) {\n error.message = \"Invalid JSON\";\n error.status = 400;\n throw new AggregateError([error], error.message);\n }\n return state.eventHandler.receive({\n id: event.id,\n name: event.name,\n payload\n });\n}\n\n// pkg/dist-src/normalize-trailing-slashes.js\nfunction normalizeTrailingSlashes(path) {\n let i = path.length;\n if (i === 0) {\n return \"/\";\n }\n while (i > 0) {\n if (path.charCodeAt(--i) !== 47) {\n break;\n }\n }\n if (i === -1) {\n return \"/\";\n }\n return path.slice(0, i + 1);\n}\n\n// pkg/dist-src/middleware/create-middleware.js\nvar isApplicationJsonRE = /^\\s*(application\\/json)\\s*(?:;|$)/u;\nvar WEBHOOK_HEADERS = [\n \"x-github-event\",\n \"x-hub-signature-256\",\n \"x-github-delivery\"\n];\nfunction createMiddleware(options) {\n const { handleResponse: handleResponse3, getRequestHeader: getRequestHeader3, getPayload: getPayload3 } = options;\n return function middleware(webhooks, options2) {\n const middlewarePath = normalizeTrailingSlashes(options2.path);\n return async function octokitWebhooksMiddleware(request, response, next) {\n let pathname;\n try {\n pathname = new URL(\n normalizeTrailingSlashes(request.url),\n \"http://localhost\"\n ).pathname;\n } catch (error) {\n return handleResponse3(\n JSON.stringify({\n error: `Request URL could not be parsed: ${request.url}`\n }),\n 422,\n {\n \"content-type\": \"application/json\"\n },\n response\n );\n }\n if (pathname !== middlewarePath) {\n next?.();\n return handleResponse3(null);\n } else if (request.method !== \"POST\") {\n return handleResponse3(\n JSON.stringify({\n error: `Unknown route: ${request.method} ${pathname}`\n }),\n 404,\n {\n \"content-type\": \"application/json\"\n },\n response\n );\n }\n const contentType = getRequestHeader3(request, \"content-type\");\n if (typeof contentType !== \"string\" || !isApplicationJsonRE.test(contentType)) {\n return handleResponse3(\n JSON.stringify({\n error: `Unsupported \"Content-Type\" header value. Must be \"application/json\"`\n }),\n 415,\n {\n \"content-type\": \"application/json\",\n accept: \"application/json\"\n },\n response\n );\n }\n const missingHeaders = WEBHOOK_HEADERS.filter((header) => {\n return getRequestHeader3(request, header) == void 0;\n }).join(\", \");\n if (missingHeaders) {\n return handleResponse3(\n JSON.stringify({\n error: `Required headers missing: ${missingHeaders}`\n }),\n 400,\n {\n \"content-type\": \"application/json\",\n accept: \"application/json\"\n },\n response\n );\n }\n const eventName = getRequestHeader3(\n request,\n \"x-github-event\"\n );\n const signature = getRequestHeader3(request, \"x-hub-signature-256\");\n const id = getRequestHeader3(request, \"x-github-delivery\");\n options2.log.debug(`${eventName} event received (id: ${id})`);\n let didTimeout = false;\n let timeout;\n const timeoutPromise = new Promise((resolve) => {\n timeout = setTimeout(() => {\n didTimeout = true;\n resolve(\n handleResponse3(\n \"still processing\\n\",\n 202,\n {\n \"Content-Type\": \"text/plain\",\n accept: \"application/json\"\n },\n response\n )\n );\n }, options2.timeout);\n });\n const processWebhook = async () => {\n try {\n const payload = await getPayload3(request);\n await webhooks.verifyAndReceive({\n id,\n name: eventName,\n payload,\n signature\n });\n clearTimeout(timeout);\n if (didTimeout) return handleResponse3(null);\n return handleResponse3(\n \"ok\\n\",\n 200,\n {\n \"content-type\": \"text/plain\",\n accept: \"application/json\"\n },\n response\n );\n } catch (error) {\n clearTimeout(timeout);\n if (didTimeout) return handleResponse3(null);\n const err = Array.from(error.errors)[0];\n const errorMessage = err.message ? `${err.name}: ${err.message}` : \"Error: An Unspecified error occurred\";\n const statusCode = typeof err.status !== \"undefined\" ? err.status : 500;\n options2.log.error(error);\n return handleResponse3(\n JSON.stringify({\n error: errorMessage\n }),\n statusCode,\n {\n \"content-type\": \"application/json\",\n accept: \"application/json\"\n },\n response\n );\n }\n };\n return await Promise.race([timeoutPromise, processWebhook()]);\n };\n };\n}\n\n// pkg/dist-src/middleware/node/handle-response.js\nfunction handleResponse(body, status = 200, headers = {}, response) {\n if (body === null) {\n return false;\n }\n headers[\"content-length\"] = body.length.toString();\n response.writeHead(status, headers).end(body);\n return true;\n}\n\n// pkg/dist-src/middleware/node/get-request-header.js\nfunction getRequestHeader(request, key) {\n return request.headers[key];\n}\n\n// pkg/dist-src/concat-uint8array.js\nfunction concatUint8Array(data) {\n if (data.length === 0) {\n return new Uint8Array(0);\n }\n let totalLength = 0;\n for (let i = 0; i < data.length; i++) {\n totalLength += data[i].length;\n }\n if (totalLength === 0) {\n return new Uint8Array(0);\n }\n const result = new Uint8Array(totalLength);\n let offset = 0;\n for (let i = 0; i < data.length; i++) {\n result.set(data[i], offset);\n offset += data[i].length;\n }\n return result;\n}\n\n// pkg/dist-src/middleware/node/get-payload.js\nvar textDecoder = new TextDecoder(\"utf-8\", { fatal: false });\nvar decode = textDecoder.decode.bind(textDecoder);\nasync function getPayload(request) {\n if (typeof request.body === \"object\" && \"rawBody\" in request && request.rawBody instanceof Uint8Array) {\n return decode(request.rawBody);\n } else if (typeof request.body === \"string\") {\n return request.body;\n }\n const payload = await getPayloadFromRequestStream(request);\n return decode(payload);\n}\nfunction getPayloadFromRequestStream(request) {\n return new Promise((resolve, reject) => {\n let data = [];\n request.on(\n \"error\",\n (error) => reject(new AggregateError([error], error.message))\n );\n request.on(\"data\", data.push.bind(data));\n request.on(\"end\", () => {\n const result = concatUint8Array(data);\n queueMicrotask(() => resolve(result));\n });\n });\n}\n\n// pkg/dist-src/middleware/node/index.js\nfunction createNodeMiddleware(webhooks, {\n path = \"/api/github/webhooks\",\n log = createLogger(),\n timeout = 9e3\n} = {}) {\n return createMiddleware({\n handleResponse,\n getRequestHeader,\n getPayload\n })(webhooks, {\n path,\n log,\n timeout\n });\n}\n\n// pkg/dist-src/middleware/web/get-payload.js\nfunction getPayload2(request) {\n return request.text();\n}\n\n// pkg/dist-src/middleware/web/get-request-header.js\nfunction getRequestHeader2(request, key) {\n return request.headers.get(key);\n}\n\n// pkg/dist-src/middleware/web/handle-response.js\nfunction handleResponse2(body, status = 200, headers = {}) {\n if (body !== null) {\n headers[\"content-length\"] = body.length.toString();\n }\n return new Response(body, {\n status,\n headers\n });\n}\n\n// pkg/dist-src/middleware/web/index.js\nfunction createWebMiddleware(webhooks, {\n path = \"/api/github/webhooks\",\n log = createLogger(),\n timeout = 9e3\n} = {}) {\n return createMiddleware({\n handleResponse: handleResponse2,\n getRequestHeader: getRequestHeader2,\n getPayload: getPayload2\n })(webhooks, {\n path,\n log,\n timeout\n });\n}\n\n// pkg/dist-src/index.js\nvar Webhooks = class {\n sign;\n verify;\n on;\n onAny;\n onError;\n removeListener;\n receive;\n verifyAndReceive;\n constructor(options) {\n if (!options || !options.secret) {\n throw new Error(\"[@octokit/webhooks] options.secret required\");\n }\n const state = {\n eventHandler: createEventHandler(options),\n secret: options.secret,\n additionalSecrets: options.additionalSecrets,\n hooks: {},\n log: createLogger(options.log)\n };\n this.sign = sign.bind(null, options.secret);\n this.verify = verify.bind(null, options.secret);\n this.on = state.eventHandler.on;\n this.onAny = state.eventHandler.onAny;\n this.onError = state.eventHandler.onError;\n this.removeListener = state.eventHandler.removeListener;\n this.receive = state.eventHandler.receive;\n this.verifyAndReceive = verifyAndReceive.bind(null, state);\n }\n};\nexport {\n Webhooks,\n createEventHandler,\n createNodeMiddleware,\n createWebMiddleware,\n emitterEventNames,\n validateEventName\n};\n","// pkg/dist-src/index.js\nimport { Octokit as OctokitCore } from \"@octokit/core\";\nimport { createAppAuth as createAppAuth3 } from \"@octokit/auth-app\";\nimport { OAuthApp } from \"@octokit/oauth-app\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"16.1.0\";\n\n// pkg/dist-src/webhooks.js\nimport { createAppAuth } from \"@octokit/auth-app\";\nimport { createUnauthenticatedAuth } from \"@octokit/auth-unauthenticated\";\nimport { Webhooks } from \"@octokit/webhooks\";\nfunction webhooks(appOctokit, options) {\n return new Webhooks({\n secret: options.secret,\n transform: async (event) => {\n if (!(\"installation\" in event.payload) || typeof event.payload.installation !== \"object\") {\n const octokit2 = new appOctokit.constructor({\n authStrategy: createUnauthenticatedAuth,\n auth: {\n reason: `\"installation\" key missing in webhook event payload`\n }\n });\n return {\n ...event,\n octokit: octokit2\n };\n }\n const installationId = event.payload.installation.id;\n const octokit = await appOctokit.auth({\n type: \"installation\",\n installationId,\n factory(auth) {\n return new auth.octokit.constructor({\n ...auth.octokitOptions,\n authStrategy: createAppAuth,\n ...{\n auth: {\n ...auth,\n installationId\n }\n }\n });\n }\n });\n octokit.hook.before(\"request\", (options2) => {\n options2.headers[\"x-github-delivery\"] = event.id;\n });\n return {\n ...event,\n octokit\n };\n }\n });\n}\n\n// pkg/dist-src/each-installation.js\nimport { composePaginateRest } from \"@octokit/plugin-paginate-rest\";\n\n// pkg/dist-src/get-installation-octokit.js\nimport { createAppAuth as createAppAuth2 } from \"@octokit/auth-app\";\nasync function getInstallationOctokit(app, installationId) {\n return app.octokit.auth({\n type: \"installation\",\n installationId,\n factory(auth) {\n const options = {\n ...auth.octokitOptions,\n authStrategy: createAppAuth2,\n ...{ auth: { ...auth, installationId } }\n };\n return new auth.octokit.constructor(options);\n }\n });\n}\n\n// pkg/dist-src/each-installation.js\nfunction eachInstallationFactory(app) {\n return Object.assign(eachInstallation.bind(null, app), {\n iterator: eachInstallationIterator.bind(null, app)\n });\n}\nasync function eachInstallation(app, callback) {\n const i = eachInstallationIterator(app)[Symbol.asyncIterator]();\n let result = await i.next();\n while (!result.done) {\n await callback(result.value);\n result = await i.next();\n }\n}\nfunction eachInstallationIterator(app) {\n return {\n async *[Symbol.asyncIterator]() {\n const iterator = composePaginateRest.iterator(\n app.octokit,\n \"GET /app/installations\"\n );\n for await (const { data: installations } of iterator) {\n for (const installation of installations) {\n const installationOctokit = await getInstallationOctokit(\n app,\n installation.id\n );\n yield { octokit: installationOctokit, installation };\n }\n }\n }\n };\n}\n\n// pkg/dist-src/each-repository.js\nimport { composePaginateRest as composePaginateRest2 } from \"@octokit/plugin-paginate-rest\";\nfunction eachRepositoryFactory(app) {\n return Object.assign(eachRepository.bind(null, app), {\n iterator: eachRepositoryIterator.bind(null, app)\n });\n}\nasync function eachRepository(app, queryOrCallback, callback) {\n const i = eachRepositoryIterator(\n app,\n callback ? queryOrCallback : void 0\n )[Symbol.asyncIterator]();\n let result = await i.next();\n while (!result.done) {\n if (callback) {\n await callback(result.value);\n } else {\n await queryOrCallback(result.value);\n }\n result = await i.next();\n }\n}\nfunction singleInstallationIterator(app, installationId) {\n return {\n async *[Symbol.asyncIterator]() {\n yield {\n octokit: await app.getInstallationOctokit(installationId)\n };\n }\n };\n}\nfunction eachRepositoryIterator(app, query) {\n return {\n async *[Symbol.asyncIterator]() {\n const iterator = query ? singleInstallationIterator(app, query.installationId) : app.eachInstallation.iterator();\n for await (const { octokit } of iterator) {\n const repositoriesIterator = composePaginateRest2.iterator(\n octokit,\n \"GET /installation/repositories\"\n );\n for await (const { data: repositories } of repositoriesIterator) {\n for (const repository of repositories) {\n yield { octokit, repository };\n }\n }\n }\n }\n };\n}\n\n// pkg/dist-src/get-installation-url.js\nfunction getInstallationUrlFactory(app) {\n let installationUrlBasePromise;\n return async function getInstallationUrl(options = {}) {\n if (!installationUrlBasePromise) {\n installationUrlBasePromise = getInstallationUrlBase(app);\n }\n const installationUrlBase = await installationUrlBasePromise;\n const installationUrl = new URL(installationUrlBase);\n if (options.target_id !== void 0) {\n installationUrl.pathname += \"/permissions\";\n installationUrl.searchParams.append(\n \"target_id\",\n options.target_id.toFixed()\n );\n }\n if (options.state !== void 0) {\n installationUrl.searchParams.append(\"state\", options.state);\n }\n return installationUrl.href;\n };\n}\nasync function getInstallationUrlBase(app) {\n const { data: appInfo } = await app.octokit.request(\"GET /app\");\n if (!appInfo) {\n throw new Error(\"[@octokit/app] unable to fetch metadata for app\");\n }\n return `${appInfo.html_url}/installations/new`;\n}\n\n// pkg/dist-src/middleware/node/index.js\nimport {\n createNodeMiddleware as oauthNodeMiddleware,\n sendNodeResponse,\n unknownRouteResponse\n} from \"@octokit/oauth-app\";\nimport { createNodeMiddleware as webhooksNodeMiddleware } from \"@octokit/webhooks\";\nfunction noop() {\n}\nfunction createNodeMiddleware(app, options = {}) {\n const log = Object.assign(\n {\n debug: noop,\n info: noop,\n warn: console.warn.bind(console),\n error: console.error.bind(console)\n },\n options.log\n );\n const optionsWithDefaults = {\n pathPrefix: \"/api/github\",\n ...options,\n log\n };\n const webhooksMiddleware = webhooksNodeMiddleware(app.webhooks, {\n path: optionsWithDefaults.pathPrefix + \"/webhooks\",\n log\n });\n const oauthMiddleware = oauthNodeMiddleware(app.oauth, {\n pathPrefix: optionsWithDefaults.pathPrefix + \"/oauth\"\n });\n return middleware.bind(\n null,\n optionsWithDefaults.pathPrefix,\n webhooksMiddleware,\n oauthMiddleware\n );\n}\nasync function middleware(pathPrefix, webhooksMiddleware, oauthMiddleware, request, response, next) {\n const { pathname } = new URL(request.url, \"http://localhost\");\n if (pathname.startsWith(`${pathPrefix}/`)) {\n if (pathname === `${pathPrefix}/webhooks`) {\n webhooksMiddleware(request, response);\n } else if (pathname.startsWith(`${pathPrefix}/oauth/`)) {\n oauthMiddleware(request, response);\n } else {\n sendNodeResponse(unknownRouteResponse(request), response);\n }\n return true;\n } else {\n next?.();\n return false;\n }\n}\n\n// pkg/dist-src/index.js\nvar App = class {\n static VERSION = VERSION;\n static defaults(defaults) {\n const AppWithDefaults = class extends this {\n constructor(...args) {\n super({\n ...defaults,\n ...args[0]\n });\n }\n };\n return AppWithDefaults;\n }\n octokit;\n // @ts-ignore calling app.webhooks will throw a helpful error when options.webhooks is not set\n webhooks;\n // @ts-ignore calling app.oauth will throw a helpful error when options.oauth is not set\n oauth;\n getInstallationOctokit;\n eachInstallation;\n eachRepository;\n getInstallationUrl;\n log;\n constructor(options) {\n const Octokit = options.Octokit || OctokitCore;\n const authOptions = Object.assign(\n {\n appId: options.appId,\n privateKey: options.privateKey\n },\n options.oauth ? {\n clientId: options.oauth.clientId,\n clientSecret: options.oauth.clientSecret\n } : {}\n );\n const octokitOptions = {\n authStrategy: createAppAuth3,\n auth: authOptions\n };\n if (\"log\" in options && typeof options.log !== \"undefined\") {\n octokitOptions.log = options.log;\n }\n this.octokit = new Octokit(octokitOptions);\n this.log = Object.assign(\n {\n debug: () => {\n },\n info: () => {\n },\n warn: console.warn.bind(console),\n error: console.error.bind(console)\n },\n options.log\n );\n if (options.webhooks) {\n this.webhooks = webhooks(this.octokit, options.webhooks);\n } else {\n Object.defineProperty(this, \"webhooks\", {\n get() {\n throw new Error(\"[@octokit/app] webhooks option not set\");\n }\n });\n }\n if (options.oauth) {\n this.oauth = new OAuthApp({\n ...options.oauth,\n clientType: \"github-app\",\n Octokit\n });\n } else {\n Object.defineProperty(this, \"oauth\", {\n get() {\n throw new Error(\n \"[@octokit/app] oauth.clientId / oauth.clientSecret options are not set\"\n );\n }\n });\n }\n this.getInstallationOctokit = getInstallationOctokit.bind(\n null,\n this\n );\n this.eachInstallation = eachInstallationFactory(\n this\n );\n this.eachRepository = eachRepositoryFactory(\n this\n );\n this.getInstallationUrl = getInstallationUrlFactory(this);\n }\n};\nexport {\n App,\n createNodeMiddleware\n};\n","// pkg/dist-src/octokit.js\nimport { Octokit as OctokitCore } from \"@octokit/core\";\nimport { paginateRest } from \"@octokit/plugin-paginate-rest\";\nimport { paginateGraphQL } from \"@octokit/plugin-paginate-graphql\";\nimport { restEndpointMethods } from \"@octokit/plugin-rest-endpoint-methods\";\nimport { retry } from \"@octokit/plugin-retry\";\nimport { throttling } from \"@octokit/plugin-throttling\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"0.0.0-development\";\n\n// pkg/dist-src/octokit.js\nimport { RequestError } from \"@octokit/request-error\";\nvar Octokit = OctokitCore.plugin(\n restEndpointMethods,\n paginateRest,\n paginateGraphQL,\n retry,\n throttling\n).defaults({\n userAgent: `octokit.js/${VERSION}`,\n throttle: {\n onRateLimit,\n onSecondaryRateLimit\n }\n});\nfunction onRateLimit(retryAfter, options, octokit) {\n octokit.log.warn(\n `Request quota exhausted for request ${options.method} ${options.url}`\n );\n if (options.request.retryCount === 0) {\n octokit.log.info(`Retrying after ${retryAfter} seconds!`);\n return true;\n }\n}\nfunction onSecondaryRateLimit(retryAfter, options, octokit) {\n octokit.log.warn(\n `SecondaryRateLimit detected for request ${options.method} ${options.url}`\n );\n if (options.request.retryCount === 0) {\n octokit.log.info(`Retrying after ${retryAfter} seconds!`);\n return true;\n }\n}\n\n// pkg/dist-src/app.js\nimport { App as DefaultApp } from \"@octokit/app\";\nimport { OAuthApp as DefaultOAuthApp } from \"@octokit/oauth-app\";\nimport { createNodeMiddleware } from \"@octokit/app\";\nvar App = DefaultApp.defaults({ Octokit });\nvar OAuthApp = DefaultOAuthApp.defaults({ Octokit });\nexport {\n App,\n OAuthApp,\n Octokit,\n RequestError,\n createNodeMiddleware\n};\n","import { App } from \"octokit\";\n\nif (!process.env.GITHUB_REF?.startsWith(\"refs/pull/\")) {\n console.log(\"not a pull request, exiting.\");\n process.exit(0);\n}\n\nfunction requireEnv(name: string): string {\n const value = process.env[name];\n if (!value) throw new Error(`Missing required environment variable: ${name}`);\n return value;\n}\n\nconst githubRepository = requireEnv(\"GITHUB_REPOSITORY\");\nconst githubRef = requireEnv(\"GITHUB_REF\");\n\nconst current_run_id = parseInt(requireEnv(\"INPUT_RUN_ID\"));\nconst current_job_id = parseInt(requireEnv(\"INPUT_JOB_ID\"));\n\nconst [owner, repo] = githubRepository.split(\"/\");\nconst pull_request_number = parseInt(githubRef.split(\"/\")[2]);\n\nconst ignore_no_marker = requireEnv(\"INPUT_IGNORE_NO_MARKER\") === 'true';\n\nconst job_regex = requireEnv(\"INPUT_JOB_REGEX\");\nconst step_regex = requireEnv(\"INPUT_STEP_REGEX\");\n\nconst appId = 1230093;\nconst privateKey = requireEnv(\"INPUT_PRIVATE_KEY\");\n\nconst app = new App({ appId, privateKey });\nconst { data: installation } = await app.octokit.request(\"GET /repos/{owner}/{repo}/installation\", { owner, repo });\nconst octokit = await app.getInstallationOctokit(installation.id);\n\nlet body: string | null = null;\n\ninterface Row {\n url: string;\n status: string;\n [field: string]: string;\n}\n\nconst rows: Row[] = [];\n\nconst { data: jobList } = await octokit.rest.actions.listJobsForWorkflowRun({\n owner,\n repo,\n run_id: current_run_id,\n per_page: 100,\n});\n\nfor (const job of jobList.jobs) {\n const job_id = job.id;\n\n if (job_id === current_job_id) continue;\n\n const { url: redirectUrl } = await octokit.rest.actions.downloadJobLogsForWorkflowRun({\n owner,\n repo,\n job_id,\n });\n\n const response = await fetch(redirectUrl);\n if (!response.ok) {\n console.log(`failed to retrieve job log for ${job_id}`);\n continue;\n }\n const jobLog = await response.text();\n\n const warningRegex = /warning( .\\d+)?:/;\n const errorRegex = /error( .\\d+)?:/;\n\n const lines = jobLog.split(\"\\n\");\n console.log(`total lines: ${lines.length}`);\n\n let offset = 0;\n const offsetIdx = lines.findIndex((line) => line.match(\"CPPWARNINGNOTIFIER_LOG_MARKER\"));\n if (offsetIdx !== -1) {\n offset = offsetIdx;\n } else {\n if (ignore_no_marker) {\n continue;\n }\n }\n\n let compileResult = \"✅success\";\n let firstIssueLine = 1;\n const warningIdx = lines.findIndex((line) => line.match(warningRegex));\n console.log(`warningIdx: ${warningIdx}`);\n if (warningIdx !== -1) {\n compileResult = \"⚠️warning\";\n firstIssueLine = warningIdx - offset + 1;\n console.log(`matched warning line: ${lines[warningIdx]}`);\n } else {\n const errorIdx = lines.findIndex((line) => line.match(errorRegex));\n console.log(`errorIdx: ${errorIdx}`);\n if (errorIdx !== -1) {\n compileResult = \"❌error\";\n firstIssueLine = errorIdx - offset + 1;\n console.log(`matched error line: ${lines[errorIdx]}`);\n }\n }\n\n const steps = job.steps ?? [];\n const stepIndex = steps.findIndex(\n (step) =>\n step.name.match(step_regex) &&\n step.status === \"completed\" &&\n step.conclusion === \"success\",\n );\n const stepId = (stepIndex === -1 ? steps.length : stepIndex) + 1;\n\n console.log(`stepId is ${stepId}`);\n\n console.log(`job name is \"${job.name}\"`);\n\n const jobMatch = job.name.match(job_regex);\n\n if (!jobMatch) {\n console.log(\"job match fail\");\n continue;\n }\n\n rows.push({\n url: `https://github.com/${owner}/${repo}/actions/runs/${current_run_id}/job/${job_id}#step:${stepId}:${firstIssueLine}`,\n status: compileResult,\n ...jobMatch.groups,\n });\n}\n\nconsole.log(\"rows\", rows);\n\nconst ROW_HEADER_FIELDS: string[] = JSON.parse(requireEnv(\"INPUT_ROW_HEADERS\"));\nconst COLUMN_FIELD = requireEnv(\"INPUT_COLUMN_HEADER\");\n\nclass CompositeKeyMap {\n private map = new Map();\n\n get(keys: readonly string[]): V | undefined {\n return this.map.get(JSON.stringify(keys));\n }\n\n set(keys: readonly string[], value: V): void {\n this.map.set(JSON.stringify(keys), value);\n }\n}\n\nfunction escapeHtml(s: string): string {\n return s\n .replace(/&/g, \"&\")\n .replace(//g, \">\")\n .replace(/\"/g, \""\");\n}\n\nfunction renderRows(\n rows: Row[],\n depth: number,\n columns: string[],\n cellMap: CompositeKeyMap,\n): string[] {\n if (depth === ROW_HEADER_FIELDS.length) {\n const representative = rows[0];\n const rowFields = ROW_HEADER_FIELDS.map((f) => representative[f]);\n const tds = columns.map((col) => {\n const cell = cellMap.get([...rowFields, col]);\n if (!cell) return \" | \";\n return `${escapeHtml(cell.status)} | `;\n });\n return [`${tds.join(\"\")}`];\n }\n\n const field = ROW_HEADER_FIELDS[depth];\n const groups = groupBy(rows, (r) => r[field] ?? \"\");\n const result: string[] = [];\n\n for (const [value, group] of groups) {\n const childRows = renderRows(group, depth + 1, columns, cellMap);\n const rowspan = childRows.length;\n const th =\n rowspan > 1\n ? `${escapeHtml(value)} | `\n : `${escapeHtml(value)} | `;\n\n childRows[0] = `${th}${childRows[0]}`;\n result.push(...childRows);\n }\n\n return result;\n}\n\nfunction groupBy(items: T[], keyFn: (item: T) => string): [string, T[]][] {\n const map = new Map();\n for (const item of items) {\n const key = keyFn(item);\n let group = map.get(key);\n if (!group) {\n group = [];\n map.set(key, group);\n }\n group.push(item);\n }\n return [...map.entries()];\n}\n\nfunction generateTable(entries: Row[]): string {\n const columns = [...new Set(entries.map((e) => e[COLUMN_FIELD] ?? \"\"))].sort(\n (a, b) => Number(a) - Number(b),\n );\n\n const sorted = [...entries].sort((a, b) => {\n for (const field of ROW_HEADER_FIELDS) {\n const av = a[field] ?? \"\";\n const bv = b[field] ?? \"\";\n if (av < bv) return -1;\n if (av > bv) return 1;\n }\n return 0;\n });\n\n const cellMap = new CompositeKeyMap();\n for (const entry of sorted) {\n const key = [...ROW_HEADER_FIELDS.map((f) => entry[f]), entry[COLUMN_FIELD]];\n cellMap.set(key, entry);\n }\n\n const theadCols = columns.map((v) => `| C++${v} | `).join(\"\");\n const thead = `| Environment | ${theadCols}
`;\n\n const rows = renderRows(sorted, 0, columns, cellMap);\n const tbody = `${rows.map((r) => `${r}`).join(\"\")}
`;\n\n return ``;\n}\n\nbody ??= generateTable(rows);\n\nconsole.log(\"body is\", body);\n\nif (body) {\n console.log(\"outdates previous comments\");\n const { data: comments } = await octokit.rest.issues.listComments({\n owner,\n repo,\n issue_number: pull_request_number,\n });\n\n const compareDate = (a: Date, b: Date) => a.getTime() - b.getTime();\n\n const post_comment = async () => {\n console.log(\"leaving comment\");\n await octokit.rest.issues.createComment({\n owner,\n repo,\n issue_number: pull_request_number,\n body,\n });\n };\n\n const sorted_comments = comments\n .filter((comment) => comment.user?.login === \"cppwarningnotifier[bot]\")\n .toSorted((a, b) => compareDate(new Date(a.created_at), new Date(b.created_at)));\n\n if (sorted_comments.length > 0) {\n const latest_comment = sorted_comments[sorted_comments.length - 1];\n\n if (body.includes(\"warning\") || latest_comment.body?.includes(\"warning\")) {\n // minimize latest comment\n await octokit.graphql(`\n mutation {\n minimizeComment(input: { subjectId: \"${latest_comment.node_id}\", classifier: OUTDATED }) {\n clientMutationId\n }\n }\n `);\n\n await post_comment();\n }\n } else {\n await post_comment();\n }\n}\n"],"names":["VERSION","isPlainObject","withDefaults","safeParse","auth","hook","noop","createLogger","get","set","ENDPOINTS","this","commonjsGlobal","global","wrapRequest","Bottleneck","routeMatcher","request","defaultRequest","defaultRequest2","defaultRequest3","defaultRequest4","defaultRequest5","defaultRequest6","defaultRequest7","defaultRequest8","defaultRequest9","defaultRequest10","octokitRequest","Lru","Octokit","OAuthMethods.getWebFlowAuthorizationUrl","OAuthAppAuth.createOAuthUserAuth","OAuthMethods2.checkToken","OAuthMethods3.resetToken","createOAuthUserAuth3","OAuthMethods4.refreshToken","createOAuthUserAuth4","OAuthMethods5.scopeToken","createOAuthUserAuth5","OAuthMethods6.deleteToken","OAuthMethods7.deleteAuthorization","createUnauthenticatedAuth2","createAppAuth2","composePaginateRest2","App","OctokitCore","createAppAuth3","DefaultApp"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38]}
\ No newline at end of file
+{"version":3,"file":"index.js","sources":["../node_modules/universal-user-agent/index.js","../node_modules/before-after-hook/lib/register.js","../node_modules/before-after-hook/lib/add.js","../node_modules/before-after-hook/lib/remove.js","../node_modules/before-after-hook/index.js","../node_modules/@octokit/endpoint/dist-bundle/index.js","../node_modules/fast-content-type-parse/index.js","../node_modules/@octokit/request-error/dist-src/index.js","../node_modules/@octokit/request/dist-bundle/index.js","../node_modules/@octokit/graphql/dist-bundle/index.js","../node_modules/@octokit/auth-token/dist-bundle/index.js","../node_modules/@octokit/core/dist-src/version.js","../node_modules/@octokit/core/dist-src/index.js","../node_modules/@octokit/plugin-paginate-rest/dist-bundle/index.js","../node_modules/@octokit/plugin-paginate-graphql/dist-bundle/index.js","../node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js","../node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js","../node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js","../node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js","../node_modules/bottleneck/light.js","../node_modules/@octokit/plugin-retry/dist-bundle/index.js","../node_modules/@octokit/plugin-throttling/dist-bundle/index.js","../node_modules/@octokit/oauth-authorization-url/dist-src/index.js","../node_modules/@octokit/oauth-methods/dist-bundle/index.js","../node_modules/@octokit/auth-oauth-device/dist-bundle/index.js","../node_modules/@octokit/auth-oauth-user/dist-bundle/index.js","../node_modules/@octokit/auth-oauth-app/dist-bundle/index.js","../node_modules/universal-github-app-jwt/lib/utils.js","../node_modules/universal-github-app-jwt/lib/crypto-native.js","../node_modules/universal-github-app-jwt/lib/get-token.js","../node_modules/universal-github-app-jwt/index.js","../node_modules/toad-cache/dist/toad-cache.mjs","../node_modules/@octokit/auth-app/dist-node/index.js","../node_modules/@octokit/auth-unauthenticated/dist-node/index.js","../node_modules/@octokit/oauth-app/dist-node/index.js","../node_modules/@octokit/webhooks-methods/dist-node/index.js","../node_modules/@octokit/webhooks/dist-bundle/index.js","../node_modules/@octokit/app/dist-node/index.js","../node_modules/octokit/dist-bundle/index.js","../../src/core.ts","../../src/index.ts"],"sourcesContent":["export function getUserAgent() {\n if (typeof navigator === \"object\" && \"userAgent\" in navigator) {\n return navigator.userAgent;\n }\n\n if (typeof process === \"object\" && process.version !== undefined) {\n return `Node.js/${process.version.substr(1)} (${process.platform}; ${\n process.arch\n })`;\n }\n\n return \"\";\n}\n","// @ts-check\n\nexport function register(state, name, method, options) {\n if (typeof method !== \"function\") {\n throw new Error(\"method for before hook must be a function\");\n }\n\n if (!options) {\n options = {};\n }\n\n if (Array.isArray(name)) {\n return name.reverse().reduce((callback, name) => {\n return register.bind(null, state, name, callback, options);\n }, method)();\n }\n\n return Promise.resolve().then(() => {\n if (!state.registry[name]) {\n return method(options);\n }\n\n return state.registry[name].reduce((method, registered) => {\n return registered.hook.bind(null, method, options);\n }, method)();\n });\n}\n","// @ts-check\n\nexport function addHook(state, kind, name, hook) {\n const orig = hook;\n if (!state.registry[name]) {\n state.registry[name] = [];\n }\n\n if (kind === \"before\") {\n hook = (method, options) => {\n return Promise.resolve()\n .then(orig.bind(null, options))\n .then(method.bind(null, options));\n };\n }\n\n if (kind === \"after\") {\n hook = (method, options) => {\n let result;\n return Promise.resolve()\n .then(method.bind(null, options))\n .then((result_) => {\n result = result_;\n return orig(result, options);\n })\n .then(() => {\n return result;\n });\n };\n }\n\n if (kind === \"error\") {\n hook = (method, options) => {\n return Promise.resolve()\n .then(method.bind(null, options))\n .catch((error) => {\n return orig(error, options);\n });\n };\n }\n\n state.registry[name].push({\n hook: hook,\n orig: orig,\n });\n}\n","// @ts-check\n\nexport function removeHook(state, name, method) {\n if (!state.registry[name]) {\n return;\n }\n\n const index = state.registry[name]\n .map((registered) => {\n return registered.orig;\n })\n .indexOf(method);\n\n if (index === -1) {\n return;\n }\n\n state.registry[name].splice(index, 1);\n}\n","// @ts-check\n\nimport { register } from \"./lib/register.js\";\nimport { addHook } from \"./lib/add.js\";\nimport { removeHook } from \"./lib/remove.js\";\n\n// bind with array of arguments: https://stackoverflow.com/a/21792913\nconst bind = Function.bind;\nconst bindable = bind.bind(bind);\n\nfunction bindApi(hook, state, name) {\n const removeHookRef = bindable(removeHook, null).apply(\n null,\n name ? [state, name] : [state]\n );\n hook.api = { remove: removeHookRef };\n hook.remove = removeHookRef;\n [\"before\", \"error\", \"after\", \"wrap\"].forEach((kind) => {\n const args = name ? [state, kind, name] : [state, kind];\n hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args);\n });\n}\n\nfunction Singular() {\n const singularHookName = Symbol(\"Singular\");\n const singularHookState = {\n registry: {},\n };\n const singularHook = register.bind(null, singularHookState, singularHookName);\n bindApi(singularHook, singularHookState, singularHookName);\n return singularHook;\n}\n\nfunction Collection() {\n const state = {\n registry: {},\n };\n\n const hook = register.bind(null, state);\n bindApi(hook, state);\n\n return hook;\n}\n\nexport default { Singular, Collection };\n","// pkg/dist-src/defaults.js\nimport { getUserAgent } from \"universal-user-agent\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"0.0.0-development\";\n\n// pkg/dist-src/defaults.js\nvar userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;\nvar DEFAULTS = {\n method: \"GET\",\n baseUrl: \"https://api.github.com\",\n headers: {\n accept: \"application/vnd.github.v3+json\",\n \"user-agent\": userAgent\n },\n mediaType: {\n format: \"\"\n }\n};\n\n// pkg/dist-src/util/lowercase-keys.js\nfunction lowercaseKeys(object) {\n if (!object) {\n return {};\n }\n return Object.keys(object).reduce((newObj, key) => {\n newObj[key.toLowerCase()] = object[key];\n return newObj;\n }, {});\n}\n\n// pkg/dist-src/util/is-plain-object.js\nfunction isPlainObject(value) {\n if (typeof value !== \"object\" || value === null) return false;\n if (Object.prototype.toString.call(value) !== \"[object Object]\") return false;\n const proto = Object.getPrototypeOf(value);\n if (proto === null) return true;\n const Ctor = Object.prototype.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\n return typeof Ctor === \"function\" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value);\n}\n\n// pkg/dist-src/util/merge-deep.js\nfunction mergeDeep(defaults, options) {\n const result = Object.assign({}, defaults);\n Object.keys(options).forEach((key) => {\n if (isPlainObject(options[key])) {\n if (!(key in defaults)) Object.assign(result, { [key]: options[key] });\n else result[key] = mergeDeep(defaults[key], options[key]);\n } else {\n Object.assign(result, { [key]: options[key] });\n }\n });\n return result;\n}\n\n// pkg/dist-src/util/remove-undefined-properties.js\nfunction removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === void 0) {\n delete obj[key];\n }\n }\n return obj;\n}\n\n// pkg/dist-src/merge.js\nfunction merge(defaults, route, options) {\n if (typeof route === \"string\") {\n let [method, url] = route.split(\" \");\n options = Object.assign(url ? { method, url } : { url: method }, options);\n } else {\n options = Object.assign({}, route);\n }\n options.headers = lowercaseKeys(options.headers);\n removeUndefinedProperties(options);\n removeUndefinedProperties(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options);\n if (options.url === \"/graphql\") {\n if (defaults && defaults.mediaType.previews?.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(\n (preview) => !mergedOptions.mediaType.previews.includes(preview)\n ).concat(mergedOptions.mediaType.previews);\n }\n mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, \"\"));\n }\n return mergedOptions;\n}\n\n// pkg/dist-src/util/add-query-parameters.js\nfunction addQueryParameters(url, parameters) {\n const separator = /\\?/.test(url) ? \"&\" : \"?\";\n const names = Object.keys(parameters);\n if (names.length === 0) {\n return url;\n }\n return url + separator + names.map((name) => {\n if (name === \"q\") {\n return \"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\");\n }\n return `${name}=${encodeURIComponent(parameters[name])}`;\n }).join(\"&\");\n}\n\n// pkg/dist-src/util/extract-url-variable-names.js\nvar urlVariableRegex = /\\{[^{}}]+\\}/g;\nfunction removeNonChars(variableName) {\n return variableName.replace(/(?:^\\W+)|(?:(? a.concat(b), []);\n}\n\n// pkg/dist-src/util/omit.js\nfunction omit(object, keysToOmit) {\n const result = { __proto__: null };\n for (const key of Object.keys(object)) {\n if (keysToOmit.indexOf(key) === -1) {\n result[key] = object[key];\n }\n }\n return result;\n}\n\n// pkg/dist-src/util/url-template.js\nfunction encodeReserved(str) {\n return str.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) {\n if (!/%[0-9A-Fa-f]/.test(part)) {\n part = encodeURI(part).replace(/%5B/g, \"[\").replace(/%5D/g, \"]\");\n }\n return part;\n }).join(\"\");\n}\nfunction encodeUnreserved(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function(c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\nfunction encodeValue(operator, value, key) {\n value = operator === \"+\" || operator === \"#\" ? encodeReserved(value) : encodeUnreserved(value);\n if (key) {\n return encodeUnreserved(key) + \"=\" + value;\n } else {\n return value;\n }\n}\nfunction isDefined(value) {\n return value !== void 0 && value !== null;\n}\nfunction isKeyOperator(operator) {\n return operator === \";\" || operator === \"&\" || operator === \"?\";\n}\nfunction getValues(context, operator, key, modifier) {\n var value = context[key], result = [];\n if (isDefined(value) && value !== \"\") {\n if (typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\") {\n value = value.toString();\n if (modifier && modifier !== \"*\") {\n value = value.substring(0, parseInt(modifier, 10));\n }\n result.push(\n encodeValue(operator, value, isKeyOperator(operator) ? key : \"\")\n );\n } else {\n if (modifier === \"*\") {\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function(value2) {\n result.push(\n encodeValue(operator, value2, isKeyOperator(operator) ? key : \"\")\n );\n });\n } else {\n Object.keys(value).forEach(function(k) {\n if (isDefined(value[k])) {\n result.push(encodeValue(operator, value[k], k));\n }\n });\n }\n } else {\n const tmp = [];\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function(value2) {\n tmp.push(encodeValue(operator, value2));\n });\n } else {\n Object.keys(value).forEach(function(k) {\n if (isDefined(value[k])) {\n tmp.push(encodeUnreserved(k));\n tmp.push(encodeValue(operator, value[k].toString()));\n }\n });\n }\n if (isKeyOperator(operator)) {\n result.push(encodeUnreserved(key) + \"=\" + tmp.join(\",\"));\n } else if (tmp.length !== 0) {\n result.push(tmp.join(\",\"));\n }\n }\n }\n } else {\n if (operator === \";\") {\n if (isDefined(value)) {\n result.push(encodeUnreserved(key));\n }\n } else if (value === \"\" && (operator === \"&\" || operator === \"?\")) {\n result.push(encodeUnreserved(key) + \"=\");\n } else if (value === \"\") {\n result.push(\"\");\n }\n }\n return result;\n}\nfunction parseUrl(template) {\n return {\n expand: expand.bind(null, template)\n };\n}\nfunction expand(template, context) {\n var operators = [\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"];\n template = template.replace(\n /\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g,\n function(_, expression, literal) {\n if (expression) {\n let operator = \"\";\n const values = [];\n if (operators.indexOf(expression.charAt(0)) !== -1) {\n operator = expression.charAt(0);\n expression = expression.substr(1);\n }\n expression.split(/,/g).forEach(function(variable) {\n var tmp = /([^:\\*]*)(?::(\\d+)|(\\*))?/.exec(variable);\n values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));\n });\n if (operator && operator !== \"+\") {\n var separator = \",\";\n if (operator === \"?\") {\n separator = \"&\";\n } else if (operator !== \"#\") {\n separator = operator;\n }\n return (values.length !== 0 ? operator : \"\") + values.join(separator);\n } else {\n return values.join(\",\");\n }\n } else {\n return encodeReserved(literal);\n }\n }\n );\n if (template === \"/\") {\n return template;\n } else {\n return template.replace(/\\/$/, \"\");\n }\n}\n\n// pkg/dist-src/parse.js\nfunction parse(options) {\n let method = options.method.toUpperCase();\n let url = (options.url || \"/\").replace(/:([a-z]\\w+)/g, \"{$1}\");\n let headers = Object.assign({}, options.headers);\n let body;\n let parameters = omit(options, [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"mediaType\"\n ]);\n const urlVariableNames = extractUrlVariableNames(url);\n url = parseUrl(url).expand(parameters);\n if (!/^http/.test(url)) {\n url = options.baseUrl + url;\n }\n const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n if (!isBinaryRequest) {\n if (options.mediaType.format) {\n headers.accept = headers.accept.split(/,/).map(\n (format) => format.replace(\n /application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/,\n `application/vnd$1$2.${options.mediaType.format}`\n )\n ).join(\",\");\n }\n if (url.endsWith(\"/graphql\")) {\n if (options.mediaType.previews?.length) {\n const previewsFromAcceptHeader = headers.accept.match(/(? {\n const format = options.mediaType.format ? `.${options.mediaType.format}` : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n }).join(\",\");\n }\n }\n }\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n } else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n } else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n }\n }\n }\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n }\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n }\n return Object.assign(\n { method, url, headers },\n typeof body !== \"undefined\" ? { body } : null,\n options.request ? { request: options.request } : null\n );\n}\n\n// pkg/dist-src/endpoint-with-defaults.js\nfunction endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\n\n// pkg/dist-src/with-defaults.js\nfunction withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS2 = merge(oldDefaults, newDefaults);\n const endpoint2 = endpointWithDefaults.bind(null, DEFAULTS2);\n return Object.assign(endpoint2, {\n DEFAULTS: DEFAULTS2,\n defaults: withDefaults.bind(null, DEFAULTS2),\n merge: merge.bind(null, DEFAULTS2),\n parse\n });\n}\n\n// pkg/dist-src/index.js\nvar endpoint = withDefaults(null, DEFAULTS);\nexport {\n endpoint\n};\n","'use strict'\n\nconst NullObject = function NullObject () { }\nNullObject.prototype = Object.create(null)\n\n/**\n * RegExp to match *( \";\" parameter ) in RFC 7231 sec 3.1.1.1\n *\n * parameter = token \"=\" ( token / quoted-string )\n * token = 1*tchar\n * tchar = \"!\" / \"#\" / \"$\" / \"%\" / \"&\" / \"'\" / \"*\"\n * / \"+\" / \"-\" / \".\" / \"^\" / \"_\" / \"`\" / \"|\" / \"~\"\n * / DIGIT / ALPHA\n * ; any VCHAR, except delimiters\n * quoted-string = DQUOTE *( qdtext / quoted-pair ) DQUOTE\n * qdtext = HTAB / SP / %x21 / %x23-5B / %x5D-7E / obs-text\n * obs-text = %x80-FF\n * quoted-pair = \"\\\" ( HTAB / SP / VCHAR / obs-text )\n */\nconst paramRE = /; *([!#$%&'*+.^\\w`|~-]+)=(\"(?:[\\v\\u0020\\u0021\\u0023-\\u005b\\u005d-\\u007e\\u0080-\\u00ff]|\\\\[\\v\\u0020-\\u00ff])*\"|[!#$%&'*+.^\\w`|~-]+) */gu\n\n/**\n * RegExp to match quoted-pair in RFC 7230 sec 3.2.6\n *\n * quoted-pair = \"\\\" ( HTAB / SP / VCHAR / obs-text )\n * obs-text = %x80-FF\n */\nconst quotedPairRE = /\\\\([\\v\\u0020-\\u00ff])/gu\n\n/**\n * RegExp to match type in RFC 7231 sec 3.1.1.1\n *\n * media-type = type \"/\" subtype\n * type = token\n * subtype = token\n */\nconst mediaTypeRE = /^[!#$%&'*+.^\\w|~-]+\\/[!#$%&'*+.^\\w|~-]+$/u\n\n// default ContentType to prevent repeated object creation\nconst defaultContentType = { type: '', parameters: new NullObject() }\nObject.freeze(defaultContentType.parameters)\nObject.freeze(defaultContentType)\n\n/**\n * Parse media type to object.\n *\n * @param {string|object} header\n * @return {Object}\n * @public\n */\n\nfunction parse (header) {\n if (typeof header !== 'string') {\n throw new TypeError('argument header is required and must be a string')\n }\n\n let index = header.indexOf(';')\n const type = index !== -1\n ? header.slice(0, index).trim()\n : header.trim()\n\n if (mediaTypeRE.test(type) === false) {\n throw new TypeError('invalid media type')\n }\n\n const result = {\n type: type.toLowerCase(),\n parameters: new NullObject()\n }\n\n // parse parameters\n if (index === -1) {\n return result\n }\n\n let key\n let match\n let value\n\n paramRE.lastIndex = index\n\n while ((match = paramRE.exec(header))) {\n if (match.index !== index) {\n throw new TypeError('invalid parameter format')\n }\n\n index += match[0].length\n key = match[1].toLowerCase()\n value = match[2]\n\n if (value[0] === '\"') {\n // remove quotes and escapes\n value = value\n .slice(1, value.length - 1)\n\n quotedPairRE.test(value) && (value = value.replace(quotedPairRE, '$1'))\n }\n\n result.parameters[key] = value\n }\n\n if (index !== header.length) {\n throw new TypeError('invalid parameter format')\n }\n\n return result\n}\n\nfunction safeParse (header) {\n if (typeof header !== 'string') {\n return defaultContentType\n }\n\n let index = header.indexOf(';')\n const type = index !== -1\n ? header.slice(0, index).trim()\n : header.trim()\n\n if (mediaTypeRE.test(type) === false) {\n return defaultContentType\n }\n\n const result = {\n type: type.toLowerCase(),\n parameters: new NullObject()\n }\n\n // parse parameters\n if (index === -1) {\n return result\n }\n\n let key\n let match\n let value\n\n paramRE.lastIndex = index\n\n while ((match = paramRE.exec(header))) {\n if (match.index !== index) {\n return defaultContentType\n }\n\n index += match[0].length\n key = match[1].toLowerCase()\n value = match[2]\n\n if (value[0] === '\"') {\n // remove quotes and escapes\n value = value\n .slice(1, value.length - 1)\n\n quotedPairRE.test(value) && (value = value.replace(quotedPairRE, '$1'))\n }\n\n result.parameters[key] = value\n }\n\n if (index !== header.length) {\n return defaultContentType\n }\n\n return result\n}\n\nmodule.exports.default = { parse, safeParse }\nmodule.exports.parse = parse\nmodule.exports.safeParse = safeParse\nmodule.exports.defaultContentType = defaultContentType\n","class RequestError extends Error {\n name;\n /**\n * http status code\n */\n status;\n /**\n * Request options that lead to the error.\n */\n request;\n /**\n * Response object if a response was received\n */\n response;\n constructor(message, statusCode, options) {\n super(message);\n this.name = \"HttpError\";\n this.status = Number.parseInt(statusCode);\n if (Number.isNaN(this.status)) {\n this.status = 0;\n }\n if (\"response\" in options) {\n this.response = options.response;\n }\n const requestCopy = Object.assign({}, options.request);\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(\n /(? [\n name,\n String(value)\n ])\n );\n let fetchResponse;\n try {\n fetchResponse = await fetch(requestOptions.url, {\n method: requestOptions.method,\n body,\n redirect: requestOptions.request?.redirect,\n headers: requestHeaders,\n signal: requestOptions.request?.signal,\n // duplex must be set if request.body is ReadableStream or Async Iterables.\n // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex.\n ...requestOptions.body && { duplex: \"half\" }\n });\n } catch (error) {\n let message = \"Unknown Error\";\n if (error instanceof Error) {\n if (error.name === \"AbortError\") {\n error.status = 500;\n throw error;\n }\n message = error.message;\n if (error.name === \"TypeError\" && \"cause\" in error) {\n if (error.cause instanceof Error) {\n message = error.cause.message;\n } else if (typeof error.cause === \"string\") {\n message = error.cause;\n }\n }\n }\n const requestError = new RequestError(message, 500, {\n request: requestOptions\n });\n requestError.cause = error;\n throw requestError;\n }\n const status = fetchResponse.status;\n const url = fetchResponse.url;\n const responseHeaders = {};\n for (const [key, value] of fetchResponse.headers) {\n responseHeaders[key] = value;\n }\n const octokitResponse = {\n url,\n status,\n headers: responseHeaders,\n data: \"\"\n };\n if (\"deprecation\" in responseHeaders) {\n const matches = responseHeaders.link && responseHeaders.link.match(/<([^<>]+)>; rel=\"deprecation\"/);\n const deprecationLink = matches && matches.pop();\n log.warn(\n `[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${responseHeaders.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`\n );\n }\n if (status === 204 || status === 205) {\n return octokitResponse;\n }\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return octokitResponse;\n }\n throw new RequestError(fetchResponse.statusText, status, {\n response: octokitResponse,\n request: requestOptions\n });\n }\n if (status === 304) {\n octokitResponse.data = await getResponseData(fetchResponse);\n throw new RequestError(\"Not modified\", status, {\n response: octokitResponse,\n request: requestOptions\n });\n }\n if (status >= 400) {\n octokitResponse.data = await getResponseData(fetchResponse);\n throw new RequestError(toErrorMessage(octokitResponse.data), status, {\n response: octokitResponse,\n request: requestOptions\n });\n }\n octokitResponse.data = parseSuccessResponseBody ? await getResponseData(fetchResponse) : fetchResponse.body;\n return octokitResponse;\n}\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n if (!contentType) {\n return response.text().catch(() => \"\");\n }\n const mimetype = safeParse(contentType);\n if (isJSONResponse(mimetype)) {\n let text = \"\";\n try {\n text = await response.text();\n return JSON.parse(text);\n } catch (err) {\n return text;\n }\n } else if (mimetype.type.startsWith(\"text/\") || mimetype.parameters.charset?.toLowerCase() === \"utf-8\") {\n return response.text().catch(() => \"\");\n } else {\n return response.arrayBuffer().catch(() => new ArrayBuffer(0));\n }\n}\nfunction isJSONResponse(mimetype) {\n return mimetype.type === \"application/json\" || mimetype.type === \"application/scim+json\";\n}\nfunction toErrorMessage(data) {\n if (typeof data === \"string\") {\n return data;\n }\n if (data instanceof ArrayBuffer) {\n return \"Unknown error\";\n }\n if (\"message\" in data) {\n const suffix = \"documentation_url\" in data ? ` - ${data.documentation_url}` : \"\";\n return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(\", \")}${suffix}` : `${data.message}${suffix}`;\n }\n return `Unknown error: ${JSON.stringify(data)}`;\n}\n\n// pkg/dist-src/with-defaults.js\nfunction withDefaults(oldEndpoint, newDefaults) {\n const endpoint2 = oldEndpoint.defaults(newDefaults);\n const newApi = function(route, parameters) {\n const endpointOptions = endpoint2.merge(route, parameters);\n if (!endpointOptions.request || !endpointOptions.request.hook) {\n return fetchWrapper(endpoint2.parse(endpointOptions));\n }\n const request2 = (route2, parameters2) => {\n return fetchWrapper(\n endpoint2.parse(endpoint2.merge(route2, parameters2))\n );\n };\n Object.assign(request2, {\n endpoint: endpoint2,\n defaults: withDefaults.bind(null, endpoint2)\n });\n return endpointOptions.request.hook(request2, endpointOptions);\n };\n return Object.assign(newApi, {\n endpoint: endpoint2,\n defaults: withDefaults.bind(null, endpoint2)\n });\n}\n\n// pkg/dist-src/index.js\nvar request = withDefaults(endpoint, defaults_default);\nexport {\n request\n};\n","// pkg/dist-src/index.js\nimport { request } from \"@octokit/request\";\nimport { getUserAgent } from \"universal-user-agent\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"0.0.0-development\";\n\n// pkg/dist-src/with-defaults.js\nimport { request as Request2 } from \"@octokit/request\";\n\n// pkg/dist-src/graphql.js\nimport { request as Request } from \"@octokit/request\";\n\n// pkg/dist-src/error.js\nfunction _buildMessageForResponseErrors(data) {\n return `Request failed due to following response errors:\n` + data.errors.map((e) => ` - ${e.message}`).join(\"\\n\");\n}\nvar GraphqlResponseError = class extends Error {\n constructor(request2, headers, response) {\n super(_buildMessageForResponseErrors(response));\n this.request = request2;\n this.headers = headers;\n this.response = response;\n this.errors = response.errors;\n this.data = response.data;\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n name = \"GraphqlResponseError\";\n errors;\n data;\n};\n\n// pkg/dist-src/graphql.js\nvar NON_VARIABLE_OPTIONS = [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"query\",\n \"mediaType\",\n \"operationName\"\n];\nvar FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nvar GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nfunction graphql(request2, query, options) {\n if (options) {\n if (typeof query === \"string\" && \"query\" in options) {\n return Promise.reject(\n new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`)\n );\n }\n for (const key in options) {\n if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue;\n return Promise.reject(\n new Error(\n `[@octokit/graphql] \"${key}\" cannot be used as variable name`\n )\n );\n }\n }\n const parsedOptions = typeof query === \"string\" ? Object.assign({ query }, options) : query;\n const requestOptions = Object.keys(\n parsedOptions\n ).reduce((result, key) => {\n if (NON_VARIABLE_OPTIONS.includes(key)) {\n result[key] = parsedOptions[key];\n return result;\n }\n if (!result.variables) {\n result.variables = {};\n }\n result.variables[key] = parsedOptions[key];\n return result;\n }, {});\n const baseUrl = parsedOptions.baseUrl || request2.endpoint.DEFAULTS.baseUrl;\n if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {\n requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, \"/api/graphql\");\n }\n return request2(requestOptions).then((response) => {\n if (response.data.errors) {\n const headers = {};\n for (const key of Object.keys(response.headers)) {\n headers[key] = response.headers[key];\n }\n throw new GraphqlResponseError(\n requestOptions,\n headers,\n response.data\n );\n }\n return response.data.data;\n });\n}\n\n// pkg/dist-src/with-defaults.js\nfunction withDefaults(request2, newDefaults) {\n const newRequest = request2.defaults(newDefaults);\n const newApi = (query, options) => {\n return graphql(newRequest, query, options);\n };\n return Object.assign(newApi, {\n defaults: withDefaults.bind(null, newRequest),\n endpoint: newRequest.endpoint\n });\n}\n\n// pkg/dist-src/index.js\nvar graphql2 = withDefaults(request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${getUserAgent()}`\n },\n method: \"POST\",\n url: \"/graphql\"\n});\nfunction withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\"\n });\n}\nexport {\n GraphqlResponseError,\n graphql2 as graphql,\n withCustomRequest\n};\n","// pkg/dist-src/is-jwt.js\nvar b64url = \"(?:[a-zA-Z0-9_-]+)\";\nvar sep = \"\\\\.\";\nvar jwtRE = new RegExp(`^${b64url}${sep}${b64url}${sep}${b64url}$`);\nvar isJWT = jwtRE.test.bind(jwtRE);\n\n// pkg/dist-src/auth.js\nasync function auth(token) {\n const isApp = isJWT(token);\n const isInstallation = token.startsWith(\"v1.\") || token.startsWith(\"ghs_\");\n const isUserToServer = token.startsWith(\"ghu_\");\n const tokenType = isApp ? \"app\" : isInstallation ? \"installation\" : isUserToServer ? \"user-to-server\" : \"oauth\";\n return {\n type: \"token\",\n token,\n tokenType\n };\n}\n\n// pkg/dist-src/with-authorization-prefix.js\nfunction withAuthorizationPrefix(token) {\n if (token.split(/\\./).length === 3) {\n return `bearer ${token}`;\n }\n return `token ${token}`;\n}\n\n// pkg/dist-src/hook.js\nasync function hook(token, request, route, parameters) {\n const endpoint = request.endpoint.merge(\n route,\n parameters\n );\n endpoint.headers.authorization = withAuthorizationPrefix(token);\n return request(endpoint);\n}\n\n// pkg/dist-src/index.js\nvar createTokenAuth = function createTokenAuth2(token) {\n if (!token) {\n throw new Error(\"[@octokit/auth-token] No token passed to createTokenAuth\");\n }\n if (typeof token !== \"string\") {\n throw new Error(\n \"[@octokit/auth-token] Token passed to createTokenAuth is not a string\"\n );\n }\n token = token.replace(/^(token|bearer) +/i, \"\");\n return Object.assign(auth.bind(null, token), {\n hook: hook.bind(null, token)\n });\n};\nexport {\n createTokenAuth\n};\n","const VERSION = \"7.0.4\";\nexport {\n VERSION\n};\n","import { getUserAgent } from \"universal-user-agent\";\nimport Hook from \"before-after-hook\";\nimport { request } from \"@octokit/request\";\nimport { withCustomRequest } from \"@octokit/graphql\";\nimport { createTokenAuth } from \"@octokit/auth-token\";\nimport { VERSION } from \"./version.js\";\nconst noop = () => {\n};\nconst consoleWarn = console.warn.bind(console);\nconst consoleError = console.error.bind(console);\nfunction createLogger(logger = {}) {\n if (typeof logger.debug !== \"function\") {\n logger.debug = noop;\n }\n if (typeof logger.info !== \"function\") {\n logger.info = noop;\n }\n if (typeof logger.warn !== \"function\") {\n logger.warn = consoleWarn;\n }\n if (typeof logger.error !== \"function\") {\n logger.error = consoleError;\n }\n return logger;\n}\nconst userAgentTrail = `octokit-core.js/${VERSION} ${getUserAgent()}`;\nclass Octokit {\n static VERSION = VERSION;\n static defaults(defaults) {\n const OctokitWithDefaults = class extends this {\n constructor(...args) {\n const options = args[0] || {};\n if (typeof defaults === \"function\") {\n super(defaults(options));\n return;\n }\n super(\n Object.assign(\n {},\n defaults,\n options,\n options.userAgent && defaults.userAgent ? {\n userAgent: `${options.userAgent} ${defaults.userAgent}`\n } : null\n )\n );\n }\n };\n return OctokitWithDefaults;\n }\n static plugins = [];\n /**\n * Attach a plugin (or many) to your Octokit instance.\n *\n * @example\n * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)\n */\n static plugin(...newPlugins) {\n const currentPlugins = this.plugins;\n const NewOctokit = class extends this {\n static plugins = currentPlugins.concat(\n newPlugins.filter((plugin) => !currentPlugins.includes(plugin))\n );\n };\n return NewOctokit;\n }\n constructor(options = {}) {\n const hook = new Hook.Collection();\n const requestDefaults = {\n baseUrl: request.endpoint.DEFAULTS.baseUrl,\n headers: {},\n request: Object.assign({}, options.request, {\n // @ts-ignore internal usage only, no need to type\n hook: hook.bind(null, \"request\")\n }),\n mediaType: {\n previews: [],\n format: \"\"\n }\n };\n requestDefaults.headers[\"user-agent\"] = options.userAgent ? `${options.userAgent} ${userAgentTrail}` : userAgentTrail;\n if (options.baseUrl) {\n requestDefaults.baseUrl = options.baseUrl;\n }\n if (options.previews) {\n requestDefaults.mediaType.previews = options.previews;\n }\n if (options.timeZone) {\n requestDefaults.headers[\"time-zone\"] = options.timeZone;\n }\n this.request = request.defaults(requestDefaults);\n this.graphql = withCustomRequest(this.request).defaults(requestDefaults);\n this.log = createLogger(options.log);\n this.hook = hook;\n if (!options.authStrategy) {\n if (!options.auth) {\n this.auth = async () => ({\n type: \"unauthenticated\"\n });\n } else {\n const auth = createTokenAuth(options.auth);\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n } else {\n const { authStrategy, ...otherOptions } = options;\n const auth = authStrategy(\n Object.assign(\n {\n request: this.request,\n log: this.log,\n // we pass the current octokit instance as well as its constructor options\n // to allow for authentication strategies that return a new octokit instance\n // that shares the same internal state as the current one. The original\n // requirement for this was the \"event-octokit\" authentication strategy\n // of https://github.com/probot/octokit-auth-probot.\n octokit: this,\n octokitOptions: otherOptions\n },\n options.auth\n )\n );\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n const classConstructor = this.constructor;\n for (let i = 0; i < classConstructor.plugins.length; ++i) {\n Object.assign(this, classConstructor.plugins[i](this, options));\n }\n }\n // assigned during constructor\n request;\n graphql;\n log;\n hook;\n // TODO: type `octokit.auth` based on passed options.authStrategy\n auth;\n}\nexport {\n Octokit\n};\n","// pkg/dist-src/version.js\nvar VERSION = \"0.0.0-development\";\n\n// pkg/dist-src/normalize-paginated-list-response.js\nfunction normalizePaginatedListResponse(response) {\n if (!response.data) {\n return {\n ...response,\n data: []\n };\n }\n const responseNeedsNormalization = (\"total_count\" in response.data || \"total_commits\" in response.data) && !(\"url\" in response.data);\n if (!responseNeedsNormalization) return response;\n const incompleteResults = response.data.incomplete_results;\n const repositorySelection = response.data.repository_selection;\n const totalCount = response.data.total_count;\n const totalCommits = response.data.total_commits;\n delete response.data.incomplete_results;\n delete response.data.repository_selection;\n delete response.data.total_count;\n delete response.data.total_commits;\n const namespaceKey = Object.keys(response.data)[0];\n const data = response.data[namespaceKey];\n response.data = data;\n if (typeof incompleteResults !== \"undefined\") {\n response.data.incomplete_results = incompleteResults;\n }\n if (typeof repositorySelection !== \"undefined\") {\n response.data.repository_selection = repositorySelection;\n }\n response.data.total_count = totalCount;\n response.data.total_commits = totalCommits;\n return response;\n}\n\n// pkg/dist-src/iterator.js\nfunction iterator(octokit, route, parameters) {\n const options = typeof route === \"function\" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters);\n const requestMethod = typeof route === \"function\" ? route : octokit.request;\n const method = options.method;\n const headers = options.headers;\n let url = options.url;\n return {\n [Symbol.asyncIterator]: () => ({\n async next() {\n if (!url) return { done: true };\n try {\n const response = await requestMethod({ method, url, headers });\n const normalizedResponse = normalizePaginatedListResponse(response);\n url = ((normalizedResponse.headers.link || \"\").match(\n /<([^<>]+)>;\\s*rel=\"next\"/\n ) || [])[1];\n if (!url && \"total_commits\" in normalizedResponse.data) {\n const parsedUrl = new URL(normalizedResponse.url);\n const params = parsedUrl.searchParams;\n const page = parseInt(params.get(\"page\") || \"1\", 10);\n const per_page = parseInt(params.get(\"per_page\") || \"250\", 10);\n if (page * per_page < normalizedResponse.data.total_commits) {\n params.set(\"page\", String(page + 1));\n url = parsedUrl.toString();\n }\n }\n return { value: normalizedResponse };\n } catch (error) {\n if (error.status !== 409) throw error;\n url = \"\";\n return {\n value: {\n status: 200,\n headers: {},\n data: []\n }\n };\n }\n }\n })\n };\n}\n\n// pkg/dist-src/paginate.js\nfunction paginate(octokit, route, parameters, mapFn) {\n if (typeof parameters === \"function\") {\n mapFn = parameters;\n parameters = void 0;\n }\n return gather(\n octokit,\n [],\n iterator(octokit, route, parameters)[Symbol.asyncIterator](),\n mapFn\n );\n}\nfunction gather(octokit, results, iterator2, mapFn) {\n return iterator2.next().then((result) => {\n if (result.done) {\n return results;\n }\n let earlyExit = false;\n function done() {\n earlyExit = true;\n }\n results = results.concat(\n mapFn ? mapFn(result.value, done) : result.value.data\n );\n if (earlyExit) {\n return results;\n }\n return gather(octokit, results, iterator2, mapFn);\n });\n}\n\n// pkg/dist-src/compose-paginate.js\nvar composePaginateRest = Object.assign(paginate, {\n iterator\n});\n\n// pkg/dist-src/generated/paginating-endpoints.js\nvar paginatingEndpoints = [\n \"GET /advisories\",\n \"GET /app/hook/deliveries\",\n \"GET /app/installation-requests\",\n \"GET /app/installations\",\n \"GET /assignments/{assignment_id}/accepted_assignments\",\n \"GET /classrooms\",\n \"GET /classrooms/{classroom_id}/assignments\",\n \"GET /enterprises/{enterprise}/code-security/configurations\",\n \"GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories\",\n \"GET /enterprises/{enterprise}/dependabot/alerts\",\n \"GET /enterprises/{enterprise}/secret-scanning/alerts\",\n \"GET /events\",\n \"GET /gists\",\n \"GET /gists/public\",\n \"GET /gists/starred\",\n \"GET /gists/{gist_id}/comments\",\n \"GET /gists/{gist_id}/commits\",\n \"GET /gists/{gist_id}/forks\",\n \"GET /installation/repositories\",\n \"GET /issues\",\n \"GET /licenses\",\n \"GET /marketplace_listing/plans\",\n \"GET /marketplace_listing/plans/{plan_id}/accounts\",\n \"GET /marketplace_listing/stubbed/plans\",\n \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\",\n \"GET /networks/{owner}/{repo}/events\",\n \"GET /notifications\",\n \"GET /organizations\",\n \"GET /orgs/{org}/actions/cache/usage-by-repository\",\n \"GET /orgs/{org}/actions/hosted-runners\",\n \"GET /orgs/{org}/actions/permissions/repositories\",\n \"GET /orgs/{org}/actions/runner-groups\",\n \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners\",\n \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories\",\n \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners\",\n \"GET /orgs/{org}/actions/runners\",\n \"GET /orgs/{org}/actions/secrets\",\n \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\",\n \"GET /orgs/{org}/actions/variables\",\n \"GET /orgs/{org}/actions/variables/{name}/repositories\",\n \"GET /orgs/{org}/attestations/{subject_digest}\",\n \"GET /orgs/{org}/blocks\",\n \"GET /orgs/{org}/campaigns\",\n \"GET /orgs/{org}/code-scanning/alerts\",\n \"GET /orgs/{org}/code-security/configurations\",\n \"GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories\",\n \"GET /orgs/{org}/codespaces\",\n \"GET /orgs/{org}/codespaces/secrets\",\n \"GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories\",\n \"GET /orgs/{org}/copilot/billing/seats\",\n \"GET /orgs/{org}/copilot/metrics\",\n \"GET /orgs/{org}/dependabot/alerts\",\n \"GET /orgs/{org}/dependabot/secrets\",\n \"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\",\n \"GET /orgs/{org}/events\",\n \"GET /orgs/{org}/failed_invitations\",\n \"GET /orgs/{org}/hooks\",\n \"GET /orgs/{org}/hooks/{hook_id}/deliveries\",\n \"GET /orgs/{org}/insights/api/route-stats/{actor_type}/{actor_id}\",\n \"GET /orgs/{org}/insights/api/subject-stats\",\n \"GET /orgs/{org}/insights/api/user-stats/{user_id}\",\n \"GET /orgs/{org}/installations\",\n \"GET /orgs/{org}/invitations\",\n \"GET /orgs/{org}/invitations/{invitation_id}/teams\",\n \"GET /orgs/{org}/issues\",\n \"GET /orgs/{org}/members\",\n \"GET /orgs/{org}/members/{username}/codespaces\",\n \"GET /orgs/{org}/migrations\",\n \"GET /orgs/{org}/migrations/{migration_id}/repositories\",\n \"GET /orgs/{org}/organization-roles/{role_id}/teams\",\n \"GET /orgs/{org}/organization-roles/{role_id}/users\",\n \"GET /orgs/{org}/outside_collaborators\",\n \"GET /orgs/{org}/packages\",\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\",\n \"GET /orgs/{org}/personal-access-token-requests\",\n \"GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories\",\n \"GET /orgs/{org}/personal-access-tokens\",\n \"GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories\",\n \"GET /orgs/{org}/private-registries\",\n \"GET /orgs/{org}/projects\",\n \"GET /orgs/{org}/properties/values\",\n \"GET /orgs/{org}/public_members\",\n \"GET /orgs/{org}/repos\",\n \"GET /orgs/{org}/rulesets\",\n \"GET /orgs/{org}/rulesets/rule-suites\",\n \"GET /orgs/{org}/rulesets/{ruleset_id}/history\",\n \"GET /orgs/{org}/secret-scanning/alerts\",\n \"GET /orgs/{org}/security-advisories\",\n \"GET /orgs/{org}/settings/network-configurations\",\n \"GET /orgs/{org}/team/{team_slug}/copilot/metrics\",\n \"GET /orgs/{org}/teams\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n \"GET /orgs/{org}/teams/{team_slug}/invitations\",\n \"GET /orgs/{org}/teams/{team_slug}/members\",\n \"GET /orgs/{org}/teams/{team_slug}/projects\",\n \"GET /orgs/{org}/teams/{team_slug}/repos\",\n \"GET /orgs/{org}/teams/{team_slug}/teams\",\n \"GET /projects/columns/{column_id}/cards\",\n \"GET /projects/{project_id}/collaborators\",\n \"GET /projects/{project_id}/columns\",\n \"GET /repos/{owner}/{repo}/actions/artifacts\",\n \"GET /repos/{owner}/{repo}/actions/caches\",\n \"GET /repos/{owner}/{repo}/actions/organization-secrets\",\n \"GET /repos/{owner}/{repo}/actions/organization-variables\",\n \"GET /repos/{owner}/{repo}/actions/runners\",\n \"GET /repos/{owner}/{repo}/actions/runs\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\",\n \"GET /repos/{owner}/{repo}/actions/secrets\",\n \"GET /repos/{owner}/{repo}/actions/variables\",\n \"GET /repos/{owner}/{repo}/actions/workflows\",\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\",\n \"GET /repos/{owner}/{repo}/activity\",\n \"GET /repos/{owner}/{repo}/assignees\",\n \"GET /repos/{owner}/{repo}/attestations/{subject_digest}\",\n \"GET /repos/{owner}/{repo}/branches\",\n \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\",\n \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\",\n \"GET /repos/{owner}/{repo}/code-scanning/alerts\",\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n \"GET /repos/{owner}/{repo}/code-scanning/analyses\",\n \"GET /repos/{owner}/{repo}/codespaces\",\n \"GET /repos/{owner}/{repo}/codespaces/devcontainers\",\n \"GET /repos/{owner}/{repo}/codespaces/secrets\",\n \"GET /repos/{owner}/{repo}/collaborators\",\n \"GET /repos/{owner}/{repo}/comments\",\n \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/commits\",\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/status\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\",\n \"GET /repos/{owner}/{repo}/compare/{basehead}\",\n \"GET /repos/{owner}/{repo}/compare/{base}...{head}\",\n \"GET /repos/{owner}/{repo}/contributors\",\n \"GET /repos/{owner}/{repo}/dependabot/alerts\",\n \"GET /repos/{owner}/{repo}/dependabot/secrets\",\n \"GET /repos/{owner}/{repo}/deployments\",\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\",\n \"GET /repos/{owner}/{repo}/environments\",\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies\",\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps\",\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/secrets\",\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/variables\",\n \"GET /repos/{owner}/{repo}/events\",\n \"GET /repos/{owner}/{repo}/forks\",\n \"GET /repos/{owner}/{repo}/hooks\",\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\",\n \"GET /repos/{owner}/{repo}/invitations\",\n \"GET /repos/{owner}/{repo}/issues\",\n \"GET /repos/{owner}/{repo}/issues/comments\",\n \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/issues/events\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/events\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\",\n \"GET /repos/{owner}/{repo}/keys\",\n \"GET /repos/{owner}/{repo}/labels\",\n \"GET /repos/{owner}/{repo}/milestones\",\n \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\",\n \"GET /repos/{owner}/{repo}/notifications\",\n \"GET /repos/{owner}/{repo}/pages/builds\",\n \"GET /repos/{owner}/{repo}/projects\",\n \"GET /repos/{owner}/{repo}/pulls\",\n \"GET /repos/{owner}/{repo}/pulls/comments\",\n \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\",\n \"GET /repos/{owner}/{repo}/releases\",\n \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\",\n \"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\",\n \"GET /repos/{owner}/{repo}/rules/branches/{branch}\",\n \"GET /repos/{owner}/{repo}/rulesets\",\n \"GET /repos/{owner}/{repo}/rulesets/rule-suites\",\n \"GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history\",\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts\",\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\",\n \"GET /repos/{owner}/{repo}/security-advisories\",\n \"GET /repos/{owner}/{repo}/stargazers\",\n \"GET /repos/{owner}/{repo}/subscribers\",\n \"GET /repos/{owner}/{repo}/tags\",\n \"GET /repos/{owner}/{repo}/teams\",\n \"GET /repos/{owner}/{repo}/topics\",\n \"GET /repositories\",\n \"GET /search/code\",\n \"GET /search/commits\",\n \"GET /search/issues\",\n \"GET /search/labels\",\n \"GET /search/repositories\",\n \"GET /search/topics\",\n \"GET /search/users\",\n \"GET /teams/{team_id}/discussions\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/comments\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/reactions\",\n \"GET /teams/{team_id}/invitations\",\n \"GET /teams/{team_id}/members\",\n \"GET /teams/{team_id}/projects\",\n \"GET /teams/{team_id}/repos\",\n \"GET /teams/{team_id}/teams\",\n \"GET /user/blocks\",\n \"GET /user/codespaces\",\n \"GET /user/codespaces/secrets\",\n \"GET /user/emails\",\n \"GET /user/followers\",\n \"GET /user/following\",\n \"GET /user/gpg_keys\",\n \"GET /user/installations\",\n \"GET /user/installations/{installation_id}/repositories\",\n \"GET /user/issues\",\n \"GET /user/keys\",\n \"GET /user/marketplace_purchases\",\n \"GET /user/marketplace_purchases/stubbed\",\n \"GET /user/memberships/orgs\",\n \"GET /user/migrations\",\n \"GET /user/migrations/{migration_id}/repositories\",\n \"GET /user/orgs\",\n \"GET /user/packages\",\n \"GET /user/packages/{package_type}/{package_name}/versions\",\n \"GET /user/public_emails\",\n \"GET /user/repos\",\n \"GET /user/repository_invitations\",\n \"GET /user/social_accounts\",\n \"GET /user/ssh_signing_keys\",\n \"GET /user/starred\",\n \"GET /user/subscriptions\",\n \"GET /user/teams\",\n \"GET /users\",\n \"GET /users/{username}/attestations/{subject_digest}\",\n \"GET /users/{username}/events\",\n \"GET /users/{username}/events/orgs/{org}\",\n \"GET /users/{username}/events/public\",\n \"GET /users/{username}/followers\",\n \"GET /users/{username}/following\",\n \"GET /users/{username}/gists\",\n \"GET /users/{username}/gpg_keys\",\n \"GET /users/{username}/keys\",\n \"GET /users/{username}/orgs\",\n \"GET /users/{username}/packages\",\n \"GET /users/{username}/projects\",\n \"GET /users/{username}/received_events\",\n \"GET /users/{username}/received_events/public\",\n \"GET /users/{username}/repos\",\n \"GET /users/{username}/social_accounts\",\n \"GET /users/{username}/ssh_signing_keys\",\n \"GET /users/{username}/starred\",\n \"GET /users/{username}/subscriptions\"\n];\n\n// pkg/dist-src/paginating-endpoints.js\nfunction isPaginatingEndpoint(arg) {\n if (typeof arg === \"string\") {\n return paginatingEndpoints.includes(arg);\n } else {\n return false;\n }\n}\n\n// pkg/dist-src/index.js\nfunction paginateRest(octokit) {\n return {\n paginate: Object.assign(paginate.bind(null, octokit), {\n iterator: iterator.bind(null, octokit)\n })\n };\n}\npaginateRest.VERSION = VERSION;\nexport {\n composePaginateRest,\n isPaginatingEndpoint,\n paginateRest,\n paginatingEndpoints\n};\n","// pkg/dist-src/errors.js\nvar generateMessage = (path, cursorValue) => `The cursor at \"${path.join(\n \",\"\n)}\" did not change its value \"${cursorValue}\" after a page transition. Please make sure your that your query is set up correctly.`;\nvar MissingCursorChange = class extends Error {\n constructor(pageInfo, cursorValue) {\n super(generateMessage(pageInfo.pathInQuery, cursorValue));\n this.pageInfo = pageInfo;\n this.cursorValue = cursorValue;\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n name = \"MissingCursorChangeError\";\n};\nvar MissingPageInfo = class extends Error {\n constructor(response) {\n super(\n `No pageInfo property found in response. Please make sure to specify the pageInfo in your query. Response-Data: ${JSON.stringify(\n response,\n null,\n 2\n )}`\n );\n this.response = response;\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n name = \"MissingPageInfo\";\n};\n\n// pkg/dist-src/object-helpers.js\nvar isObject = (value) => Object.prototype.toString.call(value) === \"[object Object]\";\nfunction findPaginatedResourcePath(responseData) {\n const paginatedResourcePath = deepFindPathToProperty(\n responseData,\n \"pageInfo\"\n );\n if (paginatedResourcePath.length === 0) {\n throw new MissingPageInfo(responseData);\n }\n return paginatedResourcePath;\n}\nvar deepFindPathToProperty = (object, searchProp, path = []) => {\n for (const key of Object.keys(object)) {\n const currentPath = [...path, key];\n const currentValue = object[key];\n if (isObject(currentValue)) {\n if (currentValue.hasOwnProperty(searchProp)) {\n return currentPath;\n }\n const result = deepFindPathToProperty(\n currentValue,\n searchProp,\n currentPath\n );\n if (result.length > 0) {\n return result;\n }\n }\n }\n return [];\n};\nvar get = (object, path) => {\n return path.reduce((current, nextProperty) => current[nextProperty], object);\n};\nvar set = (object, path, mutator) => {\n const lastProperty = path[path.length - 1];\n const parentPath = [...path].slice(0, -1);\n const parent = get(object, parentPath);\n if (typeof mutator === \"function\") {\n parent[lastProperty] = mutator(parent[lastProperty]);\n } else {\n parent[lastProperty] = mutator;\n }\n};\n\n// pkg/dist-src/extract-page-info.js\nvar extractPageInfos = (responseData) => {\n const pageInfoPath = findPaginatedResourcePath(responseData);\n return {\n pathInQuery: pageInfoPath,\n pageInfo: get(responseData, [...pageInfoPath, \"pageInfo\"])\n };\n};\n\n// pkg/dist-src/page-info.js\nvar isForwardSearch = (givenPageInfo) => {\n return givenPageInfo.hasOwnProperty(\"hasNextPage\");\n};\nvar getCursorFrom = (pageInfo) => isForwardSearch(pageInfo) ? pageInfo.endCursor : pageInfo.startCursor;\nvar hasAnotherPage = (pageInfo) => isForwardSearch(pageInfo) ? pageInfo.hasNextPage : pageInfo.hasPreviousPage;\n\n// pkg/dist-src/iterator.js\nvar createIterator = (octokit) => {\n return (query, initialParameters = {}) => {\n let nextPageExists = true;\n let parameters = { ...initialParameters };\n return {\n [Symbol.asyncIterator]: () => ({\n async next() {\n if (!nextPageExists) return { done: true, value: {} };\n const response = await octokit.graphql(\n query,\n parameters\n );\n const pageInfoContext = extractPageInfos(response);\n const nextCursorValue = getCursorFrom(pageInfoContext.pageInfo);\n nextPageExists = hasAnotherPage(pageInfoContext.pageInfo);\n if (nextPageExists && nextCursorValue === parameters.cursor) {\n throw new MissingCursorChange(pageInfoContext, nextCursorValue);\n }\n parameters = {\n ...parameters,\n cursor: nextCursorValue\n };\n return { done: false, value: response };\n }\n })\n };\n };\n};\n\n// pkg/dist-src/merge-responses.js\nvar mergeResponses = (response1, response2) => {\n if (Object.keys(response1).length === 0) {\n return Object.assign(response1, response2);\n }\n const path = findPaginatedResourcePath(response1);\n const nodesPath = [...path, \"nodes\"];\n const newNodes = get(response2, nodesPath);\n if (newNodes) {\n set(response1, nodesPath, (values) => {\n return [...values, ...newNodes];\n });\n }\n const edgesPath = [...path, \"edges\"];\n const newEdges = get(response2, edgesPath);\n if (newEdges) {\n set(response1, edgesPath, (values) => {\n return [...values, ...newEdges];\n });\n }\n const pageInfoPath = [...path, \"pageInfo\"];\n set(response1, pageInfoPath, get(response2, pageInfoPath));\n return response1;\n};\n\n// pkg/dist-src/paginate.js\nvar createPaginate = (octokit) => {\n const iterator = createIterator(octokit);\n return async (query, initialParameters = {}) => {\n let mergedResponse = {};\n for await (const response of iterator(\n query,\n initialParameters\n )) {\n mergedResponse = mergeResponses(mergedResponse, response);\n }\n return mergedResponse;\n };\n};\n\n// pkg/dist-src/version.js\nvar VERSION = \"0.0.0-development\";\n\n// pkg/dist-src/index.js\nfunction paginateGraphQL(octokit) {\n return {\n graphql: Object.assign(octokit.graphql, {\n paginate: Object.assign(createPaginate(octokit), {\n iterator: createIterator(octokit)\n })\n })\n };\n}\nexport {\n VERSION,\n paginateGraphQL\n};\n","const VERSION = \"16.1.0\";\nexport {\n VERSION\n};\n//# sourceMappingURL=version.js.map\n","const Endpoints = {\n actions: {\n addCustomLabelsToSelfHostedRunnerForOrg: [\n \"POST /orgs/{org}/actions/runners/{runner_id}/labels\"\n ],\n addCustomLabelsToSelfHostedRunnerForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"\n ],\n addRepoAccessToSelfHostedRunnerGroupInOrg: [\n \"PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}\"\n ],\n addSelectedRepoToOrgSecret: [\n \"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n addSelectedRepoToOrgVariable: [\n \"PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}\"\n ],\n approveWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve\"\n ],\n cancelWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel\"\n ],\n createEnvironmentVariable: [\n \"POST /repos/{owner}/{repo}/environments/{environment_name}/variables\"\n ],\n createHostedRunnerForOrg: [\"POST /orgs/{org}/actions/hosted-runners\"],\n createOrUpdateEnvironmentSecret: [\n \"PUT /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}\"\n ],\n createOrUpdateOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}\"],\n createOrUpdateRepoSecret: [\n \"PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}\"\n ],\n createOrgVariable: [\"POST /orgs/{org}/actions/variables\"],\n createRegistrationTokenForOrg: [\n \"POST /orgs/{org}/actions/runners/registration-token\"\n ],\n createRegistrationTokenForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/registration-token\"\n ],\n createRemoveTokenForOrg: [\"POST /orgs/{org}/actions/runners/remove-token\"],\n createRemoveTokenForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/remove-token\"\n ],\n createRepoVariable: [\"POST /repos/{owner}/{repo}/actions/variables\"],\n createWorkflowDispatch: [\n \"POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches\"\n ],\n deleteActionsCacheById: [\n \"DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}\"\n ],\n deleteActionsCacheByKey: [\n \"DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}\"\n ],\n deleteArtifact: [\n \"DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"\n ],\n deleteEnvironmentSecret: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}\"\n ],\n deleteEnvironmentVariable: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}\"\n ],\n deleteHostedRunnerForOrg: [\n \"DELETE /orgs/{org}/actions/hosted-runners/{hosted_runner_id}\"\n ],\n deleteOrgSecret: [\"DELETE /orgs/{org}/actions/secrets/{secret_name}\"],\n deleteOrgVariable: [\"DELETE /orgs/{org}/actions/variables/{name}\"],\n deleteRepoSecret: [\n \"DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}\"\n ],\n deleteRepoVariable: [\n \"DELETE /repos/{owner}/{repo}/actions/variables/{name}\"\n ],\n deleteSelfHostedRunnerFromOrg: [\n \"DELETE /orgs/{org}/actions/runners/{runner_id}\"\n ],\n deleteSelfHostedRunnerFromRepo: [\n \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}\"\n ],\n deleteWorkflowRun: [\"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n deleteWorkflowRunLogs: [\n \"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs\"\n ],\n disableSelectedRepositoryGithubActionsOrganization: [\n \"DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}\"\n ],\n disableWorkflow: [\n \"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable\"\n ],\n downloadArtifact: [\n \"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}\"\n ],\n downloadJobLogsForWorkflowRun: [\n \"GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs\"\n ],\n downloadWorkflowRunAttemptLogs: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs\"\n ],\n downloadWorkflowRunLogs: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs\"\n ],\n enableSelectedRepositoryGithubActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/repositories/{repository_id}\"\n ],\n enableWorkflow: [\n \"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable\"\n ],\n forceCancelWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel\"\n ],\n generateRunnerJitconfigForOrg: [\n \"POST /orgs/{org}/actions/runners/generate-jitconfig\"\n ],\n generateRunnerJitconfigForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig\"\n ],\n getActionsCacheList: [\"GET /repos/{owner}/{repo}/actions/caches\"],\n getActionsCacheUsage: [\"GET /repos/{owner}/{repo}/actions/cache/usage\"],\n getActionsCacheUsageByRepoForOrg: [\n \"GET /orgs/{org}/actions/cache/usage-by-repository\"\n ],\n getActionsCacheUsageForOrg: [\"GET /orgs/{org}/actions/cache/usage\"],\n getAllowedActionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/selected-actions\"\n ],\n getAllowedActionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions/selected-actions\"\n ],\n getArtifact: [\"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"],\n getCustomOidcSubClaimForRepo: [\n \"GET /repos/{owner}/{repo}/actions/oidc/customization/sub\"\n ],\n getEnvironmentPublicKey: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key\"\n ],\n getEnvironmentSecret: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}\"\n ],\n getEnvironmentVariable: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}\"\n ],\n getGithubActionsDefaultWorkflowPermissionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/workflow\"\n ],\n getGithubActionsDefaultWorkflowPermissionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions/workflow\"\n ],\n getGithubActionsPermissionsOrganization: [\n \"GET /orgs/{org}/actions/permissions\"\n ],\n getGithubActionsPermissionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions\"\n ],\n getHostedRunnerForOrg: [\n \"GET /orgs/{org}/actions/hosted-runners/{hosted_runner_id}\"\n ],\n getHostedRunnersGithubOwnedImagesForOrg: [\n \"GET /orgs/{org}/actions/hosted-runners/images/github-owned\"\n ],\n getHostedRunnersLimitsForOrg: [\n \"GET /orgs/{org}/actions/hosted-runners/limits\"\n ],\n getHostedRunnersMachineSpecsForOrg: [\n \"GET /orgs/{org}/actions/hosted-runners/machine-sizes\"\n ],\n getHostedRunnersPartnerImagesForOrg: [\n \"GET /orgs/{org}/actions/hosted-runners/images/partner\"\n ],\n getHostedRunnersPlatformsForOrg: [\n \"GET /orgs/{org}/actions/hosted-runners/platforms\"\n ],\n getJobForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/actions/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/actions/secrets/{secret_name}\"],\n getOrgVariable: [\"GET /orgs/{org}/actions/variables/{name}\"],\n getPendingDeploymentsForRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\"\n ],\n getRepoPermissions: [\n \"GET /repos/{owner}/{repo}/actions/permissions\",\n {},\n { renamed: [\"actions\", \"getGithubActionsPermissionsRepository\"] }\n ],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/actions/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n getRepoVariable: [\"GET /repos/{owner}/{repo}/actions/variables/{name}\"],\n getReviewsForRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals\"\n ],\n getSelfHostedRunnerForOrg: [\"GET /orgs/{org}/actions/runners/{runner_id}\"],\n getSelfHostedRunnerForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/{runner_id}\"\n ],\n getWorkflow: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}\"],\n getWorkflowAccessToRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions/access\"\n ],\n getWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n getWorkflowRunAttempt: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}\"\n ],\n getWorkflowRunUsage: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing\"\n ],\n getWorkflowUsage: [\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing\"\n ],\n listArtifactsForRepo: [\"GET /repos/{owner}/{repo}/actions/artifacts\"],\n listEnvironmentSecrets: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/secrets\"\n ],\n listEnvironmentVariables: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/variables\"\n ],\n listGithubHostedRunnersInGroupForOrg: [\n \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners\"\n ],\n listHostedRunnersForOrg: [\"GET /orgs/{org}/actions/hosted-runners\"],\n listJobsForWorkflowRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\"\n ],\n listJobsForWorkflowRunAttempt: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\"\n ],\n listLabelsForSelfHostedRunnerForOrg: [\n \"GET /orgs/{org}/actions/runners/{runner_id}/labels\"\n ],\n listLabelsForSelfHostedRunnerForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"\n ],\n listOrgSecrets: [\"GET /orgs/{org}/actions/secrets\"],\n listOrgVariables: [\"GET /orgs/{org}/actions/variables\"],\n listRepoOrganizationSecrets: [\n \"GET /repos/{owner}/{repo}/actions/organization-secrets\"\n ],\n listRepoOrganizationVariables: [\n \"GET /repos/{owner}/{repo}/actions/organization-variables\"\n ],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/actions/secrets\"],\n listRepoVariables: [\"GET /repos/{owner}/{repo}/actions/variables\"],\n listRepoWorkflows: [\"GET /repos/{owner}/{repo}/actions/workflows\"],\n listRunnerApplicationsForOrg: [\"GET /orgs/{org}/actions/runners/downloads\"],\n listRunnerApplicationsForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/downloads\"\n ],\n listSelectedReposForOrgSecret: [\n \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\"\n ],\n listSelectedReposForOrgVariable: [\n \"GET /orgs/{org}/actions/variables/{name}/repositories\"\n ],\n listSelectedRepositoriesEnabledGithubActionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/repositories\"\n ],\n listSelfHostedRunnersForOrg: [\"GET /orgs/{org}/actions/runners\"],\n listSelfHostedRunnersForRepo: [\"GET /repos/{owner}/{repo}/actions/runners\"],\n listWorkflowRunArtifacts: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\"\n ],\n listWorkflowRuns: [\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\"\n ],\n listWorkflowRunsForRepo: [\"GET /repos/{owner}/{repo}/actions/runs\"],\n reRunJobForWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun\"\n ],\n reRunWorkflow: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun\"],\n reRunWorkflowFailedJobs: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs\"\n ],\n removeAllCustomLabelsFromSelfHostedRunnerForOrg: [\n \"DELETE /orgs/{org}/actions/runners/{runner_id}/labels\"\n ],\n removeAllCustomLabelsFromSelfHostedRunnerForRepo: [\n \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"\n ],\n removeCustomLabelFromSelfHostedRunnerForOrg: [\n \"DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}\"\n ],\n removeCustomLabelFromSelfHostedRunnerForRepo: [\n \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}\"\n ],\n removeSelectedRepoFromOrgSecret: [\n \"DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n removeSelectedRepoFromOrgVariable: [\n \"DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}\"\n ],\n reviewCustomGatesForRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule\"\n ],\n reviewPendingDeploymentsForRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\"\n ],\n setAllowedActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/selected-actions\"\n ],\n setAllowedActionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions/selected-actions\"\n ],\n setCustomLabelsForSelfHostedRunnerForOrg: [\n \"PUT /orgs/{org}/actions/runners/{runner_id}/labels\"\n ],\n setCustomLabelsForSelfHostedRunnerForRepo: [\n \"PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"\n ],\n setCustomOidcSubClaimForRepo: [\n \"PUT /repos/{owner}/{repo}/actions/oidc/customization/sub\"\n ],\n setGithubActionsDefaultWorkflowPermissionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/workflow\"\n ],\n setGithubActionsDefaultWorkflowPermissionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions/workflow\"\n ],\n setGithubActionsPermissionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions\"\n ],\n setGithubActionsPermissionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions\"\n ],\n setSelectedReposForOrgSecret: [\n \"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories\"\n ],\n setSelectedReposForOrgVariable: [\n \"PUT /orgs/{org}/actions/variables/{name}/repositories\"\n ],\n setSelectedRepositoriesEnabledGithubActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/repositories\"\n ],\n setWorkflowAccessToRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions/access\"\n ],\n updateEnvironmentVariable: [\n \"PATCH /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}\"\n ],\n updateHostedRunnerForOrg: [\n \"PATCH /orgs/{org}/actions/hosted-runners/{hosted_runner_id}\"\n ],\n updateOrgVariable: [\"PATCH /orgs/{org}/actions/variables/{name}\"],\n updateRepoVariable: [\n \"PATCH /repos/{owner}/{repo}/actions/variables/{name}\"\n ]\n },\n activity: {\n checkRepoIsStarredByAuthenticatedUser: [\"GET /user/starred/{owner}/{repo}\"],\n deleteRepoSubscription: [\"DELETE /repos/{owner}/{repo}/subscription\"],\n deleteThreadSubscription: [\n \"DELETE /notifications/threads/{thread_id}/subscription\"\n ],\n getFeeds: [\"GET /feeds\"],\n getRepoSubscription: [\"GET /repos/{owner}/{repo}/subscription\"],\n getThread: [\"GET /notifications/threads/{thread_id}\"],\n getThreadSubscriptionForAuthenticatedUser: [\n \"GET /notifications/threads/{thread_id}/subscription\"\n ],\n listEventsForAuthenticatedUser: [\"GET /users/{username}/events\"],\n listNotificationsForAuthenticatedUser: [\"GET /notifications\"],\n listOrgEventsForAuthenticatedUser: [\n \"GET /users/{username}/events/orgs/{org}\"\n ],\n listPublicEvents: [\"GET /events\"],\n listPublicEventsForRepoNetwork: [\"GET /networks/{owner}/{repo}/events\"],\n listPublicEventsForUser: [\"GET /users/{username}/events/public\"],\n listPublicOrgEvents: [\"GET /orgs/{org}/events\"],\n listReceivedEventsForUser: [\"GET /users/{username}/received_events\"],\n listReceivedPublicEventsForUser: [\n \"GET /users/{username}/received_events/public\"\n ],\n listRepoEvents: [\"GET /repos/{owner}/{repo}/events\"],\n listRepoNotificationsForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/notifications\"\n ],\n listReposStarredByAuthenticatedUser: [\"GET /user/starred\"],\n listReposStarredByUser: [\"GET /users/{username}/starred\"],\n listReposWatchedByUser: [\"GET /users/{username}/subscriptions\"],\n listStargazersForRepo: [\"GET /repos/{owner}/{repo}/stargazers\"],\n listWatchedReposForAuthenticatedUser: [\"GET /user/subscriptions\"],\n listWatchersForRepo: [\"GET /repos/{owner}/{repo}/subscribers\"],\n markNotificationsAsRead: [\"PUT /notifications\"],\n markRepoNotificationsAsRead: [\"PUT /repos/{owner}/{repo}/notifications\"],\n markThreadAsDone: [\"DELETE /notifications/threads/{thread_id}\"],\n markThreadAsRead: [\"PATCH /notifications/threads/{thread_id}\"],\n setRepoSubscription: [\"PUT /repos/{owner}/{repo}/subscription\"],\n setThreadSubscription: [\n \"PUT /notifications/threads/{thread_id}/subscription\"\n ],\n starRepoForAuthenticatedUser: [\"PUT /user/starred/{owner}/{repo}\"],\n unstarRepoForAuthenticatedUser: [\"DELETE /user/starred/{owner}/{repo}\"]\n },\n apps: {\n addRepoToInstallation: [\n \"PUT /user/installations/{installation_id}/repositories/{repository_id}\",\n {},\n { renamed: [\"apps\", \"addRepoToInstallationForAuthenticatedUser\"] }\n ],\n addRepoToInstallationForAuthenticatedUser: [\n \"PUT /user/installations/{installation_id}/repositories/{repository_id}\"\n ],\n checkToken: [\"POST /applications/{client_id}/token\"],\n createFromManifest: [\"POST /app-manifests/{code}/conversions\"],\n createInstallationAccessToken: [\n \"POST /app/installations/{installation_id}/access_tokens\"\n ],\n deleteAuthorization: [\"DELETE /applications/{client_id}/grant\"],\n deleteInstallation: [\"DELETE /app/installations/{installation_id}\"],\n deleteToken: [\"DELETE /applications/{client_id}/token\"],\n getAuthenticated: [\"GET /app\"],\n getBySlug: [\"GET /apps/{app_slug}\"],\n getInstallation: [\"GET /app/installations/{installation_id}\"],\n getOrgInstallation: [\"GET /orgs/{org}/installation\"],\n getRepoInstallation: [\"GET /repos/{owner}/{repo}/installation\"],\n getSubscriptionPlanForAccount: [\n \"GET /marketplace_listing/accounts/{account_id}\"\n ],\n getSubscriptionPlanForAccountStubbed: [\n \"GET /marketplace_listing/stubbed/accounts/{account_id}\"\n ],\n getUserInstallation: [\"GET /users/{username}/installation\"],\n getWebhookConfigForApp: [\"GET /app/hook/config\"],\n getWebhookDelivery: [\"GET /app/hook/deliveries/{delivery_id}\"],\n listAccountsForPlan: [\"GET /marketplace_listing/plans/{plan_id}/accounts\"],\n listAccountsForPlanStubbed: [\n \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\"\n ],\n listInstallationReposForAuthenticatedUser: [\n \"GET /user/installations/{installation_id}/repositories\"\n ],\n listInstallationRequestsForAuthenticatedApp: [\n \"GET /app/installation-requests\"\n ],\n listInstallations: [\"GET /app/installations\"],\n listInstallationsForAuthenticatedUser: [\"GET /user/installations\"],\n listPlans: [\"GET /marketplace_listing/plans\"],\n listPlansStubbed: [\"GET /marketplace_listing/stubbed/plans\"],\n listReposAccessibleToInstallation: [\"GET /installation/repositories\"],\n listSubscriptionsForAuthenticatedUser: [\"GET /user/marketplace_purchases\"],\n listSubscriptionsForAuthenticatedUserStubbed: [\n \"GET /user/marketplace_purchases/stubbed\"\n ],\n listWebhookDeliveries: [\"GET /app/hook/deliveries\"],\n redeliverWebhookDelivery: [\n \"POST /app/hook/deliveries/{delivery_id}/attempts\"\n ],\n removeRepoFromInstallation: [\n \"DELETE /user/installations/{installation_id}/repositories/{repository_id}\",\n {},\n { renamed: [\"apps\", \"removeRepoFromInstallationForAuthenticatedUser\"] }\n ],\n removeRepoFromInstallationForAuthenticatedUser: [\n \"DELETE /user/installations/{installation_id}/repositories/{repository_id}\"\n ],\n resetToken: [\"PATCH /applications/{client_id}/token\"],\n revokeInstallationAccessToken: [\"DELETE /installation/token\"],\n scopeToken: [\"POST /applications/{client_id}/token/scoped\"],\n suspendInstallation: [\"PUT /app/installations/{installation_id}/suspended\"],\n unsuspendInstallation: [\n \"DELETE /app/installations/{installation_id}/suspended\"\n ],\n updateWebhookConfigForApp: [\"PATCH /app/hook/config\"]\n },\n billing: {\n getGithubActionsBillingOrg: [\"GET /orgs/{org}/settings/billing/actions\"],\n getGithubActionsBillingUser: [\n \"GET /users/{username}/settings/billing/actions\"\n ],\n getGithubBillingUsageReportOrg: [\n \"GET /organizations/{org}/settings/billing/usage\"\n ],\n getGithubBillingUsageReportUser: [\n \"GET /users/{username}/settings/billing/usage\"\n ],\n getGithubPackagesBillingOrg: [\"GET /orgs/{org}/settings/billing/packages\"],\n getGithubPackagesBillingUser: [\n \"GET /users/{username}/settings/billing/packages\"\n ],\n getSharedStorageBillingOrg: [\n \"GET /orgs/{org}/settings/billing/shared-storage\"\n ],\n getSharedStorageBillingUser: [\n \"GET /users/{username}/settings/billing/shared-storage\"\n ]\n },\n campaigns: {\n createCampaign: [\"POST /orgs/{org}/campaigns\"],\n deleteCampaign: [\"DELETE /orgs/{org}/campaigns/{campaign_number}\"],\n getCampaignSummary: [\"GET /orgs/{org}/campaigns/{campaign_number}\"],\n listOrgCampaigns: [\"GET /orgs/{org}/campaigns\"],\n updateCampaign: [\"PATCH /orgs/{org}/campaigns/{campaign_number}\"]\n },\n checks: {\n create: [\"POST /repos/{owner}/{repo}/check-runs\"],\n createSuite: [\"POST /repos/{owner}/{repo}/check-suites\"],\n get: [\"GET /repos/{owner}/{repo}/check-runs/{check_run_id}\"],\n getSuite: [\"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}\"],\n listAnnotations: [\n \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\"\n ],\n listForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\"],\n listForSuite: [\n \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\"\n ],\n listSuitesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\"],\n rerequestRun: [\n \"POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest\"\n ],\n rerequestSuite: [\n \"POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest\"\n ],\n setSuitesPreferences: [\n \"PATCH /repos/{owner}/{repo}/check-suites/preferences\"\n ],\n update: [\"PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}\"]\n },\n codeScanning: {\n commitAutofix: [\n \"POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix/commits\"\n ],\n createAutofix: [\n \"POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix\"\n ],\n createVariantAnalysis: [\n \"POST /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses\"\n ],\n deleteAnalysis: [\n \"DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}\"\n ],\n deleteCodeqlDatabase: [\n \"DELETE /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}\"\n ],\n getAlert: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\",\n {},\n { renamedParameters: { alert_id: \"alert_number\" } }\n ],\n getAnalysis: [\n \"GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}\"\n ],\n getAutofix: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix\"\n ],\n getCodeqlDatabase: [\n \"GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}\"\n ],\n getDefaultSetup: [\"GET /repos/{owner}/{repo}/code-scanning/default-setup\"],\n getSarif: [\"GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}\"],\n getVariantAnalysis: [\n \"GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}\"\n ],\n getVariantAnalysisRepoTask: [\n \"GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}/repos/{repo_owner}/{repo_name}\"\n ],\n listAlertInstances: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\"\n ],\n listAlertsForOrg: [\"GET /orgs/{org}/code-scanning/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/code-scanning/alerts\"],\n listAlertsInstances: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n {},\n { renamed: [\"codeScanning\", \"listAlertInstances\"] }\n ],\n listCodeqlDatabases: [\n \"GET /repos/{owner}/{repo}/code-scanning/codeql/databases\"\n ],\n listRecentAnalyses: [\"GET /repos/{owner}/{repo}/code-scanning/analyses\"],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\"\n ],\n updateDefaultSetup: [\n \"PATCH /repos/{owner}/{repo}/code-scanning/default-setup\"\n ],\n uploadSarif: [\"POST /repos/{owner}/{repo}/code-scanning/sarifs\"]\n },\n codeSecurity: {\n attachConfiguration: [\n \"POST /orgs/{org}/code-security/configurations/{configuration_id}/attach\"\n ],\n attachEnterpriseConfiguration: [\n \"POST /enterprises/{enterprise}/code-security/configurations/{configuration_id}/attach\"\n ],\n createConfiguration: [\"POST /orgs/{org}/code-security/configurations\"],\n createConfigurationForEnterprise: [\n \"POST /enterprises/{enterprise}/code-security/configurations\"\n ],\n deleteConfiguration: [\n \"DELETE /orgs/{org}/code-security/configurations/{configuration_id}\"\n ],\n deleteConfigurationForEnterprise: [\n \"DELETE /enterprises/{enterprise}/code-security/configurations/{configuration_id}\"\n ],\n detachConfiguration: [\n \"DELETE /orgs/{org}/code-security/configurations/detach\"\n ],\n getConfiguration: [\n \"GET /orgs/{org}/code-security/configurations/{configuration_id}\"\n ],\n getConfigurationForRepository: [\n \"GET /repos/{owner}/{repo}/code-security-configuration\"\n ],\n getConfigurationsForEnterprise: [\n \"GET /enterprises/{enterprise}/code-security/configurations\"\n ],\n getConfigurationsForOrg: [\"GET /orgs/{org}/code-security/configurations\"],\n getDefaultConfigurations: [\n \"GET /orgs/{org}/code-security/configurations/defaults\"\n ],\n getDefaultConfigurationsForEnterprise: [\n \"GET /enterprises/{enterprise}/code-security/configurations/defaults\"\n ],\n getRepositoriesForConfiguration: [\n \"GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories\"\n ],\n getRepositoriesForEnterpriseConfiguration: [\n \"GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories\"\n ],\n getSingleConfigurationForEnterprise: [\n \"GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}\"\n ],\n setConfigurationAsDefault: [\n \"PUT /orgs/{org}/code-security/configurations/{configuration_id}/defaults\"\n ],\n setConfigurationAsDefaultForEnterprise: [\n \"PUT /enterprises/{enterprise}/code-security/configurations/{configuration_id}/defaults\"\n ],\n updateConfiguration: [\n \"PATCH /orgs/{org}/code-security/configurations/{configuration_id}\"\n ],\n updateEnterpriseConfiguration: [\n \"PATCH /enterprises/{enterprise}/code-security/configurations/{configuration_id}\"\n ]\n },\n codesOfConduct: {\n getAllCodesOfConduct: [\"GET /codes_of_conduct\"],\n getConductCode: [\"GET /codes_of_conduct/{key}\"]\n },\n codespaces: {\n addRepositoryForSecretForAuthenticatedUser: [\n \"PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n addSelectedRepoToOrgSecret: [\n \"PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n checkPermissionsForDevcontainer: [\n \"GET /repos/{owner}/{repo}/codespaces/permissions_check\"\n ],\n codespaceMachinesForAuthenticatedUser: [\n \"GET /user/codespaces/{codespace_name}/machines\"\n ],\n createForAuthenticatedUser: [\"POST /user/codespaces\"],\n createOrUpdateOrgSecret: [\n \"PUT /orgs/{org}/codespaces/secrets/{secret_name}\"\n ],\n createOrUpdateRepoSecret: [\n \"PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"\n ],\n createOrUpdateSecretForAuthenticatedUser: [\n \"PUT /user/codespaces/secrets/{secret_name}\"\n ],\n createWithPrForAuthenticatedUser: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces\"\n ],\n createWithRepoForAuthenticatedUser: [\n \"POST /repos/{owner}/{repo}/codespaces\"\n ],\n deleteForAuthenticatedUser: [\"DELETE /user/codespaces/{codespace_name}\"],\n deleteFromOrganization: [\n \"DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}\"\n ],\n deleteOrgSecret: [\"DELETE /orgs/{org}/codespaces/secrets/{secret_name}\"],\n deleteRepoSecret: [\n \"DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"\n ],\n deleteSecretForAuthenticatedUser: [\n \"DELETE /user/codespaces/secrets/{secret_name}\"\n ],\n exportForAuthenticatedUser: [\n \"POST /user/codespaces/{codespace_name}/exports\"\n ],\n getCodespacesForUserInOrg: [\n \"GET /orgs/{org}/members/{username}/codespaces\"\n ],\n getExportDetailsForAuthenticatedUser: [\n \"GET /user/codespaces/{codespace_name}/exports/{export_id}\"\n ],\n getForAuthenticatedUser: [\"GET /user/codespaces/{codespace_name}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/codespaces/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/codespaces/secrets/{secret_name}\"],\n getPublicKeyForAuthenticatedUser: [\n \"GET /user/codespaces/secrets/public-key\"\n ],\n getRepoPublicKey: [\n \"GET /repos/{owner}/{repo}/codespaces/secrets/public-key\"\n ],\n getRepoSecret: [\n \"GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"\n ],\n getSecretForAuthenticatedUser: [\n \"GET /user/codespaces/secrets/{secret_name}\"\n ],\n listDevcontainersInRepositoryForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces/devcontainers\"\n ],\n listForAuthenticatedUser: [\"GET /user/codespaces\"],\n listInOrganization: [\n \"GET /orgs/{org}/codespaces\",\n {},\n { renamedParameters: { org_id: \"org\" } }\n ],\n listInRepositoryForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces\"\n ],\n listOrgSecrets: [\"GET /orgs/{org}/codespaces/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/codespaces/secrets\"],\n listRepositoriesForSecretForAuthenticatedUser: [\n \"GET /user/codespaces/secrets/{secret_name}/repositories\"\n ],\n listSecretsForAuthenticatedUser: [\"GET /user/codespaces/secrets\"],\n listSelectedReposForOrgSecret: [\n \"GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories\"\n ],\n preFlightWithRepoForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces/new\"\n ],\n publishForAuthenticatedUser: [\n \"POST /user/codespaces/{codespace_name}/publish\"\n ],\n removeRepositoryForSecretForAuthenticatedUser: [\n \"DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n removeSelectedRepoFromOrgSecret: [\n \"DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n repoMachinesForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces/machines\"\n ],\n setRepositoriesForSecretForAuthenticatedUser: [\n \"PUT /user/codespaces/secrets/{secret_name}/repositories\"\n ],\n setSelectedReposForOrgSecret: [\n \"PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories\"\n ],\n startForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/start\"],\n stopForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/stop\"],\n stopInOrganization: [\n \"POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop\"\n ],\n updateForAuthenticatedUser: [\"PATCH /user/codespaces/{codespace_name}\"]\n },\n copilot: {\n addCopilotSeatsForTeams: [\n \"POST /orgs/{org}/copilot/billing/selected_teams\"\n ],\n addCopilotSeatsForUsers: [\n \"POST /orgs/{org}/copilot/billing/selected_users\"\n ],\n cancelCopilotSeatAssignmentForTeams: [\n \"DELETE /orgs/{org}/copilot/billing/selected_teams\"\n ],\n cancelCopilotSeatAssignmentForUsers: [\n \"DELETE /orgs/{org}/copilot/billing/selected_users\"\n ],\n copilotMetricsForOrganization: [\"GET /orgs/{org}/copilot/metrics\"],\n copilotMetricsForTeam: [\"GET /orgs/{org}/team/{team_slug}/copilot/metrics\"],\n getCopilotOrganizationDetails: [\"GET /orgs/{org}/copilot/billing\"],\n getCopilotSeatDetailsForUser: [\n \"GET /orgs/{org}/members/{username}/copilot\"\n ],\n listCopilotSeats: [\"GET /orgs/{org}/copilot/billing/seats\"]\n },\n credentials: { revoke: [\"POST /credentials/revoke\"] },\n dependabot: {\n addSelectedRepoToOrgSecret: [\n \"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n createOrUpdateOrgSecret: [\n \"PUT /orgs/{org}/dependabot/secrets/{secret_name}\"\n ],\n createOrUpdateRepoSecret: [\n \"PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"\n ],\n deleteOrgSecret: [\"DELETE /orgs/{org}/dependabot/secrets/{secret_name}\"],\n deleteRepoSecret: [\n \"DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"\n ],\n getAlert: [\"GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/dependabot/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/dependabot/secrets/{secret_name}\"],\n getRepoPublicKey: [\n \"GET /repos/{owner}/{repo}/dependabot/secrets/public-key\"\n ],\n getRepoSecret: [\n \"GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"\n ],\n listAlertsForEnterprise: [\n \"GET /enterprises/{enterprise}/dependabot/alerts\"\n ],\n listAlertsForOrg: [\"GET /orgs/{org}/dependabot/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/dependabot/alerts\"],\n listOrgSecrets: [\"GET /orgs/{org}/dependabot/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/dependabot/secrets\"],\n listSelectedReposForOrgSecret: [\n \"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\"\n ],\n removeSelectedRepoFromOrgSecret: [\n \"DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n repositoryAccessForOrg: [\n \"GET /organizations/{org}/dependabot/repository-access\"\n ],\n setRepositoryAccessDefaultLevel: [\n \"PUT /organizations/{org}/dependabot/repository-access/default-level\"\n ],\n setSelectedReposForOrgSecret: [\n \"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories\"\n ],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}\"\n ],\n updateRepositoryAccessForOrg: [\n \"PATCH /organizations/{org}/dependabot/repository-access\"\n ]\n },\n dependencyGraph: {\n createRepositorySnapshot: [\n \"POST /repos/{owner}/{repo}/dependency-graph/snapshots\"\n ],\n diffRange: [\n \"GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}\"\n ],\n exportSbom: [\"GET /repos/{owner}/{repo}/dependency-graph/sbom\"]\n },\n emojis: { get: [\"GET /emojis\"] },\n gists: {\n checkIsStarred: [\"GET /gists/{gist_id}/star\"],\n create: [\"POST /gists\"],\n createComment: [\"POST /gists/{gist_id}/comments\"],\n delete: [\"DELETE /gists/{gist_id}\"],\n deleteComment: [\"DELETE /gists/{gist_id}/comments/{comment_id}\"],\n fork: [\"POST /gists/{gist_id}/forks\"],\n get: [\"GET /gists/{gist_id}\"],\n getComment: [\"GET /gists/{gist_id}/comments/{comment_id}\"],\n getRevision: [\"GET /gists/{gist_id}/{sha}\"],\n list: [\"GET /gists\"],\n listComments: [\"GET /gists/{gist_id}/comments\"],\n listCommits: [\"GET /gists/{gist_id}/commits\"],\n listForUser: [\"GET /users/{username}/gists\"],\n listForks: [\"GET /gists/{gist_id}/forks\"],\n listPublic: [\"GET /gists/public\"],\n listStarred: [\"GET /gists/starred\"],\n star: [\"PUT /gists/{gist_id}/star\"],\n unstar: [\"DELETE /gists/{gist_id}/star\"],\n update: [\"PATCH /gists/{gist_id}\"],\n updateComment: [\"PATCH /gists/{gist_id}/comments/{comment_id}\"]\n },\n git: {\n createBlob: [\"POST /repos/{owner}/{repo}/git/blobs\"],\n createCommit: [\"POST /repos/{owner}/{repo}/git/commits\"],\n createRef: [\"POST /repos/{owner}/{repo}/git/refs\"],\n createTag: [\"POST /repos/{owner}/{repo}/git/tags\"],\n createTree: [\"POST /repos/{owner}/{repo}/git/trees\"],\n deleteRef: [\"DELETE /repos/{owner}/{repo}/git/refs/{ref}\"],\n getBlob: [\"GET /repos/{owner}/{repo}/git/blobs/{file_sha}\"],\n getCommit: [\"GET /repos/{owner}/{repo}/git/commits/{commit_sha}\"],\n getRef: [\"GET /repos/{owner}/{repo}/git/ref/{ref}\"],\n getTag: [\"GET /repos/{owner}/{repo}/git/tags/{tag_sha}\"],\n getTree: [\"GET /repos/{owner}/{repo}/git/trees/{tree_sha}\"],\n listMatchingRefs: [\"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\"],\n updateRef: [\"PATCH /repos/{owner}/{repo}/git/refs/{ref}\"]\n },\n gitignore: {\n getAllTemplates: [\"GET /gitignore/templates\"],\n getTemplate: [\"GET /gitignore/templates/{name}\"]\n },\n hostedCompute: {\n createNetworkConfigurationForOrg: [\n \"POST /orgs/{org}/settings/network-configurations\"\n ],\n deleteNetworkConfigurationFromOrg: [\n \"DELETE /orgs/{org}/settings/network-configurations/{network_configuration_id}\"\n ],\n getNetworkConfigurationForOrg: [\n \"GET /orgs/{org}/settings/network-configurations/{network_configuration_id}\"\n ],\n getNetworkSettingsForOrg: [\n \"GET /orgs/{org}/settings/network-settings/{network_settings_id}\"\n ],\n listNetworkConfigurationsForOrg: [\n \"GET /orgs/{org}/settings/network-configurations\"\n ],\n updateNetworkConfigurationForOrg: [\n \"PATCH /orgs/{org}/settings/network-configurations/{network_configuration_id}\"\n ]\n },\n interactions: {\n getRestrictionsForAuthenticatedUser: [\"GET /user/interaction-limits\"],\n getRestrictionsForOrg: [\"GET /orgs/{org}/interaction-limits\"],\n getRestrictionsForRepo: [\"GET /repos/{owner}/{repo}/interaction-limits\"],\n getRestrictionsForYourPublicRepos: [\n \"GET /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"getRestrictionsForAuthenticatedUser\"] }\n ],\n removeRestrictionsForAuthenticatedUser: [\"DELETE /user/interaction-limits\"],\n removeRestrictionsForOrg: [\"DELETE /orgs/{org}/interaction-limits\"],\n removeRestrictionsForRepo: [\n \"DELETE /repos/{owner}/{repo}/interaction-limits\"\n ],\n removeRestrictionsForYourPublicRepos: [\n \"DELETE /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"removeRestrictionsForAuthenticatedUser\"] }\n ],\n setRestrictionsForAuthenticatedUser: [\"PUT /user/interaction-limits\"],\n setRestrictionsForOrg: [\"PUT /orgs/{org}/interaction-limits\"],\n setRestrictionsForRepo: [\"PUT /repos/{owner}/{repo}/interaction-limits\"],\n setRestrictionsForYourPublicRepos: [\n \"PUT /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"setRestrictionsForAuthenticatedUser\"] }\n ]\n },\n issues: {\n addAssignees: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/assignees\"\n ],\n addBlockedByDependency: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by\"\n ],\n addLabels: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n addSubIssue: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/sub_issues\"\n ],\n checkUserCanBeAssigned: [\"GET /repos/{owner}/{repo}/assignees/{assignee}\"],\n checkUserCanBeAssignedToIssue: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}\"\n ],\n create: [\"POST /repos/{owner}/{repo}/issues\"],\n createComment: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/comments\"\n ],\n createLabel: [\"POST /repos/{owner}/{repo}/labels\"],\n createMilestone: [\"POST /repos/{owner}/{repo}/milestones\"],\n deleteComment: [\n \"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}\"\n ],\n deleteLabel: [\"DELETE /repos/{owner}/{repo}/labels/{name}\"],\n deleteMilestone: [\n \"DELETE /repos/{owner}/{repo}/milestones/{milestone_number}\"\n ],\n get: [\"GET /repos/{owner}/{repo}/issues/{issue_number}\"],\n getComment: [\"GET /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n getEvent: [\"GET /repos/{owner}/{repo}/issues/events/{event_id}\"],\n getLabel: [\"GET /repos/{owner}/{repo}/labels/{name}\"],\n getMilestone: [\"GET /repos/{owner}/{repo}/milestones/{milestone_number}\"],\n getParent: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/parent\"],\n list: [\"GET /issues\"],\n listAssignees: [\"GET /repos/{owner}/{repo}/assignees\"],\n listComments: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\"],\n listCommentsForRepo: [\"GET /repos/{owner}/{repo}/issues/comments\"],\n listDependenciesBlockedBy: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by\"\n ],\n listDependenciesBlocking: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocking\"\n ],\n listEvents: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/events\"],\n listEventsForRepo: [\"GET /repos/{owner}/{repo}/issues/events\"],\n listEventsForTimeline: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\"\n ],\n listForAuthenticatedUser: [\"GET /user/issues\"],\n listForOrg: [\"GET /orgs/{org}/issues\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/issues\"],\n listLabelsForMilestone: [\n \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\"\n ],\n listLabelsForRepo: [\"GET /repos/{owner}/{repo}/labels\"],\n listLabelsOnIssue: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\"\n ],\n listMilestones: [\"GET /repos/{owner}/{repo}/milestones\"],\n listSubIssues: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues\"\n ],\n lock: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n removeAllLabels: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels\"\n ],\n removeAssignees: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees\"\n ],\n removeDependencyBlockedBy: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by/{issue_id}\"\n ],\n removeLabel: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}\"\n ],\n removeSubIssue: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/sub_issue\"\n ],\n reprioritizeSubIssue: [\n \"PATCH /repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority\"\n ],\n setLabels: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n unlock: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n update: [\"PATCH /repos/{owner}/{repo}/issues/{issue_number}\"],\n updateComment: [\"PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n updateLabel: [\"PATCH /repos/{owner}/{repo}/labels/{name}\"],\n updateMilestone: [\n \"PATCH /repos/{owner}/{repo}/milestones/{milestone_number}\"\n ]\n },\n licenses: {\n get: [\"GET /licenses/{license}\"],\n getAllCommonlyUsed: [\"GET /licenses\"],\n getForRepo: [\"GET /repos/{owner}/{repo}/license\"]\n },\n markdown: {\n render: [\"POST /markdown\"],\n renderRaw: [\n \"POST /markdown/raw\",\n { headers: { \"content-type\": \"text/plain; charset=utf-8\" } }\n ]\n },\n meta: {\n get: [\"GET /meta\"],\n getAllVersions: [\"GET /versions\"],\n getOctocat: [\"GET /octocat\"],\n getZen: [\"GET /zen\"],\n root: [\"GET /\"]\n },\n migrations: {\n deleteArchiveForAuthenticatedUser: [\n \"DELETE /user/migrations/{migration_id}/archive\"\n ],\n deleteArchiveForOrg: [\n \"DELETE /orgs/{org}/migrations/{migration_id}/archive\"\n ],\n downloadArchiveForOrg: [\n \"GET /orgs/{org}/migrations/{migration_id}/archive\"\n ],\n getArchiveForAuthenticatedUser: [\n \"GET /user/migrations/{migration_id}/archive\"\n ],\n getStatusForAuthenticatedUser: [\"GET /user/migrations/{migration_id}\"],\n getStatusForOrg: [\"GET /orgs/{org}/migrations/{migration_id}\"],\n listForAuthenticatedUser: [\"GET /user/migrations\"],\n listForOrg: [\"GET /orgs/{org}/migrations\"],\n listReposForAuthenticatedUser: [\n \"GET /user/migrations/{migration_id}/repositories\"\n ],\n listReposForOrg: [\"GET /orgs/{org}/migrations/{migration_id}/repositories\"],\n listReposForUser: [\n \"GET /user/migrations/{migration_id}/repositories\",\n {},\n { renamed: [\"migrations\", \"listReposForAuthenticatedUser\"] }\n ],\n startForAuthenticatedUser: [\"POST /user/migrations\"],\n startForOrg: [\"POST /orgs/{org}/migrations\"],\n unlockRepoForAuthenticatedUser: [\n \"DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock\"\n ],\n unlockRepoForOrg: [\n \"DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock\"\n ]\n },\n oidc: {\n getOidcCustomSubTemplateForOrg: [\n \"GET /orgs/{org}/actions/oidc/customization/sub\"\n ],\n updateOidcCustomSubTemplateForOrg: [\n \"PUT /orgs/{org}/actions/oidc/customization/sub\"\n ]\n },\n orgs: {\n addSecurityManagerTeam: [\n \"PUT /orgs/{org}/security-managers/teams/{team_slug}\",\n {},\n {\n deprecated: \"octokit.rest.orgs.addSecurityManagerTeam() is deprecated, see https://docs.github.com/rest/orgs/security-managers#add-a-security-manager-team\"\n }\n ],\n assignTeamToOrgRole: [\n \"PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}\"\n ],\n assignUserToOrgRole: [\n \"PUT /orgs/{org}/organization-roles/users/{username}/{role_id}\"\n ],\n blockUser: [\"PUT /orgs/{org}/blocks/{username}\"],\n cancelInvitation: [\"DELETE /orgs/{org}/invitations/{invitation_id}\"],\n checkBlockedUser: [\"GET /orgs/{org}/blocks/{username}\"],\n checkMembershipForUser: [\"GET /orgs/{org}/members/{username}\"],\n checkPublicMembershipForUser: [\"GET /orgs/{org}/public_members/{username}\"],\n convertMemberToOutsideCollaborator: [\n \"PUT /orgs/{org}/outside_collaborators/{username}\"\n ],\n createArtifactStorageRecord: [\n \"POST /orgs/{org}/artifacts/metadata/storage-record\"\n ],\n createInvitation: [\"POST /orgs/{org}/invitations\"],\n createIssueType: [\"POST /orgs/{org}/issue-types\"],\n createOrUpdateCustomProperties: [\"PATCH /orgs/{org}/properties/schema\"],\n createOrUpdateCustomPropertiesValuesForRepos: [\n \"PATCH /orgs/{org}/properties/values\"\n ],\n createOrUpdateCustomProperty: [\n \"PUT /orgs/{org}/properties/schema/{custom_property_name}\"\n ],\n createWebhook: [\"POST /orgs/{org}/hooks\"],\n delete: [\"DELETE /orgs/{org}\"],\n deleteAttestationsBulk: [\"POST /orgs/{org}/attestations/delete-request\"],\n deleteAttestationsById: [\n \"DELETE /orgs/{org}/attestations/{attestation_id}\"\n ],\n deleteAttestationsBySubjectDigest: [\n \"DELETE /orgs/{org}/attestations/digest/{subject_digest}\"\n ],\n deleteIssueType: [\"DELETE /orgs/{org}/issue-types/{issue_type_id}\"],\n deleteWebhook: [\"DELETE /orgs/{org}/hooks/{hook_id}\"],\n get: [\"GET /orgs/{org}\"],\n getAllCustomProperties: [\"GET /orgs/{org}/properties/schema\"],\n getCustomProperty: [\n \"GET /orgs/{org}/properties/schema/{custom_property_name}\"\n ],\n getMembershipForAuthenticatedUser: [\"GET /user/memberships/orgs/{org}\"],\n getMembershipForUser: [\"GET /orgs/{org}/memberships/{username}\"],\n getOrgRole: [\"GET /orgs/{org}/organization-roles/{role_id}\"],\n getOrgRulesetHistory: [\"GET /orgs/{org}/rulesets/{ruleset_id}/history\"],\n getOrgRulesetVersion: [\n \"GET /orgs/{org}/rulesets/{ruleset_id}/history/{version_id}\"\n ],\n getWebhook: [\"GET /orgs/{org}/hooks/{hook_id}\"],\n getWebhookConfigForOrg: [\"GET /orgs/{org}/hooks/{hook_id}/config\"],\n getWebhookDelivery: [\n \"GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}\"\n ],\n list: [\"GET /organizations\"],\n listAppInstallations: [\"GET /orgs/{org}/installations\"],\n listArtifactStorageRecords: [\n \"GET /orgs/{org}/artifacts/{subject_digest}/metadata/storage-records\"\n ],\n listAttestations: [\"GET /orgs/{org}/attestations/{subject_digest}\"],\n listAttestationsBulk: [\n \"POST /orgs/{org}/attestations/bulk-list{?per_page,before,after}\"\n ],\n listBlockedUsers: [\"GET /orgs/{org}/blocks\"],\n listCustomPropertiesValuesForRepos: [\"GET /orgs/{org}/properties/values\"],\n listFailedInvitations: [\"GET /orgs/{org}/failed_invitations\"],\n listForAuthenticatedUser: [\"GET /user/orgs\"],\n listForUser: [\"GET /users/{username}/orgs\"],\n listInvitationTeams: [\"GET /orgs/{org}/invitations/{invitation_id}/teams\"],\n listIssueTypes: [\"GET /orgs/{org}/issue-types\"],\n listMembers: [\"GET /orgs/{org}/members\"],\n listMembershipsForAuthenticatedUser: [\"GET /user/memberships/orgs\"],\n listOrgRoleTeams: [\"GET /orgs/{org}/organization-roles/{role_id}/teams\"],\n listOrgRoleUsers: [\"GET /orgs/{org}/organization-roles/{role_id}/users\"],\n listOrgRoles: [\"GET /orgs/{org}/organization-roles\"],\n listOrganizationFineGrainedPermissions: [\n \"GET /orgs/{org}/organization-fine-grained-permissions\"\n ],\n listOutsideCollaborators: [\"GET /orgs/{org}/outside_collaborators\"],\n listPatGrantRepositories: [\n \"GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories\"\n ],\n listPatGrantRequestRepositories: [\n \"GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories\"\n ],\n listPatGrantRequests: [\"GET /orgs/{org}/personal-access-token-requests\"],\n listPatGrants: [\"GET /orgs/{org}/personal-access-tokens\"],\n listPendingInvitations: [\"GET /orgs/{org}/invitations\"],\n listPublicMembers: [\"GET /orgs/{org}/public_members\"],\n listSecurityManagerTeams: [\n \"GET /orgs/{org}/security-managers\",\n {},\n {\n deprecated: \"octokit.rest.orgs.listSecurityManagerTeams() is deprecated, see https://docs.github.com/rest/orgs/security-managers#list-security-manager-teams\"\n }\n ],\n listWebhookDeliveries: [\"GET /orgs/{org}/hooks/{hook_id}/deliveries\"],\n listWebhooks: [\"GET /orgs/{org}/hooks\"],\n pingWebhook: [\"POST /orgs/{org}/hooks/{hook_id}/pings\"],\n redeliverWebhookDelivery: [\n \"POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\"\n ],\n removeCustomProperty: [\n \"DELETE /orgs/{org}/properties/schema/{custom_property_name}\"\n ],\n removeMember: [\"DELETE /orgs/{org}/members/{username}\"],\n removeMembershipForUser: [\"DELETE /orgs/{org}/memberships/{username}\"],\n removeOutsideCollaborator: [\n \"DELETE /orgs/{org}/outside_collaborators/{username}\"\n ],\n removePublicMembershipForAuthenticatedUser: [\n \"DELETE /orgs/{org}/public_members/{username}\"\n ],\n removeSecurityManagerTeam: [\n \"DELETE /orgs/{org}/security-managers/teams/{team_slug}\",\n {},\n {\n deprecated: \"octokit.rest.orgs.removeSecurityManagerTeam() is deprecated, see https://docs.github.com/rest/orgs/security-managers#remove-a-security-manager-team\"\n }\n ],\n reviewPatGrantRequest: [\n \"POST /orgs/{org}/personal-access-token-requests/{pat_request_id}\"\n ],\n reviewPatGrantRequestsInBulk: [\n \"POST /orgs/{org}/personal-access-token-requests\"\n ],\n revokeAllOrgRolesTeam: [\n \"DELETE /orgs/{org}/organization-roles/teams/{team_slug}\"\n ],\n revokeAllOrgRolesUser: [\n \"DELETE /orgs/{org}/organization-roles/users/{username}\"\n ],\n revokeOrgRoleTeam: [\n \"DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}\"\n ],\n revokeOrgRoleUser: [\n \"DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}\"\n ],\n setMembershipForUser: [\"PUT /orgs/{org}/memberships/{username}\"],\n setPublicMembershipForAuthenticatedUser: [\n \"PUT /orgs/{org}/public_members/{username}\"\n ],\n unblockUser: [\"DELETE /orgs/{org}/blocks/{username}\"],\n update: [\"PATCH /orgs/{org}\"],\n updateIssueType: [\"PUT /orgs/{org}/issue-types/{issue_type_id}\"],\n updateMembershipForAuthenticatedUser: [\n \"PATCH /user/memberships/orgs/{org}\"\n ],\n updatePatAccess: [\"POST /orgs/{org}/personal-access-tokens/{pat_id}\"],\n updatePatAccesses: [\"POST /orgs/{org}/personal-access-tokens\"],\n updateWebhook: [\"PATCH /orgs/{org}/hooks/{hook_id}\"],\n updateWebhookConfigForOrg: [\"PATCH /orgs/{org}/hooks/{hook_id}/config\"]\n },\n packages: {\n deletePackageForAuthenticatedUser: [\n \"DELETE /user/packages/{package_type}/{package_name}\"\n ],\n deletePackageForOrg: [\n \"DELETE /orgs/{org}/packages/{package_type}/{package_name}\"\n ],\n deletePackageForUser: [\n \"DELETE /users/{username}/packages/{package_type}/{package_name}\"\n ],\n deletePackageVersionForAuthenticatedUser: [\n \"DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n deletePackageVersionForOrg: [\n \"DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n deletePackageVersionForUser: [\n \"DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n getAllPackageVersionsForAPackageOwnedByAnOrg: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\",\n {},\n { renamed: [\"packages\", \"getAllPackageVersionsForPackageOwnedByOrg\"] }\n ],\n getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions\",\n {},\n {\n renamed: [\n \"packages\",\n \"getAllPackageVersionsForPackageOwnedByAuthenticatedUser\"\n ]\n }\n ],\n getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions\"\n ],\n getAllPackageVersionsForPackageOwnedByOrg: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\"\n ],\n getAllPackageVersionsForPackageOwnedByUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}/versions\"\n ],\n getPackageForAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}\"\n ],\n getPackageForOrganization: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}\"\n ],\n getPackageForUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}\"\n ],\n getPackageVersionForAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n getPackageVersionForOrganization: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n getPackageVersionForUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n listDockerMigrationConflictingPackagesForAuthenticatedUser: [\n \"GET /user/docker/conflicts\"\n ],\n listDockerMigrationConflictingPackagesForOrganization: [\n \"GET /orgs/{org}/docker/conflicts\"\n ],\n listDockerMigrationConflictingPackagesForUser: [\n \"GET /users/{username}/docker/conflicts\"\n ],\n listPackagesForAuthenticatedUser: [\"GET /user/packages\"],\n listPackagesForOrganization: [\"GET /orgs/{org}/packages\"],\n listPackagesForUser: [\"GET /users/{username}/packages\"],\n restorePackageForAuthenticatedUser: [\n \"POST /user/packages/{package_type}/{package_name}/restore{?token}\"\n ],\n restorePackageForOrg: [\n \"POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}\"\n ],\n restorePackageForUser: [\n \"POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}\"\n ],\n restorePackageVersionForAuthenticatedUser: [\n \"POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"\n ],\n restorePackageVersionForOrg: [\n \"POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"\n ],\n restorePackageVersionForUser: [\n \"POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"\n ]\n },\n privateRegistries: {\n createOrgPrivateRegistry: [\"POST /orgs/{org}/private-registries\"],\n deleteOrgPrivateRegistry: [\n \"DELETE /orgs/{org}/private-registries/{secret_name}\"\n ],\n getOrgPrivateRegistry: [\"GET /orgs/{org}/private-registries/{secret_name}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/private-registries/public-key\"],\n listOrgPrivateRegistries: [\"GET /orgs/{org}/private-registries\"],\n updateOrgPrivateRegistry: [\n \"PATCH /orgs/{org}/private-registries/{secret_name}\"\n ]\n },\n projects: {\n addItemForOrg: [\"POST /orgs/{org}/projectsV2/{project_number}/items\"],\n addItemForUser: [\"POST /users/{user_id}/projectsV2/{project_number}/items\"],\n deleteItemForOrg: [\n \"DELETE /orgs/{org}/projectsV2/{project_number}/items/{item_id}\"\n ],\n deleteItemForUser: [\n \"DELETE /users/{user_id}/projectsV2/{project_number}/items/{item_id}\"\n ],\n getFieldForOrg: [\n \"GET /orgs/{org}/projectsV2/{project_number}/fields/{field_id}\"\n ],\n getFieldForUser: [\n \"GET /users/{user_id}/projectsV2/{project_number}/fields/{field_id}\"\n ],\n getForOrg: [\"GET /orgs/{org}/projectsV2/{project_number}\"],\n getForUser: [\"GET /users/{user_id}/projectsV2/{project_number}\"],\n getOrgItem: [\"GET /orgs/{org}/projectsV2/{project_number}/items/{item_id}\"],\n getUserItem: [\n \"GET /users/{user_id}/projectsV2/{project_number}/items/{item_id}\"\n ],\n listFieldsForOrg: [\"GET /orgs/{org}/projectsV2/{project_number}/fields\"],\n listFieldsForUser: [\n \"GET /users/{user_id}/projectsV2/{project_number}/fields\"\n ],\n listForOrg: [\"GET /orgs/{org}/projectsV2\"],\n listForUser: [\"GET /users/{username}/projectsV2\"],\n listItemsForOrg: [\"GET /orgs/{org}/projectsV2/{project_number}/items\"],\n listItemsForUser: [\n \"GET /users/{user_id}/projectsV2/{project_number}/items\"\n ],\n updateItemForOrg: [\n \"PATCH /orgs/{org}/projectsV2/{project_number}/items/{item_id}\"\n ],\n updateItemForUser: [\n \"PATCH /users/{user_id}/projectsV2/{project_number}/items/{item_id}\"\n ]\n },\n pulls: {\n checkIfMerged: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n create: [\"POST /repos/{owner}/{repo}/pulls\"],\n createReplyForReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies\"\n ],\n createReview: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n createReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments\"\n ],\n deletePendingReview: [\n \"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"\n ],\n deleteReviewComment: [\n \"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}\"\n ],\n dismissReview: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals\"\n ],\n get: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}\"],\n getReview: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"\n ],\n getReviewComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}\"],\n list: [\"GET /repos/{owner}/{repo}/pulls\"],\n listCommentsForReview: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\"\n ],\n listCommits: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\"],\n listFiles: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\"],\n listRequestedReviewers: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"\n ],\n listReviewComments: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\"\n ],\n listReviewCommentsForRepo: [\"GET /repos/{owner}/{repo}/pulls/comments\"],\n listReviews: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n merge: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n removeRequestedReviewers: [\n \"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"\n ],\n requestReviewers: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"\n ],\n submitReview: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events\"\n ],\n update: [\"PATCH /repos/{owner}/{repo}/pulls/{pull_number}\"],\n updateBranch: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch\"\n ],\n updateReview: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"\n ],\n updateReviewComment: [\n \"PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}\"\n ]\n },\n rateLimit: { get: [\"GET /rate_limit\"] },\n reactions: {\n createForCommitComment: [\n \"POST /repos/{owner}/{repo}/comments/{comment_id}/reactions\"\n ],\n createForIssue: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/reactions\"\n ],\n createForIssueComment: [\n \"POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\"\n ],\n createForPullRequestReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\"\n ],\n createForRelease: [\n \"POST /repos/{owner}/{repo}/releases/{release_id}/reactions\"\n ],\n createForTeamDiscussionCommentInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\"\n ],\n createForTeamDiscussionInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\"\n ],\n deleteForCommitComment: [\n \"DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}\"\n ],\n deleteForIssue: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}\"\n ],\n deleteForIssueComment: [\n \"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}\"\n ],\n deleteForPullRequestComment: [\n \"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}\"\n ],\n deleteForRelease: [\n \"DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}\"\n ],\n deleteForTeamDiscussion: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}\"\n ],\n deleteForTeamDiscussionComment: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}\"\n ],\n listForCommitComment: [\n \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\"\n ],\n listForIssue: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\"],\n listForIssueComment: [\n \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\"\n ],\n listForPullRequestReviewComment: [\n \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\"\n ],\n listForRelease: [\n \"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\"\n ],\n listForTeamDiscussionCommentInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\"\n ],\n listForTeamDiscussionInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\"\n ]\n },\n repos: {\n acceptInvitation: [\n \"PATCH /user/repository_invitations/{invitation_id}\",\n {},\n { renamed: [\"repos\", \"acceptInvitationForAuthenticatedUser\"] }\n ],\n acceptInvitationForAuthenticatedUser: [\n \"PATCH /user/repository_invitations/{invitation_id}\"\n ],\n addAppAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" }\n ],\n addCollaborator: [\"PUT /repos/{owner}/{repo}/collaborators/{username}\"],\n addStatusCheckContexts: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" }\n ],\n addTeamAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" }\n ],\n addUserAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" }\n ],\n cancelPagesDeployment: [\n \"POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel\"\n ],\n checkAutomatedSecurityFixes: [\n \"GET /repos/{owner}/{repo}/automated-security-fixes\"\n ],\n checkCollaborator: [\"GET /repos/{owner}/{repo}/collaborators/{username}\"],\n checkPrivateVulnerabilityReporting: [\n \"GET /repos/{owner}/{repo}/private-vulnerability-reporting\"\n ],\n checkVulnerabilityAlerts: [\n \"GET /repos/{owner}/{repo}/vulnerability-alerts\"\n ],\n codeownersErrors: [\"GET /repos/{owner}/{repo}/codeowners/errors\"],\n compareCommits: [\"GET /repos/{owner}/{repo}/compare/{base}...{head}\"],\n compareCommitsWithBasehead: [\n \"GET /repos/{owner}/{repo}/compare/{basehead}\"\n ],\n createAttestation: [\"POST /repos/{owner}/{repo}/attestations\"],\n createAutolink: [\"POST /repos/{owner}/{repo}/autolinks\"],\n createCommitComment: [\n \"POST /repos/{owner}/{repo}/commits/{commit_sha}/comments\"\n ],\n createCommitSignatureProtection: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"\n ],\n createCommitStatus: [\"POST /repos/{owner}/{repo}/statuses/{sha}\"],\n createDeployKey: [\"POST /repos/{owner}/{repo}/keys\"],\n createDeployment: [\"POST /repos/{owner}/{repo}/deployments\"],\n createDeploymentBranchPolicy: [\n \"POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies\"\n ],\n createDeploymentProtectionRule: [\n \"POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules\"\n ],\n createDeploymentStatus: [\n \"POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\"\n ],\n createDispatchEvent: [\"POST /repos/{owner}/{repo}/dispatches\"],\n createForAuthenticatedUser: [\"POST /user/repos\"],\n createFork: [\"POST /repos/{owner}/{repo}/forks\"],\n createInOrg: [\"POST /orgs/{org}/repos\"],\n createOrUpdateCustomPropertiesValues: [\n \"PATCH /repos/{owner}/{repo}/properties/values\"\n ],\n createOrUpdateEnvironment: [\n \"PUT /repos/{owner}/{repo}/environments/{environment_name}\"\n ],\n createOrUpdateFileContents: [\"PUT /repos/{owner}/{repo}/contents/{path}\"],\n createOrgRuleset: [\"POST /orgs/{org}/rulesets\"],\n createPagesDeployment: [\"POST /repos/{owner}/{repo}/pages/deployments\"],\n createPagesSite: [\"POST /repos/{owner}/{repo}/pages\"],\n createRelease: [\"POST /repos/{owner}/{repo}/releases\"],\n createRepoRuleset: [\"POST /repos/{owner}/{repo}/rulesets\"],\n createUsingTemplate: [\n \"POST /repos/{template_owner}/{template_repo}/generate\"\n ],\n createWebhook: [\"POST /repos/{owner}/{repo}/hooks\"],\n declineInvitation: [\n \"DELETE /user/repository_invitations/{invitation_id}\",\n {},\n { renamed: [\"repos\", \"declineInvitationForAuthenticatedUser\"] }\n ],\n declineInvitationForAuthenticatedUser: [\n \"DELETE /user/repository_invitations/{invitation_id}\"\n ],\n delete: [\"DELETE /repos/{owner}/{repo}\"],\n deleteAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\"\n ],\n deleteAdminBranchProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"\n ],\n deleteAnEnvironment: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}\"\n ],\n deleteAutolink: [\"DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\n deleteBranchProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection\"\n ],\n deleteCommitComment: [\"DELETE /repos/{owner}/{repo}/comments/{comment_id}\"],\n deleteCommitSignatureProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"\n ],\n deleteDeployKey: [\"DELETE /repos/{owner}/{repo}/keys/{key_id}\"],\n deleteDeployment: [\n \"DELETE /repos/{owner}/{repo}/deployments/{deployment_id}\"\n ],\n deleteDeploymentBranchPolicy: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}\"\n ],\n deleteFile: [\"DELETE /repos/{owner}/{repo}/contents/{path}\"],\n deleteInvitation: [\n \"DELETE /repos/{owner}/{repo}/invitations/{invitation_id}\"\n ],\n deleteOrgRuleset: [\"DELETE /orgs/{org}/rulesets/{ruleset_id}\"],\n deletePagesSite: [\"DELETE /repos/{owner}/{repo}/pages\"],\n deletePullRequestReviewProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"\n ],\n deleteRelease: [\"DELETE /repos/{owner}/{repo}/releases/{release_id}\"],\n deleteReleaseAsset: [\n \"DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}\"\n ],\n deleteRepoRuleset: [\"DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}\"],\n deleteWebhook: [\"DELETE /repos/{owner}/{repo}/hooks/{hook_id}\"],\n disableAutomatedSecurityFixes: [\n \"DELETE /repos/{owner}/{repo}/automated-security-fixes\"\n ],\n disableDeploymentProtectionRule: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}\"\n ],\n disablePrivateVulnerabilityReporting: [\n \"DELETE /repos/{owner}/{repo}/private-vulnerability-reporting\"\n ],\n disableVulnerabilityAlerts: [\n \"DELETE /repos/{owner}/{repo}/vulnerability-alerts\"\n ],\n downloadArchive: [\n \"GET /repos/{owner}/{repo}/zipball/{ref}\",\n {},\n { renamed: [\"repos\", \"downloadZipballArchive\"] }\n ],\n downloadTarballArchive: [\"GET /repos/{owner}/{repo}/tarball/{ref}\"],\n downloadZipballArchive: [\"GET /repos/{owner}/{repo}/zipball/{ref}\"],\n enableAutomatedSecurityFixes: [\n \"PUT /repos/{owner}/{repo}/automated-security-fixes\"\n ],\n enablePrivateVulnerabilityReporting: [\n \"PUT /repos/{owner}/{repo}/private-vulnerability-reporting\"\n ],\n enableVulnerabilityAlerts: [\n \"PUT /repos/{owner}/{repo}/vulnerability-alerts\"\n ],\n generateReleaseNotes: [\n \"POST /repos/{owner}/{repo}/releases/generate-notes\"\n ],\n get: [\"GET /repos/{owner}/{repo}\"],\n getAccessRestrictions: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\"\n ],\n getAdminBranchProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"\n ],\n getAllDeploymentProtectionRules: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules\"\n ],\n getAllEnvironments: [\"GET /repos/{owner}/{repo}/environments\"],\n getAllStatusCheckContexts: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\"\n ],\n getAllTopics: [\"GET /repos/{owner}/{repo}/topics\"],\n getAppsWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\"\n ],\n getAutolink: [\"GET /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\n getBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}\"],\n getBranchProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection\"\n ],\n getBranchRules: [\"GET /repos/{owner}/{repo}/rules/branches/{branch}\"],\n getClones: [\"GET /repos/{owner}/{repo}/traffic/clones\"],\n getCodeFrequencyStats: [\"GET /repos/{owner}/{repo}/stats/code_frequency\"],\n getCollaboratorPermissionLevel: [\n \"GET /repos/{owner}/{repo}/collaborators/{username}/permission\"\n ],\n getCombinedStatusForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/status\"],\n getCommit: [\"GET /repos/{owner}/{repo}/commits/{ref}\"],\n getCommitActivityStats: [\"GET /repos/{owner}/{repo}/stats/commit_activity\"],\n getCommitComment: [\"GET /repos/{owner}/{repo}/comments/{comment_id}\"],\n getCommitSignatureProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"\n ],\n getCommunityProfileMetrics: [\"GET /repos/{owner}/{repo}/community/profile\"],\n getContent: [\"GET /repos/{owner}/{repo}/contents/{path}\"],\n getContributorsStats: [\"GET /repos/{owner}/{repo}/stats/contributors\"],\n getCustomDeploymentProtectionRule: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}\"\n ],\n getCustomPropertiesValues: [\"GET /repos/{owner}/{repo}/properties/values\"],\n getDeployKey: [\"GET /repos/{owner}/{repo}/keys/{key_id}\"],\n getDeployment: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}\"],\n getDeploymentBranchPolicy: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}\"\n ],\n getDeploymentStatus: [\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}\"\n ],\n getEnvironment: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}\"\n ],\n getLatestPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/latest\"],\n getLatestRelease: [\"GET /repos/{owner}/{repo}/releases/latest\"],\n getOrgRuleSuite: [\"GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}\"],\n getOrgRuleSuites: [\"GET /orgs/{org}/rulesets/rule-suites\"],\n getOrgRuleset: [\"GET /orgs/{org}/rulesets/{ruleset_id}\"],\n getOrgRulesets: [\"GET /orgs/{org}/rulesets\"],\n getPages: [\"GET /repos/{owner}/{repo}/pages\"],\n getPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/{build_id}\"],\n getPagesDeployment: [\n \"GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}\"\n ],\n getPagesHealthCheck: [\"GET /repos/{owner}/{repo}/pages/health\"],\n getParticipationStats: [\"GET /repos/{owner}/{repo}/stats/participation\"],\n getPullRequestReviewProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"\n ],\n getPunchCardStats: [\"GET /repos/{owner}/{repo}/stats/punch_card\"],\n getReadme: [\"GET /repos/{owner}/{repo}/readme\"],\n getReadmeInDirectory: [\"GET /repos/{owner}/{repo}/readme/{dir}\"],\n getRelease: [\"GET /repos/{owner}/{repo}/releases/{release_id}\"],\n getReleaseAsset: [\"GET /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n getReleaseByTag: [\"GET /repos/{owner}/{repo}/releases/tags/{tag}\"],\n getRepoRuleSuite: [\n \"GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}\"\n ],\n getRepoRuleSuites: [\"GET /repos/{owner}/{repo}/rulesets/rule-suites\"],\n getRepoRuleset: [\"GET /repos/{owner}/{repo}/rulesets/{ruleset_id}\"],\n getRepoRulesetHistory: [\n \"GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history\"\n ],\n getRepoRulesetVersion: [\n \"GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history/{version_id}\"\n ],\n getRepoRulesets: [\"GET /repos/{owner}/{repo}/rulesets\"],\n getStatusChecksProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"\n ],\n getTeamsWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\"\n ],\n getTopPaths: [\"GET /repos/{owner}/{repo}/traffic/popular/paths\"],\n getTopReferrers: [\"GET /repos/{owner}/{repo}/traffic/popular/referrers\"],\n getUsersWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\"\n ],\n getViews: [\"GET /repos/{owner}/{repo}/traffic/views\"],\n getWebhook: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}\"],\n getWebhookConfigForRepo: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/config\"\n ],\n getWebhookDelivery: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}\"\n ],\n listActivities: [\"GET /repos/{owner}/{repo}/activity\"],\n listAttestations: [\n \"GET /repos/{owner}/{repo}/attestations/{subject_digest}\"\n ],\n listAutolinks: [\"GET /repos/{owner}/{repo}/autolinks\"],\n listBranches: [\"GET /repos/{owner}/{repo}/branches\"],\n listBranchesForHeadCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head\"\n ],\n listCollaborators: [\"GET /repos/{owner}/{repo}/collaborators\"],\n listCommentsForCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\"\n ],\n listCommitCommentsForRepo: [\"GET /repos/{owner}/{repo}/comments\"],\n listCommitStatusesForRef: [\n \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\"\n ],\n listCommits: [\"GET /repos/{owner}/{repo}/commits\"],\n listContributors: [\"GET /repos/{owner}/{repo}/contributors\"],\n listCustomDeploymentRuleIntegrations: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps\"\n ],\n listDeployKeys: [\"GET /repos/{owner}/{repo}/keys\"],\n listDeploymentBranchPolicies: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies\"\n ],\n listDeploymentStatuses: [\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\"\n ],\n listDeployments: [\"GET /repos/{owner}/{repo}/deployments\"],\n listForAuthenticatedUser: [\"GET /user/repos\"],\n listForOrg: [\"GET /orgs/{org}/repos\"],\n listForUser: [\"GET /users/{username}/repos\"],\n listForks: [\"GET /repos/{owner}/{repo}/forks\"],\n listInvitations: [\"GET /repos/{owner}/{repo}/invitations\"],\n listInvitationsForAuthenticatedUser: [\"GET /user/repository_invitations\"],\n listLanguages: [\"GET /repos/{owner}/{repo}/languages\"],\n listPagesBuilds: [\"GET /repos/{owner}/{repo}/pages/builds\"],\n listPublic: [\"GET /repositories\"],\n listPullRequestsAssociatedWithCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\"\n ],\n listReleaseAssets: [\n \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\"\n ],\n listReleases: [\"GET /repos/{owner}/{repo}/releases\"],\n listTags: [\"GET /repos/{owner}/{repo}/tags\"],\n listTeams: [\"GET /repos/{owner}/{repo}/teams\"],\n listWebhookDeliveries: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\"\n ],\n listWebhooks: [\"GET /repos/{owner}/{repo}/hooks\"],\n merge: [\"POST /repos/{owner}/{repo}/merges\"],\n mergeUpstream: [\"POST /repos/{owner}/{repo}/merge-upstream\"],\n pingWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/pings\"],\n redeliverWebhookDelivery: [\n \"POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\"\n ],\n removeAppAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" }\n ],\n removeCollaborator: [\n \"DELETE /repos/{owner}/{repo}/collaborators/{username}\"\n ],\n removeStatusCheckContexts: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" }\n ],\n removeStatusCheckProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"\n ],\n removeTeamAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" }\n ],\n removeUserAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" }\n ],\n renameBranch: [\"POST /repos/{owner}/{repo}/branches/{branch}/rename\"],\n replaceAllTopics: [\"PUT /repos/{owner}/{repo}/topics\"],\n requestPagesBuild: [\"POST /repos/{owner}/{repo}/pages/builds\"],\n setAdminBranchProtection: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"\n ],\n setAppAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" }\n ],\n setStatusCheckContexts: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" }\n ],\n setTeamAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" }\n ],\n setUserAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" }\n ],\n testPushWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/tests\"],\n transfer: [\"POST /repos/{owner}/{repo}/transfer\"],\n update: [\"PATCH /repos/{owner}/{repo}\"],\n updateBranchProtection: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection\"\n ],\n updateCommitComment: [\"PATCH /repos/{owner}/{repo}/comments/{comment_id}\"],\n updateDeploymentBranchPolicy: [\n \"PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}\"\n ],\n updateInformationAboutPagesSite: [\"PUT /repos/{owner}/{repo}/pages\"],\n updateInvitation: [\n \"PATCH /repos/{owner}/{repo}/invitations/{invitation_id}\"\n ],\n updateOrgRuleset: [\"PUT /orgs/{org}/rulesets/{ruleset_id}\"],\n updatePullRequestReviewProtection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"\n ],\n updateRelease: [\"PATCH /repos/{owner}/{repo}/releases/{release_id}\"],\n updateReleaseAsset: [\n \"PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}\"\n ],\n updateRepoRuleset: [\"PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}\"],\n updateStatusCheckPotection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n {},\n { renamed: [\"repos\", \"updateStatusCheckProtection\"] }\n ],\n updateStatusCheckProtection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"\n ],\n updateWebhook: [\"PATCH /repos/{owner}/{repo}/hooks/{hook_id}\"],\n updateWebhookConfigForRepo: [\n \"PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config\"\n ],\n uploadReleaseAsset: [\n \"POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}\",\n { baseUrl: \"https://uploads.github.com\" }\n ]\n },\n search: {\n code: [\"GET /search/code\"],\n commits: [\"GET /search/commits\"],\n issuesAndPullRequests: [\n \"GET /search/issues\",\n {},\n {\n deprecated: \"octokit.rest.search.issuesAndPullRequests() is deprecated, see https://docs.github.com/rest/search/search#search-issues-and-pull-requests\"\n }\n ],\n labels: [\"GET /search/labels\"],\n repos: [\"GET /search/repositories\"],\n topics: [\"GET /search/topics\"],\n users: [\"GET /search/users\"]\n },\n secretScanning: {\n createPushProtectionBypass: [\n \"POST /repos/{owner}/{repo}/secret-scanning/push-protection-bypasses\"\n ],\n getAlert: [\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\"\n ],\n getScanHistory: [\"GET /repos/{owner}/{repo}/secret-scanning/scan-history\"],\n listAlertsForEnterprise: [\n \"GET /enterprises/{enterprise}/secret-scanning/alerts\"\n ],\n listAlertsForOrg: [\"GET /orgs/{org}/secret-scanning/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts\"],\n listLocationsForAlert: [\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\"\n ],\n listOrgPatternConfigs: [\n \"GET /orgs/{org}/secret-scanning/pattern-configurations\"\n ],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\"\n ],\n updateOrgPatternConfigs: [\n \"PATCH /orgs/{org}/secret-scanning/pattern-configurations\"\n ]\n },\n securityAdvisories: {\n createFork: [\n \"POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks\"\n ],\n createPrivateVulnerabilityReport: [\n \"POST /repos/{owner}/{repo}/security-advisories/reports\"\n ],\n createRepositoryAdvisory: [\n \"POST /repos/{owner}/{repo}/security-advisories\"\n ],\n createRepositoryAdvisoryCveRequest: [\n \"POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve\"\n ],\n getGlobalAdvisory: [\"GET /advisories/{ghsa_id}\"],\n getRepositoryAdvisory: [\n \"GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}\"\n ],\n listGlobalAdvisories: [\"GET /advisories\"],\n listOrgRepositoryAdvisories: [\"GET /orgs/{org}/security-advisories\"],\n listRepositoryAdvisories: [\"GET /repos/{owner}/{repo}/security-advisories\"],\n updateRepositoryAdvisory: [\n \"PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}\"\n ]\n },\n teams: {\n addOrUpdateMembershipForUserInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/memberships/{username}\"\n ],\n addOrUpdateRepoPermissionsInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"\n ],\n checkPermissionsForRepoInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"\n ],\n create: [\"POST /orgs/{org}/teams\"],\n createDiscussionCommentInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\"\n ],\n createDiscussionInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions\"],\n deleteDiscussionCommentInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"\n ],\n deleteDiscussionInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"\n ],\n deleteInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}\"],\n getByName: [\"GET /orgs/{org}/teams/{team_slug}\"],\n getDiscussionCommentInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"\n ],\n getDiscussionInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"\n ],\n getMembershipForUserInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/memberships/{username}\"\n ],\n list: [\"GET /orgs/{org}/teams\"],\n listChildInOrg: [\"GET /orgs/{org}/teams/{team_slug}/teams\"],\n listDiscussionCommentsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\"\n ],\n listDiscussionsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions\"],\n listForAuthenticatedUser: [\"GET /user/teams\"],\n listMembersInOrg: [\"GET /orgs/{org}/teams/{team_slug}/members\"],\n listPendingInvitationsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/invitations\"\n ],\n listReposInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos\"],\n removeMembershipForUserInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}\"\n ],\n removeRepoInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"\n ],\n updateDiscussionCommentInOrg: [\n \"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"\n ],\n updateDiscussionInOrg: [\n \"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"\n ],\n updateInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}\"]\n },\n users: {\n addEmailForAuthenticated: [\n \"POST /user/emails\",\n {},\n { renamed: [\"users\", \"addEmailForAuthenticatedUser\"] }\n ],\n addEmailForAuthenticatedUser: [\"POST /user/emails\"],\n addSocialAccountForAuthenticatedUser: [\"POST /user/social_accounts\"],\n block: [\"PUT /user/blocks/{username}\"],\n checkBlocked: [\"GET /user/blocks/{username}\"],\n checkFollowingForUser: [\"GET /users/{username}/following/{target_user}\"],\n checkPersonIsFollowedByAuthenticated: [\"GET /user/following/{username}\"],\n createGpgKeyForAuthenticated: [\n \"POST /user/gpg_keys\",\n {},\n { renamed: [\"users\", \"createGpgKeyForAuthenticatedUser\"] }\n ],\n createGpgKeyForAuthenticatedUser: [\"POST /user/gpg_keys\"],\n createPublicSshKeyForAuthenticated: [\n \"POST /user/keys\",\n {},\n { renamed: [\"users\", \"createPublicSshKeyForAuthenticatedUser\"] }\n ],\n createPublicSshKeyForAuthenticatedUser: [\"POST /user/keys\"],\n createSshSigningKeyForAuthenticatedUser: [\"POST /user/ssh_signing_keys\"],\n deleteAttestationsBulk: [\n \"POST /users/{username}/attestations/delete-request\"\n ],\n deleteAttestationsById: [\n \"DELETE /users/{username}/attestations/{attestation_id}\"\n ],\n deleteAttestationsBySubjectDigest: [\n \"DELETE /users/{username}/attestations/digest/{subject_digest}\"\n ],\n deleteEmailForAuthenticated: [\n \"DELETE /user/emails\",\n {},\n { renamed: [\"users\", \"deleteEmailForAuthenticatedUser\"] }\n ],\n deleteEmailForAuthenticatedUser: [\"DELETE /user/emails\"],\n deleteGpgKeyForAuthenticated: [\n \"DELETE /user/gpg_keys/{gpg_key_id}\",\n {},\n { renamed: [\"users\", \"deleteGpgKeyForAuthenticatedUser\"] }\n ],\n deleteGpgKeyForAuthenticatedUser: [\"DELETE /user/gpg_keys/{gpg_key_id}\"],\n deletePublicSshKeyForAuthenticated: [\n \"DELETE /user/keys/{key_id}\",\n {},\n { renamed: [\"users\", \"deletePublicSshKeyForAuthenticatedUser\"] }\n ],\n deletePublicSshKeyForAuthenticatedUser: [\"DELETE /user/keys/{key_id}\"],\n deleteSocialAccountForAuthenticatedUser: [\"DELETE /user/social_accounts\"],\n deleteSshSigningKeyForAuthenticatedUser: [\n \"DELETE /user/ssh_signing_keys/{ssh_signing_key_id}\"\n ],\n follow: [\"PUT /user/following/{username}\"],\n getAuthenticated: [\"GET /user\"],\n getById: [\"GET /user/{account_id}\"],\n getByUsername: [\"GET /users/{username}\"],\n getContextForUser: [\"GET /users/{username}/hovercard\"],\n getGpgKeyForAuthenticated: [\n \"GET /user/gpg_keys/{gpg_key_id}\",\n {},\n { renamed: [\"users\", \"getGpgKeyForAuthenticatedUser\"] }\n ],\n getGpgKeyForAuthenticatedUser: [\"GET /user/gpg_keys/{gpg_key_id}\"],\n getPublicSshKeyForAuthenticated: [\n \"GET /user/keys/{key_id}\",\n {},\n { renamed: [\"users\", \"getPublicSshKeyForAuthenticatedUser\"] }\n ],\n getPublicSshKeyForAuthenticatedUser: [\"GET /user/keys/{key_id}\"],\n getSshSigningKeyForAuthenticatedUser: [\n \"GET /user/ssh_signing_keys/{ssh_signing_key_id}\"\n ],\n list: [\"GET /users\"],\n listAttestations: [\"GET /users/{username}/attestations/{subject_digest}\"],\n listAttestationsBulk: [\n \"POST /users/{username}/attestations/bulk-list{?per_page,before,after}\"\n ],\n listBlockedByAuthenticated: [\n \"GET /user/blocks\",\n {},\n { renamed: [\"users\", \"listBlockedByAuthenticatedUser\"] }\n ],\n listBlockedByAuthenticatedUser: [\"GET /user/blocks\"],\n listEmailsForAuthenticated: [\n \"GET /user/emails\",\n {},\n { renamed: [\"users\", \"listEmailsForAuthenticatedUser\"] }\n ],\n listEmailsForAuthenticatedUser: [\"GET /user/emails\"],\n listFollowedByAuthenticated: [\n \"GET /user/following\",\n {},\n { renamed: [\"users\", \"listFollowedByAuthenticatedUser\"] }\n ],\n listFollowedByAuthenticatedUser: [\"GET /user/following\"],\n listFollowersForAuthenticatedUser: [\"GET /user/followers\"],\n listFollowersForUser: [\"GET /users/{username}/followers\"],\n listFollowingForUser: [\"GET /users/{username}/following\"],\n listGpgKeysForAuthenticated: [\n \"GET /user/gpg_keys\",\n {},\n { renamed: [\"users\", \"listGpgKeysForAuthenticatedUser\"] }\n ],\n listGpgKeysForAuthenticatedUser: [\"GET /user/gpg_keys\"],\n listGpgKeysForUser: [\"GET /users/{username}/gpg_keys\"],\n listPublicEmailsForAuthenticated: [\n \"GET /user/public_emails\",\n {},\n { renamed: [\"users\", \"listPublicEmailsForAuthenticatedUser\"] }\n ],\n listPublicEmailsForAuthenticatedUser: [\"GET /user/public_emails\"],\n listPublicKeysForUser: [\"GET /users/{username}/keys\"],\n listPublicSshKeysForAuthenticated: [\n \"GET /user/keys\",\n {},\n { renamed: [\"users\", \"listPublicSshKeysForAuthenticatedUser\"] }\n ],\n listPublicSshKeysForAuthenticatedUser: [\"GET /user/keys\"],\n listSocialAccountsForAuthenticatedUser: [\"GET /user/social_accounts\"],\n listSocialAccountsForUser: [\"GET /users/{username}/social_accounts\"],\n listSshSigningKeysForAuthenticatedUser: [\"GET /user/ssh_signing_keys\"],\n listSshSigningKeysForUser: [\"GET /users/{username}/ssh_signing_keys\"],\n setPrimaryEmailVisibilityForAuthenticated: [\n \"PATCH /user/email/visibility\",\n {},\n { renamed: [\"users\", \"setPrimaryEmailVisibilityForAuthenticatedUser\"] }\n ],\n setPrimaryEmailVisibilityForAuthenticatedUser: [\n \"PATCH /user/email/visibility\"\n ],\n unblock: [\"DELETE /user/blocks/{username}\"],\n unfollow: [\"DELETE /user/following/{username}\"],\n updateAuthenticated: [\"PATCH /user\"]\n }\n};\nvar endpoints_default = Endpoints;\nexport {\n endpoints_default as default\n};\n//# sourceMappingURL=endpoints.js.map\n","import ENDPOINTS from \"./generated/endpoints.js\";\nconst endpointMethodsMap = /* @__PURE__ */ new Map();\nfor (const [scope, endpoints] of Object.entries(ENDPOINTS)) {\n for (const [methodName, endpoint] of Object.entries(endpoints)) {\n const [route, defaults, decorations] = endpoint;\n const [method, url] = route.split(/ /);\n const endpointDefaults = Object.assign(\n {\n method,\n url\n },\n defaults\n );\n if (!endpointMethodsMap.has(scope)) {\n endpointMethodsMap.set(scope, /* @__PURE__ */ new Map());\n }\n endpointMethodsMap.get(scope).set(methodName, {\n scope,\n methodName,\n endpointDefaults,\n decorations\n });\n }\n}\nconst handler = {\n has({ scope }, methodName) {\n return endpointMethodsMap.get(scope).has(methodName);\n },\n getOwnPropertyDescriptor(target, methodName) {\n return {\n value: this.get(target, methodName),\n // ensures method is in the cache\n configurable: true,\n writable: true,\n enumerable: true\n };\n },\n defineProperty(target, methodName, descriptor) {\n Object.defineProperty(target.cache, methodName, descriptor);\n return true;\n },\n deleteProperty(target, methodName) {\n delete target.cache[methodName];\n return true;\n },\n ownKeys({ scope }) {\n return [...endpointMethodsMap.get(scope).keys()];\n },\n set(target, methodName, value) {\n return target.cache[methodName] = value;\n },\n get({ octokit, scope, cache }, methodName) {\n if (cache[methodName]) {\n return cache[methodName];\n }\n const method = endpointMethodsMap.get(scope).get(methodName);\n if (!method) {\n return void 0;\n }\n const { endpointDefaults, decorations } = method;\n if (decorations) {\n cache[methodName] = decorate(\n octokit,\n scope,\n methodName,\n endpointDefaults,\n decorations\n );\n } else {\n cache[methodName] = octokit.request.defaults(endpointDefaults);\n }\n return cache[methodName];\n }\n};\nfunction endpointsToMethods(octokit) {\n const newMethods = {};\n for (const scope of endpointMethodsMap.keys()) {\n newMethods[scope] = new Proxy({ octokit, scope, cache: {} }, handler);\n }\n return newMethods;\n}\nfunction decorate(octokit, scope, methodName, defaults, decorations) {\n const requestWithDefaults = octokit.request.defaults(defaults);\n function withDecorations(...args) {\n let options = requestWithDefaults.endpoint.merge(...args);\n if (decorations.mapToData) {\n options = Object.assign({}, options, {\n data: options[decorations.mapToData],\n [decorations.mapToData]: void 0\n });\n return requestWithDefaults(options);\n }\n if (decorations.renamed) {\n const [newScope, newMethodName] = decorations.renamed;\n octokit.log.warn(\n `octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`\n );\n }\n if (decorations.deprecated) {\n octokit.log.warn(decorations.deprecated);\n }\n if (decorations.renamedParameters) {\n const options2 = requestWithDefaults.endpoint.merge(...args);\n for (const [name, alias] of Object.entries(\n decorations.renamedParameters\n )) {\n if (name in options2) {\n octokit.log.warn(\n `\"${name}\" parameter is deprecated for \"octokit.${scope}.${methodName}()\". Use \"${alias}\" instead`\n );\n if (!(alias in options2)) {\n options2[alias] = options2[name];\n }\n delete options2[name];\n }\n }\n return requestWithDefaults(options2);\n }\n return requestWithDefaults(...args);\n }\n return Object.assign(withDecorations, requestWithDefaults);\n}\nexport {\n endpointsToMethods\n};\n//# sourceMappingURL=endpoints-to-methods.js.map\n","import { VERSION } from \"./version.js\";\nimport { endpointsToMethods } from \"./endpoints-to-methods.js\";\nfunction restEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit);\n return {\n rest: api\n };\n}\nrestEndpointMethods.VERSION = VERSION;\nfunction legacyRestEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit);\n return {\n ...api,\n rest: api\n };\n}\nlegacyRestEndpointMethods.VERSION = VERSION;\nexport {\n legacyRestEndpointMethods,\n restEndpointMethods\n};\n//# sourceMappingURL=index.js.map\n","/**\n * This file contains the Bottleneck library (MIT), compiled to ES2017, and without Clustering support.\n * https://github.com/SGrondin/bottleneck\n */\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.Bottleneck = factory());\n}(this, (function () { 'use strict';\n\n\tvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\n\tfunction getCjsExportFromNamespace (n) {\n\t\treturn n && n['default'] || n;\n\t}\n\n\tvar load = function(received, defaults, onto = {}) {\n\t var k, ref, v;\n\t for (k in defaults) {\n\t v = defaults[k];\n\t onto[k] = (ref = received[k]) != null ? ref : v;\n\t }\n\t return onto;\n\t};\n\n\tvar overwrite = function(received, defaults, onto = {}) {\n\t var k, v;\n\t for (k in received) {\n\t v = received[k];\n\t if (defaults[k] !== void 0) {\n\t onto[k] = v;\n\t }\n\t }\n\t return onto;\n\t};\n\n\tvar parser = {\n\t\tload: load,\n\t\toverwrite: overwrite\n\t};\n\n\tvar DLList;\n\n\tDLList = class DLList {\n\t constructor(incr, decr) {\n\t this.incr = incr;\n\t this.decr = decr;\n\t this._first = null;\n\t this._last = null;\n\t this.length = 0;\n\t }\n\n\t push(value) {\n\t var node;\n\t this.length++;\n\t if (typeof this.incr === \"function\") {\n\t this.incr();\n\t }\n\t node = {\n\t value,\n\t prev: this._last,\n\t next: null\n\t };\n\t if (this._last != null) {\n\t this._last.next = node;\n\t this._last = node;\n\t } else {\n\t this._first = this._last = node;\n\t }\n\t return void 0;\n\t }\n\n\t shift() {\n\t var value;\n\t if (this._first == null) {\n\t return;\n\t } else {\n\t this.length--;\n\t if (typeof this.decr === \"function\") {\n\t this.decr();\n\t }\n\t }\n\t value = this._first.value;\n\t if ((this._first = this._first.next) != null) {\n\t this._first.prev = null;\n\t } else {\n\t this._last = null;\n\t }\n\t return value;\n\t }\n\n\t first() {\n\t if (this._first != null) {\n\t return this._first.value;\n\t }\n\t }\n\n\t getArray() {\n\t var node, ref, results;\n\t node = this._first;\n\t results = [];\n\t while (node != null) {\n\t results.push((ref = node, node = node.next, ref.value));\n\t }\n\t return results;\n\t }\n\n\t forEachShift(cb) {\n\t var node;\n\t node = this.shift();\n\t while (node != null) {\n\t (cb(node), node = this.shift());\n\t }\n\t return void 0;\n\t }\n\n\t debug() {\n\t var node, ref, ref1, ref2, results;\n\t node = this._first;\n\t results = [];\n\t while (node != null) {\n\t results.push((ref = node, node = node.next, {\n\t value: ref.value,\n\t prev: (ref1 = ref.prev) != null ? ref1.value : void 0,\n\t next: (ref2 = ref.next) != null ? ref2.value : void 0\n\t }));\n\t }\n\t return results;\n\t }\n\n\t};\n\n\tvar DLList_1 = DLList;\n\n\tvar Events;\n\n\tEvents = class Events {\n\t constructor(instance) {\n\t this.instance = instance;\n\t this._events = {};\n\t if ((this.instance.on != null) || (this.instance.once != null) || (this.instance.removeAllListeners != null)) {\n\t throw new Error(\"An Emitter already exists for this object\");\n\t }\n\t this.instance.on = (name, cb) => {\n\t return this._addListener(name, \"many\", cb);\n\t };\n\t this.instance.once = (name, cb) => {\n\t return this._addListener(name, \"once\", cb);\n\t };\n\t this.instance.removeAllListeners = (name = null) => {\n\t if (name != null) {\n\t return delete this._events[name];\n\t } else {\n\t return this._events = {};\n\t }\n\t };\n\t }\n\n\t _addListener(name, status, cb) {\n\t var base;\n\t if ((base = this._events)[name] == null) {\n\t base[name] = [];\n\t }\n\t this._events[name].push({cb, status});\n\t return this.instance;\n\t }\n\n\t listenerCount(name) {\n\t if (this._events[name] != null) {\n\t return this._events[name].length;\n\t } else {\n\t return 0;\n\t }\n\t }\n\n\t async trigger(name, ...args) {\n\t var e, promises;\n\t try {\n\t if (name !== \"debug\") {\n\t this.trigger(\"debug\", `Event triggered: ${name}`, args);\n\t }\n\t if (this._events[name] == null) {\n\t return;\n\t }\n\t this._events[name] = this._events[name].filter(function(listener) {\n\t return listener.status !== \"none\";\n\t });\n\t promises = this._events[name].map(async(listener) => {\n\t var e, returned;\n\t if (listener.status === \"none\") {\n\t return;\n\t }\n\t if (listener.status === \"once\") {\n\t listener.status = \"none\";\n\t }\n\t try {\n\t returned = typeof listener.cb === \"function\" ? listener.cb(...args) : void 0;\n\t if (typeof (returned != null ? returned.then : void 0) === \"function\") {\n\t return (await returned);\n\t } else {\n\t return returned;\n\t }\n\t } catch (error) {\n\t e = error;\n\t {\n\t this.trigger(\"error\", e);\n\t }\n\t return null;\n\t }\n\t });\n\t return ((await Promise.all(promises))).find(function(x) {\n\t return x != null;\n\t });\n\t } catch (error) {\n\t e = error;\n\t {\n\t this.trigger(\"error\", e);\n\t }\n\t return null;\n\t }\n\t }\n\n\t};\n\n\tvar Events_1 = Events;\n\n\tvar DLList$1, Events$1, Queues;\n\n\tDLList$1 = DLList_1;\n\n\tEvents$1 = Events_1;\n\n\tQueues = class Queues {\n\t constructor(num_priorities) {\n\t var i;\n\t this.Events = new Events$1(this);\n\t this._length = 0;\n\t this._lists = (function() {\n\t var j, ref, results;\n\t results = [];\n\t for (i = j = 1, ref = num_priorities; (1 <= ref ? j <= ref : j >= ref); i = 1 <= ref ? ++j : --j) {\n\t results.push(new DLList$1((() => {\n\t return this.incr();\n\t }), (() => {\n\t return this.decr();\n\t })));\n\t }\n\t return results;\n\t }).call(this);\n\t }\n\n\t incr() {\n\t if (this._length++ === 0) {\n\t return this.Events.trigger(\"leftzero\");\n\t }\n\t }\n\n\t decr() {\n\t if (--this._length === 0) {\n\t return this.Events.trigger(\"zero\");\n\t }\n\t }\n\n\t push(job) {\n\t return this._lists[job.options.priority].push(job);\n\t }\n\n\t queued(priority) {\n\t if (priority != null) {\n\t return this._lists[priority].length;\n\t } else {\n\t return this._length;\n\t }\n\t }\n\n\t shiftAll(fn) {\n\t return this._lists.forEach(function(list) {\n\t return list.forEachShift(fn);\n\t });\n\t }\n\n\t getFirst(arr = this._lists) {\n\t var j, len, list;\n\t for (j = 0, len = arr.length; j < len; j++) {\n\t list = arr[j];\n\t if (list.length > 0) {\n\t return list;\n\t }\n\t }\n\t return [];\n\t }\n\n\t shiftLastFrom(priority) {\n\t return this.getFirst(this._lists.slice(priority).reverse()).shift();\n\t }\n\n\t};\n\n\tvar Queues_1 = Queues;\n\n\tvar BottleneckError;\n\n\tBottleneckError = class BottleneckError extends Error {};\n\n\tvar BottleneckError_1 = BottleneckError;\n\n\tvar BottleneckError$1, DEFAULT_PRIORITY, Job, NUM_PRIORITIES, parser$1;\n\n\tNUM_PRIORITIES = 10;\n\n\tDEFAULT_PRIORITY = 5;\n\n\tparser$1 = parser;\n\n\tBottleneckError$1 = BottleneckError_1;\n\n\tJob = class Job {\n\t constructor(task, args, options, jobDefaults, rejectOnDrop, Events, _states, Promise) {\n\t this.task = task;\n\t this.args = args;\n\t this.rejectOnDrop = rejectOnDrop;\n\t this.Events = Events;\n\t this._states = _states;\n\t this.Promise = Promise;\n\t this.options = parser$1.load(options, jobDefaults);\n\t this.options.priority = this._sanitizePriority(this.options.priority);\n\t if (this.options.id === jobDefaults.id) {\n\t this.options.id = `${this.options.id}-${this._randomIndex()}`;\n\t }\n\t this.promise = new this.Promise((_resolve, _reject) => {\n\t this._resolve = _resolve;\n\t this._reject = _reject;\n\t });\n\t this.retryCount = 0;\n\t }\n\n\t _sanitizePriority(priority) {\n\t var sProperty;\n\t sProperty = ~~priority !== priority ? DEFAULT_PRIORITY : priority;\n\t if (sProperty < 0) {\n\t return 0;\n\t } else if (sProperty > NUM_PRIORITIES - 1) {\n\t return NUM_PRIORITIES - 1;\n\t } else {\n\t return sProperty;\n\t }\n\t }\n\n\t _randomIndex() {\n\t return Math.random().toString(36).slice(2);\n\t }\n\n\t doDrop({error, message = \"This job has been dropped by Bottleneck\"} = {}) {\n\t if (this._states.remove(this.options.id)) {\n\t if (this.rejectOnDrop) {\n\t this._reject(error != null ? error : new BottleneckError$1(message));\n\t }\n\t this.Events.trigger(\"dropped\", {args: this.args, options: this.options, task: this.task, promise: this.promise});\n\t return true;\n\t } else {\n\t return false;\n\t }\n\t }\n\n\t _assertStatus(expected) {\n\t var status;\n\t status = this._states.jobStatus(this.options.id);\n\t if (!(status === expected || (expected === \"DONE\" && status === null))) {\n\t throw new BottleneckError$1(`Invalid job status ${status}, expected ${expected}. Please open an issue at https://github.com/SGrondin/bottleneck/issues`);\n\t }\n\t }\n\n\t doReceive() {\n\t this._states.start(this.options.id);\n\t return this.Events.trigger(\"received\", {args: this.args, options: this.options});\n\t }\n\n\t doQueue(reachedHWM, blocked) {\n\t this._assertStatus(\"RECEIVED\");\n\t this._states.next(this.options.id);\n\t return this.Events.trigger(\"queued\", {args: this.args, options: this.options, reachedHWM, blocked});\n\t }\n\n\t doRun() {\n\t if (this.retryCount === 0) {\n\t this._assertStatus(\"QUEUED\");\n\t this._states.next(this.options.id);\n\t } else {\n\t this._assertStatus(\"EXECUTING\");\n\t }\n\t return this.Events.trigger(\"scheduled\", {args: this.args, options: this.options});\n\t }\n\n\t async doExecute(chained, clearGlobalState, run, free) {\n\t var error, eventInfo, passed;\n\t if (this.retryCount === 0) {\n\t this._assertStatus(\"RUNNING\");\n\t this._states.next(this.options.id);\n\t } else {\n\t this._assertStatus(\"EXECUTING\");\n\t }\n\t eventInfo = {args: this.args, options: this.options, retryCount: this.retryCount};\n\t this.Events.trigger(\"executing\", eventInfo);\n\t try {\n\t passed = (await (chained != null ? chained.schedule(this.options, this.task, ...this.args) : this.task(...this.args)));\n\t if (clearGlobalState()) {\n\t this.doDone(eventInfo);\n\t await free(this.options, eventInfo);\n\t this._assertStatus(\"DONE\");\n\t return this._resolve(passed);\n\t }\n\t } catch (error1) {\n\t error = error1;\n\t return this._onFailure(error, eventInfo, clearGlobalState, run, free);\n\t }\n\t }\n\n\t doExpire(clearGlobalState, run, free) {\n\t var error, eventInfo;\n\t if (this._states.jobStatus(this.options.id === \"RUNNING\")) {\n\t this._states.next(this.options.id);\n\t }\n\t this._assertStatus(\"EXECUTING\");\n\t eventInfo = {args: this.args, options: this.options, retryCount: this.retryCount};\n\t error = new BottleneckError$1(`This job timed out after ${this.options.expiration} ms.`);\n\t return this._onFailure(error, eventInfo, clearGlobalState, run, free);\n\t }\n\n\t async _onFailure(error, eventInfo, clearGlobalState, run, free) {\n\t var retry, retryAfter;\n\t if (clearGlobalState()) {\n\t retry = (await this.Events.trigger(\"failed\", error, eventInfo));\n\t if (retry != null) {\n\t retryAfter = ~~retry;\n\t this.Events.trigger(\"retry\", `Retrying ${this.options.id} after ${retryAfter} ms`, eventInfo);\n\t this.retryCount++;\n\t return run(retryAfter);\n\t } else {\n\t this.doDone(eventInfo);\n\t await free(this.options, eventInfo);\n\t this._assertStatus(\"DONE\");\n\t return this._reject(error);\n\t }\n\t }\n\t }\n\n\t doDone(eventInfo) {\n\t this._assertStatus(\"EXECUTING\");\n\t this._states.next(this.options.id);\n\t return this.Events.trigger(\"done\", eventInfo);\n\t }\n\n\t};\n\n\tvar Job_1 = Job;\n\n\tvar BottleneckError$2, LocalDatastore, parser$2;\n\n\tparser$2 = parser;\n\n\tBottleneckError$2 = BottleneckError_1;\n\n\tLocalDatastore = class LocalDatastore {\n\t constructor(instance, storeOptions, storeInstanceOptions) {\n\t this.instance = instance;\n\t this.storeOptions = storeOptions;\n\t this.clientId = this.instance._randomIndex();\n\t parser$2.load(storeInstanceOptions, storeInstanceOptions, this);\n\t this._nextRequest = this._lastReservoirRefresh = this._lastReservoirIncrease = Date.now();\n\t this._running = 0;\n\t this._done = 0;\n\t this._unblockTime = 0;\n\t this.ready = this.Promise.resolve();\n\t this.clients = {};\n\t this._startHeartbeat();\n\t }\n\n\t _startHeartbeat() {\n\t var base;\n\t if ((this.heartbeat == null) && (((this.storeOptions.reservoirRefreshInterval != null) && (this.storeOptions.reservoirRefreshAmount != null)) || ((this.storeOptions.reservoirIncreaseInterval != null) && (this.storeOptions.reservoirIncreaseAmount != null)))) {\n\t return typeof (base = (this.heartbeat = setInterval(() => {\n\t var amount, incr, maximum, now, reservoir;\n\t now = Date.now();\n\t if ((this.storeOptions.reservoirRefreshInterval != null) && now >= this._lastReservoirRefresh + this.storeOptions.reservoirRefreshInterval) {\n\t this._lastReservoirRefresh = now;\n\t this.storeOptions.reservoir = this.storeOptions.reservoirRefreshAmount;\n\t this.instance._drainAll(this.computeCapacity());\n\t }\n\t if ((this.storeOptions.reservoirIncreaseInterval != null) && now >= this._lastReservoirIncrease + this.storeOptions.reservoirIncreaseInterval) {\n\t ({\n\t reservoirIncreaseAmount: amount,\n\t reservoirIncreaseMaximum: maximum,\n\t reservoir\n\t } = this.storeOptions);\n\t this._lastReservoirIncrease = now;\n\t incr = maximum != null ? Math.min(amount, maximum - reservoir) : amount;\n\t if (incr > 0) {\n\t this.storeOptions.reservoir += incr;\n\t return this.instance._drainAll(this.computeCapacity());\n\t }\n\t }\n\t }, this.heartbeatInterval))).unref === \"function\" ? base.unref() : void 0;\n\t } else {\n\t return clearInterval(this.heartbeat);\n\t }\n\t }\n\n\t async __publish__(message) {\n\t await this.yieldLoop();\n\t return this.instance.Events.trigger(\"message\", message.toString());\n\t }\n\n\t async __disconnect__(flush) {\n\t await this.yieldLoop();\n\t clearInterval(this.heartbeat);\n\t return this.Promise.resolve();\n\t }\n\n\t yieldLoop(t = 0) {\n\t return new this.Promise(function(resolve, reject) {\n\t return setTimeout(resolve, t);\n\t });\n\t }\n\n\t computePenalty() {\n\t var ref;\n\t return (ref = this.storeOptions.penalty) != null ? ref : (15 * this.storeOptions.minTime) || 5000;\n\t }\n\n\t async __updateSettings__(options) {\n\t await this.yieldLoop();\n\t parser$2.overwrite(options, options, this.storeOptions);\n\t this._startHeartbeat();\n\t this.instance._drainAll(this.computeCapacity());\n\t return true;\n\t }\n\n\t async __running__() {\n\t await this.yieldLoop();\n\t return this._running;\n\t }\n\n\t async __queued__() {\n\t await this.yieldLoop();\n\t return this.instance.queued();\n\t }\n\n\t async __done__() {\n\t await this.yieldLoop();\n\t return this._done;\n\t }\n\n\t async __groupCheck__(time) {\n\t await this.yieldLoop();\n\t return (this._nextRequest + this.timeout) < time;\n\t }\n\n\t computeCapacity() {\n\t var maxConcurrent, reservoir;\n\t ({maxConcurrent, reservoir} = this.storeOptions);\n\t if ((maxConcurrent != null) && (reservoir != null)) {\n\t return Math.min(maxConcurrent - this._running, reservoir);\n\t } else if (maxConcurrent != null) {\n\t return maxConcurrent - this._running;\n\t } else if (reservoir != null) {\n\t return reservoir;\n\t } else {\n\t return null;\n\t }\n\t }\n\n\t conditionsCheck(weight) {\n\t var capacity;\n\t capacity = this.computeCapacity();\n\t return (capacity == null) || weight <= capacity;\n\t }\n\n\t async __incrementReservoir__(incr) {\n\t var reservoir;\n\t await this.yieldLoop();\n\t reservoir = this.storeOptions.reservoir += incr;\n\t this.instance._drainAll(this.computeCapacity());\n\t return reservoir;\n\t }\n\n\t async __currentReservoir__() {\n\t await this.yieldLoop();\n\t return this.storeOptions.reservoir;\n\t }\n\n\t isBlocked(now) {\n\t return this._unblockTime >= now;\n\t }\n\n\t check(weight, now) {\n\t return this.conditionsCheck(weight) && (this._nextRequest - now) <= 0;\n\t }\n\n\t async __check__(weight) {\n\t var now;\n\t await this.yieldLoop();\n\t now = Date.now();\n\t return this.check(weight, now);\n\t }\n\n\t async __register__(index, weight, expiration) {\n\t var now, wait;\n\t await this.yieldLoop();\n\t now = Date.now();\n\t if (this.conditionsCheck(weight)) {\n\t this._running += weight;\n\t if (this.storeOptions.reservoir != null) {\n\t this.storeOptions.reservoir -= weight;\n\t }\n\t wait = Math.max(this._nextRequest - now, 0);\n\t this._nextRequest = now + wait + this.storeOptions.minTime;\n\t return {\n\t success: true,\n\t wait,\n\t reservoir: this.storeOptions.reservoir\n\t };\n\t } else {\n\t return {\n\t success: false\n\t };\n\t }\n\t }\n\n\t strategyIsBlock() {\n\t return this.storeOptions.strategy === 3;\n\t }\n\n\t async __submit__(queueLength, weight) {\n\t var blocked, now, reachedHWM;\n\t await this.yieldLoop();\n\t if ((this.storeOptions.maxConcurrent != null) && weight > this.storeOptions.maxConcurrent) {\n\t throw new BottleneckError$2(`Impossible to add a job having a weight of ${weight} to a limiter having a maxConcurrent setting of ${this.storeOptions.maxConcurrent}`);\n\t }\n\t now = Date.now();\n\t reachedHWM = (this.storeOptions.highWater != null) && queueLength === this.storeOptions.highWater && !this.check(weight, now);\n\t blocked = this.strategyIsBlock() && (reachedHWM || this.isBlocked(now));\n\t if (blocked) {\n\t this._unblockTime = now + this.computePenalty();\n\t this._nextRequest = this._unblockTime + this.storeOptions.minTime;\n\t this.instance._dropAllQueued();\n\t }\n\t return {\n\t reachedHWM,\n\t blocked,\n\t strategy: this.storeOptions.strategy\n\t };\n\t }\n\n\t async __free__(index, weight) {\n\t await this.yieldLoop();\n\t this._running -= weight;\n\t this._done += weight;\n\t this.instance._drainAll(this.computeCapacity());\n\t return {\n\t running: this._running\n\t };\n\t }\n\n\t};\n\n\tvar LocalDatastore_1 = LocalDatastore;\n\n\tvar BottleneckError$3, States;\n\n\tBottleneckError$3 = BottleneckError_1;\n\n\tStates = class States {\n\t constructor(status1) {\n\t this.status = status1;\n\t this._jobs = {};\n\t this.counts = this.status.map(function() {\n\t return 0;\n\t });\n\t }\n\n\t next(id) {\n\t var current, next;\n\t current = this._jobs[id];\n\t next = current + 1;\n\t if ((current != null) && next < this.status.length) {\n\t this.counts[current]--;\n\t this.counts[next]++;\n\t return this._jobs[id]++;\n\t } else if (current != null) {\n\t this.counts[current]--;\n\t return delete this._jobs[id];\n\t }\n\t }\n\n\t start(id) {\n\t var initial;\n\t initial = 0;\n\t this._jobs[id] = initial;\n\t return this.counts[initial]++;\n\t }\n\n\t remove(id) {\n\t var current;\n\t current = this._jobs[id];\n\t if (current != null) {\n\t this.counts[current]--;\n\t delete this._jobs[id];\n\t }\n\t return current != null;\n\t }\n\n\t jobStatus(id) {\n\t var ref;\n\t return (ref = this.status[this._jobs[id]]) != null ? ref : null;\n\t }\n\n\t statusJobs(status) {\n\t var k, pos, ref, results, v;\n\t if (status != null) {\n\t pos = this.status.indexOf(status);\n\t if (pos < 0) {\n\t throw new BottleneckError$3(`status must be one of ${this.status.join(', ')}`);\n\t }\n\t ref = this._jobs;\n\t results = [];\n\t for (k in ref) {\n\t v = ref[k];\n\t if (v === pos) {\n\t results.push(k);\n\t }\n\t }\n\t return results;\n\t } else {\n\t return Object.keys(this._jobs);\n\t }\n\t }\n\n\t statusCounts() {\n\t return this.counts.reduce(((acc, v, i) => {\n\t acc[this.status[i]] = v;\n\t return acc;\n\t }), {});\n\t }\n\n\t};\n\n\tvar States_1 = States;\n\n\tvar DLList$2, Sync;\n\n\tDLList$2 = DLList_1;\n\n\tSync = class Sync {\n\t constructor(name, Promise) {\n\t this.schedule = this.schedule.bind(this);\n\t this.name = name;\n\t this.Promise = Promise;\n\t this._running = 0;\n\t this._queue = new DLList$2();\n\t }\n\n\t isEmpty() {\n\t return this._queue.length === 0;\n\t }\n\n\t async _tryToRun() {\n\t var args, cb, error, reject, resolve, returned, task;\n\t if ((this._running < 1) && this._queue.length > 0) {\n\t this._running++;\n\t ({task, args, resolve, reject} = this._queue.shift());\n\t cb = (await (async function() {\n\t try {\n\t returned = (await task(...args));\n\t return function() {\n\t return resolve(returned);\n\t };\n\t } catch (error1) {\n\t error = error1;\n\t return function() {\n\t return reject(error);\n\t };\n\t }\n\t })());\n\t this._running--;\n\t this._tryToRun();\n\t return cb();\n\t }\n\t }\n\n\t schedule(task, ...args) {\n\t var promise, reject, resolve;\n\t resolve = reject = null;\n\t promise = new this.Promise(function(_resolve, _reject) {\n\t resolve = _resolve;\n\t return reject = _reject;\n\t });\n\t this._queue.push({task, args, resolve, reject});\n\t this._tryToRun();\n\t return promise;\n\t }\n\n\t};\n\n\tvar Sync_1 = Sync;\n\n\tvar version = \"2.19.5\";\n\tvar version$1 = {\n\t\tversion: version\n\t};\n\n\tvar version$2 = /*#__PURE__*/Object.freeze({\n\t\tversion: version,\n\t\tdefault: version$1\n\t});\n\n\tvar require$$2 = () => console.log('You must import the full version of Bottleneck in order to use this feature.');\n\n\tvar require$$3 = () => console.log('You must import the full version of Bottleneck in order to use this feature.');\n\n\tvar require$$4 = () => console.log('You must import the full version of Bottleneck in order to use this feature.');\n\n\tvar Events$2, Group, IORedisConnection$1, RedisConnection$1, Scripts$1, parser$3;\n\n\tparser$3 = parser;\n\n\tEvents$2 = Events_1;\n\n\tRedisConnection$1 = require$$2;\n\n\tIORedisConnection$1 = require$$3;\n\n\tScripts$1 = require$$4;\n\n\tGroup = (function() {\n\t class Group {\n\t constructor(limiterOptions = {}) {\n\t this.deleteKey = this.deleteKey.bind(this);\n\t this.limiterOptions = limiterOptions;\n\t parser$3.load(this.limiterOptions, this.defaults, this);\n\t this.Events = new Events$2(this);\n\t this.instances = {};\n\t this.Bottleneck = Bottleneck_1;\n\t this._startAutoCleanup();\n\t this.sharedConnection = this.connection != null;\n\t if (this.connection == null) {\n\t if (this.limiterOptions.datastore === \"redis\") {\n\t this.connection = new RedisConnection$1(Object.assign({}, this.limiterOptions, {Events: this.Events}));\n\t } else if (this.limiterOptions.datastore === \"ioredis\") {\n\t this.connection = new IORedisConnection$1(Object.assign({}, this.limiterOptions, {Events: this.Events}));\n\t }\n\t }\n\t }\n\n\t key(key = \"\") {\n\t var ref;\n\t return (ref = this.instances[key]) != null ? ref : (() => {\n\t var limiter;\n\t limiter = this.instances[key] = new this.Bottleneck(Object.assign(this.limiterOptions, {\n\t id: `${this.id}-${key}`,\n\t timeout: this.timeout,\n\t connection: this.connection\n\t }));\n\t this.Events.trigger(\"created\", limiter, key);\n\t return limiter;\n\t })();\n\t }\n\n\t async deleteKey(key = \"\") {\n\t var deleted, instance;\n\t instance = this.instances[key];\n\t if (this.connection) {\n\t deleted = (await this.connection.__runCommand__(['del', ...Scripts$1.allKeys(`${this.id}-${key}`)]));\n\t }\n\t if (instance != null) {\n\t delete this.instances[key];\n\t await instance.disconnect();\n\t }\n\t return (instance != null) || deleted > 0;\n\t }\n\n\t limiters() {\n\t var k, ref, results, v;\n\t ref = this.instances;\n\t results = [];\n\t for (k in ref) {\n\t v = ref[k];\n\t results.push({\n\t key: k,\n\t limiter: v\n\t });\n\t }\n\t return results;\n\t }\n\n\t keys() {\n\t return Object.keys(this.instances);\n\t }\n\n\t async clusterKeys() {\n\t var cursor, end, found, i, k, keys, len, next, start;\n\t if (this.connection == null) {\n\t return this.Promise.resolve(this.keys());\n\t }\n\t keys = [];\n\t cursor = null;\n\t start = `b_${this.id}-`.length;\n\t end = \"_settings\".length;\n\t while (cursor !== 0) {\n\t [next, found] = (await this.connection.__runCommand__([\"scan\", cursor != null ? cursor : 0, \"match\", `b_${this.id}-*_settings`, \"count\", 10000]));\n\t cursor = ~~next;\n\t for (i = 0, len = found.length; i < len; i++) {\n\t k = found[i];\n\t keys.push(k.slice(start, -end));\n\t }\n\t }\n\t return keys;\n\t }\n\n\t _startAutoCleanup() {\n\t var base;\n\t clearInterval(this.interval);\n\t return typeof (base = (this.interval = setInterval(async() => {\n\t var e, k, ref, results, time, v;\n\t time = Date.now();\n\t ref = this.instances;\n\t results = [];\n\t for (k in ref) {\n\t v = ref[k];\n\t try {\n\t if ((await v._store.__groupCheck__(time))) {\n\t results.push(this.deleteKey(k));\n\t } else {\n\t results.push(void 0);\n\t }\n\t } catch (error) {\n\t e = error;\n\t results.push(v.Events.trigger(\"error\", e));\n\t }\n\t }\n\t return results;\n\t }, this.timeout / 2))).unref === \"function\" ? base.unref() : void 0;\n\t }\n\n\t updateSettings(options = {}) {\n\t parser$3.overwrite(options, this.defaults, this);\n\t parser$3.overwrite(options, options, this.limiterOptions);\n\t if (options.timeout != null) {\n\t return this._startAutoCleanup();\n\t }\n\t }\n\n\t disconnect(flush = true) {\n\t var ref;\n\t if (!this.sharedConnection) {\n\t return (ref = this.connection) != null ? ref.disconnect(flush) : void 0;\n\t }\n\t }\n\n\t }\n\t Group.prototype.defaults = {\n\t timeout: 1000 * 60 * 5,\n\t connection: null,\n\t Promise: Promise,\n\t id: \"group-key\"\n\t };\n\n\t return Group;\n\n\t}).call(commonjsGlobal);\n\n\tvar Group_1 = Group;\n\n\tvar Batcher, Events$3, parser$4;\n\n\tparser$4 = parser;\n\n\tEvents$3 = Events_1;\n\n\tBatcher = (function() {\n\t class Batcher {\n\t constructor(options = {}) {\n\t this.options = options;\n\t parser$4.load(this.options, this.defaults, this);\n\t this.Events = new Events$3(this);\n\t this._arr = [];\n\t this._resetPromise();\n\t this._lastFlush = Date.now();\n\t }\n\n\t _resetPromise() {\n\t return this._promise = new this.Promise((res, rej) => {\n\t return this._resolve = res;\n\t });\n\t }\n\n\t _flush() {\n\t clearTimeout(this._timeout);\n\t this._lastFlush = Date.now();\n\t this._resolve();\n\t this.Events.trigger(\"batch\", this._arr);\n\t this._arr = [];\n\t return this._resetPromise();\n\t }\n\n\t add(data) {\n\t var ret;\n\t this._arr.push(data);\n\t ret = this._promise;\n\t if (this._arr.length === this.maxSize) {\n\t this._flush();\n\t } else if ((this.maxTime != null) && this._arr.length === 1) {\n\t this._timeout = setTimeout(() => {\n\t return this._flush();\n\t }, this.maxTime);\n\t }\n\t return ret;\n\t }\n\n\t }\n\t Batcher.prototype.defaults = {\n\t maxTime: null,\n\t maxSize: null,\n\t Promise: Promise\n\t };\n\n\t return Batcher;\n\n\t}).call(commonjsGlobal);\n\n\tvar Batcher_1 = Batcher;\n\n\tvar require$$4$1 = () => console.log('You must import the full version of Bottleneck in order to use this feature.');\n\n\tvar require$$8 = getCjsExportFromNamespace(version$2);\n\n\tvar Bottleneck, DEFAULT_PRIORITY$1, Events$4, Job$1, LocalDatastore$1, NUM_PRIORITIES$1, Queues$1, RedisDatastore$1, States$1, Sync$1, parser$5,\n\t splice = [].splice;\n\n\tNUM_PRIORITIES$1 = 10;\n\n\tDEFAULT_PRIORITY$1 = 5;\n\n\tparser$5 = parser;\n\n\tQueues$1 = Queues_1;\n\n\tJob$1 = Job_1;\n\n\tLocalDatastore$1 = LocalDatastore_1;\n\n\tRedisDatastore$1 = require$$4$1;\n\n\tEvents$4 = Events_1;\n\n\tStates$1 = States_1;\n\n\tSync$1 = Sync_1;\n\n\tBottleneck = (function() {\n\t class Bottleneck {\n\t constructor(options = {}, ...invalid) {\n\t var storeInstanceOptions, storeOptions;\n\t this._addToQueue = this._addToQueue.bind(this);\n\t this._validateOptions(options, invalid);\n\t parser$5.load(options, this.instanceDefaults, this);\n\t this._queues = new Queues$1(NUM_PRIORITIES$1);\n\t this._scheduled = {};\n\t this._states = new States$1([\"RECEIVED\", \"QUEUED\", \"RUNNING\", \"EXECUTING\"].concat(this.trackDoneStatus ? [\"DONE\"] : []));\n\t this._limiter = null;\n\t this.Events = new Events$4(this);\n\t this._submitLock = new Sync$1(\"submit\", this.Promise);\n\t this._registerLock = new Sync$1(\"register\", this.Promise);\n\t storeOptions = parser$5.load(options, this.storeDefaults, {});\n\t this._store = (function() {\n\t if (this.datastore === \"redis\" || this.datastore === \"ioredis\" || (this.connection != null)) {\n\t storeInstanceOptions = parser$5.load(options, this.redisStoreDefaults, {});\n\t return new RedisDatastore$1(this, storeOptions, storeInstanceOptions);\n\t } else if (this.datastore === \"local\") {\n\t storeInstanceOptions = parser$5.load(options, this.localStoreDefaults, {});\n\t return new LocalDatastore$1(this, storeOptions, storeInstanceOptions);\n\t } else {\n\t throw new Bottleneck.prototype.BottleneckError(`Invalid datastore type: ${this.datastore}`);\n\t }\n\t }).call(this);\n\t this._queues.on(\"leftzero\", () => {\n\t var ref;\n\t return (ref = this._store.heartbeat) != null ? typeof ref.ref === \"function\" ? ref.ref() : void 0 : void 0;\n\t });\n\t this._queues.on(\"zero\", () => {\n\t var ref;\n\t return (ref = this._store.heartbeat) != null ? typeof ref.unref === \"function\" ? ref.unref() : void 0 : void 0;\n\t });\n\t }\n\n\t _validateOptions(options, invalid) {\n\t if (!((options != null) && typeof options === \"object\" && invalid.length === 0)) {\n\t throw new Bottleneck.prototype.BottleneckError(\"Bottleneck v2 takes a single object argument. Refer to https://github.com/SGrondin/bottleneck#upgrading-to-v2 if you're upgrading from Bottleneck v1.\");\n\t }\n\t }\n\n\t ready() {\n\t return this._store.ready;\n\t }\n\n\t clients() {\n\t return this._store.clients;\n\t }\n\n\t channel() {\n\t return `b_${this.id}`;\n\t }\n\n\t channel_client() {\n\t return `b_${this.id}_${this._store.clientId}`;\n\t }\n\n\t publish(message) {\n\t return this._store.__publish__(message);\n\t }\n\n\t disconnect(flush = true) {\n\t return this._store.__disconnect__(flush);\n\t }\n\n\t chain(_limiter) {\n\t this._limiter = _limiter;\n\t return this;\n\t }\n\n\t queued(priority) {\n\t return this._queues.queued(priority);\n\t }\n\n\t clusterQueued() {\n\t return this._store.__queued__();\n\t }\n\n\t empty() {\n\t return this.queued() === 0 && this._submitLock.isEmpty();\n\t }\n\n\t running() {\n\t return this._store.__running__();\n\t }\n\n\t done() {\n\t return this._store.__done__();\n\t }\n\n\t jobStatus(id) {\n\t return this._states.jobStatus(id);\n\t }\n\n\t jobs(status) {\n\t return this._states.statusJobs(status);\n\t }\n\n\t counts() {\n\t return this._states.statusCounts();\n\t }\n\n\t _randomIndex() {\n\t return Math.random().toString(36).slice(2);\n\t }\n\n\t check(weight = 1) {\n\t return this._store.__check__(weight);\n\t }\n\n\t _clearGlobalState(index) {\n\t if (this._scheduled[index] != null) {\n\t clearTimeout(this._scheduled[index].expiration);\n\t delete this._scheduled[index];\n\t return true;\n\t } else {\n\t return false;\n\t }\n\t }\n\n\t async _free(index, job, options, eventInfo) {\n\t var e, running;\n\t try {\n\t ({running} = (await this._store.__free__(index, options.weight)));\n\t this.Events.trigger(\"debug\", `Freed ${options.id}`, eventInfo);\n\t if (running === 0 && this.empty()) {\n\t return this.Events.trigger(\"idle\");\n\t }\n\t } catch (error1) {\n\t e = error1;\n\t return this.Events.trigger(\"error\", e);\n\t }\n\t }\n\n\t _run(index, job, wait) {\n\t var clearGlobalState, free, run;\n\t job.doRun();\n\t clearGlobalState = this._clearGlobalState.bind(this, index);\n\t run = this._run.bind(this, index, job);\n\t free = this._free.bind(this, index, job);\n\t return this._scheduled[index] = {\n\t timeout: setTimeout(() => {\n\t return job.doExecute(this._limiter, clearGlobalState, run, free);\n\t }, wait),\n\t expiration: job.options.expiration != null ? setTimeout(function() {\n\t return job.doExpire(clearGlobalState, run, free);\n\t }, wait + job.options.expiration) : void 0,\n\t job: job\n\t };\n\t }\n\n\t _drainOne(capacity) {\n\t return this._registerLock.schedule(() => {\n\t var args, index, next, options, queue;\n\t if (this.queued() === 0) {\n\t return this.Promise.resolve(null);\n\t }\n\t queue = this._queues.getFirst();\n\t ({options, args} = next = queue.first());\n\t if ((capacity != null) && options.weight > capacity) {\n\t return this.Promise.resolve(null);\n\t }\n\t this.Events.trigger(\"debug\", `Draining ${options.id}`, {args, options});\n\t index = this._randomIndex();\n\t return this._store.__register__(index, options.weight, options.expiration).then(({success, wait, reservoir}) => {\n\t var empty;\n\t this.Events.trigger(\"debug\", `Drained ${options.id}`, {success, args, options});\n\t if (success) {\n\t queue.shift();\n\t empty = this.empty();\n\t if (empty) {\n\t this.Events.trigger(\"empty\");\n\t }\n\t if (reservoir === 0) {\n\t this.Events.trigger(\"depleted\", empty);\n\t }\n\t this._run(index, next, wait);\n\t return this.Promise.resolve(options.weight);\n\t } else {\n\t return this.Promise.resolve(null);\n\t }\n\t });\n\t });\n\t }\n\n\t _drainAll(capacity, total = 0) {\n\t return this._drainOne(capacity).then((drained) => {\n\t var newCapacity;\n\t if (drained != null) {\n\t newCapacity = capacity != null ? capacity - drained : capacity;\n\t return this._drainAll(newCapacity, total + drained);\n\t } else {\n\t return this.Promise.resolve(total);\n\t }\n\t }).catch((e) => {\n\t return this.Events.trigger(\"error\", e);\n\t });\n\t }\n\n\t _dropAllQueued(message) {\n\t return this._queues.shiftAll(function(job) {\n\t return job.doDrop({message});\n\t });\n\t }\n\n\t stop(options = {}) {\n\t var done, waitForExecuting;\n\t options = parser$5.load(options, this.stopDefaults);\n\t waitForExecuting = (at) => {\n\t var finished;\n\t finished = () => {\n\t var counts;\n\t counts = this._states.counts;\n\t return (counts[0] + counts[1] + counts[2] + counts[3]) === at;\n\t };\n\t return new this.Promise((resolve, reject) => {\n\t if (finished()) {\n\t return resolve();\n\t } else {\n\t return this.on(\"done\", () => {\n\t if (finished()) {\n\t this.removeAllListeners(\"done\");\n\t return resolve();\n\t }\n\t });\n\t }\n\t });\n\t };\n\t done = options.dropWaitingJobs ? (this._run = function(index, next) {\n\t return next.doDrop({\n\t message: options.dropErrorMessage\n\t });\n\t }, this._drainOne = () => {\n\t return this.Promise.resolve(null);\n\t }, this._registerLock.schedule(() => {\n\t return this._submitLock.schedule(() => {\n\t var k, ref, v;\n\t ref = this._scheduled;\n\t for (k in ref) {\n\t v = ref[k];\n\t if (this.jobStatus(v.job.options.id) === \"RUNNING\") {\n\t clearTimeout(v.timeout);\n\t clearTimeout(v.expiration);\n\t v.job.doDrop({\n\t message: options.dropErrorMessage\n\t });\n\t }\n\t }\n\t this._dropAllQueued(options.dropErrorMessage);\n\t return waitForExecuting(0);\n\t });\n\t })) : this.schedule({\n\t priority: NUM_PRIORITIES$1 - 1,\n\t weight: 0\n\t }, () => {\n\t return waitForExecuting(1);\n\t });\n\t this._receive = function(job) {\n\t return job._reject(new Bottleneck.prototype.BottleneckError(options.enqueueErrorMessage));\n\t };\n\t this.stop = () => {\n\t return this.Promise.reject(new Bottleneck.prototype.BottleneckError(\"stop() has already been called\"));\n\t };\n\t return done;\n\t }\n\n\t async _addToQueue(job) {\n\t var args, blocked, error, options, reachedHWM, shifted, strategy;\n\t ({args, options} = job);\n\t try {\n\t ({reachedHWM, blocked, strategy} = (await this._store.__submit__(this.queued(), options.weight)));\n\t } catch (error1) {\n\t error = error1;\n\t this.Events.trigger(\"debug\", `Could not queue ${options.id}`, {args, options, error});\n\t job.doDrop({error});\n\t return false;\n\t }\n\t if (blocked) {\n\t job.doDrop();\n\t return true;\n\t } else if (reachedHWM) {\n\t shifted = strategy === Bottleneck.prototype.strategy.LEAK ? this._queues.shiftLastFrom(options.priority) : strategy === Bottleneck.prototype.strategy.OVERFLOW_PRIORITY ? this._queues.shiftLastFrom(options.priority + 1) : strategy === Bottleneck.prototype.strategy.OVERFLOW ? job : void 0;\n\t if (shifted != null) {\n\t shifted.doDrop();\n\t }\n\t if ((shifted == null) || strategy === Bottleneck.prototype.strategy.OVERFLOW) {\n\t if (shifted == null) {\n\t job.doDrop();\n\t }\n\t return reachedHWM;\n\t }\n\t }\n\t job.doQueue(reachedHWM, blocked);\n\t this._queues.push(job);\n\t await this._drainAll();\n\t return reachedHWM;\n\t }\n\n\t _receive(job) {\n\t if (this._states.jobStatus(job.options.id) != null) {\n\t job._reject(new Bottleneck.prototype.BottleneckError(`A job with the same id already exists (id=${job.options.id})`));\n\t return false;\n\t } else {\n\t job.doReceive();\n\t return this._submitLock.schedule(this._addToQueue, job);\n\t }\n\t }\n\n\t submit(...args) {\n\t var cb, fn, job, options, ref, ref1, task;\n\t if (typeof args[0] === \"function\") {\n\t ref = args, [fn, ...args] = ref, [cb] = splice.call(args, -1);\n\t options = parser$5.load({}, this.jobDefaults);\n\t } else {\n\t ref1 = args, [options, fn, ...args] = ref1, [cb] = splice.call(args, -1);\n\t options = parser$5.load(options, this.jobDefaults);\n\t }\n\t task = (...args) => {\n\t return new this.Promise(function(resolve, reject) {\n\t return fn(...args, function(...args) {\n\t return (args[0] != null ? reject : resolve)(args);\n\t });\n\t });\n\t };\n\t job = new Job$1(task, args, options, this.jobDefaults, this.rejectOnDrop, this.Events, this._states, this.Promise);\n\t job.promise.then(function(args) {\n\t return typeof cb === \"function\" ? cb(...args) : void 0;\n\t }).catch(function(args) {\n\t if (Array.isArray(args)) {\n\t return typeof cb === \"function\" ? cb(...args) : void 0;\n\t } else {\n\t return typeof cb === \"function\" ? cb(args) : void 0;\n\t }\n\t });\n\t return this._receive(job);\n\t }\n\n\t schedule(...args) {\n\t var job, options, task;\n\t if (typeof args[0] === \"function\") {\n\t [task, ...args] = args;\n\t options = {};\n\t } else {\n\t [options, task, ...args] = args;\n\t }\n\t job = new Job$1(task, args, options, this.jobDefaults, this.rejectOnDrop, this.Events, this._states, this.Promise);\n\t this._receive(job);\n\t return job.promise;\n\t }\n\n\t wrap(fn) {\n\t var schedule, wrapped;\n\t schedule = this.schedule.bind(this);\n\t wrapped = function(...args) {\n\t return schedule(fn.bind(this), ...args);\n\t };\n\t wrapped.withOptions = function(options, ...args) {\n\t return schedule(options, fn, ...args);\n\t };\n\t return wrapped;\n\t }\n\n\t async updateSettings(options = {}) {\n\t await this._store.__updateSettings__(parser$5.overwrite(options, this.storeDefaults));\n\t parser$5.overwrite(options, this.instanceDefaults, this);\n\t return this;\n\t }\n\n\t currentReservoir() {\n\t return this._store.__currentReservoir__();\n\t }\n\n\t incrementReservoir(incr = 0) {\n\t return this._store.__incrementReservoir__(incr);\n\t }\n\n\t }\n\t Bottleneck.default = Bottleneck;\n\n\t Bottleneck.Events = Events$4;\n\n\t Bottleneck.version = Bottleneck.prototype.version = require$$8.version;\n\n\t Bottleneck.strategy = Bottleneck.prototype.strategy = {\n\t LEAK: 1,\n\t OVERFLOW: 2,\n\t OVERFLOW_PRIORITY: 4,\n\t BLOCK: 3\n\t };\n\n\t Bottleneck.BottleneckError = Bottleneck.prototype.BottleneckError = BottleneckError_1;\n\n\t Bottleneck.Group = Bottleneck.prototype.Group = Group_1;\n\n\t Bottleneck.RedisConnection = Bottleneck.prototype.RedisConnection = require$$2;\n\n\t Bottleneck.IORedisConnection = Bottleneck.prototype.IORedisConnection = require$$3;\n\n\t Bottleneck.Batcher = Bottleneck.prototype.Batcher = Batcher_1;\n\n\t Bottleneck.prototype.jobDefaults = {\n\t priority: DEFAULT_PRIORITY$1,\n\t weight: 1,\n\t expiration: null,\n\t id: \"\"\n\t };\n\n\t Bottleneck.prototype.storeDefaults = {\n\t maxConcurrent: null,\n\t minTime: 0,\n\t highWater: null,\n\t strategy: Bottleneck.prototype.strategy.LEAK,\n\t penalty: null,\n\t reservoir: null,\n\t reservoirRefreshInterval: null,\n\t reservoirRefreshAmount: null,\n\t reservoirIncreaseInterval: null,\n\t reservoirIncreaseAmount: null,\n\t reservoirIncreaseMaximum: null\n\t };\n\n\t Bottleneck.prototype.localStoreDefaults = {\n\t Promise: Promise,\n\t timeout: null,\n\t heartbeatInterval: 250\n\t };\n\n\t Bottleneck.prototype.redisStoreDefaults = {\n\t Promise: Promise,\n\t timeout: null,\n\t heartbeatInterval: 5000,\n\t clientTimeout: 10000,\n\t Redis: null,\n\t clientOptions: {},\n\t clusterNodes: null,\n\t clearDatastore: false,\n\t connection: null\n\t };\n\n\t Bottleneck.prototype.instanceDefaults = {\n\t datastore: \"local\",\n\t connection: null,\n\t id: \"\",\n\t rejectOnDrop: true,\n\t trackDoneStatus: false,\n\t Promise: Promise\n\t };\n\n\t Bottleneck.prototype.stopDefaults = {\n\t enqueueErrorMessage: \"This limiter has been stopped and cannot accept new jobs.\",\n\t dropWaitingJobs: true,\n\t dropErrorMessage: \"This limiter has been stopped.\"\n\t };\n\n\t return Bottleneck;\n\n\t}).call(commonjsGlobal);\n\n\tvar Bottleneck_1 = Bottleneck;\n\n\tvar lib = Bottleneck_1;\n\n\treturn lib;\n\n})));\n","// pkg/dist-src/version.js\nvar VERSION = \"0.0.0-development\";\n\n// pkg/dist-src/error-request.js\nasync function errorRequest(state, octokit, error, options) {\n if (!error.request || !error.request.request) {\n throw error;\n }\n if (error.status >= 400 && !state.doNotRetry.includes(error.status)) {\n const retries = options.request.retries != null ? options.request.retries : state.retries;\n const retryAfter = Math.pow((options.request.retryCount || 0) + 1, 2);\n throw octokit.retry.retryRequest(error, retries, retryAfter);\n }\n throw error;\n}\n\n// pkg/dist-src/wrap-request.js\nimport Bottleneck from \"bottleneck/light.js\";\nimport { RequestError } from \"@octokit/request-error\";\nasync function wrapRequest(state, octokit, request, options) {\n const limiter = new Bottleneck();\n limiter.on(\"failed\", function(error, info) {\n const maxRetries = ~~error.request.request.retries;\n const after = ~~error.request.request.retryAfter;\n options.request.retryCount = info.retryCount + 1;\n if (maxRetries > info.retryCount) {\n return after * state.retryAfterBaseValue;\n }\n });\n return limiter.schedule(\n requestWithGraphqlErrorHandling.bind(null, state, octokit, request),\n options\n );\n}\nasync function requestWithGraphqlErrorHandling(state, octokit, request, options) {\n const response = await request(request, options);\n if (response.data && response.data.errors && response.data.errors.length > 0 && /Something went wrong while executing your query/.test(\n response.data.errors[0].message\n )) {\n const error = new RequestError(response.data.errors[0].message, 500, {\n request: options,\n response\n });\n return errorRequest(state, octokit, error, options);\n }\n return response;\n}\n\n// pkg/dist-src/index.js\nfunction retry(octokit, octokitOptions) {\n const state = Object.assign(\n {\n enabled: true,\n retryAfterBaseValue: 1e3,\n doNotRetry: [400, 401, 403, 404, 410, 422, 451],\n retries: 3\n },\n octokitOptions.retry\n );\n if (state.enabled) {\n octokit.hook.error(\"request\", errorRequest.bind(null, state, octokit));\n octokit.hook.wrap(\"request\", wrapRequest.bind(null, state, octokit));\n }\n return {\n retry: {\n retryRequest: (error, retries, retryAfter) => {\n error.request.request = Object.assign({}, error.request.request, {\n retries,\n retryAfter\n });\n return error;\n }\n }\n };\n}\nretry.VERSION = VERSION;\nexport {\n VERSION,\n retry\n};\n","// pkg/dist-src/index.js\nimport BottleneckLight from \"bottleneck/light.js\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"0.0.0-development\";\n\n// pkg/dist-src/wrap-request.js\nvar noop = () => Promise.resolve();\nfunction wrapRequest(state, request, options) {\n return state.retryLimiter.schedule(doRequest, state, request, options);\n}\nasync function doRequest(state, request, options) {\n const { pathname } = new URL(options.url, \"http://github.test\");\n const isAuth = isAuthRequest(options.method, pathname);\n const isWrite = !isAuth && options.method !== \"GET\" && options.method !== \"HEAD\";\n const isSearch = options.method === \"GET\" && pathname.startsWith(\"/search/\");\n const isGraphQL = pathname.startsWith(\"/graphql\");\n const retryCount = ~~request.retryCount;\n const jobOptions = retryCount > 0 ? { priority: 0, weight: 0 } : {};\n if (state.clustering) {\n jobOptions.expiration = 1e3 * 60;\n }\n if (isWrite || isGraphQL) {\n await state.write.key(state.id).schedule(jobOptions, noop);\n }\n if (isWrite && state.triggersNotification(pathname)) {\n await state.notifications.key(state.id).schedule(jobOptions, noop);\n }\n if (isSearch) {\n await state.search.key(state.id).schedule(jobOptions, noop);\n }\n const req = (isAuth ? state.auth : state.global).key(state.id).schedule(jobOptions, request, options);\n if (isGraphQL) {\n const res = await req;\n if (res.data.errors != null && res.data.errors.some((error) => error.type === \"RATE_LIMITED\")) {\n const error = Object.assign(new Error(\"GraphQL Rate Limit Exceeded\"), {\n response: res,\n data: res.data\n });\n throw error;\n }\n }\n return req;\n}\nfunction isAuthRequest(method, pathname) {\n return method === \"PATCH\" && // https://docs.github.com/en/rest/apps/apps?apiVersion=2022-11-28#create-a-scoped-access-token\n /^\\/applications\\/[^/]+\\/token\\/scoped$/.test(pathname) || method === \"POST\" && // https://docs.github.com/en/rest/apps/oauth-applications?apiVersion=2022-11-28#reset-a-token\n (/^\\/applications\\/[^/]+\\/token$/.test(pathname) || // https://docs.github.com/en/rest/apps/apps?apiVersion=2022-11-28#create-an-installation-access-token-for-an-app\n /^\\/app\\/installations\\/[^/]+\\/access_tokens$/.test(pathname) || // https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps\n pathname === \"/login/oauth/access_token\");\n}\n\n// pkg/dist-src/generated/triggers-notification-paths.js\nvar triggers_notification_paths_default = [\n \"/orgs/{org}/invitations\",\n \"/orgs/{org}/invitations/{invitation_id}\",\n \"/orgs/{org}/teams/{team_slug}/discussions\",\n \"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n \"/repos/{owner}/{repo}/collaborators/{username}\",\n \"/repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n \"/repos/{owner}/{repo}/issues\",\n \"/repos/{owner}/{repo}/issues/{issue_number}/comments\",\n \"/repos/{owner}/{repo}/issues/{issue_number}/sub_issue\",\n \"/repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority\",\n \"/repos/{owner}/{repo}/pulls\",\n \"/repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n \"/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies\",\n \"/repos/{owner}/{repo}/pulls/{pull_number}/merge\",\n \"/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n \"/repos/{owner}/{repo}/pulls/{pull_number}/reviews\",\n \"/repos/{owner}/{repo}/releases\",\n \"/teams/{team_id}/discussions\",\n \"/teams/{team_id}/discussions/{discussion_number}/comments\"\n];\n\n// pkg/dist-src/route-matcher.js\nfunction routeMatcher(paths) {\n const regexes = paths.map(\n (path) => path.split(\"/\").map((c) => c.startsWith(\"{\") ? \"(?:.+?)\" : c).join(\"/\")\n );\n const regex2 = `^(?:${regexes.map((r) => `(?:${r})`).join(\"|\")})[^/]*$`;\n return new RegExp(regex2, \"i\");\n}\n\n// pkg/dist-src/index.js\nvar regex = routeMatcher(triggers_notification_paths_default);\nvar triggersNotification = regex.test.bind(regex);\nvar groups = {};\nvar createGroups = function(Bottleneck, common) {\n groups.global = new Bottleneck.Group({\n id: \"octokit-global\",\n maxConcurrent: 10,\n ...common\n });\n groups.auth = new Bottleneck.Group({\n id: \"octokit-auth\",\n maxConcurrent: 1,\n ...common\n });\n groups.search = new Bottleneck.Group({\n id: \"octokit-search\",\n maxConcurrent: 1,\n minTime: 2e3,\n ...common\n });\n groups.write = new Bottleneck.Group({\n id: \"octokit-write\",\n maxConcurrent: 1,\n minTime: 1e3,\n ...common\n });\n groups.notifications = new Bottleneck.Group({\n id: \"octokit-notifications\",\n maxConcurrent: 1,\n minTime: 3e3,\n ...common\n });\n};\nfunction throttling(octokit, octokitOptions) {\n const {\n enabled = true,\n Bottleneck = BottleneckLight,\n id = \"no-id\",\n timeout = 1e3 * 60 * 2,\n // Redis TTL: 2 minutes\n connection\n } = octokitOptions.throttle || {};\n if (!enabled) {\n return {};\n }\n const common = { timeout };\n if (typeof connection !== \"undefined\") {\n common.connection = connection;\n }\n if (groups.global == null) {\n createGroups(Bottleneck, common);\n }\n const state = Object.assign(\n {\n clustering: connection != null,\n triggersNotification,\n fallbackSecondaryRateRetryAfter: 60,\n retryAfterBaseValue: 1e3,\n retryLimiter: new Bottleneck(),\n id,\n ...groups\n },\n octokitOptions.throttle\n );\n if (typeof state.onSecondaryRateLimit !== \"function\" || typeof state.onRateLimit !== \"function\") {\n throw new Error(`octokit/plugin-throttling error:\n You must pass the onSecondaryRateLimit and onRateLimit error handlers.\n See https://octokit.github.io/rest.js/#throttling\n\n const octokit = new Octokit({\n throttle: {\n onSecondaryRateLimit: (retryAfter, options) => {/* ... */},\n onRateLimit: (retryAfter, options) => {/* ... */}\n }\n })\n `);\n }\n const events = {};\n const emitter = new Bottleneck.Events(events);\n events.on(\"secondary-limit\", state.onSecondaryRateLimit);\n events.on(\"rate-limit\", state.onRateLimit);\n events.on(\n \"error\",\n (e) => octokit.log.warn(\"Error in throttling-plugin limit handler\", e)\n );\n state.retryLimiter.on(\"failed\", async function(error, info) {\n const [state2, request, options] = info.args;\n const { pathname } = new URL(options.url, \"http://github.test\");\n const shouldRetryGraphQL = pathname.startsWith(\"/graphql\") && error.status !== 401;\n if (!(shouldRetryGraphQL || error.status === 403 || error.status === 429)) {\n return;\n }\n const retryCount = ~~request.retryCount;\n request.retryCount = retryCount;\n options.request.retryCount = retryCount;\n const { wantRetry, retryAfter = 0 } = await async function() {\n if (/\\bsecondary rate\\b/i.test(error.message)) {\n const retryAfter2 = Number(error.response.headers[\"retry-after\"]) || state2.fallbackSecondaryRateRetryAfter;\n const wantRetry2 = await emitter.trigger(\n \"secondary-limit\",\n retryAfter2,\n options,\n octokit,\n retryCount\n );\n return { wantRetry: wantRetry2, retryAfter: retryAfter2 };\n }\n if (error.response.headers != null && error.response.headers[\"x-ratelimit-remaining\"] === \"0\" || (error.response.data?.errors ?? []).some(\n (error2) => error2.type === \"RATE_LIMITED\"\n )) {\n const rateLimitReset = new Date(\n ~~error.response.headers[\"x-ratelimit-reset\"] * 1e3\n ).getTime();\n const retryAfter2 = Math.max(\n // Add one second so we retry _after_ the reset time\n // https://docs.github.com/en/rest/overview/resources-in-the-rest-api?apiVersion=2022-11-28#exceeding-the-rate-limit\n Math.ceil((rateLimitReset - Date.now()) / 1e3) + 1,\n 0\n );\n const wantRetry2 = await emitter.trigger(\n \"rate-limit\",\n retryAfter2,\n options,\n octokit,\n retryCount\n );\n return { wantRetry: wantRetry2, retryAfter: retryAfter2 };\n }\n return {};\n }();\n if (wantRetry) {\n request.retryCount++;\n return retryAfter * state2.retryAfterBaseValue;\n }\n });\n octokit.hook.wrap(\"request\", wrapRequest.bind(null, state));\n return {};\n}\nthrottling.VERSION = VERSION;\nthrottling.triggersNotification = triggersNotification;\nexport {\n throttling\n};\n","function oauthAuthorizationUrl(options) {\n const clientType = options.clientType || \"oauth-app\";\n const baseUrl = options.baseUrl || \"https://github.com\";\n const result = {\n clientType,\n allowSignup: options.allowSignup === false ? false : true,\n clientId: options.clientId,\n login: options.login || null,\n redirectUrl: options.redirectUrl || null,\n state: options.state || Math.random().toString(36).substr(2),\n url: \"\"\n };\n if (clientType === \"oauth-app\") {\n const scopes = \"scopes\" in options ? options.scopes : [];\n result.scopes = typeof scopes === \"string\" ? scopes.split(/[,\\s]+/).filter(Boolean) : scopes;\n }\n result.url = urlBuilderAuthorize(`${baseUrl}/login/oauth/authorize`, result);\n return result;\n}\nfunction urlBuilderAuthorize(base, options) {\n const map = {\n allowSignup: \"allow_signup\",\n clientId: \"client_id\",\n login: \"login\",\n redirectUrl: \"redirect_uri\",\n scopes: \"scope\",\n state: \"state\"\n };\n let url = base;\n Object.keys(map).filter((k) => options[k] !== null).filter((k) => {\n if (k !== \"scopes\") return true;\n if (options.clientType === \"github-app\") return false;\n return !Array.isArray(options[k]) || options[k].length > 0;\n }).map((key) => [map[key], `${options[key]}`]).forEach(([key, value], index) => {\n url += index === 0 ? `?` : \"&\";\n url += `${key}=${encodeURIComponent(value)}`;\n });\n return url;\n}\nexport {\n oauthAuthorizationUrl\n};\n","// pkg/dist-src/version.js\nvar VERSION = \"0.0.0-development\";\n\n// pkg/dist-src/get-web-flow-authorization-url.js\nimport { oauthAuthorizationUrl } from \"@octokit/oauth-authorization-url\";\nimport { request as defaultRequest } from \"@octokit/request\";\n\n// pkg/dist-src/utils.js\nimport { RequestError } from \"@octokit/request-error\";\nfunction requestToOAuthBaseUrl(request) {\n const endpointDefaults = request.endpoint.DEFAULTS;\n return /^https:\\/\\/(api\\.)?github\\.com$/.test(endpointDefaults.baseUrl) ? \"https://github.com\" : endpointDefaults.baseUrl.replace(\"/api/v3\", \"\");\n}\nasync function oauthRequest(request, route, parameters) {\n const withOAuthParameters = {\n baseUrl: requestToOAuthBaseUrl(request),\n headers: {\n accept: \"application/json\"\n },\n ...parameters\n };\n const response = await request(route, withOAuthParameters);\n if (\"error\" in response.data) {\n const error = new RequestError(\n `${response.data.error_description} (${response.data.error}, ${response.data.error_uri})`,\n 400,\n {\n request: request.endpoint.merge(\n route,\n withOAuthParameters\n )\n }\n );\n error.response = response;\n throw error;\n }\n return response;\n}\n\n// pkg/dist-src/get-web-flow-authorization-url.js\nfunction getWebFlowAuthorizationUrl({\n request = defaultRequest,\n ...options\n}) {\n const baseUrl = requestToOAuthBaseUrl(request);\n return oauthAuthorizationUrl({\n ...options,\n baseUrl\n });\n}\n\n// pkg/dist-src/exchange-web-flow-code.js\nimport { request as defaultRequest2 } from \"@octokit/request\";\nasync function exchangeWebFlowCode(options) {\n const request = options.request || defaultRequest2;\n const response = await oauthRequest(\n request,\n \"POST /login/oauth/access_token\",\n {\n client_id: options.clientId,\n client_secret: options.clientSecret,\n code: options.code,\n redirect_uri: options.redirectUrl\n }\n );\n const authentication = {\n clientType: options.clientType,\n clientId: options.clientId,\n clientSecret: options.clientSecret,\n token: response.data.access_token,\n scopes: response.data.scope.split(/\\s+/).filter(Boolean)\n };\n if (options.clientType === \"github-app\") {\n if (\"refresh_token\" in response.data) {\n const apiTimeInMs = new Date(response.headers.date).getTime();\n authentication.refreshToken = response.data.refresh_token, authentication.expiresAt = toTimestamp(\n apiTimeInMs,\n response.data.expires_in\n ), authentication.refreshTokenExpiresAt = toTimestamp(\n apiTimeInMs,\n response.data.refresh_token_expires_in\n );\n }\n delete authentication.scopes;\n }\n return { ...response, authentication };\n}\nfunction toTimestamp(apiTimeInMs, expirationInSeconds) {\n return new Date(apiTimeInMs + expirationInSeconds * 1e3).toISOString();\n}\n\n// pkg/dist-src/create-device-code.js\nimport { request as defaultRequest3 } from \"@octokit/request\";\nasync function createDeviceCode(options) {\n const request = options.request || defaultRequest3;\n const parameters = {\n client_id: options.clientId\n };\n if (\"scopes\" in options && Array.isArray(options.scopes)) {\n parameters.scope = options.scopes.join(\" \");\n }\n return oauthRequest(request, \"POST /login/device/code\", parameters);\n}\n\n// pkg/dist-src/exchange-device-code.js\nimport { request as defaultRequest4 } from \"@octokit/request\";\nasync function exchangeDeviceCode(options) {\n const request = options.request || defaultRequest4;\n const response = await oauthRequest(\n request,\n \"POST /login/oauth/access_token\",\n {\n client_id: options.clientId,\n device_code: options.code,\n grant_type: \"urn:ietf:params:oauth:grant-type:device_code\"\n }\n );\n const authentication = {\n clientType: options.clientType,\n clientId: options.clientId,\n token: response.data.access_token,\n scopes: response.data.scope.split(/\\s+/).filter(Boolean)\n };\n if (\"clientSecret\" in options) {\n authentication.clientSecret = options.clientSecret;\n }\n if (options.clientType === \"github-app\") {\n if (\"refresh_token\" in response.data) {\n const apiTimeInMs = new Date(response.headers.date).getTime();\n authentication.refreshToken = response.data.refresh_token, authentication.expiresAt = toTimestamp2(\n apiTimeInMs,\n response.data.expires_in\n ), authentication.refreshTokenExpiresAt = toTimestamp2(\n apiTimeInMs,\n response.data.refresh_token_expires_in\n );\n }\n delete authentication.scopes;\n }\n return { ...response, authentication };\n}\nfunction toTimestamp2(apiTimeInMs, expirationInSeconds) {\n return new Date(apiTimeInMs + expirationInSeconds * 1e3).toISOString();\n}\n\n// pkg/dist-src/check-token.js\nimport { request as defaultRequest5 } from \"@octokit/request\";\nasync function checkToken(options) {\n const request = options.request || defaultRequest5;\n const response = await request(\"POST /applications/{client_id}/token\", {\n headers: {\n authorization: `basic ${btoa(\n `${options.clientId}:${options.clientSecret}`\n )}`\n },\n client_id: options.clientId,\n access_token: options.token\n });\n const authentication = {\n clientType: options.clientType,\n clientId: options.clientId,\n clientSecret: options.clientSecret,\n token: options.token,\n scopes: response.data.scopes\n };\n if (response.data.expires_at)\n authentication.expiresAt = response.data.expires_at;\n if (options.clientType === \"github-app\") {\n delete authentication.scopes;\n }\n return { ...response, authentication };\n}\n\n// pkg/dist-src/refresh-token.js\nimport { request as defaultRequest6 } from \"@octokit/request\";\nasync function refreshToken(options) {\n const request = options.request || defaultRequest6;\n const response = await oauthRequest(\n request,\n \"POST /login/oauth/access_token\",\n {\n client_id: options.clientId,\n client_secret: options.clientSecret,\n grant_type: \"refresh_token\",\n refresh_token: options.refreshToken\n }\n );\n const apiTimeInMs = new Date(response.headers.date).getTime();\n const authentication = {\n clientType: \"github-app\",\n clientId: options.clientId,\n clientSecret: options.clientSecret,\n token: response.data.access_token,\n refreshToken: response.data.refresh_token,\n expiresAt: toTimestamp3(apiTimeInMs, response.data.expires_in),\n refreshTokenExpiresAt: toTimestamp3(\n apiTimeInMs,\n response.data.refresh_token_expires_in\n )\n };\n return { ...response, authentication };\n}\nfunction toTimestamp3(apiTimeInMs, expirationInSeconds) {\n return new Date(apiTimeInMs + expirationInSeconds * 1e3).toISOString();\n}\n\n// pkg/dist-src/scope-token.js\nimport { request as defaultRequest7 } from \"@octokit/request\";\nasync function scopeToken(options) {\n const {\n request: optionsRequest,\n clientType,\n clientId,\n clientSecret,\n token,\n ...requestOptions\n } = options;\n const request = options.request || defaultRequest7;\n const response = await request(\n \"POST /applications/{client_id}/token/scoped\",\n {\n headers: {\n authorization: `basic ${btoa(`${clientId}:${clientSecret}`)}`\n },\n client_id: clientId,\n access_token: token,\n ...requestOptions\n }\n );\n const authentication = Object.assign(\n {\n clientType,\n clientId,\n clientSecret,\n token: response.data.token\n },\n response.data.expires_at ? { expiresAt: response.data.expires_at } : {}\n );\n return { ...response, authentication };\n}\n\n// pkg/dist-src/reset-token.js\nimport { request as defaultRequest8 } from \"@octokit/request\";\nasync function resetToken(options) {\n const request = options.request || defaultRequest8;\n const auth = btoa(`${options.clientId}:${options.clientSecret}`);\n const response = await request(\n \"PATCH /applications/{client_id}/token\",\n {\n headers: {\n authorization: `basic ${auth}`\n },\n client_id: options.clientId,\n access_token: options.token\n }\n );\n const authentication = {\n clientType: options.clientType,\n clientId: options.clientId,\n clientSecret: options.clientSecret,\n token: response.data.token,\n scopes: response.data.scopes\n };\n if (response.data.expires_at)\n authentication.expiresAt = response.data.expires_at;\n if (options.clientType === \"github-app\") {\n delete authentication.scopes;\n }\n return { ...response, authentication };\n}\n\n// pkg/dist-src/delete-token.js\nimport { request as defaultRequest9 } from \"@octokit/request\";\nasync function deleteToken(options) {\n const request = options.request || defaultRequest9;\n const auth = btoa(`${options.clientId}:${options.clientSecret}`);\n return request(\n \"DELETE /applications/{client_id}/token\",\n {\n headers: {\n authorization: `basic ${auth}`\n },\n client_id: options.clientId,\n access_token: options.token\n }\n );\n}\n\n// pkg/dist-src/delete-authorization.js\nimport { request as defaultRequest10 } from \"@octokit/request\";\nasync function deleteAuthorization(options) {\n const request = options.request || defaultRequest10;\n const auth = btoa(`${options.clientId}:${options.clientSecret}`);\n return request(\n \"DELETE /applications/{client_id}/grant\",\n {\n headers: {\n authorization: `basic ${auth}`\n },\n client_id: options.clientId,\n access_token: options.token\n }\n );\n}\nexport {\n VERSION,\n checkToken,\n createDeviceCode,\n deleteAuthorization,\n deleteToken,\n exchangeDeviceCode,\n exchangeWebFlowCode,\n getWebFlowAuthorizationUrl,\n refreshToken,\n resetToken,\n scopeToken\n};\n","// pkg/dist-src/index.js\nimport { getUserAgent } from \"universal-user-agent\";\nimport { request as octokitRequest } from \"@octokit/request\";\n\n// pkg/dist-src/get-oauth-access-token.js\nimport { createDeviceCode, exchangeDeviceCode } from \"@octokit/oauth-methods\";\nasync function getOAuthAccessToken(state, options) {\n const cachedAuthentication = getCachedAuthentication(state, options.auth);\n if (cachedAuthentication) return cachedAuthentication;\n const { data: verification } = await createDeviceCode({\n clientType: state.clientType,\n clientId: state.clientId,\n request: options.request || state.request,\n // @ts-expect-error the extra code to make TS happy is not worth it\n scopes: options.auth.scopes || state.scopes\n });\n await state.onVerification(verification);\n const authentication = await waitForAccessToken(\n options.request || state.request,\n state.clientId,\n state.clientType,\n verification\n );\n state.authentication = authentication;\n return authentication;\n}\nfunction getCachedAuthentication(state, auth2) {\n if (auth2.refresh === true) return false;\n if (!state.authentication) return false;\n if (state.clientType === \"github-app\") {\n return state.authentication;\n }\n const authentication = state.authentication;\n const newScope = (\"scopes\" in auth2 && auth2.scopes || state.scopes).join(\n \" \"\n );\n const currentScope = authentication.scopes.join(\" \");\n return newScope === currentScope ? authentication : false;\n}\nasync function wait(seconds) {\n await new Promise((resolve) => setTimeout(resolve, seconds * 1e3));\n}\nasync function waitForAccessToken(request, clientId, clientType, verification) {\n try {\n const options = {\n clientId,\n request,\n code: verification.device_code\n };\n const { authentication } = clientType === \"oauth-app\" ? await exchangeDeviceCode({\n ...options,\n clientType: \"oauth-app\"\n }) : await exchangeDeviceCode({\n ...options,\n clientType: \"github-app\"\n });\n return {\n type: \"token\",\n tokenType: \"oauth\",\n ...authentication\n };\n } catch (error) {\n if (!error.response) throw error;\n const errorType = error.response.data.error;\n if (errorType === \"authorization_pending\") {\n await wait(verification.interval);\n return waitForAccessToken(request, clientId, clientType, verification);\n }\n if (errorType === \"slow_down\") {\n await wait(verification.interval + 7);\n return waitForAccessToken(request, clientId, clientType, verification);\n }\n throw error;\n }\n}\n\n// pkg/dist-src/auth.js\nasync function auth(state, authOptions) {\n return getOAuthAccessToken(state, {\n auth: authOptions\n });\n}\n\n// pkg/dist-src/hook.js\nasync function hook(state, request, route, parameters) {\n let endpoint = request.endpoint.merge(\n route,\n parameters\n );\n if (/\\/login\\/(oauth\\/access_token|device\\/code)$/.test(endpoint.url)) {\n return request(endpoint);\n }\n const { token } = await getOAuthAccessToken(state, {\n request,\n auth: { type: \"oauth\" }\n });\n endpoint.headers.authorization = `token ${token}`;\n return request(endpoint);\n}\n\n// pkg/dist-src/version.js\nvar VERSION = \"0.0.0-development\";\n\n// pkg/dist-src/index.js\nfunction createOAuthDeviceAuth(options) {\n const requestWithDefaults = options.request || octokitRequest.defaults({\n headers: {\n \"user-agent\": `octokit-auth-oauth-device.js/${VERSION} ${getUserAgent()}`\n }\n });\n const { request = requestWithDefaults, ...otherOptions } = options;\n const state = options.clientType === \"github-app\" ? {\n ...otherOptions,\n clientType: \"github-app\",\n request\n } : {\n ...otherOptions,\n clientType: \"oauth-app\",\n request,\n scopes: options.scopes || []\n };\n if (!options.clientId) {\n throw new Error(\n '[@octokit/auth-oauth-device] \"clientId\" option must be set (https://github.com/octokit/auth-oauth-device.js#usage)'\n );\n }\n if (!options.onVerification) {\n throw new Error(\n '[@octokit/auth-oauth-device] \"onVerification\" option must be a function (https://github.com/octokit/auth-oauth-device.js#usage)'\n );\n }\n return Object.assign(auth.bind(null, state), {\n hook: hook.bind(null, state)\n });\n}\nexport {\n createOAuthDeviceAuth\n};\n","// pkg/dist-src/index.js\nimport { getUserAgent } from \"universal-user-agent\";\nimport { request as octokitRequest } from \"@octokit/request\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"0.0.0-development\";\n\n// pkg/dist-src/get-authentication.js\nimport { createOAuthDeviceAuth } from \"@octokit/auth-oauth-device\";\nimport { exchangeWebFlowCode } from \"@octokit/oauth-methods\";\nasync function getAuthentication(state) {\n if (\"code\" in state.strategyOptions) {\n const { authentication } = await exchangeWebFlowCode({\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n clientType: state.clientType,\n onTokenCreated: state.onTokenCreated,\n ...state.strategyOptions,\n request: state.request\n });\n return {\n type: \"token\",\n tokenType: \"oauth\",\n ...authentication\n };\n }\n if (\"onVerification\" in state.strategyOptions) {\n const deviceAuth = createOAuthDeviceAuth({\n clientType: state.clientType,\n clientId: state.clientId,\n onTokenCreated: state.onTokenCreated,\n ...state.strategyOptions,\n request: state.request\n });\n const authentication = await deviceAuth({\n type: \"oauth\"\n });\n return {\n clientSecret: state.clientSecret,\n ...authentication\n };\n }\n if (\"token\" in state.strategyOptions) {\n return {\n type: \"token\",\n tokenType: \"oauth\",\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n clientType: state.clientType,\n onTokenCreated: state.onTokenCreated,\n ...state.strategyOptions\n };\n }\n throw new Error(\"[@octokit/auth-oauth-user] Invalid strategy options\");\n}\n\n// pkg/dist-src/auth.js\nimport {\n checkToken,\n deleteAuthorization,\n deleteToken,\n refreshToken,\n resetToken\n} from \"@octokit/oauth-methods\";\nasync function auth(state, options = {}) {\n if (!state.authentication) {\n state.authentication = state.clientType === \"oauth-app\" ? await getAuthentication(state) : await getAuthentication(state);\n }\n if (state.authentication.invalid) {\n throw new Error(\"[@octokit/auth-oauth-user] Token is invalid\");\n }\n const currentAuthentication = state.authentication;\n if (\"expiresAt\" in currentAuthentication) {\n if (options.type === \"refresh\" || new Date(currentAuthentication.expiresAt) < /* @__PURE__ */ new Date()) {\n const { authentication } = await refreshToken({\n clientType: \"github-app\",\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n refreshToken: currentAuthentication.refreshToken,\n request: state.request\n });\n state.authentication = {\n tokenType: \"oauth\",\n type: \"token\",\n ...authentication\n };\n }\n }\n if (options.type === \"refresh\") {\n if (state.clientType === \"oauth-app\") {\n throw new Error(\n \"[@octokit/auth-oauth-user] OAuth Apps do not support expiring tokens\"\n );\n }\n if (!currentAuthentication.hasOwnProperty(\"expiresAt\")) {\n throw new Error(\"[@octokit/auth-oauth-user] Refresh token missing\");\n }\n await state.onTokenCreated?.(state.authentication, {\n type: options.type\n });\n }\n if (options.type === \"check\" || options.type === \"reset\") {\n const method = options.type === \"check\" ? checkToken : resetToken;\n try {\n const { authentication } = await method({\n // @ts-expect-error making TS happy would require unnecessary code so no\n clientType: state.clientType,\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n token: state.authentication.token,\n request: state.request\n });\n state.authentication = {\n tokenType: \"oauth\",\n type: \"token\",\n // @ts-expect-error TBD\n ...authentication\n };\n if (options.type === \"reset\") {\n await state.onTokenCreated?.(state.authentication, {\n type: options.type\n });\n }\n return state.authentication;\n } catch (error) {\n if (error.status === 404) {\n error.message = \"[@octokit/auth-oauth-user] Token is invalid\";\n state.authentication.invalid = true;\n }\n throw error;\n }\n }\n if (options.type === \"delete\" || options.type === \"deleteAuthorization\") {\n const method = options.type === \"delete\" ? deleteToken : deleteAuthorization;\n try {\n await method({\n // @ts-expect-error making TS happy would require unnecessary code so no\n clientType: state.clientType,\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n token: state.authentication.token,\n request: state.request\n });\n } catch (error) {\n if (error.status !== 404) throw error;\n }\n state.authentication.invalid = true;\n return state.authentication;\n }\n return state.authentication;\n}\n\n// pkg/dist-src/requires-basic-auth.js\nvar ROUTES_REQUIRING_BASIC_AUTH = /\\/applications\\/[^/]+\\/(token|grant)s?/;\nfunction requiresBasicAuth(url) {\n return url && ROUTES_REQUIRING_BASIC_AUTH.test(url);\n}\n\n// pkg/dist-src/hook.js\nasync function hook(state, request, route, parameters = {}) {\n const endpoint = request.endpoint.merge(\n route,\n parameters\n );\n if (/\\/login\\/(oauth\\/access_token|device\\/code)$/.test(endpoint.url)) {\n return request(endpoint);\n }\n if (requiresBasicAuth(endpoint.url)) {\n const credentials = btoa(`${state.clientId}:${state.clientSecret}`);\n endpoint.headers.authorization = `basic ${credentials}`;\n return request(endpoint);\n }\n const { token } = state.clientType === \"oauth-app\" ? await auth({ ...state, request }) : await auth({ ...state, request });\n endpoint.headers.authorization = \"token \" + token;\n return request(endpoint);\n}\n\n// pkg/dist-src/index.js\nfunction createOAuthUserAuth({\n clientId,\n clientSecret,\n clientType = \"oauth-app\",\n request = octokitRequest.defaults({\n headers: {\n \"user-agent\": `octokit-auth-oauth-app.js/${VERSION} ${getUserAgent()}`\n }\n }),\n onTokenCreated,\n ...strategyOptions\n}) {\n const state = Object.assign({\n clientType,\n clientId,\n clientSecret,\n onTokenCreated,\n strategyOptions,\n request\n });\n return Object.assign(auth.bind(null, state), {\n // @ts-expect-error not worth the extra code needed to appease TS\n hook: hook.bind(null, state)\n });\n}\ncreateOAuthUserAuth.VERSION = VERSION;\nexport {\n createOAuthUserAuth,\n requiresBasicAuth\n};\n","// pkg/dist-src/index.js\nimport { getUserAgent } from \"universal-user-agent\";\nimport { request } from \"@octokit/request\";\n\n// pkg/dist-src/auth.js\nimport { createOAuthUserAuth } from \"@octokit/auth-oauth-user\";\nasync function auth(state, authOptions) {\n if (authOptions.type === \"oauth-app\") {\n return {\n type: \"oauth-app\",\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n clientType: state.clientType,\n headers: {\n authorization: `basic ${btoa(\n `${state.clientId}:${state.clientSecret}`\n )}`\n }\n };\n }\n if (\"factory\" in authOptions) {\n const { type, ...options } = {\n ...authOptions,\n ...state\n };\n return authOptions.factory(options);\n }\n const common = {\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n request: state.request,\n ...authOptions\n };\n const userAuth = state.clientType === \"oauth-app\" ? await createOAuthUserAuth({\n ...common,\n clientType: state.clientType\n }) : await createOAuthUserAuth({\n ...common,\n clientType: state.clientType\n });\n return userAuth();\n}\n\n// pkg/dist-src/hook.js\nimport { requiresBasicAuth } from \"@octokit/auth-oauth-user\";\nasync function hook(state, request2, route, parameters) {\n let endpoint = request2.endpoint.merge(\n route,\n parameters\n );\n if (/\\/login\\/(oauth\\/access_token|device\\/code)$/.test(endpoint.url)) {\n return request2(endpoint);\n }\n if (state.clientType === \"github-app\" && !requiresBasicAuth(endpoint.url)) {\n throw new Error(\n `[@octokit/auth-oauth-app] GitHub Apps cannot use their client ID/secret for basic authentication for endpoints other than \"/applications/{client_id}/**\". \"${endpoint.method} ${endpoint.url}\" is not supported.`\n );\n }\n const credentials = btoa(`${state.clientId}:${state.clientSecret}`);\n endpoint.headers.authorization = `basic ${credentials}`;\n try {\n return await request2(endpoint);\n } catch (error) {\n if (error.status !== 401) throw error;\n error.message = `[@octokit/auth-oauth-app] \"${endpoint.method} ${endpoint.url}\" does not support clientId/clientSecret basic authentication.`;\n throw error;\n }\n}\n\n// pkg/dist-src/version.js\nvar VERSION = \"0.0.0-development\";\n\n// pkg/dist-src/index.js\nimport { createOAuthUserAuth as createOAuthUserAuth2 } from \"@octokit/auth-oauth-user\";\nfunction createOAuthAppAuth(options) {\n const state = Object.assign(\n {\n request: request.defaults({\n headers: {\n \"user-agent\": `octokit-auth-oauth-app.js/${VERSION} ${getUserAgent()}`\n }\n }),\n clientType: \"oauth-app\"\n },\n options\n );\n return Object.assign(auth.bind(null, state), {\n hook: hook.bind(null, state)\n });\n}\nexport {\n createOAuthAppAuth,\n createOAuthUserAuth2 as createOAuthUserAuth\n};\n","// we don't @ts-check here because it chokes on atob and btoa which are available in all modern JS runtime environments\n\n/**\n * @param {string} privateKey\n * @returns {boolean}\n */\nexport function isPkcs1(privateKey) {\n return privateKey.includes(\"-----BEGIN RSA PRIVATE KEY-----\");\n}\n\n/**\n * @param {string} privateKey\n * @returns {boolean}\n */\nexport function isOpenSsh(privateKey) {\n return privateKey.includes(\"-----BEGIN OPENSSH PRIVATE KEY-----\");\n}\n\n/**\n * @param {string} str\n * @returns {ArrayBuffer}\n */\nexport function string2ArrayBuffer(str) {\n const buf = new ArrayBuffer(str.length);\n const bufView = new Uint8Array(buf);\n for (let i = 0, strLen = str.length; i < strLen; i++) {\n bufView[i] = str.charCodeAt(i);\n }\n return buf;\n}\n\n/**\n * @param {string} pem\n * @returns {ArrayBuffer}\n */\nexport function getDERfromPEM(pem) {\n const pemB64 = pem\n .trim()\n .split(\"\\n\")\n .slice(1, -1) // Remove the --- BEGIN / END PRIVATE KEY ---\n .join(\"\");\n\n const decoded = atob(pemB64);\n return string2ArrayBuffer(decoded);\n}\n\n/**\n * @param {import('../internals').Header} header\n * @param {import('../internals').Payload} payload\n * @returns {string}\n */\nexport function getEncodedMessage(header, payload) {\n return `${base64encodeJSON(header)}.${base64encodeJSON(payload)}`;\n}\n\n/**\n * @param {ArrayBuffer} buffer\n * @returns {string}\n */\nexport function base64encode(buffer) {\n var binary = \"\";\n var bytes = new Uint8Array(buffer);\n var len = bytes.byteLength;\n for (var i = 0; i < len; i++) {\n binary += String.fromCharCode(bytes[i]);\n }\n\n return fromBase64(btoa(binary));\n}\n\n/**\n * @param {string} base64\n * @returns {string}\n */\nfunction fromBase64(base64) {\n return base64.replace(/=/g, \"\").replace(/\\+/g, \"-\").replace(/\\//g, \"_\");\n}\n\n/**\n * @param {Record} obj\n * @returns {string}\n */\nfunction base64encodeJSON(obj) {\n return fromBase64(btoa(JSON.stringify(obj)));\n}\n","const { subtle } = globalThis.crypto;\n\n// no-op, unfortunately there is no way to transform from PKCS8 or OpenSSH to PKCS1 with WebCrypto\nfunction convertPrivateKey(privateKey) {\n return privateKey;\n}\n\nexport { subtle, convertPrivateKey };\n","// we don't @ts-check here because it chokes crypto which is a global API in modern JS runtime environments\n\nimport {\n isPkcs1,\n isOpenSsh,\n getEncodedMessage,\n getDERfromPEM,\n string2ArrayBuffer,\n base64encode,\n} from \"./utils.js\";\n\nimport { subtle, convertPrivateKey } from \"#crypto\";\n\n/**\n * @param {import('../internals').GetTokenOptions} options\n * @returns {Promise}\n */\nexport async function getToken({ privateKey, payload }) {\n const convertedPrivateKey = convertPrivateKey(privateKey);\n\n // WebCrypto only supports PKCS#8, unfortunately\n /* c8 ignore start */\n if (isPkcs1(convertedPrivateKey)) {\n throw new Error(\n \"[universal-github-app-jwt] Private Key is in PKCS#1 format, but only PKCS#8 is supported. See https://github.com/gr2m/universal-github-app-jwt#private-key-formats\"\n );\n }\n /* c8 ignore stop */\n\n // WebCrypto does not support OpenSSH, unfortunately\n if (isOpenSsh(convertedPrivateKey)) {\n throw new Error(\n \"[universal-github-app-jwt] Private Key is in OpenSSH format, but only PKCS#8 is supported. See https://github.com/gr2m/universal-github-app-jwt#private-key-formats\"\n );\n }\n\n const algorithm = {\n name: \"RSASSA-PKCS1-v1_5\",\n hash: { name: \"SHA-256\" },\n };\n\n /** @type {import('../internals').Header} */\n const header = { alg: \"RS256\", typ: \"JWT\" };\n\n const privateKeyDER = getDERfromPEM(convertedPrivateKey);\n const importedKey = await subtle.importKey(\n \"pkcs8\",\n privateKeyDER,\n algorithm,\n false,\n [\"sign\"]\n );\n\n const encodedMessage = getEncodedMessage(header, payload);\n const encodedMessageArrBuf = string2ArrayBuffer(encodedMessage);\n\n const signatureArrBuf = await subtle.sign(\n algorithm.name,\n importedKey,\n encodedMessageArrBuf\n );\n\n const encodedSignature = base64encode(signatureArrBuf);\n\n return `${encodedMessage}.${encodedSignature}`;\n}\n","// @ts-check\n\n// @ts-ignore - #get-token is defined in \"imports\" in package.json\nimport { getToken } from \"./lib/get-token.js\";\n\n/**\n * @param {import(\".\").Options} options\n * @returns {Promise}\n */\nexport default async function githubAppJwt({\n id,\n privateKey,\n now = Math.floor(Date.now() / 1000),\n}) {\n // Private keys are often times configured as environment variables, in which case line breaks are escaped using `\\\\n`.\n // Replace these here for convenience.\n const privateKeyWithNewlines = privateKey.replace(/\\\\n/g, '\\n');\n\n // When creating a JSON Web Token, it sets the \"issued at time\" (iat) to 30s\n // in the past as we have seen people running situations where the GitHub API\n // claimed the iat would be in future. It turned out the clocks on the\n // different machine were not in sync.\n const nowWithSafetyMargin = now - 30;\n const expiration = nowWithSafetyMargin + 60 * 10; // JWT expiration time (10 minute maximum)\n\n const payload = {\n iat: nowWithSafetyMargin, // Issued at time\n exp: expiration,\n iss: id,\n };\n\n const token = await getToken({\n privateKey: privateKeyWithNewlines,\n payload,\n });\n\n return {\n appId: id,\n expiration,\n token,\n };\n}\n","/**\n * toad-cache\n *\n * @copyright 2024 Igor Savin \n * @license MIT\n * @version 3.7.0\n */\nclass FifoMap {\n constructor(max = 1000, ttlInMsecs = 0) {\n if (isNaN(max) || max < 0) {\n throw new Error('Invalid max value')\n }\n\n if (isNaN(ttlInMsecs) || ttlInMsecs < 0) {\n throw new Error('Invalid ttl value')\n }\n\n this.first = null;\n this.items = new Map();\n this.last = null;\n this.max = max;\n this.ttl = ttlInMsecs;\n }\n\n get size() {\n return this.items.size\n }\n\n clear() {\n this.items = new Map();\n this.first = null;\n this.last = null;\n }\n\n delete(key) {\n if (this.items.has(key)) {\n const deletedItem = this.items.get(key);\n\n this.items.delete(key);\n\n if (deletedItem.prev !== null) {\n deletedItem.prev.next = deletedItem.next;\n }\n\n if (deletedItem.next !== null) {\n deletedItem.next.prev = deletedItem.prev;\n }\n\n if (this.first === deletedItem) {\n this.first = deletedItem.next;\n }\n\n if (this.last === deletedItem) {\n this.last = deletedItem.prev;\n }\n }\n }\n\n deleteMany(keys) {\n for (var i = 0; i < keys.length; i++) {\n this.delete(keys[i]);\n }\n }\n\n evict() {\n if (this.size > 0) {\n const item = this.first;\n\n this.items.delete(item.key);\n\n if (this.size === 0) {\n this.first = null;\n this.last = null;\n } else {\n this.first = item.next;\n this.first.prev = null;\n }\n }\n }\n\n expiresAt(key) {\n if (this.items.has(key)) {\n return this.items.get(key).expiry\n }\n }\n\n get(key) {\n if (this.items.has(key)) {\n const item = this.items.get(key);\n\n if (this.ttl > 0 && item.expiry <= Date.now()) {\n this.delete(key);\n return\n }\n\n return item.value\n }\n }\n\n getMany(keys) {\n const result = [];\n\n for (var i = 0; i < keys.length; i++) {\n result.push(this.get(keys[i]));\n }\n\n return result\n }\n\n keys() {\n return this.items.keys()\n }\n\n set(key, value) {\n // Replace existing item\n if (this.items.has(key)) {\n const item = this.items.get(key);\n item.value = value;\n\n item.expiry = this.ttl > 0 ? Date.now() + this.ttl : this.ttl;\n\n return\n }\n\n // Add new item\n if (this.max > 0 && this.size === this.max) {\n this.evict();\n }\n\n const item = {\n expiry: this.ttl > 0 ? Date.now() + this.ttl : this.ttl,\n key: key,\n prev: this.last,\n next: null,\n value,\n };\n this.items.set(key, item);\n\n if (this.size === 1) {\n this.first = item;\n } else {\n this.last.next = item;\n }\n\n this.last = item;\n }\n}class LruMap {\n constructor(max = 1000, ttlInMsecs = 0) {\n if (isNaN(max) || max < 0) {\n throw new Error('Invalid max value')\n }\n\n if (isNaN(ttlInMsecs) || ttlInMsecs < 0) {\n throw new Error('Invalid ttl value')\n }\n\n this.first = null;\n this.items = new Map();\n this.last = null;\n this.max = max;\n this.ttl = ttlInMsecs;\n }\n\n get size() {\n return this.items.size\n }\n\n bumpLru(item) {\n if (this.last === item) {\n return // Item is already the last one, no need to bump\n }\n\n const last = this.last;\n const next = item.next;\n const prev = item.prev;\n\n if (this.first === item) {\n this.first = next;\n }\n\n item.next = null;\n item.prev = last;\n last.next = item;\n\n if (prev !== null) {\n prev.next = next;\n }\n\n if (next !== null) {\n next.prev = prev;\n }\n\n this.last = item;\n }\n\n clear() {\n this.items = new Map();\n this.first = null;\n this.last = null;\n }\n\n delete(key) {\n if (this.items.has(key)) {\n const item = this.items.get(key);\n\n this.items.delete(key);\n\n if (item.prev !== null) {\n item.prev.next = item.next;\n }\n\n if (item.next !== null) {\n item.next.prev = item.prev;\n }\n\n if (this.first === item) {\n this.first = item.next;\n }\n\n if (this.last === item) {\n this.last = item.prev;\n }\n }\n }\n\n deleteMany(keys) {\n for (var i = 0; i < keys.length; i++) {\n this.delete(keys[i]);\n }\n }\n\n evict() {\n if (this.size > 0) {\n const item = this.first;\n\n this.items.delete(item.key);\n\n if (this.size === 0) {\n this.first = null;\n this.last = null;\n } else {\n this.first = item.next;\n this.first.prev = null;\n }\n }\n }\n\n expiresAt(key) {\n if (this.items.has(key)) {\n return this.items.get(key).expiry\n }\n }\n\n get(key) {\n if (this.items.has(key)) {\n const item = this.items.get(key);\n\n // Item has already expired\n if (this.ttl > 0 && item.expiry <= Date.now()) {\n this.delete(key);\n return\n }\n\n // Item is still fresh\n this.bumpLru(item);\n return item.value\n }\n }\n\n getMany(keys) {\n const result = [];\n\n for (var i = 0; i < keys.length; i++) {\n result.push(this.get(keys[i]));\n }\n\n return result\n }\n\n keys() {\n return this.items.keys()\n }\n\n set(key, value) {\n // Replace existing item\n if (this.items.has(key)) {\n const item = this.items.get(key);\n item.value = value;\n\n item.expiry = this.ttl > 0 ? Date.now() + this.ttl : this.ttl;\n\n if (this.last !== item) {\n this.bumpLru(item);\n }\n\n return\n }\n\n // Add new item\n if (this.max > 0 && this.size === this.max) {\n this.evict();\n }\n\n const item = {\n expiry: this.ttl > 0 ? Date.now() + this.ttl : this.ttl,\n key: key,\n prev: this.last,\n next: null,\n value,\n };\n this.items.set(key, item);\n\n if (this.size === 1) {\n this.first = item;\n } else {\n this.last.next = item;\n }\n\n this.last = item;\n }\n}class LruObject {\n constructor(max = 1000, ttlInMsecs = 0) {\n if (isNaN(max) || max < 0) {\n throw new Error('Invalid max value')\n }\n\n if (isNaN(ttlInMsecs) || ttlInMsecs < 0) {\n throw new Error('Invalid ttl value')\n }\n\n this.first = null;\n this.items = Object.create(null);\n this.last = null;\n this.size = 0;\n this.max = max;\n this.ttl = ttlInMsecs;\n }\n\n bumpLru(item) {\n if (this.last === item) {\n return // Item is already the last one, no need to bump\n }\n\n const last = this.last;\n const next = item.next;\n const prev = item.prev;\n\n if (this.first === item) {\n this.first = next;\n }\n\n item.next = null;\n item.prev = last;\n last.next = item;\n\n if (prev !== null) {\n prev.next = next;\n }\n\n if (next !== null) {\n next.prev = prev;\n }\n\n this.last = item;\n }\n\n clear() {\n this.items = Object.create(null);\n this.first = null;\n this.last = null;\n this.size = 0;\n }\n\n delete(key) {\n if (Object.prototype.hasOwnProperty.call(this.items, key)) {\n const item = this.items[key];\n\n delete this.items[key];\n this.size--;\n\n if (item.prev !== null) {\n item.prev.next = item.next;\n }\n\n if (item.next !== null) {\n item.next.prev = item.prev;\n }\n\n if (this.first === item) {\n this.first = item.next;\n }\n\n if (this.last === item) {\n this.last = item.prev;\n }\n }\n }\n\n deleteMany(keys) {\n for (var i = 0; i < keys.length; i++) {\n this.delete(keys[i]);\n }\n }\n\n evict() {\n if (this.size > 0) {\n const item = this.first;\n\n delete this.items[item.key];\n\n if (--this.size === 0) {\n this.first = null;\n this.last = null;\n } else {\n this.first = item.next;\n this.first.prev = null;\n }\n }\n }\n\n expiresAt(key) {\n if (Object.prototype.hasOwnProperty.call(this.items, key)) {\n return this.items[key].expiry\n }\n }\n\n get(key) {\n if (Object.prototype.hasOwnProperty.call(this.items, key)) {\n const item = this.items[key];\n\n // Item has already expired\n if (this.ttl > 0 && item.expiry <= Date.now()) {\n this.delete(key);\n return\n }\n\n // Item is still fresh\n this.bumpLru(item);\n return item.value\n }\n }\n\n getMany(keys) {\n const result = [];\n\n for (var i = 0; i < keys.length; i++) {\n result.push(this.get(keys[i]));\n }\n\n return result\n }\n\n keys() {\n return Object.keys(this.items)\n }\n\n set(key, value) {\n // Replace existing item\n if (Object.prototype.hasOwnProperty.call(this.items, key)) {\n const item = this.items[key];\n item.value = value;\n\n item.expiry = this.ttl > 0 ? Date.now() + this.ttl : this.ttl;\n\n if (this.last !== item) {\n this.bumpLru(item);\n }\n\n return\n }\n\n // Add new item\n if (this.max > 0 && this.size === this.max) {\n this.evict();\n }\n\n const item = {\n expiry: this.ttl > 0 ? Date.now() + this.ttl : this.ttl,\n key: key,\n prev: this.last,\n next: null,\n value,\n };\n this.items[key] = item;\n\n if (++this.size === 1) {\n this.first = item;\n } else {\n this.last.next = item;\n }\n\n this.last = item;\n }\n}class HitStatisticsRecord {\n constructor() {\n this.records = {};\n }\n\n initForCache(cacheId, currentTimeStamp) {\n this.records[cacheId] = {\n [currentTimeStamp]: {\n cacheSize: 0,\n hits: 0,\n falsyHits: 0,\n emptyHits: 0,\n misses: 0,\n expirations: 0,\n evictions: 0,\n invalidateOne: 0,\n invalidateAll: 0,\n sets: 0,\n },\n };\n }\n\n resetForCache(cacheId) {\n for (let key of Object.keys(this.records[cacheId])) {\n this.records[cacheId][key] = {\n cacheSize: 0,\n hits: 0,\n falsyHits: 0,\n emptyHits: 0,\n misses: 0,\n expirations: 0,\n evictions: 0,\n invalidateOne: 0,\n invalidateAll: 0,\n sets: 0,\n };\n }\n }\n\n getStatistics() {\n return this.records\n }\n}/**\n *\n * @param {Date} date\n * @returns {string}\n */\nfunction getTimestamp(date) {\n return `${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, '0')}-${date\n .getDate()\n .toString()\n .padStart(2, '0')}`\n}class HitStatistics {\n constructor(cacheId, statisticTtlInHours, globalStatisticsRecord) {\n this.cacheId = cacheId;\n this.statisticTtlInHours = statisticTtlInHours;\n\n this.collectionStart = new Date();\n this.currentTimeStamp = getTimestamp(this.collectionStart);\n\n this.records = globalStatisticsRecord || new HitStatisticsRecord();\n this.records.initForCache(this.cacheId, this.currentTimeStamp);\n }\n\n get currentRecord() {\n // safety net\n /* c8 ignore next 14 */\n if (!this.records.records[this.cacheId][this.currentTimeStamp]) {\n this.records.records[this.cacheId][this.currentTimeStamp] = {\n cacheSize: 0,\n hits: 0,\n falsyHits: 0,\n emptyHits: 0,\n misses: 0,\n expirations: 0,\n evictions: 0,\n sets: 0,\n invalidateOne: 0,\n invalidateAll: 0,\n };\n }\n\n return this.records.records[this.cacheId][this.currentTimeStamp]\n }\n\n hoursPassed() {\n return (Date.now() - this.collectionStart) / 1000 / 60 / 60\n }\n\n addHit() {\n this.archiveIfNeeded();\n this.currentRecord.hits++;\n }\n addFalsyHit() {\n this.archiveIfNeeded();\n this.currentRecord.falsyHits++;\n }\n\n addEmptyHit() {\n this.archiveIfNeeded();\n this.currentRecord.emptyHits++;\n }\n\n addMiss() {\n this.archiveIfNeeded();\n this.currentRecord.misses++;\n }\n\n addEviction() {\n this.archiveIfNeeded();\n this.currentRecord.evictions++;\n }\n\n setCacheSize(currentSize) {\n this.archiveIfNeeded();\n this.currentRecord.cacheSize = currentSize;\n }\n\n addExpiration() {\n this.archiveIfNeeded();\n this.currentRecord.expirations++;\n }\n\n addSet() {\n this.archiveIfNeeded();\n this.currentRecord.sets++;\n }\n\n addInvalidateOne() {\n this.archiveIfNeeded();\n this.currentRecord.invalidateOne++;\n }\n\n addInvalidateAll() {\n this.archiveIfNeeded();\n this.currentRecord.invalidateAll++;\n }\n\n getStatistics() {\n return this.records.getStatistics()\n }\n\n archiveIfNeeded() {\n if (this.hoursPassed() >= this.statisticTtlInHours) {\n this.collectionStart = new Date();\n this.currentTimeStamp = getTimestamp(this.collectionStart);\n this.records.initForCache(this.cacheId, this.currentTimeStamp);\n }\n }\n}class LruObjectHitStatistics extends LruObject {\n constructor(max, ttlInMsecs, cacheId, globalStatisticsRecord, statisticTtlInHours) {\n super(max || 1000, ttlInMsecs || 0);\n\n if (!cacheId) {\n throw new Error('Cache id is mandatory')\n }\n\n this.hitStatistics = new HitStatistics(\n cacheId,\n statisticTtlInHours !== undefined ? statisticTtlInHours : 24,\n globalStatisticsRecord,\n );\n }\n\n getStatistics() {\n return this.hitStatistics.getStatistics()\n }\n\n set(key, value) {\n super.set(key, value);\n this.hitStatistics.addSet();\n this.hitStatistics.setCacheSize(this.size);\n }\n\n evict() {\n super.evict();\n this.hitStatistics.addEviction();\n this.hitStatistics.setCacheSize(this.size);\n }\n\n delete(key, isExpiration = false) {\n super.delete(key);\n\n if (!isExpiration) {\n this.hitStatistics.addInvalidateOne();\n }\n this.hitStatistics.setCacheSize(this.size);\n }\n\n clear() {\n super.clear();\n\n this.hitStatistics.addInvalidateAll();\n this.hitStatistics.setCacheSize(this.size);\n }\n\n get(key) {\n if (Object.prototype.hasOwnProperty.call(this.items, key)) {\n const item = this.items[key];\n\n // Item has already expired\n if (this.ttl > 0 && item.expiry <= Date.now()) {\n this.delete(key, true);\n this.hitStatistics.addExpiration();\n return\n }\n\n // Item is still fresh\n this.bumpLru(item);\n if (!item.value) {\n this.hitStatistics.addFalsyHit();\n }\n if (item.value === undefined || item.value === null || item.value === '') {\n this.hitStatistics.addEmptyHit();\n }\n this.hitStatistics.addHit();\n return item.value\n }\n this.hitStatistics.addMiss();\n }\n}class FifoObject {\n constructor(max = 1000, ttlInMsecs = 0) {\n if (isNaN(max) || max < 0) {\n throw new Error('Invalid max value')\n }\n\n if (isNaN(ttlInMsecs) || ttlInMsecs < 0) {\n throw new Error('Invalid ttl value')\n }\n\n this.first = null;\n this.items = Object.create(null);\n this.last = null;\n this.size = 0;\n this.max = max;\n this.ttl = ttlInMsecs;\n }\n\n clear() {\n this.items = Object.create(null);\n this.first = null;\n this.last = null;\n this.size = 0;\n }\n\n delete(key) {\n if (Object.prototype.hasOwnProperty.call(this.items, key)) {\n const deletedItem = this.items[key];\n\n delete this.items[key];\n this.size--;\n\n if (deletedItem.prev !== null) {\n deletedItem.prev.next = deletedItem.next;\n }\n\n if (deletedItem.next !== null) {\n deletedItem.next.prev = deletedItem.prev;\n }\n\n if (this.first === deletedItem) {\n this.first = deletedItem.next;\n }\n\n if (this.last === deletedItem) {\n this.last = deletedItem.prev;\n }\n }\n }\n\n deleteMany(keys) {\n for (var i = 0; i < keys.length; i++) {\n this.delete(keys[i]);\n }\n }\n\n evict() {\n if (this.size > 0) {\n const item = this.first;\n\n delete this.items[item.key];\n\n if (--this.size === 0) {\n this.first = null;\n this.last = null;\n } else {\n this.first = item.next;\n this.first.prev = null;\n }\n }\n }\n\n expiresAt(key) {\n if (Object.prototype.hasOwnProperty.call(this.items, key)) {\n return this.items[key].expiry\n }\n }\n\n get(key) {\n if (Object.prototype.hasOwnProperty.call(this.items, key)) {\n const item = this.items[key];\n\n if (this.ttl > 0 && item.expiry <= Date.now()) {\n this.delete(key);\n return\n }\n\n return item.value\n }\n }\n\n getMany(keys) {\n const result = [];\n\n for (var i = 0; i < keys.length; i++) {\n result.push(this.get(keys[i]));\n }\n\n return result\n }\n\n keys() {\n return Object.keys(this.items)\n }\n\n set(key, value) {\n // Replace existing item\n if (Object.prototype.hasOwnProperty.call(this.items, key)) {\n const item = this.items[key];\n item.value = value;\n\n item.expiry = this.ttl > 0 ? Date.now() + this.ttl : this.ttl;\n\n return\n }\n\n // Add new item\n if (this.max > 0 && this.size === this.max) {\n this.evict();\n }\n\n const item = {\n expiry: this.ttl > 0 ? Date.now() + this.ttl : this.ttl,\n key: key,\n prev: this.last,\n next: null,\n value,\n };\n this.items[key] = item;\n\n if (++this.size === 1) {\n this.first = item;\n } else {\n this.last.next = item;\n }\n\n this.last = item;\n }\n}export{FifoObject as Fifo,FifoMap,FifoObject,HitStatisticsRecord,LruObject as Lru,LruObjectHitStatistics as LruHitStatistics,LruMap,LruObject,LruObjectHitStatistics};","// pkg/dist-src/index.js\nimport { getUserAgent } from \"universal-user-agent\";\nimport { request as defaultRequest } from \"@octokit/request\";\nimport { createOAuthAppAuth } from \"@octokit/auth-oauth-app\";\n\n// pkg/dist-src/get-app-authentication.js\nimport githubAppJwt from \"universal-github-app-jwt\";\nasync function getAppAuthentication({\n appId,\n privateKey,\n timeDifference,\n createJwt\n}) {\n try {\n if (createJwt) {\n const { jwt, expiresAt } = await createJwt(appId, timeDifference);\n return {\n type: \"app\",\n token: jwt,\n appId,\n expiresAt\n };\n }\n const authOptions = {\n id: appId,\n privateKey\n };\n if (timeDifference) {\n Object.assign(authOptions, {\n now: Math.floor(Date.now() / 1e3) + timeDifference\n });\n }\n const appAuthentication = await githubAppJwt(authOptions);\n return {\n type: \"app\",\n token: appAuthentication.token,\n appId: appAuthentication.appId,\n expiresAt: new Date(appAuthentication.expiration * 1e3).toISOString()\n };\n } catch (error) {\n if (privateKey === \"-----BEGIN RSA PRIVATE KEY-----\") {\n throw new Error(\n \"The 'privateKey` option contains only the first line '-----BEGIN RSA PRIVATE KEY-----'. If you are setting it using a `.env` file, make sure it is set on a single line with newlines replaced by '\\n'\"\n );\n } else {\n throw error;\n }\n }\n}\n\n// pkg/dist-src/cache.js\nimport { Lru } from \"toad-cache\";\nfunction getCache() {\n return new Lru(\n // cache max. 15000 tokens, that will use less than 10mb memory\n 15e3,\n // Cache for 1 minute less than GitHub expiry\n 1e3 * 60 * 59\n );\n}\nasync function get(cache, options) {\n const cacheKey = optionsToCacheKey(options);\n const result = await cache.get(cacheKey);\n if (!result) {\n return;\n }\n const [\n token,\n createdAt,\n expiresAt,\n repositorySelection,\n permissionsString,\n singleFileName\n ] = result.split(\"|\");\n const permissions = options.permissions || permissionsString.split(/,/).reduce((permissions2, string) => {\n if (/!$/.test(string)) {\n permissions2[string.slice(0, -1)] = \"write\";\n } else {\n permissions2[string] = \"read\";\n }\n return permissions2;\n }, {});\n return {\n token,\n createdAt,\n expiresAt,\n permissions,\n repositoryIds: options.repositoryIds,\n repositoryNames: options.repositoryNames,\n singleFileName,\n repositorySelection\n };\n}\nasync function set(cache, options, data) {\n const key = optionsToCacheKey(options);\n const permissionsString = options.permissions ? \"\" : Object.keys(data.permissions).map(\n (name) => `${name}${data.permissions[name] === \"write\" ? \"!\" : \"\"}`\n ).join(\",\");\n const value = [\n data.token,\n data.createdAt,\n data.expiresAt,\n data.repositorySelection,\n permissionsString,\n data.singleFileName\n ].join(\"|\");\n await cache.set(key, value);\n}\nfunction optionsToCacheKey({\n installationId,\n permissions = {},\n repositoryIds = [],\n repositoryNames = []\n}) {\n const permissionsString = Object.keys(permissions).sort().map((name) => permissions[name] === \"read\" ? name : `${name}!`).join(\",\");\n const repositoryIdsString = repositoryIds.sort().join(\",\");\n const repositoryNamesString = repositoryNames.join(\",\");\n return [\n installationId,\n repositoryIdsString,\n repositoryNamesString,\n permissionsString\n ].filter(Boolean).join(\"|\");\n}\n\n// pkg/dist-src/to-token-authentication.js\nfunction toTokenAuthentication({\n installationId,\n token,\n createdAt,\n expiresAt,\n repositorySelection,\n permissions,\n repositoryIds,\n repositoryNames,\n singleFileName\n}) {\n return Object.assign(\n {\n type: \"token\",\n tokenType: \"installation\",\n token,\n installationId,\n permissions,\n createdAt,\n expiresAt,\n repositorySelection\n },\n repositoryIds ? { repositoryIds } : null,\n repositoryNames ? { repositoryNames } : null,\n singleFileName ? { singleFileName } : null\n );\n}\n\n// pkg/dist-src/get-installation-authentication.js\nasync function getInstallationAuthentication(state, options, customRequest) {\n const installationId = Number(options.installationId || state.installationId);\n if (!installationId) {\n throw new Error(\n \"[@octokit/auth-app] installationId option is required for installation authentication.\"\n );\n }\n if (options.factory) {\n const { type, factory, oauthApp, ...factoryAuthOptions } = {\n ...state,\n ...options\n };\n return factory(factoryAuthOptions);\n }\n const request = customRequest || state.request;\n return getInstallationAuthenticationConcurrently(\n state,\n { ...options, installationId },\n request\n );\n}\nvar pendingPromises = /* @__PURE__ */ new Map();\nfunction getInstallationAuthenticationConcurrently(state, options, request) {\n const cacheKey = optionsToCacheKey(options);\n if (pendingPromises.has(cacheKey)) {\n return pendingPromises.get(cacheKey);\n }\n const promise = getInstallationAuthenticationImpl(\n state,\n options,\n request\n ).finally(() => pendingPromises.delete(cacheKey));\n pendingPromises.set(cacheKey, promise);\n return promise;\n}\nasync function getInstallationAuthenticationImpl(state, options, request) {\n if (!options.refresh) {\n const result = await get(state.cache, options);\n if (result) {\n const {\n token: token2,\n createdAt: createdAt2,\n expiresAt: expiresAt2,\n permissions: permissions2,\n repositoryIds: repositoryIds2,\n repositoryNames: repositoryNames2,\n singleFileName: singleFileName2,\n repositorySelection: repositorySelection2\n } = result;\n return toTokenAuthentication({\n installationId: options.installationId,\n token: token2,\n createdAt: createdAt2,\n expiresAt: expiresAt2,\n permissions: permissions2,\n repositorySelection: repositorySelection2,\n repositoryIds: repositoryIds2,\n repositoryNames: repositoryNames2,\n singleFileName: singleFileName2\n });\n }\n }\n const appAuthentication = await getAppAuthentication(state);\n const payload = {\n installation_id: options.installationId,\n mediaType: {\n previews: [\"machine-man\"]\n },\n headers: {\n authorization: `bearer ${appAuthentication.token}`\n }\n };\n if (options.repositoryIds) {\n Object.assign(payload, { repository_ids: options.repositoryIds });\n }\n if (options.repositoryNames) {\n Object.assign(payload, {\n repositories: options.repositoryNames\n });\n }\n if (options.permissions) {\n Object.assign(payload, { permissions: options.permissions });\n }\n const {\n data: {\n token,\n expires_at: expiresAt,\n repositories,\n permissions: permissionsOptional,\n repository_selection: repositorySelectionOptional,\n single_file: singleFileName\n }\n } = await request(\n \"POST /app/installations/{installation_id}/access_tokens\",\n payload\n );\n const permissions = permissionsOptional || {};\n const repositorySelection = repositorySelectionOptional || \"all\";\n const repositoryIds = repositories ? repositories.map((r) => r.id) : void 0;\n const repositoryNames = repositories ? repositories.map((repo) => repo.name) : void 0;\n const createdAt = (/* @__PURE__ */ new Date()).toISOString();\n const cacheOptions = {\n token,\n createdAt,\n expiresAt,\n repositorySelection,\n permissions,\n repositoryIds,\n repositoryNames\n };\n if (singleFileName) {\n Object.assign(payload, { singleFileName });\n }\n await set(state.cache, options, cacheOptions);\n const cacheData = {\n installationId: options.installationId,\n token,\n createdAt,\n expiresAt,\n repositorySelection,\n permissions,\n repositoryIds,\n repositoryNames\n };\n if (singleFileName) {\n Object.assign(cacheData, { singleFileName });\n }\n return toTokenAuthentication(cacheData);\n}\n\n// pkg/dist-src/auth.js\nasync function auth(state, authOptions) {\n switch (authOptions.type) {\n case \"app\":\n return getAppAuthentication(state);\n case \"oauth-app\":\n return state.oauthApp({ type: \"oauth-app\" });\n case \"installation\":\n authOptions;\n return getInstallationAuthentication(state, {\n ...authOptions,\n type: \"installation\"\n });\n case \"oauth-user\":\n return state.oauthApp(authOptions);\n default:\n throw new Error(`Invalid auth type: ${authOptions.type}`);\n }\n}\n\n// pkg/dist-src/hook.js\nimport { requiresBasicAuth } from \"@octokit/auth-oauth-user\";\nimport { RequestError } from \"@octokit/request-error\";\n\n// pkg/dist-src/requires-app-auth.js\nvar PATHS = [\n \"/app\",\n \"/app/hook/config\",\n \"/app/hook/deliveries\",\n \"/app/hook/deliveries/{delivery_id}\",\n \"/app/hook/deliveries/{delivery_id}/attempts\",\n \"/app/installations\",\n \"/app/installations/{installation_id}\",\n \"/app/installations/{installation_id}/access_tokens\",\n \"/app/installations/{installation_id}/suspended\",\n \"/app/installation-requests\",\n \"/marketplace_listing/accounts/{account_id}\",\n \"/marketplace_listing/plan\",\n \"/marketplace_listing/plans\",\n \"/marketplace_listing/plans/{plan_id}/accounts\",\n \"/marketplace_listing/stubbed/accounts/{account_id}\",\n \"/marketplace_listing/stubbed/plan\",\n \"/marketplace_listing/stubbed/plans\",\n \"/marketplace_listing/stubbed/plans/{plan_id}/accounts\",\n \"/orgs/{org}/installation\",\n \"/repos/{owner}/{repo}/installation\",\n \"/users/{username}/installation\"\n];\nfunction routeMatcher(paths) {\n const regexes = paths.map(\n (p) => p.split(\"/\").map((c) => c.startsWith(\"{\") ? \"(?:.+?)\" : c).join(\"/\")\n );\n const regex = `^(?:${regexes.map((r) => `(?:${r})`).join(\"|\")})$`;\n return new RegExp(regex, \"i\");\n}\nvar REGEX = routeMatcher(PATHS);\nfunction requiresAppAuth(url) {\n return !!url && REGEX.test(url.split(\"?\")[0]);\n}\n\n// pkg/dist-src/hook.js\nvar FIVE_SECONDS_IN_MS = 5 * 1e3;\nfunction isNotTimeSkewError(error) {\n return !(error.message.match(\n /'Expiration time' claim \\('exp'\\) must be a numeric value representing the future time at which the assertion expires/\n ) || error.message.match(\n /'Issued at' claim \\('iat'\\) must be an Integer representing the time that the assertion was issued/\n ));\n}\nasync function hook(state, request, route, parameters) {\n const endpoint = request.endpoint.merge(route, parameters);\n const url = endpoint.url;\n if (/\\/login\\/oauth\\/access_token$/.test(url)) {\n return request(endpoint);\n }\n if (requiresAppAuth(url.replace(request.endpoint.DEFAULTS.baseUrl, \"\"))) {\n const { token: token2 } = await getAppAuthentication(state);\n endpoint.headers.authorization = `bearer ${token2}`;\n let response;\n try {\n response = await request(endpoint);\n } catch (error) {\n if (isNotTimeSkewError(error)) {\n throw error;\n }\n if (typeof error.response.headers.date === \"undefined\") {\n throw error;\n }\n const diff = Math.floor(\n (Date.parse(error.response.headers.date) - Date.parse((/* @__PURE__ */ new Date()).toString())) / 1e3\n );\n state.log.warn(error.message);\n state.log.warn(\n `[@octokit/auth-app] GitHub API time and system time are different by ${diff} seconds. Retrying request with the difference accounted for.`\n );\n const { token: token3 } = await getAppAuthentication({\n ...state,\n timeDifference: diff\n });\n endpoint.headers.authorization = `bearer ${token3}`;\n return request(endpoint);\n }\n return response;\n }\n if (requiresBasicAuth(url)) {\n const authentication = await state.oauthApp({ type: \"oauth-app\" });\n endpoint.headers.authorization = authentication.headers.authorization;\n return request(endpoint);\n }\n const { token, createdAt } = await getInstallationAuthentication(\n state,\n // @ts-expect-error TBD\n {},\n request.defaults({ baseUrl: endpoint.baseUrl })\n );\n endpoint.headers.authorization = `token ${token}`;\n return sendRequestWithRetries(\n state,\n request,\n endpoint,\n createdAt\n );\n}\nasync function sendRequestWithRetries(state, request, options, createdAt, retries = 0) {\n const timeSinceTokenCreationInMs = +/* @__PURE__ */ new Date() - +new Date(createdAt);\n try {\n return await request(options);\n } catch (error) {\n if (error.status !== 401) {\n throw error;\n }\n if (timeSinceTokenCreationInMs >= FIVE_SECONDS_IN_MS) {\n if (retries > 0) {\n error.message = `After ${retries} retries within ${timeSinceTokenCreationInMs / 1e3}s of creating the installation access token, the response remains 401. At this point, the cause may be an authentication problem or a system outage. Please check https://www.githubstatus.com for status information`;\n }\n throw error;\n }\n ++retries;\n const awaitTime = retries * 1e3;\n state.log.warn(\n `[@octokit/auth-app] Retrying after 401 response to account for token replication delay (retry: ${retries}, wait: ${awaitTime / 1e3}s)`\n );\n await new Promise((resolve) => setTimeout(resolve, awaitTime));\n return sendRequestWithRetries(state, request, options, createdAt, retries);\n }\n}\n\n// pkg/dist-src/version.js\nvar VERSION = \"8.1.0\";\n\n// pkg/dist-src/index.js\nimport { createOAuthUserAuth } from \"@octokit/auth-oauth-user\";\nfunction createAppAuth(options) {\n if (!options.appId) {\n throw new Error(\"[@octokit/auth-app] appId option is required\");\n }\n if (!options.privateKey && !options.createJwt) {\n throw new Error(\"[@octokit/auth-app] privateKey option is required\");\n } else if (options.privateKey && options.createJwt) {\n throw new Error(\n \"[@octokit/auth-app] privateKey and createJwt options are mutually exclusive\"\n );\n }\n if (\"installationId\" in options && !options.installationId) {\n throw new Error(\n \"[@octokit/auth-app] installationId is set to a falsy value\"\n );\n }\n const log = options.log || {};\n if (typeof log.warn !== \"function\") {\n log.warn = console.warn.bind(console);\n }\n const request = options.request || defaultRequest.defaults({\n headers: {\n \"user-agent\": `octokit-auth-app.js/${VERSION} ${getUserAgent()}`\n }\n });\n const state = Object.assign(\n {\n request,\n cache: getCache()\n },\n options,\n options.installationId ? { installationId: Number(options.installationId) } : {},\n {\n log,\n oauthApp: createOAuthAppAuth({\n clientType: \"github-app\",\n clientId: options.clientId || \"\",\n clientSecret: options.clientSecret || \"\",\n request\n })\n }\n );\n return Object.assign(auth.bind(null, state), {\n hook: hook.bind(null, state)\n });\n}\nexport {\n createAppAuth,\n createOAuthUserAuth\n};\n","// pkg/dist-src/auth.js\nasync function auth(reason) {\n return {\n type: \"unauthenticated\",\n reason\n };\n}\n\n// pkg/dist-src/is-rate-limit-error.js\nfunction isRateLimitError(error) {\n if (error.status !== 403) {\n return false;\n }\n if (!error.response) {\n return false;\n }\n return error.response.headers[\"x-ratelimit-remaining\"] === \"0\";\n}\n\n// pkg/dist-src/is-abuse-limit-error.js\nvar REGEX_ABUSE_LIMIT_MESSAGE = /\\babuse\\b/i;\nfunction isAbuseLimitError(error) {\n if (error.status !== 403) {\n return false;\n }\n return REGEX_ABUSE_LIMIT_MESSAGE.test(error.message);\n}\n\n// pkg/dist-src/hook.js\nasync function hook(reason, request, route, parameters) {\n const endpoint = request.endpoint.merge(\n route,\n parameters\n );\n return request(endpoint).catch((error) => {\n if (error.status === 404) {\n error.message = `Not found. May be due to lack of authentication. Reason: ${reason}`;\n throw error;\n }\n if (isRateLimitError(error)) {\n error.message = `API rate limit exceeded. This maybe caused by the lack of authentication. Reason: ${reason}`;\n throw error;\n }\n if (isAbuseLimitError(error)) {\n error.message = `You have triggered an abuse detection mechanism. This maybe caused by the lack of authentication. Reason: ${reason}`;\n throw error;\n }\n if (error.status === 401) {\n error.message = `Unauthorized. \"${endpoint.method} ${endpoint.url}\" failed most likely due to lack of authentication. Reason: ${reason}`;\n throw error;\n }\n if (error.status >= 400 && error.status < 500) {\n error.message = error.message.replace(\n /\\.?$/,\n `. May be caused by lack of authentication (${reason}).`\n );\n }\n throw error;\n });\n}\n\n// pkg/dist-src/index.js\nvar createUnauthenticatedAuth = function createUnauthenticatedAuth2(options) {\n if (!options || !options.reason) {\n throw new Error(\n \"[@octokit/auth-unauthenticated] No reason passed to createUnauthenticatedAuth\"\n );\n }\n return Object.assign(auth.bind(null, options.reason), {\n hook: hook.bind(null, options.reason)\n });\n};\nexport {\n createUnauthenticatedAuth\n};\n","// pkg/dist-src/index.js\nimport { createOAuthAppAuth } from \"@octokit/auth-oauth-app\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"8.0.1\";\n\n// pkg/dist-src/add-event-handler.js\nfunction addEventHandler(state, eventName, eventHandler) {\n if (Array.isArray(eventName)) {\n for (const singleEventName of eventName) {\n addEventHandler(state, singleEventName, eventHandler);\n }\n return;\n }\n if (!state.eventHandlers[eventName]) {\n state.eventHandlers[eventName] = [];\n }\n state.eventHandlers[eventName].push(eventHandler);\n}\n\n// pkg/dist-src/oauth-app-octokit.js\nimport { Octokit } from \"@octokit/core\";\nimport { getUserAgent } from \"universal-user-agent\";\nvar OAuthAppOctokit = Octokit.defaults({\n userAgent: `octokit-oauth-app.js/${VERSION} ${getUserAgent()}`\n});\n\n// pkg/dist-src/methods/get-user-octokit.js\nimport { createOAuthUserAuth } from \"@octokit/auth-oauth-user\";\n\n// pkg/dist-src/emit-event.js\nasync function emitEvent(state, context) {\n const { name, action } = context;\n if (state.eventHandlers[`${name}.${action}`]) {\n for (const eventHandler of state.eventHandlers[`${name}.${action}`]) {\n await eventHandler(context);\n }\n }\n if (state.eventHandlers[name]) {\n for (const eventHandler of state.eventHandlers[name]) {\n await eventHandler(context);\n }\n }\n}\n\n// pkg/dist-src/methods/get-user-octokit.js\nasync function getUserOctokitWithState(state, options) {\n return state.octokit.auth({\n type: \"oauth-user\",\n ...options,\n async factory(options2) {\n const octokit = new state.Octokit({\n authStrategy: createOAuthUserAuth,\n auth: options2\n });\n const authentication = await octokit.auth({\n type: \"get\"\n });\n await emitEvent(state, {\n name: \"token\",\n action: \"created\",\n token: authentication.token,\n scopes: authentication.scopes,\n authentication,\n octokit\n });\n return octokit;\n }\n });\n}\n\n// pkg/dist-src/methods/get-web-flow-authorization-url.js\nimport * as OAuthMethods from \"@octokit/oauth-methods\";\nfunction getWebFlowAuthorizationUrlWithState(state, options) {\n const optionsWithDefaults = {\n clientId: state.clientId,\n request: state.octokit.request,\n ...options,\n allowSignup: state.allowSignup ?? options.allowSignup,\n redirectUrl: options.redirectUrl ?? state.redirectUrl,\n scopes: options.scopes ?? state.defaultScopes\n };\n return OAuthMethods.getWebFlowAuthorizationUrl({\n clientType: state.clientType,\n ...optionsWithDefaults\n });\n}\n\n// pkg/dist-src/methods/create-token.js\nimport * as OAuthAppAuth from \"@octokit/auth-oauth-app\";\nasync function createTokenWithState(state, options) {\n const authentication = await state.octokit.auth({\n type: \"oauth-user\",\n ...options\n });\n await emitEvent(state, {\n name: \"token\",\n action: \"created\",\n token: authentication.token,\n scopes: authentication.scopes,\n authentication,\n octokit: new state.Octokit({\n authStrategy: OAuthAppAuth.createOAuthUserAuth,\n auth: {\n clientType: state.clientType,\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n token: authentication.token,\n scopes: authentication.scopes,\n refreshToken: authentication.refreshToken,\n expiresAt: authentication.expiresAt,\n refreshTokenExpiresAt: authentication.refreshTokenExpiresAt\n }\n })\n });\n return { authentication };\n}\n\n// pkg/dist-src/methods/check-token.js\nimport * as OAuthMethods2 from \"@octokit/oauth-methods\";\nasync function checkTokenWithState(state, options) {\n const result = await OAuthMethods2.checkToken({\n // @ts-expect-error not worth the extra code to appease TS\n clientType: state.clientType,\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n request: state.octokit.request,\n ...options\n });\n Object.assign(result.authentication, { type: \"token\", tokenType: \"oauth\" });\n return result;\n}\n\n// pkg/dist-src/methods/reset-token.js\nimport * as OAuthMethods3 from \"@octokit/oauth-methods\";\nimport { createOAuthUserAuth as createOAuthUserAuth3 } from \"@octokit/auth-oauth-user\";\nasync function resetTokenWithState(state, options) {\n const optionsWithDefaults = {\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n request: state.octokit.request,\n ...options\n };\n if (state.clientType === \"oauth-app\") {\n const response2 = await OAuthMethods3.resetToken({\n clientType: \"oauth-app\",\n ...optionsWithDefaults\n });\n const authentication2 = Object.assign(response2.authentication, {\n type: \"token\",\n tokenType: \"oauth\"\n });\n await emitEvent(state, {\n name: \"token\",\n action: \"reset\",\n token: response2.authentication.token,\n scopes: response2.authentication.scopes || void 0,\n authentication: authentication2,\n octokit: new state.Octokit({\n authStrategy: createOAuthUserAuth3,\n auth: {\n clientType: state.clientType,\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n token: response2.authentication.token,\n scopes: response2.authentication.scopes\n }\n })\n });\n return { ...response2, authentication: authentication2 };\n }\n const response = await OAuthMethods3.resetToken({\n clientType: \"github-app\",\n ...optionsWithDefaults\n });\n const authentication = Object.assign(response.authentication, {\n type: \"token\",\n tokenType: \"oauth\"\n });\n await emitEvent(state, {\n name: \"token\",\n action: \"reset\",\n token: response.authentication.token,\n authentication,\n octokit: new state.Octokit({\n authStrategy: createOAuthUserAuth3,\n auth: {\n clientType: state.clientType,\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n token: response.authentication.token\n }\n })\n });\n return { ...response, authentication };\n}\n\n// pkg/dist-src/methods/refresh-token.js\nimport * as OAuthMethods4 from \"@octokit/oauth-methods\";\nimport { createOAuthUserAuth as createOAuthUserAuth4 } from \"@octokit/auth-oauth-user\";\nasync function refreshTokenWithState(state, options) {\n if (state.clientType === \"oauth-app\") {\n throw new Error(\n \"[@octokit/oauth-app] app.refreshToken() is not supported for OAuth Apps\"\n );\n }\n const response = await OAuthMethods4.refreshToken({\n clientType: \"github-app\",\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n request: state.octokit.request,\n refreshToken: options.refreshToken\n });\n const authentication = Object.assign(response.authentication, {\n type: \"token\",\n tokenType: \"oauth\"\n });\n await emitEvent(state, {\n name: \"token\",\n action: \"refreshed\",\n token: response.authentication.token,\n authentication,\n octokit: new state.Octokit({\n authStrategy: createOAuthUserAuth4,\n auth: {\n clientType: state.clientType,\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n token: response.authentication.token\n }\n })\n });\n return { ...response, authentication };\n}\n\n// pkg/dist-src/methods/scope-token.js\nimport * as OAuthMethods5 from \"@octokit/oauth-methods\";\nimport { createOAuthUserAuth as createOAuthUserAuth5 } from \"@octokit/auth-oauth-user\";\nasync function scopeTokenWithState(state, options) {\n if (state.clientType === \"oauth-app\") {\n throw new Error(\n \"[@octokit/oauth-app] app.scopeToken() is not supported for OAuth Apps\"\n );\n }\n const response = await OAuthMethods5.scopeToken({\n clientType: \"github-app\",\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n request: state.octokit.request,\n ...options\n });\n const authentication = Object.assign(response.authentication, {\n type: \"token\",\n tokenType: \"oauth\"\n });\n await emitEvent(state, {\n name: \"token\",\n action: \"scoped\",\n token: response.authentication.token,\n authentication,\n octokit: new state.Octokit({\n authStrategy: createOAuthUserAuth5,\n auth: {\n clientType: state.clientType,\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n token: response.authentication.token\n }\n })\n });\n return { ...response, authentication };\n}\n\n// pkg/dist-src/methods/delete-token.js\nimport * as OAuthMethods6 from \"@octokit/oauth-methods\";\nimport { createUnauthenticatedAuth } from \"@octokit/auth-unauthenticated\";\nasync function deleteTokenWithState(state, options) {\n const optionsWithDefaults = {\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n request: state.octokit.request,\n ...options\n };\n const response = state.clientType === \"oauth-app\" ? await OAuthMethods6.deleteToken({\n clientType: \"oauth-app\",\n ...optionsWithDefaults\n }) : (\n /* v8 ignore next 4 */\n await OAuthMethods6.deleteToken({\n clientType: \"github-app\",\n ...optionsWithDefaults\n })\n );\n await emitEvent(state, {\n name: \"token\",\n action: \"deleted\",\n token: options.token,\n octokit: new state.Octokit({\n authStrategy: createUnauthenticatedAuth,\n auth: {\n reason: `Handling \"token.deleted\" event. The access for the token has been revoked.`\n }\n })\n });\n return response;\n}\n\n// pkg/dist-src/methods/delete-authorization.js\nimport * as OAuthMethods7 from \"@octokit/oauth-methods\";\nimport { createUnauthenticatedAuth as createUnauthenticatedAuth2 } from \"@octokit/auth-unauthenticated\";\nasync function deleteAuthorizationWithState(state, options) {\n const optionsWithDefaults = {\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n request: state.octokit.request,\n ...options\n };\n const response = state.clientType === \"oauth-app\" ? await OAuthMethods7.deleteAuthorization({\n clientType: \"oauth-app\",\n ...optionsWithDefaults\n }) : (\n /* v8 ignore next 4 */\n await OAuthMethods7.deleteAuthorization({\n clientType: \"github-app\",\n ...optionsWithDefaults\n })\n );\n await emitEvent(state, {\n name: \"token\",\n action: \"deleted\",\n token: options.token,\n octokit: new state.Octokit({\n authStrategy: createUnauthenticatedAuth2,\n auth: {\n reason: `Handling \"token.deleted\" event. The access for the token has been revoked.`\n }\n })\n });\n await emitEvent(state, {\n name: \"authorization\",\n action: \"deleted\",\n token: options.token,\n octokit: new state.Octokit({\n authStrategy: createUnauthenticatedAuth2,\n auth: {\n reason: `Handling \"authorization.deleted\" event. The access for the app has been revoked.`\n }\n })\n });\n return response;\n}\n\n// pkg/dist-src/middleware/unknown-route-response.js\nfunction unknownRouteResponse(request) {\n return {\n status: 404,\n headers: { \"content-type\": \"application/json\" },\n text: JSON.stringify({\n error: `Unknown route: ${request.method} ${request.url}`\n })\n };\n}\n\n// pkg/dist-src/middleware/handle-request.js\nasync function handleRequest(app, { pathPrefix = \"/api/github/oauth\" }, request) {\n let { pathname } = new URL(request.url, \"http://localhost\");\n if (!pathname.startsWith(`${pathPrefix}/`)) {\n return void 0;\n }\n if (request.method === \"OPTIONS\") {\n return {\n status: 200,\n headers: {\n \"access-control-allow-origin\": \"*\",\n \"access-control-allow-methods\": \"*\",\n \"access-control-allow-headers\": \"Content-Type, User-Agent, Authorization\"\n }\n };\n }\n pathname = pathname.slice(pathPrefix.length + 1);\n const route = [request.method, pathname].join(\" \");\n const routes = {\n getLogin: `GET login`,\n getCallback: `GET callback`,\n createToken: `POST token`,\n getToken: `GET token`,\n patchToken: `PATCH token`,\n patchRefreshToken: `PATCH refresh-token`,\n scopeToken: `POST token/scoped`,\n deleteToken: `DELETE token`,\n deleteGrant: `DELETE grant`\n };\n if (!Object.values(routes).includes(route)) {\n return unknownRouteResponse(request);\n }\n let json;\n try {\n const text = await request.text();\n json = text ? JSON.parse(text) : {};\n } catch (error) {\n return {\n status: 400,\n headers: {\n \"content-type\": \"application/json\",\n \"access-control-allow-origin\": \"*\"\n },\n text: JSON.stringify({\n error: \"[@octokit/oauth-app] request error\"\n })\n };\n }\n const { searchParams } = new URL(request.url, \"http://localhost\");\n const query = Object.fromEntries(searchParams);\n const headers = request.headers;\n try {\n if (route === routes.getLogin) {\n const authOptions = {};\n if (query.state) {\n Object.assign(authOptions, { state: query.state });\n }\n if (query.scopes) {\n Object.assign(authOptions, { scopes: query.scopes.split(\",\") });\n }\n if (query.allowSignup) {\n Object.assign(authOptions, {\n allowSignup: query.allowSignup === \"true\"\n });\n }\n if (query.redirectUrl) {\n Object.assign(authOptions, { redirectUrl: query.redirectUrl });\n }\n const { url } = app.getWebFlowAuthorizationUrl(authOptions);\n return { status: 302, headers: { location: url } };\n }\n if (route === routes.getCallback) {\n if (query.error) {\n throw new Error(\n `[@octokit/oauth-app] ${query.error} ${query.error_description}`\n );\n }\n if (!query.code) {\n throw new Error('[@octokit/oauth-app] \"code\" parameter is required');\n }\n const {\n authentication: { token: token2 }\n } = await app.createToken({\n code: query.code\n });\n return {\n status: 200,\n headers: {\n \"content-type\": \"text/html\"\n },\n text: `Token created successfully
\n\nYour token is: ${token2}. Copy it now as it cannot be shown again.
`\n };\n }\n if (route === routes.createToken) {\n const { code, redirectUrl } = json;\n if (!code) {\n throw new Error('[@octokit/oauth-app] \"code\" parameter is required');\n }\n const result = await app.createToken({\n code,\n redirectUrl\n });\n delete result.authentication.clientSecret;\n return {\n status: 201,\n headers: {\n \"content-type\": \"application/json\",\n \"access-control-allow-origin\": \"*\"\n },\n text: JSON.stringify(result)\n };\n }\n if (route === routes.getToken) {\n const token2 = headers.authorization?.substr(\"token \".length);\n if (!token2) {\n throw new Error(\n '[@octokit/oauth-app] \"Authorization\" header is required'\n );\n }\n const result = await app.checkToken({\n token: token2\n });\n delete result.authentication.clientSecret;\n return {\n status: 200,\n headers: {\n \"content-type\": \"application/json\",\n \"access-control-allow-origin\": \"*\"\n },\n text: JSON.stringify(result)\n };\n }\n if (route === routes.patchToken) {\n const token2 = headers.authorization?.substr(\"token \".length);\n if (!token2) {\n throw new Error(\n '[@octokit/oauth-app] \"Authorization\" header is required'\n );\n }\n const result = await app.resetToken({ token: token2 });\n delete result.authentication.clientSecret;\n return {\n status: 200,\n headers: {\n \"content-type\": \"application/json\",\n \"access-control-allow-origin\": \"*\"\n },\n text: JSON.stringify(result)\n };\n }\n if (route === routes.patchRefreshToken) {\n const token2 = headers.authorization?.substr(\"token \".length);\n if (!token2) {\n throw new Error(\n '[@octokit/oauth-app] \"Authorization\" header is required'\n );\n }\n const { refreshToken: refreshToken2 } = json;\n if (!refreshToken2) {\n throw new Error(\n \"[@octokit/oauth-app] refreshToken must be sent in request body\"\n );\n }\n const result = await app.refreshToken({ refreshToken: refreshToken2 });\n delete result.authentication.clientSecret;\n return {\n status: 200,\n headers: {\n \"content-type\": \"application/json\",\n \"access-control-allow-origin\": \"*\"\n },\n text: JSON.stringify(result)\n };\n }\n if (route === routes.scopeToken) {\n const token2 = headers.authorization?.substr(\"token \".length);\n if (!token2) {\n throw new Error(\n '[@octokit/oauth-app] \"Authorization\" header is required'\n );\n }\n const result = await app.scopeToken({\n token: token2,\n ...json\n });\n delete result.authentication.clientSecret;\n return {\n status: 200,\n headers: {\n \"content-type\": \"application/json\",\n \"access-control-allow-origin\": \"*\"\n },\n text: JSON.stringify(result)\n };\n }\n if (route === routes.deleteToken) {\n const token2 = headers.authorization?.substr(\"token \".length);\n if (!token2) {\n throw new Error(\n '[@octokit/oauth-app] \"Authorization\" header is required'\n );\n }\n await app.deleteToken({\n token: token2\n });\n return {\n status: 204,\n headers: { \"access-control-allow-origin\": \"*\" }\n };\n }\n const token = headers.authorization?.substr(\"token \".length);\n if (!token) {\n throw new Error(\n '[@octokit/oauth-app] \"Authorization\" header is required'\n );\n }\n await app.deleteAuthorization({\n token\n });\n return {\n status: 204,\n headers: { \"access-control-allow-origin\": \"*\" }\n };\n } catch (error) {\n return {\n status: 400,\n headers: {\n \"content-type\": \"application/json\",\n \"access-control-allow-origin\": \"*\"\n },\n text: JSON.stringify({ error: error.message })\n };\n }\n}\n\n// pkg/dist-src/middleware/node/parse-request.js\nfunction parseRequest(request) {\n const { method, url, headers } = request;\n async function text() {\n const text2 = await new Promise((resolve, reject) => {\n let bodyChunks = [];\n request.on(\"error\", reject).on(\"data\", (chunk) => bodyChunks.push(chunk)).on(\"end\", () => resolve(Buffer.concat(bodyChunks).toString()));\n });\n return text2;\n }\n return { method, url, headers, text };\n}\n\n// pkg/dist-src/middleware/node/send-response.js\nfunction sendResponse(octokitResponse, response) {\n response.writeHead(octokitResponse.status, octokitResponse.headers);\n response.end(octokitResponse.text);\n}\n\n// pkg/dist-src/middleware/node/index.js\nfunction createNodeMiddleware(app, options = {}) {\n return async function(request, response, next) {\n const octokitRequest = await parseRequest(request);\n const octokitResponse = await handleRequest(app, options, octokitRequest);\n if (octokitResponse) {\n sendResponse(octokitResponse, response);\n return true;\n } else {\n next?.();\n return false;\n }\n };\n}\n\n// pkg/dist-src/middleware/web-worker/parse-request.js\nfunction parseRequest2(request) {\n const headers = Object.fromEntries(request.headers.entries());\n return {\n method: request.method,\n url: request.url,\n headers,\n text: () => request.text()\n };\n}\n\n// pkg/dist-src/middleware/web-worker/send-response.js\nfunction sendResponse2(octokitResponse) {\n const responseOptions = {\n status: octokitResponse.status\n };\n if (octokitResponse.headers) {\n Object.assign(responseOptions, { headers: octokitResponse.headers });\n }\n return new Response(octokitResponse.text, responseOptions);\n}\n\n// pkg/dist-src/middleware/web-worker/index.js\nfunction createWebWorkerHandler(app, options = {}) {\n return async function(request) {\n const octokitRequest = await parseRequest2(request);\n const octokitResponse = await handleRequest(app, options, octokitRequest);\n return octokitResponse ? sendResponse2(octokitResponse) : void 0;\n };\n}\n\n// pkg/dist-src/middleware/aws-lambda/api-gateway-v2-parse-request.js\nfunction parseRequest3(request) {\n const { method } = request.requestContext.http;\n let url = request.rawPath;\n const { stage } = request.requestContext;\n if (url.startsWith(\"/\" + stage)) url = url.substring(stage.length + 1);\n if (request.rawQueryString) url += \"?\" + request.rawQueryString;\n const headers = request.headers;\n const text = async () => request.body || \"\";\n return { method, url, headers, text };\n}\n\n// pkg/dist-src/middleware/aws-lambda/api-gateway-v2-send-response.js\nfunction sendResponse3(octokitResponse) {\n return {\n statusCode: octokitResponse.status,\n headers: octokitResponse.headers,\n body: octokitResponse.text\n };\n}\n\n// pkg/dist-src/middleware/aws-lambda/api-gateway-v2.js\nfunction createAWSLambdaAPIGatewayV2Handler(app, options = {}) {\n return async function(event) {\n const request = parseRequest3(event);\n const response = await handleRequest(app, options, request);\n return response ? sendResponse3(response) : void 0;\n };\n}\n\n// pkg/dist-src/index.js\nvar OAuthApp = class {\n static VERSION = VERSION;\n static defaults(defaults) {\n const OAuthAppWithDefaults = class extends this {\n constructor(...args) {\n super({\n ...defaults,\n ...args[0]\n });\n }\n };\n return OAuthAppWithDefaults;\n }\n constructor(options) {\n const Octokit2 = options.Octokit || OAuthAppOctokit;\n this.type = options.clientType || \"oauth-app\";\n const octokit = new Octokit2({\n authStrategy: createOAuthAppAuth,\n auth: {\n clientType: this.type,\n clientId: options.clientId,\n clientSecret: options.clientSecret\n }\n });\n const state = {\n clientType: this.type,\n clientId: options.clientId,\n clientSecret: options.clientSecret,\n // @ts-expect-error defaultScopes not permitted for GitHub Apps\n defaultScopes: options.defaultScopes || [],\n allowSignup: options.allowSignup,\n baseUrl: options.baseUrl,\n redirectUrl: options.redirectUrl,\n log: options.log,\n Octokit: Octokit2,\n octokit,\n eventHandlers: {}\n };\n this.on = addEventHandler.bind(null, state);\n this.octokit = octokit;\n this.getUserOctokit = getUserOctokitWithState.bind(null, state);\n this.getWebFlowAuthorizationUrl = getWebFlowAuthorizationUrlWithState.bind(\n null,\n state\n );\n this.createToken = createTokenWithState.bind(\n null,\n state\n );\n this.checkToken = checkTokenWithState.bind(\n null,\n state\n );\n this.resetToken = resetTokenWithState.bind(\n null,\n state\n );\n this.refreshToken = refreshTokenWithState.bind(\n null,\n state\n );\n this.scopeToken = scopeTokenWithState.bind(\n null,\n state\n );\n this.deleteToken = deleteTokenWithState.bind(null, state);\n this.deleteAuthorization = deleteAuthorizationWithState.bind(null, state);\n }\n // assigned during constructor\n type;\n on;\n octokit;\n getUserOctokit;\n getWebFlowAuthorizationUrl;\n createToken;\n checkToken;\n resetToken;\n refreshToken;\n scopeToken;\n deleteToken;\n deleteAuthorization;\n};\nexport {\n OAuthApp,\n createAWSLambdaAPIGatewayV2Handler,\n createNodeMiddleware,\n createWebWorkerHandler,\n handleRequest,\n sendResponse as sendNodeResponse,\n unknownRouteResponse\n};\n","// pkg/dist-src/node/sign.js\nimport { createHmac } from \"node:crypto\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"6.0.0\";\n\n// pkg/dist-src/node/sign.js\nasync function sign(secret, payload) {\n if (!secret || !payload) {\n throw new TypeError(\n \"[@octokit/webhooks-methods] secret & payload required for sign()\"\n );\n }\n if (typeof payload !== \"string\") {\n throw new TypeError(\"[@octokit/webhooks-methods] payload must be a string\");\n }\n const algorithm = \"sha256\";\n return `${algorithm}=${createHmac(algorithm, secret).update(payload).digest(\"hex\")}`;\n}\nsign.VERSION = VERSION;\n\n// pkg/dist-src/node/verify.js\nimport { timingSafeEqual } from \"node:crypto\";\nimport { Buffer } from \"node:buffer\";\nasync function verify(secret, eventPayload, signature) {\n if (!secret || !eventPayload || !signature) {\n throw new TypeError(\n \"[@octokit/webhooks-methods] secret, eventPayload & signature required\"\n );\n }\n if (typeof eventPayload !== \"string\") {\n throw new TypeError(\n \"[@octokit/webhooks-methods] eventPayload must be a string\"\n );\n }\n const signatureBuffer = Buffer.from(signature);\n const verificationBuffer = Buffer.from(await sign(secret, eventPayload));\n if (signatureBuffer.length !== verificationBuffer.length) {\n return false;\n }\n return timingSafeEqual(signatureBuffer, verificationBuffer);\n}\nverify.VERSION = VERSION;\n\n// pkg/dist-src/index.js\nasync function verifyWithFallback(secret, payload, signature, additionalSecrets) {\n const firstPass = await verify(secret, payload, signature);\n if (firstPass) {\n return true;\n }\n if (additionalSecrets !== void 0) {\n for (const s of additionalSecrets) {\n const v = await verify(s, payload, signature);\n if (v) {\n return v;\n }\n }\n }\n return false;\n}\nexport {\n sign,\n verify,\n verifyWithFallback\n};\n","// pkg/dist-src/create-logger.js\nvar createLogger = (logger = {}) => {\n if (typeof logger.debug !== \"function\") {\n logger.debug = () => {\n };\n }\n if (typeof logger.info !== \"function\") {\n logger.info = () => {\n };\n }\n if (typeof logger.warn !== \"function\") {\n logger.warn = console.warn.bind(console);\n }\n if (typeof logger.error !== \"function\") {\n logger.error = console.error.bind(console);\n }\n return logger;\n};\n\n// pkg/dist-src/generated/webhook-names.js\nvar emitterEventNames = [\n \"branch_protection_configuration\",\n \"branch_protection_configuration.disabled\",\n \"branch_protection_configuration.enabled\",\n \"branch_protection_rule\",\n \"branch_protection_rule.created\",\n \"branch_protection_rule.deleted\",\n \"branch_protection_rule.edited\",\n \"check_run\",\n \"check_run.completed\",\n \"check_run.created\",\n \"check_run.requested_action\",\n \"check_run.rerequested\",\n \"check_suite\",\n \"check_suite.completed\",\n \"check_suite.requested\",\n \"check_suite.rerequested\",\n \"code_scanning_alert\",\n \"code_scanning_alert.appeared_in_branch\",\n \"code_scanning_alert.closed_by_user\",\n \"code_scanning_alert.created\",\n \"code_scanning_alert.fixed\",\n \"code_scanning_alert.reopened\",\n \"code_scanning_alert.reopened_by_user\",\n \"commit_comment\",\n \"commit_comment.created\",\n \"create\",\n \"custom_property\",\n \"custom_property.created\",\n \"custom_property.deleted\",\n \"custom_property.promote_to_enterprise\",\n \"custom_property.updated\",\n \"custom_property_values\",\n \"custom_property_values.updated\",\n \"delete\",\n \"dependabot_alert\",\n \"dependabot_alert.auto_dismissed\",\n \"dependabot_alert.auto_reopened\",\n \"dependabot_alert.created\",\n \"dependabot_alert.dismissed\",\n \"dependabot_alert.fixed\",\n \"dependabot_alert.reintroduced\",\n \"dependabot_alert.reopened\",\n \"deploy_key\",\n \"deploy_key.created\",\n \"deploy_key.deleted\",\n \"deployment\",\n \"deployment.created\",\n \"deployment_protection_rule\",\n \"deployment_protection_rule.requested\",\n \"deployment_review\",\n \"deployment_review.approved\",\n \"deployment_review.rejected\",\n \"deployment_review.requested\",\n \"deployment_status\",\n \"deployment_status.created\",\n \"discussion\",\n \"discussion.answered\",\n \"discussion.category_changed\",\n \"discussion.closed\",\n \"discussion.created\",\n \"discussion.deleted\",\n \"discussion.edited\",\n \"discussion.labeled\",\n \"discussion.locked\",\n \"discussion.pinned\",\n \"discussion.reopened\",\n \"discussion.transferred\",\n \"discussion.unanswered\",\n \"discussion.unlabeled\",\n \"discussion.unlocked\",\n \"discussion.unpinned\",\n \"discussion_comment\",\n \"discussion_comment.created\",\n \"discussion_comment.deleted\",\n \"discussion_comment.edited\",\n \"fork\",\n \"github_app_authorization\",\n \"github_app_authorization.revoked\",\n \"gollum\",\n \"installation\",\n \"installation.created\",\n \"installation.deleted\",\n \"installation.new_permissions_accepted\",\n \"installation.suspend\",\n \"installation.unsuspend\",\n \"installation_repositories\",\n \"installation_repositories.added\",\n \"installation_repositories.removed\",\n \"installation_target\",\n \"installation_target.renamed\",\n \"issue_comment\",\n \"issue_comment.created\",\n \"issue_comment.deleted\",\n \"issue_comment.edited\",\n \"issues\",\n \"issues.assigned\",\n \"issues.closed\",\n \"issues.deleted\",\n \"issues.demilestoned\",\n \"issues.edited\",\n \"issues.labeled\",\n \"issues.locked\",\n \"issues.milestoned\",\n \"issues.opened\",\n \"issues.pinned\",\n \"issues.reopened\",\n \"issues.transferred\",\n \"issues.typed\",\n \"issues.unassigned\",\n \"issues.unlabeled\",\n \"issues.unlocked\",\n \"issues.unpinned\",\n \"issues.untyped\",\n \"label\",\n \"label.created\",\n \"label.deleted\",\n \"label.edited\",\n \"marketplace_purchase\",\n \"marketplace_purchase.cancelled\",\n \"marketplace_purchase.changed\",\n \"marketplace_purchase.pending_change\",\n \"marketplace_purchase.pending_change_cancelled\",\n \"marketplace_purchase.purchased\",\n \"member\",\n \"member.added\",\n \"member.edited\",\n \"member.removed\",\n \"membership\",\n \"membership.added\",\n \"membership.removed\",\n \"merge_group\",\n \"merge_group.checks_requested\",\n \"merge_group.destroyed\",\n \"meta\",\n \"meta.deleted\",\n \"milestone\",\n \"milestone.closed\",\n \"milestone.created\",\n \"milestone.deleted\",\n \"milestone.edited\",\n \"milestone.opened\",\n \"org_block\",\n \"org_block.blocked\",\n \"org_block.unblocked\",\n \"organization\",\n \"organization.deleted\",\n \"organization.member_added\",\n \"organization.member_invited\",\n \"organization.member_removed\",\n \"organization.renamed\",\n \"package\",\n \"package.published\",\n \"package.updated\",\n \"page_build\",\n \"personal_access_token_request\",\n \"personal_access_token_request.approved\",\n \"personal_access_token_request.cancelled\",\n \"personal_access_token_request.created\",\n \"personal_access_token_request.denied\",\n \"ping\",\n \"project\",\n \"project.closed\",\n \"project.created\",\n \"project.deleted\",\n \"project.edited\",\n \"project.reopened\",\n \"project_card\",\n \"project_card.converted\",\n \"project_card.created\",\n \"project_card.deleted\",\n \"project_card.edited\",\n \"project_card.moved\",\n \"project_column\",\n \"project_column.created\",\n \"project_column.deleted\",\n \"project_column.edited\",\n \"project_column.moved\",\n \"projects_v2\",\n \"projects_v2.closed\",\n \"projects_v2.created\",\n \"projects_v2.deleted\",\n \"projects_v2.edited\",\n \"projects_v2.reopened\",\n \"projects_v2_item\",\n \"projects_v2_item.archived\",\n \"projects_v2_item.converted\",\n \"projects_v2_item.created\",\n \"projects_v2_item.deleted\",\n \"projects_v2_item.edited\",\n \"projects_v2_item.reordered\",\n \"projects_v2_item.restored\",\n \"projects_v2_status_update\",\n \"projects_v2_status_update.created\",\n \"projects_v2_status_update.deleted\",\n \"projects_v2_status_update.edited\",\n \"public\",\n \"pull_request\",\n \"pull_request.assigned\",\n \"pull_request.auto_merge_disabled\",\n \"pull_request.auto_merge_enabled\",\n \"pull_request.closed\",\n \"pull_request.converted_to_draft\",\n \"pull_request.demilestoned\",\n \"pull_request.dequeued\",\n \"pull_request.edited\",\n \"pull_request.enqueued\",\n \"pull_request.labeled\",\n \"pull_request.locked\",\n \"pull_request.milestoned\",\n \"pull_request.opened\",\n \"pull_request.ready_for_review\",\n \"pull_request.reopened\",\n \"pull_request.review_request_removed\",\n \"pull_request.review_requested\",\n \"pull_request.synchronize\",\n \"pull_request.unassigned\",\n \"pull_request.unlabeled\",\n \"pull_request.unlocked\",\n \"pull_request_review\",\n \"pull_request_review.dismissed\",\n \"pull_request_review.edited\",\n \"pull_request_review.submitted\",\n \"pull_request_review_comment\",\n \"pull_request_review_comment.created\",\n \"pull_request_review_comment.deleted\",\n \"pull_request_review_comment.edited\",\n \"pull_request_review_thread\",\n \"pull_request_review_thread.resolved\",\n \"pull_request_review_thread.unresolved\",\n \"push\",\n \"registry_package\",\n \"registry_package.published\",\n \"registry_package.updated\",\n \"release\",\n \"release.created\",\n \"release.deleted\",\n \"release.edited\",\n \"release.prereleased\",\n \"release.published\",\n \"release.released\",\n \"release.unpublished\",\n \"repository\",\n \"repository.archived\",\n \"repository.created\",\n \"repository.deleted\",\n \"repository.edited\",\n \"repository.privatized\",\n \"repository.publicized\",\n \"repository.renamed\",\n \"repository.transferred\",\n \"repository.unarchived\",\n \"repository_advisory\",\n \"repository_advisory.published\",\n \"repository_advisory.reported\",\n \"repository_dispatch\",\n \"repository_dispatch.sample.collected\",\n \"repository_import\",\n \"repository_ruleset\",\n \"repository_ruleset.created\",\n \"repository_ruleset.deleted\",\n \"repository_ruleset.edited\",\n \"repository_vulnerability_alert\",\n \"repository_vulnerability_alert.create\",\n \"repository_vulnerability_alert.dismiss\",\n \"repository_vulnerability_alert.reopen\",\n \"repository_vulnerability_alert.resolve\",\n \"secret_scanning_alert\",\n \"secret_scanning_alert.created\",\n \"secret_scanning_alert.publicly_leaked\",\n \"secret_scanning_alert.reopened\",\n \"secret_scanning_alert.resolved\",\n \"secret_scanning_alert.validated\",\n \"secret_scanning_alert_location\",\n \"secret_scanning_alert_location.created\",\n \"secret_scanning_scan\",\n \"secret_scanning_scan.completed\",\n \"security_advisory\",\n \"security_advisory.published\",\n \"security_advisory.updated\",\n \"security_advisory.withdrawn\",\n \"security_and_analysis\",\n \"sponsorship\",\n \"sponsorship.cancelled\",\n \"sponsorship.created\",\n \"sponsorship.edited\",\n \"sponsorship.pending_cancellation\",\n \"sponsorship.pending_tier_change\",\n \"sponsorship.tier_changed\",\n \"star\",\n \"star.created\",\n \"star.deleted\",\n \"status\",\n \"sub_issues\",\n \"sub_issues.parent_issue_added\",\n \"sub_issues.parent_issue_removed\",\n \"sub_issues.sub_issue_added\",\n \"sub_issues.sub_issue_removed\",\n \"team\",\n \"team.added_to_repository\",\n \"team.created\",\n \"team.deleted\",\n \"team.edited\",\n \"team.removed_from_repository\",\n \"team_add\",\n \"watch\",\n \"watch.started\",\n \"workflow_dispatch\",\n \"workflow_job\",\n \"workflow_job.completed\",\n \"workflow_job.in_progress\",\n \"workflow_job.queued\",\n \"workflow_job.waiting\",\n \"workflow_run\",\n \"workflow_run.completed\",\n \"workflow_run.in_progress\",\n \"workflow_run.requested\"\n];\n\n// pkg/dist-src/event-handler/validate-event-name.js\nfunction validateEventName(eventName, options = {}) {\n if (typeof eventName !== \"string\") {\n throw new TypeError(\"eventName must be of type string\");\n }\n if (eventName === \"*\") {\n throw new TypeError(\n `Using the \"*\" event with the regular Webhooks.on() function is not supported. Please use the Webhooks.onAny() method instead`\n );\n }\n if (eventName === \"error\") {\n throw new TypeError(\n `Using the \"error\" event with the regular Webhooks.on() function is not supported. Please use the Webhooks.onError() method instead`\n );\n }\n if (options.onUnknownEventName === \"ignore\") {\n return;\n }\n if (!emitterEventNames.includes(eventName)) {\n if (options.onUnknownEventName !== \"warn\") {\n throw new TypeError(\n `\"${eventName}\" is not a known webhook name (https://developer.github.com/v3/activity/events/types/)`\n );\n } else {\n (options.log || console).warn(\n `\"${eventName}\" is not a known webhook name (https://developer.github.com/v3/activity/events/types/)`\n );\n }\n }\n}\n\n// pkg/dist-src/event-handler/on.js\nfunction handleEventHandlers(state, webhookName, handler) {\n if (!state.hooks[webhookName]) {\n state.hooks[webhookName] = [];\n }\n state.hooks[webhookName].push(handler);\n}\nfunction receiverOn(state, webhookNameOrNames, handler) {\n if (Array.isArray(webhookNameOrNames)) {\n webhookNameOrNames.forEach(\n (webhookName) => receiverOn(state, webhookName, handler)\n );\n return;\n }\n validateEventName(webhookNameOrNames, {\n onUnknownEventName: \"warn\",\n log: state.log\n });\n handleEventHandlers(state, webhookNameOrNames, handler);\n}\nfunction receiverOnAny(state, handler) {\n handleEventHandlers(state, \"*\", handler);\n}\nfunction receiverOnError(state, handler) {\n handleEventHandlers(state, \"error\", handler);\n}\n\n// pkg/dist-src/event-handler/wrap-error-handler.js\nfunction wrapErrorHandler(handler, error) {\n let returnValue;\n try {\n returnValue = handler(error);\n } catch (error2) {\n console.log('FATAL: Error occurred in \"error\" event handler');\n console.log(error2);\n }\n if (returnValue && returnValue.catch) {\n returnValue.catch((error2) => {\n console.log('FATAL: Error occurred in \"error\" event handler');\n console.log(error2);\n });\n }\n}\n\n// pkg/dist-src/event-handler/receive.js\nfunction getHooks(state, eventPayloadAction, eventName) {\n const hooks = [state.hooks[eventName], state.hooks[\"*\"]];\n if (eventPayloadAction) {\n hooks.unshift(state.hooks[`${eventName}.${eventPayloadAction}`]);\n }\n return [].concat(...hooks.filter(Boolean));\n}\nfunction receiverHandle(state, event) {\n const errorHandlers = state.hooks.error || [];\n if (event instanceof Error) {\n const error = Object.assign(new AggregateError([event], event.message), {\n event\n });\n errorHandlers.forEach((handler) => wrapErrorHandler(handler, error));\n return Promise.reject(error);\n }\n if (!event || !event.name) {\n const error = new Error(\"Event name not passed\");\n throw new AggregateError([error], error.message);\n }\n if (!event.payload) {\n const error = new Error(\"Event name not passed\");\n throw new AggregateError([error], error.message);\n }\n const hooks = getHooks(\n state,\n \"action\" in event.payload ? event.payload.action : null,\n event.name\n );\n if (hooks.length === 0) {\n return Promise.resolve();\n }\n const errors = [];\n const promises = hooks.map((handler) => {\n let promise = Promise.resolve(event);\n if (state.transform) {\n promise = promise.then(state.transform);\n }\n return promise.then((event2) => {\n return handler(event2);\n }).catch((error) => errors.push(Object.assign(error, { event })));\n });\n return Promise.all(promises).then(() => {\n if (errors.length === 0) {\n return;\n }\n const error = new AggregateError(\n errors,\n errors.map((error2) => error2.message).join(\"\\n\")\n );\n Object.assign(error, {\n event\n });\n errorHandlers.forEach((handler) => wrapErrorHandler(handler, error));\n throw error;\n });\n}\n\n// pkg/dist-src/event-handler/remove-listener.js\nfunction removeListener(state, webhookNameOrNames, handler) {\n if (Array.isArray(webhookNameOrNames)) {\n webhookNameOrNames.forEach(\n (webhookName) => removeListener(state, webhookName, handler)\n );\n return;\n }\n if (!state.hooks[webhookNameOrNames]) {\n return;\n }\n for (let i = state.hooks[webhookNameOrNames].length - 1; i >= 0; i--) {\n if (state.hooks[webhookNameOrNames][i] === handler) {\n state.hooks[webhookNameOrNames].splice(i, 1);\n return;\n }\n }\n}\n\n// pkg/dist-src/event-handler/index.js\nfunction createEventHandler(options) {\n const state = {\n hooks: {},\n log: createLogger(options && options.log)\n };\n if (options && options.transform) {\n state.transform = options.transform;\n }\n return {\n on: receiverOn.bind(null, state),\n onAny: receiverOnAny.bind(null, state),\n onError: receiverOnError.bind(null, state),\n removeListener: removeListener.bind(null, state),\n receive: receiverHandle.bind(null, state)\n };\n}\n\n// pkg/dist-src/index.js\nimport { sign, verify } from \"@octokit/webhooks-methods\";\n\n// pkg/dist-src/verify-and-receive.js\nimport { verifyWithFallback } from \"@octokit/webhooks-methods\";\nasync function verifyAndReceive(state, event) {\n const matchesSignature = await verifyWithFallback(\n state.secret,\n event.payload,\n event.signature,\n state.additionalSecrets\n ).catch(() => false);\n if (!matchesSignature) {\n const error = new Error(\n \"[@octokit/webhooks] signature does not match event payload and secret\"\n );\n error.event = event;\n error.status = 400;\n return state.eventHandler.receive(error);\n }\n let payload;\n try {\n payload = JSON.parse(event.payload);\n } catch (error) {\n error.message = \"Invalid JSON\";\n error.status = 400;\n throw new AggregateError([error], error.message);\n }\n return state.eventHandler.receive({\n id: event.id,\n name: event.name,\n payload\n });\n}\n\n// pkg/dist-src/normalize-trailing-slashes.js\nfunction normalizeTrailingSlashes(path) {\n let i = path.length;\n if (i === 0) {\n return \"/\";\n }\n while (i > 0) {\n if (path.charCodeAt(--i) !== 47) {\n break;\n }\n }\n if (i === -1) {\n return \"/\";\n }\n return path.slice(0, i + 1);\n}\n\n// pkg/dist-src/middleware/create-middleware.js\nvar isApplicationJsonRE = /^\\s*(application\\/json)\\s*(?:;|$)/u;\nvar WEBHOOK_HEADERS = [\n \"x-github-event\",\n \"x-hub-signature-256\",\n \"x-github-delivery\"\n];\nfunction createMiddleware(options) {\n const { handleResponse: handleResponse3, getRequestHeader: getRequestHeader3, getPayload: getPayload3 } = options;\n return function middleware(webhooks, options2) {\n const middlewarePath = normalizeTrailingSlashes(options2.path);\n return async function octokitWebhooksMiddleware(request, response, next) {\n let pathname;\n try {\n pathname = new URL(\n normalizeTrailingSlashes(request.url),\n \"http://localhost\"\n ).pathname;\n } catch (error) {\n return handleResponse3(\n JSON.stringify({\n error: `Request URL could not be parsed: ${request.url}`\n }),\n 422,\n {\n \"content-type\": \"application/json\"\n },\n response\n );\n }\n if (pathname !== middlewarePath) {\n next?.();\n return handleResponse3(null);\n } else if (request.method !== \"POST\") {\n return handleResponse3(\n JSON.stringify({\n error: `Unknown route: ${request.method} ${pathname}`\n }),\n 404,\n {\n \"content-type\": \"application/json\"\n },\n response\n );\n }\n const contentType = getRequestHeader3(request, \"content-type\");\n if (typeof contentType !== \"string\" || !isApplicationJsonRE.test(contentType)) {\n return handleResponse3(\n JSON.stringify({\n error: `Unsupported \"Content-Type\" header value. Must be \"application/json\"`\n }),\n 415,\n {\n \"content-type\": \"application/json\",\n accept: \"application/json\"\n },\n response\n );\n }\n const missingHeaders = WEBHOOK_HEADERS.filter((header) => {\n return getRequestHeader3(request, header) == void 0;\n }).join(\", \");\n if (missingHeaders) {\n return handleResponse3(\n JSON.stringify({\n error: `Required headers missing: ${missingHeaders}`\n }),\n 400,\n {\n \"content-type\": \"application/json\",\n accept: \"application/json\"\n },\n response\n );\n }\n const eventName = getRequestHeader3(\n request,\n \"x-github-event\"\n );\n const signature = getRequestHeader3(request, \"x-hub-signature-256\");\n const id = getRequestHeader3(request, \"x-github-delivery\");\n options2.log.debug(`${eventName} event received (id: ${id})`);\n let didTimeout = false;\n let timeout;\n const timeoutPromise = new Promise((resolve) => {\n timeout = setTimeout(() => {\n didTimeout = true;\n resolve(\n handleResponse3(\n \"still processing\\n\",\n 202,\n {\n \"Content-Type\": \"text/plain\",\n accept: \"application/json\"\n },\n response\n )\n );\n }, options2.timeout);\n });\n const processWebhook = async () => {\n try {\n const payload = await getPayload3(request);\n await webhooks.verifyAndReceive({\n id,\n name: eventName,\n payload,\n signature\n });\n clearTimeout(timeout);\n if (didTimeout) return handleResponse3(null);\n return handleResponse3(\n \"ok\\n\",\n 200,\n {\n \"content-type\": \"text/plain\",\n accept: \"application/json\"\n },\n response\n );\n } catch (error) {\n clearTimeout(timeout);\n if (didTimeout) return handleResponse3(null);\n const err = Array.from(error.errors)[0];\n const errorMessage = err.message ? `${err.name}: ${err.message}` : \"Error: An Unspecified error occurred\";\n const statusCode = typeof err.status !== \"undefined\" ? err.status : 500;\n options2.log.error(error);\n return handleResponse3(\n JSON.stringify({\n error: errorMessage\n }),\n statusCode,\n {\n \"content-type\": \"application/json\",\n accept: \"application/json\"\n },\n response\n );\n }\n };\n return await Promise.race([timeoutPromise, processWebhook()]);\n };\n };\n}\n\n// pkg/dist-src/middleware/node/handle-response.js\nfunction handleResponse(body, status = 200, headers = {}, response) {\n if (body === null) {\n return false;\n }\n headers[\"content-length\"] = body.length.toString();\n response.writeHead(status, headers).end(body);\n return true;\n}\n\n// pkg/dist-src/middleware/node/get-request-header.js\nfunction getRequestHeader(request, key) {\n return request.headers[key];\n}\n\n// pkg/dist-src/concat-uint8array.js\nfunction concatUint8Array(data) {\n if (data.length === 0) {\n return new Uint8Array(0);\n }\n let totalLength = 0;\n for (let i = 0; i < data.length; i++) {\n totalLength += data[i].length;\n }\n if (totalLength === 0) {\n return new Uint8Array(0);\n }\n const result = new Uint8Array(totalLength);\n let offset = 0;\n for (let i = 0; i < data.length; i++) {\n result.set(data[i], offset);\n offset += data[i].length;\n }\n return result;\n}\n\n// pkg/dist-src/middleware/node/get-payload.js\nvar textDecoder = new TextDecoder(\"utf-8\", { fatal: false });\nvar decode = textDecoder.decode.bind(textDecoder);\nasync function getPayload(request) {\n if (typeof request.body === \"object\" && \"rawBody\" in request && request.rawBody instanceof Uint8Array) {\n return decode(request.rawBody);\n } else if (typeof request.body === \"string\") {\n return request.body;\n }\n const payload = await getPayloadFromRequestStream(request);\n return decode(payload);\n}\nfunction getPayloadFromRequestStream(request) {\n return new Promise((resolve, reject) => {\n let data = [];\n request.on(\n \"error\",\n (error) => reject(new AggregateError([error], error.message))\n );\n request.on(\"data\", data.push.bind(data));\n request.on(\"end\", () => {\n const result = concatUint8Array(data);\n queueMicrotask(() => resolve(result));\n });\n });\n}\n\n// pkg/dist-src/middleware/node/index.js\nfunction createNodeMiddleware(webhooks, {\n path = \"/api/github/webhooks\",\n log = createLogger(),\n timeout = 9e3\n} = {}) {\n return createMiddleware({\n handleResponse,\n getRequestHeader,\n getPayload\n })(webhooks, {\n path,\n log,\n timeout\n });\n}\n\n// pkg/dist-src/middleware/web/get-payload.js\nfunction getPayload2(request) {\n return request.text();\n}\n\n// pkg/dist-src/middleware/web/get-request-header.js\nfunction getRequestHeader2(request, key) {\n return request.headers.get(key);\n}\n\n// pkg/dist-src/middleware/web/handle-response.js\nfunction handleResponse2(body, status = 200, headers = {}) {\n if (body !== null) {\n headers[\"content-length\"] = body.length.toString();\n }\n return new Response(body, {\n status,\n headers\n });\n}\n\n// pkg/dist-src/middleware/web/index.js\nfunction createWebMiddleware(webhooks, {\n path = \"/api/github/webhooks\",\n log = createLogger(),\n timeout = 9e3\n} = {}) {\n return createMiddleware({\n handleResponse: handleResponse2,\n getRequestHeader: getRequestHeader2,\n getPayload: getPayload2\n })(webhooks, {\n path,\n log,\n timeout\n });\n}\n\n// pkg/dist-src/index.js\nvar Webhooks = class {\n sign;\n verify;\n on;\n onAny;\n onError;\n removeListener;\n receive;\n verifyAndReceive;\n constructor(options) {\n if (!options || !options.secret) {\n throw new Error(\"[@octokit/webhooks] options.secret required\");\n }\n const state = {\n eventHandler: createEventHandler(options),\n secret: options.secret,\n additionalSecrets: options.additionalSecrets,\n hooks: {},\n log: createLogger(options.log)\n };\n this.sign = sign.bind(null, options.secret);\n this.verify = verify.bind(null, options.secret);\n this.on = state.eventHandler.on;\n this.onAny = state.eventHandler.onAny;\n this.onError = state.eventHandler.onError;\n this.removeListener = state.eventHandler.removeListener;\n this.receive = state.eventHandler.receive;\n this.verifyAndReceive = verifyAndReceive.bind(null, state);\n }\n};\nexport {\n Webhooks,\n createEventHandler,\n createNodeMiddleware,\n createWebMiddleware,\n emitterEventNames,\n validateEventName\n};\n","// pkg/dist-src/index.js\nimport { Octokit as OctokitCore } from \"@octokit/core\";\nimport { createAppAuth as createAppAuth3 } from \"@octokit/auth-app\";\nimport { OAuthApp } from \"@octokit/oauth-app\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"16.1.0\";\n\n// pkg/dist-src/webhooks.js\nimport { createAppAuth } from \"@octokit/auth-app\";\nimport { createUnauthenticatedAuth } from \"@octokit/auth-unauthenticated\";\nimport { Webhooks } from \"@octokit/webhooks\";\nfunction webhooks(appOctokit, options) {\n return new Webhooks({\n secret: options.secret,\n transform: async (event) => {\n if (!(\"installation\" in event.payload) || typeof event.payload.installation !== \"object\") {\n const octokit2 = new appOctokit.constructor({\n authStrategy: createUnauthenticatedAuth,\n auth: {\n reason: `\"installation\" key missing in webhook event payload`\n }\n });\n return {\n ...event,\n octokit: octokit2\n };\n }\n const installationId = event.payload.installation.id;\n const octokit = await appOctokit.auth({\n type: \"installation\",\n installationId,\n factory(auth) {\n return new auth.octokit.constructor({\n ...auth.octokitOptions,\n authStrategy: createAppAuth,\n ...{\n auth: {\n ...auth,\n installationId\n }\n }\n });\n }\n });\n octokit.hook.before(\"request\", (options2) => {\n options2.headers[\"x-github-delivery\"] = event.id;\n });\n return {\n ...event,\n octokit\n };\n }\n });\n}\n\n// pkg/dist-src/each-installation.js\nimport { composePaginateRest } from \"@octokit/plugin-paginate-rest\";\n\n// pkg/dist-src/get-installation-octokit.js\nimport { createAppAuth as createAppAuth2 } from \"@octokit/auth-app\";\nasync function getInstallationOctokit(app, installationId) {\n return app.octokit.auth({\n type: \"installation\",\n installationId,\n factory(auth) {\n const options = {\n ...auth.octokitOptions,\n authStrategy: createAppAuth2,\n ...{ auth: { ...auth, installationId } }\n };\n return new auth.octokit.constructor(options);\n }\n });\n}\n\n// pkg/dist-src/each-installation.js\nfunction eachInstallationFactory(app) {\n return Object.assign(eachInstallation.bind(null, app), {\n iterator: eachInstallationIterator.bind(null, app)\n });\n}\nasync function eachInstallation(app, callback) {\n const i = eachInstallationIterator(app)[Symbol.asyncIterator]();\n let result = await i.next();\n while (!result.done) {\n await callback(result.value);\n result = await i.next();\n }\n}\nfunction eachInstallationIterator(app) {\n return {\n async *[Symbol.asyncIterator]() {\n const iterator = composePaginateRest.iterator(\n app.octokit,\n \"GET /app/installations\"\n );\n for await (const { data: installations } of iterator) {\n for (const installation of installations) {\n const installationOctokit = await getInstallationOctokit(\n app,\n installation.id\n );\n yield { octokit: installationOctokit, installation };\n }\n }\n }\n };\n}\n\n// pkg/dist-src/each-repository.js\nimport { composePaginateRest as composePaginateRest2 } from \"@octokit/plugin-paginate-rest\";\nfunction eachRepositoryFactory(app) {\n return Object.assign(eachRepository.bind(null, app), {\n iterator: eachRepositoryIterator.bind(null, app)\n });\n}\nasync function eachRepository(app, queryOrCallback, callback) {\n const i = eachRepositoryIterator(\n app,\n callback ? queryOrCallback : void 0\n )[Symbol.asyncIterator]();\n let result = await i.next();\n while (!result.done) {\n if (callback) {\n await callback(result.value);\n } else {\n await queryOrCallback(result.value);\n }\n result = await i.next();\n }\n}\nfunction singleInstallationIterator(app, installationId) {\n return {\n async *[Symbol.asyncIterator]() {\n yield {\n octokit: await app.getInstallationOctokit(installationId)\n };\n }\n };\n}\nfunction eachRepositoryIterator(app, query) {\n return {\n async *[Symbol.asyncIterator]() {\n const iterator = query ? singleInstallationIterator(app, query.installationId) : app.eachInstallation.iterator();\n for await (const { octokit } of iterator) {\n const repositoriesIterator = composePaginateRest2.iterator(\n octokit,\n \"GET /installation/repositories\"\n );\n for await (const { data: repositories } of repositoriesIterator) {\n for (const repository of repositories) {\n yield { octokit, repository };\n }\n }\n }\n }\n };\n}\n\n// pkg/dist-src/get-installation-url.js\nfunction getInstallationUrlFactory(app) {\n let installationUrlBasePromise;\n return async function getInstallationUrl(options = {}) {\n if (!installationUrlBasePromise) {\n installationUrlBasePromise = getInstallationUrlBase(app);\n }\n const installationUrlBase = await installationUrlBasePromise;\n const installationUrl = new URL(installationUrlBase);\n if (options.target_id !== void 0) {\n installationUrl.pathname += \"/permissions\";\n installationUrl.searchParams.append(\n \"target_id\",\n options.target_id.toFixed()\n );\n }\n if (options.state !== void 0) {\n installationUrl.searchParams.append(\"state\", options.state);\n }\n return installationUrl.href;\n };\n}\nasync function getInstallationUrlBase(app) {\n const { data: appInfo } = await app.octokit.request(\"GET /app\");\n if (!appInfo) {\n throw new Error(\"[@octokit/app] unable to fetch metadata for app\");\n }\n return `${appInfo.html_url}/installations/new`;\n}\n\n// pkg/dist-src/middleware/node/index.js\nimport {\n createNodeMiddleware as oauthNodeMiddleware,\n sendNodeResponse,\n unknownRouteResponse\n} from \"@octokit/oauth-app\";\nimport { createNodeMiddleware as webhooksNodeMiddleware } from \"@octokit/webhooks\";\nfunction noop() {\n}\nfunction createNodeMiddleware(app, options = {}) {\n const log = Object.assign(\n {\n debug: noop,\n info: noop,\n warn: console.warn.bind(console),\n error: console.error.bind(console)\n },\n options.log\n );\n const optionsWithDefaults = {\n pathPrefix: \"/api/github\",\n ...options,\n log\n };\n const webhooksMiddleware = webhooksNodeMiddleware(app.webhooks, {\n path: optionsWithDefaults.pathPrefix + \"/webhooks\",\n log\n });\n const oauthMiddleware = oauthNodeMiddleware(app.oauth, {\n pathPrefix: optionsWithDefaults.pathPrefix + \"/oauth\"\n });\n return middleware.bind(\n null,\n optionsWithDefaults.pathPrefix,\n webhooksMiddleware,\n oauthMiddleware\n );\n}\nasync function middleware(pathPrefix, webhooksMiddleware, oauthMiddleware, request, response, next) {\n const { pathname } = new URL(request.url, \"http://localhost\");\n if (pathname.startsWith(`${pathPrefix}/`)) {\n if (pathname === `${pathPrefix}/webhooks`) {\n webhooksMiddleware(request, response);\n } else if (pathname.startsWith(`${pathPrefix}/oauth/`)) {\n oauthMiddleware(request, response);\n } else {\n sendNodeResponse(unknownRouteResponse(request), response);\n }\n return true;\n } else {\n next?.();\n return false;\n }\n}\n\n// pkg/dist-src/index.js\nvar App = class {\n static VERSION = VERSION;\n static defaults(defaults) {\n const AppWithDefaults = class extends this {\n constructor(...args) {\n super({\n ...defaults,\n ...args[0]\n });\n }\n };\n return AppWithDefaults;\n }\n octokit;\n // @ts-ignore calling app.webhooks will throw a helpful error when options.webhooks is not set\n webhooks;\n // @ts-ignore calling app.oauth will throw a helpful error when options.oauth is not set\n oauth;\n getInstallationOctokit;\n eachInstallation;\n eachRepository;\n getInstallationUrl;\n log;\n constructor(options) {\n const Octokit = options.Octokit || OctokitCore;\n const authOptions = Object.assign(\n {\n appId: options.appId,\n privateKey: options.privateKey\n },\n options.oauth ? {\n clientId: options.oauth.clientId,\n clientSecret: options.oauth.clientSecret\n } : {}\n );\n const octokitOptions = {\n authStrategy: createAppAuth3,\n auth: authOptions\n };\n if (\"log\" in options && typeof options.log !== \"undefined\") {\n octokitOptions.log = options.log;\n }\n this.octokit = new Octokit(octokitOptions);\n this.log = Object.assign(\n {\n debug: () => {\n },\n info: () => {\n },\n warn: console.warn.bind(console),\n error: console.error.bind(console)\n },\n options.log\n );\n if (options.webhooks) {\n this.webhooks = webhooks(this.octokit, options.webhooks);\n } else {\n Object.defineProperty(this, \"webhooks\", {\n get() {\n throw new Error(\"[@octokit/app] webhooks option not set\");\n }\n });\n }\n if (options.oauth) {\n this.oauth = new OAuthApp({\n ...options.oauth,\n clientType: \"github-app\",\n Octokit\n });\n } else {\n Object.defineProperty(this, \"oauth\", {\n get() {\n throw new Error(\n \"[@octokit/app] oauth.clientId / oauth.clientSecret options are not set\"\n );\n }\n });\n }\n this.getInstallationOctokit = getInstallationOctokit.bind(\n null,\n this\n );\n this.eachInstallation = eachInstallationFactory(\n this\n );\n this.eachRepository = eachRepositoryFactory(\n this\n );\n this.getInstallationUrl = getInstallationUrlFactory(this);\n }\n};\nexport {\n App,\n createNodeMiddleware\n};\n","// pkg/dist-src/octokit.js\nimport { Octokit as OctokitCore } from \"@octokit/core\";\nimport { paginateRest } from \"@octokit/plugin-paginate-rest\";\nimport { paginateGraphQL } from \"@octokit/plugin-paginate-graphql\";\nimport { restEndpointMethods } from \"@octokit/plugin-rest-endpoint-methods\";\nimport { retry } from \"@octokit/plugin-retry\";\nimport { throttling } from \"@octokit/plugin-throttling\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"0.0.0-development\";\n\n// pkg/dist-src/octokit.js\nimport { RequestError } from \"@octokit/request-error\";\nvar Octokit = OctokitCore.plugin(\n restEndpointMethods,\n paginateRest,\n paginateGraphQL,\n retry,\n throttling\n).defaults({\n userAgent: `octokit.js/${VERSION}`,\n throttle: {\n onRateLimit,\n onSecondaryRateLimit\n }\n});\nfunction onRateLimit(retryAfter, options, octokit) {\n octokit.log.warn(\n `Request quota exhausted for request ${options.method} ${options.url}`\n );\n if (options.request.retryCount === 0) {\n octokit.log.info(`Retrying after ${retryAfter} seconds!`);\n return true;\n }\n}\nfunction onSecondaryRateLimit(retryAfter, options, octokit) {\n octokit.log.warn(\n `SecondaryRateLimit detected for request ${options.method} ${options.url}`\n );\n if (options.request.retryCount === 0) {\n octokit.log.info(`Retrying after ${retryAfter} seconds!`);\n return true;\n }\n}\n\n// pkg/dist-src/app.js\nimport { App as DefaultApp } from \"@octokit/app\";\nimport { OAuthApp as DefaultOAuthApp } from \"@octokit/oauth-app\";\nimport { createNodeMiddleware } from \"@octokit/app\";\nvar App = DefaultApp.defaults({ Octokit });\nvar OAuthApp = DefaultOAuthApp.defaults({ Octokit });\nexport {\n App,\n OAuthApp,\n Octokit,\n RequestError,\n createNodeMiddleware\n};\n","import type { Octokit } from \"octokit\";\n\nexport interface Row {\n url: string;\n status: string;\n [field: string]: string;\n}\n\nexport interface Config {\n job_regex: string;\n step_regex: string;\n row_headers: string[];\n column_header: string;\n ignore_no_marker: boolean;\n}\n\nconst warning_regex = /warning( .\\d+)?:/;\nconst error_regex = /error( .\\d+)?:/;\n\nfunction find_first_issue(\n lines: string[],\n regex: RegExp,\n label: string,\n): { index: number; label: string } | null {\n const index = lines.findIndex((line) => line.match(regex));\n if (index === -1) return null;\n console.log(`${label} index: ${index}, matched line: ${lines[index]}`);\n return { index, label };\n}\n\nexport async function collect_rows(\n octokit: Octokit,\n owner: string,\n repo: string,\n run_id: number,\n config: Config,\n exclude_job_id?: number,\n): Promise {\n const rows: Row[] = [];\n\n const { data: job_list } = await octokit.rest.actions.listJobsForWorkflowRun({\n owner,\n repo,\n run_id,\n per_page: 100,\n });\n\n for (const job of job_list.jobs) {\n const job_id = job.id;\n\n if (exclude_job_id !== undefined && job_id === exclude_job_id) continue;\n\n const { url: redirect_url } = await octokit.rest.actions.downloadJobLogsForWorkflowRun({\n owner,\n repo,\n job_id,\n });\n\n const response = await fetch(redirect_url);\n if (!response.ok) {\n console.log(`failed to retrieve job log for ${job_id}`);\n continue;\n }\n const job_log = await response.text();\n\n const lines = job_log.split(\"\\n\");\n console.log(`total lines: ${lines.length}`);\n\n let offset = 0;\n const offset_idx = lines.findIndex((line) => line.match(\"CPPWARNINGNOTIFIER_LOG_MARKER\"));\n if (offset_idx !== -1) {\n offset = offset_idx;\n } else {\n if (config.ignore_no_marker) {\n continue;\n }\n }\n\n let compile_result = \"✅success\";\n let first_issue_line = 1;\n\n const issue =\n find_first_issue(lines, warning_regex, \"warning\") ??\n find_first_issue(lines, error_regex, \"error\");\n\n if (issue) {\n compile_result = issue.label === \"warning\" ? \"⚠️warning\" : \"❌error\";\n first_issue_line = issue.index - offset + 1;\n }\n\n const steps = job.steps ?? [];\n const step_index = steps.findIndex(\n (step) =>\n step.name.match(config.step_regex) &&\n step.status === \"completed\" &&\n step.conclusion === \"success\",\n );\n const step_id = (step_index === -1 ? steps.length : step_index) + 1;\n\n console.log(`step_id is ${step_id}`);\n console.log(`job name is \"${job.name}\"`);\n\n const job_match = job.name.match(config.job_regex);\n\n if (!job_match) {\n console.log(\"job match fail\");\n continue;\n }\n\n rows.push({\n url: `https://github.com/${owner}/${repo}/actions/runs/${run_id}/job/${job_id}#step:${step_id}:${first_issue_line}`,\n status: compile_result,\n ...job_match.groups,\n });\n }\n\n console.log(\"rows\", rows);\n return rows;\n}\n\nclass CompositeKeyMap {\n private map = new Map();\n\n get(keys: readonly string[]): V | undefined {\n return this.map.get(JSON.stringify(keys));\n }\n\n set(keys: readonly string[], value: V): void {\n this.map.set(JSON.stringify(keys), value);\n }\n}\n\nfunction escape_html(s: string): string {\n return s\n .replace(/&/g, \"&\")\n .replace(//g, \">\")\n .replace(/\"/g, \""\");\n}\n\nfunction render_rows(\n rows: Row[],\n depth: number,\n columns: string[],\n cell_map: CompositeKeyMap,\n row_header_fields: string[],\n): string[] {\n if (depth === row_header_fields.length) {\n const representative = rows[0];\n const row_fields = row_header_fields.map((f) => representative[f]);\n const tds = columns.map((col) => {\n const cell = cell_map.get([...row_fields, col]);\n if (!cell) return \" | \";\n return `${escape_html(cell.status)} | `;\n });\n return [`${tds.join(\"\")}`];\n }\n\n const field = row_header_fields[depth];\n const groups = Object.entries(Object.groupBy(rows, (r) => r[field] ?? \"\"));\n const result: string[] = [];\n\n for (const [value, group] of groups) {\n const child_rows = render_rows(group!, depth + 1, columns, cell_map, row_header_fields);\n const rowspan = child_rows.length;\n const th =\n rowspan > 1\n ? `${escape_html(value)} | `\n : `${escape_html(value)} | `;\n\n child_rows[0] = `${th}${child_rows[0]}`;\n result.push(...child_rows);\n }\n\n return result;\n}\n\nexport function generate_table(entries: Row[], config: Config): string {\n const row_header_fields = config.row_headers;\n const column_field = config.column_header;\n\n const columns = [...new Set(entries.map((e) => e[column_field] ?? \"\"))].sort(\n (a, b) => Number(a) - Number(b),\n );\n\n const sorted = [...entries].sort((a, b) => {\n for (const field of row_header_fields) {\n const av = a[field] ?? \"\";\n const bv = b[field] ?? \"\";\n if (av < bv) return -1;\n if (av > bv) return 1;\n }\n return 0;\n });\n\n const cell_map = new CompositeKeyMap();\n for (const entry of sorted) {\n const key = [...row_header_fields.map((f) => entry[f]), entry[column_field]];\n cell_map.set(key, entry);\n }\n\n const thead_cols = columns.map((v) => `| C++${v} | `).join(\"\");\n const thead = `| Environment | ${thead_cols}
`;\n\n const table_rows = render_rows(sorted, 0, columns, cell_map, row_header_fields);\n const tbody = `${table_rows.map((r) => `${r}`).join(\"\")}
`;\n\n return ``;\n}\n\nexport async function post_or_update_comment(\n octokit: Octokit,\n owner: string,\n repo: string,\n pull_request_number: number,\n body: string,\n bot_login: string,\n): Promise {\n console.log(\"outdates previous comments\");\n const { data: comments } = await octokit.rest.issues.listComments({\n owner,\n repo,\n issue_number: pull_request_number,\n });\n\n const post_comment = async () => {\n console.log(\"leaving comment\");\n await octokit.rest.issues.createComment({\n owner,\n repo,\n issue_number: pull_request_number,\n body,\n });\n };\n\n const sorted_comments = comments\n .filter((comment) => comment.user?.login === bot_login)\n .toSorted((a, b) => new Date(a.created_at).getTime() - new Date(b.created_at).getTime());\n\n if (sorted_comments.length > 0) {\n const latest_comment = sorted_comments[sorted_comments.length - 1];\n\n if (body.includes(\"warning\") || latest_comment.body?.includes(\"warning\")) {\n await octokit.graphql(\n `mutation($id: ID!) {\n minimizeComment(input: { subjectId: $id, classifier: OUTDATED }) {\n clientMutationId\n }\n }`,\n { id: latest_comment.node_id },\n );\n\n await post_comment();\n }\n } else {\n await post_comment();\n }\n}\n","import { App } from \"octokit\";\nimport { collect_rows, generate_table, post_or_update_comment, type Config } from \"./core.js\";\n\nif (!process.env.GITHUB_REF?.startsWith(\"refs/pull/\")) {\n console.log(\"not a pull request, exiting.\");\n process.exit(0);\n}\n\nfunction require_env(name: string): string {\n const value = process.env[name];\n if (!value) throw new Error(`Missing required environment variable: ${name}`);\n return value;\n}\n\nconst github_repository = require_env(\"GITHUB_REPOSITORY\");\nconst github_ref = require_env(\"GITHUB_REF\");\n\nconst current_run_id = parseInt(require_env(\"INPUT_RUN_ID\"));\nconst current_job_id = parseInt(require_env(\"INPUT_JOB_ID\"));\n\nconst [owner, repo] = github_repository.split(\"/\");\nconst pull_request_number = parseInt(github_ref.split(\"/\")[2]);\n\nconst config: Config = {\n job_regex: require_env(\"INPUT_JOB_REGEX\"),\n step_regex: require_env(\"INPUT_STEP_REGEX\"),\n row_headers: JSON.parse(require_env(\"INPUT_ROW_HEADERS\")),\n column_header: require_env(\"INPUT_COLUMN_HEADER\"),\n ignore_no_marker: require_env(\"INPUT_IGNORE_NO_MARKER\") === \"true\",\n};\n\nconst app_id = 1230093;\nconst private_key = require_env(\"APP_PRIVATE_KEY\");\n\nconst app = new App({ appId: app_id, privateKey: private_key });\nconst { data: installation } = await app.octokit.request(\"GET /repos/{owner}/{repo}/installation\", { owner, repo });\nconst octokit = await app.getInstallationOctokit(installation.id);\n\nconst rows = await collect_rows(octokit, owner, repo, current_run_id, config, current_job_id);\nconst body = generate_table(rows, config);\n\nconsole.log(\"body is\", body);\n\nif (body) {\n await post_or_update_comment(octokit, owner, repo, pull_request_number, body, \"cppwarningnotifier[bot]\");\n}\n"],"names":["VERSION","isPlainObject","withDefaults","safeParse","auth","hook","noop","createLogger","get","set","ENDPOINTS","this","commonjsGlobal","global","wrapRequest","Bottleneck","routeMatcher","request","defaultRequest","defaultRequest2","defaultRequest3","defaultRequest4","defaultRequest5","defaultRequest6","defaultRequest7","defaultRequest8","defaultRequest9","defaultRequest10","octokitRequest","Lru","Octokit","OAuthMethods.getWebFlowAuthorizationUrl","OAuthAppAuth.createOAuthUserAuth","OAuthMethods2.checkToken","OAuthMethods3.resetToken","createOAuthUserAuth3","OAuthMethods4.refreshToken","createOAuthUserAuth4","OAuthMethods5.scopeToken","createOAuthUserAuth5","OAuthMethods6.deleteToken","OAuthMethods7.deleteAuthorization","createUnauthenticatedAuth2","createAppAuth2","composePaginateRest2","App","OctokitCore","createAppAuth3","DefaultApp"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38]}
\ No newline at end of file
diff --git a/dist/server.js b/dist/server.js
new file mode 100644
index 0000000..1df41ba
--- /dev/null
+++ b/dist/server.js
@@ -0,0 +1,9414 @@
+import { createHmac, timingSafeEqual } from 'node:crypto';
+import { Buffer as Buffer$1 } from 'node:buffer';
+import { createServer } from 'node:http';
+
+function getUserAgent() {
+ if (typeof navigator === "object" && "userAgent" in navigator) {
+ return navigator.userAgent;
+ }
+
+ if (typeof process === "object" && process.version !== undefined) {
+ return `Node.js/${process.version.substr(1)} (${process.platform}; ${
+ process.arch
+ })`;
+ }
+
+ return "";
+}
+
+// @ts-check
+
+function register(state, name, method, options) {
+ if (typeof method !== "function") {
+ throw new Error("method for before hook must be a function");
+ }
+
+ if (!options) {
+ options = {};
+ }
+
+ if (Array.isArray(name)) {
+ return name.reverse().reduce((callback, name) => {
+ return register.bind(null, state, name, callback, options);
+ }, method)();
+ }
+
+ return Promise.resolve().then(() => {
+ if (!state.registry[name]) {
+ return method(options);
+ }
+
+ return state.registry[name].reduce((method, registered) => {
+ return registered.hook.bind(null, method, options);
+ }, method)();
+ });
+}
+
+// @ts-check
+
+function addHook(state, kind, name, hook) {
+ const orig = hook;
+ if (!state.registry[name]) {
+ state.registry[name] = [];
+ }
+
+ if (kind === "before") {
+ hook = (method, options) => {
+ return Promise.resolve()
+ .then(orig.bind(null, options))
+ .then(method.bind(null, options));
+ };
+ }
+
+ if (kind === "after") {
+ hook = (method, options) => {
+ let result;
+ return Promise.resolve()
+ .then(method.bind(null, options))
+ .then((result_) => {
+ result = result_;
+ return orig(result, options);
+ })
+ .then(() => {
+ return result;
+ });
+ };
+ }
+
+ if (kind === "error") {
+ hook = (method, options) => {
+ return Promise.resolve()
+ .then(method.bind(null, options))
+ .catch((error) => {
+ return orig(error, options);
+ });
+ };
+ }
+
+ state.registry[name].push({
+ hook: hook,
+ orig: orig,
+ });
+}
+
+// @ts-check
+
+function removeHook(state, name, method) {
+ if (!state.registry[name]) {
+ return;
+ }
+
+ const index = state.registry[name]
+ .map((registered) => {
+ return registered.orig;
+ })
+ .indexOf(method);
+
+ if (index === -1) {
+ return;
+ }
+
+ state.registry[name].splice(index, 1);
+}
+
+// @ts-check
+
+
+// bind with array of arguments: https://stackoverflow.com/a/21792913
+const bind = Function.bind;
+const bindable = bind.bind(bind);
+
+function bindApi(hook, state, name) {
+ const removeHookRef = bindable(removeHook, null).apply(
+ null,
+ [state]
+ );
+ hook.api = { remove: removeHookRef };
+ hook.remove = removeHookRef;
+ ["before", "error", "after", "wrap"].forEach((kind) => {
+ const args = [state, kind];
+ hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args);
+ });
+}
+
+function Collection() {
+ const state = {
+ registry: {},
+ };
+
+ const hook = register.bind(null, state);
+ bindApi(hook, state);
+
+ return hook;
+}
+
+var Hook = { Collection };
+
+// pkg/dist-src/defaults.js
+
+// pkg/dist-src/version.js
+var VERSION$f = "0.0.0-development";
+
+// pkg/dist-src/defaults.js
+var userAgent = `octokit-endpoint.js/${VERSION$f} ${getUserAgent()}`;
+var DEFAULTS = {
+ method: "GET",
+ baseUrl: "https://api.github.com",
+ headers: {
+ accept: "application/vnd.github.v3+json",
+ "user-agent": userAgent
+ },
+ mediaType: {
+ format: ""
+ }
+};
+
+// pkg/dist-src/util/lowercase-keys.js
+function lowercaseKeys(object) {
+ if (!object) {
+ return {};
+ }
+ return Object.keys(object).reduce((newObj, key) => {
+ newObj[key.toLowerCase()] = object[key];
+ return newObj;
+ }, {});
+}
+
+// pkg/dist-src/util/is-plain-object.js
+function isPlainObject$1(value) {
+ if (typeof value !== "object" || value === null) return false;
+ if (Object.prototype.toString.call(value) !== "[object Object]") return false;
+ const proto = Object.getPrototypeOf(value);
+ if (proto === null) return true;
+ const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor;
+ return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value);
+}
+
+// pkg/dist-src/util/merge-deep.js
+function mergeDeep(defaults, options) {
+ const result = Object.assign({}, defaults);
+ Object.keys(options).forEach((key) => {
+ if (isPlainObject$1(options[key])) {
+ if (!(key in defaults)) Object.assign(result, { [key]: options[key] });
+ else result[key] = mergeDeep(defaults[key], options[key]);
+ } else {
+ Object.assign(result, { [key]: options[key] });
+ }
+ });
+ return result;
+}
+
+// pkg/dist-src/util/remove-undefined-properties.js
+function removeUndefinedProperties(obj) {
+ for (const key in obj) {
+ if (obj[key] === void 0) {
+ delete obj[key];
+ }
+ }
+ return obj;
+}
+
+// pkg/dist-src/merge.js
+function merge(defaults, route, options) {
+ if (typeof route === "string") {
+ let [method, url] = route.split(" ");
+ options = Object.assign(url ? { method, url } : { url: method }, options);
+ } else {
+ options = Object.assign({}, route);
+ }
+ options.headers = lowercaseKeys(options.headers);
+ removeUndefinedProperties(options);
+ removeUndefinedProperties(options.headers);
+ const mergedOptions = mergeDeep(defaults || {}, options);
+ if (options.url === "/graphql") {
+ if (defaults && defaults.mediaType.previews?.length) {
+ mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(
+ (preview) => !mergedOptions.mediaType.previews.includes(preview)
+ ).concat(mergedOptions.mediaType.previews);
+ }
+ mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, ""));
+ }
+ return mergedOptions;
+}
+
+// pkg/dist-src/util/add-query-parameters.js
+function addQueryParameters(url, parameters) {
+ const separator = /\?/.test(url) ? "&" : "?";
+ const names = Object.keys(parameters);
+ if (names.length === 0) {
+ return url;
+ }
+ return url + separator + names.map((name) => {
+ if (name === "q") {
+ return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+");
+ }
+ return `${name}=${encodeURIComponent(parameters[name])}`;
+ }).join("&");
+}
+
+// pkg/dist-src/util/extract-url-variable-names.js
+var urlVariableRegex = /\{[^{}}]+\}/g;
+function removeNonChars(variableName) {
+ return variableName.replace(/(?:^\W+)|(?:(? a.concat(b), []);
+}
+
+// pkg/dist-src/util/omit.js
+function omit(object, keysToOmit) {
+ const result = { __proto__: null };
+ for (const key of Object.keys(object)) {
+ if (keysToOmit.indexOf(key) === -1) {
+ result[key] = object[key];
+ }
+ }
+ return result;
+}
+
+// pkg/dist-src/util/url-template.js
+function encodeReserved(str) {
+ return str.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) {
+ if (!/%[0-9A-Fa-f]/.test(part)) {
+ part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]");
+ }
+ return part;
+ }).join("");
+}
+function encodeUnreserved(str) {
+ return encodeURIComponent(str).replace(/[!'()*]/g, function(c) {
+ return "%" + c.charCodeAt(0).toString(16).toUpperCase();
+ });
+}
+function encodeValue(operator, value, key) {
+ value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value);
+ if (key) {
+ return encodeUnreserved(key) + "=" + value;
+ } else {
+ return value;
+ }
+}
+function isDefined(value) {
+ return value !== void 0 && value !== null;
+}
+function isKeyOperator(operator) {
+ return operator === ";" || operator === "&" || operator === "?";
+}
+function getValues(context, operator, key, modifier) {
+ var value = context[key], result = [];
+ if (isDefined(value) && value !== "") {
+ if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
+ value = value.toString();
+ if (modifier && modifier !== "*") {
+ value = value.substring(0, parseInt(modifier, 10));
+ }
+ result.push(
+ encodeValue(operator, value, isKeyOperator(operator) ? key : "")
+ );
+ } else {
+ if (modifier === "*") {
+ if (Array.isArray(value)) {
+ value.filter(isDefined).forEach(function(value2) {
+ result.push(
+ encodeValue(operator, value2, isKeyOperator(operator) ? key : "")
+ );
+ });
+ } else {
+ Object.keys(value).forEach(function(k) {
+ if (isDefined(value[k])) {
+ result.push(encodeValue(operator, value[k], k));
+ }
+ });
+ }
+ } else {
+ const tmp = [];
+ if (Array.isArray(value)) {
+ value.filter(isDefined).forEach(function(value2) {
+ tmp.push(encodeValue(operator, value2));
+ });
+ } else {
+ Object.keys(value).forEach(function(k) {
+ if (isDefined(value[k])) {
+ tmp.push(encodeUnreserved(k));
+ tmp.push(encodeValue(operator, value[k].toString()));
+ }
+ });
+ }
+ if (isKeyOperator(operator)) {
+ result.push(encodeUnreserved(key) + "=" + tmp.join(","));
+ } else if (tmp.length !== 0) {
+ result.push(tmp.join(","));
+ }
+ }
+ }
+ } else {
+ if (operator === ";") {
+ if (isDefined(value)) {
+ result.push(encodeUnreserved(key));
+ }
+ } else if (value === "" && (operator === "&" || operator === "?")) {
+ result.push(encodeUnreserved(key) + "=");
+ } else if (value === "") {
+ result.push("");
+ }
+ }
+ return result;
+}
+function parseUrl(template) {
+ return {
+ expand: expand.bind(null, template)
+ };
+}
+function expand(template, context) {
+ var operators = ["+", "#", ".", "/", ";", "?", "&"];
+ template = template.replace(
+ /\{([^\{\}]+)\}|([^\{\}]+)/g,
+ function(_, expression, literal) {
+ if (expression) {
+ let operator = "";
+ const values = [];
+ if (operators.indexOf(expression.charAt(0)) !== -1) {
+ operator = expression.charAt(0);
+ expression = expression.substr(1);
+ }
+ expression.split(/,/g).forEach(function(variable) {
+ var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable);
+ values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));
+ });
+ if (operator && operator !== "+") {
+ var separator = ",";
+ if (operator === "?") {
+ separator = "&";
+ } else if (operator !== "#") {
+ separator = operator;
+ }
+ return (values.length !== 0 ? operator : "") + values.join(separator);
+ } else {
+ return values.join(",");
+ }
+ } else {
+ return encodeReserved(literal);
+ }
+ }
+ );
+ if (template === "/") {
+ return template;
+ } else {
+ return template.replace(/\/$/, "");
+ }
+}
+
+// pkg/dist-src/parse.js
+function parse(options) {
+ let method = options.method.toUpperCase();
+ let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}");
+ let headers = Object.assign({}, options.headers);
+ let body;
+ let parameters = omit(options, [
+ "method",
+ "baseUrl",
+ "url",
+ "headers",
+ "request",
+ "mediaType"
+ ]);
+ const urlVariableNames = extractUrlVariableNames(url);
+ url = parseUrl(url).expand(parameters);
+ if (!/^http/.test(url)) {
+ url = options.baseUrl + url;
+ }
+ const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat("baseUrl");
+ const remainingParameters = omit(parameters, omittedParameters);
+ const isBinaryRequest = /application\/octet-stream/i.test(headers.accept);
+ if (!isBinaryRequest) {
+ if (options.mediaType.format) {
+ headers.accept = headers.accept.split(/,/).map(
+ (format) => format.replace(
+ /application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,
+ `application/vnd$1$2.${options.mediaType.format}`
+ )
+ ).join(",");
+ }
+ if (url.endsWith("/graphql")) {
+ if (options.mediaType.previews?.length) {
+ const previewsFromAcceptHeader = headers.accept.match(/(? {
+ const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json";
+ return `application/vnd.github.${preview}-preview${format}`;
+ }).join(",");
+ }
+ }
+ }
+ if (["GET", "HEAD"].includes(method)) {
+ url = addQueryParameters(url, remainingParameters);
+ } else {
+ if ("data" in remainingParameters) {
+ body = remainingParameters.data;
+ } else {
+ if (Object.keys(remainingParameters).length) {
+ body = remainingParameters;
+ }
+ }
+ }
+ if (!headers["content-type"] && typeof body !== "undefined") {
+ headers["content-type"] = "application/json; charset=utf-8";
+ }
+ if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") {
+ body = "";
+ }
+ return Object.assign(
+ { method, url, headers },
+ typeof body !== "undefined" ? { body } : null,
+ options.request ? { request: options.request } : null
+ );
+}
+
+// pkg/dist-src/endpoint-with-defaults.js
+function endpointWithDefaults(defaults, route, options) {
+ return parse(merge(defaults, route, options));
+}
+
+// pkg/dist-src/with-defaults.js
+function withDefaults$2(oldDefaults, newDefaults) {
+ const DEFAULTS2 = merge(oldDefaults, newDefaults);
+ const endpoint2 = endpointWithDefaults.bind(null, DEFAULTS2);
+ return Object.assign(endpoint2, {
+ DEFAULTS: DEFAULTS2,
+ defaults: withDefaults$2.bind(null, DEFAULTS2),
+ merge: merge.bind(null, DEFAULTS2),
+ parse
+ });
+}
+
+// pkg/dist-src/index.js
+var endpoint = withDefaults$2(null, DEFAULTS);
+
+var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
+
+function getDefaultExportFromCjs (x) {
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
+}
+
+var fastContentTypeParse = {};
+
+var hasRequiredFastContentTypeParse;
+
+function requireFastContentTypeParse () {
+ if (hasRequiredFastContentTypeParse) return fastContentTypeParse;
+ hasRequiredFastContentTypeParse = 1;
+
+ const NullObject = function NullObject () { };
+ NullObject.prototype = Object.create(null);
+
+ /**
+ * RegExp to match *( ";" parameter ) in RFC 7231 sec 3.1.1.1
+ *
+ * parameter = token "=" ( token / quoted-string )
+ * token = 1*tchar
+ * tchar = "!" / "#" / "$" / "%" / "&" / "'" / "*"
+ * / "+" / "-" / "." / "^" / "_" / "`" / "|" / "~"
+ * / DIGIT / ALPHA
+ * ; any VCHAR, except delimiters
+ * quoted-string = DQUOTE *( qdtext / quoted-pair ) DQUOTE
+ * qdtext = HTAB / SP / %x21 / %x23-5B / %x5D-7E / obs-text
+ * obs-text = %x80-FF
+ * quoted-pair = "\" ( HTAB / SP / VCHAR / obs-text )
+ */
+ const paramRE = /; *([!#$%&'*+.^\w`|~-]+)=("(?:[\v\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\v\u0020-\u00ff])*"|[!#$%&'*+.^\w`|~-]+) */gu;
+
+ /**
+ * RegExp to match quoted-pair in RFC 7230 sec 3.2.6
+ *
+ * quoted-pair = "\" ( HTAB / SP / VCHAR / obs-text )
+ * obs-text = %x80-FF
+ */
+ const quotedPairRE = /\\([\v\u0020-\u00ff])/gu;
+
+ /**
+ * RegExp to match type in RFC 7231 sec 3.1.1.1
+ *
+ * media-type = type "/" subtype
+ * type = token
+ * subtype = token
+ */
+ const mediaTypeRE = /^[!#$%&'*+.^\w|~-]+\/[!#$%&'*+.^\w|~-]+$/u;
+
+ // default ContentType to prevent repeated object creation
+ const defaultContentType = { type: '', parameters: new NullObject() };
+ Object.freeze(defaultContentType.parameters);
+ Object.freeze(defaultContentType);
+
+ /**
+ * Parse media type to object.
+ *
+ * @param {string|object} header
+ * @return {Object}
+ * @public
+ */
+
+ function parse (header) {
+ if (typeof header !== 'string') {
+ throw new TypeError('argument header is required and must be a string')
+ }
+
+ let index = header.indexOf(';');
+ const type = index !== -1
+ ? header.slice(0, index).trim()
+ : header.trim();
+
+ if (mediaTypeRE.test(type) === false) {
+ throw new TypeError('invalid media type')
+ }
+
+ const result = {
+ type: type.toLowerCase(),
+ parameters: new NullObject()
+ };
+
+ // parse parameters
+ if (index === -1) {
+ return result
+ }
+
+ let key;
+ let match;
+ let value;
+
+ paramRE.lastIndex = index;
+
+ while ((match = paramRE.exec(header))) {
+ if (match.index !== index) {
+ throw new TypeError('invalid parameter format')
+ }
+
+ index += match[0].length;
+ key = match[1].toLowerCase();
+ value = match[2];
+
+ if (value[0] === '"') {
+ // remove quotes and escapes
+ value = value
+ .slice(1, value.length - 1);
+
+ quotedPairRE.test(value) && (value = value.replace(quotedPairRE, '$1'));
+ }
+
+ result.parameters[key] = value;
+ }
+
+ if (index !== header.length) {
+ throw new TypeError('invalid parameter format')
+ }
+
+ return result
+ }
+
+ function safeParse (header) {
+ if (typeof header !== 'string') {
+ return defaultContentType
+ }
+
+ let index = header.indexOf(';');
+ const type = index !== -1
+ ? header.slice(0, index).trim()
+ : header.trim();
+
+ if (mediaTypeRE.test(type) === false) {
+ return defaultContentType
+ }
+
+ const result = {
+ type: type.toLowerCase(),
+ parameters: new NullObject()
+ };
+
+ // parse parameters
+ if (index === -1) {
+ return result
+ }
+
+ let key;
+ let match;
+ let value;
+
+ paramRE.lastIndex = index;
+
+ while ((match = paramRE.exec(header))) {
+ if (match.index !== index) {
+ return defaultContentType
+ }
+
+ index += match[0].length;
+ key = match[1].toLowerCase();
+ value = match[2];
+
+ if (value[0] === '"') {
+ // remove quotes and escapes
+ value = value
+ .slice(1, value.length - 1);
+
+ quotedPairRE.test(value) && (value = value.replace(quotedPairRE, '$1'));
+ }
+
+ result.parameters[key] = value;
+ }
+
+ if (index !== header.length) {
+ return defaultContentType
+ }
+
+ return result
+ }
+
+ fastContentTypeParse.default = { parse, safeParse };
+ fastContentTypeParse.parse = parse;
+ fastContentTypeParse.safeParse = safeParse;
+ fastContentTypeParse.defaultContentType = defaultContentType;
+ return fastContentTypeParse;
+}
+
+var fastContentTypeParseExports = requireFastContentTypeParse();
+
+class RequestError extends Error {
+ name;
+ /**
+ * http status code
+ */
+ status;
+ /**
+ * Request options that lead to the error.
+ */
+ request;
+ /**
+ * Response object if a response was received
+ */
+ response;
+ constructor(message, statusCode, options) {
+ super(message);
+ this.name = "HttpError";
+ this.status = Number.parseInt(statusCode);
+ if (Number.isNaN(this.status)) {
+ this.status = 0;
+ }
+ if ("response" in options) {
+ this.response = options.response;
+ }
+ const requestCopy = Object.assign({}, options.request);
+ if (options.request.headers.authorization) {
+ requestCopy.headers = Object.assign({}, options.request.headers, {
+ authorization: options.request.headers.authorization.replace(
+ /(? [
+ name,
+ String(value)
+ ])
+ );
+ let fetchResponse;
+ try {
+ fetchResponse = await fetch(requestOptions.url, {
+ method: requestOptions.method,
+ body,
+ redirect: requestOptions.request?.redirect,
+ headers: requestHeaders,
+ signal: requestOptions.request?.signal,
+ // duplex must be set if request.body is ReadableStream or Async Iterables.
+ // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex.
+ ...requestOptions.body && { duplex: "half" }
+ });
+ } catch (error) {
+ let message = "Unknown Error";
+ if (error instanceof Error) {
+ if (error.name === "AbortError") {
+ error.status = 500;
+ throw error;
+ }
+ message = error.message;
+ if (error.name === "TypeError" && "cause" in error) {
+ if (error.cause instanceof Error) {
+ message = error.cause.message;
+ } else if (typeof error.cause === "string") {
+ message = error.cause;
+ }
+ }
+ }
+ const requestError = new RequestError(message, 500, {
+ request: requestOptions
+ });
+ requestError.cause = error;
+ throw requestError;
+ }
+ const status = fetchResponse.status;
+ const url = fetchResponse.url;
+ const responseHeaders = {};
+ for (const [key, value] of fetchResponse.headers) {
+ responseHeaders[key] = value;
+ }
+ const octokitResponse = {
+ url,
+ status,
+ headers: responseHeaders,
+ data: ""
+ };
+ if ("deprecation" in responseHeaders) {
+ const matches = responseHeaders.link && responseHeaders.link.match(/<([^<>]+)>; rel="deprecation"/);
+ const deprecationLink = matches && matches.pop();
+ log.warn(
+ `[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${responseHeaders.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`
+ );
+ }
+ if (status === 204 || status === 205) {
+ return octokitResponse;
+ }
+ if (requestOptions.method === "HEAD") {
+ if (status < 400) {
+ return octokitResponse;
+ }
+ throw new RequestError(fetchResponse.statusText, status, {
+ response: octokitResponse,
+ request: requestOptions
+ });
+ }
+ if (status === 304) {
+ octokitResponse.data = await getResponseData(fetchResponse);
+ throw new RequestError("Not modified", status, {
+ response: octokitResponse,
+ request: requestOptions
+ });
+ }
+ if (status >= 400) {
+ octokitResponse.data = await getResponseData(fetchResponse);
+ throw new RequestError(toErrorMessage(octokitResponse.data), status, {
+ response: octokitResponse,
+ request: requestOptions
+ });
+ }
+ octokitResponse.data = parseSuccessResponseBody ? await getResponseData(fetchResponse) : fetchResponse.body;
+ return octokitResponse;
+}
+async function getResponseData(response) {
+ const contentType = response.headers.get("content-type");
+ if (!contentType) {
+ return response.text().catch(() => "");
+ }
+ const mimetype = fastContentTypeParseExports.safeParse(contentType);
+ if (isJSONResponse(mimetype)) {
+ let text = "";
+ try {
+ text = await response.text();
+ return JSON.parse(text);
+ } catch (err) {
+ return text;
+ }
+ } else if (mimetype.type.startsWith("text/") || mimetype.parameters.charset?.toLowerCase() === "utf-8") {
+ return response.text().catch(() => "");
+ } else {
+ return response.arrayBuffer().catch(() => new ArrayBuffer(0));
+ }
+}
+function isJSONResponse(mimetype) {
+ return mimetype.type === "application/json" || mimetype.type === "application/scim+json";
+}
+function toErrorMessage(data) {
+ if (typeof data === "string") {
+ return data;
+ }
+ if (data instanceof ArrayBuffer) {
+ return "Unknown error";
+ }
+ if ("message" in data) {
+ const suffix = "documentation_url" in data ? ` - ${data.documentation_url}` : "";
+ return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(", ")}${suffix}` : `${data.message}${suffix}`;
+ }
+ return `Unknown error: ${JSON.stringify(data)}`;
+}
+
+// pkg/dist-src/with-defaults.js
+function withDefaults$1(oldEndpoint, newDefaults) {
+ const endpoint2 = oldEndpoint.defaults(newDefaults);
+ const newApi = function(route, parameters) {
+ const endpointOptions = endpoint2.merge(route, parameters);
+ if (!endpointOptions.request || !endpointOptions.request.hook) {
+ return fetchWrapper(endpoint2.parse(endpointOptions));
+ }
+ const request2 = (route2, parameters2) => {
+ return fetchWrapper(
+ endpoint2.parse(endpoint2.merge(route2, parameters2))
+ );
+ };
+ Object.assign(request2, {
+ endpoint: endpoint2,
+ defaults: withDefaults$1.bind(null, endpoint2)
+ });
+ return endpointOptions.request.hook(request2, endpointOptions);
+ };
+ return Object.assign(newApi, {
+ endpoint: endpoint2,
+ defaults: withDefaults$1.bind(null, endpoint2)
+ });
+}
+
+// pkg/dist-src/index.js
+var request = withDefaults$1(endpoint, defaults_default);
+
+// pkg/dist-src/index.js
+
+// pkg/dist-src/version.js
+var VERSION$d = "0.0.0-development";
+
+// pkg/dist-src/error.js
+function _buildMessageForResponseErrors(data) {
+ return `Request failed due to following response errors:
+` + data.errors.map((e) => ` - ${e.message}`).join("\n");
+}
+var GraphqlResponseError = class extends Error {
+ constructor(request2, headers, response) {
+ super(_buildMessageForResponseErrors(response));
+ this.request = request2;
+ this.headers = headers;
+ this.response = response;
+ this.errors = response.errors;
+ this.data = response.data;
+ if (Error.captureStackTrace) {
+ Error.captureStackTrace(this, this.constructor);
+ }
+ }
+ name = "GraphqlResponseError";
+ errors;
+ data;
+};
+
+// pkg/dist-src/graphql.js
+var NON_VARIABLE_OPTIONS = [
+ "method",
+ "baseUrl",
+ "url",
+ "headers",
+ "request",
+ "query",
+ "mediaType",
+ "operationName"
+];
+var FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"];
+var GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/;
+function graphql(request2, query, options) {
+ if (options) {
+ if (typeof query === "string" && "query" in options) {
+ return Promise.reject(
+ new Error(`[@octokit/graphql] "query" cannot be used as variable name`)
+ );
+ }
+ for (const key in options) {
+ if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue;
+ return Promise.reject(
+ new Error(
+ `[@octokit/graphql] "${key}" cannot be used as variable name`
+ )
+ );
+ }
+ }
+ const parsedOptions = typeof query === "string" ? Object.assign({ query }, options) : query;
+ const requestOptions = Object.keys(
+ parsedOptions
+ ).reduce((result, key) => {
+ if (NON_VARIABLE_OPTIONS.includes(key)) {
+ result[key] = parsedOptions[key];
+ return result;
+ }
+ if (!result.variables) {
+ result.variables = {};
+ }
+ result.variables[key] = parsedOptions[key];
+ return result;
+ }, {});
+ const baseUrl = parsedOptions.baseUrl || request2.endpoint.DEFAULTS.baseUrl;
+ if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {
+ requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql");
+ }
+ return request2(requestOptions).then((response) => {
+ if (response.data.errors) {
+ const headers = {};
+ for (const key of Object.keys(response.headers)) {
+ headers[key] = response.headers[key];
+ }
+ throw new GraphqlResponseError(
+ requestOptions,
+ headers,
+ response.data
+ );
+ }
+ return response.data.data;
+ });
+}
+
+// pkg/dist-src/with-defaults.js
+function withDefaults(request2, newDefaults) {
+ const newRequest = request2.defaults(newDefaults);
+ const newApi = (query, options) => {
+ return graphql(newRequest, query, options);
+ };
+ return Object.assign(newApi, {
+ defaults: withDefaults.bind(null, newRequest),
+ endpoint: newRequest.endpoint
+ });
+}
+
+// pkg/dist-src/index.js
+withDefaults(request, {
+ headers: {
+ "user-agent": `octokit-graphql.js/${VERSION$d} ${getUserAgent()}`
+ },
+ method: "POST",
+ url: "/graphql"
+});
+function withCustomRequest(customRequest) {
+ return withDefaults(customRequest, {
+ method: "POST",
+ url: "/graphql"
+ });
+}
+
+// pkg/dist-src/is-jwt.js
+var b64url = "(?:[a-zA-Z0-9_-]+)";
+var sep = "\\.";
+var jwtRE = new RegExp(`^${b64url}${sep}${b64url}${sep}${b64url}$`);
+var isJWT = jwtRE.test.bind(jwtRE);
+
+// pkg/dist-src/auth.js
+async function auth$5(token) {
+ const isApp = isJWT(token);
+ const isInstallation = token.startsWith("v1.") || token.startsWith("ghs_");
+ const isUserToServer = token.startsWith("ghu_");
+ const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth";
+ return {
+ type: "token",
+ token,
+ tokenType
+ };
+}
+
+// pkg/dist-src/with-authorization-prefix.js
+function withAuthorizationPrefix(token) {
+ if (token.split(/\./).length === 3) {
+ return `bearer ${token}`;
+ }
+ return `token ${token}`;
+}
+
+// pkg/dist-src/hook.js
+async function hook$5(token, request, route, parameters) {
+ const endpoint = request.endpoint.merge(
+ route,
+ parameters
+ );
+ endpoint.headers.authorization = withAuthorizationPrefix(token);
+ return request(endpoint);
+}
+
+// pkg/dist-src/index.js
+var createTokenAuth = function createTokenAuth2(token) {
+ if (!token) {
+ throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");
+ }
+ if (typeof token !== "string") {
+ throw new Error(
+ "[@octokit/auth-token] Token passed to createTokenAuth is not a string"
+ );
+ }
+ token = token.replace(/^(token|bearer) +/i, "");
+ return Object.assign(auth$5.bind(null, token), {
+ hook: hook$5.bind(null, token)
+ });
+};
+
+const VERSION$c = "7.0.4";
+
+const noop$2 = () => {
+};
+const consoleWarn = console.warn.bind(console);
+const consoleError = console.error.bind(console);
+function createLogger$1(logger = {}) {
+ if (typeof logger.debug !== "function") {
+ logger.debug = noop$2;
+ }
+ if (typeof logger.info !== "function") {
+ logger.info = noop$2;
+ }
+ if (typeof logger.warn !== "function") {
+ logger.warn = consoleWarn;
+ }
+ if (typeof logger.error !== "function") {
+ logger.error = consoleError;
+ }
+ return logger;
+}
+const userAgentTrail = `octokit-core.js/${VERSION$c} ${getUserAgent()}`;
+let Octokit$1 = class Octokit {
+ static VERSION = VERSION$c;
+ static defaults(defaults) {
+ const OctokitWithDefaults = class extends this {
+ constructor(...args) {
+ const options = args[0] || {};
+ if (typeof defaults === "function") {
+ super(defaults(options));
+ return;
+ }
+ super(
+ Object.assign(
+ {},
+ defaults,
+ options,
+ options.userAgent && defaults.userAgent ? {
+ userAgent: `${options.userAgent} ${defaults.userAgent}`
+ } : null
+ )
+ );
+ }
+ };
+ return OctokitWithDefaults;
+ }
+ static plugins = [];
+ /**
+ * Attach a plugin (or many) to your Octokit instance.
+ *
+ * @example
+ * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)
+ */
+ static plugin(...newPlugins) {
+ const currentPlugins = this.plugins;
+ const NewOctokit = class extends this {
+ static plugins = currentPlugins.concat(
+ newPlugins.filter((plugin) => !currentPlugins.includes(plugin))
+ );
+ };
+ return NewOctokit;
+ }
+ constructor(options = {}) {
+ const hook = new Hook.Collection();
+ const requestDefaults = {
+ baseUrl: request.endpoint.DEFAULTS.baseUrl,
+ headers: {},
+ request: Object.assign({}, options.request, {
+ // @ts-ignore internal usage only, no need to type
+ hook: hook.bind(null, "request")
+ }),
+ mediaType: {
+ previews: [],
+ format: ""
+ }
+ };
+ requestDefaults.headers["user-agent"] = options.userAgent ? `${options.userAgent} ${userAgentTrail}` : userAgentTrail;
+ if (options.baseUrl) {
+ requestDefaults.baseUrl = options.baseUrl;
+ }
+ if (options.previews) {
+ requestDefaults.mediaType.previews = options.previews;
+ }
+ if (options.timeZone) {
+ requestDefaults.headers["time-zone"] = options.timeZone;
+ }
+ this.request = request.defaults(requestDefaults);
+ this.graphql = withCustomRequest(this.request).defaults(requestDefaults);
+ this.log = createLogger$1(options.log);
+ this.hook = hook;
+ if (!options.authStrategy) {
+ if (!options.auth) {
+ this.auth = async () => ({
+ type: "unauthenticated"
+ });
+ } else {
+ const auth = createTokenAuth(options.auth);
+ hook.wrap("request", auth.hook);
+ this.auth = auth;
+ }
+ } else {
+ const { authStrategy, ...otherOptions } = options;
+ const auth = authStrategy(
+ Object.assign(
+ {
+ request: this.request,
+ log: this.log,
+ // we pass the current octokit instance as well as its constructor options
+ // to allow for authentication strategies that return a new octokit instance
+ // that shares the same internal state as the current one. The original
+ // requirement for this was the "event-octokit" authentication strategy
+ // of https://github.com/probot/octokit-auth-probot.
+ octokit: this,
+ octokitOptions: otherOptions
+ },
+ options.auth
+ )
+ );
+ hook.wrap("request", auth.hook);
+ this.auth = auth;
+ }
+ const classConstructor = this.constructor;
+ for (let i = 0; i < classConstructor.plugins.length; ++i) {
+ Object.assign(this, classConstructor.plugins[i](this, options));
+ }
+ }
+ // assigned during constructor
+ request;
+ graphql;
+ log;
+ hook;
+ // TODO: type `octokit.auth` based on passed options.authStrategy
+ auth;
+};
+
+// pkg/dist-src/version.js
+var VERSION$b = "0.0.0-development";
+
+// pkg/dist-src/normalize-paginated-list-response.js
+function normalizePaginatedListResponse(response) {
+ if (!response.data) {
+ return {
+ ...response,
+ data: []
+ };
+ }
+ const responseNeedsNormalization = ("total_count" in response.data || "total_commits" in response.data) && !("url" in response.data);
+ if (!responseNeedsNormalization) return response;
+ const incompleteResults = response.data.incomplete_results;
+ const repositorySelection = response.data.repository_selection;
+ const totalCount = response.data.total_count;
+ const totalCommits = response.data.total_commits;
+ delete response.data.incomplete_results;
+ delete response.data.repository_selection;
+ delete response.data.total_count;
+ delete response.data.total_commits;
+ const namespaceKey = Object.keys(response.data)[0];
+ const data = response.data[namespaceKey];
+ response.data = data;
+ if (typeof incompleteResults !== "undefined") {
+ response.data.incomplete_results = incompleteResults;
+ }
+ if (typeof repositorySelection !== "undefined") {
+ response.data.repository_selection = repositorySelection;
+ }
+ response.data.total_count = totalCount;
+ response.data.total_commits = totalCommits;
+ return response;
+}
+
+// pkg/dist-src/iterator.js
+function iterator(octokit, route, parameters) {
+ const options = typeof route === "function" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters);
+ const requestMethod = typeof route === "function" ? route : octokit.request;
+ const method = options.method;
+ const headers = options.headers;
+ let url = options.url;
+ return {
+ [Symbol.asyncIterator]: () => ({
+ async next() {
+ if (!url) return { done: true };
+ try {
+ const response = await requestMethod({ method, url, headers });
+ const normalizedResponse = normalizePaginatedListResponse(response);
+ url = ((normalizedResponse.headers.link || "").match(
+ /<([^<>]+)>;\s*rel="next"/
+ ) || [])[1];
+ if (!url && "total_commits" in normalizedResponse.data) {
+ const parsedUrl = new URL(normalizedResponse.url);
+ const params = parsedUrl.searchParams;
+ const page = parseInt(params.get("page") || "1", 10);
+ const per_page = parseInt(params.get("per_page") || "250", 10);
+ if (page * per_page < normalizedResponse.data.total_commits) {
+ params.set("page", String(page + 1));
+ url = parsedUrl.toString();
+ }
+ }
+ return { value: normalizedResponse };
+ } catch (error) {
+ if (error.status !== 409) throw error;
+ url = "";
+ return {
+ value: {
+ status: 200,
+ headers: {},
+ data: []
+ }
+ };
+ }
+ }
+ })
+ };
+}
+
+// pkg/dist-src/paginate.js
+function paginate(octokit, route, parameters, mapFn) {
+ if (typeof parameters === "function") {
+ mapFn = parameters;
+ parameters = void 0;
+ }
+ return gather(
+ octokit,
+ [],
+ iterator(octokit, route, parameters)[Symbol.asyncIterator](),
+ mapFn
+ );
+}
+function gather(octokit, results, iterator2, mapFn) {
+ return iterator2.next().then((result) => {
+ if (result.done) {
+ return results;
+ }
+ let earlyExit = false;
+ function done() {
+ earlyExit = true;
+ }
+ results = results.concat(
+ mapFn ? mapFn(result.value, done) : result.value.data
+ );
+ if (earlyExit) {
+ return results;
+ }
+ return gather(octokit, results, iterator2, mapFn);
+ });
+}
+
+// pkg/dist-src/compose-paginate.js
+var composePaginateRest = Object.assign(paginate, {
+ iterator
+});
+
+// pkg/dist-src/index.js
+function paginateRest(octokit) {
+ return {
+ paginate: Object.assign(paginate.bind(null, octokit), {
+ iterator: iterator.bind(null, octokit)
+ })
+ };
+}
+paginateRest.VERSION = VERSION$b;
+
+// pkg/dist-src/errors.js
+var generateMessage = (path, cursorValue) => `The cursor at "${path.join(
+ ","
+)}" did not change its value "${cursorValue}" after a page transition. Please make sure your that your query is set up correctly.`;
+var MissingCursorChange = class extends Error {
+ constructor(pageInfo, cursorValue) {
+ super(generateMessage(pageInfo.pathInQuery, cursorValue));
+ this.pageInfo = pageInfo;
+ this.cursorValue = cursorValue;
+ if (Error.captureStackTrace) {
+ Error.captureStackTrace(this, this.constructor);
+ }
+ }
+ name = "MissingCursorChangeError";
+};
+var MissingPageInfo = class extends Error {
+ constructor(response) {
+ super(
+ `No pageInfo property found in response. Please make sure to specify the pageInfo in your query. Response-Data: ${JSON.stringify(
+ response,
+ null,
+ 2
+ )}`
+ );
+ this.response = response;
+ if (Error.captureStackTrace) {
+ Error.captureStackTrace(this, this.constructor);
+ }
+ }
+ name = "MissingPageInfo";
+};
+
+// pkg/dist-src/object-helpers.js
+var isObject = (value) => Object.prototype.toString.call(value) === "[object Object]";
+function findPaginatedResourcePath(responseData) {
+ const paginatedResourcePath = deepFindPathToProperty(
+ responseData,
+ "pageInfo"
+ );
+ if (paginatedResourcePath.length === 0) {
+ throw new MissingPageInfo(responseData);
+ }
+ return paginatedResourcePath;
+}
+var deepFindPathToProperty = (object, searchProp, path = []) => {
+ for (const key of Object.keys(object)) {
+ const currentPath = [...path, key];
+ const currentValue = object[key];
+ if (isObject(currentValue)) {
+ if (currentValue.hasOwnProperty(searchProp)) {
+ return currentPath;
+ }
+ const result = deepFindPathToProperty(
+ currentValue,
+ searchProp,
+ currentPath
+ );
+ if (result.length > 0) {
+ return result;
+ }
+ }
+ }
+ return [];
+};
+var get$1 = (object, path) => {
+ return path.reduce((current, nextProperty) => current[nextProperty], object);
+};
+var set$1 = (object, path, mutator) => {
+ const lastProperty = path[path.length - 1];
+ const parentPath = [...path].slice(0, -1);
+ const parent = get$1(object, parentPath);
+ if (typeof mutator === "function") {
+ parent[lastProperty] = mutator(parent[lastProperty]);
+ } else {
+ parent[lastProperty] = mutator;
+ }
+};
+
+// pkg/dist-src/extract-page-info.js
+var extractPageInfos = (responseData) => {
+ const pageInfoPath = findPaginatedResourcePath(responseData);
+ return {
+ pathInQuery: pageInfoPath,
+ pageInfo: get$1(responseData, [...pageInfoPath, "pageInfo"])
+ };
+};
+
+// pkg/dist-src/page-info.js
+var isForwardSearch = (givenPageInfo) => {
+ return givenPageInfo.hasOwnProperty("hasNextPage");
+};
+var getCursorFrom = (pageInfo) => isForwardSearch(pageInfo) ? pageInfo.endCursor : pageInfo.startCursor;
+var hasAnotherPage = (pageInfo) => isForwardSearch(pageInfo) ? pageInfo.hasNextPage : pageInfo.hasPreviousPage;
+
+// pkg/dist-src/iterator.js
+var createIterator = (octokit) => {
+ return (query, initialParameters = {}) => {
+ let nextPageExists = true;
+ let parameters = { ...initialParameters };
+ return {
+ [Symbol.asyncIterator]: () => ({
+ async next() {
+ if (!nextPageExists) return { done: true, value: {} };
+ const response = await octokit.graphql(
+ query,
+ parameters
+ );
+ const pageInfoContext = extractPageInfos(response);
+ const nextCursorValue = getCursorFrom(pageInfoContext.pageInfo);
+ nextPageExists = hasAnotherPage(pageInfoContext.pageInfo);
+ if (nextPageExists && nextCursorValue === parameters.cursor) {
+ throw new MissingCursorChange(pageInfoContext, nextCursorValue);
+ }
+ parameters = {
+ ...parameters,
+ cursor: nextCursorValue
+ };
+ return { done: false, value: response };
+ }
+ })
+ };
+ };
+};
+
+// pkg/dist-src/merge-responses.js
+var mergeResponses = (response1, response2) => {
+ if (Object.keys(response1).length === 0) {
+ return Object.assign(response1, response2);
+ }
+ const path = findPaginatedResourcePath(response1);
+ const nodesPath = [...path, "nodes"];
+ const newNodes = get$1(response2, nodesPath);
+ if (newNodes) {
+ set$1(response1, nodesPath, (values) => {
+ return [...values, ...newNodes];
+ });
+ }
+ const edgesPath = [...path, "edges"];
+ const newEdges = get$1(response2, edgesPath);
+ if (newEdges) {
+ set$1(response1, edgesPath, (values) => {
+ return [...values, ...newEdges];
+ });
+ }
+ const pageInfoPath = [...path, "pageInfo"];
+ set$1(response1, pageInfoPath, get$1(response2, pageInfoPath));
+ return response1;
+};
+
+// pkg/dist-src/paginate.js
+var createPaginate = (octokit) => {
+ const iterator = createIterator(octokit);
+ return async (query, initialParameters = {}) => {
+ let mergedResponse = {};
+ for await (const response of iterator(
+ query,
+ initialParameters
+ )) {
+ mergedResponse = mergeResponses(mergedResponse, response);
+ }
+ return mergedResponse;
+ };
+};
+
+// pkg/dist-src/index.js
+function paginateGraphQL(octokit) {
+ return {
+ graphql: Object.assign(octokit.graphql, {
+ paginate: Object.assign(createPaginate(octokit), {
+ iterator: createIterator(octokit)
+ })
+ })
+ };
+}
+
+const VERSION$a = "16.1.0";
+
+const Endpoints = {
+ actions: {
+ addCustomLabelsToSelfHostedRunnerForOrg: [
+ "POST /orgs/{org}/actions/runners/{runner_id}/labels"
+ ],
+ addCustomLabelsToSelfHostedRunnerForRepo: [
+ "POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"
+ ],
+ addRepoAccessToSelfHostedRunnerGroupInOrg: [
+ "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}"
+ ],
+ addSelectedRepoToOrgSecret: [
+ "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"
+ ],
+ addSelectedRepoToOrgVariable: [
+ "PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"
+ ],
+ approveWorkflowRun: [
+ "POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"
+ ],
+ cancelWorkflowRun: [
+ "POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"
+ ],
+ createEnvironmentVariable: [
+ "POST /repos/{owner}/{repo}/environments/{environment_name}/variables"
+ ],
+ createHostedRunnerForOrg: ["POST /orgs/{org}/actions/hosted-runners"],
+ createOrUpdateEnvironmentSecret: [
+ "PUT /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"
+ ],
+ createOrUpdateOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}"],
+ createOrUpdateRepoSecret: [
+ "PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"
+ ],
+ createOrgVariable: ["POST /orgs/{org}/actions/variables"],
+ createRegistrationTokenForOrg: [
+ "POST /orgs/{org}/actions/runners/registration-token"
+ ],
+ createRegistrationTokenForRepo: [
+ "POST /repos/{owner}/{repo}/actions/runners/registration-token"
+ ],
+ createRemoveTokenForOrg: ["POST /orgs/{org}/actions/runners/remove-token"],
+ createRemoveTokenForRepo: [
+ "POST /repos/{owner}/{repo}/actions/runners/remove-token"
+ ],
+ createRepoVariable: ["POST /repos/{owner}/{repo}/actions/variables"],
+ createWorkflowDispatch: [
+ "POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"
+ ],
+ deleteActionsCacheById: [
+ "DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}"
+ ],
+ deleteActionsCacheByKey: [
+ "DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}"
+ ],
+ deleteArtifact: [
+ "DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"
+ ],
+ deleteEnvironmentSecret: [
+ "DELETE /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"
+ ],
+ deleteEnvironmentVariable: [
+ "DELETE /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"
+ ],
+ deleteHostedRunnerForOrg: [
+ "DELETE /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"
+ ],
+ deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"],
+ deleteOrgVariable: ["DELETE /orgs/{org}/actions/variables/{name}"],
+ deleteRepoSecret: [
+ "DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"
+ ],
+ deleteRepoVariable: [
+ "DELETE /repos/{owner}/{repo}/actions/variables/{name}"
+ ],
+ deleteSelfHostedRunnerFromOrg: [
+ "DELETE /orgs/{org}/actions/runners/{runner_id}"
+ ],
+ deleteSelfHostedRunnerFromRepo: [
+ "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"
+ ],
+ deleteWorkflowRun: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"],
+ deleteWorkflowRunLogs: [
+ "DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"
+ ],
+ disableSelectedRepositoryGithubActionsOrganization: [
+ "DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"
+ ],
+ disableWorkflow: [
+ "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"
+ ],
+ downloadArtifact: [
+ "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"
+ ],
+ downloadJobLogsForWorkflowRun: [
+ "GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"
+ ],
+ downloadWorkflowRunAttemptLogs: [
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs"
+ ],
+ downloadWorkflowRunLogs: [
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"
+ ],
+ enableSelectedRepositoryGithubActionsOrganization: [
+ "PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"
+ ],
+ enableWorkflow: [
+ "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"
+ ],
+ forceCancelWorkflowRun: [
+ "POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel"
+ ],
+ generateRunnerJitconfigForOrg: [
+ "POST /orgs/{org}/actions/runners/generate-jitconfig"
+ ],
+ generateRunnerJitconfigForRepo: [
+ "POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig"
+ ],
+ getActionsCacheList: ["GET /repos/{owner}/{repo}/actions/caches"],
+ getActionsCacheUsage: ["GET /repos/{owner}/{repo}/actions/cache/usage"],
+ getActionsCacheUsageByRepoForOrg: [
+ "GET /orgs/{org}/actions/cache/usage-by-repository"
+ ],
+ getActionsCacheUsageForOrg: ["GET /orgs/{org}/actions/cache/usage"],
+ getAllowedActionsOrganization: [
+ "GET /orgs/{org}/actions/permissions/selected-actions"
+ ],
+ getAllowedActionsRepository: [
+ "GET /repos/{owner}/{repo}/actions/permissions/selected-actions"
+ ],
+ getArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],
+ getCustomOidcSubClaimForRepo: [
+ "GET /repos/{owner}/{repo}/actions/oidc/customization/sub"
+ ],
+ getEnvironmentPublicKey: [
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key"
+ ],
+ getEnvironmentSecret: [
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"
+ ],
+ getEnvironmentVariable: [
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"
+ ],
+ getGithubActionsDefaultWorkflowPermissionsOrganization: [
+ "GET /orgs/{org}/actions/permissions/workflow"
+ ],
+ getGithubActionsDefaultWorkflowPermissionsRepository: [
+ "GET /repos/{owner}/{repo}/actions/permissions/workflow"
+ ],
+ getGithubActionsPermissionsOrganization: [
+ "GET /orgs/{org}/actions/permissions"
+ ],
+ getGithubActionsPermissionsRepository: [
+ "GET /repos/{owner}/{repo}/actions/permissions"
+ ],
+ getHostedRunnerForOrg: [
+ "GET /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"
+ ],
+ getHostedRunnersGithubOwnedImagesForOrg: [
+ "GET /orgs/{org}/actions/hosted-runners/images/github-owned"
+ ],
+ getHostedRunnersLimitsForOrg: [
+ "GET /orgs/{org}/actions/hosted-runners/limits"
+ ],
+ getHostedRunnersMachineSpecsForOrg: [
+ "GET /orgs/{org}/actions/hosted-runners/machine-sizes"
+ ],
+ getHostedRunnersPartnerImagesForOrg: [
+ "GET /orgs/{org}/actions/hosted-runners/images/partner"
+ ],
+ getHostedRunnersPlatformsForOrg: [
+ "GET /orgs/{org}/actions/hosted-runners/platforms"
+ ],
+ getJobForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"],
+ getOrgPublicKey: ["GET /orgs/{org}/actions/secrets/public-key"],
+ getOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}"],
+ getOrgVariable: ["GET /orgs/{org}/actions/variables/{name}"],
+ getPendingDeploymentsForRun: [
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"
+ ],
+ getRepoPermissions: [
+ "GET /repos/{owner}/{repo}/actions/permissions",
+ {},
+ { renamed: ["actions", "getGithubActionsPermissionsRepository"] }
+ ],
+ getRepoPublicKey: ["GET /repos/{owner}/{repo}/actions/secrets/public-key"],
+ getRepoSecret: ["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"],
+ getRepoVariable: ["GET /repos/{owner}/{repo}/actions/variables/{name}"],
+ getReviewsForRun: [
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"
+ ],
+ getSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}"],
+ getSelfHostedRunnerForRepo: [
+ "GET /repos/{owner}/{repo}/actions/runners/{runner_id}"
+ ],
+ getWorkflow: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"],
+ getWorkflowAccessToRepository: [
+ "GET /repos/{owner}/{repo}/actions/permissions/access"
+ ],
+ getWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}"],
+ getWorkflowRunAttempt: [
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}"
+ ],
+ getWorkflowRunUsage: [
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"
+ ],
+ getWorkflowUsage: [
+ "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"
+ ],
+ listArtifactsForRepo: ["GET /repos/{owner}/{repo}/actions/artifacts"],
+ listEnvironmentSecrets: [
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets"
+ ],
+ listEnvironmentVariables: [
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/variables"
+ ],
+ listGithubHostedRunnersInGroupForOrg: [
+ "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners"
+ ],
+ listHostedRunnersForOrg: ["GET /orgs/{org}/actions/hosted-runners"],
+ listJobsForWorkflowRun: [
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"
+ ],
+ listJobsForWorkflowRunAttempt: [
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"
+ ],
+ listLabelsForSelfHostedRunnerForOrg: [
+ "GET /orgs/{org}/actions/runners/{runner_id}/labels"
+ ],
+ listLabelsForSelfHostedRunnerForRepo: [
+ "GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"
+ ],
+ listOrgSecrets: ["GET /orgs/{org}/actions/secrets"],
+ listOrgVariables: ["GET /orgs/{org}/actions/variables"],
+ listRepoOrganizationSecrets: [
+ "GET /repos/{owner}/{repo}/actions/organization-secrets"
+ ],
+ listRepoOrganizationVariables: [
+ "GET /repos/{owner}/{repo}/actions/organization-variables"
+ ],
+ listRepoSecrets: ["GET /repos/{owner}/{repo}/actions/secrets"],
+ listRepoVariables: ["GET /repos/{owner}/{repo}/actions/variables"],
+ listRepoWorkflows: ["GET /repos/{owner}/{repo}/actions/workflows"],
+ listRunnerApplicationsForOrg: ["GET /orgs/{org}/actions/runners/downloads"],
+ listRunnerApplicationsForRepo: [
+ "GET /repos/{owner}/{repo}/actions/runners/downloads"
+ ],
+ listSelectedReposForOrgSecret: [
+ "GET /orgs/{org}/actions/secrets/{secret_name}/repositories"
+ ],
+ listSelectedReposForOrgVariable: [
+ "GET /orgs/{org}/actions/variables/{name}/repositories"
+ ],
+ listSelectedRepositoriesEnabledGithubActionsOrganization: [
+ "GET /orgs/{org}/actions/permissions/repositories"
+ ],
+ listSelfHostedRunnersForOrg: ["GET /orgs/{org}/actions/runners"],
+ listSelfHostedRunnersForRepo: ["GET /repos/{owner}/{repo}/actions/runners"],
+ listWorkflowRunArtifacts: [
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"
+ ],
+ listWorkflowRuns: [
+ "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"
+ ],
+ listWorkflowRunsForRepo: ["GET /repos/{owner}/{repo}/actions/runs"],
+ reRunJobForWorkflowRun: [
+ "POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun"
+ ],
+ reRunWorkflow: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"],
+ reRunWorkflowFailedJobs: [
+ "POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs"
+ ],
+ removeAllCustomLabelsFromSelfHostedRunnerForOrg: [
+ "DELETE /orgs/{org}/actions/runners/{runner_id}/labels"
+ ],
+ removeAllCustomLabelsFromSelfHostedRunnerForRepo: [
+ "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"
+ ],
+ removeCustomLabelFromSelfHostedRunnerForOrg: [
+ "DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}"
+ ],
+ removeCustomLabelFromSelfHostedRunnerForRepo: [
+ "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}"
+ ],
+ removeSelectedRepoFromOrgSecret: [
+ "DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"
+ ],
+ removeSelectedRepoFromOrgVariable: [
+ "DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"
+ ],
+ reviewCustomGatesForRun: [
+ "POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule"
+ ],
+ reviewPendingDeploymentsForRun: [
+ "POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"
+ ],
+ setAllowedActionsOrganization: [
+ "PUT /orgs/{org}/actions/permissions/selected-actions"
+ ],
+ setAllowedActionsRepository: [
+ "PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"
+ ],
+ setCustomLabelsForSelfHostedRunnerForOrg: [
+ "PUT /orgs/{org}/actions/runners/{runner_id}/labels"
+ ],
+ setCustomLabelsForSelfHostedRunnerForRepo: [
+ "PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"
+ ],
+ setCustomOidcSubClaimForRepo: [
+ "PUT /repos/{owner}/{repo}/actions/oidc/customization/sub"
+ ],
+ setGithubActionsDefaultWorkflowPermissionsOrganization: [
+ "PUT /orgs/{org}/actions/permissions/workflow"
+ ],
+ setGithubActionsDefaultWorkflowPermissionsRepository: [
+ "PUT /repos/{owner}/{repo}/actions/permissions/workflow"
+ ],
+ setGithubActionsPermissionsOrganization: [
+ "PUT /orgs/{org}/actions/permissions"
+ ],
+ setGithubActionsPermissionsRepository: [
+ "PUT /repos/{owner}/{repo}/actions/permissions"
+ ],
+ setSelectedReposForOrgSecret: [
+ "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"
+ ],
+ setSelectedReposForOrgVariable: [
+ "PUT /orgs/{org}/actions/variables/{name}/repositories"
+ ],
+ setSelectedRepositoriesEnabledGithubActionsOrganization: [
+ "PUT /orgs/{org}/actions/permissions/repositories"
+ ],
+ setWorkflowAccessToRepository: [
+ "PUT /repos/{owner}/{repo}/actions/permissions/access"
+ ],
+ updateEnvironmentVariable: [
+ "PATCH /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"
+ ],
+ updateHostedRunnerForOrg: [
+ "PATCH /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"
+ ],
+ updateOrgVariable: ["PATCH /orgs/{org}/actions/variables/{name}"],
+ updateRepoVariable: [
+ "PATCH /repos/{owner}/{repo}/actions/variables/{name}"
+ ]
+ },
+ activity: {
+ checkRepoIsStarredByAuthenticatedUser: ["GET /user/starred/{owner}/{repo}"],
+ deleteRepoSubscription: ["DELETE /repos/{owner}/{repo}/subscription"],
+ deleteThreadSubscription: [
+ "DELETE /notifications/threads/{thread_id}/subscription"
+ ],
+ getFeeds: ["GET /feeds"],
+ getRepoSubscription: ["GET /repos/{owner}/{repo}/subscription"],
+ getThread: ["GET /notifications/threads/{thread_id}"],
+ getThreadSubscriptionForAuthenticatedUser: [
+ "GET /notifications/threads/{thread_id}/subscription"
+ ],
+ listEventsForAuthenticatedUser: ["GET /users/{username}/events"],
+ listNotificationsForAuthenticatedUser: ["GET /notifications"],
+ listOrgEventsForAuthenticatedUser: [
+ "GET /users/{username}/events/orgs/{org}"
+ ],
+ listPublicEvents: ["GET /events"],
+ listPublicEventsForRepoNetwork: ["GET /networks/{owner}/{repo}/events"],
+ listPublicEventsForUser: ["GET /users/{username}/events/public"],
+ listPublicOrgEvents: ["GET /orgs/{org}/events"],
+ listReceivedEventsForUser: ["GET /users/{username}/received_events"],
+ listReceivedPublicEventsForUser: [
+ "GET /users/{username}/received_events/public"
+ ],
+ listRepoEvents: ["GET /repos/{owner}/{repo}/events"],
+ listRepoNotificationsForAuthenticatedUser: [
+ "GET /repos/{owner}/{repo}/notifications"
+ ],
+ listReposStarredByAuthenticatedUser: ["GET /user/starred"],
+ listReposStarredByUser: ["GET /users/{username}/starred"],
+ listReposWatchedByUser: ["GET /users/{username}/subscriptions"],
+ listStargazersForRepo: ["GET /repos/{owner}/{repo}/stargazers"],
+ listWatchedReposForAuthenticatedUser: ["GET /user/subscriptions"],
+ listWatchersForRepo: ["GET /repos/{owner}/{repo}/subscribers"],
+ markNotificationsAsRead: ["PUT /notifications"],
+ markRepoNotificationsAsRead: ["PUT /repos/{owner}/{repo}/notifications"],
+ markThreadAsDone: ["DELETE /notifications/threads/{thread_id}"],
+ markThreadAsRead: ["PATCH /notifications/threads/{thread_id}"],
+ setRepoSubscription: ["PUT /repos/{owner}/{repo}/subscription"],
+ setThreadSubscription: [
+ "PUT /notifications/threads/{thread_id}/subscription"
+ ],
+ starRepoForAuthenticatedUser: ["PUT /user/starred/{owner}/{repo}"],
+ unstarRepoForAuthenticatedUser: ["DELETE /user/starred/{owner}/{repo}"]
+ },
+ apps: {
+ addRepoToInstallation: [
+ "PUT /user/installations/{installation_id}/repositories/{repository_id}",
+ {},
+ { renamed: ["apps", "addRepoToInstallationForAuthenticatedUser"] }
+ ],
+ addRepoToInstallationForAuthenticatedUser: [
+ "PUT /user/installations/{installation_id}/repositories/{repository_id}"
+ ],
+ checkToken: ["POST /applications/{client_id}/token"],
+ createFromManifest: ["POST /app-manifests/{code}/conversions"],
+ createInstallationAccessToken: [
+ "POST /app/installations/{installation_id}/access_tokens"
+ ],
+ deleteAuthorization: ["DELETE /applications/{client_id}/grant"],
+ deleteInstallation: ["DELETE /app/installations/{installation_id}"],
+ deleteToken: ["DELETE /applications/{client_id}/token"],
+ getAuthenticated: ["GET /app"],
+ getBySlug: ["GET /apps/{app_slug}"],
+ getInstallation: ["GET /app/installations/{installation_id}"],
+ getOrgInstallation: ["GET /orgs/{org}/installation"],
+ getRepoInstallation: ["GET /repos/{owner}/{repo}/installation"],
+ getSubscriptionPlanForAccount: [
+ "GET /marketplace_listing/accounts/{account_id}"
+ ],
+ getSubscriptionPlanForAccountStubbed: [
+ "GET /marketplace_listing/stubbed/accounts/{account_id}"
+ ],
+ getUserInstallation: ["GET /users/{username}/installation"],
+ getWebhookConfigForApp: ["GET /app/hook/config"],
+ getWebhookDelivery: ["GET /app/hook/deliveries/{delivery_id}"],
+ listAccountsForPlan: ["GET /marketplace_listing/plans/{plan_id}/accounts"],
+ listAccountsForPlanStubbed: [
+ "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"
+ ],
+ listInstallationReposForAuthenticatedUser: [
+ "GET /user/installations/{installation_id}/repositories"
+ ],
+ listInstallationRequestsForAuthenticatedApp: [
+ "GET /app/installation-requests"
+ ],
+ listInstallations: ["GET /app/installations"],
+ listInstallationsForAuthenticatedUser: ["GET /user/installations"],
+ listPlans: ["GET /marketplace_listing/plans"],
+ listPlansStubbed: ["GET /marketplace_listing/stubbed/plans"],
+ listReposAccessibleToInstallation: ["GET /installation/repositories"],
+ listSubscriptionsForAuthenticatedUser: ["GET /user/marketplace_purchases"],
+ listSubscriptionsForAuthenticatedUserStubbed: [
+ "GET /user/marketplace_purchases/stubbed"
+ ],
+ listWebhookDeliveries: ["GET /app/hook/deliveries"],
+ redeliverWebhookDelivery: [
+ "POST /app/hook/deliveries/{delivery_id}/attempts"
+ ],
+ removeRepoFromInstallation: [
+ "DELETE /user/installations/{installation_id}/repositories/{repository_id}",
+ {},
+ { renamed: ["apps", "removeRepoFromInstallationForAuthenticatedUser"] }
+ ],
+ removeRepoFromInstallationForAuthenticatedUser: [
+ "DELETE /user/installations/{installation_id}/repositories/{repository_id}"
+ ],
+ resetToken: ["PATCH /applications/{client_id}/token"],
+ revokeInstallationAccessToken: ["DELETE /installation/token"],
+ scopeToken: ["POST /applications/{client_id}/token/scoped"],
+ suspendInstallation: ["PUT /app/installations/{installation_id}/suspended"],
+ unsuspendInstallation: [
+ "DELETE /app/installations/{installation_id}/suspended"
+ ],
+ updateWebhookConfigForApp: ["PATCH /app/hook/config"]
+ },
+ billing: {
+ getGithubActionsBillingOrg: ["GET /orgs/{org}/settings/billing/actions"],
+ getGithubActionsBillingUser: [
+ "GET /users/{username}/settings/billing/actions"
+ ],
+ getGithubBillingUsageReportOrg: [
+ "GET /organizations/{org}/settings/billing/usage"
+ ],
+ getGithubBillingUsageReportUser: [
+ "GET /users/{username}/settings/billing/usage"
+ ],
+ getGithubPackagesBillingOrg: ["GET /orgs/{org}/settings/billing/packages"],
+ getGithubPackagesBillingUser: [
+ "GET /users/{username}/settings/billing/packages"
+ ],
+ getSharedStorageBillingOrg: [
+ "GET /orgs/{org}/settings/billing/shared-storage"
+ ],
+ getSharedStorageBillingUser: [
+ "GET /users/{username}/settings/billing/shared-storage"
+ ]
+ },
+ campaigns: {
+ createCampaign: ["POST /orgs/{org}/campaigns"],
+ deleteCampaign: ["DELETE /orgs/{org}/campaigns/{campaign_number}"],
+ getCampaignSummary: ["GET /orgs/{org}/campaigns/{campaign_number}"],
+ listOrgCampaigns: ["GET /orgs/{org}/campaigns"],
+ updateCampaign: ["PATCH /orgs/{org}/campaigns/{campaign_number}"]
+ },
+ checks: {
+ create: ["POST /repos/{owner}/{repo}/check-runs"],
+ createSuite: ["POST /repos/{owner}/{repo}/check-suites"],
+ get: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"],
+ getSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"],
+ listAnnotations: [
+ "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"
+ ],
+ listForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"],
+ listForSuite: [
+ "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"
+ ],
+ listSuitesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"],
+ rerequestRun: [
+ "POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest"
+ ],
+ rerequestSuite: [
+ "POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest"
+ ],
+ setSuitesPreferences: [
+ "PATCH /repos/{owner}/{repo}/check-suites/preferences"
+ ],
+ update: ["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"]
+ },
+ codeScanning: {
+ commitAutofix: [
+ "POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix/commits"
+ ],
+ createAutofix: [
+ "POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix"
+ ],
+ createVariantAnalysis: [
+ "POST /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses"
+ ],
+ deleteAnalysis: [
+ "DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"
+ ],
+ deleteCodeqlDatabase: [
+ "DELETE /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}"
+ ],
+ getAlert: [
+ "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}",
+ {},
+ { renamedParameters: { alert_id: "alert_number" } }
+ ],
+ getAnalysis: [
+ "GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"
+ ],
+ getAutofix: [
+ "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix"
+ ],
+ getCodeqlDatabase: [
+ "GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}"
+ ],
+ getDefaultSetup: ["GET /repos/{owner}/{repo}/code-scanning/default-setup"],
+ getSarif: ["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"],
+ getVariantAnalysis: [
+ "GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}"
+ ],
+ getVariantAnalysisRepoTask: [
+ "GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}/repos/{repo_owner}/{repo_name}"
+ ],
+ listAlertInstances: [
+ "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"
+ ],
+ listAlertsForOrg: ["GET /orgs/{org}/code-scanning/alerts"],
+ listAlertsForRepo: ["GET /repos/{owner}/{repo}/code-scanning/alerts"],
+ listAlertsInstances: [
+ "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances",
+ {},
+ { renamed: ["codeScanning", "listAlertInstances"] }
+ ],
+ listCodeqlDatabases: [
+ "GET /repos/{owner}/{repo}/code-scanning/codeql/databases"
+ ],
+ listRecentAnalyses: ["GET /repos/{owner}/{repo}/code-scanning/analyses"],
+ updateAlert: [
+ "PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"
+ ],
+ updateDefaultSetup: [
+ "PATCH /repos/{owner}/{repo}/code-scanning/default-setup"
+ ],
+ uploadSarif: ["POST /repos/{owner}/{repo}/code-scanning/sarifs"]
+ },
+ codeSecurity: {
+ attachConfiguration: [
+ "POST /orgs/{org}/code-security/configurations/{configuration_id}/attach"
+ ],
+ attachEnterpriseConfiguration: [
+ "POST /enterprises/{enterprise}/code-security/configurations/{configuration_id}/attach"
+ ],
+ createConfiguration: ["POST /orgs/{org}/code-security/configurations"],
+ createConfigurationForEnterprise: [
+ "POST /enterprises/{enterprise}/code-security/configurations"
+ ],
+ deleteConfiguration: [
+ "DELETE /orgs/{org}/code-security/configurations/{configuration_id}"
+ ],
+ deleteConfigurationForEnterprise: [
+ "DELETE /enterprises/{enterprise}/code-security/configurations/{configuration_id}"
+ ],
+ detachConfiguration: [
+ "DELETE /orgs/{org}/code-security/configurations/detach"
+ ],
+ getConfiguration: [
+ "GET /orgs/{org}/code-security/configurations/{configuration_id}"
+ ],
+ getConfigurationForRepository: [
+ "GET /repos/{owner}/{repo}/code-security-configuration"
+ ],
+ getConfigurationsForEnterprise: [
+ "GET /enterprises/{enterprise}/code-security/configurations"
+ ],
+ getConfigurationsForOrg: ["GET /orgs/{org}/code-security/configurations"],
+ getDefaultConfigurations: [
+ "GET /orgs/{org}/code-security/configurations/defaults"
+ ],
+ getDefaultConfigurationsForEnterprise: [
+ "GET /enterprises/{enterprise}/code-security/configurations/defaults"
+ ],
+ getRepositoriesForConfiguration: [
+ "GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories"
+ ],
+ getRepositoriesForEnterpriseConfiguration: [
+ "GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories"
+ ],
+ getSingleConfigurationForEnterprise: [
+ "GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}"
+ ],
+ setConfigurationAsDefault: [
+ "PUT /orgs/{org}/code-security/configurations/{configuration_id}/defaults"
+ ],
+ setConfigurationAsDefaultForEnterprise: [
+ "PUT /enterprises/{enterprise}/code-security/configurations/{configuration_id}/defaults"
+ ],
+ updateConfiguration: [
+ "PATCH /orgs/{org}/code-security/configurations/{configuration_id}"
+ ],
+ updateEnterpriseConfiguration: [
+ "PATCH /enterprises/{enterprise}/code-security/configurations/{configuration_id}"
+ ]
+ },
+ codesOfConduct: {
+ getAllCodesOfConduct: ["GET /codes_of_conduct"],
+ getConductCode: ["GET /codes_of_conduct/{key}"]
+ },
+ codespaces: {
+ addRepositoryForSecretForAuthenticatedUser: [
+ "PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"
+ ],
+ addSelectedRepoToOrgSecret: [
+ "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"
+ ],
+ checkPermissionsForDevcontainer: [
+ "GET /repos/{owner}/{repo}/codespaces/permissions_check"
+ ],
+ codespaceMachinesForAuthenticatedUser: [
+ "GET /user/codespaces/{codespace_name}/machines"
+ ],
+ createForAuthenticatedUser: ["POST /user/codespaces"],
+ createOrUpdateOrgSecret: [
+ "PUT /orgs/{org}/codespaces/secrets/{secret_name}"
+ ],
+ createOrUpdateRepoSecret: [
+ "PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"
+ ],
+ createOrUpdateSecretForAuthenticatedUser: [
+ "PUT /user/codespaces/secrets/{secret_name}"
+ ],
+ createWithPrForAuthenticatedUser: [
+ "POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces"
+ ],
+ createWithRepoForAuthenticatedUser: [
+ "POST /repos/{owner}/{repo}/codespaces"
+ ],
+ deleteForAuthenticatedUser: ["DELETE /user/codespaces/{codespace_name}"],
+ deleteFromOrganization: [
+ "DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}"
+ ],
+ deleteOrgSecret: ["DELETE /orgs/{org}/codespaces/secrets/{secret_name}"],
+ deleteRepoSecret: [
+ "DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"
+ ],
+ deleteSecretForAuthenticatedUser: [
+ "DELETE /user/codespaces/secrets/{secret_name}"
+ ],
+ exportForAuthenticatedUser: [
+ "POST /user/codespaces/{codespace_name}/exports"
+ ],
+ getCodespacesForUserInOrg: [
+ "GET /orgs/{org}/members/{username}/codespaces"
+ ],
+ getExportDetailsForAuthenticatedUser: [
+ "GET /user/codespaces/{codespace_name}/exports/{export_id}"
+ ],
+ getForAuthenticatedUser: ["GET /user/codespaces/{codespace_name}"],
+ getOrgPublicKey: ["GET /orgs/{org}/codespaces/secrets/public-key"],
+ getOrgSecret: ["GET /orgs/{org}/codespaces/secrets/{secret_name}"],
+ getPublicKeyForAuthenticatedUser: [
+ "GET /user/codespaces/secrets/public-key"
+ ],
+ getRepoPublicKey: [
+ "GET /repos/{owner}/{repo}/codespaces/secrets/public-key"
+ ],
+ getRepoSecret: [
+ "GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"
+ ],
+ getSecretForAuthenticatedUser: [
+ "GET /user/codespaces/secrets/{secret_name}"
+ ],
+ listDevcontainersInRepositoryForAuthenticatedUser: [
+ "GET /repos/{owner}/{repo}/codespaces/devcontainers"
+ ],
+ listForAuthenticatedUser: ["GET /user/codespaces"],
+ listInOrganization: [
+ "GET /orgs/{org}/codespaces",
+ {},
+ { renamedParameters: { org_id: "org" } }
+ ],
+ listInRepositoryForAuthenticatedUser: [
+ "GET /repos/{owner}/{repo}/codespaces"
+ ],
+ listOrgSecrets: ["GET /orgs/{org}/codespaces/secrets"],
+ listRepoSecrets: ["GET /repos/{owner}/{repo}/codespaces/secrets"],
+ listRepositoriesForSecretForAuthenticatedUser: [
+ "GET /user/codespaces/secrets/{secret_name}/repositories"
+ ],
+ listSecretsForAuthenticatedUser: ["GET /user/codespaces/secrets"],
+ listSelectedReposForOrgSecret: [
+ "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories"
+ ],
+ preFlightWithRepoForAuthenticatedUser: [
+ "GET /repos/{owner}/{repo}/codespaces/new"
+ ],
+ publishForAuthenticatedUser: [
+ "POST /user/codespaces/{codespace_name}/publish"
+ ],
+ removeRepositoryForSecretForAuthenticatedUser: [
+ "DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"
+ ],
+ removeSelectedRepoFromOrgSecret: [
+ "DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"
+ ],
+ repoMachinesForAuthenticatedUser: [
+ "GET /repos/{owner}/{repo}/codespaces/machines"
+ ],
+ setRepositoriesForSecretForAuthenticatedUser: [
+ "PUT /user/codespaces/secrets/{secret_name}/repositories"
+ ],
+ setSelectedReposForOrgSecret: [
+ "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories"
+ ],
+ startForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/start"],
+ stopForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/stop"],
+ stopInOrganization: [
+ "POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop"
+ ],
+ updateForAuthenticatedUser: ["PATCH /user/codespaces/{codespace_name}"]
+ },
+ copilot: {
+ addCopilotSeatsForTeams: [
+ "POST /orgs/{org}/copilot/billing/selected_teams"
+ ],
+ addCopilotSeatsForUsers: [
+ "POST /orgs/{org}/copilot/billing/selected_users"
+ ],
+ cancelCopilotSeatAssignmentForTeams: [
+ "DELETE /orgs/{org}/copilot/billing/selected_teams"
+ ],
+ cancelCopilotSeatAssignmentForUsers: [
+ "DELETE /orgs/{org}/copilot/billing/selected_users"
+ ],
+ copilotMetricsForOrganization: ["GET /orgs/{org}/copilot/metrics"],
+ copilotMetricsForTeam: ["GET /orgs/{org}/team/{team_slug}/copilot/metrics"],
+ getCopilotOrganizationDetails: ["GET /orgs/{org}/copilot/billing"],
+ getCopilotSeatDetailsForUser: [
+ "GET /orgs/{org}/members/{username}/copilot"
+ ],
+ listCopilotSeats: ["GET /orgs/{org}/copilot/billing/seats"]
+ },
+ credentials: { revoke: ["POST /credentials/revoke"] },
+ dependabot: {
+ addSelectedRepoToOrgSecret: [
+ "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"
+ ],
+ createOrUpdateOrgSecret: [
+ "PUT /orgs/{org}/dependabot/secrets/{secret_name}"
+ ],
+ createOrUpdateRepoSecret: [
+ "PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"
+ ],
+ deleteOrgSecret: ["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"],
+ deleteRepoSecret: [
+ "DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"
+ ],
+ getAlert: ["GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"],
+ getOrgPublicKey: ["GET /orgs/{org}/dependabot/secrets/public-key"],
+ getOrgSecret: ["GET /orgs/{org}/dependabot/secrets/{secret_name}"],
+ getRepoPublicKey: [
+ "GET /repos/{owner}/{repo}/dependabot/secrets/public-key"
+ ],
+ getRepoSecret: [
+ "GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"
+ ],
+ listAlertsForEnterprise: [
+ "GET /enterprises/{enterprise}/dependabot/alerts"
+ ],
+ listAlertsForOrg: ["GET /orgs/{org}/dependabot/alerts"],
+ listAlertsForRepo: ["GET /repos/{owner}/{repo}/dependabot/alerts"],
+ listOrgSecrets: ["GET /orgs/{org}/dependabot/secrets"],
+ listRepoSecrets: ["GET /repos/{owner}/{repo}/dependabot/secrets"],
+ listSelectedReposForOrgSecret: [
+ "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"
+ ],
+ removeSelectedRepoFromOrgSecret: [
+ "DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"
+ ],
+ repositoryAccessForOrg: [
+ "GET /organizations/{org}/dependabot/repository-access"
+ ],
+ setRepositoryAccessDefaultLevel: [
+ "PUT /organizations/{org}/dependabot/repository-access/default-level"
+ ],
+ setSelectedReposForOrgSecret: [
+ "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories"
+ ],
+ updateAlert: [
+ "PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"
+ ],
+ updateRepositoryAccessForOrg: [
+ "PATCH /organizations/{org}/dependabot/repository-access"
+ ]
+ },
+ dependencyGraph: {
+ createRepositorySnapshot: [
+ "POST /repos/{owner}/{repo}/dependency-graph/snapshots"
+ ],
+ diffRange: [
+ "GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}"
+ ],
+ exportSbom: ["GET /repos/{owner}/{repo}/dependency-graph/sbom"]
+ },
+ emojis: { get: ["GET /emojis"] },
+ gists: {
+ checkIsStarred: ["GET /gists/{gist_id}/star"],
+ create: ["POST /gists"],
+ createComment: ["POST /gists/{gist_id}/comments"],
+ delete: ["DELETE /gists/{gist_id}"],
+ deleteComment: ["DELETE /gists/{gist_id}/comments/{comment_id}"],
+ fork: ["POST /gists/{gist_id}/forks"],
+ get: ["GET /gists/{gist_id}"],
+ getComment: ["GET /gists/{gist_id}/comments/{comment_id}"],
+ getRevision: ["GET /gists/{gist_id}/{sha}"],
+ list: ["GET /gists"],
+ listComments: ["GET /gists/{gist_id}/comments"],
+ listCommits: ["GET /gists/{gist_id}/commits"],
+ listForUser: ["GET /users/{username}/gists"],
+ listForks: ["GET /gists/{gist_id}/forks"],
+ listPublic: ["GET /gists/public"],
+ listStarred: ["GET /gists/starred"],
+ star: ["PUT /gists/{gist_id}/star"],
+ unstar: ["DELETE /gists/{gist_id}/star"],
+ update: ["PATCH /gists/{gist_id}"],
+ updateComment: ["PATCH /gists/{gist_id}/comments/{comment_id}"]
+ },
+ git: {
+ createBlob: ["POST /repos/{owner}/{repo}/git/blobs"],
+ createCommit: ["POST /repos/{owner}/{repo}/git/commits"],
+ createRef: ["POST /repos/{owner}/{repo}/git/refs"],
+ createTag: ["POST /repos/{owner}/{repo}/git/tags"],
+ createTree: ["POST /repos/{owner}/{repo}/git/trees"],
+ deleteRef: ["DELETE /repos/{owner}/{repo}/git/refs/{ref}"],
+ getBlob: ["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"],
+ getCommit: ["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"],
+ getRef: ["GET /repos/{owner}/{repo}/git/ref/{ref}"],
+ getTag: ["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"],
+ getTree: ["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"],
+ listMatchingRefs: ["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"],
+ updateRef: ["PATCH /repos/{owner}/{repo}/git/refs/{ref}"]
+ },
+ gitignore: {
+ getAllTemplates: ["GET /gitignore/templates"],
+ getTemplate: ["GET /gitignore/templates/{name}"]
+ },
+ hostedCompute: {
+ createNetworkConfigurationForOrg: [
+ "POST /orgs/{org}/settings/network-configurations"
+ ],
+ deleteNetworkConfigurationFromOrg: [
+ "DELETE /orgs/{org}/settings/network-configurations/{network_configuration_id}"
+ ],
+ getNetworkConfigurationForOrg: [
+ "GET /orgs/{org}/settings/network-configurations/{network_configuration_id}"
+ ],
+ getNetworkSettingsForOrg: [
+ "GET /orgs/{org}/settings/network-settings/{network_settings_id}"
+ ],
+ listNetworkConfigurationsForOrg: [
+ "GET /orgs/{org}/settings/network-configurations"
+ ],
+ updateNetworkConfigurationForOrg: [
+ "PATCH /orgs/{org}/settings/network-configurations/{network_configuration_id}"
+ ]
+ },
+ interactions: {
+ getRestrictionsForAuthenticatedUser: ["GET /user/interaction-limits"],
+ getRestrictionsForOrg: ["GET /orgs/{org}/interaction-limits"],
+ getRestrictionsForRepo: ["GET /repos/{owner}/{repo}/interaction-limits"],
+ getRestrictionsForYourPublicRepos: [
+ "GET /user/interaction-limits",
+ {},
+ { renamed: ["interactions", "getRestrictionsForAuthenticatedUser"] }
+ ],
+ removeRestrictionsForAuthenticatedUser: ["DELETE /user/interaction-limits"],
+ removeRestrictionsForOrg: ["DELETE /orgs/{org}/interaction-limits"],
+ removeRestrictionsForRepo: [
+ "DELETE /repos/{owner}/{repo}/interaction-limits"
+ ],
+ removeRestrictionsForYourPublicRepos: [
+ "DELETE /user/interaction-limits",
+ {},
+ { renamed: ["interactions", "removeRestrictionsForAuthenticatedUser"] }
+ ],
+ setRestrictionsForAuthenticatedUser: ["PUT /user/interaction-limits"],
+ setRestrictionsForOrg: ["PUT /orgs/{org}/interaction-limits"],
+ setRestrictionsForRepo: ["PUT /repos/{owner}/{repo}/interaction-limits"],
+ setRestrictionsForYourPublicRepos: [
+ "PUT /user/interaction-limits",
+ {},
+ { renamed: ["interactions", "setRestrictionsForAuthenticatedUser"] }
+ ]
+ },
+ issues: {
+ addAssignees: [
+ "POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"
+ ],
+ addBlockedByDependency: [
+ "POST /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by"
+ ],
+ addLabels: ["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"],
+ addSubIssue: [
+ "POST /repos/{owner}/{repo}/issues/{issue_number}/sub_issues"
+ ],
+ checkUserCanBeAssigned: ["GET /repos/{owner}/{repo}/assignees/{assignee}"],
+ checkUserCanBeAssignedToIssue: [
+ "GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}"
+ ],
+ create: ["POST /repos/{owner}/{repo}/issues"],
+ createComment: [
+ "POST /repos/{owner}/{repo}/issues/{issue_number}/comments"
+ ],
+ createLabel: ["POST /repos/{owner}/{repo}/labels"],
+ createMilestone: ["POST /repos/{owner}/{repo}/milestones"],
+ deleteComment: [
+ "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"
+ ],
+ deleteLabel: ["DELETE /repos/{owner}/{repo}/labels/{name}"],
+ deleteMilestone: [
+ "DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"
+ ],
+ get: ["GET /repos/{owner}/{repo}/issues/{issue_number}"],
+ getComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"],
+ getEvent: ["GET /repos/{owner}/{repo}/issues/events/{event_id}"],
+ getLabel: ["GET /repos/{owner}/{repo}/labels/{name}"],
+ getMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}"],
+ getParent: ["GET /repos/{owner}/{repo}/issues/{issue_number}/parent"],
+ list: ["GET /issues"],
+ listAssignees: ["GET /repos/{owner}/{repo}/assignees"],
+ listComments: ["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"],
+ listCommentsForRepo: ["GET /repos/{owner}/{repo}/issues/comments"],
+ listDependenciesBlockedBy: [
+ "GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by"
+ ],
+ listDependenciesBlocking: [
+ "GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocking"
+ ],
+ listEvents: ["GET /repos/{owner}/{repo}/issues/{issue_number}/events"],
+ listEventsForRepo: ["GET /repos/{owner}/{repo}/issues/events"],
+ listEventsForTimeline: [
+ "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"
+ ],
+ listForAuthenticatedUser: ["GET /user/issues"],
+ listForOrg: ["GET /orgs/{org}/issues"],
+ listForRepo: ["GET /repos/{owner}/{repo}/issues"],
+ listLabelsForMilestone: [
+ "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"
+ ],
+ listLabelsForRepo: ["GET /repos/{owner}/{repo}/labels"],
+ listLabelsOnIssue: [
+ "GET /repos/{owner}/{repo}/issues/{issue_number}/labels"
+ ],
+ listMilestones: ["GET /repos/{owner}/{repo}/milestones"],
+ listSubIssues: [
+ "GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues"
+ ],
+ lock: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"],
+ removeAllLabels: [
+ "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"
+ ],
+ removeAssignees: [
+ "DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"
+ ],
+ removeDependencyBlockedBy: [
+ "DELETE /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by/{issue_id}"
+ ],
+ removeLabel: [
+ "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"
+ ],
+ removeSubIssue: [
+ "DELETE /repos/{owner}/{repo}/issues/{issue_number}/sub_issue"
+ ],
+ reprioritizeSubIssue: [
+ "PATCH /repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority"
+ ],
+ setLabels: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"],
+ unlock: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"],
+ update: ["PATCH /repos/{owner}/{repo}/issues/{issue_number}"],
+ updateComment: ["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"],
+ updateLabel: ["PATCH /repos/{owner}/{repo}/labels/{name}"],
+ updateMilestone: [
+ "PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"
+ ]
+ },
+ licenses: {
+ get: ["GET /licenses/{license}"],
+ getAllCommonlyUsed: ["GET /licenses"],
+ getForRepo: ["GET /repos/{owner}/{repo}/license"]
+ },
+ markdown: {
+ render: ["POST /markdown"],
+ renderRaw: [
+ "POST /markdown/raw",
+ { headers: { "content-type": "text/plain; charset=utf-8" } }
+ ]
+ },
+ meta: {
+ get: ["GET /meta"],
+ getAllVersions: ["GET /versions"],
+ getOctocat: ["GET /octocat"],
+ getZen: ["GET /zen"],
+ root: ["GET /"]
+ },
+ migrations: {
+ deleteArchiveForAuthenticatedUser: [
+ "DELETE /user/migrations/{migration_id}/archive"
+ ],
+ deleteArchiveForOrg: [
+ "DELETE /orgs/{org}/migrations/{migration_id}/archive"
+ ],
+ downloadArchiveForOrg: [
+ "GET /orgs/{org}/migrations/{migration_id}/archive"
+ ],
+ getArchiveForAuthenticatedUser: [
+ "GET /user/migrations/{migration_id}/archive"
+ ],
+ getStatusForAuthenticatedUser: ["GET /user/migrations/{migration_id}"],
+ getStatusForOrg: ["GET /orgs/{org}/migrations/{migration_id}"],
+ listForAuthenticatedUser: ["GET /user/migrations"],
+ listForOrg: ["GET /orgs/{org}/migrations"],
+ listReposForAuthenticatedUser: [
+ "GET /user/migrations/{migration_id}/repositories"
+ ],
+ listReposForOrg: ["GET /orgs/{org}/migrations/{migration_id}/repositories"],
+ listReposForUser: [
+ "GET /user/migrations/{migration_id}/repositories",
+ {},
+ { renamed: ["migrations", "listReposForAuthenticatedUser"] }
+ ],
+ startForAuthenticatedUser: ["POST /user/migrations"],
+ startForOrg: ["POST /orgs/{org}/migrations"],
+ unlockRepoForAuthenticatedUser: [
+ "DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock"
+ ],
+ unlockRepoForOrg: [
+ "DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock"
+ ]
+ },
+ oidc: {
+ getOidcCustomSubTemplateForOrg: [
+ "GET /orgs/{org}/actions/oidc/customization/sub"
+ ],
+ updateOidcCustomSubTemplateForOrg: [
+ "PUT /orgs/{org}/actions/oidc/customization/sub"
+ ]
+ },
+ orgs: {
+ addSecurityManagerTeam: [
+ "PUT /orgs/{org}/security-managers/teams/{team_slug}",
+ {},
+ {
+ deprecated: "octokit.rest.orgs.addSecurityManagerTeam() is deprecated, see https://docs.github.com/rest/orgs/security-managers#add-a-security-manager-team"
+ }
+ ],
+ assignTeamToOrgRole: [
+ "PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"
+ ],
+ assignUserToOrgRole: [
+ "PUT /orgs/{org}/organization-roles/users/{username}/{role_id}"
+ ],
+ blockUser: ["PUT /orgs/{org}/blocks/{username}"],
+ cancelInvitation: ["DELETE /orgs/{org}/invitations/{invitation_id}"],
+ checkBlockedUser: ["GET /orgs/{org}/blocks/{username}"],
+ checkMembershipForUser: ["GET /orgs/{org}/members/{username}"],
+ checkPublicMembershipForUser: ["GET /orgs/{org}/public_members/{username}"],
+ convertMemberToOutsideCollaborator: [
+ "PUT /orgs/{org}/outside_collaborators/{username}"
+ ],
+ createArtifactStorageRecord: [
+ "POST /orgs/{org}/artifacts/metadata/storage-record"
+ ],
+ createInvitation: ["POST /orgs/{org}/invitations"],
+ createIssueType: ["POST /orgs/{org}/issue-types"],
+ createOrUpdateCustomProperties: ["PATCH /orgs/{org}/properties/schema"],
+ createOrUpdateCustomPropertiesValuesForRepos: [
+ "PATCH /orgs/{org}/properties/values"
+ ],
+ createOrUpdateCustomProperty: [
+ "PUT /orgs/{org}/properties/schema/{custom_property_name}"
+ ],
+ createWebhook: ["POST /orgs/{org}/hooks"],
+ delete: ["DELETE /orgs/{org}"],
+ deleteAttestationsBulk: ["POST /orgs/{org}/attestations/delete-request"],
+ deleteAttestationsById: [
+ "DELETE /orgs/{org}/attestations/{attestation_id}"
+ ],
+ deleteAttestationsBySubjectDigest: [
+ "DELETE /orgs/{org}/attestations/digest/{subject_digest}"
+ ],
+ deleteIssueType: ["DELETE /orgs/{org}/issue-types/{issue_type_id}"],
+ deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"],
+ get: ["GET /orgs/{org}"],
+ getAllCustomProperties: ["GET /orgs/{org}/properties/schema"],
+ getCustomProperty: [
+ "GET /orgs/{org}/properties/schema/{custom_property_name}"
+ ],
+ getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"],
+ getMembershipForUser: ["GET /orgs/{org}/memberships/{username}"],
+ getOrgRole: ["GET /orgs/{org}/organization-roles/{role_id}"],
+ getOrgRulesetHistory: ["GET /orgs/{org}/rulesets/{ruleset_id}/history"],
+ getOrgRulesetVersion: [
+ "GET /orgs/{org}/rulesets/{ruleset_id}/history/{version_id}"
+ ],
+ getWebhook: ["GET /orgs/{org}/hooks/{hook_id}"],
+ getWebhookConfigForOrg: ["GET /orgs/{org}/hooks/{hook_id}/config"],
+ getWebhookDelivery: [
+ "GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}"
+ ],
+ list: ["GET /organizations"],
+ listAppInstallations: ["GET /orgs/{org}/installations"],
+ listArtifactStorageRecords: [
+ "GET /orgs/{org}/artifacts/{subject_digest}/metadata/storage-records"
+ ],
+ listAttestations: ["GET /orgs/{org}/attestations/{subject_digest}"],
+ listAttestationsBulk: [
+ "POST /orgs/{org}/attestations/bulk-list{?per_page,before,after}"
+ ],
+ listBlockedUsers: ["GET /orgs/{org}/blocks"],
+ listCustomPropertiesValuesForRepos: ["GET /orgs/{org}/properties/values"],
+ listFailedInvitations: ["GET /orgs/{org}/failed_invitations"],
+ listForAuthenticatedUser: ["GET /user/orgs"],
+ listForUser: ["GET /users/{username}/orgs"],
+ listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"],
+ listIssueTypes: ["GET /orgs/{org}/issue-types"],
+ listMembers: ["GET /orgs/{org}/members"],
+ listMembershipsForAuthenticatedUser: ["GET /user/memberships/orgs"],
+ listOrgRoleTeams: ["GET /orgs/{org}/organization-roles/{role_id}/teams"],
+ listOrgRoleUsers: ["GET /orgs/{org}/organization-roles/{role_id}/users"],
+ listOrgRoles: ["GET /orgs/{org}/organization-roles"],
+ listOrganizationFineGrainedPermissions: [
+ "GET /orgs/{org}/organization-fine-grained-permissions"
+ ],
+ listOutsideCollaborators: ["GET /orgs/{org}/outside_collaborators"],
+ listPatGrantRepositories: [
+ "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories"
+ ],
+ listPatGrantRequestRepositories: [
+ "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories"
+ ],
+ listPatGrantRequests: ["GET /orgs/{org}/personal-access-token-requests"],
+ listPatGrants: ["GET /orgs/{org}/personal-access-tokens"],
+ listPendingInvitations: ["GET /orgs/{org}/invitations"],
+ listPublicMembers: ["GET /orgs/{org}/public_members"],
+ listSecurityManagerTeams: [
+ "GET /orgs/{org}/security-managers",
+ {},
+ {
+ deprecated: "octokit.rest.orgs.listSecurityManagerTeams() is deprecated, see https://docs.github.com/rest/orgs/security-managers#list-security-manager-teams"
+ }
+ ],
+ listWebhookDeliveries: ["GET /orgs/{org}/hooks/{hook_id}/deliveries"],
+ listWebhooks: ["GET /orgs/{org}/hooks"],
+ pingWebhook: ["POST /orgs/{org}/hooks/{hook_id}/pings"],
+ redeliverWebhookDelivery: [
+ "POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"
+ ],
+ removeCustomProperty: [
+ "DELETE /orgs/{org}/properties/schema/{custom_property_name}"
+ ],
+ removeMember: ["DELETE /orgs/{org}/members/{username}"],
+ removeMembershipForUser: ["DELETE /orgs/{org}/memberships/{username}"],
+ removeOutsideCollaborator: [
+ "DELETE /orgs/{org}/outside_collaborators/{username}"
+ ],
+ removePublicMembershipForAuthenticatedUser: [
+ "DELETE /orgs/{org}/public_members/{username}"
+ ],
+ removeSecurityManagerTeam: [
+ "DELETE /orgs/{org}/security-managers/teams/{team_slug}",
+ {},
+ {
+ deprecated: "octokit.rest.orgs.removeSecurityManagerTeam() is deprecated, see https://docs.github.com/rest/orgs/security-managers#remove-a-security-manager-team"
+ }
+ ],
+ reviewPatGrantRequest: [
+ "POST /orgs/{org}/personal-access-token-requests/{pat_request_id}"
+ ],
+ reviewPatGrantRequestsInBulk: [
+ "POST /orgs/{org}/personal-access-token-requests"
+ ],
+ revokeAllOrgRolesTeam: [
+ "DELETE /orgs/{org}/organization-roles/teams/{team_slug}"
+ ],
+ revokeAllOrgRolesUser: [
+ "DELETE /orgs/{org}/organization-roles/users/{username}"
+ ],
+ revokeOrgRoleTeam: [
+ "DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"
+ ],
+ revokeOrgRoleUser: [
+ "DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}"
+ ],
+ setMembershipForUser: ["PUT /orgs/{org}/memberships/{username}"],
+ setPublicMembershipForAuthenticatedUser: [
+ "PUT /orgs/{org}/public_members/{username}"
+ ],
+ unblockUser: ["DELETE /orgs/{org}/blocks/{username}"],
+ update: ["PATCH /orgs/{org}"],
+ updateIssueType: ["PUT /orgs/{org}/issue-types/{issue_type_id}"],
+ updateMembershipForAuthenticatedUser: [
+ "PATCH /user/memberships/orgs/{org}"
+ ],
+ updatePatAccess: ["POST /orgs/{org}/personal-access-tokens/{pat_id}"],
+ updatePatAccesses: ["POST /orgs/{org}/personal-access-tokens"],
+ updateWebhook: ["PATCH /orgs/{org}/hooks/{hook_id}"],
+ updateWebhookConfigForOrg: ["PATCH /orgs/{org}/hooks/{hook_id}/config"]
+ },
+ packages: {
+ deletePackageForAuthenticatedUser: [
+ "DELETE /user/packages/{package_type}/{package_name}"
+ ],
+ deletePackageForOrg: [
+ "DELETE /orgs/{org}/packages/{package_type}/{package_name}"
+ ],
+ deletePackageForUser: [
+ "DELETE /users/{username}/packages/{package_type}/{package_name}"
+ ],
+ deletePackageVersionForAuthenticatedUser: [
+ "DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"
+ ],
+ deletePackageVersionForOrg: [
+ "DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"
+ ],
+ deletePackageVersionForUser: [
+ "DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"
+ ],
+ getAllPackageVersionsForAPackageOwnedByAnOrg: [
+ "GET /orgs/{org}/packages/{package_type}/{package_name}/versions",
+ {},
+ { renamed: ["packages", "getAllPackageVersionsForPackageOwnedByOrg"] }
+ ],
+ getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [
+ "GET /user/packages/{package_type}/{package_name}/versions",
+ {},
+ {
+ renamed: [
+ "packages",
+ "getAllPackageVersionsForPackageOwnedByAuthenticatedUser"
+ ]
+ }
+ ],
+ getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [
+ "GET /user/packages/{package_type}/{package_name}/versions"
+ ],
+ getAllPackageVersionsForPackageOwnedByOrg: [
+ "GET /orgs/{org}/packages/{package_type}/{package_name}/versions"
+ ],
+ getAllPackageVersionsForPackageOwnedByUser: [
+ "GET /users/{username}/packages/{package_type}/{package_name}/versions"
+ ],
+ getPackageForAuthenticatedUser: [
+ "GET /user/packages/{package_type}/{package_name}"
+ ],
+ getPackageForOrganization: [
+ "GET /orgs/{org}/packages/{package_type}/{package_name}"
+ ],
+ getPackageForUser: [
+ "GET /users/{username}/packages/{package_type}/{package_name}"
+ ],
+ getPackageVersionForAuthenticatedUser: [
+ "GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"
+ ],
+ getPackageVersionForOrganization: [
+ "GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"
+ ],
+ getPackageVersionForUser: [
+ "GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"
+ ],
+ listDockerMigrationConflictingPackagesForAuthenticatedUser: [
+ "GET /user/docker/conflicts"
+ ],
+ listDockerMigrationConflictingPackagesForOrganization: [
+ "GET /orgs/{org}/docker/conflicts"
+ ],
+ listDockerMigrationConflictingPackagesForUser: [
+ "GET /users/{username}/docker/conflicts"
+ ],
+ listPackagesForAuthenticatedUser: ["GET /user/packages"],
+ listPackagesForOrganization: ["GET /orgs/{org}/packages"],
+ listPackagesForUser: ["GET /users/{username}/packages"],
+ restorePackageForAuthenticatedUser: [
+ "POST /user/packages/{package_type}/{package_name}/restore{?token}"
+ ],
+ restorePackageForOrg: [
+ "POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"
+ ],
+ restorePackageForUser: [
+ "POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}"
+ ],
+ restorePackageVersionForAuthenticatedUser: [
+ "POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"
+ ],
+ restorePackageVersionForOrg: [
+ "POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"
+ ],
+ restorePackageVersionForUser: [
+ "POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"
+ ]
+ },
+ privateRegistries: {
+ createOrgPrivateRegistry: ["POST /orgs/{org}/private-registries"],
+ deleteOrgPrivateRegistry: [
+ "DELETE /orgs/{org}/private-registries/{secret_name}"
+ ],
+ getOrgPrivateRegistry: ["GET /orgs/{org}/private-registries/{secret_name}"],
+ getOrgPublicKey: ["GET /orgs/{org}/private-registries/public-key"],
+ listOrgPrivateRegistries: ["GET /orgs/{org}/private-registries"],
+ updateOrgPrivateRegistry: [
+ "PATCH /orgs/{org}/private-registries/{secret_name}"
+ ]
+ },
+ projects: {
+ addItemForOrg: ["POST /orgs/{org}/projectsV2/{project_number}/items"],
+ addItemForUser: ["POST /users/{user_id}/projectsV2/{project_number}/items"],
+ deleteItemForOrg: [
+ "DELETE /orgs/{org}/projectsV2/{project_number}/items/{item_id}"
+ ],
+ deleteItemForUser: [
+ "DELETE /users/{user_id}/projectsV2/{project_number}/items/{item_id}"
+ ],
+ getFieldForOrg: [
+ "GET /orgs/{org}/projectsV2/{project_number}/fields/{field_id}"
+ ],
+ getFieldForUser: [
+ "GET /users/{user_id}/projectsV2/{project_number}/fields/{field_id}"
+ ],
+ getForOrg: ["GET /orgs/{org}/projectsV2/{project_number}"],
+ getForUser: ["GET /users/{user_id}/projectsV2/{project_number}"],
+ getOrgItem: ["GET /orgs/{org}/projectsV2/{project_number}/items/{item_id}"],
+ getUserItem: [
+ "GET /users/{user_id}/projectsV2/{project_number}/items/{item_id}"
+ ],
+ listFieldsForOrg: ["GET /orgs/{org}/projectsV2/{project_number}/fields"],
+ listFieldsForUser: [
+ "GET /users/{user_id}/projectsV2/{project_number}/fields"
+ ],
+ listForOrg: ["GET /orgs/{org}/projectsV2"],
+ listForUser: ["GET /users/{username}/projectsV2"],
+ listItemsForOrg: ["GET /orgs/{org}/projectsV2/{project_number}/items"],
+ listItemsForUser: [
+ "GET /users/{user_id}/projectsV2/{project_number}/items"
+ ],
+ updateItemForOrg: [
+ "PATCH /orgs/{org}/projectsV2/{project_number}/items/{item_id}"
+ ],
+ updateItemForUser: [
+ "PATCH /users/{user_id}/projectsV2/{project_number}/items/{item_id}"
+ ]
+ },
+ pulls: {
+ checkIfMerged: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"],
+ create: ["POST /repos/{owner}/{repo}/pulls"],
+ createReplyForReviewComment: [
+ "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"
+ ],
+ createReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],
+ createReviewComment: [
+ "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"
+ ],
+ deletePendingReview: [
+ "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"
+ ],
+ deleteReviewComment: [
+ "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"
+ ],
+ dismissReview: [
+ "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"
+ ],
+ get: ["GET /repos/{owner}/{repo}/pulls/{pull_number}"],
+ getReview: [
+ "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"
+ ],
+ getReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"],
+ list: ["GET /repos/{owner}/{repo}/pulls"],
+ listCommentsForReview: [
+ "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"
+ ],
+ listCommits: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"],
+ listFiles: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"],
+ listRequestedReviewers: [
+ "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"
+ ],
+ listReviewComments: [
+ "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"
+ ],
+ listReviewCommentsForRepo: ["GET /repos/{owner}/{repo}/pulls/comments"],
+ listReviews: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],
+ merge: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"],
+ removeRequestedReviewers: [
+ "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"
+ ],
+ requestReviewers: [
+ "POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"
+ ],
+ submitReview: [
+ "POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"
+ ],
+ update: ["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"],
+ updateBranch: [
+ "PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch"
+ ],
+ updateReview: [
+ "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"
+ ],
+ updateReviewComment: [
+ "PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"
+ ]
+ },
+ rateLimit: { get: ["GET /rate_limit"] },
+ reactions: {
+ createForCommitComment: [
+ "POST /repos/{owner}/{repo}/comments/{comment_id}/reactions"
+ ],
+ createForIssue: [
+ "POST /repos/{owner}/{repo}/issues/{issue_number}/reactions"
+ ],
+ createForIssueComment: [
+ "POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"
+ ],
+ createForPullRequestReviewComment: [
+ "POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"
+ ],
+ createForRelease: [
+ "POST /repos/{owner}/{repo}/releases/{release_id}/reactions"
+ ],
+ createForTeamDiscussionCommentInOrg: [
+ "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"
+ ],
+ createForTeamDiscussionInOrg: [
+ "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"
+ ],
+ deleteForCommitComment: [
+ "DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}"
+ ],
+ deleteForIssue: [
+ "DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}"
+ ],
+ deleteForIssueComment: [
+ "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}"
+ ],
+ deleteForPullRequestComment: [
+ "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}"
+ ],
+ deleteForRelease: [
+ "DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}"
+ ],
+ deleteForTeamDiscussion: [
+ "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}"
+ ],
+ deleteForTeamDiscussionComment: [
+ "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}"
+ ],
+ listForCommitComment: [
+ "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"
+ ],
+ listForIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"],
+ listForIssueComment: [
+ "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"
+ ],
+ listForPullRequestReviewComment: [
+ "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"
+ ],
+ listForRelease: [
+ "GET /repos/{owner}/{repo}/releases/{release_id}/reactions"
+ ],
+ listForTeamDiscussionCommentInOrg: [
+ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"
+ ],
+ listForTeamDiscussionInOrg: [
+ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"
+ ]
+ },
+ repos: {
+ acceptInvitation: [
+ "PATCH /user/repository_invitations/{invitation_id}",
+ {},
+ { renamed: ["repos", "acceptInvitationForAuthenticatedUser"] }
+ ],
+ acceptInvitationForAuthenticatedUser: [
+ "PATCH /user/repository_invitations/{invitation_id}"
+ ],
+ addAppAccessRestrictions: [
+ "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",
+ {},
+ { mapToData: "apps" }
+ ],
+ addCollaborator: ["PUT /repos/{owner}/{repo}/collaborators/{username}"],
+ addStatusCheckContexts: [
+ "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",
+ {},
+ { mapToData: "contexts" }
+ ],
+ addTeamAccessRestrictions: [
+ "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",
+ {},
+ { mapToData: "teams" }
+ ],
+ addUserAccessRestrictions: [
+ "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",
+ {},
+ { mapToData: "users" }
+ ],
+ cancelPagesDeployment: [
+ "POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel"
+ ],
+ checkAutomatedSecurityFixes: [
+ "GET /repos/{owner}/{repo}/automated-security-fixes"
+ ],
+ checkCollaborator: ["GET /repos/{owner}/{repo}/collaborators/{username}"],
+ checkPrivateVulnerabilityReporting: [
+ "GET /repos/{owner}/{repo}/private-vulnerability-reporting"
+ ],
+ checkVulnerabilityAlerts: [
+ "GET /repos/{owner}/{repo}/vulnerability-alerts"
+ ],
+ codeownersErrors: ["GET /repos/{owner}/{repo}/codeowners/errors"],
+ compareCommits: ["GET /repos/{owner}/{repo}/compare/{base}...{head}"],
+ compareCommitsWithBasehead: [
+ "GET /repos/{owner}/{repo}/compare/{basehead}"
+ ],
+ createAttestation: ["POST /repos/{owner}/{repo}/attestations"],
+ createAutolink: ["POST /repos/{owner}/{repo}/autolinks"],
+ createCommitComment: [
+ "POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"
+ ],
+ createCommitSignatureProtection: [
+ "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"
+ ],
+ createCommitStatus: ["POST /repos/{owner}/{repo}/statuses/{sha}"],
+ createDeployKey: ["POST /repos/{owner}/{repo}/keys"],
+ createDeployment: ["POST /repos/{owner}/{repo}/deployments"],
+ createDeploymentBranchPolicy: [
+ "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"
+ ],
+ createDeploymentProtectionRule: [
+ "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"
+ ],
+ createDeploymentStatus: [
+ "POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"
+ ],
+ createDispatchEvent: ["POST /repos/{owner}/{repo}/dispatches"],
+ createForAuthenticatedUser: ["POST /user/repos"],
+ createFork: ["POST /repos/{owner}/{repo}/forks"],
+ createInOrg: ["POST /orgs/{org}/repos"],
+ createOrUpdateCustomPropertiesValues: [
+ "PATCH /repos/{owner}/{repo}/properties/values"
+ ],
+ createOrUpdateEnvironment: [
+ "PUT /repos/{owner}/{repo}/environments/{environment_name}"
+ ],
+ createOrUpdateFileContents: ["PUT /repos/{owner}/{repo}/contents/{path}"],
+ createOrgRuleset: ["POST /orgs/{org}/rulesets"],
+ createPagesDeployment: ["POST /repos/{owner}/{repo}/pages/deployments"],
+ createPagesSite: ["POST /repos/{owner}/{repo}/pages"],
+ createRelease: ["POST /repos/{owner}/{repo}/releases"],
+ createRepoRuleset: ["POST /repos/{owner}/{repo}/rulesets"],
+ createUsingTemplate: [
+ "POST /repos/{template_owner}/{template_repo}/generate"
+ ],
+ createWebhook: ["POST /repos/{owner}/{repo}/hooks"],
+ declineInvitation: [
+ "DELETE /user/repository_invitations/{invitation_id}",
+ {},
+ { renamed: ["repos", "declineInvitationForAuthenticatedUser"] }
+ ],
+ declineInvitationForAuthenticatedUser: [
+ "DELETE /user/repository_invitations/{invitation_id}"
+ ],
+ delete: ["DELETE /repos/{owner}/{repo}"],
+ deleteAccessRestrictions: [
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"
+ ],
+ deleteAdminBranchProtection: [
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"
+ ],
+ deleteAnEnvironment: [
+ "DELETE /repos/{owner}/{repo}/environments/{environment_name}"
+ ],
+ deleteAutolink: ["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"],
+ deleteBranchProtection: [
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection"
+ ],
+ deleteCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}"],
+ deleteCommitSignatureProtection: [
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"
+ ],
+ deleteDeployKey: ["DELETE /repos/{owner}/{repo}/keys/{key_id}"],
+ deleteDeployment: [
+ "DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"
+ ],
+ deleteDeploymentBranchPolicy: [
+ "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"
+ ],
+ deleteFile: ["DELETE /repos/{owner}/{repo}/contents/{path}"],
+ deleteInvitation: [
+ "DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"
+ ],
+ deleteOrgRuleset: ["DELETE /orgs/{org}/rulesets/{ruleset_id}"],
+ deletePagesSite: ["DELETE /repos/{owner}/{repo}/pages"],
+ deletePullRequestReviewProtection: [
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"
+ ],
+ deleteRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}"],
+ deleteReleaseAsset: [
+ "DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"
+ ],
+ deleteRepoRuleset: ["DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}"],
+ deleteWebhook: ["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"],
+ disableAutomatedSecurityFixes: [
+ "DELETE /repos/{owner}/{repo}/automated-security-fixes"
+ ],
+ disableDeploymentProtectionRule: [
+ "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"
+ ],
+ disablePrivateVulnerabilityReporting: [
+ "DELETE /repos/{owner}/{repo}/private-vulnerability-reporting"
+ ],
+ disableVulnerabilityAlerts: [
+ "DELETE /repos/{owner}/{repo}/vulnerability-alerts"
+ ],
+ downloadArchive: [
+ "GET /repos/{owner}/{repo}/zipball/{ref}",
+ {},
+ { renamed: ["repos", "downloadZipballArchive"] }
+ ],
+ downloadTarballArchive: ["GET /repos/{owner}/{repo}/tarball/{ref}"],
+ downloadZipballArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}"],
+ enableAutomatedSecurityFixes: [
+ "PUT /repos/{owner}/{repo}/automated-security-fixes"
+ ],
+ enablePrivateVulnerabilityReporting: [
+ "PUT /repos/{owner}/{repo}/private-vulnerability-reporting"
+ ],
+ enableVulnerabilityAlerts: [
+ "PUT /repos/{owner}/{repo}/vulnerability-alerts"
+ ],
+ generateReleaseNotes: [
+ "POST /repos/{owner}/{repo}/releases/generate-notes"
+ ],
+ get: ["GET /repos/{owner}/{repo}"],
+ getAccessRestrictions: [
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"
+ ],
+ getAdminBranchProtection: [
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"
+ ],
+ getAllDeploymentProtectionRules: [
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"
+ ],
+ getAllEnvironments: ["GET /repos/{owner}/{repo}/environments"],
+ getAllStatusCheckContexts: [
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"
+ ],
+ getAllTopics: ["GET /repos/{owner}/{repo}/topics"],
+ getAppsWithAccessToProtectedBranch: [
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"
+ ],
+ getAutolink: ["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"],
+ getBranch: ["GET /repos/{owner}/{repo}/branches/{branch}"],
+ getBranchProtection: [
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection"
+ ],
+ getBranchRules: ["GET /repos/{owner}/{repo}/rules/branches/{branch}"],
+ getClones: ["GET /repos/{owner}/{repo}/traffic/clones"],
+ getCodeFrequencyStats: ["GET /repos/{owner}/{repo}/stats/code_frequency"],
+ getCollaboratorPermissionLevel: [
+ "GET /repos/{owner}/{repo}/collaborators/{username}/permission"
+ ],
+ getCombinedStatusForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/status"],
+ getCommit: ["GET /repos/{owner}/{repo}/commits/{ref}"],
+ getCommitActivityStats: ["GET /repos/{owner}/{repo}/stats/commit_activity"],
+ getCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}"],
+ getCommitSignatureProtection: [
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"
+ ],
+ getCommunityProfileMetrics: ["GET /repos/{owner}/{repo}/community/profile"],
+ getContent: ["GET /repos/{owner}/{repo}/contents/{path}"],
+ getContributorsStats: ["GET /repos/{owner}/{repo}/stats/contributors"],
+ getCustomDeploymentProtectionRule: [
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"
+ ],
+ getCustomPropertiesValues: ["GET /repos/{owner}/{repo}/properties/values"],
+ getDeployKey: ["GET /repos/{owner}/{repo}/keys/{key_id}"],
+ getDeployment: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}"],
+ getDeploymentBranchPolicy: [
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"
+ ],
+ getDeploymentStatus: [
+ "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"
+ ],
+ getEnvironment: [
+ "GET /repos/{owner}/{repo}/environments/{environment_name}"
+ ],
+ getLatestPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/latest"],
+ getLatestRelease: ["GET /repos/{owner}/{repo}/releases/latest"],
+ getOrgRuleSuite: ["GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}"],
+ getOrgRuleSuites: ["GET /orgs/{org}/rulesets/rule-suites"],
+ getOrgRuleset: ["GET /orgs/{org}/rulesets/{ruleset_id}"],
+ getOrgRulesets: ["GET /orgs/{org}/rulesets"],
+ getPages: ["GET /repos/{owner}/{repo}/pages"],
+ getPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/{build_id}"],
+ getPagesDeployment: [
+ "GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}"
+ ],
+ getPagesHealthCheck: ["GET /repos/{owner}/{repo}/pages/health"],
+ getParticipationStats: ["GET /repos/{owner}/{repo}/stats/participation"],
+ getPullRequestReviewProtection: [
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"
+ ],
+ getPunchCardStats: ["GET /repos/{owner}/{repo}/stats/punch_card"],
+ getReadme: ["GET /repos/{owner}/{repo}/readme"],
+ getReadmeInDirectory: ["GET /repos/{owner}/{repo}/readme/{dir}"],
+ getRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}"],
+ getReleaseAsset: ["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"],
+ getReleaseByTag: ["GET /repos/{owner}/{repo}/releases/tags/{tag}"],
+ getRepoRuleSuite: [
+ "GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}"
+ ],
+ getRepoRuleSuites: ["GET /repos/{owner}/{repo}/rulesets/rule-suites"],
+ getRepoRuleset: ["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"],
+ getRepoRulesetHistory: [
+ "GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history"
+ ],
+ getRepoRulesetVersion: [
+ "GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history/{version_id}"
+ ],
+ getRepoRulesets: ["GET /repos/{owner}/{repo}/rulesets"],
+ getStatusChecksProtection: [
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"
+ ],
+ getTeamsWithAccessToProtectedBranch: [
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"
+ ],
+ getTopPaths: ["GET /repos/{owner}/{repo}/traffic/popular/paths"],
+ getTopReferrers: ["GET /repos/{owner}/{repo}/traffic/popular/referrers"],
+ getUsersWithAccessToProtectedBranch: [
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"
+ ],
+ getViews: ["GET /repos/{owner}/{repo}/traffic/views"],
+ getWebhook: ["GET /repos/{owner}/{repo}/hooks/{hook_id}"],
+ getWebhookConfigForRepo: [
+ "GET /repos/{owner}/{repo}/hooks/{hook_id}/config"
+ ],
+ getWebhookDelivery: [
+ "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}"
+ ],
+ listActivities: ["GET /repos/{owner}/{repo}/activity"],
+ listAttestations: [
+ "GET /repos/{owner}/{repo}/attestations/{subject_digest}"
+ ],
+ listAutolinks: ["GET /repos/{owner}/{repo}/autolinks"],
+ listBranches: ["GET /repos/{owner}/{repo}/branches"],
+ listBranchesForHeadCommit: [
+ "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head"
+ ],
+ listCollaborators: ["GET /repos/{owner}/{repo}/collaborators"],
+ listCommentsForCommit: [
+ "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"
+ ],
+ listCommitCommentsForRepo: ["GET /repos/{owner}/{repo}/comments"],
+ listCommitStatusesForRef: [
+ "GET /repos/{owner}/{repo}/commits/{ref}/statuses"
+ ],
+ listCommits: ["GET /repos/{owner}/{repo}/commits"],
+ listContributors: ["GET /repos/{owner}/{repo}/contributors"],
+ listCustomDeploymentRuleIntegrations: [
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps"
+ ],
+ listDeployKeys: ["GET /repos/{owner}/{repo}/keys"],
+ listDeploymentBranchPolicies: [
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"
+ ],
+ listDeploymentStatuses: [
+ "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"
+ ],
+ listDeployments: ["GET /repos/{owner}/{repo}/deployments"],
+ listForAuthenticatedUser: ["GET /user/repos"],
+ listForOrg: ["GET /orgs/{org}/repos"],
+ listForUser: ["GET /users/{username}/repos"],
+ listForks: ["GET /repos/{owner}/{repo}/forks"],
+ listInvitations: ["GET /repos/{owner}/{repo}/invitations"],
+ listInvitationsForAuthenticatedUser: ["GET /user/repository_invitations"],
+ listLanguages: ["GET /repos/{owner}/{repo}/languages"],
+ listPagesBuilds: ["GET /repos/{owner}/{repo}/pages/builds"],
+ listPublic: ["GET /repositories"],
+ listPullRequestsAssociatedWithCommit: [
+ "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"
+ ],
+ listReleaseAssets: [
+ "GET /repos/{owner}/{repo}/releases/{release_id}/assets"
+ ],
+ listReleases: ["GET /repos/{owner}/{repo}/releases"],
+ listTags: ["GET /repos/{owner}/{repo}/tags"],
+ listTeams: ["GET /repos/{owner}/{repo}/teams"],
+ listWebhookDeliveries: [
+ "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"
+ ],
+ listWebhooks: ["GET /repos/{owner}/{repo}/hooks"],
+ merge: ["POST /repos/{owner}/{repo}/merges"],
+ mergeUpstream: ["POST /repos/{owner}/{repo}/merge-upstream"],
+ pingWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"],
+ redeliverWebhookDelivery: [
+ "POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"
+ ],
+ removeAppAccessRestrictions: [
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",
+ {},
+ { mapToData: "apps" }
+ ],
+ removeCollaborator: [
+ "DELETE /repos/{owner}/{repo}/collaborators/{username}"
+ ],
+ removeStatusCheckContexts: [
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",
+ {},
+ { mapToData: "contexts" }
+ ],
+ removeStatusCheckProtection: [
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"
+ ],
+ removeTeamAccessRestrictions: [
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",
+ {},
+ { mapToData: "teams" }
+ ],
+ removeUserAccessRestrictions: [
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",
+ {},
+ { mapToData: "users" }
+ ],
+ renameBranch: ["POST /repos/{owner}/{repo}/branches/{branch}/rename"],
+ replaceAllTopics: ["PUT /repos/{owner}/{repo}/topics"],
+ requestPagesBuild: ["POST /repos/{owner}/{repo}/pages/builds"],
+ setAdminBranchProtection: [
+ "POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"
+ ],
+ setAppAccessRestrictions: [
+ "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",
+ {},
+ { mapToData: "apps" }
+ ],
+ setStatusCheckContexts: [
+ "PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",
+ {},
+ { mapToData: "contexts" }
+ ],
+ setTeamAccessRestrictions: [
+ "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",
+ {},
+ { mapToData: "teams" }
+ ],
+ setUserAccessRestrictions: [
+ "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",
+ {},
+ { mapToData: "users" }
+ ],
+ testPushWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"],
+ transfer: ["POST /repos/{owner}/{repo}/transfer"],
+ update: ["PATCH /repos/{owner}/{repo}"],
+ updateBranchProtection: [
+ "PUT /repos/{owner}/{repo}/branches/{branch}/protection"
+ ],
+ updateCommitComment: ["PATCH /repos/{owner}/{repo}/comments/{comment_id}"],
+ updateDeploymentBranchPolicy: [
+ "PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"
+ ],
+ updateInformationAboutPagesSite: ["PUT /repos/{owner}/{repo}/pages"],
+ updateInvitation: [
+ "PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"
+ ],
+ updateOrgRuleset: ["PUT /orgs/{org}/rulesets/{ruleset_id}"],
+ updatePullRequestReviewProtection: [
+ "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"
+ ],
+ updateRelease: ["PATCH /repos/{owner}/{repo}/releases/{release_id}"],
+ updateReleaseAsset: [
+ "PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"
+ ],
+ updateRepoRuleset: ["PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}"],
+ updateStatusCheckPotection: [
+ "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks",
+ {},
+ { renamed: ["repos", "updateStatusCheckProtection"] }
+ ],
+ updateStatusCheckProtection: [
+ "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"
+ ],
+ updateWebhook: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"],
+ updateWebhookConfigForRepo: [
+ "PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"
+ ],
+ uploadReleaseAsset: [
+ "POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}",
+ { baseUrl: "https://uploads.github.com" }
+ ]
+ },
+ search: {
+ code: ["GET /search/code"],
+ commits: ["GET /search/commits"],
+ issuesAndPullRequests: [
+ "GET /search/issues",
+ {},
+ {
+ deprecated: "octokit.rest.search.issuesAndPullRequests() is deprecated, see https://docs.github.com/rest/search/search#search-issues-and-pull-requests"
+ }
+ ],
+ labels: ["GET /search/labels"],
+ repos: ["GET /search/repositories"],
+ topics: ["GET /search/topics"],
+ users: ["GET /search/users"]
+ },
+ secretScanning: {
+ createPushProtectionBypass: [
+ "POST /repos/{owner}/{repo}/secret-scanning/push-protection-bypasses"
+ ],
+ getAlert: [
+ "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"
+ ],
+ getScanHistory: ["GET /repos/{owner}/{repo}/secret-scanning/scan-history"],
+ listAlertsForEnterprise: [
+ "GET /enterprises/{enterprise}/secret-scanning/alerts"
+ ],
+ listAlertsForOrg: ["GET /orgs/{org}/secret-scanning/alerts"],
+ listAlertsForRepo: ["GET /repos/{owner}/{repo}/secret-scanning/alerts"],
+ listLocationsForAlert: [
+ "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"
+ ],
+ listOrgPatternConfigs: [
+ "GET /orgs/{org}/secret-scanning/pattern-configurations"
+ ],
+ updateAlert: [
+ "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"
+ ],
+ updateOrgPatternConfigs: [
+ "PATCH /orgs/{org}/secret-scanning/pattern-configurations"
+ ]
+ },
+ securityAdvisories: {
+ createFork: [
+ "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks"
+ ],
+ createPrivateVulnerabilityReport: [
+ "POST /repos/{owner}/{repo}/security-advisories/reports"
+ ],
+ createRepositoryAdvisory: [
+ "POST /repos/{owner}/{repo}/security-advisories"
+ ],
+ createRepositoryAdvisoryCveRequest: [
+ "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve"
+ ],
+ getGlobalAdvisory: ["GET /advisories/{ghsa_id}"],
+ getRepositoryAdvisory: [
+ "GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}"
+ ],
+ listGlobalAdvisories: ["GET /advisories"],
+ listOrgRepositoryAdvisories: ["GET /orgs/{org}/security-advisories"],
+ listRepositoryAdvisories: ["GET /repos/{owner}/{repo}/security-advisories"],
+ updateRepositoryAdvisory: [
+ "PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}"
+ ]
+ },
+ teams: {
+ addOrUpdateMembershipForUserInOrg: [
+ "PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"
+ ],
+ addOrUpdateRepoPermissionsInOrg: [
+ "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
+ ],
+ checkPermissionsForRepoInOrg: [
+ "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
+ ],
+ create: ["POST /orgs/{org}/teams"],
+ createDiscussionCommentInOrg: [
+ "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"
+ ],
+ createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"],
+ deleteDiscussionCommentInOrg: [
+ "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
+ ],
+ deleteDiscussionInOrg: [
+ "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
+ ],
+ deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"],
+ getByName: ["GET /orgs/{org}/teams/{team_slug}"],
+ getDiscussionCommentInOrg: [
+ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
+ ],
+ getDiscussionInOrg: [
+ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
+ ],
+ getMembershipForUserInOrg: [
+ "GET /orgs/{org}/teams/{team_slug}/memberships/{username}"
+ ],
+ list: ["GET /orgs/{org}/teams"],
+ listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"],
+ listDiscussionCommentsInOrg: [
+ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"
+ ],
+ listDiscussionsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions"],
+ listForAuthenticatedUser: ["GET /user/teams"],
+ listMembersInOrg: ["GET /orgs/{org}/teams/{team_slug}/members"],
+ listPendingInvitationsInOrg: [
+ "GET /orgs/{org}/teams/{team_slug}/invitations"
+ ],
+ listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"],
+ removeMembershipForUserInOrg: [
+ "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"
+ ],
+ removeRepoInOrg: [
+ "DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
+ ],
+ updateDiscussionCommentInOrg: [
+ "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
+ ],
+ updateDiscussionInOrg: [
+ "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
+ ],
+ updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"]
+ },
+ users: {
+ addEmailForAuthenticated: [
+ "POST /user/emails",
+ {},
+ { renamed: ["users", "addEmailForAuthenticatedUser"] }
+ ],
+ addEmailForAuthenticatedUser: ["POST /user/emails"],
+ addSocialAccountForAuthenticatedUser: ["POST /user/social_accounts"],
+ block: ["PUT /user/blocks/{username}"],
+ checkBlocked: ["GET /user/blocks/{username}"],
+ checkFollowingForUser: ["GET /users/{username}/following/{target_user}"],
+ checkPersonIsFollowedByAuthenticated: ["GET /user/following/{username}"],
+ createGpgKeyForAuthenticated: [
+ "POST /user/gpg_keys",
+ {},
+ { renamed: ["users", "createGpgKeyForAuthenticatedUser"] }
+ ],
+ createGpgKeyForAuthenticatedUser: ["POST /user/gpg_keys"],
+ createPublicSshKeyForAuthenticated: [
+ "POST /user/keys",
+ {},
+ { renamed: ["users", "createPublicSshKeyForAuthenticatedUser"] }
+ ],
+ createPublicSshKeyForAuthenticatedUser: ["POST /user/keys"],
+ createSshSigningKeyForAuthenticatedUser: ["POST /user/ssh_signing_keys"],
+ deleteAttestationsBulk: [
+ "POST /users/{username}/attestations/delete-request"
+ ],
+ deleteAttestationsById: [
+ "DELETE /users/{username}/attestations/{attestation_id}"
+ ],
+ deleteAttestationsBySubjectDigest: [
+ "DELETE /users/{username}/attestations/digest/{subject_digest}"
+ ],
+ deleteEmailForAuthenticated: [
+ "DELETE /user/emails",
+ {},
+ { renamed: ["users", "deleteEmailForAuthenticatedUser"] }
+ ],
+ deleteEmailForAuthenticatedUser: ["DELETE /user/emails"],
+ deleteGpgKeyForAuthenticated: [
+ "DELETE /user/gpg_keys/{gpg_key_id}",
+ {},
+ { renamed: ["users", "deleteGpgKeyForAuthenticatedUser"] }
+ ],
+ deleteGpgKeyForAuthenticatedUser: ["DELETE /user/gpg_keys/{gpg_key_id}"],
+ deletePublicSshKeyForAuthenticated: [
+ "DELETE /user/keys/{key_id}",
+ {},
+ { renamed: ["users", "deletePublicSshKeyForAuthenticatedUser"] }
+ ],
+ deletePublicSshKeyForAuthenticatedUser: ["DELETE /user/keys/{key_id}"],
+ deleteSocialAccountForAuthenticatedUser: ["DELETE /user/social_accounts"],
+ deleteSshSigningKeyForAuthenticatedUser: [
+ "DELETE /user/ssh_signing_keys/{ssh_signing_key_id}"
+ ],
+ follow: ["PUT /user/following/{username}"],
+ getAuthenticated: ["GET /user"],
+ getById: ["GET /user/{account_id}"],
+ getByUsername: ["GET /users/{username}"],
+ getContextForUser: ["GET /users/{username}/hovercard"],
+ getGpgKeyForAuthenticated: [
+ "GET /user/gpg_keys/{gpg_key_id}",
+ {},
+ { renamed: ["users", "getGpgKeyForAuthenticatedUser"] }
+ ],
+ getGpgKeyForAuthenticatedUser: ["GET /user/gpg_keys/{gpg_key_id}"],
+ getPublicSshKeyForAuthenticated: [
+ "GET /user/keys/{key_id}",
+ {},
+ { renamed: ["users", "getPublicSshKeyForAuthenticatedUser"] }
+ ],
+ getPublicSshKeyForAuthenticatedUser: ["GET /user/keys/{key_id}"],
+ getSshSigningKeyForAuthenticatedUser: [
+ "GET /user/ssh_signing_keys/{ssh_signing_key_id}"
+ ],
+ list: ["GET /users"],
+ listAttestations: ["GET /users/{username}/attestations/{subject_digest}"],
+ listAttestationsBulk: [
+ "POST /users/{username}/attestations/bulk-list{?per_page,before,after}"
+ ],
+ listBlockedByAuthenticated: [
+ "GET /user/blocks",
+ {},
+ { renamed: ["users", "listBlockedByAuthenticatedUser"] }
+ ],
+ listBlockedByAuthenticatedUser: ["GET /user/blocks"],
+ listEmailsForAuthenticated: [
+ "GET /user/emails",
+ {},
+ { renamed: ["users", "listEmailsForAuthenticatedUser"] }
+ ],
+ listEmailsForAuthenticatedUser: ["GET /user/emails"],
+ listFollowedByAuthenticated: [
+ "GET /user/following",
+ {},
+ { renamed: ["users", "listFollowedByAuthenticatedUser"] }
+ ],
+ listFollowedByAuthenticatedUser: ["GET /user/following"],
+ listFollowersForAuthenticatedUser: ["GET /user/followers"],
+ listFollowersForUser: ["GET /users/{username}/followers"],
+ listFollowingForUser: ["GET /users/{username}/following"],
+ listGpgKeysForAuthenticated: [
+ "GET /user/gpg_keys",
+ {},
+ { renamed: ["users", "listGpgKeysForAuthenticatedUser"] }
+ ],
+ listGpgKeysForAuthenticatedUser: ["GET /user/gpg_keys"],
+ listGpgKeysForUser: ["GET /users/{username}/gpg_keys"],
+ listPublicEmailsForAuthenticated: [
+ "GET /user/public_emails",
+ {},
+ { renamed: ["users", "listPublicEmailsForAuthenticatedUser"] }
+ ],
+ listPublicEmailsForAuthenticatedUser: ["GET /user/public_emails"],
+ listPublicKeysForUser: ["GET /users/{username}/keys"],
+ listPublicSshKeysForAuthenticated: [
+ "GET /user/keys",
+ {},
+ { renamed: ["users", "listPublicSshKeysForAuthenticatedUser"] }
+ ],
+ listPublicSshKeysForAuthenticatedUser: ["GET /user/keys"],
+ listSocialAccountsForAuthenticatedUser: ["GET /user/social_accounts"],
+ listSocialAccountsForUser: ["GET /users/{username}/social_accounts"],
+ listSshSigningKeysForAuthenticatedUser: ["GET /user/ssh_signing_keys"],
+ listSshSigningKeysForUser: ["GET /users/{username}/ssh_signing_keys"],
+ setPrimaryEmailVisibilityForAuthenticated: [
+ "PATCH /user/email/visibility",
+ {},
+ { renamed: ["users", "setPrimaryEmailVisibilityForAuthenticatedUser"] }
+ ],
+ setPrimaryEmailVisibilityForAuthenticatedUser: [
+ "PATCH /user/email/visibility"
+ ],
+ unblock: ["DELETE /user/blocks/{username}"],
+ unfollow: ["DELETE /user/following/{username}"],
+ updateAuthenticated: ["PATCH /user"]
+ }
+};
+var endpoints_default = Endpoints;
+
+const endpointMethodsMap = /* @__PURE__ */ new Map();
+for (const [scope, endpoints] of Object.entries(endpoints_default)) {
+ for (const [methodName, endpoint] of Object.entries(endpoints)) {
+ const [route, defaults, decorations] = endpoint;
+ const [method, url] = route.split(/ /);
+ const endpointDefaults = Object.assign(
+ {
+ method,
+ url
+ },
+ defaults
+ );
+ if (!endpointMethodsMap.has(scope)) {
+ endpointMethodsMap.set(scope, /* @__PURE__ */ new Map());
+ }
+ endpointMethodsMap.get(scope).set(methodName, {
+ scope,
+ methodName,
+ endpointDefaults,
+ decorations
+ });
+ }
+}
+const handler = {
+ has({ scope }, methodName) {
+ return endpointMethodsMap.get(scope).has(methodName);
+ },
+ getOwnPropertyDescriptor(target, methodName) {
+ return {
+ value: this.get(target, methodName),
+ // ensures method is in the cache
+ configurable: true,
+ writable: true,
+ enumerable: true
+ };
+ },
+ defineProperty(target, methodName, descriptor) {
+ Object.defineProperty(target.cache, methodName, descriptor);
+ return true;
+ },
+ deleteProperty(target, methodName) {
+ delete target.cache[methodName];
+ return true;
+ },
+ ownKeys({ scope }) {
+ return [...endpointMethodsMap.get(scope).keys()];
+ },
+ set(target, methodName, value) {
+ return target.cache[methodName] = value;
+ },
+ get({ octokit, scope, cache }, methodName) {
+ if (cache[methodName]) {
+ return cache[methodName];
+ }
+ const method = endpointMethodsMap.get(scope).get(methodName);
+ if (!method) {
+ return void 0;
+ }
+ const { endpointDefaults, decorations } = method;
+ if (decorations) {
+ cache[methodName] = decorate(
+ octokit,
+ scope,
+ methodName,
+ endpointDefaults,
+ decorations
+ );
+ } else {
+ cache[methodName] = octokit.request.defaults(endpointDefaults);
+ }
+ return cache[methodName];
+ }
+};
+function endpointsToMethods(octokit) {
+ const newMethods = {};
+ for (const scope of endpointMethodsMap.keys()) {
+ newMethods[scope] = new Proxy({ octokit, scope, cache: {} }, handler);
+ }
+ return newMethods;
+}
+function decorate(octokit, scope, methodName, defaults, decorations) {
+ const requestWithDefaults = octokit.request.defaults(defaults);
+ function withDecorations(...args) {
+ let options = requestWithDefaults.endpoint.merge(...args);
+ if (decorations.mapToData) {
+ options = Object.assign({}, options, {
+ data: options[decorations.mapToData],
+ [decorations.mapToData]: void 0
+ });
+ return requestWithDefaults(options);
+ }
+ if (decorations.renamed) {
+ const [newScope, newMethodName] = decorations.renamed;
+ octokit.log.warn(
+ `octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`
+ );
+ }
+ if (decorations.deprecated) {
+ octokit.log.warn(decorations.deprecated);
+ }
+ if (decorations.renamedParameters) {
+ const options2 = requestWithDefaults.endpoint.merge(...args);
+ for (const [name, alias] of Object.entries(
+ decorations.renamedParameters
+ )) {
+ if (name in options2) {
+ octokit.log.warn(
+ `"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead`
+ );
+ if (!(alias in options2)) {
+ options2[alias] = options2[name];
+ }
+ delete options2[name];
+ }
+ }
+ return requestWithDefaults(options2);
+ }
+ return requestWithDefaults(...args);
+ }
+ return Object.assign(withDecorations, requestWithDefaults);
+}
+
+function restEndpointMethods(octokit) {
+ const api = endpointsToMethods(octokit);
+ return {
+ rest: api
+ };
+}
+restEndpointMethods.VERSION = VERSION$a;
+
+var light$1 = {exports: {}};
+
+/**
+ * This file contains the Bottleneck library (MIT), compiled to ES2017, and without Clustering support.
+ * https://github.com/SGrondin/bottleneck
+ */
+var light = light$1.exports;
+
+var hasRequiredLight;
+
+function requireLight () {
+ if (hasRequiredLight) return light$1.exports;
+ hasRequiredLight = 1;
+ (function (module, exports) {
+ (function (global, factory) {
+ module.exports = factory() ;
+ }(light, (function () {
+ var commonjsGlobal$1 = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof commonjsGlobal !== 'undefined' ? commonjsGlobal : typeof self !== 'undefined' ? self : {};
+
+ function getCjsExportFromNamespace (n) {
+ return n && n['default'] || n;
+ }
+
+ var load = function(received, defaults, onto = {}) {
+ var k, ref, v;
+ for (k in defaults) {
+ v = defaults[k];
+ onto[k] = (ref = received[k]) != null ? ref : v;
+ }
+ return onto;
+ };
+
+ var overwrite = function(received, defaults, onto = {}) {
+ var k, v;
+ for (k in received) {
+ v = received[k];
+ if (defaults[k] !== void 0) {
+ onto[k] = v;
+ }
+ }
+ return onto;
+ };
+
+ var parser = {
+ load: load,
+ overwrite: overwrite
+ };
+
+ var DLList;
+
+ DLList = class DLList {
+ constructor(incr, decr) {
+ this.incr = incr;
+ this.decr = decr;
+ this._first = null;
+ this._last = null;
+ this.length = 0;
+ }
+
+ push(value) {
+ var node;
+ this.length++;
+ if (typeof this.incr === "function") {
+ this.incr();
+ }
+ node = {
+ value,
+ prev: this._last,
+ next: null
+ };
+ if (this._last != null) {
+ this._last.next = node;
+ this._last = node;
+ } else {
+ this._first = this._last = node;
+ }
+ return void 0;
+ }
+
+ shift() {
+ var value;
+ if (this._first == null) {
+ return;
+ } else {
+ this.length--;
+ if (typeof this.decr === "function") {
+ this.decr();
+ }
+ }
+ value = this._first.value;
+ if ((this._first = this._first.next) != null) {
+ this._first.prev = null;
+ } else {
+ this._last = null;
+ }
+ return value;
+ }
+
+ first() {
+ if (this._first != null) {
+ return this._first.value;
+ }
+ }
+
+ getArray() {
+ var node, ref, results;
+ node = this._first;
+ results = [];
+ while (node != null) {
+ results.push((ref = node, node = node.next, ref.value));
+ }
+ return results;
+ }
+
+ forEachShift(cb) {
+ var node;
+ node = this.shift();
+ while (node != null) {
+ (cb(node), node = this.shift());
+ }
+ return void 0;
+ }
+
+ debug() {
+ var node, ref, ref1, ref2, results;
+ node = this._first;
+ results = [];
+ while (node != null) {
+ results.push((ref = node, node = node.next, {
+ value: ref.value,
+ prev: (ref1 = ref.prev) != null ? ref1.value : void 0,
+ next: (ref2 = ref.next) != null ? ref2.value : void 0
+ }));
+ }
+ return results;
+ }
+
+ };
+
+ var DLList_1 = DLList;
+
+ var Events;
+
+ Events = class Events {
+ constructor(instance) {
+ this.instance = instance;
+ this._events = {};
+ if ((this.instance.on != null) || (this.instance.once != null) || (this.instance.removeAllListeners != null)) {
+ throw new Error("An Emitter already exists for this object");
+ }
+ this.instance.on = (name, cb) => {
+ return this._addListener(name, "many", cb);
+ };
+ this.instance.once = (name, cb) => {
+ return this._addListener(name, "once", cb);
+ };
+ this.instance.removeAllListeners = (name = null) => {
+ if (name != null) {
+ return delete this._events[name];
+ } else {
+ return this._events = {};
+ }
+ };
+ }
+
+ _addListener(name, status, cb) {
+ var base;
+ if ((base = this._events)[name] == null) {
+ base[name] = [];
+ }
+ this._events[name].push({cb, status});
+ return this.instance;
+ }
+
+ listenerCount(name) {
+ if (this._events[name] != null) {
+ return this._events[name].length;
+ } else {
+ return 0;
+ }
+ }
+
+ async trigger(name, ...args) {
+ var e, promises;
+ try {
+ if (name !== "debug") {
+ this.trigger("debug", `Event triggered: ${name}`, args);
+ }
+ if (this._events[name] == null) {
+ return;
+ }
+ this._events[name] = this._events[name].filter(function(listener) {
+ return listener.status !== "none";
+ });
+ promises = this._events[name].map(async(listener) => {
+ var e, returned;
+ if (listener.status === "none") {
+ return;
+ }
+ if (listener.status === "once") {
+ listener.status = "none";
+ }
+ try {
+ returned = typeof listener.cb === "function" ? listener.cb(...args) : void 0;
+ if (typeof (returned != null ? returned.then : void 0) === "function") {
+ return (await returned);
+ } else {
+ return returned;
+ }
+ } catch (error) {
+ e = error;
+ {
+ this.trigger("error", e);
+ }
+ return null;
+ }
+ });
+ return ((await Promise.all(promises))).find(function(x) {
+ return x != null;
+ });
+ } catch (error) {
+ e = error;
+ {
+ this.trigger("error", e);
+ }
+ return null;
+ }
+ }
+
+ };
+
+ var Events_1 = Events;
+
+ var DLList$1, Events$1, Queues;
+
+ DLList$1 = DLList_1;
+
+ Events$1 = Events_1;
+
+ Queues = class Queues {
+ constructor(num_priorities) {
+ this.Events = new Events$1(this);
+ this._length = 0;
+ this._lists = (function() {
+ var j, ref, results;
+ results = [];
+ for (j = 1, ref = num_priorities; (1 <= ref ? j <= ref : j >= ref); 1 <= ref ? ++j : --j) {
+ results.push(new DLList$1((() => {
+ return this.incr();
+ }), (() => {
+ return this.decr();
+ })));
+ }
+ return results;
+ }).call(this);
+ }
+
+ incr() {
+ if (this._length++ === 0) {
+ return this.Events.trigger("leftzero");
+ }
+ }
+
+ decr() {
+ if (--this._length === 0) {
+ return this.Events.trigger("zero");
+ }
+ }
+
+ push(job) {
+ return this._lists[job.options.priority].push(job);
+ }
+
+ queued(priority) {
+ if (priority != null) {
+ return this._lists[priority].length;
+ } else {
+ return this._length;
+ }
+ }
+
+ shiftAll(fn) {
+ return this._lists.forEach(function(list) {
+ return list.forEachShift(fn);
+ });
+ }
+
+ getFirst(arr = this._lists) {
+ var j, len, list;
+ for (j = 0, len = arr.length; j < len; j++) {
+ list = arr[j];
+ if (list.length > 0) {
+ return list;
+ }
+ }
+ return [];
+ }
+
+ shiftLastFrom(priority) {
+ return this.getFirst(this._lists.slice(priority).reverse()).shift();
+ }
+
+ };
+
+ var Queues_1 = Queues;
+
+ var BottleneckError;
+
+ BottleneckError = class BottleneckError extends Error {};
+
+ var BottleneckError_1 = BottleneckError;
+
+ var BottleneckError$1, DEFAULT_PRIORITY, Job, NUM_PRIORITIES, parser$1;
+
+ NUM_PRIORITIES = 10;
+
+ DEFAULT_PRIORITY = 5;
+
+ parser$1 = parser;
+
+ BottleneckError$1 = BottleneckError_1;
+
+ Job = class Job {
+ constructor(task, args, options, jobDefaults, rejectOnDrop, Events, _states, Promise) {
+ this.task = task;
+ this.args = args;
+ this.rejectOnDrop = rejectOnDrop;
+ this.Events = Events;
+ this._states = _states;
+ this.Promise = Promise;
+ this.options = parser$1.load(options, jobDefaults);
+ this.options.priority = this._sanitizePriority(this.options.priority);
+ if (this.options.id === jobDefaults.id) {
+ this.options.id = `${this.options.id}-${this._randomIndex()}`;
+ }
+ this.promise = new this.Promise((_resolve, _reject) => {
+ this._resolve = _resolve;
+ this._reject = _reject;
+ });
+ this.retryCount = 0;
+ }
+
+ _sanitizePriority(priority) {
+ var sProperty;
+ sProperty = ~~priority !== priority ? DEFAULT_PRIORITY : priority;
+ if (sProperty < 0) {
+ return 0;
+ } else if (sProperty > NUM_PRIORITIES - 1) {
+ return NUM_PRIORITIES - 1;
+ } else {
+ return sProperty;
+ }
+ }
+
+ _randomIndex() {
+ return Math.random().toString(36).slice(2);
+ }
+
+ doDrop({error, message = "This job has been dropped by Bottleneck"} = {}) {
+ if (this._states.remove(this.options.id)) {
+ if (this.rejectOnDrop) {
+ this._reject(error != null ? error : new BottleneckError$1(message));
+ }
+ this.Events.trigger("dropped", {args: this.args, options: this.options, task: this.task, promise: this.promise});
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ _assertStatus(expected) {
+ var status;
+ status = this._states.jobStatus(this.options.id);
+ if (!(status === expected || (expected === "DONE" && status === null))) {
+ throw new BottleneckError$1(`Invalid job status ${status}, expected ${expected}. Please open an issue at https://github.com/SGrondin/bottleneck/issues`);
+ }
+ }
+
+ doReceive() {
+ this._states.start(this.options.id);
+ return this.Events.trigger("received", {args: this.args, options: this.options});
+ }
+
+ doQueue(reachedHWM, blocked) {
+ this._assertStatus("RECEIVED");
+ this._states.next(this.options.id);
+ return this.Events.trigger("queued", {args: this.args, options: this.options, reachedHWM, blocked});
+ }
+
+ doRun() {
+ if (this.retryCount === 0) {
+ this._assertStatus("QUEUED");
+ this._states.next(this.options.id);
+ } else {
+ this._assertStatus("EXECUTING");
+ }
+ return this.Events.trigger("scheduled", {args: this.args, options: this.options});
+ }
+
+ async doExecute(chained, clearGlobalState, run, free) {
+ var error, eventInfo, passed;
+ if (this.retryCount === 0) {
+ this._assertStatus("RUNNING");
+ this._states.next(this.options.id);
+ } else {
+ this._assertStatus("EXECUTING");
+ }
+ eventInfo = {args: this.args, options: this.options, retryCount: this.retryCount};
+ this.Events.trigger("executing", eventInfo);
+ try {
+ passed = (await (chained != null ? chained.schedule(this.options, this.task, ...this.args) : this.task(...this.args)));
+ if (clearGlobalState()) {
+ this.doDone(eventInfo);
+ await free(this.options, eventInfo);
+ this._assertStatus("DONE");
+ return this._resolve(passed);
+ }
+ } catch (error1) {
+ error = error1;
+ return this._onFailure(error, eventInfo, clearGlobalState, run, free);
+ }
+ }
+
+ doExpire(clearGlobalState, run, free) {
+ var error, eventInfo;
+ if (this._states.jobStatus(this.options.id === "RUNNING")) {
+ this._states.next(this.options.id);
+ }
+ this._assertStatus("EXECUTING");
+ eventInfo = {args: this.args, options: this.options, retryCount: this.retryCount};
+ error = new BottleneckError$1(`This job timed out after ${this.options.expiration} ms.`);
+ return this._onFailure(error, eventInfo, clearGlobalState, run, free);
+ }
+
+ async _onFailure(error, eventInfo, clearGlobalState, run, free) {
+ var retry, retryAfter;
+ if (clearGlobalState()) {
+ retry = (await this.Events.trigger("failed", error, eventInfo));
+ if (retry != null) {
+ retryAfter = ~~retry;
+ this.Events.trigger("retry", `Retrying ${this.options.id} after ${retryAfter} ms`, eventInfo);
+ this.retryCount++;
+ return run(retryAfter);
+ } else {
+ this.doDone(eventInfo);
+ await free(this.options, eventInfo);
+ this._assertStatus("DONE");
+ return this._reject(error);
+ }
+ }
+ }
+
+ doDone(eventInfo) {
+ this._assertStatus("EXECUTING");
+ this._states.next(this.options.id);
+ return this.Events.trigger("done", eventInfo);
+ }
+
+ };
+
+ var Job_1 = Job;
+
+ var BottleneckError$2, LocalDatastore, parser$2;
+
+ parser$2 = parser;
+
+ BottleneckError$2 = BottleneckError_1;
+
+ LocalDatastore = class LocalDatastore {
+ constructor(instance, storeOptions, storeInstanceOptions) {
+ this.instance = instance;
+ this.storeOptions = storeOptions;
+ this.clientId = this.instance._randomIndex();
+ parser$2.load(storeInstanceOptions, storeInstanceOptions, this);
+ this._nextRequest = this._lastReservoirRefresh = this._lastReservoirIncrease = Date.now();
+ this._running = 0;
+ this._done = 0;
+ this._unblockTime = 0;
+ this.ready = this.Promise.resolve();
+ this.clients = {};
+ this._startHeartbeat();
+ }
+
+ _startHeartbeat() {
+ var base;
+ if ((this.heartbeat == null) && (((this.storeOptions.reservoirRefreshInterval != null) && (this.storeOptions.reservoirRefreshAmount != null)) || ((this.storeOptions.reservoirIncreaseInterval != null) && (this.storeOptions.reservoirIncreaseAmount != null)))) {
+ return typeof (base = (this.heartbeat = setInterval(() => {
+ var amount, incr, maximum, now, reservoir;
+ now = Date.now();
+ if ((this.storeOptions.reservoirRefreshInterval != null) && now >= this._lastReservoirRefresh + this.storeOptions.reservoirRefreshInterval) {
+ this._lastReservoirRefresh = now;
+ this.storeOptions.reservoir = this.storeOptions.reservoirRefreshAmount;
+ this.instance._drainAll(this.computeCapacity());
+ }
+ if ((this.storeOptions.reservoirIncreaseInterval != null) && now >= this._lastReservoirIncrease + this.storeOptions.reservoirIncreaseInterval) {
+ ({
+ reservoirIncreaseAmount: amount,
+ reservoirIncreaseMaximum: maximum,
+ reservoir
+ } = this.storeOptions);
+ this._lastReservoirIncrease = now;
+ incr = maximum != null ? Math.min(amount, maximum - reservoir) : amount;
+ if (incr > 0) {
+ this.storeOptions.reservoir += incr;
+ return this.instance._drainAll(this.computeCapacity());
+ }
+ }
+ }, this.heartbeatInterval))).unref === "function" ? base.unref() : void 0;
+ } else {
+ return clearInterval(this.heartbeat);
+ }
+ }
+
+ async __publish__(message) {
+ await this.yieldLoop();
+ return this.instance.Events.trigger("message", message.toString());
+ }
+
+ async __disconnect__(flush) {
+ await this.yieldLoop();
+ clearInterval(this.heartbeat);
+ return this.Promise.resolve();
+ }
+
+ yieldLoop(t = 0) {
+ return new this.Promise(function(resolve, reject) {
+ return setTimeout(resolve, t);
+ });
+ }
+
+ computePenalty() {
+ var ref;
+ return (ref = this.storeOptions.penalty) != null ? ref : (15 * this.storeOptions.minTime) || 5000;
+ }
+
+ async __updateSettings__(options) {
+ await this.yieldLoop();
+ parser$2.overwrite(options, options, this.storeOptions);
+ this._startHeartbeat();
+ this.instance._drainAll(this.computeCapacity());
+ return true;
+ }
+
+ async __running__() {
+ await this.yieldLoop();
+ return this._running;
+ }
+
+ async __queued__() {
+ await this.yieldLoop();
+ return this.instance.queued();
+ }
+
+ async __done__() {
+ await this.yieldLoop();
+ return this._done;
+ }
+
+ async __groupCheck__(time) {
+ await this.yieldLoop();
+ return (this._nextRequest + this.timeout) < time;
+ }
+
+ computeCapacity() {
+ var maxConcurrent, reservoir;
+ ({maxConcurrent, reservoir} = this.storeOptions);
+ if ((maxConcurrent != null) && (reservoir != null)) {
+ return Math.min(maxConcurrent - this._running, reservoir);
+ } else if (maxConcurrent != null) {
+ return maxConcurrent - this._running;
+ } else if (reservoir != null) {
+ return reservoir;
+ } else {
+ return null;
+ }
+ }
+
+ conditionsCheck(weight) {
+ var capacity;
+ capacity = this.computeCapacity();
+ return (capacity == null) || weight <= capacity;
+ }
+
+ async __incrementReservoir__(incr) {
+ var reservoir;
+ await this.yieldLoop();
+ reservoir = this.storeOptions.reservoir += incr;
+ this.instance._drainAll(this.computeCapacity());
+ return reservoir;
+ }
+
+ async __currentReservoir__() {
+ await this.yieldLoop();
+ return this.storeOptions.reservoir;
+ }
+
+ isBlocked(now) {
+ return this._unblockTime >= now;
+ }
+
+ check(weight, now) {
+ return this.conditionsCheck(weight) && (this._nextRequest - now) <= 0;
+ }
+
+ async __check__(weight) {
+ var now;
+ await this.yieldLoop();
+ now = Date.now();
+ return this.check(weight, now);
+ }
+
+ async __register__(index, weight, expiration) {
+ var now, wait;
+ await this.yieldLoop();
+ now = Date.now();
+ if (this.conditionsCheck(weight)) {
+ this._running += weight;
+ if (this.storeOptions.reservoir != null) {
+ this.storeOptions.reservoir -= weight;
+ }
+ wait = Math.max(this._nextRequest - now, 0);
+ this._nextRequest = now + wait + this.storeOptions.minTime;
+ return {
+ success: true,
+ wait,
+ reservoir: this.storeOptions.reservoir
+ };
+ } else {
+ return {
+ success: false
+ };
+ }
+ }
+
+ strategyIsBlock() {
+ return this.storeOptions.strategy === 3;
+ }
+
+ async __submit__(queueLength, weight) {
+ var blocked, now, reachedHWM;
+ await this.yieldLoop();
+ if ((this.storeOptions.maxConcurrent != null) && weight > this.storeOptions.maxConcurrent) {
+ throw new BottleneckError$2(`Impossible to add a job having a weight of ${weight} to a limiter having a maxConcurrent setting of ${this.storeOptions.maxConcurrent}`);
+ }
+ now = Date.now();
+ reachedHWM = (this.storeOptions.highWater != null) && queueLength === this.storeOptions.highWater && !this.check(weight, now);
+ blocked = this.strategyIsBlock() && (reachedHWM || this.isBlocked(now));
+ if (blocked) {
+ this._unblockTime = now + this.computePenalty();
+ this._nextRequest = this._unblockTime + this.storeOptions.minTime;
+ this.instance._dropAllQueued();
+ }
+ return {
+ reachedHWM,
+ blocked,
+ strategy: this.storeOptions.strategy
+ };
+ }
+
+ async __free__(index, weight) {
+ await this.yieldLoop();
+ this._running -= weight;
+ this._done += weight;
+ this.instance._drainAll(this.computeCapacity());
+ return {
+ running: this._running
+ };
+ }
+
+ };
+
+ var LocalDatastore_1 = LocalDatastore;
+
+ var BottleneckError$3, States;
+
+ BottleneckError$3 = BottleneckError_1;
+
+ States = class States {
+ constructor(status1) {
+ this.status = status1;
+ this._jobs = {};
+ this.counts = this.status.map(function() {
+ return 0;
+ });
+ }
+
+ next(id) {
+ var current, next;
+ current = this._jobs[id];
+ next = current + 1;
+ if ((current != null) && next < this.status.length) {
+ this.counts[current]--;
+ this.counts[next]++;
+ return this._jobs[id]++;
+ } else if (current != null) {
+ this.counts[current]--;
+ return delete this._jobs[id];
+ }
+ }
+
+ start(id) {
+ var initial;
+ initial = 0;
+ this._jobs[id] = initial;
+ return this.counts[initial]++;
+ }
+
+ remove(id) {
+ var current;
+ current = this._jobs[id];
+ if (current != null) {
+ this.counts[current]--;
+ delete this._jobs[id];
+ }
+ return current != null;
+ }
+
+ jobStatus(id) {
+ var ref;
+ return (ref = this.status[this._jobs[id]]) != null ? ref : null;
+ }
+
+ statusJobs(status) {
+ var k, pos, ref, results, v;
+ if (status != null) {
+ pos = this.status.indexOf(status);
+ if (pos < 0) {
+ throw new BottleneckError$3(`status must be one of ${this.status.join(', ')}`);
+ }
+ ref = this._jobs;
+ results = [];
+ for (k in ref) {
+ v = ref[k];
+ if (v === pos) {
+ results.push(k);
+ }
+ }
+ return results;
+ } else {
+ return Object.keys(this._jobs);
+ }
+ }
+
+ statusCounts() {
+ return this.counts.reduce(((acc, v, i) => {
+ acc[this.status[i]] = v;
+ return acc;
+ }), {});
+ }
+
+ };
+
+ var States_1 = States;
+
+ var DLList$2, Sync;
+
+ DLList$2 = DLList_1;
+
+ Sync = class Sync {
+ constructor(name, Promise) {
+ this.schedule = this.schedule.bind(this);
+ this.name = name;
+ this.Promise = Promise;
+ this._running = 0;
+ this._queue = new DLList$2();
+ }
+
+ isEmpty() {
+ return this._queue.length === 0;
+ }
+
+ async _tryToRun() {
+ var args, cb, error, reject, resolve, returned, task;
+ if ((this._running < 1) && this._queue.length > 0) {
+ this._running++;
+ ({task, args, resolve, reject} = this._queue.shift());
+ cb = (await (async function() {
+ try {
+ returned = (await task(...args));
+ return function() {
+ return resolve(returned);
+ };
+ } catch (error1) {
+ error = error1;
+ return function() {
+ return reject(error);
+ };
+ }
+ })());
+ this._running--;
+ this._tryToRun();
+ return cb();
+ }
+ }
+
+ schedule(task, ...args) {
+ var promise, reject, resolve;
+ resolve = reject = null;
+ promise = new this.Promise(function(_resolve, _reject) {
+ resolve = _resolve;
+ return reject = _reject;
+ });
+ this._queue.push({task, args, resolve, reject});
+ this._tryToRun();
+ return promise;
+ }
+
+ };
+
+ var Sync_1 = Sync;
+
+ var version = "2.19.5";
+ var version$1 = {
+ version: version
+ };
+
+ var version$2 = /*#__PURE__*/Object.freeze({
+ version: version,
+ default: version$1
+ });
+
+ var require$$2 = () => console.log('You must import the full version of Bottleneck in order to use this feature.');
+
+ var require$$3 = () => console.log('You must import the full version of Bottleneck in order to use this feature.');
+
+ var require$$4 = () => console.log('You must import the full version of Bottleneck in order to use this feature.');
+
+ var Events$2, Group, IORedisConnection$1, RedisConnection$1, Scripts$1, parser$3;
+
+ parser$3 = parser;
+
+ Events$2 = Events_1;
+
+ RedisConnection$1 = require$$2;
+
+ IORedisConnection$1 = require$$3;
+
+ Scripts$1 = require$$4;
+
+ Group = (function() {
+ class Group {
+ constructor(limiterOptions = {}) {
+ this.deleteKey = this.deleteKey.bind(this);
+ this.limiterOptions = limiterOptions;
+ parser$3.load(this.limiterOptions, this.defaults, this);
+ this.Events = new Events$2(this);
+ this.instances = {};
+ this.Bottleneck = Bottleneck_1;
+ this._startAutoCleanup();
+ this.sharedConnection = this.connection != null;
+ if (this.connection == null) {
+ if (this.limiterOptions.datastore === "redis") {
+ this.connection = new RedisConnection$1(Object.assign({}, this.limiterOptions, {Events: this.Events}));
+ } else if (this.limiterOptions.datastore === "ioredis") {
+ this.connection = new IORedisConnection$1(Object.assign({}, this.limiterOptions, {Events: this.Events}));
+ }
+ }
+ }
+
+ key(key = "") {
+ var ref;
+ return (ref = this.instances[key]) != null ? ref : (() => {
+ var limiter;
+ limiter = this.instances[key] = new this.Bottleneck(Object.assign(this.limiterOptions, {
+ id: `${this.id}-${key}`,
+ timeout: this.timeout,
+ connection: this.connection
+ }));
+ this.Events.trigger("created", limiter, key);
+ return limiter;
+ })();
+ }
+
+ async deleteKey(key = "") {
+ var deleted, instance;
+ instance = this.instances[key];
+ if (this.connection) {
+ deleted = (await this.connection.__runCommand__(['del', ...Scripts$1.allKeys(`${this.id}-${key}`)]));
+ }
+ if (instance != null) {
+ delete this.instances[key];
+ await instance.disconnect();
+ }
+ return (instance != null) || deleted > 0;
+ }
+
+ limiters() {
+ var k, ref, results, v;
+ ref = this.instances;
+ results = [];
+ for (k in ref) {
+ v = ref[k];
+ results.push({
+ key: k,
+ limiter: v
+ });
+ }
+ return results;
+ }
+
+ keys() {
+ return Object.keys(this.instances);
+ }
+
+ async clusterKeys() {
+ var cursor, end, found, i, k, keys, len, next, start;
+ if (this.connection == null) {
+ return this.Promise.resolve(this.keys());
+ }
+ keys = [];
+ cursor = null;
+ start = `b_${this.id}-`.length;
+ end = "_settings".length;
+ while (cursor !== 0) {
+ [next, found] = (await this.connection.__runCommand__(["scan", cursor != null ? cursor : 0, "match", `b_${this.id}-*_settings`, "count", 10000]));
+ cursor = ~~next;
+ for (i = 0, len = found.length; i < len; i++) {
+ k = found[i];
+ keys.push(k.slice(start, -end));
+ }
+ }
+ return keys;
+ }
+
+ _startAutoCleanup() {
+ var base;
+ clearInterval(this.interval);
+ return typeof (base = (this.interval = setInterval(async() => {
+ var e, k, ref, results, time, v;
+ time = Date.now();
+ ref = this.instances;
+ results = [];
+ for (k in ref) {
+ v = ref[k];
+ try {
+ if ((await v._store.__groupCheck__(time))) {
+ results.push(this.deleteKey(k));
+ } else {
+ results.push(void 0);
+ }
+ } catch (error) {
+ e = error;
+ results.push(v.Events.trigger("error", e));
+ }
+ }
+ return results;
+ }, this.timeout / 2))).unref === "function" ? base.unref() : void 0;
+ }
+
+ updateSettings(options = {}) {
+ parser$3.overwrite(options, this.defaults, this);
+ parser$3.overwrite(options, options, this.limiterOptions);
+ if (options.timeout != null) {
+ return this._startAutoCleanup();
+ }
+ }
+
+ disconnect(flush = true) {
+ var ref;
+ if (!this.sharedConnection) {
+ return (ref = this.connection) != null ? ref.disconnect(flush) : void 0;
+ }
+ }
+
+ }
+ Group.prototype.defaults = {
+ timeout: 1000 * 60 * 5,
+ connection: null,
+ Promise: Promise,
+ id: "group-key"
+ };
+
+ return Group;
+
+ }).call(commonjsGlobal$1);
+
+ var Group_1 = Group;
+
+ var Batcher, Events$3, parser$4;
+
+ parser$4 = parser;
+
+ Events$3 = Events_1;
+
+ Batcher = (function() {
+ class Batcher {
+ constructor(options = {}) {
+ this.options = options;
+ parser$4.load(this.options, this.defaults, this);
+ this.Events = new Events$3(this);
+ this._arr = [];
+ this._resetPromise();
+ this._lastFlush = Date.now();
+ }
+
+ _resetPromise() {
+ return this._promise = new this.Promise((res, rej) => {
+ return this._resolve = res;
+ });
+ }
+
+ _flush() {
+ clearTimeout(this._timeout);
+ this._lastFlush = Date.now();
+ this._resolve();
+ this.Events.trigger("batch", this._arr);
+ this._arr = [];
+ return this._resetPromise();
+ }
+
+ add(data) {
+ var ret;
+ this._arr.push(data);
+ ret = this._promise;
+ if (this._arr.length === this.maxSize) {
+ this._flush();
+ } else if ((this.maxTime != null) && this._arr.length === 1) {
+ this._timeout = setTimeout(() => {
+ return this._flush();
+ }, this.maxTime);
+ }
+ return ret;
+ }
+
+ }
+ Batcher.prototype.defaults = {
+ maxTime: null,
+ maxSize: null,
+ Promise: Promise
+ };
+
+ return Batcher;
+
+ }).call(commonjsGlobal$1);
+
+ var Batcher_1 = Batcher;
+
+ var require$$4$1 = () => console.log('You must import the full version of Bottleneck in order to use this feature.');
+
+ var require$$8 = getCjsExportFromNamespace(version$2);
+
+ var Bottleneck, DEFAULT_PRIORITY$1, Events$4, Job$1, LocalDatastore$1, NUM_PRIORITIES$1, Queues$1, RedisDatastore$1, States$1, Sync$1, parser$5,
+ splice = [].splice;
+
+ NUM_PRIORITIES$1 = 10;
+
+ DEFAULT_PRIORITY$1 = 5;
+
+ parser$5 = parser;
+
+ Queues$1 = Queues_1;
+
+ Job$1 = Job_1;
+
+ LocalDatastore$1 = LocalDatastore_1;
+
+ RedisDatastore$1 = require$$4$1;
+
+ Events$4 = Events_1;
+
+ States$1 = States_1;
+
+ Sync$1 = Sync_1;
+
+ Bottleneck = (function() {
+ class Bottleneck {
+ constructor(options = {}, ...invalid) {
+ var storeInstanceOptions, storeOptions;
+ this._addToQueue = this._addToQueue.bind(this);
+ this._validateOptions(options, invalid);
+ parser$5.load(options, this.instanceDefaults, this);
+ this._queues = new Queues$1(NUM_PRIORITIES$1);
+ this._scheduled = {};
+ this._states = new States$1(["RECEIVED", "QUEUED", "RUNNING", "EXECUTING"].concat(this.trackDoneStatus ? ["DONE"] : []));
+ this._limiter = null;
+ this.Events = new Events$4(this);
+ this._submitLock = new Sync$1("submit", this.Promise);
+ this._registerLock = new Sync$1("register", this.Promise);
+ storeOptions = parser$5.load(options, this.storeDefaults, {});
+ this._store = (function() {
+ if (this.datastore === "redis" || this.datastore === "ioredis" || (this.connection != null)) {
+ storeInstanceOptions = parser$5.load(options, this.redisStoreDefaults, {});
+ return new RedisDatastore$1(this, storeOptions, storeInstanceOptions);
+ } else if (this.datastore === "local") {
+ storeInstanceOptions = parser$5.load(options, this.localStoreDefaults, {});
+ return new LocalDatastore$1(this, storeOptions, storeInstanceOptions);
+ } else {
+ throw new Bottleneck.prototype.BottleneckError(`Invalid datastore type: ${this.datastore}`);
+ }
+ }).call(this);
+ this._queues.on("leftzero", () => {
+ var ref;
+ return (ref = this._store.heartbeat) != null ? typeof ref.ref === "function" ? ref.ref() : void 0 : void 0;
+ });
+ this._queues.on("zero", () => {
+ var ref;
+ return (ref = this._store.heartbeat) != null ? typeof ref.unref === "function" ? ref.unref() : void 0 : void 0;
+ });
+ }
+
+ _validateOptions(options, invalid) {
+ if (!((options != null) && typeof options === "object" && invalid.length === 0)) {
+ throw new Bottleneck.prototype.BottleneckError("Bottleneck v2 takes a single object argument. Refer to https://github.com/SGrondin/bottleneck#upgrading-to-v2 if you're upgrading from Bottleneck v1.");
+ }
+ }
+
+ ready() {
+ return this._store.ready;
+ }
+
+ clients() {
+ return this._store.clients;
+ }
+
+ channel() {
+ return `b_${this.id}`;
+ }
+
+ channel_client() {
+ return `b_${this.id}_${this._store.clientId}`;
+ }
+
+ publish(message) {
+ return this._store.__publish__(message);
+ }
+
+ disconnect(flush = true) {
+ return this._store.__disconnect__(flush);
+ }
+
+ chain(_limiter) {
+ this._limiter = _limiter;
+ return this;
+ }
+
+ queued(priority) {
+ return this._queues.queued(priority);
+ }
+
+ clusterQueued() {
+ return this._store.__queued__();
+ }
+
+ empty() {
+ return this.queued() === 0 && this._submitLock.isEmpty();
+ }
+
+ running() {
+ return this._store.__running__();
+ }
+
+ done() {
+ return this._store.__done__();
+ }
+
+ jobStatus(id) {
+ return this._states.jobStatus(id);
+ }
+
+ jobs(status) {
+ return this._states.statusJobs(status);
+ }
+
+ counts() {
+ return this._states.statusCounts();
+ }
+
+ _randomIndex() {
+ return Math.random().toString(36).slice(2);
+ }
+
+ check(weight = 1) {
+ return this._store.__check__(weight);
+ }
+
+ _clearGlobalState(index) {
+ if (this._scheduled[index] != null) {
+ clearTimeout(this._scheduled[index].expiration);
+ delete this._scheduled[index];
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ async _free(index, job, options, eventInfo) {
+ var e, running;
+ try {
+ ({running} = (await this._store.__free__(index, options.weight)));
+ this.Events.trigger("debug", `Freed ${options.id}`, eventInfo);
+ if (running === 0 && this.empty()) {
+ return this.Events.trigger("idle");
+ }
+ } catch (error1) {
+ e = error1;
+ return this.Events.trigger("error", e);
+ }
+ }
+
+ _run(index, job, wait) {
+ var clearGlobalState, free, run;
+ job.doRun();
+ clearGlobalState = this._clearGlobalState.bind(this, index);
+ run = this._run.bind(this, index, job);
+ free = this._free.bind(this, index, job);
+ return this._scheduled[index] = {
+ timeout: setTimeout(() => {
+ return job.doExecute(this._limiter, clearGlobalState, run, free);
+ }, wait),
+ expiration: job.options.expiration != null ? setTimeout(function() {
+ return job.doExpire(clearGlobalState, run, free);
+ }, wait + job.options.expiration) : void 0,
+ job: job
+ };
+ }
+
+ _drainOne(capacity) {
+ return this._registerLock.schedule(() => {
+ var args, index, next, options, queue;
+ if (this.queued() === 0) {
+ return this.Promise.resolve(null);
+ }
+ queue = this._queues.getFirst();
+ ({options, args} = next = queue.first());
+ if ((capacity != null) && options.weight > capacity) {
+ return this.Promise.resolve(null);
+ }
+ this.Events.trigger("debug", `Draining ${options.id}`, {args, options});
+ index = this._randomIndex();
+ return this._store.__register__(index, options.weight, options.expiration).then(({success, wait, reservoir}) => {
+ var empty;
+ this.Events.trigger("debug", `Drained ${options.id}`, {success, args, options});
+ if (success) {
+ queue.shift();
+ empty = this.empty();
+ if (empty) {
+ this.Events.trigger("empty");
+ }
+ if (reservoir === 0) {
+ this.Events.trigger("depleted", empty);
+ }
+ this._run(index, next, wait);
+ return this.Promise.resolve(options.weight);
+ } else {
+ return this.Promise.resolve(null);
+ }
+ });
+ });
+ }
+
+ _drainAll(capacity, total = 0) {
+ return this._drainOne(capacity).then((drained) => {
+ var newCapacity;
+ if (drained != null) {
+ newCapacity = capacity != null ? capacity - drained : capacity;
+ return this._drainAll(newCapacity, total + drained);
+ } else {
+ return this.Promise.resolve(total);
+ }
+ }).catch((e) => {
+ return this.Events.trigger("error", e);
+ });
+ }
+
+ _dropAllQueued(message) {
+ return this._queues.shiftAll(function(job) {
+ return job.doDrop({message});
+ });
+ }
+
+ stop(options = {}) {
+ var done, waitForExecuting;
+ options = parser$5.load(options, this.stopDefaults);
+ waitForExecuting = (at) => {
+ var finished;
+ finished = () => {
+ var counts;
+ counts = this._states.counts;
+ return (counts[0] + counts[1] + counts[2] + counts[3]) === at;
+ };
+ return new this.Promise((resolve, reject) => {
+ if (finished()) {
+ return resolve();
+ } else {
+ return this.on("done", () => {
+ if (finished()) {
+ this.removeAllListeners("done");
+ return resolve();
+ }
+ });
+ }
+ });
+ };
+ done = options.dropWaitingJobs ? (this._run = function(index, next) {
+ return next.doDrop({
+ message: options.dropErrorMessage
+ });
+ }, this._drainOne = () => {
+ return this.Promise.resolve(null);
+ }, this._registerLock.schedule(() => {
+ return this._submitLock.schedule(() => {
+ var k, ref, v;
+ ref = this._scheduled;
+ for (k in ref) {
+ v = ref[k];
+ if (this.jobStatus(v.job.options.id) === "RUNNING") {
+ clearTimeout(v.timeout);
+ clearTimeout(v.expiration);
+ v.job.doDrop({
+ message: options.dropErrorMessage
+ });
+ }
+ }
+ this._dropAllQueued(options.dropErrorMessage);
+ return waitForExecuting(0);
+ });
+ })) : this.schedule({
+ priority: NUM_PRIORITIES$1 - 1,
+ weight: 0
+ }, () => {
+ return waitForExecuting(1);
+ });
+ this._receive = function(job) {
+ return job._reject(new Bottleneck.prototype.BottleneckError(options.enqueueErrorMessage));
+ };
+ this.stop = () => {
+ return this.Promise.reject(new Bottleneck.prototype.BottleneckError("stop() has already been called"));
+ };
+ return done;
+ }
+
+ async _addToQueue(job) {
+ var args, blocked, error, options, reachedHWM, shifted, strategy;
+ ({args, options} = job);
+ try {
+ ({reachedHWM, blocked, strategy} = (await this._store.__submit__(this.queued(), options.weight)));
+ } catch (error1) {
+ error = error1;
+ this.Events.trigger("debug", `Could not queue ${options.id}`, {args, options, error});
+ job.doDrop({error});
+ return false;
+ }
+ if (blocked) {
+ job.doDrop();
+ return true;
+ } else if (reachedHWM) {
+ shifted = strategy === Bottleneck.prototype.strategy.LEAK ? this._queues.shiftLastFrom(options.priority) : strategy === Bottleneck.prototype.strategy.OVERFLOW_PRIORITY ? this._queues.shiftLastFrom(options.priority + 1) : strategy === Bottleneck.prototype.strategy.OVERFLOW ? job : void 0;
+ if (shifted != null) {
+ shifted.doDrop();
+ }
+ if ((shifted == null) || strategy === Bottleneck.prototype.strategy.OVERFLOW) {
+ if (shifted == null) {
+ job.doDrop();
+ }
+ return reachedHWM;
+ }
+ }
+ job.doQueue(reachedHWM, blocked);
+ this._queues.push(job);
+ await this._drainAll();
+ return reachedHWM;
+ }
+
+ _receive(job) {
+ if (this._states.jobStatus(job.options.id) != null) {
+ job._reject(new Bottleneck.prototype.BottleneckError(`A job with the same id already exists (id=${job.options.id})`));
+ return false;
+ } else {
+ job.doReceive();
+ return this._submitLock.schedule(this._addToQueue, job);
+ }
+ }
+
+ submit(...args) {
+ var cb, fn, job, options, ref, ref1, task;
+ if (typeof args[0] === "function") {
+ ref = args, [fn, ...args] = ref, [cb] = splice.call(args, -1);
+ options = parser$5.load({}, this.jobDefaults);
+ } else {
+ ref1 = args, [options, fn, ...args] = ref1, [cb] = splice.call(args, -1);
+ options = parser$5.load(options, this.jobDefaults);
+ }
+ task = (...args) => {
+ return new this.Promise(function(resolve, reject) {
+ return fn(...args, function(...args) {
+ return (args[0] != null ? reject : resolve)(args);
+ });
+ });
+ };
+ job = new Job$1(task, args, options, this.jobDefaults, this.rejectOnDrop, this.Events, this._states, this.Promise);
+ job.promise.then(function(args) {
+ return typeof cb === "function" ? cb(...args) : void 0;
+ }).catch(function(args) {
+ if (Array.isArray(args)) {
+ return typeof cb === "function" ? cb(...args) : void 0;
+ } else {
+ return typeof cb === "function" ? cb(args) : void 0;
+ }
+ });
+ return this._receive(job);
+ }
+
+ schedule(...args) {
+ var job, options, task;
+ if (typeof args[0] === "function") {
+ [task, ...args] = args;
+ options = {};
+ } else {
+ [options, task, ...args] = args;
+ }
+ job = new Job$1(task, args, options, this.jobDefaults, this.rejectOnDrop, this.Events, this._states, this.Promise);
+ this._receive(job);
+ return job.promise;
+ }
+
+ wrap(fn) {
+ var schedule, wrapped;
+ schedule = this.schedule.bind(this);
+ wrapped = function(...args) {
+ return schedule(fn.bind(this), ...args);
+ };
+ wrapped.withOptions = function(options, ...args) {
+ return schedule(options, fn, ...args);
+ };
+ return wrapped;
+ }
+
+ async updateSettings(options = {}) {
+ await this._store.__updateSettings__(parser$5.overwrite(options, this.storeDefaults));
+ parser$5.overwrite(options, this.instanceDefaults, this);
+ return this;
+ }
+
+ currentReservoir() {
+ return this._store.__currentReservoir__();
+ }
+
+ incrementReservoir(incr = 0) {
+ return this._store.__incrementReservoir__(incr);
+ }
+
+ }
+ Bottleneck.default = Bottleneck;
+
+ Bottleneck.Events = Events$4;
+
+ Bottleneck.version = Bottleneck.prototype.version = require$$8.version;
+
+ Bottleneck.strategy = Bottleneck.prototype.strategy = {
+ LEAK: 1,
+ OVERFLOW: 2,
+ OVERFLOW_PRIORITY: 4,
+ BLOCK: 3
+ };
+
+ Bottleneck.BottleneckError = Bottleneck.prototype.BottleneckError = BottleneckError_1;
+
+ Bottleneck.Group = Bottleneck.prototype.Group = Group_1;
+
+ Bottleneck.RedisConnection = Bottleneck.prototype.RedisConnection = require$$2;
+
+ Bottleneck.IORedisConnection = Bottleneck.prototype.IORedisConnection = require$$3;
+
+ Bottleneck.Batcher = Bottleneck.prototype.Batcher = Batcher_1;
+
+ Bottleneck.prototype.jobDefaults = {
+ priority: DEFAULT_PRIORITY$1,
+ weight: 1,
+ expiration: null,
+ id: ""
+ };
+
+ Bottleneck.prototype.storeDefaults = {
+ maxConcurrent: null,
+ minTime: 0,
+ highWater: null,
+ strategy: Bottleneck.prototype.strategy.LEAK,
+ penalty: null,
+ reservoir: null,
+ reservoirRefreshInterval: null,
+ reservoirRefreshAmount: null,
+ reservoirIncreaseInterval: null,
+ reservoirIncreaseAmount: null,
+ reservoirIncreaseMaximum: null
+ };
+
+ Bottleneck.prototype.localStoreDefaults = {
+ Promise: Promise,
+ timeout: null,
+ heartbeatInterval: 250
+ };
+
+ Bottleneck.prototype.redisStoreDefaults = {
+ Promise: Promise,
+ timeout: null,
+ heartbeatInterval: 5000,
+ clientTimeout: 10000,
+ Redis: null,
+ clientOptions: {},
+ clusterNodes: null,
+ clearDatastore: false,
+ connection: null
+ };
+
+ Bottleneck.prototype.instanceDefaults = {
+ datastore: "local",
+ connection: null,
+ id: "",
+ rejectOnDrop: true,
+ trackDoneStatus: false,
+ Promise: Promise
+ };
+
+ Bottleneck.prototype.stopDefaults = {
+ enqueueErrorMessage: "This limiter has been stopped and cannot accept new jobs.",
+ dropWaitingJobs: true,
+ dropErrorMessage: "This limiter has been stopped."
+ };
+
+ return Bottleneck;
+
+ }).call(commonjsGlobal$1);
+
+ var Bottleneck_1 = Bottleneck;
+
+ var lib = Bottleneck_1;
+
+ return lib;
+
+ })));
+ } (light$1));
+ return light$1.exports;
+}
+
+var lightExports = requireLight();
+var BottleneckLight = /*@__PURE__*/getDefaultExportFromCjs(lightExports);
+
+// pkg/dist-src/version.js
+var VERSION$9 = "0.0.0-development";
+
+// pkg/dist-src/error-request.js
+async function errorRequest(state, octokit, error, options) {
+ if (!error.request || !error.request.request) {
+ throw error;
+ }
+ if (error.status >= 400 && !state.doNotRetry.includes(error.status)) {
+ const retries = options.request.retries != null ? options.request.retries : state.retries;
+ const retryAfter = Math.pow((options.request.retryCount || 0) + 1, 2);
+ throw octokit.retry.retryRequest(error, retries, retryAfter);
+ }
+ throw error;
+}
+async function wrapRequest$1(state, octokit, request, options) {
+ const limiter = new BottleneckLight();
+ limiter.on("failed", function(error, info) {
+ const maxRetries = ~~error.request.request.retries;
+ const after = ~~error.request.request.retryAfter;
+ options.request.retryCount = info.retryCount + 1;
+ if (maxRetries > info.retryCount) {
+ return after * state.retryAfterBaseValue;
+ }
+ });
+ return limiter.schedule(
+ requestWithGraphqlErrorHandling.bind(null, state, octokit, request),
+ options
+ );
+}
+async function requestWithGraphqlErrorHandling(state, octokit, request, options) {
+ const response = await request(request, options);
+ if (response.data && response.data.errors && response.data.errors.length > 0 && /Something went wrong while executing your query/.test(
+ response.data.errors[0].message
+ )) {
+ const error = new RequestError(response.data.errors[0].message, 500, {
+ request: options,
+ response
+ });
+ return errorRequest(state, octokit, error, options);
+ }
+ return response;
+}
+
+// pkg/dist-src/index.js
+function retry(octokit, octokitOptions) {
+ const state = Object.assign(
+ {
+ enabled: true,
+ retryAfterBaseValue: 1e3,
+ doNotRetry: [400, 401, 403, 404, 410, 422, 451],
+ retries: 3
+ },
+ octokitOptions.retry
+ );
+ if (state.enabled) {
+ octokit.hook.error("request", errorRequest.bind(null, state, octokit));
+ octokit.hook.wrap("request", wrapRequest$1.bind(null, state, octokit));
+ }
+ return {
+ retry: {
+ retryRequest: (error, retries, retryAfter) => {
+ error.request.request = Object.assign({}, error.request.request, {
+ retries,
+ retryAfter
+ });
+ return error;
+ }
+ }
+ };
+}
+retry.VERSION = VERSION$9;
+
+// pkg/dist-src/index.js
+
+// pkg/dist-src/version.js
+var VERSION$8 = "0.0.0-development";
+
+// pkg/dist-src/wrap-request.js
+var noop$1 = () => Promise.resolve();
+function wrapRequest(state, request, options) {
+ return state.retryLimiter.schedule(doRequest, state, request, options);
+}
+async function doRequest(state, request, options) {
+ const { pathname } = new URL(options.url, "http://github.test");
+ const isAuth = isAuthRequest(options.method, pathname);
+ const isWrite = !isAuth && options.method !== "GET" && options.method !== "HEAD";
+ const isSearch = options.method === "GET" && pathname.startsWith("/search/");
+ const isGraphQL = pathname.startsWith("/graphql");
+ const retryCount = ~~request.retryCount;
+ const jobOptions = retryCount > 0 ? { priority: 0, weight: 0 } : {};
+ if (state.clustering) {
+ jobOptions.expiration = 1e3 * 60;
+ }
+ if (isWrite || isGraphQL) {
+ await state.write.key(state.id).schedule(jobOptions, noop$1);
+ }
+ if (isWrite && state.triggersNotification(pathname)) {
+ await state.notifications.key(state.id).schedule(jobOptions, noop$1);
+ }
+ if (isSearch) {
+ await state.search.key(state.id).schedule(jobOptions, noop$1);
+ }
+ const req = (isAuth ? state.auth : state.global).key(state.id).schedule(jobOptions, request, options);
+ if (isGraphQL) {
+ const res = await req;
+ if (res.data.errors != null && res.data.errors.some((error) => error.type === "RATE_LIMITED")) {
+ const error = Object.assign(new Error("GraphQL Rate Limit Exceeded"), {
+ response: res,
+ data: res.data
+ });
+ throw error;
+ }
+ }
+ return req;
+}
+function isAuthRequest(method, pathname) {
+ return method === "PATCH" && // https://docs.github.com/en/rest/apps/apps?apiVersion=2022-11-28#create-a-scoped-access-token
+ /^\/applications\/[^/]+\/token\/scoped$/.test(pathname) || method === "POST" && // https://docs.github.com/en/rest/apps/oauth-applications?apiVersion=2022-11-28#reset-a-token
+ (/^\/applications\/[^/]+\/token$/.test(pathname) || // https://docs.github.com/en/rest/apps/apps?apiVersion=2022-11-28#create-an-installation-access-token-for-an-app
+ /^\/app\/installations\/[^/]+\/access_tokens$/.test(pathname) || // https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps
+ pathname === "/login/oauth/access_token");
+}
+
+// pkg/dist-src/generated/triggers-notification-paths.js
+var triggers_notification_paths_default = [
+ "/orgs/{org}/invitations",
+ "/orgs/{org}/invitations/{invitation_id}",
+ "/orgs/{org}/teams/{team_slug}/discussions",
+ "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments",
+ "/repos/{owner}/{repo}/collaborators/{username}",
+ "/repos/{owner}/{repo}/commits/{commit_sha}/comments",
+ "/repos/{owner}/{repo}/issues",
+ "/repos/{owner}/{repo}/issues/{issue_number}/comments",
+ "/repos/{owner}/{repo}/issues/{issue_number}/sub_issue",
+ "/repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority",
+ "/repos/{owner}/{repo}/pulls",
+ "/repos/{owner}/{repo}/pulls/{pull_number}/comments",
+ "/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies",
+ "/repos/{owner}/{repo}/pulls/{pull_number}/merge",
+ "/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers",
+ "/repos/{owner}/{repo}/pulls/{pull_number}/reviews",
+ "/repos/{owner}/{repo}/releases",
+ "/teams/{team_id}/discussions",
+ "/teams/{team_id}/discussions/{discussion_number}/comments"
+];
+
+// pkg/dist-src/route-matcher.js
+function routeMatcher$1(paths) {
+ const regexes = paths.map(
+ (path) => path.split("/").map((c) => c.startsWith("{") ? "(?:.+?)" : c).join("/")
+ );
+ const regex2 = `^(?:${regexes.map((r) => `(?:${r})`).join("|")})[^/]*$`;
+ return new RegExp(regex2, "i");
+}
+
+// pkg/dist-src/index.js
+var regex = routeMatcher$1(triggers_notification_paths_default);
+var triggersNotification = regex.test.bind(regex);
+var groups = {};
+var createGroups = function(Bottleneck, common) {
+ groups.global = new Bottleneck.Group({
+ id: "octokit-global",
+ maxConcurrent: 10,
+ ...common
+ });
+ groups.auth = new Bottleneck.Group({
+ id: "octokit-auth",
+ maxConcurrent: 1,
+ ...common
+ });
+ groups.search = new Bottleneck.Group({
+ id: "octokit-search",
+ maxConcurrent: 1,
+ minTime: 2e3,
+ ...common
+ });
+ groups.write = new Bottleneck.Group({
+ id: "octokit-write",
+ maxConcurrent: 1,
+ minTime: 1e3,
+ ...common
+ });
+ groups.notifications = new Bottleneck.Group({
+ id: "octokit-notifications",
+ maxConcurrent: 1,
+ minTime: 3e3,
+ ...common
+ });
+};
+function throttling(octokit, octokitOptions) {
+ const {
+ enabled = true,
+ Bottleneck = BottleneckLight,
+ id = "no-id",
+ timeout = 1e3 * 60 * 2,
+ // Redis TTL: 2 minutes
+ connection
+ } = octokitOptions.throttle || {};
+ if (!enabled) {
+ return {};
+ }
+ const common = { timeout };
+ if (typeof connection !== "undefined") {
+ common.connection = connection;
+ }
+ if (groups.global == null) {
+ createGroups(Bottleneck, common);
+ }
+ const state = Object.assign(
+ {
+ clustering: connection != null,
+ triggersNotification,
+ fallbackSecondaryRateRetryAfter: 60,
+ retryAfterBaseValue: 1e3,
+ retryLimiter: new Bottleneck(),
+ id,
+ ...groups
+ },
+ octokitOptions.throttle
+ );
+ if (typeof state.onSecondaryRateLimit !== "function" || typeof state.onRateLimit !== "function") {
+ throw new Error(`octokit/plugin-throttling error:
+ You must pass the onSecondaryRateLimit and onRateLimit error handlers.
+ See https://octokit.github.io/rest.js/#throttling
+
+ const octokit = new Octokit({
+ throttle: {
+ onSecondaryRateLimit: (retryAfter, options) => {/* ... */},
+ onRateLimit: (retryAfter, options) => {/* ... */}
+ }
+ })
+ `);
+ }
+ const events = {};
+ const emitter = new Bottleneck.Events(events);
+ events.on("secondary-limit", state.onSecondaryRateLimit);
+ events.on("rate-limit", state.onRateLimit);
+ events.on(
+ "error",
+ (e) => octokit.log.warn("Error in throttling-plugin limit handler", e)
+ );
+ state.retryLimiter.on("failed", async function(error, info) {
+ const [state2, request, options] = info.args;
+ const { pathname } = new URL(options.url, "http://github.test");
+ const shouldRetryGraphQL = pathname.startsWith("/graphql") && error.status !== 401;
+ if (!(shouldRetryGraphQL || error.status === 403 || error.status === 429)) {
+ return;
+ }
+ const retryCount = ~~request.retryCount;
+ request.retryCount = retryCount;
+ options.request.retryCount = retryCount;
+ const { wantRetry, retryAfter = 0 } = await async function() {
+ if (/\bsecondary rate\b/i.test(error.message)) {
+ const retryAfter2 = Number(error.response.headers["retry-after"]) || state2.fallbackSecondaryRateRetryAfter;
+ const wantRetry2 = await emitter.trigger(
+ "secondary-limit",
+ retryAfter2,
+ options,
+ octokit,
+ retryCount
+ );
+ return { wantRetry: wantRetry2, retryAfter: retryAfter2 };
+ }
+ if (error.response.headers != null && error.response.headers["x-ratelimit-remaining"] === "0" || (error.response.data?.errors ?? []).some(
+ (error2) => error2.type === "RATE_LIMITED"
+ )) {
+ const rateLimitReset = new Date(
+ ~~error.response.headers["x-ratelimit-reset"] * 1e3
+ ).getTime();
+ const retryAfter2 = Math.max(
+ // Add one second so we retry _after_ the reset time
+ // https://docs.github.com/en/rest/overview/resources-in-the-rest-api?apiVersion=2022-11-28#exceeding-the-rate-limit
+ Math.ceil((rateLimitReset - Date.now()) / 1e3) + 1,
+ 0
+ );
+ const wantRetry2 = await emitter.trigger(
+ "rate-limit",
+ retryAfter2,
+ options,
+ octokit,
+ retryCount
+ );
+ return { wantRetry: wantRetry2, retryAfter: retryAfter2 };
+ }
+ return {};
+ }();
+ if (wantRetry) {
+ request.retryCount++;
+ return retryAfter * state2.retryAfterBaseValue;
+ }
+ });
+ octokit.hook.wrap("request", wrapRequest.bind(null, state));
+ return {};
+}
+throttling.VERSION = VERSION$8;
+throttling.triggersNotification = triggersNotification;
+
+function oauthAuthorizationUrl(options) {
+ const clientType = options.clientType || "oauth-app";
+ const baseUrl = options.baseUrl || "https://github.com";
+ const result = {
+ clientType,
+ allowSignup: options.allowSignup === false ? false : true,
+ clientId: options.clientId,
+ login: options.login || null,
+ redirectUrl: options.redirectUrl || null,
+ state: options.state || Math.random().toString(36).substr(2),
+ url: ""
+ };
+ if (clientType === "oauth-app") {
+ const scopes = "scopes" in options ? options.scopes : [];
+ result.scopes = typeof scopes === "string" ? scopes.split(/[,\s]+/).filter(Boolean) : scopes;
+ }
+ result.url = urlBuilderAuthorize(`${baseUrl}/login/oauth/authorize`, result);
+ return result;
+}
+function urlBuilderAuthorize(base, options) {
+ const map = {
+ allowSignup: "allow_signup",
+ clientId: "client_id",
+ login: "login",
+ redirectUrl: "redirect_uri",
+ scopes: "scope",
+ state: "state"
+ };
+ let url = base;
+ Object.keys(map).filter((k) => options[k] !== null).filter((k) => {
+ if (k !== "scopes") return true;
+ if (options.clientType === "github-app") return false;
+ return !Array.isArray(options[k]) || options[k].length > 0;
+ }).map((key) => [map[key], `${options[key]}`]).forEach(([key, value], index) => {
+ url += index === 0 ? `?` : "&";
+ url += `${key}=${encodeURIComponent(value)}`;
+ });
+ return url;
+}
+
+// pkg/dist-src/version.js
+function requestToOAuthBaseUrl(request) {
+ const endpointDefaults = request.endpoint.DEFAULTS;
+ return /^https:\/\/(api\.)?github\.com$/.test(endpointDefaults.baseUrl) ? "https://github.com" : endpointDefaults.baseUrl.replace("/api/v3", "");
+}
+async function oauthRequest(request, route, parameters) {
+ const withOAuthParameters = {
+ baseUrl: requestToOAuthBaseUrl(request),
+ headers: {
+ accept: "application/json"
+ },
+ ...parameters
+ };
+ const response = await request(route, withOAuthParameters);
+ if ("error" in response.data) {
+ const error = new RequestError(
+ `${response.data.error_description} (${response.data.error}, ${response.data.error_uri})`,
+ 400,
+ {
+ request: request.endpoint.merge(
+ route,
+ withOAuthParameters
+ )
+ }
+ );
+ error.response = response;
+ throw error;
+ }
+ return response;
+}
+
+// pkg/dist-src/get-web-flow-authorization-url.js
+function getWebFlowAuthorizationUrl({
+ request: request$1 = request,
+ ...options
+}) {
+ const baseUrl = requestToOAuthBaseUrl(request$1);
+ return oauthAuthorizationUrl({
+ ...options,
+ baseUrl
+ });
+}
+async function exchangeWebFlowCode(options) {
+ const request$1 = options.request || request;
+ const response = await oauthRequest(
+ request$1,
+ "POST /login/oauth/access_token",
+ {
+ client_id: options.clientId,
+ client_secret: options.clientSecret,
+ code: options.code,
+ redirect_uri: options.redirectUrl
+ }
+ );
+ const authentication = {
+ clientType: options.clientType,
+ clientId: options.clientId,
+ clientSecret: options.clientSecret,
+ token: response.data.access_token,
+ scopes: response.data.scope.split(/\s+/).filter(Boolean)
+ };
+ if (options.clientType === "github-app") {
+ if ("refresh_token" in response.data) {
+ const apiTimeInMs = new Date(response.headers.date).getTime();
+ authentication.refreshToken = response.data.refresh_token, authentication.expiresAt = toTimestamp(
+ apiTimeInMs,
+ response.data.expires_in
+ ), authentication.refreshTokenExpiresAt = toTimestamp(
+ apiTimeInMs,
+ response.data.refresh_token_expires_in
+ );
+ }
+ delete authentication.scopes;
+ }
+ return { ...response, authentication };
+}
+function toTimestamp(apiTimeInMs, expirationInSeconds) {
+ return new Date(apiTimeInMs + expirationInSeconds * 1e3).toISOString();
+}
+async function createDeviceCode(options) {
+ const request$1 = options.request || request;
+ const parameters = {
+ client_id: options.clientId
+ };
+ if ("scopes" in options && Array.isArray(options.scopes)) {
+ parameters.scope = options.scopes.join(" ");
+ }
+ return oauthRequest(request$1, "POST /login/device/code", parameters);
+}
+async function exchangeDeviceCode(options) {
+ const request$1 = options.request || request;
+ const response = await oauthRequest(
+ request$1,
+ "POST /login/oauth/access_token",
+ {
+ client_id: options.clientId,
+ device_code: options.code,
+ grant_type: "urn:ietf:params:oauth:grant-type:device_code"
+ }
+ );
+ const authentication = {
+ clientType: options.clientType,
+ clientId: options.clientId,
+ token: response.data.access_token,
+ scopes: response.data.scope.split(/\s+/).filter(Boolean)
+ };
+ if ("clientSecret" in options) {
+ authentication.clientSecret = options.clientSecret;
+ }
+ if (options.clientType === "github-app") {
+ if ("refresh_token" in response.data) {
+ const apiTimeInMs = new Date(response.headers.date).getTime();
+ authentication.refreshToken = response.data.refresh_token, authentication.expiresAt = toTimestamp2(
+ apiTimeInMs,
+ response.data.expires_in
+ ), authentication.refreshTokenExpiresAt = toTimestamp2(
+ apiTimeInMs,
+ response.data.refresh_token_expires_in
+ );
+ }
+ delete authentication.scopes;
+ }
+ return { ...response, authentication };
+}
+function toTimestamp2(apiTimeInMs, expirationInSeconds) {
+ return new Date(apiTimeInMs + expirationInSeconds * 1e3).toISOString();
+}
+async function checkToken(options) {
+ const request$1 = options.request || request;
+ const response = await request$1("POST /applications/{client_id}/token", {
+ headers: {
+ authorization: `basic ${btoa(
+ `${options.clientId}:${options.clientSecret}`
+ )}`
+ },
+ client_id: options.clientId,
+ access_token: options.token
+ });
+ const authentication = {
+ clientType: options.clientType,
+ clientId: options.clientId,
+ clientSecret: options.clientSecret,
+ token: options.token,
+ scopes: response.data.scopes
+ };
+ if (response.data.expires_at)
+ authentication.expiresAt = response.data.expires_at;
+ if (options.clientType === "github-app") {
+ delete authentication.scopes;
+ }
+ return { ...response, authentication };
+}
+async function refreshToken(options) {
+ const request$1 = options.request || request;
+ const response = await oauthRequest(
+ request$1,
+ "POST /login/oauth/access_token",
+ {
+ client_id: options.clientId,
+ client_secret: options.clientSecret,
+ grant_type: "refresh_token",
+ refresh_token: options.refreshToken
+ }
+ );
+ const apiTimeInMs = new Date(response.headers.date).getTime();
+ const authentication = {
+ clientType: "github-app",
+ clientId: options.clientId,
+ clientSecret: options.clientSecret,
+ token: response.data.access_token,
+ refreshToken: response.data.refresh_token,
+ expiresAt: toTimestamp3(apiTimeInMs, response.data.expires_in),
+ refreshTokenExpiresAt: toTimestamp3(
+ apiTimeInMs,
+ response.data.refresh_token_expires_in
+ )
+ };
+ return { ...response, authentication };
+}
+function toTimestamp3(apiTimeInMs, expirationInSeconds) {
+ return new Date(apiTimeInMs + expirationInSeconds * 1e3).toISOString();
+}
+async function scopeToken(options) {
+ const {
+ request: optionsRequest,
+ clientType,
+ clientId,
+ clientSecret,
+ token,
+ ...requestOptions
+ } = options;
+ const request$1 = options.request || request;
+ const response = await request$1(
+ "POST /applications/{client_id}/token/scoped",
+ {
+ headers: {
+ authorization: `basic ${btoa(`${clientId}:${clientSecret}`)}`
+ },
+ client_id: clientId,
+ access_token: token,
+ ...requestOptions
+ }
+ );
+ const authentication = Object.assign(
+ {
+ clientType,
+ clientId,
+ clientSecret,
+ token: response.data.token
+ },
+ response.data.expires_at ? { expiresAt: response.data.expires_at } : {}
+ );
+ return { ...response, authentication };
+}
+async function resetToken(options) {
+ const request$1 = options.request || request;
+ const auth = btoa(`${options.clientId}:${options.clientSecret}`);
+ const response = await request$1(
+ "PATCH /applications/{client_id}/token",
+ {
+ headers: {
+ authorization: `basic ${auth}`
+ },
+ client_id: options.clientId,
+ access_token: options.token
+ }
+ );
+ const authentication = {
+ clientType: options.clientType,
+ clientId: options.clientId,
+ clientSecret: options.clientSecret,
+ token: response.data.token,
+ scopes: response.data.scopes
+ };
+ if (response.data.expires_at)
+ authentication.expiresAt = response.data.expires_at;
+ if (options.clientType === "github-app") {
+ delete authentication.scopes;
+ }
+ return { ...response, authentication };
+}
+async function deleteToken(options) {
+ const request$1 = options.request || request;
+ const auth = btoa(`${options.clientId}:${options.clientSecret}`);
+ return request$1(
+ "DELETE /applications/{client_id}/token",
+ {
+ headers: {
+ authorization: `basic ${auth}`
+ },
+ client_id: options.clientId,
+ access_token: options.token
+ }
+ );
+}
+async function deleteAuthorization(options) {
+ const request$1 = options.request || request;
+ const auth = btoa(`${options.clientId}:${options.clientSecret}`);
+ return request$1(
+ "DELETE /applications/{client_id}/grant",
+ {
+ headers: {
+ authorization: `basic ${auth}`
+ },
+ client_id: options.clientId,
+ access_token: options.token
+ }
+ );
+}
+
+// pkg/dist-src/index.js
+async function getOAuthAccessToken(state, options) {
+ const cachedAuthentication = getCachedAuthentication(state, options.auth);
+ if (cachedAuthentication) return cachedAuthentication;
+ const { data: verification } = await createDeviceCode({
+ clientType: state.clientType,
+ clientId: state.clientId,
+ request: options.request || state.request,
+ // @ts-expect-error the extra code to make TS happy is not worth it
+ scopes: options.auth.scopes || state.scopes
+ });
+ await state.onVerification(verification);
+ const authentication = await waitForAccessToken(
+ options.request || state.request,
+ state.clientId,
+ state.clientType,
+ verification
+ );
+ state.authentication = authentication;
+ return authentication;
+}
+function getCachedAuthentication(state, auth2) {
+ if (auth2.refresh === true) return false;
+ if (!state.authentication) return false;
+ if (state.clientType === "github-app") {
+ return state.authentication;
+ }
+ const authentication = state.authentication;
+ const newScope = ("scopes" in auth2 && auth2.scopes || state.scopes).join(
+ " "
+ );
+ const currentScope = authentication.scopes.join(" ");
+ return newScope === currentScope ? authentication : false;
+}
+async function wait(seconds) {
+ await new Promise((resolve) => setTimeout(resolve, seconds * 1e3));
+}
+async function waitForAccessToken(request, clientId, clientType, verification) {
+ try {
+ const options = {
+ clientId,
+ request,
+ code: verification.device_code
+ };
+ const { authentication } = clientType === "oauth-app" ? await exchangeDeviceCode({
+ ...options,
+ clientType: "oauth-app"
+ }) : await exchangeDeviceCode({
+ ...options,
+ clientType: "github-app"
+ });
+ return {
+ type: "token",
+ tokenType: "oauth",
+ ...authentication
+ };
+ } catch (error) {
+ if (!error.response) throw error;
+ const errorType = error.response.data.error;
+ if (errorType === "authorization_pending") {
+ await wait(verification.interval);
+ return waitForAccessToken(request, clientId, clientType, verification);
+ }
+ if (errorType === "slow_down") {
+ await wait(verification.interval + 7);
+ return waitForAccessToken(request, clientId, clientType, verification);
+ }
+ throw error;
+ }
+}
+
+// pkg/dist-src/auth.js
+async function auth$4(state, authOptions) {
+ return getOAuthAccessToken(state, {
+ auth: authOptions
+ });
+}
+
+// pkg/dist-src/hook.js
+async function hook$4(state, request, route, parameters) {
+ let endpoint = request.endpoint.merge(
+ route,
+ parameters
+ );
+ if (/\/login\/(oauth\/access_token|device\/code)$/.test(endpoint.url)) {
+ return request(endpoint);
+ }
+ const { token } = await getOAuthAccessToken(state, {
+ request,
+ auth: { type: "oauth" }
+ });
+ endpoint.headers.authorization = `token ${token}`;
+ return request(endpoint);
+}
+
+// pkg/dist-src/version.js
+var VERSION$7 = "0.0.0-development";
+
+// pkg/dist-src/index.js
+function createOAuthDeviceAuth(options) {
+ const requestWithDefaults = options.request || request.defaults({
+ headers: {
+ "user-agent": `octokit-auth-oauth-device.js/${VERSION$7} ${getUserAgent()}`
+ }
+ });
+ const { request: request$1 = requestWithDefaults, ...otherOptions } = options;
+ const state = options.clientType === "github-app" ? {
+ ...otherOptions,
+ clientType: "github-app",
+ request: request$1
+ } : {
+ ...otherOptions,
+ clientType: "oauth-app",
+ request: request$1,
+ scopes: options.scopes || []
+ };
+ if (!options.clientId) {
+ throw new Error(
+ '[@octokit/auth-oauth-device] "clientId" option must be set (https://github.com/octokit/auth-oauth-device.js#usage)'
+ );
+ }
+ if (!options.onVerification) {
+ throw new Error(
+ '[@octokit/auth-oauth-device] "onVerification" option must be a function (https://github.com/octokit/auth-oauth-device.js#usage)'
+ );
+ }
+ return Object.assign(auth$4.bind(null, state), {
+ hook: hook$4.bind(null, state)
+ });
+}
+
+// pkg/dist-src/index.js
+
+// pkg/dist-src/version.js
+var VERSION$6 = "0.0.0-development";
+async function getAuthentication(state) {
+ if ("code" in state.strategyOptions) {
+ const { authentication } = await exchangeWebFlowCode({
+ clientId: state.clientId,
+ clientSecret: state.clientSecret,
+ clientType: state.clientType,
+ onTokenCreated: state.onTokenCreated,
+ ...state.strategyOptions,
+ request: state.request
+ });
+ return {
+ type: "token",
+ tokenType: "oauth",
+ ...authentication
+ };
+ }
+ if ("onVerification" in state.strategyOptions) {
+ const deviceAuth = createOAuthDeviceAuth({
+ clientType: state.clientType,
+ clientId: state.clientId,
+ onTokenCreated: state.onTokenCreated,
+ ...state.strategyOptions,
+ request: state.request
+ });
+ const authentication = await deviceAuth({
+ type: "oauth"
+ });
+ return {
+ clientSecret: state.clientSecret,
+ ...authentication
+ };
+ }
+ if ("token" in state.strategyOptions) {
+ return {
+ type: "token",
+ tokenType: "oauth",
+ clientId: state.clientId,
+ clientSecret: state.clientSecret,
+ clientType: state.clientType,
+ onTokenCreated: state.onTokenCreated,
+ ...state.strategyOptions
+ };
+ }
+ throw new Error("[@octokit/auth-oauth-user] Invalid strategy options");
+}
+async function auth$3(state, options = {}) {
+ if (!state.authentication) {
+ state.authentication = state.clientType === "oauth-app" ? await getAuthentication(state) : await getAuthentication(state);
+ }
+ if (state.authentication.invalid) {
+ throw new Error("[@octokit/auth-oauth-user] Token is invalid");
+ }
+ const currentAuthentication = state.authentication;
+ if ("expiresAt" in currentAuthentication) {
+ if (options.type === "refresh" || new Date(currentAuthentication.expiresAt) < /* @__PURE__ */ new Date()) {
+ const { authentication } = await refreshToken({
+ clientId: state.clientId,
+ clientSecret: state.clientSecret,
+ refreshToken: currentAuthentication.refreshToken,
+ request: state.request
+ });
+ state.authentication = {
+ tokenType: "oauth",
+ type: "token",
+ ...authentication
+ };
+ }
+ }
+ if (options.type === "refresh") {
+ if (state.clientType === "oauth-app") {
+ throw new Error(
+ "[@octokit/auth-oauth-user] OAuth Apps do not support expiring tokens"
+ );
+ }
+ if (!currentAuthentication.hasOwnProperty("expiresAt")) {
+ throw new Error("[@octokit/auth-oauth-user] Refresh token missing");
+ }
+ await state.onTokenCreated?.(state.authentication, {
+ type: options.type
+ });
+ }
+ if (options.type === "check" || options.type === "reset") {
+ const method = options.type === "check" ? checkToken : resetToken;
+ try {
+ const { authentication } = await method({
+ // @ts-expect-error making TS happy would require unnecessary code so no
+ clientType: state.clientType,
+ clientId: state.clientId,
+ clientSecret: state.clientSecret,
+ token: state.authentication.token,
+ request: state.request
+ });
+ state.authentication = {
+ tokenType: "oauth",
+ type: "token",
+ // @ts-expect-error TBD
+ ...authentication
+ };
+ if (options.type === "reset") {
+ await state.onTokenCreated?.(state.authentication, {
+ type: options.type
+ });
+ }
+ return state.authentication;
+ } catch (error) {
+ if (error.status === 404) {
+ error.message = "[@octokit/auth-oauth-user] Token is invalid";
+ state.authentication.invalid = true;
+ }
+ throw error;
+ }
+ }
+ if (options.type === "delete" || options.type === "deleteAuthorization") {
+ const method = options.type === "delete" ? deleteToken : deleteAuthorization;
+ try {
+ await method({
+ // @ts-expect-error making TS happy would require unnecessary code so no
+ clientType: state.clientType,
+ clientId: state.clientId,
+ clientSecret: state.clientSecret,
+ token: state.authentication.token,
+ request: state.request
+ });
+ } catch (error) {
+ if (error.status !== 404) throw error;
+ }
+ state.authentication.invalid = true;
+ return state.authentication;
+ }
+ return state.authentication;
+}
+
+// pkg/dist-src/requires-basic-auth.js
+var ROUTES_REQUIRING_BASIC_AUTH = /\/applications\/[^/]+\/(token|grant)s?/;
+function requiresBasicAuth(url) {
+ return url && ROUTES_REQUIRING_BASIC_AUTH.test(url);
+}
+
+// pkg/dist-src/hook.js
+async function hook$3(state, request, route, parameters = {}) {
+ const endpoint = request.endpoint.merge(
+ route,
+ parameters
+ );
+ if (/\/login\/(oauth\/access_token|device\/code)$/.test(endpoint.url)) {
+ return request(endpoint);
+ }
+ if (requiresBasicAuth(endpoint.url)) {
+ const credentials = btoa(`${state.clientId}:${state.clientSecret}`);
+ endpoint.headers.authorization = `basic ${credentials}`;
+ return request(endpoint);
+ }
+ const { token } = state.clientType === "oauth-app" ? await auth$3({ ...state, request }) : await auth$3({ ...state, request });
+ endpoint.headers.authorization = "token " + token;
+ return request(endpoint);
+}
+
+// pkg/dist-src/index.js
+function createOAuthUserAuth({
+ clientId,
+ clientSecret,
+ clientType = "oauth-app",
+ request: request$1 = request.defaults({
+ headers: {
+ "user-agent": `octokit-auth-oauth-app.js/${VERSION$6} ${getUserAgent()}`
+ }
+ }),
+ onTokenCreated,
+ ...strategyOptions
+}) {
+ const state = Object.assign({
+ clientType,
+ clientId,
+ clientSecret,
+ onTokenCreated,
+ strategyOptions,
+ request: request$1
+ });
+ return Object.assign(auth$3.bind(null, state), {
+ // @ts-expect-error not worth the extra code needed to appease TS
+ hook: hook$3.bind(null, state)
+ });
+}
+createOAuthUserAuth.VERSION = VERSION$6;
+
+// pkg/dist-src/index.js
+async function auth$2(state, authOptions) {
+ if (authOptions.type === "oauth-app") {
+ return {
+ type: "oauth-app",
+ clientId: state.clientId,
+ clientSecret: state.clientSecret,
+ clientType: state.clientType,
+ headers: {
+ authorization: `basic ${btoa(
+ `${state.clientId}:${state.clientSecret}`
+ )}`
+ }
+ };
+ }
+ if ("factory" in authOptions) {
+ const { type, ...options } = {
+ ...authOptions,
+ ...state
+ };
+ return authOptions.factory(options);
+ }
+ const common = {
+ clientId: state.clientId,
+ clientSecret: state.clientSecret,
+ request: state.request,
+ ...authOptions
+ };
+ const userAuth = state.clientType === "oauth-app" ? await createOAuthUserAuth({
+ ...common,
+ clientType: state.clientType
+ }) : await createOAuthUserAuth({
+ ...common,
+ clientType: state.clientType
+ });
+ return userAuth();
+}
+async function hook$2(state, request2, route, parameters) {
+ let endpoint = request2.endpoint.merge(
+ route,
+ parameters
+ );
+ if (/\/login\/(oauth\/access_token|device\/code)$/.test(endpoint.url)) {
+ return request2(endpoint);
+ }
+ if (state.clientType === "github-app" && !requiresBasicAuth(endpoint.url)) {
+ throw new Error(
+ `[@octokit/auth-oauth-app] GitHub Apps cannot use their client ID/secret for basic authentication for endpoints other than "/applications/{client_id}/**". "${endpoint.method} ${endpoint.url}" is not supported.`
+ );
+ }
+ const credentials = btoa(`${state.clientId}:${state.clientSecret}`);
+ endpoint.headers.authorization = `basic ${credentials}`;
+ try {
+ return await request2(endpoint);
+ } catch (error) {
+ if (error.status !== 401) throw error;
+ error.message = `[@octokit/auth-oauth-app] "${endpoint.method} ${endpoint.url}" does not support clientId/clientSecret basic authentication.`;
+ throw error;
+ }
+}
+
+// pkg/dist-src/version.js
+var VERSION$5 = "0.0.0-development";
+function createOAuthAppAuth(options) {
+ const state = Object.assign(
+ {
+ request: request.defaults({
+ headers: {
+ "user-agent": `octokit-auth-oauth-app.js/${VERSION$5} ${getUserAgent()}`
+ }
+ }),
+ clientType: "oauth-app"
+ },
+ options
+ );
+ return Object.assign(auth$2.bind(null, state), {
+ hook: hook$2.bind(null, state)
+ });
+}
+
+// we don't @ts-check here because it chokes on atob and btoa which are available in all modern JS runtime environments
+
+/**
+ * @param {string} privateKey
+ * @returns {boolean}
+ */
+function isPkcs1(privateKey) {
+ return privateKey.includes("-----BEGIN RSA PRIVATE KEY-----");
+}
+
+/**
+ * @param {string} privateKey
+ * @returns {boolean}
+ */
+function isOpenSsh(privateKey) {
+ return privateKey.includes("-----BEGIN OPENSSH PRIVATE KEY-----");
+}
+
+/**
+ * @param {string} str
+ * @returns {ArrayBuffer}
+ */
+function string2ArrayBuffer(str) {
+ const buf = new ArrayBuffer(str.length);
+ const bufView = new Uint8Array(buf);
+ for (let i = 0, strLen = str.length; i < strLen; i++) {
+ bufView[i] = str.charCodeAt(i);
+ }
+ return buf;
+}
+
+/**
+ * @param {string} pem
+ * @returns {ArrayBuffer}
+ */
+function getDERfromPEM(pem) {
+ const pemB64 = pem
+ .trim()
+ .split("\n")
+ .slice(1, -1) // Remove the --- BEGIN / END PRIVATE KEY ---
+ .join("");
+
+ const decoded = atob(pemB64);
+ return string2ArrayBuffer(decoded);
+}
+
+/**
+ * @param {import('../internals').Header} header
+ * @param {import('../internals').Payload} payload
+ * @returns {string}
+ */
+function getEncodedMessage(header, payload) {
+ return `${base64encodeJSON(header)}.${base64encodeJSON(payload)}`;
+}
+
+/**
+ * @param {ArrayBuffer} buffer
+ * @returns {string}
+ */
+function base64encode(buffer) {
+ var binary = "";
+ var bytes = new Uint8Array(buffer);
+ var len = bytes.byteLength;
+ for (var i = 0; i < len; i++) {
+ binary += String.fromCharCode(bytes[i]);
+ }
+
+ return fromBase64(btoa(binary));
+}
+
+/**
+ * @param {string} base64
+ * @returns {string}
+ */
+function fromBase64(base64) {
+ return base64.replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
+}
+
+/**
+ * @param {Record} obj
+ * @returns {string}
+ */
+function base64encodeJSON(obj) {
+ return fromBase64(btoa(JSON.stringify(obj)));
+}
+
+const { subtle } = globalThis.crypto;
+
+// no-op, unfortunately there is no way to transform from PKCS8 or OpenSSH to PKCS1 with WebCrypto
+function convertPrivateKey(privateKey) {
+ return privateKey;
+}
+
+// we don't @ts-check here because it chokes crypto which is a global API in modern JS runtime environments
+
+
+/**
+ * @param {import('../internals').GetTokenOptions} options
+ * @returns {Promise}
+ */
+async function getToken({ privateKey, payload }) {
+ const convertedPrivateKey = convertPrivateKey(privateKey);
+
+ // WebCrypto only supports PKCS#8, unfortunately
+ /* c8 ignore start */
+ if (isPkcs1(convertedPrivateKey)) {
+ throw new Error(
+ "[universal-github-app-jwt] Private Key is in PKCS#1 format, but only PKCS#8 is supported. See https://github.com/gr2m/universal-github-app-jwt#private-key-formats"
+ );
+ }
+ /* c8 ignore stop */
+
+ // WebCrypto does not support OpenSSH, unfortunately
+ if (isOpenSsh(convertedPrivateKey)) {
+ throw new Error(
+ "[universal-github-app-jwt] Private Key is in OpenSSH format, but only PKCS#8 is supported. See https://github.com/gr2m/universal-github-app-jwt#private-key-formats"
+ );
+ }
+
+ const algorithm = {
+ name: "RSASSA-PKCS1-v1_5",
+ hash: { name: "SHA-256" },
+ };
+
+ /** @type {import('../internals').Header} */
+ const header = { alg: "RS256", typ: "JWT" };
+
+ const privateKeyDER = getDERfromPEM(convertedPrivateKey);
+ const importedKey = await subtle.importKey(
+ "pkcs8",
+ privateKeyDER,
+ algorithm,
+ false,
+ ["sign"]
+ );
+
+ const encodedMessage = getEncodedMessage(header, payload);
+ const encodedMessageArrBuf = string2ArrayBuffer(encodedMessage);
+
+ const signatureArrBuf = await subtle.sign(
+ algorithm.name,
+ importedKey,
+ encodedMessageArrBuf
+ );
+
+ const encodedSignature = base64encode(signatureArrBuf);
+
+ return `${encodedMessage}.${encodedSignature}`;
+}
+
+// @ts-check
+
+
+/**
+ * @param {import(".").Options} options
+ * @returns {Promise}
+ */
+async function githubAppJwt({
+ id,
+ privateKey,
+ now = Math.floor(Date.now() / 1000),
+}) {
+ // Private keys are often times configured as environment variables, in which case line breaks are escaped using `\\n`.
+ // Replace these here for convenience.
+ const privateKeyWithNewlines = privateKey.replace(/\\n/g, '\n');
+
+ // When creating a JSON Web Token, it sets the "issued at time" (iat) to 30s
+ // in the past as we have seen people running situations where the GitHub API
+ // claimed the iat would be in future. It turned out the clocks on the
+ // different machine were not in sync.
+ const nowWithSafetyMargin = now - 30;
+ const expiration = nowWithSafetyMargin + 60 * 10; // JWT expiration time (10 minute maximum)
+
+ const payload = {
+ iat: nowWithSafetyMargin, // Issued at time
+ exp: expiration,
+ iss: id,
+ };
+
+ const token = await getToken({
+ privateKey: privateKeyWithNewlines,
+ payload,
+ });
+
+ return {
+ appId: id,
+ expiration,
+ token,
+ };
+}
+
+/**
+ * toad-cache
+ *
+ * @copyright 2024 Igor Savin
+ * @license MIT
+ * @version 3.7.0
+ */
+class LruObject {
+ constructor(max = 1000, ttlInMsecs = 0) {
+ if (isNaN(max) || max < 0) {
+ throw new Error('Invalid max value')
+ }
+
+ if (isNaN(ttlInMsecs) || ttlInMsecs < 0) {
+ throw new Error('Invalid ttl value')
+ }
+
+ this.first = null;
+ this.items = Object.create(null);
+ this.last = null;
+ this.size = 0;
+ this.max = max;
+ this.ttl = ttlInMsecs;
+ }
+
+ bumpLru(item) {
+ if (this.last === item) {
+ return // Item is already the last one, no need to bump
+ }
+
+ const last = this.last;
+ const next = item.next;
+ const prev = item.prev;
+
+ if (this.first === item) {
+ this.first = next;
+ }
+
+ item.next = null;
+ item.prev = last;
+ last.next = item;
+
+ if (prev !== null) {
+ prev.next = next;
+ }
+
+ if (next !== null) {
+ next.prev = prev;
+ }
+
+ this.last = item;
+ }
+
+ clear() {
+ this.items = Object.create(null);
+ this.first = null;
+ this.last = null;
+ this.size = 0;
+ }
+
+ delete(key) {
+ if (Object.prototype.hasOwnProperty.call(this.items, key)) {
+ const item = this.items[key];
+
+ delete this.items[key];
+ this.size--;
+
+ if (item.prev !== null) {
+ item.prev.next = item.next;
+ }
+
+ if (item.next !== null) {
+ item.next.prev = item.prev;
+ }
+
+ if (this.first === item) {
+ this.first = item.next;
+ }
+
+ if (this.last === item) {
+ this.last = item.prev;
+ }
+ }
+ }
+
+ deleteMany(keys) {
+ for (var i = 0; i < keys.length; i++) {
+ this.delete(keys[i]);
+ }
+ }
+
+ evict() {
+ if (this.size > 0) {
+ const item = this.first;
+
+ delete this.items[item.key];
+
+ if (--this.size === 0) {
+ this.first = null;
+ this.last = null;
+ } else {
+ this.first = item.next;
+ this.first.prev = null;
+ }
+ }
+ }
+
+ expiresAt(key) {
+ if (Object.prototype.hasOwnProperty.call(this.items, key)) {
+ return this.items[key].expiry
+ }
+ }
+
+ get(key) {
+ if (Object.prototype.hasOwnProperty.call(this.items, key)) {
+ const item = this.items[key];
+
+ // Item has already expired
+ if (this.ttl > 0 && item.expiry <= Date.now()) {
+ this.delete(key);
+ return
+ }
+
+ // Item is still fresh
+ this.bumpLru(item);
+ return item.value
+ }
+ }
+
+ getMany(keys) {
+ const result = [];
+
+ for (var i = 0; i < keys.length; i++) {
+ result.push(this.get(keys[i]));
+ }
+
+ return result
+ }
+
+ keys() {
+ return Object.keys(this.items)
+ }
+
+ set(key, value) {
+ // Replace existing item
+ if (Object.prototype.hasOwnProperty.call(this.items, key)) {
+ const item = this.items[key];
+ item.value = value;
+
+ item.expiry = this.ttl > 0 ? Date.now() + this.ttl : this.ttl;
+
+ if (this.last !== item) {
+ this.bumpLru(item);
+ }
+
+ return
+ }
+
+ // Add new item
+ if (this.max > 0 && this.size === this.max) {
+ this.evict();
+ }
+
+ const item = {
+ expiry: this.ttl > 0 ? Date.now() + this.ttl : this.ttl,
+ key: key,
+ prev: this.last,
+ next: null,
+ value,
+ };
+ this.items[key] = item;
+
+ if (++this.size === 1) {
+ this.first = item;
+ } else {
+ this.last.next = item;
+ }
+
+ this.last = item;
+ }
+}
+
+// pkg/dist-src/index.js
+async function getAppAuthentication({
+ appId,
+ privateKey,
+ timeDifference,
+ createJwt
+}) {
+ try {
+ if (createJwt) {
+ const { jwt, expiresAt } = await createJwt(appId, timeDifference);
+ return {
+ type: "app",
+ token: jwt,
+ appId,
+ expiresAt
+ };
+ }
+ const authOptions = {
+ id: appId,
+ privateKey
+ };
+ if (timeDifference) {
+ Object.assign(authOptions, {
+ now: Math.floor(Date.now() / 1e3) + timeDifference
+ });
+ }
+ const appAuthentication = await githubAppJwt(authOptions);
+ return {
+ type: "app",
+ token: appAuthentication.token,
+ appId: appAuthentication.appId,
+ expiresAt: new Date(appAuthentication.expiration * 1e3).toISOString()
+ };
+ } catch (error) {
+ if (privateKey === "-----BEGIN RSA PRIVATE KEY-----") {
+ throw new Error(
+ "The 'privateKey` option contains only the first line '-----BEGIN RSA PRIVATE KEY-----'. If you are setting it using a `.env` file, make sure it is set on a single line with newlines replaced by '\n'"
+ );
+ } else {
+ throw error;
+ }
+ }
+}
+function getCache() {
+ return new LruObject(
+ // cache max. 15000 tokens, that will use less than 10mb memory
+ 15e3,
+ // Cache for 1 minute less than GitHub expiry
+ 1e3 * 60 * 59
+ );
+}
+async function get(cache, options) {
+ const cacheKey = optionsToCacheKey(options);
+ const result = await cache.get(cacheKey);
+ if (!result) {
+ return;
+ }
+ const [
+ token,
+ createdAt,
+ expiresAt,
+ repositorySelection,
+ permissionsString,
+ singleFileName
+ ] = result.split("|");
+ const permissions = options.permissions || permissionsString.split(/,/).reduce((permissions2, string) => {
+ if (/!$/.test(string)) {
+ permissions2[string.slice(0, -1)] = "write";
+ } else {
+ permissions2[string] = "read";
+ }
+ return permissions2;
+ }, {});
+ return {
+ token,
+ createdAt,
+ expiresAt,
+ permissions,
+ repositoryIds: options.repositoryIds,
+ repositoryNames: options.repositoryNames,
+ singleFileName,
+ repositorySelection
+ };
+}
+async function set(cache, options, data) {
+ const key = optionsToCacheKey(options);
+ const permissionsString = options.permissions ? "" : Object.keys(data.permissions).map(
+ (name) => `${name}${data.permissions[name] === "write" ? "!" : ""}`
+ ).join(",");
+ const value = [
+ data.token,
+ data.createdAt,
+ data.expiresAt,
+ data.repositorySelection,
+ permissionsString,
+ data.singleFileName
+ ].join("|");
+ await cache.set(key, value);
+}
+function optionsToCacheKey({
+ installationId,
+ permissions = {},
+ repositoryIds = [],
+ repositoryNames = []
+}) {
+ const permissionsString = Object.keys(permissions).sort().map((name) => permissions[name] === "read" ? name : `${name}!`).join(",");
+ const repositoryIdsString = repositoryIds.sort().join(",");
+ const repositoryNamesString = repositoryNames.join(",");
+ return [
+ installationId,
+ repositoryIdsString,
+ repositoryNamesString,
+ permissionsString
+ ].filter(Boolean).join("|");
+}
+
+// pkg/dist-src/to-token-authentication.js
+function toTokenAuthentication({
+ installationId,
+ token,
+ createdAt,
+ expiresAt,
+ repositorySelection,
+ permissions,
+ repositoryIds,
+ repositoryNames,
+ singleFileName
+}) {
+ return Object.assign(
+ {
+ type: "token",
+ tokenType: "installation",
+ token,
+ installationId,
+ permissions,
+ createdAt,
+ expiresAt,
+ repositorySelection
+ },
+ repositoryIds ? { repositoryIds } : null,
+ repositoryNames ? { repositoryNames } : null,
+ singleFileName ? { singleFileName } : null
+ );
+}
+
+// pkg/dist-src/get-installation-authentication.js
+async function getInstallationAuthentication(state, options, customRequest) {
+ const installationId = Number(options.installationId || state.installationId);
+ if (!installationId) {
+ throw new Error(
+ "[@octokit/auth-app] installationId option is required for installation authentication."
+ );
+ }
+ if (options.factory) {
+ const { type, factory, oauthApp, ...factoryAuthOptions } = {
+ ...state,
+ ...options
+ };
+ return factory(factoryAuthOptions);
+ }
+ const request = customRequest || state.request;
+ return getInstallationAuthenticationConcurrently(
+ state,
+ { ...options, installationId },
+ request
+ );
+}
+var pendingPromises = /* @__PURE__ */ new Map();
+function getInstallationAuthenticationConcurrently(state, options, request) {
+ const cacheKey = optionsToCacheKey(options);
+ if (pendingPromises.has(cacheKey)) {
+ return pendingPromises.get(cacheKey);
+ }
+ const promise = getInstallationAuthenticationImpl(
+ state,
+ options,
+ request
+ ).finally(() => pendingPromises.delete(cacheKey));
+ pendingPromises.set(cacheKey, promise);
+ return promise;
+}
+async function getInstallationAuthenticationImpl(state, options, request) {
+ if (!options.refresh) {
+ const result = await get(state.cache, options);
+ if (result) {
+ const {
+ token: token2,
+ createdAt: createdAt2,
+ expiresAt: expiresAt2,
+ permissions: permissions2,
+ repositoryIds: repositoryIds2,
+ repositoryNames: repositoryNames2,
+ singleFileName: singleFileName2,
+ repositorySelection: repositorySelection2
+ } = result;
+ return toTokenAuthentication({
+ installationId: options.installationId,
+ token: token2,
+ createdAt: createdAt2,
+ expiresAt: expiresAt2,
+ permissions: permissions2,
+ repositorySelection: repositorySelection2,
+ repositoryIds: repositoryIds2,
+ repositoryNames: repositoryNames2,
+ singleFileName: singleFileName2
+ });
+ }
+ }
+ const appAuthentication = await getAppAuthentication(state);
+ const payload = {
+ installation_id: options.installationId,
+ mediaType: {
+ previews: ["machine-man"]
+ },
+ headers: {
+ authorization: `bearer ${appAuthentication.token}`
+ }
+ };
+ if (options.repositoryIds) {
+ Object.assign(payload, { repository_ids: options.repositoryIds });
+ }
+ if (options.repositoryNames) {
+ Object.assign(payload, {
+ repositories: options.repositoryNames
+ });
+ }
+ if (options.permissions) {
+ Object.assign(payload, { permissions: options.permissions });
+ }
+ const {
+ data: {
+ token,
+ expires_at: expiresAt,
+ repositories,
+ permissions: permissionsOptional,
+ repository_selection: repositorySelectionOptional,
+ single_file: singleFileName
+ }
+ } = await request(
+ "POST /app/installations/{installation_id}/access_tokens",
+ payload
+ );
+ const permissions = permissionsOptional || {};
+ const repositorySelection = repositorySelectionOptional || "all";
+ const repositoryIds = repositories ? repositories.map((r) => r.id) : void 0;
+ const repositoryNames = repositories ? repositories.map((repo) => repo.name) : void 0;
+ const createdAt = (/* @__PURE__ */ new Date()).toISOString();
+ const cacheOptions = {
+ token,
+ createdAt,
+ expiresAt,
+ repositorySelection,
+ permissions};
+ if (singleFileName) {
+ Object.assign(payload, { singleFileName });
+ }
+ await set(state.cache, options, cacheOptions);
+ const cacheData = {
+ installationId: options.installationId,
+ token,
+ createdAt,
+ expiresAt,
+ repositorySelection,
+ permissions,
+ repositoryIds,
+ repositoryNames
+ };
+ if (singleFileName) {
+ Object.assign(cacheData, { singleFileName });
+ }
+ return toTokenAuthentication(cacheData);
+}
+
+// pkg/dist-src/auth.js
+async function auth$1(state, authOptions) {
+ switch (authOptions.type) {
+ case "app":
+ return getAppAuthentication(state);
+ case "oauth-app":
+ return state.oauthApp({ type: "oauth-app" });
+ case "installation":
+ return getInstallationAuthentication(state, {
+ ...authOptions,
+ type: "installation"
+ });
+ case "oauth-user":
+ return state.oauthApp(authOptions);
+ default:
+ throw new Error(`Invalid auth type: ${authOptions.type}`);
+ }
+}
+
+// pkg/dist-src/requires-app-auth.js
+var PATHS = [
+ "/app",
+ "/app/hook/config",
+ "/app/hook/deliveries",
+ "/app/hook/deliveries/{delivery_id}",
+ "/app/hook/deliveries/{delivery_id}/attempts",
+ "/app/installations",
+ "/app/installations/{installation_id}",
+ "/app/installations/{installation_id}/access_tokens",
+ "/app/installations/{installation_id}/suspended",
+ "/app/installation-requests",
+ "/marketplace_listing/accounts/{account_id}",
+ "/marketplace_listing/plan",
+ "/marketplace_listing/plans",
+ "/marketplace_listing/plans/{plan_id}/accounts",
+ "/marketplace_listing/stubbed/accounts/{account_id}",
+ "/marketplace_listing/stubbed/plan",
+ "/marketplace_listing/stubbed/plans",
+ "/marketplace_listing/stubbed/plans/{plan_id}/accounts",
+ "/orgs/{org}/installation",
+ "/repos/{owner}/{repo}/installation",
+ "/users/{username}/installation"
+];
+function routeMatcher(paths) {
+ const regexes = paths.map(
+ (p) => p.split("/").map((c) => c.startsWith("{") ? "(?:.+?)" : c).join("/")
+ );
+ const regex = `^(?:${regexes.map((r) => `(?:${r})`).join("|")})$`;
+ return new RegExp(regex, "i");
+}
+var REGEX = routeMatcher(PATHS);
+function requiresAppAuth(url) {
+ return !!url && REGEX.test(url.split("?")[0]);
+}
+
+// pkg/dist-src/hook.js
+var FIVE_SECONDS_IN_MS = 5 * 1e3;
+function isNotTimeSkewError(error) {
+ return !(error.message.match(
+ /'Expiration time' claim \('exp'\) must be a numeric value representing the future time at which the assertion expires/
+ ) || error.message.match(
+ /'Issued at' claim \('iat'\) must be an Integer representing the time that the assertion was issued/
+ ));
+}
+async function hook$1(state, request, route, parameters) {
+ const endpoint = request.endpoint.merge(route, parameters);
+ const url = endpoint.url;
+ if (/\/login\/oauth\/access_token$/.test(url)) {
+ return request(endpoint);
+ }
+ if (requiresAppAuth(url.replace(request.endpoint.DEFAULTS.baseUrl, ""))) {
+ const { token: token2 } = await getAppAuthentication(state);
+ endpoint.headers.authorization = `bearer ${token2}`;
+ let response;
+ try {
+ response = await request(endpoint);
+ } catch (error) {
+ if (isNotTimeSkewError(error)) {
+ throw error;
+ }
+ if (typeof error.response.headers.date === "undefined") {
+ throw error;
+ }
+ const diff = Math.floor(
+ (Date.parse(error.response.headers.date) - Date.parse((/* @__PURE__ */ new Date()).toString())) / 1e3
+ );
+ state.log.warn(error.message);
+ state.log.warn(
+ `[@octokit/auth-app] GitHub API time and system time are different by ${diff} seconds. Retrying request with the difference accounted for.`
+ );
+ const { token: token3 } = await getAppAuthentication({
+ ...state,
+ timeDifference: diff
+ });
+ endpoint.headers.authorization = `bearer ${token3}`;
+ return request(endpoint);
+ }
+ return response;
+ }
+ if (requiresBasicAuth(url)) {
+ const authentication = await state.oauthApp({ type: "oauth-app" });
+ endpoint.headers.authorization = authentication.headers.authorization;
+ return request(endpoint);
+ }
+ const { token, createdAt } = await getInstallationAuthentication(
+ state,
+ // @ts-expect-error TBD
+ {},
+ request.defaults({ baseUrl: endpoint.baseUrl })
+ );
+ endpoint.headers.authorization = `token ${token}`;
+ return sendRequestWithRetries(
+ state,
+ request,
+ endpoint,
+ createdAt
+ );
+}
+async function sendRequestWithRetries(state, request, options, createdAt, retries = 0) {
+ const timeSinceTokenCreationInMs = +/* @__PURE__ */ new Date() - +new Date(createdAt);
+ try {
+ return await request(options);
+ } catch (error) {
+ if (error.status !== 401) {
+ throw error;
+ }
+ if (timeSinceTokenCreationInMs >= FIVE_SECONDS_IN_MS) {
+ if (retries > 0) {
+ error.message = `After ${retries} retries within ${timeSinceTokenCreationInMs / 1e3}s of creating the installation access token, the response remains 401. At this point, the cause may be an authentication problem or a system outage. Please check https://www.githubstatus.com for status information`;
+ }
+ throw error;
+ }
+ ++retries;
+ const awaitTime = retries * 1e3;
+ state.log.warn(
+ `[@octokit/auth-app] Retrying after 401 response to account for token replication delay (retry: ${retries}, wait: ${awaitTime / 1e3}s)`
+ );
+ await new Promise((resolve) => setTimeout(resolve, awaitTime));
+ return sendRequestWithRetries(state, request, options, createdAt, retries);
+ }
+}
+
+// pkg/dist-src/version.js
+var VERSION$4 = "8.1.0";
+function createAppAuth(options) {
+ if (!options.appId) {
+ throw new Error("[@octokit/auth-app] appId option is required");
+ }
+ if (!options.privateKey && !options.createJwt) {
+ throw new Error("[@octokit/auth-app] privateKey option is required");
+ } else if (options.privateKey && options.createJwt) {
+ throw new Error(
+ "[@octokit/auth-app] privateKey and createJwt options are mutually exclusive"
+ );
+ }
+ if ("installationId" in options && !options.installationId) {
+ throw new Error(
+ "[@octokit/auth-app] installationId is set to a falsy value"
+ );
+ }
+ const log = options.log || {};
+ if (typeof log.warn !== "function") {
+ log.warn = console.warn.bind(console);
+ }
+ const request$1 = options.request || request.defaults({
+ headers: {
+ "user-agent": `octokit-auth-app.js/${VERSION$4} ${getUserAgent()}`
+ }
+ });
+ const state = Object.assign(
+ {
+ request: request$1,
+ cache: getCache()
+ },
+ options,
+ options.installationId ? { installationId: Number(options.installationId) } : {},
+ {
+ log,
+ oauthApp: createOAuthAppAuth({
+ clientType: "github-app",
+ clientId: options.clientId || "",
+ clientSecret: options.clientSecret || "",
+ request: request$1
+ })
+ }
+ );
+ return Object.assign(auth$1.bind(null, state), {
+ hook: hook$1.bind(null, state)
+ });
+}
+
+// pkg/dist-src/auth.js
+async function auth(reason) {
+ return {
+ type: "unauthenticated",
+ reason
+ };
+}
+
+// pkg/dist-src/is-rate-limit-error.js
+function isRateLimitError(error) {
+ if (error.status !== 403) {
+ return false;
+ }
+ if (!error.response) {
+ return false;
+ }
+ return error.response.headers["x-ratelimit-remaining"] === "0";
+}
+
+// pkg/dist-src/is-abuse-limit-error.js
+var REGEX_ABUSE_LIMIT_MESSAGE = /\babuse\b/i;
+function isAbuseLimitError(error) {
+ if (error.status !== 403) {
+ return false;
+ }
+ return REGEX_ABUSE_LIMIT_MESSAGE.test(error.message);
+}
+
+// pkg/dist-src/hook.js
+async function hook(reason, request, route, parameters) {
+ const endpoint = request.endpoint.merge(
+ route,
+ parameters
+ );
+ return request(endpoint).catch((error) => {
+ if (error.status === 404) {
+ error.message = `Not found. May be due to lack of authentication. Reason: ${reason}`;
+ throw error;
+ }
+ if (isRateLimitError(error)) {
+ error.message = `API rate limit exceeded. This maybe caused by the lack of authentication. Reason: ${reason}`;
+ throw error;
+ }
+ if (isAbuseLimitError(error)) {
+ error.message = `You have triggered an abuse detection mechanism. This maybe caused by the lack of authentication. Reason: ${reason}`;
+ throw error;
+ }
+ if (error.status === 401) {
+ error.message = `Unauthorized. "${endpoint.method} ${endpoint.url}" failed most likely due to lack of authentication. Reason: ${reason}`;
+ throw error;
+ }
+ if (error.status >= 400 && error.status < 500) {
+ error.message = error.message.replace(
+ /\.?$/,
+ `. May be caused by lack of authentication (${reason}).`
+ );
+ }
+ throw error;
+ });
+}
+
+// pkg/dist-src/index.js
+var createUnauthenticatedAuth = function createUnauthenticatedAuth2(options) {
+ if (!options || !options.reason) {
+ throw new Error(
+ "[@octokit/auth-unauthenticated] No reason passed to createUnauthenticatedAuth"
+ );
+ }
+ return Object.assign(auth.bind(null, options.reason), {
+ hook: hook.bind(null, options.reason)
+ });
+};
+
+// pkg/dist-src/index.js
+
+// pkg/dist-src/version.js
+var VERSION$3 = "8.0.1";
+
+// pkg/dist-src/add-event-handler.js
+function addEventHandler(state, eventName, eventHandler) {
+ if (Array.isArray(eventName)) {
+ for (const singleEventName of eventName) {
+ addEventHandler(state, singleEventName, eventHandler);
+ }
+ return;
+ }
+ if (!state.eventHandlers[eventName]) {
+ state.eventHandlers[eventName] = [];
+ }
+ state.eventHandlers[eventName].push(eventHandler);
+}
+var OAuthAppOctokit = Octokit$1.defaults({
+ userAgent: `octokit-oauth-app.js/${VERSION$3} ${getUserAgent()}`
+});
+
+// pkg/dist-src/emit-event.js
+async function emitEvent(state, context) {
+ const { name, action } = context;
+ if (state.eventHandlers[`${name}.${action}`]) {
+ for (const eventHandler of state.eventHandlers[`${name}.${action}`]) {
+ await eventHandler(context);
+ }
+ }
+ if (state.eventHandlers[name]) {
+ for (const eventHandler of state.eventHandlers[name]) {
+ await eventHandler(context);
+ }
+ }
+}
+
+// pkg/dist-src/methods/get-user-octokit.js
+async function getUserOctokitWithState(state, options) {
+ return state.octokit.auth({
+ type: "oauth-user",
+ ...options,
+ async factory(options2) {
+ const octokit = new state.Octokit({
+ authStrategy: createOAuthUserAuth,
+ auth: options2
+ });
+ const authentication = await octokit.auth({
+ type: "get"
+ });
+ await emitEvent(state, {
+ name: "token",
+ action: "created",
+ token: authentication.token,
+ scopes: authentication.scopes,
+ authentication,
+ octokit
+ });
+ return octokit;
+ }
+ });
+}
+function getWebFlowAuthorizationUrlWithState(state, options) {
+ const optionsWithDefaults = {
+ clientId: state.clientId,
+ request: state.octokit.request,
+ ...options,
+ allowSignup: state.allowSignup ?? options.allowSignup,
+ redirectUrl: options.redirectUrl ?? state.redirectUrl,
+ scopes: options.scopes ?? state.defaultScopes
+ };
+ return getWebFlowAuthorizationUrl({
+ clientType: state.clientType,
+ ...optionsWithDefaults
+ });
+}
+async function createTokenWithState(state, options) {
+ const authentication = await state.octokit.auth({
+ type: "oauth-user",
+ ...options
+ });
+ await emitEvent(state, {
+ name: "token",
+ action: "created",
+ token: authentication.token,
+ scopes: authentication.scopes,
+ authentication,
+ octokit: new state.Octokit({
+ authStrategy: createOAuthUserAuth,
+ auth: {
+ clientType: state.clientType,
+ clientId: state.clientId,
+ clientSecret: state.clientSecret,
+ token: authentication.token,
+ scopes: authentication.scopes,
+ refreshToken: authentication.refreshToken,
+ expiresAt: authentication.expiresAt,
+ refreshTokenExpiresAt: authentication.refreshTokenExpiresAt
+ }
+ })
+ });
+ return { authentication };
+}
+async function checkTokenWithState(state, options) {
+ const result = await checkToken({
+ // @ts-expect-error not worth the extra code to appease TS
+ clientType: state.clientType,
+ clientId: state.clientId,
+ clientSecret: state.clientSecret,
+ request: state.octokit.request,
+ ...options
+ });
+ Object.assign(result.authentication, { type: "token", tokenType: "oauth" });
+ return result;
+}
+async function resetTokenWithState(state, options) {
+ const optionsWithDefaults = {
+ clientId: state.clientId,
+ clientSecret: state.clientSecret,
+ request: state.octokit.request,
+ ...options
+ };
+ if (state.clientType === "oauth-app") {
+ const response2 = await resetToken({
+ clientType: "oauth-app",
+ ...optionsWithDefaults
+ });
+ const authentication2 = Object.assign(response2.authentication, {
+ type: "token",
+ tokenType: "oauth"
+ });
+ await emitEvent(state, {
+ name: "token",
+ action: "reset",
+ token: response2.authentication.token,
+ scopes: response2.authentication.scopes || void 0,
+ authentication: authentication2,
+ octokit: new state.Octokit({
+ authStrategy: createOAuthUserAuth,
+ auth: {
+ clientType: state.clientType,
+ clientId: state.clientId,
+ clientSecret: state.clientSecret,
+ token: response2.authentication.token,
+ scopes: response2.authentication.scopes
+ }
+ })
+ });
+ return { ...response2, authentication: authentication2 };
+ }
+ const response = await resetToken({
+ clientType: "github-app",
+ ...optionsWithDefaults
+ });
+ const authentication = Object.assign(response.authentication, {
+ type: "token",
+ tokenType: "oauth"
+ });
+ await emitEvent(state, {
+ name: "token",
+ action: "reset",
+ token: response.authentication.token,
+ authentication,
+ octokit: new state.Octokit({
+ authStrategy: createOAuthUserAuth,
+ auth: {
+ clientType: state.clientType,
+ clientId: state.clientId,
+ clientSecret: state.clientSecret,
+ token: response.authentication.token
+ }
+ })
+ });
+ return { ...response, authentication };
+}
+async function refreshTokenWithState(state, options) {
+ if (state.clientType === "oauth-app") {
+ throw new Error(
+ "[@octokit/oauth-app] app.refreshToken() is not supported for OAuth Apps"
+ );
+ }
+ const response = await refreshToken({
+ clientId: state.clientId,
+ clientSecret: state.clientSecret,
+ request: state.octokit.request,
+ refreshToken: options.refreshToken
+ });
+ const authentication = Object.assign(response.authentication, {
+ type: "token",
+ tokenType: "oauth"
+ });
+ await emitEvent(state, {
+ name: "token",
+ action: "refreshed",
+ token: response.authentication.token,
+ authentication,
+ octokit: new state.Octokit({
+ authStrategy: createOAuthUserAuth,
+ auth: {
+ clientType: state.clientType,
+ clientId: state.clientId,
+ clientSecret: state.clientSecret,
+ token: response.authentication.token
+ }
+ })
+ });
+ return { ...response, authentication };
+}
+async function scopeTokenWithState(state, options) {
+ if (state.clientType === "oauth-app") {
+ throw new Error(
+ "[@octokit/oauth-app] app.scopeToken() is not supported for OAuth Apps"
+ );
+ }
+ const response = await scopeToken({
+ clientType: "github-app",
+ clientId: state.clientId,
+ clientSecret: state.clientSecret,
+ request: state.octokit.request,
+ ...options
+ });
+ const authentication = Object.assign(response.authentication, {
+ type: "token",
+ tokenType: "oauth"
+ });
+ await emitEvent(state, {
+ name: "token",
+ action: "scoped",
+ token: response.authentication.token,
+ authentication,
+ octokit: new state.Octokit({
+ authStrategy: createOAuthUserAuth,
+ auth: {
+ clientType: state.clientType,
+ clientId: state.clientId,
+ clientSecret: state.clientSecret,
+ token: response.authentication.token
+ }
+ })
+ });
+ return { ...response, authentication };
+}
+async function deleteTokenWithState(state, options) {
+ const optionsWithDefaults = {
+ clientId: state.clientId,
+ clientSecret: state.clientSecret,
+ request: state.octokit.request,
+ ...options
+ };
+ const response = state.clientType === "oauth-app" ? await deleteToken({
+ ...optionsWithDefaults
+ }) : (
+ /* v8 ignore next 4 */
+ await deleteToken({
+ ...optionsWithDefaults
+ })
+ );
+ await emitEvent(state, {
+ name: "token",
+ action: "deleted",
+ token: options.token,
+ octokit: new state.Octokit({
+ authStrategy: createUnauthenticatedAuth,
+ auth: {
+ reason: `Handling "token.deleted" event. The access for the token has been revoked.`
+ }
+ })
+ });
+ return response;
+}
+async function deleteAuthorizationWithState(state, options) {
+ const optionsWithDefaults = {
+ clientId: state.clientId,
+ clientSecret: state.clientSecret,
+ request: state.octokit.request,
+ ...options
+ };
+ const response = state.clientType === "oauth-app" ? await deleteAuthorization({
+ ...optionsWithDefaults
+ }) : (
+ /* v8 ignore next 4 */
+ await deleteAuthorization({
+ ...optionsWithDefaults
+ })
+ );
+ await emitEvent(state, {
+ name: "token",
+ action: "deleted",
+ token: options.token,
+ octokit: new state.Octokit({
+ authStrategy: createUnauthenticatedAuth,
+ auth: {
+ reason: `Handling "token.deleted" event. The access for the token has been revoked.`
+ }
+ })
+ });
+ await emitEvent(state, {
+ name: "authorization",
+ action: "deleted",
+ token: options.token,
+ octokit: new state.Octokit({
+ authStrategy: createUnauthenticatedAuth,
+ auth: {
+ reason: `Handling "authorization.deleted" event. The access for the app has been revoked.`
+ }
+ })
+ });
+ return response;
+}
+
+// pkg/dist-src/middleware/unknown-route-response.js
+function unknownRouteResponse(request) {
+ return {
+ status: 404,
+ headers: { "content-type": "application/json" },
+ text: JSON.stringify({
+ error: `Unknown route: ${request.method} ${request.url}`
+ })
+ };
+}
+
+// pkg/dist-src/middleware/handle-request.js
+async function handleRequest(app, { pathPrefix = "/api/github/oauth" }, request) {
+ let { pathname } = new URL(request.url, "http://localhost");
+ if (!pathname.startsWith(`${pathPrefix}/`)) {
+ return void 0;
+ }
+ if (request.method === "OPTIONS") {
+ return {
+ status: 200,
+ headers: {
+ "access-control-allow-origin": "*",
+ "access-control-allow-methods": "*",
+ "access-control-allow-headers": "Content-Type, User-Agent, Authorization"
+ }
+ };
+ }
+ pathname = pathname.slice(pathPrefix.length + 1);
+ const route = [request.method, pathname].join(" ");
+ const routes = {
+ getLogin: `GET login`,
+ getCallback: `GET callback`,
+ createToken: `POST token`,
+ getToken: `GET token`,
+ patchToken: `PATCH token`,
+ patchRefreshToken: `PATCH refresh-token`,
+ scopeToken: `POST token/scoped`,
+ deleteToken: `DELETE token`,
+ deleteGrant: `DELETE grant`
+ };
+ if (!Object.values(routes).includes(route)) {
+ return unknownRouteResponse(request);
+ }
+ let json;
+ try {
+ const text = await request.text();
+ json = text ? JSON.parse(text) : {};
+ } catch (error) {
+ return {
+ status: 400,
+ headers: {
+ "content-type": "application/json",
+ "access-control-allow-origin": "*"
+ },
+ text: JSON.stringify({
+ error: "[@octokit/oauth-app] request error"
+ })
+ };
+ }
+ const { searchParams } = new URL(request.url, "http://localhost");
+ const query = Object.fromEntries(searchParams);
+ const headers = request.headers;
+ try {
+ if (route === routes.getLogin) {
+ const authOptions = {};
+ if (query.state) {
+ Object.assign(authOptions, { state: query.state });
+ }
+ if (query.scopes) {
+ Object.assign(authOptions, { scopes: query.scopes.split(",") });
+ }
+ if (query.allowSignup) {
+ Object.assign(authOptions, {
+ allowSignup: query.allowSignup === "true"
+ });
+ }
+ if (query.redirectUrl) {
+ Object.assign(authOptions, { redirectUrl: query.redirectUrl });
+ }
+ const { url } = app.getWebFlowAuthorizationUrl(authOptions);
+ return { status: 302, headers: { location: url } };
+ }
+ if (route === routes.getCallback) {
+ if (query.error) {
+ throw new Error(
+ `[@octokit/oauth-app] ${query.error} ${query.error_description}`
+ );
+ }
+ if (!query.code) {
+ throw new Error('[@octokit/oauth-app] "code" parameter is required');
+ }
+ const {
+ authentication: { token: token2 }
+ } = await app.createToken({
+ code: query.code
+ });
+ return {
+ status: 200,
+ headers: {
+ "content-type": "text/html"
+ },
+ text: `Token created successfully
+
+Your token is: ${token2}. Copy it now as it cannot be shown again.
`
+ };
+ }
+ if (route === routes.createToken) {
+ const { code, redirectUrl } = json;
+ if (!code) {
+ throw new Error('[@octokit/oauth-app] "code" parameter is required');
+ }
+ const result = await app.createToken({
+ code,
+ redirectUrl
+ });
+ delete result.authentication.clientSecret;
+ return {
+ status: 201,
+ headers: {
+ "content-type": "application/json",
+ "access-control-allow-origin": "*"
+ },
+ text: JSON.stringify(result)
+ };
+ }
+ if (route === routes.getToken) {
+ const token2 = headers.authorization?.substr("token ".length);
+ if (!token2) {
+ throw new Error(
+ '[@octokit/oauth-app] "Authorization" header is required'
+ );
+ }
+ const result = await app.checkToken({
+ token: token2
+ });
+ delete result.authentication.clientSecret;
+ return {
+ status: 200,
+ headers: {
+ "content-type": "application/json",
+ "access-control-allow-origin": "*"
+ },
+ text: JSON.stringify(result)
+ };
+ }
+ if (route === routes.patchToken) {
+ const token2 = headers.authorization?.substr("token ".length);
+ if (!token2) {
+ throw new Error(
+ '[@octokit/oauth-app] "Authorization" header is required'
+ );
+ }
+ const result = await app.resetToken({ token: token2 });
+ delete result.authentication.clientSecret;
+ return {
+ status: 200,
+ headers: {
+ "content-type": "application/json",
+ "access-control-allow-origin": "*"
+ },
+ text: JSON.stringify(result)
+ };
+ }
+ if (route === routes.patchRefreshToken) {
+ const token2 = headers.authorization?.substr("token ".length);
+ if (!token2) {
+ throw new Error(
+ '[@octokit/oauth-app] "Authorization" header is required'
+ );
+ }
+ const { refreshToken: refreshToken2 } = json;
+ if (!refreshToken2) {
+ throw new Error(
+ "[@octokit/oauth-app] refreshToken must be sent in request body"
+ );
+ }
+ const result = await app.refreshToken({ refreshToken: refreshToken2 });
+ delete result.authentication.clientSecret;
+ return {
+ status: 200,
+ headers: {
+ "content-type": "application/json",
+ "access-control-allow-origin": "*"
+ },
+ text: JSON.stringify(result)
+ };
+ }
+ if (route === routes.scopeToken) {
+ const token2 = headers.authorization?.substr("token ".length);
+ if (!token2) {
+ throw new Error(
+ '[@octokit/oauth-app] "Authorization" header is required'
+ );
+ }
+ const result = await app.scopeToken({
+ token: token2,
+ ...json
+ });
+ delete result.authentication.clientSecret;
+ return {
+ status: 200,
+ headers: {
+ "content-type": "application/json",
+ "access-control-allow-origin": "*"
+ },
+ text: JSON.stringify(result)
+ };
+ }
+ if (route === routes.deleteToken) {
+ const token2 = headers.authorization?.substr("token ".length);
+ if (!token2) {
+ throw new Error(
+ '[@octokit/oauth-app] "Authorization" header is required'
+ );
+ }
+ await app.deleteToken({
+ token: token2
+ });
+ return {
+ status: 204,
+ headers: { "access-control-allow-origin": "*" }
+ };
+ }
+ const token = headers.authorization?.substr("token ".length);
+ if (!token) {
+ throw new Error(
+ '[@octokit/oauth-app] "Authorization" header is required'
+ );
+ }
+ await app.deleteAuthorization({
+ token
+ });
+ return {
+ status: 204,
+ headers: { "access-control-allow-origin": "*" }
+ };
+ } catch (error) {
+ return {
+ status: 400,
+ headers: {
+ "content-type": "application/json",
+ "access-control-allow-origin": "*"
+ },
+ text: JSON.stringify({ error: error.message })
+ };
+ }
+}
+
+// pkg/dist-src/middleware/node/parse-request.js
+function parseRequest(request) {
+ const { method, url, headers } = request;
+ async function text() {
+ const text2 = await new Promise((resolve, reject) => {
+ let bodyChunks = [];
+ request.on("error", reject).on("data", (chunk) => bodyChunks.push(chunk)).on("end", () => resolve(Buffer.concat(bodyChunks).toString()));
+ });
+ return text2;
+ }
+ return { method, url, headers, text };
+}
+
+// pkg/dist-src/middleware/node/send-response.js
+function sendResponse(octokitResponse, response) {
+ response.writeHead(octokitResponse.status, octokitResponse.headers);
+ response.end(octokitResponse.text);
+}
+
+// pkg/dist-src/middleware/node/index.js
+function createNodeMiddleware$2(app, options = {}) {
+ return async function(request, response, next) {
+ const octokitRequest = await parseRequest(request);
+ const octokitResponse = await handleRequest(app, options, octokitRequest);
+ if (octokitResponse) {
+ sendResponse(octokitResponse, response);
+ return true;
+ } else {
+ next?.();
+ return false;
+ }
+ };
+}
+
+// pkg/dist-src/index.js
+var OAuthApp = class {
+ static VERSION = VERSION$3;
+ static defaults(defaults) {
+ const OAuthAppWithDefaults = class extends this {
+ constructor(...args) {
+ super({
+ ...defaults,
+ ...args[0]
+ });
+ }
+ };
+ return OAuthAppWithDefaults;
+ }
+ constructor(options) {
+ const Octokit2 = options.Octokit || OAuthAppOctokit;
+ this.type = options.clientType || "oauth-app";
+ const octokit = new Octokit2({
+ authStrategy: createOAuthAppAuth,
+ auth: {
+ clientType: this.type,
+ clientId: options.clientId,
+ clientSecret: options.clientSecret
+ }
+ });
+ const state = {
+ clientType: this.type,
+ clientId: options.clientId,
+ clientSecret: options.clientSecret,
+ // @ts-expect-error defaultScopes not permitted for GitHub Apps
+ defaultScopes: options.defaultScopes || [],
+ allowSignup: options.allowSignup,
+ baseUrl: options.baseUrl,
+ redirectUrl: options.redirectUrl,
+ log: options.log,
+ Octokit: Octokit2,
+ octokit,
+ eventHandlers: {}
+ };
+ this.on = addEventHandler.bind(null, state);
+ this.octokit = octokit;
+ this.getUserOctokit = getUserOctokitWithState.bind(null, state);
+ this.getWebFlowAuthorizationUrl = getWebFlowAuthorizationUrlWithState.bind(
+ null,
+ state
+ );
+ this.createToken = createTokenWithState.bind(
+ null,
+ state
+ );
+ this.checkToken = checkTokenWithState.bind(
+ null,
+ state
+ );
+ this.resetToken = resetTokenWithState.bind(
+ null,
+ state
+ );
+ this.refreshToken = refreshTokenWithState.bind(
+ null,
+ state
+ );
+ this.scopeToken = scopeTokenWithState.bind(
+ null,
+ state
+ );
+ this.deleteToken = deleteTokenWithState.bind(null, state);
+ this.deleteAuthorization = deleteAuthorizationWithState.bind(null, state);
+ }
+ // assigned during constructor
+ type;
+ on;
+ octokit;
+ getUserOctokit;
+ getWebFlowAuthorizationUrl;
+ createToken;
+ checkToken;
+ resetToken;
+ refreshToken;
+ scopeToken;
+ deleteToken;
+ deleteAuthorization;
+};
+
+// pkg/dist-src/node/sign.js
+
+// pkg/dist-src/version.js
+var VERSION$2 = "6.0.0";
+
+// pkg/dist-src/node/sign.js
+async function sign(secret, payload) {
+ if (!secret || !payload) {
+ throw new TypeError(
+ "[@octokit/webhooks-methods] secret & payload required for sign()"
+ );
+ }
+ if (typeof payload !== "string") {
+ throw new TypeError("[@octokit/webhooks-methods] payload must be a string");
+ }
+ const algorithm = "sha256";
+ return `${algorithm}=${createHmac(algorithm, secret).update(payload).digest("hex")}`;
+}
+sign.VERSION = VERSION$2;
+async function verify(secret, eventPayload, signature) {
+ if (!secret || !eventPayload || !signature) {
+ throw new TypeError(
+ "[@octokit/webhooks-methods] secret, eventPayload & signature required"
+ );
+ }
+ if (typeof eventPayload !== "string") {
+ throw new TypeError(
+ "[@octokit/webhooks-methods] eventPayload must be a string"
+ );
+ }
+ const signatureBuffer = Buffer$1.from(signature);
+ const verificationBuffer = Buffer$1.from(await sign(secret, eventPayload));
+ if (signatureBuffer.length !== verificationBuffer.length) {
+ return false;
+ }
+ return timingSafeEqual(signatureBuffer, verificationBuffer);
+}
+verify.VERSION = VERSION$2;
+
+// pkg/dist-src/index.js
+async function verifyWithFallback(secret, payload, signature, additionalSecrets) {
+ const firstPass = await verify(secret, payload, signature);
+ if (firstPass) {
+ return true;
+ }
+ if (additionalSecrets !== void 0) {
+ for (const s of additionalSecrets) {
+ const v = await verify(s, payload, signature);
+ if (v) {
+ return v;
+ }
+ }
+ }
+ return false;
+}
+
+// pkg/dist-src/create-logger.js
+var createLogger = (logger = {}) => {
+ if (typeof logger.debug !== "function") {
+ logger.debug = () => {
+ };
+ }
+ if (typeof logger.info !== "function") {
+ logger.info = () => {
+ };
+ }
+ if (typeof logger.warn !== "function") {
+ logger.warn = console.warn.bind(console);
+ }
+ if (typeof logger.error !== "function") {
+ logger.error = console.error.bind(console);
+ }
+ return logger;
+};
+
+// pkg/dist-src/generated/webhook-names.js
+var emitterEventNames = [
+ "branch_protection_configuration",
+ "branch_protection_configuration.disabled",
+ "branch_protection_configuration.enabled",
+ "branch_protection_rule",
+ "branch_protection_rule.created",
+ "branch_protection_rule.deleted",
+ "branch_protection_rule.edited",
+ "check_run",
+ "check_run.completed",
+ "check_run.created",
+ "check_run.requested_action",
+ "check_run.rerequested",
+ "check_suite",
+ "check_suite.completed",
+ "check_suite.requested",
+ "check_suite.rerequested",
+ "code_scanning_alert",
+ "code_scanning_alert.appeared_in_branch",
+ "code_scanning_alert.closed_by_user",
+ "code_scanning_alert.created",
+ "code_scanning_alert.fixed",
+ "code_scanning_alert.reopened",
+ "code_scanning_alert.reopened_by_user",
+ "commit_comment",
+ "commit_comment.created",
+ "create",
+ "custom_property",
+ "custom_property.created",
+ "custom_property.deleted",
+ "custom_property.promote_to_enterprise",
+ "custom_property.updated",
+ "custom_property_values",
+ "custom_property_values.updated",
+ "delete",
+ "dependabot_alert",
+ "dependabot_alert.auto_dismissed",
+ "dependabot_alert.auto_reopened",
+ "dependabot_alert.created",
+ "dependabot_alert.dismissed",
+ "dependabot_alert.fixed",
+ "dependabot_alert.reintroduced",
+ "dependabot_alert.reopened",
+ "deploy_key",
+ "deploy_key.created",
+ "deploy_key.deleted",
+ "deployment",
+ "deployment.created",
+ "deployment_protection_rule",
+ "deployment_protection_rule.requested",
+ "deployment_review",
+ "deployment_review.approved",
+ "deployment_review.rejected",
+ "deployment_review.requested",
+ "deployment_status",
+ "deployment_status.created",
+ "discussion",
+ "discussion.answered",
+ "discussion.category_changed",
+ "discussion.closed",
+ "discussion.created",
+ "discussion.deleted",
+ "discussion.edited",
+ "discussion.labeled",
+ "discussion.locked",
+ "discussion.pinned",
+ "discussion.reopened",
+ "discussion.transferred",
+ "discussion.unanswered",
+ "discussion.unlabeled",
+ "discussion.unlocked",
+ "discussion.unpinned",
+ "discussion_comment",
+ "discussion_comment.created",
+ "discussion_comment.deleted",
+ "discussion_comment.edited",
+ "fork",
+ "github_app_authorization",
+ "github_app_authorization.revoked",
+ "gollum",
+ "installation",
+ "installation.created",
+ "installation.deleted",
+ "installation.new_permissions_accepted",
+ "installation.suspend",
+ "installation.unsuspend",
+ "installation_repositories",
+ "installation_repositories.added",
+ "installation_repositories.removed",
+ "installation_target",
+ "installation_target.renamed",
+ "issue_comment",
+ "issue_comment.created",
+ "issue_comment.deleted",
+ "issue_comment.edited",
+ "issues",
+ "issues.assigned",
+ "issues.closed",
+ "issues.deleted",
+ "issues.demilestoned",
+ "issues.edited",
+ "issues.labeled",
+ "issues.locked",
+ "issues.milestoned",
+ "issues.opened",
+ "issues.pinned",
+ "issues.reopened",
+ "issues.transferred",
+ "issues.typed",
+ "issues.unassigned",
+ "issues.unlabeled",
+ "issues.unlocked",
+ "issues.unpinned",
+ "issues.untyped",
+ "label",
+ "label.created",
+ "label.deleted",
+ "label.edited",
+ "marketplace_purchase",
+ "marketplace_purchase.cancelled",
+ "marketplace_purchase.changed",
+ "marketplace_purchase.pending_change",
+ "marketplace_purchase.pending_change_cancelled",
+ "marketplace_purchase.purchased",
+ "member",
+ "member.added",
+ "member.edited",
+ "member.removed",
+ "membership",
+ "membership.added",
+ "membership.removed",
+ "merge_group",
+ "merge_group.checks_requested",
+ "merge_group.destroyed",
+ "meta",
+ "meta.deleted",
+ "milestone",
+ "milestone.closed",
+ "milestone.created",
+ "milestone.deleted",
+ "milestone.edited",
+ "milestone.opened",
+ "org_block",
+ "org_block.blocked",
+ "org_block.unblocked",
+ "organization",
+ "organization.deleted",
+ "organization.member_added",
+ "organization.member_invited",
+ "organization.member_removed",
+ "organization.renamed",
+ "package",
+ "package.published",
+ "package.updated",
+ "page_build",
+ "personal_access_token_request",
+ "personal_access_token_request.approved",
+ "personal_access_token_request.cancelled",
+ "personal_access_token_request.created",
+ "personal_access_token_request.denied",
+ "ping",
+ "project",
+ "project.closed",
+ "project.created",
+ "project.deleted",
+ "project.edited",
+ "project.reopened",
+ "project_card",
+ "project_card.converted",
+ "project_card.created",
+ "project_card.deleted",
+ "project_card.edited",
+ "project_card.moved",
+ "project_column",
+ "project_column.created",
+ "project_column.deleted",
+ "project_column.edited",
+ "project_column.moved",
+ "projects_v2",
+ "projects_v2.closed",
+ "projects_v2.created",
+ "projects_v2.deleted",
+ "projects_v2.edited",
+ "projects_v2.reopened",
+ "projects_v2_item",
+ "projects_v2_item.archived",
+ "projects_v2_item.converted",
+ "projects_v2_item.created",
+ "projects_v2_item.deleted",
+ "projects_v2_item.edited",
+ "projects_v2_item.reordered",
+ "projects_v2_item.restored",
+ "projects_v2_status_update",
+ "projects_v2_status_update.created",
+ "projects_v2_status_update.deleted",
+ "projects_v2_status_update.edited",
+ "public",
+ "pull_request",
+ "pull_request.assigned",
+ "pull_request.auto_merge_disabled",
+ "pull_request.auto_merge_enabled",
+ "pull_request.closed",
+ "pull_request.converted_to_draft",
+ "pull_request.demilestoned",
+ "pull_request.dequeued",
+ "pull_request.edited",
+ "pull_request.enqueued",
+ "pull_request.labeled",
+ "pull_request.locked",
+ "pull_request.milestoned",
+ "pull_request.opened",
+ "pull_request.ready_for_review",
+ "pull_request.reopened",
+ "pull_request.review_request_removed",
+ "pull_request.review_requested",
+ "pull_request.synchronize",
+ "pull_request.unassigned",
+ "pull_request.unlabeled",
+ "pull_request.unlocked",
+ "pull_request_review",
+ "pull_request_review.dismissed",
+ "pull_request_review.edited",
+ "pull_request_review.submitted",
+ "pull_request_review_comment",
+ "pull_request_review_comment.created",
+ "pull_request_review_comment.deleted",
+ "pull_request_review_comment.edited",
+ "pull_request_review_thread",
+ "pull_request_review_thread.resolved",
+ "pull_request_review_thread.unresolved",
+ "push",
+ "registry_package",
+ "registry_package.published",
+ "registry_package.updated",
+ "release",
+ "release.created",
+ "release.deleted",
+ "release.edited",
+ "release.prereleased",
+ "release.published",
+ "release.released",
+ "release.unpublished",
+ "repository",
+ "repository.archived",
+ "repository.created",
+ "repository.deleted",
+ "repository.edited",
+ "repository.privatized",
+ "repository.publicized",
+ "repository.renamed",
+ "repository.transferred",
+ "repository.unarchived",
+ "repository_advisory",
+ "repository_advisory.published",
+ "repository_advisory.reported",
+ "repository_dispatch",
+ "repository_dispatch.sample.collected",
+ "repository_import",
+ "repository_ruleset",
+ "repository_ruleset.created",
+ "repository_ruleset.deleted",
+ "repository_ruleset.edited",
+ "repository_vulnerability_alert",
+ "repository_vulnerability_alert.create",
+ "repository_vulnerability_alert.dismiss",
+ "repository_vulnerability_alert.reopen",
+ "repository_vulnerability_alert.resolve",
+ "secret_scanning_alert",
+ "secret_scanning_alert.created",
+ "secret_scanning_alert.publicly_leaked",
+ "secret_scanning_alert.reopened",
+ "secret_scanning_alert.resolved",
+ "secret_scanning_alert.validated",
+ "secret_scanning_alert_location",
+ "secret_scanning_alert_location.created",
+ "secret_scanning_scan",
+ "secret_scanning_scan.completed",
+ "security_advisory",
+ "security_advisory.published",
+ "security_advisory.updated",
+ "security_advisory.withdrawn",
+ "security_and_analysis",
+ "sponsorship",
+ "sponsorship.cancelled",
+ "sponsorship.created",
+ "sponsorship.edited",
+ "sponsorship.pending_cancellation",
+ "sponsorship.pending_tier_change",
+ "sponsorship.tier_changed",
+ "star",
+ "star.created",
+ "star.deleted",
+ "status",
+ "sub_issues",
+ "sub_issues.parent_issue_added",
+ "sub_issues.parent_issue_removed",
+ "sub_issues.sub_issue_added",
+ "sub_issues.sub_issue_removed",
+ "team",
+ "team.added_to_repository",
+ "team.created",
+ "team.deleted",
+ "team.edited",
+ "team.removed_from_repository",
+ "team_add",
+ "watch",
+ "watch.started",
+ "workflow_dispatch",
+ "workflow_job",
+ "workflow_job.completed",
+ "workflow_job.in_progress",
+ "workflow_job.queued",
+ "workflow_job.waiting",
+ "workflow_run",
+ "workflow_run.completed",
+ "workflow_run.in_progress",
+ "workflow_run.requested"
+];
+
+// pkg/dist-src/event-handler/validate-event-name.js
+function validateEventName(eventName, options = {}) {
+ if (typeof eventName !== "string") {
+ throw new TypeError("eventName must be of type string");
+ }
+ if (eventName === "*") {
+ throw new TypeError(
+ `Using the "*" event with the regular Webhooks.on() function is not supported. Please use the Webhooks.onAny() method instead`
+ );
+ }
+ if (eventName === "error") {
+ throw new TypeError(
+ `Using the "error" event with the regular Webhooks.on() function is not supported. Please use the Webhooks.onError() method instead`
+ );
+ }
+ if (options.onUnknownEventName === "ignore") {
+ return;
+ }
+ if (!emitterEventNames.includes(eventName)) {
+ if (options.onUnknownEventName !== "warn") {
+ throw new TypeError(
+ `"${eventName}" is not a known webhook name (https://developer.github.com/v3/activity/events/types/)`
+ );
+ } else {
+ (options.log || console).warn(
+ `"${eventName}" is not a known webhook name (https://developer.github.com/v3/activity/events/types/)`
+ );
+ }
+ }
+}
+
+// pkg/dist-src/event-handler/on.js
+function handleEventHandlers(state, webhookName, handler) {
+ if (!state.hooks[webhookName]) {
+ state.hooks[webhookName] = [];
+ }
+ state.hooks[webhookName].push(handler);
+}
+function receiverOn(state, webhookNameOrNames, handler) {
+ if (Array.isArray(webhookNameOrNames)) {
+ webhookNameOrNames.forEach(
+ (webhookName) => receiverOn(state, webhookName, handler)
+ );
+ return;
+ }
+ validateEventName(webhookNameOrNames, {
+ onUnknownEventName: "warn",
+ log: state.log
+ });
+ handleEventHandlers(state, webhookNameOrNames, handler);
+}
+function receiverOnAny(state, handler) {
+ handleEventHandlers(state, "*", handler);
+}
+function receiverOnError(state, handler) {
+ handleEventHandlers(state, "error", handler);
+}
+
+// pkg/dist-src/event-handler/wrap-error-handler.js
+function wrapErrorHandler(handler, error) {
+ let returnValue;
+ try {
+ returnValue = handler(error);
+ } catch (error2) {
+ console.log('FATAL: Error occurred in "error" event handler');
+ console.log(error2);
+ }
+ if (returnValue && returnValue.catch) {
+ returnValue.catch((error2) => {
+ console.log('FATAL: Error occurred in "error" event handler');
+ console.log(error2);
+ });
+ }
+}
+
+// pkg/dist-src/event-handler/receive.js
+function getHooks(state, eventPayloadAction, eventName) {
+ const hooks = [state.hooks[eventName], state.hooks["*"]];
+ if (eventPayloadAction) {
+ hooks.unshift(state.hooks[`${eventName}.${eventPayloadAction}`]);
+ }
+ return [].concat(...hooks.filter(Boolean));
+}
+function receiverHandle(state, event) {
+ const errorHandlers = state.hooks.error || [];
+ if (event instanceof Error) {
+ const error = Object.assign(new AggregateError([event], event.message), {
+ event
+ });
+ errorHandlers.forEach((handler) => wrapErrorHandler(handler, error));
+ return Promise.reject(error);
+ }
+ if (!event || !event.name) {
+ const error = new Error("Event name not passed");
+ throw new AggregateError([error], error.message);
+ }
+ if (!event.payload) {
+ const error = new Error("Event name not passed");
+ throw new AggregateError([error], error.message);
+ }
+ const hooks = getHooks(
+ state,
+ "action" in event.payload ? event.payload.action : null,
+ event.name
+ );
+ if (hooks.length === 0) {
+ return Promise.resolve();
+ }
+ const errors = [];
+ const promises = hooks.map((handler) => {
+ let promise = Promise.resolve(event);
+ if (state.transform) {
+ promise = promise.then(state.transform);
+ }
+ return promise.then((event2) => {
+ return handler(event2);
+ }).catch((error) => errors.push(Object.assign(error, { event })));
+ });
+ return Promise.all(promises).then(() => {
+ if (errors.length === 0) {
+ return;
+ }
+ const error = new AggregateError(
+ errors,
+ errors.map((error2) => error2.message).join("\n")
+ );
+ Object.assign(error, {
+ event
+ });
+ errorHandlers.forEach((handler) => wrapErrorHandler(handler, error));
+ throw error;
+ });
+}
+
+// pkg/dist-src/event-handler/remove-listener.js
+function removeListener(state, webhookNameOrNames, handler) {
+ if (Array.isArray(webhookNameOrNames)) {
+ webhookNameOrNames.forEach(
+ (webhookName) => removeListener(state, webhookName, handler)
+ );
+ return;
+ }
+ if (!state.hooks[webhookNameOrNames]) {
+ return;
+ }
+ for (let i = state.hooks[webhookNameOrNames].length - 1; i >= 0; i--) {
+ if (state.hooks[webhookNameOrNames][i] === handler) {
+ state.hooks[webhookNameOrNames].splice(i, 1);
+ return;
+ }
+ }
+}
+
+// pkg/dist-src/event-handler/index.js
+function createEventHandler(options) {
+ const state = {
+ hooks: {},
+ log: createLogger(options && options.log)
+ };
+ if (options && options.transform) {
+ state.transform = options.transform;
+ }
+ return {
+ on: receiverOn.bind(null, state),
+ onAny: receiverOnAny.bind(null, state),
+ onError: receiverOnError.bind(null, state),
+ removeListener: removeListener.bind(null, state),
+ receive: receiverHandle.bind(null, state)
+ };
+}
+async function verifyAndReceive(state, event) {
+ const matchesSignature = await verifyWithFallback(
+ state.secret,
+ event.payload,
+ event.signature,
+ state.additionalSecrets
+ ).catch(() => false);
+ if (!matchesSignature) {
+ const error = new Error(
+ "[@octokit/webhooks] signature does not match event payload and secret"
+ );
+ error.event = event;
+ error.status = 400;
+ return state.eventHandler.receive(error);
+ }
+ let payload;
+ try {
+ payload = JSON.parse(event.payload);
+ } catch (error) {
+ error.message = "Invalid JSON";
+ error.status = 400;
+ throw new AggregateError([error], error.message);
+ }
+ return state.eventHandler.receive({
+ id: event.id,
+ name: event.name,
+ payload
+ });
+}
+
+// pkg/dist-src/normalize-trailing-slashes.js
+function normalizeTrailingSlashes(path) {
+ let i = path.length;
+ if (i === 0) {
+ return "/";
+ }
+ while (i > 0) {
+ if (path.charCodeAt(--i) !== 47) {
+ break;
+ }
+ }
+ if (i === -1) {
+ return "/";
+ }
+ return path.slice(0, i + 1);
+}
+
+// pkg/dist-src/middleware/create-middleware.js
+var isApplicationJsonRE = /^\s*(application\/json)\s*(?:;|$)/u;
+var WEBHOOK_HEADERS = [
+ "x-github-event",
+ "x-hub-signature-256",
+ "x-github-delivery"
+];
+function createMiddleware(options) {
+ const { handleResponse: handleResponse3, getRequestHeader: getRequestHeader3, getPayload: getPayload3 } = options;
+ return function middleware(webhooks, options2) {
+ const middlewarePath = normalizeTrailingSlashes(options2.path);
+ return async function octokitWebhooksMiddleware(request, response, next) {
+ let pathname;
+ try {
+ pathname = new URL(
+ normalizeTrailingSlashes(request.url),
+ "http://localhost"
+ ).pathname;
+ } catch (error) {
+ return handleResponse3(
+ JSON.stringify({
+ error: `Request URL could not be parsed: ${request.url}`
+ }),
+ 422,
+ {
+ "content-type": "application/json"
+ },
+ response
+ );
+ }
+ if (pathname !== middlewarePath) {
+ next?.();
+ return handleResponse3(null);
+ } else if (request.method !== "POST") {
+ return handleResponse3(
+ JSON.stringify({
+ error: `Unknown route: ${request.method} ${pathname}`
+ }),
+ 404,
+ {
+ "content-type": "application/json"
+ },
+ response
+ );
+ }
+ const contentType = getRequestHeader3(request, "content-type");
+ if (typeof contentType !== "string" || !isApplicationJsonRE.test(contentType)) {
+ return handleResponse3(
+ JSON.stringify({
+ error: `Unsupported "Content-Type" header value. Must be "application/json"`
+ }),
+ 415,
+ {
+ "content-type": "application/json",
+ accept: "application/json"
+ },
+ response
+ );
+ }
+ const missingHeaders = WEBHOOK_HEADERS.filter((header) => {
+ return getRequestHeader3(request, header) == void 0;
+ }).join(", ");
+ if (missingHeaders) {
+ return handleResponse3(
+ JSON.stringify({
+ error: `Required headers missing: ${missingHeaders}`
+ }),
+ 400,
+ {
+ "content-type": "application/json",
+ accept: "application/json"
+ },
+ response
+ );
+ }
+ const eventName = getRequestHeader3(
+ request,
+ "x-github-event"
+ );
+ const signature = getRequestHeader3(request, "x-hub-signature-256");
+ const id = getRequestHeader3(request, "x-github-delivery");
+ options2.log.debug(`${eventName} event received (id: ${id})`);
+ let didTimeout = false;
+ let timeout;
+ const timeoutPromise = new Promise((resolve) => {
+ timeout = setTimeout(() => {
+ didTimeout = true;
+ resolve(
+ handleResponse3(
+ "still processing\n",
+ 202,
+ {
+ "Content-Type": "text/plain",
+ accept: "application/json"
+ },
+ response
+ )
+ );
+ }, options2.timeout);
+ });
+ const processWebhook = async () => {
+ try {
+ const payload = await getPayload3(request);
+ await webhooks.verifyAndReceive({
+ id,
+ name: eventName,
+ payload,
+ signature
+ });
+ clearTimeout(timeout);
+ if (didTimeout) return handleResponse3(null);
+ return handleResponse3(
+ "ok\n",
+ 200,
+ {
+ "content-type": "text/plain",
+ accept: "application/json"
+ },
+ response
+ );
+ } catch (error) {
+ clearTimeout(timeout);
+ if (didTimeout) return handleResponse3(null);
+ const err = Array.from(error.errors)[0];
+ const errorMessage = err.message ? `${err.name}: ${err.message}` : "Error: An Unspecified error occurred";
+ const statusCode = typeof err.status !== "undefined" ? err.status : 500;
+ options2.log.error(error);
+ return handleResponse3(
+ JSON.stringify({
+ error: errorMessage
+ }),
+ statusCode,
+ {
+ "content-type": "application/json",
+ accept: "application/json"
+ },
+ response
+ );
+ }
+ };
+ return await Promise.race([timeoutPromise, processWebhook()]);
+ };
+ };
+}
+
+// pkg/dist-src/middleware/node/handle-response.js
+function handleResponse(body, status = 200, headers = {}, response) {
+ if (body === null) {
+ return false;
+ }
+ headers["content-length"] = body.length.toString();
+ response.writeHead(status, headers).end(body);
+ return true;
+}
+
+// pkg/dist-src/middleware/node/get-request-header.js
+function getRequestHeader(request, key) {
+ return request.headers[key];
+}
+
+// pkg/dist-src/concat-uint8array.js
+function concatUint8Array(data) {
+ if (data.length === 0) {
+ return new Uint8Array(0);
+ }
+ let totalLength = 0;
+ for (let i = 0; i < data.length; i++) {
+ totalLength += data[i].length;
+ }
+ if (totalLength === 0) {
+ return new Uint8Array(0);
+ }
+ const result = new Uint8Array(totalLength);
+ let offset = 0;
+ for (let i = 0; i < data.length; i++) {
+ result.set(data[i], offset);
+ offset += data[i].length;
+ }
+ return result;
+}
+
+// pkg/dist-src/middleware/node/get-payload.js
+var textDecoder = new TextDecoder("utf-8", { fatal: false });
+var decode = textDecoder.decode.bind(textDecoder);
+async function getPayload(request) {
+ if (typeof request.body === "object" && "rawBody" in request && request.rawBody instanceof Uint8Array) {
+ return decode(request.rawBody);
+ } else if (typeof request.body === "string") {
+ return request.body;
+ }
+ const payload = await getPayloadFromRequestStream(request);
+ return decode(payload);
+}
+function getPayloadFromRequestStream(request) {
+ return new Promise((resolve, reject) => {
+ let data = [];
+ request.on(
+ "error",
+ (error) => reject(new AggregateError([error], error.message))
+ );
+ request.on("data", data.push.bind(data));
+ request.on("end", () => {
+ const result = concatUint8Array(data);
+ queueMicrotask(() => resolve(result));
+ });
+ });
+}
+
+// pkg/dist-src/middleware/node/index.js
+function createNodeMiddleware$1(webhooks, {
+ path = "/api/github/webhooks",
+ log = createLogger(),
+ timeout = 9e3
+} = {}) {
+ return createMiddleware({
+ handleResponse,
+ getRequestHeader,
+ getPayload
+ })(webhooks, {
+ path,
+ log,
+ timeout
+ });
+}
+
+// pkg/dist-src/index.js
+var Webhooks = class {
+ sign;
+ verify;
+ on;
+ onAny;
+ onError;
+ removeListener;
+ receive;
+ verifyAndReceive;
+ constructor(options) {
+ if (!options || !options.secret) {
+ throw new Error("[@octokit/webhooks] options.secret required");
+ }
+ const state = {
+ eventHandler: createEventHandler(options),
+ secret: options.secret,
+ additionalSecrets: options.additionalSecrets,
+ hooks: {},
+ log: createLogger(options.log)
+ };
+ this.sign = sign.bind(null, options.secret);
+ this.verify = verify.bind(null, options.secret);
+ this.on = state.eventHandler.on;
+ this.onAny = state.eventHandler.onAny;
+ this.onError = state.eventHandler.onError;
+ this.removeListener = state.eventHandler.removeListener;
+ this.receive = state.eventHandler.receive;
+ this.verifyAndReceive = verifyAndReceive.bind(null, state);
+ }
+};
+
+// pkg/dist-src/index.js
+
+// pkg/dist-src/version.js
+var VERSION$1 = "16.1.0";
+function webhooks(appOctokit, options) {
+ return new Webhooks({
+ secret: options.secret,
+ transform: async (event) => {
+ if (!("installation" in event.payload) || typeof event.payload.installation !== "object") {
+ const octokit2 = new appOctokit.constructor({
+ authStrategy: createUnauthenticatedAuth,
+ auth: {
+ reason: `"installation" key missing in webhook event payload`
+ }
+ });
+ return {
+ ...event,
+ octokit: octokit2
+ };
+ }
+ const installationId = event.payload.installation.id;
+ const octokit = await appOctokit.auth({
+ type: "installation",
+ installationId,
+ factory(auth) {
+ return new auth.octokit.constructor({
+ ...auth.octokitOptions,
+ authStrategy: createAppAuth,
+ ...{
+ auth: {
+ ...auth,
+ installationId
+ }
+ }
+ });
+ }
+ });
+ octokit.hook.before("request", (options2) => {
+ options2.headers["x-github-delivery"] = event.id;
+ });
+ return {
+ ...event,
+ octokit
+ };
+ }
+ });
+}
+async function getInstallationOctokit(app, installationId) {
+ return app.octokit.auth({
+ type: "installation",
+ installationId,
+ factory(auth) {
+ const options = {
+ ...auth.octokitOptions,
+ authStrategy: createAppAuth,
+ ...{ auth: { ...auth, installationId } }
+ };
+ return new auth.octokit.constructor(options);
+ }
+ });
+}
+
+// pkg/dist-src/each-installation.js
+function eachInstallationFactory(app) {
+ return Object.assign(eachInstallation.bind(null, app), {
+ iterator: eachInstallationIterator.bind(null, app)
+ });
+}
+async function eachInstallation(app, callback) {
+ const i = eachInstallationIterator(app)[Symbol.asyncIterator]();
+ let result = await i.next();
+ while (!result.done) {
+ await callback(result.value);
+ result = await i.next();
+ }
+}
+function eachInstallationIterator(app) {
+ return {
+ async *[Symbol.asyncIterator]() {
+ const iterator = composePaginateRest.iterator(
+ app.octokit,
+ "GET /app/installations"
+ );
+ for await (const { data: installations } of iterator) {
+ for (const installation of installations) {
+ const installationOctokit = await getInstallationOctokit(
+ app,
+ installation.id
+ );
+ yield { octokit: installationOctokit, installation };
+ }
+ }
+ }
+ };
+}
+function eachRepositoryFactory(app) {
+ return Object.assign(eachRepository.bind(null, app), {
+ iterator: eachRepositoryIterator.bind(null, app)
+ });
+}
+async function eachRepository(app, queryOrCallback, callback) {
+ const i = eachRepositoryIterator(
+ app,
+ callback ? queryOrCallback : void 0
+ )[Symbol.asyncIterator]();
+ let result = await i.next();
+ while (!result.done) {
+ if (callback) {
+ await callback(result.value);
+ } else {
+ await queryOrCallback(result.value);
+ }
+ result = await i.next();
+ }
+}
+function singleInstallationIterator(app, installationId) {
+ return {
+ async *[Symbol.asyncIterator]() {
+ yield {
+ octokit: await app.getInstallationOctokit(installationId)
+ };
+ }
+ };
+}
+function eachRepositoryIterator(app, query) {
+ return {
+ async *[Symbol.asyncIterator]() {
+ const iterator = query ? singleInstallationIterator(app, query.installationId) : app.eachInstallation.iterator();
+ for await (const { octokit } of iterator) {
+ const repositoriesIterator = composePaginateRest.iterator(
+ octokit,
+ "GET /installation/repositories"
+ );
+ for await (const { data: repositories } of repositoriesIterator) {
+ for (const repository of repositories) {
+ yield { octokit, repository };
+ }
+ }
+ }
+ }
+ };
+}
+
+// pkg/dist-src/get-installation-url.js
+function getInstallationUrlFactory(app) {
+ let installationUrlBasePromise;
+ return async function getInstallationUrl(options = {}) {
+ if (!installationUrlBasePromise) {
+ installationUrlBasePromise = getInstallationUrlBase(app);
+ }
+ const installationUrlBase = await installationUrlBasePromise;
+ const installationUrl = new URL(installationUrlBase);
+ if (options.target_id !== void 0) {
+ installationUrl.pathname += "/permissions";
+ installationUrl.searchParams.append(
+ "target_id",
+ options.target_id.toFixed()
+ );
+ }
+ if (options.state !== void 0) {
+ installationUrl.searchParams.append("state", options.state);
+ }
+ return installationUrl.href;
+ };
+}
+async function getInstallationUrlBase(app) {
+ const { data: appInfo } = await app.octokit.request("GET /app");
+ if (!appInfo) {
+ throw new Error("[@octokit/app] unable to fetch metadata for app");
+ }
+ return `${appInfo.html_url}/installations/new`;
+}
+function noop() {
+}
+function createNodeMiddleware(app, options = {}) {
+ const log = Object.assign(
+ {
+ debug: noop,
+ info: noop,
+ warn: console.warn.bind(console),
+ error: console.error.bind(console)
+ },
+ options.log
+ );
+ const optionsWithDefaults = {
+ pathPrefix: "/api/github",
+ ...options};
+ const webhooksMiddleware = createNodeMiddleware$1(app.webhooks, {
+ path: optionsWithDefaults.pathPrefix + "/webhooks",
+ log
+ });
+ const oauthMiddleware = createNodeMiddleware$2(app.oauth, {
+ pathPrefix: optionsWithDefaults.pathPrefix + "/oauth"
+ });
+ return middleware$1.bind(
+ null,
+ optionsWithDefaults.pathPrefix,
+ webhooksMiddleware,
+ oauthMiddleware
+ );
+}
+async function middleware$1(pathPrefix, webhooksMiddleware, oauthMiddleware, request, response, next) {
+ const { pathname } = new URL(request.url, "http://localhost");
+ if (pathname.startsWith(`${pathPrefix}/`)) {
+ if (pathname === `${pathPrefix}/webhooks`) {
+ webhooksMiddleware(request, response);
+ } else if (pathname.startsWith(`${pathPrefix}/oauth/`)) {
+ oauthMiddleware(request, response);
+ } else {
+ sendResponse(unknownRouteResponse(request), response);
+ }
+ return true;
+ } else {
+ next?.();
+ return false;
+ }
+}
+
+// pkg/dist-src/index.js
+var App$1 = class App {
+ static VERSION = VERSION$1;
+ static defaults(defaults) {
+ const AppWithDefaults = class extends this {
+ constructor(...args) {
+ super({
+ ...defaults,
+ ...args[0]
+ });
+ }
+ };
+ return AppWithDefaults;
+ }
+ octokit;
+ // @ts-ignore calling app.webhooks will throw a helpful error when options.webhooks is not set
+ webhooks;
+ // @ts-ignore calling app.oauth will throw a helpful error when options.oauth is not set
+ oauth;
+ getInstallationOctokit;
+ eachInstallation;
+ eachRepository;
+ getInstallationUrl;
+ log;
+ constructor(options) {
+ const Octokit = options.Octokit || Octokit$1;
+ const authOptions = Object.assign(
+ {
+ appId: options.appId,
+ privateKey: options.privateKey
+ },
+ options.oauth ? {
+ clientId: options.oauth.clientId,
+ clientSecret: options.oauth.clientSecret
+ } : {}
+ );
+ const octokitOptions = {
+ authStrategy: createAppAuth,
+ auth: authOptions
+ };
+ if ("log" in options && typeof options.log !== "undefined") {
+ octokitOptions.log = options.log;
+ }
+ this.octokit = new Octokit(octokitOptions);
+ this.log = Object.assign(
+ {
+ debug: () => {
+ },
+ info: () => {
+ },
+ warn: console.warn.bind(console),
+ error: console.error.bind(console)
+ },
+ options.log
+ );
+ if (options.webhooks) {
+ this.webhooks = webhooks(this.octokit, options.webhooks);
+ } else {
+ Object.defineProperty(this, "webhooks", {
+ get() {
+ throw new Error("[@octokit/app] webhooks option not set");
+ }
+ });
+ }
+ if (options.oauth) {
+ this.oauth = new OAuthApp({
+ ...options.oauth,
+ clientType: "github-app",
+ Octokit
+ });
+ } else {
+ Object.defineProperty(this, "oauth", {
+ get() {
+ throw new Error(
+ "[@octokit/app] oauth.clientId / oauth.clientSecret options are not set"
+ );
+ }
+ });
+ }
+ this.getInstallationOctokit = getInstallationOctokit.bind(
+ null,
+ this
+ );
+ this.eachInstallation = eachInstallationFactory(
+ this
+ );
+ this.eachRepository = eachRepositoryFactory(
+ this
+ );
+ this.getInstallationUrl = getInstallationUrlFactory(this);
+ }
+};
+
+// pkg/dist-src/octokit.js
+
+// pkg/dist-src/version.js
+var VERSION = "0.0.0-development";
+var Octokit = Octokit$1.plugin(
+ restEndpointMethods,
+ paginateRest,
+ paginateGraphQL,
+ retry,
+ throttling
+).defaults({
+ userAgent: `octokit.js/${VERSION}`,
+ throttle: {
+ onRateLimit,
+ onSecondaryRateLimit
+ }
+});
+function onRateLimit(retryAfter, options, octokit) {
+ octokit.log.warn(
+ `Request quota exhausted for request ${options.method} ${options.url}`
+ );
+ if (options.request.retryCount === 0) {
+ octokit.log.info(`Retrying after ${retryAfter} seconds!`);
+ return true;
+ }
+}
+function onSecondaryRateLimit(retryAfter, options, octokit) {
+ octokit.log.warn(
+ `SecondaryRateLimit detected for request ${options.method} ${options.url}`
+ );
+ if (options.request.retryCount === 0) {
+ octokit.log.info(`Retrying after ${retryAfter} seconds!`);
+ return true;
+ }
+}
+var App = App$1.defaults({ Octokit });
+
+const warning_regex = /warning( .\d+)?:/;
+const error_regex = /error( .\d+)?:/;
+function find_first_issue(lines, regex, label) {
+ const index = lines.findIndex((line) => line.match(regex));
+ if (index === -1)
+ return null;
+ console.log(`${label} index: ${index}, matched line: ${lines[index]}`);
+ return { index, label };
+}
+async function collect_rows(octokit, owner, repo, run_id, config, exclude_job_id) {
+ const rows = [];
+ const { data: job_list } = await octokit.rest.actions.listJobsForWorkflowRun({
+ owner,
+ repo,
+ run_id,
+ per_page: 100,
+ });
+ for (const job of job_list.jobs) {
+ const job_id = job.id;
+ const { url: redirect_url } = await octokit.rest.actions.downloadJobLogsForWorkflowRun({
+ owner,
+ repo,
+ job_id,
+ });
+ const response = await fetch(redirect_url);
+ if (!response.ok) {
+ console.log(`failed to retrieve job log for ${job_id}`);
+ continue;
+ }
+ const job_log = await response.text();
+ const lines = job_log.split("\n");
+ console.log(`total lines: ${lines.length}`);
+ let offset = 0;
+ const offset_idx = lines.findIndex((line) => line.match("CPPWARNINGNOTIFIER_LOG_MARKER"));
+ if (offset_idx !== -1) {
+ offset = offset_idx;
+ }
+ else {
+ if (config.ignore_no_marker) {
+ continue;
+ }
+ }
+ let compile_result = "✅success";
+ let first_issue_line = 1;
+ const issue = find_first_issue(lines, warning_regex, "warning") ??
+ find_first_issue(lines, error_regex, "error");
+ if (issue) {
+ compile_result = issue.label === "warning" ? "⚠️warning" : "❌error";
+ first_issue_line = issue.index - offset + 1;
+ }
+ const steps = job.steps ?? [];
+ const step_index = steps.findIndex((step) => step.name.match(config.step_regex) &&
+ step.status === "completed" &&
+ step.conclusion === "success");
+ const step_id = (step_index === -1 ? steps.length : step_index) + 1;
+ console.log(`step_id is ${step_id}`);
+ console.log(`job name is "${job.name}"`);
+ const job_match = job.name.match(config.job_regex);
+ if (!job_match) {
+ console.log("job match fail");
+ continue;
+ }
+ rows.push({
+ url: `https://github.com/${owner}/${repo}/actions/runs/${run_id}/job/${job_id}#step:${step_id}:${first_issue_line}`,
+ status: compile_result,
+ ...job_match.groups,
+ });
+ }
+ console.log("rows", rows);
+ return rows;
+}
+class CompositeKeyMap {
+ map = new Map();
+ get(keys) {
+ return this.map.get(JSON.stringify(keys));
+ }
+ set(keys, value) {
+ this.map.set(JSON.stringify(keys), value);
+ }
+}
+function escape_html(s) {
+ return s
+ .replace(/&/g, "&")
+ .replace(//g, ">")
+ .replace(/"/g, """);
+}
+function render_rows(rows, depth, columns, cell_map, row_header_fields) {
+ if (depth === row_header_fields.length) {
+ const representative = rows[0];
+ const row_fields = row_header_fields.map((f) => representative[f]);
+ const tds = columns.map((col) => {
+ const cell = cell_map.get([...row_fields, col]);
+ if (!cell)
+ return " | ";
+ return `${escape_html(cell.status)} | `;
+ });
+ return [`${tds.join("")}`];
+ }
+ const field = row_header_fields[depth];
+ const groups = Object.entries(Object.groupBy(rows, (r) => r[field] ?? ""));
+ const result = [];
+ for (const [value, group] of groups) {
+ const child_rows = render_rows(group, depth + 1, columns, cell_map, row_header_fields);
+ const rowspan = child_rows.length;
+ const th = rowspan > 1
+ ? `${escape_html(value)} | `
+ : `${escape_html(value)} | `;
+ child_rows[0] = `${th}${child_rows[0]}`;
+ result.push(...child_rows);
+ }
+ return result;
+}
+function generate_table(entries, config) {
+ const row_header_fields = config.row_headers;
+ const column_field = config.column_header;
+ const columns = [...new Set(entries.map((e) => e[column_field] ?? ""))].sort((a, b) => Number(a) - Number(b));
+ const sorted = [...entries].sort((a, b) => {
+ for (const field of row_header_fields) {
+ const av = a[field] ?? "";
+ const bv = b[field] ?? "";
+ if (av < bv)
+ return -1;
+ if (av > bv)
+ return 1;
+ }
+ return 0;
+ });
+ const cell_map = new CompositeKeyMap();
+ for (const entry of sorted) {
+ const key = [...row_header_fields.map((f) => entry[f]), entry[column_field]];
+ cell_map.set(key, entry);
+ }
+ const thead_cols = columns.map((v) => `C++${v} | `).join("");
+ const thead = `| Environment | ${thead_cols}
`;
+ const table_rows = render_rows(sorted, 0, columns, cell_map, row_header_fields);
+ const tbody = `${table_rows.map((r) => `${r}`).join("")}
`;
+ return ``;
+}
+async function post_or_update_comment(octokit, owner, repo, pull_request_number, body, bot_login) {
+ console.log("outdates previous comments");
+ const { data: comments } = await octokit.rest.issues.listComments({
+ owner,
+ repo,
+ issue_number: pull_request_number,
+ });
+ const post_comment = async () => {
+ console.log("leaving comment");
+ await octokit.rest.issues.createComment({
+ owner,
+ repo,
+ issue_number: pull_request_number,
+ body,
+ });
+ };
+ const sorted_comments = comments
+ .filter((comment) => comment.user?.login === bot_login)
+ .toSorted((a, b) => new Date(a.created_at).getTime() - new Date(b.created_at).getTime());
+ if (sorted_comments.length > 0) {
+ const latest_comment = sorted_comments[sorted_comments.length - 1];
+ if (body.includes("warning") || latest_comment.body?.includes("warning")) {
+ await octokit.graphql(`mutation($id: ID!) {
+ minimizeComment(input: { subjectId: $id, classifier: OUTDATED }) {
+ clientMutationId
+ }
+ }`, { id: latest_comment.node_id });
+ await post_comment();
+ }
+ }
+ else {
+ await post_comment();
+ }
+}
+
+function require_env(name) {
+ const value = process.env[name];
+ if (!value)
+ throw new Error(`Missing required environment variable: ${name}`);
+ return value;
+}
+const app = new App({
+ appId: require_env("APP_ID"),
+ privateKey: require_env("APP_PRIVATE_KEY"),
+ webhooks: { secret: require_env("WEBHOOK_SECRET") },
+});
+async function read_repo_config(octokit, owner, repo) {
+ try {
+ const { data } = await octokit.rest.repos.getContent({
+ owner,
+ repo,
+ path: ".github/cpp-warning-notifier.json",
+ });
+ if (!("content" in data))
+ return null;
+ const json = JSON.parse(Buffer.from(data.content, "base64").toString());
+ return {
+ job_regex: json.job_regex,
+ step_regex: json.step_regex,
+ row_headers: json.row_headers,
+ column_header: json.column_header,
+ ignore_no_marker: json.ignore_no_marker ?? false,
+ };
+ }
+ catch {
+ return null;
+ }
+}
+app.webhooks.on("workflow_run.completed", async ({ octokit, payload }) => {
+ const { repository, workflow_run } = payload;
+ const owner = repository.owner.login;
+ const repo = repository.name;
+ const run_id = workflow_run.id;
+ const pull_requests = workflow_run.pull_requests;
+ if (pull_requests.length === 0) {
+ console.log(`run ${run_id}: no associated pull requests, skipping`);
+ return;
+ }
+ const config = await read_repo_config(octokit, owner, repo);
+ if (!config) {
+ console.log(`${owner}/${repo}: no .github/cpp-warning-notifier.json, skipping`);
+ return;
+ }
+ for (const pr of pull_requests) {
+ console.log(`processing run ${run_id} for PR #${pr.number} in ${owner}/${repo}`);
+ const rows = await collect_rows(octokit, owner, repo, run_id, config);
+ const body = generate_table(rows, config);
+ console.log("body is", body);
+ if (body) {
+ const { data: app_info } = await octokit.rest.apps.getAuthenticated();
+ const bot_login = `${app_info.slug}[bot]`;
+ await post_or_update_comment(octokit, owner, repo, pr.number, body, bot_login);
+ }
+ }
+});
+const port = parseInt(process.env.PORT ?? "3000");
+const middleware = createNodeMiddleware(app);
+createServer(middleware).listen(port, () => {
+ console.log(`webhook server listening on port ${port}`);
+});
+//# sourceMappingURL=server.js.map
diff --git a/dist/server.js.map b/dist/server.js.map
new file mode 100644
index 0000000..6679bba
--- /dev/null
+++ b/dist/server.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"server.js","sources":["../node_modules/universal-user-agent/index.js","../node_modules/before-after-hook/lib/register.js","../node_modules/before-after-hook/lib/add.js","../node_modules/before-after-hook/lib/remove.js","../node_modules/before-after-hook/index.js","../node_modules/@octokit/endpoint/dist-bundle/index.js","../node_modules/fast-content-type-parse/index.js","../node_modules/@octokit/request-error/dist-src/index.js","../node_modules/@octokit/request/dist-bundle/index.js","../node_modules/@octokit/graphql/dist-bundle/index.js","../node_modules/@octokit/auth-token/dist-bundle/index.js","../node_modules/@octokit/core/dist-src/version.js","../node_modules/@octokit/core/dist-src/index.js","../node_modules/@octokit/plugin-paginate-rest/dist-bundle/index.js","../node_modules/@octokit/plugin-paginate-graphql/dist-bundle/index.js","../node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js","../node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js","../node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js","../node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js","../node_modules/bottleneck/light.js","../node_modules/@octokit/plugin-retry/dist-bundle/index.js","../node_modules/@octokit/plugin-throttling/dist-bundle/index.js","../node_modules/@octokit/oauth-authorization-url/dist-src/index.js","../node_modules/@octokit/oauth-methods/dist-bundle/index.js","../node_modules/@octokit/auth-oauth-device/dist-bundle/index.js","../node_modules/@octokit/auth-oauth-user/dist-bundle/index.js","../node_modules/@octokit/auth-oauth-app/dist-bundle/index.js","../node_modules/universal-github-app-jwt/lib/utils.js","../node_modules/universal-github-app-jwt/lib/crypto-native.js","../node_modules/universal-github-app-jwt/lib/get-token.js","../node_modules/universal-github-app-jwt/index.js","../node_modules/toad-cache/dist/toad-cache.mjs","../node_modules/@octokit/auth-app/dist-node/index.js","../node_modules/@octokit/auth-unauthenticated/dist-node/index.js","../node_modules/@octokit/oauth-app/dist-node/index.js","../node_modules/@octokit/webhooks-methods/dist-node/index.js","../node_modules/@octokit/webhooks/dist-bundle/index.js","../node_modules/@octokit/app/dist-node/index.js","../node_modules/octokit/dist-bundle/index.js","../../src/core.ts","../../src/server.ts"],"sourcesContent":["export function getUserAgent() {\n if (typeof navigator === \"object\" && \"userAgent\" in navigator) {\n return navigator.userAgent;\n }\n\n if (typeof process === \"object\" && process.version !== undefined) {\n return `Node.js/${process.version.substr(1)} (${process.platform}; ${\n process.arch\n })`;\n }\n\n return \"\";\n}\n","// @ts-check\n\nexport function register(state, name, method, options) {\n if (typeof method !== \"function\") {\n throw new Error(\"method for before hook must be a function\");\n }\n\n if (!options) {\n options = {};\n }\n\n if (Array.isArray(name)) {\n return name.reverse().reduce((callback, name) => {\n return register.bind(null, state, name, callback, options);\n }, method)();\n }\n\n return Promise.resolve().then(() => {\n if (!state.registry[name]) {\n return method(options);\n }\n\n return state.registry[name].reduce((method, registered) => {\n return registered.hook.bind(null, method, options);\n }, method)();\n });\n}\n","// @ts-check\n\nexport function addHook(state, kind, name, hook) {\n const orig = hook;\n if (!state.registry[name]) {\n state.registry[name] = [];\n }\n\n if (kind === \"before\") {\n hook = (method, options) => {\n return Promise.resolve()\n .then(orig.bind(null, options))\n .then(method.bind(null, options));\n };\n }\n\n if (kind === \"after\") {\n hook = (method, options) => {\n let result;\n return Promise.resolve()\n .then(method.bind(null, options))\n .then((result_) => {\n result = result_;\n return orig(result, options);\n })\n .then(() => {\n return result;\n });\n };\n }\n\n if (kind === \"error\") {\n hook = (method, options) => {\n return Promise.resolve()\n .then(method.bind(null, options))\n .catch((error) => {\n return orig(error, options);\n });\n };\n }\n\n state.registry[name].push({\n hook: hook,\n orig: orig,\n });\n}\n","// @ts-check\n\nexport function removeHook(state, name, method) {\n if (!state.registry[name]) {\n return;\n }\n\n const index = state.registry[name]\n .map((registered) => {\n return registered.orig;\n })\n .indexOf(method);\n\n if (index === -1) {\n return;\n }\n\n state.registry[name].splice(index, 1);\n}\n","// @ts-check\n\nimport { register } from \"./lib/register.js\";\nimport { addHook } from \"./lib/add.js\";\nimport { removeHook } from \"./lib/remove.js\";\n\n// bind with array of arguments: https://stackoverflow.com/a/21792913\nconst bind = Function.bind;\nconst bindable = bind.bind(bind);\n\nfunction bindApi(hook, state, name) {\n const removeHookRef = bindable(removeHook, null).apply(\n null,\n name ? [state, name] : [state]\n );\n hook.api = { remove: removeHookRef };\n hook.remove = removeHookRef;\n [\"before\", \"error\", \"after\", \"wrap\"].forEach((kind) => {\n const args = name ? [state, kind, name] : [state, kind];\n hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args);\n });\n}\n\nfunction Singular() {\n const singularHookName = Symbol(\"Singular\");\n const singularHookState = {\n registry: {},\n };\n const singularHook = register.bind(null, singularHookState, singularHookName);\n bindApi(singularHook, singularHookState, singularHookName);\n return singularHook;\n}\n\nfunction Collection() {\n const state = {\n registry: {},\n };\n\n const hook = register.bind(null, state);\n bindApi(hook, state);\n\n return hook;\n}\n\nexport default { Singular, Collection };\n","// pkg/dist-src/defaults.js\nimport { getUserAgent } from \"universal-user-agent\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"0.0.0-development\";\n\n// pkg/dist-src/defaults.js\nvar userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;\nvar DEFAULTS = {\n method: \"GET\",\n baseUrl: \"https://api.github.com\",\n headers: {\n accept: \"application/vnd.github.v3+json\",\n \"user-agent\": userAgent\n },\n mediaType: {\n format: \"\"\n }\n};\n\n// pkg/dist-src/util/lowercase-keys.js\nfunction lowercaseKeys(object) {\n if (!object) {\n return {};\n }\n return Object.keys(object).reduce((newObj, key) => {\n newObj[key.toLowerCase()] = object[key];\n return newObj;\n }, {});\n}\n\n// pkg/dist-src/util/is-plain-object.js\nfunction isPlainObject(value) {\n if (typeof value !== \"object\" || value === null) return false;\n if (Object.prototype.toString.call(value) !== \"[object Object]\") return false;\n const proto = Object.getPrototypeOf(value);\n if (proto === null) return true;\n const Ctor = Object.prototype.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\n return typeof Ctor === \"function\" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value);\n}\n\n// pkg/dist-src/util/merge-deep.js\nfunction mergeDeep(defaults, options) {\n const result = Object.assign({}, defaults);\n Object.keys(options).forEach((key) => {\n if (isPlainObject(options[key])) {\n if (!(key in defaults)) Object.assign(result, { [key]: options[key] });\n else result[key] = mergeDeep(defaults[key], options[key]);\n } else {\n Object.assign(result, { [key]: options[key] });\n }\n });\n return result;\n}\n\n// pkg/dist-src/util/remove-undefined-properties.js\nfunction removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === void 0) {\n delete obj[key];\n }\n }\n return obj;\n}\n\n// pkg/dist-src/merge.js\nfunction merge(defaults, route, options) {\n if (typeof route === \"string\") {\n let [method, url] = route.split(\" \");\n options = Object.assign(url ? { method, url } : { url: method }, options);\n } else {\n options = Object.assign({}, route);\n }\n options.headers = lowercaseKeys(options.headers);\n removeUndefinedProperties(options);\n removeUndefinedProperties(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options);\n if (options.url === \"/graphql\") {\n if (defaults && defaults.mediaType.previews?.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(\n (preview) => !mergedOptions.mediaType.previews.includes(preview)\n ).concat(mergedOptions.mediaType.previews);\n }\n mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, \"\"));\n }\n return mergedOptions;\n}\n\n// pkg/dist-src/util/add-query-parameters.js\nfunction addQueryParameters(url, parameters) {\n const separator = /\\?/.test(url) ? \"&\" : \"?\";\n const names = Object.keys(parameters);\n if (names.length === 0) {\n return url;\n }\n return url + separator + names.map((name) => {\n if (name === \"q\") {\n return \"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\");\n }\n return `${name}=${encodeURIComponent(parameters[name])}`;\n }).join(\"&\");\n}\n\n// pkg/dist-src/util/extract-url-variable-names.js\nvar urlVariableRegex = /\\{[^{}}]+\\}/g;\nfunction removeNonChars(variableName) {\n return variableName.replace(/(?:^\\W+)|(?:(? a.concat(b), []);\n}\n\n// pkg/dist-src/util/omit.js\nfunction omit(object, keysToOmit) {\n const result = { __proto__: null };\n for (const key of Object.keys(object)) {\n if (keysToOmit.indexOf(key) === -1) {\n result[key] = object[key];\n }\n }\n return result;\n}\n\n// pkg/dist-src/util/url-template.js\nfunction encodeReserved(str) {\n return str.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) {\n if (!/%[0-9A-Fa-f]/.test(part)) {\n part = encodeURI(part).replace(/%5B/g, \"[\").replace(/%5D/g, \"]\");\n }\n return part;\n }).join(\"\");\n}\nfunction encodeUnreserved(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function(c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\nfunction encodeValue(operator, value, key) {\n value = operator === \"+\" || operator === \"#\" ? encodeReserved(value) : encodeUnreserved(value);\n if (key) {\n return encodeUnreserved(key) + \"=\" + value;\n } else {\n return value;\n }\n}\nfunction isDefined(value) {\n return value !== void 0 && value !== null;\n}\nfunction isKeyOperator(operator) {\n return operator === \";\" || operator === \"&\" || operator === \"?\";\n}\nfunction getValues(context, operator, key, modifier) {\n var value = context[key], result = [];\n if (isDefined(value) && value !== \"\") {\n if (typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\") {\n value = value.toString();\n if (modifier && modifier !== \"*\") {\n value = value.substring(0, parseInt(modifier, 10));\n }\n result.push(\n encodeValue(operator, value, isKeyOperator(operator) ? key : \"\")\n );\n } else {\n if (modifier === \"*\") {\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function(value2) {\n result.push(\n encodeValue(operator, value2, isKeyOperator(operator) ? key : \"\")\n );\n });\n } else {\n Object.keys(value).forEach(function(k) {\n if (isDefined(value[k])) {\n result.push(encodeValue(operator, value[k], k));\n }\n });\n }\n } else {\n const tmp = [];\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function(value2) {\n tmp.push(encodeValue(operator, value2));\n });\n } else {\n Object.keys(value).forEach(function(k) {\n if (isDefined(value[k])) {\n tmp.push(encodeUnreserved(k));\n tmp.push(encodeValue(operator, value[k].toString()));\n }\n });\n }\n if (isKeyOperator(operator)) {\n result.push(encodeUnreserved(key) + \"=\" + tmp.join(\",\"));\n } else if (tmp.length !== 0) {\n result.push(tmp.join(\",\"));\n }\n }\n }\n } else {\n if (operator === \";\") {\n if (isDefined(value)) {\n result.push(encodeUnreserved(key));\n }\n } else if (value === \"\" && (operator === \"&\" || operator === \"?\")) {\n result.push(encodeUnreserved(key) + \"=\");\n } else if (value === \"\") {\n result.push(\"\");\n }\n }\n return result;\n}\nfunction parseUrl(template) {\n return {\n expand: expand.bind(null, template)\n };\n}\nfunction expand(template, context) {\n var operators = [\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"];\n template = template.replace(\n /\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g,\n function(_, expression, literal) {\n if (expression) {\n let operator = \"\";\n const values = [];\n if (operators.indexOf(expression.charAt(0)) !== -1) {\n operator = expression.charAt(0);\n expression = expression.substr(1);\n }\n expression.split(/,/g).forEach(function(variable) {\n var tmp = /([^:\\*]*)(?::(\\d+)|(\\*))?/.exec(variable);\n values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));\n });\n if (operator && operator !== \"+\") {\n var separator = \",\";\n if (operator === \"?\") {\n separator = \"&\";\n } else if (operator !== \"#\") {\n separator = operator;\n }\n return (values.length !== 0 ? operator : \"\") + values.join(separator);\n } else {\n return values.join(\",\");\n }\n } else {\n return encodeReserved(literal);\n }\n }\n );\n if (template === \"/\") {\n return template;\n } else {\n return template.replace(/\\/$/, \"\");\n }\n}\n\n// pkg/dist-src/parse.js\nfunction parse(options) {\n let method = options.method.toUpperCase();\n let url = (options.url || \"/\").replace(/:([a-z]\\w+)/g, \"{$1}\");\n let headers = Object.assign({}, options.headers);\n let body;\n let parameters = omit(options, [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"mediaType\"\n ]);\n const urlVariableNames = extractUrlVariableNames(url);\n url = parseUrl(url).expand(parameters);\n if (!/^http/.test(url)) {\n url = options.baseUrl + url;\n }\n const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n if (!isBinaryRequest) {\n if (options.mediaType.format) {\n headers.accept = headers.accept.split(/,/).map(\n (format) => format.replace(\n /application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/,\n `application/vnd$1$2.${options.mediaType.format}`\n )\n ).join(\",\");\n }\n if (url.endsWith(\"/graphql\")) {\n if (options.mediaType.previews?.length) {\n const previewsFromAcceptHeader = headers.accept.match(/(? {\n const format = options.mediaType.format ? `.${options.mediaType.format}` : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n }).join(\",\");\n }\n }\n }\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n } else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n } else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n }\n }\n }\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n }\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n }\n return Object.assign(\n { method, url, headers },\n typeof body !== \"undefined\" ? { body } : null,\n options.request ? { request: options.request } : null\n );\n}\n\n// pkg/dist-src/endpoint-with-defaults.js\nfunction endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\n\n// pkg/dist-src/with-defaults.js\nfunction withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS2 = merge(oldDefaults, newDefaults);\n const endpoint2 = endpointWithDefaults.bind(null, DEFAULTS2);\n return Object.assign(endpoint2, {\n DEFAULTS: DEFAULTS2,\n defaults: withDefaults.bind(null, DEFAULTS2),\n merge: merge.bind(null, DEFAULTS2),\n parse\n });\n}\n\n// pkg/dist-src/index.js\nvar endpoint = withDefaults(null, DEFAULTS);\nexport {\n endpoint\n};\n","'use strict'\n\nconst NullObject = function NullObject () { }\nNullObject.prototype = Object.create(null)\n\n/**\n * RegExp to match *( \";\" parameter ) in RFC 7231 sec 3.1.1.1\n *\n * parameter = token \"=\" ( token / quoted-string )\n * token = 1*tchar\n * tchar = \"!\" / \"#\" / \"$\" / \"%\" / \"&\" / \"'\" / \"*\"\n * / \"+\" / \"-\" / \".\" / \"^\" / \"_\" / \"`\" / \"|\" / \"~\"\n * / DIGIT / ALPHA\n * ; any VCHAR, except delimiters\n * quoted-string = DQUOTE *( qdtext / quoted-pair ) DQUOTE\n * qdtext = HTAB / SP / %x21 / %x23-5B / %x5D-7E / obs-text\n * obs-text = %x80-FF\n * quoted-pair = \"\\\" ( HTAB / SP / VCHAR / obs-text )\n */\nconst paramRE = /; *([!#$%&'*+.^\\w`|~-]+)=(\"(?:[\\v\\u0020\\u0021\\u0023-\\u005b\\u005d-\\u007e\\u0080-\\u00ff]|\\\\[\\v\\u0020-\\u00ff])*\"|[!#$%&'*+.^\\w`|~-]+) */gu\n\n/**\n * RegExp to match quoted-pair in RFC 7230 sec 3.2.6\n *\n * quoted-pair = \"\\\" ( HTAB / SP / VCHAR / obs-text )\n * obs-text = %x80-FF\n */\nconst quotedPairRE = /\\\\([\\v\\u0020-\\u00ff])/gu\n\n/**\n * RegExp to match type in RFC 7231 sec 3.1.1.1\n *\n * media-type = type \"/\" subtype\n * type = token\n * subtype = token\n */\nconst mediaTypeRE = /^[!#$%&'*+.^\\w|~-]+\\/[!#$%&'*+.^\\w|~-]+$/u\n\n// default ContentType to prevent repeated object creation\nconst defaultContentType = { type: '', parameters: new NullObject() }\nObject.freeze(defaultContentType.parameters)\nObject.freeze(defaultContentType)\n\n/**\n * Parse media type to object.\n *\n * @param {string|object} header\n * @return {Object}\n * @public\n */\n\nfunction parse (header) {\n if (typeof header !== 'string') {\n throw new TypeError('argument header is required and must be a string')\n }\n\n let index = header.indexOf(';')\n const type = index !== -1\n ? header.slice(0, index).trim()\n : header.trim()\n\n if (mediaTypeRE.test(type) === false) {\n throw new TypeError('invalid media type')\n }\n\n const result = {\n type: type.toLowerCase(),\n parameters: new NullObject()\n }\n\n // parse parameters\n if (index === -1) {\n return result\n }\n\n let key\n let match\n let value\n\n paramRE.lastIndex = index\n\n while ((match = paramRE.exec(header))) {\n if (match.index !== index) {\n throw new TypeError('invalid parameter format')\n }\n\n index += match[0].length\n key = match[1].toLowerCase()\n value = match[2]\n\n if (value[0] === '\"') {\n // remove quotes and escapes\n value = value\n .slice(1, value.length - 1)\n\n quotedPairRE.test(value) && (value = value.replace(quotedPairRE, '$1'))\n }\n\n result.parameters[key] = value\n }\n\n if (index !== header.length) {\n throw new TypeError('invalid parameter format')\n }\n\n return result\n}\n\nfunction safeParse (header) {\n if (typeof header !== 'string') {\n return defaultContentType\n }\n\n let index = header.indexOf(';')\n const type = index !== -1\n ? header.slice(0, index).trim()\n : header.trim()\n\n if (mediaTypeRE.test(type) === false) {\n return defaultContentType\n }\n\n const result = {\n type: type.toLowerCase(),\n parameters: new NullObject()\n }\n\n // parse parameters\n if (index === -1) {\n return result\n }\n\n let key\n let match\n let value\n\n paramRE.lastIndex = index\n\n while ((match = paramRE.exec(header))) {\n if (match.index !== index) {\n return defaultContentType\n }\n\n index += match[0].length\n key = match[1].toLowerCase()\n value = match[2]\n\n if (value[0] === '\"') {\n // remove quotes and escapes\n value = value\n .slice(1, value.length - 1)\n\n quotedPairRE.test(value) && (value = value.replace(quotedPairRE, '$1'))\n }\n\n result.parameters[key] = value\n }\n\n if (index !== header.length) {\n return defaultContentType\n }\n\n return result\n}\n\nmodule.exports.default = { parse, safeParse }\nmodule.exports.parse = parse\nmodule.exports.safeParse = safeParse\nmodule.exports.defaultContentType = defaultContentType\n","class RequestError extends Error {\n name;\n /**\n * http status code\n */\n status;\n /**\n * Request options that lead to the error.\n */\n request;\n /**\n * Response object if a response was received\n */\n response;\n constructor(message, statusCode, options) {\n super(message);\n this.name = \"HttpError\";\n this.status = Number.parseInt(statusCode);\n if (Number.isNaN(this.status)) {\n this.status = 0;\n }\n if (\"response\" in options) {\n this.response = options.response;\n }\n const requestCopy = Object.assign({}, options.request);\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(\n /(? [\n name,\n String(value)\n ])\n );\n let fetchResponse;\n try {\n fetchResponse = await fetch(requestOptions.url, {\n method: requestOptions.method,\n body,\n redirect: requestOptions.request?.redirect,\n headers: requestHeaders,\n signal: requestOptions.request?.signal,\n // duplex must be set if request.body is ReadableStream or Async Iterables.\n // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex.\n ...requestOptions.body && { duplex: \"half\" }\n });\n } catch (error) {\n let message = \"Unknown Error\";\n if (error instanceof Error) {\n if (error.name === \"AbortError\") {\n error.status = 500;\n throw error;\n }\n message = error.message;\n if (error.name === \"TypeError\" && \"cause\" in error) {\n if (error.cause instanceof Error) {\n message = error.cause.message;\n } else if (typeof error.cause === \"string\") {\n message = error.cause;\n }\n }\n }\n const requestError = new RequestError(message, 500, {\n request: requestOptions\n });\n requestError.cause = error;\n throw requestError;\n }\n const status = fetchResponse.status;\n const url = fetchResponse.url;\n const responseHeaders = {};\n for (const [key, value] of fetchResponse.headers) {\n responseHeaders[key] = value;\n }\n const octokitResponse = {\n url,\n status,\n headers: responseHeaders,\n data: \"\"\n };\n if (\"deprecation\" in responseHeaders) {\n const matches = responseHeaders.link && responseHeaders.link.match(/<([^<>]+)>; rel=\"deprecation\"/);\n const deprecationLink = matches && matches.pop();\n log.warn(\n `[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${responseHeaders.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`\n );\n }\n if (status === 204 || status === 205) {\n return octokitResponse;\n }\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return octokitResponse;\n }\n throw new RequestError(fetchResponse.statusText, status, {\n response: octokitResponse,\n request: requestOptions\n });\n }\n if (status === 304) {\n octokitResponse.data = await getResponseData(fetchResponse);\n throw new RequestError(\"Not modified\", status, {\n response: octokitResponse,\n request: requestOptions\n });\n }\n if (status >= 400) {\n octokitResponse.data = await getResponseData(fetchResponse);\n throw new RequestError(toErrorMessage(octokitResponse.data), status, {\n response: octokitResponse,\n request: requestOptions\n });\n }\n octokitResponse.data = parseSuccessResponseBody ? await getResponseData(fetchResponse) : fetchResponse.body;\n return octokitResponse;\n}\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n if (!contentType) {\n return response.text().catch(() => \"\");\n }\n const mimetype = safeParse(contentType);\n if (isJSONResponse(mimetype)) {\n let text = \"\";\n try {\n text = await response.text();\n return JSON.parse(text);\n } catch (err) {\n return text;\n }\n } else if (mimetype.type.startsWith(\"text/\") || mimetype.parameters.charset?.toLowerCase() === \"utf-8\") {\n return response.text().catch(() => \"\");\n } else {\n return response.arrayBuffer().catch(() => new ArrayBuffer(0));\n }\n}\nfunction isJSONResponse(mimetype) {\n return mimetype.type === \"application/json\" || mimetype.type === \"application/scim+json\";\n}\nfunction toErrorMessage(data) {\n if (typeof data === \"string\") {\n return data;\n }\n if (data instanceof ArrayBuffer) {\n return \"Unknown error\";\n }\n if (\"message\" in data) {\n const suffix = \"documentation_url\" in data ? ` - ${data.documentation_url}` : \"\";\n return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(\", \")}${suffix}` : `${data.message}${suffix}`;\n }\n return `Unknown error: ${JSON.stringify(data)}`;\n}\n\n// pkg/dist-src/with-defaults.js\nfunction withDefaults(oldEndpoint, newDefaults) {\n const endpoint2 = oldEndpoint.defaults(newDefaults);\n const newApi = function(route, parameters) {\n const endpointOptions = endpoint2.merge(route, parameters);\n if (!endpointOptions.request || !endpointOptions.request.hook) {\n return fetchWrapper(endpoint2.parse(endpointOptions));\n }\n const request2 = (route2, parameters2) => {\n return fetchWrapper(\n endpoint2.parse(endpoint2.merge(route2, parameters2))\n );\n };\n Object.assign(request2, {\n endpoint: endpoint2,\n defaults: withDefaults.bind(null, endpoint2)\n });\n return endpointOptions.request.hook(request2, endpointOptions);\n };\n return Object.assign(newApi, {\n endpoint: endpoint2,\n defaults: withDefaults.bind(null, endpoint2)\n });\n}\n\n// pkg/dist-src/index.js\nvar request = withDefaults(endpoint, defaults_default);\nexport {\n request\n};\n","// pkg/dist-src/index.js\nimport { request } from \"@octokit/request\";\nimport { getUserAgent } from \"universal-user-agent\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"0.0.0-development\";\n\n// pkg/dist-src/with-defaults.js\nimport { request as Request2 } from \"@octokit/request\";\n\n// pkg/dist-src/graphql.js\nimport { request as Request } from \"@octokit/request\";\n\n// pkg/dist-src/error.js\nfunction _buildMessageForResponseErrors(data) {\n return `Request failed due to following response errors:\n` + data.errors.map((e) => ` - ${e.message}`).join(\"\\n\");\n}\nvar GraphqlResponseError = class extends Error {\n constructor(request2, headers, response) {\n super(_buildMessageForResponseErrors(response));\n this.request = request2;\n this.headers = headers;\n this.response = response;\n this.errors = response.errors;\n this.data = response.data;\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n name = \"GraphqlResponseError\";\n errors;\n data;\n};\n\n// pkg/dist-src/graphql.js\nvar NON_VARIABLE_OPTIONS = [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"query\",\n \"mediaType\",\n \"operationName\"\n];\nvar FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nvar GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nfunction graphql(request2, query, options) {\n if (options) {\n if (typeof query === \"string\" && \"query\" in options) {\n return Promise.reject(\n new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`)\n );\n }\n for (const key in options) {\n if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue;\n return Promise.reject(\n new Error(\n `[@octokit/graphql] \"${key}\" cannot be used as variable name`\n )\n );\n }\n }\n const parsedOptions = typeof query === \"string\" ? Object.assign({ query }, options) : query;\n const requestOptions = Object.keys(\n parsedOptions\n ).reduce((result, key) => {\n if (NON_VARIABLE_OPTIONS.includes(key)) {\n result[key] = parsedOptions[key];\n return result;\n }\n if (!result.variables) {\n result.variables = {};\n }\n result.variables[key] = parsedOptions[key];\n return result;\n }, {});\n const baseUrl = parsedOptions.baseUrl || request2.endpoint.DEFAULTS.baseUrl;\n if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {\n requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, \"/api/graphql\");\n }\n return request2(requestOptions).then((response) => {\n if (response.data.errors) {\n const headers = {};\n for (const key of Object.keys(response.headers)) {\n headers[key] = response.headers[key];\n }\n throw new GraphqlResponseError(\n requestOptions,\n headers,\n response.data\n );\n }\n return response.data.data;\n });\n}\n\n// pkg/dist-src/with-defaults.js\nfunction withDefaults(request2, newDefaults) {\n const newRequest = request2.defaults(newDefaults);\n const newApi = (query, options) => {\n return graphql(newRequest, query, options);\n };\n return Object.assign(newApi, {\n defaults: withDefaults.bind(null, newRequest),\n endpoint: newRequest.endpoint\n });\n}\n\n// pkg/dist-src/index.js\nvar graphql2 = withDefaults(request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${getUserAgent()}`\n },\n method: \"POST\",\n url: \"/graphql\"\n});\nfunction withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\"\n });\n}\nexport {\n GraphqlResponseError,\n graphql2 as graphql,\n withCustomRequest\n};\n","// pkg/dist-src/is-jwt.js\nvar b64url = \"(?:[a-zA-Z0-9_-]+)\";\nvar sep = \"\\\\.\";\nvar jwtRE = new RegExp(`^${b64url}${sep}${b64url}${sep}${b64url}$`);\nvar isJWT = jwtRE.test.bind(jwtRE);\n\n// pkg/dist-src/auth.js\nasync function auth(token) {\n const isApp = isJWT(token);\n const isInstallation = token.startsWith(\"v1.\") || token.startsWith(\"ghs_\");\n const isUserToServer = token.startsWith(\"ghu_\");\n const tokenType = isApp ? \"app\" : isInstallation ? \"installation\" : isUserToServer ? \"user-to-server\" : \"oauth\";\n return {\n type: \"token\",\n token,\n tokenType\n };\n}\n\n// pkg/dist-src/with-authorization-prefix.js\nfunction withAuthorizationPrefix(token) {\n if (token.split(/\\./).length === 3) {\n return `bearer ${token}`;\n }\n return `token ${token}`;\n}\n\n// pkg/dist-src/hook.js\nasync function hook(token, request, route, parameters) {\n const endpoint = request.endpoint.merge(\n route,\n parameters\n );\n endpoint.headers.authorization = withAuthorizationPrefix(token);\n return request(endpoint);\n}\n\n// pkg/dist-src/index.js\nvar createTokenAuth = function createTokenAuth2(token) {\n if (!token) {\n throw new Error(\"[@octokit/auth-token] No token passed to createTokenAuth\");\n }\n if (typeof token !== \"string\") {\n throw new Error(\n \"[@octokit/auth-token] Token passed to createTokenAuth is not a string\"\n );\n }\n token = token.replace(/^(token|bearer) +/i, \"\");\n return Object.assign(auth.bind(null, token), {\n hook: hook.bind(null, token)\n });\n};\nexport {\n createTokenAuth\n};\n","const VERSION = \"7.0.4\";\nexport {\n VERSION\n};\n","import { getUserAgent } from \"universal-user-agent\";\nimport Hook from \"before-after-hook\";\nimport { request } from \"@octokit/request\";\nimport { withCustomRequest } from \"@octokit/graphql\";\nimport { createTokenAuth } from \"@octokit/auth-token\";\nimport { VERSION } from \"./version.js\";\nconst noop = () => {\n};\nconst consoleWarn = console.warn.bind(console);\nconst consoleError = console.error.bind(console);\nfunction createLogger(logger = {}) {\n if (typeof logger.debug !== \"function\") {\n logger.debug = noop;\n }\n if (typeof logger.info !== \"function\") {\n logger.info = noop;\n }\n if (typeof logger.warn !== \"function\") {\n logger.warn = consoleWarn;\n }\n if (typeof logger.error !== \"function\") {\n logger.error = consoleError;\n }\n return logger;\n}\nconst userAgentTrail = `octokit-core.js/${VERSION} ${getUserAgent()}`;\nclass Octokit {\n static VERSION = VERSION;\n static defaults(defaults) {\n const OctokitWithDefaults = class extends this {\n constructor(...args) {\n const options = args[0] || {};\n if (typeof defaults === \"function\") {\n super(defaults(options));\n return;\n }\n super(\n Object.assign(\n {},\n defaults,\n options,\n options.userAgent && defaults.userAgent ? {\n userAgent: `${options.userAgent} ${defaults.userAgent}`\n } : null\n )\n );\n }\n };\n return OctokitWithDefaults;\n }\n static plugins = [];\n /**\n * Attach a plugin (or many) to your Octokit instance.\n *\n * @example\n * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)\n */\n static plugin(...newPlugins) {\n const currentPlugins = this.plugins;\n const NewOctokit = class extends this {\n static plugins = currentPlugins.concat(\n newPlugins.filter((plugin) => !currentPlugins.includes(plugin))\n );\n };\n return NewOctokit;\n }\n constructor(options = {}) {\n const hook = new Hook.Collection();\n const requestDefaults = {\n baseUrl: request.endpoint.DEFAULTS.baseUrl,\n headers: {},\n request: Object.assign({}, options.request, {\n // @ts-ignore internal usage only, no need to type\n hook: hook.bind(null, \"request\")\n }),\n mediaType: {\n previews: [],\n format: \"\"\n }\n };\n requestDefaults.headers[\"user-agent\"] = options.userAgent ? `${options.userAgent} ${userAgentTrail}` : userAgentTrail;\n if (options.baseUrl) {\n requestDefaults.baseUrl = options.baseUrl;\n }\n if (options.previews) {\n requestDefaults.mediaType.previews = options.previews;\n }\n if (options.timeZone) {\n requestDefaults.headers[\"time-zone\"] = options.timeZone;\n }\n this.request = request.defaults(requestDefaults);\n this.graphql = withCustomRequest(this.request).defaults(requestDefaults);\n this.log = createLogger(options.log);\n this.hook = hook;\n if (!options.authStrategy) {\n if (!options.auth) {\n this.auth = async () => ({\n type: \"unauthenticated\"\n });\n } else {\n const auth = createTokenAuth(options.auth);\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n } else {\n const { authStrategy, ...otherOptions } = options;\n const auth = authStrategy(\n Object.assign(\n {\n request: this.request,\n log: this.log,\n // we pass the current octokit instance as well as its constructor options\n // to allow for authentication strategies that return a new octokit instance\n // that shares the same internal state as the current one. The original\n // requirement for this was the \"event-octokit\" authentication strategy\n // of https://github.com/probot/octokit-auth-probot.\n octokit: this,\n octokitOptions: otherOptions\n },\n options.auth\n )\n );\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n const classConstructor = this.constructor;\n for (let i = 0; i < classConstructor.plugins.length; ++i) {\n Object.assign(this, classConstructor.plugins[i](this, options));\n }\n }\n // assigned during constructor\n request;\n graphql;\n log;\n hook;\n // TODO: type `octokit.auth` based on passed options.authStrategy\n auth;\n}\nexport {\n Octokit\n};\n","// pkg/dist-src/version.js\nvar VERSION = \"0.0.0-development\";\n\n// pkg/dist-src/normalize-paginated-list-response.js\nfunction normalizePaginatedListResponse(response) {\n if (!response.data) {\n return {\n ...response,\n data: []\n };\n }\n const responseNeedsNormalization = (\"total_count\" in response.data || \"total_commits\" in response.data) && !(\"url\" in response.data);\n if (!responseNeedsNormalization) return response;\n const incompleteResults = response.data.incomplete_results;\n const repositorySelection = response.data.repository_selection;\n const totalCount = response.data.total_count;\n const totalCommits = response.data.total_commits;\n delete response.data.incomplete_results;\n delete response.data.repository_selection;\n delete response.data.total_count;\n delete response.data.total_commits;\n const namespaceKey = Object.keys(response.data)[0];\n const data = response.data[namespaceKey];\n response.data = data;\n if (typeof incompleteResults !== \"undefined\") {\n response.data.incomplete_results = incompleteResults;\n }\n if (typeof repositorySelection !== \"undefined\") {\n response.data.repository_selection = repositorySelection;\n }\n response.data.total_count = totalCount;\n response.data.total_commits = totalCommits;\n return response;\n}\n\n// pkg/dist-src/iterator.js\nfunction iterator(octokit, route, parameters) {\n const options = typeof route === \"function\" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters);\n const requestMethod = typeof route === \"function\" ? route : octokit.request;\n const method = options.method;\n const headers = options.headers;\n let url = options.url;\n return {\n [Symbol.asyncIterator]: () => ({\n async next() {\n if (!url) return { done: true };\n try {\n const response = await requestMethod({ method, url, headers });\n const normalizedResponse = normalizePaginatedListResponse(response);\n url = ((normalizedResponse.headers.link || \"\").match(\n /<([^<>]+)>;\\s*rel=\"next\"/\n ) || [])[1];\n if (!url && \"total_commits\" in normalizedResponse.data) {\n const parsedUrl = new URL(normalizedResponse.url);\n const params = parsedUrl.searchParams;\n const page = parseInt(params.get(\"page\") || \"1\", 10);\n const per_page = parseInt(params.get(\"per_page\") || \"250\", 10);\n if (page * per_page < normalizedResponse.data.total_commits) {\n params.set(\"page\", String(page + 1));\n url = parsedUrl.toString();\n }\n }\n return { value: normalizedResponse };\n } catch (error) {\n if (error.status !== 409) throw error;\n url = \"\";\n return {\n value: {\n status: 200,\n headers: {},\n data: []\n }\n };\n }\n }\n })\n };\n}\n\n// pkg/dist-src/paginate.js\nfunction paginate(octokit, route, parameters, mapFn) {\n if (typeof parameters === \"function\") {\n mapFn = parameters;\n parameters = void 0;\n }\n return gather(\n octokit,\n [],\n iterator(octokit, route, parameters)[Symbol.asyncIterator](),\n mapFn\n );\n}\nfunction gather(octokit, results, iterator2, mapFn) {\n return iterator2.next().then((result) => {\n if (result.done) {\n return results;\n }\n let earlyExit = false;\n function done() {\n earlyExit = true;\n }\n results = results.concat(\n mapFn ? mapFn(result.value, done) : result.value.data\n );\n if (earlyExit) {\n return results;\n }\n return gather(octokit, results, iterator2, mapFn);\n });\n}\n\n// pkg/dist-src/compose-paginate.js\nvar composePaginateRest = Object.assign(paginate, {\n iterator\n});\n\n// pkg/dist-src/generated/paginating-endpoints.js\nvar paginatingEndpoints = [\n \"GET /advisories\",\n \"GET /app/hook/deliveries\",\n \"GET /app/installation-requests\",\n \"GET /app/installations\",\n \"GET /assignments/{assignment_id}/accepted_assignments\",\n \"GET /classrooms\",\n \"GET /classrooms/{classroom_id}/assignments\",\n \"GET /enterprises/{enterprise}/code-security/configurations\",\n \"GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories\",\n \"GET /enterprises/{enterprise}/dependabot/alerts\",\n \"GET /enterprises/{enterprise}/secret-scanning/alerts\",\n \"GET /events\",\n \"GET /gists\",\n \"GET /gists/public\",\n \"GET /gists/starred\",\n \"GET /gists/{gist_id}/comments\",\n \"GET /gists/{gist_id}/commits\",\n \"GET /gists/{gist_id}/forks\",\n \"GET /installation/repositories\",\n \"GET /issues\",\n \"GET /licenses\",\n \"GET /marketplace_listing/plans\",\n \"GET /marketplace_listing/plans/{plan_id}/accounts\",\n \"GET /marketplace_listing/stubbed/plans\",\n \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\",\n \"GET /networks/{owner}/{repo}/events\",\n \"GET /notifications\",\n \"GET /organizations\",\n \"GET /orgs/{org}/actions/cache/usage-by-repository\",\n \"GET /orgs/{org}/actions/hosted-runners\",\n \"GET /orgs/{org}/actions/permissions/repositories\",\n \"GET /orgs/{org}/actions/runner-groups\",\n \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners\",\n \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories\",\n \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners\",\n \"GET /orgs/{org}/actions/runners\",\n \"GET /orgs/{org}/actions/secrets\",\n \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\",\n \"GET /orgs/{org}/actions/variables\",\n \"GET /orgs/{org}/actions/variables/{name}/repositories\",\n \"GET /orgs/{org}/attestations/{subject_digest}\",\n \"GET /orgs/{org}/blocks\",\n \"GET /orgs/{org}/campaigns\",\n \"GET /orgs/{org}/code-scanning/alerts\",\n \"GET /orgs/{org}/code-security/configurations\",\n \"GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories\",\n \"GET /orgs/{org}/codespaces\",\n \"GET /orgs/{org}/codespaces/secrets\",\n \"GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories\",\n \"GET /orgs/{org}/copilot/billing/seats\",\n \"GET /orgs/{org}/copilot/metrics\",\n \"GET /orgs/{org}/dependabot/alerts\",\n \"GET /orgs/{org}/dependabot/secrets\",\n \"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\",\n \"GET /orgs/{org}/events\",\n \"GET /orgs/{org}/failed_invitations\",\n \"GET /orgs/{org}/hooks\",\n \"GET /orgs/{org}/hooks/{hook_id}/deliveries\",\n \"GET /orgs/{org}/insights/api/route-stats/{actor_type}/{actor_id}\",\n \"GET /orgs/{org}/insights/api/subject-stats\",\n \"GET /orgs/{org}/insights/api/user-stats/{user_id}\",\n \"GET /orgs/{org}/installations\",\n \"GET /orgs/{org}/invitations\",\n \"GET /orgs/{org}/invitations/{invitation_id}/teams\",\n \"GET /orgs/{org}/issues\",\n \"GET /orgs/{org}/members\",\n \"GET /orgs/{org}/members/{username}/codespaces\",\n \"GET /orgs/{org}/migrations\",\n \"GET /orgs/{org}/migrations/{migration_id}/repositories\",\n \"GET /orgs/{org}/organization-roles/{role_id}/teams\",\n \"GET /orgs/{org}/organization-roles/{role_id}/users\",\n \"GET /orgs/{org}/outside_collaborators\",\n \"GET /orgs/{org}/packages\",\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\",\n \"GET /orgs/{org}/personal-access-token-requests\",\n \"GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories\",\n \"GET /orgs/{org}/personal-access-tokens\",\n \"GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories\",\n \"GET /orgs/{org}/private-registries\",\n \"GET /orgs/{org}/projects\",\n \"GET /orgs/{org}/properties/values\",\n \"GET /orgs/{org}/public_members\",\n \"GET /orgs/{org}/repos\",\n \"GET /orgs/{org}/rulesets\",\n \"GET /orgs/{org}/rulesets/rule-suites\",\n \"GET /orgs/{org}/rulesets/{ruleset_id}/history\",\n \"GET /orgs/{org}/secret-scanning/alerts\",\n \"GET /orgs/{org}/security-advisories\",\n \"GET /orgs/{org}/settings/network-configurations\",\n \"GET /orgs/{org}/team/{team_slug}/copilot/metrics\",\n \"GET /orgs/{org}/teams\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n \"GET /orgs/{org}/teams/{team_slug}/invitations\",\n \"GET /orgs/{org}/teams/{team_slug}/members\",\n \"GET /orgs/{org}/teams/{team_slug}/projects\",\n \"GET /orgs/{org}/teams/{team_slug}/repos\",\n \"GET /orgs/{org}/teams/{team_slug}/teams\",\n \"GET /projects/columns/{column_id}/cards\",\n \"GET /projects/{project_id}/collaborators\",\n \"GET /projects/{project_id}/columns\",\n \"GET /repos/{owner}/{repo}/actions/artifacts\",\n \"GET /repos/{owner}/{repo}/actions/caches\",\n \"GET /repos/{owner}/{repo}/actions/organization-secrets\",\n \"GET /repos/{owner}/{repo}/actions/organization-variables\",\n \"GET /repos/{owner}/{repo}/actions/runners\",\n \"GET /repos/{owner}/{repo}/actions/runs\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\",\n \"GET /repos/{owner}/{repo}/actions/secrets\",\n \"GET /repos/{owner}/{repo}/actions/variables\",\n \"GET /repos/{owner}/{repo}/actions/workflows\",\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\",\n \"GET /repos/{owner}/{repo}/activity\",\n \"GET /repos/{owner}/{repo}/assignees\",\n \"GET /repos/{owner}/{repo}/attestations/{subject_digest}\",\n \"GET /repos/{owner}/{repo}/branches\",\n \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\",\n \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\",\n \"GET /repos/{owner}/{repo}/code-scanning/alerts\",\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n \"GET /repos/{owner}/{repo}/code-scanning/analyses\",\n \"GET /repos/{owner}/{repo}/codespaces\",\n \"GET /repos/{owner}/{repo}/codespaces/devcontainers\",\n \"GET /repos/{owner}/{repo}/codespaces/secrets\",\n \"GET /repos/{owner}/{repo}/collaborators\",\n \"GET /repos/{owner}/{repo}/comments\",\n \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/commits\",\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/status\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\",\n \"GET /repos/{owner}/{repo}/compare/{basehead}\",\n \"GET /repos/{owner}/{repo}/compare/{base}...{head}\",\n \"GET /repos/{owner}/{repo}/contributors\",\n \"GET /repos/{owner}/{repo}/dependabot/alerts\",\n \"GET /repos/{owner}/{repo}/dependabot/secrets\",\n \"GET /repos/{owner}/{repo}/deployments\",\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\",\n \"GET /repos/{owner}/{repo}/environments\",\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies\",\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps\",\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/secrets\",\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/variables\",\n \"GET /repos/{owner}/{repo}/events\",\n \"GET /repos/{owner}/{repo}/forks\",\n \"GET /repos/{owner}/{repo}/hooks\",\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\",\n \"GET /repos/{owner}/{repo}/invitations\",\n \"GET /repos/{owner}/{repo}/issues\",\n \"GET /repos/{owner}/{repo}/issues/comments\",\n \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/issues/events\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/events\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\",\n \"GET /repos/{owner}/{repo}/keys\",\n \"GET /repos/{owner}/{repo}/labels\",\n \"GET /repos/{owner}/{repo}/milestones\",\n \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\",\n \"GET /repos/{owner}/{repo}/notifications\",\n \"GET /repos/{owner}/{repo}/pages/builds\",\n \"GET /repos/{owner}/{repo}/projects\",\n \"GET /repos/{owner}/{repo}/pulls\",\n \"GET /repos/{owner}/{repo}/pulls/comments\",\n \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\",\n \"GET /repos/{owner}/{repo}/releases\",\n \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\",\n \"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\",\n \"GET /repos/{owner}/{repo}/rules/branches/{branch}\",\n \"GET /repos/{owner}/{repo}/rulesets\",\n \"GET /repos/{owner}/{repo}/rulesets/rule-suites\",\n \"GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history\",\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts\",\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\",\n \"GET /repos/{owner}/{repo}/security-advisories\",\n \"GET /repos/{owner}/{repo}/stargazers\",\n \"GET /repos/{owner}/{repo}/subscribers\",\n \"GET /repos/{owner}/{repo}/tags\",\n \"GET /repos/{owner}/{repo}/teams\",\n \"GET /repos/{owner}/{repo}/topics\",\n \"GET /repositories\",\n \"GET /search/code\",\n \"GET /search/commits\",\n \"GET /search/issues\",\n \"GET /search/labels\",\n \"GET /search/repositories\",\n \"GET /search/topics\",\n \"GET /search/users\",\n \"GET /teams/{team_id}/discussions\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/comments\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/reactions\",\n \"GET /teams/{team_id}/invitations\",\n \"GET /teams/{team_id}/members\",\n \"GET /teams/{team_id}/projects\",\n \"GET /teams/{team_id}/repos\",\n \"GET /teams/{team_id}/teams\",\n \"GET /user/blocks\",\n \"GET /user/codespaces\",\n \"GET /user/codespaces/secrets\",\n \"GET /user/emails\",\n \"GET /user/followers\",\n \"GET /user/following\",\n \"GET /user/gpg_keys\",\n \"GET /user/installations\",\n \"GET /user/installations/{installation_id}/repositories\",\n \"GET /user/issues\",\n \"GET /user/keys\",\n \"GET /user/marketplace_purchases\",\n \"GET /user/marketplace_purchases/stubbed\",\n \"GET /user/memberships/orgs\",\n \"GET /user/migrations\",\n \"GET /user/migrations/{migration_id}/repositories\",\n \"GET /user/orgs\",\n \"GET /user/packages\",\n \"GET /user/packages/{package_type}/{package_name}/versions\",\n \"GET /user/public_emails\",\n \"GET /user/repos\",\n \"GET /user/repository_invitations\",\n \"GET /user/social_accounts\",\n \"GET /user/ssh_signing_keys\",\n \"GET /user/starred\",\n \"GET /user/subscriptions\",\n \"GET /user/teams\",\n \"GET /users\",\n \"GET /users/{username}/attestations/{subject_digest}\",\n \"GET /users/{username}/events\",\n \"GET /users/{username}/events/orgs/{org}\",\n \"GET /users/{username}/events/public\",\n \"GET /users/{username}/followers\",\n \"GET /users/{username}/following\",\n \"GET /users/{username}/gists\",\n \"GET /users/{username}/gpg_keys\",\n \"GET /users/{username}/keys\",\n \"GET /users/{username}/orgs\",\n \"GET /users/{username}/packages\",\n \"GET /users/{username}/projects\",\n \"GET /users/{username}/received_events\",\n \"GET /users/{username}/received_events/public\",\n \"GET /users/{username}/repos\",\n \"GET /users/{username}/social_accounts\",\n \"GET /users/{username}/ssh_signing_keys\",\n \"GET /users/{username}/starred\",\n \"GET /users/{username}/subscriptions\"\n];\n\n// pkg/dist-src/paginating-endpoints.js\nfunction isPaginatingEndpoint(arg) {\n if (typeof arg === \"string\") {\n return paginatingEndpoints.includes(arg);\n } else {\n return false;\n }\n}\n\n// pkg/dist-src/index.js\nfunction paginateRest(octokit) {\n return {\n paginate: Object.assign(paginate.bind(null, octokit), {\n iterator: iterator.bind(null, octokit)\n })\n };\n}\npaginateRest.VERSION = VERSION;\nexport {\n composePaginateRest,\n isPaginatingEndpoint,\n paginateRest,\n paginatingEndpoints\n};\n","// pkg/dist-src/errors.js\nvar generateMessage = (path, cursorValue) => `The cursor at \"${path.join(\n \",\"\n)}\" did not change its value \"${cursorValue}\" after a page transition. Please make sure your that your query is set up correctly.`;\nvar MissingCursorChange = class extends Error {\n constructor(pageInfo, cursorValue) {\n super(generateMessage(pageInfo.pathInQuery, cursorValue));\n this.pageInfo = pageInfo;\n this.cursorValue = cursorValue;\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n name = \"MissingCursorChangeError\";\n};\nvar MissingPageInfo = class extends Error {\n constructor(response) {\n super(\n `No pageInfo property found in response. Please make sure to specify the pageInfo in your query. Response-Data: ${JSON.stringify(\n response,\n null,\n 2\n )}`\n );\n this.response = response;\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n name = \"MissingPageInfo\";\n};\n\n// pkg/dist-src/object-helpers.js\nvar isObject = (value) => Object.prototype.toString.call(value) === \"[object Object]\";\nfunction findPaginatedResourcePath(responseData) {\n const paginatedResourcePath = deepFindPathToProperty(\n responseData,\n \"pageInfo\"\n );\n if (paginatedResourcePath.length === 0) {\n throw new MissingPageInfo(responseData);\n }\n return paginatedResourcePath;\n}\nvar deepFindPathToProperty = (object, searchProp, path = []) => {\n for (const key of Object.keys(object)) {\n const currentPath = [...path, key];\n const currentValue = object[key];\n if (isObject(currentValue)) {\n if (currentValue.hasOwnProperty(searchProp)) {\n return currentPath;\n }\n const result = deepFindPathToProperty(\n currentValue,\n searchProp,\n currentPath\n );\n if (result.length > 0) {\n return result;\n }\n }\n }\n return [];\n};\nvar get = (object, path) => {\n return path.reduce((current, nextProperty) => current[nextProperty], object);\n};\nvar set = (object, path, mutator) => {\n const lastProperty = path[path.length - 1];\n const parentPath = [...path].slice(0, -1);\n const parent = get(object, parentPath);\n if (typeof mutator === \"function\") {\n parent[lastProperty] = mutator(parent[lastProperty]);\n } else {\n parent[lastProperty] = mutator;\n }\n};\n\n// pkg/dist-src/extract-page-info.js\nvar extractPageInfos = (responseData) => {\n const pageInfoPath = findPaginatedResourcePath(responseData);\n return {\n pathInQuery: pageInfoPath,\n pageInfo: get(responseData, [...pageInfoPath, \"pageInfo\"])\n };\n};\n\n// pkg/dist-src/page-info.js\nvar isForwardSearch = (givenPageInfo) => {\n return givenPageInfo.hasOwnProperty(\"hasNextPage\");\n};\nvar getCursorFrom = (pageInfo) => isForwardSearch(pageInfo) ? pageInfo.endCursor : pageInfo.startCursor;\nvar hasAnotherPage = (pageInfo) => isForwardSearch(pageInfo) ? pageInfo.hasNextPage : pageInfo.hasPreviousPage;\n\n// pkg/dist-src/iterator.js\nvar createIterator = (octokit) => {\n return (query, initialParameters = {}) => {\n let nextPageExists = true;\n let parameters = { ...initialParameters };\n return {\n [Symbol.asyncIterator]: () => ({\n async next() {\n if (!nextPageExists) return { done: true, value: {} };\n const response = await octokit.graphql(\n query,\n parameters\n );\n const pageInfoContext = extractPageInfos(response);\n const nextCursorValue = getCursorFrom(pageInfoContext.pageInfo);\n nextPageExists = hasAnotherPage(pageInfoContext.pageInfo);\n if (nextPageExists && nextCursorValue === parameters.cursor) {\n throw new MissingCursorChange(pageInfoContext, nextCursorValue);\n }\n parameters = {\n ...parameters,\n cursor: nextCursorValue\n };\n return { done: false, value: response };\n }\n })\n };\n };\n};\n\n// pkg/dist-src/merge-responses.js\nvar mergeResponses = (response1, response2) => {\n if (Object.keys(response1).length === 0) {\n return Object.assign(response1, response2);\n }\n const path = findPaginatedResourcePath(response1);\n const nodesPath = [...path, \"nodes\"];\n const newNodes = get(response2, nodesPath);\n if (newNodes) {\n set(response1, nodesPath, (values) => {\n return [...values, ...newNodes];\n });\n }\n const edgesPath = [...path, \"edges\"];\n const newEdges = get(response2, edgesPath);\n if (newEdges) {\n set(response1, edgesPath, (values) => {\n return [...values, ...newEdges];\n });\n }\n const pageInfoPath = [...path, \"pageInfo\"];\n set(response1, pageInfoPath, get(response2, pageInfoPath));\n return response1;\n};\n\n// pkg/dist-src/paginate.js\nvar createPaginate = (octokit) => {\n const iterator = createIterator(octokit);\n return async (query, initialParameters = {}) => {\n let mergedResponse = {};\n for await (const response of iterator(\n query,\n initialParameters\n )) {\n mergedResponse = mergeResponses(mergedResponse, response);\n }\n return mergedResponse;\n };\n};\n\n// pkg/dist-src/version.js\nvar VERSION = \"0.0.0-development\";\n\n// pkg/dist-src/index.js\nfunction paginateGraphQL(octokit) {\n return {\n graphql: Object.assign(octokit.graphql, {\n paginate: Object.assign(createPaginate(octokit), {\n iterator: createIterator(octokit)\n })\n })\n };\n}\nexport {\n VERSION,\n paginateGraphQL\n};\n","const VERSION = \"16.1.0\";\nexport {\n VERSION\n};\n//# sourceMappingURL=version.js.map\n","const Endpoints = {\n actions: {\n addCustomLabelsToSelfHostedRunnerForOrg: [\n \"POST /orgs/{org}/actions/runners/{runner_id}/labels\"\n ],\n addCustomLabelsToSelfHostedRunnerForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"\n ],\n addRepoAccessToSelfHostedRunnerGroupInOrg: [\n \"PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}\"\n ],\n addSelectedRepoToOrgSecret: [\n \"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n addSelectedRepoToOrgVariable: [\n \"PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}\"\n ],\n approveWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve\"\n ],\n cancelWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel\"\n ],\n createEnvironmentVariable: [\n \"POST /repos/{owner}/{repo}/environments/{environment_name}/variables\"\n ],\n createHostedRunnerForOrg: [\"POST /orgs/{org}/actions/hosted-runners\"],\n createOrUpdateEnvironmentSecret: [\n \"PUT /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}\"\n ],\n createOrUpdateOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}\"],\n createOrUpdateRepoSecret: [\n \"PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}\"\n ],\n createOrgVariable: [\"POST /orgs/{org}/actions/variables\"],\n createRegistrationTokenForOrg: [\n \"POST /orgs/{org}/actions/runners/registration-token\"\n ],\n createRegistrationTokenForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/registration-token\"\n ],\n createRemoveTokenForOrg: [\"POST /orgs/{org}/actions/runners/remove-token\"],\n createRemoveTokenForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/remove-token\"\n ],\n createRepoVariable: [\"POST /repos/{owner}/{repo}/actions/variables\"],\n createWorkflowDispatch: [\n \"POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches\"\n ],\n deleteActionsCacheById: [\n \"DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}\"\n ],\n deleteActionsCacheByKey: [\n \"DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}\"\n ],\n deleteArtifact: [\n \"DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"\n ],\n deleteEnvironmentSecret: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}\"\n ],\n deleteEnvironmentVariable: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}\"\n ],\n deleteHostedRunnerForOrg: [\n \"DELETE /orgs/{org}/actions/hosted-runners/{hosted_runner_id}\"\n ],\n deleteOrgSecret: [\"DELETE /orgs/{org}/actions/secrets/{secret_name}\"],\n deleteOrgVariable: [\"DELETE /orgs/{org}/actions/variables/{name}\"],\n deleteRepoSecret: [\n \"DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}\"\n ],\n deleteRepoVariable: [\n \"DELETE /repos/{owner}/{repo}/actions/variables/{name}\"\n ],\n deleteSelfHostedRunnerFromOrg: [\n \"DELETE /orgs/{org}/actions/runners/{runner_id}\"\n ],\n deleteSelfHostedRunnerFromRepo: [\n \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}\"\n ],\n deleteWorkflowRun: [\"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n deleteWorkflowRunLogs: [\n \"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs\"\n ],\n disableSelectedRepositoryGithubActionsOrganization: [\n \"DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}\"\n ],\n disableWorkflow: [\n \"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable\"\n ],\n downloadArtifact: [\n \"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}\"\n ],\n downloadJobLogsForWorkflowRun: [\n \"GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs\"\n ],\n downloadWorkflowRunAttemptLogs: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs\"\n ],\n downloadWorkflowRunLogs: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs\"\n ],\n enableSelectedRepositoryGithubActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/repositories/{repository_id}\"\n ],\n enableWorkflow: [\n \"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable\"\n ],\n forceCancelWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel\"\n ],\n generateRunnerJitconfigForOrg: [\n \"POST /orgs/{org}/actions/runners/generate-jitconfig\"\n ],\n generateRunnerJitconfigForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig\"\n ],\n getActionsCacheList: [\"GET /repos/{owner}/{repo}/actions/caches\"],\n getActionsCacheUsage: [\"GET /repos/{owner}/{repo}/actions/cache/usage\"],\n getActionsCacheUsageByRepoForOrg: [\n \"GET /orgs/{org}/actions/cache/usage-by-repository\"\n ],\n getActionsCacheUsageForOrg: [\"GET /orgs/{org}/actions/cache/usage\"],\n getAllowedActionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/selected-actions\"\n ],\n getAllowedActionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions/selected-actions\"\n ],\n getArtifact: [\"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"],\n getCustomOidcSubClaimForRepo: [\n \"GET /repos/{owner}/{repo}/actions/oidc/customization/sub\"\n ],\n getEnvironmentPublicKey: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key\"\n ],\n getEnvironmentSecret: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}\"\n ],\n getEnvironmentVariable: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}\"\n ],\n getGithubActionsDefaultWorkflowPermissionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/workflow\"\n ],\n getGithubActionsDefaultWorkflowPermissionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions/workflow\"\n ],\n getGithubActionsPermissionsOrganization: [\n \"GET /orgs/{org}/actions/permissions\"\n ],\n getGithubActionsPermissionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions\"\n ],\n getHostedRunnerForOrg: [\n \"GET /orgs/{org}/actions/hosted-runners/{hosted_runner_id}\"\n ],\n getHostedRunnersGithubOwnedImagesForOrg: [\n \"GET /orgs/{org}/actions/hosted-runners/images/github-owned\"\n ],\n getHostedRunnersLimitsForOrg: [\n \"GET /orgs/{org}/actions/hosted-runners/limits\"\n ],\n getHostedRunnersMachineSpecsForOrg: [\n \"GET /orgs/{org}/actions/hosted-runners/machine-sizes\"\n ],\n getHostedRunnersPartnerImagesForOrg: [\n \"GET /orgs/{org}/actions/hosted-runners/images/partner\"\n ],\n getHostedRunnersPlatformsForOrg: [\n \"GET /orgs/{org}/actions/hosted-runners/platforms\"\n ],\n getJobForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/actions/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/actions/secrets/{secret_name}\"],\n getOrgVariable: [\"GET /orgs/{org}/actions/variables/{name}\"],\n getPendingDeploymentsForRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\"\n ],\n getRepoPermissions: [\n \"GET /repos/{owner}/{repo}/actions/permissions\",\n {},\n { renamed: [\"actions\", \"getGithubActionsPermissionsRepository\"] }\n ],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/actions/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n getRepoVariable: [\"GET /repos/{owner}/{repo}/actions/variables/{name}\"],\n getReviewsForRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals\"\n ],\n getSelfHostedRunnerForOrg: [\"GET /orgs/{org}/actions/runners/{runner_id}\"],\n getSelfHostedRunnerForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/{runner_id}\"\n ],\n getWorkflow: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}\"],\n getWorkflowAccessToRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions/access\"\n ],\n getWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n getWorkflowRunAttempt: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}\"\n ],\n getWorkflowRunUsage: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing\"\n ],\n getWorkflowUsage: [\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing\"\n ],\n listArtifactsForRepo: [\"GET /repos/{owner}/{repo}/actions/artifacts\"],\n listEnvironmentSecrets: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/secrets\"\n ],\n listEnvironmentVariables: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/variables\"\n ],\n listGithubHostedRunnersInGroupForOrg: [\n \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners\"\n ],\n listHostedRunnersForOrg: [\"GET /orgs/{org}/actions/hosted-runners\"],\n listJobsForWorkflowRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\"\n ],\n listJobsForWorkflowRunAttempt: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\"\n ],\n listLabelsForSelfHostedRunnerForOrg: [\n \"GET /orgs/{org}/actions/runners/{runner_id}/labels\"\n ],\n listLabelsForSelfHostedRunnerForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"\n ],\n listOrgSecrets: [\"GET /orgs/{org}/actions/secrets\"],\n listOrgVariables: [\"GET /orgs/{org}/actions/variables\"],\n listRepoOrganizationSecrets: [\n \"GET /repos/{owner}/{repo}/actions/organization-secrets\"\n ],\n listRepoOrganizationVariables: [\n \"GET /repos/{owner}/{repo}/actions/organization-variables\"\n ],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/actions/secrets\"],\n listRepoVariables: [\"GET /repos/{owner}/{repo}/actions/variables\"],\n listRepoWorkflows: [\"GET /repos/{owner}/{repo}/actions/workflows\"],\n listRunnerApplicationsForOrg: [\"GET /orgs/{org}/actions/runners/downloads\"],\n listRunnerApplicationsForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/downloads\"\n ],\n listSelectedReposForOrgSecret: [\n \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\"\n ],\n listSelectedReposForOrgVariable: [\n \"GET /orgs/{org}/actions/variables/{name}/repositories\"\n ],\n listSelectedRepositoriesEnabledGithubActionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/repositories\"\n ],\n listSelfHostedRunnersForOrg: [\"GET /orgs/{org}/actions/runners\"],\n listSelfHostedRunnersForRepo: [\"GET /repos/{owner}/{repo}/actions/runners\"],\n listWorkflowRunArtifacts: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\"\n ],\n listWorkflowRuns: [\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\"\n ],\n listWorkflowRunsForRepo: [\"GET /repos/{owner}/{repo}/actions/runs\"],\n reRunJobForWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun\"\n ],\n reRunWorkflow: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun\"],\n reRunWorkflowFailedJobs: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs\"\n ],\n removeAllCustomLabelsFromSelfHostedRunnerForOrg: [\n \"DELETE /orgs/{org}/actions/runners/{runner_id}/labels\"\n ],\n removeAllCustomLabelsFromSelfHostedRunnerForRepo: [\n \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"\n ],\n removeCustomLabelFromSelfHostedRunnerForOrg: [\n \"DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}\"\n ],\n removeCustomLabelFromSelfHostedRunnerForRepo: [\n \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}\"\n ],\n removeSelectedRepoFromOrgSecret: [\n \"DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n removeSelectedRepoFromOrgVariable: [\n \"DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}\"\n ],\n reviewCustomGatesForRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule\"\n ],\n reviewPendingDeploymentsForRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\"\n ],\n setAllowedActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/selected-actions\"\n ],\n setAllowedActionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions/selected-actions\"\n ],\n setCustomLabelsForSelfHostedRunnerForOrg: [\n \"PUT /orgs/{org}/actions/runners/{runner_id}/labels\"\n ],\n setCustomLabelsForSelfHostedRunnerForRepo: [\n \"PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"\n ],\n setCustomOidcSubClaimForRepo: [\n \"PUT /repos/{owner}/{repo}/actions/oidc/customization/sub\"\n ],\n setGithubActionsDefaultWorkflowPermissionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/workflow\"\n ],\n setGithubActionsDefaultWorkflowPermissionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions/workflow\"\n ],\n setGithubActionsPermissionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions\"\n ],\n setGithubActionsPermissionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions\"\n ],\n setSelectedReposForOrgSecret: [\n \"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories\"\n ],\n setSelectedReposForOrgVariable: [\n \"PUT /orgs/{org}/actions/variables/{name}/repositories\"\n ],\n setSelectedRepositoriesEnabledGithubActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/repositories\"\n ],\n setWorkflowAccessToRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions/access\"\n ],\n updateEnvironmentVariable: [\n \"PATCH /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}\"\n ],\n updateHostedRunnerForOrg: [\n \"PATCH /orgs/{org}/actions/hosted-runners/{hosted_runner_id}\"\n ],\n updateOrgVariable: [\"PATCH /orgs/{org}/actions/variables/{name}\"],\n updateRepoVariable: [\n \"PATCH /repos/{owner}/{repo}/actions/variables/{name}\"\n ]\n },\n activity: {\n checkRepoIsStarredByAuthenticatedUser: [\"GET /user/starred/{owner}/{repo}\"],\n deleteRepoSubscription: [\"DELETE /repos/{owner}/{repo}/subscription\"],\n deleteThreadSubscription: [\n \"DELETE /notifications/threads/{thread_id}/subscription\"\n ],\n getFeeds: [\"GET /feeds\"],\n getRepoSubscription: [\"GET /repos/{owner}/{repo}/subscription\"],\n getThread: [\"GET /notifications/threads/{thread_id}\"],\n getThreadSubscriptionForAuthenticatedUser: [\n \"GET /notifications/threads/{thread_id}/subscription\"\n ],\n listEventsForAuthenticatedUser: [\"GET /users/{username}/events\"],\n listNotificationsForAuthenticatedUser: [\"GET /notifications\"],\n listOrgEventsForAuthenticatedUser: [\n \"GET /users/{username}/events/orgs/{org}\"\n ],\n listPublicEvents: [\"GET /events\"],\n listPublicEventsForRepoNetwork: [\"GET /networks/{owner}/{repo}/events\"],\n listPublicEventsForUser: [\"GET /users/{username}/events/public\"],\n listPublicOrgEvents: [\"GET /orgs/{org}/events\"],\n listReceivedEventsForUser: [\"GET /users/{username}/received_events\"],\n listReceivedPublicEventsForUser: [\n \"GET /users/{username}/received_events/public\"\n ],\n listRepoEvents: [\"GET /repos/{owner}/{repo}/events\"],\n listRepoNotificationsForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/notifications\"\n ],\n listReposStarredByAuthenticatedUser: [\"GET /user/starred\"],\n listReposStarredByUser: [\"GET /users/{username}/starred\"],\n listReposWatchedByUser: [\"GET /users/{username}/subscriptions\"],\n listStargazersForRepo: [\"GET /repos/{owner}/{repo}/stargazers\"],\n listWatchedReposForAuthenticatedUser: [\"GET /user/subscriptions\"],\n listWatchersForRepo: [\"GET /repos/{owner}/{repo}/subscribers\"],\n markNotificationsAsRead: [\"PUT /notifications\"],\n markRepoNotificationsAsRead: [\"PUT /repos/{owner}/{repo}/notifications\"],\n markThreadAsDone: [\"DELETE /notifications/threads/{thread_id}\"],\n markThreadAsRead: [\"PATCH /notifications/threads/{thread_id}\"],\n setRepoSubscription: [\"PUT /repos/{owner}/{repo}/subscription\"],\n setThreadSubscription: [\n \"PUT /notifications/threads/{thread_id}/subscription\"\n ],\n starRepoForAuthenticatedUser: [\"PUT /user/starred/{owner}/{repo}\"],\n unstarRepoForAuthenticatedUser: [\"DELETE /user/starred/{owner}/{repo}\"]\n },\n apps: {\n addRepoToInstallation: [\n \"PUT /user/installations/{installation_id}/repositories/{repository_id}\",\n {},\n { renamed: [\"apps\", \"addRepoToInstallationForAuthenticatedUser\"] }\n ],\n addRepoToInstallationForAuthenticatedUser: [\n \"PUT /user/installations/{installation_id}/repositories/{repository_id}\"\n ],\n checkToken: [\"POST /applications/{client_id}/token\"],\n createFromManifest: [\"POST /app-manifests/{code}/conversions\"],\n createInstallationAccessToken: [\n \"POST /app/installations/{installation_id}/access_tokens\"\n ],\n deleteAuthorization: [\"DELETE /applications/{client_id}/grant\"],\n deleteInstallation: [\"DELETE /app/installations/{installation_id}\"],\n deleteToken: [\"DELETE /applications/{client_id}/token\"],\n getAuthenticated: [\"GET /app\"],\n getBySlug: [\"GET /apps/{app_slug}\"],\n getInstallation: [\"GET /app/installations/{installation_id}\"],\n getOrgInstallation: [\"GET /orgs/{org}/installation\"],\n getRepoInstallation: [\"GET /repos/{owner}/{repo}/installation\"],\n getSubscriptionPlanForAccount: [\n \"GET /marketplace_listing/accounts/{account_id}\"\n ],\n getSubscriptionPlanForAccountStubbed: [\n \"GET /marketplace_listing/stubbed/accounts/{account_id}\"\n ],\n getUserInstallation: [\"GET /users/{username}/installation\"],\n getWebhookConfigForApp: [\"GET /app/hook/config\"],\n getWebhookDelivery: [\"GET /app/hook/deliveries/{delivery_id}\"],\n listAccountsForPlan: [\"GET /marketplace_listing/plans/{plan_id}/accounts\"],\n listAccountsForPlanStubbed: [\n \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\"\n ],\n listInstallationReposForAuthenticatedUser: [\n \"GET /user/installations/{installation_id}/repositories\"\n ],\n listInstallationRequestsForAuthenticatedApp: [\n \"GET /app/installation-requests\"\n ],\n listInstallations: [\"GET /app/installations\"],\n listInstallationsForAuthenticatedUser: [\"GET /user/installations\"],\n listPlans: [\"GET /marketplace_listing/plans\"],\n listPlansStubbed: [\"GET /marketplace_listing/stubbed/plans\"],\n listReposAccessibleToInstallation: [\"GET /installation/repositories\"],\n listSubscriptionsForAuthenticatedUser: [\"GET /user/marketplace_purchases\"],\n listSubscriptionsForAuthenticatedUserStubbed: [\n \"GET /user/marketplace_purchases/stubbed\"\n ],\n listWebhookDeliveries: [\"GET /app/hook/deliveries\"],\n redeliverWebhookDelivery: [\n \"POST /app/hook/deliveries/{delivery_id}/attempts\"\n ],\n removeRepoFromInstallation: [\n \"DELETE /user/installations/{installation_id}/repositories/{repository_id}\",\n {},\n { renamed: [\"apps\", \"removeRepoFromInstallationForAuthenticatedUser\"] }\n ],\n removeRepoFromInstallationForAuthenticatedUser: [\n \"DELETE /user/installations/{installation_id}/repositories/{repository_id}\"\n ],\n resetToken: [\"PATCH /applications/{client_id}/token\"],\n revokeInstallationAccessToken: [\"DELETE /installation/token\"],\n scopeToken: [\"POST /applications/{client_id}/token/scoped\"],\n suspendInstallation: [\"PUT /app/installations/{installation_id}/suspended\"],\n unsuspendInstallation: [\n \"DELETE /app/installations/{installation_id}/suspended\"\n ],\n updateWebhookConfigForApp: [\"PATCH /app/hook/config\"]\n },\n billing: {\n getGithubActionsBillingOrg: [\"GET /orgs/{org}/settings/billing/actions\"],\n getGithubActionsBillingUser: [\n \"GET /users/{username}/settings/billing/actions\"\n ],\n getGithubBillingUsageReportOrg: [\n \"GET /organizations/{org}/settings/billing/usage\"\n ],\n getGithubBillingUsageReportUser: [\n \"GET /users/{username}/settings/billing/usage\"\n ],\n getGithubPackagesBillingOrg: [\"GET /orgs/{org}/settings/billing/packages\"],\n getGithubPackagesBillingUser: [\n \"GET /users/{username}/settings/billing/packages\"\n ],\n getSharedStorageBillingOrg: [\n \"GET /orgs/{org}/settings/billing/shared-storage\"\n ],\n getSharedStorageBillingUser: [\n \"GET /users/{username}/settings/billing/shared-storage\"\n ]\n },\n campaigns: {\n createCampaign: [\"POST /orgs/{org}/campaigns\"],\n deleteCampaign: [\"DELETE /orgs/{org}/campaigns/{campaign_number}\"],\n getCampaignSummary: [\"GET /orgs/{org}/campaigns/{campaign_number}\"],\n listOrgCampaigns: [\"GET /orgs/{org}/campaigns\"],\n updateCampaign: [\"PATCH /orgs/{org}/campaigns/{campaign_number}\"]\n },\n checks: {\n create: [\"POST /repos/{owner}/{repo}/check-runs\"],\n createSuite: [\"POST /repos/{owner}/{repo}/check-suites\"],\n get: [\"GET /repos/{owner}/{repo}/check-runs/{check_run_id}\"],\n getSuite: [\"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}\"],\n listAnnotations: [\n \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\"\n ],\n listForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\"],\n listForSuite: [\n \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\"\n ],\n listSuitesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\"],\n rerequestRun: [\n \"POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest\"\n ],\n rerequestSuite: [\n \"POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest\"\n ],\n setSuitesPreferences: [\n \"PATCH /repos/{owner}/{repo}/check-suites/preferences\"\n ],\n update: [\"PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}\"]\n },\n codeScanning: {\n commitAutofix: [\n \"POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix/commits\"\n ],\n createAutofix: [\n \"POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix\"\n ],\n createVariantAnalysis: [\n \"POST /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses\"\n ],\n deleteAnalysis: [\n \"DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}\"\n ],\n deleteCodeqlDatabase: [\n \"DELETE /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}\"\n ],\n getAlert: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\",\n {},\n { renamedParameters: { alert_id: \"alert_number\" } }\n ],\n getAnalysis: [\n \"GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}\"\n ],\n getAutofix: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix\"\n ],\n getCodeqlDatabase: [\n \"GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}\"\n ],\n getDefaultSetup: [\"GET /repos/{owner}/{repo}/code-scanning/default-setup\"],\n getSarif: [\"GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}\"],\n getVariantAnalysis: [\n \"GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}\"\n ],\n getVariantAnalysisRepoTask: [\n \"GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}/repos/{repo_owner}/{repo_name}\"\n ],\n listAlertInstances: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\"\n ],\n listAlertsForOrg: [\"GET /orgs/{org}/code-scanning/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/code-scanning/alerts\"],\n listAlertsInstances: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n {},\n { renamed: [\"codeScanning\", \"listAlertInstances\"] }\n ],\n listCodeqlDatabases: [\n \"GET /repos/{owner}/{repo}/code-scanning/codeql/databases\"\n ],\n listRecentAnalyses: [\"GET /repos/{owner}/{repo}/code-scanning/analyses\"],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\"\n ],\n updateDefaultSetup: [\n \"PATCH /repos/{owner}/{repo}/code-scanning/default-setup\"\n ],\n uploadSarif: [\"POST /repos/{owner}/{repo}/code-scanning/sarifs\"]\n },\n codeSecurity: {\n attachConfiguration: [\n \"POST /orgs/{org}/code-security/configurations/{configuration_id}/attach\"\n ],\n attachEnterpriseConfiguration: [\n \"POST /enterprises/{enterprise}/code-security/configurations/{configuration_id}/attach\"\n ],\n createConfiguration: [\"POST /orgs/{org}/code-security/configurations\"],\n createConfigurationForEnterprise: [\n \"POST /enterprises/{enterprise}/code-security/configurations\"\n ],\n deleteConfiguration: [\n \"DELETE /orgs/{org}/code-security/configurations/{configuration_id}\"\n ],\n deleteConfigurationForEnterprise: [\n \"DELETE /enterprises/{enterprise}/code-security/configurations/{configuration_id}\"\n ],\n detachConfiguration: [\n \"DELETE /orgs/{org}/code-security/configurations/detach\"\n ],\n getConfiguration: [\n \"GET /orgs/{org}/code-security/configurations/{configuration_id}\"\n ],\n getConfigurationForRepository: [\n \"GET /repos/{owner}/{repo}/code-security-configuration\"\n ],\n getConfigurationsForEnterprise: [\n \"GET /enterprises/{enterprise}/code-security/configurations\"\n ],\n getConfigurationsForOrg: [\"GET /orgs/{org}/code-security/configurations\"],\n getDefaultConfigurations: [\n \"GET /orgs/{org}/code-security/configurations/defaults\"\n ],\n getDefaultConfigurationsForEnterprise: [\n \"GET /enterprises/{enterprise}/code-security/configurations/defaults\"\n ],\n getRepositoriesForConfiguration: [\n \"GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories\"\n ],\n getRepositoriesForEnterpriseConfiguration: [\n \"GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories\"\n ],\n getSingleConfigurationForEnterprise: [\n \"GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}\"\n ],\n setConfigurationAsDefault: [\n \"PUT /orgs/{org}/code-security/configurations/{configuration_id}/defaults\"\n ],\n setConfigurationAsDefaultForEnterprise: [\n \"PUT /enterprises/{enterprise}/code-security/configurations/{configuration_id}/defaults\"\n ],\n updateConfiguration: [\n \"PATCH /orgs/{org}/code-security/configurations/{configuration_id}\"\n ],\n updateEnterpriseConfiguration: [\n \"PATCH /enterprises/{enterprise}/code-security/configurations/{configuration_id}\"\n ]\n },\n codesOfConduct: {\n getAllCodesOfConduct: [\"GET /codes_of_conduct\"],\n getConductCode: [\"GET /codes_of_conduct/{key}\"]\n },\n codespaces: {\n addRepositoryForSecretForAuthenticatedUser: [\n \"PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n addSelectedRepoToOrgSecret: [\n \"PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n checkPermissionsForDevcontainer: [\n \"GET /repos/{owner}/{repo}/codespaces/permissions_check\"\n ],\n codespaceMachinesForAuthenticatedUser: [\n \"GET /user/codespaces/{codespace_name}/machines\"\n ],\n createForAuthenticatedUser: [\"POST /user/codespaces\"],\n createOrUpdateOrgSecret: [\n \"PUT /orgs/{org}/codespaces/secrets/{secret_name}\"\n ],\n createOrUpdateRepoSecret: [\n \"PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"\n ],\n createOrUpdateSecretForAuthenticatedUser: [\n \"PUT /user/codespaces/secrets/{secret_name}\"\n ],\n createWithPrForAuthenticatedUser: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces\"\n ],\n createWithRepoForAuthenticatedUser: [\n \"POST /repos/{owner}/{repo}/codespaces\"\n ],\n deleteForAuthenticatedUser: [\"DELETE /user/codespaces/{codespace_name}\"],\n deleteFromOrganization: [\n \"DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}\"\n ],\n deleteOrgSecret: [\"DELETE /orgs/{org}/codespaces/secrets/{secret_name}\"],\n deleteRepoSecret: [\n \"DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"\n ],\n deleteSecretForAuthenticatedUser: [\n \"DELETE /user/codespaces/secrets/{secret_name}\"\n ],\n exportForAuthenticatedUser: [\n \"POST /user/codespaces/{codespace_name}/exports\"\n ],\n getCodespacesForUserInOrg: [\n \"GET /orgs/{org}/members/{username}/codespaces\"\n ],\n getExportDetailsForAuthenticatedUser: [\n \"GET /user/codespaces/{codespace_name}/exports/{export_id}\"\n ],\n getForAuthenticatedUser: [\"GET /user/codespaces/{codespace_name}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/codespaces/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/codespaces/secrets/{secret_name}\"],\n getPublicKeyForAuthenticatedUser: [\n \"GET /user/codespaces/secrets/public-key\"\n ],\n getRepoPublicKey: [\n \"GET /repos/{owner}/{repo}/codespaces/secrets/public-key\"\n ],\n getRepoSecret: [\n \"GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"\n ],\n getSecretForAuthenticatedUser: [\n \"GET /user/codespaces/secrets/{secret_name}\"\n ],\n listDevcontainersInRepositoryForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces/devcontainers\"\n ],\n listForAuthenticatedUser: [\"GET /user/codespaces\"],\n listInOrganization: [\n \"GET /orgs/{org}/codespaces\",\n {},\n { renamedParameters: { org_id: \"org\" } }\n ],\n listInRepositoryForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces\"\n ],\n listOrgSecrets: [\"GET /orgs/{org}/codespaces/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/codespaces/secrets\"],\n listRepositoriesForSecretForAuthenticatedUser: [\n \"GET /user/codespaces/secrets/{secret_name}/repositories\"\n ],\n listSecretsForAuthenticatedUser: [\"GET /user/codespaces/secrets\"],\n listSelectedReposForOrgSecret: [\n \"GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories\"\n ],\n preFlightWithRepoForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces/new\"\n ],\n publishForAuthenticatedUser: [\n \"POST /user/codespaces/{codespace_name}/publish\"\n ],\n removeRepositoryForSecretForAuthenticatedUser: [\n \"DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n removeSelectedRepoFromOrgSecret: [\n \"DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n repoMachinesForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces/machines\"\n ],\n setRepositoriesForSecretForAuthenticatedUser: [\n \"PUT /user/codespaces/secrets/{secret_name}/repositories\"\n ],\n setSelectedReposForOrgSecret: [\n \"PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories\"\n ],\n startForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/start\"],\n stopForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/stop\"],\n stopInOrganization: [\n \"POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop\"\n ],\n updateForAuthenticatedUser: [\"PATCH /user/codespaces/{codespace_name}\"]\n },\n copilot: {\n addCopilotSeatsForTeams: [\n \"POST /orgs/{org}/copilot/billing/selected_teams\"\n ],\n addCopilotSeatsForUsers: [\n \"POST /orgs/{org}/copilot/billing/selected_users\"\n ],\n cancelCopilotSeatAssignmentForTeams: [\n \"DELETE /orgs/{org}/copilot/billing/selected_teams\"\n ],\n cancelCopilotSeatAssignmentForUsers: [\n \"DELETE /orgs/{org}/copilot/billing/selected_users\"\n ],\n copilotMetricsForOrganization: [\"GET /orgs/{org}/copilot/metrics\"],\n copilotMetricsForTeam: [\"GET /orgs/{org}/team/{team_slug}/copilot/metrics\"],\n getCopilotOrganizationDetails: [\"GET /orgs/{org}/copilot/billing\"],\n getCopilotSeatDetailsForUser: [\n \"GET /orgs/{org}/members/{username}/copilot\"\n ],\n listCopilotSeats: [\"GET /orgs/{org}/copilot/billing/seats\"]\n },\n credentials: { revoke: [\"POST /credentials/revoke\"] },\n dependabot: {\n addSelectedRepoToOrgSecret: [\n \"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n createOrUpdateOrgSecret: [\n \"PUT /orgs/{org}/dependabot/secrets/{secret_name}\"\n ],\n createOrUpdateRepoSecret: [\n \"PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"\n ],\n deleteOrgSecret: [\"DELETE /orgs/{org}/dependabot/secrets/{secret_name}\"],\n deleteRepoSecret: [\n \"DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"\n ],\n getAlert: [\"GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/dependabot/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/dependabot/secrets/{secret_name}\"],\n getRepoPublicKey: [\n \"GET /repos/{owner}/{repo}/dependabot/secrets/public-key\"\n ],\n getRepoSecret: [\n \"GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"\n ],\n listAlertsForEnterprise: [\n \"GET /enterprises/{enterprise}/dependabot/alerts\"\n ],\n listAlertsForOrg: [\"GET /orgs/{org}/dependabot/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/dependabot/alerts\"],\n listOrgSecrets: [\"GET /orgs/{org}/dependabot/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/dependabot/secrets\"],\n listSelectedReposForOrgSecret: [\n \"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\"\n ],\n removeSelectedRepoFromOrgSecret: [\n \"DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n repositoryAccessForOrg: [\n \"GET /organizations/{org}/dependabot/repository-access\"\n ],\n setRepositoryAccessDefaultLevel: [\n \"PUT /organizations/{org}/dependabot/repository-access/default-level\"\n ],\n setSelectedReposForOrgSecret: [\n \"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories\"\n ],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}\"\n ],\n updateRepositoryAccessForOrg: [\n \"PATCH /organizations/{org}/dependabot/repository-access\"\n ]\n },\n dependencyGraph: {\n createRepositorySnapshot: [\n \"POST /repos/{owner}/{repo}/dependency-graph/snapshots\"\n ],\n diffRange: [\n \"GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}\"\n ],\n exportSbom: [\"GET /repos/{owner}/{repo}/dependency-graph/sbom\"]\n },\n emojis: { get: [\"GET /emojis\"] },\n gists: {\n checkIsStarred: [\"GET /gists/{gist_id}/star\"],\n create: [\"POST /gists\"],\n createComment: [\"POST /gists/{gist_id}/comments\"],\n delete: [\"DELETE /gists/{gist_id}\"],\n deleteComment: [\"DELETE /gists/{gist_id}/comments/{comment_id}\"],\n fork: [\"POST /gists/{gist_id}/forks\"],\n get: [\"GET /gists/{gist_id}\"],\n getComment: [\"GET /gists/{gist_id}/comments/{comment_id}\"],\n getRevision: [\"GET /gists/{gist_id}/{sha}\"],\n list: [\"GET /gists\"],\n listComments: [\"GET /gists/{gist_id}/comments\"],\n listCommits: [\"GET /gists/{gist_id}/commits\"],\n listForUser: [\"GET /users/{username}/gists\"],\n listForks: [\"GET /gists/{gist_id}/forks\"],\n listPublic: [\"GET /gists/public\"],\n listStarred: [\"GET /gists/starred\"],\n star: [\"PUT /gists/{gist_id}/star\"],\n unstar: [\"DELETE /gists/{gist_id}/star\"],\n update: [\"PATCH /gists/{gist_id}\"],\n updateComment: [\"PATCH /gists/{gist_id}/comments/{comment_id}\"]\n },\n git: {\n createBlob: [\"POST /repos/{owner}/{repo}/git/blobs\"],\n createCommit: [\"POST /repos/{owner}/{repo}/git/commits\"],\n createRef: [\"POST /repos/{owner}/{repo}/git/refs\"],\n createTag: [\"POST /repos/{owner}/{repo}/git/tags\"],\n createTree: [\"POST /repos/{owner}/{repo}/git/trees\"],\n deleteRef: [\"DELETE /repos/{owner}/{repo}/git/refs/{ref}\"],\n getBlob: [\"GET /repos/{owner}/{repo}/git/blobs/{file_sha}\"],\n getCommit: [\"GET /repos/{owner}/{repo}/git/commits/{commit_sha}\"],\n getRef: [\"GET /repos/{owner}/{repo}/git/ref/{ref}\"],\n getTag: [\"GET /repos/{owner}/{repo}/git/tags/{tag_sha}\"],\n getTree: [\"GET /repos/{owner}/{repo}/git/trees/{tree_sha}\"],\n listMatchingRefs: [\"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\"],\n updateRef: [\"PATCH /repos/{owner}/{repo}/git/refs/{ref}\"]\n },\n gitignore: {\n getAllTemplates: [\"GET /gitignore/templates\"],\n getTemplate: [\"GET /gitignore/templates/{name}\"]\n },\n hostedCompute: {\n createNetworkConfigurationForOrg: [\n \"POST /orgs/{org}/settings/network-configurations\"\n ],\n deleteNetworkConfigurationFromOrg: [\n \"DELETE /orgs/{org}/settings/network-configurations/{network_configuration_id}\"\n ],\n getNetworkConfigurationForOrg: [\n \"GET /orgs/{org}/settings/network-configurations/{network_configuration_id}\"\n ],\n getNetworkSettingsForOrg: [\n \"GET /orgs/{org}/settings/network-settings/{network_settings_id}\"\n ],\n listNetworkConfigurationsForOrg: [\n \"GET /orgs/{org}/settings/network-configurations\"\n ],\n updateNetworkConfigurationForOrg: [\n \"PATCH /orgs/{org}/settings/network-configurations/{network_configuration_id}\"\n ]\n },\n interactions: {\n getRestrictionsForAuthenticatedUser: [\"GET /user/interaction-limits\"],\n getRestrictionsForOrg: [\"GET /orgs/{org}/interaction-limits\"],\n getRestrictionsForRepo: [\"GET /repos/{owner}/{repo}/interaction-limits\"],\n getRestrictionsForYourPublicRepos: [\n \"GET /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"getRestrictionsForAuthenticatedUser\"] }\n ],\n removeRestrictionsForAuthenticatedUser: [\"DELETE /user/interaction-limits\"],\n removeRestrictionsForOrg: [\"DELETE /orgs/{org}/interaction-limits\"],\n removeRestrictionsForRepo: [\n \"DELETE /repos/{owner}/{repo}/interaction-limits\"\n ],\n removeRestrictionsForYourPublicRepos: [\n \"DELETE /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"removeRestrictionsForAuthenticatedUser\"] }\n ],\n setRestrictionsForAuthenticatedUser: [\"PUT /user/interaction-limits\"],\n setRestrictionsForOrg: [\"PUT /orgs/{org}/interaction-limits\"],\n setRestrictionsForRepo: [\"PUT /repos/{owner}/{repo}/interaction-limits\"],\n setRestrictionsForYourPublicRepos: [\n \"PUT /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"setRestrictionsForAuthenticatedUser\"] }\n ]\n },\n issues: {\n addAssignees: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/assignees\"\n ],\n addBlockedByDependency: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by\"\n ],\n addLabels: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n addSubIssue: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/sub_issues\"\n ],\n checkUserCanBeAssigned: [\"GET /repos/{owner}/{repo}/assignees/{assignee}\"],\n checkUserCanBeAssignedToIssue: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}\"\n ],\n create: [\"POST /repos/{owner}/{repo}/issues\"],\n createComment: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/comments\"\n ],\n createLabel: [\"POST /repos/{owner}/{repo}/labels\"],\n createMilestone: [\"POST /repos/{owner}/{repo}/milestones\"],\n deleteComment: [\n \"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}\"\n ],\n deleteLabel: [\"DELETE /repos/{owner}/{repo}/labels/{name}\"],\n deleteMilestone: [\n \"DELETE /repos/{owner}/{repo}/milestones/{milestone_number}\"\n ],\n get: [\"GET /repos/{owner}/{repo}/issues/{issue_number}\"],\n getComment: [\"GET /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n getEvent: [\"GET /repos/{owner}/{repo}/issues/events/{event_id}\"],\n getLabel: [\"GET /repos/{owner}/{repo}/labels/{name}\"],\n getMilestone: [\"GET /repos/{owner}/{repo}/milestones/{milestone_number}\"],\n getParent: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/parent\"],\n list: [\"GET /issues\"],\n listAssignees: [\"GET /repos/{owner}/{repo}/assignees\"],\n listComments: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\"],\n listCommentsForRepo: [\"GET /repos/{owner}/{repo}/issues/comments\"],\n listDependenciesBlockedBy: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by\"\n ],\n listDependenciesBlocking: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocking\"\n ],\n listEvents: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/events\"],\n listEventsForRepo: [\"GET /repos/{owner}/{repo}/issues/events\"],\n listEventsForTimeline: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\"\n ],\n listForAuthenticatedUser: [\"GET /user/issues\"],\n listForOrg: [\"GET /orgs/{org}/issues\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/issues\"],\n listLabelsForMilestone: [\n \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\"\n ],\n listLabelsForRepo: [\"GET /repos/{owner}/{repo}/labels\"],\n listLabelsOnIssue: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\"\n ],\n listMilestones: [\"GET /repos/{owner}/{repo}/milestones\"],\n listSubIssues: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues\"\n ],\n lock: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n removeAllLabels: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels\"\n ],\n removeAssignees: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees\"\n ],\n removeDependencyBlockedBy: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by/{issue_id}\"\n ],\n removeLabel: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}\"\n ],\n removeSubIssue: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/sub_issue\"\n ],\n reprioritizeSubIssue: [\n \"PATCH /repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority\"\n ],\n setLabels: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n unlock: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n update: [\"PATCH /repos/{owner}/{repo}/issues/{issue_number}\"],\n updateComment: [\"PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n updateLabel: [\"PATCH /repos/{owner}/{repo}/labels/{name}\"],\n updateMilestone: [\n \"PATCH /repos/{owner}/{repo}/milestones/{milestone_number}\"\n ]\n },\n licenses: {\n get: [\"GET /licenses/{license}\"],\n getAllCommonlyUsed: [\"GET /licenses\"],\n getForRepo: [\"GET /repos/{owner}/{repo}/license\"]\n },\n markdown: {\n render: [\"POST /markdown\"],\n renderRaw: [\n \"POST /markdown/raw\",\n { headers: { \"content-type\": \"text/plain; charset=utf-8\" } }\n ]\n },\n meta: {\n get: [\"GET /meta\"],\n getAllVersions: [\"GET /versions\"],\n getOctocat: [\"GET /octocat\"],\n getZen: [\"GET /zen\"],\n root: [\"GET /\"]\n },\n migrations: {\n deleteArchiveForAuthenticatedUser: [\n \"DELETE /user/migrations/{migration_id}/archive\"\n ],\n deleteArchiveForOrg: [\n \"DELETE /orgs/{org}/migrations/{migration_id}/archive\"\n ],\n downloadArchiveForOrg: [\n \"GET /orgs/{org}/migrations/{migration_id}/archive\"\n ],\n getArchiveForAuthenticatedUser: [\n \"GET /user/migrations/{migration_id}/archive\"\n ],\n getStatusForAuthenticatedUser: [\"GET /user/migrations/{migration_id}\"],\n getStatusForOrg: [\"GET /orgs/{org}/migrations/{migration_id}\"],\n listForAuthenticatedUser: [\"GET /user/migrations\"],\n listForOrg: [\"GET /orgs/{org}/migrations\"],\n listReposForAuthenticatedUser: [\n \"GET /user/migrations/{migration_id}/repositories\"\n ],\n listReposForOrg: [\"GET /orgs/{org}/migrations/{migration_id}/repositories\"],\n listReposForUser: [\n \"GET /user/migrations/{migration_id}/repositories\",\n {},\n { renamed: [\"migrations\", \"listReposForAuthenticatedUser\"] }\n ],\n startForAuthenticatedUser: [\"POST /user/migrations\"],\n startForOrg: [\"POST /orgs/{org}/migrations\"],\n unlockRepoForAuthenticatedUser: [\n \"DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock\"\n ],\n unlockRepoForOrg: [\n \"DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock\"\n ]\n },\n oidc: {\n getOidcCustomSubTemplateForOrg: [\n \"GET /orgs/{org}/actions/oidc/customization/sub\"\n ],\n updateOidcCustomSubTemplateForOrg: [\n \"PUT /orgs/{org}/actions/oidc/customization/sub\"\n ]\n },\n orgs: {\n addSecurityManagerTeam: [\n \"PUT /orgs/{org}/security-managers/teams/{team_slug}\",\n {},\n {\n deprecated: \"octokit.rest.orgs.addSecurityManagerTeam() is deprecated, see https://docs.github.com/rest/orgs/security-managers#add-a-security-manager-team\"\n }\n ],\n assignTeamToOrgRole: [\n \"PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}\"\n ],\n assignUserToOrgRole: [\n \"PUT /orgs/{org}/organization-roles/users/{username}/{role_id}\"\n ],\n blockUser: [\"PUT /orgs/{org}/blocks/{username}\"],\n cancelInvitation: [\"DELETE /orgs/{org}/invitations/{invitation_id}\"],\n checkBlockedUser: [\"GET /orgs/{org}/blocks/{username}\"],\n checkMembershipForUser: [\"GET /orgs/{org}/members/{username}\"],\n checkPublicMembershipForUser: [\"GET /orgs/{org}/public_members/{username}\"],\n convertMemberToOutsideCollaborator: [\n \"PUT /orgs/{org}/outside_collaborators/{username}\"\n ],\n createArtifactStorageRecord: [\n \"POST /orgs/{org}/artifacts/metadata/storage-record\"\n ],\n createInvitation: [\"POST /orgs/{org}/invitations\"],\n createIssueType: [\"POST /orgs/{org}/issue-types\"],\n createOrUpdateCustomProperties: [\"PATCH /orgs/{org}/properties/schema\"],\n createOrUpdateCustomPropertiesValuesForRepos: [\n \"PATCH /orgs/{org}/properties/values\"\n ],\n createOrUpdateCustomProperty: [\n \"PUT /orgs/{org}/properties/schema/{custom_property_name}\"\n ],\n createWebhook: [\"POST /orgs/{org}/hooks\"],\n delete: [\"DELETE /orgs/{org}\"],\n deleteAttestationsBulk: [\"POST /orgs/{org}/attestations/delete-request\"],\n deleteAttestationsById: [\n \"DELETE /orgs/{org}/attestations/{attestation_id}\"\n ],\n deleteAttestationsBySubjectDigest: [\n \"DELETE /orgs/{org}/attestations/digest/{subject_digest}\"\n ],\n deleteIssueType: [\"DELETE /orgs/{org}/issue-types/{issue_type_id}\"],\n deleteWebhook: [\"DELETE /orgs/{org}/hooks/{hook_id}\"],\n get: [\"GET /orgs/{org}\"],\n getAllCustomProperties: [\"GET /orgs/{org}/properties/schema\"],\n getCustomProperty: [\n \"GET /orgs/{org}/properties/schema/{custom_property_name}\"\n ],\n getMembershipForAuthenticatedUser: [\"GET /user/memberships/orgs/{org}\"],\n getMembershipForUser: [\"GET /orgs/{org}/memberships/{username}\"],\n getOrgRole: [\"GET /orgs/{org}/organization-roles/{role_id}\"],\n getOrgRulesetHistory: [\"GET /orgs/{org}/rulesets/{ruleset_id}/history\"],\n getOrgRulesetVersion: [\n \"GET /orgs/{org}/rulesets/{ruleset_id}/history/{version_id}\"\n ],\n getWebhook: [\"GET /orgs/{org}/hooks/{hook_id}\"],\n getWebhookConfigForOrg: [\"GET /orgs/{org}/hooks/{hook_id}/config\"],\n getWebhookDelivery: [\n \"GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}\"\n ],\n list: [\"GET /organizations\"],\n listAppInstallations: [\"GET /orgs/{org}/installations\"],\n listArtifactStorageRecords: [\n \"GET /orgs/{org}/artifacts/{subject_digest}/metadata/storage-records\"\n ],\n listAttestations: [\"GET /orgs/{org}/attestations/{subject_digest}\"],\n listAttestationsBulk: [\n \"POST /orgs/{org}/attestations/bulk-list{?per_page,before,after}\"\n ],\n listBlockedUsers: [\"GET /orgs/{org}/blocks\"],\n listCustomPropertiesValuesForRepos: [\"GET /orgs/{org}/properties/values\"],\n listFailedInvitations: [\"GET /orgs/{org}/failed_invitations\"],\n listForAuthenticatedUser: [\"GET /user/orgs\"],\n listForUser: [\"GET /users/{username}/orgs\"],\n listInvitationTeams: [\"GET /orgs/{org}/invitations/{invitation_id}/teams\"],\n listIssueTypes: [\"GET /orgs/{org}/issue-types\"],\n listMembers: [\"GET /orgs/{org}/members\"],\n listMembershipsForAuthenticatedUser: [\"GET /user/memberships/orgs\"],\n listOrgRoleTeams: [\"GET /orgs/{org}/organization-roles/{role_id}/teams\"],\n listOrgRoleUsers: [\"GET /orgs/{org}/organization-roles/{role_id}/users\"],\n listOrgRoles: [\"GET /orgs/{org}/organization-roles\"],\n listOrganizationFineGrainedPermissions: [\n \"GET /orgs/{org}/organization-fine-grained-permissions\"\n ],\n listOutsideCollaborators: [\"GET /orgs/{org}/outside_collaborators\"],\n listPatGrantRepositories: [\n \"GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories\"\n ],\n listPatGrantRequestRepositories: [\n \"GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories\"\n ],\n listPatGrantRequests: [\"GET /orgs/{org}/personal-access-token-requests\"],\n listPatGrants: [\"GET /orgs/{org}/personal-access-tokens\"],\n listPendingInvitations: [\"GET /orgs/{org}/invitations\"],\n listPublicMembers: [\"GET /orgs/{org}/public_members\"],\n listSecurityManagerTeams: [\n \"GET /orgs/{org}/security-managers\",\n {},\n {\n deprecated: \"octokit.rest.orgs.listSecurityManagerTeams() is deprecated, see https://docs.github.com/rest/orgs/security-managers#list-security-manager-teams\"\n }\n ],\n listWebhookDeliveries: [\"GET /orgs/{org}/hooks/{hook_id}/deliveries\"],\n listWebhooks: [\"GET /orgs/{org}/hooks\"],\n pingWebhook: [\"POST /orgs/{org}/hooks/{hook_id}/pings\"],\n redeliverWebhookDelivery: [\n \"POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\"\n ],\n removeCustomProperty: [\n \"DELETE /orgs/{org}/properties/schema/{custom_property_name}\"\n ],\n removeMember: [\"DELETE /orgs/{org}/members/{username}\"],\n removeMembershipForUser: [\"DELETE /orgs/{org}/memberships/{username}\"],\n removeOutsideCollaborator: [\n \"DELETE /orgs/{org}/outside_collaborators/{username}\"\n ],\n removePublicMembershipForAuthenticatedUser: [\n \"DELETE /orgs/{org}/public_members/{username}\"\n ],\n removeSecurityManagerTeam: [\n \"DELETE /orgs/{org}/security-managers/teams/{team_slug}\",\n {},\n {\n deprecated: \"octokit.rest.orgs.removeSecurityManagerTeam() is deprecated, see https://docs.github.com/rest/orgs/security-managers#remove-a-security-manager-team\"\n }\n ],\n reviewPatGrantRequest: [\n \"POST /orgs/{org}/personal-access-token-requests/{pat_request_id}\"\n ],\n reviewPatGrantRequestsInBulk: [\n \"POST /orgs/{org}/personal-access-token-requests\"\n ],\n revokeAllOrgRolesTeam: [\n \"DELETE /orgs/{org}/organization-roles/teams/{team_slug}\"\n ],\n revokeAllOrgRolesUser: [\n \"DELETE /orgs/{org}/organization-roles/users/{username}\"\n ],\n revokeOrgRoleTeam: [\n \"DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}\"\n ],\n revokeOrgRoleUser: [\n \"DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}\"\n ],\n setMembershipForUser: [\"PUT /orgs/{org}/memberships/{username}\"],\n setPublicMembershipForAuthenticatedUser: [\n \"PUT /orgs/{org}/public_members/{username}\"\n ],\n unblockUser: [\"DELETE /orgs/{org}/blocks/{username}\"],\n update: [\"PATCH /orgs/{org}\"],\n updateIssueType: [\"PUT /orgs/{org}/issue-types/{issue_type_id}\"],\n updateMembershipForAuthenticatedUser: [\n \"PATCH /user/memberships/orgs/{org}\"\n ],\n updatePatAccess: [\"POST /orgs/{org}/personal-access-tokens/{pat_id}\"],\n updatePatAccesses: [\"POST /orgs/{org}/personal-access-tokens\"],\n updateWebhook: [\"PATCH /orgs/{org}/hooks/{hook_id}\"],\n updateWebhookConfigForOrg: [\"PATCH /orgs/{org}/hooks/{hook_id}/config\"]\n },\n packages: {\n deletePackageForAuthenticatedUser: [\n \"DELETE /user/packages/{package_type}/{package_name}\"\n ],\n deletePackageForOrg: [\n \"DELETE /orgs/{org}/packages/{package_type}/{package_name}\"\n ],\n deletePackageForUser: [\n \"DELETE /users/{username}/packages/{package_type}/{package_name}\"\n ],\n deletePackageVersionForAuthenticatedUser: [\n \"DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n deletePackageVersionForOrg: [\n \"DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n deletePackageVersionForUser: [\n \"DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n getAllPackageVersionsForAPackageOwnedByAnOrg: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\",\n {},\n { renamed: [\"packages\", \"getAllPackageVersionsForPackageOwnedByOrg\"] }\n ],\n getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions\",\n {},\n {\n renamed: [\n \"packages\",\n \"getAllPackageVersionsForPackageOwnedByAuthenticatedUser\"\n ]\n }\n ],\n getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions\"\n ],\n getAllPackageVersionsForPackageOwnedByOrg: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\"\n ],\n getAllPackageVersionsForPackageOwnedByUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}/versions\"\n ],\n getPackageForAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}\"\n ],\n getPackageForOrganization: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}\"\n ],\n getPackageForUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}\"\n ],\n getPackageVersionForAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n getPackageVersionForOrganization: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n getPackageVersionForUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n listDockerMigrationConflictingPackagesForAuthenticatedUser: [\n \"GET /user/docker/conflicts\"\n ],\n listDockerMigrationConflictingPackagesForOrganization: [\n \"GET /orgs/{org}/docker/conflicts\"\n ],\n listDockerMigrationConflictingPackagesForUser: [\n \"GET /users/{username}/docker/conflicts\"\n ],\n listPackagesForAuthenticatedUser: [\"GET /user/packages\"],\n listPackagesForOrganization: [\"GET /orgs/{org}/packages\"],\n listPackagesForUser: [\"GET /users/{username}/packages\"],\n restorePackageForAuthenticatedUser: [\n \"POST /user/packages/{package_type}/{package_name}/restore{?token}\"\n ],\n restorePackageForOrg: [\n \"POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}\"\n ],\n restorePackageForUser: [\n \"POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}\"\n ],\n restorePackageVersionForAuthenticatedUser: [\n \"POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"\n ],\n restorePackageVersionForOrg: [\n \"POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"\n ],\n restorePackageVersionForUser: [\n \"POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"\n ]\n },\n privateRegistries: {\n createOrgPrivateRegistry: [\"POST /orgs/{org}/private-registries\"],\n deleteOrgPrivateRegistry: [\n \"DELETE /orgs/{org}/private-registries/{secret_name}\"\n ],\n getOrgPrivateRegistry: [\"GET /orgs/{org}/private-registries/{secret_name}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/private-registries/public-key\"],\n listOrgPrivateRegistries: [\"GET /orgs/{org}/private-registries\"],\n updateOrgPrivateRegistry: [\n \"PATCH /orgs/{org}/private-registries/{secret_name}\"\n ]\n },\n projects: {\n addItemForOrg: [\"POST /orgs/{org}/projectsV2/{project_number}/items\"],\n addItemForUser: [\"POST /users/{user_id}/projectsV2/{project_number}/items\"],\n deleteItemForOrg: [\n \"DELETE /orgs/{org}/projectsV2/{project_number}/items/{item_id}\"\n ],\n deleteItemForUser: [\n \"DELETE /users/{user_id}/projectsV2/{project_number}/items/{item_id}\"\n ],\n getFieldForOrg: [\n \"GET /orgs/{org}/projectsV2/{project_number}/fields/{field_id}\"\n ],\n getFieldForUser: [\n \"GET /users/{user_id}/projectsV2/{project_number}/fields/{field_id}\"\n ],\n getForOrg: [\"GET /orgs/{org}/projectsV2/{project_number}\"],\n getForUser: [\"GET /users/{user_id}/projectsV2/{project_number}\"],\n getOrgItem: [\"GET /orgs/{org}/projectsV2/{project_number}/items/{item_id}\"],\n getUserItem: [\n \"GET /users/{user_id}/projectsV2/{project_number}/items/{item_id}\"\n ],\n listFieldsForOrg: [\"GET /orgs/{org}/projectsV2/{project_number}/fields\"],\n listFieldsForUser: [\n \"GET /users/{user_id}/projectsV2/{project_number}/fields\"\n ],\n listForOrg: [\"GET /orgs/{org}/projectsV2\"],\n listForUser: [\"GET /users/{username}/projectsV2\"],\n listItemsForOrg: [\"GET /orgs/{org}/projectsV2/{project_number}/items\"],\n listItemsForUser: [\n \"GET /users/{user_id}/projectsV2/{project_number}/items\"\n ],\n updateItemForOrg: [\n \"PATCH /orgs/{org}/projectsV2/{project_number}/items/{item_id}\"\n ],\n updateItemForUser: [\n \"PATCH /users/{user_id}/projectsV2/{project_number}/items/{item_id}\"\n ]\n },\n pulls: {\n checkIfMerged: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n create: [\"POST /repos/{owner}/{repo}/pulls\"],\n createReplyForReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies\"\n ],\n createReview: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n createReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments\"\n ],\n deletePendingReview: [\n \"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"\n ],\n deleteReviewComment: [\n \"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}\"\n ],\n dismissReview: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals\"\n ],\n get: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}\"],\n getReview: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"\n ],\n getReviewComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}\"],\n list: [\"GET /repos/{owner}/{repo}/pulls\"],\n listCommentsForReview: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\"\n ],\n listCommits: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\"],\n listFiles: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\"],\n listRequestedReviewers: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"\n ],\n listReviewComments: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\"\n ],\n listReviewCommentsForRepo: [\"GET /repos/{owner}/{repo}/pulls/comments\"],\n listReviews: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n merge: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n removeRequestedReviewers: [\n \"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"\n ],\n requestReviewers: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"\n ],\n submitReview: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events\"\n ],\n update: [\"PATCH /repos/{owner}/{repo}/pulls/{pull_number}\"],\n updateBranch: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch\"\n ],\n updateReview: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"\n ],\n updateReviewComment: [\n \"PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}\"\n ]\n },\n rateLimit: { get: [\"GET /rate_limit\"] },\n reactions: {\n createForCommitComment: [\n \"POST /repos/{owner}/{repo}/comments/{comment_id}/reactions\"\n ],\n createForIssue: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/reactions\"\n ],\n createForIssueComment: [\n \"POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\"\n ],\n createForPullRequestReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\"\n ],\n createForRelease: [\n \"POST /repos/{owner}/{repo}/releases/{release_id}/reactions\"\n ],\n createForTeamDiscussionCommentInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\"\n ],\n createForTeamDiscussionInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\"\n ],\n deleteForCommitComment: [\n \"DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}\"\n ],\n deleteForIssue: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}\"\n ],\n deleteForIssueComment: [\n \"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}\"\n ],\n deleteForPullRequestComment: [\n \"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}\"\n ],\n deleteForRelease: [\n \"DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}\"\n ],\n deleteForTeamDiscussion: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}\"\n ],\n deleteForTeamDiscussionComment: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}\"\n ],\n listForCommitComment: [\n \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\"\n ],\n listForIssue: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\"],\n listForIssueComment: [\n \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\"\n ],\n listForPullRequestReviewComment: [\n \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\"\n ],\n listForRelease: [\n \"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\"\n ],\n listForTeamDiscussionCommentInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\"\n ],\n listForTeamDiscussionInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\"\n ]\n },\n repos: {\n acceptInvitation: [\n \"PATCH /user/repository_invitations/{invitation_id}\",\n {},\n { renamed: [\"repos\", \"acceptInvitationForAuthenticatedUser\"] }\n ],\n acceptInvitationForAuthenticatedUser: [\n \"PATCH /user/repository_invitations/{invitation_id}\"\n ],\n addAppAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" }\n ],\n addCollaborator: [\"PUT /repos/{owner}/{repo}/collaborators/{username}\"],\n addStatusCheckContexts: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" }\n ],\n addTeamAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" }\n ],\n addUserAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" }\n ],\n cancelPagesDeployment: [\n \"POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel\"\n ],\n checkAutomatedSecurityFixes: [\n \"GET /repos/{owner}/{repo}/automated-security-fixes\"\n ],\n checkCollaborator: [\"GET /repos/{owner}/{repo}/collaborators/{username}\"],\n checkPrivateVulnerabilityReporting: [\n \"GET /repos/{owner}/{repo}/private-vulnerability-reporting\"\n ],\n checkVulnerabilityAlerts: [\n \"GET /repos/{owner}/{repo}/vulnerability-alerts\"\n ],\n codeownersErrors: [\"GET /repos/{owner}/{repo}/codeowners/errors\"],\n compareCommits: [\"GET /repos/{owner}/{repo}/compare/{base}...{head}\"],\n compareCommitsWithBasehead: [\n \"GET /repos/{owner}/{repo}/compare/{basehead}\"\n ],\n createAttestation: [\"POST /repos/{owner}/{repo}/attestations\"],\n createAutolink: [\"POST /repos/{owner}/{repo}/autolinks\"],\n createCommitComment: [\n \"POST /repos/{owner}/{repo}/commits/{commit_sha}/comments\"\n ],\n createCommitSignatureProtection: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"\n ],\n createCommitStatus: [\"POST /repos/{owner}/{repo}/statuses/{sha}\"],\n createDeployKey: [\"POST /repos/{owner}/{repo}/keys\"],\n createDeployment: [\"POST /repos/{owner}/{repo}/deployments\"],\n createDeploymentBranchPolicy: [\n \"POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies\"\n ],\n createDeploymentProtectionRule: [\n \"POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules\"\n ],\n createDeploymentStatus: [\n \"POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\"\n ],\n createDispatchEvent: [\"POST /repos/{owner}/{repo}/dispatches\"],\n createForAuthenticatedUser: [\"POST /user/repos\"],\n createFork: [\"POST /repos/{owner}/{repo}/forks\"],\n createInOrg: [\"POST /orgs/{org}/repos\"],\n createOrUpdateCustomPropertiesValues: [\n \"PATCH /repos/{owner}/{repo}/properties/values\"\n ],\n createOrUpdateEnvironment: [\n \"PUT /repos/{owner}/{repo}/environments/{environment_name}\"\n ],\n createOrUpdateFileContents: [\"PUT /repos/{owner}/{repo}/contents/{path}\"],\n createOrgRuleset: [\"POST /orgs/{org}/rulesets\"],\n createPagesDeployment: [\"POST /repos/{owner}/{repo}/pages/deployments\"],\n createPagesSite: [\"POST /repos/{owner}/{repo}/pages\"],\n createRelease: [\"POST /repos/{owner}/{repo}/releases\"],\n createRepoRuleset: [\"POST /repos/{owner}/{repo}/rulesets\"],\n createUsingTemplate: [\n \"POST /repos/{template_owner}/{template_repo}/generate\"\n ],\n createWebhook: [\"POST /repos/{owner}/{repo}/hooks\"],\n declineInvitation: [\n \"DELETE /user/repository_invitations/{invitation_id}\",\n {},\n { renamed: [\"repos\", \"declineInvitationForAuthenticatedUser\"] }\n ],\n declineInvitationForAuthenticatedUser: [\n \"DELETE /user/repository_invitations/{invitation_id}\"\n ],\n delete: [\"DELETE /repos/{owner}/{repo}\"],\n deleteAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\"\n ],\n deleteAdminBranchProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"\n ],\n deleteAnEnvironment: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}\"\n ],\n deleteAutolink: [\"DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\n deleteBranchProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection\"\n ],\n deleteCommitComment: [\"DELETE /repos/{owner}/{repo}/comments/{comment_id}\"],\n deleteCommitSignatureProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"\n ],\n deleteDeployKey: [\"DELETE /repos/{owner}/{repo}/keys/{key_id}\"],\n deleteDeployment: [\n \"DELETE /repos/{owner}/{repo}/deployments/{deployment_id}\"\n ],\n deleteDeploymentBranchPolicy: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}\"\n ],\n deleteFile: [\"DELETE /repos/{owner}/{repo}/contents/{path}\"],\n deleteInvitation: [\n \"DELETE /repos/{owner}/{repo}/invitations/{invitation_id}\"\n ],\n deleteOrgRuleset: [\"DELETE /orgs/{org}/rulesets/{ruleset_id}\"],\n deletePagesSite: [\"DELETE /repos/{owner}/{repo}/pages\"],\n deletePullRequestReviewProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"\n ],\n deleteRelease: [\"DELETE /repos/{owner}/{repo}/releases/{release_id}\"],\n deleteReleaseAsset: [\n \"DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}\"\n ],\n deleteRepoRuleset: [\"DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}\"],\n deleteWebhook: [\"DELETE /repos/{owner}/{repo}/hooks/{hook_id}\"],\n disableAutomatedSecurityFixes: [\n \"DELETE /repos/{owner}/{repo}/automated-security-fixes\"\n ],\n disableDeploymentProtectionRule: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}\"\n ],\n disablePrivateVulnerabilityReporting: [\n \"DELETE /repos/{owner}/{repo}/private-vulnerability-reporting\"\n ],\n disableVulnerabilityAlerts: [\n \"DELETE /repos/{owner}/{repo}/vulnerability-alerts\"\n ],\n downloadArchive: [\n \"GET /repos/{owner}/{repo}/zipball/{ref}\",\n {},\n { renamed: [\"repos\", \"downloadZipballArchive\"] }\n ],\n downloadTarballArchive: [\"GET /repos/{owner}/{repo}/tarball/{ref}\"],\n downloadZipballArchive: [\"GET /repos/{owner}/{repo}/zipball/{ref}\"],\n enableAutomatedSecurityFixes: [\n \"PUT /repos/{owner}/{repo}/automated-security-fixes\"\n ],\n enablePrivateVulnerabilityReporting: [\n \"PUT /repos/{owner}/{repo}/private-vulnerability-reporting\"\n ],\n enableVulnerabilityAlerts: [\n \"PUT /repos/{owner}/{repo}/vulnerability-alerts\"\n ],\n generateReleaseNotes: [\n \"POST /repos/{owner}/{repo}/releases/generate-notes\"\n ],\n get: [\"GET /repos/{owner}/{repo}\"],\n getAccessRestrictions: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\"\n ],\n getAdminBranchProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"\n ],\n getAllDeploymentProtectionRules: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules\"\n ],\n getAllEnvironments: [\"GET /repos/{owner}/{repo}/environments\"],\n getAllStatusCheckContexts: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\"\n ],\n getAllTopics: [\"GET /repos/{owner}/{repo}/topics\"],\n getAppsWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\"\n ],\n getAutolink: [\"GET /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\n getBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}\"],\n getBranchProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection\"\n ],\n getBranchRules: [\"GET /repos/{owner}/{repo}/rules/branches/{branch}\"],\n getClones: [\"GET /repos/{owner}/{repo}/traffic/clones\"],\n getCodeFrequencyStats: [\"GET /repos/{owner}/{repo}/stats/code_frequency\"],\n getCollaboratorPermissionLevel: [\n \"GET /repos/{owner}/{repo}/collaborators/{username}/permission\"\n ],\n getCombinedStatusForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/status\"],\n getCommit: [\"GET /repos/{owner}/{repo}/commits/{ref}\"],\n getCommitActivityStats: [\"GET /repos/{owner}/{repo}/stats/commit_activity\"],\n getCommitComment: [\"GET /repos/{owner}/{repo}/comments/{comment_id}\"],\n getCommitSignatureProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"\n ],\n getCommunityProfileMetrics: [\"GET /repos/{owner}/{repo}/community/profile\"],\n getContent: [\"GET /repos/{owner}/{repo}/contents/{path}\"],\n getContributorsStats: [\"GET /repos/{owner}/{repo}/stats/contributors\"],\n getCustomDeploymentProtectionRule: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}\"\n ],\n getCustomPropertiesValues: [\"GET /repos/{owner}/{repo}/properties/values\"],\n getDeployKey: [\"GET /repos/{owner}/{repo}/keys/{key_id}\"],\n getDeployment: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}\"],\n getDeploymentBranchPolicy: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}\"\n ],\n getDeploymentStatus: [\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}\"\n ],\n getEnvironment: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}\"\n ],\n getLatestPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/latest\"],\n getLatestRelease: [\"GET /repos/{owner}/{repo}/releases/latest\"],\n getOrgRuleSuite: [\"GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}\"],\n getOrgRuleSuites: [\"GET /orgs/{org}/rulesets/rule-suites\"],\n getOrgRuleset: [\"GET /orgs/{org}/rulesets/{ruleset_id}\"],\n getOrgRulesets: [\"GET /orgs/{org}/rulesets\"],\n getPages: [\"GET /repos/{owner}/{repo}/pages\"],\n getPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/{build_id}\"],\n getPagesDeployment: [\n \"GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}\"\n ],\n getPagesHealthCheck: [\"GET /repos/{owner}/{repo}/pages/health\"],\n getParticipationStats: [\"GET /repos/{owner}/{repo}/stats/participation\"],\n getPullRequestReviewProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"\n ],\n getPunchCardStats: [\"GET /repos/{owner}/{repo}/stats/punch_card\"],\n getReadme: [\"GET /repos/{owner}/{repo}/readme\"],\n getReadmeInDirectory: [\"GET /repos/{owner}/{repo}/readme/{dir}\"],\n getRelease: [\"GET /repos/{owner}/{repo}/releases/{release_id}\"],\n getReleaseAsset: [\"GET /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n getReleaseByTag: [\"GET /repos/{owner}/{repo}/releases/tags/{tag}\"],\n getRepoRuleSuite: [\n \"GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}\"\n ],\n getRepoRuleSuites: [\"GET /repos/{owner}/{repo}/rulesets/rule-suites\"],\n getRepoRuleset: [\"GET /repos/{owner}/{repo}/rulesets/{ruleset_id}\"],\n getRepoRulesetHistory: [\n \"GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history\"\n ],\n getRepoRulesetVersion: [\n \"GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history/{version_id}\"\n ],\n getRepoRulesets: [\"GET /repos/{owner}/{repo}/rulesets\"],\n getStatusChecksProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"\n ],\n getTeamsWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\"\n ],\n getTopPaths: [\"GET /repos/{owner}/{repo}/traffic/popular/paths\"],\n getTopReferrers: [\"GET /repos/{owner}/{repo}/traffic/popular/referrers\"],\n getUsersWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\"\n ],\n getViews: [\"GET /repos/{owner}/{repo}/traffic/views\"],\n getWebhook: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}\"],\n getWebhookConfigForRepo: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/config\"\n ],\n getWebhookDelivery: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}\"\n ],\n listActivities: [\"GET /repos/{owner}/{repo}/activity\"],\n listAttestations: [\n \"GET /repos/{owner}/{repo}/attestations/{subject_digest}\"\n ],\n listAutolinks: [\"GET /repos/{owner}/{repo}/autolinks\"],\n listBranches: [\"GET /repos/{owner}/{repo}/branches\"],\n listBranchesForHeadCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head\"\n ],\n listCollaborators: [\"GET /repos/{owner}/{repo}/collaborators\"],\n listCommentsForCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\"\n ],\n listCommitCommentsForRepo: [\"GET /repos/{owner}/{repo}/comments\"],\n listCommitStatusesForRef: [\n \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\"\n ],\n listCommits: [\"GET /repos/{owner}/{repo}/commits\"],\n listContributors: [\"GET /repos/{owner}/{repo}/contributors\"],\n listCustomDeploymentRuleIntegrations: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps\"\n ],\n listDeployKeys: [\"GET /repos/{owner}/{repo}/keys\"],\n listDeploymentBranchPolicies: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies\"\n ],\n listDeploymentStatuses: [\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\"\n ],\n listDeployments: [\"GET /repos/{owner}/{repo}/deployments\"],\n listForAuthenticatedUser: [\"GET /user/repos\"],\n listForOrg: [\"GET /orgs/{org}/repos\"],\n listForUser: [\"GET /users/{username}/repos\"],\n listForks: [\"GET /repos/{owner}/{repo}/forks\"],\n listInvitations: [\"GET /repos/{owner}/{repo}/invitations\"],\n listInvitationsForAuthenticatedUser: [\"GET /user/repository_invitations\"],\n listLanguages: [\"GET /repos/{owner}/{repo}/languages\"],\n listPagesBuilds: [\"GET /repos/{owner}/{repo}/pages/builds\"],\n listPublic: [\"GET /repositories\"],\n listPullRequestsAssociatedWithCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\"\n ],\n listReleaseAssets: [\n \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\"\n ],\n listReleases: [\"GET /repos/{owner}/{repo}/releases\"],\n listTags: [\"GET /repos/{owner}/{repo}/tags\"],\n listTeams: [\"GET /repos/{owner}/{repo}/teams\"],\n listWebhookDeliveries: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\"\n ],\n listWebhooks: [\"GET /repos/{owner}/{repo}/hooks\"],\n merge: [\"POST /repos/{owner}/{repo}/merges\"],\n mergeUpstream: [\"POST /repos/{owner}/{repo}/merge-upstream\"],\n pingWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/pings\"],\n redeliverWebhookDelivery: [\n \"POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\"\n ],\n removeAppAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" }\n ],\n removeCollaborator: [\n \"DELETE /repos/{owner}/{repo}/collaborators/{username}\"\n ],\n removeStatusCheckContexts: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" }\n ],\n removeStatusCheckProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"\n ],\n removeTeamAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" }\n ],\n removeUserAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" }\n ],\n renameBranch: [\"POST /repos/{owner}/{repo}/branches/{branch}/rename\"],\n replaceAllTopics: [\"PUT /repos/{owner}/{repo}/topics\"],\n requestPagesBuild: [\"POST /repos/{owner}/{repo}/pages/builds\"],\n setAdminBranchProtection: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"\n ],\n setAppAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" }\n ],\n setStatusCheckContexts: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" }\n ],\n setTeamAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" }\n ],\n setUserAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" }\n ],\n testPushWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/tests\"],\n transfer: [\"POST /repos/{owner}/{repo}/transfer\"],\n update: [\"PATCH /repos/{owner}/{repo}\"],\n updateBranchProtection: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection\"\n ],\n updateCommitComment: [\"PATCH /repos/{owner}/{repo}/comments/{comment_id}\"],\n updateDeploymentBranchPolicy: [\n \"PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}\"\n ],\n updateInformationAboutPagesSite: [\"PUT /repos/{owner}/{repo}/pages\"],\n updateInvitation: [\n \"PATCH /repos/{owner}/{repo}/invitations/{invitation_id}\"\n ],\n updateOrgRuleset: [\"PUT /orgs/{org}/rulesets/{ruleset_id}\"],\n updatePullRequestReviewProtection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"\n ],\n updateRelease: [\"PATCH /repos/{owner}/{repo}/releases/{release_id}\"],\n updateReleaseAsset: [\n \"PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}\"\n ],\n updateRepoRuleset: [\"PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}\"],\n updateStatusCheckPotection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n {},\n { renamed: [\"repos\", \"updateStatusCheckProtection\"] }\n ],\n updateStatusCheckProtection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"\n ],\n updateWebhook: [\"PATCH /repos/{owner}/{repo}/hooks/{hook_id}\"],\n updateWebhookConfigForRepo: [\n \"PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config\"\n ],\n uploadReleaseAsset: [\n \"POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}\",\n { baseUrl: \"https://uploads.github.com\" }\n ]\n },\n search: {\n code: [\"GET /search/code\"],\n commits: [\"GET /search/commits\"],\n issuesAndPullRequests: [\n \"GET /search/issues\",\n {},\n {\n deprecated: \"octokit.rest.search.issuesAndPullRequests() is deprecated, see https://docs.github.com/rest/search/search#search-issues-and-pull-requests\"\n }\n ],\n labels: [\"GET /search/labels\"],\n repos: [\"GET /search/repositories\"],\n topics: [\"GET /search/topics\"],\n users: [\"GET /search/users\"]\n },\n secretScanning: {\n createPushProtectionBypass: [\n \"POST /repos/{owner}/{repo}/secret-scanning/push-protection-bypasses\"\n ],\n getAlert: [\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\"\n ],\n getScanHistory: [\"GET /repos/{owner}/{repo}/secret-scanning/scan-history\"],\n listAlertsForEnterprise: [\n \"GET /enterprises/{enterprise}/secret-scanning/alerts\"\n ],\n listAlertsForOrg: [\"GET /orgs/{org}/secret-scanning/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts\"],\n listLocationsForAlert: [\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\"\n ],\n listOrgPatternConfigs: [\n \"GET /orgs/{org}/secret-scanning/pattern-configurations\"\n ],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\"\n ],\n updateOrgPatternConfigs: [\n \"PATCH /orgs/{org}/secret-scanning/pattern-configurations\"\n ]\n },\n securityAdvisories: {\n createFork: [\n \"POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks\"\n ],\n createPrivateVulnerabilityReport: [\n \"POST /repos/{owner}/{repo}/security-advisories/reports\"\n ],\n createRepositoryAdvisory: [\n \"POST /repos/{owner}/{repo}/security-advisories\"\n ],\n createRepositoryAdvisoryCveRequest: [\n \"POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve\"\n ],\n getGlobalAdvisory: [\"GET /advisories/{ghsa_id}\"],\n getRepositoryAdvisory: [\n \"GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}\"\n ],\n listGlobalAdvisories: [\"GET /advisories\"],\n listOrgRepositoryAdvisories: [\"GET /orgs/{org}/security-advisories\"],\n listRepositoryAdvisories: [\"GET /repos/{owner}/{repo}/security-advisories\"],\n updateRepositoryAdvisory: [\n \"PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}\"\n ]\n },\n teams: {\n addOrUpdateMembershipForUserInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/memberships/{username}\"\n ],\n addOrUpdateRepoPermissionsInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"\n ],\n checkPermissionsForRepoInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"\n ],\n create: [\"POST /orgs/{org}/teams\"],\n createDiscussionCommentInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\"\n ],\n createDiscussionInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions\"],\n deleteDiscussionCommentInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"\n ],\n deleteDiscussionInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"\n ],\n deleteInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}\"],\n getByName: [\"GET /orgs/{org}/teams/{team_slug}\"],\n getDiscussionCommentInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"\n ],\n getDiscussionInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"\n ],\n getMembershipForUserInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/memberships/{username}\"\n ],\n list: [\"GET /orgs/{org}/teams\"],\n listChildInOrg: [\"GET /orgs/{org}/teams/{team_slug}/teams\"],\n listDiscussionCommentsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\"\n ],\n listDiscussionsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions\"],\n listForAuthenticatedUser: [\"GET /user/teams\"],\n listMembersInOrg: [\"GET /orgs/{org}/teams/{team_slug}/members\"],\n listPendingInvitationsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/invitations\"\n ],\n listReposInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos\"],\n removeMembershipForUserInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}\"\n ],\n removeRepoInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"\n ],\n updateDiscussionCommentInOrg: [\n \"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"\n ],\n updateDiscussionInOrg: [\n \"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"\n ],\n updateInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}\"]\n },\n users: {\n addEmailForAuthenticated: [\n \"POST /user/emails\",\n {},\n { renamed: [\"users\", \"addEmailForAuthenticatedUser\"] }\n ],\n addEmailForAuthenticatedUser: [\"POST /user/emails\"],\n addSocialAccountForAuthenticatedUser: [\"POST /user/social_accounts\"],\n block: [\"PUT /user/blocks/{username}\"],\n checkBlocked: [\"GET /user/blocks/{username}\"],\n checkFollowingForUser: [\"GET /users/{username}/following/{target_user}\"],\n checkPersonIsFollowedByAuthenticated: [\"GET /user/following/{username}\"],\n createGpgKeyForAuthenticated: [\n \"POST /user/gpg_keys\",\n {},\n { renamed: [\"users\", \"createGpgKeyForAuthenticatedUser\"] }\n ],\n createGpgKeyForAuthenticatedUser: [\"POST /user/gpg_keys\"],\n createPublicSshKeyForAuthenticated: [\n \"POST /user/keys\",\n {},\n { renamed: [\"users\", \"createPublicSshKeyForAuthenticatedUser\"] }\n ],\n createPublicSshKeyForAuthenticatedUser: [\"POST /user/keys\"],\n createSshSigningKeyForAuthenticatedUser: [\"POST /user/ssh_signing_keys\"],\n deleteAttestationsBulk: [\n \"POST /users/{username}/attestations/delete-request\"\n ],\n deleteAttestationsById: [\n \"DELETE /users/{username}/attestations/{attestation_id}\"\n ],\n deleteAttestationsBySubjectDigest: [\n \"DELETE /users/{username}/attestations/digest/{subject_digest}\"\n ],\n deleteEmailForAuthenticated: [\n \"DELETE /user/emails\",\n {},\n { renamed: [\"users\", \"deleteEmailForAuthenticatedUser\"] }\n ],\n deleteEmailForAuthenticatedUser: [\"DELETE /user/emails\"],\n deleteGpgKeyForAuthenticated: [\n \"DELETE /user/gpg_keys/{gpg_key_id}\",\n {},\n { renamed: [\"users\", \"deleteGpgKeyForAuthenticatedUser\"] }\n ],\n deleteGpgKeyForAuthenticatedUser: [\"DELETE /user/gpg_keys/{gpg_key_id}\"],\n deletePublicSshKeyForAuthenticated: [\n \"DELETE /user/keys/{key_id}\",\n {},\n { renamed: [\"users\", \"deletePublicSshKeyForAuthenticatedUser\"] }\n ],\n deletePublicSshKeyForAuthenticatedUser: [\"DELETE /user/keys/{key_id}\"],\n deleteSocialAccountForAuthenticatedUser: [\"DELETE /user/social_accounts\"],\n deleteSshSigningKeyForAuthenticatedUser: [\n \"DELETE /user/ssh_signing_keys/{ssh_signing_key_id}\"\n ],\n follow: [\"PUT /user/following/{username}\"],\n getAuthenticated: [\"GET /user\"],\n getById: [\"GET /user/{account_id}\"],\n getByUsername: [\"GET /users/{username}\"],\n getContextForUser: [\"GET /users/{username}/hovercard\"],\n getGpgKeyForAuthenticated: [\n \"GET /user/gpg_keys/{gpg_key_id}\",\n {},\n { renamed: [\"users\", \"getGpgKeyForAuthenticatedUser\"] }\n ],\n getGpgKeyForAuthenticatedUser: [\"GET /user/gpg_keys/{gpg_key_id}\"],\n getPublicSshKeyForAuthenticated: [\n \"GET /user/keys/{key_id}\",\n {},\n { renamed: [\"users\", \"getPublicSshKeyForAuthenticatedUser\"] }\n ],\n getPublicSshKeyForAuthenticatedUser: [\"GET /user/keys/{key_id}\"],\n getSshSigningKeyForAuthenticatedUser: [\n \"GET /user/ssh_signing_keys/{ssh_signing_key_id}\"\n ],\n list: [\"GET /users\"],\n listAttestations: [\"GET /users/{username}/attestations/{subject_digest}\"],\n listAttestationsBulk: [\n \"POST /users/{username}/attestations/bulk-list{?per_page,before,after}\"\n ],\n listBlockedByAuthenticated: [\n \"GET /user/blocks\",\n {},\n { renamed: [\"users\", \"listBlockedByAuthenticatedUser\"] }\n ],\n listBlockedByAuthenticatedUser: [\"GET /user/blocks\"],\n listEmailsForAuthenticated: [\n \"GET /user/emails\",\n {},\n { renamed: [\"users\", \"listEmailsForAuthenticatedUser\"] }\n ],\n listEmailsForAuthenticatedUser: [\"GET /user/emails\"],\n listFollowedByAuthenticated: [\n \"GET /user/following\",\n {},\n { renamed: [\"users\", \"listFollowedByAuthenticatedUser\"] }\n ],\n listFollowedByAuthenticatedUser: [\"GET /user/following\"],\n listFollowersForAuthenticatedUser: [\"GET /user/followers\"],\n listFollowersForUser: [\"GET /users/{username}/followers\"],\n listFollowingForUser: [\"GET /users/{username}/following\"],\n listGpgKeysForAuthenticated: [\n \"GET /user/gpg_keys\",\n {},\n { renamed: [\"users\", \"listGpgKeysForAuthenticatedUser\"] }\n ],\n listGpgKeysForAuthenticatedUser: [\"GET /user/gpg_keys\"],\n listGpgKeysForUser: [\"GET /users/{username}/gpg_keys\"],\n listPublicEmailsForAuthenticated: [\n \"GET /user/public_emails\",\n {},\n { renamed: [\"users\", \"listPublicEmailsForAuthenticatedUser\"] }\n ],\n listPublicEmailsForAuthenticatedUser: [\"GET /user/public_emails\"],\n listPublicKeysForUser: [\"GET /users/{username}/keys\"],\n listPublicSshKeysForAuthenticated: [\n \"GET /user/keys\",\n {},\n { renamed: [\"users\", \"listPublicSshKeysForAuthenticatedUser\"] }\n ],\n listPublicSshKeysForAuthenticatedUser: [\"GET /user/keys\"],\n listSocialAccountsForAuthenticatedUser: [\"GET /user/social_accounts\"],\n listSocialAccountsForUser: [\"GET /users/{username}/social_accounts\"],\n listSshSigningKeysForAuthenticatedUser: [\"GET /user/ssh_signing_keys\"],\n listSshSigningKeysForUser: [\"GET /users/{username}/ssh_signing_keys\"],\n setPrimaryEmailVisibilityForAuthenticated: [\n \"PATCH /user/email/visibility\",\n {},\n { renamed: [\"users\", \"setPrimaryEmailVisibilityForAuthenticatedUser\"] }\n ],\n setPrimaryEmailVisibilityForAuthenticatedUser: [\n \"PATCH /user/email/visibility\"\n ],\n unblock: [\"DELETE /user/blocks/{username}\"],\n unfollow: [\"DELETE /user/following/{username}\"],\n updateAuthenticated: [\"PATCH /user\"]\n }\n};\nvar endpoints_default = Endpoints;\nexport {\n endpoints_default as default\n};\n//# sourceMappingURL=endpoints.js.map\n","import ENDPOINTS from \"./generated/endpoints.js\";\nconst endpointMethodsMap = /* @__PURE__ */ new Map();\nfor (const [scope, endpoints] of Object.entries(ENDPOINTS)) {\n for (const [methodName, endpoint] of Object.entries(endpoints)) {\n const [route, defaults, decorations] = endpoint;\n const [method, url] = route.split(/ /);\n const endpointDefaults = Object.assign(\n {\n method,\n url\n },\n defaults\n );\n if (!endpointMethodsMap.has(scope)) {\n endpointMethodsMap.set(scope, /* @__PURE__ */ new Map());\n }\n endpointMethodsMap.get(scope).set(methodName, {\n scope,\n methodName,\n endpointDefaults,\n decorations\n });\n }\n}\nconst handler = {\n has({ scope }, methodName) {\n return endpointMethodsMap.get(scope).has(methodName);\n },\n getOwnPropertyDescriptor(target, methodName) {\n return {\n value: this.get(target, methodName),\n // ensures method is in the cache\n configurable: true,\n writable: true,\n enumerable: true\n };\n },\n defineProperty(target, methodName, descriptor) {\n Object.defineProperty(target.cache, methodName, descriptor);\n return true;\n },\n deleteProperty(target, methodName) {\n delete target.cache[methodName];\n return true;\n },\n ownKeys({ scope }) {\n return [...endpointMethodsMap.get(scope).keys()];\n },\n set(target, methodName, value) {\n return target.cache[methodName] = value;\n },\n get({ octokit, scope, cache }, methodName) {\n if (cache[methodName]) {\n return cache[methodName];\n }\n const method = endpointMethodsMap.get(scope).get(methodName);\n if (!method) {\n return void 0;\n }\n const { endpointDefaults, decorations } = method;\n if (decorations) {\n cache[methodName] = decorate(\n octokit,\n scope,\n methodName,\n endpointDefaults,\n decorations\n );\n } else {\n cache[methodName] = octokit.request.defaults(endpointDefaults);\n }\n return cache[methodName];\n }\n};\nfunction endpointsToMethods(octokit) {\n const newMethods = {};\n for (const scope of endpointMethodsMap.keys()) {\n newMethods[scope] = new Proxy({ octokit, scope, cache: {} }, handler);\n }\n return newMethods;\n}\nfunction decorate(octokit, scope, methodName, defaults, decorations) {\n const requestWithDefaults = octokit.request.defaults(defaults);\n function withDecorations(...args) {\n let options = requestWithDefaults.endpoint.merge(...args);\n if (decorations.mapToData) {\n options = Object.assign({}, options, {\n data: options[decorations.mapToData],\n [decorations.mapToData]: void 0\n });\n return requestWithDefaults(options);\n }\n if (decorations.renamed) {\n const [newScope, newMethodName] = decorations.renamed;\n octokit.log.warn(\n `octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`\n );\n }\n if (decorations.deprecated) {\n octokit.log.warn(decorations.deprecated);\n }\n if (decorations.renamedParameters) {\n const options2 = requestWithDefaults.endpoint.merge(...args);\n for (const [name, alias] of Object.entries(\n decorations.renamedParameters\n )) {\n if (name in options2) {\n octokit.log.warn(\n `\"${name}\" parameter is deprecated for \"octokit.${scope}.${methodName}()\". Use \"${alias}\" instead`\n );\n if (!(alias in options2)) {\n options2[alias] = options2[name];\n }\n delete options2[name];\n }\n }\n return requestWithDefaults(options2);\n }\n return requestWithDefaults(...args);\n }\n return Object.assign(withDecorations, requestWithDefaults);\n}\nexport {\n endpointsToMethods\n};\n//# sourceMappingURL=endpoints-to-methods.js.map\n","import { VERSION } from \"./version.js\";\nimport { endpointsToMethods } from \"./endpoints-to-methods.js\";\nfunction restEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit);\n return {\n rest: api\n };\n}\nrestEndpointMethods.VERSION = VERSION;\nfunction legacyRestEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit);\n return {\n ...api,\n rest: api\n };\n}\nlegacyRestEndpointMethods.VERSION = VERSION;\nexport {\n legacyRestEndpointMethods,\n restEndpointMethods\n};\n//# sourceMappingURL=index.js.map\n","/**\n * This file contains the Bottleneck library (MIT), compiled to ES2017, and without Clustering support.\n * https://github.com/SGrondin/bottleneck\n */\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.Bottleneck = factory());\n}(this, (function () { 'use strict';\n\n\tvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\n\tfunction getCjsExportFromNamespace (n) {\n\t\treturn n && n['default'] || n;\n\t}\n\n\tvar load = function(received, defaults, onto = {}) {\n\t var k, ref, v;\n\t for (k in defaults) {\n\t v = defaults[k];\n\t onto[k] = (ref = received[k]) != null ? ref : v;\n\t }\n\t return onto;\n\t};\n\n\tvar overwrite = function(received, defaults, onto = {}) {\n\t var k, v;\n\t for (k in received) {\n\t v = received[k];\n\t if (defaults[k] !== void 0) {\n\t onto[k] = v;\n\t }\n\t }\n\t return onto;\n\t};\n\n\tvar parser = {\n\t\tload: load,\n\t\toverwrite: overwrite\n\t};\n\n\tvar DLList;\n\n\tDLList = class DLList {\n\t constructor(incr, decr) {\n\t this.incr = incr;\n\t this.decr = decr;\n\t this._first = null;\n\t this._last = null;\n\t this.length = 0;\n\t }\n\n\t push(value) {\n\t var node;\n\t this.length++;\n\t if (typeof this.incr === \"function\") {\n\t this.incr();\n\t }\n\t node = {\n\t value,\n\t prev: this._last,\n\t next: null\n\t };\n\t if (this._last != null) {\n\t this._last.next = node;\n\t this._last = node;\n\t } else {\n\t this._first = this._last = node;\n\t }\n\t return void 0;\n\t }\n\n\t shift() {\n\t var value;\n\t if (this._first == null) {\n\t return;\n\t } else {\n\t this.length--;\n\t if (typeof this.decr === \"function\") {\n\t this.decr();\n\t }\n\t }\n\t value = this._first.value;\n\t if ((this._first = this._first.next) != null) {\n\t this._first.prev = null;\n\t } else {\n\t this._last = null;\n\t }\n\t return value;\n\t }\n\n\t first() {\n\t if (this._first != null) {\n\t return this._first.value;\n\t }\n\t }\n\n\t getArray() {\n\t var node, ref, results;\n\t node = this._first;\n\t results = [];\n\t while (node != null) {\n\t results.push((ref = node, node = node.next, ref.value));\n\t }\n\t return results;\n\t }\n\n\t forEachShift(cb) {\n\t var node;\n\t node = this.shift();\n\t while (node != null) {\n\t (cb(node), node = this.shift());\n\t }\n\t return void 0;\n\t }\n\n\t debug() {\n\t var node, ref, ref1, ref2, results;\n\t node = this._first;\n\t results = [];\n\t while (node != null) {\n\t results.push((ref = node, node = node.next, {\n\t value: ref.value,\n\t prev: (ref1 = ref.prev) != null ? ref1.value : void 0,\n\t next: (ref2 = ref.next) != null ? ref2.value : void 0\n\t }));\n\t }\n\t return results;\n\t }\n\n\t};\n\n\tvar DLList_1 = DLList;\n\n\tvar Events;\n\n\tEvents = class Events {\n\t constructor(instance) {\n\t this.instance = instance;\n\t this._events = {};\n\t if ((this.instance.on != null) || (this.instance.once != null) || (this.instance.removeAllListeners != null)) {\n\t throw new Error(\"An Emitter already exists for this object\");\n\t }\n\t this.instance.on = (name, cb) => {\n\t return this._addListener(name, \"many\", cb);\n\t };\n\t this.instance.once = (name, cb) => {\n\t return this._addListener(name, \"once\", cb);\n\t };\n\t this.instance.removeAllListeners = (name = null) => {\n\t if (name != null) {\n\t return delete this._events[name];\n\t } else {\n\t return this._events = {};\n\t }\n\t };\n\t }\n\n\t _addListener(name, status, cb) {\n\t var base;\n\t if ((base = this._events)[name] == null) {\n\t base[name] = [];\n\t }\n\t this._events[name].push({cb, status});\n\t return this.instance;\n\t }\n\n\t listenerCount(name) {\n\t if (this._events[name] != null) {\n\t return this._events[name].length;\n\t } else {\n\t return 0;\n\t }\n\t }\n\n\t async trigger(name, ...args) {\n\t var e, promises;\n\t try {\n\t if (name !== \"debug\") {\n\t this.trigger(\"debug\", `Event triggered: ${name}`, args);\n\t }\n\t if (this._events[name] == null) {\n\t return;\n\t }\n\t this._events[name] = this._events[name].filter(function(listener) {\n\t return listener.status !== \"none\";\n\t });\n\t promises = this._events[name].map(async(listener) => {\n\t var e, returned;\n\t if (listener.status === \"none\") {\n\t return;\n\t }\n\t if (listener.status === \"once\") {\n\t listener.status = \"none\";\n\t }\n\t try {\n\t returned = typeof listener.cb === \"function\" ? listener.cb(...args) : void 0;\n\t if (typeof (returned != null ? returned.then : void 0) === \"function\") {\n\t return (await returned);\n\t } else {\n\t return returned;\n\t }\n\t } catch (error) {\n\t e = error;\n\t {\n\t this.trigger(\"error\", e);\n\t }\n\t return null;\n\t }\n\t });\n\t return ((await Promise.all(promises))).find(function(x) {\n\t return x != null;\n\t });\n\t } catch (error) {\n\t e = error;\n\t {\n\t this.trigger(\"error\", e);\n\t }\n\t return null;\n\t }\n\t }\n\n\t};\n\n\tvar Events_1 = Events;\n\n\tvar DLList$1, Events$1, Queues;\n\n\tDLList$1 = DLList_1;\n\n\tEvents$1 = Events_1;\n\n\tQueues = class Queues {\n\t constructor(num_priorities) {\n\t var i;\n\t this.Events = new Events$1(this);\n\t this._length = 0;\n\t this._lists = (function() {\n\t var j, ref, results;\n\t results = [];\n\t for (i = j = 1, ref = num_priorities; (1 <= ref ? j <= ref : j >= ref); i = 1 <= ref ? ++j : --j) {\n\t results.push(new DLList$1((() => {\n\t return this.incr();\n\t }), (() => {\n\t return this.decr();\n\t })));\n\t }\n\t return results;\n\t }).call(this);\n\t }\n\n\t incr() {\n\t if (this._length++ === 0) {\n\t return this.Events.trigger(\"leftzero\");\n\t }\n\t }\n\n\t decr() {\n\t if (--this._length === 0) {\n\t return this.Events.trigger(\"zero\");\n\t }\n\t }\n\n\t push(job) {\n\t return this._lists[job.options.priority].push(job);\n\t }\n\n\t queued(priority) {\n\t if (priority != null) {\n\t return this._lists[priority].length;\n\t } else {\n\t return this._length;\n\t }\n\t }\n\n\t shiftAll(fn) {\n\t return this._lists.forEach(function(list) {\n\t return list.forEachShift(fn);\n\t });\n\t }\n\n\t getFirst(arr = this._lists) {\n\t var j, len, list;\n\t for (j = 0, len = arr.length; j < len; j++) {\n\t list = arr[j];\n\t if (list.length > 0) {\n\t return list;\n\t }\n\t }\n\t return [];\n\t }\n\n\t shiftLastFrom(priority) {\n\t return this.getFirst(this._lists.slice(priority).reverse()).shift();\n\t }\n\n\t};\n\n\tvar Queues_1 = Queues;\n\n\tvar BottleneckError;\n\n\tBottleneckError = class BottleneckError extends Error {};\n\n\tvar BottleneckError_1 = BottleneckError;\n\n\tvar BottleneckError$1, DEFAULT_PRIORITY, Job, NUM_PRIORITIES, parser$1;\n\n\tNUM_PRIORITIES = 10;\n\n\tDEFAULT_PRIORITY = 5;\n\n\tparser$1 = parser;\n\n\tBottleneckError$1 = BottleneckError_1;\n\n\tJob = class Job {\n\t constructor(task, args, options, jobDefaults, rejectOnDrop, Events, _states, Promise) {\n\t this.task = task;\n\t this.args = args;\n\t this.rejectOnDrop = rejectOnDrop;\n\t this.Events = Events;\n\t this._states = _states;\n\t this.Promise = Promise;\n\t this.options = parser$1.load(options, jobDefaults);\n\t this.options.priority = this._sanitizePriority(this.options.priority);\n\t if (this.options.id === jobDefaults.id) {\n\t this.options.id = `${this.options.id}-${this._randomIndex()}`;\n\t }\n\t this.promise = new this.Promise((_resolve, _reject) => {\n\t this._resolve = _resolve;\n\t this._reject = _reject;\n\t });\n\t this.retryCount = 0;\n\t }\n\n\t _sanitizePriority(priority) {\n\t var sProperty;\n\t sProperty = ~~priority !== priority ? DEFAULT_PRIORITY : priority;\n\t if (sProperty < 0) {\n\t return 0;\n\t } else if (sProperty > NUM_PRIORITIES - 1) {\n\t return NUM_PRIORITIES - 1;\n\t } else {\n\t return sProperty;\n\t }\n\t }\n\n\t _randomIndex() {\n\t return Math.random().toString(36).slice(2);\n\t }\n\n\t doDrop({error, message = \"This job has been dropped by Bottleneck\"} = {}) {\n\t if (this._states.remove(this.options.id)) {\n\t if (this.rejectOnDrop) {\n\t this._reject(error != null ? error : new BottleneckError$1(message));\n\t }\n\t this.Events.trigger(\"dropped\", {args: this.args, options: this.options, task: this.task, promise: this.promise});\n\t return true;\n\t } else {\n\t return false;\n\t }\n\t }\n\n\t _assertStatus(expected) {\n\t var status;\n\t status = this._states.jobStatus(this.options.id);\n\t if (!(status === expected || (expected === \"DONE\" && status === null))) {\n\t throw new BottleneckError$1(`Invalid job status ${status}, expected ${expected}. Please open an issue at https://github.com/SGrondin/bottleneck/issues`);\n\t }\n\t }\n\n\t doReceive() {\n\t this._states.start(this.options.id);\n\t return this.Events.trigger(\"received\", {args: this.args, options: this.options});\n\t }\n\n\t doQueue(reachedHWM, blocked) {\n\t this._assertStatus(\"RECEIVED\");\n\t this._states.next(this.options.id);\n\t return this.Events.trigger(\"queued\", {args: this.args, options: this.options, reachedHWM, blocked});\n\t }\n\n\t doRun() {\n\t if (this.retryCount === 0) {\n\t this._assertStatus(\"QUEUED\");\n\t this._states.next(this.options.id);\n\t } else {\n\t this._assertStatus(\"EXECUTING\");\n\t }\n\t return this.Events.trigger(\"scheduled\", {args: this.args, options: this.options});\n\t }\n\n\t async doExecute(chained, clearGlobalState, run, free) {\n\t var error, eventInfo, passed;\n\t if (this.retryCount === 0) {\n\t this._assertStatus(\"RUNNING\");\n\t this._states.next(this.options.id);\n\t } else {\n\t this._assertStatus(\"EXECUTING\");\n\t }\n\t eventInfo = {args: this.args, options: this.options, retryCount: this.retryCount};\n\t this.Events.trigger(\"executing\", eventInfo);\n\t try {\n\t passed = (await (chained != null ? chained.schedule(this.options, this.task, ...this.args) : this.task(...this.args)));\n\t if (clearGlobalState()) {\n\t this.doDone(eventInfo);\n\t await free(this.options, eventInfo);\n\t this._assertStatus(\"DONE\");\n\t return this._resolve(passed);\n\t }\n\t } catch (error1) {\n\t error = error1;\n\t return this._onFailure(error, eventInfo, clearGlobalState, run, free);\n\t }\n\t }\n\n\t doExpire(clearGlobalState, run, free) {\n\t var error, eventInfo;\n\t if (this._states.jobStatus(this.options.id === \"RUNNING\")) {\n\t this._states.next(this.options.id);\n\t }\n\t this._assertStatus(\"EXECUTING\");\n\t eventInfo = {args: this.args, options: this.options, retryCount: this.retryCount};\n\t error = new BottleneckError$1(`This job timed out after ${this.options.expiration} ms.`);\n\t return this._onFailure(error, eventInfo, clearGlobalState, run, free);\n\t }\n\n\t async _onFailure(error, eventInfo, clearGlobalState, run, free) {\n\t var retry, retryAfter;\n\t if (clearGlobalState()) {\n\t retry = (await this.Events.trigger(\"failed\", error, eventInfo));\n\t if (retry != null) {\n\t retryAfter = ~~retry;\n\t this.Events.trigger(\"retry\", `Retrying ${this.options.id} after ${retryAfter} ms`, eventInfo);\n\t this.retryCount++;\n\t return run(retryAfter);\n\t } else {\n\t this.doDone(eventInfo);\n\t await free(this.options, eventInfo);\n\t this._assertStatus(\"DONE\");\n\t return this._reject(error);\n\t }\n\t }\n\t }\n\n\t doDone(eventInfo) {\n\t this._assertStatus(\"EXECUTING\");\n\t this._states.next(this.options.id);\n\t return this.Events.trigger(\"done\", eventInfo);\n\t }\n\n\t};\n\n\tvar Job_1 = Job;\n\n\tvar BottleneckError$2, LocalDatastore, parser$2;\n\n\tparser$2 = parser;\n\n\tBottleneckError$2 = BottleneckError_1;\n\n\tLocalDatastore = class LocalDatastore {\n\t constructor(instance, storeOptions, storeInstanceOptions) {\n\t this.instance = instance;\n\t this.storeOptions = storeOptions;\n\t this.clientId = this.instance._randomIndex();\n\t parser$2.load(storeInstanceOptions, storeInstanceOptions, this);\n\t this._nextRequest = this._lastReservoirRefresh = this._lastReservoirIncrease = Date.now();\n\t this._running = 0;\n\t this._done = 0;\n\t this._unblockTime = 0;\n\t this.ready = this.Promise.resolve();\n\t this.clients = {};\n\t this._startHeartbeat();\n\t }\n\n\t _startHeartbeat() {\n\t var base;\n\t if ((this.heartbeat == null) && (((this.storeOptions.reservoirRefreshInterval != null) && (this.storeOptions.reservoirRefreshAmount != null)) || ((this.storeOptions.reservoirIncreaseInterval != null) && (this.storeOptions.reservoirIncreaseAmount != null)))) {\n\t return typeof (base = (this.heartbeat = setInterval(() => {\n\t var amount, incr, maximum, now, reservoir;\n\t now = Date.now();\n\t if ((this.storeOptions.reservoirRefreshInterval != null) && now >= this._lastReservoirRefresh + this.storeOptions.reservoirRefreshInterval) {\n\t this._lastReservoirRefresh = now;\n\t this.storeOptions.reservoir = this.storeOptions.reservoirRefreshAmount;\n\t this.instance._drainAll(this.computeCapacity());\n\t }\n\t if ((this.storeOptions.reservoirIncreaseInterval != null) && now >= this._lastReservoirIncrease + this.storeOptions.reservoirIncreaseInterval) {\n\t ({\n\t reservoirIncreaseAmount: amount,\n\t reservoirIncreaseMaximum: maximum,\n\t reservoir\n\t } = this.storeOptions);\n\t this._lastReservoirIncrease = now;\n\t incr = maximum != null ? Math.min(amount, maximum - reservoir) : amount;\n\t if (incr > 0) {\n\t this.storeOptions.reservoir += incr;\n\t return this.instance._drainAll(this.computeCapacity());\n\t }\n\t }\n\t }, this.heartbeatInterval))).unref === \"function\" ? base.unref() : void 0;\n\t } else {\n\t return clearInterval(this.heartbeat);\n\t }\n\t }\n\n\t async __publish__(message) {\n\t await this.yieldLoop();\n\t return this.instance.Events.trigger(\"message\", message.toString());\n\t }\n\n\t async __disconnect__(flush) {\n\t await this.yieldLoop();\n\t clearInterval(this.heartbeat);\n\t return this.Promise.resolve();\n\t }\n\n\t yieldLoop(t = 0) {\n\t return new this.Promise(function(resolve, reject) {\n\t return setTimeout(resolve, t);\n\t });\n\t }\n\n\t computePenalty() {\n\t var ref;\n\t return (ref = this.storeOptions.penalty) != null ? ref : (15 * this.storeOptions.minTime) || 5000;\n\t }\n\n\t async __updateSettings__(options) {\n\t await this.yieldLoop();\n\t parser$2.overwrite(options, options, this.storeOptions);\n\t this._startHeartbeat();\n\t this.instance._drainAll(this.computeCapacity());\n\t return true;\n\t }\n\n\t async __running__() {\n\t await this.yieldLoop();\n\t return this._running;\n\t }\n\n\t async __queued__() {\n\t await this.yieldLoop();\n\t return this.instance.queued();\n\t }\n\n\t async __done__() {\n\t await this.yieldLoop();\n\t return this._done;\n\t }\n\n\t async __groupCheck__(time) {\n\t await this.yieldLoop();\n\t return (this._nextRequest + this.timeout) < time;\n\t }\n\n\t computeCapacity() {\n\t var maxConcurrent, reservoir;\n\t ({maxConcurrent, reservoir} = this.storeOptions);\n\t if ((maxConcurrent != null) && (reservoir != null)) {\n\t return Math.min(maxConcurrent - this._running, reservoir);\n\t } else if (maxConcurrent != null) {\n\t return maxConcurrent - this._running;\n\t } else if (reservoir != null) {\n\t return reservoir;\n\t } else {\n\t return null;\n\t }\n\t }\n\n\t conditionsCheck(weight) {\n\t var capacity;\n\t capacity = this.computeCapacity();\n\t return (capacity == null) || weight <= capacity;\n\t }\n\n\t async __incrementReservoir__(incr) {\n\t var reservoir;\n\t await this.yieldLoop();\n\t reservoir = this.storeOptions.reservoir += incr;\n\t this.instance._drainAll(this.computeCapacity());\n\t return reservoir;\n\t }\n\n\t async __currentReservoir__() {\n\t await this.yieldLoop();\n\t return this.storeOptions.reservoir;\n\t }\n\n\t isBlocked(now) {\n\t return this._unblockTime >= now;\n\t }\n\n\t check(weight, now) {\n\t return this.conditionsCheck(weight) && (this._nextRequest - now) <= 0;\n\t }\n\n\t async __check__(weight) {\n\t var now;\n\t await this.yieldLoop();\n\t now = Date.now();\n\t return this.check(weight, now);\n\t }\n\n\t async __register__(index, weight, expiration) {\n\t var now, wait;\n\t await this.yieldLoop();\n\t now = Date.now();\n\t if (this.conditionsCheck(weight)) {\n\t this._running += weight;\n\t if (this.storeOptions.reservoir != null) {\n\t this.storeOptions.reservoir -= weight;\n\t }\n\t wait = Math.max(this._nextRequest - now, 0);\n\t this._nextRequest = now + wait + this.storeOptions.minTime;\n\t return {\n\t success: true,\n\t wait,\n\t reservoir: this.storeOptions.reservoir\n\t };\n\t } else {\n\t return {\n\t success: false\n\t };\n\t }\n\t }\n\n\t strategyIsBlock() {\n\t return this.storeOptions.strategy === 3;\n\t }\n\n\t async __submit__(queueLength, weight) {\n\t var blocked, now, reachedHWM;\n\t await this.yieldLoop();\n\t if ((this.storeOptions.maxConcurrent != null) && weight > this.storeOptions.maxConcurrent) {\n\t throw new BottleneckError$2(`Impossible to add a job having a weight of ${weight} to a limiter having a maxConcurrent setting of ${this.storeOptions.maxConcurrent}`);\n\t }\n\t now = Date.now();\n\t reachedHWM = (this.storeOptions.highWater != null) && queueLength === this.storeOptions.highWater && !this.check(weight, now);\n\t blocked = this.strategyIsBlock() && (reachedHWM || this.isBlocked(now));\n\t if (blocked) {\n\t this._unblockTime = now + this.computePenalty();\n\t this._nextRequest = this._unblockTime + this.storeOptions.minTime;\n\t this.instance._dropAllQueued();\n\t }\n\t return {\n\t reachedHWM,\n\t blocked,\n\t strategy: this.storeOptions.strategy\n\t };\n\t }\n\n\t async __free__(index, weight) {\n\t await this.yieldLoop();\n\t this._running -= weight;\n\t this._done += weight;\n\t this.instance._drainAll(this.computeCapacity());\n\t return {\n\t running: this._running\n\t };\n\t }\n\n\t};\n\n\tvar LocalDatastore_1 = LocalDatastore;\n\n\tvar BottleneckError$3, States;\n\n\tBottleneckError$3 = BottleneckError_1;\n\n\tStates = class States {\n\t constructor(status1) {\n\t this.status = status1;\n\t this._jobs = {};\n\t this.counts = this.status.map(function() {\n\t return 0;\n\t });\n\t }\n\n\t next(id) {\n\t var current, next;\n\t current = this._jobs[id];\n\t next = current + 1;\n\t if ((current != null) && next < this.status.length) {\n\t this.counts[current]--;\n\t this.counts[next]++;\n\t return this._jobs[id]++;\n\t } else if (current != null) {\n\t this.counts[current]--;\n\t return delete this._jobs[id];\n\t }\n\t }\n\n\t start(id) {\n\t var initial;\n\t initial = 0;\n\t this._jobs[id] = initial;\n\t return this.counts[initial]++;\n\t }\n\n\t remove(id) {\n\t var current;\n\t current = this._jobs[id];\n\t if (current != null) {\n\t this.counts[current]--;\n\t delete this._jobs[id];\n\t }\n\t return current != null;\n\t }\n\n\t jobStatus(id) {\n\t var ref;\n\t return (ref = this.status[this._jobs[id]]) != null ? ref : null;\n\t }\n\n\t statusJobs(status) {\n\t var k, pos, ref, results, v;\n\t if (status != null) {\n\t pos = this.status.indexOf(status);\n\t if (pos < 0) {\n\t throw new BottleneckError$3(`status must be one of ${this.status.join(', ')}`);\n\t }\n\t ref = this._jobs;\n\t results = [];\n\t for (k in ref) {\n\t v = ref[k];\n\t if (v === pos) {\n\t results.push(k);\n\t }\n\t }\n\t return results;\n\t } else {\n\t return Object.keys(this._jobs);\n\t }\n\t }\n\n\t statusCounts() {\n\t return this.counts.reduce(((acc, v, i) => {\n\t acc[this.status[i]] = v;\n\t return acc;\n\t }), {});\n\t }\n\n\t};\n\n\tvar States_1 = States;\n\n\tvar DLList$2, Sync;\n\n\tDLList$2 = DLList_1;\n\n\tSync = class Sync {\n\t constructor(name, Promise) {\n\t this.schedule = this.schedule.bind(this);\n\t this.name = name;\n\t this.Promise = Promise;\n\t this._running = 0;\n\t this._queue = new DLList$2();\n\t }\n\n\t isEmpty() {\n\t return this._queue.length === 0;\n\t }\n\n\t async _tryToRun() {\n\t var args, cb, error, reject, resolve, returned, task;\n\t if ((this._running < 1) && this._queue.length > 0) {\n\t this._running++;\n\t ({task, args, resolve, reject} = this._queue.shift());\n\t cb = (await (async function() {\n\t try {\n\t returned = (await task(...args));\n\t return function() {\n\t return resolve(returned);\n\t };\n\t } catch (error1) {\n\t error = error1;\n\t return function() {\n\t return reject(error);\n\t };\n\t }\n\t })());\n\t this._running--;\n\t this._tryToRun();\n\t return cb();\n\t }\n\t }\n\n\t schedule(task, ...args) {\n\t var promise, reject, resolve;\n\t resolve = reject = null;\n\t promise = new this.Promise(function(_resolve, _reject) {\n\t resolve = _resolve;\n\t return reject = _reject;\n\t });\n\t this._queue.push({task, args, resolve, reject});\n\t this._tryToRun();\n\t return promise;\n\t }\n\n\t};\n\n\tvar Sync_1 = Sync;\n\n\tvar version = \"2.19.5\";\n\tvar version$1 = {\n\t\tversion: version\n\t};\n\n\tvar version$2 = /*#__PURE__*/Object.freeze({\n\t\tversion: version,\n\t\tdefault: version$1\n\t});\n\n\tvar require$$2 = () => console.log('You must import the full version of Bottleneck in order to use this feature.');\n\n\tvar require$$3 = () => console.log('You must import the full version of Bottleneck in order to use this feature.');\n\n\tvar require$$4 = () => console.log('You must import the full version of Bottleneck in order to use this feature.');\n\n\tvar Events$2, Group, IORedisConnection$1, RedisConnection$1, Scripts$1, parser$3;\n\n\tparser$3 = parser;\n\n\tEvents$2 = Events_1;\n\n\tRedisConnection$1 = require$$2;\n\n\tIORedisConnection$1 = require$$3;\n\n\tScripts$1 = require$$4;\n\n\tGroup = (function() {\n\t class Group {\n\t constructor(limiterOptions = {}) {\n\t this.deleteKey = this.deleteKey.bind(this);\n\t this.limiterOptions = limiterOptions;\n\t parser$3.load(this.limiterOptions, this.defaults, this);\n\t this.Events = new Events$2(this);\n\t this.instances = {};\n\t this.Bottleneck = Bottleneck_1;\n\t this._startAutoCleanup();\n\t this.sharedConnection = this.connection != null;\n\t if (this.connection == null) {\n\t if (this.limiterOptions.datastore === \"redis\") {\n\t this.connection = new RedisConnection$1(Object.assign({}, this.limiterOptions, {Events: this.Events}));\n\t } else if (this.limiterOptions.datastore === \"ioredis\") {\n\t this.connection = new IORedisConnection$1(Object.assign({}, this.limiterOptions, {Events: this.Events}));\n\t }\n\t }\n\t }\n\n\t key(key = \"\") {\n\t var ref;\n\t return (ref = this.instances[key]) != null ? ref : (() => {\n\t var limiter;\n\t limiter = this.instances[key] = new this.Bottleneck(Object.assign(this.limiterOptions, {\n\t id: `${this.id}-${key}`,\n\t timeout: this.timeout,\n\t connection: this.connection\n\t }));\n\t this.Events.trigger(\"created\", limiter, key);\n\t return limiter;\n\t })();\n\t }\n\n\t async deleteKey(key = \"\") {\n\t var deleted, instance;\n\t instance = this.instances[key];\n\t if (this.connection) {\n\t deleted = (await this.connection.__runCommand__(['del', ...Scripts$1.allKeys(`${this.id}-${key}`)]));\n\t }\n\t if (instance != null) {\n\t delete this.instances[key];\n\t await instance.disconnect();\n\t }\n\t return (instance != null) || deleted > 0;\n\t }\n\n\t limiters() {\n\t var k, ref, results, v;\n\t ref = this.instances;\n\t results = [];\n\t for (k in ref) {\n\t v = ref[k];\n\t results.push({\n\t key: k,\n\t limiter: v\n\t });\n\t }\n\t return results;\n\t }\n\n\t keys() {\n\t return Object.keys(this.instances);\n\t }\n\n\t async clusterKeys() {\n\t var cursor, end, found, i, k, keys, len, next, start;\n\t if (this.connection == null) {\n\t return this.Promise.resolve(this.keys());\n\t }\n\t keys = [];\n\t cursor = null;\n\t start = `b_${this.id}-`.length;\n\t end = \"_settings\".length;\n\t while (cursor !== 0) {\n\t [next, found] = (await this.connection.__runCommand__([\"scan\", cursor != null ? cursor : 0, \"match\", `b_${this.id}-*_settings`, \"count\", 10000]));\n\t cursor = ~~next;\n\t for (i = 0, len = found.length; i < len; i++) {\n\t k = found[i];\n\t keys.push(k.slice(start, -end));\n\t }\n\t }\n\t return keys;\n\t }\n\n\t _startAutoCleanup() {\n\t var base;\n\t clearInterval(this.interval);\n\t return typeof (base = (this.interval = setInterval(async() => {\n\t var e, k, ref, results, time, v;\n\t time = Date.now();\n\t ref = this.instances;\n\t results = [];\n\t for (k in ref) {\n\t v = ref[k];\n\t try {\n\t if ((await v._store.__groupCheck__(time))) {\n\t results.push(this.deleteKey(k));\n\t } else {\n\t results.push(void 0);\n\t }\n\t } catch (error) {\n\t e = error;\n\t results.push(v.Events.trigger(\"error\", e));\n\t }\n\t }\n\t return results;\n\t }, this.timeout / 2))).unref === \"function\" ? base.unref() : void 0;\n\t }\n\n\t updateSettings(options = {}) {\n\t parser$3.overwrite(options, this.defaults, this);\n\t parser$3.overwrite(options, options, this.limiterOptions);\n\t if (options.timeout != null) {\n\t return this._startAutoCleanup();\n\t }\n\t }\n\n\t disconnect(flush = true) {\n\t var ref;\n\t if (!this.sharedConnection) {\n\t return (ref = this.connection) != null ? ref.disconnect(flush) : void 0;\n\t }\n\t }\n\n\t }\n\t Group.prototype.defaults = {\n\t timeout: 1000 * 60 * 5,\n\t connection: null,\n\t Promise: Promise,\n\t id: \"group-key\"\n\t };\n\n\t return Group;\n\n\t}).call(commonjsGlobal);\n\n\tvar Group_1 = Group;\n\n\tvar Batcher, Events$3, parser$4;\n\n\tparser$4 = parser;\n\n\tEvents$3 = Events_1;\n\n\tBatcher = (function() {\n\t class Batcher {\n\t constructor(options = {}) {\n\t this.options = options;\n\t parser$4.load(this.options, this.defaults, this);\n\t this.Events = new Events$3(this);\n\t this._arr = [];\n\t this._resetPromise();\n\t this._lastFlush = Date.now();\n\t }\n\n\t _resetPromise() {\n\t return this._promise = new this.Promise((res, rej) => {\n\t return this._resolve = res;\n\t });\n\t }\n\n\t _flush() {\n\t clearTimeout(this._timeout);\n\t this._lastFlush = Date.now();\n\t this._resolve();\n\t this.Events.trigger(\"batch\", this._arr);\n\t this._arr = [];\n\t return this._resetPromise();\n\t }\n\n\t add(data) {\n\t var ret;\n\t this._arr.push(data);\n\t ret = this._promise;\n\t if (this._arr.length === this.maxSize) {\n\t this._flush();\n\t } else if ((this.maxTime != null) && this._arr.length === 1) {\n\t this._timeout = setTimeout(() => {\n\t return this._flush();\n\t }, this.maxTime);\n\t }\n\t return ret;\n\t }\n\n\t }\n\t Batcher.prototype.defaults = {\n\t maxTime: null,\n\t maxSize: null,\n\t Promise: Promise\n\t };\n\n\t return Batcher;\n\n\t}).call(commonjsGlobal);\n\n\tvar Batcher_1 = Batcher;\n\n\tvar require$$4$1 = () => console.log('You must import the full version of Bottleneck in order to use this feature.');\n\n\tvar require$$8 = getCjsExportFromNamespace(version$2);\n\n\tvar Bottleneck, DEFAULT_PRIORITY$1, Events$4, Job$1, LocalDatastore$1, NUM_PRIORITIES$1, Queues$1, RedisDatastore$1, States$1, Sync$1, parser$5,\n\t splice = [].splice;\n\n\tNUM_PRIORITIES$1 = 10;\n\n\tDEFAULT_PRIORITY$1 = 5;\n\n\tparser$5 = parser;\n\n\tQueues$1 = Queues_1;\n\n\tJob$1 = Job_1;\n\n\tLocalDatastore$1 = LocalDatastore_1;\n\n\tRedisDatastore$1 = require$$4$1;\n\n\tEvents$4 = Events_1;\n\n\tStates$1 = States_1;\n\n\tSync$1 = Sync_1;\n\n\tBottleneck = (function() {\n\t class Bottleneck {\n\t constructor(options = {}, ...invalid) {\n\t var storeInstanceOptions, storeOptions;\n\t this._addToQueue = this._addToQueue.bind(this);\n\t this._validateOptions(options, invalid);\n\t parser$5.load(options, this.instanceDefaults, this);\n\t this._queues = new Queues$1(NUM_PRIORITIES$1);\n\t this._scheduled = {};\n\t this._states = new States$1([\"RECEIVED\", \"QUEUED\", \"RUNNING\", \"EXECUTING\"].concat(this.trackDoneStatus ? [\"DONE\"] : []));\n\t this._limiter = null;\n\t this.Events = new Events$4(this);\n\t this._submitLock = new Sync$1(\"submit\", this.Promise);\n\t this._registerLock = new Sync$1(\"register\", this.Promise);\n\t storeOptions = parser$5.load(options, this.storeDefaults, {});\n\t this._store = (function() {\n\t if (this.datastore === \"redis\" || this.datastore === \"ioredis\" || (this.connection != null)) {\n\t storeInstanceOptions = parser$5.load(options, this.redisStoreDefaults, {});\n\t return new RedisDatastore$1(this, storeOptions, storeInstanceOptions);\n\t } else if (this.datastore === \"local\") {\n\t storeInstanceOptions = parser$5.load(options, this.localStoreDefaults, {});\n\t return new LocalDatastore$1(this, storeOptions, storeInstanceOptions);\n\t } else {\n\t throw new Bottleneck.prototype.BottleneckError(`Invalid datastore type: ${this.datastore}`);\n\t }\n\t }).call(this);\n\t this._queues.on(\"leftzero\", () => {\n\t var ref;\n\t return (ref = this._store.heartbeat) != null ? typeof ref.ref === \"function\" ? ref.ref() : void 0 : void 0;\n\t });\n\t this._queues.on(\"zero\", () => {\n\t var ref;\n\t return (ref = this._store.heartbeat) != null ? typeof ref.unref === \"function\" ? ref.unref() : void 0 : void 0;\n\t });\n\t }\n\n\t _validateOptions(options, invalid) {\n\t if (!((options != null) && typeof options === \"object\" && invalid.length === 0)) {\n\t throw new Bottleneck.prototype.BottleneckError(\"Bottleneck v2 takes a single object argument. Refer to https://github.com/SGrondin/bottleneck#upgrading-to-v2 if you're upgrading from Bottleneck v1.\");\n\t }\n\t }\n\n\t ready() {\n\t return this._store.ready;\n\t }\n\n\t clients() {\n\t return this._store.clients;\n\t }\n\n\t channel() {\n\t return `b_${this.id}`;\n\t }\n\n\t channel_client() {\n\t return `b_${this.id}_${this._store.clientId}`;\n\t }\n\n\t publish(message) {\n\t return this._store.__publish__(message);\n\t }\n\n\t disconnect(flush = true) {\n\t return this._store.__disconnect__(flush);\n\t }\n\n\t chain(_limiter) {\n\t this._limiter = _limiter;\n\t return this;\n\t }\n\n\t queued(priority) {\n\t return this._queues.queued(priority);\n\t }\n\n\t clusterQueued() {\n\t return this._store.__queued__();\n\t }\n\n\t empty() {\n\t return this.queued() === 0 && this._submitLock.isEmpty();\n\t }\n\n\t running() {\n\t return this._store.__running__();\n\t }\n\n\t done() {\n\t return this._store.__done__();\n\t }\n\n\t jobStatus(id) {\n\t return this._states.jobStatus(id);\n\t }\n\n\t jobs(status) {\n\t return this._states.statusJobs(status);\n\t }\n\n\t counts() {\n\t return this._states.statusCounts();\n\t }\n\n\t _randomIndex() {\n\t return Math.random().toString(36).slice(2);\n\t }\n\n\t check(weight = 1) {\n\t return this._store.__check__(weight);\n\t }\n\n\t _clearGlobalState(index) {\n\t if (this._scheduled[index] != null) {\n\t clearTimeout(this._scheduled[index].expiration);\n\t delete this._scheduled[index];\n\t return true;\n\t } else {\n\t return false;\n\t }\n\t }\n\n\t async _free(index, job, options, eventInfo) {\n\t var e, running;\n\t try {\n\t ({running} = (await this._store.__free__(index, options.weight)));\n\t this.Events.trigger(\"debug\", `Freed ${options.id}`, eventInfo);\n\t if (running === 0 && this.empty()) {\n\t return this.Events.trigger(\"idle\");\n\t }\n\t } catch (error1) {\n\t e = error1;\n\t return this.Events.trigger(\"error\", e);\n\t }\n\t }\n\n\t _run(index, job, wait) {\n\t var clearGlobalState, free, run;\n\t job.doRun();\n\t clearGlobalState = this._clearGlobalState.bind(this, index);\n\t run = this._run.bind(this, index, job);\n\t free = this._free.bind(this, index, job);\n\t return this._scheduled[index] = {\n\t timeout: setTimeout(() => {\n\t return job.doExecute(this._limiter, clearGlobalState, run, free);\n\t }, wait),\n\t expiration: job.options.expiration != null ? setTimeout(function() {\n\t return job.doExpire(clearGlobalState, run, free);\n\t }, wait + job.options.expiration) : void 0,\n\t job: job\n\t };\n\t }\n\n\t _drainOne(capacity) {\n\t return this._registerLock.schedule(() => {\n\t var args, index, next, options, queue;\n\t if (this.queued() === 0) {\n\t return this.Promise.resolve(null);\n\t }\n\t queue = this._queues.getFirst();\n\t ({options, args} = next = queue.first());\n\t if ((capacity != null) && options.weight > capacity) {\n\t return this.Promise.resolve(null);\n\t }\n\t this.Events.trigger(\"debug\", `Draining ${options.id}`, {args, options});\n\t index = this._randomIndex();\n\t return this._store.__register__(index, options.weight, options.expiration).then(({success, wait, reservoir}) => {\n\t var empty;\n\t this.Events.trigger(\"debug\", `Drained ${options.id}`, {success, args, options});\n\t if (success) {\n\t queue.shift();\n\t empty = this.empty();\n\t if (empty) {\n\t this.Events.trigger(\"empty\");\n\t }\n\t if (reservoir === 0) {\n\t this.Events.trigger(\"depleted\", empty);\n\t }\n\t this._run(index, next, wait);\n\t return this.Promise.resolve(options.weight);\n\t } else {\n\t return this.Promise.resolve(null);\n\t }\n\t });\n\t });\n\t }\n\n\t _drainAll(capacity, total = 0) {\n\t return this._drainOne(capacity).then((drained) => {\n\t var newCapacity;\n\t if (drained != null) {\n\t newCapacity = capacity != null ? capacity - drained : capacity;\n\t return this._drainAll(newCapacity, total + drained);\n\t } else {\n\t return this.Promise.resolve(total);\n\t }\n\t }).catch((e) => {\n\t return this.Events.trigger(\"error\", e);\n\t });\n\t }\n\n\t _dropAllQueued(message) {\n\t return this._queues.shiftAll(function(job) {\n\t return job.doDrop({message});\n\t });\n\t }\n\n\t stop(options = {}) {\n\t var done, waitForExecuting;\n\t options = parser$5.load(options, this.stopDefaults);\n\t waitForExecuting = (at) => {\n\t var finished;\n\t finished = () => {\n\t var counts;\n\t counts = this._states.counts;\n\t return (counts[0] + counts[1] + counts[2] + counts[3]) === at;\n\t };\n\t return new this.Promise((resolve, reject) => {\n\t if (finished()) {\n\t return resolve();\n\t } else {\n\t return this.on(\"done\", () => {\n\t if (finished()) {\n\t this.removeAllListeners(\"done\");\n\t return resolve();\n\t }\n\t });\n\t }\n\t });\n\t };\n\t done = options.dropWaitingJobs ? (this._run = function(index, next) {\n\t return next.doDrop({\n\t message: options.dropErrorMessage\n\t });\n\t }, this._drainOne = () => {\n\t return this.Promise.resolve(null);\n\t }, this._registerLock.schedule(() => {\n\t return this._submitLock.schedule(() => {\n\t var k, ref, v;\n\t ref = this._scheduled;\n\t for (k in ref) {\n\t v = ref[k];\n\t if (this.jobStatus(v.job.options.id) === \"RUNNING\") {\n\t clearTimeout(v.timeout);\n\t clearTimeout(v.expiration);\n\t v.job.doDrop({\n\t message: options.dropErrorMessage\n\t });\n\t }\n\t }\n\t this._dropAllQueued(options.dropErrorMessage);\n\t return waitForExecuting(0);\n\t });\n\t })) : this.schedule({\n\t priority: NUM_PRIORITIES$1 - 1,\n\t weight: 0\n\t }, () => {\n\t return waitForExecuting(1);\n\t });\n\t this._receive = function(job) {\n\t return job._reject(new Bottleneck.prototype.BottleneckError(options.enqueueErrorMessage));\n\t };\n\t this.stop = () => {\n\t return this.Promise.reject(new Bottleneck.prototype.BottleneckError(\"stop() has already been called\"));\n\t };\n\t return done;\n\t }\n\n\t async _addToQueue(job) {\n\t var args, blocked, error, options, reachedHWM, shifted, strategy;\n\t ({args, options} = job);\n\t try {\n\t ({reachedHWM, blocked, strategy} = (await this._store.__submit__(this.queued(), options.weight)));\n\t } catch (error1) {\n\t error = error1;\n\t this.Events.trigger(\"debug\", `Could not queue ${options.id}`, {args, options, error});\n\t job.doDrop({error});\n\t return false;\n\t }\n\t if (blocked) {\n\t job.doDrop();\n\t return true;\n\t } else if (reachedHWM) {\n\t shifted = strategy === Bottleneck.prototype.strategy.LEAK ? this._queues.shiftLastFrom(options.priority) : strategy === Bottleneck.prototype.strategy.OVERFLOW_PRIORITY ? this._queues.shiftLastFrom(options.priority + 1) : strategy === Bottleneck.prototype.strategy.OVERFLOW ? job : void 0;\n\t if (shifted != null) {\n\t shifted.doDrop();\n\t }\n\t if ((shifted == null) || strategy === Bottleneck.prototype.strategy.OVERFLOW) {\n\t if (shifted == null) {\n\t job.doDrop();\n\t }\n\t return reachedHWM;\n\t }\n\t }\n\t job.doQueue(reachedHWM, blocked);\n\t this._queues.push(job);\n\t await this._drainAll();\n\t return reachedHWM;\n\t }\n\n\t _receive(job) {\n\t if (this._states.jobStatus(job.options.id) != null) {\n\t job._reject(new Bottleneck.prototype.BottleneckError(`A job with the same id already exists (id=${job.options.id})`));\n\t return false;\n\t } else {\n\t job.doReceive();\n\t return this._submitLock.schedule(this._addToQueue, job);\n\t }\n\t }\n\n\t submit(...args) {\n\t var cb, fn, job, options, ref, ref1, task;\n\t if (typeof args[0] === \"function\") {\n\t ref = args, [fn, ...args] = ref, [cb] = splice.call(args, -1);\n\t options = parser$5.load({}, this.jobDefaults);\n\t } else {\n\t ref1 = args, [options, fn, ...args] = ref1, [cb] = splice.call(args, -1);\n\t options = parser$5.load(options, this.jobDefaults);\n\t }\n\t task = (...args) => {\n\t return new this.Promise(function(resolve, reject) {\n\t return fn(...args, function(...args) {\n\t return (args[0] != null ? reject : resolve)(args);\n\t });\n\t });\n\t };\n\t job = new Job$1(task, args, options, this.jobDefaults, this.rejectOnDrop, this.Events, this._states, this.Promise);\n\t job.promise.then(function(args) {\n\t return typeof cb === \"function\" ? cb(...args) : void 0;\n\t }).catch(function(args) {\n\t if (Array.isArray(args)) {\n\t return typeof cb === \"function\" ? cb(...args) : void 0;\n\t } else {\n\t return typeof cb === \"function\" ? cb(args) : void 0;\n\t }\n\t });\n\t return this._receive(job);\n\t }\n\n\t schedule(...args) {\n\t var job, options, task;\n\t if (typeof args[0] === \"function\") {\n\t [task, ...args] = args;\n\t options = {};\n\t } else {\n\t [options, task, ...args] = args;\n\t }\n\t job = new Job$1(task, args, options, this.jobDefaults, this.rejectOnDrop, this.Events, this._states, this.Promise);\n\t this._receive(job);\n\t return job.promise;\n\t }\n\n\t wrap(fn) {\n\t var schedule, wrapped;\n\t schedule = this.schedule.bind(this);\n\t wrapped = function(...args) {\n\t return schedule(fn.bind(this), ...args);\n\t };\n\t wrapped.withOptions = function(options, ...args) {\n\t return schedule(options, fn, ...args);\n\t };\n\t return wrapped;\n\t }\n\n\t async updateSettings(options = {}) {\n\t await this._store.__updateSettings__(parser$5.overwrite(options, this.storeDefaults));\n\t parser$5.overwrite(options, this.instanceDefaults, this);\n\t return this;\n\t }\n\n\t currentReservoir() {\n\t return this._store.__currentReservoir__();\n\t }\n\n\t incrementReservoir(incr = 0) {\n\t return this._store.__incrementReservoir__(incr);\n\t }\n\n\t }\n\t Bottleneck.default = Bottleneck;\n\n\t Bottleneck.Events = Events$4;\n\n\t Bottleneck.version = Bottleneck.prototype.version = require$$8.version;\n\n\t Bottleneck.strategy = Bottleneck.prototype.strategy = {\n\t LEAK: 1,\n\t OVERFLOW: 2,\n\t OVERFLOW_PRIORITY: 4,\n\t BLOCK: 3\n\t };\n\n\t Bottleneck.BottleneckError = Bottleneck.prototype.BottleneckError = BottleneckError_1;\n\n\t Bottleneck.Group = Bottleneck.prototype.Group = Group_1;\n\n\t Bottleneck.RedisConnection = Bottleneck.prototype.RedisConnection = require$$2;\n\n\t Bottleneck.IORedisConnection = Bottleneck.prototype.IORedisConnection = require$$3;\n\n\t Bottleneck.Batcher = Bottleneck.prototype.Batcher = Batcher_1;\n\n\t Bottleneck.prototype.jobDefaults = {\n\t priority: DEFAULT_PRIORITY$1,\n\t weight: 1,\n\t expiration: null,\n\t id: \"\"\n\t };\n\n\t Bottleneck.prototype.storeDefaults = {\n\t maxConcurrent: null,\n\t minTime: 0,\n\t highWater: null,\n\t strategy: Bottleneck.prototype.strategy.LEAK,\n\t penalty: null,\n\t reservoir: null,\n\t reservoirRefreshInterval: null,\n\t reservoirRefreshAmount: null,\n\t reservoirIncreaseInterval: null,\n\t reservoirIncreaseAmount: null,\n\t reservoirIncreaseMaximum: null\n\t };\n\n\t Bottleneck.prototype.localStoreDefaults = {\n\t Promise: Promise,\n\t timeout: null,\n\t heartbeatInterval: 250\n\t };\n\n\t Bottleneck.prototype.redisStoreDefaults = {\n\t Promise: Promise,\n\t timeout: null,\n\t heartbeatInterval: 5000,\n\t clientTimeout: 10000,\n\t Redis: null,\n\t clientOptions: {},\n\t clusterNodes: null,\n\t clearDatastore: false,\n\t connection: null\n\t };\n\n\t Bottleneck.prototype.instanceDefaults = {\n\t datastore: \"local\",\n\t connection: null,\n\t id: \"\",\n\t rejectOnDrop: true,\n\t trackDoneStatus: false,\n\t Promise: Promise\n\t };\n\n\t Bottleneck.prototype.stopDefaults = {\n\t enqueueErrorMessage: \"This limiter has been stopped and cannot accept new jobs.\",\n\t dropWaitingJobs: true,\n\t dropErrorMessage: \"This limiter has been stopped.\"\n\t };\n\n\t return Bottleneck;\n\n\t}).call(commonjsGlobal);\n\n\tvar Bottleneck_1 = Bottleneck;\n\n\tvar lib = Bottleneck_1;\n\n\treturn lib;\n\n})));\n","// pkg/dist-src/version.js\nvar VERSION = \"0.0.0-development\";\n\n// pkg/dist-src/error-request.js\nasync function errorRequest(state, octokit, error, options) {\n if (!error.request || !error.request.request) {\n throw error;\n }\n if (error.status >= 400 && !state.doNotRetry.includes(error.status)) {\n const retries = options.request.retries != null ? options.request.retries : state.retries;\n const retryAfter = Math.pow((options.request.retryCount || 0) + 1, 2);\n throw octokit.retry.retryRequest(error, retries, retryAfter);\n }\n throw error;\n}\n\n// pkg/dist-src/wrap-request.js\nimport Bottleneck from \"bottleneck/light.js\";\nimport { RequestError } from \"@octokit/request-error\";\nasync function wrapRequest(state, octokit, request, options) {\n const limiter = new Bottleneck();\n limiter.on(\"failed\", function(error, info) {\n const maxRetries = ~~error.request.request.retries;\n const after = ~~error.request.request.retryAfter;\n options.request.retryCount = info.retryCount + 1;\n if (maxRetries > info.retryCount) {\n return after * state.retryAfterBaseValue;\n }\n });\n return limiter.schedule(\n requestWithGraphqlErrorHandling.bind(null, state, octokit, request),\n options\n );\n}\nasync function requestWithGraphqlErrorHandling(state, octokit, request, options) {\n const response = await request(request, options);\n if (response.data && response.data.errors && response.data.errors.length > 0 && /Something went wrong while executing your query/.test(\n response.data.errors[0].message\n )) {\n const error = new RequestError(response.data.errors[0].message, 500, {\n request: options,\n response\n });\n return errorRequest(state, octokit, error, options);\n }\n return response;\n}\n\n// pkg/dist-src/index.js\nfunction retry(octokit, octokitOptions) {\n const state = Object.assign(\n {\n enabled: true,\n retryAfterBaseValue: 1e3,\n doNotRetry: [400, 401, 403, 404, 410, 422, 451],\n retries: 3\n },\n octokitOptions.retry\n );\n if (state.enabled) {\n octokit.hook.error(\"request\", errorRequest.bind(null, state, octokit));\n octokit.hook.wrap(\"request\", wrapRequest.bind(null, state, octokit));\n }\n return {\n retry: {\n retryRequest: (error, retries, retryAfter) => {\n error.request.request = Object.assign({}, error.request.request, {\n retries,\n retryAfter\n });\n return error;\n }\n }\n };\n}\nretry.VERSION = VERSION;\nexport {\n VERSION,\n retry\n};\n","// pkg/dist-src/index.js\nimport BottleneckLight from \"bottleneck/light.js\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"0.0.0-development\";\n\n// pkg/dist-src/wrap-request.js\nvar noop = () => Promise.resolve();\nfunction wrapRequest(state, request, options) {\n return state.retryLimiter.schedule(doRequest, state, request, options);\n}\nasync function doRequest(state, request, options) {\n const { pathname } = new URL(options.url, \"http://github.test\");\n const isAuth = isAuthRequest(options.method, pathname);\n const isWrite = !isAuth && options.method !== \"GET\" && options.method !== \"HEAD\";\n const isSearch = options.method === \"GET\" && pathname.startsWith(\"/search/\");\n const isGraphQL = pathname.startsWith(\"/graphql\");\n const retryCount = ~~request.retryCount;\n const jobOptions = retryCount > 0 ? { priority: 0, weight: 0 } : {};\n if (state.clustering) {\n jobOptions.expiration = 1e3 * 60;\n }\n if (isWrite || isGraphQL) {\n await state.write.key(state.id).schedule(jobOptions, noop);\n }\n if (isWrite && state.triggersNotification(pathname)) {\n await state.notifications.key(state.id).schedule(jobOptions, noop);\n }\n if (isSearch) {\n await state.search.key(state.id).schedule(jobOptions, noop);\n }\n const req = (isAuth ? state.auth : state.global).key(state.id).schedule(jobOptions, request, options);\n if (isGraphQL) {\n const res = await req;\n if (res.data.errors != null && res.data.errors.some((error) => error.type === \"RATE_LIMITED\")) {\n const error = Object.assign(new Error(\"GraphQL Rate Limit Exceeded\"), {\n response: res,\n data: res.data\n });\n throw error;\n }\n }\n return req;\n}\nfunction isAuthRequest(method, pathname) {\n return method === \"PATCH\" && // https://docs.github.com/en/rest/apps/apps?apiVersion=2022-11-28#create-a-scoped-access-token\n /^\\/applications\\/[^/]+\\/token\\/scoped$/.test(pathname) || method === \"POST\" && // https://docs.github.com/en/rest/apps/oauth-applications?apiVersion=2022-11-28#reset-a-token\n (/^\\/applications\\/[^/]+\\/token$/.test(pathname) || // https://docs.github.com/en/rest/apps/apps?apiVersion=2022-11-28#create-an-installation-access-token-for-an-app\n /^\\/app\\/installations\\/[^/]+\\/access_tokens$/.test(pathname) || // https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps\n pathname === \"/login/oauth/access_token\");\n}\n\n// pkg/dist-src/generated/triggers-notification-paths.js\nvar triggers_notification_paths_default = [\n \"/orgs/{org}/invitations\",\n \"/orgs/{org}/invitations/{invitation_id}\",\n \"/orgs/{org}/teams/{team_slug}/discussions\",\n \"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n \"/repos/{owner}/{repo}/collaborators/{username}\",\n \"/repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n \"/repos/{owner}/{repo}/issues\",\n \"/repos/{owner}/{repo}/issues/{issue_number}/comments\",\n \"/repos/{owner}/{repo}/issues/{issue_number}/sub_issue\",\n \"/repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority\",\n \"/repos/{owner}/{repo}/pulls\",\n \"/repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n \"/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies\",\n \"/repos/{owner}/{repo}/pulls/{pull_number}/merge\",\n \"/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n \"/repos/{owner}/{repo}/pulls/{pull_number}/reviews\",\n \"/repos/{owner}/{repo}/releases\",\n \"/teams/{team_id}/discussions\",\n \"/teams/{team_id}/discussions/{discussion_number}/comments\"\n];\n\n// pkg/dist-src/route-matcher.js\nfunction routeMatcher(paths) {\n const regexes = paths.map(\n (path) => path.split(\"/\").map((c) => c.startsWith(\"{\") ? \"(?:.+?)\" : c).join(\"/\")\n );\n const regex2 = `^(?:${regexes.map((r) => `(?:${r})`).join(\"|\")})[^/]*$`;\n return new RegExp(regex2, \"i\");\n}\n\n// pkg/dist-src/index.js\nvar regex = routeMatcher(triggers_notification_paths_default);\nvar triggersNotification = regex.test.bind(regex);\nvar groups = {};\nvar createGroups = function(Bottleneck, common) {\n groups.global = new Bottleneck.Group({\n id: \"octokit-global\",\n maxConcurrent: 10,\n ...common\n });\n groups.auth = new Bottleneck.Group({\n id: \"octokit-auth\",\n maxConcurrent: 1,\n ...common\n });\n groups.search = new Bottleneck.Group({\n id: \"octokit-search\",\n maxConcurrent: 1,\n minTime: 2e3,\n ...common\n });\n groups.write = new Bottleneck.Group({\n id: \"octokit-write\",\n maxConcurrent: 1,\n minTime: 1e3,\n ...common\n });\n groups.notifications = new Bottleneck.Group({\n id: \"octokit-notifications\",\n maxConcurrent: 1,\n minTime: 3e3,\n ...common\n });\n};\nfunction throttling(octokit, octokitOptions) {\n const {\n enabled = true,\n Bottleneck = BottleneckLight,\n id = \"no-id\",\n timeout = 1e3 * 60 * 2,\n // Redis TTL: 2 minutes\n connection\n } = octokitOptions.throttle || {};\n if (!enabled) {\n return {};\n }\n const common = { timeout };\n if (typeof connection !== \"undefined\") {\n common.connection = connection;\n }\n if (groups.global == null) {\n createGroups(Bottleneck, common);\n }\n const state = Object.assign(\n {\n clustering: connection != null,\n triggersNotification,\n fallbackSecondaryRateRetryAfter: 60,\n retryAfterBaseValue: 1e3,\n retryLimiter: new Bottleneck(),\n id,\n ...groups\n },\n octokitOptions.throttle\n );\n if (typeof state.onSecondaryRateLimit !== \"function\" || typeof state.onRateLimit !== \"function\") {\n throw new Error(`octokit/plugin-throttling error:\n You must pass the onSecondaryRateLimit and onRateLimit error handlers.\n See https://octokit.github.io/rest.js/#throttling\n\n const octokit = new Octokit({\n throttle: {\n onSecondaryRateLimit: (retryAfter, options) => {/* ... */},\n onRateLimit: (retryAfter, options) => {/* ... */}\n }\n })\n `);\n }\n const events = {};\n const emitter = new Bottleneck.Events(events);\n events.on(\"secondary-limit\", state.onSecondaryRateLimit);\n events.on(\"rate-limit\", state.onRateLimit);\n events.on(\n \"error\",\n (e) => octokit.log.warn(\"Error in throttling-plugin limit handler\", e)\n );\n state.retryLimiter.on(\"failed\", async function(error, info) {\n const [state2, request, options] = info.args;\n const { pathname } = new URL(options.url, \"http://github.test\");\n const shouldRetryGraphQL = pathname.startsWith(\"/graphql\") && error.status !== 401;\n if (!(shouldRetryGraphQL || error.status === 403 || error.status === 429)) {\n return;\n }\n const retryCount = ~~request.retryCount;\n request.retryCount = retryCount;\n options.request.retryCount = retryCount;\n const { wantRetry, retryAfter = 0 } = await async function() {\n if (/\\bsecondary rate\\b/i.test(error.message)) {\n const retryAfter2 = Number(error.response.headers[\"retry-after\"]) || state2.fallbackSecondaryRateRetryAfter;\n const wantRetry2 = await emitter.trigger(\n \"secondary-limit\",\n retryAfter2,\n options,\n octokit,\n retryCount\n );\n return { wantRetry: wantRetry2, retryAfter: retryAfter2 };\n }\n if (error.response.headers != null && error.response.headers[\"x-ratelimit-remaining\"] === \"0\" || (error.response.data?.errors ?? []).some(\n (error2) => error2.type === \"RATE_LIMITED\"\n )) {\n const rateLimitReset = new Date(\n ~~error.response.headers[\"x-ratelimit-reset\"] * 1e3\n ).getTime();\n const retryAfter2 = Math.max(\n // Add one second so we retry _after_ the reset time\n // https://docs.github.com/en/rest/overview/resources-in-the-rest-api?apiVersion=2022-11-28#exceeding-the-rate-limit\n Math.ceil((rateLimitReset - Date.now()) / 1e3) + 1,\n 0\n );\n const wantRetry2 = await emitter.trigger(\n \"rate-limit\",\n retryAfter2,\n options,\n octokit,\n retryCount\n );\n return { wantRetry: wantRetry2, retryAfter: retryAfter2 };\n }\n return {};\n }();\n if (wantRetry) {\n request.retryCount++;\n return retryAfter * state2.retryAfterBaseValue;\n }\n });\n octokit.hook.wrap(\"request\", wrapRequest.bind(null, state));\n return {};\n}\nthrottling.VERSION = VERSION;\nthrottling.triggersNotification = triggersNotification;\nexport {\n throttling\n};\n","function oauthAuthorizationUrl(options) {\n const clientType = options.clientType || \"oauth-app\";\n const baseUrl = options.baseUrl || \"https://github.com\";\n const result = {\n clientType,\n allowSignup: options.allowSignup === false ? false : true,\n clientId: options.clientId,\n login: options.login || null,\n redirectUrl: options.redirectUrl || null,\n state: options.state || Math.random().toString(36).substr(2),\n url: \"\"\n };\n if (clientType === \"oauth-app\") {\n const scopes = \"scopes\" in options ? options.scopes : [];\n result.scopes = typeof scopes === \"string\" ? scopes.split(/[,\\s]+/).filter(Boolean) : scopes;\n }\n result.url = urlBuilderAuthorize(`${baseUrl}/login/oauth/authorize`, result);\n return result;\n}\nfunction urlBuilderAuthorize(base, options) {\n const map = {\n allowSignup: \"allow_signup\",\n clientId: \"client_id\",\n login: \"login\",\n redirectUrl: \"redirect_uri\",\n scopes: \"scope\",\n state: \"state\"\n };\n let url = base;\n Object.keys(map).filter((k) => options[k] !== null).filter((k) => {\n if (k !== \"scopes\") return true;\n if (options.clientType === \"github-app\") return false;\n return !Array.isArray(options[k]) || options[k].length > 0;\n }).map((key) => [map[key], `${options[key]}`]).forEach(([key, value], index) => {\n url += index === 0 ? `?` : \"&\";\n url += `${key}=${encodeURIComponent(value)}`;\n });\n return url;\n}\nexport {\n oauthAuthorizationUrl\n};\n","// pkg/dist-src/version.js\nvar VERSION = \"0.0.0-development\";\n\n// pkg/dist-src/get-web-flow-authorization-url.js\nimport { oauthAuthorizationUrl } from \"@octokit/oauth-authorization-url\";\nimport { request as defaultRequest } from \"@octokit/request\";\n\n// pkg/dist-src/utils.js\nimport { RequestError } from \"@octokit/request-error\";\nfunction requestToOAuthBaseUrl(request) {\n const endpointDefaults = request.endpoint.DEFAULTS;\n return /^https:\\/\\/(api\\.)?github\\.com$/.test(endpointDefaults.baseUrl) ? \"https://github.com\" : endpointDefaults.baseUrl.replace(\"/api/v3\", \"\");\n}\nasync function oauthRequest(request, route, parameters) {\n const withOAuthParameters = {\n baseUrl: requestToOAuthBaseUrl(request),\n headers: {\n accept: \"application/json\"\n },\n ...parameters\n };\n const response = await request(route, withOAuthParameters);\n if (\"error\" in response.data) {\n const error = new RequestError(\n `${response.data.error_description} (${response.data.error}, ${response.data.error_uri})`,\n 400,\n {\n request: request.endpoint.merge(\n route,\n withOAuthParameters\n )\n }\n );\n error.response = response;\n throw error;\n }\n return response;\n}\n\n// pkg/dist-src/get-web-flow-authorization-url.js\nfunction getWebFlowAuthorizationUrl({\n request = defaultRequest,\n ...options\n}) {\n const baseUrl = requestToOAuthBaseUrl(request);\n return oauthAuthorizationUrl({\n ...options,\n baseUrl\n });\n}\n\n// pkg/dist-src/exchange-web-flow-code.js\nimport { request as defaultRequest2 } from \"@octokit/request\";\nasync function exchangeWebFlowCode(options) {\n const request = options.request || defaultRequest2;\n const response = await oauthRequest(\n request,\n \"POST /login/oauth/access_token\",\n {\n client_id: options.clientId,\n client_secret: options.clientSecret,\n code: options.code,\n redirect_uri: options.redirectUrl\n }\n );\n const authentication = {\n clientType: options.clientType,\n clientId: options.clientId,\n clientSecret: options.clientSecret,\n token: response.data.access_token,\n scopes: response.data.scope.split(/\\s+/).filter(Boolean)\n };\n if (options.clientType === \"github-app\") {\n if (\"refresh_token\" in response.data) {\n const apiTimeInMs = new Date(response.headers.date).getTime();\n authentication.refreshToken = response.data.refresh_token, authentication.expiresAt = toTimestamp(\n apiTimeInMs,\n response.data.expires_in\n ), authentication.refreshTokenExpiresAt = toTimestamp(\n apiTimeInMs,\n response.data.refresh_token_expires_in\n );\n }\n delete authentication.scopes;\n }\n return { ...response, authentication };\n}\nfunction toTimestamp(apiTimeInMs, expirationInSeconds) {\n return new Date(apiTimeInMs + expirationInSeconds * 1e3).toISOString();\n}\n\n// pkg/dist-src/create-device-code.js\nimport { request as defaultRequest3 } from \"@octokit/request\";\nasync function createDeviceCode(options) {\n const request = options.request || defaultRequest3;\n const parameters = {\n client_id: options.clientId\n };\n if (\"scopes\" in options && Array.isArray(options.scopes)) {\n parameters.scope = options.scopes.join(\" \");\n }\n return oauthRequest(request, \"POST /login/device/code\", parameters);\n}\n\n// pkg/dist-src/exchange-device-code.js\nimport { request as defaultRequest4 } from \"@octokit/request\";\nasync function exchangeDeviceCode(options) {\n const request = options.request || defaultRequest4;\n const response = await oauthRequest(\n request,\n \"POST /login/oauth/access_token\",\n {\n client_id: options.clientId,\n device_code: options.code,\n grant_type: \"urn:ietf:params:oauth:grant-type:device_code\"\n }\n );\n const authentication = {\n clientType: options.clientType,\n clientId: options.clientId,\n token: response.data.access_token,\n scopes: response.data.scope.split(/\\s+/).filter(Boolean)\n };\n if (\"clientSecret\" in options) {\n authentication.clientSecret = options.clientSecret;\n }\n if (options.clientType === \"github-app\") {\n if (\"refresh_token\" in response.data) {\n const apiTimeInMs = new Date(response.headers.date).getTime();\n authentication.refreshToken = response.data.refresh_token, authentication.expiresAt = toTimestamp2(\n apiTimeInMs,\n response.data.expires_in\n ), authentication.refreshTokenExpiresAt = toTimestamp2(\n apiTimeInMs,\n response.data.refresh_token_expires_in\n );\n }\n delete authentication.scopes;\n }\n return { ...response, authentication };\n}\nfunction toTimestamp2(apiTimeInMs, expirationInSeconds) {\n return new Date(apiTimeInMs + expirationInSeconds * 1e3).toISOString();\n}\n\n// pkg/dist-src/check-token.js\nimport { request as defaultRequest5 } from \"@octokit/request\";\nasync function checkToken(options) {\n const request = options.request || defaultRequest5;\n const response = await request(\"POST /applications/{client_id}/token\", {\n headers: {\n authorization: `basic ${btoa(\n `${options.clientId}:${options.clientSecret}`\n )}`\n },\n client_id: options.clientId,\n access_token: options.token\n });\n const authentication = {\n clientType: options.clientType,\n clientId: options.clientId,\n clientSecret: options.clientSecret,\n token: options.token,\n scopes: response.data.scopes\n };\n if (response.data.expires_at)\n authentication.expiresAt = response.data.expires_at;\n if (options.clientType === \"github-app\") {\n delete authentication.scopes;\n }\n return { ...response, authentication };\n}\n\n// pkg/dist-src/refresh-token.js\nimport { request as defaultRequest6 } from \"@octokit/request\";\nasync function refreshToken(options) {\n const request = options.request || defaultRequest6;\n const response = await oauthRequest(\n request,\n \"POST /login/oauth/access_token\",\n {\n client_id: options.clientId,\n client_secret: options.clientSecret,\n grant_type: \"refresh_token\",\n refresh_token: options.refreshToken\n }\n );\n const apiTimeInMs = new Date(response.headers.date).getTime();\n const authentication = {\n clientType: \"github-app\",\n clientId: options.clientId,\n clientSecret: options.clientSecret,\n token: response.data.access_token,\n refreshToken: response.data.refresh_token,\n expiresAt: toTimestamp3(apiTimeInMs, response.data.expires_in),\n refreshTokenExpiresAt: toTimestamp3(\n apiTimeInMs,\n response.data.refresh_token_expires_in\n )\n };\n return { ...response, authentication };\n}\nfunction toTimestamp3(apiTimeInMs, expirationInSeconds) {\n return new Date(apiTimeInMs + expirationInSeconds * 1e3).toISOString();\n}\n\n// pkg/dist-src/scope-token.js\nimport { request as defaultRequest7 } from \"@octokit/request\";\nasync function scopeToken(options) {\n const {\n request: optionsRequest,\n clientType,\n clientId,\n clientSecret,\n token,\n ...requestOptions\n } = options;\n const request = options.request || defaultRequest7;\n const response = await request(\n \"POST /applications/{client_id}/token/scoped\",\n {\n headers: {\n authorization: `basic ${btoa(`${clientId}:${clientSecret}`)}`\n },\n client_id: clientId,\n access_token: token,\n ...requestOptions\n }\n );\n const authentication = Object.assign(\n {\n clientType,\n clientId,\n clientSecret,\n token: response.data.token\n },\n response.data.expires_at ? { expiresAt: response.data.expires_at } : {}\n );\n return { ...response, authentication };\n}\n\n// pkg/dist-src/reset-token.js\nimport { request as defaultRequest8 } from \"@octokit/request\";\nasync function resetToken(options) {\n const request = options.request || defaultRequest8;\n const auth = btoa(`${options.clientId}:${options.clientSecret}`);\n const response = await request(\n \"PATCH /applications/{client_id}/token\",\n {\n headers: {\n authorization: `basic ${auth}`\n },\n client_id: options.clientId,\n access_token: options.token\n }\n );\n const authentication = {\n clientType: options.clientType,\n clientId: options.clientId,\n clientSecret: options.clientSecret,\n token: response.data.token,\n scopes: response.data.scopes\n };\n if (response.data.expires_at)\n authentication.expiresAt = response.data.expires_at;\n if (options.clientType === \"github-app\") {\n delete authentication.scopes;\n }\n return { ...response, authentication };\n}\n\n// pkg/dist-src/delete-token.js\nimport { request as defaultRequest9 } from \"@octokit/request\";\nasync function deleteToken(options) {\n const request = options.request || defaultRequest9;\n const auth = btoa(`${options.clientId}:${options.clientSecret}`);\n return request(\n \"DELETE /applications/{client_id}/token\",\n {\n headers: {\n authorization: `basic ${auth}`\n },\n client_id: options.clientId,\n access_token: options.token\n }\n );\n}\n\n// pkg/dist-src/delete-authorization.js\nimport { request as defaultRequest10 } from \"@octokit/request\";\nasync function deleteAuthorization(options) {\n const request = options.request || defaultRequest10;\n const auth = btoa(`${options.clientId}:${options.clientSecret}`);\n return request(\n \"DELETE /applications/{client_id}/grant\",\n {\n headers: {\n authorization: `basic ${auth}`\n },\n client_id: options.clientId,\n access_token: options.token\n }\n );\n}\nexport {\n VERSION,\n checkToken,\n createDeviceCode,\n deleteAuthorization,\n deleteToken,\n exchangeDeviceCode,\n exchangeWebFlowCode,\n getWebFlowAuthorizationUrl,\n refreshToken,\n resetToken,\n scopeToken\n};\n","// pkg/dist-src/index.js\nimport { getUserAgent } from \"universal-user-agent\";\nimport { request as octokitRequest } from \"@octokit/request\";\n\n// pkg/dist-src/get-oauth-access-token.js\nimport { createDeviceCode, exchangeDeviceCode } from \"@octokit/oauth-methods\";\nasync function getOAuthAccessToken(state, options) {\n const cachedAuthentication = getCachedAuthentication(state, options.auth);\n if (cachedAuthentication) return cachedAuthentication;\n const { data: verification } = await createDeviceCode({\n clientType: state.clientType,\n clientId: state.clientId,\n request: options.request || state.request,\n // @ts-expect-error the extra code to make TS happy is not worth it\n scopes: options.auth.scopes || state.scopes\n });\n await state.onVerification(verification);\n const authentication = await waitForAccessToken(\n options.request || state.request,\n state.clientId,\n state.clientType,\n verification\n );\n state.authentication = authentication;\n return authentication;\n}\nfunction getCachedAuthentication(state, auth2) {\n if (auth2.refresh === true) return false;\n if (!state.authentication) return false;\n if (state.clientType === \"github-app\") {\n return state.authentication;\n }\n const authentication = state.authentication;\n const newScope = (\"scopes\" in auth2 && auth2.scopes || state.scopes).join(\n \" \"\n );\n const currentScope = authentication.scopes.join(\" \");\n return newScope === currentScope ? authentication : false;\n}\nasync function wait(seconds) {\n await new Promise((resolve) => setTimeout(resolve, seconds * 1e3));\n}\nasync function waitForAccessToken(request, clientId, clientType, verification) {\n try {\n const options = {\n clientId,\n request,\n code: verification.device_code\n };\n const { authentication } = clientType === \"oauth-app\" ? await exchangeDeviceCode({\n ...options,\n clientType: \"oauth-app\"\n }) : await exchangeDeviceCode({\n ...options,\n clientType: \"github-app\"\n });\n return {\n type: \"token\",\n tokenType: \"oauth\",\n ...authentication\n };\n } catch (error) {\n if (!error.response) throw error;\n const errorType = error.response.data.error;\n if (errorType === \"authorization_pending\") {\n await wait(verification.interval);\n return waitForAccessToken(request, clientId, clientType, verification);\n }\n if (errorType === \"slow_down\") {\n await wait(verification.interval + 7);\n return waitForAccessToken(request, clientId, clientType, verification);\n }\n throw error;\n }\n}\n\n// pkg/dist-src/auth.js\nasync function auth(state, authOptions) {\n return getOAuthAccessToken(state, {\n auth: authOptions\n });\n}\n\n// pkg/dist-src/hook.js\nasync function hook(state, request, route, parameters) {\n let endpoint = request.endpoint.merge(\n route,\n parameters\n );\n if (/\\/login\\/(oauth\\/access_token|device\\/code)$/.test(endpoint.url)) {\n return request(endpoint);\n }\n const { token } = await getOAuthAccessToken(state, {\n request,\n auth: { type: \"oauth\" }\n });\n endpoint.headers.authorization = `token ${token}`;\n return request(endpoint);\n}\n\n// pkg/dist-src/version.js\nvar VERSION = \"0.0.0-development\";\n\n// pkg/dist-src/index.js\nfunction createOAuthDeviceAuth(options) {\n const requestWithDefaults = options.request || octokitRequest.defaults({\n headers: {\n \"user-agent\": `octokit-auth-oauth-device.js/${VERSION} ${getUserAgent()}`\n }\n });\n const { request = requestWithDefaults, ...otherOptions } = options;\n const state = options.clientType === \"github-app\" ? {\n ...otherOptions,\n clientType: \"github-app\",\n request\n } : {\n ...otherOptions,\n clientType: \"oauth-app\",\n request,\n scopes: options.scopes || []\n };\n if (!options.clientId) {\n throw new Error(\n '[@octokit/auth-oauth-device] \"clientId\" option must be set (https://github.com/octokit/auth-oauth-device.js#usage)'\n );\n }\n if (!options.onVerification) {\n throw new Error(\n '[@octokit/auth-oauth-device] \"onVerification\" option must be a function (https://github.com/octokit/auth-oauth-device.js#usage)'\n );\n }\n return Object.assign(auth.bind(null, state), {\n hook: hook.bind(null, state)\n });\n}\nexport {\n createOAuthDeviceAuth\n};\n","// pkg/dist-src/index.js\nimport { getUserAgent } from \"universal-user-agent\";\nimport { request as octokitRequest } from \"@octokit/request\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"0.0.0-development\";\n\n// pkg/dist-src/get-authentication.js\nimport { createOAuthDeviceAuth } from \"@octokit/auth-oauth-device\";\nimport { exchangeWebFlowCode } from \"@octokit/oauth-methods\";\nasync function getAuthentication(state) {\n if (\"code\" in state.strategyOptions) {\n const { authentication } = await exchangeWebFlowCode({\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n clientType: state.clientType,\n onTokenCreated: state.onTokenCreated,\n ...state.strategyOptions,\n request: state.request\n });\n return {\n type: \"token\",\n tokenType: \"oauth\",\n ...authentication\n };\n }\n if (\"onVerification\" in state.strategyOptions) {\n const deviceAuth = createOAuthDeviceAuth({\n clientType: state.clientType,\n clientId: state.clientId,\n onTokenCreated: state.onTokenCreated,\n ...state.strategyOptions,\n request: state.request\n });\n const authentication = await deviceAuth({\n type: \"oauth\"\n });\n return {\n clientSecret: state.clientSecret,\n ...authentication\n };\n }\n if (\"token\" in state.strategyOptions) {\n return {\n type: \"token\",\n tokenType: \"oauth\",\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n clientType: state.clientType,\n onTokenCreated: state.onTokenCreated,\n ...state.strategyOptions\n };\n }\n throw new Error(\"[@octokit/auth-oauth-user] Invalid strategy options\");\n}\n\n// pkg/dist-src/auth.js\nimport {\n checkToken,\n deleteAuthorization,\n deleteToken,\n refreshToken,\n resetToken\n} from \"@octokit/oauth-methods\";\nasync function auth(state, options = {}) {\n if (!state.authentication) {\n state.authentication = state.clientType === \"oauth-app\" ? await getAuthentication(state) : await getAuthentication(state);\n }\n if (state.authentication.invalid) {\n throw new Error(\"[@octokit/auth-oauth-user] Token is invalid\");\n }\n const currentAuthentication = state.authentication;\n if (\"expiresAt\" in currentAuthentication) {\n if (options.type === \"refresh\" || new Date(currentAuthentication.expiresAt) < /* @__PURE__ */ new Date()) {\n const { authentication } = await refreshToken({\n clientType: \"github-app\",\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n refreshToken: currentAuthentication.refreshToken,\n request: state.request\n });\n state.authentication = {\n tokenType: \"oauth\",\n type: \"token\",\n ...authentication\n };\n }\n }\n if (options.type === \"refresh\") {\n if (state.clientType === \"oauth-app\") {\n throw new Error(\n \"[@octokit/auth-oauth-user] OAuth Apps do not support expiring tokens\"\n );\n }\n if (!currentAuthentication.hasOwnProperty(\"expiresAt\")) {\n throw new Error(\"[@octokit/auth-oauth-user] Refresh token missing\");\n }\n await state.onTokenCreated?.(state.authentication, {\n type: options.type\n });\n }\n if (options.type === \"check\" || options.type === \"reset\") {\n const method = options.type === \"check\" ? checkToken : resetToken;\n try {\n const { authentication } = await method({\n // @ts-expect-error making TS happy would require unnecessary code so no\n clientType: state.clientType,\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n token: state.authentication.token,\n request: state.request\n });\n state.authentication = {\n tokenType: \"oauth\",\n type: \"token\",\n // @ts-expect-error TBD\n ...authentication\n };\n if (options.type === \"reset\") {\n await state.onTokenCreated?.(state.authentication, {\n type: options.type\n });\n }\n return state.authentication;\n } catch (error) {\n if (error.status === 404) {\n error.message = \"[@octokit/auth-oauth-user] Token is invalid\";\n state.authentication.invalid = true;\n }\n throw error;\n }\n }\n if (options.type === \"delete\" || options.type === \"deleteAuthorization\") {\n const method = options.type === \"delete\" ? deleteToken : deleteAuthorization;\n try {\n await method({\n // @ts-expect-error making TS happy would require unnecessary code so no\n clientType: state.clientType,\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n token: state.authentication.token,\n request: state.request\n });\n } catch (error) {\n if (error.status !== 404) throw error;\n }\n state.authentication.invalid = true;\n return state.authentication;\n }\n return state.authentication;\n}\n\n// pkg/dist-src/requires-basic-auth.js\nvar ROUTES_REQUIRING_BASIC_AUTH = /\\/applications\\/[^/]+\\/(token|grant)s?/;\nfunction requiresBasicAuth(url) {\n return url && ROUTES_REQUIRING_BASIC_AUTH.test(url);\n}\n\n// pkg/dist-src/hook.js\nasync function hook(state, request, route, parameters = {}) {\n const endpoint = request.endpoint.merge(\n route,\n parameters\n );\n if (/\\/login\\/(oauth\\/access_token|device\\/code)$/.test(endpoint.url)) {\n return request(endpoint);\n }\n if (requiresBasicAuth(endpoint.url)) {\n const credentials = btoa(`${state.clientId}:${state.clientSecret}`);\n endpoint.headers.authorization = `basic ${credentials}`;\n return request(endpoint);\n }\n const { token } = state.clientType === \"oauth-app\" ? await auth({ ...state, request }) : await auth({ ...state, request });\n endpoint.headers.authorization = \"token \" + token;\n return request(endpoint);\n}\n\n// pkg/dist-src/index.js\nfunction createOAuthUserAuth({\n clientId,\n clientSecret,\n clientType = \"oauth-app\",\n request = octokitRequest.defaults({\n headers: {\n \"user-agent\": `octokit-auth-oauth-app.js/${VERSION} ${getUserAgent()}`\n }\n }),\n onTokenCreated,\n ...strategyOptions\n}) {\n const state = Object.assign({\n clientType,\n clientId,\n clientSecret,\n onTokenCreated,\n strategyOptions,\n request\n });\n return Object.assign(auth.bind(null, state), {\n // @ts-expect-error not worth the extra code needed to appease TS\n hook: hook.bind(null, state)\n });\n}\ncreateOAuthUserAuth.VERSION = VERSION;\nexport {\n createOAuthUserAuth,\n requiresBasicAuth\n};\n","// pkg/dist-src/index.js\nimport { getUserAgent } from \"universal-user-agent\";\nimport { request } from \"@octokit/request\";\n\n// pkg/dist-src/auth.js\nimport { createOAuthUserAuth } from \"@octokit/auth-oauth-user\";\nasync function auth(state, authOptions) {\n if (authOptions.type === \"oauth-app\") {\n return {\n type: \"oauth-app\",\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n clientType: state.clientType,\n headers: {\n authorization: `basic ${btoa(\n `${state.clientId}:${state.clientSecret}`\n )}`\n }\n };\n }\n if (\"factory\" in authOptions) {\n const { type, ...options } = {\n ...authOptions,\n ...state\n };\n return authOptions.factory(options);\n }\n const common = {\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n request: state.request,\n ...authOptions\n };\n const userAuth = state.clientType === \"oauth-app\" ? await createOAuthUserAuth({\n ...common,\n clientType: state.clientType\n }) : await createOAuthUserAuth({\n ...common,\n clientType: state.clientType\n });\n return userAuth();\n}\n\n// pkg/dist-src/hook.js\nimport { requiresBasicAuth } from \"@octokit/auth-oauth-user\";\nasync function hook(state, request2, route, parameters) {\n let endpoint = request2.endpoint.merge(\n route,\n parameters\n );\n if (/\\/login\\/(oauth\\/access_token|device\\/code)$/.test(endpoint.url)) {\n return request2(endpoint);\n }\n if (state.clientType === \"github-app\" && !requiresBasicAuth(endpoint.url)) {\n throw new Error(\n `[@octokit/auth-oauth-app] GitHub Apps cannot use their client ID/secret for basic authentication for endpoints other than \"/applications/{client_id}/**\". \"${endpoint.method} ${endpoint.url}\" is not supported.`\n );\n }\n const credentials = btoa(`${state.clientId}:${state.clientSecret}`);\n endpoint.headers.authorization = `basic ${credentials}`;\n try {\n return await request2(endpoint);\n } catch (error) {\n if (error.status !== 401) throw error;\n error.message = `[@octokit/auth-oauth-app] \"${endpoint.method} ${endpoint.url}\" does not support clientId/clientSecret basic authentication.`;\n throw error;\n }\n}\n\n// pkg/dist-src/version.js\nvar VERSION = \"0.0.0-development\";\n\n// pkg/dist-src/index.js\nimport { createOAuthUserAuth as createOAuthUserAuth2 } from \"@octokit/auth-oauth-user\";\nfunction createOAuthAppAuth(options) {\n const state = Object.assign(\n {\n request: request.defaults({\n headers: {\n \"user-agent\": `octokit-auth-oauth-app.js/${VERSION} ${getUserAgent()}`\n }\n }),\n clientType: \"oauth-app\"\n },\n options\n );\n return Object.assign(auth.bind(null, state), {\n hook: hook.bind(null, state)\n });\n}\nexport {\n createOAuthAppAuth,\n createOAuthUserAuth2 as createOAuthUserAuth\n};\n","// we don't @ts-check here because it chokes on atob and btoa which are available in all modern JS runtime environments\n\n/**\n * @param {string} privateKey\n * @returns {boolean}\n */\nexport function isPkcs1(privateKey) {\n return privateKey.includes(\"-----BEGIN RSA PRIVATE KEY-----\");\n}\n\n/**\n * @param {string} privateKey\n * @returns {boolean}\n */\nexport function isOpenSsh(privateKey) {\n return privateKey.includes(\"-----BEGIN OPENSSH PRIVATE KEY-----\");\n}\n\n/**\n * @param {string} str\n * @returns {ArrayBuffer}\n */\nexport function string2ArrayBuffer(str) {\n const buf = new ArrayBuffer(str.length);\n const bufView = new Uint8Array(buf);\n for (let i = 0, strLen = str.length; i < strLen; i++) {\n bufView[i] = str.charCodeAt(i);\n }\n return buf;\n}\n\n/**\n * @param {string} pem\n * @returns {ArrayBuffer}\n */\nexport function getDERfromPEM(pem) {\n const pemB64 = pem\n .trim()\n .split(\"\\n\")\n .slice(1, -1) // Remove the --- BEGIN / END PRIVATE KEY ---\n .join(\"\");\n\n const decoded = atob(pemB64);\n return string2ArrayBuffer(decoded);\n}\n\n/**\n * @param {import('../internals').Header} header\n * @param {import('../internals').Payload} payload\n * @returns {string}\n */\nexport function getEncodedMessage(header, payload) {\n return `${base64encodeJSON(header)}.${base64encodeJSON(payload)}`;\n}\n\n/**\n * @param {ArrayBuffer} buffer\n * @returns {string}\n */\nexport function base64encode(buffer) {\n var binary = \"\";\n var bytes = new Uint8Array(buffer);\n var len = bytes.byteLength;\n for (var i = 0; i < len; i++) {\n binary += String.fromCharCode(bytes[i]);\n }\n\n return fromBase64(btoa(binary));\n}\n\n/**\n * @param {string} base64\n * @returns {string}\n */\nfunction fromBase64(base64) {\n return base64.replace(/=/g, \"\").replace(/\\+/g, \"-\").replace(/\\//g, \"_\");\n}\n\n/**\n * @param {Record} obj\n * @returns {string}\n */\nfunction base64encodeJSON(obj) {\n return fromBase64(btoa(JSON.stringify(obj)));\n}\n","const { subtle } = globalThis.crypto;\n\n// no-op, unfortunately there is no way to transform from PKCS8 or OpenSSH to PKCS1 with WebCrypto\nfunction convertPrivateKey(privateKey) {\n return privateKey;\n}\n\nexport { subtle, convertPrivateKey };\n","// we don't @ts-check here because it chokes crypto which is a global API in modern JS runtime environments\n\nimport {\n isPkcs1,\n isOpenSsh,\n getEncodedMessage,\n getDERfromPEM,\n string2ArrayBuffer,\n base64encode,\n} from \"./utils.js\";\n\nimport { subtle, convertPrivateKey } from \"#crypto\";\n\n/**\n * @param {import('../internals').GetTokenOptions} options\n * @returns {Promise}\n */\nexport async function getToken({ privateKey, payload }) {\n const convertedPrivateKey = convertPrivateKey(privateKey);\n\n // WebCrypto only supports PKCS#8, unfortunately\n /* c8 ignore start */\n if (isPkcs1(convertedPrivateKey)) {\n throw new Error(\n \"[universal-github-app-jwt] Private Key is in PKCS#1 format, but only PKCS#8 is supported. See https://github.com/gr2m/universal-github-app-jwt#private-key-formats\"\n );\n }\n /* c8 ignore stop */\n\n // WebCrypto does not support OpenSSH, unfortunately\n if (isOpenSsh(convertedPrivateKey)) {\n throw new Error(\n \"[universal-github-app-jwt] Private Key is in OpenSSH format, but only PKCS#8 is supported. See https://github.com/gr2m/universal-github-app-jwt#private-key-formats\"\n );\n }\n\n const algorithm = {\n name: \"RSASSA-PKCS1-v1_5\",\n hash: { name: \"SHA-256\" },\n };\n\n /** @type {import('../internals').Header} */\n const header = { alg: \"RS256\", typ: \"JWT\" };\n\n const privateKeyDER = getDERfromPEM(convertedPrivateKey);\n const importedKey = await subtle.importKey(\n \"pkcs8\",\n privateKeyDER,\n algorithm,\n false,\n [\"sign\"]\n );\n\n const encodedMessage = getEncodedMessage(header, payload);\n const encodedMessageArrBuf = string2ArrayBuffer(encodedMessage);\n\n const signatureArrBuf = await subtle.sign(\n algorithm.name,\n importedKey,\n encodedMessageArrBuf\n );\n\n const encodedSignature = base64encode(signatureArrBuf);\n\n return `${encodedMessage}.${encodedSignature}`;\n}\n","// @ts-check\n\n// @ts-ignore - #get-token is defined in \"imports\" in package.json\nimport { getToken } from \"./lib/get-token.js\";\n\n/**\n * @param {import(\".\").Options} options\n * @returns {Promise}\n */\nexport default async function githubAppJwt({\n id,\n privateKey,\n now = Math.floor(Date.now() / 1000),\n}) {\n // Private keys are often times configured as environment variables, in which case line breaks are escaped using `\\\\n`.\n // Replace these here for convenience.\n const privateKeyWithNewlines = privateKey.replace(/\\\\n/g, '\\n');\n\n // When creating a JSON Web Token, it sets the \"issued at time\" (iat) to 30s\n // in the past as we have seen people running situations where the GitHub API\n // claimed the iat would be in future. It turned out the clocks on the\n // different machine were not in sync.\n const nowWithSafetyMargin = now - 30;\n const expiration = nowWithSafetyMargin + 60 * 10; // JWT expiration time (10 minute maximum)\n\n const payload = {\n iat: nowWithSafetyMargin, // Issued at time\n exp: expiration,\n iss: id,\n };\n\n const token = await getToken({\n privateKey: privateKeyWithNewlines,\n payload,\n });\n\n return {\n appId: id,\n expiration,\n token,\n };\n}\n","/**\n * toad-cache\n *\n * @copyright 2024 Igor Savin \n * @license MIT\n * @version 3.7.0\n */\nclass FifoMap {\n constructor(max = 1000, ttlInMsecs = 0) {\n if (isNaN(max) || max < 0) {\n throw new Error('Invalid max value')\n }\n\n if (isNaN(ttlInMsecs) || ttlInMsecs < 0) {\n throw new Error('Invalid ttl value')\n }\n\n this.first = null;\n this.items = new Map();\n this.last = null;\n this.max = max;\n this.ttl = ttlInMsecs;\n }\n\n get size() {\n return this.items.size\n }\n\n clear() {\n this.items = new Map();\n this.first = null;\n this.last = null;\n }\n\n delete(key) {\n if (this.items.has(key)) {\n const deletedItem = this.items.get(key);\n\n this.items.delete(key);\n\n if (deletedItem.prev !== null) {\n deletedItem.prev.next = deletedItem.next;\n }\n\n if (deletedItem.next !== null) {\n deletedItem.next.prev = deletedItem.prev;\n }\n\n if (this.first === deletedItem) {\n this.first = deletedItem.next;\n }\n\n if (this.last === deletedItem) {\n this.last = deletedItem.prev;\n }\n }\n }\n\n deleteMany(keys) {\n for (var i = 0; i < keys.length; i++) {\n this.delete(keys[i]);\n }\n }\n\n evict() {\n if (this.size > 0) {\n const item = this.first;\n\n this.items.delete(item.key);\n\n if (this.size === 0) {\n this.first = null;\n this.last = null;\n } else {\n this.first = item.next;\n this.first.prev = null;\n }\n }\n }\n\n expiresAt(key) {\n if (this.items.has(key)) {\n return this.items.get(key).expiry\n }\n }\n\n get(key) {\n if (this.items.has(key)) {\n const item = this.items.get(key);\n\n if (this.ttl > 0 && item.expiry <= Date.now()) {\n this.delete(key);\n return\n }\n\n return item.value\n }\n }\n\n getMany(keys) {\n const result = [];\n\n for (var i = 0; i < keys.length; i++) {\n result.push(this.get(keys[i]));\n }\n\n return result\n }\n\n keys() {\n return this.items.keys()\n }\n\n set(key, value) {\n // Replace existing item\n if (this.items.has(key)) {\n const item = this.items.get(key);\n item.value = value;\n\n item.expiry = this.ttl > 0 ? Date.now() + this.ttl : this.ttl;\n\n return\n }\n\n // Add new item\n if (this.max > 0 && this.size === this.max) {\n this.evict();\n }\n\n const item = {\n expiry: this.ttl > 0 ? Date.now() + this.ttl : this.ttl,\n key: key,\n prev: this.last,\n next: null,\n value,\n };\n this.items.set(key, item);\n\n if (this.size === 1) {\n this.first = item;\n } else {\n this.last.next = item;\n }\n\n this.last = item;\n }\n}class LruMap {\n constructor(max = 1000, ttlInMsecs = 0) {\n if (isNaN(max) || max < 0) {\n throw new Error('Invalid max value')\n }\n\n if (isNaN(ttlInMsecs) || ttlInMsecs < 0) {\n throw new Error('Invalid ttl value')\n }\n\n this.first = null;\n this.items = new Map();\n this.last = null;\n this.max = max;\n this.ttl = ttlInMsecs;\n }\n\n get size() {\n return this.items.size\n }\n\n bumpLru(item) {\n if (this.last === item) {\n return // Item is already the last one, no need to bump\n }\n\n const last = this.last;\n const next = item.next;\n const prev = item.prev;\n\n if (this.first === item) {\n this.first = next;\n }\n\n item.next = null;\n item.prev = last;\n last.next = item;\n\n if (prev !== null) {\n prev.next = next;\n }\n\n if (next !== null) {\n next.prev = prev;\n }\n\n this.last = item;\n }\n\n clear() {\n this.items = new Map();\n this.first = null;\n this.last = null;\n }\n\n delete(key) {\n if (this.items.has(key)) {\n const item = this.items.get(key);\n\n this.items.delete(key);\n\n if (item.prev !== null) {\n item.prev.next = item.next;\n }\n\n if (item.next !== null) {\n item.next.prev = item.prev;\n }\n\n if (this.first === item) {\n this.first = item.next;\n }\n\n if (this.last === item) {\n this.last = item.prev;\n }\n }\n }\n\n deleteMany(keys) {\n for (var i = 0; i < keys.length; i++) {\n this.delete(keys[i]);\n }\n }\n\n evict() {\n if (this.size > 0) {\n const item = this.first;\n\n this.items.delete(item.key);\n\n if (this.size === 0) {\n this.first = null;\n this.last = null;\n } else {\n this.first = item.next;\n this.first.prev = null;\n }\n }\n }\n\n expiresAt(key) {\n if (this.items.has(key)) {\n return this.items.get(key).expiry\n }\n }\n\n get(key) {\n if (this.items.has(key)) {\n const item = this.items.get(key);\n\n // Item has already expired\n if (this.ttl > 0 && item.expiry <= Date.now()) {\n this.delete(key);\n return\n }\n\n // Item is still fresh\n this.bumpLru(item);\n return item.value\n }\n }\n\n getMany(keys) {\n const result = [];\n\n for (var i = 0; i < keys.length; i++) {\n result.push(this.get(keys[i]));\n }\n\n return result\n }\n\n keys() {\n return this.items.keys()\n }\n\n set(key, value) {\n // Replace existing item\n if (this.items.has(key)) {\n const item = this.items.get(key);\n item.value = value;\n\n item.expiry = this.ttl > 0 ? Date.now() + this.ttl : this.ttl;\n\n if (this.last !== item) {\n this.bumpLru(item);\n }\n\n return\n }\n\n // Add new item\n if (this.max > 0 && this.size === this.max) {\n this.evict();\n }\n\n const item = {\n expiry: this.ttl > 0 ? Date.now() + this.ttl : this.ttl,\n key: key,\n prev: this.last,\n next: null,\n value,\n };\n this.items.set(key, item);\n\n if (this.size === 1) {\n this.first = item;\n } else {\n this.last.next = item;\n }\n\n this.last = item;\n }\n}class LruObject {\n constructor(max = 1000, ttlInMsecs = 0) {\n if (isNaN(max) || max < 0) {\n throw new Error('Invalid max value')\n }\n\n if (isNaN(ttlInMsecs) || ttlInMsecs < 0) {\n throw new Error('Invalid ttl value')\n }\n\n this.first = null;\n this.items = Object.create(null);\n this.last = null;\n this.size = 0;\n this.max = max;\n this.ttl = ttlInMsecs;\n }\n\n bumpLru(item) {\n if (this.last === item) {\n return // Item is already the last one, no need to bump\n }\n\n const last = this.last;\n const next = item.next;\n const prev = item.prev;\n\n if (this.first === item) {\n this.first = next;\n }\n\n item.next = null;\n item.prev = last;\n last.next = item;\n\n if (prev !== null) {\n prev.next = next;\n }\n\n if (next !== null) {\n next.prev = prev;\n }\n\n this.last = item;\n }\n\n clear() {\n this.items = Object.create(null);\n this.first = null;\n this.last = null;\n this.size = 0;\n }\n\n delete(key) {\n if (Object.prototype.hasOwnProperty.call(this.items, key)) {\n const item = this.items[key];\n\n delete this.items[key];\n this.size--;\n\n if (item.prev !== null) {\n item.prev.next = item.next;\n }\n\n if (item.next !== null) {\n item.next.prev = item.prev;\n }\n\n if (this.first === item) {\n this.first = item.next;\n }\n\n if (this.last === item) {\n this.last = item.prev;\n }\n }\n }\n\n deleteMany(keys) {\n for (var i = 0; i < keys.length; i++) {\n this.delete(keys[i]);\n }\n }\n\n evict() {\n if (this.size > 0) {\n const item = this.first;\n\n delete this.items[item.key];\n\n if (--this.size === 0) {\n this.first = null;\n this.last = null;\n } else {\n this.first = item.next;\n this.first.prev = null;\n }\n }\n }\n\n expiresAt(key) {\n if (Object.prototype.hasOwnProperty.call(this.items, key)) {\n return this.items[key].expiry\n }\n }\n\n get(key) {\n if (Object.prototype.hasOwnProperty.call(this.items, key)) {\n const item = this.items[key];\n\n // Item has already expired\n if (this.ttl > 0 && item.expiry <= Date.now()) {\n this.delete(key);\n return\n }\n\n // Item is still fresh\n this.bumpLru(item);\n return item.value\n }\n }\n\n getMany(keys) {\n const result = [];\n\n for (var i = 0; i < keys.length; i++) {\n result.push(this.get(keys[i]));\n }\n\n return result\n }\n\n keys() {\n return Object.keys(this.items)\n }\n\n set(key, value) {\n // Replace existing item\n if (Object.prototype.hasOwnProperty.call(this.items, key)) {\n const item = this.items[key];\n item.value = value;\n\n item.expiry = this.ttl > 0 ? Date.now() + this.ttl : this.ttl;\n\n if (this.last !== item) {\n this.bumpLru(item);\n }\n\n return\n }\n\n // Add new item\n if (this.max > 0 && this.size === this.max) {\n this.evict();\n }\n\n const item = {\n expiry: this.ttl > 0 ? Date.now() + this.ttl : this.ttl,\n key: key,\n prev: this.last,\n next: null,\n value,\n };\n this.items[key] = item;\n\n if (++this.size === 1) {\n this.first = item;\n } else {\n this.last.next = item;\n }\n\n this.last = item;\n }\n}class HitStatisticsRecord {\n constructor() {\n this.records = {};\n }\n\n initForCache(cacheId, currentTimeStamp) {\n this.records[cacheId] = {\n [currentTimeStamp]: {\n cacheSize: 0,\n hits: 0,\n falsyHits: 0,\n emptyHits: 0,\n misses: 0,\n expirations: 0,\n evictions: 0,\n invalidateOne: 0,\n invalidateAll: 0,\n sets: 0,\n },\n };\n }\n\n resetForCache(cacheId) {\n for (let key of Object.keys(this.records[cacheId])) {\n this.records[cacheId][key] = {\n cacheSize: 0,\n hits: 0,\n falsyHits: 0,\n emptyHits: 0,\n misses: 0,\n expirations: 0,\n evictions: 0,\n invalidateOne: 0,\n invalidateAll: 0,\n sets: 0,\n };\n }\n }\n\n getStatistics() {\n return this.records\n }\n}/**\n *\n * @param {Date} date\n * @returns {string}\n */\nfunction getTimestamp(date) {\n return `${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, '0')}-${date\n .getDate()\n .toString()\n .padStart(2, '0')}`\n}class HitStatistics {\n constructor(cacheId, statisticTtlInHours, globalStatisticsRecord) {\n this.cacheId = cacheId;\n this.statisticTtlInHours = statisticTtlInHours;\n\n this.collectionStart = new Date();\n this.currentTimeStamp = getTimestamp(this.collectionStart);\n\n this.records = globalStatisticsRecord || new HitStatisticsRecord();\n this.records.initForCache(this.cacheId, this.currentTimeStamp);\n }\n\n get currentRecord() {\n // safety net\n /* c8 ignore next 14 */\n if (!this.records.records[this.cacheId][this.currentTimeStamp]) {\n this.records.records[this.cacheId][this.currentTimeStamp] = {\n cacheSize: 0,\n hits: 0,\n falsyHits: 0,\n emptyHits: 0,\n misses: 0,\n expirations: 0,\n evictions: 0,\n sets: 0,\n invalidateOne: 0,\n invalidateAll: 0,\n };\n }\n\n return this.records.records[this.cacheId][this.currentTimeStamp]\n }\n\n hoursPassed() {\n return (Date.now() - this.collectionStart) / 1000 / 60 / 60\n }\n\n addHit() {\n this.archiveIfNeeded();\n this.currentRecord.hits++;\n }\n addFalsyHit() {\n this.archiveIfNeeded();\n this.currentRecord.falsyHits++;\n }\n\n addEmptyHit() {\n this.archiveIfNeeded();\n this.currentRecord.emptyHits++;\n }\n\n addMiss() {\n this.archiveIfNeeded();\n this.currentRecord.misses++;\n }\n\n addEviction() {\n this.archiveIfNeeded();\n this.currentRecord.evictions++;\n }\n\n setCacheSize(currentSize) {\n this.archiveIfNeeded();\n this.currentRecord.cacheSize = currentSize;\n }\n\n addExpiration() {\n this.archiveIfNeeded();\n this.currentRecord.expirations++;\n }\n\n addSet() {\n this.archiveIfNeeded();\n this.currentRecord.sets++;\n }\n\n addInvalidateOne() {\n this.archiveIfNeeded();\n this.currentRecord.invalidateOne++;\n }\n\n addInvalidateAll() {\n this.archiveIfNeeded();\n this.currentRecord.invalidateAll++;\n }\n\n getStatistics() {\n return this.records.getStatistics()\n }\n\n archiveIfNeeded() {\n if (this.hoursPassed() >= this.statisticTtlInHours) {\n this.collectionStart = new Date();\n this.currentTimeStamp = getTimestamp(this.collectionStart);\n this.records.initForCache(this.cacheId, this.currentTimeStamp);\n }\n }\n}class LruObjectHitStatistics extends LruObject {\n constructor(max, ttlInMsecs, cacheId, globalStatisticsRecord, statisticTtlInHours) {\n super(max || 1000, ttlInMsecs || 0);\n\n if (!cacheId) {\n throw new Error('Cache id is mandatory')\n }\n\n this.hitStatistics = new HitStatistics(\n cacheId,\n statisticTtlInHours !== undefined ? statisticTtlInHours : 24,\n globalStatisticsRecord,\n );\n }\n\n getStatistics() {\n return this.hitStatistics.getStatistics()\n }\n\n set(key, value) {\n super.set(key, value);\n this.hitStatistics.addSet();\n this.hitStatistics.setCacheSize(this.size);\n }\n\n evict() {\n super.evict();\n this.hitStatistics.addEviction();\n this.hitStatistics.setCacheSize(this.size);\n }\n\n delete(key, isExpiration = false) {\n super.delete(key);\n\n if (!isExpiration) {\n this.hitStatistics.addInvalidateOne();\n }\n this.hitStatistics.setCacheSize(this.size);\n }\n\n clear() {\n super.clear();\n\n this.hitStatistics.addInvalidateAll();\n this.hitStatistics.setCacheSize(this.size);\n }\n\n get(key) {\n if (Object.prototype.hasOwnProperty.call(this.items, key)) {\n const item = this.items[key];\n\n // Item has already expired\n if (this.ttl > 0 && item.expiry <= Date.now()) {\n this.delete(key, true);\n this.hitStatistics.addExpiration();\n return\n }\n\n // Item is still fresh\n this.bumpLru(item);\n if (!item.value) {\n this.hitStatistics.addFalsyHit();\n }\n if (item.value === undefined || item.value === null || item.value === '') {\n this.hitStatistics.addEmptyHit();\n }\n this.hitStatistics.addHit();\n return item.value\n }\n this.hitStatistics.addMiss();\n }\n}class FifoObject {\n constructor(max = 1000, ttlInMsecs = 0) {\n if (isNaN(max) || max < 0) {\n throw new Error('Invalid max value')\n }\n\n if (isNaN(ttlInMsecs) || ttlInMsecs < 0) {\n throw new Error('Invalid ttl value')\n }\n\n this.first = null;\n this.items = Object.create(null);\n this.last = null;\n this.size = 0;\n this.max = max;\n this.ttl = ttlInMsecs;\n }\n\n clear() {\n this.items = Object.create(null);\n this.first = null;\n this.last = null;\n this.size = 0;\n }\n\n delete(key) {\n if (Object.prototype.hasOwnProperty.call(this.items, key)) {\n const deletedItem = this.items[key];\n\n delete this.items[key];\n this.size--;\n\n if (deletedItem.prev !== null) {\n deletedItem.prev.next = deletedItem.next;\n }\n\n if (deletedItem.next !== null) {\n deletedItem.next.prev = deletedItem.prev;\n }\n\n if (this.first === deletedItem) {\n this.first = deletedItem.next;\n }\n\n if (this.last === deletedItem) {\n this.last = deletedItem.prev;\n }\n }\n }\n\n deleteMany(keys) {\n for (var i = 0; i < keys.length; i++) {\n this.delete(keys[i]);\n }\n }\n\n evict() {\n if (this.size > 0) {\n const item = this.first;\n\n delete this.items[item.key];\n\n if (--this.size === 0) {\n this.first = null;\n this.last = null;\n } else {\n this.first = item.next;\n this.first.prev = null;\n }\n }\n }\n\n expiresAt(key) {\n if (Object.prototype.hasOwnProperty.call(this.items, key)) {\n return this.items[key].expiry\n }\n }\n\n get(key) {\n if (Object.prototype.hasOwnProperty.call(this.items, key)) {\n const item = this.items[key];\n\n if (this.ttl > 0 && item.expiry <= Date.now()) {\n this.delete(key);\n return\n }\n\n return item.value\n }\n }\n\n getMany(keys) {\n const result = [];\n\n for (var i = 0; i < keys.length; i++) {\n result.push(this.get(keys[i]));\n }\n\n return result\n }\n\n keys() {\n return Object.keys(this.items)\n }\n\n set(key, value) {\n // Replace existing item\n if (Object.prototype.hasOwnProperty.call(this.items, key)) {\n const item = this.items[key];\n item.value = value;\n\n item.expiry = this.ttl > 0 ? Date.now() + this.ttl : this.ttl;\n\n return\n }\n\n // Add new item\n if (this.max > 0 && this.size === this.max) {\n this.evict();\n }\n\n const item = {\n expiry: this.ttl > 0 ? Date.now() + this.ttl : this.ttl,\n key: key,\n prev: this.last,\n next: null,\n value,\n };\n this.items[key] = item;\n\n if (++this.size === 1) {\n this.first = item;\n } else {\n this.last.next = item;\n }\n\n this.last = item;\n }\n}export{FifoObject as Fifo,FifoMap,FifoObject,HitStatisticsRecord,LruObject as Lru,LruObjectHitStatistics as LruHitStatistics,LruMap,LruObject,LruObjectHitStatistics};","// pkg/dist-src/index.js\nimport { getUserAgent } from \"universal-user-agent\";\nimport { request as defaultRequest } from \"@octokit/request\";\nimport { createOAuthAppAuth } from \"@octokit/auth-oauth-app\";\n\n// pkg/dist-src/get-app-authentication.js\nimport githubAppJwt from \"universal-github-app-jwt\";\nasync function getAppAuthentication({\n appId,\n privateKey,\n timeDifference,\n createJwt\n}) {\n try {\n if (createJwt) {\n const { jwt, expiresAt } = await createJwt(appId, timeDifference);\n return {\n type: \"app\",\n token: jwt,\n appId,\n expiresAt\n };\n }\n const authOptions = {\n id: appId,\n privateKey\n };\n if (timeDifference) {\n Object.assign(authOptions, {\n now: Math.floor(Date.now() / 1e3) + timeDifference\n });\n }\n const appAuthentication = await githubAppJwt(authOptions);\n return {\n type: \"app\",\n token: appAuthentication.token,\n appId: appAuthentication.appId,\n expiresAt: new Date(appAuthentication.expiration * 1e3).toISOString()\n };\n } catch (error) {\n if (privateKey === \"-----BEGIN RSA PRIVATE KEY-----\") {\n throw new Error(\n \"The 'privateKey` option contains only the first line '-----BEGIN RSA PRIVATE KEY-----'. If you are setting it using a `.env` file, make sure it is set on a single line with newlines replaced by '\\n'\"\n );\n } else {\n throw error;\n }\n }\n}\n\n// pkg/dist-src/cache.js\nimport { Lru } from \"toad-cache\";\nfunction getCache() {\n return new Lru(\n // cache max. 15000 tokens, that will use less than 10mb memory\n 15e3,\n // Cache for 1 minute less than GitHub expiry\n 1e3 * 60 * 59\n );\n}\nasync function get(cache, options) {\n const cacheKey = optionsToCacheKey(options);\n const result = await cache.get(cacheKey);\n if (!result) {\n return;\n }\n const [\n token,\n createdAt,\n expiresAt,\n repositorySelection,\n permissionsString,\n singleFileName\n ] = result.split(\"|\");\n const permissions = options.permissions || permissionsString.split(/,/).reduce((permissions2, string) => {\n if (/!$/.test(string)) {\n permissions2[string.slice(0, -1)] = \"write\";\n } else {\n permissions2[string] = \"read\";\n }\n return permissions2;\n }, {});\n return {\n token,\n createdAt,\n expiresAt,\n permissions,\n repositoryIds: options.repositoryIds,\n repositoryNames: options.repositoryNames,\n singleFileName,\n repositorySelection\n };\n}\nasync function set(cache, options, data) {\n const key = optionsToCacheKey(options);\n const permissionsString = options.permissions ? \"\" : Object.keys(data.permissions).map(\n (name) => `${name}${data.permissions[name] === \"write\" ? \"!\" : \"\"}`\n ).join(\",\");\n const value = [\n data.token,\n data.createdAt,\n data.expiresAt,\n data.repositorySelection,\n permissionsString,\n data.singleFileName\n ].join(\"|\");\n await cache.set(key, value);\n}\nfunction optionsToCacheKey({\n installationId,\n permissions = {},\n repositoryIds = [],\n repositoryNames = []\n}) {\n const permissionsString = Object.keys(permissions).sort().map((name) => permissions[name] === \"read\" ? name : `${name}!`).join(\",\");\n const repositoryIdsString = repositoryIds.sort().join(\",\");\n const repositoryNamesString = repositoryNames.join(\",\");\n return [\n installationId,\n repositoryIdsString,\n repositoryNamesString,\n permissionsString\n ].filter(Boolean).join(\"|\");\n}\n\n// pkg/dist-src/to-token-authentication.js\nfunction toTokenAuthentication({\n installationId,\n token,\n createdAt,\n expiresAt,\n repositorySelection,\n permissions,\n repositoryIds,\n repositoryNames,\n singleFileName\n}) {\n return Object.assign(\n {\n type: \"token\",\n tokenType: \"installation\",\n token,\n installationId,\n permissions,\n createdAt,\n expiresAt,\n repositorySelection\n },\n repositoryIds ? { repositoryIds } : null,\n repositoryNames ? { repositoryNames } : null,\n singleFileName ? { singleFileName } : null\n );\n}\n\n// pkg/dist-src/get-installation-authentication.js\nasync function getInstallationAuthentication(state, options, customRequest) {\n const installationId = Number(options.installationId || state.installationId);\n if (!installationId) {\n throw new Error(\n \"[@octokit/auth-app] installationId option is required for installation authentication.\"\n );\n }\n if (options.factory) {\n const { type, factory, oauthApp, ...factoryAuthOptions } = {\n ...state,\n ...options\n };\n return factory(factoryAuthOptions);\n }\n const request = customRequest || state.request;\n return getInstallationAuthenticationConcurrently(\n state,\n { ...options, installationId },\n request\n );\n}\nvar pendingPromises = /* @__PURE__ */ new Map();\nfunction getInstallationAuthenticationConcurrently(state, options, request) {\n const cacheKey = optionsToCacheKey(options);\n if (pendingPromises.has(cacheKey)) {\n return pendingPromises.get(cacheKey);\n }\n const promise = getInstallationAuthenticationImpl(\n state,\n options,\n request\n ).finally(() => pendingPromises.delete(cacheKey));\n pendingPromises.set(cacheKey, promise);\n return promise;\n}\nasync function getInstallationAuthenticationImpl(state, options, request) {\n if (!options.refresh) {\n const result = await get(state.cache, options);\n if (result) {\n const {\n token: token2,\n createdAt: createdAt2,\n expiresAt: expiresAt2,\n permissions: permissions2,\n repositoryIds: repositoryIds2,\n repositoryNames: repositoryNames2,\n singleFileName: singleFileName2,\n repositorySelection: repositorySelection2\n } = result;\n return toTokenAuthentication({\n installationId: options.installationId,\n token: token2,\n createdAt: createdAt2,\n expiresAt: expiresAt2,\n permissions: permissions2,\n repositorySelection: repositorySelection2,\n repositoryIds: repositoryIds2,\n repositoryNames: repositoryNames2,\n singleFileName: singleFileName2\n });\n }\n }\n const appAuthentication = await getAppAuthentication(state);\n const payload = {\n installation_id: options.installationId,\n mediaType: {\n previews: [\"machine-man\"]\n },\n headers: {\n authorization: `bearer ${appAuthentication.token}`\n }\n };\n if (options.repositoryIds) {\n Object.assign(payload, { repository_ids: options.repositoryIds });\n }\n if (options.repositoryNames) {\n Object.assign(payload, {\n repositories: options.repositoryNames\n });\n }\n if (options.permissions) {\n Object.assign(payload, { permissions: options.permissions });\n }\n const {\n data: {\n token,\n expires_at: expiresAt,\n repositories,\n permissions: permissionsOptional,\n repository_selection: repositorySelectionOptional,\n single_file: singleFileName\n }\n } = await request(\n \"POST /app/installations/{installation_id}/access_tokens\",\n payload\n );\n const permissions = permissionsOptional || {};\n const repositorySelection = repositorySelectionOptional || \"all\";\n const repositoryIds = repositories ? repositories.map((r) => r.id) : void 0;\n const repositoryNames = repositories ? repositories.map((repo) => repo.name) : void 0;\n const createdAt = (/* @__PURE__ */ new Date()).toISOString();\n const cacheOptions = {\n token,\n createdAt,\n expiresAt,\n repositorySelection,\n permissions,\n repositoryIds,\n repositoryNames\n };\n if (singleFileName) {\n Object.assign(payload, { singleFileName });\n }\n await set(state.cache, options, cacheOptions);\n const cacheData = {\n installationId: options.installationId,\n token,\n createdAt,\n expiresAt,\n repositorySelection,\n permissions,\n repositoryIds,\n repositoryNames\n };\n if (singleFileName) {\n Object.assign(cacheData, { singleFileName });\n }\n return toTokenAuthentication(cacheData);\n}\n\n// pkg/dist-src/auth.js\nasync function auth(state, authOptions) {\n switch (authOptions.type) {\n case \"app\":\n return getAppAuthentication(state);\n case \"oauth-app\":\n return state.oauthApp({ type: \"oauth-app\" });\n case \"installation\":\n authOptions;\n return getInstallationAuthentication(state, {\n ...authOptions,\n type: \"installation\"\n });\n case \"oauth-user\":\n return state.oauthApp(authOptions);\n default:\n throw new Error(`Invalid auth type: ${authOptions.type}`);\n }\n}\n\n// pkg/dist-src/hook.js\nimport { requiresBasicAuth } from \"@octokit/auth-oauth-user\";\nimport { RequestError } from \"@octokit/request-error\";\n\n// pkg/dist-src/requires-app-auth.js\nvar PATHS = [\n \"/app\",\n \"/app/hook/config\",\n \"/app/hook/deliveries\",\n \"/app/hook/deliveries/{delivery_id}\",\n \"/app/hook/deliveries/{delivery_id}/attempts\",\n \"/app/installations\",\n \"/app/installations/{installation_id}\",\n \"/app/installations/{installation_id}/access_tokens\",\n \"/app/installations/{installation_id}/suspended\",\n \"/app/installation-requests\",\n \"/marketplace_listing/accounts/{account_id}\",\n \"/marketplace_listing/plan\",\n \"/marketplace_listing/plans\",\n \"/marketplace_listing/plans/{plan_id}/accounts\",\n \"/marketplace_listing/stubbed/accounts/{account_id}\",\n \"/marketplace_listing/stubbed/plan\",\n \"/marketplace_listing/stubbed/plans\",\n \"/marketplace_listing/stubbed/plans/{plan_id}/accounts\",\n \"/orgs/{org}/installation\",\n \"/repos/{owner}/{repo}/installation\",\n \"/users/{username}/installation\"\n];\nfunction routeMatcher(paths) {\n const regexes = paths.map(\n (p) => p.split(\"/\").map((c) => c.startsWith(\"{\") ? \"(?:.+?)\" : c).join(\"/\")\n );\n const regex = `^(?:${regexes.map((r) => `(?:${r})`).join(\"|\")})$`;\n return new RegExp(regex, \"i\");\n}\nvar REGEX = routeMatcher(PATHS);\nfunction requiresAppAuth(url) {\n return !!url && REGEX.test(url.split(\"?\")[0]);\n}\n\n// pkg/dist-src/hook.js\nvar FIVE_SECONDS_IN_MS = 5 * 1e3;\nfunction isNotTimeSkewError(error) {\n return !(error.message.match(\n /'Expiration time' claim \\('exp'\\) must be a numeric value representing the future time at which the assertion expires/\n ) || error.message.match(\n /'Issued at' claim \\('iat'\\) must be an Integer representing the time that the assertion was issued/\n ));\n}\nasync function hook(state, request, route, parameters) {\n const endpoint = request.endpoint.merge(route, parameters);\n const url = endpoint.url;\n if (/\\/login\\/oauth\\/access_token$/.test(url)) {\n return request(endpoint);\n }\n if (requiresAppAuth(url.replace(request.endpoint.DEFAULTS.baseUrl, \"\"))) {\n const { token: token2 } = await getAppAuthentication(state);\n endpoint.headers.authorization = `bearer ${token2}`;\n let response;\n try {\n response = await request(endpoint);\n } catch (error) {\n if (isNotTimeSkewError(error)) {\n throw error;\n }\n if (typeof error.response.headers.date === \"undefined\") {\n throw error;\n }\n const diff = Math.floor(\n (Date.parse(error.response.headers.date) - Date.parse((/* @__PURE__ */ new Date()).toString())) / 1e3\n );\n state.log.warn(error.message);\n state.log.warn(\n `[@octokit/auth-app] GitHub API time and system time are different by ${diff} seconds. Retrying request with the difference accounted for.`\n );\n const { token: token3 } = await getAppAuthentication({\n ...state,\n timeDifference: diff\n });\n endpoint.headers.authorization = `bearer ${token3}`;\n return request(endpoint);\n }\n return response;\n }\n if (requiresBasicAuth(url)) {\n const authentication = await state.oauthApp({ type: \"oauth-app\" });\n endpoint.headers.authorization = authentication.headers.authorization;\n return request(endpoint);\n }\n const { token, createdAt } = await getInstallationAuthentication(\n state,\n // @ts-expect-error TBD\n {},\n request.defaults({ baseUrl: endpoint.baseUrl })\n );\n endpoint.headers.authorization = `token ${token}`;\n return sendRequestWithRetries(\n state,\n request,\n endpoint,\n createdAt\n );\n}\nasync function sendRequestWithRetries(state, request, options, createdAt, retries = 0) {\n const timeSinceTokenCreationInMs = +/* @__PURE__ */ new Date() - +new Date(createdAt);\n try {\n return await request(options);\n } catch (error) {\n if (error.status !== 401) {\n throw error;\n }\n if (timeSinceTokenCreationInMs >= FIVE_SECONDS_IN_MS) {\n if (retries > 0) {\n error.message = `After ${retries} retries within ${timeSinceTokenCreationInMs / 1e3}s of creating the installation access token, the response remains 401. At this point, the cause may be an authentication problem or a system outage. Please check https://www.githubstatus.com for status information`;\n }\n throw error;\n }\n ++retries;\n const awaitTime = retries * 1e3;\n state.log.warn(\n `[@octokit/auth-app] Retrying after 401 response to account for token replication delay (retry: ${retries}, wait: ${awaitTime / 1e3}s)`\n );\n await new Promise((resolve) => setTimeout(resolve, awaitTime));\n return sendRequestWithRetries(state, request, options, createdAt, retries);\n }\n}\n\n// pkg/dist-src/version.js\nvar VERSION = \"8.1.0\";\n\n// pkg/dist-src/index.js\nimport { createOAuthUserAuth } from \"@octokit/auth-oauth-user\";\nfunction createAppAuth(options) {\n if (!options.appId) {\n throw new Error(\"[@octokit/auth-app] appId option is required\");\n }\n if (!options.privateKey && !options.createJwt) {\n throw new Error(\"[@octokit/auth-app] privateKey option is required\");\n } else if (options.privateKey && options.createJwt) {\n throw new Error(\n \"[@octokit/auth-app] privateKey and createJwt options are mutually exclusive\"\n );\n }\n if (\"installationId\" in options && !options.installationId) {\n throw new Error(\n \"[@octokit/auth-app] installationId is set to a falsy value\"\n );\n }\n const log = options.log || {};\n if (typeof log.warn !== \"function\") {\n log.warn = console.warn.bind(console);\n }\n const request = options.request || defaultRequest.defaults({\n headers: {\n \"user-agent\": `octokit-auth-app.js/${VERSION} ${getUserAgent()}`\n }\n });\n const state = Object.assign(\n {\n request,\n cache: getCache()\n },\n options,\n options.installationId ? { installationId: Number(options.installationId) } : {},\n {\n log,\n oauthApp: createOAuthAppAuth({\n clientType: \"github-app\",\n clientId: options.clientId || \"\",\n clientSecret: options.clientSecret || \"\",\n request\n })\n }\n );\n return Object.assign(auth.bind(null, state), {\n hook: hook.bind(null, state)\n });\n}\nexport {\n createAppAuth,\n createOAuthUserAuth\n};\n","// pkg/dist-src/auth.js\nasync function auth(reason) {\n return {\n type: \"unauthenticated\",\n reason\n };\n}\n\n// pkg/dist-src/is-rate-limit-error.js\nfunction isRateLimitError(error) {\n if (error.status !== 403) {\n return false;\n }\n if (!error.response) {\n return false;\n }\n return error.response.headers[\"x-ratelimit-remaining\"] === \"0\";\n}\n\n// pkg/dist-src/is-abuse-limit-error.js\nvar REGEX_ABUSE_LIMIT_MESSAGE = /\\babuse\\b/i;\nfunction isAbuseLimitError(error) {\n if (error.status !== 403) {\n return false;\n }\n return REGEX_ABUSE_LIMIT_MESSAGE.test(error.message);\n}\n\n// pkg/dist-src/hook.js\nasync function hook(reason, request, route, parameters) {\n const endpoint = request.endpoint.merge(\n route,\n parameters\n );\n return request(endpoint).catch((error) => {\n if (error.status === 404) {\n error.message = `Not found. May be due to lack of authentication. Reason: ${reason}`;\n throw error;\n }\n if (isRateLimitError(error)) {\n error.message = `API rate limit exceeded. This maybe caused by the lack of authentication. Reason: ${reason}`;\n throw error;\n }\n if (isAbuseLimitError(error)) {\n error.message = `You have triggered an abuse detection mechanism. This maybe caused by the lack of authentication. Reason: ${reason}`;\n throw error;\n }\n if (error.status === 401) {\n error.message = `Unauthorized. \"${endpoint.method} ${endpoint.url}\" failed most likely due to lack of authentication. Reason: ${reason}`;\n throw error;\n }\n if (error.status >= 400 && error.status < 500) {\n error.message = error.message.replace(\n /\\.?$/,\n `. May be caused by lack of authentication (${reason}).`\n );\n }\n throw error;\n });\n}\n\n// pkg/dist-src/index.js\nvar createUnauthenticatedAuth = function createUnauthenticatedAuth2(options) {\n if (!options || !options.reason) {\n throw new Error(\n \"[@octokit/auth-unauthenticated] No reason passed to createUnauthenticatedAuth\"\n );\n }\n return Object.assign(auth.bind(null, options.reason), {\n hook: hook.bind(null, options.reason)\n });\n};\nexport {\n createUnauthenticatedAuth\n};\n","// pkg/dist-src/index.js\nimport { createOAuthAppAuth } from \"@octokit/auth-oauth-app\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"8.0.1\";\n\n// pkg/dist-src/add-event-handler.js\nfunction addEventHandler(state, eventName, eventHandler) {\n if (Array.isArray(eventName)) {\n for (const singleEventName of eventName) {\n addEventHandler(state, singleEventName, eventHandler);\n }\n return;\n }\n if (!state.eventHandlers[eventName]) {\n state.eventHandlers[eventName] = [];\n }\n state.eventHandlers[eventName].push(eventHandler);\n}\n\n// pkg/dist-src/oauth-app-octokit.js\nimport { Octokit } from \"@octokit/core\";\nimport { getUserAgent } from \"universal-user-agent\";\nvar OAuthAppOctokit = Octokit.defaults({\n userAgent: `octokit-oauth-app.js/${VERSION} ${getUserAgent()}`\n});\n\n// pkg/dist-src/methods/get-user-octokit.js\nimport { createOAuthUserAuth } from \"@octokit/auth-oauth-user\";\n\n// pkg/dist-src/emit-event.js\nasync function emitEvent(state, context) {\n const { name, action } = context;\n if (state.eventHandlers[`${name}.${action}`]) {\n for (const eventHandler of state.eventHandlers[`${name}.${action}`]) {\n await eventHandler(context);\n }\n }\n if (state.eventHandlers[name]) {\n for (const eventHandler of state.eventHandlers[name]) {\n await eventHandler(context);\n }\n }\n}\n\n// pkg/dist-src/methods/get-user-octokit.js\nasync function getUserOctokitWithState(state, options) {\n return state.octokit.auth({\n type: \"oauth-user\",\n ...options,\n async factory(options2) {\n const octokit = new state.Octokit({\n authStrategy: createOAuthUserAuth,\n auth: options2\n });\n const authentication = await octokit.auth({\n type: \"get\"\n });\n await emitEvent(state, {\n name: \"token\",\n action: \"created\",\n token: authentication.token,\n scopes: authentication.scopes,\n authentication,\n octokit\n });\n return octokit;\n }\n });\n}\n\n// pkg/dist-src/methods/get-web-flow-authorization-url.js\nimport * as OAuthMethods from \"@octokit/oauth-methods\";\nfunction getWebFlowAuthorizationUrlWithState(state, options) {\n const optionsWithDefaults = {\n clientId: state.clientId,\n request: state.octokit.request,\n ...options,\n allowSignup: state.allowSignup ?? options.allowSignup,\n redirectUrl: options.redirectUrl ?? state.redirectUrl,\n scopes: options.scopes ?? state.defaultScopes\n };\n return OAuthMethods.getWebFlowAuthorizationUrl({\n clientType: state.clientType,\n ...optionsWithDefaults\n });\n}\n\n// pkg/dist-src/methods/create-token.js\nimport * as OAuthAppAuth from \"@octokit/auth-oauth-app\";\nasync function createTokenWithState(state, options) {\n const authentication = await state.octokit.auth({\n type: \"oauth-user\",\n ...options\n });\n await emitEvent(state, {\n name: \"token\",\n action: \"created\",\n token: authentication.token,\n scopes: authentication.scopes,\n authentication,\n octokit: new state.Octokit({\n authStrategy: OAuthAppAuth.createOAuthUserAuth,\n auth: {\n clientType: state.clientType,\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n token: authentication.token,\n scopes: authentication.scopes,\n refreshToken: authentication.refreshToken,\n expiresAt: authentication.expiresAt,\n refreshTokenExpiresAt: authentication.refreshTokenExpiresAt\n }\n })\n });\n return { authentication };\n}\n\n// pkg/dist-src/methods/check-token.js\nimport * as OAuthMethods2 from \"@octokit/oauth-methods\";\nasync function checkTokenWithState(state, options) {\n const result = await OAuthMethods2.checkToken({\n // @ts-expect-error not worth the extra code to appease TS\n clientType: state.clientType,\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n request: state.octokit.request,\n ...options\n });\n Object.assign(result.authentication, { type: \"token\", tokenType: \"oauth\" });\n return result;\n}\n\n// pkg/dist-src/methods/reset-token.js\nimport * as OAuthMethods3 from \"@octokit/oauth-methods\";\nimport { createOAuthUserAuth as createOAuthUserAuth3 } from \"@octokit/auth-oauth-user\";\nasync function resetTokenWithState(state, options) {\n const optionsWithDefaults = {\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n request: state.octokit.request,\n ...options\n };\n if (state.clientType === \"oauth-app\") {\n const response2 = await OAuthMethods3.resetToken({\n clientType: \"oauth-app\",\n ...optionsWithDefaults\n });\n const authentication2 = Object.assign(response2.authentication, {\n type: \"token\",\n tokenType: \"oauth\"\n });\n await emitEvent(state, {\n name: \"token\",\n action: \"reset\",\n token: response2.authentication.token,\n scopes: response2.authentication.scopes || void 0,\n authentication: authentication2,\n octokit: new state.Octokit({\n authStrategy: createOAuthUserAuth3,\n auth: {\n clientType: state.clientType,\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n token: response2.authentication.token,\n scopes: response2.authentication.scopes\n }\n })\n });\n return { ...response2, authentication: authentication2 };\n }\n const response = await OAuthMethods3.resetToken({\n clientType: \"github-app\",\n ...optionsWithDefaults\n });\n const authentication = Object.assign(response.authentication, {\n type: \"token\",\n tokenType: \"oauth\"\n });\n await emitEvent(state, {\n name: \"token\",\n action: \"reset\",\n token: response.authentication.token,\n authentication,\n octokit: new state.Octokit({\n authStrategy: createOAuthUserAuth3,\n auth: {\n clientType: state.clientType,\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n token: response.authentication.token\n }\n })\n });\n return { ...response, authentication };\n}\n\n// pkg/dist-src/methods/refresh-token.js\nimport * as OAuthMethods4 from \"@octokit/oauth-methods\";\nimport { createOAuthUserAuth as createOAuthUserAuth4 } from \"@octokit/auth-oauth-user\";\nasync function refreshTokenWithState(state, options) {\n if (state.clientType === \"oauth-app\") {\n throw new Error(\n \"[@octokit/oauth-app] app.refreshToken() is not supported for OAuth Apps\"\n );\n }\n const response = await OAuthMethods4.refreshToken({\n clientType: \"github-app\",\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n request: state.octokit.request,\n refreshToken: options.refreshToken\n });\n const authentication = Object.assign(response.authentication, {\n type: \"token\",\n tokenType: \"oauth\"\n });\n await emitEvent(state, {\n name: \"token\",\n action: \"refreshed\",\n token: response.authentication.token,\n authentication,\n octokit: new state.Octokit({\n authStrategy: createOAuthUserAuth4,\n auth: {\n clientType: state.clientType,\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n token: response.authentication.token\n }\n })\n });\n return { ...response, authentication };\n}\n\n// pkg/dist-src/methods/scope-token.js\nimport * as OAuthMethods5 from \"@octokit/oauth-methods\";\nimport { createOAuthUserAuth as createOAuthUserAuth5 } from \"@octokit/auth-oauth-user\";\nasync function scopeTokenWithState(state, options) {\n if (state.clientType === \"oauth-app\") {\n throw new Error(\n \"[@octokit/oauth-app] app.scopeToken() is not supported for OAuth Apps\"\n );\n }\n const response = await OAuthMethods5.scopeToken({\n clientType: \"github-app\",\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n request: state.octokit.request,\n ...options\n });\n const authentication = Object.assign(response.authentication, {\n type: \"token\",\n tokenType: \"oauth\"\n });\n await emitEvent(state, {\n name: \"token\",\n action: \"scoped\",\n token: response.authentication.token,\n authentication,\n octokit: new state.Octokit({\n authStrategy: createOAuthUserAuth5,\n auth: {\n clientType: state.clientType,\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n token: response.authentication.token\n }\n })\n });\n return { ...response, authentication };\n}\n\n// pkg/dist-src/methods/delete-token.js\nimport * as OAuthMethods6 from \"@octokit/oauth-methods\";\nimport { createUnauthenticatedAuth } from \"@octokit/auth-unauthenticated\";\nasync function deleteTokenWithState(state, options) {\n const optionsWithDefaults = {\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n request: state.octokit.request,\n ...options\n };\n const response = state.clientType === \"oauth-app\" ? await OAuthMethods6.deleteToken({\n clientType: \"oauth-app\",\n ...optionsWithDefaults\n }) : (\n /* v8 ignore next 4 */\n await OAuthMethods6.deleteToken({\n clientType: \"github-app\",\n ...optionsWithDefaults\n })\n );\n await emitEvent(state, {\n name: \"token\",\n action: \"deleted\",\n token: options.token,\n octokit: new state.Octokit({\n authStrategy: createUnauthenticatedAuth,\n auth: {\n reason: `Handling \"token.deleted\" event. The access for the token has been revoked.`\n }\n })\n });\n return response;\n}\n\n// pkg/dist-src/methods/delete-authorization.js\nimport * as OAuthMethods7 from \"@octokit/oauth-methods\";\nimport { createUnauthenticatedAuth as createUnauthenticatedAuth2 } from \"@octokit/auth-unauthenticated\";\nasync function deleteAuthorizationWithState(state, options) {\n const optionsWithDefaults = {\n clientId: state.clientId,\n clientSecret: state.clientSecret,\n request: state.octokit.request,\n ...options\n };\n const response = state.clientType === \"oauth-app\" ? await OAuthMethods7.deleteAuthorization({\n clientType: \"oauth-app\",\n ...optionsWithDefaults\n }) : (\n /* v8 ignore next 4 */\n await OAuthMethods7.deleteAuthorization({\n clientType: \"github-app\",\n ...optionsWithDefaults\n })\n );\n await emitEvent(state, {\n name: \"token\",\n action: \"deleted\",\n token: options.token,\n octokit: new state.Octokit({\n authStrategy: createUnauthenticatedAuth2,\n auth: {\n reason: `Handling \"token.deleted\" event. The access for the token has been revoked.`\n }\n })\n });\n await emitEvent(state, {\n name: \"authorization\",\n action: \"deleted\",\n token: options.token,\n octokit: new state.Octokit({\n authStrategy: createUnauthenticatedAuth2,\n auth: {\n reason: `Handling \"authorization.deleted\" event. The access for the app has been revoked.`\n }\n })\n });\n return response;\n}\n\n// pkg/dist-src/middleware/unknown-route-response.js\nfunction unknownRouteResponse(request) {\n return {\n status: 404,\n headers: { \"content-type\": \"application/json\" },\n text: JSON.stringify({\n error: `Unknown route: ${request.method} ${request.url}`\n })\n };\n}\n\n// pkg/dist-src/middleware/handle-request.js\nasync function handleRequest(app, { pathPrefix = \"/api/github/oauth\" }, request) {\n let { pathname } = new URL(request.url, \"http://localhost\");\n if (!pathname.startsWith(`${pathPrefix}/`)) {\n return void 0;\n }\n if (request.method === \"OPTIONS\") {\n return {\n status: 200,\n headers: {\n \"access-control-allow-origin\": \"*\",\n \"access-control-allow-methods\": \"*\",\n \"access-control-allow-headers\": \"Content-Type, User-Agent, Authorization\"\n }\n };\n }\n pathname = pathname.slice(pathPrefix.length + 1);\n const route = [request.method, pathname].join(\" \");\n const routes = {\n getLogin: `GET login`,\n getCallback: `GET callback`,\n createToken: `POST token`,\n getToken: `GET token`,\n patchToken: `PATCH token`,\n patchRefreshToken: `PATCH refresh-token`,\n scopeToken: `POST token/scoped`,\n deleteToken: `DELETE token`,\n deleteGrant: `DELETE grant`\n };\n if (!Object.values(routes).includes(route)) {\n return unknownRouteResponse(request);\n }\n let json;\n try {\n const text = await request.text();\n json = text ? JSON.parse(text) : {};\n } catch (error) {\n return {\n status: 400,\n headers: {\n \"content-type\": \"application/json\",\n \"access-control-allow-origin\": \"*\"\n },\n text: JSON.stringify({\n error: \"[@octokit/oauth-app] request error\"\n })\n };\n }\n const { searchParams } = new URL(request.url, \"http://localhost\");\n const query = Object.fromEntries(searchParams);\n const headers = request.headers;\n try {\n if (route === routes.getLogin) {\n const authOptions = {};\n if (query.state) {\n Object.assign(authOptions, { state: query.state });\n }\n if (query.scopes) {\n Object.assign(authOptions, { scopes: query.scopes.split(\",\") });\n }\n if (query.allowSignup) {\n Object.assign(authOptions, {\n allowSignup: query.allowSignup === \"true\"\n });\n }\n if (query.redirectUrl) {\n Object.assign(authOptions, { redirectUrl: query.redirectUrl });\n }\n const { url } = app.getWebFlowAuthorizationUrl(authOptions);\n return { status: 302, headers: { location: url } };\n }\n if (route === routes.getCallback) {\n if (query.error) {\n throw new Error(\n `[@octokit/oauth-app] ${query.error} ${query.error_description}`\n );\n }\n if (!query.code) {\n throw new Error('[@octokit/oauth-app] \"code\" parameter is required');\n }\n const {\n authentication: { token: token2 }\n } = await app.createToken({\n code: query.code\n });\n return {\n status: 200,\n headers: {\n \"content-type\": \"text/html\"\n },\n text: `Token created successfully
\n\nYour token is: ${token2}. Copy it now as it cannot be shown again.
`\n };\n }\n if (route === routes.createToken) {\n const { code, redirectUrl } = json;\n if (!code) {\n throw new Error('[@octokit/oauth-app] \"code\" parameter is required');\n }\n const result = await app.createToken({\n code,\n redirectUrl\n });\n delete result.authentication.clientSecret;\n return {\n status: 201,\n headers: {\n \"content-type\": \"application/json\",\n \"access-control-allow-origin\": \"*\"\n },\n text: JSON.stringify(result)\n };\n }\n if (route === routes.getToken) {\n const token2 = headers.authorization?.substr(\"token \".length);\n if (!token2) {\n throw new Error(\n '[@octokit/oauth-app] \"Authorization\" header is required'\n );\n }\n const result = await app.checkToken({\n token: token2\n });\n delete result.authentication.clientSecret;\n return {\n status: 200,\n headers: {\n \"content-type\": \"application/json\",\n \"access-control-allow-origin\": \"*\"\n },\n text: JSON.stringify(result)\n };\n }\n if (route === routes.patchToken) {\n const token2 = headers.authorization?.substr(\"token \".length);\n if (!token2) {\n throw new Error(\n '[@octokit/oauth-app] \"Authorization\" header is required'\n );\n }\n const result = await app.resetToken({ token: token2 });\n delete result.authentication.clientSecret;\n return {\n status: 200,\n headers: {\n \"content-type\": \"application/json\",\n \"access-control-allow-origin\": \"*\"\n },\n text: JSON.stringify(result)\n };\n }\n if (route === routes.patchRefreshToken) {\n const token2 = headers.authorization?.substr(\"token \".length);\n if (!token2) {\n throw new Error(\n '[@octokit/oauth-app] \"Authorization\" header is required'\n );\n }\n const { refreshToken: refreshToken2 } = json;\n if (!refreshToken2) {\n throw new Error(\n \"[@octokit/oauth-app] refreshToken must be sent in request body\"\n );\n }\n const result = await app.refreshToken({ refreshToken: refreshToken2 });\n delete result.authentication.clientSecret;\n return {\n status: 200,\n headers: {\n \"content-type\": \"application/json\",\n \"access-control-allow-origin\": \"*\"\n },\n text: JSON.stringify(result)\n };\n }\n if (route === routes.scopeToken) {\n const token2 = headers.authorization?.substr(\"token \".length);\n if (!token2) {\n throw new Error(\n '[@octokit/oauth-app] \"Authorization\" header is required'\n );\n }\n const result = await app.scopeToken({\n token: token2,\n ...json\n });\n delete result.authentication.clientSecret;\n return {\n status: 200,\n headers: {\n \"content-type\": \"application/json\",\n \"access-control-allow-origin\": \"*\"\n },\n text: JSON.stringify(result)\n };\n }\n if (route === routes.deleteToken) {\n const token2 = headers.authorization?.substr(\"token \".length);\n if (!token2) {\n throw new Error(\n '[@octokit/oauth-app] \"Authorization\" header is required'\n );\n }\n await app.deleteToken({\n token: token2\n });\n return {\n status: 204,\n headers: { \"access-control-allow-origin\": \"*\" }\n };\n }\n const token = headers.authorization?.substr(\"token \".length);\n if (!token) {\n throw new Error(\n '[@octokit/oauth-app] \"Authorization\" header is required'\n );\n }\n await app.deleteAuthorization({\n token\n });\n return {\n status: 204,\n headers: { \"access-control-allow-origin\": \"*\" }\n };\n } catch (error) {\n return {\n status: 400,\n headers: {\n \"content-type\": \"application/json\",\n \"access-control-allow-origin\": \"*\"\n },\n text: JSON.stringify({ error: error.message })\n };\n }\n}\n\n// pkg/dist-src/middleware/node/parse-request.js\nfunction parseRequest(request) {\n const { method, url, headers } = request;\n async function text() {\n const text2 = await new Promise((resolve, reject) => {\n let bodyChunks = [];\n request.on(\"error\", reject).on(\"data\", (chunk) => bodyChunks.push(chunk)).on(\"end\", () => resolve(Buffer.concat(bodyChunks).toString()));\n });\n return text2;\n }\n return { method, url, headers, text };\n}\n\n// pkg/dist-src/middleware/node/send-response.js\nfunction sendResponse(octokitResponse, response) {\n response.writeHead(octokitResponse.status, octokitResponse.headers);\n response.end(octokitResponse.text);\n}\n\n// pkg/dist-src/middleware/node/index.js\nfunction createNodeMiddleware(app, options = {}) {\n return async function(request, response, next) {\n const octokitRequest = await parseRequest(request);\n const octokitResponse = await handleRequest(app, options, octokitRequest);\n if (octokitResponse) {\n sendResponse(octokitResponse, response);\n return true;\n } else {\n next?.();\n return false;\n }\n };\n}\n\n// pkg/dist-src/middleware/web-worker/parse-request.js\nfunction parseRequest2(request) {\n const headers = Object.fromEntries(request.headers.entries());\n return {\n method: request.method,\n url: request.url,\n headers,\n text: () => request.text()\n };\n}\n\n// pkg/dist-src/middleware/web-worker/send-response.js\nfunction sendResponse2(octokitResponse) {\n const responseOptions = {\n status: octokitResponse.status\n };\n if (octokitResponse.headers) {\n Object.assign(responseOptions, { headers: octokitResponse.headers });\n }\n return new Response(octokitResponse.text, responseOptions);\n}\n\n// pkg/dist-src/middleware/web-worker/index.js\nfunction createWebWorkerHandler(app, options = {}) {\n return async function(request) {\n const octokitRequest = await parseRequest2(request);\n const octokitResponse = await handleRequest(app, options, octokitRequest);\n return octokitResponse ? sendResponse2(octokitResponse) : void 0;\n };\n}\n\n// pkg/dist-src/middleware/aws-lambda/api-gateway-v2-parse-request.js\nfunction parseRequest3(request) {\n const { method } = request.requestContext.http;\n let url = request.rawPath;\n const { stage } = request.requestContext;\n if (url.startsWith(\"/\" + stage)) url = url.substring(stage.length + 1);\n if (request.rawQueryString) url += \"?\" + request.rawQueryString;\n const headers = request.headers;\n const text = async () => request.body || \"\";\n return { method, url, headers, text };\n}\n\n// pkg/dist-src/middleware/aws-lambda/api-gateway-v2-send-response.js\nfunction sendResponse3(octokitResponse) {\n return {\n statusCode: octokitResponse.status,\n headers: octokitResponse.headers,\n body: octokitResponse.text\n };\n}\n\n// pkg/dist-src/middleware/aws-lambda/api-gateway-v2.js\nfunction createAWSLambdaAPIGatewayV2Handler(app, options = {}) {\n return async function(event) {\n const request = parseRequest3(event);\n const response = await handleRequest(app, options, request);\n return response ? sendResponse3(response) : void 0;\n };\n}\n\n// pkg/dist-src/index.js\nvar OAuthApp = class {\n static VERSION = VERSION;\n static defaults(defaults) {\n const OAuthAppWithDefaults = class extends this {\n constructor(...args) {\n super({\n ...defaults,\n ...args[0]\n });\n }\n };\n return OAuthAppWithDefaults;\n }\n constructor(options) {\n const Octokit2 = options.Octokit || OAuthAppOctokit;\n this.type = options.clientType || \"oauth-app\";\n const octokit = new Octokit2({\n authStrategy: createOAuthAppAuth,\n auth: {\n clientType: this.type,\n clientId: options.clientId,\n clientSecret: options.clientSecret\n }\n });\n const state = {\n clientType: this.type,\n clientId: options.clientId,\n clientSecret: options.clientSecret,\n // @ts-expect-error defaultScopes not permitted for GitHub Apps\n defaultScopes: options.defaultScopes || [],\n allowSignup: options.allowSignup,\n baseUrl: options.baseUrl,\n redirectUrl: options.redirectUrl,\n log: options.log,\n Octokit: Octokit2,\n octokit,\n eventHandlers: {}\n };\n this.on = addEventHandler.bind(null, state);\n this.octokit = octokit;\n this.getUserOctokit = getUserOctokitWithState.bind(null, state);\n this.getWebFlowAuthorizationUrl = getWebFlowAuthorizationUrlWithState.bind(\n null,\n state\n );\n this.createToken = createTokenWithState.bind(\n null,\n state\n );\n this.checkToken = checkTokenWithState.bind(\n null,\n state\n );\n this.resetToken = resetTokenWithState.bind(\n null,\n state\n );\n this.refreshToken = refreshTokenWithState.bind(\n null,\n state\n );\n this.scopeToken = scopeTokenWithState.bind(\n null,\n state\n );\n this.deleteToken = deleteTokenWithState.bind(null, state);\n this.deleteAuthorization = deleteAuthorizationWithState.bind(null, state);\n }\n // assigned during constructor\n type;\n on;\n octokit;\n getUserOctokit;\n getWebFlowAuthorizationUrl;\n createToken;\n checkToken;\n resetToken;\n refreshToken;\n scopeToken;\n deleteToken;\n deleteAuthorization;\n};\nexport {\n OAuthApp,\n createAWSLambdaAPIGatewayV2Handler,\n createNodeMiddleware,\n createWebWorkerHandler,\n handleRequest,\n sendResponse as sendNodeResponse,\n unknownRouteResponse\n};\n","// pkg/dist-src/node/sign.js\nimport { createHmac } from \"node:crypto\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"6.0.0\";\n\n// pkg/dist-src/node/sign.js\nasync function sign(secret, payload) {\n if (!secret || !payload) {\n throw new TypeError(\n \"[@octokit/webhooks-methods] secret & payload required for sign()\"\n );\n }\n if (typeof payload !== \"string\") {\n throw new TypeError(\"[@octokit/webhooks-methods] payload must be a string\");\n }\n const algorithm = \"sha256\";\n return `${algorithm}=${createHmac(algorithm, secret).update(payload).digest(\"hex\")}`;\n}\nsign.VERSION = VERSION;\n\n// pkg/dist-src/node/verify.js\nimport { timingSafeEqual } from \"node:crypto\";\nimport { Buffer } from \"node:buffer\";\nasync function verify(secret, eventPayload, signature) {\n if (!secret || !eventPayload || !signature) {\n throw new TypeError(\n \"[@octokit/webhooks-methods] secret, eventPayload & signature required\"\n );\n }\n if (typeof eventPayload !== \"string\") {\n throw new TypeError(\n \"[@octokit/webhooks-methods] eventPayload must be a string\"\n );\n }\n const signatureBuffer = Buffer.from(signature);\n const verificationBuffer = Buffer.from(await sign(secret, eventPayload));\n if (signatureBuffer.length !== verificationBuffer.length) {\n return false;\n }\n return timingSafeEqual(signatureBuffer, verificationBuffer);\n}\nverify.VERSION = VERSION;\n\n// pkg/dist-src/index.js\nasync function verifyWithFallback(secret, payload, signature, additionalSecrets) {\n const firstPass = await verify(secret, payload, signature);\n if (firstPass) {\n return true;\n }\n if (additionalSecrets !== void 0) {\n for (const s of additionalSecrets) {\n const v = await verify(s, payload, signature);\n if (v) {\n return v;\n }\n }\n }\n return false;\n}\nexport {\n sign,\n verify,\n verifyWithFallback\n};\n","// pkg/dist-src/create-logger.js\nvar createLogger = (logger = {}) => {\n if (typeof logger.debug !== \"function\") {\n logger.debug = () => {\n };\n }\n if (typeof logger.info !== \"function\") {\n logger.info = () => {\n };\n }\n if (typeof logger.warn !== \"function\") {\n logger.warn = console.warn.bind(console);\n }\n if (typeof logger.error !== \"function\") {\n logger.error = console.error.bind(console);\n }\n return logger;\n};\n\n// pkg/dist-src/generated/webhook-names.js\nvar emitterEventNames = [\n \"branch_protection_configuration\",\n \"branch_protection_configuration.disabled\",\n \"branch_protection_configuration.enabled\",\n \"branch_protection_rule\",\n \"branch_protection_rule.created\",\n \"branch_protection_rule.deleted\",\n \"branch_protection_rule.edited\",\n \"check_run\",\n \"check_run.completed\",\n \"check_run.created\",\n \"check_run.requested_action\",\n \"check_run.rerequested\",\n \"check_suite\",\n \"check_suite.completed\",\n \"check_suite.requested\",\n \"check_suite.rerequested\",\n \"code_scanning_alert\",\n \"code_scanning_alert.appeared_in_branch\",\n \"code_scanning_alert.closed_by_user\",\n \"code_scanning_alert.created\",\n \"code_scanning_alert.fixed\",\n \"code_scanning_alert.reopened\",\n \"code_scanning_alert.reopened_by_user\",\n \"commit_comment\",\n \"commit_comment.created\",\n \"create\",\n \"custom_property\",\n \"custom_property.created\",\n \"custom_property.deleted\",\n \"custom_property.promote_to_enterprise\",\n \"custom_property.updated\",\n \"custom_property_values\",\n \"custom_property_values.updated\",\n \"delete\",\n \"dependabot_alert\",\n \"dependabot_alert.auto_dismissed\",\n \"dependabot_alert.auto_reopened\",\n \"dependabot_alert.created\",\n \"dependabot_alert.dismissed\",\n \"dependabot_alert.fixed\",\n \"dependabot_alert.reintroduced\",\n \"dependabot_alert.reopened\",\n \"deploy_key\",\n \"deploy_key.created\",\n \"deploy_key.deleted\",\n \"deployment\",\n \"deployment.created\",\n \"deployment_protection_rule\",\n \"deployment_protection_rule.requested\",\n \"deployment_review\",\n \"deployment_review.approved\",\n \"deployment_review.rejected\",\n \"deployment_review.requested\",\n \"deployment_status\",\n \"deployment_status.created\",\n \"discussion\",\n \"discussion.answered\",\n \"discussion.category_changed\",\n \"discussion.closed\",\n \"discussion.created\",\n \"discussion.deleted\",\n \"discussion.edited\",\n \"discussion.labeled\",\n \"discussion.locked\",\n \"discussion.pinned\",\n \"discussion.reopened\",\n \"discussion.transferred\",\n \"discussion.unanswered\",\n \"discussion.unlabeled\",\n \"discussion.unlocked\",\n \"discussion.unpinned\",\n \"discussion_comment\",\n \"discussion_comment.created\",\n \"discussion_comment.deleted\",\n \"discussion_comment.edited\",\n \"fork\",\n \"github_app_authorization\",\n \"github_app_authorization.revoked\",\n \"gollum\",\n \"installation\",\n \"installation.created\",\n \"installation.deleted\",\n \"installation.new_permissions_accepted\",\n \"installation.suspend\",\n \"installation.unsuspend\",\n \"installation_repositories\",\n \"installation_repositories.added\",\n \"installation_repositories.removed\",\n \"installation_target\",\n \"installation_target.renamed\",\n \"issue_comment\",\n \"issue_comment.created\",\n \"issue_comment.deleted\",\n \"issue_comment.edited\",\n \"issues\",\n \"issues.assigned\",\n \"issues.closed\",\n \"issues.deleted\",\n \"issues.demilestoned\",\n \"issues.edited\",\n \"issues.labeled\",\n \"issues.locked\",\n \"issues.milestoned\",\n \"issues.opened\",\n \"issues.pinned\",\n \"issues.reopened\",\n \"issues.transferred\",\n \"issues.typed\",\n \"issues.unassigned\",\n \"issues.unlabeled\",\n \"issues.unlocked\",\n \"issues.unpinned\",\n \"issues.untyped\",\n \"label\",\n \"label.created\",\n \"label.deleted\",\n \"label.edited\",\n \"marketplace_purchase\",\n \"marketplace_purchase.cancelled\",\n \"marketplace_purchase.changed\",\n \"marketplace_purchase.pending_change\",\n \"marketplace_purchase.pending_change_cancelled\",\n \"marketplace_purchase.purchased\",\n \"member\",\n \"member.added\",\n \"member.edited\",\n \"member.removed\",\n \"membership\",\n \"membership.added\",\n \"membership.removed\",\n \"merge_group\",\n \"merge_group.checks_requested\",\n \"merge_group.destroyed\",\n \"meta\",\n \"meta.deleted\",\n \"milestone\",\n \"milestone.closed\",\n \"milestone.created\",\n \"milestone.deleted\",\n \"milestone.edited\",\n \"milestone.opened\",\n \"org_block\",\n \"org_block.blocked\",\n \"org_block.unblocked\",\n \"organization\",\n \"organization.deleted\",\n \"organization.member_added\",\n \"organization.member_invited\",\n \"organization.member_removed\",\n \"organization.renamed\",\n \"package\",\n \"package.published\",\n \"package.updated\",\n \"page_build\",\n \"personal_access_token_request\",\n \"personal_access_token_request.approved\",\n \"personal_access_token_request.cancelled\",\n \"personal_access_token_request.created\",\n \"personal_access_token_request.denied\",\n \"ping\",\n \"project\",\n \"project.closed\",\n \"project.created\",\n \"project.deleted\",\n \"project.edited\",\n \"project.reopened\",\n \"project_card\",\n \"project_card.converted\",\n \"project_card.created\",\n \"project_card.deleted\",\n \"project_card.edited\",\n \"project_card.moved\",\n \"project_column\",\n \"project_column.created\",\n \"project_column.deleted\",\n \"project_column.edited\",\n \"project_column.moved\",\n \"projects_v2\",\n \"projects_v2.closed\",\n \"projects_v2.created\",\n \"projects_v2.deleted\",\n \"projects_v2.edited\",\n \"projects_v2.reopened\",\n \"projects_v2_item\",\n \"projects_v2_item.archived\",\n \"projects_v2_item.converted\",\n \"projects_v2_item.created\",\n \"projects_v2_item.deleted\",\n \"projects_v2_item.edited\",\n \"projects_v2_item.reordered\",\n \"projects_v2_item.restored\",\n \"projects_v2_status_update\",\n \"projects_v2_status_update.created\",\n \"projects_v2_status_update.deleted\",\n \"projects_v2_status_update.edited\",\n \"public\",\n \"pull_request\",\n \"pull_request.assigned\",\n \"pull_request.auto_merge_disabled\",\n \"pull_request.auto_merge_enabled\",\n \"pull_request.closed\",\n \"pull_request.converted_to_draft\",\n \"pull_request.demilestoned\",\n \"pull_request.dequeued\",\n \"pull_request.edited\",\n \"pull_request.enqueued\",\n \"pull_request.labeled\",\n \"pull_request.locked\",\n \"pull_request.milestoned\",\n \"pull_request.opened\",\n \"pull_request.ready_for_review\",\n \"pull_request.reopened\",\n \"pull_request.review_request_removed\",\n \"pull_request.review_requested\",\n \"pull_request.synchronize\",\n \"pull_request.unassigned\",\n \"pull_request.unlabeled\",\n \"pull_request.unlocked\",\n \"pull_request_review\",\n \"pull_request_review.dismissed\",\n \"pull_request_review.edited\",\n \"pull_request_review.submitted\",\n \"pull_request_review_comment\",\n \"pull_request_review_comment.created\",\n \"pull_request_review_comment.deleted\",\n \"pull_request_review_comment.edited\",\n \"pull_request_review_thread\",\n \"pull_request_review_thread.resolved\",\n \"pull_request_review_thread.unresolved\",\n \"push\",\n \"registry_package\",\n \"registry_package.published\",\n \"registry_package.updated\",\n \"release\",\n \"release.created\",\n \"release.deleted\",\n \"release.edited\",\n \"release.prereleased\",\n \"release.published\",\n \"release.released\",\n \"release.unpublished\",\n \"repository\",\n \"repository.archived\",\n \"repository.created\",\n \"repository.deleted\",\n \"repository.edited\",\n \"repository.privatized\",\n \"repository.publicized\",\n \"repository.renamed\",\n \"repository.transferred\",\n \"repository.unarchived\",\n \"repository_advisory\",\n \"repository_advisory.published\",\n \"repository_advisory.reported\",\n \"repository_dispatch\",\n \"repository_dispatch.sample.collected\",\n \"repository_import\",\n \"repository_ruleset\",\n \"repository_ruleset.created\",\n \"repository_ruleset.deleted\",\n \"repository_ruleset.edited\",\n \"repository_vulnerability_alert\",\n \"repository_vulnerability_alert.create\",\n \"repository_vulnerability_alert.dismiss\",\n \"repository_vulnerability_alert.reopen\",\n \"repository_vulnerability_alert.resolve\",\n \"secret_scanning_alert\",\n \"secret_scanning_alert.created\",\n \"secret_scanning_alert.publicly_leaked\",\n \"secret_scanning_alert.reopened\",\n \"secret_scanning_alert.resolved\",\n \"secret_scanning_alert.validated\",\n \"secret_scanning_alert_location\",\n \"secret_scanning_alert_location.created\",\n \"secret_scanning_scan\",\n \"secret_scanning_scan.completed\",\n \"security_advisory\",\n \"security_advisory.published\",\n \"security_advisory.updated\",\n \"security_advisory.withdrawn\",\n \"security_and_analysis\",\n \"sponsorship\",\n \"sponsorship.cancelled\",\n \"sponsorship.created\",\n \"sponsorship.edited\",\n \"sponsorship.pending_cancellation\",\n \"sponsorship.pending_tier_change\",\n \"sponsorship.tier_changed\",\n \"star\",\n \"star.created\",\n \"star.deleted\",\n \"status\",\n \"sub_issues\",\n \"sub_issues.parent_issue_added\",\n \"sub_issues.parent_issue_removed\",\n \"sub_issues.sub_issue_added\",\n \"sub_issues.sub_issue_removed\",\n \"team\",\n \"team.added_to_repository\",\n \"team.created\",\n \"team.deleted\",\n \"team.edited\",\n \"team.removed_from_repository\",\n \"team_add\",\n \"watch\",\n \"watch.started\",\n \"workflow_dispatch\",\n \"workflow_job\",\n \"workflow_job.completed\",\n \"workflow_job.in_progress\",\n \"workflow_job.queued\",\n \"workflow_job.waiting\",\n \"workflow_run\",\n \"workflow_run.completed\",\n \"workflow_run.in_progress\",\n \"workflow_run.requested\"\n];\n\n// pkg/dist-src/event-handler/validate-event-name.js\nfunction validateEventName(eventName, options = {}) {\n if (typeof eventName !== \"string\") {\n throw new TypeError(\"eventName must be of type string\");\n }\n if (eventName === \"*\") {\n throw new TypeError(\n `Using the \"*\" event with the regular Webhooks.on() function is not supported. Please use the Webhooks.onAny() method instead`\n );\n }\n if (eventName === \"error\") {\n throw new TypeError(\n `Using the \"error\" event with the regular Webhooks.on() function is not supported. Please use the Webhooks.onError() method instead`\n );\n }\n if (options.onUnknownEventName === \"ignore\") {\n return;\n }\n if (!emitterEventNames.includes(eventName)) {\n if (options.onUnknownEventName !== \"warn\") {\n throw new TypeError(\n `\"${eventName}\" is not a known webhook name (https://developer.github.com/v3/activity/events/types/)`\n );\n } else {\n (options.log || console).warn(\n `\"${eventName}\" is not a known webhook name (https://developer.github.com/v3/activity/events/types/)`\n );\n }\n }\n}\n\n// pkg/dist-src/event-handler/on.js\nfunction handleEventHandlers(state, webhookName, handler) {\n if (!state.hooks[webhookName]) {\n state.hooks[webhookName] = [];\n }\n state.hooks[webhookName].push(handler);\n}\nfunction receiverOn(state, webhookNameOrNames, handler) {\n if (Array.isArray(webhookNameOrNames)) {\n webhookNameOrNames.forEach(\n (webhookName) => receiverOn(state, webhookName, handler)\n );\n return;\n }\n validateEventName(webhookNameOrNames, {\n onUnknownEventName: \"warn\",\n log: state.log\n });\n handleEventHandlers(state, webhookNameOrNames, handler);\n}\nfunction receiverOnAny(state, handler) {\n handleEventHandlers(state, \"*\", handler);\n}\nfunction receiverOnError(state, handler) {\n handleEventHandlers(state, \"error\", handler);\n}\n\n// pkg/dist-src/event-handler/wrap-error-handler.js\nfunction wrapErrorHandler(handler, error) {\n let returnValue;\n try {\n returnValue = handler(error);\n } catch (error2) {\n console.log('FATAL: Error occurred in \"error\" event handler');\n console.log(error2);\n }\n if (returnValue && returnValue.catch) {\n returnValue.catch((error2) => {\n console.log('FATAL: Error occurred in \"error\" event handler');\n console.log(error2);\n });\n }\n}\n\n// pkg/dist-src/event-handler/receive.js\nfunction getHooks(state, eventPayloadAction, eventName) {\n const hooks = [state.hooks[eventName], state.hooks[\"*\"]];\n if (eventPayloadAction) {\n hooks.unshift(state.hooks[`${eventName}.${eventPayloadAction}`]);\n }\n return [].concat(...hooks.filter(Boolean));\n}\nfunction receiverHandle(state, event) {\n const errorHandlers = state.hooks.error || [];\n if (event instanceof Error) {\n const error = Object.assign(new AggregateError([event], event.message), {\n event\n });\n errorHandlers.forEach((handler) => wrapErrorHandler(handler, error));\n return Promise.reject(error);\n }\n if (!event || !event.name) {\n const error = new Error(\"Event name not passed\");\n throw new AggregateError([error], error.message);\n }\n if (!event.payload) {\n const error = new Error(\"Event name not passed\");\n throw new AggregateError([error], error.message);\n }\n const hooks = getHooks(\n state,\n \"action\" in event.payload ? event.payload.action : null,\n event.name\n );\n if (hooks.length === 0) {\n return Promise.resolve();\n }\n const errors = [];\n const promises = hooks.map((handler) => {\n let promise = Promise.resolve(event);\n if (state.transform) {\n promise = promise.then(state.transform);\n }\n return promise.then((event2) => {\n return handler(event2);\n }).catch((error) => errors.push(Object.assign(error, { event })));\n });\n return Promise.all(promises).then(() => {\n if (errors.length === 0) {\n return;\n }\n const error = new AggregateError(\n errors,\n errors.map((error2) => error2.message).join(\"\\n\")\n );\n Object.assign(error, {\n event\n });\n errorHandlers.forEach((handler) => wrapErrorHandler(handler, error));\n throw error;\n });\n}\n\n// pkg/dist-src/event-handler/remove-listener.js\nfunction removeListener(state, webhookNameOrNames, handler) {\n if (Array.isArray(webhookNameOrNames)) {\n webhookNameOrNames.forEach(\n (webhookName) => removeListener(state, webhookName, handler)\n );\n return;\n }\n if (!state.hooks[webhookNameOrNames]) {\n return;\n }\n for (let i = state.hooks[webhookNameOrNames].length - 1; i >= 0; i--) {\n if (state.hooks[webhookNameOrNames][i] === handler) {\n state.hooks[webhookNameOrNames].splice(i, 1);\n return;\n }\n }\n}\n\n// pkg/dist-src/event-handler/index.js\nfunction createEventHandler(options) {\n const state = {\n hooks: {},\n log: createLogger(options && options.log)\n };\n if (options && options.transform) {\n state.transform = options.transform;\n }\n return {\n on: receiverOn.bind(null, state),\n onAny: receiverOnAny.bind(null, state),\n onError: receiverOnError.bind(null, state),\n removeListener: removeListener.bind(null, state),\n receive: receiverHandle.bind(null, state)\n };\n}\n\n// pkg/dist-src/index.js\nimport { sign, verify } from \"@octokit/webhooks-methods\";\n\n// pkg/dist-src/verify-and-receive.js\nimport { verifyWithFallback } from \"@octokit/webhooks-methods\";\nasync function verifyAndReceive(state, event) {\n const matchesSignature = await verifyWithFallback(\n state.secret,\n event.payload,\n event.signature,\n state.additionalSecrets\n ).catch(() => false);\n if (!matchesSignature) {\n const error = new Error(\n \"[@octokit/webhooks] signature does not match event payload and secret\"\n );\n error.event = event;\n error.status = 400;\n return state.eventHandler.receive(error);\n }\n let payload;\n try {\n payload = JSON.parse(event.payload);\n } catch (error) {\n error.message = \"Invalid JSON\";\n error.status = 400;\n throw new AggregateError([error], error.message);\n }\n return state.eventHandler.receive({\n id: event.id,\n name: event.name,\n payload\n });\n}\n\n// pkg/dist-src/normalize-trailing-slashes.js\nfunction normalizeTrailingSlashes(path) {\n let i = path.length;\n if (i === 0) {\n return \"/\";\n }\n while (i > 0) {\n if (path.charCodeAt(--i) !== 47) {\n break;\n }\n }\n if (i === -1) {\n return \"/\";\n }\n return path.slice(0, i + 1);\n}\n\n// pkg/dist-src/middleware/create-middleware.js\nvar isApplicationJsonRE = /^\\s*(application\\/json)\\s*(?:;|$)/u;\nvar WEBHOOK_HEADERS = [\n \"x-github-event\",\n \"x-hub-signature-256\",\n \"x-github-delivery\"\n];\nfunction createMiddleware(options) {\n const { handleResponse: handleResponse3, getRequestHeader: getRequestHeader3, getPayload: getPayload3 } = options;\n return function middleware(webhooks, options2) {\n const middlewarePath = normalizeTrailingSlashes(options2.path);\n return async function octokitWebhooksMiddleware(request, response, next) {\n let pathname;\n try {\n pathname = new URL(\n normalizeTrailingSlashes(request.url),\n \"http://localhost\"\n ).pathname;\n } catch (error) {\n return handleResponse3(\n JSON.stringify({\n error: `Request URL could not be parsed: ${request.url}`\n }),\n 422,\n {\n \"content-type\": \"application/json\"\n },\n response\n );\n }\n if (pathname !== middlewarePath) {\n next?.();\n return handleResponse3(null);\n } else if (request.method !== \"POST\") {\n return handleResponse3(\n JSON.stringify({\n error: `Unknown route: ${request.method} ${pathname}`\n }),\n 404,\n {\n \"content-type\": \"application/json\"\n },\n response\n );\n }\n const contentType = getRequestHeader3(request, \"content-type\");\n if (typeof contentType !== \"string\" || !isApplicationJsonRE.test(contentType)) {\n return handleResponse3(\n JSON.stringify({\n error: `Unsupported \"Content-Type\" header value. Must be \"application/json\"`\n }),\n 415,\n {\n \"content-type\": \"application/json\",\n accept: \"application/json\"\n },\n response\n );\n }\n const missingHeaders = WEBHOOK_HEADERS.filter((header) => {\n return getRequestHeader3(request, header) == void 0;\n }).join(\", \");\n if (missingHeaders) {\n return handleResponse3(\n JSON.stringify({\n error: `Required headers missing: ${missingHeaders}`\n }),\n 400,\n {\n \"content-type\": \"application/json\",\n accept: \"application/json\"\n },\n response\n );\n }\n const eventName = getRequestHeader3(\n request,\n \"x-github-event\"\n );\n const signature = getRequestHeader3(request, \"x-hub-signature-256\");\n const id = getRequestHeader3(request, \"x-github-delivery\");\n options2.log.debug(`${eventName} event received (id: ${id})`);\n let didTimeout = false;\n let timeout;\n const timeoutPromise = new Promise((resolve) => {\n timeout = setTimeout(() => {\n didTimeout = true;\n resolve(\n handleResponse3(\n \"still processing\\n\",\n 202,\n {\n \"Content-Type\": \"text/plain\",\n accept: \"application/json\"\n },\n response\n )\n );\n }, options2.timeout);\n });\n const processWebhook = async () => {\n try {\n const payload = await getPayload3(request);\n await webhooks.verifyAndReceive({\n id,\n name: eventName,\n payload,\n signature\n });\n clearTimeout(timeout);\n if (didTimeout) return handleResponse3(null);\n return handleResponse3(\n \"ok\\n\",\n 200,\n {\n \"content-type\": \"text/plain\",\n accept: \"application/json\"\n },\n response\n );\n } catch (error) {\n clearTimeout(timeout);\n if (didTimeout) return handleResponse3(null);\n const err = Array.from(error.errors)[0];\n const errorMessage = err.message ? `${err.name}: ${err.message}` : \"Error: An Unspecified error occurred\";\n const statusCode = typeof err.status !== \"undefined\" ? err.status : 500;\n options2.log.error(error);\n return handleResponse3(\n JSON.stringify({\n error: errorMessage\n }),\n statusCode,\n {\n \"content-type\": \"application/json\",\n accept: \"application/json\"\n },\n response\n );\n }\n };\n return await Promise.race([timeoutPromise, processWebhook()]);\n };\n };\n}\n\n// pkg/dist-src/middleware/node/handle-response.js\nfunction handleResponse(body, status = 200, headers = {}, response) {\n if (body === null) {\n return false;\n }\n headers[\"content-length\"] = body.length.toString();\n response.writeHead(status, headers).end(body);\n return true;\n}\n\n// pkg/dist-src/middleware/node/get-request-header.js\nfunction getRequestHeader(request, key) {\n return request.headers[key];\n}\n\n// pkg/dist-src/concat-uint8array.js\nfunction concatUint8Array(data) {\n if (data.length === 0) {\n return new Uint8Array(0);\n }\n let totalLength = 0;\n for (let i = 0; i < data.length; i++) {\n totalLength += data[i].length;\n }\n if (totalLength === 0) {\n return new Uint8Array(0);\n }\n const result = new Uint8Array(totalLength);\n let offset = 0;\n for (let i = 0; i < data.length; i++) {\n result.set(data[i], offset);\n offset += data[i].length;\n }\n return result;\n}\n\n// pkg/dist-src/middleware/node/get-payload.js\nvar textDecoder = new TextDecoder(\"utf-8\", { fatal: false });\nvar decode = textDecoder.decode.bind(textDecoder);\nasync function getPayload(request) {\n if (typeof request.body === \"object\" && \"rawBody\" in request && request.rawBody instanceof Uint8Array) {\n return decode(request.rawBody);\n } else if (typeof request.body === \"string\") {\n return request.body;\n }\n const payload = await getPayloadFromRequestStream(request);\n return decode(payload);\n}\nfunction getPayloadFromRequestStream(request) {\n return new Promise((resolve, reject) => {\n let data = [];\n request.on(\n \"error\",\n (error) => reject(new AggregateError([error], error.message))\n );\n request.on(\"data\", data.push.bind(data));\n request.on(\"end\", () => {\n const result = concatUint8Array(data);\n queueMicrotask(() => resolve(result));\n });\n });\n}\n\n// pkg/dist-src/middleware/node/index.js\nfunction createNodeMiddleware(webhooks, {\n path = \"/api/github/webhooks\",\n log = createLogger(),\n timeout = 9e3\n} = {}) {\n return createMiddleware({\n handleResponse,\n getRequestHeader,\n getPayload\n })(webhooks, {\n path,\n log,\n timeout\n });\n}\n\n// pkg/dist-src/middleware/web/get-payload.js\nfunction getPayload2(request) {\n return request.text();\n}\n\n// pkg/dist-src/middleware/web/get-request-header.js\nfunction getRequestHeader2(request, key) {\n return request.headers.get(key);\n}\n\n// pkg/dist-src/middleware/web/handle-response.js\nfunction handleResponse2(body, status = 200, headers = {}) {\n if (body !== null) {\n headers[\"content-length\"] = body.length.toString();\n }\n return new Response(body, {\n status,\n headers\n });\n}\n\n// pkg/dist-src/middleware/web/index.js\nfunction createWebMiddleware(webhooks, {\n path = \"/api/github/webhooks\",\n log = createLogger(),\n timeout = 9e3\n} = {}) {\n return createMiddleware({\n handleResponse: handleResponse2,\n getRequestHeader: getRequestHeader2,\n getPayload: getPayload2\n })(webhooks, {\n path,\n log,\n timeout\n });\n}\n\n// pkg/dist-src/index.js\nvar Webhooks = class {\n sign;\n verify;\n on;\n onAny;\n onError;\n removeListener;\n receive;\n verifyAndReceive;\n constructor(options) {\n if (!options || !options.secret) {\n throw new Error(\"[@octokit/webhooks] options.secret required\");\n }\n const state = {\n eventHandler: createEventHandler(options),\n secret: options.secret,\n additionalSecrets: options.additionalSecrets,\n hooks: {},\n log: createLogger(options.log)\n };\n this.sign = sign.bind(null, options.secret);\n this.verify = verify.bind(null, options.secret);\n this.on = state.eventHandler.on;\n this.onAny = state.eventHandler.onAny;\n this.onError = state.eventHandler.onError;\n this.removeListener = state.eventHandler.removeListener;\n this.receive = state.eventHandler.receive;\n this.verifyAndReceive = verifyAndReceive.bind(null, state);\n }\n};\nexport {\n Webhooks,\n createEventHandler,\n createNodeMiddleware,\n createWebMiddleware,\n emitterEventNames,\n validateEventName\n};\n","// pkg/dist-src/index.js\nimport { Octokit as OctokitCore } from \"@octokit/core\";\nimport { createAppAuth as createAppAuth3 } from \"@octokit/auth-app\";\nimport { OAuthApp } from \"@octokit/oauth-app\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"16.1.0\";\n\n// pkg/dist-src/webhooks.js\nimport { createAppAuth } from \"@octokit/auth-app\";\nimport { createUnauthenticatedAuth } from \"@octokit/auth-unauthenticated\";\nimport { Webhooks } from \"@octokit/webhooks\";\nfunction webhooks(appOctokit, options) {\n return new Webhooks({\n secret: options.secret,\n transform: async (event) => {\n if (!(\"installation\" in event.payload) || typeof event.payload.installation !== \"object\") {\n const octokit2 = new appOctokit.constructor({\n authStrategy: createUnauthenticatedAuth,\n auth: {\n reason: `\"installation\" key missing in webhook event payload`\n }\n });\n return {\n ...event,\n octokit: octokit2\n };\n }\n const installationId = event.payload.installation.id;\n const octokit = await appOctokit.auth({\n type: \"installation\",\n installationId,\n factory(auth) {\n return new auth.octokit.constructor({\n ...auth.octokitOptions,\n authStrategy: createAppAuth,\n ...{\n auth: {\n ...auth,\n installationId\n }\n }\n });\n }\n });\n octokit.hook.before(\"request\", (options2) => {\n options2.headers[\"x-github-delivery\"] = event.id;\n });\n return {\n ...event,\n octokit\n };\n }\n });\n}\n\n// pkg/dist-src/each-installation.js\nimport { composePaginateRest } from \"@octokit/plugin-paginate-rest\";\n\n// pkg/dist-src/get-installation-octokit.js\nimport { createAppAuth as createAppAuth2 } from \"@octokit/auth-app\";\nasync function getInstallationOctokit(app, installationId) {\n return app.octokit.auth({\n type: \"installation\",\n installationId,\n factory(auth) {\n const options = {\n ...auth.octokitOptions,\n authStrategy: createAppAuth2,\n ...{ auth: { ...auth, installationId } }\n };\n return new auth.octokit.constructor(options);\n }\n });\n}\n\n// pkg/dist-src/each-installation.js\nfunction eachInstallationFactory(app) {\n return Object.assign(eachInstallation.bind(null, app), {\n iterator: eachInstallationIterator.bind(null, app)\n });\n}\nasync function eachInstallation(app, callback) {\n const i = eachInstallationIterator(app)[Symbol.asyncIterator]();\n let result = await i.next();\n while (!result.done) {\n await callback(result.value);\n result = await i.next();\n }\n}\nfunction eachInstallationIterator(app) {\n return {\n async *[Symbol.asyncIterator]() {\n const iterator = composePaginateRest.iterator(\n app.octokit,\n \"GET /app/installations\"\n );\n for await (const { data: installations } of iterator) {\n for (const installation of installations) {\n const installationOctokit = await getInstallationOctokit(\n app,\n installation.id\n );\n yield { octokit: installationOctokit, installation };\n }\n }\n }\n };\n}\n\n// pkg/dist-src/each-repository.js\nimport { composePaginateRest as composePaginateRest2 } from \"@octokit/plugin-paginate-rest\";\nfunction eachRepositoryFactory(app) {\n return Object.assign(eachRepository.bind(null, app), {\n iterator: eachRepositoryIterator.bind(null, app)\n });\n}\nasync function eachRepository(app, queryOrCallback, callback) {\n const i = eachRepositoryIterator(\n app,\n callback ? queryOrCallback : void 0\n )[Symbol.asyncIterator]();\n let result = await i.next();\n while (!result.done) {\n if (callback) {\n await callback(result.value);\n } else {\n await queryOrCallback(result.value);\n }\n result = await i.next();\n }\n}\nfunction singleInstallationIterator(app, installationId) {\n return {\n async *[Symbol.asyncIterator]() {\n yield {\n octokit: await app.getInstallationOctokit(installationId)\n };\n }\n };\n}\nfunction eachRepositoryIterator(app, query) {\n return {\n async *[Symbol.asyncIterator]() {\n const iterator = query ? singleInstallationIterator(app, query.installationId) : app.eachInstallation.iterator();\n for await (const { octokit } of iterator) {\n const repositoriesIterator = composePaginateRest2.iterator(\n octokit,\n \"GET /installation/repositories\"\n );\n for await (const { data: repositories } of repositoriesIterator) {\n for (const repository of repositories) {\n yield { octokit, repository };\n }\n }\n }\n }\n };\n}\n\n// pkg/dist-src/get-installation-url.js\nfunction getInstallationUrlFactory(app) {\n let installationUrlBasePromise;\n return async function getInstallationUrl(options = {}) {\n if (!installationUrlBasePromise) {\n installationUrlBasePromise = getInstallationUrlBase(app);\n }\n const installationUrlBase = await installationUrlBasePromise;\n const installationUrl = new URL(installationUrlBase);\n if (options.target_id !== void 0) {\n installationUrl.pathname += \"/permissions\";\n installationUrl.searchParams.append(\n \"target_id\",\n options.target_id.toFixed()\n );\n }\n if (options.state !== void 0) {\n installationUrl.searchParams.append(\"state\", options.state);\n }\n return installationUrl.href;\n };\n}\nasync function getInstallationUrlBase(app) {\n const { data: appInfo } = await app.octokit.request(\"GET /app\");\n if (!appInfo) {\n throw new Error(\"[@octokit/app] unable to fetch metadata for app\");\n }\n return `${appInfo.html_url}/installations/new`;\n}\n\n// pkg/dist-src/middleware/node/index.js\nimport {\n createNodeMiddleware as oauthNodeMiddleware,\n sendNodeResponse,\n unknownRouteResponse\n} from \"@octokit/oauth-app\";\nimport { createNodeMiddleware as webhooksNodeMiddleware } from \"@octokit/webhooks\";\nfunction noop() {\n}\nfunction createNodeMiddleware(app, options = {}) {\n const log = Object.assign(\n {\n debug: noop,\n info: noop,\n warn: console.warn.bind(console),\n error: console.error.bind(console)\n },\n options.log\n );\n const optionsWithDefaults = {\n pathPrefix: \"/api/github\",\n ...options,\n log\n };\n const webhooksMiddleware = webhooksNodeMiddleware(app.webhooks, {\n path: optionsWithDefaults.pathPrefix + \"/webhooks\",\n log\n });\n const oauthMiddleware = oauthNodeMiddleware(app.oauth, {\n pathPrefix: optionsWithDefaults.pathPrefix + \"/oauth\"\n });\n return middleware.bind(\n null,\n optionsWithDefaults.pathPrefix,\n webhooksMiddleware,\n oauthMiddleware\n );\n}\nasync function middleware(pathPrefix, webhooksMiddleware, oauthMiddleware, request, response, next) {\n const { pathname } = new URL(request.url, \"http://localhost\");\n if (pathname.startsWith(`${pathPrefix}/`)) {\n if (pathname === `${pathPrefix}/webhooks`) {\n webhooksMiddleware(request, response);\n } else if (pathname.startsWith(`${pathPrefix}/oauth/`)) {\n oauthMiddleware(request, response);\n } else {\n sendNodeResponse(unknownRouteResponse(request), response);\n }\n return true;\n } else {\n next?.();\n return false;\n }\n}\n\n// pkg/dist-src/index.js\nvar App = class {\n static VERSION = VERSION;\n static defaults(defaults) {\n const AppWithDefaults = class extends this {\n constructor(...args) {\n super({\n ...defaults,\n ...args[0]\n });\n }\n };\n return AppWithDefaults;\n }\n octokit;\n // @ts-ignore calling app.webhooks will throw a helpful error when options.webhooks is not set\n webhooks;\n // @ts-ignore calling app.oauth will throw a helpful error when options.oauth is not set\n oauth;\n getInstallationOctokit;\n eachInstallation;\n eachRepository;\n getInstallationUrl;\n log;\n constructor(options) {\n const Octokit = options.Octokit || OctokitCore;\n const authOptions = Object.assign(\n {\n appId: options.appId,\n privateKey: options.privateKey\n },\n options.oauth ? {\n clientId: options.oauth.clientId,\n clientSecret: options.oauth.clientSecret\n } : {}\n );\n const octokitOptions = {\n authStrategy: createAppAuth3,\n auth: authOptions\n };\n if (\"log\" in options && typeof options.log !== \"undefined\") {\n octokitOptions.log = options.log;\n }\n this.octokit = new Octokit(octokitOptions);\n this.log = Object.assign(\n {\n debug: () => {\n },\n info: () => {\n },\n warn: console.warn.bind(console),\n error: console.error.bind(console)\n },\n options.log\n );\n if (options.webhooks) {\n this.webhooks = webhooks(this.octokit, options.webhooks);\n } else {\n Object.defineProperty(this, \"webhooks\", {\n get() {\n throw new Error(\"[@octokit/app] webhooks option not set\");\n }\n });\n }\n if (options.oauth) {\n this.oauth = new OAuthApp({\n ...options.oauth,\n clientType: \"github-app\",\n Octokit\n });\n } else {\n Object.defineProperty(this, \"oauth\", {\n get() {\n throw new Error(\n \"[@octokit/app] oauth.clientId / oauth.clientSecret options are not set\"\n );\n }\n });\n }\n this.getInstallationOctokit = getInstallationOctokit.bind(\n null,\n this\n );\n this.eachInstallation = eachInstallationFactory(\n this\n );\n this.eachRepository = eachRepositoryFactory(\n this\n );\n this.getInstallationUrl = getInstallationUrlFactory(this);\n }\n};\nexport {\n App,\n createNodeMiddleware\n};\n","// pkg/dist-src/octokit.js\nimport { Octokit as OctokitCore } from \"@octokit/core\";\nimport { paginateRest } from \"@octokit/plugin-paginate-rest\";\nimport { paginateGraphQL } from \"@octokit/plugin-paginate-graphql\";\nimport { restEndpointMethods } from \"@octokit/plugin-rest-endpoint-methods\";\nimport { retry } from \"@octokit/plugin-retry\";\nimport { throttling } from \"@octokit/plugin-throttling\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"0.0.0-development\";\n\n// pkg/dist-src/octokit.js\nimport { RequestError } from \"@octokit/request-error\";\nvar Octokit = OctokitCore.plugin(\n restEndpointMethods,\n paginateRest,\n paginateGraphQL,\n retry,\n throttling\n).defaults({\n userAgent: `octokit.js/${VERSION}`,\n throttle: {\n onRateLimit,\n onSecondaryRateLimit\n }\n});\nfunction onRateLimit(retryAfter, options, octokit) {\n octokit.log.warn(\n `Request quota exhausted for request ${options.method} ${options.url}`\n );\n if (options.request.retryCount === 0) {\n octokit.log.info(`Retrying after ${retryAfter} seconds!`);\n return true;\n }\n}\nfunction onSecondaryRateLimit(retryAfter, options, octokit) {\n octokit.log.warn(\n `SecondaryRateLimit detected for request ${options.method} ${options.url}`\n );\n if (options.request.retryCount === 0) {\n octokit.log.info(`Retrying after ${retryAfter} seconds!`);\n return true;\n }\n}\n\n// pkg/dist-src/app.js\nimport { App as DefaultApp } from \"@octokit/app\";\nimport { OAuthApp as DefaultOAuthApp } from \"@octokit/oauth-app\";\nimport { createNodeMiddleware } from \"@octokit/app\";\nvar App = DefaultApp.defaults({ Octokit });\nvar OAuthApp = DefaultOAuthApp.defaults({ Octokit });\nexport {\n App,\n OAuthApp,\n Octokit,\n RequestError,\n createNodeMiddleware\n};\n","import type { Octokit } from \"octokit\";\n\nexport interface Row {\n url: string;\n status: string;\n [field: string]: string;\n}\n\nexport interface Config {\n job_regex: string;\n step_regex: string;\n row_headers: string[];\n column_header: string;\n ignore_no_marker: boolean;\n}\n\nconst warning_regex = /warning( .\\d+)?:/;\nconst error_regex = /error( .\\d+)?:/;\n\nfunction find_first_issue(\n lines: string[],\n regex: RegExp,\n label: string,\n): { index: number; label: string } | null {\n const index = lines.findIndex((line) => line.match(regex));\n if (index === -1) return null;\n console.log(`${label} index: ${index}, matched line: ${lines[index]}`);\n return { index, label };\n}\n\nexport async function collect_rows(\n octokit: Octokit,\n owner: string,\n repo: string,\n run_id: number,\n config: Config,\n exclude_job_id?: number,\n): Promise {\n const rows: Row[] = [];\n\n const { data: job_list } = await octokit.rest.actions.listJobsForWorkflowRun({\n owner,\n repo,\n run_id,\n per_page: 100,\n });\n\n for (const job of job_list.jobs) {\n const job_id = job.id;\n\n if (exclude_job_id !== undefined && job_id === exclude_job_id) continue;\n\n const { url: redirect_url } = await octokit.rest.actions.downloadJobLogsForWorkflowRun({\n owner,\n repo,\n job_id,\n });\n\n const response = await fetch(redirect_url);\n if (!response.ok) {\n console.log(`failed to retrieve job log for ${job_id}`);\n continue;\n }\n const job_log = await response.text();\n\n const lines = job_log.split(\"\\n\");\n console.log(`total lines: ${lines.length}`);\n\n let offset = 0;\n const offset_idx = lines.findIndex((line) => line.match(\"CPPWARNINGNOTIFIER_LOG_MARKER\"));\n if (offset_idx !== -1) {\n offset = offset_idx;\n } else {\n if (config.ignore_no_marker) {\n continue;\n }\n }\n\n let compile_result = \"✅success\";\n let first_issue_line = 1;\n\n const issue =\n find_first_issue(lines, warning_regex, \"warning\") ??\n find_first_issue(lines, error_regex, \"error\");\n\n if (issue) {\n compile_result = issue.label === \"warning\" ? \"⚠️warning\" : \"❌error\";\n first_issue_line = issue.index - offset + 1;\n }\n\n const steps = job.steps ?? [];\n const step_index = steps.findIndex(\n (step) =>\n step.name.match(config.step_regex) &&\n step.status === \"completed\" &&\n step.conclusion === \"success\",\n );\n const step_id = (step_index === -1 ? steps.length : step_index) + 1;\n\n console.log(`step_id is ${step_id}`);\n console.log(`job name is \"${job.name}\"`);\n\n const job_match = job.name.match(config.job_regex);\n\n if (!job_match) {\n console.log(\"job match fail\");\n continue;\n }\n\n rows.push({\n url: `https://github.com/${owner}/${repo}/actions/runs/${run_id}/job/${job_id}#step:${step_id}:${first_issue_line}`,\n status: compile_result,\n ...job_match.groups,\n });\n }\n\n console.log(\"rows\", rows);\n return rows;\n}\n\nclass CompositeKeyMap {\n private map = new Map();\n\n get(keys: readonly string[]): V | undefined {\n return this.map.get(JSON.stringify(keys));\n }\n\n set(keys: readonly string[], value: V): void {\n this.map.set(JSON.stringify(keys), value);\n }\n}\n\nfunction escape_html(s: string): string {\n return s\n .replace(/&/g, \"&\")\n .replace(//g, \">\")\n .replace(/\"/g, \""\");\n}\n\nfunction render_rows(\n rows: Row[],\n depth: number,\n columns: string[],\n cell_map: CompositeKeyMap,\n row_header_fields: string[],\n): string[] {\n if (depth === row_header_fields.length) {\n const representative = rows[0];\n const row_fields = row_header_fields.map((f) => representative[f]);\n const tds = columns.map((col) => {\n const cell = cell_map.get([...row_fields, col]);\n if (!cell) return \" | \";\n return `${escape_html(cell.status)} | `;\n });\n return [`${tds.join(\"\")}`];\n }\n\n const field = row_header_fields[depth];\n const groups = Object.entries(Object.groupBy(rows, (r) => r[field] ?? \"\"));\n const result: string[] = [];\n\n for (const [value, group] of groups) {\n const child_rows = render_rows(group!, depth + 1, columns, cell_map, row_header_fields);\n const rowspan = child_rows.length;\n const th =\n rowspan > 1\n ? `${escape_html(value)} | `\n : `${escape_html(value)} | `;\n\n child_rows[0] = `${th}${child_rows[0]}`;\n result.push(...child_rows);\n }\n\n return result;\n}\n\nexport function generate_table(entries: Row[], config: Config): string {\n const row_header_fields = config.row_headers;\n const column_field = config.column_header;\n\n const columns = [...new Set(entries.map((e) => e[column_field] ?? \"\"))].sort(\n (a, b) => Number(a) - Number(b),\n );\n\n const sorted = [...entries].sort((a, b) => {\n for (const field of row_header_fields) {\n const av = a[field] ?? \"\";\n const bv = b[field] ?? \"\";\n if (av < bv) return -1;\n if (av > bv) return 1;\n }\n return 0;\n });\n\n const cell_map = new CompositeKeyMap();\n for (const entry of sorted) {\n const key = [...row_header_fields.map((f) => entry[f]), entry[column_field]];\n cell_map.set(key, entry);\n }\n\n const thead_cols = columns.map((v) => `| C++${v} | `).join(\"\");\n const thead = `| Environment | ${thead_cols}
`;\n\n const table_rows = render_rows(sorted, 0, columns, cell_map, row_header_fields);\n const tbody = `${table_rows.map((r) => `${r}`).join(\"\")}
`;\n\n return ``;\n}\n\nexport async function post_or_update_comment(\n octokit: Octokit,\n owner: string,\n repo: string,\n pull_request_number: number,\n body: string,\n bot_login: string,\n): Promise {\n console.log(\"outdates previous comments\");\n const { data: comments } = await octokit.rest.issues.listComments({\n owner,\n repo,\n issue_number: pull_request_number,\n });\n\n const post_comment = async () => {\n console.log(\"leaving comment\");\n await octokit.rest.issues.createComment({\n owner,\n repo,\n issue_number: pull_request_number,\n body,\n });\n };\n\n const sorted_comments = comments\n .filter((comment) => comment.user?.login === bot_login)\n .toSorted((a, b) => new Date(a.created_at).getTime() - new Date(b.created_at).getTime());\n\n if (sorted_comments.length > 0) {\n const latest_comment = sorted_comments[sorted_comments.length - 1];\n\n if (body.includes(\"warning\") || latest_comment.body?.includes(\"warning\")) {\n await octokit.graphql(\n `mutation($id: ID!) {\n minimizeComment(input: { subjectId: $id, classifier: OUTDATED }) {\n clientMutationId\n }\n }`,\n { id: latest_comment.node_id },\n );\n\n await post_comment();\n }\n } else {\n await post_comment();\n }\n}\n","import { App, createNodeMiddleware } from \"octokit\";\nimport { createServer } from \"node:http\";\nimport { collect_rows, generate_table, post_or_update_comment, type Config } from \"./core.js\";\n\nfunction require_env(name: string): string {\n const value = process.env[name];\n if (!value) throw new Error(`Missing required environment variable: ${name}`);\n return value;\n}\n\nconst app = new App({\n appId: require_env(\"APP_ID\"),\n privateKey: require_env(\"APP_PRIVATE_KEY\"),\n webhooks: { secret: require_env(\"WEBHOOK_SECRET\") },\n});\n\nasync function read_repo_config(\n octokit: InstanceType[\"octokit\"],\n owner: string,\n repo: string,\n): Promise {\n try {\n const { data } = await (octokit as any).rest.repos.getContent({\n owner,\n repo,\n path: \".github/cpp-warning-notifier.json\",\n });\n if (!(\"content\" in data)) return null;\n const json = JSON.parse(Buffer.from(data.content, \"base64\").toString());\n return {\n job_regex: json.job_regex,\n step_regex: json.step_regex,\n row_headers: json.row_headers,\n column_header: json.column_header,\n ignore_no_marker: json.ignore_no_marker ?? false,\n };\n } catch {\n return null;\n }\n}\n\napp.webhooks.on(\"workflow_run.completed\", async ({ octokit, payload }) => {\n const { repository, workflow_run } = payload;\n const owner = repository.owner.login;\n const repo = repository.name;\n const run_id = workflow_run.id;\n\n const pull_requests = workflow_run.pull_requests;\n if (pull_requests.length === 0) {\n console.log(`run ${run_id}: no associated pull requests, skipping`);\n return;\n }\n\n const config = await read_repo_config(octokit, owner, repo);\n if (!config) {\n console.log(`${owner}/${repo}: no .github/cpp-warning-notifier.json, skipping`);\n return;\n }\n\n for (const pr of pull_requests) {\n console.log(`processing run ${run_id} for PR #${pr.number} in ${owner}/${repo}`);\n\n const rows = await collect_rows(octokit as any, owner, repo, run_id, config);\n const body = generate_table(rows, config);\n\n console.log(\"body is\", body);\n\n if (body) {\n const { data: app_info } = await octokit.rest.apps.getAuthenticated();\n const bot_login = `${app_info.slug}[bot]`;\n await post_or_update_comment(octokit as any, owner, repo, pr.number, body, bot_login);\n }\n }\n});\n\nconst port = parseInt(process.env.PORT ?? \"3000\");\nconst middleware = createNodeMiddleware(app);\n\ncreateServer(middleware).listen(port, () => {\n console.log(`webhook server listening on port ${port}`);\n});\n"],"names":["VERSION","isPlainObject","withDefaults","safeParse","auth","hook","noop","createLogger","get","set","ENDPOINTS","this","commonjsGlobal","global","wrapRequest","Bottleneck","routeMatcher","request","defaultRequest","defaultRequest2","defaultRequest3","defaultRequest4","defaultRequest5","defaultRequest6","defaultRequest7","defaultRequest8","defaultRequest9","defaultRequest10","octokitRequest","Lru","Octokit","OAuthMethods.getWebFlowAuthorizationUrl","OAuthAppAuth.createOAuthUserAuth","OAuthMethods2.checkToken","OAuthMethods3.resetToken","createOAuthUserAuth3","OAuthMethods4.refreshToken","createOAuthUserAuth4","OAuthMethods5.scopeToken","createOAuthUserAuth5","OAuthMethods6.deleteToken","OAuthMethods7.deleteAuthorization","createUnauthenticatedAuth2","createNodeMiddleware","Buffer","createAppAuth2","composePaginateRest2","webhooksNodeMiddleware","oauthNodeMiddleware","middleware","sendNodeResponse","App","OctokitCore","createAppAuth3","DefaultApp"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38]}
\ No newline at end of file
diff --git a/package.json b/package.json
index bc4a170..c212531 100644
--- a/package.json
+++ b/package.json
@@ -3,7 +3,8 @@
"type": "module",
"main": "src/index.ts",
"scripts": {
- "build": "npx rollup --config rollup.config.ts --configPlugin @rollup/plugin-typescript"
+ "build": "npx rollup --config rollup.config.ts --configPlugin @rollup/plugin-typescript",
+ "start": "node dist/server.js"
},
"dependencies": {
"octokit": "^5.0.3"
diff --git a/rollup.config.ts b/rollup.config.ts
index 644064b..2de786a 100644
--- a/rollup.config.ts
+++ b/rollup.config.ts
@@ -2,7 +2,9 @@ import commonjs from "@rollup/plugin-commonjs";
import nodeResolve from "@rollup/plugin-node-resolve";
import typescript from "@rollup/plugin-typescript";
-const config = {
+const plugins = [typescript(), nodeResolve({ preferBuiltins: true }), commonjs()];
+
+const action = {
input: "src/index.ts",
output: {
esModule: true,
@@ -10,7 +12,18 @@ const config = {
format: "es",
sourcemap: true,
},
- plugins: [typescript(), nodeResolve({ preferBuiltins: true }), commonjs()],
+ plugins,
+};
+
+const server = {
+ input: "src/server.ts",
+ output: {
+ esModule: true,
+ file: "dist/server.js",
+ format: "es",
+ sourcemap: true,
+ },
+ plugins,
};
-export default config;
+export default [action, server];
diff --git a/src/core.ts b/src/core.ts
new file mode 100644
index 0000000..437ecfc
--- /dev/null
+++ b/src/core.ts
@@ -0,0 +1,258 @@
+import type { Octokit } from "octokit";
+
+export interface Row {
+ url: string;
+ status: string;
+ [field: string]: string;
+}
+
+export interface Config {
+ job_regex: string;
+ step_regex: string;
+ row_headers: string[];
+ column_header: string;
+ ignore_no_marker: boolean;
+}
+
+const warning_regex = /warning( .\d+)?:/;
+const error_regex = /error( .\d+)?:/;
+
+function find_first_issue(
+ lines: string[],
+ regex: RegExp,
+ label: string,
+): { index: number; label: string } | null {
+ const index = lines.findIndex((line) => line.match(regex));
+ if (index === -1) return null;
+ console.log(`${label} index: ${index}, matched line: ${lines[index]}`);
+ return { index, label };
+}
+
+export async function collect_rows(
+ octokit: Octokit,
+ owner: string,
+ repo: string,
+ run_id: number,
+ config: Config,
+ exclude_job_id?: number,
+): Promise {
+ const rows: Row[] = [];
+
+ const { data: job_list } = await octokit.rest.actions.listJobsForWorkflowRun({
+ owner,
+ repo,
+ run_id,
+ per_page: 100,
+ });
+
+ for (const job of job_list.jobs) {
+ const job_id = job.id;
+
+ if (exclude_job_id !== undefined && job_id === exclude_job_id) continue;
+
+ const { url: redirect_url } = await octokit.rest.actions.downloadJobLogsForWorkflowRun({
+ owner,
+ repo,
+ job_id,
+ });
+
+ const response = await fetch(redirect_url);
+ if (!response.ok) {
+ console.log(`failed to retrieve job log for ${job_id}`);
+ continue;
+ }
+ const job_log = await response.text();
+
+ const lines = job_log.split("\n");
+ console.log(`total lines: ${lines.length}`);
+
+ let offset = 0;
+ const offset_idx = lines.findIndex((line) => line.match("CPPWARNINGNOTIFIER_LOG_MARKER"));
+ if (offset_idx !== -1) {
+ offset = offset_idx;
+ } else {
+ if (config.ignore_no_marker) {
+ continue;
+ }
+ }
+
+ let compile_result = "✅success";
+ let first_issue_line = 1;
+
+ const issue =
+ find_first_issue(lines, warning_regex, "warning") ??
+ find_first_issue(lines, error_regex, "error");
+
+ if (issue) {
+ compile_result = issue.label === "warning" ? "⚠️warning" : "❌error";
+ first_issue_line = issue.index - offset + 1;
+ }
+
+ const steps = job.steps ?? [];
+ const step_index = steps.findIndex(
+ (step) =>
+ step.name.match(config.step_regex) &&
+ step.status === "completed" &&
+ step.conclusion === "success",
+ );
+ const step_id = (step_index === -1 ? steps.length : step_index) + 1;
+
+ console.log(`step_id is ${step_id}`);
+ console.log(`job name is "${job.name}"`);
+
+ const job_match = job.name.match(config.job_regex);
+
+ if (!job_match) {
+ console.log("job match fail");
+ continue;
+ }
+
+ rows.push({
+ url: `https://github.com/${owner}/${repo}/actions/runs/${run_id}/job/${job_id}#step:${step_id}:${first_issue_line}`,
+ status: compile_result,
+ ...job_match.groups,
+ });
+ }
+
+ console.log("rows", rows);
+ return rows;
+}
+
+class CompositeKeyMap {
+ private map = new Map();
+
+ get(keys: readonly string[]): V | undefined {
+ return this.map.get(JSON.stringify(keys));
+ }
+
+ set(keys: readonly string[], value: V): void {
+ this.map.set(JSON.stringify(keys), value);
+ }
+}
+
+function escape_html(s: string): string {
+ return s
+ .replace(/&/g, "&")
+ .replace(//g, ">")
+ .replace(/"/g, """);
+}
+
+function render_rows(
+ rows: Row[],
+ depth: number,
+ columns: string[],
+ cell_map: CompositeKeyMap,
+ row_header_fields: string[],
+): string[] {
+ if (depth === row_header_fields.length) {
+ const representative = rows[0];
+ const row_fields = row_header_fields.map((f) => representative[f]);
+ const tds = columns.map((col) => {
+ const cell = cell_map.get([...row_fields, col]);
+ if (!cell) return " | ";
+ return `${escape_html(cell.status)} | `;
+ });
+ return [`${tds.join("")}`];
+ }
+
+ const field = row_header_fields[depth];
+ const groups = Object.entries(Object.groupBy(rows, (r) => r[field] ?? ""));
+ const result: string[] = [];
+
+ for (const [value, group] of groups) {
+ const child_rows = render_rows(group!, depth + 1, columns, cell_map, row_header_fields);
+ const rowspan = child_rows.length;
+ const th =
+ rowspan > 1
+ ? `${escape_html(value)} | `
+ : `${escape_html(value)} | `;
+
+ child_rows[0] = `${th}${child_rows[0]}`;
+ result.push(...child_rows);
+ }
+
+ return result;
+}
+
+export function generate_table(entries: Row[], config: Config): string {
+ const row_header_fields = config.row_headers;
+ const column_field = config.column_header;
+
+ const columns = [...new Set(entries.map((e) => e[column_field] ?? ""))].sort(
+ (a, b) => Number(a) - Number(b),
+ );
+
+ const sorted = [...entries].sort((a, b) => {
+ for (const field of row_header_fields) {
+ const av = a[field] ?? "";
+ const bv = b[field] ?? "";
+ if (av < bv) return -1;
+ if (av > bv) return 1;
+ }
+ return 0;
+ });
+
+ const cell_map = new CompositeKeyMap();
+ for (const entry of sorted) {
+ const key = [...row_header_fields.map((f) => entry[f]), entry[column_field]];
+ cell_map.set(key, entry);
+ }
+
+ const thead_cols = columns.map((v) => `| C++${v} | `).join("");
+ const thead = `| Environment | ${thead_cols}
`;
+
+ const table_rows = render_rows(sorted, 0, columns, cell_map, row_header_fields);
+ const tbody = `${table_rows.map((r) => `${r}`).join("")}
`;
+
+ return ``;
+}
+
+export async function post_or_update_comment(
+ octokit: Octokit,
+ owner: string,
+ repo: string,
+ pull_request_number: number,
+ body: string,
+ bot_login: string,
+): Promise {
+ console.log("outdates previous comments");
+ const { data: comments } = await octokit.rest.issues.listComments({
+ owner,
+ repo,
+ issue_number: pull_request_number,
+ });
+
+ const post_comment = async () => {
+ console.log("leaving comment");
+ await octokit.rest.issues.createComment({
+ owner,
+ repo,
+ issue_number: pull_request_number,
+ body,
+ });
+ };
+
+ const sorted_comments = comments
+ .filter((comment) => comment.user?.login === bot_login)
+ .toSorted((a, b) => new Date(a.created_at).getTime() - new Date(b.created_at).getTime());
+
+ if (sorted_comments.length > 0) {
+ const latest_comment = sorted_comments[sorted_comments.length - 1];
+
+ if (body.includes("warning") || latest_comment.body?.includes("warning")) {
+ await octokit.graphql(
+ `mutation($id: ID!) {
+ minimizeComment(input: { subjectId: $id, classifier: OUTDATED }) {
+ clientMutationId
+ }
+ }`,
+ { id: latest_comment.node_id },
+ );
+
+ await post_comment();
+ }
+ } else {
+ await post_comment();
+ }
+}
diff --git a/src/index.ts b/src/index.ts
index cba98f9..693ca35 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -1,282 +1,46 @@
import { App } from "octokit";
+import { collect_rows, generate_table, post_or_update_comment, type Config } from "./core.js";
if (!process.env.GITHUB_REF?.startsWith("refs/pull/")) {
console.log("not a pull request, exiting.");
process.exit(0);
}
-function requireEnv(name: string): string {
+function require_env(name: string): string {
const value = process.env[name];
if (!value) throw new Error(`Missing required environment variable: ${name}`);
return value;
}
-const githubRepository = requireEnv("GITHUB_REPOSITORY");
-const githubRef = requireEnv("GITHUB_REF");
+const github_repository = require_env("GITHUB_REPOSITORY");
+const github_ref = require_env("GITHUB_REF");
-const current_run_id = parseInt(requireEnv("INPUT_RUN_ID"));
-const current_job_id = parseInt(requireEnv("INPUT_JOB_ID"));
+const current_run_id = parseInt(require_env("INPUT_RUN_ID"));
+const current_job_id = parseInt(require_env("INPUT_JOB_ID"));
-const [owner, repo] = githubRepository.split("/");
-const pull_request_number = parseInt(githubRef.split("/")[2]);
+const [owner, repo] = github_repository.split("/");
+const pull_request_number = parseInt(github_ref.split("/")[2]);
-const ignore_no_marker = requireEnv("INPUT_IGNORE_NO_MARKER") === 'true';
+const config: Config = {
+ job_regex: require_env("INPUT_JOB_REGEX"),
+ step_regex: require_env("INPUT_STEP_REGEX"),
+ row_headers: JSON.parse(require_env("INPUT_ROW_HEADERS")),
+ column_header: require_env("INPUT_COLUMN_HEADER"),
+ ignore_no_marker: require_env("INPUT_IGNORE_NO_MARKER") === "true",
+};
-const job_regex = requireEnv("INPUT_JOB_REGEX");
-const step_regex = requireEnv("INPUT_STEP_REGEX");
+const app_id = 1230093;
+const private_key = require_env("APP_PRIVATE_KEY");
-const appId = 1230093;
-const privateKey = requireEnv("INPUT_PRIVATE_KEY");
-
-const app = new App({ appId, privateKey });
+const app = new App({ appId: app_id, privateKey: private_key });
const { data: installation } = await app.octokit.request("GET /repos/{owner}/{repo}/installation", { owner, repo });
const octokit = await app.getInstallationOctokit(installation.id);
-let body: string | null = null;
-
-interface Row {
- url: string;
- status: string;
- [field: string]: string;
-}
-
-const rows: Row[] = [];
-
-const { data: jobList } = await octokit.rest.actions.listJobsForWorkflowRun({
- owner,
- repo,
- run_id: current_run_id,
- per_page: 100,
-});
-
-for (const job of jobList.jobs) {
- const job_id = job.id;
-
- if (job_id === current_job_id) continue;
-
- const { url: redirectUrl } = await octokit.rest.actions.downloadJobLogsForWorkflowRun({
- owner,
- repo,
- job_id,
- });
-
- const response = await fetch(redirectUrl);
- if (!response.ok) {
- console.log(`failed to retrieve job log for ${job_id}`);
- continue;
- }
- const jobLog = await response.text();
-
- const warningRegex = /warning( .\d+)?:/;
- const errorRegex = /error( .\d+)?:/;
-
- const lines = jobLog.split("\n");
- console.log(`total lines: ${lines.length}`);
-
- let offset = 0;
- const offsetIdx = lines.findIndex((line) => line.match("CPPWARNINGNOTIFIER_LOG_MARKER"));
- if (offsetIdx !== -1) {
- offset = offsetIdx;
- } else {
- if (ignore_no_marker) {
- continue;
- }
- }
-
- let compileResult = "✅success";
- let firstIssueLine = 1;
- const warningIdx = lines.findIndex((line) => line.match(warningRegex));
- console.log(`warningIdx: ${warningIdx}`);
- if (warningIdx !== -1) {
- compileResult = "⚠️warning";
- firstIssueLine = warningIdx - offset + 1;
- console.log(`matched warning line: ${lines[warningIdx]}`);
- } else {
- const errorIdx = lines.findIndex((line) => line.match(errorRegex));
- console.log(`errorIdx: ${errorIdx}`);
- if (errorIdx !== -1) {
- compileResult = "❌error";
- firstIssueLine = errorIdx - offset + 1;
- console.log(`matched error line: ${lines[errorIdx]}`);
- }
- }
-
- const steps = job.steps ?? [];
- const stepIndex = steps.findIndex(
- (step) =>
- step.name.match(step_regex) &&
- step.status === "completed" &&
- step.conclusion === "success",
- );
- const stepId = (stepIndex === -1 ? steps.length : stepIndex) + 1;
-
- console.log(`stepId is ${stepId}`);
-
- console.log(`job name is "${job.name}"`);
-
- const jobMatch = job.name.match(job_regex);
-
- if (!jobMatch) {
- console.log("job match fail");
- continue;
- }
-
- rows.push({
- url: `https://github.com/${owner}/${repo}/actions/runs/${current_run_id}/job/${job_id}#step:${stepId}:${firstIssueLine}`,
- status: compileResult,
- ...jobMatch.groups,
- });
-}
-
-console.log("rows", rows);
-
-const ROW_HEADER_FIELDS: string[] = JSON.parse(requireEnv("INPUT_ROW_HEADERS"));
-const COLUMN_FIELD = requireEnv("INPUT_COLUMN_HEADER");
-
-class CompositeKeyMap {
- private map = new Map();
-
- get(keys: readonly string[]): V | undefined {
- return this.map.get(JSON.stringify(keys));
- }
-
- set(keys: readonly string[], value: V): void {
- this.map.set(JSON.stringify(keys), value);
- }
-}
-
-function escapeHtml(s: string): string {
- return s
- .replace(/&/g, "&")
- .replace(//g, ">")
- .replace(/"/g, """);
-}
-
-function renderRows(
- rows: Row[],
- depth: number,
- columns: string[],
- cellMap: CompositeKeyMap,
-): string[] {
- if (depth === ROW_HEADER_FIELDS.length) {
- const representative = rows[0];
- const rowFields = ROW_HEADER_FIELDS.map((f) => representative[f]);
- const tds = columns.map((col) => {
- const cell = cellMap.get([...rowFields, col]);
- if (!cell) return " | ";
- return `${escapeHtml(cell.status)} | `;
- });
- return [`${tds.join("")}`];
- }
-
- const field = ROW_HEADER_FIELDS[depth];
- const groups = groupBy(rows, (r) => r[field] ?? "");
- const result: string[] = [];
-
- for (const [value, group] of groups) {
- const childRows = renderRows(group, depth + 1, columns, cellMap);
- const rowspan = childRows.length;
- const th =
- rowspan > 1
- ? `${escapeHtml(value)} | `
- : `${escapeHtml(value)} | `;
-
- childRows[0] = `${th}${childRows[0]}`;
- result.push(...childRows);
- }
-
- return result;
-}
-
-function groupBy(items: T[], keyFn: (item: T) => string): [string, T[]][] {
- const map = new Map();
- for (const item of items) {
- const key = keyFn(item);
- let group = map.get(key);
- if (!group) {
- group = [];
- map.set(key, group);
- }
- group.push(item);
- }
- return [...map.entries()];
-}
-
-function generateTable(entries: Row[]): string {
- const columns = [...new Set(entries.map((e) => e[COLUMN_FIELD] ?? ""))].sort(
- (a, b) => Number(a) - Number(b),
- );
-
- const sorted = [...entries].sort((a, b) => {
- for (const field of ROW_HEADER_FIELDS) {
- const av = a[field] ?? "";
- const bv = b[field] ?? "";
- if (av < bv) return -1;
- if (av > bv) return 1;
- }
- return 0;
- });
-
- const cellMap = new CompositeKeyMap();
- for (const entry of sorted) {
- const key = [...ROW_HEADER_FIELDS.map((f) => entry[f]), entry[COLUMN_FIELD]];
- cellMap.set(key, entry);
- }
-
- const theadCols = columns.map((v) => `| C++${v} | `).join("");
- const thead = `| Environment | ${theadCols}
`;
-
- const rows = renderRows(sorted, 0, columns, cellMap);
- const tbody = `${rows.map((r) => `${r}`).join("")}
`;
-
- return ``;
-}
-
-body ??= generateTable(rows);
+const rows = await collect_rows(octokit, owner, repo, current_run_id, config, current_job_id);
+const body = generate_table(rows, config);
console.log("body is", body);
if (body) {
- console.log("outdates previous comments");
- const { data: comments } = await octokit.rest.issues.listComments({
- owner,
- repo,
- issue_number: pull_request_number,
- });
-
- const compareDate = (a: Date, b: Date) => a.getTime() - b.getTime();
-
- const post_comment = async () => {
- console.log("leaving comment");
- await octokit.rest.issues.createComment({
- owner,
- repo,
- issue_number: pull_request_number,
- body,
- });
- };
-
- const sorted_comments = comments
- .filter((comment) => comment.user?.login === "cppwarningnotifier[bot]")
- .toSorted((a, b) => compareDate(new Date(a.created_at), new Date(b.created_at)));
-
- if (sorted_comments.length > 0) {
- const latest_comment = sorted_comments[sorted_comments.length - 1];
-
- if (body.includes("warning") || latest_comment.body?.includes("warning")) {
- // minimize latest comment
- await octokit.graphql(`
- mutation {
- minimizeComment(input: { subjectId: "${latest_comment.node_id}", classifier: OUTDATED }) {
- clientMutationId
- }
- }
- `);
-
- await post_comment();
- }
- } else {
- await post_comment();
- }
+ await post_or_update_comment(octokit, owner, repo, pull_request_number, body, "cppwarningnotifier[bot]");
}
diff --git a/src/server.ts b/src/server.ts
new file mode 100644
index 0000000..5d1169d
--- /dev/null
+++ b/src/server.ts
@@ -0,0 +1,81 @@
+import { App, createNodeMiddleware } from "octokit";
+import { createServer } from "node:http";
+import { collect_rows, generate_table, post_or_update_comment, type Config } from "./core.js";
+
+function require_env(name: string): string {
+ const value = process.env[name];
+ if (!value) throw new Error(`Missing required environment variable: ${name}`);
+ return value;
+}
+
+const app = new App({
+ appId: require_env("APP_ID"),
+ privateKey: require_env("APP_PRIVATE_KEY"),
+ webhooks: { secret: require_env("WEBHOOK_SECRET") },
+});
+
+async function read_repo_config(
+ octokit: InstanceType["octokit"],
+ owner: string,
+ repo: string,
+): Promise {
+ try {
+ const { data } = await (octokit as any).rest.repos.getContent({
+ owner,
+ repo,
+ path: ".github/cpp-warning-notifier.json",
+ });
+ if (!("content" in data)) return null;
+ const json = JSON.parse(Buffer.from(data.content, "base64").toString());
+ return {
+ job_regex: json.job_regex,
+ step_regex: json.step_regex,
+ row_headers: json.row_headers,
+ column_header: json.column_header,
+ ignore_no_marker: json.ignore_no_marker ?? false,
+ };
+ } catch {
+ return null;
+ }
+}
+
+app.webhooks.on("workflow_run.completed", async ({ octokit, payload }) => {
+ const { repository, workflow_run } = payload;
+ const owner = repository.owner.login;
+ const repo = repository.name;
+ const run_id = workflow_run.id;
+
+ const pull_requests = workflow_run.pull_requests;
+ if (pull_requests.length === 0) {
+ console.log(`run ${run_id}: no associated pull requests, skipping`);
+ return;
+ }
+
+ const config = await read_repo_config(octokit, owner, repo);
+ if (!config) {
+ console.log(`${owner}/${repo}: no .github/cpp-warning-notifier.json, skipping`);
+ return;
+ }
+
+ for (const pr of pull_requests) {
+ console.log(`processing run ${run_id} for PR #${pr.number} in ${owner}/${repo}`);
+
+ const rows = await collect_rows(octokit as any, owner, repo, run_id, config);
+ const body = generate_table(rows, config);
+
+ console.log("body is", body);
+
+ if (body) {
+ const { data: app_info } = await octokit.rest.apps.getAuthenticated();
+ const bot_login = `${app_info.slug}[bot]`;
+ await post_or_update_comment(octokit as any, owner, repo, pr.number, body, bot_login);
+ }
+ }
+});
+
+const port = parseInt(process.env.PORT ?? "3000");
+const middleware = createNodeMiddleware(app);
+
+createServer(middleware).listen(port, () => {
+ console.log(`webhook server listening on port ${port}`);
+});