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 `${thead}${tbody}
`; } -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\n

Your 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 `${thead}${tbody}
`;\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\n

Your 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 `${thead}${tbody}
`;\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 `${thead}${tbody}
`; +} +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\n

Your 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 `${thead}${tbody}
`;\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 `${thead}${tbody}
`; +} + +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 `${thead}${tbody}
`; -} - -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}`); +});